《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于智能卡的動態(tài)身份認證協(xié)議
基于智能卡的動態(tài)身份認證協(xié)議
2015年電子技術(shù)應(yīng)用第3期
石亞娟,黃輝輝,陳建華
武漢大學(xué) 數(shù)學(xué)與統(tǒng)計學(xué)院,湖北 武漢430072
摘要: 認證協(xié)議是確保服務(wù)器和用戶通過公開網(wǎng)絡(luò)進行安全通信的一個重要手段。針對2013年皮蘭等提出的一種改進的基于智能卡的遠程異步認證協(xié)議,指出皮蘭等方案缺乏匿名性且對拒絕服務(wù)(DoS)攻擊是脆弱的,并給出一種新的認證方案。新方案采用動態(tài)登錄身份保護用戶的匿名性和三次握手技術(shù)抵抗DoS攻擊,通過安全性證明和性能分析說明了新協(xié)議的高效性。
中圖分類號: TP302
文獻標識碼: A
文章編號: 0258-7998(2015)03-0097-04
A smart card and dynamic identity based user authentication scheme
Shi Yajuan,Huang Huihui,Chen Jianhua
School of Mathematics and Statistics,Wuhan University,Wuhan 430072,China
Abstract: Authentication protocol is a crucial technique to ensure the secure communication between remote server and users in the open network. In 2013 Pi et al. proposed an improved remote asynchronous authentication scheme with smart card. However, we investigate the scheme is inability to user′s anonymity and vulnerable to denial of service(DoS) attack. In order to overcome the pitfalls in Pi et al.’s scheme, a smart card and dynamic identity based authentication scheme is proposed. The proposed scheme can resist all kinds of mentioned attacks as well as maintain efficient performance.
Key words : authentication scheme;anonymity;DoS attack;dynamic identity;elliptic curve cryptography(ECC)

  

0 引言

  1981年Lamport等[1]首次提出基于口令的認證方案,這種方案實用性雖強,但這類方案存在致命的缺陷——離線口令猜測攻擊。1993年Chang等[2]提出結(jié)合口令和智能卡來提高認證協(xié)議的安全性和有效性,從此產(chǎn)生了一系列的認證方案[3-7]。2012年唐宏斌等[8]提出一種利用橢圓曲線加密機制和時間戳的認證協(xié)議,2013年皮蘭等[9]指出在不安全信道中引入時間戳是存在嚴重的時鐘同步問題,并提出一種的異步認證協(xié)議。本文指出皮蘭等方案因不能保護用戶的匿名性而缺乏實用性,因引入停止協(xié)議執(zhí)行閾值很容易造成一個嚴重的安全問題——DoS攻擊,并提出一種采用動態(tài)身份和三次握手技術(shù)的遠程用戶認證方案。新協(xié)議不僅能夠保護用戶的匿名性,而且有效的抵抗DoS攻擊,充分保證了協(xié)議性能的高效性。

