Inicio de sesión de cliente con Active Directory

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

active

inactive

inactive

inactive

inactive

inactive

inactive

inactive

This document explains how to use the PIV smart card of a Nitrokey 3 for logon with Active Directory. It is available as of firmware version 1.8 and higher.

En el futuro, este aprovisionamiento manual podrá automatizarse mediante un MiniDriver de Windows.

Requisitos previos

La configuración requiere acceso administrativo a las máquinas que ejecutan Active Directory Directory Services (ADDS) y Active Directory Certificate Services (ADCS). En el equipo cliente sólo se requiere acceso a la cuenta de usuario correspondiente utilizada para el inicio de sesión.

  • Windows server (supported versions are Windows Server 2016, 2019, 2022, 2025 in Standard and Enterprise editions)
    • Rol ADDS instalado y configurado.

    • Rol ADCS instalado y Enterprise-CA con certificado raíz configurado.
      • Cada controlador de dominio (DC) debe tener un certificado Domain Controller, Domain Controller Authentication, y Kerberos Authentication emitido.

      • Si tiene clientes que salen de la red de la empresa, asegúrese de que las listas de revocación de certificados (CRL) completas y delta publicadas se pueden recuperar desde redes externas.

  • Cliente Windows (las versiones compatibles son Windows 10, 11 en las ediciones Professional y Enterprise)
    • El cliente debe ser miembro del dominio Active Directory (AD).

  • Nitrokey 3 with PIV smart card.

Configurar el inicio de sesión con tarjeta inteligente para su uso con Active Directory (AD)

El inicio de sesión con tarjeta inteligente requiere una plantilla de certificado en la autoridad de certificación (CA) del dominio. Esta plantilla define los valores y las restricciones de los certificados de usuario. Se utiliza para firmar la solicitud de certificado (CSR) durante el aprovisionamiento de la Nitrokey.

  1. La firma de una solicitud de certificado para el inicio de sesión con tarjeta inteligente requiere la creación de una plantilla de certificado en la autoridad de certificación.

    1. Desde la línea de comandos, PowerShell o Ejecutar, escriba certtmpl.msc y pulse Intro.

    2. En el panel de detalles seleccione la plantilla Smartcard Logon.

    3. En la barra de menús, haga clic en Actions → All Tasks → Duplicate Template.

    4. Establezca los ajustes siguientes en la plantilla, de acuerdo con la ficha mencionada.

      Compatibilidad
      • Desactivar Mostrar los cambios resultantes

      • Establezca Autoridad de certificación y Destinatario del certificado para los clientes más antiguos del dominio que deben utilizar el inicio de sesión con tarjeta inteligente.

        Importante

        Si desea utilizar claves de Curva Elíptica (EC) sus clientes no deben ser más antiguos que Windows Server 2008 y Windows Vista.

      General
      • Establezca un nombre de visualización de la plantilla **** .

      • Establezca el Periodo de validez y Periodo de renovación.

      Gestión de solicitudes
      • Establecer un propósito de Firma y tarjeta inteligente de inicio de sesión.

      Criptografía
      • Establezca una categoría de proveedor de Proveedor de almacenamiento de claves.

      • Establece el nombre del algoritmo y el tamaño mínimo de la clave.

        Importante

        Microsoft recommends to use the RSA algorithm with a key length of 2048 Bit. If you choose to use Elliptic Curve (EC) keys you need to make additional changes on your client computers.

      Nombre de la asignatura
      • Establezca Suministro en la solicitud.

    5. Confirme la creación de la plantilla con OK.

  2. Tras la creación de una plantilla de certificado, ésta debe ser emitida para ser utilizada por los clientes.

    1. From the Command Line, PowerShell, or Run, type certmgr.msc and press Enter.

    2. En el panel de navegación, expanda la autoridad de certificación (CA) y vaya a Plantillas de certificados.

    3. En la barra de menús, haga clic en Acción → Nuevo → Plantilla de certificado para emitir.

    4. Seleccione la plantilla de certificado que desea emitir y confirme con OK.

Aprovisionar Nitrokey 3 para el inicio de sesión con tarjeta inteligente con Active Directory

The smartcard logon requires to provision a Nitrokey for a user in Active Directory. The provisioning contains the private key and Certificate Singing Request (CSR) generation. The certificate is then written to the Nitrokey.

Advertencia

