1、公钥基础设施公钥基础设施PKI介绍介绍信息安全信息安全PKI理论基础理论基础PKI体系结构体系结构信息安全信息安全 随着电子邮件、电子商务、网上银行及资源随着电子邮件、电子商务、网上银行及资源发布等发布等Internet和和Intranet应用的发展,经常需要应用的发展,经常需要在开放网络中的不明身份实体之间进行通信,传在开放网络中的不明身份实体之间进行通信,传输大量信息,其中包括一些敏感数据。互联网在输大量信息,其中包括一些敏感数据。互联网在给我们带来便利和利益的同时也带来了安全隐患,给我们带来便利和利益的同时也带来了安全隐患,这些安全问题也阻碍着这些行业的发展。这些安全问题也阻碍着这些行业
2、的发展。 如何在传输过程中保障这些敏感数据的安全如何在传输过程中保障这些敏感数据的安全对网络技术的近一步发展至关重要,这一课题己对网络技术的近一步发展至关重要,这一课题己经成为当今计算机网络技术研究的一个热点。经成为当今计算机网络技术研究的一个热点。信息安全的定义信息安全的定义信息安全的分类信息安全的分类信息安全服务信息安全服务信息安全技术与信息安全技术与PKI信息安全的定义信息安全的定义 信息安全是指保证信息数据的机密性、信息安全是指保证信息数据的机密性、完整性和不可否认性,以保证主体对信息资完整性和不可否认性,以保证主体对信息资源的控制源的控制。在网络环境下,它是网络安全研在网络环境下,它
3、是网络安全研究中的一个组成部分,它的研究离不开网络究中的一个组成部分,它的研究离不开网络安全。从广义上讲,网络环境下的信息安全安全。从广义上讲,网络环境下的信息安全就是指利用网络管理控制和技术措施,保证就是指利用网络管理控制和技术措施,保证在一个网络环境里信息数据的机密性、完整在一个网络环境里信息数据的机密性、完整性及可使用性。性及可使用性。分类分类 用户身份鉴别用户身份鉴别 信息传输的安全信息传输的安全 信息存储的安全信息存储的安全 网络传输信息内容的审计网络传输信息内容的审计 传输的安全传输的安全 传输的过程中如何防窃取、防纂改、传输的过程中如何防窃取、防纂改、防假冒等就涉及到传输安全。对
4、于信息的防假冒等就涉及到传输安全。对于信息的传输安全,可以有很多的解决方法,如链传输安全,可以有很多的解决方法,如链路层加密方案、路层加密方案、IP层加密方案、层加密方案、应用层加应用层加密解决方案等。密解决方案等。 存储的安全存储的安全 信息存储安全主要包括纯粹的数据信信息存储安全主要包括纯粹的数据信 息和各种功能信息两大类。在信息系统中息和各种功能信息两大类。在信息系统中 大多数信息存储在各种存储媒介中,例如大多数信息存储在各种存储媒介中,例如 数据库和服务器系统。数据库和服务器系统。信息安全服务信息安全服务 早期的信息安全是主要是通过物理和行政早期的信息安全是主要是通过物理和行政手段来实
5、现的,或者是通过简单密码技术来保障。手段来实现的,或者是通过简单密码技术来保障。随着网络技术的发展,需要更加完善的系统来保随着网络技术的发展,需要更加完善的系统来保护那些存储在计算机中文件和其他信息,包括网护那些存储在计算机中文件和其他信息,包括网络中传输的数据信息。进入络中传输的数据信息。进入80年代,信息安全技年代,信息安全技术有了较大发展,计算机网络安全研究与发展只术有了较大发展,计算机网络安全研究与发展只关注以下几种安全服务,这些服务包括了一个信关注以下几种安全服务,这些服务包括了一个信息安全设施所需要的各种功能。息安全设施所需要的各种功能。保密性保密性Confidentiality:
6、 确保在一个计算机系统确保在一个计算机系统中的信息和被传输的信息仅能被授权让读取的那中的信息和被传输的信息仅能被授权让读取的那方得到。方得到。完整性完整性Integrity: 确保仅是被授权的各方能够对确保仅是被授权的各方能够对计算机系统中有价值的内容和传输的信息进行权计算机系统中有价值的内容和传输的信息进行权限范围之内的操作,这些操作包括修改、改变状限范围之内的操作,这些操作包括修改、改变状态、删除、创建、时延或重放。态、删除、创建、时延或重放。可用性可用性Availability: 即保证信息和信息系统随即保证信息和信息系统随时为授权者提供服务,而不出现非授权者滥用时为授权者提供服务,而不
7、出现非授权者滥用却对授权者拒绝服务的情况。却对授权者拒绝服务的情况。不可否认性不可否认性non-repudiation: 要求无论发送方要求无论发送方还是接收方都不能抵赖所进行的传输。还是接收方都不能抵赖所进行的传输。鉴别鉴别Authentication: 就是确认实体是它所声明就是确认实体是它所声明的,用于对人或实体的身份进行鉴别,为身份的,用于对人或实体的身份进行鉴别,为身份的真实性提供保证,一般可通过认证机构的真实性提供保证,一般可通过认证机构CA和和证书来实现。证书来实现。信息安全技术与信息安全技术与PKI 不存在单一的机制能够提供上述列出的儿不存在单一的机制能够提供上述列出的儿种服务
8、,网络环境下的安全服务需要依靠密码种服务,网络环境下的安全服务需要依靠密码技术、身份认证技术、防火墙、防病毒、灾难技术、身份认证技术、防火墙、防病毒、灾难备份、安全审备份、安全审计、入侵检测等安全机制综合应计、入侵检测等安全机制综合应用起来实现。用起来实现。 在应用层上对信息进行加密的算法或对消在应用层上对信息进行加密的算法或对消息来源进行鉴别的协议已有多年的研究。但在息来源进行鉴别的协议已有多年的研究。但在传统的基于对称密钥的加密技术中,密钥的分传统的基于对称密钥的加密技术中,密钥的分发的问题一直没有得到很好的解决。并对电子发的问题一直没有得到很好的解决。并对电子商务、安全电子邮件、电子政务
9、等新的安全应商务、安全电子邮件、电子政务等新的安全应用,传统技术基于共享密钥的鉴别协议对通信用,传统技术基于共享密钥的鉴别协议对通信主体的身份认证也没有很好主体的身份认证也没有很好的解决。的解决。 针对上述问题,世界各国经过多年的研究,针对上述问题,世界各国经过多年的研究,初步形成一套完整的初步形成一套完整的Internet安全解决方案,即安全解决方案,即目前被广泛采用的目前被广泛采用的PKI技术。技术。PKI技术采用证书管技术采用证书管理公钥,通过第三方的可信任机构理公钥,通过第三方的可信任机构认证中心认证中心CA(Certificate Authority)把用户的公钥和用户的把用户的公钥
10、和用户的其他标识信息其他标识信息(如名称、如名称、E-mail、身份证号等身份证号等)捆捆绑在一起绑在一起。通过通过Internet的的CA机构,较好的解决机构,较好的解决了密钥分发和管理问题,并通过数字证书,对传了密钥分发和管理问题,并通过数字证书,对传输的数据进行加密和鉴别,保证了信息传输的机输的数据进行加密和鉴别,保证了信息传输的机密性、真实性、完整性和不可否认性密性、真实性、完整性和不可否认性。 目前,目前,PKI的安全认证体系得到了各界人士的安全认证体系得到了各界人士的普通关注。国外的一些大的网络安全公司也都的普通关注。国外的一些大的网络安全公司也都推出了推出了PKI的产品,如美国的
11、的产品,如美国的VeriSign, IBM、加加拿大的拿大的Entrust, SUN等,为用户之间的内部信息等,为用户之间的内部信息交互提供了安全保障交互提供了安全保障。 PKI理论基础理论基础密码学有关概念密码学有关概念加密技术理论加密技术理论数字签名与数字信封数字签名与数字信封相关概念相关概念 密码学最早适用于军事通讯领域,他从诞密码学最早适用于军事通讯领域,他从诞生的那天起就决定了他的主要作用就是通讯加生的那天起就决定了他的主要作用就是通讯加密。现代密码体制与传统密码体制的最大不同密。现代密码体制与传统密码体制的最大不同在于在于:原文的保密性不再依赖于算法本身,而原文的保密性不再依赖于算
12、法本身,而是依赖密钥的保密性,算法本身是公开的。是依赖密钥的保密性,算法本身是公开的。 任何加密系统,无论形式如何复杂,实现任何加密系统,无论形式如何复杂,实现的算法如何不同,但其基本组成部分是相同的。的算法如何不同,但其基本组成部分是相同的。通常包括如下四个部分通常包括如下四个部分: (1) 明文明文(plaint text ):需要加密的报文需要加密的报文; (2) 密钥密钥(key):用于加密和解密的钥匙用于加密和解密的钥匙,密钥可以密钥可以 是数字、词汇或者语句是数字、词汇或者语句; (3) 加密、解密的装置或者算法加密、解密的装置或者算法(cipher) ; (4) 密文密文(cip
13、her text):加密后形成的报文加密后形成的报文。 Ek(M)EK-1(C)密钥密钥加密加密解密解密MCM加密解密示意图加密解密示意图加密技术加密技术 加密是指使用密码算法对数据进行变换的加密是指使用密码算法对数据进行变换的过程,它包括两个元素过程,它包括两个元素:算法和密钥。算法是算法和密钥。算法是将数据信息与密钥相结合,产生不可理解的密将数据信息与密钥相结合,产生不可理解的密文的步骤。密钥是用来对数字进行编码和解码文的步骤。密钥是用来对数字进行编码和解码的数字信息。根据加密算法所使用的加密密钥的数字信息。根据加密算法所使用的加密密钥和解密密钥是否相同、能否由加密密钥推导出和解密密钥是否
14、相同、能否由加密密钥推导出解密密钥,因此将加密算法分为对称密钥算法解密密钥,因此将加密算法分为对称密钥算法和非对称密钥算法。和非对称密钥算法。 对称密钥加密技术对称密钥加密技术 对称密钥算法又被称为传统密码算法或单对称密钥算法又被称为传统密码算法或单钥加密算法等,它是指在一个加密系统中的加钥加密算法等,它是指在一个加密系统中的加密密钥和解密密钥相同,或者虽然不相同,但密密钥和解密密钥相同,或者虽然不相同,但是由其中任意一个可以很容易的推导出另一个是由其中任意一个可以很容易的推导出另一个的一种算法体制。在使用对称密钥进行加密时,的一种算法体制。在使用对称密钥进行加密时,信息交互的双方必须共享同一
15、个密钥,并且这信息交互的双方必须共享同一个密钥,并且这个密钥还要防止被他人获取。另外还要密钥经个密钥还要防止被他人获取。另外还要密钥经常更换,减少攻击者窃取密钥的可能性。因此,常更换,减少攻击者窃取密钥的可能性。因此,它的保密强度依赖于密钥分配技术。它的保密强度依赖于密钥分配技术。优点优点:效率高、算法简单、计算开销小,适效率高、算法简单、计算开销小,适合加密大量数据。合加密大量数据。缺点缺点:密钥分配问题密钥分配问题 eg: A与与B两人之间的密钥必须不同于两人之间的密钥必须不同于A和和C两人之间的密钥,在有两人之间的密钥,在有1000个用户的团体个用户的团体中,中,A需要保持至少需要保持至
16、少999个密钥个密钥(更确切的说更确切的说是是1000个,如果她需要留一个密钥给他自个,如果她需要留一个密钥给他自己加密数据己加密数据)。对于该团体中的其它用户,。对于该团体中的其它用户,此种倩况同样存在。所以此种倩况同样存在。所以N个用户的团体需个用户的团体需要要N2/2个不同的密钥。个不同的密钥。 常用的对称加密算法常用的对称加密算法DES(Data Encryption Standard) 数据以数据以64bit分组进行加密,密钥长度为分组进行加密,密钥长度为56bit。 64位一组的明文从算法的一端输入,位一组的明文从算法的一端输入,经过左右部分的迭代以及密钥的异或、置换等经过左右部分
17、的迭代以及密钥的异或、置换等一系列操作,从另一段输出。解密的过程使用一系列操作,从另一段输出。解密的过程使用同样的步骤和密钥。同样的步骤和密钥。DES的安全强度大体上涉的安全强度大体上涉及到两个方面及到两个方面:密钥大小和算法的性质。密钥大小和算法的性质。DES对于个人和商业的应用来说,其安全性是合理对于个人和商业的应用来说,其安全性是合理的。的。 TDES 三重三重DES是是DES的一种替代加密方案,它的一种替代加密方案,它是用是用DES和多个密钥进行多次加密,这样可以和多个密钥进行多次加密,这样可以保护在软件和硬件设备方面的己有投资。它有保护在软件和硬件设备方面的己有投资。它有两种形式,一
18、个是两个密钥的三重两种形式,一个是两个密钥的三重DES,它采它采用 加 密 一 解 密 一 加 密用 加 密 一 解 密 一 加 密 ( E C E ) 的 序的 序列列:C=Ek1Dk2Ek3M;另一个是三个密钥的三另一个是三个密钥的三重重DES,它具有它具有168bit的有效密钥长度,定义的有效密钥长度,定义如下如下:C=Ek3Ek2Ek1M。许多许多Internet的应用的应用都采用了三个密钥的都采用了三个密钥的DES,如如PGP和和S/MIME。 IDEA (International Data Encryption Algorithm) 它是一种使用它是一种使用128bit密钥以密钥
19、以64bit分分组为单位加密数据的分组密码。组为单位加密数据的分组密码。IDEA的的分组长度足够的长,可以阻止统计分析分组长度足够的长,可以阻止统计分析;另外,它的密钥长度足够长,可以防止另外,它的密钥长度足够长,可以防止穷举式密钥搜索穷举式密钥搜索;再者它有更好的扰乱性再者它有更好的扰乱性和扩散性。和扩散性。 公开密钥加密技术公开密钥加密技术 公开密码学是整个密码编码学历史上最大公开密码学是整个密码编码学历史上最大的而且也是唯一真正的革命。传统的密码编码的而且也是唯一真正的革命。传统的密码编码系统都建立在基本的替代和置换工具的基础上。系统都建立在基本的替代和置换工具的基础上。公开密码学则与以
20、前所用的方法都截然不同,公开密码学则与以前所用的方法都截然不同,一方面公开密钥算法基于数学函数而不是替代一方面公开密钥算法基于数学函数而不是替代和置换,更重要的是公开密码学是非对称的,和置换,更重要的是公开密码学是非对称的,它用到两个不同的密钥,使用两个密钥对于保它用到两个不同的密钥,使用两个密钥对于保密通信、密钥分配和鉴别等都有很好的影响。密通信、密钥分配和鉴别等都有很好的影响。 概念概念 公开密钥技术公开密钥技术:又称为非对称密钥技又称为非对称密钥技术,与对称密钥技术不同,它需要使用术,与对称密钥技术不同,它需要使用一对密钥来分别完成加密和解密的操作一对密钥来分别完成加密和解密的操作。其中
21、一个公开发布,称为公开密钥。其中一个公开发布,称为公开密钥 ( Public-Key );另外一个由用户自己秘密另外一个由用户自己秘密保存,称为私有密钥保存,称为私有密钥( Private-Key )。发发送方用公开密钥去加密,信息接受者则送方用公开密钥去加密,信息接受者则用私有密钥去解密。用私有密钥去解密。 特点特点 相对于对称密钥算法来说,通信双方相对于对称密钥算法来说,通信双方不需要通过保密信道交换密钥。且由于公不需要通过保密信道交换密钥。且由于公钥可以公开,因而便于密钥的管理、分发。钥可以公开,因而便于密钥的管理、分发。另外它提供数字签名和鉴别的服务。由于另外它提供数字签名和鉴别的服务
22、。由于公开密钥的加密密钥很长,加密速度慢公开密钥的加密密钥很长,加密速度慢(要要比对称密钥加密慢的多比对称密钥加密慢的多) ,因此一般只用在,因此一般只用在对少数数据的加密上,对少数数据的加密上, 这点正好可以和对这点正好可以和对称密钥加密互补。称密钥加密互补。常用算法常用算法RSA算法算法 RSA算法是基于大数因子分解的复杂性来算法是基于大数因子分解的复杂性来构造的,构造的,RSA是公钥系统最具典型意义的方法,是公钥系统最具典型意义的方法,大多数使用公钥密码算法进行加密和数字签名大多数使用公钥密码算法进行加密和数字签名的产品和标准都是使用的产品和标准都是使用RSA算法。算法。RSA算法的算法
23、的安全性基于数论中大数分解质因子的困难性。安全性基于数论中大数分解质因子的困难性。从一个公开密钥和密文中恢复出明文的难度等从一个公开密钥和密文中恢复出明文的难度等价于分解两个大素数之积。因子分解越困难,价于分解两个大素数之积。因子分解越困难,密码就越难破译,加密强度就越高。所以密码就越难破译,加密强度就越高。所以RSA需采用足够大的整数密钥。需采用足够大的整数密钥。Diffie-Hellman算法算法 DH算法的目的是使得两个用户安全算法的目的是使得两个用户安全地交换一个密钥以便于之后的报文加密,地交换一个密钥以便于之后的报文加密,它的用途仅限于密钥交换的用途。它的用途仅限于密钥交换的用途。D
24、H算算法的有效性依赖于计算离散对数的难度,法的有效性依赖于计算离散对数的难度,离散对数的研究现状表明离散对数的研究现状表明:所使用的所使用的DH密钥至少需要密钥至少需要1024位,才能保证足够安位,才能保证足够安全性。全性。ECC椭圆曲线算法椭圆曲线算法 绝大多数使用公开密钥算法进行加密和数绝大多数使用公开密钥算法进行加密和数字签名的产品和标准都使用字签名的产品和标准都使用RSA算法,但算法,但RSA所要求的比特长度增加了应用系统的负荷,对所要求的比特长度增加了应用系统的负荷,对于需要进行大量的安全交易的电子商务站点更于需要进行大量的安全交易的电子商务站点更是如此于是便有了是如此于是便有了EC
25、C算法。算法。 ECC算法与算法与RSA相比的主要优点是它似相比的主要优点是它似乎用少得多的比特大小取得和乎用少得多的比特大小取得和RSA相等的安全相等的安全性。另外,在密钥大小相等时,性。另外,在密钥大小相等时,ECC和和RSA所所要求的计算工作量差不多,因而,在安全性差要求的计算工作量差不多,因而,在安全性差不多的情况下,使用较短密钥的不多的情况下,使用较短密钥的ECC比使用比使用RSA具有计算上的优势。具有计算上的优势。公钥密码的典型算法有公钥密码的典型算法有:RSA, ECC, Diffie-Hellman ( DH ), DSA, ElGamal等算法,等算法,以上只着重介绍了前三种
26、公钥密码算法以上只着重介绍了前三种公钥密码算法,公公钥密码能够用于数据加密、密钥分发、数钥密码能够用于数据加密、密钥分发、数字签名、身份认证、信息的完整性认证、字签名、身份认证、信息的完整性认证、信息的非否认性认证等。其中可以用于加信息的非否认性认证等。其中可以用于加密的算法有密的算法有:RSA, ECC, EIGamal等等;可以可以用于密钥分发的算法有用于密钥分发的算法有:RSA, ECC, DH等等;可以用于数字签名、身份认证、信息的完可以用于数字签名、身份认证、信息的完整性认证、信息的非否认性认证的有整性认证、信息的非否认性认证的有RSA, ECC, DSA, EIGamaI等。等。
27、单向函数散列算法单向函数散列算法 单向散列函数算法也称为报文摘要函单向散列函数算法也称为报文摘要函数算法,它是使用单向的散列数算法,它是使用单向的散列(Hash)函数,函数,它是从明文到密文的不可逆函数,也就是它是从明文到密文的不可逆函数,也就是说只能加密不能还原。单向散列函数说只能加密不能还原。单向散列函数H作用作用于任意长度的信息于任意长度的信息M,返回一个固定长度返回一个固定长度128-256的大数散列值的大数散列值(也称摘要信息也称摘要信息)h =H(M) 。特征特征计算的单向性计算的单向性:给定给定M和和H,求求h =H(M)容易,容易,但反过来给定但反过来给定h和和H,求求M=H-
28、1(h)在计算上是不在计算上是不可行的。可行的。弱碰撞自由弱碰撞自由:给定给定M,要寻找另一信息要寻找另一信息M,满足满足H(M) =H(M)在计算上不可行。在计算上不可行。强碰撞自由强碰撞自由:要寻找不同的信息要寻找不同的信息M和和M满足满足H(M) =H(M)在计算上不可行。在计算上不可行。 单项函数的这些特性使得它天生就对报文单项函数的这些特性使得它天生就对报文有差错检测能力,报文中的任意一个比特或者有差错检测能力,报文中的任意一个比特或者若干比特发生改变都将导致散列码发生改变。若干比特发生改变都将导致散列码发生改变。而且由于单项函数比对称加密算法的速度还快,而且由于单项函数比对称加密算
29、法的速度还快,因此被广泛应用。它是数字签名和消息验证码因此被广泛应用。它是数字签名和消息验证码(MAC)的基础。的基础。 单向散列函数的使用方法为单向散列函数的使用方法为:用散列函数用散列函数对数据生成散列值常称为消息摘要并保存,以对数据生成散列值常称为消息摘要并保存,以后每次使用时都对数据使用相同的散列函数进后每次使用时都对数据使用相同的散列函数进行散列,如果得到的值与保存的散列值相等,行散列,如果得到的值与保存的散列值相等,则认为数据未被修改则认为数据未被修改(数据完整性验证数据完整性验证)或两次或两次所散列的原始数据相同所散列的原始数据相同(口令验证口令验证)。常见的单。常见的单向函数有
30、向函数有:MD5. SHA等。等。 数字签名和数字信封数字签名和数字信封 数字签名数字签名: 数字签名是指附加在报文信息上的一些数数字签名是指附加在报文信息上的一些数据,或是报文信息所做的密码变换,这种密码据,或是报文信息所做的密码变换,这种密码变换能使数据单元的接收者确认报文信息的来变换能使数据单元的接收者确认报文信息的来源和数据信息的完整性,并保护数据,防止接源和数据信息的完整性,并保护数据,防止接收者或者他人进行伪造。收者或者他人进行伪造。 一个签名者的签名一个签名者的签名只能唯一地由他自己产生。当发生双方争议时,只能唯一地由他自己产生。当发生双方争议时,仲裁机构就能够用信息上的数字签名
31、来进行正仲裁机构就能够用信息上的数字签名来进行正确的裁定,从而实现防抵赖性的安全服务。确的裁定,从而实现防抵赖性的安全服务。SHA算法算法SHA算法算法DSA算法算法DSA 算法算法消息摘要消息摘要SHA(M)消息摘要消息摘要SHA(M1)发送方发送方A发送的消息发送的消息M接受方接受方B接受到的消息接受到的消息M1发送方的发送方的私人密钥私人密钥发送方的发送方的公开密钥公开密钥数字签名数字签名数字签名数字签名1 数字签名数字签名2是否相等是否相等?数字签名的产生数字签名的产生数字签名的验证数字签名的验证互联网互联网实现过程实现过程:提供的安全机制提供的安全机制完整性完整性:这点由单向函数的不
32、可逆的特性保证。这点由单向函数的不可逆的特性保证。如果信息在传输过程中遭到窜改或破坏,接收如果信息在传输过程中遭到窜改或破坏,接收方方B根据接收到的报文还原出来的消息摘要不根据接收到的报文还原出来的消息摘要不同于用公钥解密得出的摘要,这样很好地保证同于用公钥解密得出的摘要,这样很好地保证数据传输的安全性。数据传输的安全性。认证认证:由于公钥与私钥是一一对应的。因此由于公钥与私钥是一一对应的。因此B用用发送方发送方A的公钥解密出来的摘要,其值与重新的公钥解密出来的摘要,其值与重新计算出的摘要一致,则该消息一定是由发送方计算出的摘要一致,则该消息一定是由发送方A发出。发出。不可否认性不可否认性:同
33、样也是根据公钥与私钥一一对同样也是根据公钥与私钥一一对应的关系,由于只有应的关系,由于只有A持有自己的私钥,其他持有自己的私钥,其他人不能假冒,故人不能假冒,故A无法否认他发送过该消息。无法否认他发送过该消息。数字信封数字信封 数字信封技术是用密码技术的手段保证只数字信封技术是用密码技术的手段保证只有规定的信息接受者才能获取信息的安全技术有规定的信息接受者才能获取信息的安全技术。它克服了秘密密钥加密中密钥分发的困难和公它克服了秘密密钥加密中密钥分发的困难和公开密钥加密中加密时间长的问题,它在外层使开密钥加密中加密时间长的问题,它在外层使用公开密钥加密技术,因而获得了公开密钥的用公开密钥加密技术
34、,因而获得了公开密钥的灵活性,同时在内层使用对称密钥技术,可以灵活性,同时在内层使用对称密钥技术,可以提高加密效率。而且便于在每次传送中使用不提高加密效率。而且便于在每次传送中使用不同的对称密钥,提供给系统额外的安全保证。同的对称密钥,提供给系统额外的安全保证。消息消息B的公钥的公钥对称加密对称加密消息密文消息密文密钥密文密钥密文生成数字信封生成数字信封发送方发送方A对称密钥对称密钥加密算法加密算法公钥加密公钥加密算法算法数字信封数字信封接受方接受方B 解开数字信封解开数字信封消息密文消息密文密钥密文密钥密文接受方接受方B 的私钥的私钥数字信封数字信封私钥解密私钥解密对称密钥对称密钥私钥解密私
35、钥解密消息消息PKI体系体系PKI的概念的概念数字证书数字证书PKI 基本结构基本结构PKI 的服务实体的服务实体CA信任模型信任模型PKI 相关协议相关协议PKI 相关标准相关标准概念概念 PKI即公钥基础设施它是在公钥密码理论即公钥基础设施它是在公钥密码理论和技术基础上建立起来的一种综合安全平台,和技术基础上建立起来的一种综合安全平台,通过第三方可信任机构通过第三方可信任机构认证机构认证机构(Certificate Authority,CA),把用户的公钥和用户的其它把用户的公钥和用户的其它标识信息标识信息(如姓名、如姓名、E-mail、身份证号等身份证号等)绑定绑定在一起,为网络用户、设
36、备提供信息安全服务在一起,为网络用户、设备提供信息安全服务的,具有普适性的信息安全基础设施。的,具有普适性的信息安全基础设施。PKI是是一种遵循既定标准的密钥管理平台,它可以为一种遵循既定标准的密钥管理平台,它可以为各种网络应用透明地提供采用加密和数字签名各种网络应用透明地提供采用加密和数字签名等密码服务所必须的密钥和证书管理,从而达等密码服务所必须的密钥和证书管理,从而达到保证网上传递信息的保密、真实、完整和不到保证网上传递信息的保密、真实、完整和不可否认性的目的。可否认性的目的。 利用利用PKI,人们方便地建立人们方便地建立和维护一个可信的网络计算环境,无须直接见和维护一个可信的网络计算环
37、境,无须直接见面就能确认彼此的身份,安全地进行信息交换。面就能确认彼此的身份,安全地进行信息交换。 数字证书数字证书 公钥密码体制实现了数字签名,并使密钥公钥密码体制实现了数字签名,并使密钥管理也变得容易实现起来。实体所拥有的公钥管理也变得容易实现起来。实体所拥有的公钥和其身份信息的一致性是整个和其身份信息的一致性是整个PKI得以实施的得以实施的基础,因此必须提供一种机制来保证公钥以及基础,因此必须提供一种机制来保证公钥以及与公钥相关的其他信息不被偷偷篡改,而且还与公钥相关的其他信息不被偷偷篡改,而且还需要一种把公钥和它的所有者绑定的机制,这需要一种把公钥和它的所有者绑定的机制,这种机制就是数
38、字证书。数字证书是整个种机制就是数字证书。数字证书是整个PKI得得以实施的基础。以实施的基础。 概念概念 数字证书类似于现实生活中的身份证。身数字证书类似于现实生活中的身份证。身份证将个人的身份信息份证将个人的身份信息(姓名、出生年月、地姓名、出生年月、地址和其他信息址和其他信息)同个人的可识别特性绑定在一同个人的可识别特性绑定在一起,它由国家权威机关起,它由国家权威机关(公安部公安部)签发。签发。 数字证书是由权威公正的第三方机构认数字证书是由权威公正的第三方机构认证证CA签发,并将证书持有者的身份信息和其签发,并将证书持有者的身份信息和其所拥有的公钥进行绑定的文件信息。以数字证所拥有的公钥
39、进行绑定的文件信息。以数字证书为核心的加密技术可以对网络上传输的信息书为核心的加密技术可以对网络上传输的信息进行加密、解密、数字签名和签名验证,确保进行加密、解密、数字签名和签名验证,确保网上信息传递的机密性、完整性,及实体身份网上信息传递的机密性、完整性,及实体身份的真实性、签名信息的不可否认性,从而保障的真实性、签名信息的不可否认性,从而保障网络应用的安全性。网络应用的安全性。证书信息证书信息 证书的版本标识证书的版本标识:描述证书的版本号,证书系描述证书的版本号,证书系统应用工具应该可以识别任何版本的证书,当统应用工具应该可以识别任何版本的证书,当使用扩展项的时候,建议使用使用扩展项的时
40、候,建议使用X.509v3;证书的序列号证书的序列号:序列号是序列号是CA给每一个证书分配给每一个证书分配的一个整数,它是特定的一个整数,它是特定CA签发的证书唯一代签发的证书唯一代码码(即发行者名字和序列号唯一标识一张证书即发行者名字和序列号唯一标识一张证书);证书有效期证书有效期:证书的有效期是时间间隔,在这证书的有效期是时间间隔,在这期间期间CA保证它将保证关于证书的情况的信息。保证它将保证关于证书的情况的信息。2049年以前的证书有效期以年以前的证书有效期以UTCTime类型编类型编码 ,码 , 2 0 5 0 年 后 的 , 证 书 的 有 效 日 期 以年 后 的 , 证 书 的
41、有 效 日 期 以Generalized Time类型编码类型编码;证书的扩展信息证书的扩展信息:扩展字段仅出现在扩展字段仅出现在X.509v3中,中,它为用户提供公开密钥和证书管理等级制度相它为用户提供公开密钥和证书管理等级制度相结合的附加属性的方法。结合的附加属性的方法。 证书颁发者信息证书颁发者信息颁发者颁发者:颁发者字段用来标识在证书上签名和颁发者字段用来标识在证书上签名和发行者的实体,颁发者字段含有一非空的能辨发行者的实体,颁发者字段含有一非空的能辨识出的名字识出的名字;颁发者唯一标识颁发者唯一标识:这个字段只出现在版本这个字段只出现在版本2或者或者版本版本3中,用来处理在超出有效时
42、间的主题或中,用来处理在超出有效时间的主题或者发行者名字再使用的可能性者发行者名字再使用的可能性;用来签名的算法标识符用来签名的算法标识符:这个算法是这个算法是CA在证书在证书上签名使用的算法,也可以用来判断上签名使用的算法,也可以用来判断CA对证对证书的签名是否符合所声明的算法书的签名是否符合所声明的算法;证书持有者信息证书持有者信息主体主体:用来标识证书使用者的可识别信息用来标识证书使用者的可识别信息;主体公钥主体公钥:使用这个字段作为携带公开密使用这个字段作为携带公开密钥和密钥使用算法的标识符。钥和密钥使用算法的标识符。证书所有者唯一标识符。证书所有者唯一标识符。PKI基本结构基本结构
43、一个完整的一个完整的PKI应具备以下功能应具备以下功能:根据根据X.509标准发放证书,产生密钥对,管理密钥标准发放证书,产生密钥对,管理密钥和证书。为用户提供和证书。为用户提供PKI服务,如用户安全登服务,如用户安全登录、增加和删除用户、恢复密钥、检验证书等。录、增加和删除用户、恢复密钥、检验证书等。 完整的完整的PKI系统包括认证机构系统包括认证机构(CA)、数字证书数字证书库、密钥备份及恢复系统、证书撤销处理系统库、密钥备份及恢复系统、证书撤销处理系统和和PKI应用接口系统,一般构建应用接口系统,一般构建PKI也是围绕也是围绕这五个系统进行的。这五个系统进行的。认证机构认证机构 认证机构
44、是整个认证机构是整个PKI的核心的核心,它主要的功它主要的功能有证书发放、证书更新、证书撤销和证书验能有证书发放、证书更新、证书撤销和证书验证。证。CA的核心功能就是发放和管理数字证书,的核心功能就是发放和管理数字证书,具体描述如下具体描述如下:接收验证最终用户数字证书的申请接收验证最终用户数字证书的申请;确定是否接受最终用户数字证书的申请确定是否接受最终用户数字证书的申请证书证书的审批的审批;向申请者颁发或拒绝颁发数字证书向申请者颁发或拒绝颁发数字证书证书的发证书的发放放;接受、处理最终用户的数字证书更新请求接受、处理最终用户的数字证书更新请求证证书的更新书的更新;接受最终用户数字证书的查询
45、、撤销接受最终用户数字证书的查询、撤销; 产生和发布证书注销列表产生和发布证书注销列表(CRL) 。 数字证书库数字证书库 证书库是证书库是CA颁发证书和撤销证书的存颁发证书和撤销证书的存放地,用户可以从此处获得其他用户的证放地,用户可以从此处获得其他用户的证书和公钥。构造证书库的最佳方法是采用书和公钥。构造证书库的最佳方法是采用支持支持LDAP协议的目录系统,用户或者相关协议的目录系统,用户或者相关的应用通过的应用通过LDAP来访问证书库。系统必须来访问证书库。系统必须确保证书库的完整性。确保证书库的完整性。 密钥备份和恢复系统密钥备份和恢复系统 因为某种原因用户可能丢失了解密数据的因为某种
46、原因用户可能丢失了解密数据的密钥,密钥的丢失将导致那些被密钥加密过的密钥,密钥的丢失将导致那些被密钥加密过的数据无法恢复而造成数据的丢失。为了避免这数据无法恢复而造成数据的丢失。为了避免这种情况的发生,种情况的发生,PKI提供了密钥备份与解密密提供了密钥备份与解密密钥的恢复机制,这就是密钥备份与恢复系统。钥的恢复机制,这就是密钥备份与恢复系统。 一个证书的生命周期主要包括三个阶段一个证书的生命周期主要包括三个阶段:证书证书初始化注册阶段、证书颁发阶段和取消阶段,初始化注册阶段、证书颁发阶段和取消阶段,密钥的备份和恢复就发生在初始注册阶段和证密钥的备份和恢复就发生在初始注册阶段和证书的颁发阶段。
47、书的颁发阶段。密钥备份密钥备份 用户在申请证书的初始阶段,如果注册声用户在申请证书的初始阶段,如果注册声明公明公/私钥对用于加密,出于对数据的机密性私钥对用于加密,出于对数据的机密性考虑,在初始化阶段,可信任的第三方机构考虑,在初始化阶段,可信任的第三方机构CA即可对该用户的密钥和证书进行备份。即可对该用户的密钥和证书进行备份。密钥恢复密钥恢复 密钥恢复功能发生在密钥管理生命周期的密钥恢复功能发生在密钥管理生命周期的颁发阶段,是对终端用户因为某种原因而丢失颁发阶段,是对终端用户因为某种原因而丢失的加密密钥给以恢复。这种恢复由可信任的密的加密密钥给以恢复。这种恢复由可信任的密钥恢复中心或钥恢复中
48、心或CA来完成。来完成。 密钥的恢复和密钥的备份一样,只适合于密钥的恢复和密钥的备份一样,只适合于用户的加密密钥,签名私钥不应备份,因为这用户的加密密钥,签名私钥不应备份,因为这样将影响到提供不可否认服务问题。样将影响到提供不可否认服务问题。 证书撤销处理证书撤销处理 证书注销列表证书注销列表(Certificate Revocation List. CRL) 中记录尚未过期但己声明作废的用中记录尚未过期但己声明作废的用户证书序列号,证书撤销是户证书序列号,证书撤销是PKI中非常重要的中非常重要的一个组件,作废证书通过将证书列入一个组件,作废证书通过将证书列入CRL来完来完成,供证书使用者在认
49、证对方证书时查询使用。成,供证书使用者在认证对方证书时查询使用。通常,系统中由通常,系统中由CA负责创建、更新及维护负责创建、更新及维护CRL 。 PKI应用接口系统应用接口系统 一个完整的一个完整的PKI必须提供良好的应用接口必须提供良好的应用接口系统,以便各种应用都能够以安全、一致、可系统,以便各种应用都能够以安全、一致、可信的方式与信的方式与PKI交互,确保所建立起来的网络交互,确保所建立起来的网络环境的可信性。环境的可信性。 它的主要功能是为所有应用对证书的合法它的主要功能是为所有应用对证书的合法性、密钥备份与恢复、证书作废处理、交叉证性、密钥备份与恢复、证书作废处理、交叉证书验证,提
50、供可信、透明、统一的支持。一个书验证,提供可信、透明、统一的支持。一个有效的有效的PKI系统必须是安全的和透明的。系统必须是安全的和透明的。PKI的服务实体的服务实体 实施实施PKI服务的实体概括起来分为管理实服务的实体概括起来分为管理实体、终端实体和证书库。管理实体是体、终端实体和证书库。管理实体是PKI的核的核心,是心,是PKI服务的提供者服务的提供者;终端实体是终端实体是PKI的用的用户,是户,是PKI服务的使用者服务的使用者;证书库是分布式数据证书库是分布式数据库,用于证书或证书注销列表的存放和检索,库,用于证书或证书注销列表的存放和检索,RFC2510定义的定义的PKI的实体模型如下