La cadena no se verifica "por sí misma". Un sistema determinado (por ejemplo, un navegador web) considerará el certificado de un servidor como válido porque podría construir una cadena válida (con todas las correcciones de firmas y nombres coincidentes y todas las reglas de X.509 ) que termina con el certificado para validar (el certificado del servidor), y que comienza con una CA raíz que el cliente ya tiene .
Las firmas no crean confianza, transportan confían. Todavía tiene que empezar en alguna parte. Cada cliente (ya sea en el navegador o en el propio sistema operativo) viene con una lista de "CA confiables": estas son las claves públicas y los nombres de algunas entidades que se consideran "confiables" (usted no las eligió usted mismo; Microsoft hizo eso para ti, pero, de todos modos, siempre que utilices el software de Microsoft, estás confiando en Microsoft para que no te juegue juegos desagradables). La CA raíz es "confiable" si confía en ellos para no emitir certificados con información falsa: cuando una CA emite (firma) un certificado para alguna entidad E , se supone que debe asegurarse de que la clave pública que la CA pone ese certificado, junto con el nombre de E , es realmente propiedad de E . De manera similar, cuando una CA raíz delega su poder en otra CA (entonces llamada CA intermedia o sub CA ), se asegura (a través de auditorías y contratos vinculantes) que la CA secundaria es de hecho confiable, ya que aplicará las mismas reglas.
Ese es el concepto de una Infraestructura de clave pública : como cliente, usted sabe a priori un puñado de claves públicas de propiedad de CA confiables, y usted confía implícitamente en todo lo que estos CA firman. Los certificados asumen una estructura similar a un árbol, con la CA raíz como, bueno, la raíz del árbol (de ahí el nombre) y los certificados de entidad final (servidores SSL) como hojas. Una cadena de certificados es realmente una ruta desde la raíz a una hoja dada.
Si una CA raíz o intermedia no es confiable, por ejemplo, porque fue pirateada y emitió un certificado falso (una asociación incorrecta entre el nombre y la clave pública), la recuperación implica cortar la rama incorrecta, un proceso conocido como revocación . En la práctica, esto no ocurre a menudo para las grandes CA comerciales (las que son de confianza por defecto en Windows o Firefox); decir una vez al año. P.ej. ese ocurrió hace unos días, y tanto la revocación como la El parche de Microsoft a prueba de fallas bloquea cualquier intento de uso del certificado fraudulento. En la práctica, los atacantes normales (por ejemplo, para fines de phishing) no se molestan en obtener certificados "válidos" para sus servidores falsos.