隐私计算:Zoom安全问题分析和解决方案 | 云图思潮

本文转发自“CoinDesk中文”微信公众号,由PlatON创始人兼CEO孙立林和PlatON算法科学家谢翔博士联合撰写,主要探讨ZOOM安全问题及隐私技术解决方案,欢迎阅览。

近期,Zoom因为其一系列的安全问题,被推到风口浪尖。Zoom的安全漏洞导致大量用户数据泄漏,数万份私人会议视频被公布在公开网站上。而Zoom在其安全相关的白皮书中提到“采用了端到端加密”,实际上却不是真正意义上的端到端加密。其中的缘由和差别到底是什么?本文将对此详细介绍。

一、什么是端到端加密

工业界常说的 端到端加密 (End to End Encryption,E2EE)是指消息或数据在发送者和接受者这两端流动时是全程加密的,也就意味着 数据只能这两端可见 。而在现有的绝大部分产品架构中,一定存在服务提供商或者产品后台连接各个用户。因此,E2EE主要的功能是在防止数据在流转过程中被窃听和篡改。

如下图所示,通过后台服务器,用户之间可以建立数据传输通道。可以简单地将服务提供商理解为“路由器”,负责把消息或者数据从用户A发送至用户B。在此通道基础之上,E2EE可以为用户A和用户B之间建立一个私有通道,用以传输敏感信息。在E2EE通道中传输的数据,即使服务器(不知道E2EE通道的密钥)也无法获取其中的信息。


二、Zoom使用的“端到端加密”

Zoom宣称的端到端加密实际上是另一种方式。是在用户和服务提供商之间建立了安全信道,这样可以防止其他的人窃听和篡改用户和服务器之间的交互数据。如下图所示:

先不论Zoom建立安全通道和加密数据的具体技术和算法。在整体架构中,Zoom所指的端到端加密是不同的用户端分别与服务器端建立的安全通道。如果用户之间要传递数据,比如A发信息给B,服务提供商必须先解密安全通道A中的数据,再通过安全通道B加密发送给B。也就意味着,服务提供商可以获取所有用户通信的信息和数据。

Zoom采用的是 标准的TLS来建立用户与服务器之间的安全通道 。但是由于不透明的中心化密钥管理和密钥生成方式,以及不当地使用AES加密算法,因而造成了极大的安全隐患。同时,由于并没有采用真正的端到端加密,用户的视频信息可以由Zoom服务端完全获取,造成了Zoom视频数据泄漏的一个重要原因。

Zoom中最为常用的功能是群组会议或者视频,这其实对端到端加密有更强的要求。理想情况下,参与群组会议的所有人之间需要建立一个端到端加密通道,也就意味着群组会议中的任何信息,包括语音和视频,只能由参与会议的人获取。如何建立群组会议的端到端加密通道,如何在参与人数较多时不影响性能,都会是潜在的挑战。


三、端到端加密的困难性

当然,安全建立和使用端到端加密通道是有一定的难度的。这个难度不仅仅在算法上,也体现在整个产品的安全架构上。值得注意的是,隐私保护与安全并不完全等同。通过端到端加密可以保护数据隐私,但是从整个安全角度上来看,依然需要其他的机制来保证整个系统的安全性。下面着重介绍建立安全的端到端加密通道可能需要面临的问题。

密钥管理:

密钥管理一直是隐私保护中最为薄弱,也最为重要的一环。采用密码学算法进行数据的隐私保护,其安全性会完全归结到密钥上。因此,在建立和使用端到端加密通道时,密钥的全生命周期管理会成为重中之重。

在E2EE的数据加密过程中,一般会采用对称加密的方式。也就意味着参与方之间需要预先共享一个密钥。由此,需要通过密钥协商的方法来建立该共享密钥。这就是经典的密钥协商和分发的问题。这个问题在多人群组会议的场景下会更加复杂。

端到端加密通道的密钥的安全使用和存储也是难点之一。以Zoom为例,客户端软件完全由Zoom开发,如何保证软件中不会存在恶意代码直接将客户端的密钥发送回服务端?如何保证使用后的密钥已经被安全的销毁?其实,所有类似的场景,产品提供方都存在着“自证清白”的问题。

