公钥基础设施
1.什么是公钥基础设施
公钥基础设施(以下简称PKI)是一套通过公钥密码算法原理与技术提供安全服务的具有通用性的安全基础设施,是能够为电子商务提供一套安全基础平台的技术规范。它通过数字证书管理公钥,通过CA把用户的公钥与其他标识信息捆绑在一起,实现互联网上的用户身份验证。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。
2.PKI的地位[1]
PKI弥补了SSL协议缺少数字签名、授权、存取控制和不支持不可抵赖性等功能的缺陷。目前,它已初步形成一整套的Intemet安全解决方案,成为信息安全技术的核心和电子商务的安全基础。
3.PKI的构建[1]
PKI是新的安全技术和安全规范,它必须具有认证机关(CA)、证书库、密钥备份及恢复系统、证书作废处理系统、客户端证书处理系统等基本成分,构建PKI也将围绕着这五大系统来进行。
1)认证中心。CA是数字证书的申请及签发机构。它的职责如下:
(1)验证并标识证书申请者的身份;
(2)确保CA用于签名证书的非对称密钥的质量;
(3)确保整个签证过程的安全性,确保签名私钥的安全性;
(4)证书材料信息(包括公钥证书序列号、CA标识等)的管理;
(5)确定并检查证书的有效期限;
(6)确保证书主体标识的唯一性,防止重名;
(7)发布并维护作废证书表;
(8)对整个证书签发过程做日志记录;
(9)向申请人发通知。
2)证书库。证书库是证书的集中存放地,它与网上“白页”类似,是网上的一种公共信息库,用户可以从此处获得其他用户的证书和公钥。构造证书库的最佳方法是采用支持LDAP协议的目录系统,用户或相关的应用通过LDAP来访问证书库。系统必须确保证书库的完整性,防止伪造、篡改证书。
3)密钥备份及恢复系统。如果用户丢失了用于脱密数据的密钥,则密文数据将无法被脱密,造成数据丢失。为避免这种情况的出现,PKI应该提供备份与恢复脱密密钥的机制。密钥的备份与恢复应该由可信的机构来完成,例如,CA可以充当这一角色。值得强调的是,密钥备份与恢复只能针对脱密密钥,签名私钥不能够作备份。
4)证书作废处理系统(X.509 Version 3,CRL Version2)。证书作废处理系统是PKI的一个重要组件。同日常生活中的各种证件一样,证书在CA为其签署的有效期以内也可能需要作废。例如,A公司的职员a辞职离开公司,这就需要终止a证书的生命期。为实现这一点,PKI必须提供作废证书的一系列机制。作废证书有如下三种策略:
(1)作废一个或多个主体的证书;
(2)作废由某一对密钥签发的所有证书;
(3)作废由某CA签发的所有证书。
作废证书一般通过将证书列入作废证书表(CRL)来完成。通常,系统中由CA负责创建并维护一张及时更新的CRL,而由用户在验证证书时负责检查该证书是否在CRL之列。CRL一般存放在目录系统中。证书的作废处理必须在安全及可验证的情况下进行,系统还必须保证CRL的完整性。
通过PKI能够营造可管、可控、安全可靠的互联网环境,构建完整的授权范围体系,建立普适性好、安全性高的统一平台,为电子金融的不断发展奠定良好的基础。
4.PKI使用的密码技术[2]
1976年,Whitefield Diffie和Martin Hellmam发表了论文“New directions in cryptography”这篇文章奠定了公钥密码系统的基础。公钥密码系统的概念在密码学的发展史上具有划时代的意义。公钥密码算法又称为非对称密钥算法、双钥密码算法。
目前有两种类型的公钥系统是安全实用的,即基于大整数困难分解问题的密码体制和基于离散对数困难的密码体制。
基于大整数困难分解问题的公钥密码体制有RSA、Rabin体制、LUC体制及其推广、二次剩余体制等。基于离散对数困难的密码体制主要包括基于有限域的乘法群上的离散对数问题的E1Gamal体制和基于椭圆曲线离散对数的椭圆曲线密码体制(ECC),以及近年来Lenstra等人提出的XTR群的离散对数问题的XTR公钥体制。
纠错码和密码学是两门不同的学科,但是公钥密码体制思想是建立在一个难解的数学问题之上的,即NPC问题。1978年,Berlekamp等人证明了纠错码中的一些译码问题属于NPC问题。这两项成果建立起纠错码和密码学相结合的理论基础。
有限自动机公钥密码体制是由我国学者陶仁骥发明的,它的思想与RSA体制类似。此类体制是基于分解两个有限自动机的合成而构成的,尤其是当其中的一个或两个为非线性时,难度更大。目前已经公开了该体制的三个算法,分别为FAPKCOF、FAPKCl、FAPKC2,后者比较复杂,研究出来以支持基于身份鉴别的操作。
5.PKI提供的安全服务[2]
通常,一个完善的PKI基础设施提供的服务主要包括以下几个方面。
- 1.安全登录
在访问网络资源,或者使用某些应用程序的时候,用户往往会被要求首先“登录”或者“注册”。这一步骤中,典型的操作过程包括用户输入用户身份的信息(如用户D或者昵称)以及认证信息(如口令或其他机密信息)。除了合法用户没人能够获取用户的认证信息,采用这种方法能够安全地允许合法用户进入系统或者指定的应用程序。
选用一个符合安全规范的好的口令,并且记住它而不要用笔写下来,而且要经常修改口令,这对一般用户来说不是一件容易的事,很可能因为频繁更换到后来自己也不记得口令了。这正是安全基础设施提供的服务之一,它可以帮助解决这些问题。
安全基础设施并不意味着取消口令,因为口令方式是用户进入基础设施本身的认证机制。安全基础设施只是解决了使用口令方式时存在的一个最严重问题,它可以避免口令在不信任的或不安全的网络中传递,根本避免口令在传输中被截获的可能性。
使用普适性的安全基础设施可以极大地改善这种状况。安全基础设施能够将一个成功登录的结果安全地通知到其他重要登录的设备,减少远程登录的需求。
安全单点登录是安全基础设施提供的一项服务,适用于所有应用程序和设备。在任何时候和地方,如果需要使用安全传送认证信息的机制,基础设施就可以为之提供:应用程序在必要时接入基础设施,从而获得认证信息。这种基础服务减少了用户必须登录的次数。另外,在安全性上的另一个好处就是,一个设计良好的基础设施能够保证用户只需在它们工作的机器上登录。所以在某些情况下,口令无须在易于受到攻击的网络上传递,极大地降低了口令被窃听和口令存储、重复攻击的风险。
- 2.终端用户透明
用户使用安全基础设施时,基础设施只是一个黑盒子,用户需要的是服务而不是如何提供服务的细节。换句话说,对终端用户而言,安全基础设施是完全透明的,这是普适性基础设施的一个极其重要的特性。
- 3.全面的安全性
一个普适性安全基础设施最大的益处是在整个环境中实施的是单一的、可信的安全技术(如公钥密码技术),所有它能够提供跟设备无关的安全服务。它能够保证数目不受限制的应用程序、设备和服务器无缝地协调工作,安全地传输、存储和检索数据,安全地进行事务处理,安全地访问服务器等。这种环境不仅极大地简化了终端用户使用各种设备和应用程序的方式,而且简化了设备和应用程序的管理工作。
使基础设施达到全面安全性所采取的重要机制之一就是保证大范围的组织实体和设备采用统一的方式使用、理解和处理密钥。为了解决Intemet的安全问题,世界各国对其进行了多年的研究,初步形成了一套完整的Intemet安全解决方案,即目前被广泛使用的PKI技术,PKI技术采用证书管理公钥,通过第三方的可信任机构,即认证中心,(Certificate Authority,CA),把用户的公钥和用户的其他标识信息(如名称,E-mail、身份证号码等)捆绑在一起在Intemet验证用户的身份。采用建立在PKI基础上的数字证书,通过对要传输的数字信息进行加密和签名,保证信息传输的机密性、真实性、完整性和不可否认性,从而保证信息的安全传输。
6.PKI的管理[3]
PKI的管理可以归纳为证书管理和密钥管理两个部分。
- 1.证书管理
(1)策略批准。在实现认证操作之前,必须生成各种认证策略以指导认证过程。策略主要包括:操纵策略——阐明有关个人、设备和应用事宜;签发策略——检查用于签发证书的准则。
(2)证书签发。证书签发需要以下步骤:检查公开密钥信息的正确性。计算公开密钥信息的签名;签名与公开密钥信息一起生成证书;CA在证书签发过程中的行为应该被记录。
(3)证书发布。签发后的证书将被放在数据库中,以便第三方或证书用户访问。数据库应该有各种访问控制,以便证书等数据的安全存储。
(4)证书归档。数字签名文档的有效期比证书有效期长,因此为了确保失效的证书仍可以访问,就必须对证书、证书撤销表等数据进行长期归档。
(5)证书撤销。证书撤销主要涉及下列方面:撤销证书的归档,无论证书是过期还是被撤销,旧证书的拷贝应由可信的第三方保留一段时间,时间长度由具体情况确定;撤销证书的公布,CA维护并定期发布证书撤销列表,让用户查询证书状态来了解证书撤销的情况。
- 2.密钥管理
主要指对密钥的安全管理,密钥管理的功能主要包括以下方面:
(1)密钥产生。密钥可由用户自己产生,也可由CA产生。在初始化客户端时,必须通过安全信道或某些分发机制来安全地分发密钥。
(2)密钥备份及恢复。用户遗忘密钥的保护口令,用户丢失密钥或者用户调离工作岗位时仍可访问密钥及加密的数据;应用户或有关部门的要求,对某些加密数据进行检查(密钥的托管);应用户要求,恢复加密密钥。
(3)密钥更新。任何密钥都不能长期不变。密钥必须定期更新。更新的周期取决于CA或相关的策略需求,CA应配备相应的密钥更换规程。
密钥管理中心负责对密钥的产生、登记、论证、注销、分发、归档、撤销和销毁等服务的实施和运用。其中密钥管理的目标是安全地实施和运用这些密钥管理服务功能。