欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于s/key系統(tǒng)雙向認(rèn)證的一次性口令驗(yàn)證方法

文檔序號:7593027閱讀:1638來源:國知局
專利名稱:一種基于s/key系統(tǒng)雙向認(rèn)證的一次性口令驗(yàn)證方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種網(wǎng)絡(luò)身份認(rèn)證方法,特別涉及一種基于S/KEY系統(tǒng)雙向認(rèn)證的一次性口令驗(yàn)證方法。
背景技術(shù)
身份認(rèn)證是網(wǎng)絡(luò)信息安全系統(tǒng)中的首要環(huán)節(jié),是電子商務(wù)與電子政務(wù)的基礎(chǔ)。網(wǎng)絡(luò)身份認(rèn)證的方法有很多,最常用的一種是將用戶帳號與密碼結(jié)合起來,先用帳號識別“你是誰”,再用密碼驗(yàn)證“你確實(shí)是誰”。這種身份認(rèn)證方法操作簡單,但不安全,帳號和密碼容易被竊取。目前較為安全的身份認(rèn)證方法是采用“一次一密”口令技術(shù)的動態(tài)密碼認(rèn)證方法。S/KEY系統(tǒng)就是一種常用的“一次一密”口令技術(shù)的動態(tài)密碼認(rèn)證系統(tǒng)。S/KEY系統(tǒng)中,S表示秘密通行短語;C表示種子,初始化時(shí),服務(wù)器為每個(gè)用戶生成一個(gè)種子;N表示最大序列號或初始序列號;i一個(gè)周期中(由N到0),第i次用戶認(rèn)證;F為標(biāo)準(zhǔn)單向函數(shù)(MD4,MD5或SHA),F(xiàn)N表示運(yùn)行F函數(shù)N次;I為用戶名,為一個(gè)字符串;Pi為用戶第i次登錄所用密碼。
SKEY系統(tǒng)是一種鑒別程序,依賴于單向函數(shù)的安全性。所謂的安全單向函數(shù),是指向前計(jì)算很容易,而反向的計(jì)算卻很難。在這樣的系統(tǒng)中,用戶需要記憶一個(gè)秘密通行短語S,通常是一個(gè)句子,初始化時(shí),服務(wù)器為每個(gè)用戶生成一個(gè)種子C,用戶輸入S和初始序列號N,服務(wù)器計(jì)算出P0=PN(C+S);
P0=FN(C+S);則下一次用戶登錄的密碼為P1=FN-1(C+S);以此類推,第i次用戶登錄的密碼為Pi=FN-i(C+S);具體身份認(rèn)證過程如下服務(wù)器端保留有一張表,每條記錄包含 用戶名I,種子G,當(dāng)前序列號N-i,上次成功登錄密碼Pi-1;用戶第i次登錄時(shí),服務(wù)器發(fā)送一個(gè)挑戰(zhàn)包括當(dāng)前序列號N-i,種子G客戶端擁有一個(gè)OTP口令計(jì)算器(可以是一個(gè)安全的本地軟件計(jì)算器或是硬件計(jì)算器),輸入序列號N-i,種子C和秘密通行短語S后,計(jì)算器做如下計(jì)算Pi=FN-i(C+S);然后客戶端以Pi作為應(yīng)答發(fā)送回到服務(wù)器,服務(wù)器端做以下計(jì)算P′i-1=F(Pi);比較P′i-1與存儲在本地的Pi-1相同則驗(yàn)證通過。
S/KEY一次性口令系統(tǒng)中,通信雙方都沒有保留口令和生成口令的全部信息,整個(gè)通信過程都是安全的,任何竊聽重放攻擊都不會起作用,具有較高的安全性。但S/KEY系統(tǒng)在不安全的信道上有先天的缺陷,不能避免小數(shù)攻擊。當(dāng)a向b發(fā)出請求時(shí),可能c會冒充b向a發(fā)出挑戰(zhàn),該挑戰(zhàn)的種子值由以前監(jiān)聽網(wǎng)絡(luò)獲得,序列號只要比實(shí)際值小,就可以獲得一客戶端不加鑒別的運(yùn)算出Pj,則c可以獲得從Pi到Pj之間的所有口令,攻擊成功。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是現(xiàn)有的S/KEY系統(tǒng)身份認(rèn)證過程中存在小數(shù)攻擊的漏洞,提供一種基于S/KEY系統(tǒng)雙向認(rèn)證的一次性口令驗(yàn)證方法。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案包括以下步驟客戶端向服務(wù)器端發(fā)送認(rèn)證請求,發(fā)送用戶名;服務(wù)器端根據(jù)客戶端發(fā)送的用戶名向客戶端發(fā)送挑戰(zhàn),包括當(dāng)前迭代值、該用戶對應(yīng)的種子值,以及上次用戶成功登錄的口令;客戶端根據(jù)用戶迭代值、種子和秘密通行短語計(jì)算出當(dāng)前的口令,并對當(dāng)前口令繼續(xù)作一次哈希運(yùn)算,將運(yùn)算結(jié)果與服務(wù)器端送過來的上次成功登錄口令進(jìn)行比較,相同則通過對服務(wù)器的驗(yàn)證,然后將當(dāng)前口令發(fā)往服務(wù)器;服務(wù)器收到當(dāng)前口令后,同樣再進(jìn)行一次哈希運(yùn)算,并與上次用戶成功登錄的密碼比較,相同則通過對客戶端的認(rèn)證,保存當(dāng)前口令。
本發(fā)明的優(yōu)點(diǎn)1)本發(fā)明的一次性口令認(rèn)證方法中,通信雙方都沒有保留口令和生成口令的全部信息,整個(gè)通信過程都是安全的,任何竊聽重放攻擊都不會起作用,具有較高的安全性。2)本發(fā)明的一次性口令認(rèn)證方法中在客戶端增加對服務(wù)器進(jìn)行認(rèn)證,這樣惡意攻擊者因?yàn)闆]有上次登錄的正確口令和正確的迭代值,不可能通過客戶端的認(rèn)證,從而解決了現(xiàn)有S/KEY系統(tǒng)存在的小數(shù)攻擊問題。


