故事主人公Alice、Bob,他们是一对高中的小情侣,在这情窦初开的年纪,情书💌是用来维系日常联络感情的重要手段。故事就从这里开始。
第一章 爱情初体验
- 对称加密
Alice对Bob说,你给我写信的时候,一定要小心不要让别人看到我们的秘密哦。Emmm,我思来想去,感觉这个问题还是让我很不放心。要不然现在我告诉你一个加密规则,写信前你需要根据这个规则对内容加密;我收到信之后,会根据规则反向翻译解密
【结论1】这个加密规则,在密码学的学名叫做“密钥”。
【结论2】由于双方寄信和收信都使用同一个“密钥”,在密码学上称做“对称加密”。
- 非对称加密
甜蜜的日子就这样一天天过着,直到一件糟心事儿打破了这平静的生活。
原来,Alice给Bob说“加密规则”的时候,被身旁的同学Charles听见了。这个charles是个学校里出了名的大嘴巴,情书的详细内容很快在同学之间流传开来,给这对小情侣带来了很大的困扰。
于是一个更安全的加密手段就显得非常急需。爱好数学的Alice了解到一种密码学算法-RSA,算法大致原理是加密算法会生成一对密钥(公钥+私钥),公钥用于加密信件内容,而私钥则用来解密。
所以Alice需要生成这样一对“Alice的非对称密钥对”,其中公钥是公开的,Bob可以利用它来加密信件内容,与此同时类似charles的人即使拿到也无法解密信件;而私钥是收信人Alice独有的,可以用来解密Bob发来的信件。
”非对称密钥“相比于”对称密钥“,优势是消除了在相互告知密钥时密钥被偷听这一潜在风险。
【结论1】这种发信人和收信人使用不同密钥的加解密方式,在密码学上称做“非对称加密”。
第二章 Bob的滑铁卢
- 数字摘要
解决了通信安全问题之后,Bob开始了认真的情书书写生活,不断的表达着自己对Alice的爱慕之情,每天一封,从不间断;年轻的Bob期待着他们的爱情之火愈燃愈烈。可是爱情这件事儿,往往伴随这持续不断的波折和意外。Bob逐渐发觉到,Alice对他的态度不仅没有变好,反而开始有些疏远他;甚至在一天放学的路上,发现Alice竟然主动和她的另一位追随者Dogulas一起坐校车回家。
“一定是哪里发生了问题!”Bob自言自语道。
Bob开始悄悄尾随Dogulas,试图找到他的异常行为;果然,在一天放学之后,发现D偷偷的将白天Bob投递到Alice家门口信箱的信件取出并拆开,涂涂改改一番操作之后,又将信件封起来放回信箱。Bob明白过来,是D篡改了他给Alice写的信,也许正是这篡改的内容引起了Alice的误会。Bob决定去和Alice当面沟通清楚,并寻求Alice的理解。Alice明白事情真相之后,很坚定的选择了和Bob站在一起,思考应对方案。Alice回想到数学课堂上学习过的哈希算法,觉得这是一个解决问题的好办法。
她和Bob约定,可以利用“单向Hash函数”将需要加密的明文映射成一串固定长度(128位)的密文。Bob把这串128位的密文就附在信件末尾,Alice在收信时同样对全文hash运算;如果未被中间人篡改,那理应结果应该等同于信末的那一串密文才对。
【结论1】这种利用hash函数将文本映射固定长度字符串的手段,在密码学中被称作“数字摘要”。
【结论2】数字摘要有如下特征:不同的明文摘要成密文,其结果总是不同的。基于这种特征,结合文本内容和密文,就可以判断文本是否曾被篡改。所以“数字摘要”是确保数据完整性和防篡改的有力技术手段。
- 数字签名
鉴于爱情路途的坎坷不断,思维缜密的Alice在思考是否还存在着潜在的漏洞呢?果然,她提出了一种假想:如果D不再只是篡改Bob的信件,而是用自己写的信完全替换掉Bob的信件,那么之前所有的努力不是都无济于事了吗?善于总结归纳的Bob说道:“现在的一个核心问题,就是如何证明信件是我本人发出的”。哈哈,他现在需要证明自己就是自己!想到这里,Bob不禁苦笑了出来。
爱情的光辉总是在危机来临的时候得意金光灿灿!在这个时候,为了支持男朋友,为了找到问题的解决方案,Alice于是又开始了阅读密码学文献的日子,经过大量的阅读和整理,她拿出了这样一套清晰的解决方案。
具体流程是由Bob也生成一套非对称密钥对,区别于之前Alice生成的非对称密钥对“A密钥对”,我们给这一套Bob生成的密钥对起名为“B密钥对”;其中私钥由Bob自己保存,公钥则公开。
在Bob写信时,
1.对全文hash生成128位数字摘要;
2.紧接着,也是最关键的步骤,就是利用”B密钥对“的密钥,对生成的数字摘要进行加密,并附加在信件末尾;
3.用“A密钥对”的公钥,对文章加密;
在Alice收信时,
1.用“A密钥对”的私钥,对信件内容进行解密;
2.首先用“B密钥对”的公钥,对数字签名进行解密,得到数字摘要;
3.然后hash,比较计算结果和第一步得到的数字摘要是否匹配。
按照这种操作,Alice通过“B密钥对”和数字签名,可以印证信件来源是否是Bob本人!
【结论1】基于“非对称加密”和“数字摘要”的这种新的概念,在密码学中被称作“数字签名”;
【结论2】数字签名主要解决的问题是发送消息的人自证身份,避免发件人身份伪造;
【结论3】本章描述的两种窃密手段,在密码学中被称为“中间人攻击”;
第三章 爱情的莫比乌斯环
在经历了这么多故事之后,Bob和Alice深信他们的感情已经逐渐加深,他们彼此都对对方透露出十足的专心。事情告一段落之后,在一个夏夜Bob接到了一封信,里边只有一串密钥和一个小小的红心❤️。看起来,一定是Alice在提示Bob,这接下来的新的阶段,是时候启动一套全新的密钥了。带着新的公钥,Bob又开始了每日给心爱的Alice写信的日子。
可是说起来也是奇怪,Bob的生活再一次开启了丧的循环中,为什么这么说呢?因为他发现,Alice又渐渐的开始对Bob产生了淡漠的态度!和上次稍有不同的是,这次D同学再也没有出现,只是Alice时常一个人冷冷的,和Bob有意的保持了一定的距离。少年Bob的烦恼啊,太阳东升西落,他什么时候能够不被这样的烦心事所纠缠呢?好在他是一个很棒的小伙子,他还是决定勇敢的直面问题,找出背后问题的蛛丝马迹!
最好的方式,就是开诚布公的交谈。于是他找到Alice,希望她能告诉她最近冷淡的实情。没想到的是,Bob这一句话引爆了能量密度极强的Alice,她反问道:“你还质问我为什么冷淡?你还是先问问你自己吧!是谁说要天天给我写信,到最后一封都没见到,看来在一起时间长了...大概你是不爱了吧...”
Bob惊呆了,什么,一封信都没有收到???这回难道是D直接把所有信全部偷走了?
可怜的Bob又开始了跟踪信件的生活。神奇的事情发生了,Bob发现,这次确实是有人从收件人Alice家的邮箱里偷走了信件!更奇怪的是,这个并不是D!而是Bob的前女友Ella!
Bob生气极了,他压制着心头的怒气,电话接通了Ella,质询她这样偷走别人的信,对她有什么好处? 电话那头,Ella淡淡的说:“好处?好处就是我每天都可以获取来自你的关心,即便关心的对象并不是我,可是我可以独享这份关心,就像是你对我好一样的!这些温暖,是以前你和我还在一起的时候,从来没给过我的...”。伴随着电话那头小声的啜泣,Bob在电话这边更是满头雾水,“什么?你可以看到信件内容?你没有密钥,你究竟是怎么解密的呢?”。只见电话那头,只是轻轻的说了几个字,电话就应声挂断。那几个字像是空旷山谷里的回音一般,在Bob的耳边久久回荡,
“上月末的夜晚,那封信,那串带着♥️的密钥,你还记得吗...以前我们再一起的时候,写信结尾一定有♥️呢,那是我们的密钥...只不过我们再也回不去了....”
Bob不喜欢Ella强势的性格,于是选择了主动分手。没想到这个女孩对她如此的难以忘怀,甚至不吝伪造假的公钥来欺骗Bob,试图假扮Alice和Bob一直进行通信。Bob开始被新的问题所困:“连这个公钥都有能有伪造的风险,如何保证公钥的可信呢?”
Bob再一次找来Alice,在月光下促膝长谈,两个年轻的小人儿,如何用自己聪明的大脑,来为尚未稳固的爱情建立兼顾的围墙?爱情的你来我往,就像莫比乌斯环,兜兜转转,最后还是回到最初的地点。
数字证书
一筹莫展的Bob和Alice这次似乎真的遇到困难了,于是,Alice提议去找他们的教授寻求帮助。
他们的数学教授叫做Frement,是一个年近六寻、慈眉善目的的老头儿,见到他的得意门生Alice来办公室找他,连忙招招手让他进来坐下。见到平日里沉着平静的Alice,今天看起来心情明显有些急躁,于是教授连忙问她发生了什么事情吗。于是Alice也就顺势开门见山,将他们最近遇到的问题,和这些天他们的应对对策,都一五一十的和教授娓娓道来。当讲到最近遇到棘手的问题的时候,Alice小小的脸庞上眉头紧锁。
Frament听罢,端起茶杯,吹开三两片茶叶,细细的抿了一口。接着闭上眼,仰头,似乎在回味新一季的茶香,听见教授轻声说,“你们这样纯净的爱情啊,也让我想起了我曾经年少时,做过的那些可爱的傻事儿呀,哈哈!”只见Frement放下茶杯,站起来,慢慢的走向办公室的门口,轻轻的带上了大门。他转过身来,笑呵呵的,细声细气的对Alice和Bob说:“其实啊,虽然现在倡导不要早恋,可是你们的经历让我想起了我热血澎湃的青年时代,我个人决定要给你支持!所以,我可以给你们支一招!”Alice和Bob眼睛都睁大了,他们果然没有找错人,Frement重新燃起的他们希望的火光。
“你们以后所有的公钥,都放到我这里来保管吧;在使用的时候,在我这里获取。”
把公钥保存在F教授这里的好处?
1.在我这里注册公钥的时候,我可以鉴定每个人的真实身份,确保密钥注册人的身份真实可信;
2.在我这里获取公钥的时候,由于我是可以绝对信任的,可以避免获取他人伪造的虚假公钥的风险;
“总而言之,公钥保存在我这里,可以保证公钥的真实性。”
公钥在F教授处注册和使用具体流程是?
1.在生成密钥后,生成者需要在我这里注册密钥信息,包含公钥、个人信息等,我会对生成者的身份做一次鉴定,确认是生成者和个人信息不符;
2.我会将经过鉴定确认的公钥和个人信息封装到一个文件里,并附加上属于我的私钥;生成的这个文件,密码学上也称作“数字证书”;
3.公钥者使用者需要在F教授处,申请获取这样一个“数字证书”即可;
Alice醍醐灌顶般的看着F教授,原来通过借助F教授这样一个第三方可靠的机构来保存密钥,可以有效的避免被伪造的问题!
【结论1】在密码学中称这样的可信机构叫做证书颁布机构“Certificate Authority”,简称CA。
【结论2】CA一般是政府或相关权威部分认定的机构,并存在多个不同层级的CA,即有认证低级别CA的高级别CA的存在。
第四章 尾声和彩蛋
故事到这里,就到了尾声,Bob和Alice依然每天都在用信件传递着他们的爱和生活;Charles,Dogulas,Ella也慢慢的开始在自己的生活中走向了正轨;而至于Frement教授嘛,他除了在认真保管我们男女主人公的密钥之外,你们猜,他平日里还在做些什么事情呢?
这里相对聪明的读者们留一个彩蛋:大家表面里看似慈祥的F教授,会不会在暗地里,悄悄的做着隐人耳目,窃听男女主人公私密的事情呢?一些看似美好的生活脚下,是否隐藏着惊天的黑幕?
信息安全的对抗永远不会有尽头,AliceBob和我们的F教授的对抗,才刚刚开始。