国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于RSA的動態(tài)ID遠(yuǎn)程用戶認(rèn)證協(xié)議分析

2017-03-24 11:51翟靖軒徐玉林王大阜
電腦知識與技術(shù) 2017年1期
關(guān)鍵詞:認(rèn)證智能卡口令

翟靖軒+徐玉林+王大阜

摘要:基于口令和智能卡的雙因子遠(yuǎn)程用戶身份認(rèn)證已經(jīng)成為保障公共網(wǎng)絡(luò)數(shù)據(jù)安全的重要手段之一,可用于在線支付和在線醫(yī)療等領(lǐng)域。為解決Tsai等提出的方案存在的不能提供前向安全、存在內(nèi)部攻擊和拒絕服務(wù)攻擊等缺陷,Ma等基于RSA密碼體制提出了一種動態(tài)ID身份認(rèn)證協(xié)議。簡要回顧了Ma等的方案,并進(jìn)行了安全性分析。分析結(jié)果表明Ma等的方案仍然存在不能抵抗離線猜測攻擊、不能提供前向安全性等缺陷,并給出了具體攻擊步驟。

關(guān)鍵詞:認(rèn)證;RSA;分析;智能卡;口令

中圖分類號:TP309.08 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)01-0031-04

Abstract: Two-factor remote user authentication scheme based on password and smart card is the most popular way to protect secure data exchange over insecure channel. It can be used in online payment system and online medical system. Tsai et al. proposed a dynamic ID authentication scheme, which is vulnerable to denial of service attack and insider attack. To overcome these security flaws, Ma et al. propose an enhanced dynamic ID-based authentication scheme based on RSA. This paper reviews Ma et al.s authentication scheme and conduct a cryptanalysis. The analysis shows that the Ma et al.s scheme is still vulnerable to an offline guessing attack and unable to provide the forward secrecy. Then the concrete attack steps are given correspondingly.

Key words: authentication; RSA; cryptanalysis; smart card; password

1 背景

隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,針對遠(yuǎn)程用戶的身份認(rèn)證技術(shù)已經(jīng)成為保證信息安全的重要手段之一。遠(yuǎn)程身份認(rèn)證可用于在線支付[1]和在線醫(yī)療[2]等領(lǐng)域,是一種常用的保護(hù)合法用戶安全的訪問遠(yuǎn)程服務(wù)器的方法。基于口令的身份認(rèn)證協(xié)議由于口令簡單易記、使用便捷和無需額外設(shè)備支持等特點(diǎn),已成為一種應(yīng)用普遍的身份認(rèn)證協(xié)議。1981年Lamport[3]提出了在不安全的通信中,采用口令表認(rèn)證遠(yuǎn)程用戶的方案。在Lamport的方案中,一旦口令表被惡意用戶竊取,系統(tǒng)毫無安全性可言。此外,維護(hù)口令表的資源開銷也較大。為了解決這一問題,2000年Hwang等[4]提出了一種基于智能卡的遠(yuǎn)程身份認(rèn)證方案,Hwang等的方案不需要在服務(wù)器保存口令表,但Hwang等的方案被驗(yàn)證是不安全的。此后,研究人員提出了大量的協(xié)議用于增強(qiáng)身份認(rèn)證的安全性和提高效率。為提高安全性,研究人員采用了雙因子技術(shù)來加強(qiáng)身份認(rèn)證的安全性。雙因子身份認(rèn)證,通常是將“用戶所知道的”和“用戶所擁有的”這兩個(gè)認(rèn)證因子結(jié)合使用?;谥悄芸ê涂诹畹碾p因子認(rèn)證協(xié)議是研究熱點(diǎn)之一,大量基于智能卡的雙因子認(rèn)證協(xié)議被提出,主要包括:基于橢圓曲線密碼機(jī)制[5]、基于混沌密碼機(jī)制[6]、基于ElGamal密碼機(jī)制[7]和基于RSA密碼機(jī)制[8] 等。其中,基于RSA的雙因子認(rèn)證技術(shù),由于加密運(yùn)算量小非常適合在遠(yuǎn)程身份認(rèn)證協(xié)議中使用[8]。在計(jì)算能力相對較弱的客戶端執(zhí)行加密操作,在計(jì)算能力較強(qiáng)的服務(wù)器端執(zhí)行解密操作。

