Comienza la cuenta atrás para Keyfactor Tech Days | ¡Asegura tu plaza hoy mismo!

La huella digital de NDES CA

Recientemente, mientras trabajaba en la implantación de Microsoft Network Device Enrollment Services (NDES), un cliente hizo una pregunta bastante sencilla sobre la huella digital del certificado de autoridad de certificación (CA) que se mostraba en la interfaz gráfica de usuario de administración de inscripción de NDES: "¿Qué es ese hash? ¿Y por qué no coincide con ninguno de los hash de la huella en miniatura del certificado de CA de mi cadena de autoridad?".

Página de inscripción de NDES Admin

Como parte de un amplio paso de solución de problemas para un dispositivo que no se estaba inscribiendo correctamente, el cliente estaba verificando la configuración del servidor NDES, y le preocupó que la huella digital no coincidiera con las huellas digitales mostradas de ningún certificado CA de su cadena.

Visión general de NDES

El Servicio de Inscripción de Dispositivos de Red (NDES) es la implementación de Microsoft del Protocolo Simple de Inscripción de Certificados (SCEP), un protocolo de comunicación que hace posible que software que se ejecuta en dispositivos de red como routers y switches, que de otra manera no pueden ser autenticados en la red, se inscriban para certificados X.509 de una autoridad de certificación (CA).

NDES funciona como un filtro de interfaz de programación de aplicaciones de servidor de Internet (ISAPI) en Internet Information Services (IIS) que genera y proporciona contraseñas de inscripción de un solo uso a los administradores, recibe y procesa solicitudes de inscripción SCEP en nombre de software que se ejecutan en dispositivos de red y recupera solicitudes pendientes de la CA. https://technet.microsoft.com/en-us/library/cc753784(v=ws.10).aspx

¿Qué es ese hachís?

Después de algunas verificaciones, incluyendo una rápida comprobación de las claves del registro en HKLM\SOFTWARE\Microsoft\Cryptography\MSCEP, determinamos que el servidor NDES estaba configurado correctamente, y apuntando a la CA correcta.

Así que contraté a nuestro experto en criptografía (Ted Shorter, director de tecnología de CSS) y empezamos por echar un vistazo al certificado público de la CA emisora a la que apuntaba el servidor NDES. Pudimos ver que su hash no coincidía con lo que veíamos en la página de administración de NDES.

Huella digital del certificado de CA

Y otra cosa resultó evidente de inmediato: el hash del certificado que podíamos ver a través de la interfaz gráfica de usuario predeterminada de Microsoft era de 20 bytes (SHA-1), y el hash de la página de administración de NDES era de sólo 16 bytes. ¿Podría ser el hash de la página de administración de NDES el hash MD5 del certificado expedido?

Verificador de integridad de sumas de comprobación de Microsoft (FCIV)

Podríamos haber pegado algún código rápido para comprobar los diferentes valores del algoritmo hash del certificado de la CA emisora, pero existe una hábil herramienta de Microsoft que nos permitiría comprobar rápidamente un hash MD5 o SHA-1: El Microsoft Checksum Integrity Verifier (FCIV) https://support.microsoft.com/kb/841290. Utilizado para comparar valores de archivos con un valor bueno conocido, sirve para asegurarse de que los archivos no han sido modificados.

Pero también funcionaría para nuestro propósito. Así que ejecutamos FCIV contra nuestro certificado de CA emisor utilizando el hashtype predeterminado de FCIV de md5.

Hash MD5 de la CA emisora

No, no era eso.

¿Y la raíz?

Hash MD5 de la CA raíz

¡Bingo!

El hash que aparece en la página de administración de NDES es el hash MD5 del certificado de la CA raíz.

¿Por qué el hash MD5? Esa podría ser una buena pregunta para otro blog.