王牧 亢保元 景東亞
摘 要:多數(shù)的身份認(rèn)證方案是依賴于單個(gè)的認(rèn)證服務(wù)器與用戶之間的相互認(rèn)證,如果一個(gè)用戶想要使用不同的網(wǎng)絡(luò)服務(wù),就必須向每一個(gè)服務(wù)器進(jìn)行注冊(cè)。然而要使得用戶記住不同的身份和口令是非常困難的。最近,Li et al.分析了Sood et al.提出的多服務(wù)器間基于動(dòng)態(tài)身份的認(rèn)證方案,指出了其中存在的問(wèn)題并且提出了一個(gè)改進(jìn)的方案。Li et al.聲稱他們的方案可以保證用戶的匿名性,提供了相互認(rèn)證和共享密鑰,并且可以抵抗一些常見(jiàn)的攻擊。然而,通過(guò)仔細(xì)分析之后,我們發(fā)現(xiàn)Li et al.的方案容易受到假冒攻擊。因此,本文提出了一種高效安全的多服務(wù)器間基于動(dòng)態(tài)身份的相互認(rèn)證和密鑰共識(shí)方案并給出了安全性分析。
關(guān)鍵詞:身份認(rèn)證;密鑰共識(shí);多服務(wù)器;安全性
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
智能卡因?yàn)榫哂械湍芎?,易攜帶等特點(diǎn),已經(jīng)被廣泛應(yīng)用于電子商務(wù)和網(wǎng)絡(luò)安全協(xié)議中。用戶把智能卡插入讀卡器并提交他的身份和口令,智能卡就可以通過(guò)處理這些信息來(lái)驗(yàn)證用戶的合法性。
隨著網(wǎng)絡(luò)和電子商務(wù)技術(shù)的發(fā)展,許多通過(guò)網(wǎng)絡(luò)提供的服務(wù),比如網(wǎng)上購(gòu)物,網(wǎng)上繳費(fèi)等等使得我們的生活越來(lái)越便捷。在公共環(huán)境中,如何在遠(yuǎn)程用戶連接到服務(wù)器之前確認(rèn)用戶的身份顯得至關(guān)重要。大多數(shù)的口令認(rèn)證協(xié)議都是基于一個(gè)服務(wù)器,這個(gè)服務(wù)器保存了用戶的口令認(rèn)證信息等??诹钫J(rèn)證信息存儲(chǔ)在單一的服務(wù)器中就會(huì)很容易受到泄露或者篡改攻擊。多服務(wù)器模型的提出很好地解決了這些問(wèn)題。多服務(wù)器模型具有把用戶的口令和認(rèn)證功能分配給不同的服務(wù)器的靈活性,因此多服務(wù)器模型更具有實(shí)際意義。
口令認(rèn)證在認(rèn)證方案中是最簡(jiǎn)單最常見(jiàn)的認(rèn)證方法,近年來(lái)人們提出了很多基于靜態(tài)身份的口令認(rèn)證方案來(lái)加強(qiáng)安全性和高效性,然而用戶可以改變他的口令卻不能改變他的身份信息。因此,在通信中,基于靜態(tài)身份的口令認(rèn)證協(xié)議會(huì)泄露關(guān)于用戶的部分認(rèn)證信息給攻擊者。大多數(shù)的多服務(wù)器間的認(rèn)證信息也是基于靜態(tài)身份的,攻擊者可以利用這些信息追蹤判定不同的消息請(qǐng)求來(lái)自于同一批用戶。然而,基于動(dòng)態(tài)身份的口令認(rèn)證方案在身份和口令的基礎(chǔ)上提供了雙重認(rèn)證,所以更適合應(yīng)用于電子商務(wù)中。本文提出了多服務(wù)器間帶有智能卡的基于動(dòng)態(tài)身份的安全高效的認(rèn)證方案,在不安全的信道中保證了用戶的匿名性,因此可以直接應(yīng)用于電子商務(wù)中。
本文的結(jié)構(gòu)為:第二節(jié)介紹了多服務(wù)器間安全高效的基于動(dòng)態(tài)身份的身份認(rèn)證和密鑰共識(shí)方案的國(guó)內(nèi)外研究現(xiàn)狀,第三節(jié)和第四節(jié)回顧了Li et al.的方案并對(duì)其進(jìn)行攻擊,第五節(jié)我們提出了全新的多服務(wù)器間安全高效的基于動(dòng)態(tài)身份的身份認(rèn)證和密鑰共識(shí)方案,第六節(jié)給出了新方案的安全性分析,第七節(jié)是本文的結(jié)束語(yǔ)。
2 相關(guān)工作(Related work)
Lamport[1]在1981年首先提出了不安全的網(wǎng)絡(luò)環(huán)境中的遠(yuǎn)程口令認(rèn)證協(xié)議,然而在他提出的協(xié)議中,服務(wù)器必須存儲(chǔ)口令表,這就使得這個(gè)協(xié)議不能抵抗篡改攻擊。Hwang和Li[2]2000年提出了基于ElGamal算法的帶有智能卡的遠(yuǎn)程認(rèn)證方案,這個(gè)方案不要求服務(wù)器存儲(chǔ)口令表。此后,人們提出了大量帶有智能卡的單一服務(wù)器認(rèn)證方案來(lái)解決安全性問(wèn)題(Fan et al.[3],2005;Hwang et al.[4],2010; Lee
et al.[5],2005;Li和Hwang[6],2010;Li et al.[7],2011)。
然而,當(dāng)用戶想使用單一的服務(wù)器認(rèn)證協(xié)議登錄不同的遠(yuǎn)程服務(wù)器時(shí),記住許多不同的口令和身份是很困難的。為了解決這個(gè)問(wèn)題,Li et al.[8]提出了基于神經(jīng)網(wǎng)絡(luò)的遠(yuǎn)程認(rèn)證協(xié)議,這個(gè)協(xié)議可以適用于多服務(wù)器的網(wǎng)絡(luò)體系,但是這個(gè)協(xié)議需要巨大的運(yùn)算量。2004年,Juang[9]提出了一個(gè)高效的基于哈希函數(shù)的多服務(wù)器認(rèn)證協(xié)議。同年,Chang和Lee[10]指出Juang的方案不夠高效因?yàn)榉?wù)器和用戶仍需要進(jìn)行大量的運(yùn)算和記憶,而且一旦智能卡丟失,這個(gè)方案將受到線下猜測(cè)攻擊。因此Chang和Lee提出了新的遠(yuǎn)程認(rèn)證協(xié)議,然而他們提出的協(xié)議仍然可能受到內(nèi)部攻擊和欺騙攻擊。2008年,Tsai[11]提出了一個(gè)高效的沒(méi)有認(rèn)證表的遠(yuǎn)程認(rèn)證方案,這個(gè)方案只用到了單向哈希函數(shù)計(jì)算量小,所以非常適合運(yùn)用于分布式網(wǎng)絡(luò)環(huán)境中。
然而,以上所有的多服務(wù)器間口令認(rèn)證協(xié)議都是基于靜態(tài)身份的,這就使得攻擊者可以追蹤到用戶的信息。2009年,Liao和Wang[12]提出了多服務(wù)器間基于動(dòng)態(tài)身份的遠(yuǎn)程認(rèn)證協(xié)議,他們聲稱他們的方案可以抵抗各種攻擊并能共提供相互認(rèn)證。2009年,Hsing和Shih[13]對(duì)Liao和Wang提出的方案進(jìn)行了改進(jìn)。2011年,Sood et al.[14]指出Hsing和Shih的方案容易受到重放攻擊,假冒攻擊和智能卡丟失攻擊并提出了新方案來(lái)解決這些問(wèn)題。2012年,Li et al.[15]指出Sood et al.的方案容易受到智能卡丟失攻擊和信息泄露攻擊,也提出了新的方案,他們聲他們的方案可以抵抗各種各樣的攻擊,即使是智能卡丟失,攻擊者提取出智能卡中保存的信息,這個(gè)方案也是安全的,因?yàn)楣粽卟豢赡艿玫矫孛軈?shù) 的信息。經(jīng)過(guò)仔細(xì)分析,我們發(fā)現(xiàn)Li et al.的方案仍然容易受到假冒攻擊,因此,本文提出了一個(gè)新的多服務(wù)器間基于動(dòng)態(tài)身份的認(rèn)證方案。
3 Li et al.方案的回顧(Overview of Li et al.'s scheme)
本文用到的相關(guān)參數(shù)如表1所示。我們先回顧Li et al.提出的多服務(wù)器間基于動(dòng)態(tài)身份的認(rèn)證方案。在這個(gè)方案中有三個(gè)參與者:提供服務(wù)的服務(wù)器,控制服務(wù)器和用戶。假設(shè)控制服務(wù)器相當(dāng)于一個(gè)可信的第三方負(fù)責(zé)用戶的注冊(cè)和相互認(rèn)證??刂品?wù)器擁有私鑰和一個(gè)秘密參數(shù),當(dāng)提供服務(wù)的服務(wù)器用他的身份向控制服務(wù)器注冊(cè)的時(shí)候,控制服務(wù)器計(jì)算和,并把和通過(guò)安全信道提交給提供服務(wù)的服務(wù)器。方案分為四個(gè)階段:注冊(cè)階段、登錄階段、認(rèn)證和密鑰共識(shí)階段、口令改變階段。
4 Li et al.方案的安全性分析(The protocol analysis)
盡管Li et al.聲稱他們的方案可以抵抗各種各樣的攻擊,即使是智能卡丟失,攻擊者提取出智能卡中保存的信息,這個(gè)方案也是安全的,因?yàn)楣粽卟豢赡艿玫降男畔?。?jīng)過(guò)仔細(xì)分析,我們發(fā)現(xiàn)實(shí)際情況卻不是這樣。
4.1 用戶假冒攻擊
我們假設(shè)有一個(gè)惡意的用戶擁有一個(gè)智能卡并提取出智能卡里的信息,這個(gè)惡意用戶根據(jù)自己的可計(jì)算出,,
從而得出。如果一個(gè)合法用戶的智能卡被盜取,就可以提取出其中的,當(dāng)這個(gè)惡意用戶攔截到用戶發(fā)送的,就可以計(jì)算,,利用這些數(shù)據(jù),這個(gè)惡意用戶就可以偽造用戶的登錄信息。首先,生成一個(gè)隨機(jī)數(shù),計(jì)算,,,。智能卡把登錄請(qǐng)求通過(guò)公共信道發(fā)送給提供服務(wù)的服務(wù)器。收到發(fā)來(lái)的登錄請(qǐng)求之后,選擇一個(gè)隨機(jī)數(shù),計(jì)算,,并把信息發(fā)送給控制服務(wù)器。當(dāng)控制服務(wù)器收到登錄請(qǐng)求之后,計(jì)算,并驗(yàn)證等于收到的。于是控制服
務(wù)器計(jì)算,,
,,并驗(yàn)證等于,控制服務(wù)器可以確認(rèn)用戶的合法性。綜上,惡意用戶可以進(jìn)行用戶假冒攻擊。
4.2 服務(wù)器假冒攻擊
按照上述做法,這個(gè)惡意用戶可以計(jì)算出,當(dāng)他攔截到提供服務(wù)的服務(wù)器發(fā)給用戶的消息之后,計(jì)算,,用戶收到信息之后計(jì)算,
,并驗(yàn)證等于,智能卡就可以確認(rèn)控制服務(wù)器和提供服務(wù)服務(wù)器的合法性。所以惡意用戶可以進(jìn)行服務(wù)器假冒攻擊。
5 改進(jìn)的新方案(The proposed scheme)
在這一節(jié),我們提出了一個(gè)安全高效的方案,來(lái)解決Li et al.方案中的問(wèn)題。我們的方案同樣包括三個(gè)參與者,用戶、提供服務(wù)的服務(wù)器、控制服務(wù)器??刂品?wù)器選取一個(gè)大素?cái)?shù),是的生成元,選取私鑰,公鑰。我們的方案同樣分為四個(gè)步驟:注冊(cè)階段、登錄階段、認(rèn)證和密鑰共識(shí)階段、口令改變階段。相關(guān)步驟如圖1所示。
5.1 注冊(cè)階段
用戶首先要向控制服務(wù)器進(jìn)行注冊(cè),注冊(cè)階段都是在安全信道中進(jìn)行。
Step1:用戶選取一個(gè)隨機(jī)數(shù),計(jì)算,然后把通過(guò)安全信道提交給。
Step2:控制服務(wù)器收到之后計(jì)算,,,把存儲(chǔ)在智能卡中并把智能卡通過(guò)安全信道頒發(fā)給用戶。
Step3:當(dāng)用戶收到智能卡之后計(jì)算,并把保存在智能卡中。最終智能卡存儲(chǔ)了。
提供服務(wù)的服務(wù)器也要在控制服務(wù)器進(jìn)行注冊(cè)。當(dāng)用它的身份向控制服務(wù)器注冊(cè)的時(shí)候,計(jì)算,然后把通過(guò)安全信道提交給保存。
5.2 登錄階段
Step1:用戶把智能卡插入讀卡器中并輸入和口令以及提供服務(wù)的服務(wù)器的身份,智能卡計(jì)算,,,并驗(yàn)證,如果上式成立,就說(shuō)明是一個(gè)合法用戶。
Step2:驗(yàn)證成功之后,智能卡生成一個(gè)隨機(jī)數(shù),并且計(jì)算,,,,
,,于是智能卡把登錄請(qǐng)求通過(guò)公共信道發(fā)送給。
5.3 認(rèn)證和密鑰共識(shí)階段
Step1:收到登錄請(qǐng)求之后,選取一個(gè)隨機(jī)數(shù),計(jì)算,,之后把登錄請(qǐng)求發(fā)送給控制服務(wù)器。
Step2:當(dāng)收到登錄請(qǐng)求后,開(kāi)始計(jì)算,,并且驗(yàn)證是否等于,如果驗(yàn)證相等,可以確認(rèn)的合法性。否則終止這次請(qǐng)求。
Step3:控制服務(wù)器計(jì)算,,,,,驗(yàn)證是否等于,如果驗(yàn)證等式成立,認(rèn)為用戶的身份合法,否則拒絕這次請(qǐng)求。
Step4:控制服務(wù)器生成一個(gè)隨機(jī)數(shù)計(jì)算,,,,控制服務(wù)器把作為相互認(rèn)證的信息發(fā)給。
Step5:提供服務(wù)的服務(wù)器收到控制服務(wù)器發(fā)送來(lái)的信息,計(jì)算,,,并驗(yàn)證是否等于。如果驗(yàn)證上述式子不成立,就拒絕這次訪問(wèn)。如果驗(yàn)證上述等式成立,就可以確認(rèn)控制服務(wù)器的合法性,并且把傳送給用戶。
Step6:用戶收到之后計(jì)算,,并驗(yàn)證是否等于,如果驗(yàn)證不相等,智能卡就拒絕這次訪問(wèn)。如果驗(yàn)證相等,智能卡就可以確認(rèn)提供服務(wù)的服務(wù)器和控制服務(wù)器的合法性。
最終,用戶,提供服務(wù)服務(wù)器,控制服務(wù)器達(dá)成了一個(gè)共享密鑰。相關(guān)步驟如圖1所示。
5.4 口令改變階段
當(dāng)用戶想要改變口令的時(shí)候觸發(fā)這個(gè)階段,這個(gè)階段不需要控制服務(wù)器的參與。用戶把智能卡插入讀卡器并輸入身份和口令,智能卡計(jì)算,,,并驗(yàn)證,如果等式成立,用戶就可以提交一個(gè)新的口令,智能卡計(jì)算,,,并把存儲(chǔ)在智能卡中替換。
6 改進(jìn)方案安全性分析(The proposed protocol
analysis)
在我們提出的方案中,即使智能卡中的信息被攻擊者提取出來(lái),攻擊者也不能利用這些信息成功攻擊這個(gè)方案,下面是安全性分析的具體細(xì)節(jié)。
6.1 假冒攻擊
在這種攻擊中,攻擊者需要偽造一個(gè)登錄請(qǐng)求來(lái)假冒合法用戶,然而攻擊者并不能計(jì)算
,,
,,
因?yàn)楣粽卟](méi)有。
我們假設(shè)用戶的智能卡丟失,攻擊者可以提取出智能卡中的信息,但是攻擊者得不到,也不能得到用戶的,所以攻擊者計(jì)算不出,,,也就不能利用得到的智能卡進(jìn)行假冒攻擊。
6.2 重放攻擊
假設(shè)攻擊者截獲到用戶和服務(wù)器之間的信息,想要把截獲到的信息再次發(fā)送給服務(wù)器來(lái)假冒合法用戶。然而,用戶計(jì)算,,,控制服務(wù)器計(jì)算,,,
,,
,提供服務(wù)的服務(wù)器計(jì)算,的時(shí)候,每次通信都選取不同的以保證每次發(fā)送的消息都是不同的,所以重放攻擊是無(wú)效的。
6.3 用戶的匿名性
在注冊(cè)階段,用戶和控制服務(wù)器之間是在安全信道中進(jìn)行通信,可以保護(hù)用戶的身份。在登錄階段,用戶用代替真正的身份來(lái)登錄,所以攻擊者不能得到真正的。在認(rèn)證和密鑰共識(shí)階段,所有的計(jì)算都是在的基礎(chǔ)上進(jìn)行的而不是真正的身份。此外用戶每次登錄的動(dòng)態(tài)身份包含隨機(jī)數(shù),所以用戶每次登錄的身份是不同的,因此攻擊者不能根據(jù)登錄請(qǐng)求來(lái)判斷具體是哪一個(gè)用戶。
7 結(jié)論(Conclusion)
在這篇文章中,我們指出了Li et al.的方案容易在用戶智能卡丟失的情況下受到用戶的假冒攻擊。于是,我們提出了一種新的多服務(wù)器間安全高效的基于動(dòng)態(tài)身份的身份認(rèn)證和密鑰共識(shí)方案,新方案可以滿足多服務(wù)器間相互認(rèn)證和密鑰共識(shí)方案的安全需求。與Li et al.的方案和其他的相關(guān)方案相比,我們的方案中控制服務(wù)器沒(méi)有存用戶的儲(chǔ)任何信息,即使智能卡丟失,攻擊者也無(wú)法進(jìn)行假冒攻擊。此外,我們的方案保證了用戶在通信過(guò)程中的匿名性,并提供了安全的共享密鑰,計(jì)算量也相對(duì)較小,所以我們的方案更安全,更高效。
參考文獻(xiàn)(References)
[1] Lamport L.Password Authentication with Insecure Communication[J].Communications of the Acm,1981,24(11):
770-772.
[2] Hwang M S,Li L H.A new Remote User Authentication Scheme Using Smart Cards.IEEE Transactions on Consumer Electronics,2000,46(1):28-30.
[3] Fan C I,Chan Y C,Zhang Z K.Improved Remote Authentication Scheme with Smart Card[J].Computers & Security,2005,27(2):177-180.
[4] Hwang M S,Chong S K,Chen T Y.DoS-Resistant ID-Based Password Authentication Scheme Using Smart Cards[J].Journal of Systems & Software,2010,83(1):163-172.
[5] Lee S W,Kim H S,Yoo K Y.Efficient Nonce-Based Remote User Authentication Scheme Using Smart Cards[J].Applied Mathematics & Computation,2005,167(1):355-361.
[6] Li C T,Hwang M S.An Efficient Biometrics-Based Remote User Authentication Scheme Using Smart Cards[J].Journal of Network & Computer Applications,2010,33(1):1-5.
[7] Li X,et al.Cryptanalysis and Improvement of a Biometrics-Based Remote User Authentication Scheme Using Smart Cards[J].Journal of Network & Computer Applications,2011,34(1):73-79.
[8] Li L H,Lin L C,Hwang M S.A Remote Password Authentication Scheme for Multiserver Architecture Using Neural Networks[J].IEEE Transactions on Neural Networks,2001,12(6):1498-1504.
[9] Juang W S.Efficient Multi-Server Password Authenticated Key Agreement Using Smart Cards.IEEE Transactions on Consumer Electronics[J].IEEE Transactions on Consumer Electronics,2004,50(4):251-255.
[10] Chang C C,Lee J S.An Efficient and Secure Multi-Server Password Authentication Scheme using Smart Cards[C].Proceedings of the 2004 International Conference on Cyberworlds.IEEE Computer Society,2004:417-422.
[11] Tsai J L.Efficient Multi-Server Authentication Scheme Based on One-Way Hash Function without Verification Table[J].Computers & Security,2008,27(s3-4):115-121.
[12] Liao Y P,Wang S S.A Secure Dynamic ID Based Remote User Authentication Scheme for Multi-Server Environment[J].Computer Standards & Interfaces,2009,31(1):24-29.
[13] Hsiang H C,Shih W K.Improvement of the Secure Dynamic ID Based Remote User Authentication Scheme for Multi-Server Environment[J].Computer Standards & Interfaces,
2009,31(6):1118-1123.
[14] Sood S K,Sarje A K,Singh K.A Secure Dynamic Identity Based Authentication Protocol for Multi-Server Architecture[J].Journal of Network & Computer Applications,
2011,34(2):609-618.
[15] Li X,et al.An Efficient and Security Dynamic Identity Based Authentication Protocol for Multi-Server Architecture Using Smart Cards[J].Journal of Network & Computer Applications,
2012,35(2):763-769.
作者簡(jiǎn)介:
王 牧(1990-),男,研究生.研究領(lǐng)域:信息安全.
亢保元(1965-),男,博士,教授.研究領(lǐng)域:信息安全.
景東亞(1990-),男,研究生.研究領(lǐng)域:信息安全.