專利名稱:一種基于指紋特征的通用用戶注冊認(rèn)證方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)站用戶登錄認(rèn)證領(lǐng)域,特別是涉及ー種基于指紋特征的通用用戶注冊認(rèn)證方法及系統(tǒng)。
背景技術(shù):
互聯(lián)網(wǎng)上的網(wǎng)站為了能夠針對不同的用戶提供個性化的信息和服務(wù),會要求用戶在網(wǎng)站進(jìn)行注冊,注冊后的用戶會取得在該網(wǎng)站的唯一標(biāo)識。網(wǎng)站可以使用這個標(biāo)識區(qū)分不同的訪問用戶。在注冊過程中由用戶需要將賬號和密碼信息預(yù)留在網(wǎng)站上。用戶登錄時需要提供 賬號及密碼以進(jìn)行身份驗證。對于網(wǎng)站方面,需要對注冊用戶的賬號,密碼等信息進(jìn)行存儲,其中密碼一般通過單向散列函數(shù)運(yùn)算后進(jìn)行存儲,以防止泄密或是還原。對于用戶方面,則需要自行記憶賬號和密碼。但是用戶密碼泄漏的風(fēng)險總是存在的。從用戶角度,用戶可能會在無意中將密碼透漏給他人,也有可能因中木馬病毒或登錄釣魚網(wǎng)站而泄露密碼。從服務(wù)器角度,由于管理或者技術(shù)原因,用戶密碼可能以易于破譯的編碼形式甚至直接以明碼形式泄漏。從惡意攻擊者的角度,簡單的密碼很容易通過窮舉的方式暴力獲得。而為了防止ー處泄露處處遭殃,用戶不得不為不同的網(wǎng)站使用不同的密碼,并保持一定的密碼強(qiáng)度。但這就増加了用戶的記憶負(fù)擔(dān)。當(dāng)用戶注冊賬戶很多且密碼較為復(fù)雜時很容易發(fā)生忘記密碼的情況。指紋在身份鑒別領(lǐng)域已經(jīng)應(yīng)用多年,因其具有唯一性、終生不變性、難于偽造等特點而廣為采用。將指紋信息與密鑰體系結(jié)合起來將使得身份鑒別的過程在保證安全的同時更加方便,但是在現(xiàn)有的網(wǎng)站用戶認(rèn)證領(lǐng)域并未有相關(guān)的發(fā)明。
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明提供了一種基于指紋特征的通用用戶注冊認(rèn)證方法及系統(tǒng),其目的是將指紋信息與密鑰體系結(jié)合起來將使得身份鑒別的過程在保證安全的同時更加方便。本發(fā)明為一種基于指紋特征的通用用戶注冊認(rèn)證方法,包括步驟1,將用戶新錄入的指紋信息結(jié)合域名,生成注冊名以及密鑰,填入注冊表單;步驟2,當(dāng)用戶登錄時,根據(jù)指紋信息查詢注冊表單內(nèi)容,檢測是否為注冊用戶,如果為已注冊用戶則登陸成功,并且能夠修改密鑰,如果為未注冊用戶,則執(zhí)行步驟I。所述的基于指紋特征的通用用戶注冊認(rèn)證方法,所述步驟I還包括步驟21,指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成注冊名,并填入注冊表單;步驟22,所采集的指紋信息結(jié)合域名以及注冊時間以哈希值hash2截取出密鑰所需的參數(shù),將所述參數(shù)生成的密鑰發(fā)送至服務(wù)器端。
所述的基于指紋特征的通用用戶注冊認(rèn)證方法,所述步驟22還包括步驟31,所述參數(shù)生成非対稱密鑰分別作為用戶端密鑰k和服務(wù)器端密鑰p,并將服務(wù)器端密鑰P與密鑰生成時間同時發(fā)送至服務(wù)器端,服務(wù)器保存服務(wù)器端密鑰P與密鑰生成時間;步驟32,用戶端刪除相應(yīng)的用戶端密鑰k、指紋信息、密鑰生成時間。所述的基于指紋特征的通用用戶注冊認(rèn)證方法,所述步驟2還包括步驟41,用戶登錄時錄入指紋信息,指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成用戶名,如果為已注冊用戶,使用該用戶的服務(wù)器端密鑰P加密挑戰(zhàn)得到密文encp與用戶端密鑰生成時間回傳至用戶端;步驟42,用戶端利用指紋信息、域名以及用戶端密鑰生成時間,使用注冊時生成密 鑰方式,生成用戶端密鑰解密出挑戰(zhàn)deck,應(yīng)答結(jié)果經(jīng)加密后得到enck發(fā)送至服務(wù)器端;步驟43,服務(wù)器端對用戶端的響應(yīng)decp進(jìn)行驗證后完成認(rèn)證過程;步驟44,用戶端刪除相應(yīng)用戶端密鑰k、指紋信息、以及用戶端密鑰生成時間。所述的基于指紋特征的通用用戶注冊認(rèn)證方法,所述步驟2中修改密鑰還包括步驟51,用戶驗證成功后,選擇更改密鑰;步驟52,該用戶重新錄入指紋信息,客戶端結(jié)合新的錄入時間生成新用戶端密鑰knew和新服務(wù)器端 鑰Pnew ;步驟53,用戶端將新用戶端密鑰生成時間發(fā)送至服務(wù)器端更新保存;步驟54,用戶端刪除相應(yīng)的歷史用戶端密鑰k、指紋信息、及密鑰生成時間。本發(fā)明為一種基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),包括注冊模塊,用于將用戶新錄入的指紋信息結(jié)合域名,生成注冊名以及密鑰,填入注■表單;認(rèn)證及修改模塊,用于當(dāng)用戶登錄時,根據(jù)指紋信息查詢注冊表單內(nèi)容,檢測是否為注冊用戶,如果為已注冊用戶則登陸成功,并且能夠修改密鑰,如果為未注冊用戶,則執(zhí)行注冊模塊。所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),所述注冊模塊還包括指紋信息模塊,用于指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成注冊名,并填入注冊表単;截取參數(shù)模塊,用于所采集的指紋信息結(jié)合域名以及注冊時間以哈希值hash2截取出密鑰所需的參數(shù),將所述參數(shù)生成的密鑰發(fā)送至服務(wù)器端。所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),所述截取參數(shù)模塊還包括生成參數(shù)模塊,用于所述參數(shù)生成非対稱密鑰分別作為用戶端密鑰k和服務(wù)器端密鑰P,并將服務(wù)器端密鑰P與密鑰生成時間同時發(fā)送至服務(wù)器端,服務(wù)器保存服務(wù)器端密鑰P與密鑰生成時間;刪除信息模塊,用于用戶端刪除相應(yīng)的用戶端密鑰k、指紋信息、密鑰生成時間。所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),所述認(rèn)證及修改模塊還包括生成密文模塊,用于用戶登錄時錄入指紋信息,指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成用戶名,如果為已注冊用戶,使用該用戶的服務(wù)器端密鑰P加密挑戰(zhàn)得到密文encp與用戶端密鑰生成時間回傳至用戶端;
用戶端密鑰模塊,用于用戶端利用指紋信息、域名以及用戶端密鑰生成時間,使用注冊時生成密鑰方式,生成用戶端密鑰解密出挑戰(zhàn)deck,應(yīng)答結(jié)果經(jīng)加密后得到enck發(fā)送至服務(wù)器端;認(rèn)證模塊,用于服務(wù)器端對用戶端的響應(yīng)decp進(jìn)行驗證后完成認(rèn)證過程;刪除用戶端信息模塊,用于用戶端刪除相應(yīng)用戶端密鑰k、指紋信息、以及用戶端密鑰生成時間。所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),所述認(rèn)證及修改模塊中修改密鑰還包括更改密鑰模塊,用于用戶驗證成功后,選擇更改密鑰;錄入指紋信息模塊,用于該用戶重新錄入指紋信息,客戶端結(jié)合新的錄入時間生成新用戶端密鑰kn 和新服務(wù)器端密鑰pn ;新用戶更新模塊,用于用戶端將新用戶端密鑰生成時間發(fā)送至服務(wù)器端更新保存;刪除歷史信息模塊,用于用戶端刪除相應(yīng)的歷史用戶端密鑰k、指紋信息、及密鑰生成時間。本發(fā)明的有益效果為I符合密碼學(xué)柯克霍夫原則,即使密碼系統(tǒng)的任何細(xì)節(jié)已為人悉知,只要密鑰未泄漏,它也應(yīng)是安全的。在本發(fā)明中,密鑰來自于用戶的指紋特征信息。2密鑰的初次生成和后續(xù)使用時生成采用相同的算法,實現(xiàn)簡単。3用戶的指紋特征信息不在任何設(shè)備或地點直接保存,保證了安全性。4用戶端密鑰只在使用時根據(jù)指紋信息生成,用后即銷毀。5哈希值的單向性及非対稱密鑰在數(shù)學(xué)上的破譯難度保證了用戶指紋特征信息不會依據(jù)服務(wù)器端密鑰反向破解而造成泄漏。6使用挑戰(zhàn)-響應(yīng)機(jī)制對用戶和服務(wù)器雙方的身份都進(jìn)行驗證7可以作為獨(dú)立設(shè)備,也可以是軟件模塊,實現(xiàn)方式靈活簡単。
圖I是本發(fā)明基于指紋特征的通用用戶注冊認(rèn)證方法流程圖;圖2是本發(fā)明一個實施例中密鑰生成關(guān)鍵步驟的流程圖;圖3是本發(fā)明基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng)流程4是本發(fā)明一個實施例中注冊過程的流程圖;圖5是本發(fā)明一個實施例中認(rèn)證過程的流程圖;圖6是本發(fā)明一個實施例中密鑰修改過程的流程圖。
具體實施例方式下面給出本發(fā)明的具體實施方式
,結(jié)合附圖對本發(fā)明做出了詳細(xì)描述。本發(fā)明提供ー種方便易行的方法,以解決現(xiàn)有技術(shù)中,用戶在某一網(wǎng)站注冊的密碼泄漏后,其他網(wǎng)站的賬戶會受到極大安全威脅,以及用戶記憶大量復(fù)雜密碼不便等問題。本發(fā)明中將原本由用戶自定義的賬號改為根據(jù)用戶的指紋信息生成。不再使用傳統(tǒng)的賬戶和密碼驗證而改為使用與指紋相關(guān)的用戶端密鑰和在服務(wù)器端存儲的相應(yīng)服務(wù)器端密鑰進(jìn)行驗證。為防止密鑰丟失的危險,只有服務(wù)器端密鑰及密鑰生成時間保存在服務(wù)器端。用戶端密鑰僅在需要時結(jié)合用戶指紋臨時生成。為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下舉例對本發(fā)明進(jìn)行進(jìn)ー步詳細(xì)說明。如圖I所示,本發(fā)明為一種基于指紋特征的通用用戶注冊認(rèn)證方法,包括步驟1,將用戶新錄入的指紋信息結(jié)合域名,生成注冊名以及密鑰,填入注冊表單;步驟2,當(dāng)用戶登錄時,根據(jù)指紋信息查詢注冊表單內(nèi)容,檢測是否為注冊用戶,如果為已注冊用戶則登陸成功,并且能夠修改密鑰,如果為未注冊用戶,則執(zhí)行步驟I。所述的基于指紋特征的通用用戶注冊認(rèn)證方法,所述步驟I還包括步驟21,指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成注冊名,并填入注冊表單;步驟22,所采集的指紋信息結(jié)合域名以及注冊時間以哈希值hash2截取出密鑰所需的參數(shù),將所述參數(shù)生成的密鑰發(fā)送至服務(wù)器端。所述的基于指紋特征的通用用戶注冊認(rèn)證方法,所述步驟22還包括步驟31,所述參數(shù)生成非対稱密鑰分別作為用戶端密鑰k和服務(wù)器端密鑰p,并將服務(wù)器端密鑰P與密鑰生成時間同時發(fā)送至服務(wù)器端,服務(wù)器保存服務(wù)器端密鑰P與密鑰生成時間;步驟32,用戶端刪除相應(yīng)的用戶端密鑰k、指紋信息、密鑰生成時間。所述的基于指紋特征的通用用戶注冊認(rèn)證方法,所述步驟2還包括步驟41,用戶登錄時錄入指紋信息,指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成用戶名,如果為已注冊用戶,使用該用戶的服務(wù)器端密鑰P加密挑戰(zhàn)得到密文encp與用戶端密鑰生成時間回傳至用戶端;步驟42,用戶端利用指紋信息、域名以及用戶端密鑰生成時間,使用注冊時生成密鑰方式,生成用戶端密鑰解密出挑戰(zhàn)deck,應(yīng)答結(jié)果經(jīng)加密后得到enck發(fā)送至服務(wù)器端;步驟43,服務(wù)器端對用戶端的響應(yīng)decp進(jìn)行驗證后完成認(rèn)證過程;步驟44,用戶端刪除相應(yīng)用戶端密鑰k、指紋信息、以及用戶端密鑰生成時間。所述的基于指紋特征的通用用戶注冊認(rèn)證方法,所述步驟2中修改密鑰還包括步驟51,用戶驗證成功后,選擇更改密鑰;步驟52,該用戶重新錄入指紋信息,客戶端結(jié)合新的錄入時間生成新用戶端密鑰knew和新服務(wù)器端 鑰Pnew ;步驟53,用戶端將新用戶端密鑰生成時間發(fā)送至服務(wù)器端更新保存;步驟54,用戶端刪除相應(yīng)的歷史用戶端密鑰k、指紋信息、及密鑰生成時間。I準(zhǔn)備過程 I. I將指紋掃描設(shè)備連接到用戶計算機(jī)。I. 2在用戶計算機(jī)上安裝客戶端軟件。2注冊過程,如圖4所示,
2. I用戶訪問網(wǎng)站,點擊鏈接進(jìn)入注冊頁面。2. 2用戶通過指紋采集設(shè)備錄入指紋,指紋fingerprint采用數(shù)字形式編碼。結(jié)合網(wǎng)站域名以哈希值生成用戶名username,即hashl (fingerprint+domain name),并填入注冊表單。該過程中用戶無需自行記憶賬號。2. 3從采集的用戶指紋信息fingerprint結(jié)合域名domain name及當(dāng)前時間time后的哈希值hash2 (fingerprint+domain name+time)中截取出密鑰產(chǎn)生所需要的參數(shù)parameter I, parameter2,2. 4根據(jù)截取出的參數(shù)parameterl,parameter2等生成一對非對稱密鑰分別作為用戶端密鑰k和服務(wù)器端密鑰p,并將服務(wù)器端密鑰P與密鑰生成時間time —起發(fā)送到服務(wù)器端保存。2. 5服務(wù)器保存服務(wù)器端密鑰P并記錄密鑰生成時間time。 2. 6客戶端刪除有關(guān)用戶端密鑰k,指紋信息fingerprint,及密鑰生成時間time。3認(rèn)證過程,如圖5所示,3. I用戶進(jìn)入登錄頁,通過指紋采集設(shè)備錄入指紋,指紋fingerprint采用數(shù)字形式編碼。結(jié)合網(wǎng)站域名domain name以哈希值生成用戶名username,即hashl (fingerprint+domain name)并發(fā)送到網(wǎng)站服務(wù)器。3. 2網(wǎng)站服務(wù)器接收到用戶名username后進(jìn)行查看用戶是否已經(jīng)注冊,若已經(jīng)注冊,使用該用戶的服務(wù)器端密鑰P加密挑戰(zhàn)challenge得到密文encp(challenge)與用戶端密鑰生成時間time —起發(fā)送回客戶端。3. 3客戶端利用指紋信息fingerprint、域名domain name及用戶端密鑰生成時間time使用注冊時相同算法生成用戶端密鑰k解密出挑戰(zhàn)challenge,即deck(encp(challenge)),應(yīng)答結(jié)果response經(jīng)加密后得到enck(response)發(fā)送到服務(wù)器端。3. 4服務(wù)器收到enck(response)后,使用服務(wù)器端密鑰P解密,即decp(enck(response)),得到原始響應(yīng)response,服務(wù)器對其進(jìn)行驗證后完成認(rèn)證過程。服務(wù)器與客戶端使用非對稱密鑰體系,客戶端的直接響應(yīng)為response,使用密鑰k加密后得enck(response)在網(wǎng)絡(luò)中傳輸,服務(wù)器使用密鑰P對收到的數(shù)據(jù)進(jìn)行解密,即decp(enck(response)),最終得到的解密結(jié)果就是客戶端欲發(fā)送的response。3. 5同時客戶端刪除有關(guān)用戶端密鑰k,指紋信息fingerprint,及密鑰生成時間time。此認(rèn)證過程用戶只需提供指紋信息,無需記憶賬號及密碼。4修改密鑰,如圖6所示,4. I通過認(rèn)證過程驗證用戶身份。4. 2驗證通過后,用戶選擇更改密鑰。4. 3用戶重新錄入指紋fingerprint,客戶端結(jié)合新的當(dāng)前時間newtime生成用戶端密鑰newk和服務(wù)器端密鑰newp。4. 4客戶端將新的服務(wù)器端密鑰newp和新的用戶端密鑰生成時間newtime發(fā)送到服務(wù)器端更新保存。4. 5客戶端刪除有關(guān)用戶端密鑰k,指紋信息fingerprint,及密鑰生成時間time。I準(zhǔn)備過程
I. I用戶將指紋采集設(shè)備連接到計算機(jī)。I. 2用戶安裝與本發(fā)明相應(yīng)的軟件。2注冊過程,如圖2所示,2. I用戶打開網(wǎng)站W(wǎng)WW. example, com,點擊鏈接進(jìn)入注冊頁面www. example, com/register, html2· 2獲取網(wǎng)站域名,此例中為example. com2. 3用戶通過采集設(shè)備錄入指紋信息,經(jīng)數(shù)字編碼,此例中為FE2B52A77A0177B43356D2606D9F63C2D5C545512. 4 與域名拼接得到 example. comFE2B52A77A0177B43356D2606D9F63C2D5C54551
2. 5 通過某種哈希值生成用戶名,得到 BF38BFDD15FCDF196594169F8917673F4B5F4D52并填入表單2. 6將指紋信息和域名及當(dāng)前時間以另外的形式拼接,得到20120101083000FE2B52A77A0177B43356example. comD2606D9F63C2D5C545512. 7對拼接的結(jié)果使用某種哈希值,得到如132E5616B8330A69E6B5013FB240FA8A3EF961ED的結(jié)果2. 8此例中使用密碼學(xué)中的RSA算法生成密鑰,過程為將所得的哈希值拆分為等長的兩個部分作為兩個大數(shù),分別求出與其最接近的質(zhì)數(shù),并據(jù)此使用RSA算法產(chǎn)生一對新的用戶端密鑰和服務(wù)器端密鑰。亦可從哈希值中提取參數(shù)使用其他非對稱密鑰生成算法產(chǎn)生密鑰。(RSA是三個算法發(fā)明人(RonRivest、Adi Shamirh和LenAdleman)姓氏的簡寫,是用于生成非對稱密鑰的最典型的算法之一)2. 9將服務(wù)器端密鑰及密鑰的產(chǎn)生時間隨用戶填入表單一起提交到服務(wù)器。2. 10服務(wù)器保存有關(guān)用戶的信息及服務(wù)器端密鑰和密鑰產(chǎn)生時間。3認(rèn)證過程3. I用戶打開網(wǎng)站www. example, com,點擊鏈接進(jìn)入登錄頁面www. example, com/login, html3. 2獲取網(wǎng)站域名,此例中為examp le. com3. 3用戶通過采集設(shè)備錄入指紋信息,經(jīng)數(shù)字編碼,此例中為FE2B52A77A0177B43356D2606D9F63C2D5C545513. 4 與域名拼接得到 example. comFE2B52A77A0177B43356D2606D9F63C2D5C545513. 5通過某種哈希值生成用戶名,并保留適當(dāng)長度,得到BF38BFDD15TOD19填入表
單3. 6服務(wù)器對用戶名進(jìn)行驗證,檢查用戶是否已經(jīng)注冊。若已經(jīng)注冊,則使用該用戶名預(yù)留的服務(wù)器端密鑰加密挑戰(zhàn)字串,并同密鑰生成時間發(fā)送到客戶端。3. 7客戶端利用用戶的指紋信息、域名及從服務(wù)器接收到的密鑰生成時間使用與注冊時相同的算法生成用戶端密鑰解密挑戰(zhàn)字串,附加用戶名后再使用用戶端密鑰加密作為應(yīng)答發(fā)送到服務(wù)器。3. 8服務(wù)器使用服務(wù)器端密鑰解密應(yīng)答,并與預(yù)期結(jié)果進(jìn)行比對。若相符,則通過認(rèn)證,否則認(rèn)證失敗。4修改密鑰
4. I使用第三條認(rèn)證過程中的方式登錄服務(wù)器。4. 2用戶點擊鏈接選擇修改密鑰,進(jìn)入頁面WWW. example, com/changepassword.html4. 3用戶再次錄入指紋,經(jīng)數(shù)字編碼,此例中為FE2B52A77A0177B43356D2606D9F63C2D5C545514. 4將指紋信息和域名及當(dāng)前時間拼接,得到20120102203000FE2B52A77A0177B43356example. comD2606D9F63C2D5C545514. 5對拼接的結(jié)果使用某種哈希值,得到如5FF642077BDB66F47B7422712986DBA9185EF64B的結(jié)果 4. 6將所得的哈希值拆分為兩個部分,分別求出與其最接近的質(zhì)數(shù)。并據(jù)此使用RSA算法產(chǎn)生ー對用戶端密鑰和服務(wù)器端密鑰。4. 7將新的服務(wù)器端密鑰及新密鑰的產(chǎn)生時間提交到服務(wù)器。4. 8服務(wù)器更新用戶的服務(wù)器端密鑰及新的密鑰產(chǎn)生時間。如圖3所示,本發(fā)明又為ー種基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),包括注冊模塊10,用于將用戶新錄入的指紋信息結(jié)合域名,生成注冊名以及密鑰,填入注冊■表單;認(rèn)證及修改模塊20,用于當(dāng)用戶登錄時,根據(jù)指紋信息查詢注冊表單內(nèi)容,檢測是否為注冊用戶,如果為已注冊用戶則登陸成功,并且能夠修改密鑰,如果為未注冊用戶,則執(zhí)行注冊模塊。所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),所述注冊模塊還包括指紋信息模塊,用于指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成注冊名,并填入注冊表単;截取參數(shù)模塊,用于所采集的指紋信息結(jié)合域名以及注冊時間以哈希值hash2截取出密鑰所需的參數(shù),將所述參數(shù)生成的密鑰發(fā)送至服務(wù)器端。所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),所述截取參數(shù)模塊還包括生成參數(shù)模塊,用于所述參數(shù)生成非対稱密鑰分別作為用戶端密鑰k和服務(wù)器端密鑰P,并將服務(wù)器端密鑰P與密鑰生成時間同時發(fā)送至服務(wù)器端,服務(wù)器保存服務(wù)器端密鑰P與密鑰生成時間;刪除信息模塊,用于用戶端刪除相應(yīng)的用戶端密鑰k、指紋信息、密鑰生成時間。所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),所述認(rèn)證及修改模塊還包括生成密文模塊,用于用戶登錄時錄入指紋信息,指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成用戶名,如果為已注冊用戶,使用該用戶的服務(wù)器端密鑰P加密挑戰(zhàn)得到密文encp與用戶端密鑰生成時間回傳至用戶端;用戶端密鑰模塊,用于用戶端利用指紋信息、域名以及用戶端密鑰生成時間,使用注冊時生成密鑰方式,生成用戶端密鑰解密出挑戰(zhàn)deck,應(yīng)答結(jié)果經(jīng)加密后得到enck發(fā)送至服務(wù)器端;認(rèn)證模塊,用于服務(wù)器端對用戶端的響應(yīng)decp進(jìn)行驗證后完成認(rèn)證過程;刪除用戶端信息模塊,用于用戶端刪除相應(yīng)用戶端密鑰k、指紋信息、以及用戶端密鑰生成時間。
所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),所述認(rèn)證及修改模塊中修改密鑰還包括更改密鑰模塊,用于用戶驗證成功后,選擇更改密鑰;錄入指紋信息模塊,用于該用戶重新錄入指紋信息,客戶端結(jié)合新的錄入時間生成新用戶端密鑰kn 和新服務(wù)器端密鑰pn ;新用戶更新模塊,用于用戶端將新用戶端密鑰生成時間發(fā)送至服務(wù)器端更新保存;刪除歷史信息模塊,用于用戶端刪除相應(yīng)的歷史用戶端密鑰k、指紋信息、及密鑰生成時間。上述注冊認(rèn)證方法和系統(tǒng)結(jié)合了指紋特征信息作為密鑰的計算因素,使得密鑰能 夠保證僅在使用時計算的同時無需用戶自行記憶。使用哈希值使得任何人都難于從密鑰中恢復(fù)出原始的指紋特征信息,保證了指紋特征信息的安全。服務(wù)器保存一份服務(wù)器密鑰,使用挑戰(zhàn)-響應(yīng)機(jī)制在能夠?qū)τ脩暨M(jìn)行認(rèn)證的同時也可以驗證服務(wù)器的身份,在一定程度上對釣魚網(wǎng)站的欺騙做出了防范?;谏鲜鎏攸c,該方法和系統(tǒng)能夠適用于基于瀏覽器/服務(wù)器的Web站點的注冊認(rèn)證流程,也可用于普通的客戶端/服務(wù)器的交互認(rèn)證。上述方法和系統(tǒng)的優(yōu)點在于(I)符合密碼學(xué)柯克霍夫原則,即使密碼系統(tǒng)的任何細(xì)節(jié)已為人悉知,只要密鑰未泄漏,它也應(yīng)是安全的。在本發(fā)明中,密鑰來自于用戶的指紋特征信息。(2)密鑰的初次生成和后續(xù)使用時生成采用相同的算法,實現(xiàn)簡単。(3)用戶的指紋特征信息不在任何設(shè)備或地點直接保存,保證了安全性。(4)用戶端密鑰只在使用時根據(jù)指紋信息生成,用后即銷毀。(5)哈希值的單向性及非対稱密鑰在數(shù)學(xué)上的破譯難度保證了用戶指紋特征信息不會依據(jù)服務(wù)器端密鑰反向破解而造成泄漏。(6)使用挑戰(zhàn)-響應(yīng)機(jī)制對用戶和服務(wù)器雙方的身份都進(jìn)行驗證。(7)可以作為獨(dú)立設(shè)備,也可以是軟件模塊,實現(xiàn)方式靈活簡単。本領(lǐng)域的技術(shù)人員在不脫離權(quán)利要求書確定的本發(fā)明的精神和范圍的條件下,還可以對以上內(nèi)容進(jìn)行各種各樣的修改。因此本發(fā)明的范圍并不僅限于以上的說明,而是由權(quán)利要求書的范圍來確定的。
權(quán)利要求
1.一種基于指紋特征的通用用戶注冊認(rèn)證方法,其特征在于,包括 步驟1,將用戶新錄入的指紋信息結(jié)合域名,生成注冊名以及密鑰,填入注冊表單; 步驟2,當(dāng)用戶登錄時,根據(jù)指紋信息查詢注冊表單內(nèi)容,檢測是否為注冊用戶,如果為已注冊用戶則登陸成功,并且能夠修改密鑰,如果為未注冊用戶,則執(zhí)行步驟I。
2.如權(quán)利要求I所述的基于指紋特征的通用用戶注冊認(rèn)證方法,其特征在于,所述步驟I還包括 步驟21,指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成注冊名,并填入注■表單; 步驟22,所采集的指紋信息結(jié)合域名以及注冊時間以哈希值hash2截取出密鑰所需的參數(shù),將所述參數(shù)生成的密鑰發(fā)送至服務(wù)器端。
3.如權(quán)利要求2所述的基于指紋特征的通用用戶注冊認(rèn)證方法,其特征在于,所述步驟22還包括 步驟31,所述參數(shù)生成非対稱密鑰分別作為用戶端密鑰k和服務(wù)器端密鑰p,并將服務(wù)器端密鑰P與密鑰生成時間同時發(fā)送至服務(wù)器端,服務(wù)器保存服務(wù)器端密鑰P與密鑰生成時間; 步驟32,用戶端刪除相應(yīng)的用戶端密鑰k、指紋信息、密鑰生成時間。
4.如權(quán)利要求I所述的基于指紋特征的通用用戶注冊認(rèn)證方法,其特征在于,所述步驟2還包括 步驟41,用戶登錄時錄入指紋信息,指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成用戶名,如果為已注冊用戶,使用該用戶的服務(wù)器端密鑰P加密挑戰(zhàn)得到密文encp與用戶端密鑰生成時間回傳至用戶端; 步驟42,用戶端利用指紋信息、域名以及用戶端密鑰生成時間,使用注冊時生成密鑰方式,生成用戶端密鑰解密出挑戰(zhàn)deck,應(yīng)答結(jié)果經(jīng)加密后得到enck發(fā)送至服務(wù)器端; 步驟43,服務(wù)器端對用戶端的響應(yīng)decp進(jìn)行驗證后完成認(rèn)證過程; 步驟44,用戶端刪除相應(yīng)用戶端密鑰k、指紋信息、以及用戶端密鑰生成時間。
5.如權(quán)利要求I所述的基于指紋特征的通用用戶注冊認(rèn)證方法,其特征在于,所述步驟2中修改密鑰還包括 步驟51,用戶驗證成功后,選擇更改密鑰; 步驟52,該用戶重新錄入指紋信息,客戶端結(jié)合新的錄入時間生成新用戶端密鑰knOT和新服務(wù)器端密鑰Pnew ; 步驟53,用戶端將新用戶端密鑰生成時間發(fā)送至服務(wù)器端更新保存; 步驟54,用戶端刪除相應(yīng)的歷史用戶端密鑰k、指紋信息、及密鑰生成時間。
6.一種基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),其特征在于,包括 注冊模塊,用于將用戶新錄入的指紋信息結(jié)合域名,生成注冊名以及密鑰,填入注冊表單; 認(rèn)證及修改模塊,用于當(dāng)用戶登錄時,根據(jù)指紋信息查詢注冊表單內(nèi)容,檢測是否為注冊用戶,如果為已注冊用戶則登陸成功,并且能夠修改密鑰,如果為未注冊用戶,則執(zhí)行注冊·模塊。
7.如權(quán)利要求6所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),其特征在干,所述注冊模塊還包括 指紋信息模塊,用于指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成注冊名,并填入注冊表單; 截取參數(shù)模塊,用于所采集的指紋信息結(jié)合域名以及注冊時間以哈希值hash2截取出密鑰所需的參數(shù),將所述參數(shù)生成的密鑰發(fā)送至服務(wù)器端。
8.如權(quán)利要求7所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),其特征在于,所述截取參數(shù)模塊還包括 生成參數(shù)模塊,用于所述參數(shù)生成非対稱密鑰分別作為用戶端密鑰k和服務(wù)器端密鑰P,并將服務(wù)器端密鑰P與密鑰生成時間同時發(fā)送至服務(wù)器端,服務(wù)器保存服務(wù)器端密鑰P與密鑰生成時間; 刪除信息模塊,用于用戶端刪除相應(yīng)的用戶端密鑰k、指紋信息、密鑰生成時間。
9.如權(quán)利要求6所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),其特征在干,所述認(rèn)證及修改模塊還包括 生成密文模塊,用于用戶登錄時錄入指紋信息,指紋信息采用數(shù)字形式編碼,結(jié)合域名以哈希值hashl生成用戶名,如果為已注冊用戶,使用該用戶的服務(wù)器端密鑰P加密挑戰(zhàn)得到密文encp與用戶端密鑰生成時間回傳至用戶端; 用戶端密鑰模塊,用于用戶端利用指紋信息、域名以及用戶端密鑰生成時間,使用注冊時生成密鑰方式,生成用戶端密鑰解密出挑戰(zhàn)deck,應(yīng)答結(jié)果經(jīng)加密后得到enck發(fā)送至服務(wù)器端; 認(rèn)證模塊,用于服務(wù)器端對用戶端的響應(yīng)deCp進(jìn)行驗證后完成認(rèn)證過程; 刪除用戶端信息模塊,用于用戶端刪除相應(yīng)用戶端密鑰k、指紋信息、以及用戶端密鑰生成時間。
10.如權(quán)利要求6所述的基于指紋特征的通用用戶注冊認(rèn)證系統(tǒng),其特征在于,所述認(rèn)證及修改模塊中修改密鑰還包括 更改密鑰模塊,用于用戶驗證成功后,選擇更改密鑰; 錄入指紋信息模塊,用于該用戶重新錄入指紋信息,客戶端結(jié)合新的錄入時間生成新用戶端密鑰kn 和新服務(wù)器端密鑰Pnew ; 新用戶更新模塊,用于用戶端將新用戶端密鑰生成時間發(fā)送至服務(wù)器端更新保存; 刪除歷史信息模塊,用于用戶端刪除相應(yīng)的歷史用戶端密鑰k、指紋信息、及密鑰生成時間。
全文摘要
本發(fā)明為一種基于指紋特征的通用用戶注冊認(rèn)證方法和系統(tǒng),其特征在于,所述方法包括步驟1,將用戶新錄入的指紋信息結(jié)合域名,生成注冊名以及密鑰,填入注冊表單;步驟2,當(dāng)用戶登錄時,根據(jù)指紋信息查詢注冊表單內(nèi)容,檢測是否為注冊用戶,如果為已注冊用戶則登陸成功,并且能夠修改密鑰,如果為未注冊用戶,則執(zhí)行步驟1。
文檔編號H04L29/06GK102685110SQ20121011344
公開日2012年9月19日 申請日期2012年4月17日 優(yōu)先權(quán)日2012年4月17日
發(fā)明者何遙, 史紅周, 費(fèi)德林 申請人:中國科學(xué)院計算技術(shù)研究所