Marco de certificado SSL 101: ¿Cómo verifica realmente el navegador la validez de un certificado de servidor dado?

59

(Lo siento, sé que esta es una pregunta noob completa y que corre el riesgo de publicar un tema un tanto duplicado. Tengo un conocimiento básico de la clave pública / privada, el hashing, la firma digital ... He estado buscando en línea & stack forum los últimos dos días, pero parece que no puede encontrar una respuesta satisfactoria.)

Ejemplo: Estoy navegando en wifi abierto y navego por primera vez. El servidor devuelve su certificado SSL. Mi navegador hace lo suyo y verifica que el certificado esté firmado por una CA en la que confíe y que todo esté bien. Hago clic en el sitio web. PERO!

Pregunta: ¿Alguien realmente puede explicarme de forma sencilla cómo mi navegador realmente verifica que el certificado del servidor es legítimo? Sí, está bien, así que en el certificado mismo dice que fue emitido por, diga "Verisign", pero ¿qué es la magia criptográfica real que se produce detrás de la escena para validar que no es un certificado falso? He escuchado a la gente explicar que "los certificados SSL se verifican con la clave pública de CA firmante", pero eso no tiene sentido para mí. Pensé que la clave pública es cifrar los datos, no descifrar los datos.

Tan confundido ... aprecio que alguien me ilumine. Gracias de antemano!

    
pregunta SecurityNoob 22.04.2014 - 23:07
fuente

3 respuestas

65

Es correcto que SSL utiliza un par de claves asimétricas. Se genera una clave pública y una privada, que también se conoce como infraestructura de clave pública (PKI). La clave pública es lo que se distribuye al mundo y se utiliza para cifrar los datos. Sin embargo, solo la clave privada puede descifrar los datos. Aquí hay un ejemplo:

  

Digamos que los dos vamos a walmart.com y compramos cosas. Cada uno de nosotros recibe una copia de   La clave pública de Walmart para firmar nuestra transacción. Una vez el   La transacción está firmada por la clave pública de Walmart, solo la privada de Walmart.   La clave puede descifrar la transacción. Si utilizo mi copia del publico de Walmart   Clave, no descifra su transacción. Walmart debe mantener   su clave privada es muy privada y segura, de lo contrario, cualquier persona que la obtenga puede   descifrar las transacciones a Walmart. Esta es la razón por la cual la infracción de DigiNotar fue tan importante

Ahora que tiene la idea de los pares de claves pública y privada, es importante saber quién emite el certificado y por qué se confía en ellos. Estoy simplificando en exceso esto, pero hay autoridades de certificados raíz (CA) específicas como Verisign que firma certificados, pero también firma CA intermedias. Esto sigue lo que se denomina Cadena de confianza, que es una cadena de sistemas que confían entre sí. Vea la imagen vinculada a continuación para obtener una mejor idea (tenga en cuenta que la CA raíz se encuentra en la parte inferior).

LasorganizacionesamenudocomprancertificadosdecomodínoseregistrancomounaCAintermediaqueestáautorizadaparafirmarsoloporsudominio.EstoevitaqueGooglefirmecertificadosparaMicrosoft.

Debidoaestacadenadeconfianza,sepuedeverificaruncertificadohastalaCAraíz.Paramostraresto,DigiCert(ymuchosotros)tienenherramientasparaverificarestaconfianza.LaherramientadeDigiCertestávinculada aquí . Hice una validación en gmail.com y cuando se desplaza hacia abajo, muestra esto:

Estomuestraqueelcertificadoparagmail.comesemitidoporGoogleInternetAuthorityG2,queasuvezrecibeuncertificadodeGeoTrustGlobal,quienasuvezrecibeuncertificadodeEquifax.

Ahora,cuandovasagmail.com,tunavegadornosoloobtieneunpocodehashysiguesucamino.No,recibetodaunaseriededetallesjuntoconelcertificado:

Estos detalles son los que utiliza su navegador para ayudar a identificar la validez del certificado. Por ejemplo, si la fecha de vencimiento ha pasado, su navegador arrojará un error de certificación. Si se comprueban todos los detalles básicos del certificado, se verificará hasta el final a la CA raíz, que el certificado es válido.

