当前位置:首页 > 电脑网络 > 数字签名是什么?

数字签名是什么?

电脑网络2012-12-2842550

  本文用图片通俗易懂地解释了"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。希望多你有帮助。

  1.

20120726200805713526.PNG 数字签名是什么?  网络 技术 第1张

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

  2.


20120726200805346687.PNG 数字签名是什么?  网络 技术 第2张

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

  3.


20120726200805420723.PNG 数字签名是什么?  网络 技术 第3张

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

  4.


20120726200805994391.PNG 数字签名是什么?  网络 技术 第4张

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

  5.


20120726200805878616.PNG 数字签名是什么?  网络 技术 第5张

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

  6.


20120726200805018181.PNG 数字签名是什么?  网络 技术 第6张

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

  7.


20120726200805152986.PNG 数字签名是什么?  网络 技术 第7张

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

  8.


20120726200805256051.PNG 数字签名是什么?  网络 技术 第8张

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

  9.



20120726200805226867.PNG 数字签名是什么?  网络 技术 第9张

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

  10.


20120726200805324284.PNG 数字签名是什么?  网络 技术 第10张

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

  11.


20120726200805095570.PNG 数字签名是什么?  网络 技术 第11张

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

  12.


20120726200805558569.PNG 数字签名是什么?  网络 技术 第12张

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

  13.


20120726200805997182.PNG 数字签名是什么?  网络 技术 第13张

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

  14.


20120726200805912831.JPG 数字签名是什么?  网络 技术 第14张

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

  15.


20120726200805269836.PNG 数字签名是什么?  网络 技术 第15张

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

  16.


20120726200805834377.PNG 数字签名是什么?  网络 技术 第16张

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

  17.


20120726200805872862.PNG 数字签名是什么?  网络 技术 第17张

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

  18.



20120726200805531728.PNG 数字签名是什么?  网络 技术 第18张

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

  19.


20120726200805891103.JPG 数字签名是什么?  网络 技术 第19张

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

  20.


20120726200805228145.PNG 数字签名是什么?  网络 技术 第20张

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

来源:http://www.youdzone.com/signature.html 翻译:阮一峰

扫描二维码推送至手机访问。

版权声明:本文由海阔天空发布,如需转载请注明出处。

本文链接:https://www.apull.net/html/20121228033.html

标签: 网络技术
分享给朋友:

相关文章

修复快速启动里的显示桌面图标

修复快速启动里的显示桌面图标

修复快速启动里的显示桌面图标 任务栏快中速启动里的显示桌面的图标用起来很方便。可是不小心丢失后该如何处理呢? 下面有个方法可以修复这个图标。这个图标其实是一个文本格式的文件,不是真正的图标。它的内容是:[Shell] Command=2 IconFile=explorer.exe,3 [Taskbar]  Command=ToggleDesktop知道了内容,修复他就很方便了。打开记事本输入下面代码@echo off cd /d "%USERPROFIL...

开发者版本:你属于哪个版本的程序员?

开发者版本:你属于哪个版本的程序员?

【6月25日 CSDN 付江/编译】国外开发者博客中有一篇有趣的文章,将程序员按水平像软件版本号那样划分为不同的版本。相对于在招聘时分为初级,中级,高级程序员,直接表明需要某种语言N版本的程序员或许更方便直接。根据作者的观点,可将WEB开发者大致分为以下几个版本:Alpha:阅读过一些专业书籍,大多数能用Dreamweaver或者FrontPage帮朋友制作一些Web页面。但在他们熟练掌握HTML代码以前,你大概不会雇佣他们成为职业的WEB制作人员。Beta:已经比较擅长整...

Windows 7 32位与64位的区别

Windows 7 32位与64位的区别

Windows 7从另一种角度上来说,包含两类大版本,一个是32位,另一个则是64位。64位系统就一定强过32位吗?你是否需要64位Windows 7?32位系统和64位系统有什么区别?在内存与CPU上的区别首先,相信选择64位Windows 7的网友中很有大比例是内存大于或等于4GB的。在32位Windows 7下,可能会显示内存可使用3.25G,这让很多网友感到不安。没错,可寻址的内存空间确实是32位Windows 7和64位Windows 7最为显著的特点。32位的CP...

Photoshop调出情侣照片浪漫的紫色调

Photoshop调出情侣照片浪漫的紫色调

最终效果:原图:1、打开原图素材,按Ctrl + Alt + ~ 提取高光选区,按Ctrl + Shift + I 反选,按Ctrl + J 复制,然后把图层混合模式改为“滤色”,加上图层蒙版,用黑色画笔,降低不透明度在人物四周及五官位置处涂抹,要学会不断调节画笔的大小和降低画笔的不透明度,这一步操作的主要目的是提亮人物。2、新建一个图层,按Ctrl + Alt + Shift + E 盖印图层,选择菜单:图像 > 模式 > CMYK 颜色,确定后创建通道混合器调...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。