基于生物特征識別的公開密鑰基礎設施
Biometrics-Based Public Key Infrastructure
摘要:
本文針對PKI體系所存在的難題和脆弱性,結合生物特征識別技術在網絡安全中的應用提出了解決方案,并分析了相應的特點。
關鍵字:生物特征識別 PKI 網絡安全數字證書密鑰管理智能卡
前言
PKI代表著基于公開密鑰密碼術對數字證書進行管理、分發、存儲和撤銷的過程以及相關的基礎架構。迄今為止被認為是最有效地解決了安全服務(包括鑒別、認證、授權、完整性、機密性和不可否認性)的基礎架構。并且,由于Internet等公開網絡基礎的飛速發展,它也成為在公開網絡上實現安全的最好方式。
PKI
PKI概述
Internet是一個強大的、支持各種通信方式和電子事務的場所。它幾乎無處不在,并且涉及到不計其數的服務器、交換機、路由器和應用系統。所有的網絡設備和網絡服務都不是某一組織所能控制,因此它不能視為一個可信網絡。消息和事務在從一端傳遞到另一端時需要經過無法控制的無法預知的許多設備,每一個環節都存在潛在的巨大風險。因此,重要的是需要端對端(End to End)的安全。
另外,對于網絡上發生的通信和事務,雙方并不能看到、聽到甚至知道對方,也無法判斷接受到的信息是否是原始信息。因此需要用一定的方法來確保身份認證和通過非可信網絡(包括Internet和超過用戶控制范圍的網絡)發送的消息和事務的完整性。PKI 能夠提供這些方法,并且能夠應用于各中場合,特別是Internet。
PKI的弱點?
但是是否所有的數據傳輸都需要PKI呢?不是的。首先,并不是每一個人都需要如此級別的安全。許多用戶以及用戶使用的服務使用ISP或者公共終端(比如桌面計算機和瀏覽器、電子郵件程序等)提供的默認安全級別就已經足夠。只有在涉及到隱私、機密、數據安全等商業和法定領域在非可信網絡上,才需要這種高強度的安全。
整個PKI體系中最顯著的問題是密鑰的管理。因為不管對哪一方來說,也不管對密鑰采用什么樣的存儲和管理方式,私鑰是其中最重要的關鍵之處。也可以說,私鑰的管理關系到整個PKI的安全。這也成為整個體系中最脆弱的部分。
如果私鑰是保存在硬盤、軟盤,或者其它非可信媒介之上的,則私鑰本身存在失竊的嚴重風險,從而誤用私鑰,威脅PKI的安全。
為了密鑰安全,目前的流行形式是雙因素的認證。即將證書(私鑰)保存在可信的硬件載體(Smart Card或者USB Key 設備等)之中。但即便這樣,也可能存在著被偷竊、丟失、搶奪等風險。通常私鑰都是通過一個PIN來保護的,而PIN只是一些簡單的字符組合。這樣就會遇到口令管理的怪圈:如果密碼太過簡單,則對暴力和猜測破解的方式抵御甚弱;如果密碼太過復雜,則用戶可能會在某處記錄下來,這又是巨大的泄密風險。因此,如果PIN失密,并且因此而可以使用私鑰,則整個PKI則毫無安全可言。其提供的安全服務越全面,受到的損害越大。
因此,密鑰管理和密碼安全成為PKI最大的脆弱之處。
生物識別技術(Biometrics)
生物識別(Biometrics)是一種基于個體的身體和行為特征對個體進行識別的自動化方法。比較通用的方法有指紋(fingerprint),面容(face),虹膜(iris),手型(hand geometry),語音(voice)和簽名(dynamic signature)等。這些方法和技術,具有不同的特點,目前處在不同的技術和應用發展水平。而關于“最好”的生物識別方法類型則根據不同的應用需要而異。
生物識別系統對生物特征進行取樣,提取其唯一的特征并且轉化成數字代碼,并進一步將這些代碼組成特征模板,人們同識別系統交互進行身份認證時,識別系統獲取其特征并與數據可中的特征模板進行比對,以確定是否匹配。
幾乎所有的安全服務的基礎都是基于用戶鑒別和認證。只有合法的用戶才能授予訪問的權限。為了知道用戶是否是合法,必須告訴計算機一個身份聲明,以及相應的認證方法。最常見的方法是通過提供用戶名稱或者標識ID。通常可能有多種形式:用戶姓名、序列號碼、甚至x.500 的全限定名稱。而用戶的身份認證方式則根據采取的不同認證方法而不同。
身份認證的主要方式有三種:
- 你所知道的(Something you know),比如密碼;
- 你所擁有的(Something you have),比如令牌;
- 你本來是(Something you are),可以測量的自身特點。
這通常稱為是認證的三個基礎。他們可以單獨使用,也可以結合使用以提供更高強度的認證。
基于生物特征識別的認證
個體本身所具有的獨特的身體和行為特征可以用來標識某個個體,這就可以用來進行認證。這種認證方式稱為是生物認證。這就是一種“你本來是”類型的認證。
生物識別可以用來進行鑒別(identification)。這種情況是指用戶并未聲稱自己的身份。生物識別系統試圖通過比對采集的個體特征和事先存儲的特征進行比對來進行相似性匹配。通常稱為是1:N匹配。這種能夠方式一般用于法律強制的環境中,比如刑事偵查和法院查證。這種方式一般返回的是一個最相似的集合結果。最后的決定結果一般需要人工參與。
生物識別也可以用于認證。如果某個用戶聲明了他/她的身份,就可以使用生物手段來進行認證。生物比對則試圖在預先存儲的特征簽名數據庫中查找,然后比對看時否提交的生物特征和登記的特征相匹配。如果匹配,則認證為合法用戶。這通常稱為是1:1匹配。這種匹配的返回結果很簡單,那就是身份驗證是,還是否。
基于生物特征的多因素認證運行模式
由于加入了生物識別特征,其運行是需要實時采集的模版和預先登記存儲的參考模版進行比對,以此來決定用戶的身份。因此,登記的參考模版的存儲地點和驗證時的比對操作的進行就顯得比較靈活。
對于一個完整的基于生物特征識別的認證系統,可能的環節包括:

