基于生物特征识别的公开密钥基础设施
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版。