下载此文档

数字证书及其认证过程.doc


文档分类:资格/认证考试 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
该【数字证书及其认证过程 】是由【雨林书屋】上传分享,文档一共【8】页,该文档可以免费在线阅读,需要了解更多关于【数字证书及其认证过程 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。数字证书及其认证过程众所周知,公钥密码学通过使用公钥和私钥这一密钥对, 使数字签名和加密通讯等密钥服务变得容易起来。 公钥技术之所以能得到广泛的应用, 原因就在于对那些使用密钥对中的公钥来获得安全服务的实体, 他们能很方便地取得公钥, 即密钥分发与管理比起对称密钥的分发与管理变得简单了。所以有人称,非对称密码算法是计算机安全通讯的一次技术革命。当然,公钥的分发也需要数据完整性保护措施,即需要数据完整性服务来保障公钥不被篡改,并保证公钥一定要有与其声明持有者的身份相对应绑定的机制, 最终目的是能提供一种简单安全识别的机制, 其一可以使公钥及其相关信息的完整性得到保障; 其二可以使公钥及其相关信息以一种可信的方式与其声明所有者绑定在一起。这就是证书机制,证书在电子商务中是一种权威性的文档,证书的颁发者必须具有可信赖性,它是由权威性、可信任性和公正性的第三方机构所颁发的。 证书是一种安全机制,它能保证实现和完成 PKI的身份认证、完整性、保密性及不可否认性的安全服务。证书是一种新的安全机制,一般初期使用者会感到困惑。如一个网上购物者或网上银行客户,或是一个某银行支付网关的管理员,他(她)们经常会想:为什么浏览器 /服务器中装入数字证书就会在互联网上变得安全了呢?它们在实际认证中是如何操作的?它是如何保证安全的呢?针对这些常见的问题,本文通过讨论 、内容和用途以及对证书的哪些项要进行检查和如何进行检查的全部过程等, 来说明证书认证的安全性。相信广大读者在了解了证书认证的 “游戏规则”以后,对证书机制所能完成的身份识别和鉴别认证的安全服务会有所理解。证书确实是网上交易安全的守护神。一、 CA(CertificationAuthority) 在PKI中称“认证机构”,它为电子商务环境中各个实体颁发电子证书,即对实体的身份信息和相应公钥数据进行数字签名,用以捆绑该实体的公钥和身份,以证明各实体在网上身份的真实性;并负责在交易中检验和管理证书。CA是认证电子商务和网上银行交易的权威性、可信赖性及公正性的第三方机构,是电子商务的重要基础设施,是电子商务的安全保证。、电子证书和证书都是数字证书也叫电子证书 ,或简称证书,在很多场合下 ,数字证公钥证书的同义词, 它符合ITU- 标准。证书是随PKI的形成而新发展起来的安全机制,它实现身份的鉴别与识别(认证)、完整性、保密性及不可否认性安全服务(安全需求);数字证书是电子商务中各实体的网上身份的证明,它证明实体所声明的身份与其公钥的匹配关系, 使得实体身份与证书上的公钥相绑定; 从公钥管理的机制来讲,数字证书是公钥体制密钥管理的媒介,即在公钥体制中,公钥的分发、传送是靠证书机制来实现的。 所以有时也将数字证书称为公钥证书; 数字证书是一种权威性的电子文档,它是由具有权威性、可信任性及公正性的第三方机构( CA)所颁发。二、证书的内容及用途CFCA所发放的证书均遵循 ,其基本格式及其用途如下:,用来指定证书格式用的 ,用于目录查询。,证书颁发者指定证书唯一序列号 , 以标识CA发出的所有证书,用于目录查询。,用来指定本证书所用的签名算法(如 SHA-1、RSA)。 CA名称,用来指定签发证书的 CA的可识别的唯一名称 (DN,DistinguishedName),用于认证。,指定证书起始日期( notBefore)和终止日期( notAfter ),用于校验证书的有效性。,用来指定证书用户的 (DN),用于认证。。(1)AlgorithmIdentifier, 算法标识。用来标识公钥使用的算法。(2)SubjectPublicKey, 用户主体公钥。用来标识公钥本身, 用于加/解密和数字签名。,很少用。,很少用。(扩展域),用来指定额外信息。(1)AuthorityKeyIdentifier, 签发者CA的公钥标识。KeyIdentifier, 公钥标识;CertIssuer, 证书签发者的甄别名 ,电子邮件、IP地址等;CertSerialNumber, 签发证书的序列号 ,用于签发根证书及交叉认证。(2)SubjectKeyIdentifier, 用户主体的公钥标识。 证书主体所含密钥的唯一标识,用来区分一个证书拥有者的多对密钥,主要用于对由以前公钥加密过的文件进行解密。(3)CRLDistributionPoint,CRL 分布。指明 CRL分段的地点,用于分布式存放。(4)KeyUsage, 证书中的公钥用途,用来指定公钥用途 ,数字签名、加密等。(5)PrivateKeyUsagePeriod, 用户的私钥有效期。用来指定用户签名私钥的起始日期和终止日期。策,(6)CertificatePolicies,CA 承认的证书政策列表。 用来指定用户证书所适用的政证书政策可由对象标识符表示,一个详细提示( 200字符)。(7)PolicyMappings,策略映射。表明在两个CA之间一个或多个策略标识的等价映射关系——仅在 CA证书里存在。(8)SubjectAltName, 用户的代用名。用来指定用户的代用名。(9)IssuerAltName,CA 的代用名。用来指定 CA的代用名。(10)onstraints, 基本制约。用来表明证书用户是最终用户还是CA,用于交易路径。(11)SubjectDirectoryAttributes,用户主体目录属性。指出证书拥有者的一系列属性。。。三、证书的认证过程 以上介绍了证书结构、内容及用途,那么证书是如何相互认证的呢?相互的身份是如何识别的?为什么应用证书机制就是安全的呢?首先看一下证书的认证过程(也称验证过程)。拆封证书所谓证书的拆封,是验证发行者 CA的公钥能否正确解开客户实体证书中的 “发行者的数字签名”。两个证书在交换传递之后,要进行拆封,看是否能够拆封。一个证书或证书链的拆封操作,是为了从中获得一个公钥。可示为 X1p?X1<<X2>>,这为一个中缀操作,其左操作数为一个认证机构的公钥, 右操作数则为该认证机构所颁发的一个证书。 如果能正确解开,输出结果为用户的公钥。从证书内容列表中可以看出, 证书结构的最后内容是认证机构 CA的数字签名,即一个可信任的 CA已经在证书上用自己的私钥做了签名。 如果用该 CA的公钥就可以拆封一个用户实体的证书,那么,这个签名被验证是正确的。 因为它证明了这个证书是由权威的、 可信任的认证机构所签发。因此,这个实体证书是真实可信的。证书链的验证所谓证书链的验证,是想通过证书链追溯到可信赖的要验证签发用户实体证书的 CA是否是权威可信的 CA,如CA的根(ROOT)。换句话说,CFCA。证书链验证的要求是, 路径中每个证书从最终实体到根证书都是有效的,并且每个证书都要正确地对应发行该证书的权威可信任性CA。操作表达式为Ap?A<<B>>B<<C>>,指出该操作使用A的公钥,从B的证书中获得B的公钥Bp,然后再通过Bp来解封C的证书。操作的最终结果得到了C的公钥Cp。这就是一个证书链的认证拆封过程。证书链的定义。证书链也称认证链,它是最终实体到根证书的一系列证书组成,这个证书链的处理过程是所有根的前辈指向最开始的根证书,即子辈连向父辈。如图1所示。证书(无论是SET或是Non-SET证书)是通过图1所显示的信任层次来验证的,每个证书都对应于发行该证书的实体的数字签名。如图所示,A(MCA、PCA)—B—R;non-A(BCA、UCA)—P—R。这样就可用一级一级的公钥解开每级的数字签名,一直上溯到可信任的根 CAROOT。它们是通过直到根 CAROOT的信任层次来验证证书的。(2)从用户实体证书到ROOTCA的证书链确认,其具体的做法如下页图2所示。从以上对比中可以看出:用户实体证书中的AuthorityKeyIdentifier扩展项CertIssuer ,即证书签发者的甄别名, 应当与CA证书中签发此证书的 CA名称相匹配,如图中箭头所指。即 CA证书中的 SubjectName 是用户实体证书中 IssuerName 的父名,对上级 CA来说又成为子名, CA证书中IssuerName是上一级 CA的名字,成为可信任的链状结构。这样通过各级实体证书的验证,逐渐上溯到链的终止点——可信任的根 CA,如CFCA。.序列号验证序列号的验证是指检查实体证书中的签名实体序列号是否与签发者证书的序列号相一致,验证证书的真伪。验证操作过程是:用户实体证书中的AuthorityKeyIdentifier扩展项CertSerialNumber,即签发证书的序列号, 检查CA证书中的CertificateSerialNumber证书序列号,二者应该相一致,否则证书不是可信任的认证机构CA所签发。.有效期验证有效期验证就是检查用户证书使用的日期是否合法,有无过期。具体做法为:(1)用户实体证书的有效期ValidityPeriod及私钥的有效期PrivaKeyUsegePeriod,应当在CA证书的有效日期ValidityPeriod之内。如图2中粗箭头所示,超过CA证书有效期,实体证书应作废,交易是不安全的。(2)用户实体证书有效期开始时间ValidityPeriod中notBefore日期应在CA证书的私钥有效期PrivateKeyUsagcPeriod日期之内,否则证书是不安全的。.证书作废止列表查询所谓证书作废止列表查询,是检查用户的证书是否已经作废,并发布在证书吊销列表中。一般称 CRL查询,俗称“黑名单查询”。一个实体证书因私钥泄密等原因,需要废止时,应及时向CA声明作废。CA实时地通过LDAP标准协议向证书库中以的格式进行发布,以供访问时实体间进行开放式查询。图3中所示为浏览器和Web服务器之间进行的双方认证,即进行双向CRL查询,在Web服务器查询浏览器证书是否为“黑名单”的同时,浏览器也去证书库查询Web服务器证书是否为有效。此为“双向认证”,CFCA的企业级高级证书即为这种机制,是中国金融CAPKI的特点。一般认证”方式,即BtoB 模式的网上银行、网上购物皆采取这种方式。当然,也有“单向Web服务器只去查验浏览器证书的有效性,如 SSL证书的认证,这是一般C的普遍做法。证书使用策略的认证证书的使用方式与任何声明的策略 CertificatePolicy 或使用限制相一致,即用户实体证书中的 CertificatePolicies 应为CA所承认的证书政策列表。 它是用特殊扩展域来限定的,用来指定用户证书所适用的政策,这些政策应在 CA的CPS中有明确规定,对象标识符不超过 200个字符。没有 CA承认的政策,用户证书是不能执行的。如 PolicyURL、PolicyE-mail地址,必须由根政策陈述。最终用户实体证书的确认为了证书的使用安全, CA所签发的认证机构内部管理员的证书要与最终用户实体证书相区分。为此:(1)在扩展域基本制约 onstraints 中其默认值表示最终实体 (EndEntity ),以区别其他 CA内部管理证书,防止证书用于不同的目的。(2)在扩展域 KeyUsage中要对声明的用途有效, 用于数字签名或用于传输加密, 为确保安全,要明确分开,不能混用,以备争议时审计,为仲裁提供依据。当然,以上这些操作对用户来说都是透明的。关于数字证书(双向)的若干想法[ZT]双向数字认证,需要客户端和服务器均有自己的私钥和公钥(一般为X509证书),工程服务器为Apache或是Tomcat,:SSL协议使用不对称加密技术实现会话双方之间信息的安全传递。可以实现信息传递的保密性、完整性,并且会话双方能鉴别对方身份。不同于常用的http协议,我们在与网站建立SSL安全连接时使用https协议,即采用https://ip:port/的方式来访问。当我们与一个网站建立https连接时,我们的浏览器与WebServer之间要经过一个握手的过程来完成身份鉴定与密钥交换,从而建立安全连接。具体过程如下:用户浏览器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送到服务器。服务器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送给浏览器,同时发给浏览器的还有服务器的证书。如果配置服务器的SSL需要验证用户身份,还要发出请求要求浏览器提供用户证书。客户端检查服务器证书,如果检查失败,提示不能建立SSL连接。如果成功,那么继续。客户端浏览器为本次会话生成pre-mastersecret,并将其用服务器公钥加密后发送给服务器。如果服务器要求鉴别客户身份,客户端还要再对另外一些数据签名后并将其与客户端证书一起发送给服务器。如果服务器要求鉴别客户身份,则检查签署客户证书的CA是否可信。如果不在信任列表中,结束本次会话。如果检查通过,服务器用自己的私钥解密收到的pre-mastersecret,并用它通过某些算法生成本次会话的mastersecret。客户端与服务器均使用此mastersecret生成本次会话的会话密钥(对称密钥)。在双方SSL握手结束后传递任何消息均使用此会话密钥。这样做的主要原因是对称加密比非对称加密的运算量低一个数量级以上,能够显著提高双方会话时的运算速度。客户端通知服务器此后发送的消息都使用这个会话密钥进行加密 。并通知服务器客户端已经完成本次 SSL握手。服务器通知客户端此后发送的消息都使用这个会话密钥进行加密 。并通知客户端服务器已经完成本次 SSL握手。本次握手过程结束,会话已经建立。双方使用同一个会话密钥分别对发送以及接受的信息进行加、解密。几个概念: (PKCS#12)个人信息交换格式( PFX,也称为 PKCS#12)允许证书及相关私钥从一台计算机传输到另一台计算机或可移动媒体。,私钥及其参数一般有两种表示,Der为二进制表示格式,Base64不言自明,在应用过程中无甚差别,但是因为Base64的文本性,#10:描述证书请求语法 , 证书请求文件一般以 .一般意义可以认为证书就是公钥 ,当然公钥未必是以 ,一般用于证书链 .,Certificaterevocationlist. 证书失效列表 . 提供了CA认证的全面支持 ,Keytool 及JCA,JCEAPI对应了Java对PKI实现若干问题.,可以客户到柜台,由营业员办理可以由客户生成自己的 CSR文件,提交到网站,由系统自己生成 .由客户在网页上添加自己相关信息 ,由系统生成, .都需要开发相应的支持系统PI,OpensslAPI mandline,Keytool 实现..可用失效问题.如果发生证书对应密钥丢失,客户可能需要对证书进行调销,这需要建立建立比较完善的CA基础,支持Certificaterevocationlist,这需要完整的CA解决方案.需要开发相应支持系统..理论上,至少在一段时间的转移过程内,会出现使用和不使用数字证书的客户同时存在,这样需要建立两套不同的系统 .还要解决同一入口问题 .(这个应该不需要额外的开发工作).,经测试能够读取所驻留浏览器的证书(及私钥)信息,成功建立双向 ,使用由verisign或其它可信的CA机关认证的证书并没有好处,但这样能提高客户对公司的信任度 ,使公司能明确的向客户确认自己的身份 , 从实现角度讲 ,如果采用自签名CA的话,只是由公司内部CA对客户证书进行签名,如果是使用经过如verisign签名的证书,那么公司将是二级CA,即证书的信任需要一个证书链,同样也是由公司内的二级CA对客户证书进行签发.,因为没有正式的证书及密钥,测试过程选用了自签名的证书,另外也没有使用完整的CA基础,没有考虑CRL的问题,即证书注销问题.

数字证书及其认证过程 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人雨林书屋
  • 文件大小102 KB
  • 时间2024-04-14