Click on the image for the animated tutorial. This article was also inspired by IntelePeers’s announcement of SRTP SIP Trunking click here for more. Here are some highlights from the IntelePeer announcement – “IntelePeer has integrated Transport Layer Security (TLS) and Secure Real-time Transport Protocol (SRTP) encryption to protect signaling and multimedia content and ensure the privacy and integrity of communications media. This enhanced security option reduces the need for enterprises to pay for dedicated data access, such as a T1 circuit or MPLS network for their SIP trunking connections, enabling them to securely route communications over their existing corporate data connections. Additionally, with IntelePeer’s TLS and SRTP encryption capabilities, its CoreCloud UC SIP Trunking 3.0 service is the only secure SIP trunking offering in the United States that is qualified for Microsoft Lync.”
The details of the SIP session, such as the type of media, codec, or sampling rate, are not described using SIP. Rather, a SIP message contains a description of the session, encoded in some other protocol format. One such format is the SDP-Session Description Protocol (RFC 2327). Within the SDP message are descriptions such as Session Description Protocol Security Descriptions (SDES) for authentication and encrypted media streams used with SRTP-Secure Real-time Transport Protocol (RFC-3711).
SRTP is referred to as a “profile” or extension of RTP/RTCP and provides security services for both protocols. SRTP is also a “bump or shim (wedge) in the stack” referring to the OSI-Open Systems Interconnection Model implementation. That is, SRTP resides between RTP-Real-time Transport Protocol and RTCP-Real-time Transport Control Protocol found Application Layer 7 and UDP-User Datagram Protocol in Transport Layer 5.
SRTP works by intercepting or “bumping” RTP packets and then forwards an equivalent SRTP packet on the sending side, and intercepts SRTP packets and passes an equivalent RTP packet up the stack on the receiving side. The “key” to SRTP is the Authentication Tag and the Master Key Identifier. The Authentication Tag provides authentication of the RTP header and payload. That is, if both encryption and authentication are applied, encryption is applied before authentication on the sender side and conversely on the receiver side. The MKI-Master Key Identifier identifies the master key from which the session key(s) were derived that authenticate and/or encrypt the particular packet. SRTP uses two types of keys: session keys for the content and master keys like the lock on your door.
MD5-Message Digest 5 is a 128-bit “digital code” (such as 34b7da764b21d298ef307d04d8152dc5). MD5 is one of many “hash” algorithms used in SSH-Secure SHell, SIP-Session Initiation Protocol, Java and other systems. Other hash algorithms include CRC-Cyclic Redundancy Check and SHA-1 Secure Hash Algorithm. Hash comes from “corn-beef hash” or ground up beef which is created from private or public encryption creating unreadable code characters with a nonce (time stamp or other randomly generated code or word).