《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 一種新的基于智能卡的雙向身份認(rèn)證方案設(shè)計(jì)
一種新的基于智能卡的雙向身份認(rèn)證方案設(shè)計(jì)
計(jì)算機(jī)應(yīng)用研究   
摘要: 計(jì)算機(jī)網(wǎng)絡(luò)的普及使更多的資源和應(yīng)用可以利用網(wǎng)絡(luò)遠(yuǎn)程獲得,,所以身份認(rèn)證問題成為網(wǎng)絡(luò)安全研究中的重要課題。當(dāng)前主要的身份認(rèn)證方法有以下幾種:基于口令的身份認(rèn)證,;基于生物特征的身份認(rèn)證,;基于智能卡的身份認(rèn)證以及幾種方式的混合認(rèn)證。結(jié)合密碼學(xué)和智能卡技術(shù)的身份認(rèn)證方案也被多次提出,,許多專家和學(xué)者還提出了多種改進(jìn)的方案,。
Abstract:
Key words :
  摘 要:計(jì)算機(jī)網(wǎng)絡(luò)的普及使更多的資源和應(yīng)用可以利用網(wǎng)絡(luò)遠(yuǎn)程獲得,所以身份認(rèn)證問題成為網(wǎng)絡(luò)安全研究中的重要課題,。當(dāng)前主要的身份認(rèn)證方法有以下幾種:基于口令的身份認(rèn)證,;基于生物特征的身份認(rèn)證;基于智能卡的身份認(rèn)證以及幾種方式的混合認(rèn)證,。結(jié)合密碼學(xué)和智能卡技術(shù)的身份認(rèn)證方案也被多次提出,,許多專家和學(xué)者還提出了多種改進(jìn)的方案。

  但是,,這些方案均會(huì)出現(xiàn)一些不可避免的漏洞,。針對(duì)多種方案的漏洞,該文提出了一種在智能卡中引入公鑰密碼算法的認(rèn)證方案,并對(duì)其安全性進(jìn)行了分析,,該方案的安全性和優(yōu)越性也在文中得到體現(xiàn),。

  0 引言

  隨著計(jì)算機(jī)網(wǎng)絡(luò)的普及和電子商務(wù)的發(fā)展,越來越多的資源和應(yīng)用都是利用網(wǎng)絡(luò)遠(yuǎn)程獲得的,。如何確保特定資源只被合法,、授權(quán)的用戶訪問,即如何正確地鑒別出用戶的身份是確保通信網(wǎng)和數(shù)據(jù)安全的首要條件,。目前,,主要的身份認(rèn)證方法有3 種:基于口令的身份認(rèn)證;基于生物特征的身份認(rèn)證和基于智能卡的身份認(rèn)證,。結(jié)合密碼學(xué)技術(shù),,很多專家和學(xué)者提出了基于智能卡的身份認(rèn)證的有效方案。

  2000 年,,Sun提出了一種基于哈希函數(shù)的智能卡有效遠(yuǎn)程認(rèn)證方案,,但該方案容易遭受密碼猜測(cè)攻擊和內(nèi)部攻擊。2002 年,,文獻(xiàn)[5]作者也在單向哈希函數(shù)基礎(chǔ)上提出了一種方案,。隨后,很多專家和學(xué)者提出了各自的方案,,這些方案通過引入隨機(jī)數(shù),、計(jì)數(shù)器、時(shí)戳等參數(shù)來實(shí)現(xiàn)有效地,、安全地雙向認(rèn)證,。但遺憾的是,這些方案均會(huì)出現(xiàn)一些不可避免的漏洞,。

  在分析以上方案的基礎(chǔ)上,,這里提出了一種新的遠(yuǎn)程用戶認(rèn)證方案。該方案是隨著電子技術(shù)和芯片技術(shù)的發(fā)展而產(chǎn)生的設(shè)想,。文獻(xiàn)[6-8]證明了公鑰密碼算法在智能卡中的應(yīng)用,。該方案在保留了以上文獻(xiàn)所采用的部分參數(shù)的基礎(chǔ)上,在智能卡中引入了公鑰密碼算法,,可靠地實(shí)現(xiàn)了通信雙方的身份認(rèn)證,,能夠抵御多數(shù)類型攻擊,具有很強(qiáng)的安全性,。

  1 術(shù)語定義

  下面定義在文中所用到的符號(hào):

  U 表示認(rèn)證協(xié)議中的用戶,;S 表示認(rèn)證協(xié)議中的認(rèn)證服務(wù)器;ID 為用戶的身份標(biāo)識(shí),;PW 為用戶登陸口令,;Ti 為時(shí)戳,;h﹙·﹚為單向哈希函數(shù);⊕為異或運(yùn)算,;為安全的通信信道,;→為不安全的、普通的通信信道,;E 為加密算法,;D 為解密算法;Ku 為用戶的公鑰,;ku 為用戶的私鑰;Ks 為服務(wù)器的公鑰,;ks 為服務(wù)器的私鑰,。

  2 所提出的認(rèn)證方案

  該方案由注冊(cè)階段、登陸階段,、雙向驗(yàn)證階段,、密碼修改階段組成。

  2.1 注冊(cè)階段

  R1:用戶選擇自己的標(biāo)識(shí)ID,、公鑰Ku,、私鑰ku、口令PW 并計(jì)算h﹙PW﹚,,通過安全信道提交給認(rèn)證服務(wù)器S,,即US:ID,h﹙PW﹚,,Ku,,ku。

  R2:服務(wù)器產(chǎn)生自己的私鑰ks 和公鑰Ks,,并將自己的公鑰Ks 發(fā)布出去,,將ks 保存好,把用戶的公鑰Ku 存入數(shù)據(jù)庫(kù),。同時(shí)服務(wù)器計(jì)算Vi=h﹙ID⊕ks﹚,,Ri=h﹙ID⊕ks﹚⊕h﹙PW﹚,然后將信息{Ri,,h﹙·﹚,,Ks,ku,,公鑰算法}寫入智能卡,。

  R3: S 把智能卡通過安全信道交給用戶,即S U:Card{Ri,,h﹙·﹚,,Ks,,ku,公鑰算法},。

  2.2 登陸階段

  L1:用戶U 把智能卡插入相關(guān)終端設(shè)備,,輸入ID、PW,,智能卡與終端設(shè)備驗(yàn)證ID,、PW 的合法性,否則放棄,。

  L2:記錄系統(tǒng)時(shí)戳T1,,智能卡計(jì)算Vi=Ri⊕h﹙PW﹚,C1= h﹙T1⊕Vi﹚,,并使用服務(wù)器的公鑰Ks 進(jìn)行加密運(yùn)算,,ET1=E﹙T1,Ks﹚,,EC1=E﹙C1,,Ks﹚。

  L3:用戶U 通過一般信道將登陸信息m1{T1,,C1,,ET1,EC1}發(fā)給服務(wù)器S,,即:U→S: m1{ T1,,C1,ET1,,EC1},。

  2.3 雙向驗(yàn)證階段

  V1:服務(wù)器S 收到m1{ T1,C1,,ET1,,EC1}后,首先用自己的私鑰ks 進(jìn)行解密運(yùn)算:T1*=D﹙T1,,ks﹚,,C1*=D(C1,ks﹚,,然后進(jìn)行比較判斷:T1*與T1 是否相等,,C1*與C1 是否相等。若不能滿足兩者同時(shí)相等,,則放棄,;若兩者同時(shí)相等,則進(jìn)行下面的計(jì)算,。

  V2:計(jì)算Vi= h﹙ID⊕ks﹚,。

  V3:驗(yàn)證h﹙T1⊕Vi﹚是否與C1 相等,,若不相等,則為非法用戶,;若相等,,則為合法用戶。

  V4:記錄系統(tǒng)時(shí)戳T2,,計(jì)算C2= h﹙T2⊕Vi﹚,,并使用存儲(chǔ)在數(shù)據(jù)庫(kù)中的用戶的公鑰Ku 進(jìn)行加密運(yùn)算:ET2=E(T2,Ku﹚,,EC2=E﹙C2,,Ku﹚。

  V5:服務(wù)器S 通過一般信道將反饋信息m2{ T2,,C2,,ET2,EC2}發(fā)給用戶U,。即:S→U: m2{ T2,C2,,ET2,,EC2}。

  V6:用戶U 收到信息m2{ T2,,C2,,ET2,EC2}后,,使用自己的私鑰ku 進(jìn)行解密運(yùn)算:T2*=D﹙T2,,ku﹚,C2*=D﹙C2,,k u﹚,,然后進(jìn)行比較判斷:T2*與T2 是否相等,C2*與C2 是否相等,。若不能滿足兩者同時(shí)相等,,則放棄;若兩者同時(shí)相等,,則進(jìn)行下面的計(jì)算,。

  V7:驗(yàn)證h﹙T2⊕Vi﹚是否與C2 相等,若不相等,,則為非法服務(wù)器,;若相等,則為合法服務(wù)器,。

  2.4 密碼修改階段

  P1:計(jì)算Ri*=Ri⊕h(PW)⊕h(PW*)=h(ID⊕ks)⊕h﹙PW*﹚,。

  P2:用Ri*取代Ri,,并存放在智能卡中。

  3 安全性分析

  該方案引入了公鑰密碼體制,,在非安全信道傳遞信息時(shí),,均經(jīng)過加密處理,因此具有很強(qiáng)的安全性,,能抵御多種攻擊,。

  3.1 重放攻擊

  假設(shè)攻擊者截獲了L3 階段的登錄信息m1{ T1,C1,,ET1,,EC1},并且更改了明文形式的時(shí)戳T1 為T1’,。但是,,在登錄信息中仍然包含了加密后的時(shí)戳ET1,在V1 階段,,由于解密出的T1*≠T1’,,攻擊者遭到拒絕。

  3.2 拒絕服務(wù)攻擊

  在很多文獻(xiàn)中都是利用T2-T1=ΔT 來作為驗(yàn)證條件,,因此當(dāng)網(wǎng)絡(luò)發(fā)生阻塞或攻擊者故意攔截登錄信息并延遲一段時(shí)間后再重新向S 傳遞時(shí),,S 檢測(cè)出ΔT 不符合條件,容易發(fā)生拒絕服務(wù)攻擊,。文中所提出的方案,,不需要用ΔT 來作為驗(yàn)證條件,即使網(wǎng)絡(luò)阻塞或攻擊者故意延遲,,由于T1 的值沒有改變,,T1= T1*,故不會(huì)引起拒絕服務(wù)攻擊,。并且系統(tǒng)不需要很嚴(yán)格的同步要求,。

  3.3 ReflectiON Attack 攻擊

  假設(shè)攻擊者截獲L3 階段的信息m1{ T1,C1,,ET1,,EC1}并阻塞該信息的傳輸,而且假冒S,,跳過驗(yàn)證階段的V1~V4階段,,直接又向用戶U 發(fā)送m1{ T1,C1,,ET1,,EC1},企圖冒充V5 階段的信息m2{ T2,,C2,,ET2,,EC2}。但該方案中,,ET1,、EC1 是用S 的公鑰Ks 加密的,只能用S 的私鑰ks 來解密,,而用戶U 沒有ks ,因此無法計(jì)算出T1*和C1*,,故此攻擊不可行。

  3.4 Parallel Attack 攻擊

  假設(shè)攻擊者截獲V5 階段的信息m2{ T2,,C2,,ET2,EC2},,并假冒用戶U 向S 重新發(fā)送m2,。但在S 端要進(jìn)行解密計(jì)算卻是不可行的,因?yàn)镋T2,、EC2 是用U 的公鑰Ku 加密的,,而其私鑰k u 在U 端才用,S 端不能進(jìn)行解密運(yùn)算,。

  3.5 智能卡丟失\復(fù)制攻擊

  由于攻擊者不知道密碼PW,,故無法得出Ri=h(ID⊕ks)⊕h(PW)。同樣,,即使得知了ID、PW,,如果沒有智能卡,,也無法假冒用戶U。

  3.6 真正地雙向認(rèn)證

  方案使用了公鑰密碼算法,,U,、S 分別使用對(duì)方的公鑰加密,然后發(fā)送信息,,使用自己的私鑰解密,,在計(jì)算上是平等的,所以無論攻擊者要假冒哪方都是不可行的,,從而實(shí)現(xiàn)了真正地雙向認(rèn)證,。

  4 結(jié)語

  從以上分析可以看出,通過引入公鑰加密體制,,文中提出的方案可抵御重放攻擊,、拒絕服務(wù)攻擊、Reflection Attack攻擊,、Parallel Attack 攻擊,、智能卡丟失\復(fù)制攻擊,,并且實(shí)現(xiàn)了通信雙方的雙向身份認(rèn)證。雖然該方案由于公鑰密碼算法的引入占用了部分的計(jì)算資源,,但卻大大提高了系統(tǒng)的安全性,,并且隨著電子技術(shù)和芯片技術(shù)的快速發(fā)展,智能卡計(jì)算能力和存儲(chǔ)能力的不斷提高,,該方案優(yōu)越性會(huì)越來越突出其,。該方案具體采用公鑰密碼算法中的哪種算法如RSA、El-Gamal,、橢圓曲線等,,不在本文討論范圍。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。