圖1本發(fā)明中客戶端認(rèn)證的流程圖。
圖2為本發(fā)明中服務(wù)器端認(rèn)證的流程圖。
圖3為改進(jìn)后S/KEY系統(tǒng)雙向認(rèn)證的流程圖。
圖4為現(xiàn)有S/KEY系統(tǒng)雙向認(rèn)證的小數(shù)攻擊流程圖。
具體實(shí)施例方式
參見圖1、圖2,一種基于S/KEY系統(tǒng)雙向認(rèn)證的一次性口令驗(yàn)證方法包括以下步驟(1)客戶端發(fā)生器向服務(wù)器發(fā)送以下信息用戶身份I;(2)服務(wù)器響應(yīng)一個(gè)挑戰(zhàn)序列號N,種子C,上次成功登錄口令Pi-1;這一步中,服務(wù)端將存儲在本地?cái)?shù)據(jù)庫中用戶ID對應(yīng)的上次該用戶成功登錄的口令發(fā)出去。
(3)客戶端OTP口令計(jì)算器根據(jù)輸入的序列號N-i,種子C和秘密通行短語S后,生成一次性口令,其計(jì)算如下Pi=FN-i(C+S);(4)客戶端將生成的一次性口令保存后,再作一次哈希運(yùn)算P′i-1=F(Pi);然后與服務(wù)器送過來的上次成功登錄口令比較,如果結(jié)果相同,則認(rèn)為序列號無誤,取出保存后的一次性口令,作為應(yīng)答,發(fā)送給服務(wù)器。如果結(jié)果不同,則認(rèn)為序列號有誤(小數(shù)攻擊),系統(tǒng)提示用戶存在小數(shù)攻擊。
(5)服務(wù)器確認(rèn)發(fā)生器響應(yīng)的口令,服務(wù)器執(zhí)行一次哈希計(jì)算,若結(jié)果與保存的口令匹配則鑒別成功,保存新口令。
當(dāng)口令的序列號減到1時(shí),就要重新初始化序列號了,除了本地方法外,也可以采用遠(yuǎn)程方法,發(fā)生器向服務(wù)端發(fā)送<口令1><新參數(shù)><口令2>
口令1是用原來的參數(shù)生成的口令,新參數(shù)是下一輪鑒別的計(jì)算參數(shù),包括算法,序列號,種子??诹?是用新參數(shù)生成的口令。服務(wù)器確認(rèn)口令1后,將口令2存入數(shù)據(jù)庫,以新參數(shù)(序列號-1)構(gòu)造下一個(gè)提問。這樣就可以通過網(wǎng)絡(luò)遠(yuǎn)程初始化了。
網(wǎng)絡(luò)服務(wù)由集中走向分布不可避免,對于多服務(wù)器的情況,貝爾實(shí)驗(yàn)室的Rubin于1996年提出的一種獨(dú)立一次性口令系統(tǒng)中采用的是預(yù)先分配好每臺服務(wù)器的登錄口令數(shù)量的方法,當(dāng)一個(gè)用戶在一臺服務(wù)器上登錄的情況較多而導(dǎo)致口令用完時(shí),就必須為該用戶重新初始化口令,這會導(dǎo)致口令的浪費(fèi)(只是口令的一個(gè)區(qū)間被用完),而獨(dú)立一次性口令系統(tǒng)中密鑰的分配又不是那么的簡單。在本發(fā)明中,對每個(gè)服務(wù)器可以采用不同的種子C,而用戶通行短語S可以相同,這樣,對用戶而言,不需要了解登錄到了哪臺服務(wù)器上,他可根據(jù)序列號,種子和自己記憶的通行短語正確的計(jì)算出一次性口令,各服務(wù)器之間的口令序列是完全獨(dú)立的。
S/KEY系統(tǒng)在用戶登錄完成以后就不會對用戶合法性進(jìn)行管理了,非法用戶可以在合法用戶正確登錄建立連接后,進(jìn)行搶入連接(hijackedconnection)侵入系統(tǒng)。在本協(xié)議中,合法用戶登錄完成后,服務(wù)端會定期的向客戶端發(fā)出挑戰(zhàn),而客戶端必須對挑戰(zhàn)作出應(yīng)答,否則就會切斷該用戶的已有連接。服務(wù)端向客戶端發(fā)送的挑戰(zhàn)和客戶應(yīng)答需要另外建立一條連接,不影響原連接的客戶端與服務(wù)器的正常通信,對用戶而言是透明的。由此帶來的用戶一次性口令序列使用過快的問題可以通過初始化時(shí)采用大的序號N來解決。
為了避免被動攻擊(passive attack),每個(gè)用戶登錄時(shí),只能建立一條連接。這樣就能防止其他用戶監(jiān)聽到部分口令后發(fā)動多條連接猜測后續(xù)的口令。
以下舉例說明在移動支付系統(tǒng)中的本發(fā)明的應(yīng)用。假設(shè)用戶已經(jīng)注冊完畢,下面是身份認(rèn)證過程1、客戶通過手機(jī)短信向鑒別服務(wù)器發(fā)送自己的用戶名I;2、鑒別服務(wù)器在數(shù)據(jù)庫中尋找該用戶的信息,數(shù)據(jù)庫中存有用戶名I,用戶上次登錄的口令Pi-1,和當(dāng)前迭代值N,若查不到則拒絕服務(wù),查到則向客戶手機(jī)發(fā)送種子C和當(dāng)前迭代值N-i,用戶上次登錄的口令Pi-1。
3、在客戶端擁有的口令計(jì)算器(手機(jī)本身或?qū)S糜?jì)算器)在輸入序列號N-i,種子C和秘密通行短語S后,計(jì)算器做如下計(jì)算Pi=FN-i(C+S);P′i-1=F(Pi);比較P′i-1,Pi-1,不相同則認(rèn)為出現(xiàn)了錯誤,或是有攻擊,通知用戶,進(jìn)行相應(yīng)處理;如果相同,客戶端通過對服務(wù)端的認(rèn)證,客戶端以Pi作為應(yīng)答發(fā)送回到服務(wù)器;4、服務(wù)器端同樣做以下計(jì)算P′i-1=F(Pi);比較P′i-1與存儲在本地的Pi-1相同則驗(yàn)證通過,更新Pi-1為Pi,通過對客戶端的認(rèn)證,驗(yàn)證過程結(jié)束。
權(quán)利要求
1.一種基于S/KEY系統(tǒng)雙向認(rèn)證的一次性口令驗(yàn)證方法,包括以下步驟客戶端向服務(wù)器端發(fā)送認(rèn)證請求;服務(wù)器端根據(jù)客戶端發(fā)送的用戶名向客戶端發(fā)送挑戰(zhàn),包括當(dāng)前迭代值、該用戶對應(yīng)的種子值,以及上次用戶成功登錄的口令;客戶端根據(jù)用戶迭代值、種子和秘密通行短語計(jì)算出當(dāng)前的口令,并對當(dāng)前口令繼續(xù)作一次哈希運(yùn)算,將運(yùn)算結(jié)果與服務(wù)器端送過來的上次成功登錄口令進(jìn)行比較,相同則通過對服務(wù)器的驗(yàn)證,然后將當(dāng)前口令發(fā)往服務(wù)器;服務(wù)器收到當(dāng)前口令后,同樣再進(jìn)行一次哈希運(yùn)算,并與上次用戶成功登錄的密碼比較,相同則通過對客戶端的認(rèn)證,保存當(dāng)前口令。
2.根據(jù)權(quán)利要求1所述的一種基于S/KEY系統(tǒng)雙向認(rèn)證的一次性口令驗(yàn)證方法,其特征在于在多服務(wù)器登陸認(rèn)證時(shí),每個(gè)服務(wù)器采用不同的種子,而用戶通行短語相同,各服務(wù)器之間的口令序列是完全獨(dú)立的。
3.根據(jù)權(quán)利要求1所述的一種基于S/KEY系統(tǒng)雙向認(rèn)證的一次性口令驗(yàn)證方法,其特征在于合法用戶登錄完成后,服務(wù)器端會定期的向客戶端發(fā)出挑戰(zhàn),而客戶端必須對挑戰(zhàn)作出應(yīng)答,否則就會切斷該用戶的已有連接。
全文摘要
本發(fā)明公開了一種基于S/KEY系統(tǒng)雙向認(rèn)證的一次性口令驗(yàn)證方法,包括以下步驟客戶端向服務(wù)器端發(fā)送認(rèn)證請求;服務(wù)器端根據(jù)客戶端發(fā)送的用戶名向客戶端發(fā)送挑戰(zhàn);客戶端根據(jù)用戶迭代值、種子和秘密通行短語計(jì)算出當(dāng)前的口令,并對當(dāng)前口令繼續(xù)作一次哈希運(yùn)算,將運(yùn)算結(jié)果與服務(wù)器端送過來的上次成功登錄口令進(jìn)行比較,相同則通過對服務(wù)器的驗(yàn)證,然后將當(dāng)前口令發(fā)往服務(wù)器;服務(wù)器收到當(dāng)前口令后,同樣再進(jìn)行一次哈希運(yùn)算,并與上次用戶成功登錄的密碼比較,相同則通過對客戶端的認(rèn)證,保存當(dāng)前口令。這種一次性口令驗(yàn)證方法能夠有效解決用戶密碼明文傳送的不安全性以及現(xiàn)有S/KEY系統(tǒng)認(rèn)證中存在的小數(shù)攻擊問題。
文檔編號H04L9/32GK1599314SQ20041004669
公開日2005年3月23日 申請日期2004年8月25日 優(yōu)先權(quán)日2004年8月25日
發(fā)明者王濤, 李仁發(fā) 申請人:湖南大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
枝江市| 晋城| 营山县| 南宫市| 新巴尔虎左旗| 平泉县| 龙泉市| 南汇区| 云龙县| 高淳县| 铜鼓县| 出国| 沙坪坝区| 随州市| 新和县| 丘北县| 成都市| 涪陵区| 锡林郭勒盟| 南岸区| 西林县| 屏东县| 南澳县| 武威市| 吉木乃县| 工布江达县| 和田市| 上杭县| 漳浦县| 远安县| 老河口市| 榆林市| 中宁县| 贡觉县| 泸溪县| 延吉市| 资中县| 三都| 宜兰县| 华阴市| 乌兰察布市|