公开密钥基础建设

科技工作者之家 2020-11-17

公开密钥基础建设(Public Key Infrastructure,PKI),又称公开密钥基础架构、公钥基础建设、公钥基础设施、公开密码匙基础建设或公钥基础架构,是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。

定义公开密钥基础建设(PKI)是一套通过公钥密码算法原理与技术提供安全服务的具有通用性的安全基础设施,是能够为电子商务提供一套安全基础平台的技术规范。它通过数字证书管理公钥,通过CA把用户的公钥与其他标识信息捆绑在一起,实现互联网上的用户身份验证。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。

密码学上,公开密钥基础建设借着数字证书认证机构(CA)将用户的个人身份跟公开密钥链接在一起。对每个证书中心用户的身份必须是确定的。链接关系通过注册和发布过程创建,取决于担保级别,链接关系可能由CA的各种软件或在人为监督下完成。PKI的确定链接关系的这一角色称为注册管理中心(Registration Authority,RA)。RA确保公开密钥和个人身份链接,可以防抵赖。可信赖的第三者(Trusted third party,TTP)也常被用来指证书中心。PKI有时被错误地拿来代表公开密钥密码学或公开密钥算法。

历史1976年Whitfield Diffie、Martin Hellman|Hellman、Ron Rivest、Adi Shamir和Leonard Adleman等人相继公布了安全密钥交换与非对称密钥算法后,整个通信方式为之改变。随着高速电子数字通信的发展,用户对安全通信的需求越来越强。

密码协议在这种诉求下逐渐发展,造就新的密码原型。全球互联网发明与扩散后,认证与安全通信的需求也更加严苛。光商务理由便足以解释一切。时在网景工作的Taher ElGamal等人发展出传输安全层协议,包含了密钥创建、服务器认证等。公开密钥基础建设的架构因此浮现。

厂商和企业家察觉了其后的广大市场,开始设立新公司并启动法律认知与保护。美国律师协会项目发行了一份对公开密钥基础建设操作的可预见法律观点的详尽分析,随后,多个美国州政府与其他国家的司法单位开始制定相关法规。消费者团体等则提出对隐私、访问、可靠性的质疑,也被列入司法的考虑中。

被制定的法规实有不同,将公开密钥基础建设的机制转换成商务操作有实际上的问题,远比许多先驱者所想的缓慢。

21世纪的前几年才慢慢发觉,密码工程没那么容易被设计与实践,某些存在的标准某方面甚至是不合宜的。

公开密钥基础建设的厂商发现了一个市场,但并非九零年代中期所预想的那个市场,这个市场发展得缓慢而且以不同的方式前进。公开密钥基础建设并未解决所期待的问题,某些厂商甚至退出市场。公开密钥基础建设最成功的地方是在政府部门,最大的公开密钥基础建设是美国防卫信息系统局 (Defense Information Systems Agency,DISA)的共同访问卡(Common access Cards)方案。

构建PKI是新的安全技术和安全规范,它必须具有认证机关(CA)、证书库、密钥备份及恢复系统、证书作废处理系统、客户端证书处理系统等基本成分,构建PKI也将围绕着这五大系统来进行。

1)认证中心。CA是数字证书的申请及签发机构。它的职责如下:

验证并标识证书申请者的身份;

确保CA用于签名证书的非对称密钥的质量;

确保整个签证过程的安全性,确保签名私钥的安全性;

证书材料信息(包括公钥证书序列号、CA标识等)的管理;

确定并检查证书的有效期限;

确保证书主体标识,防止重名;

发布并维护作废证书表;

对整个证书签发过程做日志记录;

向申请人发通知。

2)证书库。证书库是证书的集中存放地,它与网上“白页”类似,是网上的一种公共信息库,用户可以从此处获得其他用户的证书和公钥。构造证书库的最佳方法是采用支持LDAP协议的目录系统,用户或相关的应用通过LDAP来访问证书库。系统必须确保证书库的完整性,防止伪造、篡改证书。

3)密钥备份及恢复系统。如果用户丢失了用于脱密数据的密钥,则密文数据将无法被脱密,造成数据丢失。为避免这种情况的出现,PKI应该提供备份与恢复脱密密钥的机制。密钥的备份与恢复应该由可信的机构来完成,例如,CA可以充当这一角色。值得强调的是,密钥备份与恢复只能针对脱密密钥,签名私钥不能够作备份。

4)证书作废处理系统(X.509 Version 3,CRL Version2)。证书作废处理系统是PKI的一个重要组件。同日常生活中的各种证件一样,证书在CA为其签署的有效期以内也可能需要作废。例如,A公司的职员a辞职离开公司,这就需要终止a证书的生命期。为实现这一点,PKI必须提供作废证书的一系列机制。作废证书有如下三种策略:

作废一个或多个主体的证书;

作废由某一对密钥签发的所有证书;

作废由某CA签发的所有证书。

作废证书一般通过将证书列入作废证书表(CRL)来完成。通常,系统中由CA负责创建并维护一张及时更新的CRL,而由用户在验证证书时负责检查该证书是否在CRL之列。CRL一般存放在目录系统中。证书的作废处理必须在安全及可验证的情况下进行,系统还必须保证CRL的完整性。

通过PKI能够营造可管、可控、安全可靠的互联网环境,构建完整的授权范围体系,建立普适性好、安全性高的统一平台,为电子金融的不断发展奠定良好的基础。

