1、PKI 技术及其发展现状一、安全基础设施普业适性基础就是一个大环境例如公司组织的基目本框架,一个基础设施可视作一个普适性基础。电力供应基础设施就是我们熟悉的一个例子。电源插座可以让各种电力设备获得运行所需要的电压和电流。基础设施所遵循的原理是:只要遵循需要的原则,不同的实体就可以方便地使用基础设施所提供的服务。用于安全的基础设施必须遵循同样的原理,同样是要提供基础服务。安全基础设施就是为整个组织(“组织”是可以被定义的)提供安全的基本框架,可以被组织中任何需要安全的应用和对象使用。安全基础设施的“接入点”必须是统一的,便于使用(就象墙上的电源插座一样)。只有这样,那些需要使用这种基础设施的对象
2、在使用安全服务时,才不会遇到太多的麻烦。安全基础设施的主要目标就是实现“应用支撑”的功能。从某种意义上说,电力系统就是一个应用支撑,它可以让“应用”,如烤面包机、电灯正常地工作。进一步地讲,由于电力基础设施具有通用性和实用性的特点,使它能支撑新的“应用”(如吹风机),而这些“应用”在电力基础设施设计的时候,还没有出现。安全基础设施能够让应用程序增强自己的数据和资源的安全以及与其它数据和资源交换中的安全。怎样使增加安全功能变得简单、易于实现是最有用的。甚至可以说,使用安全基础设施应当象将电器设备插入墙上的插座一样简单:( 1 )具有易于使用、众所周知的界面;( 2 )基础设施提供的服务可预测且有
3、效;( 3 )应用设备无需了解基础设施如何提供服务。以烤面包机为例,对烤面包机来说,电能怎样从发电站传送到房间,或者传送到房间里墙上的各种各样的插座是没有区别的。可是,当烤面包机一旦插入任何一个墙上的电源插座。它就可以从众所周知的界面(电源插座)得到指定的电压和电流,从中获取能量 r 并正常地工作。安全基础设施必须具有同样友好的接入点,为应用设备提供安全服务。应用设备无须知道基础设施如何实现安全服务,但基础设施能够一致有效地提供安全服务才是最重要的。目前最流行的、最有诱惑力的安全基础设施是公开密钥基础设施(Public Key)nfrastoucture 一 PKI )。简单地讲 PKI 就是
4、一个用公钥概念和技术实施和提供安全服务的具有普适性的安全基础设施。二、PKI 的定义PKI 的基本定义十分简单。所谓 PKI 就是一个用公钥概念和技术实施和提供安全服务的具有普适性的安全基础设施。但 PKI 的定义在不断的延伸和扩展。库也是扩展的 PKI 系统的一个组成部分(因为一个大阴没有证书库是无法使用的)。(1)证书撤消。CA 签发证书来捆绑用户的身份和公钥。可是在现实环境中,必须存在一种机制来撤消这种认可。通常的原因包括用户身份的改变(例如婚前姓名改为婚后姓名)或私钥遭到破坏(例如被黑客发现),所以必须存在一种方法警告其他用户不要再使用这个公钥。在 PK1 中这种告警机制被称为证书撤销
5、。(2)密钥备份和恢复。在很多环境下他们通过对一个包含身份信息和相应公钥的;阅数据结构进行数字签名来捆绑用户的公钥和身份户嘛声这个数据结构被称为公钥证书(简称证书)。尽管 CA 不是每个可想象到的 PKI 的必须部分(特别是范围有限并且相对封闭的环境中,用户可以作为自己的权威机构), 但 CA 是很多大规模 PKI 的关键组成部分。(3)证书库。很容易认识到 CA 只能解决前面章节所提问题的一部分(所提问题就是 A 需要找到日的公钥以便和 B 进行保密通信)。证书机构颁发了一个证书来捆绑日的身份和公钥,但除非 A 能容易地找到证书,否贝 lJ 和没有创建证书一样。必须存在某种鲁棒的、规模可扩充
6、的在线资料库系统,以便 A 能找到安全通信需要的证书。所以证书私钥丢失,这些文件将无法恢复,可能会对这次业务造成严重伤害甚至停止。一个解决方案是为多个接收者加密所有数据,但对于高度敏感数据,这 k 个方法是不可行的。一个更尸可行和通用的可接受的方法是备份并能恢复私钥。(4)自动密钥更新。一个证书的有效期是有限的,这既可能是理论上的原因,诸如关于当前非和密钥长度进行分析的知识现状,也可能是基于实际估计的因素(“我们频繁地变换密钥,以保证每个密钥只保护 x 兆字节的数据”)。可是无论是什么原因,在很多户 K )环境中,一个已颁发的证书需要“过期”,以便更换新的证书,这个过程被称为“密钥更新或证书更
7、新”。绝大多数 PKI用户发现用手工操作的方式定期更新自己的证书是一件令人头痛的事情。用户常常忘记自己证书过期的时间,他们往往是在认证失败时才发现问题,届时显得太晚了。除非用户完成了密钥更新过程,否则他们无法获得 PKI 的相关服务。进一步地讲,当用户处于这种状态,更新过程更为复杂,要求与 CA 带外交换数据(类似于初始化过程)。解决方法是由 PKI 本身自动完成密钥或证书的更新,完全无须用户的干预。无论是用户的证书用于何种目的,都会检查有效期,当失效日期到来时,启动更新过程,生成一个新证书来代替旧证书,但用户请求的事物处理继续进行。(5)密钥历史档案。密钥更新(无论是人为还是自动)的概念,意
8、味着经过一段时间,每个用户都会拥有多个“旧”证书和至少一个“当前”的证书。这一系列证书和相应的私钥组成用户的密钥历史档案(可能应当更正确地称为密钥和证书历史)。记录整个密钥历史是十分重要的。因为 A 自己五年前加密的数据(或其他人为 A 加密的数据)无法用现在的私钥解密。A 需要从他的密钥历史档案中找到正确的解密密钥来解密数据。类似地,需要从密钥历史档案中找到合适的证书验证 A 五年前的签名。类似于密钥更新,管理密钥历史档案也应当由 PKI 自动完成。在任何系统中,需要用户自己查找正确的私钥或用每个密钥去尝试解密数据,这对用户来说是无法容忍的。PKI 必须保存所有密钥,以便正确的备份和恢复密钥
9、,查找正确的密钥以便解密数据。(6)交叉认证。在一系列独立开发的 PKI 中,至少其中一部分互连是不可避免的。由于业务关系的改变或其它一些原因,不同 PKI 的用户团体之间必须进行安全通信,即使以前没有安全通信的需求。为了在以前没有联系的 PKI 之间建立信任关系,导致了“交叉认证”的概念。在没有一个统一的全球的 PKI 环境下,交叉认证是一个可以接受的机制,能够保证一个 PKI 团体的用户验证另一个 PKI 团体的用户证书。交叉认证满足业务需求的重要性,意味着它是扩展后的 PKI 定义的一部分。(7)支持非否认。一个 PKI 用户经常执行与他们身份相关的不可否认的操作(例如,A 对一份文档进
10、行数字签名,申明文档来自于他)。由于业务活动不可中断,要求用户在将来任何时候不能随意破坏这种关系(特别是有利的时候)。例如,A 签了某份文件,几个月后不能否认他的签名,并说别人获取了他的签名私钥,在没有获得他同意的情况下签发了文件。这样的行为被称为否认。PKI 必须能支持避免或阻止否认这就是不可否认的特点。一个 PKI 本身无法提供真正完全的不可否认服务。需要人为因素来分析、判断证据,并作出最后的抉择。然而,PKI 必须提供所需要的技术上的证据,支持决策,提供数据来源认证和可信的时间数据的签名。所以,支持不可否认是扩展后 PKI 的一部分。(8)时间戳。支持不可否认服务的一个关键因素就是在 P
11、KI 中使用安全时间戳(就是说时间源是可信的,时间值必须被安全地传送)。PKI 中必须存在用户可信任的权威时间源(事实上,权威时间源提供的时间并不需要正确,仅仅需要用户作为一个“参照”时间完成基于 PKI 的事务处理(例如:事件 8 发生在事件 A 的后面)。然而,毫无疑问,最好使用世界上官方时间源提供的时间)。仅仅是为了不可否认的目的,PKI 中无须存在权威时间源(就是被 PKI 用户的相关团体能验证证书的安全时间戳服务器)。在很多情况下,在一份文件上盖上权威时间戳是非常有用的。在很多环境中,支持不可否认服务是时间戳的主要目的。无论在何种情况下,时间戳都形成了扩展的 PKI 的一部分。(9)
12、客户端软件。只要理解客户一服务器结构的人都应该知道,除非客户端请求服务(就是发出请求),服务器通常不会为客户端做任何事情。这个原理同样适用于 PKI。在用户本地平台上的客户必须请求认证服务。客户端软件必须询问证书和相关的撤消信息。客户端软件必须理解密钥历史档案,知道何时需要请求密钥更新或密钥恢复操作。客户端软件必须知道何时为文档请求时间戳。作为安全通信的接收端点(从应用程序的角度看,正在执行一个“服务器”进程)r 正是 PKI 客户端软件需要理解策略,需要知道是否、何时和怎样去执行取消操作,需要知道证书路径处理,等等。客户端软件是一个全功能、可操作 PKI 的必要组成部分。没有客户端软件,PK
13、I 无法有效地提供很多服务,因为我们无法去使用这些服务。特别注意的是,不存在应用程序包含 PKI 的告警码(如浏览器或电子邮件软件包)。这样的结构违反了 PKI 作为一个“真”的基础设施的概念,无法保证所有应用程序和平台提供风格一致的安全服务。所以,客户端软件应当独立于所有应用程序之外,完成 PKI 服务的客户端功能。应用程序通过标准接入点与客户端软件连接(与其它基础设施一样),但应用程序本身并不与各种 PKI 服务。三、PKI 的核心服务一般认为 PKI 提供了以下三种主要安全服务:认证向一个实体确认另一个实体确实是他自己。PKI 的认证服务采用数字签名这一密码技术。完整性向一个实体确保数据
14、没有被有意或无意的修改。PKI 的完整性服务可以采用两种技术之一。第一种技术是数字签名。第二种技术是消息认证码或 MAC 。这项技术通常采用对称分组密码或密码杂凑函数。机密性向一个实体确保除了接收者,无人能读懂数据的关键部分。PKI 的机密性服务采用类似于完整牲服务的机制,就是:首先,A 生成一个对称密钥(也许是使用他的密钥交换私钥和日的密钥交换公钥):其次,用对称密钥加密数据(使用对称分组密码);最后将加密后的数据以及 A 的密钥交换公钥或用 B 的加密公钥加密后的对称密钥发送给已。为了在实体(A 和田间建立对称密钥,需要建立密钥交换和密钥传输机制。四、PKI 的信任模型PKI 的信任模型解
15、决以下一些问题:一个实体能够信任的证书是怎样被确定的。这种信任是怎样被建立的 P 。在一定的环境下,这种信任在什么情形下能够被限制或控制?目前流行的 PKI信任模型主要有四种:认证机构(CA )的严格层次结构。认证机构(CA 的严格层次结构可以描绘为一棵倒转的树,根在顶上,树枝向下伸展,树叶在下面。在这棵倒转的树上,根代表一个对整个 PKI 域内的所有实体都有特别意义的 CA 通常被叫做根 CA ,其作为信任的根或“信任锚”。在根 CA 的下面是零层或多层中间 CA (也被称作子 CA ,因为它们是从属于根的),这些 CA 由中间节点代表,从中间节点再伸出分支。与非 CA 的 PK 实体相对应
16、的树叶通常被称作终端实体或简称为终端用户。分布式信任结构。与在 PKI 系统中的所有实体都信任唯一一个 CA 的严格层次结构相反,分布式信任结构把信任分散到两个或更多个(或许是很多个)CA 上。更准确地说,A 把 CA :的公钥作为他的信任锚,而 B 可以把 CAZ 的公钥做为他的信任锚。因为这些 CA 的密钥都作为信任锚,因此相应的 CA 必须是整个PKI 群体的一个子集所构成的严格层次结构的根 CA ( CA :是包括 A 在内的层次结构的根,CAZ 是包括 B 在内的层次结构的根)。 Web 模型。这种模型猛一看与分布式信任结构模型相似,但从根本上讲,它与 CA 的严格层次结构模型更相象
17、。四 eb 模型通过与相关域进行互连而不是扩大现有的主体群体,来使 A 成为在浏览器中所给出的所有域的依托方。实际上,每个浏览器厂商都有自己的根,并且由厂商认证嵌入到浏览器中的 CA 。唯一真正的不同是根 CA 并不被浏览器厂商的根所认证,而是物理地嵌入软件来发布,作为对 CA 名字和它的密钥的安全绑定。实质上,这是一种有隐含根的严格层次结构(更准确地说浏览器厂商是实质上的根 CA ,而层次结构中下面的第一层则是所有的已嵌入的 CA 的密钥)。以用户为中心的信任。在一般被称作以用户为中心的信任模型中,每个用户都对决定信赖哪个证书和拒绝哪个证书直接完全地负责。尽管最初的可信密钥集通常包括一个特定
18、用户个人认识的朋友、家人或同事的密钥。但这个决定可以被许多因素所影响。五、国内外 PKI 技术发展现状国外的 PKI 应用已经开始,开发 PKI 的厂商也有多家。许多厂家推出了可以应用的 PKI 产品,有些公司已经开始提供 PKI 服务。网络许多应用已经在使用 PKI 技术以保证网络的认证、非否认、加解密和密钥管理等。尽管如此,总的说来 PKI 技术仍在发展和完善之中。美国许多大企业已经在建立自己的 PKI系统。作为 PKI 的一种应用,基于 PKI 的 PKI 市场也随着电子商务的发展迅速膨胀。据 Infoneti cs Research 的调查和估计 VPN 市场由 1997 年的 2.0
19、5 亿美元开始以 100 的增长率增长。预计到 2001 年将达到 119 亿美元。对 PKI 市场市场调查公司在 1999 年 12 月发表的报告 PKI 中认为,目前 PKI 技术还在幼年; 2003 年的 PKI 市场将由 1998 年的 1.227 亿飞涨到 13 亿美元。另外一家以英国为主的市场调查公司 Datamonitor 在 2000 年 3 月的报告: PKI, 1999 年一 2003 年”中认为,PKI 市场在 2003 年将达到 35 亿美元。 C 公司的 Inter 安全知深分析家认为:PKI 技术将成为所有应用的计算基础结构的核心部件,包括那些越出传统网络界限的应用
20、。电子商务活动需要认证、非否认等只有 PKI 产品才有能力提供的这些功能。中国,作为一个网络大国,发展自己的 PKI 技术是很有必要的。PKI 技术,作为一项关键的密码技术,由于我们没有成熟的解决方案,这成为了我们的电子商务发展的一大瓶颈。网络,特别是 Internet 网络的安全应用已经离不开 PKI技术的支持。网络应用中的认证、加解密的密钥管理、非否认等服务只有 PKI技术才能提供。研究和开发我们自己的实用 PKI 技术已经变得刻不容缓。六、SKLOIS PKIV1.0 的技术特点SKLOIS PKIV1.0 是信息安全国家重点实验室自主开发的国产 PKI 系统,她具有如下特点:符合一系列
21、国际标准协如数字证书采用 X . SOgv3 证书撤销列表符合CPLV2。在充分研究美国国家标准技术研究所和加拿大联邦政府( GOC )的 PKI 工程的基础上,提出适合于中国国情的 PKI 互操作规范,并希望能够成为国内的一个标准。为 PKI 在国内的推广打下一个良好的基础。提出适合国情的证书策略,希望能够实现一个很好的证书策略实施方案。在充分吸取国外同行的产品的特点的基础上,提出了我们的 PKI 体系,并形成自己的一系列部件,如 CA 、 RA 、 RAO 、 PAC 、 DS (分发服务器)、 05 (查询服务器)、TSA (时间戳权威)、客户端软件、 SmsrtC , d (存储私钥)。提供可以开发安全产品的 C 十开发包 ( CSafe )。在实现上述系统的基础上,我们正在实现一个基于 PKI 的应用系统,即基于 PKI 的 V 户 N , 包括 VpN 网关、加密服务器和远程移动 V 户闪通信软件模块。不仅是简单的提供这些模块,还有相应的部署 PKI 的要求(包括物理设备和管理上的)。