PKI简介
定义
公钥基础设施PKI(Public Key Infrastructure),是一种遵循既定标准的证书管理平台,它利用公钥技术能够为所有网络应用提供安全服务。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。
目的
随着网络技术和信息技术的发展,电子商务已逐步被人们所接受,并得到不断普及。但通过网络进行电子商务交易时,存在如下问题:
交易双方并不现场交易,无法确认双方的合法身份。
通过网络传输时信息易被窃取和篡改,无法保证信息的安全性。
交易双方发生纠纷时没有凭证可依,无法提供仲裁。
为了解决上述问题,PKI技术应运而生,其利用公钥技术保证在交易过程中能够实现身份认证、保密、数据完整性和不可否认性。因而在网络通信和网络交易中,特别是电子政务和电子商务业务,PKI技术得到了广泛的应用。
受益
用户受益
通过PKI证书认证技术,用户可以验证接入设备的合法性,从而可以保证用户接入安全、合法的网络中。
通过PKI加密技术,可以保证网络中传输的数据的私密性,数据不会被篡改和窥探。
通过PKI签名技术,可以保证数据的安全性,未授权的设备和用户无法查看该数据。
企业受益
企业可以防止非法用户接入企业网络中。
企业分支之间可以建立安全通道,保证企业数据的安全性。
PKI基本概念PKI的核心技术就围绕着数字证书的申请、颁发和使用等整个生命周期进行展开,而在这整个生命周期过程中,PKI会使用到对称密钥加密、公钥加密、数字信封和数字签名技术。下面以图15-1为例介绍这些技术间的演进过程。甲和乙通过Internet进行通信,丙为攻击者专门破坏甲和乙间的通信。 图15-1 演进示意图

对于这些概念的详细介绍请参见相应的章节。
加密加密是通过网络传输信息的基础。通俗地讲,加密就是利用数学方法将明文(需要被隐蔽的数据)转换为密文(不可读的数据)从而达到保护数据的目的。 对称密钥加密对称密钥加密又称为共享密钥加密,它使用同一个密钥对数据进行加密和解密。 对称密钥的加解密过程如图15-2所示。 图15-2 对称密钥加解密过程示意图

甲与乙事先协商好对称密钥,具体加解密过程如下:
对称密钥加密的优点是效率高,算法简单,系统开销小,适合加密大量数据。缺点是实现困难,扩展性差。实现困难原因在于进行安全通信前需要以安全方式进行密钥交换;扩展性差表现在每对通信用户之间都需要协商密钥,n个用户的团体就需要协商n*(n-1)/2个不同的密钥。 目前比较常用的对称密钥加密算法,主要包含DES(Data Encryption Standard)、3DES(Triple Data Encryption Standard)、AES(Advance Encrypt Standard)算法。
公钥加密公钥加密又称为非对称密钥加密,它使用了两个不同的密钥:一个可对外界公开,称为“公钥”;一个只有所有者知道,称为“私钥”。 公钥加密解决了对称密钥的发布和管理问题,一个用于加密信息,另一个则用于解密信息,通信双方无需事先交换密钥就可进行保密通信。通常以公钥作为加密密钥,以私钥作为解密密钥。因为其他人没有对应的私钥,发送的加密信息仅该用户可以解读,从而实现通信的加密传输。 公钥加解密的过程如图15-3所示。 图15-3 公钥加解密过程示意图

甲事先获得乙的公钥,具体加解密过程如下:
公钥加密的优点是无法从一个密钥推导出另一个密钥;公钥加密的信息只能用私钥进行解密。缺点是算法非常复杂,导致加密大量数据所用的时间较长,而且加密后的报文较长,不利于网络传输。 基于公钥加密的优缺点,公钥加密适合对密钥或身份信息等敏感信息加密,从而在安全性上满足用户的需求。 目前比较常用的公钥加密算法,主要包含DH(Diffie-Hellman)、RSA(Ron Rivest、Adi Shamirh、LenAdleman)和DSA(Digital Signature Algorithm)算法。
数字信封和数字签名数字信封数字信封是指发送方采用接收方的公钥来加密对称密钥后所得的数据。采用数字信封时,接收方需要使用自己的私钥才能打开数字信封得到对称密钥。 数字信封的加解密过程如图15-4所示。 图15-4 数字信封的加解密过程示意图

甲事先获得乙的公钥,具体加解密过程如下: - 甲使用对称密钥对明文进行加密,生成密文信息。
- 甲使用乙的公钥加密对称密钥,生成数字信封。
- 甲将数字信封和密文信息一起发送给乙。
- 乙接收到甲的加密信息后,使用自己的私钥打开数字信封,得到对称密钥。
- 乙使用对称密钥对密文信息进行解密,得到最初的明文。
从加解密过程中,可以看出,数字信封技术结合了对称密钥加密和公钥加密的优点,解决了对称密钥的发布和公钥加密速度慢等问题,提高了安全性、扩展性和效率等。 但是,数字信封技术还有个问题,如果攻击者拦截甲的信息,用自己的对称密钥加密伪造的信息,并用乙的公钥加密自己的对称密钥,然后发送给乙。乙收到加密信息后,解密得到的明文,而且乙始终认为是甲发送的信息。此时,需要一种方法确保接收方收到的信息就是指定的发送方发送的。
数字签名数字签名是指发送方用自己的私钥对数字指纹进行加密后所得的数据。采用数字签名时,接收方需要使用发送方的公钥才能解开数字签名得到数字指纹。 数字指纹又称为信息摘要,它是指发送方通过HASH算法对明文信息计算后得出的数据。采用数字指纹时,发送方会将数字指纹和明文一起发送给接收方,接收方用同样的HASH算法对明文计算生成的数据指纹,与收到的数字指纹进行匹配,如果一致,便可确定明文信息没有被篡改。 数字签名的加解密过程如图15-5所示。 图15-5 数字签名的加解密过程示意图

