你的隐私,巨人的善良:从Zoom事件看通信隐私的信任战争何时止歇

你是否曾有这样的疑虑,像LINE这类通信软件,如果他们愿意,有办法偷看我们传给朋友的消息或图片吗?

笔者想大部分人的答案是肯定的。只是,这些通信软件大家都在用,虽然偶尔觉得心里毛毛的,但好像也只能选择“相信厂商”,并告诉自己:“像LINE这样的大公司应该不敢做坏事吧?”

越来越多“商业沟通”甚至“政府会议”通过即时通信传递,COVID-19疫情暴发以来,Google Meet每日使用量增长30倍,单日参与Google Meet会议的人数超过1亿人。

如果有一天,人们心中的天秤产生了动摇,人类的技术已经准备好可以不依赖Google的善良了吗?

当问题从“安全漏洞”变成“信任崩溃”

今年4月视频会议软件Zoom被质疑将资料发送至中国,加上创办人袁征的华裔身份,触动许多人的敏感神经,包含台湾,许多国家及组织下令禁用Zoom,改以其他视频软件替代,如Cisco Webex、微软Teams或Google Meet。

信息安全的目标是保护信息及信息系统免受未经授权的进入或破坏,通常并不考虑主人自己作恶的可能性。

这次事件之所以引起市场这么大反应,不只所谓的程序漏洞(其他大厂每年漏洞又何曾少过),笔者认为更大程度是:人们心中对Zoom这家公司的天秤发生变化,与其说是“安全漏洞”更像“信任崩溃”。

正因为我们对通信服务厂商的内心契约是“相信你不会这么做”而非“相信你无法这么做”,所以当有一天,人们开始不信任服务商时,恐怕就不是信息安全层级的事了。

难道厂商就不能通过技术手段,彻底证明自己就算想作恶也办不到吗?

信任的极致,是不需依赖对任何单一主体的信任(Trustless),也可与之合作。

像Zoom这样的服务商,是否能像金庸笔下葵花宝典“欲练神功,引刀自宫”,对自己加诸若干限制,从逻辑直接证明自己不可能作恶?以下我们将花一些篇幅来探讨这个重要的议题。

端对端加密

通信隐私并不是什么新鲜诉求,WhatsApp、iMessage、LINE等主流通信服务近年来也都不约而同提出“端对端加密”当作技术解决方案。我们不妨顺着前人的思路,探讨端对端加密的机制是否真能证明厂商无法作恶。如果你对“端对端加密”有基本了解,可以跳过这一段。

消息加密:服务商让自己变成只是加密消息的传输者。

似乎不难想象,假设小明与小美用Zoom打开视频会议,只要小明这端在视频内容传出前都先加密,小美这端收到后再解密,便可防止传输过程有人偷看。

这便是“对称加密法”──目前应用最广泛的加密法,成员之间“共享同一把密钥”,密钥用来加解或解密传输内容,只要保证密钥安全,那么成员之间通信基本上就安全了。

重点并不在于Zoom有没有存储资料或把资料传到哪里,而是资料是否经过加密,以及密钥是否只有会议成员知道。

问题是……密钥怎么给对方?

密钥一旦涉及发送,就又会回到老问题:中途被偷看了怎么办?

难道小明和小美每次沟通密钥时,都得见上一面?(1970年代,大银行还真的有专门职位,提着保险箱,飞到全世界各地送钥匙给客户)

为了解决密钥传输时被窃的风险,后来人们想到了一个方法:利用“非对称加密法”处理一开始的密钥沟通。现今我们每天使用的各种网络服务,数据加密过程都少不了这个环节,例如网页的传输安全协议HTTPS。

接下来,为了让所有读者能理解“无信任(Trustless)端对端加密”的可能性,以下先简单介绍非对称加密法应用沟通密钥的原理。

首先,小明和小美会各自计算机端,生成一组非对称密钥;密钥一组两把,通过数学算法同时产生,一把称为公钥,另一把称为私钥(下图)。

