谈中心化的信任危机:你传的信息会被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 也无法解开。(如下图)

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

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

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

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

  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 便曾经与重量级的客户合作,共同尝试「公钥基础建设结合区块链」的可行性。)

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

从商业的角度来看,这两种解法最大区别在于「维持信任所需的成本」

当企业与用户的关系是建立在「信任企业」的基础上,那就注定了企业必须不断地透过各种「间接」的方式撑起这一道信任,而且随着天秤另一端的持续累积,这成本恐将永止境的扩大。常见的信任成本有:

  • 企业的品牌或商誉
  • 合规(企业每年都花费了大量支出在符合ISO27001 这类规范标准上)
  • 交由第三方处理(第三方自己同样也需要付出大量成本以维持可被信任)
  • 企业使自己变得越来越庞大(这是最常见的方式,但效益却是逐步递减)

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

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

再扩展一下想像空间…

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

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

区块链思维

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

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

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

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

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

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

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。