早期的智能卡與口令雙因子認(rèn)證方案中,用戶的身份(ID)是靜態(tài)的。當(dāng)攻擊者控制通信信道后,身份ID很容易被攻擊者從登錄消息中獲取,從而導(dǎo)致用戶被追蹤,不能滿足身份匿名的安全需求。這在很多身份隱私要求較高的系統(tǒng)中是不可行的,如在線醫(yī)療系統(tǒng)中,必須確保病人的身份信息不被泄露。2004年Das等[9]首次提出了基于智能卡的動態(tài)身份認(rèn)證協(xié)議,Das等宣稱他們的協(xié)議可以達(dá)到用戶匿名。然而,Das等的協(xié)議是不安全的,不能實(shí)現(xiàn)身份匿名、容易遭受拒絕服務(wù)攻擊和離線猜測攻擊,協(xié)議也沒有提供用戶和服務(wù)器之間的雙向認(rèn)證。此后,為提高動態(tài)身份認(rèn)證協(xié)議的安全性,研究者們又開展了大量工作。Wang等[10]提出了一種動態(tài)身份認(rèn)證協(xié)議,并宣稱他們的方案在保持了Das協(xié)議特性的基礎(chǔ)上,更為安全和有效。Tsai等[11]指出Wang的方案不能提供用戶匿名,不能抵抗仿冒攻擊,并提供了一種改進(jìn)的方案。Ma等[12]指出Tsai的方案不能提供前向安全,并存在內(nèi)部攻擊和拒絕服務(wù)攻擊。為了解決Tsai方案的缺陷,Ma等提出了一種基于RSA的動態(tài)ID口令認(rèn)證協(xié)議,宣稱他們的方案可以抵抗離線口令猜測攻擊、仿冒攻擊、拒絕服務(wù)攻擊、重放攻擊和并行會話攻擊等,并達(dá)到前向安全、用戶匿名和雙向認(rèn)證等目標(biāo)。然而,我們的分析指出Ma等的方案依然不能提供前向安全,并容易遭受離線猜測攻擊。

本文結(jié)構(gòu)安排如下。第2節(jié)給出了安全假設(shè)模型和定義,第3節(jié)簡單回顧了Ma等提出的方案,第4節(jié)分析了Ma等的提出方案并指出了存在的問題,第5節(jié)是結(jié)束語。

2 預(yù)備知識

本節(jié)給出了基于智能卡和口令的動態(tài)ID認(rèn)證協(xié)議相關(guān)知識和安全假設(shè)模型。本文所分析協(xié)議安全的安全假設(shè)模型基于Dolev-Yao模型[13]拓展,協(xié)議采用RSA密碼機(jī)制設(shè)計(jì)。相關(guān)定義及模型描述如下:

2.1 安全假設(shè)模型

協(xié)議的安全模型,攻擊者可以執(zhí)行的操作和不具有的能力描述如下:

1)攻擊者可以監(jiān)聽、攔截、重放和修改公開信道中的任何消息。也可以是一個(gè)合法的內(nèi)部用戶,如服務(wù)器或系統(tǒng)中的用戶。

2)攻擊者在公開信道中可以冒充服務(wù)器和任何用戶向其他實(shí)體發(fā)送消息。

3)攻擊者可以竊取用戶的智能卡,并采用邊信道攻擊方法獲取智能卡中的所有秘密參數(shù)。

