数字证书的构成和原理

上传人:飞*** 文档编号:54163501 上传时间:2018-09-08 格式:PDF 页数:4 大小:83.22KB
返回 下载 相关 举报
数字证书的构成和原理_第1页
第1页 / 共4页
数字证书的构成和原理_第2页
第2页 / 共4页
数字证书的构成和原理_第3页
第3页 / 共4页
数字证书的构成和原理_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《数字证书的构成和原理》由会员分享,可在线阅读,更多相关《数字证书的构成和原理(4页珍藏版)》请在金锄头文库上搜索。

1、数字证书的构成和原理 1、数字证书的格式 认证中心颁发的证书均遵循X.509 V3标准。 2、数字证书的作用 数字证书是 PKI标准基于公钥密码体制, 用于标志通讯各方身份的一种证书。 一般是由权威的CA 认证机构颁发,用于在网络流通中让别人识别自己的身份。 主要用于 密钥管理 上。 在使用公钥协商对称密钥的安全通讯中,客户端会先收到服务端收到的数字 证书,证书中包含了服务端的公开密钥,再使用这个公开密钥加密客户端产生的 对称密钥, 就组成了数字信封。 客户端会先查看证书是否过期,发行服务器证书 的 CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数 字签名” , 服务器证书

2、上的域名是否和服务器的实际域名相匹配。如果符合要求, 用户就可以用该证书里的公钥来验证服务端私钥的签名。 数字证书为什么能作为标志身份的工具,并运用在密钥管理之上呢? 因为数字证书具有安全性、唯一性、不可篡改性等特性(具体实现在后面的 原理部分 会体现) 。因此被权威的CA 认证中心颁发了证书的个人或者单位,可 以用它来唯一的标识自己的身份。 3、数字证书的构成与原理 1)数字证书的构成 数字证书是一连串被处理过的信息的集合。下面是一个已经存在于计算机中 的证书样板: 一个证书中包含很多内容,下面是其中几个主要的内容(仅列出一部分): Version 证书版本号,不同版本的证书格式不同 Ser

3、ial Number 序列号,同一身份验证机构签发的证书序列号唯一 Issuer 证书发布机构,指出这个证书是哪个公司创建的,这是哪个CA 中心 的证书 Valid from,Valid to 证书的有效期,也就是证书的使用期限 Subject 主题,就是这个证书的所有者(由于上面的证书是在电脑中的根证 书,所以 Issuer跟 Subject是一样的) Public key 公钥,即该证书持有人的公钥 Signature algorithm 签名算法,指的是这个数字证书中的数字签名所使用的 加密算法,可以通过根证书中的公钥对这个证书中的指纹进行解密 Thumbprint,Thumbprint

4、 algorithm 指纹以及指纹算法 ,在证书发布的时候, 发布机构会根据指纹算法先计算出整个证书 的 hash 值,并使用证书发布机构的 私钥对其进行签名构成一个指纹,并将指纹与该证书放在一起 2)基于数字证书的PKI公钥密码体制 一个公司想要在网络上标志自己的身份,可以向一个权威的CA中心购买证 书。假如某公司 A 向某知名 CA中心 B购买证书,CA中心首先会去确认该公司的 身份,确认完之后,会给该公司颁发一个数字证书(内容和上面的基本一致)。 此外还会给公司一个证书公钥对应的私钥。 之后,如果有一个客户需要在网络上认证该公司身份,公司会先将自己的数 字证书发送给客户。客户查看证书中的

