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