安全服务通常,一个完善的PKI基础设施提供的服务主要包括以下几个方面。

安全登录

在访问网络资源,或者使用某些应用程序的时候,用户往往会被要求首先“登录”或者“注册”。这一步骤中,典型的操作过程包括用户输入用户身份的信息(如用户D或者昵称)以及认证信息(如口令或其他机密信息)。除了合法用户没人能够获取用户的认证信息,采用这种方法能够安全地允许合法用户进入系统或者指定的应用程序。

选用一个符合安全规范的好的口令,并且记住它而不要用笔写下来,而且要经常修改口令,这对一般用户来说不是一件容易的事,很可能因为频繁更换到后来自己也不记得口令了。这正是安全基础设施提供的服务之一,它可以帮助解决这些问题。

安全基础设施并不意味着取消口令,因为口令方式是用户进入基础设施本身的认证机制。安全基础设施只是解决了使用口令方式时存在的一个最严重问题,它可以避免口令在不信任的或不安全的网络中传递,根本避免口令在传输中被截获的可能性。

使用普适性的安全基础设施可以极大地改善这种状况。安全基础设施能够将一个成功登录的结果安全地通知到其他重要登录的设备,减少远程登录的需求。

安全单点登录是安全基础设施提供的一项服务,适用于所有应用程序和设备。在任何时候和地方,如果需要使用安全传送认证信息的机制,基础设施就可以为之提供:应用程序在必要时接入基础设施,从而获得认证信息。这种基础服务减少了用户必须登录的次数。另外,在安全性上的另一个好处就是,一个设计良好的基础设施能够保证用户只需在它们工作的机器上登录。所以在某些情况下,口令无须在易于受到攻击的网络上传递,极大地降低了口令被窃听和口令存储、重复攻击的风险。

终端用户透明

用户使用安全基础设施时,基础设施只是一个黑盒子,用户需要的是服务而不是如何提供服务的细节。换句话说,对终端用户而言,安全基础设施是完全透明的,这是普适性基础设施的一个极其重要的特性。

全面的安全性

一个普适性安全基础设施最大的益处是在整个环境中实施的是单一的、可信的安全技术(如公钥密码技术),所有它能够提供跟设备无关的安全服务。它能够保证数目不受限制的应用程序、设备和服务器无缝地协调工作,安全地传输、存储和检索数据,安全地进行事务处理,安全地访问服务器等。这种环境不仅极大地简化了终端用户使用各种设备和应用程序的方式,而且简化了设备和应用程序的管理工作。

使基础设施达到全面安全性所采取的重要机制之一就是保证大范围的组织实体和设备采用统一的方式使用、理解和处理密钥。为了解决Intemet的安全问题,世界各国对其进行了多年的研究,初步形成了一套完整的Intemet安全解决方案,即被广泛使用的PKI技术,PKI技术采用证书管理公钥,通过第三方的可信任机构,即认证中心,(Certificate Authority,CA),把用户的公钥和用户的其他标识信息(如名称,E-mail、身份证号码等)捆绑在一起在Intemet验证用户的身份。采用建立在PKI基础上的数字证书,通过对要传输的数字信息进行加密和签名,保证信息传输的机密性、真实性、完整性和不可否认性,从而保证信息的安全传输1。

管理PKI的管理可以归纳为证书管理和密钥管理两个部分。

证书管理

(1)策略批准。在实现认证操作之前,必须生成各种认证策略以指导认证过程。策略主要包括:操纵策略——阐明有关个人、设备和应用事宜;签发策略——检查用于签发证书的准则。

(2)证书签发。证书签发需要以下步骤:检查公开密钥信息的正确性。计算公开密钥信息的签名;签名与公开密钥信息一起生成证书;CA在证书签发过程中的行为应该被记录。

(3)证书发布。签发后的证书将被放在数据库中,以便第三方或证书用户访问。数据库应该有各种访问控制,以便证书等数据的安全存储。

(4)证书归档。数字签名文档的有效期比证书有效期长,因此为了确保失效的证书仍可以访问,就必须对证书、证书撤销表等数据进行长期归档。

(5)证书撤销。证书撤销主要涉及下列方面:撤销证书的归档,无论证书是过期还是被撤销,旧证书的拷贝应由可信的第三方保留一段时间,时间长度由具体情况确定;撤销证书的公布,CA维护并定期发布证书撤销列表,让用户查询证书状态来了解证书撤销的情况。

密钥管理

主要指对密钥的安全管理,密钥管理的功能主要包括以下方面:

(1)密钥产生。密钥可由用户自己产生,也可由CA产生。在初始化客户端时,必须通过安全信道或某些分发机制来安全地分发密钥。

(2)密钥备份及恢复。用户遗忘密钥的保护口令,用户丢失密钥或者用户调离工作岗位时仍可访问密钥及加密的数据;应用户或有关部门的要求,对某些加密数据进行检查(密钥的托管);应用户要求,恢复加密密钥。

(3)密钥更新。任何密钥都不能长期不变。密钥必须定期更新。更新的周期取决于CA或相关的策略需求,CA应配备相应的密钥更换规程。

密钥管理中心负责对密钥的产生、登记、论证、注销、分发、归档、撤销和销毁等服务的实施和运用。其中密钥管理的目标是安全地实施和运用这些密钥管理服务功能2。

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。