数字签名与数字证书

原创 2013年07月25日 09:41:56

前言

先看一下百度百科对数字签名和数字证书的解释:

数字签名:

报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。
将该报文摘要值用发送者的私人密钥加密,然后连同原报文一起发送给接收者,而产生的报文即称数字签名

数字证书:

数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构-----CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名


对数字签名和数字证书的理解一直较模糊。

最近看了一篇很形象的关于数字证书的图形化介绍, 豁然就开朗了^^

原文:What is a Digital Signature?

中文版


正文

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

    

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

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

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

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

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

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

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

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

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

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


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

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

14. 下面,我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。


15. 首先,客户端向服务器发出加密请求。

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

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


18. 如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。

19 .如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告

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






总结

数字签名 就是使用个人私密和加密算法加密的摘要和报文,是私人性的。而数字证书是由CA中心派发的.


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oscar999/article/details/9364101

漫画解读数字证书与数字签名的区别

数字签名是什么? 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 2. 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 3. ...
  • leolewin
  • leolewin
  • 2015-09-16 11:16:58
  • 1023

深入理解加密、解密、数字签名和数字证书

随着电子商务的迅速发展,信息安全已成为焦点问题之一,尤其是网上支付和网络银行对信息安全的要求显得更为突出。为了能在因特网上开展安全的电子商务活动,公开密钥基础设施( PKI, Public Key I...
  • sszgg2006
  • sszgg2006
  • 2012-11-19 13:45:51
  • 18656

数字签名原理及其应用

签名的作用无非就是证明某个文件上的内容确实是我写的/我认同的,别人不能冒充我的签名(不可伪造),我也不能否认上面的签名是我的(不可抵赖)。 我们知道,手写签名之所以不能伪造,是因为每一个人的笔迹都是...
  • qmickecs
  • qmickecs
  • 2017-06-25 15:40:34
  • 5421

数字签名基本概念

1. 概念:数字签名是一种以电子形式存在于数据信息之中的,或作为其附件或逻辑上有联系的数据,可用于辨别数据签署人的身份,并表名签署人对数据信息中包含的信息的认可技术 2. 一个完善的数字签名应该包含...
  • ShaoqunLiu
  • ShaoqunLiu
  • 2016-07-31 21:21:26
  • 2482

公钥私钥加密解密数字证书数字签名详解

首先明确几个基本概念: 1、密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。 2、公钥,公钥用来给数据加密,用公钥加密...
  • adparking
  • adparking
  • 2016-12-27 09:42:24
  • 3217

公钥,私钥,数字签名,数字证书详解

 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 2. 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 3. 苏珊要给鲍勃写一封保密的信。她写完后用...
  • sum_rain
  • sum_rain
  • 2014-07-04 16:16:10
  • 5301

公钥,私钥和数字签名这样最好理解,以及加解密实例

原文:http://blog.csdn.net/21aspnet/article/details/7249401 一、公钥加密  假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就...
  • ly0303521
  • ly0303521
  • 2016-11-29 13:44:53
  • 6324

身份认证技术

1. 身份认证往往涉及三个方面,认证、授权和审计 a) 认证:在做任何动作之前必须要有方法来识别动作执行者的真实身份,认证又称为鉴别、确认。身份认证通过标识和鉴别用户的身份,防止攻击者假冒合法用户来...
  • ShaoqunLiu
  • ShaoqunLiu
  • 2016-08-03 21:14:06
  • 2014

数字签名加密过程举例

转载节选自百度百科点击打开链接 假如现在 Alice 向 Bob 传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对传送的信息进行数字加密和签名,其传送过程为: 1...
  • snowin1994
  • snowin1994
  • 2017-03-21 11:46:14
  • 546

python 多进程 —— 进程间通信

multiprocessing.Queue()以Queue为例,在父进程中创建两个子进程,一个往Queue里写数据,一个从Queue里读数据:multiprcessing.Queue.put() 为 ...
  • HeatDeath
  • HeatDeath
  • 2017-06-02 14:35:26
  • 3055
收藏助手
不良信息举报
您举报文章:数字签名与数字证书
举报原因:
原因补充:

(最多只允许输入30个字)