一種基于口令的遠(yuǎn)程認(rèn)證協(xié)議方法
【專利摘要】本發(fā)明涉及一種基于口令的遠(yuǎn)程認(rèn)證協(xié)議方法,其特征在于:基于橢圓曲線密碼算法實(shí)現(xiàn),包括如下步驟:步驟1:在系統(tǒng)初始化子協(xié)議中,用戶同服務(wù)器協(xié)商好以后認(rèn)證需要使用的橢圓曲線密碼系統(tǒng)參數(shù);步驟2:新用戶UA通過(guò)用戶注冊(cè)子協(xié)議進(jìn)行注冊(cè),選擇身份標(biāo)識(shí)和用戶口令PWA;步驟3:用戶UA希望登陸系統(tǒng)并進(jìn)行會(huì)話密鑰協(xié)商時(shí),首先輸入自己的身份標(biāo)識(shí)IDA和用戶口令PWA;然后通過(guò)身份認(rèn)證和密鑰協(xié)商子協(xié)議,與服務(wù)器進(jìn)行雙向認(rèn)證并且協(xié)商在以后通信中使用的密鑰SK。
【專利說(shuō)明】一種基于口令的遠(yuǎn)程認(rèn)證協(xié)議方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于口令的遠(yuǎn)程認(rèn)證協(xié)議方法。
【背景技術(shù)】
[0002]在網(wǎng)絡(luò)應(yīng)用中,身份認(rèn)證對(duì)于保障網(wǎng)絡(luò)資源的安全性起著重要作用,因此尋找簡(jiǎn)單有效、實(shí)用方便、費(fèi)用低廉的認(rèn)證協(xié)議是當(dāng)前研究的重點(diǎn)內(nèi)容?;诳诹畹纳矸菡J(rèn)證協(xié)議由于數(shù)據(jù)運(yùn)算簡(jiǎn)單、部署成本低廉、安全可靠而成為近年來(lái)研究的熱點(diǎn)。然而,基于口令的身份認(rèn)證協(xié)議仍然存在著安全隱患。因?yàn)橛脩袅?xí)慣上選擇使用簡(jiǎn)單容易自己記憶的字符串作為口令,例如自己姓名字母的縮寫、生日數(shù)字的組合,身份證號(hào)碼的組合以及郵箱電話號(hào)碼等,這將直接導(dǎo)致這種方式的身份認(rèn)證協(xié)議容易遭到典型的字典攻擊,這其中就包括包括離線口令猜測(cè)攻擊和在線口令猜測(cè)攻擊等。根據(jù)調(diào)查顯示,在使用英語(yǔ)的國(guó)家當(dāng)中,有25%的用戶使用的口令是英文單詞,Morris Thompson發(fā)現(xiàn)窮舉搜索一部字典,可以在短短的5分鐘之內(nèi)發(fā)現(xiàn)超過(guò)1/3的口令;1999年,中科院信息安全中心的Samsa進(jìn)行了一項(xiàng)研究,他根據(jù)中國(guó)人姓氏和人名中經(jīng)常出現(xiàn)的漢字,設(shè)計(jì)了一部專用的字典,用它窮舉搜索,發(fā)現(xiàn)了某服務(wù)器中保存的將近1/2的用戶口令。事實(shí)表明,口令認(rèn)證協(xié)議很容易遭受口令猜測(cè)攻擊(password guessing attack)。[0003]盡管基于口令的認(rèn)證存在著如上所述的安全隱患,但這并不能阻止人們對(duì)它的青睞,由于其相對(duì)于生物特征認(rèn)證,口令認(rèn)證機(jī)制擁有更小的數(shù)據(jù)量,更快的響應(yīng)速度等優(yōu)點(diǎn),而且實(shí)現(xiàn)起來(lái)更容易,多數(shù)用戶能夠接受,因而口令認(rèn)證機(jī)制目前仍然是系統(tǒng)網(wǎng)絡(luò)等各種需要認(rèn)證的系統(tǒng)中主要采取的認(rèn)證方式。
【發(fā)明內(nèi)容】
[0004]本發(fā)明目的在于提供一種基于口令的遠(yuǎn)程認(rèn)證協(xié)議方法,能夠?qū)崿F(xiàn)雙向認(rèn)證,有效提高安全性。
[0005]實(shí)現(xiàn)本發(fā)明目的技術(shù)方案:
[0006]一種基于口令的遠(yuǎn)程認(rèn)證協(xié)議方法,其特征在于:基于橢圓曲線密碼算法實(shí)現(xiàn),包括如下步驟:
[0007]步驟1:在系統(tǒng)初始化子協(xié)議中,用戶同服務(wù)器協(xié)商好以后認(rèn)證需要使用的橢圓曲線密碼系統(tǒng)參數(shù);
[0008]步驟2:新用戶Ua通過(guò)用戶注冊(cè)子協(xié)議進(jìn)行注冊(cè),選擇身份標(biāo)識(shí)和用戶口令PWa ;
[0009]步驟3:用戶Ua希望登陸系統(tǒng)并進(jìn)行會(huì)話密鑰協(xié)商時(shí),首先輸入自己的身份標(biāo)識(shí)IDa和用戶口令PWa ;,然后通過(guò)身份認(rèn)證和密鑰協(xié)商子協(xié)議,與服務(wù)器進(jìn)行雙向認(rèn)證并且協(xié)商在以后通信中使用的密鑰SK。
[0010]步驟2中,服務(wù)器S收到新用戶Ua注冊(cè)提交的身份標(biāo)識(shí)IDa和用戶口令PWa ;后,進(jìn)行計(jì)算^(10」|ds) ? PWa,然后把數(shù)據(jù)(IDa,Wa)保存在服務(wù)器的認(rèn)證數(shù)據(jù)庫(kù)中,前述式中,ds表示服務(wù)器的私鑰,h表示單向哈希函數(shù)。[0011]步驟3中,具體包括以下步驟,
[0012]步驟3.1:用戶Ua首先輸入自己的身份標(biāo)識(shí)IDa和用戶口令PWa ;用戶自由選擇一個(gè)隨機(jī)數(shù)r1,r1∈Z*n,Z*n表示整數(shù)模n的剩余類,然后進(jìn)行運(yùn)算R1=A.P,P表示群G的生成元,把消息<IDa,R1)發(fā)送給服務(wù)器S ;
[0013]步驟3.2:服務(wù)器S接收到上一步來(lái)自用戶Ua的消息<IDA,R1)后,根據(jù)自己的認(rèn)證數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)對(duì)用戶IDa進(jìn)行合法性檢驗(yàn);如果在數(shù)據(jù)庫(kù)中未找到該IDa,則服務(wù)器S終止協(xié)議的進(jìn)程;否則,服務(wù)器S進(jìn)行如下運(yùn)算,
[0014]選擇隨機(jī)數(shù)r2, r2 e Z*n,計(jì)算 R2=r2.P, Ks=r2.R1, R3=ds.R1,h1=h(s| |ida| R1I Ir2 R3 Iks),式中s表示服務(wù)器的身份標(biāo)識(shí),最后由服務(wù)器s把消息<R2,hi>發(fā)送到用戶Ua;
[0015]步驟3.3:當(dāng)用戶Ua接收到來(lái)上一步來(lái)自服務(wù)器S的消息<R2,hi〉后,進(jìn)行運(yùn)算Ku^1.R2=IT1.r2.P,以及計(jì)算 h廣=h (S IDa R1 R2 T1.Ps I Ku),驗(yàn)證 Ii1* 與收到來(lái)自服務(wù)器的h是否保持一致,如果不一致,則用戶Ua終止進(jìn)行協(xié)議進(jìn)程;否則,用戶Ua計(jì)算h2=h(IDaI I S| Ir1.Ps I IKuI IPWa),然后將h2發(fā)送給服務(wù)器S,并且用戶Ua計(jì)算一個(gè)密鑰SK=h(IDaI |s| Ir1I Ir2I Ir1-PsI IkuI |PWA);
[0016]步驟3.4:服務(wù)器S從本地認(rèn)證數(shù)據(jù)庫(kù)中提取步驟2中計(jì)算獲得的WA,并進(jìn)行計(jì)算Wa ? h(IDA |ds)得到服務(wù)器端計(jì)算得到的PW/,然后計(jì)算h(IDaI |S| R3 Ks |PW/),得到的計(jì)算結(jié)果與上一步中收到的h2進(jìn)行對(duì)比驗(yàn)證,看是否保持一致,如果不一致,則用戶Ua對(duì)服務(wù)器的認(rèn)證請(qǐng)求失敗,終止協(xié)議;否則,服務(wù)器S認(rèn)可用戶Ua的合法身份,并且服務(wù)器S計(jì)算一個(gè)密鑰 SK=h(iDA| |s| R1IIR2 R3 |ks |pwa*)。
[0017]用戶Ua可進(jìn)行口令修改,包括以下步驟,
[0018]步驟4.1:用戶Ua和服務(wù)器S首先執(zhí)行密鑰SK ;
[0019]步驟4.2:假如上一步成功,則用戶Ua通過(guò)客戶端輸入新的口令PWAnew ;
[0020]步驟4.3:用戶Ua通過(guò)客戶端計(jì)算PWD=h (Ku | | SK) ? Pfftoew和[0021 ] ff=h (Ku I I SKI I PffAnew),并把消息〈PWD,ff> 發(fā)送至服務(wù)器 S ;
[0022]步驟4.4:當(dāng)服務(wù)器S收到來(lái)自于用戶Ua的請(qǐng)求修改口令的消息〈PWD,W〉后,首先進(jìn)行如下式子的計(jì)算,
[0023]PWahJ=PWD ? h(Ks |PffAnew),
[0024]然后對(duì)比驗(yàn)證W是否等于h (Ks I I SK I I Pfftoe;),假如不相等,服務(wù)器需要計(jì)算h3=h(SK| Ks I “Refused”)并將消息〈“Refused”,h3>發(fā)送給用戶,拒絕更改口令;如果兩者相等,則進(jìn)行計(jì)算h4=h (SKI I Ks I I "Accepted"),并將消息< "Accepted", h4>發(fā)送給用戶,允許其變更口令;最后服務(wù)器將計(jì)算新的W/來(lái)替換原來(lái)的Wa并保存到認(rèn)證數(shù)據(jù)庫(kù),其中 Wa* 的計(jì)算式為 ffA*=h (IDa I I ds) ? Pfftoe;;
[0025]步驟4.5:如果用戶Ua收到消息〈“Refused” , h3>,并且經(jīng)驗(yàn)證h3等于h(SK| |Kj I “Refused”),則可以確定是服務(wù)器S發(fā)送的消息拒絕更改口令;而如果收到消息〈“Accepted”, h4>,并且經(jīng)過(guò)驗(yàn)證h4等于h (SKI KuI “Accepted”),貝U用戶Ua可以確定是服務(wù)器S發(fā)送的消息接收了變更口令請(qǐng)求。
[0026]本發(fā)明具有的有益效果:
[0027]本發(fā)明可以抵抗重放攻擊。本發(fā)明是一種三消息挑戰(zhàn)-響應(yīng)模式的認(rèn)證協(xié)議,只有合法用戶才能正確的應(yīng)答挑戰(zhàn)信息R2,同時(shí)也只有合法的服務(wù)器才能正確的響應(yīng)新鮮值R1,所以本發(fā)明能夠有效的抵御重放攻擊。
[0028]本發(fā)明可以抵抗離線口令猜測(cè)攻擊。本發(fā)明能夠有效地抵抗離線口令猜測(cè)攻擊,假設(shè)以下兩種情形:
[0029]I)假設(shè)攻擊者捕獲了 Wa,但是由于其無(wú)法或者服務(wù)器的私鑰ds,所以無(wú)法進(jìn)行離線口令猜測(cè)攻擊;
[0030]2)攻擊者不能夠從h2發(fā)動(dòng)離線口令猜測(cè)攻擊,這是因?yàn)榧偃绻粽咭?jì)算h2,則必須同時(shí)計(jì)算出Ku或者Ks,而計(jì)算Ku或者Ks則需要根據(jù)R1, R2來(lái)計(jì)算,這又歸結(jié)為橢圓曲線計(jì)算Diffie-Hellman問(wèn)題。
[0031 ] 本發(fā)明能夠抵抗身份冒充攻擊。攻擊者在不知道PW的情況下,是不能構(gòu)造出正確的第3條回應(yīng)消息的,所以攻擊者就無(wú)法冒充用戶身份。同時(shí),攻擊者也無(wú)法正確的通過(guò)計(jì)算得出ds -R1和回應(yīng)消息,因?yàn)槿绻獦?gòu)造該值,則需要知道A或者ds,而假如通過(guò)R1來(lái)計(jì)算得到^或者通過(guò)Ps計(jì)算得到ds都將面臨橢圓曲線離散對(duì)數(shù)難題。
[0032]本發(fā)明能夠提供雙向認(rèn)證。從上面的認(rèn)證和密鑰協(xié)商過(guò)程可以清楚的看到,本協(xié)議提供了雙向認(rèn)證。第2條響應(yīng)消息只有擁有合法身份的服務(wù)器才能構(gòu)造出來(lái);而第3條響應(yīng)消息只有除了服務(wù)器之外的合法用戶才能構(gòu)造出來(lái)。所以該認(rèn)證協(xié)議提供了雙向認(rèn)證。
[0033]本發(fā)明能夠提供前向安全性。本發(fā)明是基于橢圓曲線Diffie-Hellman機(jī)制,攻擊者如果強(qiáng)行從R1和R2來(lái)計(jì)算SK將面臨橢圓曲線離散對(duì)數(shù)難題,從而提供了前向安全性。
【專利附圖】
【附圖說(shuō)明】
[0034]圖1為用戶注冊(cè)流程圖;
[0035]圖2為認(rèn)證和密鑰協(xié)商流程圖;
[0036]圖3為口令修改流程圖。
【具體實(shí)施方式】
[0037]本發(fā)明基于橢圓曲線密碼算法實(shí)現(xiàn),在系統(tǒng)初始化子協(xié)議中,用戶同服務(wù)器協(xié)商好以后認(rèn)證需要使用的橢圓曲線密碼系統(tǒng)參數(shù);
[0038](一)用戶注冊(cè)子協(xié)議:
[0039]在注冊(cè)初始時(shí),由用戶Ua自己選擇身份標(biāo)識(shí)和用戶口令PWa,然后通過(guò)安全方式提交給服務(wù)器S ;
[0040]服務(wù)器S收到新用戶Ua注冊(cè)提交的身份標(biāo)識(shí)IDa和用戶口令PWa ;后,進(jìn)行計(jì)算WA=h(IDA |ds) ? PWa,然后把數(shù)據(jù)(IDa,Wa)保存在服務(wù)器的認(rèn)證數(shù)據(jù)庫(kù)中,前述式中,屯表示服務(wù)器的私鑰,h表示單向哈希函數(shù)。
[0041 ] (二)認(rèn)證和密鑰協(xié)商子協(xié)議:
[0042]I)用戶Ua首先輸入自己的身份標(biāo)識(shí)IDa和用戶口令PWa ;用戶自由選擇一個(gè)隨機(jī)數(shù)r1,r1 ∈ Z*n,Z*n表示整數(shù)模η的剩余類,然后進(jìn)行運(yùn)算R1=F1* P,P表示群G的生成元,把消息<IDa,R1)發(fā)送給服務(wù)器S ;
[0043]2)服務(wù)器S接收到上一步來(lái)自用戶Ua的消息<IDa,RA后,根據(jù)自己的認(rèn)證數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)對(duì)用戶IDa進(jìn)行合法性檢驗(yàn);如果在數(shù)據(jù)庫(kù)中未找到該IDa,則服務(wù)器S終止協(xié)議的進(jìn)程;否則,服務(wù)器S進(jìn)行如下運(yùn)算,
[0044]選擇隨機(jī)數(shù)r2, r2 e Z*n,計(jì)算 R2=r2.P, Ks=r2.R1, R3=ds.R1,h1=h(s| |ida| R1I Ir2 R3 Iks),式中s表示服務(wù)器的身份標(biāo)識(shí),最后由服務(wù)器s把消息<R2,hi>發(fā)送到用戶Ua;
[0045]3)當(dāng)用戶Ua接收到來(lái)上一步來(lái)自服務(wù)器S的消息<R2,hi〉后,進(jìn)行運(yùn)算Ku^1.R2=IT1.r2.P,以及計(jì)算h廣=h (S IDa R1 R2 T1.Ps Ku),驗(yàn)證Ii1*與收到來(lái)自服務(wù)器的Ii1是否保持一致,如果不一致,則用戶Ua終止進(jìn)行協(xié)議進(jìn)程;如果一致,那么服務(wù)器是合法的,通過(guò)用戶的認(rèn)證。在這里的依據(jù)是,只有合法的服務(wù)器才能給出正確的R3,接下來(lái)用戶Ua計(jì)算h2=h (IDa I I S I I ι -Ps I I Ku I IPWA),然后將h2發(fā)送給服務(wù)器S,并且用戶Ua計(jì)算一個(gè)密鑰 SK=h(iDA| |s| R1IIR2 Ir1-Ps IkuI |pwa);
[0046]4)服務(wù)器S從本地認(rèn)證數(shù)據(jù)庫(kù)中提取步驟2中計(jì)算獲得的Wa,并進(jìn)行計(jì)算Wa ? h(IDA |ds)得到服務(wù)器端計(jì)算得到的PW/,然后計(jì)算h(IDaI |S| R3 Ks |PW/),得到的計(jì)算結(jié)果與上一步中收到的h2進(jìn)行對(duì)比驗(yàn)證,看是否保持一致,如果不一致,則用戶Ua對(duì)服務(wù)器的認(rèn)證請(qǐng)求失敗,終止協(xié)議;否則,服務(wù)器S認(rèn)可用戶Ua的合法身份,并且服務(wù)器S計(jì)算一個(gè)密鑰 SK=h(iDA| |s| R1IIR2 R3 |ks |pwa*)。
[0047]通過(guò)以上步驟,用戶和服務(wù)器之間完成了認(rèn)證,這種認(rèn)證是雙向的,保證了用戶和服務(wù)器雙方的合法身份,并且協(xié)商好共同的密鑰SK。
[0048](三)口令修改子協(xié)議:
[0049]用戶Ua可進(jìn)行口令修改,包括以下步驟,
[0050]I)用戶Ua和服務(wù)器S首先執(zhí)行會(huì)話密鑰SK ;
[0051]2)假如上一步成功,則用戶Ua通過(guò)客戶端輸入新的口令PWitew ;
[0052]3 )用戶Ua通過(guò)客戶端計(jì)算PWD=h (Ku | | SK) ? PffAnew和
[0053]ff=h (Ku I I SKI I PWAnew),并把消息〈PWD,ff> 發(fā)送至服務(wù)器 S ;
[0054]4)當(dāng)服務(wù)器S收到來(lái)自于用戶Ua的請(qǐng)求修改口令的消息〈PWD,W〉后,首先進(jìn)行如下式子的計(jì)算,
[0055]PU=PWD ? h(Ks |PffAnew),
[0056]然后對(duì)比驗(yàn)證w是否等于h(Ks| sk| Ipwam;),假如不相等,服務(wù)器需要計(jì)算h3=h(SK| Ks I “Refused”)并將消息〈“Refused”,h3>發(fā)送給用戶,拒絕更改口令;如果兩者相等,則進(jìn)行計(jì)算h4=h (SKI I Ks I I "Accepted"),并將消息< "Accepted", h4>發(fā)送給用戶,允許其變更口令;最后服務(wù)器將計(jì)算新的W/來(lái)替換原來(lái)的Wa并保存到認(rèn)證數(shù)據(jù)庫(kù),其中 Wa* 的計(jì)算式為 ffA*=h (IDa I I ds) ? Pfftoe;;
[0057]5)如果用戶Ua收到消息〈“Refused”,h3>,并且經(jīng)驗(yàn)證h3等于h(SK| |Kj I “Refused”),則可以確定是服務(wù)器S發(fā)送的消息拒絕更改口令;而如果收到消息〈“Accepted”, h4>,并且經(jīng)過(guò)驗(yàn)證h4等于h (SKI KuI “Accepted”),貝U用戶Ua可以確定是服務(wù)器S發(fā)送的消息接收了變更口令請(qǐng)求。
【權(quán)利要求】
1.一種基于口令的遠(yuǎn)程認(rèn)證協(xié)議方法,其特征在于:基于橢圓曲線密碼算法實(shí)現(xiàn),包括如下步驟: 步驟1:在系統(tǒng)初始化子協(xié)議中,用戶同服務(wù)器協(xié)商好以后認(rèn)證需要使用的橢圓曲線密碼系統(tǒng)參數(shù); 步驟2:新用戶Ua通過(guò)用戶注冊(cè)子協(xié)議進(jìn)行注冊(cè),選擇身份標(biāo)識(shí)和用戶口令PWa ; 步驟3:用戶Ua希望登陸系統(tǒng)并進(jìn)行會(huì)話密鑰協(xié)商時(shí),首先輸入自己的身份標(biāo)識(shí)IDa和用戶口令PWa ;,然后通過(guò)身份認(rèn)證和密鑰協(xié)商子協(xié)議,與服務(wù)器進(jìn)行雙向認(rèn)證并且協(xié)商在以后通信中使用的密鑰SK。
2.根據(jù)權(quán)利要求1所述的基于口令的遠(yuǎn)程認(rèn)證協(xié)議方法,其特征在于:步驟2中,服務(wù)器S收到新用戶Ua注冊(cè)提交的身份標(biāo)識(shí)IDa和用戶口令PWa ;后,進(jìn)行計(jì)算WA=h(IDA |ds) ? PWa,然后把數(shù)據(jù)(IDa,Wa)保存在服務(wù)器的認(rèn)證數(shù)據(jù)庫(kù)中,前述式中,屯表示服務(wù)器的私鑰,h表示單向哈希函數(shù)。
3.根據(jù)權(quán)利要求2所述的基于口令的遠(yuǎn)程認(rèn)證協(xié)議方法,其特征在于:步驟3中,具體包括以下步驟, 步驟3.1:用戶Ua首先輸入自己的身份標(biāo)識(shí)IDa和用戶口令PWa ;用戶自由選擇一個(gè)隨機(jī)數(shù)ri,ri e Z\,Z\表示整數(shù)模η的剩余類,然后進(jìn)行運(yùn)算R1=F1* P,P表示群G的生成元,把消息<IDa,R1)發(fā)送給服務(wù)器S ; 步驟3.2:服務(wù)器S接收 到上一步來(lái)自用戶Ua的消息<IDa,R1)后,根據(jù)自己的認(rèn)證數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)對(duì)用戶IDa進(jìn)行合法性檢驗(yàn);如果在數(shù)據(jù)庫(kù)中未找到該IDa,則服務(wù)器S終止協(xié)議的進(jìn)程;否則,服務(wù)器S進(jìn)行如下運(yùn)算, 選擇隨機(jī)數(shù) r2, r2 e Z*n,計(jì)算 R2=r2.P, Ks=r2.R1, R3=ds.R1,h1=h(s| |ida| R1I Ir2 R3 Iks),式中s表示服務(wù)器的身份標(biāo)識(shí),最后由服務(wù)器s把消息<R2,hi>發(fā)送到用戶Ua; 步驟3.3:當(dāng)用戶Ua接收到來(lái)上一步來(lái)自服務(wù)器S的消息<R2,hi〉后,進(jìn)行運(yùn)算Ku^1.R2=IT1.r2.P,以及計(jì)算 h廣=h (S IDa R1 R2 T1.Ps I Ku),驗(yàn)證 Ii1* 與收到來(lái)自服務(wù)器的h是否保持一致,如果不一致,則用戶Ua終止進(jìn)行協(xié)議進(jìn)程;否則,用戶Ua計(jì)算h2=h(IDaI I S| Ir1.Ps I IKuI IPWa),然后將h2發(fā)送給服務(wù)器S,并且用戶Ua計(jì)算一個(gè)密鑰SK=h(IDaI |s| Ir1I Ir2I Ir1-PsI IkuI |PWA); 步驟3.4:服務(wù)器S從本地認(rèn)證數(shù)據(jù)庫(kù)中提取步驟2中計(jì)算獲得的WA,并進(jìn)行計(jì)算Wa ? h(IDA |ds)得到服務(wù)器端計(jì)算得到的PW/,然后計(jì)算h(IDaI |S| R3 Ks |PW/),得到的計(jì)算結(jié)果與上一步中收到的h2進(jìn)行對(duì)比驗(yàn)證,看是否保持一致,如果不一致,則用戶Ua對(duì)服務(wù)器的認(rèn)證請(qǐng)求失敗,終止協(xié)議;否則,服務(wù)器S認(rèn)可用戶Ua的合法身份,并且服務(wù)器S計(jì)算一個(gè)密鑰 SK=h(iDA| |s| R1IIR2 R3 |ks |pwa*)。
4.根據(jù)權(quán)利要求3所述的基于口令的遠(yuǎn)程認(rèn)證協(xié)議方法,其特征在于:用戶Ua可進(jìn)行口令修改,包括以下步驟, 步驟4.1:用戶Ua和服務(wù)器S首先執(zhí)行密鑰SK ; 步驟4.2:假如上一步成功,則用戶Ua通過(guò)客戶端輸入新的口令PWamw ; 步驟4.3:用戶Ua通過(guò)客戶端計(jì)算PWD=h (Ku I I SK) ? Pfftoew和 W=h (Ku I I SKI I Pfftoew),并把消息〈PWD,W〉發(fā)送至服務(wù)器S ;步驟4.4:當(dāng)服務(wù)器S收到來(lái)自于用戶Ua的請(qǐng)求修改口令的消息〈PWD,W〉后,首先進(jìn)行如下式子的計(jì)算,
PffAne;=PWD ? h(Ks I PWaiiJ , 然后對(duì)比驗(yàn)證W是否等于h(Ks| SKl Ipwam/),假如不相等,服務(wù)器需要計(jì)算h3=h(SK| Ks I “Refused”)并將消息〈“Refused”,h3>發(fā)送給用戶,拒絕更改口令;如果兩者相等,則進(jìn)行計(jì)算h4=h (SKI I Ks I I "Accepted"),并將消息< "Accepted", h4>發(fā)送給用戶,允許其變更口令;最后服務(wù)器將計(jì)算新的W/來(lái)替換原來(lái)的Wa并保存到認(rèn)證數(shù)據(jù)庫(kù),其中 Wa* 的計(jì)算式為 ffA*=h (IDa I I ds) ? Pfftoe;; 步驟4.5:如果用戶Ua收到消息〈“Refused” , h3>,并且經(jīng)驗(yàn)證h3等于h(SK| |Kj I “Refused”),則可以確定是服務(wù)器S發(fā)送的消息拒絕更改口令;而如果收到消息〈“Accepted”, h4>,并且經(jīng)過(guò)驗(yàn)證h4等于h (SKI KuI “Accepted”),貝U用戶Ua可以確定是服務(wù)器S發(fā)送的消 息接收了變更口令請(qǐng)求。
【文檔編號(hào)】H04L9/32GK103905437SQ201410108353
【公開(kāi)日】2014年7月2日 申請(qǐng)日期:2014年3月22日 優(yōu)先權(quán)日:2014年3月22日
【發(fā)明者】馬春光, 付韜, 崔振山, 苗俊峰 申請(qǐng)人:哈爾濱工程大學(xué)