Passa al contenuto principale

3. Binding to Application Contexts (Collegamento ai contesti applicativi)

3. Binding to Application Contexts (Collegamento ai contesti applicativi)

Oltre all'utilizzo di un esportatore per ottenere materiale chiave, un'applicazione che utilizza il materiale chiave deve stabilire in modo sicuro il contesto di livello superiore in cui verrà utilizzato il materiale chiave. I dettagli di questo contesto dipendono dall'applicazione, ma potrebbero includere elementi come algoritmi e parametri che verranno utilizzati con le chiavi, identificatore/i dell'endpoint/degli endpoint che utilizzeranno le chiavi, identificatore/i della sessione/delle sessioni in cui verranno utilizzate le chiavi e la durata/le durate del contesto e/o delle chiavi. Come minimo, dovrebbe esserci un meccanismo per segnalare che verrà utilizzato un esportatore.

Questa specifica non impone un unico meccanismo per concordare tale contesto; invece, ci sono diverse possibilità che possono essere utilizzate (e possono completarsi a vicenda). Per esempio:

  • Le informazioni sul contesto di livello superiore possono essere incluse nei dati opzionali dopo l'etichetta dell'esportatore (vedere Sezione 4).

  • Le informazioni sul contesto di livello superiore possono essere scambiate in estensioni TLS incluse nei messaggi ClientHello e ServerHello. Questo approccio è utilizzato in [DTLS-SRTP]. I messaggi di handshake sono protetti dai messaggi Finished, quindi una volta completato l'handshake, i peer avranno la stessa visione delle informazioni. Le estensioni consentono anche una forma limitata di negoziazione: ad esempio, il client TLS potrebbe proporre diverse alternative per alcuni parametri di contesto e il server TLS potrebbe selezionarne una.

  • Il protocollo di livello superiore può includere il proprio handshake, che può essere protetto utilizzando le chiavi esportate da TLS.

Indipendentemente da come viene concordato il contesto, è necessario che abbia una parte che indica quale applicazione utilizzerà le chiavi esportate. Questa parte è la stringa di etichetta disambiguante (vedere Sezione 4).

È importante notare che il semplice incorporamento di messaggi TLS nel protocollo di livello superiore potrebbe non proteggere automaticamente tutte le informazioni di contesto importanti, poiché i messaggi di livello superiore non sono coperti dai messaggi TLS Finished.