?

基于智能卡的動態身份認證協議

2015-02-23 10:52石亞娟黃輝輝陳建華
電子技術應用 2015年3期
關鍵詞:智能卡口令攻擊者

石亞娟,黃輝輝,陳建華

(武漢大學 數學與統計學院,湖北 武漢430072)

基于智能卡的動態身份認證協議

石亞娟,黃輝輝,陳建華

(武漢大學 數學與統計學院,湖北 武漢430072)

認證協議是確保服務器和用戶通過公開網絡進行安全通信的一個重要手段。針對2013年皮蘭等提出的一種改進的基于智能卡的遠程異步認證協議,指出皮蘭等方案缺乏匿名性且對拒絕服務(DoS)攻擊是脆弱的,并給出一種新的認證方案。新方案采用動態登錄身份保護用戶的匿名性和三次握手技術抵抗DoS攻擊,通過安全性證明和性能分析說明了新協議的高效性。

認證協議;匿名性;DoS攻擊;動態身份;橢圓曲線密碼體制

0 引言

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

1 皮蘭等方案回顧

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

1.1 皮蘭等方案

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

1.1.1 系統設置階段

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

1.1.2 注冊階段

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

U?S:{ID,y}

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

S?U:SC

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

1.1.3 登錄和認證階段

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

SC→S:登錄請求{ID}

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

S→SC:{r1}

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

SC→S:{R1,C1}

(4)服務器收到{R1,C1}后,計算

kR1以及,比較是否等于C1;若二者不等,停止本次協議;否則服務器認證用戶成功,計算C2=h(S,ID,s′,)發送給智能卡。

S→U:{C2}

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

1.2 皮蘭等方案存在的問題

(1)缺乏匿名性

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

(2)對DoS攻擊是脆弱的

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

2 新的認證方案

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

2.1 系統初始化階段

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

2.2 注冊階段

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

U?S:{ID,y}

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

S?U:SC

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

2.3 登錄認證階段

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

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

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

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

S→SC:{TID1,C2}

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

SC→S:{C3}

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

2.4 口令修改階段

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

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

3.1 安全性證明

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

命題1 新協議能抵抗DoS攻擊

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

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

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

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

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

②重放TIDi,R1,C1,構造C3。假設攻擊者在用戶登錄時截獲第三輪消息{C3},試著構造 C3。但是由上面分析,C3中含有 s和 R2是很難得到的,而且在新協議中用戶只有通過與服務器的第三輪握手后才能被認證成功,所以此種攻擊仍無法實現。

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

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

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

命題3 新協議能抵抗口令猜測攻擊

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

(1)假設攻擊者盜取用戶的智能卡,并獲得其中的 v和N后進行口令猜測攻擊。攻擊者猜測一個口令PW*,由s*=v⊕y*=v⊕h(PW*||N)計算出s,再通過計算C1=h (TIDi,ID,s*,R2)或者 C3=h(TIDi,TIDi+1,s*,R2)來驗證猜測的正確性。但由前面分析,C1,C3中含有隨機數 r1,是無法確定猜測口令的正確性。所以,攻擊者從用戶端進行口令猜測攻擊是不行的,同時也證明新協議能抵抗智能卡丟失攻擊。

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

表1 各種方案計算代價比較

3.2 性能分析

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

表2 各種方案的安全性比較

4 結論

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

[1]LAMPORT L.Password authentication with insecure communication[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 Digital Techniques,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 an efficient password based remote user authentication scheme using smart cards[J].IEEE Transactions on Consumer Electronics,2004,50(1):204-207.

[5]HSU C L.Security of Chien et al.′s remote user authentication scheme using smart cards[J].Computer Standards and Interfaces,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 using smartcards[C].Proceedings of the 12th ACIS International Conference on Software Engineering,Artificial Intelligence,Networking and Parallel/Distribute Computing.2011:53-57.

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

[9]皮蘭,武傳坤.改進的基于智能卡的遠程異步認證協議[J].計算機工程與應用,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.

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)

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.

authentication scheme;anonymity;DoS attack;dynamic identity;elliptic curve cryptography(ECC)

TP302

:A

:0258-7998(2015)03-0097-04

10.16157/j.issn.0258-7998.2015.03.025

2014-08-12)

石亞娟(1990-),女,碩士研究生,主要研究方向:應用密碼學及密碼協議。

黃輝輝(1988-),男,碩士研究生,主要研究方向:信息安全,密碼協議。

陳建華(1963-),男,教授,博士生導師,主要研究方向:數論與密碼學,橢圓曲線密碼等。

猜你喜歡
智能卡口令攻擊者
機動能力受限的目標-攻擊-防御定性微分對策
高矮胖瘦
東方磁卡李曉東:進擊的智能卡研發巨子
口 令
正面迎接批判
基于STC89 單片機的非接觸智能卡讀寫機設計
好玩的“反口令”游戲
SNMP服務弱口令安全漏洞防范
臨沂機頂盒智能卡升級方案介紹
有限次重復博弈下的網絡攻擊行為研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合