《《网络与信息安全(第二版)》PPT 第7章 PKI技术》由会员分享,可在线阅读,更多相关《《网络与信息安全(第二版)》PPT 第7章 PKI技术(26页珍藏版)》请在金锄头文库上搜索。
1、第7章 PKI技术,在网络通信中,需要确定通信双方的身份,这就需要身份认证技术。在信息安全的众多解决方案中,一般都要用到非对称密码技术,也就是说要用到公/私钥对。在双方甚至多方的通信过程中,通信的一方要使用其他通信方的公钥。关键的问题是如何确定通信方公钥的真实性,也就是说,如何将公钥与一个实体绑定在一起?这就需要公钥基础设施PKI。PKI通过一个可信的第三方对实体进行身份认证,并向其签发证书,将该实体与一个公钥绑定在一起。,7.1.1 公钥密码系统的问题 在李四用张三的公钥验证张三的数字签名的时候,有一个关键问题必须要解决。李四怎样得到张三的公钥?李四又怎样才能确定这个公钥的确是张三的,而不是
2、王五冒充的呢? 我们需要一个可信任的第三方,它负责验证所有人的身份,包括某些计算机设备的身份。它一定要信誉良好,它验证过的人和设备,我们就可以相信。这个第三方现在称为CA(Certificate Authority),CA首先认真检查所有人的身份,然后给他们颁发证书,当然这是数字证书。证书包括持有人的信息和他的公钥,还可以有其他更复杂的信息。关键的一点是证书不可被篡改,这由数字签名技术来保证。,7.1 PKI概述,7.1.2 PKI的概念、目的、实体构成和服务 PKI是利用公钥密码技术提供一套安全基础平台的技术和规范。从定义可以看出,PKI的目的是给用户提供安全服务的。,数字证书就是用户的身份
3、与之所持有的公钥的结合。在结合之前,由一个可信任的认证机构证书权威(CA)来证实用户的身份。然后由可信任的CA对该用户身份及对应公钥相结合的证书进行数字签名,用来证明证书的有效性。,7.2 证书权威(CA),7.2.1 CA的功能和组成 (1) 接收最终用户数字证书的申请。 (2) 确定是否接受最终用户数字证书的申请证书的审批。 (3) 向申请者颁发或者拒绝颁发数字证书证书的发放。 (4) 接收、处理最终用户的数字证书更新请求证书的更新。 (5) 接收最终用户数字证书的查询、撤销。 (6) 产生和发布证书撤销列表(CRL)。 (7) 数字证书的归档。 (8) 密钥归档。 (9) 历史数据归档。
4、,CA构成图,7.2.2 CA对用户证书的管理 一般地,用户公/私钥对有两大类用途: 1.用于数字签名:用户用私钥对消息进行数字签名,而消息的接收者使用用户的公钥对消息的数字签名进行验证。 2.用于加密信息:消息发送者使用接收者的公钥加密机密数据,接收者使用私钥解密数据。 签名私钥绝对不能在CA做备份和存档。为了防止私钥丢失时无法解密数据,解密私钥应该在CA进行备份和存档,,现在,一般利用浏览器申请证书,用户利用浏览器申请证书的具体过程为: 1.访问CA的网站,打开一个Web页面。 2.填写信息时重要的一项是选择密钥生成方式。用户可以选择密钥托管或不托管。 3.RA检查申请信息并且开始验证用户
5、提供的身份信息。 4.当CA接收到RA的申请时,它根据证书操作管理规范定义的颁发规则制作证书。 5.生成的证书返还给用户。 6.如果用户自己生成密钥对,他还需将返回的证书和先前生成的私钥对应起来。这需要运行一个程序将证书和私钥建立起关联。,用户提出证书撤销的一般原因如下: 1.密钥泄密:证书对应的私钥泄密。 2.从属变更:某些关于证书的信息变更,如机构从属变更等。 3.终止使用:该密钥对已不再用于原用途。 CA根据与证书持有人的协议,可由于以下原因主动撤销证书: 1.知道或者有理由怀疑证书持有人私钥已经被破坏,或者证书细节不真实、不可信。 2.证书持有者没有履行其职责。 3.证书持有者死亡、违
6、反电子交易规则或者已经被判定犯罪。 4.CA本身原因:由于CA系统私钥泄密。,7.2.3 密码硬件简介 密码硬件可以分为三类:一是智能卡、USB Key等小型设备;二是加密卡等中型设备;三是加密机等大型设备。这三类硬件设备的共同特点有两个,一是防篡改,如果丢失或被盗,恶意攻击者无法读出里面的敏感信息,如密钥;二是在正常使用过程中,里面存储的密钥等机密信息不被读出,操作时需将数据输入硬件设备,硬件设备加密或签名后再输出。这就保证了机密信息的安全。,数字证书类似于现实生活中的个人身份证。身份证将个人的身份信息(姓名、出生年月日、地址和其他信息)同个人的可识别特征(照片或者指纹)绑定在一起。个人身份
7、证是由国家权威机关(公安部)签发的。因此身份证可以用来验证持有者的合法身份信息。同样,公钥证书是将证书持有者的身份信息和其所拥有的公钥进行绑定的文件。证书文件还包含签发该证书的权威机构认证中心CA对该证书的签名。,7.3 数字证书和CRL,7.3.1 ASN.1概述 ASN.1(Abstract Syntax Notation One)意为抽象语法符号一号,由ITU的X.208标准定义。理解ASN.1 对于理解PKCS等密码标准起着至关重要的作用。它主要讨论如何将高层协议安排好的数据以二进制形式写到磁盘上,或者送到网络上。其主要目的是描述一种数据结构,而这种数据结构是高度抽象的,与任何软件、硬
8、件都没有关系;然后再用某种编码方法将其编为二进制串。,7.3.2 X.509证书 X.509证书基本结构 Certificate := SEQUENCE tbsCertificate TBSCertificate, signatureAlgorithm AlgorithmIdentifier, signature BIT STRING TBSCertificate := SEQUENCE version 0 Version DEFAULT v1(0), serialNumber CertificateSerialNumber, signature AlgorithmIdentifier, is
9、suer Name, validity Validity, subject Name, subjectPublicKeyInfo SubjectPublicKeyInfo, issuerUniqueID 1 IMPLICIT UniqueIdentifier OPTIONAL, subjectUniqueID 2 IMPLICIT UniqueIdentifier OPTIONAL, extensions 3 Extensions OPTIONAL Version := INTEGER v1(0), v2(1), v3(2) ,CertificateSerialNumber := INTEGE
10、R Validity := SEQUENCE notBefore Time, notAfter Time Time := CHOICE utcTime UTCTime, generalTime GeneralizedTime UniqueIdentifier := BIT STRING SubjectPublicKeyInfo := SEQUENCE algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING Extensions := SEQUENCE OF Extension Extension := SEQUENCE extnID
11、 OBJECT IDENTIFIER, critical BOOLEAN DEFAULT FALSE, extnValue OCTET STRING ,查看Windows中的证书,7.3.3 证书撤销列表与在线证书状态协议 证书撤销列表 证书撤销列表CRL是Certificate Revocation List的缩写,意为证书撤销列表。这是所有已被撤销证书的名单。CRL由发布CRL的CA进行签名,以保证列表不能被修改。CRL通常与证书同时公布在一个目录中。证书用户在验证证书时从目录中下载CRL,并查询列表寻找被验证的证书序列号。CRL中只包含未出有效期而被撤销的证书,那些已超出有效期而自动失效
12、的证书不会出现在CRL中。,在线证书状态协议(OCSP) 下载CRL来验证证书是否已经撤销。这种方案有两个缺点,一是CRL不是实时的,二是CRL较大。 CRL是几乎二十年前的概念,那时互联网还不普及,很少用户能做到随时在线,只能靠本机中存储的CRL来验证证书。 现在互联网已经普及,每个人都能做到随时在线。我们能通过互联网实时地向CA查询某个证书的状态,这就是在线证书状态协议(Online Certificate Status Protocol,OCSP)。 1999年发布的RFC 2560定义了OCSP。用户向CA的OCSP服务器发送一个OCSP请求,指明要验证的证书,OCSP服务器则回复一个
13、OCSP响应,指出该证书的状态。,7.3.4 密码操作开发工具 编制程序进行证书及其他密码操作是非常复杂的。以制作证书为例,得到用户相关数据后,先需要调用DER编码器编码,然后对编码后的证书签名。签名过程同样复杂,首先要确定签名算法,再获得CA私钥,运行签名程序。 目前,密码函数接口有好几种,相互之间并不兼容。现在主流的密码函数接口有PKCS#11、MSCSP、JCE等。,7.4.1 证书验证方法 证书验证是确定证书在某一时刻是否有效以及确认它能否符合用户意图的过程。它包括以下内容: 1.证书是否包含一个有效的数字签名。 2.颁发者(CA)的公开密钥是否有效,是否可以用来验证证书上的数字签名。
14、 3.当前使用证书的时间是否在证书的有效期内。 4.证书(或其对应的密钥)是否用于最初签发它的目的。 5.检查证书撤销列表CRL或利用OCSP协议,验证证书是否被撤销。,7.4 信任模型,7.4.2 信任模型 层次模型,对等模型,网状模型 李四(他只信任CA4)如何验证张三的证书?可以构造一条验证路径:CA4-CA1-CA2-CA3-张三。张三(他只信任CA3)可利用如下路径来验证李四的证书:CA3-CA6-CA5-CA4-李四。,混合模型,7.4 软件防篡改,从网上下载可执行的软件后,由于可执行的软件可以在用户的计算机上做任何事情,用户如何相信它是无害的呢?首先要看它的生产商,大公司的软件可以信赖。可是如果黑客用自己的软件冒充大公司的软件,或者篡改大公司的软件,企图危害用户时怎么办?软件生产商对软件数字签名可以解决这个问题。,小结,PKI通过一个可信的第三方对实体进行身份认证,并向其签发证书,将该实体与一个公钥绑定在一起,其内容十分广泛。本章首先介绍了PKI的概念和构成,然后详细讨论了CA,包括CA的功能和组成、CA对用户证书的管理、密码硬件简介、商用CA产品。详细讨论了数字证书,包括ASN.1语法概述、X.509证书基本结构、CRL与在线证书状态协议、密码操作开发工具。简单讨论了几种信任模式,包括层次模型、对等模型和网状模型。,