4)用戶的身份ID和口令是一個(gè)有限的空間,可被攻擊者在獲取一定秘密參數(shù)的前提下,采用離線猜測方法獲取。但秘密數(shù)字和隨機(jī)數(shù)是一個(gè)足夠大的空間,攻擊者無法猜到。攻擊者也無法從公鑰猜測到私鑰。

5)沒有正確的密鑰,攻擊者無法從給定的密文中恢復(fù)出明文。

6)攻擊者無法控制私有通信。

2.2 RSA公鑰密碼體制

RSA是一種常用的加密算法,由Rivest、Shamir和Adleman于1977年發(fā)布。RSA是基于大整數(shù)因子分解困難問題而設(shè)計(jì),即給定兩個(gè)大素?cái)?shù)p、q,計(jì)算n = pq是容易的。相反,給定大整數(shù)n,求其素因子p、q是困難的。RSA公鑰密碼體制介紹如下:

1)參數(shù)定義與密鑰生成

step1:首先秘密選擇兩個(gè)大素?cái)?shù)p,q,計(jì)算n = pq;

step2:計(jì)算歐拉函數(shù)φ (n) = (p-1)(q-1),隨機(jī)選擇一個(gè)整數(shù)e,滿足1

step3: 公開(e,n)作為公鑰,并保持p、q和d為秘密數(shù)。

2)加密與解密算法

設(shè)明文為m,密文為c,加密及解密算法如下:

加密:c = me mod n

解密:m = cd mod n

2.3 相關(guān)定義

本文分析協(xié)議所使用的定義描述如下:

l Ui:第i個(gè)用戶

l S:服務(wù)器

l :攻擊者

l IDi:用戶i的身份

l PWi:用戶i的口令

l n:n=pq,p、q是兩個(gè)不同的大素?cái)?shù)

l d:服務(wù)器的私鑰

l e:服務(wù)器的公鑰

l |ID|:用戶的身份空間

l |PW|:用戶的口令空間

l h(·):哈希函數(shù)

l :異或操作

l ||:連接操作

3 Ma等的方案回顧

Ma等[9]提出身份認(rèn)證方案包括4個(gè)階段:1)注冊階段;2)登錄階段;3)認(rèn)證階段;4)口令更改階段。其中,每個(gè)用戶只有執(zhí)行注冊后才可以使用系統(tǒng),注冊階段每個(gè)用戶只執(zhí)行一次,而且是在安全通信的環(huán)境中執(zhí)行。圖1列出了注冊階段、登錄階段和認(rèn)證階段的協(xié)議執(zhí)行過程。

3.1 注冊階段

服務(wù)器初始化時(shí)根據(jù)RSA密碼機(jī)制,先選取兩個(gè)安全的大素?cái)?shù)p和q,并計(jì)算n=p*q。隨后選擇一個(gè)e,并計(jì)算相應(yīng)的d,滿足ed ≡ 1 mod φ (n)。最后,服務(wù)器公開n和e作為公鑰,并保持p、q和d為秘密數(shù)。

當(dāng)用戶Ui在系統(tǒng)注冊時(shí),執(zhí)行以下過程:

Step1:用戶Ui選擇身份IDi、密碼PWi和一個(gè)隨機(jī)數(shù)b,并計(jì)算RPWi=h(b||PWi),然后通過安全信道發(fā)送{IDi、RPWi}到服務(wù)器。

Step2: S選擇一個(gè)隨機(jī)數(shù)yi,并計(jì)算Ni = h(IDi || RPWi) h(d),Ai=h(RPWi|| IDi), Bi=yi IDiRPWi,D i= h(h(IDi||yi) h(d))。S存儲{ D i ,yi h(h(d )|| d) , IDi h(IDi||yi)}到數(shù)據(jù)庫。隨后,S存儲{Ni,Ai,Bi,n,e,h(·)}到智能卡并通過安全方式發(fā)送給用戶Ui。

Step3:當(dāng)Ui收到智能卡后,存儲b到智能卡。

