專利名稱:一種點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)和網(wǎng)絡(luò)信息安全領(lǐng)域,涉及一種網(wǎng)絡(luò)身份認(rèn)證方法,具體涉及一種不依賴于公共數(shù)字證書的點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法。
背景技術(shù):
在電子商務(wù)、電子政務(wù)的開展過程中,如何對登錄進(jìn)入系統(tǒng)的用戶的身份進(jìn)行確認(rèn),以防止非法接入和入侵,是保證整個(gè)系統(tǒng)安全十分關(guān)鍵的因素之一。沒有安全保障,就沒有電子商務(wù)/電子政務(wù)的健康快速的發(fā)展。
現(xiàn)有技術(shù)中,一種常用的身份認(rèn)證方法是沖擊相應(yīng)法驗(yàn)證申請方給被驗(yàn)證方發(fā)送一個(gè)隨機(jī)數(shù),被驗(yàn)證方把隨機(jī)數(shù)和帳戶密碼一起用MD5生成摘要發(fā)回;驗(yàn)證申請方用同樣的隨機(jī)數(shù)和帳戶密碼用MD5生成摘要,和被驗(yàn)證方發(fā)回的摘要比較,相同則身份確認(rèn),不同則拒絕接入。在該協(xié)議基礎(chǔ)上,將MD5算法用其他更高強(qiáng)度的算法替代,可以增加解密難度,但即使如此,這類身份認(rèn)證方法仍然容易被破解,主要原因是,該方法的輸入組成簡單,私有信息為帳號密碼,位數(shù)短并長時(shí)間不變,經(jīng)不起大量攻擊,尤其是黑客程序可以在被驗(yàn)證方聯(lián)機(jī)的情況下,偽裝成驗(yàn)證申請方,大量發(fā)送有選擇的明文代替隨機(jī)數(shù),取得被驗(yàn)證方的響應(yīng),從而大大降低破解被驗(yàn)證方的有限長度密碼的難度。因而,目前,該方法在絕大多數(shù)要求較高的場合已被公共數(shù)字證書認(rèn)證所取代。
目前的以PKI/SSL3.0等為例的廣域網(wǎng)上的安全協(xié)議和技術(shù),為了有效防止非法入侵者仿冒合法用戶身份而非法接入,其網(wǎng)絡(luò)身份認(rèn)證都依賴于權(quán)威機(jī)構(gòu)發(fā)放的數(shù)字證書(包括服務(wù)器證書,或服務(wù)器證書加個(gè)人證書)。數(shù)字證書是由權(quán)威公正的第三方機(jī)構(gòu)(如CA中心)簽發(fā)的,以數(shù)字證書為核心的加密技術(shù)可以對網(wǎng)絡(luò)上傳輸?shù)男畔⑦M(jìn)行加密和解密、數(shù)字簽名和簽名驗(yàn)證,確保網(wǎng)上傳遞信息的機(jī)密性、完整性,以及交易實(shí)體身份的真實(shí)性,簽名信息的不可否認(rèn)性,從而保障網(wǎng)絡(luò)應(yīng)用的安全性。
數(shù)字證書采用公鑰密碼體制,即利用一對互相匹配的密鑰進(jìn)行加密、解密。每個(gè)用戶擁有一把僅為本人所掌握的私有密鑰(私鑰),用它進(jìn)行解密和簽名;同時(shí)擁有一把公共密鑰(公鑰)并可以對外公開,用于加密和驗(yàn)證簽名。當(dāng)發(fā)送一份保密文件時(shí),發(fā)送方使用接收方的公鑰對數(shù)據(jù)加密,而接收方則使用自己的私鑰解密,這樣,信息就可以安全無誤地到達(dá)目的地了,即使被第三方截獲,由于沒有相應(yīng)的私鑰,也無法進(jìn)行解密。通過數(shù)字的手段保證加密過程是一個(gè)不可逆過程,即只有用私有密鑰才能解密。
然而,一張證書發(fā)出后,完全可能因?yàn)檫z失或使用不當(dāng)而泄密,需要作廢;或者證書擁有人身份改變而提前撤銷。而要求中小服務(wù)商和個(gè)人消費(fèi)者在應(yīng)用時(shí)每次必須去CA中心查詢證書的有效性(是否已作廢撤銷等),或保證廣大中小服務(wù)商和個(gè)人消費(fèi)者都實(shí)時(shí)得到證書有效性已變更的信息,也是麻煩或困難的事。而黑客完全可以利用廣大中小服務(wù)商和個(gè)人消費(fèi)者獲得證書有效性變更信息的時(shí)間差做文章。
另一方面,證書的發(fā)放、管理、維護(hù)、CA機(jī)構(gòu)的運(yùn)行等,都需要較高的費(fèi)用,這個(gè)費(fèi)用是需要持續(xù)支出的。對于廣大的中小用戶來說,無疑增加了額外的負(fù)擔(dān),不利于推廣。
因而,提供一種不需要第三方服務(wù),同時(shí)能保證身份認(rèn)證的安全性,避免非法接入和竊取信息的身份認(rèn)證方法,對于電子商務(wù)和電子政務(wù)的開展,有著重要的意義。
發(fā)明內(nèi)容
本發(fā)明目的是提供一種不易破解的點(diǎn)對點(diǎn)的網(wǎng)絡(luò)身份認(rèn)證方法,以易于實(shí)現(xiàn)并降低所需費(fèi)用。
為達(dá)到上述目的,發(fā)明人考慮到,目前大量的服務(wù)供應(yīng)商,例如網(wǎng)銀、電子支付平臺、電子政務(wù)、網(wǎng)游、網(wǎng)絡(luò)教育,等等,事先已經(jīng)取得了接受服務(wù)的用戶的信息,這類信息包括帳號、密碼、聯(lián)系方式、用戶身份等,因此,與雙方從來沒有過任何聯(lián)系的零知識身份認(rèn)證不同,在這些領(lǐng)域完全可以利用這類已知信息來更方便地實(shí)現(xiàn)身份認(rèn)證。由此,本發(fā)明采用的技術(shù)方案是一種點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,由被驗(yàn)證方和驗(yàn)證申請方的計(jì)算機(jī)通過點(diǎn)對點(diǎn)的網(wǎng)絡(luò)通信實(shí)現(xiàn),在被驗(yàn)證方和驗(yàn)證申請方分別登記共同信息,并約定碼表生成方法、驗(yàn)證運(yùn)算規(guī)則及算法,分別在被驗(yàn)證方和驗(yàn)證申請方采用所述約定的碼表生成方法,利用共同信息生成碼表,每次進(jìn)行身份認(rèn)證時(shí),包括如下步驟(1)被驗(yàn)證方向驗(yàn)證申請方發(fā)送身份信息,驗(yàn)證申請方生成一組代碼作為驗(yàn)證口令,發(fā)送給被驗(yàn)證方;(2)被驗(yàn)證方根據(jù)碼表和驗(yàn)證口令,采用所述約定的驗(yàn)證運(yùn)算規(guī)則及算法,獲得驗(yàn)證答案,發(fā)送給驗(yàn)證申請方;(3)驗(yàn)證申請方根據(jù)被驗(yàn)證方的身份信息,選擇與被驗(yàn)證方對應(yīng)的碼表,采用所述約定的驗(yàn)證運(yùn)算規(guī)則及算法,根據(jù)碼表和驗(yàn)證口令,獲得標(biāo)準(zhǔn)應(yīng)答,與步驟(2)中接收到的驗(yàn)證答案進(jìn)行對比,相同則確認(rèn)身份,不相同則拒絕確認(rèn)。
上述技術(shù)方案中,所述共同信息可以是客戶的用戶帳號、密碼、證件號碼、聯(lián)系方式等全部或部分信息,也可以是客戶信息加上服務(wù)表征代碼等服務(wù)商的信息,或者是這類信息按一定規(guī)律的映射集;所述共同信息的登記通??梢允孪仍趲ぬ柊l(fā)行或修改時(shí)通過安全方式進(jìn)行;所述碼表生成方法可以是數(shù)據(jù)抽取或映射規(guī)則、運(yùn)算規(guī)則或算法。所述碼表的生成既可以一次生成后多次備查,直到作為碼表生成所需要輸入的原始資料信息被全部或部分改變;也可每次驗(yàn)證身份時(shí)即時(shí)生成。所述身份信息,如果被驗(yàn)證方是用戶,可以是用戶的帳號或設(shè)備號等信息;如果被驗(yàn)證方是服務(wù)商,則可以是服務(wù)商的服務(wù)表征代碼等信息。所述驗(yàn)證口令是由數(shù)字或字符串構(gòu)成的一組代碼,可以符合一定約束條件隨機(jī)生成,也可以按照一定規(guī)則生成,或者兩者結(jié)合構(gòu)成。
上述技術(shù)方案中,所述約定的碼表生成方法中至少包含有一個(gè)單向函數(shù)運(yùn)算步驟。
所述的驗(yàn)證運(yùn)算規(guī)則及算法中,至少包含有一個(gè)單向函數(shù)運(yùn)算步驟。
所謂單向函數(shù),即這樣一種函數(shù)f,如果它的定義域中的任意x,都易于計(jì)算出f(x)=y(tǒng),但對于f的值域中幾乎所有的y,即使當(dāng)f為已知時(shí),要計(jì)算f-1(y),在計(jì)算上也是不可行的。在信息安全中常用的單向函數(shù)主要有兩類,單向陷門函數(shù)(如RSA算法等)和單向散列函數(shù)(又稱Hash函數(shù)或雜湊函數(shù),如MD5、SHA-1,等等)。
進(jìn)一步的技術(shù)方案,所述步驟(2)中,被驗(yàn)證方生成一組代碼作為第二驗(yàn)證口令,所述驗(yàn)證答案由驗(yàn)證口令和第二驗(yàn)證口令的組合及碼表一起根據(jù)約定的驗(yàn)證運(yùn)算規(guī)則及算法獲得,發(fā)送給驗(yàn)證申請方的信息由驗(yàn)證答案和第二驗(yàn)證口令構(gòu)成;所述步驟(3)中,獲得標(biāo)準(zhǔn)應(yīng)答時(shí)同樣利用驗(yàn)證口令和第二驗(yàn)證口令的組合。其中,所述驗(yàn)證口令與第二驗(yàn)證口令的組合方法可以是預(yù)先定義的運(yùn)算,如分段混合等。
為同時(shí)實(shí)現(xiàn)公鑰的傳遞,上述技術(shù)方案中,所述步驟(2)中,在獲得驗(yàn)證答案后,被驗(yàn)證方把自己的公鑰與驗(yàn)證答案一起做成數(shù)字摘要,再用自己的私鑰把該摘要做成數(shù)字簽名,被驗(yàn)證方把該數(shù)字簽名和驗(yàn)證答案以及被驗(yàn)證方的公鑰一起發(fā)給驗(yàn)證申請方;所述步驟(3)中,在確認(rèn)身份后,驗(yàn)證申請方用被驗(yàn)證方的公鑰將數(shù)字簽名還原成待驗(yàn)證的數(shù)字摘要,并自己把被驗(yàn)證方公鑰與驗(yàn)證答案一起生成摘要,然后和接收到的待驗(yàn)證的數(shù)字摘要比對,如果正確,則接受被驗(yàn)證方的公鑰。
或者,所述步驟(2)中,在獲得驗(yàn)證答案后,被驗(yàn)證方把自己的公鑰與驗(yàn)證答案一起做成數(shù)字摘要,被驗(yàn)證方把該數(shù)字摘要和驗(yàn)證答案以及被驗(yàn)證方的公鑰一起發(fā)給驗(yàn)證申請方;所述步驟(3)中,在確認(rèn)身份后,驗(yàn)證申請方把被驗(yàn)證方公鑰與驗(yàn)證答案一起生成摘要,然后和接收到的待驗(yàn)證的數(shù)字摘要比對,如果正確,則接受被驗(yàn)證方的公鑰。
上述技術(shù)方案中,所述共同信息中含有私密信息,包括用戶帳號、密碼。為增加破譯難度,所述共同信息中含有可變部分,包括當(dāng)前日期。
上述技術(shù)方案中,所述約定的驗(yàn)證運(yùn)算規(guī)則及算法中包含有僅由雙方獲知的映射規(guī)則、運(yùn)算因子、或私鑰中的一種或幾種。
進(jìn)一步的技術(shù)方案,在被驗(yàn)證方與驗(yàn)證申請方中的一方或雙方的計(jì)算機(jī)上連接有保密硬件裝置,所述驗(yàn)證答案或標(biāo)準(zhǔn)應(yīng)答的運(yùn)算過程在保密硬件裝置中完成,所述碼表存儲于保密硬件裝置內(nèi)部。保密硬件裝置是現(xiàn)有技術(shù)中為了實(shí)現(xiàn)密碼等的保密處理而設(shè)計(jì)的硬件裝置,例如,在中國發(fā)明專利申請CN1808975A中,公開了一種外接網(wǎng)絡(luò)帳號防盜裝置,即可用作本發(fā)明的保密硬件裝置。采用保密硬件裝置后,存儲在其內(nèi)部的信息不能在客戶電腦上讀出,運(yùn)算過程也無從得知。通常,在雙方計(jì)算機(jī)上均設(shè)置保密硬件裝置可以增強(qiáng)保密性能,但如果服務(wù)商的服務(wù)器安全設(shè)置完善,也可以只在客戶端一方的計(jì)算機(jī)上設(shè)置保密硬件裝置。
由于上述技術(shù)方案運(yùn)用,本發(fā)明與現(xiàn)有技術(shù)相比具有下列優(yōu)點(diǎn)1.本發(fā)明利用驗(yàn)證申請方和被驗(yàn)證方共同知道的信息來構(gòu)建碼表,進(jìn)而與驗(yàn)證口令一起生成驗(yàn)證答案,來實(shí)現(xiàn)身份認(rèn)證,因而安全有效可靠;在所述的驗(yàn)證運(yùn)算規(guī)則及算法采用達(dá)到當(dāng)時(shí)公認(rèn)的不能在有效時(shí)間內(nèi)破解的強(qiáng)度的公開密鑰算法、Hash算法時(shí),碼表組成驗(yàn)證答案的組合的數(shù)目遠(yuǎn)遠(yuǎn)大于在碼表變化周期內(nèi)的正常最多登錄次數(shù),由于幾次給出的密語問題和密語答案,即使被記錄和事后破解,也不能恢復(fù)出完整的用戶信息,所以該身份認(rèn)證的數(shù)據(jù)通訊即使被大量監(jiān)聽,該認(rèn)證方法也是安全可靠的。
2.由于本發(fā)明生成碼表的共同信息中包含私密信息(如用戶帳號密碼)和可變因素(如日期,IP地址等),碼表組成驗(yàn)證答案的組合的數(shù)目遠(yuǎn)遠(yuǎn)大于在碼表變化周期內(nèi)的正常最多登錄次數(shù)(如碼表變化周期為一天,碼表組成驗(yàn)證答案的組合的數(shù)目為100萬),特別是在使用對明文比特位變化敏感和擴(kuò)散(Diffusion)的單向算法(如Hash算法等)處理的情況下,是非常安全可靠的。
3.本發(fā)明采用點(diǎn)對點(diǎn)的網(wǎng)絡(luò)身份認(rèn)證方法,不依賴于公共數(shù)字證書,不需要第三方認(rèn)證中心幫助,因而實(shí)現(xiàn)方便,費(fèi)用低。
4.本發(fā)明可以與中國發(fā)明專利申請200610023658.X配套使用,由于客戶端的用戶信息,各項(xiàng)約定規(guī)則,特征段,碼表,都在外界硬件裝置內(nèi),而不是暴露在客戶端電腦的硬盤或內(nèi)存中,所以不會被竊取;由于動態(tài)加密,所以難以破解;由于使用服務(wù)號等,可以方便使用多個(gè)網(wǎng)絡(luò)服務(wù)平臺。
附圖1為本發(fā)明實(shí)施例一的流程示意圖。
具體實(shí)施例方式
下面結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步描述實(shí)施例一參見附圖1所示,一種點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,由被驗(yàn)證方和驗(yàn)證申請方的計(jì)算機(jī)通過點(diǎn)對點(diǎn)的網(wǎng)絡(luò)通信實(shí)現(xiàn),包括如下步驟
(1)服務(wù)商和用戶在在帳號登記和發(fā)放時(shí),通過安全方式登記(如在服務(wù)器的數(shù)據(jù)庫和發(fā)放給用戶的硬件設(shè)備中存儲)雙方共同知道的信息,所述共同信息可以是客戶的用戶帳號、密碼、證件號碼、聯(lián)系方式,服務(wù)代碼,登錄當(dāng)時(shí)服務(wù)器的日期等;(2)雙方通過安全方式登記(如在服務(wù)器的數(shù)據(jù)庫和發(fā)放給用戶的硬件設(shè)備中存儲)雙方使用的生成碼表的同樣規(guī)則和方法,包括數(shù)據(jù)抽取或映射規(guī)則、運(yùn)算規(guī)則或算法,其生成規(guī)則可以是從共同信息的各個(gè)字段中按一定順序抽取一定的比特信息,按次序打亂混合,組成160byte共曉信息片段,并分成4段。
用SHA256算法對每段共曉信息片段運(yùn)算,結(jié)果依次鏈接,組成128byte碼表。
(3)雙方通過安全方式登記(如在發(fā)放給用戶的硬件設(shè)備中存儲)雙方使用的通過驗(yàn)證口令和碼表生成驗(yàn)證答案的運(yùn)算規(guī)則和算法,可以是從驗(yàn)證口令中取出地址信息(如M),按位查得碼表中對應(yīng)的第M個(gè)half-byte。
規(guī)定驗(yàn)證口令中含72個(gè)地址信息(其中40個(gè)由驗(yàn)證申請方在0~255內(nèi)隨機(jī)生成,32個(gè)由被驗(yàn)證方在0~255內(nèi)隨機(jī)生成),按上述方法查詢碼表后取得72個(gè)half-byte,將結(jié)果順序排列。
用SHA256算法對上述結(jié)果運(yùn)算,得到32byte長的驗(yàn)證答案。
(4)開始驗(yàn)證時(shí),服務(wù)器向客戶端出示自己身份(發(fā)送服務(wù)商的服務(wù)表征代碼),客戶端向服務(wù)器出示身份(發(fā)送用戶帳號或設(shè)備號)。
(5)驗(yàn)證申請方生成一組代碼(內(nèi)含40個(gè)0~255的地址信息),作為驗(yàn)證口令,向被驗(yàn)證方發(fā)送;被驗(yàn)證方隨機(jī)生成32個(gè)0~255的地址信息,作為第二驗(yàn)證口令,和接收到的驗(yàn)證口令一起構(gòu)成組合驗(yàn)證口令。被驗(yàn)證方從碼表中根據(jù)組合驗(yàn)證口令,按步驟(3)中雙方規(guī)定的規(guī)則運(yùn)算,得到32byte長的驗(yàn)證答案;被驗(yàn)證方把自己的公鑰、驗(yàn)證答案、第二驗(yàn)證口令和其他信息,用SHA256算法做成數(shù)字摘要;被驗(yàn)證方用自己的私鑰,把該摘要用公開密鑰算法做成數(shù)字簽名;
被驗(yàn)證方把該數(shù)字簽名、驗(yàn)證答案、第二驗(yàn)證口令以及被驗(yàn)證方的公鑰一起發(fā)送給驗(yàn)證申請方。
(6)驗(yàn)證申請方將第二驗(yàn)證口令和驗(yàn)證口令一起構(gòu)成組合驗(yàn)證口令,自己從碼表中根據(jù)組合驗(yàn)證口令用步驟(3)中雙方規(guī)定的同樣規(guī)則運(yùn)算,得到結(jié)果,并與被驗(yàn)證方發(fā)來的驗(yàn)證答案比較是否相同。相同則確認(rèn)身份,不相同則拒絕確認(rèn)。
(7)如果被驗(yàn)證方的身份確認(rèn),驗(yàn)證申請方用被驗(yàn)證方的公鑰將數(shù)字簽名還原成數(shù)字摘要,通過驗(yàn)證數(shù)字摘要,證明被驗(yàn)證方的公鑰確實(shí)由被驗(yàn)證方發(fā)出,并且中間未被篡改后,接受被驗(yàn)證方的公鑰。否則拒絕接受。
(8)如果是雙向驗(yàn)證,則客戶端和服務(wù)器端交換被驗(yàn)證方和驗(yàn)證申請方角色,重復(fù)步驟(4)~步驟(7)。
雙方完成身份確認(rèn)并接受對方的公鑰后,可以繼續(xù)后續(xù)保密握手流程(如生成和交換一次性的對稱密鑰)、定時(shí)握手和保密數(shù)據(jù)傳輸。
實(shí)施例二一種點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,由被驗(yàn)證方和驗(yàn)證申請方的計(jì)算機(jī)通過點(diǎn)對點(diǎn)的網(wǎng)絡(luò)通信實(shí)現(xiàn),包括如下步驟(1)服務(wù)商和用戶在帳號登記和發(fā)放時(shí),在服務(wù)器的數(shù)據(jù)庫和發(fā)放給用戶的硬件設(shè)備中分別存儲雙方共同知道的信息(例如客戶的用戶帳號、密碼、證件號碼、聯(lián)系方式,服務(wù)代碼,日期(登錄當(dāng)時(shí)服務(wù)器的日期))。
(2)在服務(wù)器的數(shù)據(jù)庫和發(fā)放給用戶的硬件設(shè)備中分別存儲雙方使用的生成碼表的同樣規(guī)則和方法(數(shù)據(jù)抽取或映射規(guī)則、運(yùn)算規(guī)則或算法)從雙方共同知道的信息的各個(gè)字段中按一定順序抽取一定的比特信息,按次序打亂混合,組成50byte共曉信息片段,并分成2段。
用SHA-1算法對共曉信息片段運(yùn)算,結(jié)果依次鏈接,組成40byte碼表。
(3)在服務(wù)器和發(fā)放給用戶的硬件設(shè)備中分別存儲雙方使用的通過驗(yàn)證口令和碼表生成驗(yàn)證答案的運(yùn)算規(guī)則和算法規(guī)定驗(yàn)證口令中含40個(gè)byte(其中22個(gè)由驗(yàn)證申請方隨機(jī)生成,18個(gè)由被驗(yàn)證方隨機(jī)生成)。
用HMAC-SHA1算法對上述結(jié)果運(yùn)算,得到20byte長的驗(yàn)證答案
ipad=字節(jié)(0x36)重復(fù)40次opad=字節(jié)(0x5c)重復(fù)40次驗(yàn)證答案=SHA1(驗(yàn)證口令XOR opad,SHA1(驗(yàn)證口令XOR ipad,碼表))。
(4)服務(wù)器向客戶出示自己身份(發(fā)送服務(wù)商的服務(wù)表征代碼),客戶端向服務(wù)出示身份(發(fā)送用戶帳號或設(shè)備號);(5)驗(yàn)證申請方生成22byte隨機(jī)數(shù),作為驗(yàn)證口令,向被驗(yàn)證方發(fā)送提出;被驗(yàn)證方生成隨機(jī)生成18byte隨機(jī)數(shù),作為第二驗(yàn)證口令,和驗(yàn)證口令一起構(gòu)成組合驗(yàn)證口令。被驗(yàn)證方從碼表中根據(jù)組合驗(yàn)證口令,按步驟3中雙方規(guī)定的規(guī)則運(yùn)算,得到20byte長的驗(yàn)證答案;被驗(yàn)證方把自己的公鑰、驗(yàn)證答案、第二驗(yàn)證口令和其他信息,用SHA1算法做成數(shù)字摘要;被驗(yàn)證方用自己的私鑰,把該摘要用公開密鑰算法做成數(shù)字簽名;被驗(yàn)證方把該數(shù)字簽名、驗(yàn)證答案、第二驗(yàn)證口令以及被驗(yàn)證方的公鑰一起發(fā)送給驗(yàn)證申請方;(6)驗(yàn)證申請方將第二驗(yàn)證口令和驗(yàn)證口令組成組合驗(yàn)證口令,自己從碼表中根據(jù)組合驗(yàn)證口令用步驟(3)中雙方規(guī)定的同樣規(guī)則運(yùn)算,得到結(jié)果,并與被驗(yàn)證方發(fā)來的驗(yàn)證答案比較是否相同。相同則確認(rèn)身份,不相同則拒絕確認(rèn);(7)如果被驗(yàn)證方的身份確認(rèn),驗(yàn)證申請方用被驗(yàn)證方的公鑰將數(shù)字簽名還原成數(shù)字摘要,通過驗(yàn)證數(shù)字摘要,證明被驗(yàn)證方的公鑰確實(shí)由被驗(yàn)證方發(fā)出,并且中間未被篡改后,接受被驗(yàn)證方的公鑰。否則拒絕接受。
(8)如果是雙向驗(yàn)證,則客戶端和服務(wù)器端交換被驗(yàn)證方和驗(yàn)證申請方角色,重復(fù)步驟(4)~步驟(7)。
雙方完成身份確認(rèn)并接受對方的公鑰后,可以繼續(xù)后續(xù)保密握手流程(如生成和交換一次性的對稱密鑰)、定時(shí)握手和保密數(shù)據(jù)傳輸。
權(quán)利要求
1.一種點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,由被驗(yàn)證方和驗(yàn)證申請方的計(jì)算機(jī)通過點(diǎn)對點(diǎn)的網(wǎng)絡(luò)通信實(shí)現(xiàn),其特征在于在被驗(yàn)證方和驗(yàn)證申請方分別登記共同信息,并約定碼表生成方法、驗(yàn)證運(yùn)算規(guī)則及算法,分別在被驗(yàn)證方和驗(yàn)證申請方采用所述約定的碼表生成方法,利用共同信息生成碼表,每次進(jìn)行身份認(rèn)證時(shí),包括如下步驟(1)被驗(yàn)證方向驗(yàn)證申請方發(fā)送身份信息,驗(yàn)證申請方生成一組代碼作為驗(yàn)證口令,發(fā)送給被驗(yàn)證方;(2)被驗(yàn)證方根據(jù)碼表和驗(yàn)證口令,采用所述約定的驗(yàn)證運(yùn)算規(guī)則及算法,獲得驗(yàn)證答案,發(fā)送給驗(yàn)證申請方;(3)驗(yàn)證申請方根據(jù)被驗(yàn)證方的身份信息,選擇與被驗(yàn)證方對應(yīng)的碼表,采用所述約定的驗(yàn)證運(yùn)算規(guī)則及算法,根據(jù)碼表和驗(yàn)證口令,獲得標(biāo)準(zhǔn)應(yīng)答,與步驟(2)中接收到的驗(yàn)證答案進(jìn)行對比,相同則確認(rèn)身份,不相同則拒絕確認(rèn)。
2.根據(jù)權(quán)利要求1所述的點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,其特征在于所述約定的碼表生成方法中至少包含有一個(gè)單向函數(shù)運(yùn)算步驟。
3.根據(jù)權(quán)利要求1所述的點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,其特征在于所述的驗(yàn)證運(yùn)算規(guī)則及算法中,至少包含有一個(gè)單向函數(shù)運(yùn)算步驟。
4.根據(jù)權(quán)利要求1所述的點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,其特征在于所述步驟(2)中,被驗(yàn)證方生成一組代碼作為第二驗(yàn)證口令,所述驗(yàn)證答案由驗(yàn)證口令和第二驗(yàn)證口令的組合及碼表一起根據(jù)約定的驗(yàn)證運(yùn)算規(guī)則及算法獲得,發(fā)送給驗(yàn)證申請方的信息由驗(yàn)證答案和第二驗(yàn)證口令構(gòu)成;所述步驟(3)中,獲得標(biāo)準(zhǔn)應(yīng)答時(shí)同樣利用驗(yàn)證口令和第二驗(yàn)證口令的組合。
5.根據(jù)權(quán)利要求1所述的點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,其特征在于所述步驟(2)中,在獲得驗(yàn)證答案后,被驗(yàn)證方把自己的公鑰與驗(yàn)證答案一起做成數(shù)字摘要,再用自己的私鑰把該摘要做成數(shù)字簽名,被驗(yàn)證方把該數(shù)字簽名和驗(yàn)證答案以及被驗(yàn)證方的公鑰一起發(fā)給驗(yàn)證申請方;所述步驟(3)中,在確認(rèn)身份后,驗(yàn)證申請方用被驗(yàn)證方的公鑰將數(shù)字簽名還原成待驗(yàn)證的數(shù)字摘要,并自已把被驗(yàn)證方公鑰與驗(yàn)證答案一起生成摘要,然后和接收到的待驗(yàn)證的數(shù)字摘要比對,如果正確,則接受被驗(yàn)證方的公鑰。
6.根據(jù)權(quán)利要求1所述的點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,其特征在于所述步驟(2)中,在獲得驗(yàn)證答案后,被驗(yàn)證方把自己的公鑰與驗(yàn)證答案一起做成數(shù)字摘要,被驗(yàn)證方把該數(shù)字摘要和驗(yàn)證答案以及被驗(yàn)證方的公鑰一起發(fā)給驗(yàn)證申請方;所述步驟(3)中,在確認(rèn)身份后,驗(yàn)證申請方把被驗(yàn)證方公鑰與驗(yàn)證答案一起生成摘要,然后和接收到的待驗(yàn)證的數(shù)字摘要比對,如果正確,則接受被驗(yàn)證方的公鑰。
7.根據(jù)權(quán)利要求1所述的點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,其特征在于所述共同信息中含有私密信息,包括用戶帳號、密碼。
8.根據(jù)權(quán)利要求7所述的點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,其特征在于所述共同信息中含有可變部分,包括當(dāng)前日期。
9.根據(jù)權(quán)利要求1所述的點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,其特征在于所述約定的驗(yàn)證運(yùn)算規(guī)則及算法中包含有僅由雙方獲知的映射規(guī)則、運(yùn)算因子、或私鑰中的一種或幾種。
10.根據(jù)權(quán)利要求1所述的點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,其特征在于在被驗(yàn)證方與驗(yàn)證申請方中的一方或雙方的計(jì)算機(jī)上連接有保密硬件裝置,所述驗(yàn)證答案或標(biāo)準(zhǔn)應(yīng)答的運(yùn)算過程在保密硬件裝置中完成,所述碼表存儲于保密硬件裝置內(nèi)部。
全文摘要
本發(fā)明公開了一種點(diǎn)對點(diǎn)網(wǎng)絡(luò)身份認(rèn)證方法,由被驗(yàn)證方和驗(yàn)證申請方的計(jì)算機(jī)通過點(diǎn)對點(diǎn)的網(wǎng)絡(luò)通信實(shí)現(xiàn),其特征在于分別登記共同信息,約定碼表生成方法、驗(yàn)證運(yùn)算規(guī)則及算法,分別在被驗(yàn)證方和驗(yàn)證申請方利用共同信息生成碼表,每次進(jìn)行身份認(rèn)證時(shí),包括如下步驟(1)被驗(yàn)證方向驗(yàn)證申請方發(fā)送身份信息,驗(yàn)證申請方將驗(yàn)證口令發(fā)送給被驗(yàn)證方;(2)被驗(yàn)證方根據(jù)碼表和驗(yàn)證口令,采用所述約定的驗(yàn)證運(yùn)算規(guī)則及算法,獲得驗(yàn)證答案,發(fā)送給驗(yàn)證申請方;(3)驗(yàn)證申請方根據(jù)被驗(yàn)證方的身份信息,獲得標(biāo)準(zhǔn)應(yīng)答,與步驟(2)中接收到的驗(yàn)證答案進(jìn)行對比,相同則確認(rèn)身份,不相同則拒絕確認(rèn)。本發(fā)明實(shí)現(xiàn)了點(diǎn)對點(diǎn)的網(wǎng)絡(luò)身份認(rèn)證,不必依賴第三方。
文檔編號H04L9/32GK1925393SQ20061004147
公開日2007年3月7日 申請日期2006年9月8日 優(yōu)先權(quán)日2006年9月8日
發(fā)明者黃濤, 李振威, 王哲, 趙典武 申請人:蘇州勝聯(lián)電子信息有限公司