Ho trovato nella RFC su TLS v1.2 che master_secret è calcolato in questo modo :
master_secret = PRF(pre_master_secret, "master secret",
ClientHello.random + ServerHello.random)
mentre, successivamente, i blocchi chiave necessari per comporre il materiale chiave vengono generati attraverso
key_block = PRF(SecurityParameters.master_secret,
"key expansion",
SecurityParameters.server_random +
SecurityParameters.client_random);
E qui è la mia domanda: c'è qualche differenza tra SecurityParameters.server_random e ServerHello.random o tra i numeri casuali del client corrispondente? E se sì, qual è questa differenza?
La mia opinione: penso che SecurityParameters.master_secret sia quella calcolata con il primo PRF mostrato sopra: così - supponendo questa "asimmetria" di notazione - forse, anche i numeri casuali nel secondo PRF sono lo stesso usato nel primo? Ma, se è così, perché questa diversa notazione?