3.2 登錄階段

當(dāng)用戶Ui登錄系統(tǒng)時(shí),執(zhí)行以下過程:

Step1:用戶Ui插入智能卡,輸入ID*和PW*,智能卡計(jì)算RPW*= h(b||PW*),A*=h(RPW*|| ID*)。智能卡檢查A*是否等于存儲在智能卡里的Ai,如果A*Ai,智能卡拒絕用戶登錄。

Step2:智能卡生成隨機(jī)數(shù)Nu,計(jì)算yi = Bi ID*RPW*,h(d)= h(ID*|| RPWi) Ni,CIDi= h(ID*||yi) h(h(d) ||Nu) ,C1=Nuemod n。Ui發(fā)送登錄消息{ CIDi,C1 }到服務(wù)器S。

3.3 認(rèn)證階段

當(dāng)服務(wù)器S收到Ui的登錄請求后,執(zhí)行以下步驟:

Step1:服務(wù)器S首先使用私鑰d從C1中解密出Nu,計(jì)算h(IDi||yi) = CIDi h(h(d) ||Nu),D i*= h(h(IDi||yi) h(d))。然后,服務(wù)器S檢查數(shù)據(jù)庫中是否有對應(yīng)的D i*,如果沒有,服務(wù)器S拒絕用戶Ui的登錄請求。否則,S從數(shù)據(jù)庫中提取出對應(yīng)的yi h(h(d )|| d) , IDi h(IDi||yi),采用d計(jì)算yi =( yi h(h(d )|| d) ) h(h(d )|| d),IDi=( IDi h(IDi||yi) ) h(IDi||yi)。最后,服務(wù)器選取一個(gè)隨機(jī)數(shù)Ns,計(jì)算SKs= h(IDi|| yi ||Nu||Ns||CIDi),C2= h(yi || IDi ||SKs),S發(fā)送響應(yīng)消息{Ns,C2}到Ui。

Step2:當(dāng)用戶Ui收到{Ns,C2}后,Ui首先計(jì)算SKu= h(IDi|| yi ||Nu||Ns|| CIDi),C2*= h(yi || IDi ||SKu),比較C2*是否等于C2。如果相等,Ui選取SKu為會話密鑰,并計(jì)算C3= h(Nu||Ns|| yi || IDi || SKu),發(fā)送{C3}到服務(wù)器S。

Step3:服務(wù)器S收到{C3}后,計(jì)算C3*= h(Nu||Ns|| yi || IDi || SKs),比較C3*是否C3等于。如果相等,服務(wù)器S確定SKs為會話密鑰。

3.4 口令更改階段

Step1:用戶Ui插入智能卡,輸入IDi、原密碼PWi和新密碼PWnew。首先,智能卡計(jì)算RPW*= h(b||PWi),A*=h(RPW*|| IDi)。智能卡檢查A*是否等于存儲在智能卡里的Ai,如果A*Ai,智能卡拒絕用戶Ui修改密碼。

Step2:智能卡計(jì)算Nnew= Ni h(IDi||h(b||RPW*))h(IDi || h(b || PWnew)),Anew=h(h(b||PWnew)|| IDi), Bnew= BiRPW* h(b || PWnew)。然后,智能卡用{Nnew,Anew,Bnew }替換{Ni,Ai,Bi }。

4 Ma等的方案分析

本節(jié)分析了Ma等的方案,指出方案存在不能抵抗離線猜測攻擊、不能達(dá)到前向安全性的設(shè)計(jì)缺陷,并給出了具體攻擊步驟。

4.1 不能抵抗離線猜測攻擊

Ma等的方案不能抵抗離線猜測攻擊。當(dāng)攻擊者竊取了合法用戶的智能卡后,可以通過邊信道攻擊方法獲取到智能卡中的秘密參數(shù)Ai,從而執(zhí)行離線猜測攻擊,獲取合法用戶的身份ID和密碼PW。攻擊步驟如下:

Step1: 攻擊者從身份空間|ID|選取一個(gè)身份ID*,從用戶的口令空間|PW|選取一個(gè)口令PW*;

Step2:攻擊者計(jì)算,A*=h(h(b||PW*)*||ID*);

Step3:攻擊者比較A*是否等于智能卡中的Ai。如果不相等,重復(fù)執(zhí)行Step1和Step2,直到正確猜解出用戶相應(yīng)的身份ID和口令PW。

與密鑰空間和隨機(jī)數(shù)空間不同,用戶的身份空間|ID|和用戶口令空間|PW|通常不是非常大。攻擊者的搜索空間為|ID|×|PW|,能夠在多項(xiàng)式時(shí)間內(nèi)完成身份和口令的遍歷,從A*中猜測出正確的身份IDi和口令PWi。因此,Ma等的方案不能抵抗離線猜測攻擊。

4.2 不能提供前向安全性

身份認(rèn)證協(xié)議的前向安全性是指當(dāng)攻擊者獲取了服務(wù)器S的長期私鑰d等私密信息,并獲取了用戶和服務(wù)器在公開信道傳輸?shù)乃行畔?,之前的會話密鑰SK仍然是安全的。我們的分析表明,Ma等的方案不能確保前向安全性。

當(dāng)攻擊者獲取了服務(wù)器的長期私鑰d,竊取了服務(wù)器中的數(shù)據(jù)庫{ Di,yi h(h(d )|| d) , IDi h(IDi||yi)},記錄了之前的通信消息{CIDi,C1}和{Ns,C2}。執(zhí)行攻擊步驟如下:

Step1:攻擊者從通信中獲取{ CIDi,C1 },解密Nu= C1dmod n,計(jì)算Di*= h(CIDi h(h(d) ||Nu)) h(d)),使用從Di*數(shù)據(jù)庫中提取對應(yīng)的yi h(h(d )|| d) , IDi h(IDi||yi),采用d計(jì)算yi =( yi h(h(d )|| d) ) h(h(d )|| d),IDi=( IDi h(IDi||yi) ) h(IDi||yi)。此步驟執(zhí)行完成后,成功獲取到了CIDi、Nu、IDi和yi。

Step2:攻擊者從服務(wù)器發(fā)送給用戶的消息中獲取到Ns,再利用Step1中獲取的參數(shù),成功計(jì)算出對應(yīng)的會話密鑰SK= h(IDi|| yi ||Nu||Ns|| CIDi)。

執(zhí)行完以上攻擊步驟后,攻擊者成功計(jì)算出之前的會話密鑰,從而可以解密用戶和服務(wù)器之間已經(jīng)完成的通信。因此,Ma等的方案不能提供前向安全性。

5 結(jié)束語

基于智能卡的雙因子認(rèn)證協(xié)議是保障數(shù)據(jù)安全,保護(hù)用戶隱私的重要手段。如何設(shè)計(jì)采用公鑰技術(shù)的雙向認(rèn)證和密鑰協(xié)商協(xié)議是學(xué)術(shù)界研究的熱點(diǎn)之一。本文回顧了基于智能卡和口令的身份認(rèn)證協(xié)議發(fā)展歷程,總結(jié)了智能卡身份認(rèn)證協(xié)議設(shè)計(jì)時(shí)需關(guān)注的問題:智能卡中的秘密信息可被攻擊者獲取,保證身份匿名是信息系統(tǒng)的重要目標(biāo)。列出了設(shè)計(jì)基于RSA的動態(tài)ID身份認(rèn)證協(xié)議所需的相關(guān)知識,簡要地回顧了Ma等提出身份認(rèn)證方案。最后對Ma等的方案進(jìn)行了安全性分析,指出了Ma等的方案存在的不能抵抗離線猜測攻擊,不能提供前向安全等缺陷。這兩個(gè)安全需求,也是今后設(shè)計(jì)安全的身份認(rèn)證協(xié)議需考慮的重要因素。

