密码学及安全应用6汇总_第1页
密码学及安全应用6汇总_第2页
密码学及安全应用6汇总_第3页
密码学及安全应用6汇总_第4页
密码学及安全应用6汇总_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章数字证书和PKI目录6.1数字证书6.2数字证书的功能6.3公钥基础设施PKI6.4个人数字证书的申请和使用为什么需要数字证书公钥的分发虽然不需要保密,但需要保证公钥的真实性就好像银行的客服电话,虽然不需要保密,但需要保证真实性本章介绍的数字证书和公钥基础设施PKI就是为了实现在公钥分发过程中确保公钥的真实性。数字证书数字证书的概念:Kohnfelder于1978年提出的所谓数字证书,就是公钥证书,是一个包含有用户身份信息、用户公钥以及一个可信第三方认证机构CA的数字签名的数据文件提示:数字证书其实就是一个小的计算机文件tang.cer数字证书我以官方名义正式批准该证书持有者(用户)与他的这个公钥之间存在关联。某某CA认证中心该CA的数字签名数字证书主体名:tang公钥:tang的公钥序列号:1069102签发机构:ACA……有效起始日期:2010年7月7日有效终止日期:2011年7月7日某某CA认证中心该CA的数字签名

数字证书的直观概念身份证项目数字证书项目姓名主体名身份证号序列号起始日期相同终止日期相同签发者发证机构照片公钥签章数字签名数字证书和身份证的比较如何建立主体与其公钥的关联数字证书,是一个由使用数字证书的用户群所公认和信任的权威机构(CA)签署了其数字签名的信息集合。主体将其身份信息和公钥以安全的方式提交给CA认证中心,CA用自己的私钥对主体的公钥和身份ID的混合体进行签名,将签名信息附在公钥和身份ID等信息后,这样就生成了一张证书,它主要由公钥、身份ID和CA的签名三部分组成,证书的生成原理主体身份信息主体公钥值认证机构名认证机构的数字签名生成数字签名数字证书认证机构的私钥散列CA的计算机用户的计算机数字证书的生成过程产生密钥主体名私钥公钥CA的公钥CA的私钥签名证书证书的生成过程1.密钥对的生成用户可以使用某种软件随机生成一对公钥/私钥对2.注册机构RA验证RA要验证用户的身份信息,是否合法并有资格申请证书,如果用户已经在该CA申请过证书了,则不允许重复申请。其次,必须检查用户持有证书请求中公钥所对应的私钥,这样可表明该公钥确实是用户的数字证书的验证过程①首先证书必须是真实的,而没有被篡改或伪造。如果一张证书经验证发现是伪造的,我们肯定不会信任它了。②其次颁发证书的机构必须是某个可以信任的权威机构,如果一家小店颁发身份证,即算这个证书是真实的(确实是该小店颁发的),我们也不会信任它数字证书的验证过程(1)验证该数字证书是否真实有效。(2)检查颁发该证书的CA是否可以信任如果验证者收到李四的数字证书,发现李四的证书和他的证书是同一CA颁发的,则验证者可以信任李四的证书,因为验证者信任自己的CA,而且已经知道自己CA的公钥,可以用该公钥去验证李四的证书但如果李四的数字证书是另一个CA颁发的,验证者怎么验证颁发李四证书的CA是否可信呢?这就要通过验证该证书的证书链来解决证书的层次结构根CA二级CA(A1)二级CA(A2)二级CA(A3)三级CA(B1)三级CA(B2)三级CA(B8)三级CA(B9)…………证书的路径用户的证书上级CA的证书CA的证书主体身份信息主体公钥值认证机构名CA的签名主体身份信息主体公钥值认证机构名CA的签名主体身份信息主体公钥值认证机构名CA的签名证书路径验证的意义如果所有级别的证书验证都通过,就可以断定李四的证书确实是从根CA一级一级认证下来从而是可信的。这是因为:①用户的证书验证通过就表明该证书是真实可信的,前提是颁发该证书的CA可信。②一个CA的证书验证通过就表明该CA是合法可信的,前提是它的上级CA可信。因此,在根CA可信的前提下,所有CA和用户的证书验证通过就意味着所有CA是合法可信的,并且用户的证书也是真实可信的。但是怎么验证根CA?根CA的验证。根CA证书是一种自签名(Self-signedcertificate)证书,即根CA对自己的证书签名,因此这个证书的颁发者名和主体名都指向根CA,数字证书……主体名:Root颁发者名:Root……图4.7自签名证书证书的交叉认证如果A和B两方在不同的国家,他们的证书连根CA都不相同,那他们怎样验证对方证书的颁发机构是否可信呢?这就需要使用交叉证书(Cross-certification)进行认证。即根CA之间互相给对方颁发证书提示:如果两个证书的根CA不相同,并且它们的根CA之间也没有进行任何形式的交叉认证,即这两个根CA之间没有任何联系,在这种情况下双方是无法认证对方证书的有效性的,这时只能由用户主观选择是否信任对方的证书。数字证书的内容和格式主体的公钥信息版本号证书序列号签名算法标识符证书颁发者(认证机构CA)的X.500名称有效期主体的X.500名称算法标识符公钥值认证机构的数字签名生成数字签名X.509格式证书认证机构的私钥散列X.500目录系统简介一个X.500目录由一系列目录项组成。每个目录项对应一个现实世界中的对象。X.500每个对象都有一个无二义性的名称,称为区别名(distinguishedname,DN)。对象的目录项中包含了有关该对象的一系列属性值。为支持无二义性命名的需要,所有的X.500目录项在逻辑上被组织成一种树型结构,称为目录信息树(directoryinformationtree,DIT)。目录信息树有一个概念上的根节点和数目不限的非根节点。除了根节点,所有节点都属于其他节点。除根节点外,每个节点都对应于一个目录项,并有一个区别名。根节点的区别名为空数字证书的类型1.客户端(个人)数字证书2.服务器证书(站点证书)3.安全邮件证书4.代码签名证书4.1数字证书4.2数字证书的功能4.3公钥基础设施PKI4.4个人数字证书的申请和使用目录数字证书的功能用来分发公钥

