¿Qué se entiende por confianza aquí?
"Confianza" es un término ligeramente ambiguo en Seguridad porque un software diferente impondrá diferentes definiciones / niveles de confianza. Y cuando empezamos a hablar sobre el factor humano de la seguridad, la definición vuelve a cambiar (es decir, "¿es confiable el certificado?" Es muy diferente de "es confiable el administrador?").
Con certificados, "confianza" normalmente significa
¿Puedo rastrear la cadena de firmas hasta un ancla de confianza en la que tengo fe absoluta?
Ahora, ¿qué se entiende por "ancla de confianza"? La práctica actualmente aceptada es la idea de la fijación de certificados, donde las copias de los certificados de confianza están integradas en un almacén de confianza a nivel de sistema operativo o directamente en el binario de la aplicación.
Ejemplos de almacenes de confianza a nivel de sistema operativo :
Cualquier aplicación que utilice un almacén de confianza del sistema operativo verificará un certificado siguiendo la cadena de firmas hasta que encuentre un certificado que se encuentre en el almacén de certificados raíz de confianza (tenga en cuenta que "raíz" aquí significa "raíz de confianza", esto podría bien ser intermedios CAs). Este tipo de almacén de confianza permite a los usuarios agregar / eliminar manualmente "certificados raíz" de confianza, por lo que podría detener la cadena en el CA 1 intermedio, si lo desea.
El otro tipo de anclaje de certificado es incrustar los certificados (o, a menudo, solo sus huellas digitales o hashes) directamente en el código fuente de la aplicación . Chrome, Firefox , y otros navegadores funcionan de esta manera. En estos casos, la única forma de agregar / eliminar un certificado anclado es descargar un parche de seguridad para el navegador.
En realidad, en una inspección más detallada, parece que Chrome utiliza un enfoque híbrido: incrustan huellas dactilares de CA raíz de confianza en el binario, y también respeta el almacén de confianza del sistema operativo, si es posible, para certificados que no están en el binario ( source ).
Transparencia del certificado
Hay una nueva tecnología llamada Transparencia del certificado (CT) que aún se encuentra en las fases iniciales, pero cuando se implementa completamente Afectará la definición de "confianza" para los certificados. La idea de CT es que terceros independientes mantengan registros públicos de certificados públicos de alto perfil que los navegadores pueden verificar como una verificación adicional de que los certificados que tienen en su almacén de confianza son auténticos. El objetivo de CT es abordar los problemas de tiempos de revocación lentos y certificados fraudulentos. Por ejemplo, cuando la CA DigiNotar tiene su clave de firma de CA robada en 2011, los atacantes pudieron emitir una nueva, Certificado auténtico para google.com
. CT evitaría esto ya que ya existe un certificado válido para google.com
en los registros de CT públicos.
Entonces, mientras que CT está orientado a resolver algunos problemas bastante estrechos, generalmente también aumentará la confiabilidad de todos los certificados y afectará el proceso por el cual los navegadores validan certificados.