什么是数字证书

栏目: 编程工具 · 发布时间: 5年前

内容简介:打个比方,有两个小朋友在网上相互发消息,名字分别是小明和小红,小明想要给小红发个消息,但是呢,又担心发的消息被别人修改,就像信件被邮局修改那样。所以呢,小明想了个办法。给数据“签个名”,然后小红同学呢,就验证这个数据的签名是不是小明同学的,如果是,那么数据没有被修改。那怎么签名呢?联想到现实中,我们一般是手写个签名或者给信件盖个章,如果大家有一点经验的话,应该看到过这种盖章,就是把章盖在信件重要内容上。如下:

打个比方,有两个小朋友在网上相互发消息,名字分别是小明和小红,小明想要给小红发个消息,但是呢,又担心发的消息被别人修改,就像信件被邮局修改那样。所以呢,小明想了个办法。给数据“签个名”,然后小红同学呢,就验证这个数据的签名是不是小明同学的,如果是,那么数据没有被修改。那怎么签名呢?

数字签名

联想到现实中,我们一般是手写个签名或者给信件盖个章,如果大家有一点经验的话,应该看到过这种盖章,就是把章盖在信件重要内容上。如下:

什么是数字证书

这种盖章的好处是什么呢?很简单, 因为如果要改变内容的话,就一定会改变盖的章 ,所以,小红就可以轻易地检测出信件是否被修改过。好,这是现实情况。在数据的世界里怎么办呢?怎么给数据“盖章签名”呢?

要给数据盖章,我们就得搞懂两个问题:

  1. 数据世界里,什么是“章”
  2. 数据的重要内容是什么

“章”:非对称加密的公私钥

这部分可能得扯很久,为了简单起见,只简单的说一下。在数字的世界里,有一门学科叫密码学,密码学中又有一个领域就非对称加密,非对称加密有两个密钥,一个叫私钥,一个叫公钥。这两个密钥都可以用于给数据加解密:

  1. 如果是私钥加的密,那么就用公钥解密
  2. 如果是公钥加的密,那么就用私钥解密

都可以加解密的话,公钥私钥有什么区别,就一点: 私钥可以推断出公钥,但反过来不行 。所以,只要我们手里的私钥不给任何人,只有自己知道的前提下,我们就可以用私钥给数据加密,然后把公钥给别人,让他用公钥解密。如果公钥无法解密,说明私钥不是我的。所以,公钥体系能达到“章”的作用。

数据的重要内容

这就简单了,就是数据的哈希值(这里较为简单,就一笔带过了,如果有不懂的同学,可以google下)。

签名

懂了公私钥的话,签名的概念就容易理解了。签名就是 用私钥将数据的哈希值加密 ,然后接收方用公钥解密出哈希值,然后接收方再计算一次数据的哈希进行对比,不同,则数据被篡改。

回到例子本身,过程如下:

  1. 小明准备一套私钥和公钥
  2. 将公钥发给小红
  3. 编写一条消息
  4. 计算消息的哈希值
  5. 用私钥对上面计算出的哈希值加密,将签名附在消息的后面
  6. 将消息发给小红
  7. 小红接收到消息
  8. 解析出签名
  9. 用公钥解密签名获得哈希
  10. 自己计算一次数据哈希
  11. 对比哈希值
  12. 得出结果

以上就是数据签名的原理和用途。那到底什么是数字认证呢?

CA证书

上面有一个很重要的一步,就是第2步: 将公钥发给小红 。小红怎么知道这个公钥是小明给她的呢?

这里就需要数字证书了。也就是说,数据证书是来解决公钥的信任问题的。

到这一步,密码学的帮助其实就不大了,因为我们要引入权威第三方机构了。

首先,小红和小明得找到一个双方都信任的第三方机构,这个机构我们将它 称为CA(Certificate Authority)首先给两人各发一张证书。

这张证书里有下面这些内容:

签发者:CA自己
公钥:1024/2048位公钥(明文)
有效期:xx
哈希算法:将公钥生成哈希
加密算法:将哈希用私钥加密,生成签名
签名:见上

证书的签名就是上述的数字签名,数据是公钥,所以,小红和小明可以用证书里的公钥对签名进行解密,然后自己对公钥进行哈希计算,然后进行验证,从而可以确保CA证书是正确的。这个证书叫 根证书

小明的证书

然后接下来,小明将自己的公钥和自己的一些信息交给CA中心,CA中心呢,就按照上述的格式给小明签发了一组证书,内容如下:

签发者:CA
公钥:小明的公钥
有效期:xx
哈希算法:将小明的公钥生成哈希
加密算法:将哈希用私钥加密,生成签名
签名:见上

然后有了证书的小明就把自己的证书发给小红,小红拿到后,先用CA的公钥解密签名,然后就是将小明的公钥进行哈希计算,对比一下后就可确定这的确是小明的公钥。

以上就是数字证书的原理。

转载请注明出处

http://zgljl2012.com/shi-yao-shi-shu-zi-zheng-shu/


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

机器学习

机器学习

周志华 / 清华大学出版社 / 2016-1-1 / 88.00元

机器学习是计算机科学与人工智能的重要分支领域. 本书作为该领域的入门教材,在内容上尽可能涵盖机器学习基础知识的各方面。 为了使尽可能多的读者通过本书对机器学习有所了解, 作者试图尽可能少地使用数学知识. 然而, 少量的概率、统计、代数、优化、逻辑知识似乎不可避免. 因此, 本书更适合大学三年级以上的理工科本科生和研究生, 以及具有类似背景的对机器学 习感兴趣的人士. 为方便读者, 本书附录给出了一......一起来看看 《机器学习》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换