Research article Special Issues

An anonymous SIP authenticated key agreement protocol based on elliptic curve cryptography


  • Designing a secure authentication scheme for session initial protocol (SIP) over internet protocol (VoIP) networks remains challenging. In this paper, we revisit the protocol of Zhang, Tang and Zhu (2015) and reveal that the protocol is vulnerable to key-compromise impersonation attacks. We then propose a SIP authenticated key agreement protocol (AKAP) using elliptic curve cryptography (ECC). We demonstrate the correctness of the protocol using Burrows-Abadi-Needham (BAN), and its security using the AVISPA simulation tool. We also evaluate its performance against those of Zhang, Tang and Zhu, and others.

    Citation: Yanrong Lu, Dawei Zhao. An anonymous SIP authenticated key agreement protocol based on elliptic curve cryptography[J]. Mathematical Biosciences and Engineering, 2022, 19(1): 66-85. doi: 10.3934/mbe.2022003

    Related Papers:

    [1] Qihui Zhang, Pradeep Chaudhary, Saru Kumari, Zhiyin Kong, Wenfen Liu . Verifier-based anonymous password-authenticated key exchange protocol in the standard model. Mathematical Biosciences and Engineering, 2019, 16(5): 3623-3640. doi: 10.3934/mbe.2019180
    [2] Tao Liu, Shubhangi Vairagar, Sushadevi Adagale, T. Karthick, Catherine Esther Karunya, John Blesswin A, Selva Mary G . Secure multimedia communication: advanced asymmetric key authentication with grayscale visual cryptography. Mathematical Biosciences and Engineering, 2024, 21(3): 4762-4778. doi: 10.3934/mbe.2024209
    [3] Yifeng Yin, Zhaobo Wang, Wanyi Zhou, Yong Gan, Yanhua Zhang . Group key agreement protocol for edge computing in industrial internet. Mathematical Biosciences and Engineering, 2022, 19(12): 12730-12743. doi: 10.3934/mbe.2022594
    [4] Qi Wang, John Blesswin A, T Manoranjitham, P Akilandeswari, Selva Mary G, Shubhangi Suryawanshi, Catherine Esther Karunya A . Securing image-based document transmission in logistics and supply chain management through cheating-resistant visual cryptographic protocols. Mathematical Biosciences and Engineering, 2023, 20(11): 19983-20001. doi: 10.3934/mbe.2023885
    [5] Zhiguo Qu, Leiming Jiang, Le Sun, Mingming Wang, Xiaojun Wang . Continuous variable quantum steganography protocol based on quantum identity. Mathematical Biosciences and Engineering, 2019, 16(5): 4182-4195. doi: 10.3934/mbe.2019208
    [6] Han-Yu Lin, Tung-Tso Tsai, Hong-Ru Wu, Miao-Si Ku . Secure access control using updateable attribute keys. Mathematical Biosciences and Engineering, 2022, 19(11): 11367-11379. doi: 10.3934/mbe.2022529
    [7] Lihong Guo, Jian Wang, Haitao Wu, Najla Al-Nabhan . XML security protection scheme based on Kerberos authentication and polynomials authorization. Mathematical Biosciences and Engineering, 2020, 17(5): 4609-4630. doi: 10.3934/mbe.2020254
    [8] Zhibin Zuo, Rongyu He, Xianwei Zhu, Chaowen Chang . A novel software-defined network packet security tunnel forwarding mechanism. Mathematical Biosciences and Engineering, 2019, 16(5): 4359-4381. doi: 10.3934/mbe.2019217
    [9] Mikail Mohammed Salim, Jungho Kang, Yi Pan, Jong Hyuk Park . A Lightweight authentication scheme for IoT against Rogue Base Station Attacks. Mathematical Biosciences and Engineering, 2022, 19(11): 11735-11755. doi: 10.3934/mbe.2022546
    [10] Muhammad Ahmad Nawaz Ul Ghani, Kun She, Muhammad Arslan Rauf, Shumaila Khan, Masoud Alajmi, Yazeed Yasin Ghadi, Hend Khalid Alkahtani . Toward robust and privacy-enhanced facial recognition: A decentralized blockchain-based approach with GANs and deep learning. Mathematical Biosciences and Engineering, 2024, 21(3): 4165-4186. doi: 10.3934/mbe.2024184
  • Designing a secure authentication scheme for session initial protocol (SIP) over internet protocol (VoIP) networks remains challenging. In this paper, we revisit the protocol of Zhang, Tang and Zhu (2015) and reveal that the protocol is vulnerable to key-compromise impersonation attacks. We then propose a SIP authenticated key agreement protocol (AKAP) using elliptic curve cryptography (ECC). We demonstrate the correctness of the protocol using Burrows-Abadi-Needham (BAN), and its security using the AVISPA simulation tool. We also evaluate its performance against those of Zhang, Tang and Zhu, and others.



    With the rapid growing of wireless networks, there is a corresponding increase in demand for multimedia-supported services, such as internet protocol television (IPTV) [1,2] video conference, and 3D holographic displays. Such services can be offered via voice over IP (VoIP) [2,3] services using session initial protocol (SIP) [3-7], a text-based signalling protocol. SIP has also been deployed for IP multimedia implementations [8,9], smart home and network management [10,11] and mobility management [12-14].

    There are, however, open security and privacy challenges when transmitting voice packets over an open network. For example, designing a provably secure and efficient authentication protocol for SIP remains a challenging task. The original authentication mechanism in SIP was based on hypertext transport protocol (HTTP) [15] digested authentication, designed to provide only data authentication. Yang, Wang and Liu [16] introduced the first Diffie-Hellman authenticate key agreement protocol (AKAP) for SIP using the client-server model. However, it was later found to be vulnerable to server spoofing and off-line password guessing attacks [16]. Several elliptic curve based SIP AKAP has also been presented in the literature [17-24], due to the advantages elliptic curve based protocols offered over Diffie-Hellman based protocols (e.g., reduced computational and storage costs). For example, the key length for elliptic curve cryptography (ECC) is much smaller than RSA and ElGamal cryptosystem at the same level of security. Similar to the troubled history of Diffie-Hellman-based protocols, several published ECC-based protocols were found to be insecure after their publication. For example, the protocol of Wu, Zhang and Wang [25] was found to be vulnerable to a range of attacks in [26]. An improved protocol was then presented.

    To minimize the impact of a security breach at the server, one of the many desired security features in SIP authentication is to ensure that users' passwords (which may be stored as plaintext) are securely stored. To withstand stolen verifiers attack at the SIP server, a number of smart card-based AKAPs were proposed in the literature, and some of them were subsequently found to be flawed [24,27-31].

    More recently in 2016, Zhang, Tang and Zhu [32] introduced an energy-efficient AKAP for SIP. In this paper, we demonstrate that the proposed protocol is vulnerable to key-compromise impersonation attacks, in violation of their security claims. We then propose an ECC-based AKAP, and demonstrate its correctness and security respectively using BAN logic and the Automated Validation of Internet Security Protocols and Applications (AVISPA) simulation tool [33,34]. We also evaluate the performance of the proposed protocol.

    The basic knowledge on ECC and some notations are introduced as follows [35].

    Definition 1. Ep(a,b):y2=(x3+ax+b)modp be the form of an elliptic curve Ep(a,b) over Fp with a,bFp satisfying (4a3+27b)modp0.

    Assumption 1. Elliptic curve discrete logarithm problem (ECDLP): Known two points aP and P over Ep(a,b), to determine the random number aZq. It is a hard problem in polynomial time such that the security is achieved.

    Assumption 2. Elliptic curve Diffie-Hellman problem (ECDHP): Known two points aP and bP over Ep(a,b), to calculate the point abP, where the random numbers a,bZq. abP can not be solved with non-negligible probability in polynomial time.

    Zhang, Tang and Zhu's protocol consists of four phases: initiation, registration, authentication, and password change.

    S selects its private key as s, gets its public key as sP. Also, S releases the {Ppub,P,h(),E(Fp)}, where h() be the hash function.

    Step 1. Ui computes C1=h(PWir) and sends {IDi,C1} to S via a secure channel. In the formula, r is a random number.

    Step 2. S calculates C3=h(IDis)C1 and sends back a smart card including {C3} to Ui.

    Step 3. Ui writes r into the smart card, which has stored the values {C3,r,h()}.

    Step 1. The smart card asks Ui to enter: identity IDi and password PWi. Based on the two values, the smart card derives h(IDis) by computing C3h(IDiPWi). Subsequently, the card picks two random numbers r1, r2, and computes C4=r1P, C5=r1C2Ppub, and C6=h(C5)(h(IDis)r2,(C5)x,(C5)y). In the formula, (C5)x and (C5)y are x- and y-coordinate values of point C5. Then, Ui delivers a request message REQUEST {IDi,C4,C6} to S.

    Step 2. S calculates C2=h(IDis) and retrieves (h(IDis)r2,(C5)x,(C5)y) by computing h(sC2C4)C6. Then S checks whether (C5)x,(C6)y?=(sC2C4)x,(sC2C4)x. If this holds, S derives r2 by means of computing C2h(IDis)r2. Then, S picks two random numbers r3, r4 and computes C7=r3P, SK=h(C4,r3C4,C7), and Auths=h(h(IDis),r2,(SK)x,(C5)x,(SK)y,(C5)y). Next, S replays a challenge message CHALLENGE {realm,C7,Auths,r4}.

    Step 3. U computes SK=h(C4,r1C7,C7) and verifies whether h(C2,r2,(SK)x,(C5)x,(SK)y,(C5)y)?=Auths. If this holds, U computes Authu=h((SK)x,(r4+1),(SK)y) and transmits a response message REPONSE {realm,Authu} to S.

    Step 4. Once S verifies whether h((SK)x,(r4+1),(SK)y)?=Authu. If the equation is correct, S and U successfully shares a common session key SK=r1r3P.

    When Ui plans to change a password into a new one, he needs a helping of S. The process is as follows.

    Step 1. Ui keys his old password PWi and retrieves Z=h(IDis) by computing h(PWir)C3 and V=Enc(SK)x(h(PWir),IDi,R,Z). In the formula, PWi and r are the new password and the random number. Next, Ui submits {V} to S.

    Step 2. S computes h(IDis), and and examines whether it is equivalent to the decrypted value Z from V, using x-coordinate of point SK. Subsequently, S computes C3=h(PWir)h(IDis) and W=Enc(SK)x(C3,h(C3,(R+1))). S then returns {W} to Ui.

    Step 3. Ui checks whether h(C3,R+1) is equivalent to the derived one which comes from received message W. If it is true, Ui uses the values {C3,r} instead of the old one.

    Before performing security analysis on the protocol of Zhang, Tang and Zhu, we assume that A could intercept any packets which are delivered in the authentication phase. Also, assume A can perform the corresponding computation.

    Resilience to key compromise impersonation (KCI) attacked is considered as an important, and a desired security attributed to a key exchange protocol. It means an adversary A once has obtained one party's long-term private key. The saboteur may disguise another entity to the corrupted one. However, the three-round protocol of Zhang, Tang, and Zhu does not provide KCI-resilient. We show more detail on how A launches such an attack and achieves its goal. It breaks the confidentiality of the session key established.

    Step 1. A compromises the perpetual secret key s of the server S. And A obtains the user's identity IDi utilizing intercepting the communication messages;

    Step 2. Based on the two parameters, A calculates C2=h(IDis) and then generates two random numbers r1, r2;

    Step 3. A computes C4=r1P, C5=r1C2Ppub and C6=h(C5)(h(IDis)r2,(C5)x,(C5)y) and transmits the REQUEST message {IDi,C4,C6} to S;

    Step 4. S calculates C2 and verifies (Cs5)x,(C5)y?=(sC2C4)x,(sC2C4)y. If this holds, S computes C7=r3P, SK=h(C4,r3C4,C7), and Auths=h(h(IDis),r2,(SK)x,(C5)x,(SK)y,(C5)y). In the formula, r3 and r4 are the random numbers. Next, S transmits the CHALLENGE message (realm,C7,Auths,r4) to Ui;

    Step 5. A calculates SK=h(C4,r1C7,C7) and verifies whether h(C2,r2,(SK)x,(C5)x,(SK)y,(C5)y)?=Auths. Also, A computes Authu=h((SK)x,(r4+1),(SK)y) and sends the RESPONSE message (realm,Authu) to S.

    Step 6. S needs to check whether h((SK)x,(r4+1),(SK)y) is equivalent to the received Authu. If it is false, S discards the packets; Otherwise, S accepts A, and agrees on the session key SK=r1r3P as their subsequent shared key.

    More seriously, A could even guess the correct password PWi once the secret key of S is compromised. A is by checking whether h(PWir)h(IDis) until the equation holds. In this formula, PWi is an arbitrary element that is selected from the password candidate set.

    To solve the security problems found in Zhang, Tang and Zhu's protocol, we develop a secure SIP authentication protocol with a key agreement facility. Unlike Zhang, Tang and Zhu's design, our proposal comprises of five phases: initialization, registration (Table 1), login (Table 2), key agreement (Table 3) and password update, where the password update process is concise and convenient, that lying in it does not require interaction with the server. The proposed protocol is explained below along with Figure 1.

    Table 1.  Algorithm 1: Registration.
    Algorithm 1: Registration
    Input: IDi, PWi, r
    Output: smart card
    1: Select r,
    2: Compute h(PWi,r),
    3: Transmit IDi and h(PWi,r) to S.
    4: Select n, X1=h(IDi,s)1P, X2=h(IDi)nsP
    5: Transmit X1 and X2 to U.
    6: Compute X3=h(PWi,r)h(IDi,s)1P,
    7: X4=h(h(IDi)h(PWi,r),
    8: Smart card {r,X3,h(),X4,X5}.

     | Show Table
    DownLoad: CSV
    Table 2.  Algorithm 2: Login.
    Algorithm 2: Login
    Input: IDi, PWi, smart card
    Output: true: output X5; false: failure
    1: if h(h(IDi)h(PWi,r))?=X4 then
    2:    Select r1,
    3:    h(IDi,s)=h(PWi,r)X13P,
    4:    nsP=h(IDi)1X2, X5=EncnsP(IDi,r1P).
    5:   return true
    6: else
    7:    return false
    8: end if

     | Show Table
    DownLoad: CSV
    Table 3.  Algorithm 3: Key agreement.
    Algorithm 3: Key agreement
    Input: IDi, PWi, X5
    Output: true: success; false: failure
    1: (IDi,riP)DecnsP(X5),
    2: Select r2, r3
    3: Compute SK=h(r2r1P,IDi),
    4: X6=h(IDi,s)r2P, Auths=h(SK,r2P,r3).
    5: Transmit X6, Auths and r3 to Ui.
    6:    Compute r2P=h(IDi,s)1X6, SK=h(r1r2P,IDi).
    7: if Auths?=h(SK,r1P,r3) then
    8:     Authu=h(SK,r2P,r3+1).
    9:     Transmit Authu to S
    10:      if Authu?h(SK,r2P,r3+1) then
    11:       return true
    12:      else
    13:       return false
    14: else
    15:      return false
    16: end if

     | Show Table
    DownLoad: CSV
    Figure 1.  Architecture of the AVISPA tool.

    S selects an additive group G, with a generator P of large prime order q, including points of an elliptic curve E over a finite field Fp. S publishes the public parameters {h(),sP,P,E,q}, where sFp,PEp(a,b).

    Once a new user Ui attempts to access services, he first selects his identity IDi and password PWi of his/her choice.

    Step 1. The user Ui picks out a random number r, and calculates h(PWi,r). Ui then transmits the registration request message {IDi} to the proxy server, through a private channel.

    Step 2. The proxy sever S calculates X1=h(IDi,s)P and X2=h(IDi)nsP. In the formula, n is a random number. Next, S personalizes Ui's smart card which remains the values {X1,X2} to Ui via a secure channel.

    Step 3. Ui computes X3=h(PWi,r)h(IDi,s)P and X4=h(h(IDi)h(PWi,r)). Ui finally stores r into his smart card. Note that the smart card includes the information {r,X2,h(),X3,X4}.

    Ui enters his identity IDi and password PWi after putting the smart card into the card slot.

    Step 1. The smart card verifies whether the condition h(h(IDi)h(PWi,r))?=X4 holds.

    Step 2. If the equality holds, the smart card then gets h(IDi,s)P by calculating h(PWi,r)1X3 and nsP=h(IDi)1X2. Also, a random number r1 is generated, the value X5=EncnsP(IDi,r1P,sP) to verify.

    Step 3. Ui delivers the login request message REQUEST {X5} to S through a public path.

    Step 1. S uses its private key s and secrets parameter n to retrieve (IDi,r1P,sP).

    Step 2. S proceeds to generate two random numbers r2, r3, and calculates the temporary key SK=h(r2r1P,IDi) to be shared with the user Ui. Also, the smart card calculates X6=Ench(IDi,s)P(r2P,r1P) and Auths=h(SK,r1P,r3). And then the smart card responds with the challenge message CHALLENGE {realm,X6,Auths,r3} to Ui.

    Step 3. The smart card gets the values (r2P,r1P) by decrypting X6. And then, the temporary key SK=h(r2r1P,IDi) is gotten by Ui and to be shared with the server S. Verifying whether h(SK,r1P,r3)?=Auths. If the condition holds, Ui deems S as the legitimate server.

    Step 4. The smart card computes Authu=h(SK,r2P,r3+1), and transmits a response message RESPONSE {realm,Authu} to S through a public channel.

    Step 5. S examines the verification condition h(SK,r2P,r3+1)?=Authu. If this equation holds, S ensures Ui as authentic and agrees on the session key SK as valid key.

    The following mechanism achieves altering the password of a legal user Ui without interacting S.

    Step 1. Ui puts his smart card into the card slot and waits for commands of the terminal to provide the identity IDi and password PWi. The smart card verifies that if the condition h(h(IDi)h(PWi,r))?=X4 holds. If the validation does not validate, the session is quitted promptly. Otherwise, the smart card derives h(IDi,s)P by computing X3h(PWi,r)1, and requests a new password.

    Step 2. Ui picks his new password PWi and the random number r. The smart card calculates X3=h(PWi,r)h(IDi,s)P and X4=h(h(IDi)h(PWi,r)).

    Step 3. The smart card discards X3 and X4 but keeps X3 and X4 in its memory for renewal.

    We confirm our proposal could achieve a mutual handshake using well-popular BAN logic [36]. Also, the robustness of our proposal is validated via the universally applicable simulation tool-AVISPA [33,34]. In addition, we provide informal cryptanalysis so as to demonstrate our proposal is well protecting against relevant security attacks.

    BAN logic is a well-known formal method used to strictly prove the authentication protocols' security, or find security vulnerabilities. Subsequently, we will introduce more details about BAN logic. BAN logic includes basic logical notations and some logic postulates. According to these preliminaries, we show the desired goals, idealized form, assumptions for our protocol. And we finally demonstrate its correctness.

    Notations

    P|X: P deems X is true;

    PX: P observes X;

    P|X: P ever have sent X;

    PX: P judges X;

    #X: X is fresh;

    PKQ: share a key K between P and Q;

    (X,Y): X or Y is one portion of the formula (X,Y);

    <X,Y>K: K is the key to encrypt X and Y.

     Postulates 

    Message-meaning rule: A|AKB, A<X>KA||BX;

    Fresh conjuncatenation rule: A|#(X)A|#(X, Y);

    Belief rule: A|X, A|YA|(X, Y);

    Nonce-verification rule: A|#(X), A|B|XA|B|X;

    Jurisdiction rule: A|BX, A|B|XA|X.

    Goals

    Goal1: S|IDi

    Goal2: S|UiSKS

    Goal3: S|Ui|UiSKS

    Goal4: Ui|UiSKS

    Goal5: Ui|S|UiSKS

    Idealized form

    UiS: {X5,Authu}

    X5: <IDi,r1P,sP>UinsPS,

    Authu: <r2P,r3+1,SK>UiSKS;

    SUi: {X6,Auths}

    X6: <r2P,r1P>Uih(IDi,s)S,

    Auths: <r1P,r3,SK>UiSKS

    Assumptions

    A1: Ui|IDi;

    A2: Ui|#r1;

    A3: S|#n;

    A4: S|#s;

    A5: Ui|(UinsPS);

    A6: S|(UinsPS);

    A7: Ui|(Uih(IDi,s)S);

    A8: S|UiIDi

    A9: S|Uir1

    A10: S|#r2

    A11: Ui|Sr2

    A12: S|#r3

    A13: U|#r3

    Proofs

    According to message X5, we have

    P1. S<IDi,r1P,sP>UinsPS

    By P1, A6 and message-meaning rule, we obtain

    P2. S|Ui|(IDi,r1P,sP)

    From P2, A4 and fresh conjuncatenation rule, we derive

    P3. S|#(IDi,r1P,sP)

    Since P2, A3 and nonce-verification rule, we get

    P4. S|Ui|(IDi,r1P,sP)

    According to P4 and belief rule, we get

    P5. S|Ui|IDi, S|Ui|r1P

    From A8, A9 and jurisdiction rule, we derive

    P6. S|r1P, Goal1. S|IDi

    Since SK=h(r1r2P,IDi), Goal1, and P6, we have

    Goal2. S|UiSKS

    According to message Authu, we have

    P7. S<r2P,r3+1,SK>UiSKS

    By P7, Goal2 and message-meaning rule, we obtain

    P8. S|Ui|(r2P,r3+1,UiSKS)

    Since P8, A10, A11 and nonce-verification rule, we have

    Goal3. S|Ui|UiSKS

    From message X6, we attain

    P9. Ui<r2P,r1P>Uih(IDi,s)S

    According to A7, P9 and message-meaning rule, we get

    P10. Ui|S|(r2P,r1P)

    By A2 and fresh conjuncatenation rule, we have

    P11. Ui|#(r2P,r1P)

    According to P10, P11 and nonce-verification rule, we attain

    P12. Ui|S|r2P

    Since P12, A11 and jurisdiction rule, we derive

    P13. Ui|r2P

    From SK=h(r1r2P,IDi), A1, A2, P13, we have

    Goal4. Ui|UiSKS

    By message Auths, we attain

    P14. Ui<r1P,r3,SK>UiSKS

    Since P14, Goal4 and message-meaning rule, we have

    P15. Ui|S|(r1P,r3,UiSKS)

    According to P13, P15, Goal4 and nonce-verification rule, we attain

    Goal5. Ui|S|UiSKS

    Theorem 1. The probability that an attacker A breaks the AKE security of our AKAP is

    AdvAkeP(A)q2h2l1+2qsend|D|

    where qsend, qh and D denote the number of Send queries, Hash queries, and a uniformly distributed dictionary, respectively.

    Proof: Game Gi(i=0,1,2) defines three games. Game G0 is the factual attack, and game G3 concludes a breach of the AKE security of our AKAP is asymptotically optima:

    Game G0: This game corresponds to the actual attack.

    AdvAkeP(A)=|2Pr[Succ0]1|.

    Game G1: This game simulates the eavesdropping attack by querying Execute(Ui,Sj) oracle, and then by querying Test(Pi) oracle. It decides whether the result of Test is the real session key SK or a random value. We know that r1P is derived by the server's secret key s, and secrets parameter n. That is, A has no way to compute r1P through eavesdrop on the communication channel unless S is compromised. Also, r2P is not impossible to obtain, unless it possesses both the smart card and password. Hence, intercepting is not probable for helping A to win in this game. Thus,

    Pr[Succ1]=Pr[Succ0].

    Game G2: This game models Send(M,Pi) query, in which A can eavesdrop or alter the information from the transcripts. Then, games G2 and G1 are undistinguishable unless the collision occurring in G2. Thus,

    |Pr[Succ2]Pr[Succ1]|q2h/2l.

    Game G3: This game models Corrupt(SC) query, in which A has obtained the smart card to simulate the smart card breach attack. Since the password PWi is protected by a cryptographic one-way function, where X3=h(PWi,r)h(IDi,s)P and X4=h(h(IDi)h(PWi,r)). This implies that A has no way to check the password excepts possession of user's identity, or corrupts the server to get s. Hence, |Pr[Succ3]Pr[Succ1]|qsend/|D|.

    AVISPA is a simulation engine for the automated validation of Internet security protocols and applications. Upon Dolev and Yao model, four model back-ends, called OFMC (On-the-fly Model-Checker), CL-AtSe (Constraint-Logic-based Attack Searcher), SATMC (SAT-based Model-Checker), and TA4SP (Tree Automata-based Protocol Analyzer) (Figure 1) are utilized for the validation using HLPSL (High-Level Protocol Specification Language). The HLPSL presentation of the protocol is compiled to IF by the translator-HLPSL2IF. IF is an entrance of the four different back-ends. The output OF is exported by using one of the four back-ends, which shows the conclusion if the AKAP is secure or insecure.

    During the protocol execution, each entity act a role, which is a feature of AVISPA. We show the role specifications in HLPSL of Appendix the initiator, responder, session, and environment and goal in Appendix Figures 14. In our implementation, we assume S's private key is a public parameter. The privacy of three parameters and client-server authentication is verified:

    The secrecy_of subs1: the user confidential parameters IDi is gotten only Ui and S.

    The secrecy_of subs2: the user confidential parameters PWi is gotten only Ui.

    The secrecy_of subs3: the session key is gotten only Ui and S.

    Authenticaion_si_ui_auths: Ui validates S by receiving r2 securely, r2 is a ephemeral number of S.

    Authenticaion_si_ui_authu: Ui validates S by receiving r1 securely, r1 is a ephemeral number of S.

    After running the program under two back-ends CL-AtSe and OFMC, Figures 2 and 3 show that our proposal realizes the session security without imperfection.

    Figure 2.  Simulation result in CL-AtSe model checker.
    Figure 3.  Simulation result in OFMC model checker.

    We demonstrate that our proposal holds many security attributes, such as mutual authentication, anonymity, privileged insider attack, perfect forward secrecy, KCI-resistance, etc., under a condition. The condition is that A extracts all the data stored inside a user's smart card, or/and eavesdrops on all the messages involved in an authentication-key agreement session [37,38].

    Note that r1P can be only decrypted by the legal server. Thus, after Ui receives CHALLENGE message depending upon the result of decryption test, Ui verifies the legitimacy of S by checking the equivalence h(SK,r1P,r3)?=Auths. Simultaneously, only the legal Ui can derive r2P from CHALLENGE message. And hence, S assures that he is communicating with the legitimate Ui, employing checking the equivalence h(SK,r2P,r3+1)?=Authu after receiving RESPONSE message. Therefore, A cannot cheat any of the communicating entity. And thus the proposed protocol achieves proper mutual authentication.

    Ui's password PWi is hashed by the random number r during registration phase. And it is not delivered to S. Therefore, an honest but curious insider has no ability, to know the real password PWi of Ui. In other words, the proposed protocol indicates good capability of defeating insider attack.

    The identity IDi of Ui is disguised for dual protection, involved in all the transmitted messages. For one thing, the random number n is picked excepts the private key s of S, based on the ECDLP assumption. For another, the plain-text IDi is hashed by double times along with the secret parameters r1P, and r2P. And the two parameters are encrypted by nsP. That is, to identify two parameters are equate as determine ECDLP problem. The problem is one of the well-known difficult problems within polynomial time. In a word, the proposed protocol supports high user anonymity.

    Suppose that perpetual privacy information s of S is compromised by A, he is incapable of computing the current as well as the future session keys. It is noteworthy that the session key is related with three important parameters, i.e, Ui's identity, two random numbers r1 and r2 generated by Ui and S, which are present in the form of r1P and r2P, respectively. With the purpose of acquiring IDi and r1P from intercepted REQUEST message {X5=EncnsP(IDi,r1P,sP)}, another random number n is also needed. Unfortunately, no one but S knows what is the real random number n. More seriously, r2P can not be derived through X6=Ench(IDi,s)P(r1P,r2P) without knowing IDi of Ui. Next, assume that the current session key is corrupted by A. He plans to deduce the next negotiatory key. The cause of failure of extraction the secret SK=h(r1P,r2P,IDi) lies in the irreversible property of hash function, he total has no way to compute the previous and future session keys thereby. In a conclusion, our protocol preserves perfect forward secrecy property.

    We assume A intercepts the REQUEST message {X5} submitted to S, he attempts to modify the parameter r1P and transmit the forged message {X5} to S. However, he has no way to attain IDi and n to compute the symmetric key nsP, and thus encrypt IDi. Even with the smart card security breached, he is not strong enough to gain the exact values of IDi, and s without the knowledge of PWi. On the other hand, without knowing IDi, n and s, it is impossible for A to learn r1P picked by Ui intercepting CHALLENGE message. That is, A could neither impersonate as an authorised user nor masquerade as a legitimate sever, through eavesdropping the raw messages to tamper with them. In a word, our proposal is is resistance to modification attacks.

    We suppose A gets {r,X2,X3,X4,h()} and all the public messages {X5,X6,Auths,r3,Authu} from the communication channel. First and foremost, the password PWi of Ui do not involve in transcription between Ui and S. Hence, A has no way to ensure whether the guesses password is true or false. Secondly, to derive the correct password PWi from X3 is a computationally infeasible task for A, in condition that he is unaware of the identity IDi of Ui, and the private key s of S. Eventually, A is not entirely sure what are the real values of IDi, and PWi by X4, because the two personal information are hidden in two-layer hash function. In conclusion, the proposed protocol could thwart off-line password attack successfully.

    The whole design presumes that the privacy information s is considered as an open parameter. In this case, A has no way to impersonate as an authorised user thereby accessing service resources. The resources are provided by the secure server. Let's analyze the cases. Aiming at playing a valid user, the identity of the real user Ui is urgent required, since the server will detect the attack while checking Authu. To get the real value of IDi, another random number n, which only the legal server knows it, is also needed. Thus, it is not possible for A to try to impersonate as a legitimate user.

    Two parties independently negotiate an ephemeral session key SK=h(r1r2P,IDi). They keep communicate securely on the strength of it for a subsequent communication. Upon this ability, each entities can encrypt the following packets, to preserve the security of the handshake. Moreover, the negotiatory key is fresh for each session. The reason is that random numbers are different based on the property of hash function. As a consequence, deriving the session key through the eavesdropped information is a challenging task for A.

    The service provider does not create the password verification table of the service requester. Even though the service provider's database is available by A, he still cannot steal and modify user passwords, and thus attain the authentication information of users. Thus it can be said that our proposal can withstand stolen-verifier attacks.

    This part evaluates and examines the performance of our proposed scheme, and compare it with five related protocols relies basically on the ECC, one-way hash functions. In order to evaluate the entire computing cost for each protocol more accurately, the arithmetic mean for each cryptographic computation timings after running 1000 times are shown in Table 4. The processor is Intelr Pentiumr CPU G3250, 3.20GHz with 4.0GB of RAM running Windows 10. We use the jPBC library primitives timings. The processor is Intelr Pentiumr CPU G3250, 3.20GHz with 4.0GB of RAM running Windows 10. We use the jPBC library(2.0.0) [41], a Java port of the PBC library written in C [39,40], the Java Development Kit used is the Oracle jdk 1.8.0 65. We used the Type A curves with the prime order q defined as E(Fq):y2=x3+x, hash function as SHA-3 [19,42], and symmetric encryption algorithm as AES [43]. The calculation expense and execution time of the registration and key agreement phases with the revelent protocols [24,27-30,32] are listed in Table 5. Also, we compare the security attributes with the related protocols [24,27-30,32] (Table 6). The entire running time of our AKAP is lower than Tu et al. [24]. And the time is lower than Yeh, Chen and Shih's protocol[28] too. Table 5 has shown the results. However, one thing is ignored by these protocols [24,27-30,32] from Table 6. It is to analyze whether the design has ability to conquer key compromise impersonation attack. Additionally, the related protocols seem not to be considered as a SIP authenticated key agreement, which can be perfect or ideal. The reason is that the protocol lacks some essential security properties. In general, our proposal takes a better tradeoff between computational cost and security attributes, while comparing with the protocols [24,27-30,32].

    Table 4.  jPBC library primitives timings.
    Operation thtp tsm tpa th tinv tsym
    Aritmetic mean 10.8966ms 10.5129ms 0.4338ms 0.0359ms 0.0428ms 0.1755ms
    Note: thtp: executing a hash to point operation; tsm: executing an elliptic curve scalar multiplication; tpa: executing an elliptic curve point addition; th: executing a hash function operation; tinv: executing a modular inversion; tsym: executing a symmetric encryption/decryption

     | Show Table
    DownLoad: CSV
    Table 5.  Computational cost comparison.
    Registration(ms) Authentication(ms)
    Ours tsm+5th+3thtp48.3822 4tsm+10th+2tinv+2tsym43.8472
    [32] 2th0.0718 4tsm+9th+2thtp64.1679
    [30] 2th+tinv0.1164 6tsm+11th+2thtp85.2655
    [29] 4th0.1436 6tsm+11th+2tsym63.8233
    [28] tsm+4th+thtp21.5531 8tsm+11th+2thtp+4tpa85.3511
    [27] tsm+3th+tinv10.6634 7tsm+12th74.0211
    [24] 2tsm+2th+tpa21.5314 7tsm+10th+tpa74.3831

     | Show Table
    DownLoad: CSV
    Table 6.  Security comparison.
    Ours [32] [30] [29] [28] [27] [24]
    Mutual authentication
    Insider attack
    User anonymity
    PFABS
    Modification attack
    OLPG attack
    KCI attack
    SK agreement
    SV attack
    TS attack

     | Show Table
    DownLoad: CSV

    Despite the role that AKAP plays in ensuring the security of communication in an open network, designing secure and efficient protocols, including in a VoIP environment, remains challenging. For example, in this paper, we revisited and revealed vulnerabilities in the design of Zhang, Tang and Zhu's protocol [32]. We also presented an improved protocol and demonstrated its correctness and security, as well as demonstrating its utility in terms of performance efficiency. Future research will include implementing a prototype of the protocol and evaluating it in a real-world deployment.

    The authors would like to thank all the editors and anonymous reviewers for their helpful advice. This paper is supported by the National Natural Science Foundation of China (No. 61802276), and the Fundamental Research Funds for the Central Universities of China (No.3122021027).

    The authors declare that they have no known competing financial interest or personal relationship that could have appeared to influence the work reported in this paper.

    Figure A1.  The role of initiator.
    Figure A2.  The role of responder.
    Figure A3.  The role of session.
    Figure A4.  The role of environment and goal.


    [1] C. E. Palau, J. Mares, B. Molina, M. Esteve, Wireless CDN video streaming architecture for IPTV, Multimedia Tools Appl., 53 (2011), 591–613. doi: 10.1007/s11042-010-0516-0.
    [2] H. S. Fard, A. G. Rahbar, Physical constraint and load aware seamless handover for IPTV in wireless LANs, Comput. Elec. Eng., 56 (2016), 222–242. doi: 10.1016/j.compeleceng.2016.01.005.
    [3] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, et al., SIP: Session initiation protocol, RFC3261, 2543 (2002), 1–151.
    [4] J. Franks, P. {Hallam-Baker}, J. Hostetler, S. Lawrence, P. Leach, A. Luotonen, et al., HTTP Authentication: basic and digest access authentication, RFC2617, 2617 (1999), 1–34.
    [5] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, et al., Hypertext transfer protocol – HTTP/1.1, RFC2616, 2068 (1997), 1–162.
    [6] H. Arshad, M. Nikooghadam, An efficient and secure authentication and key agreement scheme for session initiation protocol using ECC, Multimedia Tools Appl., 1 (2016), 181–197. doi: 10.1007/s11042-014-2282-x.
    [7] M. Nikooghadam, H. Amintoosi, Perfect forward secrecy via an ECC-based authentication scheme for SIP in VoIP, J. Supercomput., 76 (2020), 3086–3104. doi: 10.1007/s11227-019-03086-z.
    [8] C. Y. Chen, K. D. Chang, H. C. Chao, Transaction-pattern-based anomaly detection algorithm for IP multimedia subsystem, IEEE Trans. Inf. Forensics Secur., 6 (2011), 152–161. doi: 10.1109/TIFS.2010.2095845.
    [9] Y. Zhang, X. Sun, B. Wang, Efficient algorithm for k-barrier coverage based on integer linear programming, China Commun., 13 (2016), 16–23. doi: 10.1109/CC.2016.7559071.
    [10] W. E. Chen, Y. L. Huang, H. C. Chao, NAT traversing solutions for SIP applications, Eur. J. Wireless Commun. Networking, 2008 (2008), 639528. doi: 10.1155/2008/639528.
    [11] T. Ma, J. Zhou, M. Tang, Y. Tian, A. {Al-Dhelaan}, M. {Al-Rodhaan}, et al., Social network and tag sources based augmenting collaborative recommender system, IEICE Trans. Inf. Syst., 98 (2015), 902–910. doi: 10.1587/transinf.2014EDP7283.
    [12] C. M. Huang, C. W. Lin, C. C. Yang, Mobility management for video streaming on heterogeneous networks, IEEE MultiMedia, 17 (2010), 35–35. doi: 10.1109/MMUL.2010.17.
    [13] T. Wu, R. Jhang, H. Chao, Efficient architecture and handoff strategy used for VoIP Sessions in SIP based wireless networks, Wireless Pers. Commun., 43 (2007), 201–214. doi: 10.1007/s11277-006-9218-3.
    [14] Y. Lu, G. Xu, L. Li, Y. Yang Anonymous three-factor authenticated key agreement for wireless sensor networks, Wireless Networks, 25 (2019), 1461–1475. doi: 10.1007/s11276-017-1604-0.
    [15] E. Wilde, Hypertext Transfer Protocol (HTTP), Springer, 1999.
    [16] C. C. Yang, R. C. Wang, W. T. Liu, Secure authentication scheme for session initiation protocol, Comput. Secur., 24 (2005), 381–386. doi: 10.1016/j.cose.2004.10.007.
    [17] A. Durlanik, I. Sogukpinar, SIP authentication scheme using ECDH, World Enformatika Soc. Trans. Eng. Comput. Technol., 1 (2007), 2659–2662.
    [18] N. Koblitz, A. Menezes, S. Vanstone, The state of elliptic curve cryptography, Designs Codes Cryptography, 19 (2000), 173–193. doi: 10.1023/A:1008354106356.
    [19] A. J. Menezes, S. A. Vanstone, P. C. Van Oorschot, Handbook of Applied Cryptography, CRC Press, 1996.
    [20] V. S. Miller, Use of Elliptic Curves in Cryptography, in Advances in cryptology–-CRYPTO 85 (ed. Hugh C Williams), Springer-VerlagBerlin, Heidelberg, (1985), 417–426.
    [21] R. Arshad, N. Ikram, Elliptic curve cryptography based mutual authentication scheme for session initiation protocol, Multimedia Tools Appl., 66 (2013), 165–178. doi: 10.1007/s11042-011-0787-0.
    [22] D. He, J. Chen, Y. Chen, A secure mutual authentication scheme for session initiation protocol using elliptic curve cryptography, Secur. Commun. Networks, 5 (2012), 1423–1429. doi: 10.1002/sec.506.
    [23] Y. Lu, L. Li, H. Peng, Y. Yang, An anonymous two-factor authenticated key agreement scheme for session initiation protocol using elliptic curve cryptography, Multimedia Tools Appl., 76 (2017), 1801–1815. doi: 10.1007/s11042-015-3166-4.
    [24] H. Tu, N. Kumar, N. Chilamkurti, S. Rho, An improved authentication protocol for session initiation protocol using smart card, Peer Peer Networking Appl., 8 (2015), 903–910. doi: 10.1007/s12083-014-0248-4.
    [25] L. Wu, Y. Zhang, F. Wang, A new provably secure authentication and key agreement protocol for SIP using ECC, Comput. Stand. Interfaces, 31 (2009), 286–291. doi: 10.1016/j.csi.2008.01.002.
    [26] E. J. Yoon, K. Y. Yoo, C. Kim, Y. S. Hong, M. Jo, H. Chen, A secure and efficient SIP authentication scheme for converged VoIP networks, Comput. Commun., 33 (2010), 1674–1681. doi: 10.1016/j.comcom.2010.03.026.
    [27] A. Irshad, M. Sher, E. Rehman, S. A. Ch, M. U. Hassan, A. Ghani, A single round-trip SIP authentication scheme for voice over Internet protocol using smart card, Multimedia Tools Appl., 74 (2015), 3967–3984. doi: 10.1007/s11042-013-1807-z.
    [28] H. L. Yeh, T. H. Chen, W. K. Shih, Robust smart card secured authentication scheme on SIP using Elliptic Curve Cryptography, Comput. Stand. Interfaces, 36 (2014), 397–402. doi: 10.1016/j.csi.2013.08.010.
    [29] M. S. Farash, S. Kumari, M. Bakhtiari, Cryptanalysis and improvement of a robust smart card secured authentication scheme on SIP using elliptic curve cryptography, Multimedia Tools Appl., 75 (2016), 4485–4504. doi: 10.1007/s11042-015-2487-7.
    [30] H. Arshad, M. Nikooghadam, Security analysis and improvement of two authentication and key agreement schemes for session initiation protocol, J. Supercomput., 71 (2015), 3163–3180. doi: 10.1007/s11227-015-1434-8.
    [31] J. S. Tsai, Efficient nonce-based authentication scheme for session initiation protocol, Int. J. Network Secur., 1 (2009), 12–16.
    [32] L. Zhang, S. Tang, S. Zhu, An energy efficient authenticated key agreement protocol for SIP-based green VoIP networks, J. Network Comput. Appl., 59 (2016), 126–133. doi: 10.1016/j.jnca.2015.06.022.
    [33] AVISPA, Automated validation of internet security protocols and applications, Available from: http://www.avispa-project.org/.
    [34] AVISPA web tool, Available from: http://www.juniperresearch.com/viewpressrelease.php?pr=355.
    [35] N. Koblitz, A. Menezes, S. Vanstone, The state of elliptic curve cryptography, in Designs Codes Cryptography, 19 (2000), 173–193. doi: 10.1023/A:1008354106356.
    [36] M. Burrows, M. Abadi, R. M. Needham, A logic of authentication, ACM Trans. Comput. Syst., 8 (1990), 18–36. doi: 10.1098/rspa.1989.0125.
    [37] Y. Lu, G. Xu, L. Li, Y. Yang, Robust privacy-preserving mutual authenticated key agreement scheme in roaming service for global mobility networks, IEEE Syst. J., 13 (2019), 1454–1465. doi: 10.1109/JSYST.2018.2883349.
    [38] Y. Lu, M. Zhang, X. Zheng, An authentication framework in ICN-enabled industrial cyber-physical systems, in International Conference on Security and Privacy in New Computing Environments, (2021), 223–243. doi: 10.1007/978-3-030-66922-5_15.
    [39] PBC Library, Pairing Based Cryptography, Available from: http://crypto.stanford.edu/pbc/.
    [40] Ben Lynn, On the Implementation of Pairing-Based Cryptography, 2007. Available from: http://crypto.stanford.edu/pbc/thesis.pdf.
    [41] A. De Caro, V. Iovino, Java pairing based cryptography, in Proceedings of the 16th IEEE Symposium on Computers and Communications, (2011), 850–855.
    [42] M. Rao, T. Newe, I. Grout, A. Mathur, An FPGA-based reconfigurable IPSec AH core with efficient implementation of SHA-3 for high speed IoT applications, Secur. Commun. Networks, 9 (2016), 3282–3295. doi: 10.1002/sec.1533.
    [43] NIST, National Institute of Standards and Technology (NIST), 2001. Available from: http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf.
  • This article has been cited by:

    1. Yifeng Yin, Zhaobo Wang, Wanyi Zhou, Yong Gan, Yanhua Zhang, Group key agreement protocol for edge computing in industrial internet, 2022, 19, 1551-0018, 12730, 10.3934/mbe.2022594
    2. Shuanggen Liu, Hui Xu, Rui Zang, 2023, An Improved Anonymous Authentication Scheme for Internet of Medical Things Based on Elliptic Curve Cryptography, 979-8-3503-0221-9, 345, 10.1109/ICNLP58431.2023.00069
    3. Jiayuan Zhang, Rongxin Guo, Yifan Shi, Wanting Tang, An anti-impersonation attack electronic health record sharing scheme based on proxy re-encryption and blockchain, 2024, 21, 1551-0018, 6167, 10.3934/mbe.2024271
    4. Aws Jaber, 2022, Competitive Study on Public and Private Key Usage in Voice over Internet Protocol, 978-1-6654-8429-9, 465, 10.1109/ISEC54952.2022.10025239
  • Reader Comments
  • © 2022 the Author(s), licensee AIMS Press. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0)
通讯作者: 陈斌, bchen63@163.com
  • 1. 

    沈阳化工大学材料科学与工程学院 沈阳 110142

  1. 本站搜索
  2. 百度学术搜索
  3. 万方数据库搜索
  4. CNKI搜索

Metrics

Article views(3059) PDF downloads(99) Cited by(4)

Figures and Tables

Figures(7)  /  Tables(6)

Other Articles By Authors

/

DownLoad:  Full-Size Img  PowerPoint
Return
Return

Catalog