Los conjuntos de cifrado RSA "exportar" pueden funcionar un poco como el efímero Diffie-Hellman: si la clave "permanente" del servidor tiene más de 512 bits, entonces se supone que el servidor genera uno nuevo (dinámicamente) de longitud de 512 bits y envíelo por cable como mensaje ServerKeyExchange
, firmado con su clave privada permanente. Consulte sección 7.4.3 de RFC 2246 . La clave privada que ve (su clave de 2048 bits), la que se almacena en un archivo o algún tipo de almacén de certificados en el servidor, se usa solo para firmas; el intercambio de clave real (cifrado del secreto pre-maestro aleatorio con una clave pública RSA) ocurre con la clave RSA temporal que generó el servidor.
Tenga en cuenta que si bien el servidor puede generar un nuevo par de claves RSA de 512 bits para cada cliente conectado, generalmente no lo hará debido al costo de la CPU involucrado (es posible generar RSA) 512 pares de claves con bastante rapidez en el hardware moderno, pero el código de soporte para exportar conjuntos de cifrado tiene más de 15 años y es poco probable que se haya optimizado con el paso de los años. Por lo tanto, muchos servidores que aún son compatibles con los conjuntos de cifrado de exportación RSA generarán un nuevo par de claves RSA-512 al iniciarse, y luego lo utilizarán para todos los clientes entrantes que deseen utilizar dicho conjunto de cifrado de exportación. El llamado ataque FREAK se hace de alguna manera práctico debido a esa reutilización: le permite al atacante dedicar el esfuerzo de ruptura de 8 horas antes a participar en un verdadero Hombre en el Medio (porque la víctima Es poco probable que un usuario de la Web al azar espere 8 horas hasta que finalice su protocolo SSL.