Security in VoIP Systems
Eric Rescorla RTFM, Inc. ekr@rtfm.com
Eric Rescorla Security in VoIP Systems 1
Security in VoIP Systems Eric Rescorla RTFM, Inc. ekr@rtfm.com - - PowerPoint PPT Presentation
Security in VoIP Systems Eric Rescorla RTFM, Inc. ekr@rtfm.com Eric Rescorla Security in VoIP Systems 1 Background: the PSTN Cell Cell POTS POTS Subscriber To wer Subscriber Subscriber POTS Qwest Trunk Line Verizon Subscriber
Eric Rescorla Security in VoIP Systems 1
Qwest Switch Verizon Switch Cell To wer Cell Subscriber Trunk Line POTS Subscriber POTS Subscriber ISDN Subscriber POTS Subscriber PBX Handset Handset
Eric Rescorla Security in VoIP Systems 2
Eric Rescorla Security in VoIP Systems 3
Eric Rescorla Security in VoIP Systems 4
Eric Rescorla Security in VoIP Systems 5
Eric Rescorla Security in VoIP Systems 6
SIP Proxy atlanta.com SIP Proxy biloxi.com User Agent alice@atlanta.com User Agent albert@atlanta.com User Agent bart@biloxi.com User Agent bob@biloxi.com
Eric Rescorla Security in VoIP Systems 7
atlanta.com SIP biloxi.com
– Rendezvous – NAT/Firewall traversal – Support for offline user agents
– For performance reasons
Eric Rescorla Security in VoIP Systems 8
INV IT E
Eric Rescorla Security in VoIP Systems 9
INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds Max-Forwards: 70 To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710@pc33.atlanta.com CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: XXX v=0
s=- t=0 0 c=IN IP4 192.0.2.4 m=audio 0 RTP/AVP 0 1 3 a=rtpmap:0 PCMU/8000 a=rtpmap:1 1016/8000 a=rtpmap:3 GSM/8000
Eric Rescorla Security in VoIP Systems 10
Eric Rescorla Security in VoIP Systems 11
Eric Rescorla Security in VoIP Systems 12
REGIST ER
Security in VoIP Systems 13
Eric Rescorla Security in VoIP Systems 14
REGIST ER
Security in VoIP Systems 15
Eric Rescorla Security in VoIP Systems 16
T LS Handshake
Security in VoIP Systems 17
Eric Rescorla Security in VoIP Systems 18
Eric Rescorla Security in VoIP Systems 19
Eric Rescorla Security in VoIP Systems 20
Eric Rescorla Security in VoIP Systems 21
Eric Rescorla Security in VoIP Systems 22
INV IT E
Signed by Atlanta
Signed by Atlanta 200 OK
Security in VoIP Systems 23
Eric Rescorla Security in VoIP Systems 24
Eric Rescorla Security in VoIP Systems 25
Eric Rescorla Security in VoIP Systems 26
Header (5 bytes) IV (16 bytes) Data (variable) MAC (10-20 bytes) Padding (1-16 bytes)
Eric Rescorla Security in VoIP Systems 27
Eric Rescorla Security in VoIP Systems 28
1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<+ |V=2|P|X| CC |M| PT | sequence number | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | timestamp | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | synchronization source (SSRC) identifier | | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ | | contributing source (CSRC) identifiers | | | .... | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RTP extension (OPTIONAL) | | +>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | payload ... | | | | +-------------------------------+ | | | | RTP padding | RTP pad count | | +>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<+ | ~ SRTP MKI (OPTIONAL) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : authentication tag (RECOMMENDED) : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | +- Encrypted Portion* Authenticated Portion ---+ Eric Rescorla Security in VoIP Systems 29
Eric Rescorla Security in VoIP Systems 30
INV IT E
Eric Rescorla Security in VoIP Systems 31
Eric Rescorla Security in VoIP Systems 32
Eric Rescorla Security in VoIP Systems 33
Eric Rescorla Security in VoIP Systems 34
Offer fingerprint=XXX Offer fingerprint=XXX
fingerprint=XXX
Answer
Answer
Answer
Update
Update
Update
Eric Rescorla Security in VoIP Systems 35
Eric Rescorla Security in VoIP Systems 36
Offer
ZRT P Handshake
“My account number is 12345′′
Eric Rescorla Security in VoIP Systems 37
Eric Rescorla Security in VoIP Systems 38
Eric Rescorla Security in VoIP Systems 39
Eric Rescorla Security in VoIP Systems 40
Eric Rescorla Security in VoIP Systems 41
Eric Rescorla Security in VoIP Systems 42
Alice 10.10.10.10 Bob 20.20.20.20 Send media to 20.20.20.20:2222 Use G.711 RTP (64 kbps)
Eric Rescorla Security in VoIP Systems 43
NAT 192.168.1.1 Alice 10.0.0.1 Bob 20.20.20.20 10.0.0.1 -> 20.20.20.20 192.168.1.1 -> 20.20.20.20
Eric Rescorla Security in VoIP Systems 44
NAT 192.168.1.1 Alice 10.0.0.1 STUN Server From: 10.0.0.1 Get Address From: 192.168.1.1 Get Address To: 10.0.0.1 Addr=192.168.1.1 To: 192.168.1.1 Addr=192.168.1.1
Eric Rescorla Security in VoIP Systems 45
Eric Rescorla Security in VoIP Systems 46
Eric Rescorla Security in VoIP Systems 47
Diagram from Baset and Schulzrinne [BS04] Eric Rescorla Security in VoIP Systems 48
Eric Rescorla Security in VoIP Systems 49
Eric Rescorla Security in VoIP Systems 50
Eric Rescorla Security in VoIP Systems 51
Eric Rescorla Security in VoIP Systems 52
Eric Rescorla Security in VoIP Systems 53
Eric Rescorla Security in VoIP Systems 54
Eric Rescorla Security in VoIP Systems 55
[BD06] Philippe Biondi and Fabrice Desclaux. Silver Needle in the Skype. Black Hat Europe, March 2006. [Ber05] Tom Berson. Skype Security Evaluation, October 2005. [BMN+04]
Transport Protocol (SRTP). RFC 3711, March 2004. [BS04] Salman A. Baset and Henning Schulzrinne. An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol, September 2004. [DGB87]
Special uses and abuses of the Fiat-Shamir passport protocol, 1987. [DR06]
RFC 4346, April 2006. [Gut03] Peter Gutmann. Plug-and-Play PKI: A PKI your Mother can Use. In Proceedings of 2003 USENIX Security Symposium, 2003. [MR08]
Establish Keys for Secure Real-time Transport Protocol (SRTP). draft-ietf-avt-dtls-srtp- 02, February 2008.
Eric Rescorla Security in VoIP Systems 55
[Ros07]
Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols. draft-ietf-mmusic-ice- 19, October 2007. [RSC+02]
dley, and E. Schooler. SIP: Session Initiation Protocol. RFC 3261, June 2002. [RWHM03] J. Rosenberg, J. Weinberger, C. Huitema, and R. Mahy. STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs). RFC 3489, March 2003. [WT99]
5.0, August 1999. [ZJC08]
Secure RTP. draft-zimmermann-avt-zrtp-06, March 2008.
Eric Rescorla Security in VoIP Systems 55