非对称加密法有以下特性:若小明使用他的公钥加密资料,则全世界只有小明的私钥才解得开;相反的,若小明使用私钥加密(应用上常当作签名),全世界只有小明的公钥才能解开。

这个方法实行时,所有人都得把自己的公钥公开,好让其他人找得到。我们就先假定大家把自己的公钥上传到服务商Zoom,并因为服务商知道你是小明或小美,所以这把公钥会跟小明或小美的身份绑定(下图)。

当要交换密钥时,小明先到服务商查询得到“小美公钥”,接着利用“小美公钥”加密密钥,再把结果用“小明私钥”加密一次,然后通过服务商发送给小美(下图)。

这时候小美可利用从服务商取得的“小明公钥”解开第一层,如果成功解密,根据密码学原理,就代表信息必定是小明私钥加密,因此验证信息由小明发出。接着,小美再用自己的私钥解开第二层,获得最终信息──也就是小明要给小美的密钥。只要确保小美私钥只有她自己拥有,那就能确保任何人包括服务商Zoom也无法解开(下图)。

至此,小明和小美终于沟通好密钥,可以利用那把密钥展开加密通讯了。当然,实例有更多细节和变化,但大致不脱这个概念。

但只要通信服务商宣称采用端对端加密,就可以确保他们无法解密通信内容了吗?

非对称加密神奇解决了密钥沟通的问题。这时候,我们已经可以断定厂商从此无法窥探通信隐私了吗?仔细思考一下,好像哪里怪怪的……

从密码学逻辑来看,刚刚那套加密机制若要完全发挥效果,还有以下两个条件必须先成立:

  1. 服务商不可以拿到小明和小美的私钥。
  2. 小明查询小美公钥时拿到的那把,必须真的是小美的。

1. 服务商不可以拿到小明和小美的私钥

这一点没有技术难度,只要公私钥是在用户的本地端产生,例如用户手上的App,且本地端的程序代码必须开源,确保没有任何后门程序偷偷上传私钥,便可以确保服务商拿不到私钥。

虽然本地端程序开源这个要求,对软件公司来讲有点为难,即使2014年就开始致力端对端加密的WhatsApp都没有做到,不过市面还是有像Telegram或Signal这种既采用端对端加密又开源客户端的服务。因此我们可以说,要满足第一点已不具备任何技术障碍。

题外话,Signal是连Edward Snowden及密码学大师Bruce Schneier都挂保证的通信软件。如果你对私密通信有兴趣,那一定不能错过Signal创办人Marlinspike创立的非营利组织​Open Whisper Systems。

2. 小明查询小美公钥时拿到的那把,必须真的是小美的

这恐怕就没有第一点容易了,假设所有用户都把公钥上传给服务商,且查询公钥都找服务商询问,那便永远无法确保服务商给你的是真的小美公钥,甚至服务商可以同时假冒小美与小明,从中窃取或修改消息内容(即中间人攻击,下图)。后端程序是运行在服务商环境,非用户手上,所以即便开源,意义也不大。

这么一来,似乎又绕回问题的原点“我们还是得信任服务商”,信任他们会诚实保管所有用户的公钥,并诚实回答所有用户对公钥的查询。

只要服务商愿意,还是“能”窃听用户间的私密通信!

这个结论确实有点令人沮丧……但世界还是可以运行

可以这么说,通信软件服务商应该是全世界知道最多秘密的团体了。现今我们依赖的网络服务,确实完全创建在服务商不会作恶的基本假设之下:

Google这么大,应该不会为了我个人这一点小小的隐私,就自毁前程吧!

服务商跟客户之间就靠这薄弱博弈心理达到纳什均衡:相对于作恶,不作恶对服务商更有利;相对于拒绝使用,睁一只眼闭一只眼用下去,对用户更有利。这个地基搭起的商业信任,还是相当牢固,支撑了世界许许多多商业行为。

难道这就是人类协作技术的极限吗?

