SRTP is the Secure Real-Time Transport Protocol, standardized in 2004 by IETF with RFC3711. It is used to provide confidentiality, message authentication and replay protection for the RTP traffic carrying voice in a VoIP infrastructure.
SRTP defines how RTP packets have to be encrypted and protected against wiretapping, but does not define how a common key between the parties of a call has to be agreed upon.
The most diffused key agreement system to encrypt VoIP in an end-to-site security model with SRTP is SDES (Session Description Protocol Security Descriptions for Media Streams). It has been standardized in 2006 by IETF with RFC4568.
SDES is a very simple and effective key exchange protocol for end-to-site security model, as one of the two peers of a VoIP call sends/proposes a key for SRTP encryption over the SIP signaling channel. Next, the other party accepts it and encrypted audio flow proceeds.
Obviously, the SIP connection from SIP client and SIP server has to be protected against third party by encrypting and authenticating , otherwise an eavesdropper could intercept the key.
That’s why the SDES key exchange works only through a SIP/TLS (Transport Layer Security) encrypted communication channel with server-side digital certificate authentication, the same way as HTTPS works.
See the SIP/TLS section for precise details on how SIP/TLS and TLS work.
Protection of SRTP packets integrity is provided by HMAC keyed Hashing for Message Authentication standard defined in IETF RFC2104.
SRTP packets are encrypted with AES-128. It is a segmented Integer Counter Mode, with encryption key at the length of 128 bits and default session salt key at the length of 112 bits. This is an example how an SDES key looks like by viewing the details of a SIP packet:
For detailed overview of the SDES protocol handshake see below:
A very important value of SRTP with an SDES key exchange is its interoperability, as it is supported by most of the major VoIP desktop phones (for example Cisco, Avaya and Snom).
For an extremely compliance sensitive customer, a custom-based AES-256 SRTP solution can be provided. But note that it is not a standard solution, based on a non-authorized internet draft draft-ietf-avt-srtp-big-aes (“The use of AES-192 and AES-256 in Secure RTP” by McGrew of Cisco Systems).