參考文獻(xiàn):

[1] 王菁, 鄔書躍, 梁欣. 一種安全高效的在線移動支付協(xié)議[J]. 計(jì)算機(jī)工程與應(yīng)用, 2013, 49(16): 82-85.

[2] Cao T, Zhai J. Improved Dynamic ID-based Authentication Scheme for Telecare Medical Information Systems[J]. Journal of Medical Systems, 2013, 37(2): 1-7.

[3] Lamport L. Password authentication with insecure communication [J]. Communications of the ACM, 1981, 24(11): 770-772.

[4] Hwang M S, Li L H. A new remote user authentication scheme using smart cards [J]. IEEE Transactions on Consumer Electronics, 2000, 46(1): 28-30.

[5] 石亞娟, 黃輝輝, 陳建華. 基于智能卡的動態(tài)身份認(rèn)證協(xié)議[J]. 電子技術(shù)應(yīng)用, 2015, 41(3): 97-100.

[6] Zhu H, Hao X. A provable authenticated key agreement protocol with privacy protection using smart card based on chaotic maps[J]. Nonlinear Dynamics, 2015, 81(1-2): 311-321.

[7] Maitra T, Obaidat M S, Amin R, et al. A robust ElGamalbased password authentication protocol using smart card for client server communication[J]. International Journal of Communication Systems, 2016.

[8] 汪定, 王平, 李增鵬,等. 可證明安全的基于RSA的遠(yuǎn)程用戶口令認(rèn)證協(xié)議[J]. 系統(tǒng)工程理論與實(shí)踐, 2015, 35(1):191-204.

[9] Das M L, Saxena A, Gulati V P. A dynamic ID-based remote user authentication scheme[J]. IEEE Transactions on Consumer Electronics, 2004, 50(2): 629-631.

[10] Wang Y, Liu J, Xiao F, et al. A more efficient and secure dynamic ID-based remote user authentication scheme[J]. Computer Communications, 2009, 32(4): 583-585.

[11] Tsai J L, Wu T C, Tsai K Y. New dynamic ID authentication scheme using smart cards[J]. International Journal of Communication Systems, 2010, 23(12): 1449-1462.

[12] Ma C, Wang D, Zhao P, et al. A new dynamic ID-Based remote user authentication scheme with forward secrecy[C]. International Conference on Web Technologies and Applications. 2012:199-211.

[13] Dolev D, Yao A. On the security of public key protocols[J]. IEEE Transactions on information theory, 1983, 29(2): 198-208.

猜你喜歡
認(rèn)證智能卡口令
高矮胖瘦
東方磁卡李曉東:進(jìn)擊的智能卡研發(fā)巨子
口 令
基于STC89 單片機(jī)的非接觸智能卡讀寫機(jī)設(shè)計(jì)
好玩的“反口令”游戲
中職校園網(wǎng)絡(luò)安全管理系統(tǒng)設(shè)計(jì)
SNMP服務(wù)弱口令安全漏洞防范
臨沂機(jī)頂盒智能卡升級方案介紹
智能卡領(lǐng)域首個(gè)國家工程建設(shè)標(biāo)準(zhǔn)發(fā)布
平潭县| 靖西县| 涿鹿县| 多伦县| 昆明市| 周宁县| 沙河市| 汕尾市| 永清县| 高青县| 唐海县| 泌阳县| 历史| 长兴县| 潞西市| 瑞安市| 莱阳市| 衡阳县| 汝州市| 郯城县| 湘阴县| 孝昌县| 静安区| 财经| 泸溪县| 黎川县| 新巴尔虎左旗| 辽宁省| 涪陵区| 灵璧县| 乌鲁木齐市| 措美县| 青田县| 禄丰县| 化德县| 神农架林区| 曲周县| 漳平市| 青岛市| 余江县| 正阳县|