Intento profundamente comprender los pasos durante un saludo de TLS.
He leído esta respuesta (que es bastante completa), pero todavía tengo una pregunta sobre la utilización de MasterSecret
, en el marco de un saludo de ECDHE-RSA-AES-GCM-SHA
TLS.
Al final del protocolo de enlace, hemos utilizado SHA
como PRF para generar el Mastersecret (de la pre-MS y los números aleatorios). Lo expandimos para crear key
y MAC key
. La clave se utiliza para cifrar los mensajes y la clave MAC para calcular el hash (en el mensaje cifrado en el modo GCM). Ok.
Tengo 2 preguntas sobre la expansión de MasterSecret:
-
En sección 8: 3 , dicen que creamos 2 teclas MAC y 2 llaves. ¿No es eso lo suficientemente seguro si el cliente y el servidor usan la misma clave y la misma clave MAC ? (Dado que estas claves se generan a partir de nada menos que un MasterSecret). Creo que parece un poco sobreprotegido ...
-
Cuando tienes el MasterSecret, ¿cómo lo amplías para crear las claves y las claves MAC? Dudo que tomemos los primeros N bytes para la clave y el resto para la clave MAC ...
Además, la frase Cuando se generan claves y claves MAC, el secreto maestro se usa como fuente de entropía. ( section 8: 3 ) me molesta. ¿Es por eso que no puedo entender cómo expandir las claves?