Ahora que tiene una mejor idea acerca de los detalles del certificado, esta imagen ampliada similar a la primera de arriba tendrá más sentido:

Esta es la razón por la que su navegador puede verificar un certificado con el siguiente, hasta la CA raíz, en la que su navegador confía de forma inherente.

¡Espero que esto te ayude a entender un poco mejor!

    
respondido por el PTW-105 22.04.2014 - 23:45
fuente
0

Para aclarar un punto de la pregunta no tratada en la respuesta por lo demás excelente de @ PTW-105 (y preguntada en el comentario de @ JVE999):

  

Pensé que la clave pública es cifrar datos, no descifrar datos ...

Las claves funcionan en ambos sentidos: lo que se cifra con la clave pública solo se puede descifrar con el privado y viceversa . Simplemente decidimos que uno es privado y otro público, no hay diferencia conceptual.

Por lo tanto, si cifro los datos para enviarte, uso su clave pública para cifrarla y solo usted puede descifrarla con su clave privada.

Sin embargo, si quiero firmar algo, para demostrar que provino de mí, genero un hash del mensaje y cifro ese hash con mi private tecla. Entonces cualquiera puede descifrarlo con mi clave pública y compararlo con el hash del mensaje real, pero saben que solo yo podría haberlo cifrado, ya que solo tengo mi clave privada. Entonces saben que el hash del mensaje no ha cambiado desde que lo firmé y, por lo tanto, que vino de mí.

Según los comentarios, lo anterior no es del todo cierto. Consulte el enlace del comentario de @ dave_thompson_085. Sin embargo, este no es un tutorial de "cómo firmar correctamente", simplemente aclara los roles de las claves públicas y privadas en la firma de los versos de cifrado. El punto básico a este respecto es este:

  • Para cifrar los datos, la parte externa utiliza una clave pública y solo el titular de la clave privada puede descifrarla.
  • Para firmar, el titular de la clave privada utiliza una función hash y su clave privada (más el relleno apropiado, etc.). La parte externa puede entonces verificar la firma usando la clave pública. Esto garantiza que el mensaje provenga del titular de la clave privada (suponiendo que nadie más tenga acceso a la clave privada).

La firma puede a veces (dependiendo de la implementación) hacerse con el mismo par de claves que el cifrado, solo se usa al revés, o puede usar un par de claves distintas (consulte otro enlace , también del comentario de @dave_thompson_085)

    
respondido por el Adam 21.08.2017 - 11:33
fuente
0

Si un sitio web tiene un certificado válido, significa que una autoridad de certificación ha tomado medidas para verificar que la dirección web realmente pertenece a esa organización. Cuando escribe una URL o sigue un enlace a un sitio web seguro, su navegador verificará el certificado para las siguientes características: La dirección del sitio web coincide con la dirección del certificado. el certificado está firmado por una autoridad de certificación (CA) que el navegador reconoce como una autoridad "confiable"

Tanto el protocolo TLS como el protocolo SSL utilizan lo que se conoce como un sistema de infraestructura de clave pública (PKI) 'asimétrico'. Un sistema asimétrico utiliza dos 'claves' para cifrar las comunicaciones, una clave 'pública' y una clave 'privada'. Cualquier cosa encriptada con la clave pública solo puede ser desencriptada por la clave privada y viceversa. Cuando va a un sitio, un sitio web presenta su clave pública que su navegador valida y utiliza para cifrar los datos enviados (entre su navegador y su servidor) y solo el servidor / sitio tiene la clave privada que puede descifrar los datos.

Alguna información sobre las teclas: El cifrado asimétrico (o la criptografía de clave pública) utiliza una clave separada para el cifrado y el descifrado. Cualquiera puede usar la clave de cifrado (clave pública) para cifrar un mensaje. Sin embargo, las claves de descifrado (claves privadas) son secretas. De esta manera solo el receptor deseado puede descifrar el mensaje. El algoritmo de cifrado asimétrico más común es RSA; sin embargo, analizaremos los algoritmos más adelante en este artículo.

crédito completo para estos sitios:

enlace

enlace

    
respondido por el grepit 02.02.2018 - 20:31
fuente

Lea otras preguntas en las etiquetas