PKI(Public Key Infrastructure,公钥基础设施)是通过使用公开密钥技术和数字证书来确保系统信息安全,并负责验证数字证书持有者身份的一种体系。
PKI的功能是通过签发数字证书来绑定证书持有者的身份和相关的公开密钥,为用户获取证书、访问证书和宣告证书作废提供了方便的途径。同时利用数字证书及相关的各种服务(证书发布、黑名单发布等)实现通信过程中各实体的身份认证,保证了通信数据的机密性、完整性和不可否认性。
数字证书是一个经证书授权中心数字签名的、包含公开密钥及相关的用户身份信息的文件。最简单的数字证书包含一个公开密钥、名称及证书授权中心的数字签名。一般情况下数字证书中还包括密钥的有效时间、发证机关(证书授权中心)的名称和该证书的序列号等信息,证书的格式遵循ITU-T X.509国际标准。本手册中涉及两类证书:本地(local)证书和CA(Certificate Authority)证书。本地证书为CA签发给实体的数字证书;CA证书也称为根证书,为CA“自签”的数字证书。
由于用户姓名的改变、私钥泄漏或业务中止等原因,需要存在一种方法将现行的证书撤消,即撤消公开密钥及相关的用户身份信息的绑定关系。在PKI中,所使用的这种方法为证书废除列表。任何一个证书被废除以后,CA就要发布CRL来声明该证书是无效的,并列出所有被废除的证书的序列号。CRL提供了一种检验证书有效性的方式。
当一个CRL的撤消信息过多时会导致CRL的发布规模变得非常庞大,且随着CRL大小的增加,网络资源的使用性能也会随之下降。为了避免这种情况,允许一个CA的撤消信息通过多个CRL发布出来。CRL片断也称为CRL发布点。
CA在受理证书请求、颁发证书、吊销证书和发布CRL时所采用的一套标准被称为CA策略。通常,CA以一种叫做证书惯例声明(CPS,Certification Practice Statement)的文档发布其策略,CA策略可以通过带外(如电话、磁盘、电子邮件等)或其他方式获取。由于不同的CA使用不同的方法验证公开密钥与实体之间的绑定,所以在选择信任的CA进行证书申请之前,必须理解CA策略,从而指导对实体进行相应的配置。
一个PKI体系由终端实体、证书机构、注册机构和PKI存储库四类实体共同组成,如下图1。
图1 PKI体系结构图
终端实体是PKI产品或服务的最终使用者,可以是个人、组织、设备(如路由器、交换机)或计算机中运行的进程。
CA是PKI的信任基础,是一个用于签发并管理数字证书的可信实体。其作用包括:发放证书、规定证书的有效期和通过发布CRL确保必要时可以废除证书。
RA是CA的延伸,可作为CA的一部分,也可以独立。RA功能包括个人身份审核、CRL管理、密钥对产生和密钥对备份等。PKI国际标准推荐由一个独立的RA来完成注册管理的任务,这样可以增强应用系统的安全性。
PKI存储库包括LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)服务器和普通数据库,用于对用户申请、证书、密钥、CRL和日志等信息进行存储和管理,并提供一定的查询功能。
LDAP提供了一种访问PKI存储库的方式,通过该协议来访问并管理PKI信息。LDAP服务器负责将RA服务器传输过来的用户信息以及数字证书进行存储,并提供目录浏览服务。用户通过访问LDAP服务器获取自己和其他用户的数字证书。
PKI技术的广泛应用能满足人们对网络交易安全保障的需求。作为一种基础设施,PKI的应用范围非常广泛,并且在不断发展之中,下面给出几个应用实例。
VPN是一种构建在公用通信基础设施上的专用数据通信网络,利用网络层安全协议(如IPSec)和建立在PKI上的加密与数字签名技术来获得机密性保护。
电子邮件的安全也要求机密、完整、认证和不可否认,而这些都可以利用PKI技术来实现。目前发展很快的安全电子邮件协议S/MIME(Secure/Multipurpose Internet Mail Extensions,安全/多用途Internet邮件扩充协议),是一个允许发送加密和有签名邮件的协议。该协议的实现需要依赖于PKI技术。
为了透明地解决Web的安全问题,在两个实体进行通信之前,先要建立SSL(Secure Sockets Layer,安全套接字层)连接,以此实现对应用层透明的安全通信。利用PKI技术,SSL协议允许在浏览器和服务器之间进行加密通信。此外,服务器端和浏览器端通信时双方可以通过数字证书确认对方的身份。
针对一个使用PKI的网络,配置PKI的目的就是为指定的实体向CA申请一个本地证书,并由设备对证书的有效性进行验证。下面是PKI的工作过程:
(1) 实体向CA提出证书申请;
(2) RA审核实体身份,将实体身份信息和公开密钥以数字签名的方式发送给CA;
(3) CA验证数字签名,同意实体的申请,颁发证书;
(4) RA接收CA返回的证书,发送到LDAP服务器以提供目录浏览服务,并通知实体证书发行成功;
(5) 实体获取证书,利用该证书可以与其它实体使用加密、数字签名进行安全通信;
(6) 实体希望撤消自己的证书时,向CA提交申请。CA批准实体撤消证书,并更新CRL,发布到LDAP服务器。