写在前面
缘于在 Twitter 上看到的 HTTPS explained with carrier pigeons,作者用很简单的故事就把 HTTP / HTTPS 的传输过程讲解的很清楚,这种精彩诠释应该被更多人看到。
借原文的意思,我重新写了这个故事,加上了一些配图和补充,请品尝 ...
PS:
如果你想在任何地方使用本文以及文中的插图,请征求我的授权以及注明出处;
本文不是一篇直接翻译过来的文章,有些转载后在标题直接加上一个 [译],表示很不开心,别闹 ...
开始
你在 Internet 上的所有活动,其实都可以归类为 往服务器发送数据 以及 从服务器接受数据,也就是你与服务器的通信。原文作者对这个行为给了一个神奇的比喻:有一只信鸽在你与服务器之前传送消息。
同理,我们也把网络活动中的其他基本元素拟人化,这样这个故事才会完美 ...
LiLei 跟 HanMeimei 通信,情敌 Jim Green 是个 hacker, 当然,信使自然就是 Polly 了。
接下来,请开始你的表演 ...
情窦初开
李雷想告诉韩梅梅:“I LOVE U”,于是李雷写好情书,绑在 Polly 的腿上,让 Polly 去韩梅梅家,韩梅梅拿到情书,呵呵一笑,哦不,娇羞一笑,OK,一次信息传递成功。
有人使坏
然而,喜欢韩梅梅的不止李雷,还有 Jim Green,他半路截取了 Polly,看到“ I LOVE U”,顿生醋意,愤而把消息改成 "F**K OFF" ... 当韩梅梅收到信时,爱情的萌芽必然就被扼杀了,因为韩梅梅并不知道李雷发来的消息被半路拦截并篡改了。
加密消息
上次的事情后,李雷花了用了 1024 天向韩梅梅解释,最终让韩梅梅相信是有人在背后捣鬼,于是,他俩这次学乖了,决定把消息加密,俩人约定好,发送时把消息中的字母都向字母表后移 1 位,也就是发送 “J MPWF V”,这时就算 Jim Green 把 Polly 截了也不知道他们的消息是什么意思,只有韩梅梅知道消息解码的规则,她将每个字母对应字母表前移一位就知道原始消息是“ I LOVE U”,掩面娇羞...
插播科普
上面这种加密消息的方式就是对称加密,你知道如何加密,也知道如何解码。然后李雷跟韩梅梅用的字母表偏移的加密方法叫 Caesar cipher, 凯撒加密。现实世界中用的加密算法会更复杂,但是基本原理相同。
假如他们之前没见过
对称加密在只有发送和接收方知道加密算法和密钥的时候,是安全的。但是问题是,如果李雷和韩梅梅在通信之前都没见过,那他们就没法约定加密算法和密钥了。
旁白:那可以先通信一次把通信方式和密码发过去,然后再发消息呗?
然而,Jim Green 又不是傻,看见 Polly 第一次飞过去,拦下来,哦,原来你们要用凯撒加密,密钥是 1 ... 上面说了,加密方式只有发送方和接受者知道时是安全的,现在第三个人知道了,不安全了。
他们的通信需要更安全的加密系统 ...
PS:在现实中,如果使用对称加密,客户端和服务端都需要保存大量的加密算法和对应的密钥,管理成本巨大且容易泄漏。
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h63621.shtml