性能影响:

用户体验往往是在线通信产品成功与否最重要的因素之一。甚至可以说,Zoom的安全隐患一定程度上是由于追求极致的用户体验造成的。特别是群组视频的场景,对流数据的加解密处理不可避免的需要损失一定的性能,加密数据的传输也会造成更大的网络负荷,从而引起卡顿的情况。在参与人数较多的场景下,对于服务器,终端设备的配置要求势必会更高。

四、可能的密码学解决方案

密码学为数据隐私保护提供了非常丰富的技术手段。针对为群组会议、视频建立端到端加密通道的问题,其实也存在许多密码学算法。当然,单纯的算法不能完全解决所有的安全问题,这里只是提供一个可能的技术方向。真正完美地解决这类安全问题,需要有非常复杂的方案设计和安全架构设计。这里介绍一种密码学算法作为可能的解决方案—— 代理重加密 (Proxy Re-Encryption,PRE)。

在这之前,稍微解释一下密码学中较为常用的概念。密码学中的加密体系大体分为两类,非对称密码体系和对称密码体系。可形象的如下图所示:

在非对称密码体系中,或者我们常说的公钥密码体系,密钥分为公钥和私钥(两个密钥是非对称的)。公钥像一把打开的锁,任何人可以把文件(信息)放到盒子中(算法),用这把锁将盒子锁起来(加密)。私钥像是我们常用的钥匙,任何拥有钥匙(私钥)的人,可以打开锁(解密),拿出盒子里的文件。并且,没有钥匙(私钥)的人并不知道盒子里的东西。

在对称密钥体系中,加密和解密使用的是同一个密钥(因而称为对称密钥)。这里可以想象一个已经内置一把锁,并且留出锁孔的盒子。这意味着,在把文件放到盒子中后,锁上盒子(加密)和打开盒子(解密)都需要使用同一把钥匙(私钥)。

两种加密体系均有各自的特点:

非对称加密体系在分发密钥非常方便,只需要把公钥(锁)公布出去,自己保留私钥(钥匙)即可。但是整体的加解密性能相对较差。

对称加密体系在密钥分发时非常麻烦,但是加解密的性能非常快,大约比非对称加密快两个数量级左右。

代理重加密(Proxy Re-Encryption):

我们开始介绍代理重加密。在这个系统里,存在着三个角色,用户A,用户B和代理(Proxy),这个代理可以看做是上述中的服务器或者服务提供商。PRE本身可以看做是一种特殊的非对称加密体系。简而言之,代理在不看到数据的前提下,可以将用户A的密文转变为用户B的密文。我们用下图来更形象的理解这个过程。


用户A希望将自己的信息(比如照片,大量的文档等)分享给用户B。与传统情况(直接用B的公钥加密后发送)不一样的地方在于:用户A期望在后来可以继续将这些文件再分享给更多人,比如C,D,E等等,但是不愿意反复利用传统的方式发送。因为这会带来大量的计算和带宽需求(需要反复加密和传输)。

代理重加密是这样的一个过程:

a. 用户A利用自己的公钥(蓝色的锁)加密数据,然后将其上传至代理。因为私钥(蓝色钥匙)在用户A手上,所以代理得不到任何的数据信息。

b. PRE中有一个“神奇”的转换过程——重加密。代理可以将A的密文转换为B的密文(黑色的锁)。这个过程中代理无法看到数据,并且两个密文中的数据是完全一样的。(实际上,代理可以进行该操作是必须通过用户A授权的,授权的方式是由A生成的某个特有的信息发送给代理,代理用该信息进行重加密。注意,这个授权信息不是A的私钥)。

c. 用户B可以下载此密文,并且解密(黑色钥匙)得到其中的数据。

PRE中“神奇”的重加密过程,可以用来解决群组会议或者视频的密钥分发问题。下面将以简化的方式,一点点为大家介绍。

