L’SRTP, Secure Real-Time Transport Protocol, è stato standardizzato nel 2004 dall’ IETF con RFC3711. E’ stato pensato per garantire la confidenzialità, l’integrità dei dati cifrati trasmessi oltrechè la protezione da replay attack.
SRTP definisce come i pacchetti RTP devono essere cifrati e protetti contro le intercettazione, ma non specifica nel dettaglio come deve essere scambiata e concordata una chiave di sicurezza comune tra i due utenti.
Il sistema di scambio chiavi più diffuso per la cifratura VoIP in un modello di sicurezza end-to-site con SRTP è l’SDES, Session Description Protocol Security Descriptions for Media Streams, che è stato oggetto di standardizzazione nel 2006 dall’IETF con l’RFC4568.
SDES è un protocollo di scambio chiavi molto semplice ed efficace, in cui uno dei due utenti della chiamata VoIP invia/propone all’altro una chiave per la cifratura SRTP sul canale si segnalazione SIP. In seguito all’accettazione da parte dell’altro utente, inizia il vero e proprio processo di cifratura del flusso audio.
Ovviamente la connessione di segnalazione SIP tra SIP clients (chiamante/chiamato) e SIP server (PBX) viene protetta attraverso cifratura e autenticazione delle connessioni per evitare che terzi possano carpire la chiave di comunicazione scambiata.
Questo è il motivo per cui lo scambio di chiavi SDES avviene esclusivamente attraverso canali di comunicazione protetti in SIP/TLS (Transport Layer Security) con, autenticazione del server attraverso un certificato digitale, esattamente come accade quando si utilizza l’HTTPS.
Nella sezione SIP/TLS sono presenti maggiori dettagli sul funzionamento di SIP/TLS e TLS.
La protezione dell’integrità dei pacchetti SRTP utilizza come metodo crittografico di controllo di integrità, l’ HMAC keyed Hashing for Message Authentication, definito standard da IETF con RFC2104.
I pacchetti SRTP sono cifrati con AES-128, un sistema a blocchi in Counter Mode, con chiave di cifratura di 128 bits e salt di 112bits. Questo è un esempio di come appare una chiave SDES guardando il dettaglio di un pacchetto SIP:
Segue una panoramica dettagliata del protocollo SDES di handshake:
Un aspetto molto importante di SRTP con scambio chiavi SDES è l’interoperabilità, cioè la compatibilità con la maggior parte dei telefoni fissi VoIP (come Cisco, Avaya e Snom).
Per clienti con requisiti di compliance crittografica particolari, possiamo offrire una soluzione personalizzata di SRTP basata su AES-256 anziché AES-128. Si tratta però di una soluzione non standard, basata su un internet draft non ancora soggetto a peer review (draft-ietf-avt-srtp-big-aes - “The use of AES-192 and AES-256 in Secure RTP” by McGrew of Cisco Systems).