郭程
摘要:目前很多系統(tǒng)還主要依靠單因子的方式進(jìn)行身份認(rèn)證,這些技術(shù)相比雙因子的身份認(rèn)證方案更易遭受假冒服務(wù)器攻擊和重放攻擊。本文以2011年Li等人[1]的方案為基礎(chǔ)進(jìn)行算法改進(jìn),提出了一種改進(jìn)的遠(yuǎn)程雙因子雙向身份認(rèn)證方案,改進(jìn)的方案引入了雙向認(rèn)證機(jī)制,使系統(tǒng)的遠(yuǎn)程通信更加符合平等交互的安全原則。相比傳統(tǒng)信息系統(tǒng)的單因子認(rèn)證方案,本方案的系統(tǒng)安全性得到了很大改善。最后通過(guò)與Li和Throung[2]的方案進(jìn)行比較,說(shuō)明本文的方案具有更高的效率和安全性。
1 Li的方案
Li等人[1]在2011年發(fā)表的研究中,針對(duì)Chun-Ta Li等人2009年所提出的結(jié)合指紋特征和智能卡的遠(yuǎn)程用戶(hù)身份認(rèn)證方案[3]進(jìn)行分析。研究發(fā)現(xiàn)雖然Chun-Ta Li等人所提出的方案具有不存在認(rèn)證表、能夠抵擋部分攻擊以及儲(chǔ)存在智能卡里的資料受指紋密鑰保護(hù)等優(yōu)點(diǎn),然而其設(shè)計(jì)的認(rèn)證方案仍然無(wú)法抵抗中間人攻擊、驗(yàn)證失敗攻擊(攻擊者從中篡改信息)和密碼猜測(cè)攻擊。因此Li等人提出的方案中,在雙向認(rèn)證階段的最后加入了會(huì)話密鑰交換機(jī)制。
以下針對(duì)Li等人的方案做簡(jiǎn)要說(shuō)明:
Li等人的方案包含四個(gè)階段:注冊(cè)、登錄、認(rèn)證、修改密碼階段。假設(shè)注冊(cè)中心是可信的第三方,首先選定主要密鑰和不公開(kāi)的隨機(jī)數(shù),并將,通過(guò)安全的信道傳送給服務(wù)端。主要密鑰為服務(wù)端和注冊(cè)中心共同持有,不公開(kāi)的隨機(jī)數(shù)為服務(wù)器和用戶(hù)的智能卡共同持有。另外,考慮到哈希函數(shù)的輸出結(jié)果容易隨著輸入值的變化而變化,無(wú)法直接將指紋特征值直接做哈希運(yùn)算,Li等人改用指紋識(shí)別模板來(lái)進(jìn)行指紋認(rèn)證。
本文對(duì)Li等人所提出的改進(jìn)方案進(jìn)行研究分析后發(fā)現(xiàn),Li所提出的方案無(wú)法抵抗假冒攻擊和竊取驗(yàn)證表攻擊。Li方案的各個(gè)弱點(diǎn)說(shuō)明如下:
1.1 冒充身份攻擊
在冒充身份攻擊(Impersonate Attack)中,攻擊者通過(guò)某種方式取得用戶(hù)的并竊取用戶(hù)智能卡,將其破解或通過(guò)監(jiān)聽(tīng)信道取得卡片上儲(chǔ)存的內(nèi)容[4]。攻擊者使用,,向注冊(cè)中心申請(qǐng)注冊(cè),注冊(cè)中心計(jì)算,,并儲(chǔ)存,在攻擊者的智能卡中,攻擊者計(jì)算得到,利用所得信息攻擊者可以隨時(shí)假冒用戶(hù)發(fā)起攻擊。
1.2 竊取驗(yàn)證表攻擊
所謂竊取驗(yàn)證表攻擊(Stolen Verifier Attack),是指攻擊者竊取遠(yuǎn)程服務(wù)器的驗(yàn)證表,從中獲得用戶(hù)的身份認(rèn)證識(shí)別碼和通行碼,并進(jìn)一步利用此信息假冒服務(wù)器。在Li等人所提的方案中,服務(wù)器利用儲(chǔ)存來(lái)預(yù)防重放攻擊。若驗(yàn)證表遭竊,且攻擊者持有用戶(hù)與服務(wù)器的通信信息,攻擊者通過(guò)計(jì)算得到接著計(jì)算 。
持有,,,,攻擊者便可以偽造,,回傳給用戶(hù)并通過(guò)用戶(hù)驗(yàn)證,成功欺騙用戶(hù)。
2 基于指紋特征的遠(yuǎn)程雙因子雙向認(rèn)證方案
為了避免以上專(zhuān)業(yè)攻擊,提高遠(yuǎn)程認(rèn)證機(jī)制的可靠性,本小節(jié)以Li等人的方案為基礎(chǔ),提出一種基于指紋特征的雙因子雙向身份認(rèn)證方案,設(shè)計(jì)的算法在注冊(cè)、登錄和認(rèn)證階段都有所改進(jìn),更好的保護(hù)了用戶(hù)匿名性,并能抵抗一些攻擊。
2.1 注冊(cè)階段
用戶(hù)和注冊(cè)中心依照下列步驟進(jìn)行注冊(cè)操作:
第一步,用戶(hù)選取隨機(jī)值并計(jì)算,然后輸入用戶(hù)的指紋模板,并將及賬號(hào)通過(guò)安全的信道提供給注冊(cè)中心。
第二步,注冊(cè)中心R將與隨機(jī)數(shù)加密運(yùn)算生成 接著計(jì)算,,。其中,主密鑰由注冊(cè)中心RC與服務(wù)器共享,用戶(hù)密碼只有用戶(hù)自己知道。
第三步,注冊(cè)中心R儲(chǔ)存,,,,,在用戶(hù)的智能卡上。
第四步,用戶(hù)得到智能卡后,輸入隨機(jī)數(shù),儲(chǔ)存在智能卡上。
2.2 登錄階段
當(dāng)用戶(hù)登錄服務(wù)器時(shí),執(zhí)行以下步驟:
第一步,用戶(hù)使用指紋掃描設(shè)備輸入指紋圖像。經(jīng)過(guò)圖像增強(qiáng)、尺寸調(diào)整、正規(guī)化、圖像處理、特征提取、指紋匹配,與指紋識(shí)別模板進(jìn)行比較。若指紋識(shí)別模板與智能卡裝置上的匹配成功,接著再輸入賬號(hào)計(jì)算完成用戶(hù)端的驗(yàn)證,用戶(hù)繼續(xù)執(zhí)行以下步驟:
第二步,用戶(hù)輸入。根據(jù)計(jì)算,,,若,則,其中為用戶(hù)生成的一個(gè)隨機(jī)數(shù),
2.3 認(rèn)證階段
當(dāng)服務(wù)器收到登錄信息后,服務(wù)器和用戶(hù)依照下面步驟進(jìn)行相互認(rèn)證。
第一步,服務(wù)器計(jì)算、即、。
服務(wù)器傳送認(rèn)證 信息給用戶(hù)。
第二步,收到傳送的認(rèn)證信息后計(jì)算
驗(yàn)證是否成立,若成立,則用戶(hù)將服務(wù)器視為合法的服務(wù)器,初始化會(huì)話累計(jì)標(biāo)志。
第三步,服務(wù)器計(jì)算。
2.4 更改密碼階段
首先,若用戶(hù)通過(guò)指紋識(shí)別模板匹配成功,則輸入舊密碼和新密碼。智能卡使用舊密碼計(jì)算如下數(shù)據(jù), 。
再使用新密碼計(jì)算進(jìn)行如下計(jì)算, ,,完成計(jì)算后將取代存儲(chǔ)到智能卡中。
3 本文小結(jié)
本文以2011年Li等人的方案為基礎(chǔ)進(jìn)行算法改進(jìn),提出了一種改進(jìn)的遠(yuǎn)程雙因子雙向身份認(rèn)證方案,實(shí)現(xiàn)了服務(wù)器和用戶(hù)的雙向認(rèn)證機(jī)制,提高了系統(tǒng)的安全性和精確性;并通過(guò)隨機(jī)數(shù)加密,實(shí)現(xiàn)了用戶(hù)匿名性。實(shí)驗(yàn)結(jié)果說(shuō)明方案能夠有效保護(hù)了用戶(hù)匿名性,可以抵抗密碼猜測(cè)攻擊、拒絕服務(wù)攻擊、重放攻擊、中間人攻擊、篡改攻擊、假冒服務(wù)器攻擊。最后通過(guò)與Li和Throung的方案進(jìn)行比較,說(shuō)明方案具有更高的效率和安全性。
參考文獻(xiàn):
[1]LI X,NIU J-W,MA Jet al. Cryptanalysis and improvement of a biometrics-based remote user authentication scheme using smart cards[J]. Journal of Network and Computer Applications,2011,34(1):73–79.
[2]TRUONG T-T,TRAN M-T,DUONG A-D. Robust biometrics-based remote user authentication scheme using smart cards[C]//Network-Based Information Systems(NBiS),2012 15th International Conference on. IEEE,2012:384–391.
[3]H.M. S. a efficient remote user authentication sheme using smart cards[J]. IEEE Transactions on Consumer Electronics,2000,46(4):958–961.
[4]LAMPORT L. Password authentication with insecure communication[J]. Communications of the ACM,1981,24(11):770–772.