专栏名称: 猿大侠
猿大侠,既然选择了,就一定成为大侠! 小程序、小游戏、Google、苹果、职场、前沿技术分享,一起成长。
目录
相关文章推荐
津云  ·  天津公积金新政!征求意见! ·  8 小时前  
生态梦网  ·  赶快收藏!生态城公交线路全攻略 ·  昨天  
51好读  ›  专栏  ›  猿大侠

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

猿大侠  · 公众号  ·  · 2024-03-02 11:38

正文

转自:公众号码农翻身
这个世界上有7个人,如果他们愿意的话,可以把整个互联网“关闭”。
他们之所以这么牛,主要因为每人掌握了一把神秘的钥匙。
这个神秘的钥匙是什么?
我们得从IP地址说起。

0 1
IP地址和DNS

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

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

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

但是这个设计会带来几个严重的问题
1.单点故障
如果该DNS服务器崩溃,整个互联网就崩溃了
2.性能
全球的电脑都向它发出请求,这个服务器就累死了。
那些需要查询IP地址的电脑可能距离DNS服务器很远,导致严重的时延。
可以看出, 单一集中式的DNS数据库完全没有扩展能力
所以,人们设计的DNS系统是一个的分布式数据库。
这个分布式数据库分为三级:

根DNS服务器 ,全球有13个(实际上,每个根服务器都是个冗余服务器网络)
顶级域名服务器 ,负责顶级域名,例如com 、org、net、edu、gov等
权威DNS服务器 ,如果某个公司、组织机构在互联网上具有可以被公众访问的主机,那它必须要提供公共可访问的DNS记录。
除了这三级之外,还有个叫做“本地DNS服务器”的DNS,负责和这三级的DNS交互。
通常的交互过程是这样的。

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


0 2
解决DNS的漏洞

分布式,随意扩展,这是个设计得非常漂亮的系统。
任何互联网产品, 只要不考虑安全,都会死得很难看
如果有人冒充DNS服务器,给你返回了假IP怎么办?

所以,这个DNS记录发给浏览器的时候,必须得做个 数字签名
数字签名可以证明:
1.这的确是我给你发的DNS记录
2.这个DNS记录在传输过程中没有被篡改过。
数字签名依赖非对称加密,也就是公钥和私钥,这里就不再详述了,可以参考这篇文章《一个故事讲完Https》
简单来说就是 DNS服务器用自己的私钥来对DNS数据进行签名,查询方用公钥来验证
这的确是一个完美的解决方案,可是和HTTPS一样,这里也遇到了公钥分发的问题。
查询方 如何确定自己拿到的DNS公钥是合法的呢
要知道公钥可是经过网络传输的,完全可能被中间人篡改,进行中间人攻击啊!
既然问题和HTTPS一样,那解决思路也是一样的:让上级对下级服务器的公钥进行签名。然后用上级的公钥来验证。
可是,如何安全地拿到上级的公钥?它在网络传输中会不会被篡改呢?有可能。
那就用上上级对上级的公钥签名,用上上级的公钥验证签名。
可是,上上级的公钥在网络传输的过程中会不会被篡改呢?会的。
那就用上上上级对上上级的公钥签名,用上上上级的公钥验证签名
......
如此下去,总得有个尽头吧,那就是ICANN(“互联网名称与数字地址分配机构”)的公钥!
大家都信任ICANN,可以把它的公钥内置到系统中,这样一个信任链就可以建立起来了!


0 3
可以关闭互联网的7个人

而ICANN的私钥,这可是天大的秘密了,一定得保护好。
私钥本身其实是个文件,ICANN把它放到了一个叫做硬件安全模块 (HSM) 的专用设备中。

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

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

即使你通过了重重防卫,成功地拿到了一个HSM,你也很难打开它。
如果你尝试暴力打开,HSM会擦除其保存的密钥,你啥也拿不到。
正确的做法是使用几张智能卡,但是这些智能卡保存在其他的保险箱里,只有使用物理的钥匙才能打开。
这些钥匙,被世界上7个人所持有(实际上,还有七个人作为备份)。嗯,这七个人终于出现了!

这些钥匙持有者并不是各国的政要,而是安全领域的顶级专家,他们对这一套安全流程理解地比你我要透彻地多。
当需要使用ICANN私钥的时候,七个人中的五个需要拿着它们的钥匙,来到保存HSM的地方,取出各自的smart card,然后一起开启HSM。






请到「今天看啥」查看全文