Antes de seguir los pasos que se indican a continuación, asegúrese de que existe la cuenta de usuario de Active Directory que desea utilizar para el inicio de sesión con tarjeta inteligente. Si la hora de creación del certificado es anterior a la hora de creación de la cuenta de usuario, el inicio de sesión fallará.

  1. Genere una clave privada y escriba la CSR en un archivo con el siguiente comando.

    nitropy nk3 piv --experimental generate-key --key 9A --algo <algorithm> --subject-name <subject-name> --subject-alt-name-upn <subject-alternative-name> --path <file>
    

    The value of <algorithm> is the used algorithm with its key length, e.g. rsa2048. The value of <subject-name> corresponds to the value of the distinguishedName attribute of the Active Directory user account. In most cases it is only necessary to include the common name part of the distinguished name, e.g. CN=John Doe. The value of <subject-alternative-name> corresponds to the value of the userPrincipalName attribute of the Active Directory user account.

  2. Firme la CSR con la autoridad de certificación (CA) del dominio con el siguiente comando.

    certreq -attrib CertificateTemplate:<template-name> -submit <file>
    

    El valor de <template-name> es el nombre de la plantilla de certificado para el inicio de sesión con tarjeta inteligente. El valor de <file> es el archivo de solicitud de canto del certificado.

  3. Escribe el certificado firmado en el Nitrokey con el siguiente comando.

    nitropy nk3 piv --experimental write-certificate --key 9A --format PEM --path <file>
    

    El valor de <file> es el archivo del certificado.

  4. Asigne el certificado a la cuenta de usuario de Active Directory. Cree las asignaciones de certificados con el siguiente comando.

    nitropy nk3 piv --experimental get-windows-auth-mapping
    

    Choose one of the offered certificate mappings.

    Truco

    Microsoft recomienda el uso de la asignación X509IssuerSerialNumber.

    Escriba la asignación elegida en el atributo altSecurityIdentities del objeto de usuario de Active Directory. Puede utilizar la aplicación Active Directory Users and Computers o PowerShell para esta operación.

    1. From the Command Line, PowerShell, or Run, type dsa.msc and press Enter.

    2. In the menu bar click View → Advanced Features.

    3. Seleccione el objeto de usuario correspondiente.

    4. In the menu bar click Action → Properties.

    5. Abra la pestaña Editor de atributos.

    6. Seleccione el atributo altSecurityIdentities.

    7. Click on Edit.

    8. Insert the certificate mapping in the text field and click Add.

    9. Aplique el cambio haciendo clic en OK.

    Importante

    Si la asignación de certificados no está correctamente configurada, recibirá el mensaje de error Logon screen message: Your credentials could not be verified. al intentar iniciar sesión. Además, verá el siguiente mensaje de evento en el registro de eventos del sistema Windows.

    Source

    Kerberos-Key-Distribution-Center
    

    Message

    The Key Distribution Center (KDC) encountered a user certificate that was valid but could not be mapped to a user in a secure way (such as via explicit mapping, key trust mapping, or a SID). Such certificates should either be replaced or mapped directly to the user via explicit mapping. See https://go.microsoft.com/fwlink/?linkid=2189925 to learn more.
    

Revocar el inicio de sesión con tarjeta inteligente para su uso con Active Directory (AD)

Los certificados de inicio de sesión de usuario emitidos se listan en el Active Directory Certificate Services (ADCS). Desde ADCS se pueden revocar los certificados, lo que los añade a la Lista de Revocación de Certificados (CRL) configurada. Esto es necesario en caso de pérdida o rotura de Nitrokey.

Importante

Se recomienda encarecidamente no dejar nunca certificados de usuario sin utilizar sin revocarlos.

Nota

Es posible revocar temporalmente un certificado con el motivo Certificate Hold. Esta revocación puede revertirse, por lo que no es permanente.

  1. Desde la línea de comandos, PowerShell o Ejecutar, escriba certsrv.msc y pulse Intro.

  2. En el panel de navegación, expanda la autoridad de certificación (CA) y vaya a Certificados emitidos.

  3. En el panel de detalles, seleccione el certificado de usuario que desea revocar.

  4. En la barra de menús, haga clic en Acción → Todas las tareas → Revocar certificado.

  5. Especifique el motivo de la revocación, la fecha y la hora, y confirme con .

  6. En el panel de navegación, vaya a Certificados revocados.

  7. En la barra de menús, haga clic en Acción → Todas las tareas → Publicar.

  8. Seleccione la lista de revocación que desea publicar y confirme con OK.

Nota

En cada intento de inicio de sesión con tarjeta inteligente, Windows comprueba si el certificado presentado por la tarjeta inteligente figura en una lista de revocación de certificados (CRL). Si el certificado se encuentra en una CRL, se deniega el inicio de sesión. Cada CRL contiene una validez para que caduquen. Windows almacena en caché las CRL obtenidas y las actualiza si la CRL está a punto de caducar. Por lo tanto, una revocación no es inmediata y depende de la caducidad de la CRL que tenga el cliente.

Importar un certificado de tarjeta inteligente de usuario al almacén de certificados personales

El certificado de usuario almacenado en Nitrokey puede importarse al almacén de certificados personal del usuario. En determinadas situaciones, se trata de un procedimiento obligatorio.

  1. Asegúrese de que ha iniciado sesión en la cuenta de usuario a la que corresponde el certificado.

  2. Desde la línea de comandos, PowerShell o Ejecutar, escriba certsrv.msc y pulse Intro.

  3. En el panel de navegación, expanda el almacén de claves Personal y vaya a Certificados.

  4. En la barra de menús, haga clic en Acción → Todas las tareas → Importar.

  5. Siga el asistente de importación y proporcione el archivo del certificado de usuario cuando se le solicite.

  6. Una vez completada la importación compruebe el panel de detalles del certificado importado. Si la Nitrokey está conectada, las propiedades del certificado deberían mostrar el mensaje You have a private key that corresponds to this certificate. indicando que la privada en la Nitrokey podría ser identificada.