Hay algunas maneras en que esto puede funcionar. Pero esta idea es que sus claves asimétricas se usan más para la validación de la identidad en lugar del cifrado. Aunque normalmente solo el servidor necesita verificar su identidad, a veces el servidor puede solicitar que la identidad del navegador vuelva a usar un certificado de cliente. Pruébelo aquí si lo desea . †
†: Startcom es una autoridad de certificados famosa por proporcionar certificados gratuitos, pero también por tener un sitio web totalmente inutilizable que la gente paga los certificados de todos modos, solo para que no tengan que usar el sitio de startcom.
Una vez que las identidades están cuadradas, el cliente y el servidor se ocupan de establecer una clave de sesión para el cifrado real. Entonces, mientras que la identidad del certificado usa RSA, el cifrado de la sesión real generalmente usa AES o RC4, o Blowfish - cifrados simétricos donde se usa la misma clave para cifrar y descifrar. Estos son dramáticamente más rápidos.
Hay un par de maneras de generar una clave de sesión. La forma en que se realiza depende de las funciones que admiten el servidor y el navegador. El enfoque más ingenuo y antiguo es simplemente generar un número aleatorio y enviarlo encriptado usando la clave pública. El problema es que si la sesión es capturada por un atacante que luego adquiere la clave privada, podrá descifrar las sesiones pasadas.
Una solución mejor que está ganando terreno utiliza la negociación de claves Diffie-Helman para generar un secreto compartido que nunca se comunica. La negociación todavía utiliza las claves asimétricas para garantizar que la clave negociada no esté corrompida por un intermediario, pero el punto importante es que la clave nunca transita el cable, no puede derivarse de nada que se comunique. . Esto significa que cuando la conexión se cierra y tanto el cliente como el servidor olvidan la clave, los datos, si se capturan, nunca podrán ser descifrados nuevamente. Este tema recibe mucha atención aquí en este sitio bajo el nombre Perfect Forward Secrecy .