5、版本、 认证中心是否权威、 证书是否过期、 证书持有人是否是该公司、CA 认证的根证书是否能解开该证书中的数字签名、 证书是否被修改, 查看完之后确认该证书确实是该公司所有。然后发送一条明文 给服务端, 让服务端用私钥签名之后返回。客户收到签名后的消息, 用证书中的 公钥解开,看是否与自己发送的消息一致, 如果一致则确认对方确实是你要连接 的公司。 那该客户又是哪里来的CA认证根证书呢?每个CA中心都会给自己颁发一个 根证书,根证书中包含CA中心自己私钥对应的公钥。用该公钥可以解开所有经 过 CA中心签名的证书。这些认证公司的根证书在我们安装系统的时候就已经安 装好了,微软(或者其他一些操作系

6、统的公司)在系统中已经安装了一些数字证 书,并将它们设置为受信任的证书。 这些数字证书都是一些权威认证中心的根证 书。这样就防止了一些不靠谱的CA中心来随便颁发根证书,从而影响了证书体 制(所有的公司都能发布证书,这在后面将会讲到)。 3)数字证书如何支持公钥密码体制的运行 每个数字证书中都包含了证书所有人的信息、公钥等内容。 那么如何保障数字证书的安全性、权威性、不可篡改性、唯一性的? 首先,先看 权威性 。数字证书经常用于密钥的分发,由受认可的CA 中心颁 发的数字证书,可受到该CA中心保证。除此之外也可以是任意一家公司颁发的 数字证书,如果用于特定范畴之内是行得通的。 但是如果是用于在互

7、联网上流通, 这个证书是不会受到国际认可的, 一个用户发现收到的数字证书的颁发机构不受 信任,也不会对该证书信任的。 再看唯一性 ,每个证书机构颁发的证书号都是唯一的,如果是受信任的权威 CA 机构,他们会先对证书申请人进行身份确认。这样就防止了一些公司假冒其 他公司来进行诈骗。 不可篡改性 ,每个数字证书中都包含了对整个证书进行指定hash 算法计算 出来的 hash值。客户收到证书之后,也进行相同的hash计算,如果证书内容有 稍微被修改, hash 值就会改变。这样就能保证证书不被篡改。注意,这里有个 细节特别重要: 这个 hash 值是经过认证机构的私钥进行签名的,这样可以防止别人修改

8、hash 值,因 为这个 hash 值的签名只有发布机构能签名,该机构的根证书中的公钥能解开。即别人无法 伪造、也无法修改签名,从而保证证书不被篡改。 最后看下 安全性 ,综上面所述,客户收到的数字证书是由受信任机构颁发的 唯一指定证书持有人的不可被修改的证书。客户对证书进行如下操作: 查看证书使用日期是否过期,并用颁发机构的根证书对该证书中的指纹进 行解密。 用证书中指定的hash算法(一般是 SHA1 ,现在可能采用更安全的摘要算 法)对整个证书进行hash计算,得到一段hash值。 用自己计算的 hash值与指纹解密之后的hash 值进行比较。如果一样,说 明证书是由受信任的机构颁发,且

9、证书没被修改过。否则该证书就是不安全的。 查看证书持有人是否就是你与之通信的公司(或者个人)。如果是,则继 续进行下一步,否则丢弃证书、断开连接。 取出证书中的公钥。 之后可以采用约定的办法进行身份确认,我采用的是 这样的方式: 客户发送一段明文给服务端,要求服务端对它进行签名。服务端收到明文之后,先对这 段明文进行hash 计算,将得到的hash 值与使用的摘要算法打包,并用自己的私钥签名发 送给客户。 客户收到报文后,先用公钥解开签名,接着按照指定的摘要算法对自己发送的明 文进行加密。对比两段hash 值,如果值一样则可以确认对方就是证书持有人。这种方式可 以防止别人恶意的发送规律的明文,

10、从而破解私钥,因为经过hash 算法之后的摘要是不规 则的。 确认完对方身份之后,客户就可以用证书中的公钥加密消息发送给对方。 这时证书可以被拦截,但是无法被破解,只有对方的私钥能解密密文。注意: 这种方式只能保证单向的加密,因为私钥只有一个人所有,公钥却所有人都能拥有。 4、如何建立自己的CA 所有公司都可以颁发证书, 但是不是所有的公司颁发的证书在国际上都受到 认可。但是如果是在自己生产的终端中安装了自己建立的CA的根证书,并将该 证书放到受信任证书中。就能保证自己建立的CA在某一体系受信任。 例如: 一家公司里生产某种终端,而且需要在这些终端中进行安全通讯。这样的情况下, 就可 以自己建立一个CA 中心,并采用 X.509 证书标准。 公司在终端出厂之前在每个终端中都安 装了自己 CA 的根证书、 以及每个终端唯一标志身份的终端证书。这样就能保证在这些终端 通讯中数字证书有效。 具体创建 CA的步骤,可以使用makecert工具, OpenSSL 中也有建立 CA的方案 (还待继续研究)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号