SIP Authentication using EC- SRP5 Protocol Fuwen Liu, Minpeng Qi, Min Zuo, 1.

Slides:



Advertisements
Similar presentations
Public Key Cryptography Nick Feamster CS 6262 Spring 2009.
Advertisements

Public Key Cryptography INFSCI 1075: Network Security – Spring 2013 Amir Masoumzadeh.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
SIP Authentication using EC- SRP5 Protocol draft-liu-sipcore-ecc-srp5-00.txt Authors: Fuwen Liu, Minpeng Qi and Min Zuo.
CS470, A.SelcukCryptographic Authentication1 Cryptographic Authentication Protocols CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
CSC 774 Advanced Network Security
SSL CS772 Fall Secure Socket layer Design Goals: SSLv2) SSL should work well with the main web protocols such as HTTP. Confidentiality is the top.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
CS457 – Introduction to Information Systems Security Cryptography 1b Elias Athanasopoulos
Authentication attacks, causes and solutions Analyzing man in the middle and dictionary attacks against SSL/TLS and password based authentication systems.
Chapter 5 Network Security Protocols in Practice Part I
Public-key based. Public-key Techniques based Protocols –may use either weak or strong passwords –high computation complexity (Slow) –high deployment.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Public Key Algorithms …….. RAIT M. Chatterjee.
CS555Spring 2012/Topic 161 Cryptography CS 555 Topic 16: Key Management and The Need for Public Key Cryptography.
Lesson Title: Introduction to Cryptography Dale R. Thompson Computer Science and Computer Engineering Dept. University of Arkansas
BY MUKTADIUR RAHMAN MAY 06, 2010 INTERODUCTION TO CRYPTOGRAPHY.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Cryptography1 CPSC 3730 Cryptography Chapter 10 Key Management.
Mar 4, 2003Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities.
Symmetric Key Distribution Protocol with Hybrid Crypto Systems Tony Nguyen.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
Cryptography April 20, 2010 MIS 4600 – MBA © Abdou Illia.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Public Key Algorithms 4/17/2017 M. Chatterjee.
Authentication System
Cryptography and Network Security Chapter 10. Chapter 10 – Key Management; Other Public Key Cryptosystems No Singhalese, whether man or woman, would venture.
Computer Science CSC 774Dr. Peng Ning1 CSC 774 Advanced Network Security Topic 2. Review of Cryptographic Techniques.
C HAPTER 13 Asymmetric Key Cryptography Slides adapted from "Foundations of Security: What Every Programmer Needs To Know" by Neil Daswani, Christoph Kern,
ASYMMETRIC CIPHERS.
1 Authentication Protocols Celia Li Computer Science and Engineering York University.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Computer Science Public Key Management Lecture 5.
Public Key Model 8. Cryptography part 2.
Strong Password Protocols
Csci5233 Computer Security1 GS: Chapter 6 Using Java Cryptography for Authentication.
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
By Abhijith Chandrashekar and Dushyant Maheshwary.
CIS 450 – Network Security Chapter 8 – Password Security.
Solutions for Secure and Trustworthy Authentication Ramesh Kesanupalli
CS 627 Elliptic Curves and Cryptography Paper by: Aleksandar Jurisic, Alfred J. Menezes Published: January 1998 Presented by: Sagar Chivate.
Session Initiation Protocol (SIP) 王承宇 張永霖.
Cryptography, Authentication and Digital Signatures
Lecture 11: Strong Passwords
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
Cryptography and Network Security (CS435) Part Eight (Key Management)
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Cryptography and Network Security Chapter 13 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
CIST/ETRI/ISIT/KDDI/Kyusyu Univ./NICT Joint Research Workshop on Ubiquitous Network Security 2005 Verifier-Based Password-Authenticated Key Exchange Jeong.
PUBLIC-KEY CRYPTOGRAPH IT 352 : Lecture 2- part3 Najwa AlGhamdi, MSc – 2012 /1433.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Kerberos Guilin Wang School of Computer Science 03 Dec
CS 4803 Fall 04 Public Key Algorithms. Modular Arithmetic n Public key algorithms are based on modular arithmetic. n Modular addition. n Modular multiplication.
Group 9 Chapter 8.3 – 8.6. Public Key Algorithms  Symmetric Key Algorithms face an inherent problem  Keys must be distributed to all parties but kept.
Key Management Network Systems Security Mort Anvari.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Cryptography and Network Security Chapter 10 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
1 Secure Key Exchange: Diffie-Hellman Exchange Dr. Rocky K. C. Chang 19 February, 2002.
1 Chapter 3-3 Key Distribution. 2 Key Management public-key encryption helps address key distribution problems have two aspects of this: –distribution.
Diffie-Hellman Key Exchange first public-key type scheme proposed by Diffie & Hellman in 1976 along with the exposition of public key concepts – note:
 Encryption provides confidentiality  Information is unreadable to anyone without knowledge of the key  Hashing provides integrity  Verify the integrity.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
