技術(shù)領(lǐng)域
本發(fā)明涉及一種信息安全技術(shù)領(lǐng)域,具體地說是一種安全的基于生物特征遠(yuǎn)程身份認(rèn)證的方法。
背景技術(shù):
指紋、虹膜、人臉、靜脈等生物特征是識別認(rèn)證個人用戶的天然憑證,每個人的生物特征具備唯一性,難以偽造和假冒。人們一直希望利用生物特征進(jìn)行身份認(rèn)證,以達(dá)到無需讓用戶記住復(fù)雜的口令或者隨身攜帶U盾等設(shè)備的目的。
常見的生物特征認(rèn)證技術(shù)原理是:用戶首次注冊時采集生物特征,經(jīng)過特征提取和編碼后,把生物特征值存儲到服務(wù)器后臺。身份認(rèn)證時,再次采集并計算特征值,把特征值和后臺存儲的特征值對比,若匹配則認(rèn)證成功,反之認(rèn)證失敗。這種簡單特征匹配的認(rèn)證方式,僅適用于封閉環(huán)境或可信信道環(huán)境,不適用于互聯(lián)網(wǎng)環(huán)境。生物特征或生物特征值是高度隱私數(shù)據(jù),一旦信息泄露就會造成用戶的假冒、隱私的泄露等,更為嚴(yán)重的是一旦泄露則是永久泄露,不能更改?;ヂ?lián)網(wǎng)是非安全環(huán)境,生物特征在傳輸、存儲過程中非常容易被嗅探或攻破。
現(xiàn)代密碼技術(shù)在網(wǎng)絡(luò)通信中一般應(yīng)用于數(shù)據(jù)保密、身份認(rèn)證、數(shù)據(jù)完整性保護(hù)和抗抵賴。當(dāng)前主流身份認(rèn)證協(xié)議比如SSL\TLS、Kerberos等均使用了現(xiàn)代密碼技術(shù)。
在非安全信道的互聯(lián)網(wǎng)環(huán)境下,基于生物特征要實現(xiàn)安全的身份認(rèn)證,需至少滿足如下條件:
1、生物特征零存儲,在客戶端、服務(wù)端永不保存用戶生物特征值,也不傳輸用戶生物特征值,防止隱私泄露;
2、雙向認(rèn)證,在不安全的信道下,即要防止用戶的假冒也要防止服務(wù)器的假冒,都能夠通過算法或協(xié)議保障;
3、多因素認(rèn)證,引入口令等其他認(rèn)證方式,以增強(qiáng)認(rèn)證強(qiáng)度。
如何能夠滿足上述三個條件,進(jìn)行安全的生物特征身份認(rèn)證,是本領(lǐng)域技術(shù)人員目前迫切需要解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是針對以上不足,提供一種安全的基于生物特征遠(yuǎn)程身份認(rèn)證的方法,來解決在非安全信道的互聯(lián)網(wǎng)環(huán)境下,基于生物特征如何實現(xiàn)安全身份認(rèn)證的問題。
本發(fā)明的技術(shù)任務(wù)是按以下方式實現(xiàn)的,
一種安全的基于生物特征遠(yuǎn)程身份認(rèn)證的方法,生物特征識別融合現(xiàn)代密碼學(xué),借助密碼算法和協(xié)議實現(xiàn)安全身份認(rèn)證;首次注冊時,把生物特征作為秘密或者利用生物特征進(jìn)行秘密生成,服務(wù)器不存儲生物特征值,而是存儲推演協(xié)商的密鑰;身份認(rèn)證時,根據(jù)服務(wù)端的密鑰、生物特征生成的密鑰做挑戰(zhàn)驗證,實現(xiàn)雙向認(rèn)證。
包括如下步驟:
[一]、注冊過程如下:
[1]、通過客戶端的采集認(rèn)證終端,采集用戶的生物特征,對生物特征依次進(jìn)行預(yù)處理、特征提取和編碼,得到生物特征值;
[2]、把生物特征值經(jīng)過模糊提取或糾錯碼處理得到一段公開數(shù)據(jù)和一段秘密數(shù)據(jù);
[3]、銷毀秘密數(shù)據(jù);
[4]、把公開數(shù)據(jù)以及用戶注冊信息使用服務(wù)器端證書加密,從客戶端發(fā)送并存儲到服務(wù)器端;
[二]、認(rèn)證過程如下:
[5]、用戶通過客戶端登錄系統(tǒng)時,向服務(wù)器端發(fā)出認(rèn)證請求;
[6]、服務(wù)器端產(chǎn)生認(rèn)證挑戰(zhàn)碼數(shù)據(jù),認(rèn)證挑戰(zhàn)碼數(shù)據(jù)使用服務(wù)器端證書的私鑰簽名獲得簽名值,把簽名值、認(rèn)證挑戰(zhàn)碼數(shù)據(jù)發(fā)送給客戶端;
[7]、用戶通過客戶端的采集認(rèn)證終端,再次采集用戶的生物特征,對生物特征依次進(jìn)行預(yù)處理、特征提取和編碼,得到生物特征值;
[8]、把生物特征值經(jīng)過模糊提取或糾錯碼處理得到一段公開數(shù)據(jù)和一段秘密數(shù)據(jù);
[9]、客戶端使用服務(wù)器端證書驗證認(rèn)證挑戰(zhàn)碼數(shù)據(jù)的簽名值;若簽名值驗證通過,則表明服務(wù)端器可信;
[10]、利用秘密數(shù)據(jù)對認(rèn)證挑戰(zhàn)碼數(shù)據(jù)加密,發(fā)送到服務(wù)器端;
[11]、銷毀秘密數(shù)據(jù);
[12]、服務(wù)器端接收到第[10]步發(fā)送的數(shù)據(jù)后,使用用戶公開數(shù)據(jù)解密加密后的認(rèn)證挑戰(zhàn)碼數(shù)據(jù),解密成功,則表示認(rèn)證成功。
步驟[2]替換為:把生物特征值經(jīng)過模糊提取或糾錯碼處理,并加入口令,得到一段公開數(shù)據(jù)和一段秘密數(shù)據(jù);步驟[8]替換為:把生物特征值經(jīng)過模糊提取或糾錯碼處理,并加入口令,得到一段公開數(shù)據(jù)和一段秘密數(shù)據(jù)。
客戶端與服務(wù)器端的通信信道使用SSL/TLS協(xié)議安全通訊。
步驟[4]中,使用服務(wù)器端證書加密,采用的加密算法為PKI非對稱算法RSA或SM2。
步驟[6]中,服務(wù)器端產(chǎn)生一個隨機(jī)數(shù),添加時間戳作為認(rèn)證挑戰(zhàn)碼數(shù)據(jù);認(rèn)證挑戰(zhàn)碼數(shù)據(jù)使用服務(wù)器端證書的私鑰簽名,簽名算法采用PKI非對稱算法RSA或SM2。
步驟[1]及步驟[7]中,采集認(rèn)證終端為攝像頭或麥克風(fēng)或指紋儀或靜脈采集儀;生物特征為人臉或聲紋或指紋或靜脈。
步驟[9]中,客戶端使用PKI技術(shù),驗證認(rèn)證挑戰(zhàn)碼數(shù)據(jù)的簽名。
本發(fā)明的一種安全的基于生物特征遠(yuǎn)程身份認(rèn)證的方法具有以下優(yōu)點:
1、能夠滿足在非安全信道的互聯(lián)網(wǎng)環(huán)境下,基于生物特征的安全身份認(rèn)證;
2、能夠?qū)崿F(xiàn)生物特征零存儲、服務(wù)端、客戶端雙向認(rèn)證、支持其他認(rèn)證因素,提升認(rèn)證強(qiáng)度;
3、保留了生物特征的方便性,引入密碼技術(shù)增強(qiáng)了安全性:把生物特征作為秘密或者利用生物特征結(jié)合其他因素進(jìn)行秘密生成,再利用成熟密碼技術(shù)實現(xiàn)身份認(rèn)證,這樣即可以保留生物特征認(rèn)證的方便性,又保護(hù)了生物特征的隱私,同時具備較高的安全性;
4、實現(xiàn)了生物特征的零存儲、零傳輸,避免了隱私數(shù)據(jù)的泄露;
5、提出引入口令等多因素,進(jìn)一步增強(qiáng)了安全性。
附圖說明
下面結(jié)合附圖對本發(fā)明進(jìn)一步說明。
附圖1為一種安全的基于生物特征遠(yuǎn)程身份認(rèn)證的方法的實施例1的注冊流程圖;
附圖2為一種安全的基于生物特征遠(yuǎn)程身份認(rèn)證的方法的實施例1的認(rèn)證流程圖;
附圖3為一種安全的基于生物特征遠(yuǎn)程身份認(rèn)證的方法的實施例2的注冊流程圖;
附圖4為一種安全的基于生物特征遠(yuǎn)程身份認(rèn)證的方法的實施例2的認(rèn)證流程圖。
具體實施方式
參照說明書附圖和具體實施例對本發(fā)明的一種安全的基于生物特征遠(yuǎn)程身份認(rèn)證的方法作以下詳細(xì)地說明。
實施例1:
本發(fā)明的一種安全的基于生物特征遠(yuǎn)程身份認(rèn)證的方法,生物特征識別融合現(xiàn)代密碼學(xué),借助密碼算法和協(xié)議實現(xiàn)安全身份認(rèn)證;首次注冊時,把生物特征作為秘密或者利用生物特征進(jìn)行秘密生成,服務(wù)器不存儲生物特征值,而是存儲推演協(xié)商的密鑰;身份認(rèn)證時,根據(jù)服務(wù)端的密鑰、生物特征生成的密鑰做挑戰(zhàn)驗證,實現(xiàn)雙向認(rèn)證。
具體包括如下步驟:
如圖1所示,注冊過程如下:
步驟101:通過客戶端的采集認(rèn)證終端,采集用戶的生物特征Um,對生物特征Um依次進(jìn)行預(yù)處理、特征提取和編碼,得到生物特征值Wm;采集認(rèn)證終端為攝像頭;生物特征為人臉;
步驟102:把生物特征值Wm經(jīng)過模糊提取或糾錯碼處理得到一段公開數(shù)據(jù)Pm和一段秘密數(shù)據(jù)Rm;
步驟103:銷毀秘密數(shù)據(jù)Rm;
步驟104:把公開數(shù)據(jù)Pm以及用戶注冊信息使用服務(wù)器端證書加密得到P'm,采用的加密算法為PKI非對稱算法RSA,從客戶端發(fā)送到服務(wù)器端,確保僅有服務(wù)器端才能收到該數(shù)據(jù);
步驟105:利用服務(wù)器端私鑰解密P'm,得到公開數(shù)據(jù)Pm;
步驟106:把公開數(shù)據(jù)Pm安全的存儲在服務(wù)器端。
如圖2所示,認(rèn)證過程如下:
步驟201:用戶通過客戶端登錄系統(tǒng)時,向服務(wù)器端發(fā)出認(rèn)證請求;
步驟202:服務(wù)器端產(chǎn)生一個隨機(jī)數(shù),添加時間戳作為認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm;
步驟203:認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm使用服務(wù)器端證書的私鑰簽名得簽名值Sn,簽名算法采用PKI非對稱算法RSA;把簽名值Sn、認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm發(fā)送給客戶端;
步驟204:用戶通過客戶端的采集認(rèn)證終端,再次采集用戶的生物特征Um,對生物特征Um依次進(jìn)行預(yù)處理、特征提取和編碼,得到生物特征值W'm;
步驟205:把生物特征值W'm經(jīng)過模糊提取或糾錯碼處理得到一段公開數(shù)據(jù)P'm和一段秘密數(shù)據(jù)R'm;
步驟206:客戶端結(jié)合服務(wù)器端證書,使用PKI技術(shù),驗證認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm的簽名值Sn;若簽名值Sn驗證通過,則表明服務(wù)端器可信;
步驟207:利用秘密數(shù)據(jù)R'm對認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm加密得到N''m,發(fā)送到服務(wù)器端;銷毀秘密數(shù)據(jù)R'm;
步驟208:服務(wù)器端接收到N''m后,使用用戶公開數(shù)據(jù)Pm解密加密后的認(rèn)證挑戰(zhàn)碼數(shù)據(jù)N''m,解密后數(shù)據(jù)若等于認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm,即為解密成功,則表示認(rèn)證成功,否則認(rèn)證失敗。
客戶端與服務(wù)器端的通信信道使用SSL/TLS協(xié)議安全通訊。
實施例2:
本發(fā)明的一種安全的基于生物特征遠(yuǎn)程身份認(rèn)證的方法,生物特征識別融合現(xiàn)代密碼學(xué),借助密碼算法和協(xié)議實現(xiàn)安全身份認(rèn)證;首次注冊時,把生物特征作為秘密或者利用生物特征進(jìn)行秘密生成,服務(wù)器不存儲生物特征值,而是存儲推演協(xié)商的密鑰;身份認(rèn)證時,根據(jù)服務(wù)端的密鑰、生物特征生成的密鑰做挑戰(zhàn)驗證,實現(xiàn)雙向認(rèn)證。
具體包括如下步驟:
如圖3所示,注冊過程如下:
步驟101:通過客戶端的采集認(rèn)證終端,采集用戶的生物特征Um,對生物特征Um依次進(jìn)行預(yù)處理、特征提取和編碼,得到生物特征值Wm;采集認(rèn)證終端為指紋儀;生物特征為指紋;
步驟102:把生物特征值Wm經(jīng)過模糊提取或糾錯碼處理,并加入口令,得到一段公開數(shù)據(jù)Pm和一段秘密數(shù)據(jù)Rm;
步驟103:銷毀秘密數(shù)據(jù)Rm;
步驟104:把公開數(shù)據(jù)Pm以及用戶注冊信息使用服務(wù)器端證書加密得到P'm,采用的加密算法為SM2算法,從客戶端發(fā)送到服務(wù)器端,確保僅有服務(wù)器端才能收到該數(shù)據(jù);
步驟105:利用服務(wù)器端私鑰解密P'm,得到公開數(shù)據(jù)Pm;
步驟106:把公開數(shù)據(jù)Pm安全的存儲在服務(wù)器端。
如圖4所示,認(rèn)證過程如下:
步驟201:用戶通過客戶端登錄系統(tǒng)時,向服務(wù)器端發(fā)出認(rèn)證請求;
步驟202:服務(wù)器端產(chǎn)生一個隨機(jī)數(shù),添加時間戳作為認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm;
步驟203:認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm使用服務(wù)器端證書的私鑰簽名得簽名值Sn,簽名算法采用SM2算法;把簽名值Sn、認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm發(fā)送給客戶端;
步驟204:用戶通過客戶端的采集認(rèn)證終端,再次采集用戶的生物特征Um,對生物特征Um依次進(jìn)行預(yù)處理、特征提取和編碼,得到生物特征值W'm;
步驟205:把生物特征值W'm經(jīng)過模糊提取或糾錯碼處理,并加入口令,得到一段公開數(shù)據(jù)P'm和一段秘密數(shù)據(jù)R'm;
步驟206:客戶端結(jié)合服務(wù)器端證書,使用PKI技術(shù),驗證認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm的簽名值Sn;若簽名值Sn驗證通過,則表明服務(wù)端器可信;
步驟207:利用秘密數(shù)據(jù)R'm對認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm加密得到N''m,發(fā)送到服務(wù)器端;銷毀秘密數(shù)據(jù)R'm;
步驟208:服務(wù)器端接收到N''m后,使用用戶公開數(shù)據(jù)Pm解密加密后的認(rèn)證挑戰(zhàn)碼數(shù)據(jù)N''m,解密后數(shù)據(jù)若等于認(rèn)證挑戰(zhàn)碼數(shù)據(jù)Nm,即為解密成功,則表示認(rèn)證成功,否則認(rèn)證失敗。
客戶端與服務(wù)器端的通信信道使用SSL/TLS協(xié)議安全通訊。
通過上面具體實施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的具體實施方式。在公開的實施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實現(xiàn)不同的技術(shù)方案。另外一些技術(shù)手段也可以做常規(guī)置換,比如采集認(rèn)證終端也可以為攝像頭或麥克風(fēng)或指紋儀或靜脈采集儀一種或者幾種的結(jié)合;同時得到相對應(yīng)的生物特征:人臉或聲紋或指紋或靜脈;還可將步驟102和步驟205進(jìn)行優(yōu)化,得到增強(qiáng)方案,除了加入口令,還可以引入其他增強(qiáng)安全性的因素。
除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。