1 皮蘭等方案回顧

  文中的符號定義如下:U為用戶;S為服務(wù)器;SC為智能卡;PW為用戶的口令;k為服務(wù)器的高熵秘鑰;h(·)為單項哈希函數(shù);||為字符串連接操作;?堠為異或運算;?圯為安全信道;→為普通信道。

  1.1 皮蘭等方案

  皮蘭等方案由五個階段組成,本文把登錄和認證放在一起,省略口令修改階段。

  1.1.1 系統(tǒng)設(shè)置階段

  服務(wù)器選取有限域GF(q)上的橢圓曲線E,由E上點形成一個點加法群Ea,b(GFq),設(shè)P是階為n的生成元。服務(wù)器選取私鑰k和計算對應(yīng)的公鑰Q=kP。服務(wù)器保密k,公布其系統(tǒng)參數(shù){q,a,b,n,P,Q}。

  1.1.2 注冊階段

  (1)用戶選取身份ID、口令PW和新鮮數(shù)N,通過安全信道把消息{ID,y=h(PW||N)}發(fā)給服務(wù)器。

  U?圯S:{ID,y}

  (2)收到{ID,y},服務(wù)器計算s=h(ID||k),v=s?堠y,通過安全信道把存有v,h(·)和系統(tǒng)參數(shù)的智能卡發(fā)給用戶。

  S?圯U:SC

  (3)用戶收到智能卡后,把N輸入智能卡,最后智能卡中含有v,h(·)和系統(tǒng)參數(shù)。

  1.1.3 登錄和認證階段

  (1)用戶插入智能卡并輸入ID和PW。智能卡向服務(wù)器發(fā)送登錄請求{ID}。

  SC→S:登錄請求{ID}

  (2)服務(wù)器收到ID后,驗證ID格式有效性,若無效,停止本次協(xié)議;否則任選隨機數(shù){r1}發(fā)給智能卡。

  S→SC:{r1}

  (3)收到r1后,智能卡計算y=h(PW||N)和s=v?堠y=h(ID||k),然后任選隨機數(shù)r2,再計算R1=r2P,R2=r2Q以及C1=h(ID,S,s,R2,r1)。最后智能卡發(fā)送登錄消息{R1,C1}給服務(wù)器。

  SC→S:{R1,C1}

  (4)服務(wù)器收到{R1,C1}后,計算s′=h(ID||k),R’2=kR1以及C’2=h(ID,S,s′,R’2,r1),比較C’2是否等于C1;若二者不等,停止本次協(xié)議;否則服務(wù)器認證用戶成功,計算C2=h(S,ID,s′,R’2)發(fā)送給智能卡。

  S→U:{C2}

  (5)收到C2后,智能卡計算C’2=h(S,ID,s,r1,R2),并比較C’2是否等于C2,若二者不等,服務(wù)器停止本次協(xié)議;否則用戶認證服務(wù)器成功。用戶在登錄和認證階段中的停止執(zhí)行協(xié)議次數(shù)超過某個閾值h將被鎖定帳號,必須親自到認證中心解開。

  1.2 皮蘭等方案存在的問題

  (1)缺乏匿名性

  在皮蘭等方案中,用戶登錄使用真實的身份ID在不安全信道中傳輸容易被攻擊者截獲而泄露用戶的個人信息,便于攻擊者對特定用戶做出一系列攻擊,如常見于協(xié)議中的拒絕服務(wù)(DoS)攻擊,冒充攻擊等。另外,面對網(wǎng)絡(luò)信息安全的嚴峻形勢,用戶也意識到個人信息的重要性,特別是在一些特殊的應(yīng)用中,例如網(wǎng)上匿名投票,保密電子商務(wù)等,用戶的信息是不便泄露的。因此,皮蘭等方案缺乏很大的實用性。

  (2)對DoS攻擊是脆弱的

  為阻止在線口令猜測,皮蘭等方案設(shè)計用戶在登錄和認證中停止執(zhí)行協(xié)議次數(shù)超過某個閾值h,將鎖定該帳號,用戶必須親自到認證中心解開帳號,這種方案極容易造成DoS攻擊。因為登錄和認證階段是通過不安全信道通信,一方面容易受到各種不確定因素(如環(huán)境,其他設(shè)備等)的干擾;另一方面,皮蘭等方案缺乏匿名性,用戶每次登錄與服務(wù)器通信頻繁(四次),攻擊者易鎖定特定用戶后任意偽造、篡改、中斷通信消息{ID},{r1},{R1,C1}或{C2},都能造成停止執(zhí)行協(xié)議造成DoS攻擊。如果此情況常發(fā)生,可能造成整個系統(tǒng)崩潰,皮蘭等方案具有嚴重的不合理性。

