《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于智能卡的動(dòng)態(tài)身份認(rèn)證協(xié)議
基于智能卡的動(dòng)態(tài)身份認(rèn)證協(xié)議
2015年電子技術(shù)應(yīng)用第3期
石亞娟,黃輝輝,陳建華
武漢大學(xué) 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,湖北 武漢430072
摘要: 認(rèn)證協(xié)議是確保服務(wù)器和用戶通過公開網(wǎng)絡(luò)進(jìn)行安全通信的一個(gè)重要手段。針對(duì)2013年皮蘭等提出的一種改進(jìn)的基于智能卡的遠(yuǎn)程異步認(rèn)證協(xié)議,指出皮蘭等方案缺乏匿名性且對(duì)拒絕服務(wù)(DoS)攻擊是脆弱的,并給出一種新的認(rèn)證方案。新方案采用動(dòng)態(tài)登錄身份保護(hù)用戶的匿名性和三次握手技術(shù)抵抗DoS攻擊,通過安全性證明和性能分析說明了新協(xié)議的高效性。
中圖分類號(hào): TP302
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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]首次提出基于口令的認(rèn)證方案,這種方案實(shí)用性雖強(qiáng),但這類方案存在致命的缺陷——離線口令猜測攻擊。1993年Chang等[2]提出結(jié)合口令和智能卡來提高認(rèn)證協(xié)議的安全性和有效性,從此產(chǎn)生了一系列的認(rèn)證方案[3-7]。2012年唐宏斌等[8]提出一種利用橢圓曲線加密機(jī)制和時(shí)間戳的認(rèn)證協(xié)議,2013年皮蘭等[9]指出在不安全信道中引入時(shí)間戳是存在嚴(yán)重的時(shí)鐘同步問題,并提出一種的異步認(rèn)證協(xié)議。本文指出皮蘭等方案因不能保護(hù)用戶的匿名性而缺乏實(shí)用性,因引入停止協(xié)議執(zhí)行閾值很容易造成一個(gè)嚴(yán)重的安全問題——DoS攻擊,并提出一種采用動(dòng)態(tài)身份和三次握手技術(shù)的遠(yuǎn)程用戶認(rèn)證方案。新協(xié)議不僅能夠保護(hù)用戶的匿名性,而且有效的抵抗DoS攻擊,充分保證了協(xié)議性能的高效性。

1 皮蘭等方案回顧

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

  1.1 皮蘭等方案

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

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

  服務(wù)器選取有限域GF(q)上的橢圓曲線E,由E上點(diǎn)形成一個(gè)點(diǎn)加法群Ea,b(GFq),設(shè)P是階為n的生成元。服務(wù)器選取私鑰k和計(jì)算對(duì)應(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ù)器計(jì)算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 登錄和認(rèn)證階段

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

  SC→S:登錄請(qǐng)求{ID}

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

  S→SC:{r1}

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

  SC→S:{R1,C1}

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

  S→U:{C2}

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

  1.2 皮蘭等方案存在的問題

  (1)缺乏匿名性

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

  (2)對(duì)DoS攻擊是脆弱的

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

2 新的認(rèn)證方案

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

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

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

  2.2 注冊階段

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

  U?圯S:{ID,y}

  (2)收到{ID,y},服務(wù)器為用戶分配初次動(dòng)態(tài)登錄身份TID0,計(jì)算s=h(ID||k),v=s?堠y,把{TID0,ID}保存到校驗(yàn)表中,把{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 登錄認(rèn)證階段

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

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

  SC→S:登錄請(qǐng)求{TID0,R1,C1}

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

  S→SC:{TID1,C2}

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

  SC→S:{C3}

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

  2.4 口令修改階段

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

3 新認(rèn)證方案的安全性證明和性能分析

  3.1 安全性證明

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

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

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

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

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

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

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

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

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

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

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

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

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

  F15ELY(T6UODM51PQY~AO3A.jpg

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

  3.2 性能分析

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

4 結(jié)論

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

  參考文獻(xià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] 唐宏斌,劉心松.增強(qiáng)的基于智能卡的遠(yuǎn)程用戶認(rèn)證協(xié)議[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(19):61-65.

  [9] 皮蘭,武傳坤.改進(jìn)的基于智能卡的遠(yuǎn)程異步認(rèn)證協(xié)議[J].計(jì)算機(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)載。