假设用户A希望发起群组会议或者视频,用户A首先会选取一个随机的会话密钥(红色钥匙),该会话密钥是对称密钥,将会在实际的数据交互中用于加解密操作。

在选取会话密钥之后,用户A则利用自己的公钥(黑色的钥匙)加密该会话密钥,然后发送给服务提供商(比如,Zoom的后台服务器)。这个过程会话密钥一直是安全的,因为只有用户A拥有私钥(黑色的钥匙)。

服务提供商接收到密文之后,可按照用户A的授权,将该密文转换为其他三个用户的密文(紫色的锁,蓝色的锁,绿色的锁),三个密文中对应的信息都是会话密钥(红色钥匙)。


在转换之后,服务提供商将密文推送给各个用户,各用户可以通过自身的私钥(紫色钥匙,蓝色钥匙,绿色钥匙)解密得到会话密钥(红色钥匙)。最后,所有参与方都拥有同样的会话密钥,因而建立起了端到端加密通道。

群组内任何人发出的信息可以由会话密钥加密,然后发送给服务提供商。服务提供商将该密文信息广播至其他用户,其他用户利用会话密钥进行解密。整个过程中,服务提供商无法获取群组内的通信信息。

同时,服务提供商将一直保存用户A提交的密文。这是因为在有新加入成员时,只要用户A同意,服务提供商则可以将该密文转为新成员的密文,以此将会话密钥同步给新成员。在会话结束后,所有成员将本地的会话密钥删除。

当然,上述只是一个基本流程的介绍,要形成完备的方案需要与详细的业务流程配合,并且在架构和安全机制上需要有全面的考虑和设计。

四、隐私计算

数据已然成为新的生产要素,而其价值由数据的效用(utility)才能真正衡量,数据效用的体现则一定是在数据的使用过程当中。Zoom的安全事件中,本质上是 数据在传输过程中的安全性问题 。数据传输自然也是数据流动的一种方式,然而从整个市场看,现在面临的数据隐私的问题远远不止是数据传输中产生的。

传统互联网的商业模式本质上就是利用用户数据变现,目前已经开始受到严峻的挑战。随着对数据隐私保护的重视度的提升,互联网商业模式中“惯性”式的收集数据的做法已经逐渐不可行。频频发生的数据泄漏和滥用事件也不断促进国内外通过立法保护数据隐私,从而大环境上迫使互联网进行转型。

企业间数据的共享和协作也存在着巨大的障碍。在数据量爆炸增长的今天,很难有一家机构拥有所有的数据。数据作为极为特殊的资产,企业间也不会真正彼此分享。如何充分利用不同机构之间的数据,训练更加有效的AI模型已经成为数据市场最大的问题。这是因为数据的多样性直接决定了模型的精度,进而决定了商业成本与风险。因此,从AI算法的角度来看,数据越多越好;从隐私保护的角度来看,数据暴露的越少越好。这种内在的“矛盾”已经成为AI技术进一步使用的最大的障碍。

隐私计算(Privacy-Preserving Computation)则是解决数据流动中的数据隐私问题的终极方法。以密码学为核心,为数据在隐私保护的前提下使用提供了各种技术基础。通过 隐私计算 技术,在新的数字化时代,人必将回归个体的自然权利,将互联网平台“沦为”人的工具。

在新的数字化时代,我们依然处在搭建整个隐私计算网络基础设施的基础阶段。无论从技术上还是从新的商业模式上,都还需要不断的探索。也正是因为如此,PlatON一直致力于将隐私计算技术推广到各个领域。近期即将推出的隐私AI框架—— Rosetta ,正是为了结合AI算法与隐私计算技术,降低开发者使用隐私计算技术门槛的大胆尝试。

五、总结

通过Zoom以及近期不断发生的隐私数据泄漏的事件可以看出,数据的隐私保护问题已经到了极为严重的程度。致力于隐私计算的厂商也不断进场,不同的技术流派和解决方案也相继提出。不断完善和建设隐私计算基础设施已经成为不可阻挡的趋势。

1 个赞