由于数字证书可以用来分发公钥,因此可以利用证书中的公钥及其对应的私钥进行加密和签名作为主体的身份证明

使用证书进行加密①甲方准备好要传送给乙方的信息(明文);②甲获取乙的数字证书,并验证该证书有效后,用乙方证书中的公钥加密信息(密文);③乙方收到加密的信息后,用自己证书对应的私钥解密密文,得到明文信息。当然,如果明文数据量很大,可以结合数字信封的方式来加密,即甲方只用公钥来加密一个对称密钥,再用对称密钥加密明文信息。使用证书进行签名①甲方准备好要传送给乙方的信息(明文);②甲对该信息进行Hash运算,得到一个消息摘要;③甲用自己证书对应的私钥对消息摘要进行加密得到甲的数字签名,并将其附在信息后;④甲方将附带有数字签名的信息传送给乙方(同时也可以把自己的数字证书一起发给乙方);⑤乙方收到后,对甲方的数字证书进行验证,如果有效,就用甲方证书中的公钥解密数字签名使用证书同时进行签名和加密

①甲方准备好要传送给乙方的信息(明文);②甲对该信息进行Hash运算,得到一个消息摘要;③甲用自己证书对应的私钥对消息摘要进行加密得到甲的数字签名,并将其附在信息后;④甲获取乙的数字证书,并验证该证书有效后,用乙方证书中的公钥加密信息和签名的混合体;⑤乙方收到加密的数据后,用自己证书对应的私钥解密密文,得到信息和数字签名的混合体;⑥乙方获取甲方的数字证书,并验证该证书有效后,就用甲方证书中的公钥解密数字签名,得到一个消息摘要,再对明文信息求消息摘要提示虽然数字证书里只包含了公钥,但数字证书必须与其对应的私钥配合,才能实现各种功能。数字证书和私钥的关系有点像锁和钥匙的关系虽然锁里面没有包含钥匙,但是锁必须和钥匙配合使用,一把没有了钥匙的锁是没有任何用处的。数字证书进行身份认证的引例监考老师验证考生身份利用数字证书进行身份认证监考老师验证考生身份过程通常分两步进行:第一步,验证考生的证件是否是真实的;第二步,如果证件是真实的,再验证该证件是否是考生本人的(如通过比对容貌),防止假人用真证。利用数字证书进行身份认证的思路和监考老师验证考生身份的过程很相似。首先验证申请者的证书是否真实有效,然后再验证申请者是否是该证书的拥有者进行身份认证的方式①甲方产生一条数据消息M(该消息有固定的格式),并用自己证书对应的私钥加密该消息,得到密文ESKA(M);②甲方将自己的证书和密文ESKA(M)发送给乙方;③乙方收到后,首先验证证书的真伪及有效性,验证过程包括用颁发该证书的CA的公钥验证证书的签名,再验证证书链,有效期等,如前所述;④证书验证通过后,乙方用甲方证书中的公钥解密密文ESKA(M),如果解密成功,则表明甲方拥有该证书对应的私钥,是该证书的拥有者,身份验证通过。