2 新的認證方案

  新方案包括系統(tǒng)初始化、注冊、登錄認證和口令修改等四個階段,具體如下。

  2.1 系統(tǒng)初始化階段

  該階段與皮蘭等方案的系統(tǒng)設(shè)置類似,但注意:(1)服務(wù)器選擇自己的密鑰k,以及用戶在登錄時選擇的隨機數(shù)r1,滿足k,r1∈[1,n-1],這是保證kP,r1P∈Ea,b[GFq]。(2)橢圓曲線上的離散對數(shù)問題(ECDLP):給定P,Q∈Ea,b[GFq],求一個k滿足Q=kP是相對困難的[10]。

  2.2 注冊階段

  (1)用戶選取自己的身份ID、口令PW和高熵隨機數(shù)N,通過安全信道發(fā)送消息{ID,y=h(PW||N)}給服務(wù)器。

  U?圯S:{ID,y}

  (2)收到{ID,y},服務(wù)器為用戶分配初次動態(tài)登錄身份TID0,計算s=h(ID||k),v=s?堠y,把{TID0,ID}保存到校驗表中,把{TID0,v,h(·)}以及系統(tǒng)參數(shù)存入智能卡中,最后服務(wù)器通過安全信道把智能卡分發(fā)給用戶。

  S?圯U:SC

  (3)用戶收到智能卡后把N輸入智能卡,最后智能卡中含有TID0,v,h(·)和系統(tǒng)參數(shù){q,a,b,n,P,Q}。

  2.3 登錄認證階段

  用戶先將智能卡插入讀卡器,并輸入身份ID和口令PW,然后執(zhí)行以下操作:

  (1)智能卡計算y=h(PW||N)和s=v?堠y,并選擇一個隨機數(shù)r1∈[1,n-1],計算R1=r1P,R2=r1Q,C1=h(TID0,ID,s,R2)后向服務(wù)器發(fā)送請求消息。

  SC→S:登錄請求{TID0,R1,C1}

  (2)收到消息后,服務(wù)器用TID0從校驗表找對應(yīng)的ID,若找不到停止本次會話;否則,計算s′=h(ID||k),R’2=kR1,C’2=h(TID0,ID,s′,R’2),并檢驗C’2=?C1。若不相等,停止本次會話;否則服務(wù)器為用戶分配下一次動態(tài)登錄身份TID1,并計算C2=h(TID1,s′,R’2)后發(fā)送消息{TID1,C2}給用戶。

  S→SC:{TID1,C2}

  (3)收到{TID1,C2}后,用戶計算C’2=h(TID1,s,R2)并檢驗C’2=?C2。若不相等,停止本次會話;否則用戶認證服務(wù)器成功,把動態(tài)身份TID1保存到智能卡,直到下一次成功登錄并收到動態(tài)身份TID2,再用TID2更新TID0。最后計算C3=h(TID0,TID1,s,R2),智能卡發(fā)送{C3}給服務(wù)器。

  SC→S:{C3}

  (4)收到{C3}后,服務(wù)器計算C’2=h(TID0,TID1,s′,R’2)并檢驗C’2=?C3。若相等,服務(wù)器認證用戶成功,并更新TID0為TID1;否則,拒絕用戶的本次登錄請求。

  2.4 口令修改階段

  當(dāng)用戶想修改口令時,可以如下更新口令:用戶插入智能卡,輸入舊的口令PW后提示兩次輸入新的口令PWnew,確保新口令的正確。智能卡計算y=h(PW||N),ynew=h(PWnew||N)和vnew=v?堠y?堠ynew=synew后用vnew替換原有的v,這樣口令修改階段完成。

