教育区块链:分布式学习时代的教育模式创新
上QQ阅读APP看书,第一时间看更新

2.1 互联网的“信任”问题及解决思路

2.1.1 互联网发展带来的“信任”问题

凡事有利必有弊,互联网发展带来很多技术便利的同时,也呈现了很多弊端,其中数据安全是最引人注目的热点问题之一。现在互联网服务大都是免费的,为什么呢?因为服务商可以换取使用者的一些隐私数据。也有一种说法,认为互联网+大数据的赢利模式就是前期烧钱获取用户数据,后期靠数据变现盈利。所以,天下没有免费的午餐。个人数据隐私保护问题日益引起人们重视。2018年,欧洲联盟出台《通用数据保护条例》(General Data Protection Regulation,GDPR),针对的是对隐私泄露的监管和处罚。2019年10月中国乌镇互联网大会上,中国司法部主要负责人介绍,《个人信息保护法》正式列入十三届全国人大立法规划,要求互联网企业尽快完成对数据隐私保护的改革,确保合法获取、保存和使用数据。

同时,在有效保护个人数据隐私安全基础上,如何建立可信而安全的大数据交易机制,充分挖掘和高效发挥互联网大数据的效力?这也是重要的研究和实践领域。《经济学人》曾发表“监管数据经济”指出,互联网公司对数据的控制,令其监控系统覆盖整个经济领域。少数大型互联网垄断企业为追求利益最大化,以安全和企业机密等原因拒绝向其他机构提供关键数据,令相关企业无法利用用户数据来改善服务质量、优化资源利用率。大数据交易面临很多问题:数据流通与可交易的范围界定、数据所有权界定、数据的质量评估与定价、数据安全、数据交易标准与立法等。

事实上,一切互联网安全问题的根源都是“可信”问题。互联网自诞生之日起,其基础设施就是不安全的。比如IP地址协议、端口(Port),从设计之初就没考虑过鉴权及准入逻辑,默认只要网络链路层面没问题,IP、端口间就能相互通信。网络传输层上的IP和端口天生是互相信任的。现有的所有网络攻击手段都是基于IP、端口这样的不可信资源的。可以说,只要解决了信任问题,大多数互联网安全问题也就基本解决了,很多安全问题就失去了存在的土壤。

2.1.2 互联网的“可信”机制构建

所谓“可信”,指的是身份、数据、行为不会出现意料之外的情况,都是按照事先约定好的逻辑在运行。以可信方式解决互联网安全的根本问题,实际是要构建可信身份、可信网络、可信计算环境、可信程序、可信存储,以此形成一个全新的互联网基础设施。

1.可信身份

首先要明确,可信身份并不等价于实名认证,而是指以这个身份的名义发出的数据、指令不可能是未知的“人”冒充别人发出的。这里的“人”可以是真实的自然人,也可以是某个程序、服务器、业务或设备。常见的身份冒用场景就是建立一个会话,然后基于该会话生成一个业务、数据通道供后续其他逻辑使用。比如登录京东,通过京东服务器的单点验证建立会话,以后所有业务相关操作都走这个会话通道,但这种单点验证、多路复用的做法给身份冒用留下了空间,不符合可信身份的基本要求。举个例子,使用公用的计算机(比如图书馆、机房、网吧等),使用者在使用结束后必须登出(Logout),而且要清除会话的所有Cookie,就是为了防止身份冒用。

2.可信网络+命名网络+软件定义网络

可信网络实际是要解决传统IP网络环境下的无认证机制问题,而命名网络解决的是传统网络通信对于IP的依赖性问题。IP本身是个中心化资源,且与地理位置强依赖。很多警匪片里都有通过IP定位罪犯的桥段。IP和IP之间,天生就是互相信任的。传统互联网安全攻击针对的都是这样的中心化资源,只要中心停止服务了,整个系统就失去服务能力。IP与地理位置的强依赖导致了中心资源对不同位置用户服务的质量和服务能力的差异,所以产生了内容分发网络(Content Delivery Network,CDN)服务,但CDN只能处理静态资源,对动态服务无能为力。

可信网络/命名网络针对的就是以上这些传统网络的弊端。我们通常会利用以太坊的域名(Ethereum Name Service,ENS)或者星际文件系统(Inter-Planetary File System,IPFS)的星际命名系统(Inter-Planetary Naming Service,IPNS)替代现有DNS的位置,实现域名寻址、内容寻址。其次,利用IPFS节点以及公私钥机制实现命名网络+可信网络。

3.可信计算