X.509单向认证上述验证过程实现了用数字证书进行身份认证,但不能抵抗重放攻击,攻击者可以截获消息ESKA(M),过一会再重放给验证者。为了对抗重放攻击,甲方产生的一条数据消息中应该有一个时间戳tA、一个随机数rA以及B的身份标识IDB这种方式就称为X.509单向认证。X.509认证三向认证的过程A甲方B乙方(1)A{tA,rA,B,signData,EKUB(Kab)}(2)B{tB,rB,A,rA,signData,EKUA(Kab)}(3)A{rB}认证消息中各元素的作用时间戳保护报文生成的时间和过期时间,主要用于防止报文的延迟。随机数rA用于保证报文的时效性和检测重放攻击,它在报文有效期内必须是唯一的,如果验证者收到的报文中的随机数与以前收到的随机数是相同的,就认为该报文是重放消息,B的身份标识IDB用于防止攻击者截获甲方发送给其他方的认证消息,再转发给乙。

数字证书进行身份认证的特点既然身份认证可以通过口令(共享秘密)等方式实现。那为什么还需要利用数字证书来进行身份认证呢?这是因为通过共享秘密的方式只能在小范围内实现认证,因为你不可能同时和很多人共享秘密,而且与你共享秘密的人必须在以前有过某种意义上的接触,否则你们怎么能够共享秘密呢?

口令机制和数字证书的比较而通过数字证书则能够实现证书持有者得到在大范围的身份认证,而且不要求他曾经和认证方有过接触,只要某人持有数字证书,就能够让所有以前与他从未有过接触的实体认证他,这就像我们持有身份证可以在全国范围内得到身份认证一样。

共享密钥(如口令数字证书认证的依据用户所知道的某种信息用户所拥有的某种物品实施认证的条件认证双方之前必须有过接触不需要任何意义上的接触所能获得认证的范围小范围大范围4.1数字证书4.2数字证书的功能4.3公钥基础设施PKI4.4个人数字证书的申请和使用目录公钥基础设施(PKI)公钥基础设施(PublicKeyInfrastructure)通常简称PKI。所谓PKI就是一个以公钥技术为基础的,提供和实施安全服务的具有普适性的安全基础设施。PKI是一种提供信息安全服务的基础设施,旨在从技术上解决网上身份认证、信息的完整性和不可抵赖性等安全问题,为诸如电子商务、电子政务、网上银行和网上证券等各种具体应用提供可靠的安全服务的基础设施。从技术实现上来看:PKI是以公钥密码体制为理论基础,以CA认证机构为核心,以数字证书为工具来提供安全服务功能的。PKI的核心——CA认证机构CA(CertificateAuthority),又叫做认证中心,是电子商务安全中的关键环节,也是电子交易中信赖的基础1.发放证书2.撤销证书证书作废列表CRL(CertificateRevocationList)3.证书管理注册机构——RA由于认证机构CA的任务很多,如签发新证书、维护旧证书、撤销因故无效的证书等,因此可以将受理证书申请的工作转交给第三方:注册机构RA(RegistrationAuthority)。作为CA发放、管理证书的延伸,RA负责证书申请者的信息录入、审核以及证书发放等工作。最终用户最终用户最终用户注册机构(RA)认证机构(CA)注册机构RA通常提供下列服务接收与验证最终用户的注册信息;为最终用户生成密钥(可选);接收与授权密钥备份与恢复请求;接收与授权证书撤销请求。数字证书库数字证书库(CertificateRepository,CR)是CA颁发证书和撤销证书的集中存放地,是网上的一种公共信息库,供广大公众进行开放式查询。证书库通过目录技术实现网络服务,常用的目录技术是LDAP。1)存储证书。证书库存储证书并形成目录系统以供查询。(2)提供证书。根据证书信任方的请求,证书库提供所需证书的副本。目前,很多厂商都支持LDAP协议,提供证书查询。(3)确认证书状态。PKI的基本组成认证机构(CA)密钥备份及恢复系统证书作废系统(CRL)应用程序接口(API)数字证书库PKI的基本组成PKI的信任模型要实现各PKI体系间的互相通信,最可行的办法是在多个独立运行的CA之间实行交叉认证,交叉认证提供了一种解决CA之间互相信任的机制信任模型主要阐述了以下几个问题:一个PKI用户能够信任的证书是怎样被确定的?这种信任是怎样建立的?在一定的环境下,这种信任如何被控制?信任模型的相关概念信任信任锚(Trustanchor)信任域(Trustdomain)信任关系信任路径(Trustpath)PKI的信任模型分类(1)树型层次信任模型(2)网状信任模型(3)桥信任模型锚CA1锚CA4锚CA3锚CA2P3P6P4P5P2P1锚CA1锚CA2锚CA3桥CAP5P6P2P4P1P3图4.13网状信任模型 图4.14桥信任模型PKI的技术标准标准内容PKCS#1定义RSA公钥算法的加密和签名机制,主要用于组织PKCS#7中描述的数字签名和数字信封PKCS#3定义Diffie-Hellman密钥加密算法PKCS#5描述一种利用从口令派生出安全密钥加密字符串的方法。这主要用于加密从网络上传输的私钥,不能用于加密信息PKCS#6描述公钥证书的标准语法PKCS#7定义一种通用的消息语法,包括数字签名和加密等用于增强的加密机制PKCS#10描述证书请求语法PKCS#12描述个人信息交换语法标准,用于将用户公钥、私钥、证书等相关信息打包4.1数字证书4.2数字证书的功能4.3公钥基础设施PKI4.4个人数字证书的申请和使用目录申请支付宝数字证书证书下载提示安装证书提示查看数字证书在IE浏览器中,单击“工具”菜单项中的“Internet选项”

