Inicio de sesión de cliente con Active Directory#
Este documento explica cómo utilizar la aplicación PIV de un Nitrokey 3 para el inicio de sesión mediante tarjeta inteligente con Active Directory.
En el futuro, este aprovisionamiento manual podrá automatizarse mediante un MiniDriver de Windows.
Advertencia
La aplicación PIV de Nitrokey 3 se considera actualmente inestable y no está disponible en las versiones estables de firmware. Para obtener dicha funcionalidad es necesario instalar un firmware de prueba. Las actualizaciones posteriores del firmware pueden provocar la pérdida de datos y claves criptográficas. Por favor, consulte la documentación de actualización del firmware para más información.
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.
- Servidor Windows (las versiones compatibles son Windows Server 2016, 2019, 2022 en todas las ediciones).
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 con aplicación PIV.
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.
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.
Desde la línea de comandos, PowerShell o Ejecutar, escriba
certtmpl.msc
y pulse Intro.En el panel de detalles seleccione la plantilla Smartcard Logon.
En la barra de menús, haga clic en Actions → All Tasks → Duplicate Template.
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 recomienda utilizar el algoritmo RSA con una longitud de clave de
2048
Bit. Si decide utilizar claves de curva elíptica (EC), deberá realizar cambios adicionales en los ordenadores cliente.
- Nombre de la asignatura
Establezca Suministro en la solicitud.
Confirme la creación de la plantilla con OK.
Tras la creación de una plantilla de certificado, ésta debe ser emitida para ser utilizada por los clientes.
Desde la línea de comandos, PowerShell o Ejecutar, escriba
certsrv.msc
y pulse Intro.En el panel de navegación, expanda la autoridad de certificación (CA) y vaya a Plantillas de certificados.
En la barra de menús, haga clic en Acción → Nuevo → Plantilla de certificado para emitir.
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#
El inicio de sesión con tarjeta inteligente requiere el aprovisionamiento de una Nitrokey para un usuario en Active Directory. La provisión contiene la clave privada y la generación de la solicitud de certificado (CSR). A continuación, el certificado se escribe en la 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á.
Importante
Si la aplicación PIV en Nitrokey no se ha utilizado antes, realice primero una inicialización con nitropy nk3 piv init
.
Genere una clave privada y escriba la CSR en un archivo con el siguiente comando.
nitropy nk3 piv generate-key --key 9A --algo <algorithm> --subject-name <subject-name> --subject-alt-name-upn <subject-alternative-name> --out-file <file>
El valor de
<algorithm>
es el algoritmo utilizado con su longitud de clave, por ejemplorsa2048
. Los valores de<subject-name>
y<subject-alternative-name>
corresponden típicamente al atributocommonName
yuserPrincipalName
de la cuenta de usuario de Active Directory.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.Escribe el certificado firmado en el Nitrokey con el siguiente comando.
nitropy nk3 piv write-certificate --format PEM --path <file>
El valor de
<file>
es el archivo del certificado.
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.
Desde la línea de comandos, PowerShell o Ejecutar, escriba
certsrv.msc
y pulse Intro.En el panel de navegación, expanda la autoridad de certificación (CA) y vaya a Certificados emitidos.
En el panel de detalles, seleccione el certificado de usuario que desea revocar.
En la barra de menús, haga clic en Acción → Todas las tareas → Revocar certificado.
Especifique el motivo de la revocación, la fecha y la hora, y confirme con Sí.
En el panel de navegación, vaya a Certificados revocados.
En la barra de menús, haga clic en Acción → Todas las tareas → Publicar.
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.
Asegúrese de que ha iniciado sesión en la cuenta de usuario a la que corresponde el certificado.
Desde la línea de comandos, PowerShell o Ejecutar, escriba
certsrv.msc
y pulse Intro.En el panel de navegación, expanda el almacén de claves Personal y vaya a Certificados.
En la barra de menús, haga clic en Acción → Todas las tareas → Importar.
Siga el asistente de importación y proporcione el archivo del certificado de usuario cuando se le solicite.
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.
Asegúrese de que ha iniciado sesión en la cuenta de usuario a la que corresponde el certificado.
Abre PowerShell.
Cambio al almacén de certificados personales del usuario con
Set-Location -Path cert:\CurrentUser\My
.Importe el certificado al almacén con
Import-Certificate -Filepath '<path>'
, sustituyendo<path>
por la ruta del archivo del certificado.