【无聊の想法】如何传纸条

【TIPS】本文只是对网络通信安全的形象化解释,在现实中,当你成功执行一次“洋葱路由”的发送时,往往一节课已经结束了。

前言

事情是这样的。你刚刚交了一个女朋友“小美”,你们两个喜欢在上课的时候互相传纸条,你的任务是尽可能地让纸条不被发现。

Round 1

由于你们的平凡交流,导致你们被班主任调开了,中间坐着个你的死党,但你不以为然。

一次,你们像往常一样传着纸条。突然,你的死党微微一笑,起身,将纸条上交给班主任

Then, you lose.

Round 2

你思索了一会儿,意识到,你不能再将纸条直接交给你的女朋友了,于是你想到了一招妙计

聪明的你先将纸条存放在一个盒子里,然后打上你的锁;

传到女朋友手里,上了女朋友的锁;

再传到你的手里,把你上的锁解开;

最后传到女朋友手里,她再将她的锁解开,看到明文。

恭喜你:你发明了**“双重锁定协议”** 。

于是,你们便用着这套方法传递着纸条。


一次,你们像往常一样传着纸条。突然,你的死党微微一笑,起身,将纸条上交给班主任

WASTED

Round 3

你开始思考:为什么这一次纸条被他截获了?💡你突然意识到,问题出在无法验证收到的锁是不是她的。

当你拿回来了带有两把锁的盒子时,你并不知道其中一把锁不是你女朋友的。当你将自己的锁解锁后,就只剩下了你死党的锁。于是,他便能轻而易举地解开他的锁并获得纸条的内容。

于是,你便需要解决验证锁是否来自于你的女朋友而非你的死党。

在传递箱子前,可以先在锁上加上一些独特的标记来证明这把锁来自你们彼此而并非旁人,这样就可以安全传输纸条了。

恭喜你,你发明了**“数字签名验证机制”** ,并且你认为这种方法已经非常安全了。于是,你们又开始用这种方法交换信息。


一次,你们像往常一样传着纸条。突然,你的死党微微一笑,起身,将纸条上交给班主任

你失败了。

Round 4

原来,在你们第一次传纸条时,你的死党就已经研究出了**“密钥替换攻击”** 。当你们第一次交换锁时,你的死党在你和女朋友之间伪装成对方,发送伪造的锁。这种情况下,他可以截获并解密所有消息,同时又能重新加密信息让你们误以为是在安全地通信。

那,无解了?

你逐渐意识到,单枪匹马是难敌死党的。

于是,你将目光投向了全班。

你把纸条的信息分成几个部分,并用每个同学已公布的“公钥”加密。这意味着只有特定的同学能解密他负责的那部分内容,而他不会知道其他部分。

然后,你把加密后的纸条依次交给班上的同学,他们在接到纸条后,先解密自己负责的部分,然后再加密并传递给下一个同学。最终,纸条经过多个节点传递到你女朋友那里,她用自己的私钥解密最后一部分,得到完整信息。这样就可以安全地传递纸条了。

恭喜你,你发明了**“洋葱路由(Onion Routing)”** 。


一次,你像往常一样发送了消息,却再也没有收到回应。原来,小美已经被你的死党的甜言蜜语诱惑走了。这便是攻击者的王牌—— “社会工程学” 。任何防御措施在社会工程学面前不值一提。

GAME OVER

果然啊,理工男都是直男,怪不得交不到女朋友

© Howard Jones 版权所有