Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 4. Configuração de aplicações para usar hardware criptográfico através do PKCS #11

A separação de partes de suas informações secretas em dispositivos criptográficos dedicados, tais como cartões inteligentes e fichas criptográficas para autenticação do usuário final e módulos de segurança de hardware (HSM) para aplicações de servidor, proporciona uma camada adicional de segurança. No Red Hat Enterprise Linux 8, o suporte para hardware criptográfico através da API PKCS #11 é consistente entre diferentes aplicações, e o isolamento de segredos em hardware criptográfico não é uma tarefa complicada.

4.1. Suporte de hardware criptográfico através do PKCS #11

O PKCS #11 (Public-Key Cryptography Standard) define uma interface de programação de aplicação (API) para dispositivos criptográficos que contêm informações criptográficas e realizam funções criptográficas. Estes dispositivos são chamados tokens, e podem ser implementados em forma de hardware ou software.

Uma ficha PKCS #11 pode armazenar vários tipos de objetos, incluindo um certificado; um objeto de dados; e uma chave pública, privada ou secreta. Estes objetos são unicamente identificáveis através do esquema PKCS #11 URI.

Um PKCS #11 URI é uma forma padrão de identificar um objeto específico em um módulo PKCS #11 de acordo com os atributos do objeto. Isto permite configurar todas as bibliotecas e aplicações com a mesma cadeia de configuração na forma de um URI.

O Red Hat Enterprise Linux 8 fornece por default o driver OpenSC PKCS #11 para cartões inteligentes. Entretanto, os tokens de hardware e HSMs podem ter seus próprios módulos PKCS #11 que não têm sua contraparte no Red Hat Enterprise Linux. Você pode registrar tais módulos PKCS #11 com a ferramenta p11-kit, que atua como um invólucro sobre os drivers de Cartão Smart Card registrados no sistema.

Para fazer seu próprio módulo PKCS #11 funcionar no sistema, adicione um novo arquivo de texto ao diretório /etc/pkcs11/modules/

Você pode adicionar seu próprio módulo PKCS #11 ao sistema, criando um novo arquivo de texto no diretório /etc/pkcs11/modules/. Por exemplo, o arquivo de configuração do OpenSC em p11-kit tem a seguinte aparência:

$ cat /usr/share/p11-kit/modules/opensc.module
module: opensc-pkcs11.so