甲事先获得乙的公钥,具体加解密过程如下: - 甲使用乙的公钥对明文进行加密,生成密文信息。
- 甲使用HASH算法对明文进行HASH运算,生成数字指纹。
- 甲使用自己的私钥对数字指纹进行加密,生成数字签名。
- 甲将密文信息和数字签名一起发送给乙。
- 乙使用甲的公钥对数字签名进行解密,得到数字指纹。
- 乙接收到甲的加密信息后,使用自己的私钥对密文信息进行解密,得到最初的明文。
- 乙使用HASH算法对明文进行HASH运算,生成数字指纹。
- 乙将生成的数字指纹与得到的数字指纹进行比较,如果一致,乙接受明文;如果不一致,乙丢弃明文。
从加解密过程中,可以看出,数字签名技术不但证明了信息未被篡改,还证明了发送方的身份。数字签名和数字信封技术也可以组合使用。 但是,数字签名技术还有个问题,如果攻击者更改乙的公钥,甲获得的是攻击者的公钥,攻击者拦截乙发送给甲的信息,用自己的私钥对伪造的信息进行数字签名,然后与使用甲的公钥的加密伪造的信息一起发送给甲。甲收到加密信息后,解密得到的明文,并验证明文没有被篡改,则甲始终认为是乙发送的信息。此时,需要一种方法确保一个特定的公钥属于一个特定的拥有者。
数字证书数字证书简称证书,它是一个经证书授权中心(即在PKI中的证书认证机构CA)数字签名的文件,包含拥有者的公钥及相关身份信息。 数字证书可以说是Internet上的安全护照或身份证。当人们到其他国家旅行时,用护照可以证实其身份,并被获准进入这个国家。数字证书提供的是网络上的身份证明。 数字证书技术解决了数字签名技术中无法确定公钥是指定拥有者的问题。 证书结构最简单的证书包含一个公钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效期,颁发者(证书授权中心)的名称,该证书的序列号等信息,证书的结构遵循X.509 v3版本的规范。图15-6展示了一个常见的证书结构。 图15-6 证书结构示意图

证书的各字段解释: - 版本:即使用X.509的版本,目前普遍使用的是v3版本(0x2)。
- 序列号:颁发者分配给证书的一个正整数,同一颁发者颁发的证书序列号各不相同,可用与颁发者名称一起作为证书唯一标识。
- 签名算法:颁发者颁发证书使用的签名算法。
- 颁发者:颁发该证书的设备名称,必须与颁发者证书中的主体名一致。通常为CA服务器的名称。
- 有效期:包含有效的起、止日期,不在有效期范围的证书为无效证书。
- 主体名:证书拥有者的名称,如果与颁发者相同则说明该证书是一个自签名证书。
- 公钥信息:用户对外公开的公钥以及公钥算法信息。
- 扩展信息:通常包含了证书的用法、CRL的发布地址等可选字段。
- 签名:颁发者用私钥对证书信息的签名。
证书分类证书有四种类型,如表15-1所示。 表15-1 证书类型类型 描述 说明
自签名证书 自签名证书又称为根证书,是自己颁发给自己的证书,即证书中的颁发者和主体名相同。 申请者无法向CA申请本地证书时,可以通过设备生成自签名证书,可以实现简单证书颁发功能。 设备不支持对其生成的自签名证书进行生命周期管理(如证书更新、证书撤销等),为了确保设备和证书的安全,建议用户替换为自己的本地证书。
CA证书 CA自身的证书。如果PKI系统中没有多层级CA,CA证书就是自签名证书;如果有多层级CA,则会形成一个CA层次结构,最上层的CA是根CA,它拥有一个CA“自签名”的证书。 申请者通过验证CA的数字签名从而信任CA,任何申请者都可以得到CA的证书(含公钥),用以验证它所颁发的本地证书。
本地证书 CA颁发给申请者的证书。 -
设备本地证书 设备根据CA证书给自己颁发的证书,证书中的颁发者名称是CA服务器的名称。 申请者无法向CA申请本地证书时,可以通过设备生成设备本地证书,可以实现简单证书颁发功能。
证书格式设备支持三种文件格式保存证书,如表15-2所示。 表15-2 证书格式格式 描述 说明
PKCS#12 以二进制格式保存证书,可以包含私钥,也可以不包含私钥。常用的后缀有:.P12和.PFX。 对于证书后缀为.CER或.CRT,可以用记事本打开证书,查看证书内容来区分证书格式。 - 如果有类似"-----BEGIN CERTIFICATE-----"和"-----END CERTIFICATE-----"的头尾标记,则证书格式为PEM。
- 如果是乱码,则证书格式为DER。
DER 以二进制格式保存证书,不包含私钥。常用的后缀有:.DER、.CER和.CRT。
PEM 以ASCII码格式保存证书,可以包含私钥,也可以不包含私钥。常用的后缀有:.PEM、.CER和.CRT。
|