美文网首页代码改变世界程序员@IT·互联网
签名,证书和CA到底是什么鬼

签名,证书和CA到底是什么鬼

作者: Mr_Normal | 来源:发表于2017-05-06 10:20 被阅读0次

证明你是你

信息的加解密过程很简单:假设A要发送信息给B,A用B的公钥加密信息,得到密文;B用自己的私钥解密信息,得到明文。

但其中有一个问题:怎么证明A是A?

由于B的公钥是公开的,如果仅仅这样简单地加解密,显然B是不能确定信息是否来自于A的。于是就有了签名这个东西。

签名

在说签名之前,先来说一下数据摘要(Digest)
我们知道人的指纹是独一无二的,于是我们就想,文件能不能也有这样一个属性,这样我们就可以容易地验证文件是否被更改。
数据摘要就是这样一个东西,通过使用数据摘要算法,常见的有(MD5,SHA1等),我们可以生成文件的数据摘要,并且可以认为这个摘要是独一无二的。

签名是为了让信息的接收者可以验证发送者的身份。
同样假设A发送信息M给B,A首先生成一下所要发送信息的数据摘要,然后用自己的私钥对摘要进行加密,用私钥加密摘要的这个过程就叫签名,操作之后就得到了签名S。
然后A用B的公钥加密信息M得到密文C,将C和生成的签名S一起发送给B。
B收到后,用自己的私钥对密文C进行解密,得到明文M。
然后B生成M的数据摘要D2,用A的公钥解密签名S,得到数据摘要D2,将D1和D2进行比较,如果相同则证明这个消息确实来自于A。

注意:用私钥加密,公钥解密。和用公钥加密,私钥解密都是可以的。

证书

当今世界什么都可能是假的,你可能是个假人,上了个假大学……

所以B拿到的A的公钥也可能是假的,如果这样的话,那签名什么的还有什么意义呢?可能C想对B图谋不轨,将B手中的A公钥替换成了自己的公钥,然后就可以冒充A和B对话。

于是就有了证书这东西。

证书就是用来证明你手里的公钥的主人省份,证书一般包含:

  • 公钥PU
  • 公钥的签名S
  • 公钥所有者的信息。

拿到证书之后,我们需要解密公钥的签名S,然后与公钥PU对比,那我又怎么保证解密S用的公钥PUU是真的呢?那我是不是又要有一个证书来证明PUU的正确性,那你又怎么证明用来解密PUU签名的公钥PUUU的正确性呢,然后就是PUUUUUU……

其实这个循环从开始就可以避免,只要发放证书的是一个权威机构不就行了。这个机构叫做CA(Certification Authority)

CA

CA用自己的私钥对A的公钥进行签名,将这个签名和A的公钥,以及与A相关的一些信息做成证书。

当B想要A的公钥时,找CA拿A的证书。用CA的公钥解密A的公钥的签名,与证书中的A的公钥比较,如果一样,证明这个证书是有效的。如果不一样,说明说明证书可能已经被篡改,或者这是个假的CA……

相关文章

  • 签名,证书和CA到底是什么鬼

    证明你是你 信息的加解密过程很简单:假设A要发送信息给B,A用B的公钥加密信息,得到密文;B用自己的私钥解密信息,...

  • openSSL创建自签名证书

    创建二级CA 生成CA签名请求 创建CA同时生成签名请求 使用根CA签发二级CA 创建自签名证书-服务器证书 生成...

  • 数字证书系列--利用自签名证书实现认证的大致过程

    对于自签名证书,完成自签名后,我们会获得如下的几个文件:CA 证书文件,CA证书的私钥,个人证书的私钥,获得CA签...

  • openssl

    RSA 加密 关于diff更多使用 详细参考diff 签名 CA 证书 参考 数字签名是什么?

  • openssl生成EC类型证书

    生成EC KEY 生成CSR 生成自签名证书 或者使用CA证书来签名

  • 通过一个小故事,理解 HTTPS 工作原理

    本文摘录参考: 细说 CA 和证书(主要讲解 CA 的使用) 数字签名是什么?(简单理解原理) 深入浅出 HTTP...

  • CA证书制作实战

    需求:自建CA 颁发证书,使用自签名证书来构建安全网络,所谓自签名证书,就是自己扮演 CA 机构,自 己给自己的服...

  • 数字证书系列--用证书搭建https网站

    在前面一节介绍了如何创建CA, 以及如何用CA对CSR 证书请求文件进行签名,从而生成签名的服务器端证书。生成签名...

  • Android 使用自签名证书

    Android SSL可以使用CA证书也可以使用自签名证书,自签名证书是通过keystore生成的,本文介绍and...

  • 2019-12-31

    证书校验,包括签名校验(是否是CA机构签名的证书)和属性校验(域名校验、有效期校验) 证书的作用,对服务器实体的身...

网友评论

    本文标题:签名,证书和CA到底是什么鬼

    本文链接:https://www.haomeiwen.com/subject/dxsetxtx.html