Se firma un certificado. Esto significa que viene con su propia seguridad. La validez de un certificado proviene de su firma por parte de una autoridad de certificación, no de la forma en que lo obtiene. Durante los primeros pasos de una conexión SSL / TLS (el "protocolo de enlace"), el cliente debe obtener un conocimiento confiable de la clave pública del servidor; el cliente puede hacerlo de la forma que crea conveniente, pero a menudo implica encontrar una ruta de certificado , es decir, un conjunto de certificados que culminan en un certificado que contiene el nombre del servidor y la clave pública del servidor. Para suavizar las operaciones, el servidor incluye una ruta potencial en uno de los mensajes de intercambio que envía al cliente.
Validación de una ruta de certificado implica verificar la firma de cada certificado, con respecto a la clave pública que figura en el certificado anterior (también hay muchas otras cosas que se verifican, consulte la sección 6 de RFC 5280 si está realmente aburrido un día). El punto de la firma es proteger contra la alteración y demostrar la procedencia. Cómo obtuvo el certificado es irrelevante; para el caso, podría haber sido entregado a usted por el mismo Diablo, no afectará la seguridad.
Sin embargo, todavía tienes que estar en algún lugar. Como se mencionó anteriormente, la firma de cada certificado en la ruta debe verificarse con la clave pública contenida en el certificado anterior . ¿Cómo verificamos la firma en el certificado first en la ruta? Para eso, necesitamos un ancla de confianza : esa es una clave de nombre y pública que se conoce a priori , por ejemplo. está integrado en el software cliente (después de todo, usted confía en el software en sí mismo para no registrar todos los datos intercambiados y sus pulsaciones de teclas, por lo que también puede confiar en el almacenamiento de algunas claves públicas). Los anclajes de confianza se codifican tradicionalmente como certificados raíz : no son certificados reales (su firma es ficticia o, a menudo, una "autofirma" que no tiene ninguna función, excepto rellenar el espacio para una firma en un formato de certificado ) pero aún asumen el formato externo (como un grupo de bytes) de un certificado.
Los "certificados raíz" deben obtenerse de forma segura, ya que no se pueden verificar de ninguna manera; Toda tu confianza viene de ellos. A continuación se muestra una lista de (al comienzo de) la lista de certificados raíz incorporados en Firefox (es decir, los certificados que el Sr. Firefox encontró adecuados para las cosas en su navegador y que yo, siendo un usuario vago, "confío" por defecto):