1 Cryptography CSS 329 Lecture 12: Kerberos. 2 Lecture Outline Kerberos - Overview - V4 - V5.
Department of Computer Science Chapter 5 Introduction to Cryptography Semester 1.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
1 Authentication Celia Li Computer Science and Engineering York University.
Cryptography and Network Security Chapter 13
Chapter 5 Network Security Protocols in Practice Part I
Cryptographic Hash Function
Presentation transcript:

SIP Authentication using EC- SRP5 Protocol Fuwen Liu, Minpeng Qi, Min Zuo, 1

SIP Authentication SIP is a popular standard signaling protocol for VoIP Wired networks Wireless networks (3GPP) SIP applies HTTP digest authentication (RFC 2069 and RFC 2617) as one option for user authentication. 2

SIP Authentication based on HTTP digest 3

HTTP Digest Authentication Breaking the scheme by computing Response=hash(hash(Username,realm, guessed Password), nonce, HA2) ? 4

Password Authentication Password—one of special pre-shared key. Prove that an entity knows the password. Pro: Easy to use, Low costs, Efficiency Con: Low security Password usually short, less than 8 characters Machine randomly generated password from 88 printable characters Security strength: 88 8 ≈52bits symmetric algorithms 56 hours to crack (Special Hardware) User-slected password from 88 printable characters (some combinations are in dictionary ) Security strength: 30-bit strength 16 minutes to crack (NIST) Not scalable 5

Weaknesses of SIP Authentication Off-line dictionary attacks are possible Select a password pw` from password dictionary and compare: H(nonce, username, pw`, realm)= response 6 ?

Strong Password Authentication In 2009, IEEE released the standard IEEE P regarding the password authenticated key agreement protocols  Balanced password-authenticated agreement protocols (BPKAS)  Two entities know the same password and establish a shared session key  well suited for P2P communications  Three protocols are recommended: PAK, PPK, SPEKE.  PAK is documented in RFC 5683 as standard  Augmented password-authenticated agreement protocols (APKAS)  Client knows the password, while the server knows only the image of the password  Well suited for client/server communications  Seven protocols are standardized, SRP(Secure Remote Password) protocol is one of representatives  SRP is specified in RFC 2945 by IETF 7

EC-SRP5 Protocol EC-SRP5 protocol is an ECC variant of the SRP protocol Defined in IEEE Authentication framework is identical to the SRP protocol Using Elliptical Curve Cryptography Security is based on the ECDLP problem More efficient than SRP protocol ECC is used Applying the EC-SRP5 protocol rather than the SRP protocol to SIP Authentication The basic idea of the EC-SRP5 protocol is that the password is entangled into the temporary EC public key To access the password, attackers have to address the ECDLP problem 8

Password verifier Password verifier v is computed: i=OS2IP(SHA-256(s|SHA-256(SIP-URI|":"|Pw|ECI))) v=i*G – where OS2IP means octet string to integer conversion primitive, the – derived password verifier v is actually a point on the elliptic curve – indicated by the ECI. The server then stores the following information in the database for each user SIP-URI salt s elliptic curve index ECI password verifier v 9

SIP Authentication using EC-SRP5 10

Security Considerations Off-line dictionary attack resistance Password-entangled public key Ws is available to attackers Ws=Ts*G+e1 Where Ts is the temporary private key of server Password verifier is used as input selector value to choose a pseudo-random element e1 of a group The element e1 is shadowed by adding the point Ts*G. On-line dictionary attack resistance The server usually blocks the user authentication when the times of authentication failure reach the default value set in advance. 11

Security Considerations(cont’d) Man-in-the middle attack resistance Verifying the confirmation value Cc and Cs in the client's side and server's side, respectively. Cc=SHA-256(hex(04), Wc, Ws, Z, v) Cs=SHA-256 (hex(03), Wc, Ws, Z,v) Replay attack resistance Each authentication session has its unique shared secret Z The client can detect the replay attack by comparing Cs with the expected confirmation value Cs' 12

Elliptic Curve Index 13

Thanks 14

Appendix A: Algorithm ECPEPKGP-SRP5-SERVER The following steps are needed to compute the elliptic curve password-entangled public key Ws: (1) Compute octet string o1=GE2OSP-X(v) (2) Compute group element e1=ECREDP(o1) (3) Compute group element Ws=Ts*G+e1 (4) Output Ws as the password-entangled public key Where GE2OSP-X is used to convert group elements into octet strings. ECREDP is Elliptic Curve Random Element Derivation Primitive

