Leí algunos temas en los que las personas afirman poder descifrar las comunicaciones SSL / TLS simplemente con la clave privada del destinatario.
Pero, recientemente aprendí que una clave pública puede, pero nunca debe cifrar algo más largo que la longitud de la clave privada asociada. Por ejemplo, si el par tiene una clave privada de 2048 bits, nunca debe cifrar algo más de 255 bytes + carácter NULL. Si uno cifra algo más largo que esto, sería vulnerable a ataques como el corte de bloques, el análisis de redundancia, etc. (No soy experto en este dominio, perdón por el mal vocabulario).
Dicho esto, el protocolo de enlace RSA consiste, de hecho, en un intercambio de claves públicas, seguido de un intercambio seguro de una clave AES, que luego se utiliza para cifrar todas las comunicaciones sin ningún límite de longitud. Por lo tanto, el intercambio basado en RSA solo se utiliza en el momento del apretón de manos.
Entonces, ¿este intercambio de claves AES es una parte del protocolo SSL / TLS, o algunos servidores nunca se comunicarán con paquetes más largos que la longitud de su clave privada?
Si TODAS las comunicaciones SSL / TLS se realizan de esta manera (cosa AES), eso significa que para poder descifrar paquetes, es necesario capturar el protocolo de enlace para descifrar la clave AES, y si no lo hace, entonces tiene ambos Las claves privadas son inútiles, ¿verdad?
Pero, eso también significaría que tener una sola clave privada sería suficiente para descifrar la clave AES y, por lo tanto, toda la comunicación. Entonces, tal comunicación debe involucrar 2 claves AES, una para cada compañero, ¿verdad? Entonces, al igual que un intercambio RSA, A cifraría paquetes con la clave de B, y viceversa.
¿Qué se aplica en la vida real? ¿Límite de longitud de paquetes o comunicaciones basadas en AES? ¿Una o dos claves de AES?
¡Gracias por ayudarme a entender! Y lo siento, pero el inglés no es mi idioma principal.
Saludos cordiales.