个人数字证书列表证书的详细信息由于该证书是用户本人的,因此在图可看到用户有一个与该证书对应的私钥。如果是用户在和CA通信过程中,获取到的CA的证书,则用户计算机中没有该CA证书对应的私钥。查看证书路径证书的导入和导出证书安装以后,我们就可以在本机上使用数字证书提供的各种功能了。但有时可能需要在其他计算机上使用这个数字证书,这时就需要将证书从本机中导出成一个文件,再在其他计算机上导入该证书文件。另外,重新安装操作系统之前也需要将证书导出作为备份,避免证书丢失。将私钥一起导出证书导出文件格式对话框pfx(PersonalInformationExchange,个人信息交换)文件包含一个证书和与之对应的私钥,它是PKCS#12号标准定义的为存储和传输用户或服务器私钥、公钥和证书指定的一种可移植的格式,简单的说就是将证书和私钥一起打包存储的文件。口令保护私钥利用口令保护私钥是PKCS#5定义的一套标准。通常,证书对应的私钥有三种保存方法:其一是用口令加密保存,其二是将口令保存到单独的存储设置(如智能卡)中,其三是将私钥存储到数字证书的服务器上。其中第二种方法的安全性最高,像网上银行使用的U盾实际上就是一种保存证书对应的私钥的设备导出完成导出之后就可以看到文件夹里多了一个“支付宝.pfx”文件。这样就完成了对证书及其私钥的备份。导入证书在证书导入向导的步骤中,会要求用户输入保护私钥的口令,如图所示,这个口令就是导出证书时输入的保护私钥的口令。接下来还必须把“标志此密钥为可导出的”的勾选上,这样以后还可以将私钥连同证书再次导出利用数字证书实现安全电子邮件点击“创建邮件”按钮创建一封新邮件,将弹出创建新邮件的窗口,在“工具”菜单中选择“选择收件人”。点击“新建联系人”,在电子邮件地址中输入对方的地址,然后单击“添加”电子邮件的安全性是很低的其一是通过电子邮件传输协议SMTP传输的邮件内容是未加密的,攻击者可以通过线路窃听窃取邮件的内容;其二,电子邮件的地址是可以伪造的,创建加密邮件邮件已经加密的提示Outlook的“帐户”面板邮件帐户的“安全”选项卡选择证书的选项卡同时对邮件进行签名和加密如果按照上述步骤既设置了发件人的证书,又设置了收件人的证书,就可以把上述两种方案结合起来,创建同时签名并加密的电子邮件,这样就保证该电子邮件的机密性、完整性和不可否认性。数字证书的应用小结

使用数字证书进行邮件的加密和签名只是数字证书的一个应用而已。实际上,很多软件都支持数字证书,如Foxmail、Word、AdobeReader等,因此还可以用数字证书加密Word文档或PDF文档等。在后面将介绍的SSL协议、SET协议、VPN技术中,数字证书不仅可用来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论