文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)03-0097-04
0 引言
1981年Lamport等[1]首次提出基于口令的認(rèn)證方案,,這種方案實(shí)用性雖強(qiáng),但這類方案存在致命的缺陷——離線口令猜測(cè)攻擊,。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 注冊(cè)階段
(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ì),用戶也意識(shí)到個(gè)人信息的重要性,,特別是在一些特殊的應(yīng)用中,,例如網(wǎng)上匿名投票,,保密電子商務(wù)等,用戶的信息是不便泄露的,。因此,,皮蘭等方案缺乏很大的實(shí)用性。
(2)對(duì)DoS攻擊是脆弱的
為阻止在線口令猜測(cè),,皮蘭等方案設(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)初始化,、注冊(cè),、登錄認(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 注冊(cè)階段
(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ì)算但要計(jì)算C1,,C3,,攻擊者還必須計(jì)算s,。而s的計(jì)算與用戶的口令PW和服務(wù)器的秘鑰k有關(guān),是很難獲得的,,所以此種攻擊是無法成功的,。
②重放TIDi,,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é)議能抵抗口令猜測(cè)攻擊
證明:下面分別從用戶端和服務(wù)器端來證明,。
(2)假設(shè)此處的攻擊者是特權(quán)內(nèi)部攻擊者,,即來自系統(tǒng)管理人員,并且從用戶開始注冊(cè)就鎖定目標(biāo)用戶,,記錄用戶遞交信息ID,,y=h(PW||N)接下來進(jìn)行口令猜測(cè)攻擊。但是由于y中含有高熵隨機(jī)數(shù)N,,攻擊者仍無法實(shí)行口令猜測(cè)攻擊,。另外,新協(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)勢(shì),例如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ù)用戶的匿名性,避免重放攻擊,,通過延長(zhǎng)用戶存儲(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.