Appendix B: Algorithm ECSVDP-SRP5-CLIENT The following steps are needed to compute the shared secret value Z in client: (1) Compute octet string o1=GE2OSP-X(Wc) (2) Compute octet string o2=GE2OSP-X(Ws) (3) Compute octet string o3=SHA-256(o1|o2) (4) compute an integer i2=OS2IP(o3) (5) Compute octet string o4=GE2OSP-X(v) (6) Compute group element e1=ECREDP(o4) (7) Compute group element e2=Ws-e1 (8) Compute i3=OS2IP(SHA-256(s|SHA-256(SIP-URI|":"|Pw|ECI))) (9) Compute group element zg= (Tc+(i2.i3))*e2 (10) Compute field element z= GE2SVFEP (zg) (11) Compute shared secret value Z=FE2OSP (z) (12) Output Z Where GE2SVFEP is the primitive for group element to secret value field element conversion, FE2OSP is field element to octet string conversion primitive. Tc is the temporary private key of client

Appendix C: Algorithm ECSDVP-SRP5-SERVER The following steps are needed to compute the shared secret value Z in server: (1) Compute octet string o1=GE2OSP-X(Wc) (2) Compute octet string o2=GE2OSP-X(Ws) (3) Compute octet string o3=SHA-256(o1|o2) (4) compute an integer i2=OS2IP(o3) (5) Compute group element zg= Ts*(Wc+i2*v)) (6) Compute field element z= GE2SVFEP (zg) (7) Compute shared secret value Z=FE2OSP (z) (8) Output Z

Appendix D: Computing Wc The public key of client Wc is computed: Wc= Tc*G Where Tc is the temporary private key of client

Encrypted key exchange-DH(EKE-DH) 1992, Bellovin invented EKE-DH to address this problem first. Its procedure is:  Alice sends its identity IDa and DH-public key g r a encrypted with password Pw to Bob  Bob encrypts its DH-public key g r b with password Pw, and generates a shared Kab=g r a r b. The nonce nb is protected by Kab.  Alice generates the shared Kab, and decrypts {nb} Kab, and encrypts its nonce nb as well as nb with Kab.  Bob decrypts {na,nb} Kab. If the decrypted nb is identical to the nb it sended, the Alice is authenticated.  Alice decrypts {na} Kab. If the decrypted na is identical to the na it sended, the Bob is authenticated.

Variants of EKE-DH The key point of EKE-DH is that ephemeral public DH keys are encrypted with the password.  Unable to mount off-line dictionary attacks  Public DH keys are random strings  Unable to discover the session key  Private DH keys are unknown to attacks The basic idea to combine asymmetric algorithms with symmetric algorithms to foil the off-line dictionary attacks has been extended. This can be abstracted as public DH keys are entangled by using the password. This leads to  PAK (Password Authenticated key exchange) and PPK (Password Protected Key exchange)  Password-entangled DH public key is: f(Pw).g x mod p  SPEKE (Secure Password Exponential key Exchange)  Password-entangled DH public key is: f(Pw) x mod p

Standards and Patents ProtocolsSecurity analysis IEEE P RFC Patents EKE-DHSeveral papers -- US and EU patents PAKProvely secure Yes Patent held by Lucent PPKProvely secure Yes NoPatent held by Lucent SPEKEProvely secure Yes NoPhoenix held the patent SRPProvely secure Yes Standford Uni held the patent, license free EC-SRP5 -- Yes No IEEE takes no position with respect to the existence of validity of any patent rights. In RFC, usually a patent-free scheme is easy to become a standard, but a patented scheme may be standardized if no patent-free scheme can replace it.

Operation of EC- SRP5 protocol

Terms ECI: elliptic curve index G: a base point (xG, yG) on an elliptic curve s:salt Tc: client's temporary private key Ts: server's temporary private key Wc: client's public key Ws: server's public key Cc: client's confirmation value Cs: server's confirmation value Pw: password v: password verifier Z: shared secret between client and server SIP-URI: Uniform Resource Identifier for SIP containing user name and domain name The | symbol denotes string concatenation, the * operator is the scalar point multiplication operation in an EC group the. operator is the integer multiplication. ECDLP: Elliptic Curve Discrete Logarithm Problem

Authentication methods Digital signatures Prove that an entity has the private key used for signatures Pro: Scalability Easy to use High security E.g, the key length of the private key is usually about 2048 bits, which corresponds to 112 bits key length of the symmetric algorithms. Con: PKI required High costs Expensive management

Authentication methods Pre-shared key Prove that an entity knows the pre-shared key Pro: Low costs Con: Difficult to use For security, the pre-shared key is required to be generated randomly, and its key length requires 64 bytes, as specified in IKEv2 Not scalable Pre-shared keys can be only distributed to the known partners