基于智能卡的雙向身份認證方案
2.2 登陸階段
L1:用戶(hù)U 把智能卡插入相關(guān)終端設備,輸入ID、PW,智能卡與終端設備驗證ID、PW 的合法性,否則放棄。
L2:記錄系統時(shí)戳T1,智能卡計算Vi=Ri⊕hvPWw,C1= hvT1⊕Viw,并使用服務(wù)器的公鑰Ks 進(jìn)行加密運算,ET1=EvT1,Ksw,EC1=EvC1,Ksw。
L3:用戶(hù)U 通過(guò)一般信道將登陸信息m1{T1,C1,ET1,EC1}發(fā)給服務(wù)器S,即:U→S: m1{ T1,C1,ET1,EC1}。
2.3 雙向驗證階段
V1:服務(wù)器S 收到m1{ T1,C1,ET1,EC1}后,首先用自己的私鑰ks 進(jìn)行解密運算:T1*=DvT1,ksw,C1*=D(C1,ksw,然后進(jìn)行比較判斷:T1*與T1 是否相等,C1*與C1 是否相等。若不能滿(mǎn)足兩者同時(shí)相等,則放棄;若兩者同時(shí)相等,則進(jìn)行下面的計算。
V2:計算Vi= hvID⊕ksw。
V3:驗證hvT1⊕Viw是否與C1 相等,若不相等,則為非法用戶(hù);若相等,則為合法用戶(hù)。
V4:記錄系統時(shí)戳T2,計算C2= hvT2⊕Viw,并使用存儲在數據庫中的用戶(hù)的公鑰Ku 進(jìn)行加密運算:ET2=E(T2,Kuw,EC2=EvC2,Kuw。
V5:服務(wù)器S 通過(guò)一般信道將反饋信息m2{ T2,C2,ET2,EC2}發(fā)給用戶(hù)U。即:S→U: m2{ T2,C2,ET2,EC2}。
V6:用戶(hù)U 收到信息m2{ T2,C2,ET2,EC2}后,使用自己的私鑰ku 進(jìn)行解密運算:T2*=DvT2,kuw,C2*=DvC2,k uw,然后進(jìn)行比較判斷:T2*與T2 是否相等,C2*與C2 是否相等。若不能滿(mǎn)足兩者同時(shí)相等,則放棄;若兩者同時(shí)相等,則進(jìn)行下面的計算。
V7:驗證hvT2⊕Viw是否與C2 相等,若不相等,則為非法服務(wù)器;若相等,則為合法服務(wù)器。
2.4 密碼修改階段
P1:計算Ri*=Ri⊕h(PW)⊕h(PW*)=h(ID⊕ks)⊕hvPW*w。
P2:用Ri*取代Ri,并存放在智能卡中。
3 安全性分析
該方案引入了公鑰密碼體制,在非安全信道傳遞信息時(shí),均經(jīng)過(guò)加密處理,因此具有很強的安全性,能抵御多種攻擊。
3.1 重放攻擊
假設攻擊者截獲了L3 階段的登錄信息m1{ T1,C1,ET1,EC1},并且更改了明文形式的時(shí)戳T1 為T(mén)1’。但是,在登錄信息中仍然包含了加密后的時(shí)戳ET1,在V1 階段,由于解密出的T1*≠T1’,攻擊者遭到拒絕。
評論