数字签名是鲍勃自己制作的,不安全,

数字证书,是ca发布的,包含了鲍勃的公钥,是安全的。

今天,我读到一篇好文章。

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

我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。

====================================================

数字签名是什么?

作者:David Youd

翻译:阮一峰

原文网址:http://www.youdzone.com/signature.html

1.

鲍勃有两把钥匙,一把是公钥,另一把是私钥。

2.

鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。

3.

苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。

4.

鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。

下面开始 数字签名的由来,

最开始,鲍勃,自己制作数字签名,

5.

鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。

6.

然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。

7.

鲍勃将这个签名,附在信件下面,一起发给苏珊。

8.

苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。

9.

苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。

10.

复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。

11.

后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。

这样,苏珊,就通过 数字签名,获取到鲍勃的公钥,而不是,鲍勃提供的公钥,因为这样的公钥,可能会被道哥替换掉,不安全,

12.

鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。

因为这个数字签名中,包含了鲍勃的公钥,

13.

苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。

数字证书引入的原因 CA机构 授权认证中心相关推荐

  1. 关于数字证书,数字签名,CA证书,Https都在这里了

    Http协议大家都不陌生了,但是http的请求内容都是明文的内容,如果被拦截了请求,就能看到你的请求内容,比如账号密码之类的,这样的话就是不安全的, 然后就有了http+SSL/TLS =https ...

  2. SSL数字证书(一)CA、根证书与数字证书

    数字证书原理(〇)认识SSL SSL数字证书(一)CA.根证书与数字证书 SSL数字证书(二)使用makecert.exe签发证书 SSL数字证书(三)使用 openssl 生成证书 网络安全无疑是现 ...

  3. 对称加密与非对称加密的区别_https原理及对称加密、非对称加密、数字证书、数字签名的含义...

    一.为什么要使用https 使用https的原因其实很简单,就是因为http的不安全. 当我们往服务器发送比较隐私的数据(比如说你的银行卡,身份证)时,如果使用http进行通信.那么安全性将得不到保障 ...

  4. java安全架构____CA数字证书原理

    转自百度百科:http://baike.baidu.com/link?url=3QmDWbnu1GE0p7wjgELkOfLrHGoB5VVXF88hSDnrfDWRP3hB39S6rcRXCMa3g ...

  5. https:浏览器如何验证数字证书

    浏览器和服务器建立https连接的过程中,浏览器首先会向服务器请求数字证书,之后浏览器要做的第一件事情就是验证数字证书: 验证数字证书的有效期 验证数字证书是否被吊销 验证数字证书是否是合法CA机构颁 ...

  6. x509数字证书详解

    数字证书 小明和小花进行通信,小花要在网络中验证发来消息的人到底是不是小明,是不是被其他人篡改,就需要数字证书来验证.CA机构先核实小明身份,再给小明颁发一个数字证书,证书中包含了小明的身份信息和公钥 ...

  7. 什么是SSL数字证书,有哪些知名的CA颁发机构?

    CA证书,这是一种很笼统的说法,CA两字母代表 Certificate Authority,就是证书授权中心的意思,也就是证书颁发机构可以简称为"CA",那么"CA证书& ...

  8. PKI/CA与数字证书

    写在前面 现在开始接触CA相关的内容,对一些名词还是不甚了解,在遇到一些问题的时候也不能理解,刚好最近看了一本<PKI/CA与数字证书技术大全>,里面介绍的比较系统全面,也对刚接触这方面的 ...

  9. CA、根证书、数字证书、数字证书颁发的流程

    数字证书原理(〇)认识SSL SSL数字证书(一)CA.根证书与数字证书 SSL数字证书(二)使用makecert.exe签发证书 SSL数字证书(三)使用 openssl 生成证书 网络安全无疑是现 ...

最新文章

  1. 抢红包算法 c++_十大排序算法(一):冒泡排序法
  2. (十二)java版电子商务spring cloud分布式微服务- Spring 4.2.2以上版本和swagger集成方案和踩过的坑...
  3. 设置代理_如何防止用户更改Windows 10上的代理设置
  4. dedecms批量删除文档关键词可以吗
  5. SharePoint PowerShell命令系列
  6. Xcode模版生成文件头部注释
  7. 园区通信光缆、电缆、管井、接入机房等室外资源的管理方案分享
  8. DC-DC转换器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  9. PLM与PDM的概念与区别
  10. 【游戏客户端】剧情系统
  11. android相机采集sdk,C#用basler相机sdk采集图像并用halcon显示的小程序
  12. 【MySql】简明笔记
  13. 优秀课程案例|如何用scratch画柱形统计图
  14. C语言小明申请QQ号码
  15. javascriptDOM知识脑图_henry_dx_新浪博客
  16. Matlab:数组类型
  17. 计算机专业就业率就业薪资图表,10大热门专业“工资”大揭秘,软件工程最高,会计垫底?...
  18. 菲尔兹奖得主小平邦彦:数学是什么?
  19. 计算机弹奏蔡徐坤,用了多年键盘才发现,CTRL键跟蔡徐坤有关,细思极恐!
  20. 几乎万能的安卓root方法,需adb能获取root权限(小白教小白)

热门文章

  1. md5校验 java_java生成MD5校验码
  2. 计算机组装与网络综合布线实验报告,网络综合布线实习报告..doc
  3. 前端基础入门之背景background-image 、 雪碧图与渐变
  4. Http 自定义header
  5. COMPOSITION PRACTICE-1
  6. 15 数据的概括性度量——离散程度的度量
  7. 爬虫---爬取b站小视频
  8. 揭秘套路:百度贴吧诱导用户操作CPA项目
  9. 大师兄科研网_如何跟实验室师兄搞好关系?
  10. 2022年山东省职业院校技能大赛网络搭建与应用赛项正式赛题