Tenemos por un lado el certificado y la clave privada correspondiente de una
AC, y por otro lado una empresa que crea su par de claves privada y pública y le pide a la
AC que firma
su pública con la privada del
AC para que éste genere el certificado.
Por otro lado, ten en cuenta que una navegador web incluye los certificados de las
ACs más importantes. Vamos, que si un certificado que una empresa utiliza para
HTTPS en su servidor web ha sido creado por
Verisign (por ejemplo), el navegador del cliente podrá comprobar su firma mediante el certificado de esa
AC.
TuXeD escribió:Resumiendo: en SSL el cliente genera una clave aleatoria y la manda al servidor, cifrandola con su clave privada (obtenida del certificado validado). Esa clave se usa para derivar la clave de sesion, y si ambos han creado la misma clave de sesion se puede seguir.
Esto es lo que se dice siempre, pero yo no lo tengo nada claro que realmente funcione así. Cuando estudié sobre
OpenSSH siempre se decía lo mismo, pero luego si te fijas utiliza
Diffie-Hellman para generar la clave simétrica, ¿entonces qué sentido tiene cifrar la clave de sesión mediante criptografía asimétrica?
Tendría que estudiarme el protocolo más a fondo (y ahora revisaré el post de
TuXeD), pero desde mi punto de vista la criptografía asimétrica se utiliza para lanzar un desafío y ver si el otro extremo es quién realmente dice ser, y no para cifrar la clave simétrica. Y por otro lado,
Diffie-Hellman para generar ésta de forma segura.