3.1 公钥基础设施概述
3.1.1 PKI的基本概念
公钥基础设施(PKI,Public Key Infrastructure)是利用公钥密码理论和技术建立的提供安全服务的基础设施,PKI的简单定义是指:一系列的基础服务,这些基础服务主要用来支持以公开密钥为基础的数字签名和加密技术的广泛应用。
PKI以公钥加密技术为基本技术手段来实现安全性。公钥体制是目前应用最广泛的一种加密体制,在这一体制中,加密密钥与解密密钥不同,发送信息的人利用接收者的公钥发送加密信息,接收者再利用自己专有的私钥进行解密。这种方式既保证信息具有机密性,又保证信息具有不可抵赖性。作为基于公钥理论的安全体系,PKI把公钥密码和对称密码结合起来,希望从技术上解决身份认证、信息的完整性和不可抵赖性等安全问题,为网络应用提供可靠的安全服务。PKI通过管理在开放网络环境中使用的公钥和数字证书,使用户可以在多种应用环境下方便地使用加密和数字签名技术,为用户建立起一个安全的、值得信赖的网络运行环境,保证网上数据的机密性、完整性和有效性。
PKI由于其技术上的明显优势,在电子商务和电子政务领域得到了广泛应用。目前,PKI已成为解决电子商务安全问题的技术基础,是电子商务安全技术平台的基石。PKI体系结构采用证书管理公钥,通过第三方的可信机构,把用户的公钥和用户的其他标识信息(如名称、E-mail、身份证号)捆绑在一起,以便在Internet上验证用户的身份。在国外,PKI已被银行、证券、政府等的大量核心应用系统采用。美国IDC的安全资深分析家认为,PKI技术将成为所有计算基础结构应用的核心部件。B2B电子商务需要的认证、不可否认等功能只有PKI产品才有能力提供。
3.1.2 PKI的基本组成
PKI最基本的组成元素是数字证书,安全操作主要都是通过证书来实现的。
PKI的组成部分还包括签署这些证书的认证机构(CA)、登记和批准证书签署的登记机构(RA),以及存储和发布这些证书的电子目录。除此之外,PKI中还包括证书策略、证书路径、证书的使用者等。所有这些都是PKI的基本部件,它们有机地结合在一起构成了PKI。
一个完整的PKI应用系统至少应具有以下部分:认证中心(Certificate Authority,CA)、数字证书库(Certificate Repository,CR)、密钥备份及恢复系统、证书作废系统、应用接口等。其中,认证中心和数字证书库是PKI的核心。
1.认证中心
CA是数字证书的申请及签发机关,它是PKI的核心执行机构,也是PKI的核心组成部分,业界人士通常称它为认证中心。从广义上讲,认证中心还应该包括证书申请注册机构RA,RA是数字证书的申请注册、证书签发和管理机构。
CA的主要职责如下。
1)验证并标识证书申请者的身份。当交易双方在网络上进行交易时,交易双方互相提供自己的证书和数字签名,由CA对交易双方的身份进行有效性和真实性的认证。交易方首先要在CA的注册机构RA进行注册、申请证书。证书的申请有在线申请和亲自到RA申请两种方式。CA对申请者进行审核,若审核通过则生成证书并颁发给申请者。证书的颁发也有两种方式,一是在线直接从CA下载,二是CA将证书制作成介质(磁盘或IC卡)后,由申请者带走。CA对证书申请者的信用度、申请证书的目的、身份的真实可靠性等问题进行审查,确保证书与身份绑定的正确性。
2)确保CA用于签名证书的非对称密钥的质量和安全性。为了防止被破译,CA用于签名的私钥长度必须足够长,并且私钥必须由硬件卡产生。
3)管理证书信息资料。CA管理证书序号和CA标识,确保证书主体标识的唯一性,防止证书主体名字的重复。在证书使用中确定并检查证书的有效期,保证不使用过期或已作废的证书,确保网上交易的安全。CA发布和维护作废证书列表CRL,当证书持有者向CA申请废除证书时,CA通过认证核实后,即可将该证书废除,并通知有关组织和个人,将该废证书写入“黑名单”发布在证书作废列表中,以供交易时在线查询,防范交易风险。当证书持有者的证书过期或丢失,则可以通过更新证书的方法,使用新证书继续参与网上认证。CA还对已签发证书的使用全过程进行监视跟踪,做全程日志记录,以备发生交易争端时,提供公正依据,参与仲裁。由此可见,CA是保证电子商务、电子政务、网上银行、网上证券等交易的权威性、可信任性和公正性的第三方机构。
2.数字证书与证书库
随着电子商务技术的不断发展,电子商务的安全性越来越成为人们关注的问题。通过Internet进行电子商务交易时,由于交易双方并不在现场交易,所以存在如何确认交易双方的合法身份的问题。同时,交易信息在网上传输时必须保证安全性,否则交易双方的商业秘密就可能会被窃取。数字证书的出现,解决了电子商务中的交易安全问题。由于数字证书认证技术采用了加密传输和数字签名,在技术上保证了交易过程中交易双方身份的认证以及交易信息的安全传输(不可否认性和数据完整性),因此在国内外的电子商务中得到了广泛的应用。
数字证书是一个经CA数字签名的、包含证书申请者个人信息及其公开密钥的文件。数字证书的作用类似于现实生活中的身份证,由权威机构颁发。基于公开密钥体制的数字证书是电子商务安全体系的核心,其用途是利用公共密钥加密系统来保护与验证公众的密钥。数字证书由可信任的、公正的权威机构CA颁发,是网络上交易双方真实身份证明的依据。数字证书可以保证信息在发送过程中不被除发送方和接收方以外的其他人窃取,信息在传输过程中不被篡改,通过数字证书可以确认发送方和接收方的身份,并且能够对所发送/接收的信息不能抵赖。
3.密钥备份及恢复系统
密钥备份及恢复是密钥管理的主要内容,密钥的备份与恢复必须由可信的机构来完成,CA可以充当这一角色。
如果用户由于某些原因将解密数据的密钥丢失,那么已被加密的密文将无法解开,造成合法数据丢失。为避免这种情况的发生,PKI提供了密钥备份与密钥恢复机制。当用户证书生成时,加密密钥即被CA备份存储;当需要恢复时,用户只需向CA提出申请,CA就会为用户自动进行密钥恢复。密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不能够做备份。
4.证书更新与证书作废处理系统
一个证书的有效期是有限的,这种规定在理论上是基于当前非对称密码算法和密钥长度的可破译性分析:在实际应用中,由于长期使用同一个密钥有被破译的危险,因此,为了保证安全,证书和密钥必须有一定的更换频度。为此,PKI对已发放的证书必须有一个更换措施,这个过程称为“密钥更新或证书更新”。证书更新一般由PKI系统自动完成,不需要用户干预。即在用户使用证书的过程中,PKI也会自动到目录服务器中检查证书的有效期,当有效期快结束时,PKI/CA会自动启动更新程序,生成一个新证书来代替旧证书。证书作废处理系统是PKI的一个必备的组件,与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为此,PKI必须提供作废证书的一系列机制。作废证书有如下三种策略:作废一个或多个主体的证书;作废由某一对密钥签发的所有证书;作废由某CA签发的所有证书。作废证书一般通过将证书列入作废证书表CRL来完成。在系统中通常由CA负责创建并维护一张及时更新的CRL,由用户在验证证书时负责检查该证书是否列在CRL之中。CRL一般存放在目录系统中。证书的作废处理必须在安全及可验证的情况下进行,系统还必须保证CRL的完整性。
5.证书应用管理系统
证书应用管理系统面向具体的应用,完成对某一确定证书的应用和管理任务,应用该证书进行加密、签名、验证签名,以及对证书的保存、证书的安全、证书的可信度验证等功能,达到PKI体系透明应用的目的。
6.PKI应用系统接口
PKI的价值在于使用户能够方便地应用加密、数字签名等安全服务,因此一个完整的PKI必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保所建立起来的网络环境的可信度,同时降低管理维护成本,确保安全网络环境的完整性和易用性。
3.1.3 PKI的基本服务
PKI作为安全基础设施,能为不同的用户实体提供多种安全服务,主要包括认证性服务、完整性服务、保密性服务和不可否认性服务。
l.认证性服务
认证性服务就是身份识别与鉴别,即确认实体是自己所申明的实体,鉴别身份的真伪。在应用程序中通常有实体和数据来源两种鉴别:实体鉴别一般会产生一个明确的结果,由此允许实体进行某些操作或通信;数据来源鉴别就是鉴定某个指定的数据是否来源于某个特定的实体。这样的过程也可以用来支持不可否认性服务。
2.完整性服务
数据完整性服务就是确认数据没有被修改,即数据无论是在传输还是在存储过程中经过检查都没有被修改。PKI的完整性服务的实现可以采用以下两种技术。
1)数字签名技术。数字签名是公钥加密技术的一种应用,是由信息发送方对要传送的信息进行某种处理得到的、任何人都无法伪造的、用以认证信息来源并核实信息是否发生变化的一段字母数字串。
2)报文检验码。报文检验码是保证数据完整性的加密技术,它保证数据在存储、传输和处理过程中的真实有效性和一致性。
3.保密性服务
保密性服务就是确保数据的秘密不被泄露,除了指定的实体外,无人能读出这段数据。PKI的保密性服务是一个框架结构,通过它可以完成算法协商和密钥交换,而且对参与通信的实体是完全透明的。
4.不可否认性服务
不可否认性服务是指从技术上用于保证实体对其行为的诚实性。它包括对数据来源的不可否认性,以及数据接收后的不可否认性,此外,还包括其他类型的不可否认性,如数据传输的不可否认性、数据创建的不可否认性以及认同的不可否认性等。
3.1.4 PKI的相关标准
伴随着PKI技术的不断完善与发展、应用的日益普及,为了更好地为社会提供优质服务,水平参差不齐的PKI产品迫切需要解决互联互通问题,而且PKI产品自身的安全性也受到越来越多的生产厂商和用户的关注,这都要求专门的第三方制定相应的标准规范对其安全性能进行测评认定。因此,PKI标准化成为必然。
从历史上看,PKI自身的标准大致可以分为两代。
第一代PKI标准,主要包括国际电信联盟的ITU-TX.509、美国RSA公司的PKCS系列、IETF组织的X.509标准系列、无线应用协议论坛的WPKI标准等。第一代PKI标准主要是基于抽象语法符号编码的,实现起来比较困难,而且成本高昂,因此难以得到广泛的应用。
ITU-T X.509(10/2016)是PKI体系中最为基础的标准之一。2017年5月被发布为ISO/IEC 9594-8:2017 8th Edition。ITU-T X.509最早发布于1988年,发布伊始即与ISO/IEC 9594-8保持合作同步开发。X.509的版本变迁非常复杂,目前最新版本为v8。
第二代PKI标准,是2001年由Microsoft、Versign和WebMethods三家公司共同发布的XML密钥管理规范XKMS,被称为第二代PKI标准。XKMS由两部分组成:XML密钥信息服务规范(XML Key Information Service Specification,X-KISS)和XML密钥注册服务规范(XML Key Registration Service Specification,X-KRSS)。它通过向PKI提供XML接口使用户从烦琐的配置中解脱出来,开创了一种新的信任服务。目前,XKMS已经成为W3C的推荐标准,并被Microsoft、Versign等公司集成于它们的产品中。
我国于2007年2月1日正式实施的GB/T 20518—2006《信息安全技术公钥基础设施数字证书格式》(已作废并启用2018版)、GB/T 20519—2006《信息安全技术公钥基础设施特定权限管理中心技术规范》(已废止)和GB/T 20520—2006《信息安全技术公钥基础设施时间戳规范》(现行)三项信息安全国家标准,成为我国公钥基础设施的关键基础标准。
目前,我国现行PKI标准主要有以下几个。
1)信息安全技术公钥基础设施数字证书格式(GB/T 20518—2018)。该标准规定了数字证书和证书撤销列表的基本结构、各数据项内容。本标准适用于数字证书认证系统的研发、数字证书认证机构的运营以及基于数字证书的安全应用。
2)信息安全技术 密码设备应用接口规范(GB/T 36322—2018)。该标准规定了公钥密码基础设施应用技术体系下服务类密码设备的应用接口标准。本标准适用于服务类密码设备的研制、使用,以及基于该类密码设备的应用开发,也可用于指导该类密码设备的检测。
3)信息安全技术 公钥基础设施 基于数字证书的可靠电子签名生成及验证技术要求(GB/T 35285—2017)。该标准规定了基于数字证书的可靠电子签名生成及验证过程的技术要求,包括电子认证服务提供者、电子签名人身份、电子签名相关数据、签名生成模块、电子签名生成过程与应用程序、电子签名验证过程与应用程序等要求。本标准适用于基于数字证书的可靠电子签名相关系统、应用的开发,以及相关产品、服务标准的制定。
4)信息安全技术 公钥基础设施 远程口令鉴别与密钥建立规范(GB/T 32213—2015)。该标准定义了基于非对称密码技术实现远程口令鉴别与密钥建立的数学定义和协议构造。本标准适用于采用基于口令鉴别与密钥建立技术的鉴别系统的设计和开发。
5)信息安全技术公钥基础设施数字证书策略分类分级规范(GB/T 31508—2015)。该标准通过分类分级的方式,规范了用于商业交易、设备和公众服务领域的电子认证服务中的8种数字证书策略。本标准适用于我国电子商务和公众服务中所涉及的数字证书。
当然,PKI体系中已经包含了众多的标准和标准协议,随着PKI技术的不断进步和完善,以及其应用的不断普及,将来还会有更多的标准和协议加入。