El uso de Certificados Digitales para probar la autenticación o autentificación, basado en un esquema de Clave Pública (PKI = Public Key Infrastructure) es uno de esos temas casi desconocidos y que a diario puedo observar los inconvenientes que produce su falta de comprensión
En esta ocasión comenzaré una serie de notas relacionadas al tema nombrado, y que sin intentar hacer una descripción completa de los que es una infraestructura de Clave Pública, ayudará a comprender su aplicación en el ámbito de una organización
Si alguien quiere ver una pequeña base para comprender cómo funciona un esquema de Clave Pública, en forma muy resumida puede consultar:
Criptografía e Infraestructura de Clave Pública (PKI)
Veamos primero dos conceptos importantes …
Existen básicamente dos tipos de Autoridades Certificadoras: Comerciales o Privadas
Las Autoridades Certificadoras comerciales, son empresas dedicadas y especializadas en el tema, por lo cual si optamos por comprarle los certificados digitales que necesitemos tenemos la tranquilidad que el tema está manejado por “gente que sabe”, pero también tiene sus posibles inconvenientes
Por ejemplo, nos van a cobrar por cada Certificado que necesitemos, lo que no siempre es económico, todo depende de la cantidad que necesitemos.
Y además deberemos adaptarnos a los requisitos que imponga para el otorgamiento
Pero de todas formas tienen una gran ventaja si están asociadas con el programa de actualizaciones de Microsoft, ya que cualquier sistema Windows reconocerá los certificados como válidos. Son la solución requerida si los certificados deben ser validados por terceros, por ejemplo para un sitio web, transacciones comerciales, etc.
Por otro lado podemos instalar nuestra propia Autoridad Certificadora de tipo privada, que también tiene ventajas e inconvenientes
Algunos piensan que en este caso es gratis, y nada más alejado, hay que instalar y mantener la misma, inclusive tomando medidas adicionales de seguridad, ya que si se comprometiera la seguridad de una Autoridad Certificadora estarían comprometeidos todos los certificados por ella otorgados
Las ventajas pasan por la flexibilidad que manejaremos nosotros de acuerdo a nuestras necesidades, y la posibilidad de automatizar el otorgamiento de certificados si la integramos con Active Directoy
Pero debemos tener en cuenta que los certificados no serán reconocidos externamente, salvo configuración especial que no trataré en estas notas
En esta nota y subsiguientes veremos cómo instalar una implementación de Clave Pública de tipo privado
Algo muy importante a tener en cuenta es la seguridad sobre la Autoridad Certificadora, por lo cual una de las mejores opciones es mantenerla en una máquina fuera de la red, o inclusive apagada, esto mejora enormemente la seguridad sobre la misma
Pero por otro lado queremos automatizar lo máximo posible la obtención y renovación de los certificados. Esto lo podemos lograr integrándola en Active Directoy, lo cual por supuesto requiere que esté funcionando sobre un servidor miembro de un Dominio, y por lo tanto, no puede estar, ni fuera de la red ni apagada
Mantener una seguridad adecuada, y a la vez aprovechar la integración se consigue teniendo dos Autoridades Certificadoras
- Una Autoridad Certificadora Raíz, que se autofirma los certificados. Algo así como “yo soy yo, porque lo digo yo”, que le otorgará un Certificado de Autoridad Certificadora a otra Autoridad Certificadora que mantendremos en la red
Esta autoridad será de tipo “standalone” sobre un servidor en grupo de trabajo lo que nos permitirá mantenerla “offline”
No entraremos en la forma que se desarrolla el tema en las grandes corporaciones, pero este se hace de esta forma en dos o inclusive tres niveles, distribuyendo la carga de los diferentes tipos de certificados entre diferentes “sub” Certificadoras. Si se comprometira la seguridad de una de ellas no afectaría a toda la organización - Una segunda Autoridad Certificadora, cuya identidad se encuentra certificada por la anterior, integrada en Active Directory (Enterprise Certification Authority), lo que nos permitirá automatizar la distribución e implementación de todos los certificados digitales, básicamente a través de Directivas de Grupo (GPOs)
Para esta demostración utilizaré sólo una máquina en grupo de trabajo (WORKGROUP), en una red aislada, donde instalaré la Autoridad Certificadora, y lo más importante, veremos los pasos necesarios para exportar los certificados y CRL para instalar en la “sub” Autoridad Certificadora
Pueden ver en la siguiente pantalla que se trata simplemente de una instalación de Windows Server 2012 en grupo de trabajo
Como es lógico, lo primero a hacer es instalar la funcionalidad de Certificate Services, que se hará como es habitual y siguendo el asistente como muestran las capturas
Agregamos los complementos necesarios
Muy importante que lean la advertencia: una vez instalada la Autoridad Certificadora el equipo no podrá ser renombrado, o incluido en Dominio
Para este caso necesitamos solamente “Certification Authority”
Y ahora ingresamos al asistente para configurarla
Si iniciamos como administrador del servidor, que por otra parte es necesario, no hace falta cambiar nada
Marcamos el componente correspondiente que vamos a configurar
Observen que como estamos instalando en una máquina en grupo de trabajo sólo nos permite “Standalone”, y no de tipo “Enterprise”
Estamos instalando una Autoridad Certificadora de tipo Raíz, así que seleccionamos “Root”
Por tratarse de una certificadora de tipo raíz, y para mantener la máxima seguridad elegiré la longitud de claves más larga posible
Elegimos el nombre que le daremos. Pensarlo bien …
Asignamos el tiempo de validez de los certificados otorgados por esta Autoridad Certificadora. Tener en cuenta que no podrá otorgar certificados que lleguen más allá de su propio período de validez
Abramos la consola Certification Authority que debemos hacer unos cambios en la configuración por omisión
Atención que ahora viene una parte delicada y que requiere mucho cuidado para no confundirse
Como esta instalación la usaremos luego para certificar a otra Autoridad Certificadora funcionando en ambiente de dominio Active Directory, y no habrá comunicación por red, es necesario que en los certificados extendidos por la “sub” autoridad certificadora se pueda acceder tanto al certificado de la autoridad raíz, como a la lista de revocación de certificados (CRL)
En la ficha “Extensions”, nos aseguramos que esté seleccionado “CRL Distribution Point (CDP)”, y pulsamos el botón “Add”
Ayudándonos con escribir una parte y usando la lista desplegable “Variable” vamos a escribir la ubicación en la entrada “Location”
Debe quedar así
Pulsamos “Ok” *una sola vez*
Y marcamos las opciones como muestra la siguente figura
(SIN PULSAR “OK” QUE ME EQUIVOQUÉ CON LA MARCA, PULSEN SÓLO “APPLY”
Que no reinicie que todavía nos falta algo más
En forma análoga al anterior ahora en la lista desplegable seleccionamos “Authority Information Access (AIA), y el botón “Add”
Análogamente a la configuración anterior debemos agregar la nueva ubicación
Debe quedar así
Marcamos la siguiente opción
Y ahora sí permitimos reiniciar el servicio para que adopte las nuevas configuraciones
Forzamos una publicación de los certificados revocados, aunque no tengamos ninguno, sólo para que se creen los archivos, que más adelante necesitaremos
Ya tenemos la Autoridad Certificadora instalada y configurada como deseamos. Lo que debemos hacer ahora es exportar los archivos necesarios que necesitaremos para instalar la “sub” Autoridad Certificadora (en la próxima nota del sitio)
Ingresamos con botón derechos en las propiedades de la Autoridad Certificadora
Ficha General, elegimos ver el certificado de la propia autoridad
Y en la ficha “Details” elegimos el botón para copiarlo a un archivo
Seguimos el asistente
Elijan el nombre que quieran y el lugar que les resulte más cómodo. Piensen que luego lo van a tener que llevar a otra máquina mediante algún medio removible
Demora unos segundos, asegúrense que aparezca lo siguiente
Debemos también copiar a algún lugar cómodo otros dos archivos que luego llevaremos a la “sub” Autoridad Certificadora
Los encontrarán en C:\Windows\System32\CertSrv\CertEnroll
Corresponden a la “Certificate Revocation List” (CRL), y al certificado que firma digitalmente la misma
En mi caso los dejé sobre el escritorio de Windows
En la próxima nota usaremos estos tres archivos para instalar y configurar una “sub” Autoridad Certificadora, integrada en Active Directory, que nos permitirá otorgar Certificados Digitales fácilmente