Acceda a EJBCA mediante tokens USB y tarjetas inteligentes
La forma recomendada de autenticarse con EJBCA en un entorno de alta seguridad es mediante un token físico. Esto significa que se utiliza un token físico en lugar de almacenar la clave privada directamente en el navegador. Puede iniciar sesión en EJBCA con la mayoría de los tokens USB y tarjetas inteligentes compatibles con PKCS11.
Esto es más seguro que usar un archivo P12 (token suave) instalado en su navegador, porque:
El token no se puede copiar fácilmente.
La clave privada nunca se expone fuera del token (la clave se genera en el token y las operaciones de firma las realiza el token).
El token puede bloquearse si alguien intenta adivinar el PIN.
A continuación, se presenta una pequeña selección de tokens que se han probado recientemente para un uso directo y sencillo. Tenga en cuenta que otros tokens y sistemas de gestión de tarjetas/tokens (CMS) también funcionan correctamente y se encuentran en producción en todo el mundo. Si planea un proyecto comercial, contacte con PrimeKey para obtener la lista actualizada de integraciones compatibles con tokens y sistemas de gestión de tokens. Para obtener soporte de hardware o controladores para tokens específicos, contacte con el proveedor del token. Constantemente aparecen nuevos tokens en el mercado, y esta documentación no se actualiza para reflejarlo, sino que debe considerarse como un ejemplo.
Simbólico | Probado en | Método de inscripción | Año probado/documentado |
Linux y Windows | Cliente SecureTMS | 2018 | |
Linux y Windows | Cliente SecureTMS | 2018 | |
Linux | YubiKey PIV Manager o herramientas PIV | 2018 | |
Linux | Administrador de PIV de YubiKey | 2018 | |
Ventanas | Almacén de claves PKCS#12 instalado en el token mediante EnterSafe PKI Manager proporcionado por Feitian | 2020 | |
Linux y Windows | OpenSC/OpenSSL (o ActiveCMS) | 2017 | |
Ventanas | Certreq de Windows con cliente de autenticación SafeNet 8.3 | 2019 | |
Rijkspas 2.0 | Ventanas | Certreq de Windows con minicontrolador IC AET SafeSign versión 3.5.0.0-AET | 2019 |
Los siguientes navegadores tienen integración de tarjetas inteligentes funcional:
Firefox
Cromo
Microsoft Edge
Internet Explorer (navegador obsoleto y no compatible)
Integración de tarjetas inteligentes con Firefox
El soporte para tarjetas inteligentes está integrado en Firefox y se accede a él de la siguiente manera:
Escriba about:preferences#privacy en la barra de direcciones y presione Enter.
Desplácese hasta la parte inferior de la página y haga clic en Dispositivos de seguridad .
Agregue un nuevo módulo PKCS11 haciendo clic en Cargar .
Especifique el nombre del módulo, haga clic en Explorar y luego Seleccione el módulo PKCS11 que desea usar. Normalmente, se trata de un archivo de biblioteca de vínculos dinámicos (.dll) en Windows o de un archivo de objeto compartido (.so) en Linux.
Si está utilizando una versión de 64 bits de Firefox, asegúrese de estar cargando la versión de 64 bits de la biblioteca PKCS11.
Haga clic en Aceptar para agregar el módulo.
Integración de tarjetas inteligentes en Chromium
Chromium no tiene interfaz gráfica de usuario, pero es compatible con PKCS11. Para más información, consulta la documentación de Ubuntu sobre la configuración de Google Chrome/Chromium .
Este procedimiento ha sido probado en Ubuntu 16.04 de 64 bits con Chromium 70.
Instalar herramientas NSS.
sudo apt-get install libnss3-toolsCierre Chromium si está ejecutándose.
Agregue un nuevo módulo PKCS11.
modutil -dbdir sql:.pki/nssdb/ -add"Module Name"-libfile /path/to/pkc11.so
OpenSC
El proyecto OpenSC contiene un módulo PKCS11 genérico con soporte para muchos tokens USB y tarjetas inteligentes diferentes.
Para instalar directamente desde el repositorio en Ubuntu, ejecute:
sudo apt-get install openscTambién hay disponible un instalador de Windows .
Certreq de Windows
Puede inscribir una tarjeta inteligente utilizando el comando certreq en Windows.
Cree un archivo smartcard.inf que contenga:
[NewRequest]Subject ="cn=smartcard-authentication,o=Company,c=nl"KeySpec =1KeyLength =2048Exportable = FALSESMIME = FalsePrivateKeyArchive = FALSEUserProtected = FALSEUseExistingKeySet = FALSEProviderType =1RequestType = PKCS10ProviderName = SEE TABLE BELOWProveedor/tipo de tarjeta inteligente
Proveedor de servicios criptográficos
Tarjeta inteligente Rijkspas (tarjeta de identificación del gobierno holandés) con conductor AET
Proveedor de cifrado de tarjetas inteligentes de Microsoft Base
Gemalto eToken (USB) con controlador SafeNet
Proveedor criptográfico de eToken Base
Asegúrese de que la cadena de CA del certificado que se inscribirá en la tarjeta inteligente sea de confianza. Importe la CA raíz al almacén de certificados de las autoridades de certificación raíz de confianza e importe las CA intermedias emisoras al almacén de las autoridades de certificación intermedias. Esto se puede hacer de varias maneras, por ejemplo:
De forma centralizada, utilizando un GPO o importando la CA raíz a AD
Localmente, agregando manualmente los certificados de CA al almacén de certificados de las autoridades de certificación raíz de confianza. Esto requiere que el usuario tenga esta autorización (no existe una política estricta de CA raíz).
Consulte las pautas de Microsoft si necesita más información.
Crear un CSR:
PS C:\> certreq -newsmartcard.inf smartcard.csrInscriba el certificado usando EJBCA y el archivo CSR
Importar el certificado a la tarjeta inteligente:
PS C:\> certreq -accept receivedcertificate.cer
El certificado está instalado en la tarjeta inteligente y listo para usar. El contenido de la tarjeta inteligente se puede listar mediante:
certutil -v -scinfo Recursos:
Referencia técnica de Windows y tarjetas inteligentes: https://docs.microsoft.com/en-us/windows/security/identity-protection/smart-cards/smart-card-windows-smart-card-technical-reference