首页
下载应用
提交文章
关于我们
🔥 热搜 🔥
1
百度
2
今日热点
3
微信公众平台
4
贴吧
5
opgg
6
dnf私服
7
百度贴吧
8
知乎
9
dnf公益服
10
百度傻逼
分类
社会
娱乐
国际
人权
科技
经济
其它
首页
下载应用
提交文章
关于我们
🔥
热搜
🔥
1
百度
2
今日热点
3
微信公众平台
4
贴吧
5
opgg
6
dnf私服
7
百度贴吧
8
知乎
9
dnf公益服
10
百度傻逼
分类
社会
娱乐
国际
人权
科技
经济
其它
”FAN某”的离婚财产分割判决书(全文)
”FAN某”的离婚财产分割判决书(全文)
哈里斯女粉搞4B运动、毒杀丈夫,回旋镖能否让美国“血流成河”
比国产光刻机更重要的IPO要来了!
这把绝对高端局,只有中国人才懂
生成图片,分享到微信朋友圈
2016年10月29日
2021年5月7日
2021年5月8日
2021年5月9日
2021年5月10日
2021年5月11日
2021年5月12日
2021年5月23日
2021年6月1日
查看原文
其他
对浏览器村的第二次采访
原创
2016-04-11
老刘
码农翻身
上一次由于IE老先生太激动, 没有机会采访下Chrome和火狐, 这回我们记者再次拜访浏览器村,先找到了Chrome , 不但做了个深度访谈,而且解决了HTTP中包裹的安全问题, 创造了一个新的包裹运输方式:
HTTPS
。
没有看过上一篇文章的读者可以回复“
IE打人
”或者通过公共号的“
热门
”菜单查看
记者
Chrome你好, 久仰大名, 你能谈谈平时你是怎么做代理生意的吗?
我看了你上次的访谈,老IE确实也挺可怜的,其实我和IE做生意的方式差不多,只是我更快,更稳定,更安全。
Chrome
记者
此话怎讲?
首先,主人每次委托我访问一个网站时, 我就会创建一个和我差不多的代理人(进程)来为主人服务,有多少个网站就有多少个代理人, 我只是居中调停, 要是某个网站崩溃了, 不会影响其他代理人。其次,我执行javascript的速度要比老IE快的多,估计你也听说过V8 引擎吧, 那速度简直是唰唰的。就是有人看到了这一点,才会把我的V8引擎放到服务器端去执行javascript ,创造了Node.js 。服务器端, 你造这意味着什么吗?
Chrome
记者
不知道啊?
这意味着需要支持多用户,大并发啊 , 这足以说明我执行的速度该有多快!
Chrome
记者
厉害, 上次老IE给我介绍的时候, 他说你们就是收发包裹 , 我一直有个疑问, 你们的包裹传那么远, 难道就不怕被某些居心叵测的人拆开,做点坏事吗?
你算问道点子上了, 最近闹得沸沸扬扬的运营商劫持事件不就是这样吗, 这帮家伙没有我们的允许, 强行把我们的包裹拆开, 放了大量的小广告传单, 让我们主人看的非常不爽。 可是我拿它也没办法, 因为我区分不开这些广告到底是运营商加的,还是网站本来就有。 其实小广告还能忍, 万一包裹中的用户名和密码被那些地痞流氓看到了, 主人的损失就大了去了。
Chrome
记者
我倒是有一招, 把包裹放到保险柜里去!
对, 我最近也在琢磨这事儿, 保险柜上有锁, 那些人就打不开了, 可是钥匙怎么发给隔着千山万水的服务器啊, 如果通过包裹把钥匙发过去, 你知道运送包裹的路上有很多人虎视眈眈啊, 钥匙就有可能被人复制, 保险柜就没用了, 如果服务器亲自到我这儿当面取, 那这么多服务器, 这么多浏览器, 大家都得累死了。
(码农翻身注: 双方用的钥匙一样,这其实叫做对称加密和解密)
Chrome
只听到外边有人咳嗽了一声, Chrome往窗户下一看, 老IE正蹲在那里偷听呢
进来吧, 蹲那儿多难受。
Chrome
老IE尴尬地笑了笑, 走进来坐下。
其实这个包裹问题我也想了很久了, 终于有了点眉目, 我们来讨论下吧, 听说过没有?最近有人发明了一个新的保险柜, 非常神奇,有两把钥匙,一把是公开的,无论是谁都可以配一把 (简称公钥), 另外一把是私有的, 必须要保管好(简称私钥)。 神奇的地方还在这儿: 如果是用公钥把保险柜锁上, 只能用私钥打开, 反之, 如果是用私钥锁保险柜, 只能用公钥打开。(码农翻身注: 这其实叫做非对称加密, 大名鼎鼎的RSA算法。)
IE
记者
确实挺神奇, 但是有啥用啊?
我也听说过, 这个保险柜的名字叫RSA , IE老先生的意思是:我们买个这样的RSA保险柜, 发包裹时, 用远程网站的公钥来锁上, 这样那些地痞流氓就无法打开了, 等到保险柜到了网站,他就可以用他的私钥打开了。
Chrome
记者
妙啊, 可是你怎么取到人家网站的公钥?
这很简单啊, 网站发个包裹给我们不就有了嘛!
IE
慢着, 万一这个包裹也被人拆开了呢? 他完全可以把这个公钥替换成自己的公钥,做个中间人, 模拟远程的网站,这样我们的后续包裹不还是着了流氓地痞的道了?(码农翻身注: 这叫中间人攻击)
Chrome
记者
让那个网站也把公钥放到保险柜里, 然后发过来
那就回到原始的问题了, 典型的鸡生蛋, 蛋生鸡, 谁先谁后啊
IE
不如这样, 我们让网站从公安局申请一个特殊的身份证,里边包含公钥和他的网址, 然后通过普通包裹发给我们, 我们会向公安局查询, 看看到底是不是他。
Chrome
记者
那地痞流氓还是可以改这个身份证, 把公钥给替换了啊。
你不知道, 这个身份证的特殊之处在于有个“
签名
”,只要改了身份证里的任何东西,哪怕是一点点, 签名就会变, 我们可以让网站用自己的私钥把签名锁到RSA保险柜里,随同包裹一并发给我们, 这样我们收到以后,我们就试试用公钥能不能打开这个柜子, 如果打不开,公钥肯定被人换了; 打开了, 我们就对比一下身份证上的最新签名和保险柜里的是不是一样, 如果不一样, 也证明身份证被人做了手脚。
Chrome
记者
这真是好复杂啊, 不过好像解决了拿到网站公钥的问题, 还是你厉害,Chrome。
我忘了给你们说了, 这个RSA保险柜有个很大的问题:就是加锁和开锁特别的慢, 如果每次都用这个保险柜来发包裹,我们主人估计受不了。
IE
记者
(小声自言自语)靠, IE真是老糊涂了 ,这保险柜明明就没法用还给我们说。
我想想, 应该还有办法, 再梳理一下现在的过程:1. 网站给我们发身份证2. 我们验证身份证是不是合法, 具体方法如下: 2.1 向公安局查询 2.2 验证网站 2.3 用公钥打开RSA保险柜, 验证签名是否正确。3. 如果上面的都通过,我们就确认公钥没有问题 。
Chrome
我想到了! 以后我们就可以用普通的钥匙和普通的包裹了, 像这样1. 我们创建一把普通钥匙, 再配一把, 然后把它放到RSA保险柜, 用刚刚验证过的公钥锁上2. 网站用私钥把RSA保险柜打开, 拿到普通钥匙3. 从此以后,我们就用普通的钥匙和普通的保险柜来运送包裹了, 这样速度就快多了吗?
IE
记者
妙啊, 老先生, 我们搞了这么多,其实就是为了把一把普通的钥匙发给网站啊, 看来你是宝刀不老啊。
过奖过奖。
IE
我们就把它称为 HTTPS (HTTP over Secure Socket Layer) 吧, 以后如果哪个网站不用https , 我就给主人提示, 主人确认了, 我才去访问。我们google 也会把我们的所有的网站都改成https。
Chrome
我们微软也改。
IE
码农翻身注:
RSA算法
: RSA公钥加密算法由三位在麻省理工的科学家提出,RSA就是他们三人姓氏开头字母拼在一起组成的。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难, 大家可以自行搜索更多细节。
特殊的身份证
:其实就是网站的证书。
公安局
:就是证书的颁发机构。
签名
: 签名就是对内容做一个Hash操作,特点是单向的, 不可逆的, 不能从签名还原内容。
声明:
原创文章,版权所有,未经授权,不得转载。
公众号:码农翻身“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。
您可能也对以下帖子感兴趣
{{{title}}}
文章有问题?点此查看未经处理的缓存