文|劉文瑞
一種新型基于指紋的密鑰保護方案
文|劉文瑞
隨著社會的不斷發展,信息數據的安全保護已成為人們關注的熱點問題。密碼作為目前已知信息數據安全保護的唯一手段,在社會中扮演著越來越重要的角色。密鑰管理是密碼使用中的關鍵基礎性問題,如何實現數據加密密鑰的有效保護和安全分發,成為信息數據保護的薄弱環節。傳統的“以設備為中心”的密鑰保護機制,均是依賴于口令或者智能卡等,并不能將密鑰與數字行為責任人可靠對應,難以全面符合信息安全法律和安全標準的要求。因此,有學者提出利用生物特征信息來實現密鑰的保護,從而實現“以人為中心”的密鑰保護機制。該解決思路很快得到了大家的認可,并吸引眾多學者投入到該方面技術的研究中,提出了多種解決方案。提出的解決方案主要包括Fuzzy Vault(模糊保險匣)、Fuzzy Commitment(模糊承諾方案)和Fuzzy Extractor(模糊抽取器)等。但是,上述方案在生物特征恢復準確率、生物特征模板的安全性、密鑰的安全性等方面,還存在或多或少的問題。本文提出一種新型基于指紋的密鑰保護方案,可以在防止指紋模板和密鑰泄露的基礎上,有效提高密鑰恢復的準確率。
本節主要對文中所用到的基礎知識進行簡單介紹,主要包括兩部分——生物密鑰保護技術和指紋提取技術。
(一)生物密鑰保護技術
生物密鑰技術主要包含兩個部分——生物密鑰部署和生物密鑰提取。
生物密鑰部署指用戶通過登記一個生物特征信息X,將要保護的密鑰K與登記的生物特征信息X進行安全綁定,輸出安全模板ST(Secured Template),并將原始的隨機密鑰K和等級生物特征信息K銷毀。
生物密鑰提取是指用戶拿到安全模板ST后,為了得到密鑰K,需要輸入一個待驗證的生物特征Y。當且僅當待驗證的生物特征Y來自登記用戶的同一個生物體,即待驗證的生物特征信息Y跟登記的生物特征信息X一致時,用戶才可以從安全模板中準確提取得到原始的隨機密鑰K。
(二)指紋碼提取技術
指紋提取算法首先準確檢測指紋的中心點,在確定中心點后,圍繞指紋中心點裁剪一塊128×128像素的圖像區域;接著提取其中的圖像頻域信息,并將提取到的信息進行矢量化編碼。根據編碼結果,確定固定的門限區域,將所采集到的數值編碼成0、1比特串。同時,可以根據自身所需比特串的長度劃定門限范圍,從而將所采集到的數據劃分成自己所需的比特串。
基于1.2節中提到的密文提取技術,本節設計提出了相應的密鑰保護方案。通過生物指紋信息與數據密鑰信息的融合并發布安全模板,確保根密鑰信息的安全便捷保護。
(一)安全模板生成算法
1. 選取一個固定長度為l的比特串作為根密鑰,同時選取一個指紋混淆口令pw,長度由使用者決定(長度越長,安全性越高);
2. 選取s作為指紋比特串的判定門限,即當兩個指紋比特串不同比特數小于或者等于s時,可正確恢復出密鑰;
3. 對根密鑰K進行Reed-solomon糾錯編碼,使得其可恢復的誤差數至少為s比特,擴展結果是:"K→""K"_"rs",長度為n ;
4. 選取一個雜湊函數H,計算雜湊值〖"ST"〗_"1""=H(K)";
5. 根據n 以及2.2節中描述的指紋比特串提取算法,從指紋模板中提取相應長度為n的指紋模板比特串T;
6. 通過雜湊函數H對pw進行擴展,將其擴展成長度為n的字符串Q,計算"P→T Q";
7. 計算安全模板〖"ST"〗_"2""→""K"_"rs"" P";
8. 公布密鑰保護安全模板ST(ST1,ST2)。
(二)密鑰提取算法
1. 輸入指紋信息,根據模板ST1的長度n,通過2.2節中描述的指紋比特串提取算法,從指紋模板中提取相應長度的指紋模板比特串T;
2. 輸入pw,通過雜湊函數H,將其擴展成為長度為n的字符串Q,計算"P→T Q";
3. 計算"K"_"rs""→P "〖"ST"〗_"2";
4. 對Krs進行糾錯解碼,獲得密鑰K;
5. 計算H(K),與ST1值進行對比。如果相等,則說明恢復成功;如果不等,則說明恢復錯誤。
本方案的性能分析主要從方案的有效性、安全性、與已有方案的比較三個方面展開討論。
(一)有效性分析
本方案密鑰恢復的有效性主要依賴于指紋比特串提取算法的準確度。通過綜合測試多個指紋樣本庫,該方案所用到的指紋比特串提取算法的有效性如表1所示。

表1 指紋提取算法的識別準確度
從表1可以看出,由于門限值設定的不同,指紋算法的誤識率和拒識率也會發生相應的變化。此外,需要說明的是,該指紋提取算法的性能相較于目前較為主流的基于圖的指紋識別和基于向量的指紋識別率還存在一定的差距。
(二)安全性分析
本方案的安全性主要從密鑰的破解難度和密鑰被破解后指紋模板的破解難度兩個方面進行論述。
定理一:已知安全模板,密鑰被破解的計算復雜度是2n 。
證明:該方案公布的安全模板是ST(ST1,ST2),其中ST1是一個雜湊值,ST2是密鑰經過編碼后與指紋信息編碼結果的異或值。如果不已知指紋模板,則獲得密鑰的難度是遍歷 比特長度的字符串,使得其雜湊值為ST1,因此計算復雜度是2n;如果已知指紋模板,但由于需要使用pw的雜湊編碼值對指紋模板進行異或編碼,而pw的長度是未知的,因此需要遍歷長度為n的pw的雜湊編碼值,其計算復雜度也是2n。證畢。
定理二:已知安全模板和相應的密鑰,指紋模板的破解難度是pw口令的暴力破解難度。
證明:已知安全模板和相應的密鑰,則通過RS糾錯編碼可獲得Krs,通過Krs與ST2即可獲得經過pw的雜湊值編碼后的指紋信息。如果需要獲得指紋比特串,則需要遍歷求得正確的pw。
(三)與已有方案的比較
本方案與已有方案的性能比較,結果如表2所示。

表2 本方案與已有方案的性能比較
從表2可以看出,本方案與已有方案的有效性保持一致,時間消耗適中,且本方案的安全性最高,優勢明顯。
本文結合已有的指紋比特串提取技術,設計了一種新型生物密鑰保護方案,給出了安全模板生成算法和密鑰提取算法,并對其性能進行分析,也與已有方案進行比較。方案的有效性由于受限于指紋比特串提取算法,還無法達到實用要求。同時,方案的安全性還有待進一步分析研究,方案的應用場景還需要細化。因此,指紋密鑰保護算法之后的研究將著重于方案有效性的提高和安全性的分析,以便更早地將這種技術應用于實踐。
作者單位:中國電子科技集團公司第二十研究所