用传纸条来说清楚HTTP、HTTPS

胡图图和小美恋爱了,可是翻斗幼儿园不让上课说话怎么办?传纸条!

这和我们学生时代上课传纸条的方法一样,给邻座的同学说一下把纸条要传给谁(目标IP地址),该同学就会自己选择最近的路径(路由器)传给下个同学并告诉他纸条要传给谁,就这样一直传到目标人小美的手里。(HTTP

可是胡图图也会遇到和我们一样在学生时代的难题————那就是有同学偷看我们纸条的内容,甚至有的同学会玩恶作剧胡乱修改纸条上的内容,比如胡图图在纸条上写要和小美在图图家里约会看小猫咪,然后被同学篡改了纸条,把约会地点改到小树林去了。。。这样会让胡图图和小美产生误会。

为了解决这两个问题,我们必须想个办法。

对称秘钥加密:

于是胡图图从家里拿来了一个小盒子(加密算法)来装纸条,并给这个盒子配了一把锁和一把钥匙

胡图图把钥匙给小美一份,然后每次胡图图给小美写完小纸条都把小纸条锁在盒子里(加密)。

小美收到盒子后,用钥匙解锁(解密),才能看到里面的纸条。

同时如果小美想给胡图图回纸条的时候,也是同样的把纸条放进盒子里,并且用钥匙加锁,再让同学们传给胡图图。

这样的话,同学们就不能随意偷看胡图图和小美的小纸条了

但是这有一个问题,胡图图给小美钥匙也得靠同学们传递啊,如果其中有人在传递钥匙的时候,给自己也复制了一份,后面通信的过程中,他既能打开盒子偷看纸条,也能修改纸条并锁上盒子伪装成胡图图发来的。那这样的话锁子岂不是就没用了?

那胡图图必须还得想个办法

非对称秘钥加密:

于是胡图图找图图爸做了一把神奇的锁子(非对称加密算法),这种锁子有两把钥匙A和B,这种神奇的锁子用A钥匙加密锁住后只能用B钥匙解密解锁,同样的,用B钥匙加密锁住后只能用A钥匙解密解锁

有了这种神奇的锁子后,胡图图给小美写纸条只需要用A钥匙一加锁,然后把盒子和B钥匙一起传给小美,小美只需要用B钥匙打开看就行了。

期间就算有别的人可以用B钥匙打开看,那他也改不了纸条上的内容,即使改了,那他也没有A钥匙来锁上盒子,那头小美收到盒子发现B钥匙打不开盒子,那她就知道是纸条被人篡改了。

现在,纸条被修改的问题算是暂时解决了,可是纸条内容还是会被人看,小美还是不开心,胡图图决定继续解决这个问题。

中间的大坏蛋觉得觉得篡改纸条看八卦很有意思很好玩,和胡图图杠起来了,他又想到了一个超级聪明的办法:

他也模仿着胡图图做了同样的有两把钥匙的锁子,分别拥有钥匙C钥匙D,当胡图图把钥匙B发给小美的时候,他把钥匙B截获,并把自己的钥匙D发给小美,这样不知情的小美就以为钥匙D是胡图图发来的。

这样的话,小美给胡图图发的消息用钥匙D加密后发出去,被大坏蛋截获并且用钥匙C解开,然后他篡改内容,再用钥匙B加密模仿小美发给胡图图,胡图图并不知情,他便以为是小美发来的。

这样的话,大坏蛋就完全充当了其中的传话筒,既可以查看小纸条,也可以篡改小纸条,那胡图图之前的努力都白费了。

加密小纸条确实可以增加泄露和查看的难度,但是万一依旧有人很感兴趣看不怕麻烦的话,技术问题上还是解决不了。

那这个问题怎么办呢:

请爱钻牛角尖的同学把这个问题好好想一下,无论怎么传输信息,信息都会经过很多人。想要不被泄露且不被篡改,那么首先我们至少有一次,就是第一次传输的那把钥匙,是不能被篡改的,否则就一直套娃了。

胡图图苦思冥想,觉得这个问题只靠他们两个人根本就解决不了,这是一个套娃问题。

想要真正解决这个问题,必须最开始的时候来找一个最靠谱、最诚实守信的人来做公证。

找最靠谱的人来做公证(CA机构):

这个时候也给这个最靠谱的人那套钥匙,他的钥匙分别是钥匙1钥匙2,他把钥匙2作为公钥发给每个人一份,而钥匙1给自己保存。

一开始胡图图给小美发消息的时候,最先找到这个最靠谱的人,让他用钥匙1来加密,然后把胡图图的钥匙B发到小美那里,因为每个人都有钥匙2,每个人都可以查看到这是最靠谱的那个人认证过的,但是每个人都不可能篡改。

这样的话,钥匙B就安全的到达小美手里了。后面就可以愉快的通信了。

至于会不会还有的同学要抬杠————那这个靠谱的人(CA机构)有没有可能变得不靠谱呢?那这个就是他们CA机构自己的问题了,跑得了和尚跑不了庙嘛,这个以后再说,人们还是有办法限制CA机构的。

今天狐阿七就说到这里,后面有想要学习的同学可以看看“我们的黑客圈”这个微信公众号,里面会一直更新学习内容和白帽子黑客圈内资讯。大家一起学习进步呀!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值