Passa al contenuto principale

4. The Extended Master Secret (Il segreto principale esteso)

4. The Extended Master Secret (Il segreto principale esteso)

Quando l'estensione del segreto principale esteso viene negoziata in un handshake completo, il master_secret viene calcolato come

master_secret = PRF(pre_master_secret, "extended master secret",
session_hash)
[0..47];

Il calcolo del segreto principale esteso differisce da quello descritto in [RFC5246] nei seguenti modi:

  • Viene utilizzata l'etichetta "extended master secret" invece di "master secret".

  • Il session_hash viene utilizzato invece di ClientHello.random e ServerHello.random.

Il session_hash dipende da un registro di handshake che include ClientHello.random e ServerHello.random, oltre a suite di cifratura, informazioni sullo scambio di chiavi e certificati (se presenti) dal client e dal server. Di conseguenza, il segreto principale esteso dipende dalla scelta di tutti questi parametri di sessione.

Questo design riflette la raccomandazione che le chiavi dovrebbero essere legate ai contesti di sicurezza che le calcolano [SP800-108]. La tecnica di mescolare un hash dei messaggi di scambio di chiavi nella derivazione della chiave principale è già utilizzata in altri protocolli ben noti come Secure Shell (SSH) [RFC4251].

I client e i server NON DOVREBBERO accettare handshake che non utilizzano il segreto principale esteso, specialmente se si affidano a funzionalità come l'autenticazione composta che rientrano nei casi vulnerabili descritti nella Section 6.1.