Windows Server 2012: Recuperación de Claves en una Infraestructura de Clave Pública (PKI – Key Recovery)

La utilización de un sistema de Clave Pública con el uso de Certificados Digitales es cada vez más frecuente, ya sea por el uso de HTTPS, EFS (Encrypted File System), Remote Desktop Web Access, etc. ya que permite proveer un alto nivel de seguridad

Pero al ser un sistema de alta seguridad, es imprescindible además de un buen diseño, implementar un sistema de recuperación ante problemas. Muchas veces he visto consultas en Internet, sobre usuarios que han perdido su Certificado Digital o alguna de sus claves (no la contraseña) y luego no pueden acceder a sus documentos cifrados

Así que aprovechando lo que hemos hecho en las dos notas anteriores:

En esta ocasión veremos como implementar el archivado tanto de la clave pública como la privada en la Autoridad Certificadora, lo que nos permitirá en caso de pérdida por parte del usuario, recuperarlas fácilmente

Lo primero a tener en cuenta es que esto lo podremos hacer únicamente si nuestra Autoridad Certificadora es de tipo Enterprise, esto es integrada en Active Directory, ya que de otra forma no se puede obligar al solicitante que además de su clave pública, provea a la Autoridad Certificadora su clave privada

La configuración que haremos es altamente recomendable hacerla antes de comenzar a distribuir los Certificados Digitales, ya que será válida para los entregados a partir de que lo configuremos

Como estamos continuando de las notas anteriores (ver enlaces más arriba) la infraestructura necesaria que usaré es siempre la misma:

  • Controlador de Dominio
    DC1.guillermod.com.ar
    Dirección IP 192.168.1.201
  • Servidor miembro del Dominio
    Autoridad Certificadora: GuillermoD-CA subordinada y tipo Enterprise
    SRV1.guillermod.com.ar
    Dirección IP 192.168.1.101
  • Cliente de Dominio (máquina con sistema Desktop)
    CL2.guillermod.com.ar
    Dirección IP 192.168.1.102

Si vienen siguiendo esta serie de notas, a diferencia de la anterior y si han hecho todo bien, ya no necesitamos tener en línea a la Autoridad Certificadora Raíz, ya que esa es justamente la idea al crear un esquema seguro de dos capas (two-tier) de certificadoras

Aunque no mostraré las capturas de pantalla, porque creo que es muy sencillo de hacer, deberemos crear con anticipación dos usuarios y un grupo

  • User Uno (u1.guillermod.com.ar)
    Será el usuario de prueba
    Se le debe asignar una dirección de correo aunque sea ficticia ya que lo exigirá la Autoridad Certificadora
  • KRA User (kra-user.guillermod.com.ar)
    Será el Agente de Recuperación de claves
    KRA es Key Recovery Agent
  • Grupo Global KRA-Agents
    La cuenta “KRA User” es miembro de este grupo

El uso de una cuenta separada de la de administrador, para la recuperación de las claves es un tema importante de seguridad: que no quede todo en manos de la misma persona, ya que la recuperación de claves es algo muy sensible.

En realidad, un administrador del Dominio, no debería ser el administrador de la Autoridad Certificadora, y el agente recuperador de claves no debería ser ninguno de los dos primeros (división de roles)

Comenzaremos en SRV1, creando la plantilla de certificado personalizada, del agente de recuperación

Así que en SRV1, abrimos la consola de Certification Authority, botón derecho sobre “Certificate Templates”, y elegimos “Manage”

Copiaremos la plantilla “Key Recovery Agent” creando una nueva, tanto para poder personalizarla, como para que su versión tenga la flexibilidad que nos provee Windows Server 2012

Le asignamos un nombre a gusto

En la ficha “Security” le asignamos permiso al grupo KRA-Agents para que pueda obtener el correspondiente certificado

Y en nuestro caso desmarcaré la opción de que requiere aprobación para el otorgamiento del certificado

 

Cerramos la consola de administración de plantillas de certificado (Certificate Templates console), y en la consola de Certification Authority debemos configurar para que ese solicitar y otorgar el certificado de recuperación de claves

 

Ahora el agente de recuperación (KRA User) debe iniciar sesión en una máquina cliente (CL2) y obtener el correspondiente certificado, para lo cual crearmos una consola MMC con el complemento Certificados, según las siguientes capturas

 

Ahora debemos volver a SRV1 y crear la plantilla de usuarios pero incluyendo la opción de archivado de claves para permitir su recuperación en caso de problemas

Copiaremos, en forma análoga a como lo hiciemos con el agente de recuperación la plantilla normal de usuario, pero lógicamente con configuraciones diferentes de acuerdo a las siguientes capturas

 

