Passa al contenuto principale

Appendice A. Panoramica di DTLS

Appendice A. Panoramica di DTLS

Questa sezione fornisce una breve panoramica di Datagram TLS (DTLS) per coloro che non lo conoscono. DTLS è un protocollo di sicurezza del canale basato sul noto protocollo Transport Layer Security (TLS) [RFC5246]. Mentre TLS dipende da un canale di trasporto affidabile (tipicamente TCP), DTLS è stato adattato per supportare trasporti non affidabili come UDP. Altrimenti, DTLS è quasi identico a TLS e generalmente supporta gli stessi meccanismi crittografici.

Ogni associazione DTLS inizia con uno scambio di handshake durante il quale i peer si autenticano reciprocamente e negoziano algoritmi, modalità e altri parametri e stabiliscono materiale chiave condiviso. Per supportare il trasporto non affidabile, ogni lato mantiene timer di ritrasmissione per fornire la consegna affidabile di questi messaggi. Una volta completato l'handshake, i dati crittografati possono essere inviati.

Client                                               Server

ClientHello -------->
ServerHello
Certificate*
ServerKeyExchange*
CertificateRequest*
<-------- ServerHelloDone
Certificate*
ClientKeyExchange
CertificateVerify*
[ChangeCipherSpec]
Finished -------->
[ChangeCipherSpec]
<-------- Finished
Application Data <-------> Application Data

'*' indica messaggi che non vengono sempre inviati.

I dati dell'applicazione sono protetti essendo inviati come una serie di "record" DTLS. Questi record sono indipendenti e possono essere elaborati correttamente anche in caso di perdita o riordino. In DTLS-SRTP, questo protocollo di record viene sostituito con SRTP [RFC3711].