您好,欢迎访问三七文档
NetworkandInformationSecurity1第7章PKI技术第7章PKI技术NetworkandInformationSecurity2第7章PKI技术在网络通信中,需要确定通信双方的身份,这就需要身份认证技术。在信息安全的众多解决方案中,一般都要用到非对称密码技术,也就是说要用到公/私钥对。在双方甚至多方的通信过程中,通信的一方要使用其他通信方的公钥。关键的问题是如何确定通信方公钥的真实性,也就是说,如何将公钥与一个实体绑定在一起?这就需要公钥基础设施PKI。PKI通过一个可信的第三方对实体进行身份认证,并向其签发证书,将该实体与一个公钥绑定在一起。NetworkandInformationSecurity3第7章PKI技术7.1.1公钥密码系统的问题在李四用张三的公钥验证张三的数字签名的时候,有一个关键问题必须要解决。李四怎样得到张三的公钥?李四又怎样才能确定这个公钥的确是张三的,而不是王五冒充的呢?我们需要一个可信任的第三方,它负责验证所有人的身份,包括某些计算机设备的身份。它一定要信誉良好,它验证过的人和设备,我们就可以相信。这个第三方现在称为CA(CertificateAuthority),CA首先认真检查所有人的身份,然后给他们颁发证书,当然这是数字证书。证书包括持有人的信息和他的公钥,还可以有其他更复杂的信息。关键的一点是证书不可被篡改,这由数字签名技术来保证。7.1PKI概述NetworkandInformationSecurity4第7章PKI技术7.1.2PKI的概念、目的、实体构成和服务PKI是利用公钥密码技术提供一套安全基础平台的技术和规范。从定义可以看出,PKI的目的是给用户提供安全服务的。证书certificate发布并管理申请证书证书权威CertificateAuthority用户安全策略安全策略使用NetworkandInformationSecurity5第7章PKI技术数字证书就是用户的身份与之所持有的公钥的结合。在结合之前,由一个可信任的认证机构——证书权威(CA)来证实用户的身份。然后由可信任的CA对该用户身份及对应公钥相结合的证书进行数字签名,用来证明证书的有效性。7.2证书权威(CA)NetworkandInformationSecurity6第7章PKI技术7.2.1CA的功能和组成(1)接收最终用户数字证书的申请。(2)确定是否接受最终用户数字证书的申请——证书的审批。(3)向申请者颁发或者拒绝颁发数字证书——证书的发放。(4)接收、处理最终用户的数字证书更新请求——证书的更新。(5)接收最终用户数字证书的查询、撤销。(6)产生和发布证书撤销列表(CRL)。(7)数字证书的归档。(8)密钥归档。(9)历史数据归档。NetworkandInformationSecurity7第7章PKI技术CA构成图目录服务器CA服务器管理控制台加密机Web服务器InternetNetworkandInformationSecurity8第7章PKI技术7.2.2CA对用户证书的管理一般地,用户公/私钥对有两大类用途:1.用于数字签名:用户用私钥对消息进行数字签名,而消息的接收者使用用户的公钥对消息的数字签名进行验证。2.用于加密信息:消息发送者使用接收者的公钥加密机密数据,接收者使用私钥解密数据。签名私钥绝对不能在CA做备份和存档。为了防止私钥丢失时无法解密数据,解密私钥应该在CA进行备份和存档,NetworkandInformationSecurity9第7章PKI技术现在,一般利用浏览器申请证书,用户利用浏览器申请证书的具体过程为:1.访问CA的网站,打开一个Web页面。2.填写信息时重要的一项是选择密钥生成方式。用户可以选择密钥托管或不托管。3.RA检查申请信息并且开始验证用户提供的身份信息。4.当CA接收到RA的申请时,它根据证书操作管理规范定义的颁发规则制作证书。5.生成的证书返还给用户。6.如果用户自己生成密钥对,他还需将返回的证书和先前生成的私钥对应起来。这需要运行一个程序将证书和私钥建立起关联。NetworkandInformationSecurity10第7章PKI技术用户提出证书撤销的一般原因如下:1.密钥泄密:证书对应的私钥泄密。2.从属变更:某些关于证书的信息变更,如机构从属变更等。3.终止使用:该密钥对已不再用于原用途。CA根据与证书持有人的协议,可由于以下原因主动撤销证书:1.知道或者有理由怀疑证书持有人私钥已经被破坏,或者证书细节不真实、不可信。2.证书持有者没有履行其职责。3.证书持有者死亡、违反电子交易规则或者已经被判定犯罪。4.CA本身原因:由于CA系统私钥泄密。NetworkandInformationSecurity11第7章PKI技术7.2.3密码硬件简介密码硬件可以分为三类:一是智能卡、USBKey等小型设备;二是加密卡等中型设备;三是加密机等大型设备。这三类硬件设备的共同特点有两个,一是防篡改,如果丢失或被盗,恶意攻击者无法读出里面的敏感信息,如密钥;二是在正常使用过程中,里面存储的密钥等机密信息不被读出,操作时需将数据输入硬件设备,硬件设备加密或签名后再输出。这就保证了机密信息的安全。NetworkandInformationSecurity12第7章PKI技术数字证书类似于现实生活中的个人身份证。身份证将个人的身份信息(姓名、出生年月日、地址和其他信息)同个人的可识别特征(照片或者指纹)绑定在一起。个人身份证是由国家权威机关(公安部)签发的。因此身份证可以用来验证持有者的合法身份信息。同样,公钥证书是将证书持有者的身份信息和其所拥有的公钥进行绑定的文件。证书文件还包含签发该证书的权威机构认证中心CA对该证书的签名。7.3数字证书和CRLNetworkandInformationSecurity13第7章PKI技术7.3.1ASN.1概述ASN.1(AbstractSyntaxNotationOne)意为抽象语法符号一号,由ITU的X.208标准定义。理解ASN.1对于理解PKCS等密码标准起着至关重要的作用。它主要讨论如何将高层协议安排好的数据以二进制形式写到磁盘上,或者送到网络上。其主要目的是描述一种数据结构,而这种数据结构是高度抽象的,与任何软件、硬件都没有关系;然后再用某种编码方法将其编为二进制串。NetworkandInformationSecurity14第7章PKI技术7.3.2X.509证书X.509证书基本结构Certificate::=SEQUENCE{tbsCertificateTBSCertificate,signatureAlgorithmAlgorithmIdentifier,signatureBITSTRING}TBSCertificate::=SEQUENCE{version[0]VersionDEFAULTv1(0),serialNumberCertificateSerialNumber,signatureAlgorithmIdentifier,issuerName,validityValidity,subjectName,subjectPublicKeyInfoSubjectPublicKeyInfo,issuerUniqueID[1]IMPLICITUniqueIdentifierOPTIONAL,subjectUniqueID[2]IMPLICITUniqueIdentifierOPTIONAL,extensions[3]ExtensionsOPTIONAL}Version::=INTEGER{v1(0),v2(1),v3(2)}NetworkandInformationSecurity15第7章PKI技术CertificateSerialNumber::=INTEGERValidity::=SEQUENCE{notBeforeTime,notAfterTime}Time::=CHOICE{utcTimeUTCTime,generalTimeGeneralizedTime}UniqueIdentifier::=BITSTRINGSubjectPublicKeyInfo::=SEQUENCE{algorithmAlgorithmIdentifier,subjectPublicKeyBITSTRING}Extensions::=SEQUENCEOFExtensionExtension::=SEQUENCE{extnIDOBJECTIDENTIFIER,criticalBOOLEANDEFAULTFALSE,extnValueOCTETSTRING}NetworkandInformationSecurity16第7章PKI技术查看Windows中的证书NetworkandInformationSecurity17第7章PKI技术7.3.3证书撤销列表与在线证书状态协议证书撤销列表证书撤销列表CRL是CertificateRevocationList的缩写,意为证书撤销列表。这是所有已被撤销证书的名单。CRL由发布CRL的CA进行签名,以保证列表不能被修改。CRL通常与证书同时公布在一个目录中。证书用户在验证证书时从目录中下载CRL,并查询列表寻找被验证的证书序列号。CRL中只包含未出有效期而被撤销的证书,那些已超出有效期而自动失效的证书不会出现在CRL中。NetworkandInformationSecurity18第7章PKI技术在线证书状态协议(OCSP)下载CRL来验证证书是否已经撤销。这种方案有两个缺点,一是CRL不是实时的,二是CRL较大。CRL是几乎二十年前的概念,那时互联网还不普及,很少用户能做到随时在线,只能靠本机中存储的CRL来验证证书。现在互联网已经普及,每个人都能做到随时在线。我们能通过互联网实时地向CA查询某个证书的状态,这就是在线证书状态协议(OnlineCertificateStatusProtocol,OCSP)。1999年发布的RFC2560定义了OCSP。用户向CA的OCSP服务器发送一个OCSP请求,指明要验证的证书,OCSP服务器则回复一个OCSP响应,指出该证书的状态。NetworkandInformationSecurity19第7章PKI技术7.3.4密码操作开发工具编制程序进行证书及其他密码操作是非常复杂的。以制作证书为例,得到用户相关数据后,先需要调用DER编码器编码,然后对编码后的证书签名。签名过程同样复杂,首先要确定签名算法,再获得CA私钥,运行签名程序。目前,密码函数接口有好几种,相互之间并不兼容。现在主流的密码函数接口有PKCS#11、MSCSP、JCE等。NetworkandInformationSecurity20第7章PKI技术7.4.1证书验证方法证书验证是确定证书在某一时刻是否有效以及确认它能否符合用户意图的过程。它包括以下内容:1.证书是否包含一个有效的数字签名。2.颁发者(CA)的公开密钥是否有效,是否可以用来验证证书上的数字签名。3.当前使用证书的时间是否在证书的有效期内。4.证书(或其对应的密钥)是否用于最初签发它的目的。5.检查证书撤销列表CRL或利用OCSP协议,验证证书是否被撤销。7.4信任模型NetworkandInformationSecurity21第7章PKI技术7.4.2信任模型层次模型根CA子CA子CA终端用户终端用户终端用户终端用户NetworkandInformationSecurity22第7章PKI技术对等模型CA1CA2李四张三NetworkandInformationSecurity23第7章PKI技术网状模型李四(他只信任CA4)如何验证张三的证书?可以构造一条验证路径:CA4-CA1-CA2-CA3-张三。张三(他只信任CA3)可利用如下路径来验证李四的证书:CA3-CA6-CA5-CA4-李四。CA1CA4CA2CA5CA3CA6张三李四Networkand
本文标题:第7章 PKI技术
链接地址:https://www.777doc.com/doc-3404735 .html