¿Cómo funcionan los certificados en términos de cifrado, hash y firma?

7

Creo que puedo entender esto, pero quiero estar seguro de que tengo los detalles correctos. Hay mucha información sobre la implementación de certificados de alto nivel, así como la implementación de cifrado a nivel matemático y demás, pero no he encontrado mucha información sobre los detalles de bajo nivel.

He redactado mi entendimiento, lo mejor que puedo, pero estoy seguro de que he hecho los detalles de una manera u otra. ¿Puedes decirme cuáles son esos errores? (Y no me refiero a lo que he omitido. No quiero hablar sobre los formatos CRL o X.509, etc. Todo lo que es implementación. Lo que me importa es un Entendimiento semi-idealizado del proceso. Aquí está mi artículo.

Gracias de antemano.

Obtención de un certificado de una CA

Una autoridad de certificación (CA) es solo una organización que tiene un par de claves público-privadas y en la que otros confían para verificar las identidades. Si Alice (alice.com) quiere tener un certificado digital firmado por una CA, genera un par de claves público-privadas. Crea un documento que contiene información de identificación, como el FQDN y la dirección de correo electrónico de una persona, etc., y lo cifra con su clave privada. Ella empaqueta este documento encriptado con su clave pública. Esta es la solicitud de firma de certificado (CSR).

Ella envía el CSR a la CA y les pide que verifiquen su identidad. Utilizan la clave pública para descifrar su documento, demostrando que ella posee tanto la clave pública como la privada en ese par. Pueden verificar su identidad de varias maneras, desde automatizadas y técnicas, hasta extensas y legales, según cuál sea el propósito del certificado (¿autenticar una dirección de correo electrónico? ¿Un servidor web?), Ya sea para un individuo o una empresa, y qué nivel de confianza quieren que otros depositen en el certificado.

Una vez que la CA haya verificado la identidad del solicitante, creará un documento con su información de identificación (puede o no ser idéntica a la que presentó), junto con su clave pública, y "firmará" ese documento creando un hash y cifrando ese hash con su clave privada. La firma y algunos metadatos (por ejemplo, qué CA la generó) se adjuntan al documento, y el resultado es su certificado.

Verificación de un certificado

Supongamos que Bob quiere verificar que Alice es quien dice ser. Ella le entrega su certificado y él determina qué CA generó el certificado. Debido a que confía en el CA, tiene su clave pública almacenada en su sistema. Puede usar la clave pública de la CA para verificar la firma: descifra el hash con la clave pública de la CA y calcula el hash también. Si los valores están de acuerdo, entonces él sabe que el documento no ha sido manipulado y que la CA confirma la identidad de Alice.

Usando una CA intermedia

Es posible tener un CA intermedio. En este caso, el certificado de la CA intermedia emite el certificado del usuario y tiene su propio certificado firmado por una CA de nivel superior. Para que otros puedan confiar en el certificado del usuario, la cadena de firma debe terminar con una CA raíz confiable.

    
pregunta Dave Hirsch 20.01.2017 - 08:18
fuente

1 respuesta

1

Su escritura comprueba. Una liendre:

Como dave_thompson_085 menciones , el cifrado y la firma no son las mismas operaciones. Aunque pueden implementarse de la misma manera en libro de texto RSA, no significa que sean iguales. De hecho, X.509 es compatible con ECDSA, donde las firmas se implementan completamente diferentes.

    
respondido por el dsprenkels 08.05.2018 - 15:49
fuente

Lea otras preguntas en las etiquetas