¿Qué es el anclaje de certificados?
La asignación de certificados es una técnica de seguridad en la que solo se autorizan o asignan certificados al establecer una sesión segura. Cualquier intento de establecer una sesión segura mediante un certificado diferente se rechazará.
Historial de anclaje de certificados
El anclaje de certificados se concibió originalmente como un medio contra los ataques de tipo "Man in the middle" (MITM). El anclaje de certificados se hizo popular en 2011 como resultado del compromiso de la entidad de certificación (CA) de DigiNotar, donde un atacante pudo crear certificados comodín para varios sitios web de alto perfil, incluido Google. Chrome se actualizó para "anclar" los certificados actuales para los sitios web de Google, y rechazaría cualquier conexión si se presentase un certificado diferente. Incluso si un atacante pudiera encontrar una manera de convencer a una entidad de certificación para emitir un certificado fraudulento, Chrome seguirá siendo reconocido como no válido y la conexión se rechazaría.
Aunque exploradores web como Chrome y Firefox se encontraban entre las primeras aplicaciones para implementar esta técnica, el rango de casos de uso se expandió rápidamente. Los dispositivos de Internet de las cosas (IoT), las aplicaciones móviles iOS y Android, y una colección dispar de aplicaciones de software comenzó a usar esta técnica para defenderse contra ataques de tipo "Man in the middle".
Durante varios años, el anclaje de certificados se consideró una buena práctica de seguridad. La supervisión del panorama público de infraestructura de clave pública (PKI) ha mejorado con transparencia en las prácticas de emisión de CA de confianza pública.
Cómo direccionar el anclaje de certificados en la aplicación
Normalmente, una aplicación contiene una lista de certificados autorizados o propiedades de certificados, incluyendo nombres distintivos (DN) del firmante, huellas digitales, números de serie y claves públicas. Las aplicaciones pueden anclar en certificados de entidad de hoja o final individuales, certificados de CA subordinadas o incluso certificados de entidad de certificación raíz.
Si la aplicación especifica explícitamente una lista de entidades de certificación aceptables, es posible que tenga que actualizar periódicamente los certificados anclados cuando las entidades de certificación cambien o expiren. Para detectar el anclaje de certificados, se recomienda realizar los pasos siguientes:
Si es desarrollador de aplicaciones, busque en el código fuente cualquiera de las siguientes referencias para la entidad de certificación que esté cambiando o expirando. Si hubiera una coincidencia, actualice la aplicación para incluir las CA que falten.
- Huellas digitales de certificado
- Nombres distintivos (DN) del asunto
- Nombres comunes
- Números de serie
- Claves públicas
- Otras propiedades del certificado
Si la aplicación cliente personalizada se integra con las API de Azure u otros servicios de Azure y no está seguro de si usa el anclaje de certificados, consulte con el proveedor de la aplicación.
Limitaciones de anclaje de certificados
La práctica del anclaje de certificados se ha vuelto ampliamente controvertida, ya que conlleva costes inaceptables de agilidad de certificados. Una implementación específica, el anclaje de clave pública HTTP (HPKP), ha quedado en desuso por completo
Como no hay ningún estándar web único para cómo se realiza el anclaje de certificados, no podemos ofrecer instrucciones directas para detectar su uso. Aunque no se recomienda el anclaje de certificados, los clientes deberían tener en cuenta las limitaciones que esta práctica crea si deciden usarla.
- Asegúrese de que los certificados anclados se puedan actualizar a corto plazo.
- Los requisitos del sector, como los requisitos de línea base del foro CA/Browser para la emisión y administración de certificados de confianza pública requieren rotación y revocación de certificados en tan solo 24 horas en determinadas situaciones.