sip security issues : the sip authentication procedure and its processing load
DESCRIPTION
SIP Security Issues : The SIP Authentication Procedure and its Processing Load. Speaker: Lin-Yi Wu Advisor : Prof. Yi-Bing Lin Date : 2003/04/09. Main Reference. - PowerPoint PPT PresentationTRANSCRIPT
SIP Security Issues :The SIP Authentication Procedure and its Processing Load
Speaker: Lin-Yi WuAdvisor : Prof. Yi-Bing LinDate : 2003/04/09
Main Reference
Salsano, S.; Veltri, L.; Papalilo, D , “SIP security issues: the SIP authentication procedure and its processing load “, IEEE Network , Volume: 16 Issue: 6 , Nov/Dec 2002
J. Rosenberg et al., “SIP: Session Initiation Protocol “ IETF RFC 3261, June 2002
Outline
Motivation Classification of security
End-to-End Hop-by-Hop
Security Support in SIP Authentication Encryption
Evaluation of Processing Cost Proposed solution
Requirements Limitation of current SIP security mechanism Design concept
Motivation
Achieve the same security level in PSTN High service availability
Prevent DOS, IDS, fault tolerance…etc. Protection of user-to-network and user-
to-user traffic Authentication Data Integrity Encryption
Classification of security mechanism
End-to-End mechanism Secure association between caller and callee user agent Protect any confidential information besides route infor
mation Hop-by-Hop mechanism
Secure association between two successive SIP entities in the path
Protect route information
UACUAS
SIP Server SIP Server
SIP Server
Security Support in SIP
End-to-End mechanism Defined in SIP protocol
Authentication Proxy-Authenticate, Proxy-Authorization, WWW-Authenti
cate, Authorization Encryption
S/MIME Hop-by-Hop mechanism
Rely on Network level or Transport Level security IPSec TLS
Evaluation of Authentication Processing Cost
Analysis :SIP Authentication Requirements
Requirements Authentication
Mutual Authentication Key Distribution Roaming agreement
Integrity Cipher Key exchange Prevention of replay attack
Limitation of current Authentication mechanism Authentication
Mutual Authentication : NO Key Distribution : Predefine secret Roaming agreement : NO
Integrity : achieve by S/MIME Cipher Key exchange : NO Prevention of replay attack : achieve by nonce
Concept of Design :Public/Private key based Authentication
The public key /private key of A : Pub_A/Pri_A The public key /private key of B : Pub_B/Pri_B A knows B’s public key Pub_B B knows A’s public key Pub_A
Nonce1
(response1,nonce2)
response1 = Pri_A (nonce1+1)
response2 =Pri_B(nonce2+1)
Verify response1by Pub_A
(response2)
Success
A B
Verify response2by Pub_B
Concept of Design : Certificate-based authentication (1/2)
Only CA’s public key has to be known.
NCTU
DB
CA_NCTU
SIP proxy1
SIP proxy2
UAC
Cr_Proxy1
Pub_CA_NCTU
Cr_Proxy2
Pub_CA_NCTU
Cr_UAC
Pub_CA_NCTU
INVITE
Authenticate required(Cr_Proxy2, nonce1)
(Cr_UAC, response1,nonce2)
Verify Cr_Proxy2by Pub_CA_NCTU=> Get Pub_Proxy2
response1 = Pri_UAC (nonce1+1) Verify Cr_UAC
by Pub_CA_NCTU=> Get Pub_UAC
response2 =Pri_Proxy2(nonce2+1)
Verify response1by Pub_UAC
(response2)
INVITE
UAC SIP proxy 2
Verify response2by Pub_Proxy2
Roaming agreement
NCTU
DB
CA_NCTU
SIP proxy1
SIP proxy2
NTU
DB
CA_NTU
SIP proxy4
SIP proxy3
UAC
Cr_Proxy1
Pub_CA_NCTU
Cr_Proxy2
Pub_CA_NCTU
Cr_UAC
Pub_CA_NCTU
Cr_Proxy4
Pub_CA_NTU
Cr_Proxy3
Pub_CA_NTU
Concept of Design : Certificate-based authentication (2/2)
Roaming agreement
NCTU
DB
CA_NCTU
SIP proxy1
SIP proxy2
NTU
DB
CA_NTU
SIP proxy4
SIP proxy3
UAC
Cr_Proxy1
Pub_CA_NCTU
Cr_Proxy2
Pub_CA_NCTU
Cr_UAC
Pub_CA_NCTU
Cr_Proxy4
Pub_CA_NTU
Cr_Proxy3
Pub_CA_NTU
Cr_CA_NTUCr_CA_NCTU
Cr_CA_NTU
Cr_CA_NTU
Cr_CA_NCTU
Cr_CA_NCTU
Pub_CA_NTU
Pub_CA_NTU
Pub_CA_NCTU
Pub_CA_NCTU
Concept of Design : Certificate-based authentication (2/2)
INVITE
Authenticate required(Cr_CA_NTU,Cr_Proxy4, nonce1)
(Cr_UAC, response1,nonce2)
Verify Cr_Proxy4by Pub_CA_NTU=> Get Pub_Proxy4
response1 = Pri_UAC (nonce1+1)
Verify Cr_UACby Pub_CA_NCTU=> Get Pub_UAC
response2 =Pri_Proxy4(nonce2+1)
Verify response1by Pub_UAC
(response2)
INVITE
UAC SIP proxy 4
Verify Cr_CA_NTUby Pub_CA_NCTU=> Get Pub_CA_NTU
Verify response2by Pub_Proxy4
Examine the Requirements Authentication
Mutual Authentication : YES Key Distribution : base on Certificate verification Roaming agreement : solved by PKI architecture
Integrity : S/MIME Cipher Key exchange : can be achieved by
public key & private key system Prevention of replay attack : achieve by nonce
New type of Headers have to be specified.
Concept of Design:Examine the requirements
The EndThe End
Authentication ProcedureINVITE
407 Proxy-Authentication RequiredProxy-Authenticate(nonce1)
ACK
INVITEProxy-Authorization (nonce1, response1)
response1 =F(nonce1,secret1)
INVITEINVITE
401 UnauthorizedWWW-Authenticate(nonce2)
Verifyresponse1
401401
ACKACK
ACKINVITE
Authorization (nonce2, response2)
INVITE
response2 =F(nonce2,secret2)
Verifyresponse2
INVITEAuthorization (nonce2, response2)
180 ringing180
180200
200
200 OK
ACKACK
ACK
UASSIP ProxySIP ProxyUAC
S/MIME INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8 To: Bob <sip:[email protected]> From: Alice <sip:[email protected]>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Max-Forwards: 70 Contact: <sip:[email protected]> Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m Content-Disposition: attachment; filename=smime.p7m handling=required
Content-Type: application/sdp v=0 o=alice 53655765 2353687637 IN IP4 pc33.atlanta.com s=- t=0 0 c=IN IP4 pc33.atlanta.com m=audio 3456 RTP/AVP 0 1 3 99 a=rtpmap:0 PCMU/8000
SIP Header Privacy and Integrity using S/MIME : Tunneling SIP
INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com; branch=z9hG4bKnashds8 To: Bob <sip:[email protected]> From: Alice <sip:[email protected]>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Max-Forwards: 70 Date: Thu, 21 Feb 2002 13:02:03 GMT Contact: <sip:[email protected]> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary=boundary42 Content-Length: 568
--boundary42 Content-Type: message/sip
INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com; branch=z9hG4bKnashds8 To: Bob <[email protected]> From: Alice <[email protected]>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Max-Forwards: 70 Date: Thu, 21 Feb 2002 13:02:03 GMT Contact: <sip:[email protected]> Content-Type: application/sdp Content-Length: 147
v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 pc33.atlanta.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
--boundary42 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7s; handling=required ghyHhHUujhJhjH77n8HHGTrfvbnj756tbB9HG4VQpfyF467GhIGfHfYT6 4VQpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJh756tbB9HGTrfvbnj n8HHGTrfvhJhjH776tbB9HG4VQbnj7567GhIGfHfYT6ghyHhHUujpfyF4 7GhIGfHfYT64VQbnj756
--boundary42-
SIP Header Privacy and Integrity using S/MIME : Tunneling SIP
INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8 To: Bob <sip:[email protected]> From: Anonymous <sip:[email protected]>;tag=1928301774 Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Max-Forwards: 70 Date: Thu, 21 Feb 2002 13:02:03 GMT Contact: <sip:pc33.atlanta.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary=boundary42 Content-Length: 568
--boundary42 Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7m handling=required Content-Length: 231
********************************************************* * Content-Type: message/sip * * INVITE sip:[email protected] SIP/2.0 * Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8 * To: Bob <[email protected]> * From: Alice <[email protected]>;tag=1928301774 * Call-ID: a84b4c76e66710 * CSeq: 314159 INVITE * Max-Forwards: 70 * Date: Thu, 21 Feb 2002 13:02:03 GMT * Contact: <sip:[email protected]>
* Content-Type: application/sdp * v=0 * o=alice 53655765 2353687637 IN IP4 pc33.atlanta.com * s=Session SDP * t=0 0 * c=IN IP4 pc33.atlanta.com * m=audio 3456 RTP/AVP 0 1 3 99 * a=rtpmap:0 PCMU/8000 **********************************************
Trusted network