分散化不是解决 Facebook 隐私问题的良药
几乎每隔一周,你都可以在Facebook总部大楼外面的大街上看到有人举着牌子隔空对喊扎克伯格:
(标语牌翻译:Facebook API,你们创造了它,请修好它!生气的奶奶辈们请求加强对Facebook的监管!Facebook,透明,立刻,马上!)
因为最近几年Facebook的隐私泄露事件造成的风波,似乎每个人都抓着“Facebook查看过多用户隐私内容和使用隐私内容投放广告、商业化”做文章,认为这一切都不应该发生,并逐渐演变成为一个公众话题。不少批评论调认为Facebook应该拆分成多个独立的实体,通过商业实体上的隔离来实现数据独立和合理使用。
针对这类质疑,Facebook不仅内部在投入大量的人力物力试图解决真实存在的风险,还在试图使用很多的新技术来保护用户隐私,比如说采用数据可以安全且去中心化存储的区块链技术。
区块链技术以数据分布式存储为主要特点,通过使用这一系统,用户的数据从原本集中在服务商的服务器上,分散到由不同法人、组织控制的数据节点甚至是个人家庭电脑上。乍一听,用户可以真正掌握自己的数据了,那么困扰Facebook这么多年的隐私问题是不是就解决了?并没有。
区块链技术可以解决隐私问题,但却解决不了人们对活在Facebook这类巨型公司数据垄断下的恐惧。相反,数据的去中心化不仅会让人们的社交生活变得极其缓慢,而且也可能会让数据滥用和泄漏问题泛滥。
中心化与去中心化:“堡垒”与“村屋”
对于高喊要求对Facebook进行部门实体化拆分的人士来说,其隐含的技术诉求是拆分Facebook单一主体所掌握的数据。将Facebook的数据打散后,就没有一个主体可以滥用它们,这样用户就可以保护自己的隐私安全。
这种观点非常朴素,且也容易获得支持——黑客或一个恶意主体如果攻击或滥用一个中心化的数据集,那么这个数据集就会完全暴露,隐私完全泄露。如果把掌握数据的主体联通数据本身拆分成多个实体,那么黑客、恶意主体的攻击或滥用数据的成本就会提高,即便单点攻破,造成的损失也没有中心化数据系统被攻击大。
但实际上,数据拆分论对于数据安全的理解很片面,单从技术角度来看,一个中心化搜集、处理、和存储的社交网站比分散化搜集、处理和存储在安全性上高得多。
其中原因有三:
1. 分散的网络是否比集中的更安全?
按照分散论者的观点,Facebook应该将原本集中在数据中心的数据分散到几十个甚至是几百几千个数据库中,并由不同的商业实体(不同公司)来控制。
但问题在于,对于一个社交网站来说,“互联互通”是其用户最基本的需求。用户需要在访问一个社交网站时,能方便的看到自己全部好友动态。而不是要在找到好友之前,先找到好友所在的数据中心。
从单纯的技术角度讲,不同公司运营不同网站但最终在用户界面上呈现统一结果并非不可能,一些开源的社交软件已经实现了这一点,允许用户自建社交网站并与其他社交网站之间进行互动。
但这会为数据与隐私安全带来一些比集中化运营更为严重的问题。每个小型节点的安全性很难达到统一的标准,或者是需要付出高昂的成本才能达到统一标准,而如果把数据集中存储和管理,不仅可以控制成本,还可以保证最高的安全性。
对于黑客来说,想要攻入Facebook数据中心可能需要几年的时间来寻找系统漏洞,但是如果要攻击分散在全球各地的小型数据节点,难度要小很多。
2. 分布式数据库的安全更新滞后
“被单点攻破后损失更小”这一观点是否成立呢?事实上也是不成立的。
为了实现在用户呈现界面上的统一和各节点之间的高效连接, 全球各地的节点肯定保持一致的系统版本、网络环境和运营范式,这也意味着系统漏洞也是一致的。地下黑客发现一个节点的数据泄露,自然可以通过脚本将全网同一范式的数据节点挨个攻击盗取数据。
以之前某路由器命令注入漏洞为例,运行在全世界的同一型号的路由器实际上组成了一个分布式的网络,黑客发现的那个漏洞不仅可以攻击北京的这一批路由器,也可以攻击洛杉矶的路由器。而对于设备的拥有者来说,他们永远后知后觉,只有设备被黑的新闻传到媒体后才会想到升级路由器固件。这一更新的滞后,给了黑客充分的操作时间。
中国观察