[VOIPSEC] Security VoIP Project

Rick Porter rick.porter at prospeed.net
Wed Feb 3 12:01:25 CST 2010


The Wikipedia SRTP pages used to have a good summary until someone decided 
there was too much backdoor marketing on the page. Here is some of my 
information which reflects the "status", as I saw it, from last spring. 

If you're looking for SRTP and don't care about the particular key exchange, 
then Security Descriptions (RFC-4568) is probably the best bet. It seems to 
have the most widespread acceptance.  RFC-4568 says the signaling MUST be 
encrypted, because it effectively passes the traffic encryption keys around in 
the clear (yes, there is some derivation but anyone with access to the SDES 
info has enough to decrypt the call).  RFC-4568 leaves the flavor of signaling 
encryption (e.g. IPSec, TLS, SMIME) upto the endpoint. 

Not all key exchanges are equal!  Some other key exchanges (e.g. MIKEY, ZRTP, 
Sipura) can use public key techniques to protect the key exchange, and 
therefore do not require encrypted signaling.

I do not have experience with ZRTP, but the protocol defines a Diffie-Hellman 
key exchange in the media stream with some options for "binding" to the 
signaling. You should be able to find implementations of that, but I do not 
know how many endpoints/servers have implemented ZRTP.

I did a fair amount of interoperability testing with various SRTP 
implementations while working on the Acme/Covergence product.  Not all products 
strictly adhered to the published standards, and some products had additional 
conditions that had to be met.  Each product has it's own configuration that 
drives some of those requirements (which may override the IETF spec 
requirements).  The product offerings were changing too rapidly for me to feel 
comfortable including any interoperability notes or commentary.  I don't have 
specific model/version numbers, but here's my unscientific summary (in no 
particular order):


1. Counterpath: SDES/SRTP

2. Snom: SDES/SRTP

3. Aastra: SDES/SRTP

4. Polycom: SDES/SRTP

5. Siemens: MIKEY/SRTP (unencrypted MIKEY messages, required TLS)

6. Microsoft: SDES/SRTP using MKI, older clients had DES-CBC encryption

7. Linksys/Sipura: had it's own key exchange using public key techniques and 
their own "certificates" exchanged in SIP INFO messages. The actual encryption 
was AES-CM-128, but the authentication was with a full MD5-HMAC (instead of 
truncated SHA1-HMAC).

8. PhonerLite: SDES/SRTP

9. minisip: MIKEY/SRTP


On the infrastructure side, I worked on SDES/MIKEY with SRTP, the 
Linksys/Sipura SRTP, and the older Microsoft implementation.  Beyond that, I 
have heard the following infrastructure has some version of SRTP and some key 
exchange (in no particular order):
Ingate
Sipera
Siemens
Nortel
Asterisk

Please do not take this to be a definitive list -- I am sure that I have 
forgotten some.


Good luck,
Rick Porter






More information about the Voipsec mailing list