因此在這個鏈條中,模版的存儲和比對的地點就存在多種組合,對應不同等額運行模式。如下表所示:
比對存儲 |
服務器 |
客戶機 |
采集設備 |
智能卡 |
服務器 |
A |
- |
- |
B |
客戶機 |
- |
C |
- |
D |
采集設備 |
- |
- |
E |
F |
智能卡 |
- |
- |
- |
G |
其中某些組合可在操作性,安全性等方面具有較大缺陷,因此一般情況下不予采用。比如,因為參考模版是一種非常敏感的數據,因此盡可能存放在比較安全的地方。而且在比對過程中最好在一個受控的安全環境內進行。模版最好不離開相對安全的環境。
在上述四種信任鏈中,一般來說智能卡和服務器是相對比較安全的環境。并且基于安全的原則,敏感的數據盡量減少網絡的傳輸環節。因此,如果模版是存儲在服務器中,一般情況下比對最好在服務器中進行,這樣可以讓它處在一個受控的環境之中,并且減小傳輸的攻擊威脅。
表中標注字母的組合是目前可以運行的組合方式,具有不同的特點和優缺點,可以分別適用于不同的需要。我們對其進行了列表對比:
基于生物特征識別的網絡安全運行模式比較
運行模式 |
優點 |
缺點 |
主要應用 |
A .服務器存儲/服務器比對 |
管理員可以全部控制用戶的生物憑證模版; |
可能會涉及到個人隱私;
需要對原有架構作出更改;
敏感的數據在網絡中傳輸,需要額外的安全連接; |
網絡安全
國土安全 |
B.卡內存儲/服務器比對 |
|
可能會涉及到個人隱私;
需要對原有架構作出更改;
敏感的數據在網絡中傳輸,需要額外的安全連接; |
網絡安全 |
C.PC存儲/PC比對 |
用戶可以控制其自身的模版; |
PC客戶端本身是一個不安全的場合;
不能擴展到整個網絡環境; |
終端安全
計算機安全 |
D.卡內存儲/PC比對 |
用戶可以攜帶其自身的模版;
可以漫游; |
在比對時,暴露了模版數據,可能會被竊取;
|
在線安全 |
E.設備存儲/設備比對 |
用戶可以攜帶其自身的模版;
用戶敏感的模版不會暴露; |
不能漫游; |
物理控制 |
F.卡內存儲/設備比對 |
模版可以被多種設備訪問;
用戶可以控制其自身的模版; |
對于PKI應用是由一個安全漏洞,因為保護證書的密碼/PIN存儲在卡中,會被發送到設備中進行比對。 |
網絡安全
物理控制 |
G.卡內存儲/卡內比對 |
智能卡可以個人化;
卡內數據在沒有匹配是不能被訪問;
敏感的模版永不出卡;
用戶可以控制其自身的模版,沒有隱私侵犯問題;
與PKI架構整合時不需要對原有架構進行更改; |
|
網絡安全
智能身份ID |
從以上的運行模式比較中我們可以看出,有兩種方式特別適合于應用于網絡安全,即卡內存儲/卡內與和卡內存儲,服務器對比方式。
卡內存儲/卡內比對方是是一種非常具有靈活性的模式,它能具有很好的隱私性、安全性、可伸縮性、互操作性和容易集成性。
而服務器為中心的方式則是一種強控制的方式,管理員可以控制所有相關的用戶的生物憑證以及與之相關的安全策略,具有很好的適應性和應用范圍。
關于卡內比對的運行方式,目前可以運行在主要的智能卡操作系統(COS)之上,比如PreciseBiometrics公司基于JavaCard系統的PRECISE MATCH?技術和G&D的STARCOS SPK方案。
基于生物特征識別的PKI
公開秘鑰架構(PKI)是至今最為安全的提供認證和數字簽名的方法。該方法基于非對稱加密的基礎,而且依賴于公開和私有的密鑰對必須對應于相應的人。通常公鑰要進行公開分發,而私鑰則由擁有人妥善保管。
而公鑰的保證一般是通過證書的方式來保證,證書由雙方信任的機構來進行頒發。有多種不同的證書技術,常見的X.509 v3。某個證書包含一些描述與該公私密鑰對相聯系的人的身份信息。而且數字是自簽名的,由一個權威機構完成,以保證證書的準確性和權威性。
數字簽名則是由私鑰所加密的文檔的單向 Hash編碼。通過對應的公鑰或者證書就能驗證該文檔的有效性和完整性。一旦某人使用私鑰進行了簽名,那么任何獲得了該對應公鑰的人都可以使用該公鑰來驗證該簽名的有效性。
數字簽名的一個重要要求是不可否認性。然而,整個PKI架構中關鍵的因素是簽名者的私鑰,那么私鑰管理的安全性就直接影響到簽名的不可否認性。
所以,密碼管理問題是傳統PKI架構的主要問題。因此導致了非常復雜的密碼管理和分發機制。首先必須部署基于軟件的密碼管理容器到簽名的機器上。這些容器當然能保護不受非法的訪問,但是,這種保護同樣還是基于口令密碼的機制,所以口令本身的安全問題同樣存在。
基于中心的策略
某些組織找到了一種相對簡化的PKI部署方式,這就使以服務器為中心的PKI架構。這種方式以一種中心服務器的方式來管理私鑰,因此可以很快速的完成密鑰的重新生成和驗證。
這種方式現在為許多公司所用,包括大型的支付和金融公司,如Visa。它們通過網絡來產生對應的私鑰和簽名以及證書。
這種方式實際上僅僅解決了布署的成本和復雜度,卻沒有解決安全的真正問題,私鑰的安全性依然存在。
解決這種問題的一種方式是在服務器為中心的PKI的架構中引入生物特征識別技術。這樣,有兩個無與倫比的優點:
- 生物認證將簽名直接對應到相應的個體而不是對應的證書/公鑰;
- 生物認證的高強度消除了非對稱加密中私鑰管理的難題。
其結構如圖所示:

其工作原理是,客戶端采集生物特征信息,并傳送到認證服務器進行認證。認證服務器能夠決定用戶的憑證是否有效,并自簽一個認證信息給私鑰保護器。私鑰保護器然后根據文檔信息計算數字摘要并向客戶端返回一個數字簽名。這樣就在所有應用和服務間建立了完全信任的關系。
這實際上使用了我們前述的服務器存儲/服務器比對的方式。
然后私鑰保護器會和CA進行交互,以獲得CA簽發的公鑰和證書。理想情況下,由于私鑰和生物特征的重要性,因此,可以使用基于硬件的安全模塊來進行管理,這樣私鑰永遠不會暴露。
這種方式的優點是:
- 生物特征識別方式減小了否認的風險
- 服務器為中心的密鑰管理架構減小了部署成本和復雜度;
- 強大的可伸縮性,可以使用與大規模的認證場合,并且密鑰的產生非??焖伲?
- 基于服務器的機構有利于進行痕跡審計;
- 基于策略的認證方法,可以和其他原有的認證設施集成在一起;
- 管理員對整個安全策略、密碼體系和生物特征模板都具有控制權。
基于端點的策略
還有一種相對安全的保護私鑰的方式是使用硬件令牌,比如智能卡和USB令牌。對智能卡來說,密鑰對可以在卡中產生,而公鑰輸出作為驗證,私鑰在卡中受到保護。
這種方式的缺點是,卡可能會被竊取和丟失,而且通常這種方式產生的隨機密鑰對都有一定的有效期限,一旦失效必須在卡中重新生成。并且,對卡來說,同樣也是通過用戶名和口令(PIN)的方式來保護私鑰的安全性。這樣,口令威脅問題又會出現。
這種弱點也可以通過使用生物特征識別技術來進行解決。
根據以上的分析,非服務器比對方式中最安全的就是卡內存儲/卡內比對的模式。這種模式下,模版的存儲和比都在高度安全的卡內進行,而且敏感信息和秘密信息永不出卡。由于只有通過生物認證的情況下才可以使用卡中存儲的數字證書,因此實際上可以免除PIN或者口令(當然也可以使用)。
除了基于生物特征識別的基于中心的策略所具有的優點之外,這種方式最大的優點是部署靈活和簡單。它幾乎不需要對原有基礎實施進行改動,能夠非常容易的融合到原有的PKI或者其它基于證書的安全基礎架構之中。因為,所參與安全交互的只是經過生物認證后才使用的公鑰(證書)。
同時,用戶自身的生物特征在其自己擁有的卡(或其他設備)之中,用戶能夠具有控制權,消除了一些隱私的敏感性。
基于生物特征識別PKI的特點
基于生物特征的PKI主要有以下特點:
1.具體化。
雖然生物特征本身并不直接參與到網絡安全和基礎體系中,但是通過生物特征識別,能夠將虛擬空間和顯示空間聯系起來。特別是對于認證和簽名,可以追溯到具體的個體而不是抽象的二進制(用戶名或者證書)。
2. 安全性
生物特征本身作為鑒別是目前最為安全的技術,特別是如虹膜識別等技術;
3. 自我管理
生物特征本身屬于一種“我本來是”的特點,擁有人自我管理,減少了丟失、偷竊的可能(特別是活體識別技術);減少了分發管理的負擔;同時擁有人對其具有控制權。
4. 不可撤銷性
生物特征識別技術不象數字方式的識別,一旦喪失安全性可以撤銷重新頒發;生物特征本身是不可再生,不可重新發放的。因此,必須在使用過程中主要保護原始的生物特征信息(不是提取后的模板),比如使用輪流使用手指指紋,或者加入基于圖像的擾動等。
5. 非絕對性
生物特征不管如何精確,卻和數字手段不同,它是采用相似性來進行匹配的,而不是通過相等性來匹配的。所以,它不能直接應用在安全體系的密碼體系之中。只能作為輔助的安全手段。
結論
傳統的PKI技術面臨著密鑰管理和分發的難題,從而影響到PKI架構的廣泛使用。
基于生物特征的識別能夠解決這兩個問題:首先,通過生物特征識別技術,可以將原有的私鑰的管理難題和脆弱性得到解決,并且可以通過中心化策略和客戶端策略來進行。前者能夠在最大控制基礎上,解決安全的密碼分發和管理問題。而后者則更加靈活,與現有PKI架構無縫集成。
生物特征本身是個體自有特征,并且從邏輯上將認證和否認性追溯到具體的個體而不是抽象的數字代碼。由于其天生性,也基本沒有分發的管理負擔。
基于生物特征識別的PKI,從邏輯上和技術上都加強了PKI。一方面有利于PKI的廣泛應用,另一方面安全強度大大提高,對政府、軍隊和其它敏感行業尤其重要。
參考文獻:
- 公鑰基礎設施(PKI):實現和管理電子安全 [美] Andrew Nash 等著,張玉清等譯,清華大學出版社,2002年12月第1版。
- 數字簽名 Nohan Atreya 等著,賀軍等譯,清華大學出版社 2003年1月第1版。