Este mensaje está saliendo porque nos falta configurar algo más

25

Cerramos la consola de administración de plantillas de certificados

 

Entrando en las Propiedades de la Autoridad Certificadora con esto ya solucionamos el tema anterior

 

En la siguiente captura me he olvidado de desmarcar “Include e-mail …” si no lo hacen, para que un usuario pueda obtener un certificado de este tipo, necesitará tener una dirección de correo, aunque sea ficticia

En la consola de la Autoridad Certificadora debemos publicar la nueva plantilla

 

Y deberíamos deshabilitar la plantilla de “user” normal, para que se puedan solicitar certificados únicamente con archivado de claves. Y yo me he olvidado en la captura pero deberíamos deshabilitar todos los que no queramos, por ejemplo, el de EFS

 

Y ya llegó el momento para comenzar a probar si todo funciona como lo configuramos 🙂

Comenzaré iniciando sesión en CL2 con “u1.root.guillermod.com.ar” y solicitando un certificado basado en la nueva plantilla

El procedimiento es totalmente análogo a como hicimos con el Agente de Recuperación, así que no pondré todas las capturas, para no hacer esto tan largo y repetitivo

 

No lo haré en esta nota, pero supongamos que ha pasado el tiempo y el usuario ha usado su certificado, por ejemplo para EFS, y en algún momento surge un inconveniente que hace perder al certificado y sus claves

Por ejemplo, reinstalación de su máquina de trabajo, corrupción y borrado del perfil de usuario, o los que se le pueda ocurrir

En mi caso para simular esta pérdida, simplemente inicaré sesión en CL2 como administrador y eliminaré el perfil del usuario, para que de esta manera se pierda la información del mismo

Si quieren pueden inciar sesión con el usuario en CL2 y verificar que se ha perdido su certificado

Así que vamos a recuperar el Certificado Digital de u1@root.guillermod.com.ar
Esto implica tres partes:

  1. El administrador de la Autoridad Certificadora debe obtener el número de serie (Serial) del certifiado a recuperar, y debe pasárselo al agente de recuperación
  2. Usando este número de serie, el agente de recuperación recupera el certificado con sus correspondientes dos claves: pública y privada que debe transferir al usuario
  3. El usuario debe instalar las mismas

Veamos cómo se hace esto. Primero debemos buscar el certificado para identificar el Serial. Esto lo haremos en la Autoridad Certificadora de acuerdo a las siguientes capturas de pantalla

Acá lo podemos ver

Tenemos dos opciones, una es escribirlo manualmente tal como está. Otra opción es abrir el certificado, en la ficha Details seleccionar “Serial number” y con copiar y pegar llevarlo a un archivo de texto, pero tengan cuidado, porque además de tener que borrarle todos los espacios, suele poner al principio o entre medio caracteres no-validos (ASCII < 127) no visibles en Notepad y que luego harán que el siguiente comando falle 🙁

Ahora abrimos una consola CMD como administrador y debemos ejecutar:

CERTUTIL -GETKEY <el número de serie> ArchivoDePaso

Por supuesto poniendo el número de serie correcto, y el nombre del archivo que quieran

Este archivo que hemos creado se lo debemos entregar al agente de recuperación. En mi caso copié el archivo a CL2 donde iniciando sesión como agente de recuperación (KRA-user@root.guillermod.com.ar) procederé a recuperar el certificado del usuario con sus correspondientes claves

Se debe abrir un CMD en la carpeta donde está el mismo y ejecutar

CERTUTIL -RECOVERKEY ArchivoDePaso <usuario>.PFX

Nos solicitará ingresar una contraseña que deberemos proporcionársela al usuario para que pueda instalar el certificado

Vemos que el comando se completó exitosamente

Y el archivo creado se lo debemos entregar al usuario que tenía el problema. En este caso como estoy usando un único equipo cliente, simplemente lo colocaré en una carpeta llamada “Paso”, y le informaré al usuario dónde ha quedado y la correspondiente contraseña de acceso al mismo para que lo pueda importar

 

Así que iniciamos sesión en CL2 con u1@root.guillermod.com.ar y seguimos las instrucciones que nos ha dado el agente de recuperación 🙂

Comenzamos creando, si no la grabamos, una consola MMC con el complemento Certificados y procederemos a la importación del mismo

 

Habiendo el usuario recuperado su certificado con sus correspondientes claves tanto pública como privada, volverá a tener acceso a todo lo que haya cifrado o firmado digitalmente

Post a comment or leave a trackback: Trackback URL.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *