5. Considerazioni sulla sicurezza
5. Considerazioni sulla sicurezza
Questo documento descrive un metodo per stabilire chiavi SRTP utilizzando DTLS. Le proprietà di sicurezza della sessione SRTP finale sono determinate dalla combinazione di DTLS e SRTP.
5.1 Sicurezza dell'handshake DTLS
La sicurezza del materiale chiave dipende interamente dalla sicurezza dell'handshake DTLS. Se un attaccante può compromettere l'handshake DTLS (ad esempio, attraverso un attacco man-in-the-middle), può ottenere la chiave master SRTP e autenticare e decifrare tutto il traffico SRTP.
Pertanto, è fondamentale che:
- L'implementazione DTLS sia sicura e priva di vulnerabilità
- Vengano utilizzate suite di cifratura robuste
- Gli endpoint autentichino correttamente i certificati reciproci
- I certificati vengano validati correttamente
5.2 Routing dei pacchetti e multiplexing
Le implementazioni DTLS-SRTP DEVONO demultiplexare correttamente i pacchetti in arrivo tra:
- Pacchetti DTLS (messaggi di handshake e alert)
- Pacchetti SRTP (media crittografati)
- Pacchetti SRTCP (controllo crittografato)
- Pacchetti STUN (attraversamento NAT)
L'incapacità di distinguere correttamente questi tipi di pacchetti potrebbe portare a vulnerabilità di sicurezza. L'algoritmo di demultiplexing si basa sul primo byte del pacchetto ed è progettato per essere non ambiguo.
5.3 Protezione contro la ritrasmissione
SRTP include meccanismi di protezione contro la ritrasmissione. Tuttavia, le implementazioni DTLS-SRTP DEVONO garantire che i numeri di sequenza dei record DTLS non vengano riutilizzati attraverso operazioni di rinnovo delle chiavi per prevenire attacchi di replay.
5.4 Riservatezza e autenticazione
DTLS-SRTP fornisce sia riservatezza (attraverso la crittografia) sia autenticazione (attraverso codici di autenticazione dei messaggi). Entrambe le proprietà sono essenziali per la trasmissione sicura dei media. Le implementazioni NON DOVREBBERO utilizzare profili di protezione SRTP che forniscono solo una di queste proprietà, a meno che non ci siano requisiti applicativi specifici che lo giustifichino.
5.5 Perfect Forward Secrecy
DTLS può fornire Perfect Forward Secrecy (PFS) se vengono utilizzati algoritmi di scambio chiavi appropriati (ad esempio, Diffie-Hellman effimero). Quando PFS è importante, le implementazioni DOVREBBERO utilizzare suite di cifratura che forniscono questa proprietà.
5.6 Binding dell'identità
L'identità autenticata nell'handshake DTLS DOVREBBE essere legata crittograficamente all'identità utilizzata nel canale di segnalazione per prevenire varie forme di attacchi di binding dell'identità errato.