La infraestructura de seguridad del lenguaje de programación Go se está actualizando para incluir una lista codificada de huellas digitales de Subject Public Key Info (SPKI) no confiables. Este cambio garantiza que la biblioteca estándar de Go rechace explícitamente cualquier cadena de certificados que contenga estas huellas específicas. Al dirigirse al SPKI —la parte de un certificado que contiene la clave pública y su algoritmo asociado—, la actualización proporciona un mecanismo para bloquear certificados incluso si la Autoridad de Certificación (CA) emisora permanece en un almacén de confianza, pero el material de clave específico se sabe que está comprometido o no es confiable.

La lista específica de huellas no confiables incluye certificados asociados con entidades como eMudhra Technologies Limited y Comodo CA Limited. Por ejemplo, los datos proporcionados incluyen huellas para varios certificados TLS y CS (Code Signing) de 'EM' (eMudhra), así como 'AAA Certificate Services' de Comodo. Estas entradas se mapean a números de serie específicos y hashes SHA-256 de certificados, lo que permite al entorno de ejecución de Go identificar e invalidar estas instancias de certificados específicas durante el saludo TLS o el proceso de verificación de certificados.

Este movimiento hacia el rechazo explícito de huellas digitales destaca un cambio en la forma en que el software maneja la infraestructura comprometida. Si bien los registros de Certificate Transparency (CT) se utilizan a menudo para monitorear la emisión de certificados, algunas implementaciones han comenzado a bloquear el registro de certificados de estas CA específicas para evitar el spam de registros por certificados falsificados. Sin embargo, esto crea un compromiso: aunque evita que los registros se vean abrumados, también significa que los certificados falsificados emitidos por estas claves comprometidas pueden no registrarse en los registros de CT, lo que dificulta su detección en el mundo real. Al codificar estos rechazos en el entorno de ejecución de Go, los desarrolladores pretenden proporcionar una defensa definitiva contra los certificados derivados de estas claves específicas y comprometidas, independientemente del estado de la jerarquía de CA más amplia.