可信计算的基本要求是身份可信、数据可信、行为可信、执行环境可信。我们把数据传输可信归为数据可信的内涵之一,所以不单独列出。区块链技术实际上解决了身份、数据、行为可信问题,缺乏执行环境可信。传统可信计算方案更多是解决了执行环境可信问题,对于其他方面并没有可靠的解决方案,而且成本高昂。在可信计算方面,区块链技术与传统方案刚好是强互补关系。

4.可信存储

可信存储不仅是数据的可信持久化,还包括数据的流转和使用过程中的可信要求。可信存储与之前的可信身份、可信计算等都是密不可分的。

比如,作为数据共享平台,可以做到允许授权的人使用自己的数据,但是看不到、拿不走数据。这种“可用不可见”的效果既充分激活了数据价值,又避免了数据泄露带来的安全风险,是对生产力的提高。

这是整个基础设施的进化,也必将因此带来新一轮的互联网形态的变化。比如云服务器将是一个彻底的“任务”平台:它负责干活,不能看到用户的数据、行为,用户仅仅需要向云服务器分发任务,云服务器主动从用户处接单,然后返回劳动结果给用户。我们将来可能不再需要向云平台买服务器、买数据库,只需要根据协议向云平台支付相关费用即可。

2.1.3 机器创造“信任”的原理与可能

为了说明机器如何创造信任,以信息安全理论里比较成熟的“盲签”问题为例,设想一个场景:警察局对污点证人一般都有证人保护计划,为了获得污点证人的证词,警方会承诺对证人进行保护,包括改名换姓、改头换面(比如实施整形手术)、改换住址等。从被保护人的立场出发,最关心的是:

·如何尽量保证安全?

·如何提供证词以达到证人保护服务启动的条件?

·如何在和警察签证人保护证明的时候尽量保护自己?

·如何让经手人在不知道化名的情况下认可证明并签字?

利用“盲签”理论,可以设计如下签字流程,既不暴露化名,又让警察认可签字:

·被保护人(也就是污点证人)准备10份化名不同的证明,比如一份化名是姚明,而另一份是姚仁,其他内容完全一致,用同一种方法进行加密,得到10份不同的密文。特别的是,这种加密方法对密文的变化很敏感,即使两份证明中仅有“仁”“明”两个字不同,密文也显得毫无关系的样子,这叫作雪崩效应,即一丁点扰动就会引起结果的巨大差别。

·警察随机挑出9份密文,让被保护人当场解密,他看到解密后的密文与事先约定相同(即污点证人会提供事先约定好的相关证词),只是化名不同。于是,警察放心地在第10张密文上签字盖章,他当然不知道污点证人的化名是什么。

下面来讨论警察和污点证人为什么都信任这份证明:

·污点证人:有警察的签名,污点证人就放心了,会妥善保管这份签字盖章的证明,以备提供了相应证词后使用,化名是提前准备好的10个化名中的随机一个,每份证明都是加密的,由于雪崩效应,盲签完成后,警察不可能篡改证明内容,因为那样做会导致篡改后证明的数字签名和盲签证明的数字签名不符。

·警察:如果在10份证明中,污点证人造假了1份证明,那么当场解开9份后发现违反事前承诺的概率是90%。污点证人造假成功的概率只有10%。为避免欺骗的发生,警察和污点证人会事先约定一个严重的欺诈惩罚条例,只要发现污点证人证明作弊就撤销证人保护。另外,如果觉得10%的作弊成功概率还是太大,可以让污点证人准备更多证明,比如100万份,这样,作弊成功的概率会降到百万分之一。警察认定污点证人不会傻到为了这么小的可能性而去冒巨大风险。

在“盲签”运用中,10个样本是极少的,实际样本量常常有几百万个之多,通过造假而获益的可能性只有几百万分之一,而绝大多数情况下会受到严重惩戒,因此但凡有一点理智的人都是不会干的。但是,这里出现了一个重要的问题:为了一份证人保护证明,要准备100万份证明,警察要验证999 999份才能在最后一份上盲签。这个工作量太大了!幸好,这种高度重复和机械化的工作正好是计算机最擅长的。

如上,我们证明了利用密码学、数学、概率论以及计算机技术来构建信任(信任的成果就是证人保护证明)是可能而且可行的。

从上面可以看到,盲签是建立在概率论的基础上的:有理智的人不会为了小到几百万分之一的机会来冒险作弊。不同于盲签,区块链是另外一种更复杂的构建信任的技术。它综合运用了多种学科的多种技术来建立信任:

密码学:对称/不对称加密

社会学:激励,公开,透明

博弈论:共识理论

图论:有向无环图(DAG)

概率论:挖矿,动态验证者

由于涉及太多的技术细节,我们不再展开讨论。