当然不是,这只是中心化解法的极限。

我们回顾一下问题核心,最终欠缺完美的公钥布告栏(即公钥基础建设Public Key Infrastructure,PKI),按照刚才逻辑:

PKI要可审计关注(Audit trail),最好公开透明,因为公钥不怕偷看,就怕偷偷改掉;必须确保高度的可使用性(High Availability and Replication),不可拒绝用户查询公钥,因为一旦查不到公钥,对方就等于失去身份。

这不正是区块链最擅长的事吗?区块链有记​录透明、可追溯、不可篡改、多节点共同确保Fault Tolerance、任何节点都可提供查询等特性;若将PKI搭建在区块链上,就可确保公钥不被调包且一定查得到,完全可以从技术层面直接限制单一主体作恶的可能性,使通信服务达到真正的Trustless(笔者所在公司BSOS便曾与重量级客户合作,共同尝试“公钥基础建设结合区块链”的可行性)。

区块链解法和传统解法,最大差别在哪里?

从商业角度来看,这两种解法最大差别在于“维持信任所需的成本”。

当企业与用户的关系是创建在“信任企业”基础上,就注定企业必须不断通过各种“间接”方式撑起信任,且随着天秤另一端持续累计,这成本恐将永无止境扩大。常见的信任成本有:

相反的,Trustless的信任成本并不是逐年攀升的无底洞。以上述区块链PKI来说,可能只需要数十个参与者担任节点,也就是约数十台服务器的运行成本,就可搭起一个可信的区块链PKI,服务一家甚至多家企业。若PKI是构建在以太坊这类公有链,甚至可省去初期搭建成本,改为记​录上链时支付手续费。如此一来,这些“引刀自宫”的企业,信任成本几乎可恒定,不再需要耗费那么庞大的资源取信客户。

Trustless实现,不只降低大企业维持信任的成本,更有价值的是,降低小规模创新服务为人们信任的门槛,整个社会的交易成本及创新价值都可能重新构建。

再扩展一下想象空间

利用区块链为公钥基础建设,也是做到“自主身份”(Self-Sovereign Identity,SSI)的重要路径之一,关乎人们是否能“真正拥有”对身份的支配权及数字行为的控制权。例如:跟着人走的医疗数据、可信赖的公民投票……等,这些常被提起的未来理想,都依赖可信的公钥基础建设。

关于区块链PKI或SSI议题,虽技术趋近完备,但完成的路途却十分遥远,如“用户的社会身份如何绑定公钥”执行难度就非常高,甚至需要政府或公民组织共同参与打造基础建设。本文仅就通信服务商trustless的可能性,提供一条新的思路,未来有机会也可以专文探讨SSI。

区块链思维

笔者因工作关系,经常在回答朋友这个问题:区块链可以做什么?

这个问题不易回答的原因在于,区块链解法并不在人们过去熟悉的问题解决框架内,就如同本文提及,中心化解法到达极限、商业信任成本不可承受时,区块链才翩然而至,以分布式的方式化解信任危机。关于区块链思维,BSOS乐意与大家共同交流。

这篇文章的目的,主要是希望借由Zoom的事件,创造一个场景脉络,与读者共同思考:区块链技术碰撞的,到底是什么样的问题(虽然PKI只是众多区块链应用之一),且提供衡量区块链应用价值的“商业视角”:

降低信任成本(降低交易成本)。

区块链到底是虚幻炒作,还是征服宇宙的黑科技?

看到这里的读者,答案是什么呢?在第一线从业人员眼中,区块链肯定不是YouTuber老高口中说的“21世纪最大谜团”。对我们来说,区块链一点都不神秘,甚至有时候还有点枯燥,但可以肯定的是,它所要解决的,的确是扎扎实实的硬问题,且这两三年来,全球已有许多像BSOS的公司正以区块链思维,解决某些特定问题,并不断推广这个领域的疆界。

(作者:BSOS CEO Daniel Huang)