En la parte 1 de esta serie de 3 partes aprendimos sobre los componentes de TLSEn la parte 2 veremos cómo interactúan entre sí los componentes de TLS. En Parte 3 de esta guía, veremos cómo se utilizan los componentes en Couchbase Server.
Proceso de firma de certificados
Tanto si gestiona su propia autoridad de certificación interna como si recurre a un proveedor comercial establecido, como DigiCert, GlobalSign o GoDaddy, la primera etapa consiste en generar una solicitud de firma de certificado. Cada vez que un nuevo certificado o un certificado de reemplazo necesita ser emitido, la entidad que solicita el certificado genera un par de claves que consiste en una clave privada y una clave pública ellos mismos, normalmente utilizando el paquete OpenSSL. En un Cluster de Servidores Couchbase la entidad sería un Nodo de Servidor Couchbase individual. La entidad guarda la clave privada de forma segura, mientras que la clave pública se incluye en una solicitud de firma de certificado (CSR) que se envía a la CA. Normalmente esto se realiza con una CA intermedia, no con una CA raíz.
Al recibir la CSR, la CA verifica la identidad de la entidad empleando diversos métodos de validación, como la validación del dominio o la validación de la organización. Una vez confirmada la identidad, la CA genera una firma digital utilizando su clave privada, que vincula la clave pública de la entidad con su información de identidad. Este certificado firmado se devuelve a la entidad.
Validación de certificados
Para validar un certificado, la parte que confía en él (por ejemplo, un navegador web) debe asegurarse de que el certificado es auténtico y ha sido emitido por una CA de confianza. Este proceso implica una serie de pasos, que incluyen las cuatro etapas siguientes.
Ancla de confianza
La parte que confía, por ejemplo un navegador web, posee un conjunto preinstalado de certificados raíz de confianza, también conocidos como anclas de confianza. Estos certificados pertenecen a CA conocidas y contienen sus claves públicas, lo que sirve como base de la confianza.
Cuando un cliente o servidor recibe un certificado durante el intercambio SSL/TLS, comprueba si la firma digital del certificado puede ser validada por alguna de las anclas de confianza instaladas en el sistema. Si la cadena del certificado se puede rastrear hasta un anclaje de confianza, el certificado se considera auténtico y la conexión TLS prosigue con confianza.
Ruta de certificación
Al establecer una conexión cifrada TLS, la parte que confía (navegador web) examina la ruta de certificación del certificado, que incluye una cadena de certificados que comienza con el certificado emitido y llega hasta un anclaje de confianza. Cada certificado de la cadena está firmado por el certificado subsiguiente, llegando finalmente a un anclaje de confianza.
Verificación de firmas
La parte que confía (navegador web) utiliza la clave pública de cada certificado de la ruta de certificación para verificar la firma digital del siguiente certificado. Este proceso continúa hasta que se alcanza el anclaje de confianza.
La firma digital es un valor criptográfico creado por la CA utilizando su clave privada, que vincula el contenido del certificado a la identidad de la CA. El cliente utiliza la clave pública de la CA para descifrar la firma digital, y si el descifrado coincide con el contenido del certificado, la firma se considera válida. Esta validación confirma que el certificado no ha sido manipulado y que ha sido emitido por la CA de confianza.
Controles de confianza y caducidad
La parte que confía comprueba si el anclaje de confianza está incluido en sus certificados raíz de confianza preinstalados. También comprueba la fecha de caducidad de cada certificado para asegurarse de que sigue siendo válido.
Si toda la ruta de certificación se valida correctamente, y el ancla de confianza es de confianza, la parte que confía considera que el certificado es genuino y procede con la conexión segura. Con Couchbase Server 7.2.x esta cadena puede tener 10 certificados de profundidad.
En este ejemplo, las autoridades de certificación raíz de confianza incorporadas en el navegador web son nombres inventados, pero puede consultar una lista real. Las CA de confianza preautorizadas de Firefox son enlazado desde su wiki. Si su certificado ha sido generado por una CA que no ha sido emitida por una de las CA de confianza integradas, primero tendrá que añadir el certificado público de la CA como entidad de confianza a su sistema operativo y navegador antes de poder utilizar los certificados emitidos por esa CA.
Ahora que hemos visto los componentes que intervienen en TLS y cómo funcionan, en la parte 3 veremos cómo funciona TLS en Couchbase Server.