Relación entre RSA, Diffie-Hellman Key Exchange, PKI y X.509?

20

Me estoy confundiendo con RSA, Diffie-Hellman Key Exchange, PKI y X.509v3.

Eché un vistazo al algoritmo matemático de RSA, parece un algoritmo de cifrado, ¿verdad? Generando clave pública y clave privada, utilizando para cifrado y descifrado ...

También, eché un vistazo al algoritmo matemático de Diffie-Hellman, parece un intercambio de claves, ¿no? Cada lado puede calcular la misma clave utilizando algunos tipos de algoritmos. Parece que no es un cifrado, ¿verdad?

También he echado un vistazo a PKI, hay algo nuevo que es la CA y el certificado digital. También se mencionan la clave pública y la clave privada.

Entonces, ¿cuál es la relación entre estos conceptos? ¿Son 3 conceptos separados? ¿O se utilizarán juntos en la realidad?

Además, ¿X.509 es el estándar de PKI? ¿Entonces la PKI en sí no es un estándar?

Estas son las preguntas que he confundido durante mucho tiempo. Gracias a todos ustedes.

    
pregunta alcohol menthol 04.02.2015 - 12:24
fuente

1 respuesta

30

RSA es dos algoritmos, uno para el cifrado asimétrico y el otro para las firmas digitales. Utilizan el mismo tipo de claves, comparten la misma operación principal y ambas se denominan "RSA".

Diffie-Hellman es un algoritmo de intercambio de claves; Puede verlo como un tipo de algoritmo de cifrado asimétrico en el que no puede elegir qué cifrar. Esto está bien para el intercambio de claves, donde solo desea obtener un secreto compartido esencialmente aleatorio entre dos personas. Tenga en cuenta que la mayoría de los usos del cifrado asimétrico RSA, en la práctica, también son de intercambio de claves, por ejemplo. en SSL / TLS: el cliente genera un valor aleatorio, lo cifra con la clave pública del servidor y lo envía al servidor.

PKI es un concepto . Se basa en la noción de certificado : un certificado es una afirmación de la propiedad de la clave. Básicamente, un certificado es un objeto que contiene una identidad (un nombre) y una clave pública, y el objeto está firmado digitalmente (por ejemplo, con RSA, el algoritmo de firma, o ECDSA). Un certificado se valida mediante la verificación de esta firma. La idea es que si conozco la clave pública de quien emitió (firmó) el certificado, puedo verificar esa firma y, por lo tanto, tener cierta confianza en el hecho de que la clave pública contenida en el certificado realmente pertenece a la entidad designada por el Identidad contenida en el certificado.

Cuando organiza los certificados de manera tal que exista una jerarquía estricta, donde los emisores de certificados se denominan Autoridades de certificación y emitan certificados entre sí, con un puñado de CA superior llamado "CA raíz" ", entonces esa estructura general se denomina Infraestructura de clave pública , es decir, una PKI.

X.509 es un estándar para el formato y contenido de los certificados. X.509 es bastante abierto sobre qué algoritmos de firma se utilizarán para firmar certificados, pero en la práctica, el 99% del tiempo será RSA.

    
respondido por el Thomas Pornin 04.02.2015 - 13:21
fuente

Lea otras preguntas en las etiquetas