可以关闭互联网的7个人,太厉害了!

这个世界上有7个人,如果他们愿意的话,可以把整个互联网“关闭”。

他们之所以这么牛,主要因为每人掌握了一把神秘的钥匙。

这个神秘的钥匙是什么? 

我们得从IP地址说起。

01

IP地址和DNS

世界上每台计算机都有一个IP地址,这样大家可以互相找到对方,进行通信。

bb1cddd3a43fd9e30e724ba3a2a4c358.png

很明显,110.242.68.5这样的IP地址太难记了,所以,人类又发明了域名

c6e9a6f82260c6acff2932282f214675.png

我们可以把所有的域名和IP地址的对应关系都放到一个DNS服务器中,形成一个集中式的数据库

14c8b1fdeb0e5d8403af80bbe1158a51.png

但是这个设计会带来几个严重的问题

1.单点故障

如果该DNS服务器崩溃,整个互联网就崩溃了

2.性能

全球的电脑都向它发出请求,这个服务器就累死了。

那些需要查询IP地址的电脑可能距离DNS服务器很远,导致严重的时延。

可以看出,单一集中式的DNS数据库完全没有扩展能力

所以,人们设计的DNS系统是一个的分布式数据库。

这个分布式数据库分为三级:

753e2d08ec2d81afe1d33aff788a43df.png

根DNS服务器,全球有13个(实际上,每个根服务器都是个冗余服务器网络)

顶级域名服务器,负责顶级域名,例如com 、org、net、edu、gov等

权威DNS服务器,如果某个公司、组织机构在互联网上具有可以被公众访问的主机,那它必须要提供公共可访问的DNS记录。

除了这三级之外,还有个叫做“本地DNS服务器”的DNS,负责和这三级的DNS交互。

通常的交互过程是这样的。

77635a809ce4aecb25f6e0a6a5dc0923.png

不是每次DNS查询都这么复杂,为了减少时延和传输的报文数量,DNS广泛使用了缓存,这里不再详述。

02

解决DNS的漏洞

分布式,随意扩展,这是个设计得非常漂亮的系统。

任何互联网产品,只要不考虑安全,都会死得很难看

如果有人冒充DNS服务器,给你返回了假IP怎么办?

adfea73034aed8da648cb4683065618e.png

所以,这个DNS记录发给浏览器的时候,必须得做个数字签名

数字签名可以证明:

1.这的确是我给你发的DNS记录

2.这个DNS记录在传输过程中没有被篡改过。

数字签名依赖非对称加密,也就是公钥和私钥,这里就不再详述了,可以参考这篇文章《一个故事讲完Https

简单来说就是DNS服务器用自己的私钥来对DNS数据进行签名,查询方用公钥来验证

这的确是一个完美的解决方案,可是和HTTPS一样,这里也遇到了公钥分发的问题。

查询方如何确定自己拿到的DNS公钥是合法的呢? 

要知道公钥可是经过网络传输的,完全可能被中间人篡改,进行中间人攻击啊!

既然问题和HTTPS一样,那解决思路也是一样的:让上级对下级服务器的公钥进行签名。然后用上级的公钥来验证。

可是,如何安全地拿到上级的公钥?它在网络传输中会不会被篡改呢?有可能。

那就用上上级对上级的公钥签名,用上上级的公钥验证签名。

可是,上上级的公钥在网络传输的过程中会不会被篡改呢?会的。

那就用上上上级对上上级的公钥签名,用上上上级的公钥验证签名

......

如此下去,总得有个尽头吧,那就是ICANN(“互联网名称与数字地址分配机构”)的公钥!

大家都信任ICANN,可以把它的公钥内置到系统中,这样一个信任链就可以建立起来了!

03

可以关闭互联网的7个人

而ICANN的私钥,这可是天大的秘密了,一定得保护好。

私钥本身其实是个文件,ICANN把它放到了一个叫做硬件安全模块 (HSM) 的专用设备中。

5a00df95b44c220fc72c6113f3543a27.png

这个HSM做了四个备份,分别保存在相距4000公里的美国东西海岸。

e11f86706e945f964506c8ba5456b313.png

每个备份都被重重保护,保险箱、摄像头、指纹、警卫......你能想象的保护方式都用上了。

d5bcc1c58e564bfb9d20395505423f02.png

即使你通过了重重防卫,成功地拿到了一个HSM,你也很难打开它。

如果你尝试暴力打开,HSM会擦除其保存的密钥,你啥也拿不到。

正确的做法是使用几张智能卡,但是这些智能卡保存在其他的保险箱里,只有使用物理的钥匙才能打开。

这些钥匙,被世界上7个人所持有(实际上,还有七个人作为备份)。嗯,这七个人终于出现了!

4d5c8beb5830e386f73395a89165fded.png

这些钥匙持有者并不是各国的政要,而是安全领域的顶级专家,他们对这一套安全流程理解地比你我要透彻地多。

当需要使用ICANN私钥的时候,七个人中的五个需要拿着它们的钥匙,来到保存HSM的地方,取出各自的smart card,然后一起开启HSM。

这个过程被称为key ceremony(钥匙仪式)。

cdda8463cbc0200a31cc4b1c1aafa155.png

由于必须要保证私钥的安全性,key ceremony的安全措施非常严格。

参与者需要多次扫描指纹,使用多个密钥代码,才能打开进入会议室的一道道门。

b6a248dbca897a5ad5c4a8f12dec45ad.png

这个会议室是密闭的,连电子信号都传不出去。

大楼保安和清洁工也不能进,有一次,一个瑞典的钥匙持有者买了个20美元的吸尘器专门做了清洁。

整个活动严格按照事先写好的脚本来进行,有100多个步骤,所有操作都使用GMT时间记录到分钟,每一步都保持透明。

efa64ec1c97306540f31492545fb3da5.png

流程极其严谨,甚至连笔记本和HSM在桌子上的摆放位置都画好了。

eb926251e46bce275df2a6cd395a491b.png

411ed65bf47b6cdafc95a03bf27d2c2a.png

当然,有时候也会出差错,有一次,安全控制器将保险箱的门关上时,触发地震传感器,进而触发自动门锁。仪式管理员和钥匙持有者都被锁在一个8英尺见方的笼子里!

仪式完毕之后,据说他们会去当地的餐馆庆祝一番。

全文完,觉得不错的话点个或者在看吧!

近期精彩

世界上最流行的数据库,竟然是套壳的 !

欧洲的编程语言三巨头,只剩下一位了!

坏了,我把闺女培养成程序员了

巴西都发明两门流行的编程语言了!

继Linus之后,又一个动辄就“F**k You”的技术天才和营销大师出现了!

世界最强计算机,极少人见过,让程序员高薪工作一辈子!

这个波斯人的名字,成了无数程序员的梦魇!

  • 23
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值