3 新認證方案的安全性證明和性能分析

  3.1 安全性證明

  新協(xié)議給每個用戶分配動態(tài)登錄身份保護用戶的匿名性,攻擊者想進行攻擊必須鎖定目標用戶,否則由于每次登錄身份不同,攻擊者的攻擊都是無效的。故假設(shè)攻擊者已鎖定目標用戶,并能成功截獲目標用戶與服務(wù)器通信信息。

  命題1  新協(xié)議能抵抗DoS攻擊

  證明:一般地,用戶用動態(tài)身份TIDi登錄,并收到下一次動態(tài)身份TIDi+1。但在用戶登錄過程中遭到DoS攻擊,用戶可以再次利用動態(tài)身份TIDi登錄,因為新協(xié)議采用三次握手技術(shù),為確保用戶的動態(tài)登錄身份和服務(wù)器儲存的同步,每次只有當(dāng)用戶登錄成功時,用戶和服務(wù)器才更新動態(tài)登錄身份。這樣只要DoS攻擊不是持續(xù)的,用戶一定能登錄到服務(wù)器,而不必每次都要到認證中心解開賬號,這種設(shè)計不會產(chǎn)生其他的安全問題,主要是重放攻擊和冒充攻擊。

  命題2  新協(xié)議能抵抗重放攻擊和冒充攻擊

  證明:這里有兩種重放攻擊:攻擊者當(dāng)用戶正常登錄時進行重放攻擊;攻擊者根據(jù)鎖定的用戶,先進行DoS攻擊迫使用戶重新登錄后進行重放攻擊。新協(xié)議采用動態(tài)登錄身份,、攻擊者直接重放以前的登錄信息很容易被識破,假設(shè)攻擊者試著構(gòu)造正確的通信消息進行重放攻擊,冒充合法用戶欺騙服務(wù)器,或者冒充服務(wù)器欺騙用戶,也即身份冒充攻擊。

  (1)攻擊者在用戶正常登錄時進行重放攻擊。首先假設(shè)攻擊者冒充用戶,試著構(gòu)造{TIDi,R1,C1}和{C3}。

 ?、僦胤臫IDi,R1,構(gòu)造C1,C3。假設(shè)攻擊者根據(jù)鎖定的用戶,在用戶登錄服務(wù)器時截獲登錄消息{TIDi,R1,C1},直接從中獲取TIDi和R1用于隨后重放攻擊,試著構(gòu)造C1,C3。但構(gòu)造C1=h(TIDi,ID,s,R2),C3=h(TIDi,TIDi+1,s,R2),攻擊者必須計算R2=r1Q。攻擊者可能從R1=r1P中計算隨機數(shù)r1,但這相當(dāng)于解決ECDLP難題,是很難實現(xiàn)的;攻擊者可能自己選一個隨機數(shù)r計算出R,進而計算{OTFVU{HSOL_XJSHUY12UOS.png但要計算C1,C3,攻擊者還必須計算s。而s的計算與用戶的口令PW和服務(wù)器的秘鑰k有關(guān),是很難獲得的,所以此種攻擊是無法成功的。

 ?、谥胤臫IDi,R1,C1,構(gòu)造C3。假設(shè)攻擊者在用戶登錄時截獲第三輪消息{C3},試著構(gòu)造C3。但是由上面分析,C3中含有s和R2是很難得到的,而且在新協(xié)議中用戶只有通過與服務(wù)器的第三輪握手后才能被認證成功,所以此種攻擊仍無法實現(xiàn)。

  攻擊者冒充服務(wù)器,重放消息{TIDi+1,C2}。

  重放TIDi+1,構(gòu)造C2。假設(shè)攻擊者在服務(wù)器向用戶發(fā)送消息時截獲并{TIDi+1,C2},重放TIDi+1,構(gòu)造C2。攻擊者構(gòu)造正確的C2=h(TIDi+1,s′),必須獲得s′,但是這些值都與服務(wù)器的秘鑰k有關(guān),攻擊者是很難得到的,所以此種攻擊也是不可能的。

  (2)先DoS攻擊后重放攻擊。此種情況由于用戶重新輸入身份和口令,只是發(fā)送同樣的動態(tài)身份,根據(jù)上面的分析,與直接進行重放攻擊類似,所以此攻擊仍是無法實現(xiàn)。此外,通過上面分析,只有合法用戶才能計算正確的信息讓服務(wù)器認證,只有真正的服務(wù)器才能計算正確的消息通過用戶的認證,所以新協(xié)議提供雙向認證性。

  命題3  新協(xié)議能抵抗口令猜測攻擊

  證明:下面分別從用戶端和服務(wù)器端來證明。

  F15ELY(T6UODM51PQY~AO3A.jpg

  (2)假設(shè)此處的攻擊者是特權(quán)內(nèi)部攻擊者,即來自系統(tǒng)管理人員,并且從用戶開始注冊就鎖定目標用戶,記錄用戶遞交信息ID,y=h(PW||N)接下來進行口令猜測攻擊。但是由于y中含有高熵隨機數(shù)N,攻擊者仍無法實行口令猜測攻擊。另外,新協(xié)議在服務(wù)器端保存用戶的動態(tài)登身份TIDi和真實身份ID,而TIDi只是用戶身份的一個代表,由系統(tǒng)隨機分配;用戶的真實身份ID,主要是為了服務(wù)器辨別不同的用戶,這兩個值在協(xié)議中都不是敏感的數(shù)據(jù),所以新協(xié)議也能抵抗被盜校驗子攻擊。

  3.2 性能分析

  各種方案計算代價和安全性比較分別如表1和表2所示。從表1看,與Chen等方案比較,新方案需要橢圓曲線上點乘運算并不占優(yōu);但從表2看,Chen等方案的安全性明顯低,而且新方案建立在橢圓曲線密碼機制上,與傳統(tǒng)的公鑰密碼體制(如RSA)比較具有很多優(yōu)勢,例如256位的ECC與1024位的RSA具有相同的安全性[10],所以在同安全條件下,新方案在總的性能上占優(yōu)。從表1看,與唐-皮等方案(唐宏斌等方案和皮蘭等方案)比較,新方案在登錄認證階段多2個哈希運算。但是唐宏斌等方案在用戶登錄前需要一個預(yù)計算階段,皮蘭等方案在登錄認證階段需要與服務(wù)器進行四次握手通信,而本方案不需要預(yù)計算階段,登錄認證只需三次握手通信;而且唐-皮等方案進行口令修改時,還要與服務(wù)器進行四次通信,而新協(xié)議用戶自己就能完成,計算代價明顯減小。從表2看,新協(xié)議不僅不需要協(xié)調(diào)時鐘,降低成本代價,而且具有匿名性以及抵抗強安全性問題——DoS攻擊,充分確保了認證協(xié)議的有效性。所以新協(xié)議總的性能仍占優(yōu)。

4 結(jié)論

  本文提出一種基于智能卡和動態(tài)身份的遠程用戶認證協(xié)議,采用動態(tài)登錄身份來保護用戶的匿名性,避免重放攻擊,通過延長用戶存儲動態(tài)身份和三次握手技術(shù)抗擊DoS攻擊,同時保證協(xié)議性能的高效性,擴大了協(xié)議的使用范圍,例如移動設(shè)備云環(huán)境下的用戶登錄認證。

  參考文獻

  [1] LAMPORT L.Password authentication with insecure commu-nication[J].Communication of the ACM,1981,24(11):770-772.

  [2] CHANG C C,WU T C.Remote password authentication with smartcards[J].IEE Proceedings-E Computers and DigitalTechniques,1993,138(3):165-168.

  [3] CHIEN H Y,JAN J K,TSENG Y M.An efficient and practical solution to remote authentication:smart card[J].Computers and Security,2002,21(4):372-375.

  [4] KU W C,CHEN S M.Weaknesses and improvements of anefficient password based remote user authentication scheme using smart cards[J].IEEE Transactions on Consumer Elec-tronics,2004,50(1):204-207.

  [5] HSU C L.Security of Chien et al.′s remote user authenti-cation scheme using smart cards[J].Computer Standards andInterfaces,2004,26(3):167-169.

  [6] HSIANG H C,SHIH W K.Weakness and improvements of the Yoon-Ryu-Yoo remote user authentication scheme using smartcards[J].Computer Communications,2009,32(4):649-652.

  [7] CHEN C L,LIN Y F,WANG N C.An improvement on Hsiang and Shih′s remote user authentication scheme usingsmartcards[C].Proceedings of the 12th ACIS International Conference on Software Engineering,Artificial Intelligence,Networking and Parallel/Distribute Computing.2011:53-57.

  [8] 唐宏斌,劉心松.增強的基于智能卡的遠程用戶認證協(xié)議[J].計算機工程與應(yīng)用,2012,48(19):61-65.

  [9] 皮蘭,武傳坤.改進的基于智能卡的遠程異步認證協(xié)議[J].計算機工程與應(yīng)用,2014(8):61-65.

  [10] MILLER V S.Use of elliptic curves in cryptography[J]. Advances in cryptology,proceedings of CRYPTO.1986,85(218):417-426.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。