美文网首页
数字签名与数字证书基础概念

数字签名与数字证书基础概念

作者: 小叶与小茶 | 来源:发表于2018-06-25 11:55 被阅读35次

同样学自《阮一峰的网络日志》,大牛也是学自另外一个大牛的文章《What is a Digital Signature?》

这篇笔记用简单的图文讲解什么是数字签名,什么是数字证书,读完后至少对这个过程清楚了很多,记录一下(文字条理来自阮一峰,图片来自原文)。

下面是基础原理部分:

1. Bob 有两把钥匙,一把叫做公钥,一把叫做私钥。

2. Bob 把公钥给了他的朋友们,Pat、Doug、Susan 每人都有一把。

3. Susan 想给 Bob 写一封密信,用 Bob 的公钥进行加密即可。而 Bob 用私钥进行解密。只要 Bob 的私钥不泄漏,别人就无法打开 Susan 的这封密信。

4. Bob 给 Susan 回信,为了说明这封信就是自己写的,好比皇帝下的圣旨必须得有玉玺加印一样:

1)第一步,Bob 对回信内容进行 Hash 计算,生成 Digest(摘要)。这里要说明一下,一旦有人篡改了信件内容,Hash 算法保证了摘要一定会发生变化,而且也不可能通过摘要推算信件内容。

2)第二步,Bob 用私钥对这个摘要进行加密,生成了数字签名。

3)第三步, Bob 把数字签名添加到信件上,好比增加一句 “此致,XXX敬上”。

4)第四步,Bob 把签了名的信件发送给 Susan。

5)第五步,Susan 收到信件后,用 Bob 的公钥解密数字签名,成功得到信件摘要,证明此信件确实源自 Bob。同时,Susan 也可以对信件内容再进行 Hash 计算得到一份摘要,对比两份摘要,如果内容完全一致,证明信件内容没有被篡改过。


上面讲的是一个正常过程,也就是没有那么多坏心眼和恶作剧的时候。那么,问题来了,如果 Doug 想假冒 Bob 和 Susan 通信怎么办?

5. Bob 可能会偷偷使用 Susan 的电脑,将 Bob 的公钥换成自己的公钥。而 Susan 没有发觉使用的公钥已经是 Doug 的了,而 Doug 就用自己的私钥进行上述的数字签名过程,伪装 Bob 与 Susan 进行通信,抱得美人归。

6. 而 Susan 终于发现事情不对劲,感觉自己使用的公钥有问题,于是她想到一个办法,希望 Bob 能够到一个权威机构对自己的公钥进行公证,这个权威结构也就是“证书中心(Certificate Authority,简称CA)”。证书中心于是用自己的私钥,对 Bob 的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。

7. Bob 拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。而 Susan 收到信件后,也先用 CA 的公钥解开数字证书,拿到经过认证的公钥,再用这个公钥去验证数字签名,以此来确认是否真的来自 Bob。


下面是 HTTPs 的例子:

HTTPs 用于网页加密,是数字证书的实际应用案例。

1. 客户端向服务器发出访问加密网页的请求

2. 服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。

3. 客户端浏览器的"证书管理器"包含有"受信任的根证书颁发机构"列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。

4. 如果数字证书记载的网址,与你正在浏览的网站不一致,就说明这张证书可能被冒用,浏览器会发出警告。这种情况,可能是你浏览的网站太穷太懒,没有去申请自己的证书;也可能真的是有问题的网站。

5. 当然,如果这张数字证书不是由受信任的机构颁发的(世界是自由的,你也有权利做认证机构),浏览器会发出另一种警告。

6. 如果数字证书是可靠的,客户端就可以使用证书中携带的服务器公钥,对信息进行加密,然后与服务器交换加密信息。


相关文章

  • CA、数字证书、数字签名

    本文介绍 CA、数字证书和数字签名的概念和原理。 目录 相关概念 数字签名 数字证书 公钥基础设施 数字证书认证机...

  • 数字签名与数字证书基础概念

    同样学自《阮一峰的网络日志》,大牛也是学自另外一个大牛的文章《What is a Digital Signatur...

  • PKI相关以及HTTPS解决的三个痛点

    提到PKI(公钥基础设施)就离不开下面这些概念名词:对称加密、非对称加密、数字信封、数字签名、数字证书等,而之前整...

  • Https 编程

    目录 数字签名 数字证书 Https 编程 数字签名 数字签名是非对称加密与数字摘要的组合应用 应用场景 校验用户...

  • 【HTTP】Https 原理与验证过程

    Https 原理与验证过程 一、参考文章 HTTPS 基础OpenSSL 与 SSL 数字证书概念贴 iOS 中对...

  • 关于加密解密签名等基础知识

    一、各种概念、技术和用途 主要概念:加密解密算法、消息摘要、数字签名、数字证书 1、加密解密算法 对称加密算法:D...

  • 数字证书的应用场景

    数字证书的概念 非常技术的说法:数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最...

  • 浅析 OkHttp 的 TLS 连接过程

    概述 基础2.1. 加密2.2. 数字签名2.3. 数字证书 TLS 原理 主要的类和接口4.1. JDK4.2....

  • HTTPS 笔记

    主要记录学习工作流程的笔记 资料 Http基础知识学习(四),了解HTTPS 通俗理解数字签名,数字证书和http...

  • 数字签名是什么?

    数字签名是什么? 它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(di...

网友评论

      本文标题:数字签名与数字证书基础概念

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