TCP/IP协议——一文读懂数字摘要、数字签名,哆啦A梦特别版1.0(个人收藏学习笔记)
作者:互联网
1.前言
最近无意中看到了阮一峰大佬的关于数字签名的一个翻译(数字签名是什么?,该篇文章的精髓在于评论内容),觉得对数字签名突然没有那么迷茫了,所以决定做一个学习笔记,以便以后回来查阅。
为了让自己对数字签名有一个深刻的理解,博主觉得以哆啦A梦的人物故事线(很多90后的青春回忆)来帮助自己理解。
2.哆啦A梦的一个小插曲
在讲解数字摘要和签名之前,我们先明确一下故事主线:
在未来的日子里,大雄和静香在一起了,并且两人时常会写信交流。
故事重要角色:
-
大雄
-
静香
-
胖虎
-
叮当猫
-
书信
2.1 大雄静香面对面交换书信
一开始,大雄和静香之间是直接面对面交换书信。
书信内容:静香,我昨天吃了一个不错的美食,下次带你去吧…(省略好几千字)
这个时候的书信内容还是明文
(所谓明文就是别人一看就知道写了什么内容),任何人都可以看到内容写了什么。这个时候因为是面对面交换书信,所以不会存在有人会改动内容,安全级别高。
2.2 大雄要出远门,通过信箱传递书信
有一天,大雄要出一趟远门,需要在外面进修三个月。这个时候只能通过邮箱给静香发书信。
两人的通信方式如下:
书信的传递方向:
大雄 ——> 邮箱 ——> 静香
大雄写的书信先寄到静香家里的邮箱,静香再从家里邮箱去拿到书信内容。
2.3 胖虎出现,恶作剧修改书信内容
某一天,胖虎知道了两人的书信交流方式,想恶作剧一下两人。
恶作剧方式:
修改大雄的书信内容
此时,通信方式变成:
书信A内容:
大雄:静香,我最近很想你…(省略好几千字)
胖虎截获了书信A之后,把书信A改成了书信B,恶搞内容变成:
大雄:静香,我最近有点讨厌你…(省略好几千字)
在这里,大雄和静香并不知道胖虎恶作剧的事情,我们暂且把胖虎定义为“中间人***
”。
于是,静香大发雷霆,对着哆啦A梦说着大雄的信件内容。哆啦A梦去跟大雄求证信件内容,大雄表示完全不是这篇内容。
至此,哆啦A梦得出了一个结论:有人在两人不知道的情况下修改了信件内容
。
2.4 叮当猫百宝箱,书信摘要手电筒,书信摘要扫描仪
哆啦A梦从百宝箱中拿出两个神器。
- 书信摘要手电筒,这个神器给到大雄
摘要手电筒的功能就是:大雄写完书信内容之后,用手电筒照一下书信内容,手电筒会把书信内容经过某种特殊处理之后生成一份摘要信息,再把摘要内容附在书信内容的最后面
。
并且,不能通过摘要去反推原文内容
。
书信摘要手电筒在这里就充当了特殊算法,对应我们技术上的Hash算法
。
什么叫做摘要
呢?
小学上课,语文老师总喜欢叫我们在
看完一篇课文之后写出文章的中心思想
,这个中心思想就可以理解为文章摘要
,我们可以通过文章内容来推出文章摘要,而不能反过来通过文章摘要推出整篇文章具体写了什么内容。
- 书信摘要扫描仪,这个神器
给到静香
书信摘要扫描仪工作原理:静香扫描书信内容,扫描仪会按照书信摘要手电筒的方式生成一份书信摘要B,再把生成的摘要B和原来信件里面自带的摘要A进行对比,如果一样,证明这份摘要就是由信件内容生成的
。
这个时候,通信模型变成:
胖虎就算恶搞了书信内容或或者随意修改摘要。恶搞后的信件在扫描仪这一关无法通过。
以上两种恶搞情况均无法骗过扫描检测仪。
2.5 胖虎再次出现,获得另一个书信摘要手电筒
没错,我胖虎又来了,胖虎得知了书信摘要手电筒这个秘密之后,又获得了另一个书信摘要手电筒(当然不要问我怎么得知怎么获得)。他通过 书信摘要手电筒 再次恶搞(两个书信摘要手电筒生成的摘要信息都可以通过扫描仪检测)。
以上情况可以欺骗扫描检测仪。
没错,于是,静香大发雷霆,对着哆啦A梦说着大雄的信件内容。哆啦A梦去跟大雄求证信件内容,大雄表示完全不是这篇内容。
至此,哆啦A梦得出了一个结论:有人在两人不知道的情况下修改了信件内容和摘要
。
2.6 叮当猫百宝箱,书信摘要加密手电筒,书信摘要解密扫描仪
哆啦A梦从百宝箱中拿出两个神器。
- 书信摘要加密手电筒,这个神器给到大雄
摘要加密手电筒的功能就是:大雄写完书信内容之后,用手电筒照一下书信内容,手电筒会把书信内容经过某种特殊处理之后生成一份摘要信息,再把摘要内容经过加密附在书信内容的最后面
。加密的关键在于密钥,而且这个密钥只有大雄自己知道(这里技术上叫做私钥
,私钥加密就只能公钥解密,公钥加密就只能私钥解密,不存在公钥加密公钥解密
)。
这里我们引入了一个概念:数字签名
。
什么叫做数字签名
呢?
数字签名就是在数字摘要的基础上经过加密得到的一串密文。
这里会涉及到三大元素:数字摘要
、密钥
、加密算法
。
- 书信摘要解密扫描仪,这个神器
给到静香
书信摘要扫描仪工作原理:静香扫描书信内容,扫描仪会按照书信摘要手电筒的方式生成一份书信摘要B,再把原来信件里面自带的签名A进行解密得到A1,再对比B和A1,如果一样,证明这份书信内容并没有被人动过手脚
。
这个时候,通信模型变成:
这里需要注意几个东西:
- 大雄写完信件生成摘要之后会通过只有他自己知道的密钥(
私钥,其他人无法得知
)去加密生成数字签名。 - 静香拿到书信之后可以通过公钥去解密数字签名得到数字摘要。
- 胖虎拿到书信之后也可以通过公钥去解密数字签名得到数字摘要。
- 胖虎在恶搞内容时,就算通过公钥去加密数字摘要得到数字签名再附在书信上,静香拿到之后也无法通过公钥去解密出来。扫描仪会判断到信件被人改动过了。
胖虎就算恶搞了书信内容或或者修改数字签名。恶搞后的信件在解密扫描仪这一关无法通过。
至此,整个通信过程就变成安全多了。
3. 总结
本文博主只是通过哆啦A梦的一个想象故事去理解数字摘要、数字签名的概念。如有错误请指正。另外,读者需要了解几个概念:
- 数字摘要
- 数字签名
- Hash算法
- 公钥私钥、加密算法
以上几个概念都是SSL时需要提到的概念,希望不要混淆。
标签:特别版,1.0,数字签名,摘要,静香,书信,大雄,内容 来源: https://blog.51cto.com/dpjcn1990/2978624