PKI技术漫谈
来源:中国一卡通网 作者:fondcard 发布时间:2006-12-13 17:52:16 字体:[大 中 小]
关键字:PKI PKI技术 电子商务 公钥证书 数字签名
摘 要:随着电子商务、电子政务业务需求的不断深入和进展,移动银行、网上支付、网上交易等新型应用正在不断兴起。无论是何种应用,为确保参与网上交易双方身份的合法性、正确性、以及机密性,并且保证他们在网上的交易信息不会被偷看和篡改以及双方对自己的信息不能抵赖。目前最切实可行的安全体系是CA,实现客户端安全的手段是基于PKI体系的智能卡,它正是满足这种需要应运而生
随着电子商务、电子政务业务需求的不断深入和进展,移动银行、网上支付、网上交易等新型应用正在不断兴起。无论是何种应用,为确保参与网上交易双方身份的合法性、正确性、以及机密性,并且保证他们在网上的交易信息不会被偷看和篡改以及双方对自己的信息不能抵赖。目前最切实可行的安全体系是CA,实现客户端安全的手段是基于PKI体系的智能卡,它正是满足这种需要应运而生。
为加深对PKI相关技术的理解,本文将对PKI的基本部分进行进一步的介绍。
1 简 介
1.1 什么是PKI?
PKI(Public-Key Infrastruc-ture)是一组规则、过程、人员、设施、软件和硬件的集合,可用来进行公钥证书的发放、分发和管理。从实践的角度来看,通过管理和控制密钥和证书的使用,PKI在分布环境中建立了一个信任体系。如果没有PKI的管理和认证服务,那么就无法使用基于密码的安全机制来支持商业应用。
1.2 PKI如何与电子商务相关?
在网络世界中,管理员最关心的是制定规则的策略和电子商务的流程。所有的PKI应当能够根据具体的商业标准而制定的规则来进行操作和管理。因此,PKI不只是一种技术、一个软件或产品;从本质上将,它是一个规则,所有的技术、软件和产品都按照这种规则进行集成。设计优秀的PKI产品能够支持多种商业应用框架。
1.3 PKI技术如何集成到应用当中?
大多数的PKI组件在网络中作为服务程序运行。面向开发者的工具组件是个例外。开发工具帮助程序员处理底层复杂的加密服务和协议。开发工具把实现安全标准的软件供应商和高层的接口结合起来,使得任何开发人员都可以方便地将PKI集成到他们的应用中。
1.4 主要市场动力
* 不断增长的在线商业应用构成了实施PKI的基本商业动力:
* 无线和互联网电子商务
* 通过公共网络进行的电子内容的发布
* 在线支付
* 内联网
对各种组织机构来说,在使用这些新的应用获得巨大利益的同时,也不得不面对严重的安全风险:
* 假冒合法用户
* 拒绝线上交易
* 窜改数据
* 窃听数据
* 未经授权的访问
1.5 电子商务的安全需求
在线的商务运营有具体的安全需求。良好设计的PKI能够满足所有的这些需求。PKI通过管理实体之间的关系、密钥和证书,使得密码技术在商业应用中发挥作用。
现在,大多数观点都认为,只有应用中集成了PKI技术,才能更好的使用密码技术。为了集成PKI,应用必须能够访问PKI资源,例如认证中心和证书目录,同时也要能够处理经常需要与PKI交换的对象,比如数字签名和公钥证书。
PKI要满足以下需求:
* 认证。为了防止假冒,在一个实体(个人、设备、组织和角色)进行在线交易和访问资源之前验证它的身份。如果应用中集成了PKI,就能够使用数字签名和公钥证书来验证参加商业流程的个人、服务器、节点或其他实体的身份。
* 授权。为了防止未经授权的活动,验证一个实体被许可参加某个活动或交易,或者被允许访问资源。如果应用中集成了PKI,就能够在授权(确认或拒绝)一个实体参加交易或访问资源之前,通过一个优先级列表来交叉引用某个被其他实体认证的实体。
* 非否认。证明某个实体曾经参与过活动或访问了资源。集成了PKI的应用可以将参与者和他的活动以及活动发生的时间绑定在一起,因为应用可以验证数字签名、处理公钥证书并且维护一份审计记录。
* 私密性。防止对数据的窃听和未授权的访问。集成了PKI的应用也具有对数据加密的能力。虽然PKI并不提供加密服务,但是通常提供管理和交换密钥服务。
* 完整性。在数据的传输和存储过程中,防止数据由于异常或人为的原因被窜改。数字签名是防止数据被窜改的好方法。如果数字签名通过验证,那么事务的完整性就被认为得到保证,否则就认为事务的数据被改变,这些数据应该丢弃。集成了PKI的应用能够对事务进行数字签名,也能够验证数字签名,所以可以检验事务的完整性。
2 PKI技术和结构
良好的PKI结构具有公开的文档,提供了清晰的应用接口,并且支持标准。PKI技术需要实现下列功能:
* 终端实体应用(End-Entity Application,EE)
* 注册中心(Registration Au-thority,RA)
* 证书中心(Certification Au-thority,CA)
* PKI目录
2.1 基本的PKI结构和数据流
PKI的主要技术组成部分和操作流程如图1所示。
2.1.1 什么是公钥证书?
公钥证书是一个数据对象,它将公钥和一组标识密钥对的拥有者(一个实体,例如人、组织、节点和网站)的信息绑定在一起。证书中的公钥是和密钥对中的私钥相关的。密钥对的拥有者称作证书中的“主体”。安全事务依赖于准确的身份(主体)和证书中包含的公钥。依靠可信的、准确的身份和公钥,在执行在线事务之前,一个参与者能够认证其他的参与者。图2直观地展示了证书的内容。
2.1.2 什么是数字签名?
正如名字所说,数字签名是传统的手写签名的电子等价形式。但是,数字签名并不像传统的签名,它并不能直观地被识别。集成了PKI的应用通过访问密钥管理和密码服务,可以识别(创建、存储、传送和认证)数字签名。图3显示了生成和验证数字签名地一般过程。
数字签名和公钥证书在PKI中提供了两个基本的安全服务:数据完整性和用户认证。
2.1.2.1 PKI中的数据完整性
如上文指出的,为了创建数字签名,待签名的事务数据和用户的私钥都要作为签名过程的输入。为了验证数字签名,已经签名的数据、用户的公钥和数字签名本身都要作为验证过程的输入。由于事务数据本身总是包括在签名和验证的过程中,因此如果数据在签名后被改变,那么验证过程就不会成功。所以,数字签名已经成为确保事务完整性的首选方法。
2.1.2.2 PKI 中的用户认证
公钥证书确保了用来验证数字签名的公钥属于生成签名的用户。前文已经描述过,证书同时包含用户的公钥和身份。所以,如果签名验证成功,那么验证者也就知道了签名者的确切身份,因为发放公钥证书的CA保证了用户的身份。
2.2 PKI的主要技术组成部分
下面是PKI的主要技术组成部分: * 终端用户应用(EE)。它的功能包括:
* 生成、存储和访问用户的公钥对
* 完成、签署并提交第一次证书申请
* 完成、签署并提交证书的更新请求
* 完成、签署并提交证书的作废请求
* 搜索并取得证书和作废信息
* 验证证书并取得证书的内容
* 生成和验证数字签名
* 注册中心(RA)。与EE和CA完全兼容并可以互操作,支持同样的基本功能,包括密钥生成、存储、访问,以及数字签名和证书的处理。在PKI中,RA通常能够支持多个EE和CA。他的主要用途是支持RA用户的特殊任务,比如:
* 用户注册。用户登记成为一个PKI的潜在的参与者的过程。RA在一个专门的数据库中创建用户对象。根据具体的注册规则,用户对象可以包括任意多个用户属性,比如姓名、职业和电子邮件地址等。
* 身份调查。RA通过这个过程来验证第一次证书申请者(主体)的身份,从而确认某个具体的公钥(要置于证书中的)属于申请者。
* 批准终端用户的申请。RA将批准或拒绝终端用户的请求,比如第一次申请证书的请求或更新已经过期的证书的请求。
* 证书作废。RA通过这个行为命令CA将某个用户的证书作废。根据PKI的证书作废规则,RA可以提供作废的原因,也可以不提供。
* 证书中心(CA)。CA是一个高度可信的签名引擎。根据预先定义的条件,CA负责签发证书、发出作废申请以及处理其他事务。CA在PKI中扮演核心角色。实际上,CA负责以下功能:
* 密钥认证。CA对主体的公钥签名并发放证书。
* 证书更新。当主体当前的证书过期后,发行新的证书。
* 证书作废。使得该证书从该时刻起非法。
* 证书发布。PKI用户可以搜索并取得该证书。
* 维护证书作废列表。在PKI中保持作废列表的时效性。
* 发布作废列表。使得PKI用户可以访问作废列表。
* PKI目录。PKI目录是一个在线的数据库,所有PKI的参与者都可以在此处搜索并取得证书、作废信息和策略信息。只有专门的用户和组件具有改写和删除的权限。一般说来,目录大多基于IETF的LDAP协议实现。目录结构包括两个主要部分:LDAP客户端(一般在EE中实现)和LDAP服务器——一个网络服务器,保存目录信息,并处理搜索、读写、删除和更新等由PKI中授权用户发起的请求。这些过程见图4。
2.2.1 PKI工具箱
如果不能与应用结合,PKI在商业中就没有价值。因此,良好的PKI设计应该集中在应用界面。最好的方法是将应用界面和标准设计成开发工具箱。工具箱支持与应用的无缝集成,而且对资源的需求最小。虽然工具箱对于用户和管理员是透明的,但是它却在PKI的实施和维护中扮演重要的角色,所以也是PKI中的关键技术组成部分。
通用PKI工具箱:开发工具箱包括所有的PKI库和接口,支持第三方的应用使用PKI。理想情况下,PKI中的所有其他组件(EE、RA、CA)也使用相同的工具箱开发。这种结构保证了PKI组件之间的兼容性,而且可以快速地增加和修改新特性。通过支持标准,有可能将来自不同厂商的PKI组件集成到一起。一般的PKI工具箱设计见图5。
2.3 用在电子商务中的应用协议
一些应用协议支持电子商务。这些协议并不是电子商务应用本身,而是一些通用的协议,广泛地应用在各种电子商务中。表1列出了经常使用的协议和它们依赖的标准。这些标准都需要PKI的支持。
* WTLS(Wireless Transport Layer Security)能够认证参与通信的各方,并在传输过程中加密WML(Wireless Markup Lan-guage)数据。
* SSL(Secure Sockets Lay-er)和TLS(Transport Layer Secu-rity)和WTLS的应用方式相似,只是用于基于Web的事务。
* IPSec(Internet Protocol Security)主要用于建立VPN(Virtual Private Networks),来支持内联网和外部网络。该协议在IP数据包层实现了加密和完整性检查,并在通信会话中认证发送和接收的网络设备。
* S/MIME(Secure/Multi-purpose Internet Mail Extensions)用于加密、发送/接收电子邮件。
* 还存在许多其他的技术用来安全地发布内容。内容的种类多种多样,包括音乐、图书、图片和软件等等。但是PKI都可以支持这些应用,来安全地发布并对使用者地权限进行管理。
应用协议 对应的标准(PKI支持)
WML WTLS?穴WAP-199-
WTLS-20000218-A?雪
HTML SSL和TLS
电子邮件 S/MIME
VPN IPSEC
表1 经常使用的应用协议和对应的标准
3 PKI的策略
有两个主要的策略决定了PKI的运营和技术实施:CP(Certificate Policy)和CPS(Certification Practice Statement)。
3.1 CPS
CPS定义了用户能够在什么程度上信任PKI的证书。前面已经提到,控制商业规则的策略也是PKI必须支持的策略。这些策略将控制PKI的参与者如何创建、管理、使用和访问密钥和证书。CPS定义了这些策略。CPS可能涵盖了用户和管理员的注册过程、CA的操作规程和安全控制,以及主体和CA的义务。CPS必须定义PKI的信息级别,该级别至少要和依赖于PKI的商业事务的价值级别相同。在电子商务环境中,信任级别必须大于等于价值级别,CPS是一种定义和验证的方法。
3.2 CP
在线商务和支持它们的PKI并不是分离的,而且在不停地增加更多地用户、合作人和雇员。这些新的实体处于不同的商业和管理环境中,并且可能已经建立了PKI和集成了PKI的应用。因此,定义一个PKI的策略和接口就十分重要,这些策略和接口就是CP。通过定义一个好的CP,不同的PKI之间的互操作就可能比较顺利。
4 结束语
PKI包含了复杂的技术,与电子商务应用协同工作。因此,应用接口和标准就十分重要。PKI技术可以支持非常广泛的在线应用。对PKI支持的需要会与日俱增。PKI本身不只是技术,而且是技术、证书和密钥使用和管理的方式。最终,PKI的使用和管理要符合商业规则。
新闻投稿合作邮箱:yktchina-admin@163.com 字体[大 中 小] [收藏] [进入论坛]