CSS descubrió y publicó recientemente información sobre un potencial ataque de escalada de privilegios en Sistemas de Emisión de Certificados basados en SCEP. Tras este descubrimiento, CSS creó el Servicio de Validación SCEP, cuyo objetivo es cerrar este ataque validando el contenido del certificado antes de que la Autoridad de Certificación lo envíe al solicitante. La solución pendiente de patente de CSS se envía hoy con nuestro Sistema de Gestión de Certificados Móviles (mCMS) v 1.1 software. El Servicio de Validación SCEP de CSS está diseñado como un conjunto de componentes que también pueden integrarse en productos de Gestión de Dispositivos Móviles (MDM)de terceros.
Los productos deterceros que cumplan estos requisitos pueden ser buenos candidatos para integrarse con el Servicio de Validación SCEP de CSS:
- Utilizar una autoridad de certificación de Microsoft (autónoma o de empresa)
- Facilitar que los dispositivos iOS se inscriban para obtener un certificado a través de un servidor Microsoft NDES (SCEP)
- Construido con .NET, o capacidad para integrarse con servicios SOAP basados en WCF
Escenario de usuario normal
Veamos el escenario de un usuario normal con NDES y la CA. En el diagrama siguiente, un usuario honesto ha solicitado un certificado. El MDM proporciona al dispositivo una configuración que contiene una URL de servidor SCEP y un desafío SCEP. El dispositivo genera una clave en el dispositivo y utiliza estos datos de configuración para solicitar un certificado al servidor SCEP especificado. Si tiene éxito, se emite un certificado.
Figura 1: Usuario honesto obtiene un certificadoEscenario del usuario malintencionado
Como se indica en el documento técnico de CSS SCEP and Untrusted Devices, si un usuario válido pero malintencionado obtiene un Desafío SCEP válido (independientemente de que sea una contraseña estática o dinámica), puede utilizarlo para inscribirse en un certificado para una identidad o propósito diferentes de los que se permitirían de otro modo.
En el siguiente diagrama, un usuario malicioso ha obtenido un Desafío SCEP de su sistema MDM. En lugar de permitir que el dispositivo genere una clave y un PKCS#10, el usuario crea un PKCS#10 con un valor de campo Subject Name que le otorga una identidad diferente (y potencialmente con mayores privilegios).
Figura 2: Usuario malintencionado que obtiene un certificado con una identidad diferenteMDM de terceros con componentes de validación SCEP
Con el Servicio de Validación SCEP integrado en una Aplicación MDM, el escenario anterior puede evitarse. La solución VSCEP de CSS añade dos pasos al proceso de emisión de certificados.
Figura 3: El usuario malintencionado es detenido antes de obtener el certificado mediante el uso del servicio de validación SCEPEn el diagrama anterior, el Paso nº 2 es el único punto de integración a nivel de origen entre el MDM y el Servicio de Validación SCEP de CSS. Cuando un usuario inscribe un dispositivo con la aplicación MDM, el MDM registra el contenido esperado del certificado con el desafío SCEP correspondiente utilizando el servicio de validación SCEP de CSS. Este contenido incluye información como el sujeto esperado, el nombre alternativo del sujeto, la plantilla, el uso de la clave y los valores de uso de la clave extendida.
El paso nº 6 muestra cómo el módulo de directivas valida el contenido del nuevo certificado directamente en la entidad emisora de certificados, mucho antes de que el certificado se envíe al solicitante. El módulo de directivas trabaja con el servicio de validación para verificar el contenido real del certificado con el contenido esperado previamente registrado en el paso 2. Si el módulo de directivas encuentra que todos los datos coinciden con el contenido esperado, la solicitud se valida. Si el módulo de directivas comprueba que todos los datos coinciden con el contenido esperado, se aprueba la solicitud y se envía el certificado al solicitante. Si el usuario tiene malas intenciones, el módulo de directivas detectará la falta de coincidencia de la información y denegará la solicitud de certificado.
El Servicio de Validación SCEP es un servicio alojado en IIS que puede vivir en cualquier lugar dentro de la infraestructura de su cliente. Expone una sencilla interfaz basada en WCF de un método para permitir que el MDM registre el conjunto de contenidos esperado del usuario. Las aplicaciones MDM no tienen que integrarse con el propio módulo de directivas. El módulo de políticas se instala directamente en una autoridad de certificación y se configura para comunicarse con el servicio de validación SCEP.
Resumen
Incorporar los Componentes del Servicio de Validación SCEP de CSS a su producto es sencillo y sólo requiere cambios mínimos a nivel de código fuente. Los Desafíos SCEP esperados y el contenido del certificado deben registrarse en el Servicio de Validación SCEP, tal y como se muestra arriba en la Figura 3. El módulo de políticas CSS valida y refuerza que cada certificado se emita para la identidad real del usuario. Además de este cambio a nivel de fuente, la instalación de su producto debe modificarse para incluir los componentes CSS. CSS está deseando trabajar con usted para integrar nuestro Servicio de Validación SCEP en su producto MDM.
Visite el centro de recursos SCEP validados para obtener más información: https://www.css-security.com/vscep/