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].