Es para contribuir a la entropía en el secreto maestro ...
Sí. Asegura que ambas partes contribuyan al secreto maestro.
El secreto principal es la semilla utilizada para derivar las claves subsiguientes que se usan para el cifrado y la autenticación en masa.
... o para uniformidad con otros algoritmos de intercambio de claves como DH?
No. Diffie-Hellman requiere que ambas partes contribuyan seleccionando un valor secreto aleatorio a
(o b
), y luego enviando a la otra parte el A=G^a
(o B=G^b
). El comportamiento contributivo se integra en Diffie-Hellman.
Hay otros esquemas de acuerdos clave. RSA es un esquema de transporte clave, pero no ofrece la oportunidad de que el servidor contribuya al secreto del premaster. Es decir, no hay ningún comportamiento contributivo inherente al transporte de claves RSA.
En el caso del transporte de clave RSA, la forma de garantizar que ambas partes contribuyan al secreto maestro es:
master_secret = Transform(premaster_secret + client_random + server_random)
Un problema práctico que resuelve el comportamiento contributivo es, imagine un dispositivo IoT que tiene un generador de números aleatorios roto o inútil. El comportamiento contributivo garantiza que el canal sea [principalmente] seguro incluso cuando el cliente carece de aleatoriedad.