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

SecureMetric ST3

Linux y Windows

Cliente SecureTMS

2018

SecureMetric ST3 Ace

Linux y Windows

Cliente SecureTMS

2018

Yubico YubiKey 5 (NFC )

Linux

YubiKey PIV Manager o herramientas PIV

2018

Yubico YubiKey C FIPS

Linux

Administrador de PIV de YubiKey

2018

ePass Feitiano 2003

Ventanas

Almacén de claves PKCS#12 instalado en el token mediante EnterSafe PKI Manager proporcionado por Feitian

2020

Aventra MyEID

Linux y Windows

OpenSC/OpenSSL (o ActiveCMS)

2017

eToken 5100 de Gemalto SafeNet

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:

  1. Escriba about:preferences#privacy en la barra de direcciones y presione Enter.

  2. Desplácese hasta la parte inferior de la página y haga clic en Dispositivos de seguridad .

  3. Agregue un nuevo módulo PKCS11 haciendo clic en Cargar .

  4. 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.

  5. 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.

  1. Instalar herramientas NSS.

    sudo apt-get install libnss3-tools
  2. Cierre Chromium si está ejecutándose.

  3. 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 opensc

También hay disponible un instalador de Windows .

Certreq de Windows

Puede inscribir una tarjeta inteligente utilizando el comando certreq en Windows.

  1. Cree un archivo smartcard.inf que contenga:

    [NewRequest]
    Subject = "cn=smartcard-authentication,o=Company,c=nl"
    KeySpec = 1
    KeyLength = 2048
    Exportable = FALSE
    SMIME = False
    PrivateKeyArchive = FALSE
    UserProtected = FALSE
    UseExistingKeySet = FALSE
    ProviderType = 1
    RequestType = PKCS10
    ProviderName = SEE TABLE BELOW

    Proveedor/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

  2. 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:

    1. De forma centralizada, utilizando un GPO o importando la CA raíz a AD

    2. 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.

  3. Crear un CSR:

    PS C:\> certreq - new smartcard.inf smartcard.csr
  4. Inscriba el certificado usando EJBCA y el archivo CSR

  5. 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


Contenido relacionado