RFC 5246 La sección 7.4.1.2 indica que los 32 bytes de aleatorios requeridos en los mensajes de saludo del cliente y del servidor deben ser de 4 bytes de tiempo y 28 bytes de aleatorios.
- ¿Por qué no puede ser 32 bytes de aleatorio?
- ¿Cuál es el propósito de incluir un valor de tiempo en él?
La especificación también dice que los relojes no necesitan configurarse correctamente para el protocolo TLS y, como podemos, este valor de tiempo no se usa para ningún otro propósito especial y el valor aleatorio completo (32 bytes completos) se usa como tal para Master Secret Derivación.
The ClientHello message includes a random structure, which is used
later in the protocol.
struct {
uint32 gmt_unix_time;
opaque random_bytes[28];
} Random;
gmt_unix_time
The current time and date in standard UNIX 32-bit format
(seconds since the midnight starting Jan 1, 1970, UTC, ignoring
leap seconds) according to the sender's internal clock. Clocks
are not required to be set correctly by the basic TLS protocol;
higher-level or application protocols may define additional
requirements. Note that, for historical reasons, the data
element is named using GMT, the predecessor of the current
worldwide time base, UTC.
random_bytes
28 bytes generated by a secure random number generator.