谈中心化的信任危机:你传的信息会被LINE看光光吗?
你是否曾有过这样的疑虑像LINE 这样的通讯软件,如果他们愿意,有办法偷看我们传给朋友的信息或图片吗
我想大部分人的答案是肯定的。只是,这些通讯软体大家都在用,虽然偶尔觉得心里毛毛的,但好像也只能选择相信厂商,并告诉自己:像LINE 这样的大公司应该不敢做坏事吧
越来越多的商业沟通甚至是政府会议是透过即时通讯来传递,COVID-19 疫情爆发以来Google Meet 每日使用量成长30 倍,单日参与Google Meet 会议的人数已超过1 亿人。
如果有一天,人们心中的天秤产生了动摇,人类的技术已经准备好可以不依赖Google 的善良了吗
当问题从资安漏洞变成信任崩溃
今年四月视讯会议软体Zoom 被质疑将资料传送至中国,加上创办人袁征华裔的身份,触动了许多人的敏感神经,包含台湾在内,许多国家及组织下令禁用Zoom,改以其他视讯软体替代,如Cisco Webex、Microsoft Teams 或Google Meet。
资讯安全的目标是保护资讯及资讯系统免受未经授权的进入或破坏,通常并不考虑主人自己作恶的可能性。
这次事件之所以引起市场这么大的反应,不只是所谓的程式漏洞(其它大厂每年的漏洞又何曾少过),笔者认为更大程度是:人们心中对Zoom 这间公司的天秤发生了变化,与其说是「资安漏洞」更像是「信任崩溃」。
正因为我们对通讯服务厂商的内心契约是「相信你不会这么做」而非「相信你无法这么做」,所以当有一天,人们开始不信任这个服务商时,恐怕就不是资讯安全层级的事了。
难道厂商就不能透过技术手段,彻底证明自己就算想做恶也办不到吗
信任的极致,是不需仰赖对任何单一主体的信任(Trustless),亦可与之展开合作。
像Zoom 这样的服务商,是否能像金庸笔下的葵花宝典「欲练神功,引刀自宫」,对自己加诸若干限制,从逻辑上直接证明自己不可能作恶以下我们将花一些篇幅来探讨这个重要的议题。
端对端加密
通讯隐私并不是什么新鲜的诉求,WhatsApp、iMessage、LINE 等主流通讯服务近年来也都不约而同提出「端对端加密」来作为技术解方。我们不妨顺着前人的思路,探讨端对端加密的机制是否真的能够证明厂商无法作恶。如果你对「端对端加密」有基本的了解,可以跳过这一段。
讯息加密:服务商让自己变成只是加密讯息的传输者
似乎不难想像,假设小明与小美在Zoom 开启了视讯会议,只要小明这一端在视讯内容传出前都先对其加密,而小美这一端收到后再加以解密,便可防止传输过程中有人偷看。
这便是「对称加密法」- 目前应用最广泛的加密法,成员之间「共享同一把密钥」,密钥用来对传输内容做加解或解密,只要保证密钥安全,那么成员之间通讯基本上就是安全的。
重点并不在于Zoom 有没有储存资料或把资料传到哪里,而是资料是否经过加密,以及密钥是否只有会议成员知道。
问题是…密钥怎么给到对方
密钥一旦涉及传送,就又会回到老问题:中途被偷看了怎么办
难道小明和小美每次沟通密钥时,都得见上一面(七O年代,在大银行里还真的有专门的职位,提着保险箱,飞到全世界各地给客户送钥匙。)
为了解决密钥在传输时被窃的风险,后来人们想到了一个方法:利用「非对称加密法」来处理一开始的密钥沟通。现今我们每天使用到的各种网路服务,其数据加密过程都少不了这个环节,例如网页的传输安全协定HTTPS。
接下来,为了让所有读者能理解「无信任(Trustless)端对端加密」实现的可能性,以下先简单介绍非对称加密法应用于沟通密钥的原理。
首先,小明和小美会各自在的一端,生成一组非对称金钥;金钥一组两把,透过数学算法同时产生,一把称之为公钥,另一把称之为私钥。(如下图)
非对称加密法有以下特性:若小明使用他的公钥加密资料,则全世界只有小明的私钥才解得开;相反的,若小明使用其私钥加密(在应用上,常作为签名用途),则全世界只有小明的公钥才能够解开。
这个方法实施时,所有人都得把自己的公钥公开,好让其他人可以找得到。我们就先假定大家是把自己的公钥上传到服务商Zoom 那边,并且因为服务商知道你是小明或小美,所以这把公钥会跟小明或小美的身份绑定起来。(如下图)
当要交换密钥时,小明先到服务商那边查询得到「小美公钥」,接着利用「小美公钥」加密密钥,再把结果用「小明私钥」加密一次,然后透过服务商传送给小美。(如下图)
这时候小美,可以利用她从服务商那边取得的「小明公钥」解开第一层,如果成功解密,根据密码学原理,就代表该资讯必定是小明私钥所加密,因此验证了资讯由小明发出。接着,小美再用自己的私钥解开第二层,获得最终资讯- 也就是小明要给小美的密钥。只要确保小美私钥只有她自己拥有,那就能确保任何人包括服务商Zoom 也无法解开。(如下图)
至此,小明和小美终于沟通好密钥,可以利用那一把密钥展开加密传讯了。当然,实作上有更多的细节和变化,但大致不脱这个概念。
只要通讯服务商宣称采用端对端加密,就可以确保他们无法解密通讯内容了吗
非对称加密神奇地解决了密钥沟通的问题。这时候,我们已经可以断定厂商从此无法窥探通讯隐私了吗仔细思考一下,好像哪里怪怪的…
从密码学的逻辑来看,刚刚那套加密机制若要完全发挥效果,还有以下两个条件必须先成立:
服务商不可以拿到小明和小美的私钥 小明查询小美公钥时所拿到的那一把,必须真的是小美的 服务商不可以拿到小明和小美的私钥
这一点没有技术难度,只要公私钥是在使用者的本地端产生,例如使用者手上的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 便曾经与重量级的客户合作,共同尝试「公钥基础建设结合区块链」的可行性。)
区块链解法和传统解法,最大的区别在哪里
从商业的角度来看,这两种解法最大区别在于「维持信任所需的成本」
当企业与用户的关系是建立在「信任企业」的基础上,那就注定了企业必须不断地透过各种「间接」的方式撑起这一道信任,而且随着天秤另一端的持续累积,这成本恐将永止境的扩大。常见的信任成本有:
企业的品牌或商誉 合规(企业每年都花费了大量支出在符合ISO27001 这类规范标准上) 交由第三方处理(第三方自己同样也需要付出大量成本以维持可被信任) 企业使自己变得越来越庞大(这是最常见的方式,但效益却是逐步递减)
相反的,Trustless的信任成本并不是逐年攀升的无底洞。以上述的区块链PKI来说,可能只需要数十个参与者来担任节点,也就是约数十台伺服器的运作成本,就可以搭起一个可信的区块链PKI,服务一家甚至多家企业。若PKI是建置在以太坊这样的公有链上,甚至可以省去初期的搭建成本,改为纪录上链时支付手续费。如此一来,这些「引刀自宫」的企业,信任成本几乎可恒定,不再需要耗费那么庞大的资源来取信于客户。
Trustless 的实现,不只降低了大企业维持信任的成本,更有价值的是,它降低了小规模创新服务被人们信任的门槛,整个社会的交易成本及创新价值都可能被重新建构。
再扩展一下想像空间…
利用区块链作为公钥基础建设,也是实现「自主身份」(Self-Sovereign Identity,以下称SSI)的重要路径之一,关乎民众是否能「真正拥有」对自己身份的支配权及数位行为的控制权。例如:跟着人走的医疗数据、可信赖的公民投票…等,这些常被提起的未来理想,都有赖于可信的公钥基础建设。
关于区块链PKI或SSI议题,虽技术上已趋近完备,但实现的路途却十分遥远,例如「使用者的社会身份如何绑定到公钥」执行起来难度就非常高,甚至需要政府或公民组织共同参与打造基础建设。本文仅就通讯服务商trustless的可能性,提供一条新的思路,未来有机会我们也可以专文探讨SSI。
区块链思维
笔者因工作的关系,经常都在回答朋友这个问题:区块链可以拿来做什么
这个问题不容易回答的原因在于,区块链解法并不在人们过去熟悉的问题解决框架内,就如同本文提及,在中心化解法到达极限、商业信任成本不可承受时,区块链才翩然而至,以分散式的方式化解信任危机。关于区块链思维,BSOS非常乐意与大家共同交流。
这篇文章的目的,主要是希望藉由Zoom的事件,创造一个场景脉络,与读者共同去思考:区块链技术在碰撞的,到底是什么样的问题(虽然PKI只是众多区块链应用的其中之一),并且提供一种衡量区块链应用价值的「商业视角」:
降低信任成本(降低交易成本)
区块链到底是虚幻的炒作还是征服宇宙的黑科技
已经读到这里的你,答案是什么呢在我们第一线从业人员的眼中,区块链肯定不是YouTuber老高口中说的「二十一世纪的最大谜团」。对我们来说,区块链一点都不神秘,甚至有时候还有点枯燥,但是我们可以肯定的是,它所要解决的,的确是扎扎实实的硬问题,而且这两三年来,全球已经有许多像BSOS这样公司正在以区块链思维,解决某些特定问题,并不断推进这个领域的疆界。
声明:本站所提供的资讯信息不代表任何投资暗示, 本站所发布文章仅代表个人观点,仅供参考。