除了直接看余额,谁更有钱还能怎么比(三)
(上接第一回https://xie.infoq.cn/article/b39a20bda8904cfb0da06e915,第二回https://xie.infoq.cn/article/d0391f1b1e0748b7dd2db9c49)
2、应用场景分析
前文对同态加密、多方计算、零知识证明进行了介绍,为了说得清楚,期间穿插了很多例子,但归根到底还是想要说明白这些技术可以怎么用,用到什么地方、什么应用场景,接下来将就这一主题展开分析。
2.1 传统领域
前文举过了这些技术是如何改善、拓展了安全传递与安全处理的例子,比如在客户不透露目的地的前提下向旅行社购买旅游信息,阿里巴巴不透露芝麻开门口令的前提下向四十大盗证明他知道如何开门,各员工不透露自己薪水的前提下计算平均薪水。
同态加密、多方计算、零知识证明这些技术对传统领域进行赋能,使得一些老问题得到解决,或者是直接解决掉了问题,未来会出现更多革命性的应用场景,举例如下:
数据安全查询:政府部门的系统中往往储存了大量的公民和企业经营数据,很多商业机构需要查询信息用作商业用途,但政府不希望数据被泄露或被拷贝走,同时,有些场景下商业机构也不希望政府知道其查询条件。利用安全多方计算技术,可以实现数据的安全查询;
数据安全交换:1、风控与征信领域,传统数据分析模式面临数据采集范围受限、平台上传数据积极性低、更新不及时、接入门槛高等问题。多方计算征信模式可支持数据本地采集方式,弥补传统征信数据老旧、风险评估状况滞后的缺陷,将数据分析范围从金融信贷数据,扩展至医疗、保险、交通等行业的征信评价体系中,获得更为广泛的社会信用评价画像;2、医疗数据的敏感性使得医疗机构、保险、药企、医疗设备供应商之间难以实现低成本、高效的医疗信息数据交换和共享,进而导致行业内大量的数据资源没有得到有效使用和深度分析。多方计算技术在医疗行业的应用,可以在相对封闭的医疗数据参与方之间,建立起安全可信的数据交换网络,实现医疗数据价值的最大效用;
云端数据保护:同态加密最直接的应用可能是将存储和计算外包出去,而不暴露敏感信息。假设有一家小公司试图将其计算设施转移到云上,但它担心云提供商会访问该公司的机密信息。一个简单的解决方案是在将机密信息存储到云中之前对其进行加密,但是公司如何才能在每次操作时使用这些信息而不将其发送回本地,同态加密为这个难题提供了一个优雅的解决方案。公司可以将信息以加密的形式保存在云中,云提供商可以处理此表单中的信息,只将处理后的结果发送回公司进行解密;
数据安全检索:基于全同态加密技术的数据检索方法可以直接对加密的数据进行检索,不但能保证被检索的数据不被统计分析,还能对被检索的数据做基本的加法和乘法运算而不改变对应明文的顺序,既保护了用户的数据安全,又提高了检索效率;
新型身份认证:通常的身份认证都要求传输口令或个人的秘密信息,这或多或少地会给攻击者留下攻击的缺口。以零知识证明为基础的身份证明,就是一种在不传输上述信息的情况下,用户向系统证实自己合法身份的方法。
让我们再来看一个实际的例子,以体现上述技术在解决实际问题时的赋能思想:
你证明了一个世界级的数学难题,但在发表出来之前,总是要找个泰斗级的数学家审稿吧,于是你将证明过程发给了他,他看懂后却动了歪心思,他把你的稿子压住,把你的证明用自己的名义发表,他名利双收,你郁闷至死,你去告他也没用,因为学术界更愿意相信这位数学家。
零知识证明需要示证者和验证者的密切配合,但如果你只是一个数学界的无名之辈,在不存在杂志社、研究中心等第三方机构的情况下,即使你宣称解决了数学难题,也不会有人配合你验证。使用零知识证明,可以这样做:
在完成数学难题的证明之后,先将证明打印好,选择一个可靠的邮政公司,把它寄给自己,当你收到这歌盖着邮戳的快递后,不要打开,然后再把证明寄给数学家看。如果数学家用自己的名义发表了,可以用没开封的快递自证,上面清清楚楚地盖着时间戳,足以证明包裹里的证明是发生在那个时间戳之前的,加上之后你把论文发给数学家的邮件留痕,以及数学家以自己名义发表论文的时间,三者就构成了一个完整的证据链,由不得人不信。
2.2 新兴领域
从前文介绍我们也能看出,同态加密、多方计算、零知识证明等技术都不是突然出现的,都是在20多年之前就已经提出了的,虽然期间沉睡了很久,但都随着比特币、区块链、智能合约的出现与发展,焕发了新的活力。
以零知识证明为例,事实上我们每天家里都在用的WiFi认证,是已经包含了这个思想的,过程中并我们输入在手机里的密码并没有传递给路由器去做校验,整体流程使用了密钥分发(我们知道自己设置的密码,并可以现场告诉来自己家的朋友)+哈希+随机数等,是一套完整的零知识证明方案。
在区块链、智能合约等新兴领域,同态加密、多方计算、零知识证明等正在作为机制保障、底层技术,发挥不可替代的作用:
交易记录混合/匿名交易:把整个区块链系统想象成一个大的中转地址,所有人都往这个地址里转Token,所有人都从这个地址里把Token转走,这些人之间不需要合作,转账随时可以进行,不需要等待。每个人在转入Token的时候,都自己生成一个数字(不告诉别人),转账的时候在Token上附带一个用这个数字生成的哈希值A,写入区块链系统。在转出Token的时候,只需要向系统证明(ZKP):我知道一个数字,这个数字生成的哈希值在系统的哈希值列表中。那么我的哈希值A没有暴露,也就没人能把我的转入交易和转出交易关联起来了,且说明转入的Token是确实存在的,而谁有哈希值A背后的数字,说明那个人真的是转入Token的人。
钱包密钥管理:在数字货币里拥有账户的私钥就表示拥有了资金的所有权。为了提高资产安全,尤其是大额资产,必须对钱包密钥进行高强度安全管理。当前多使用使用多方计算的秘密共享模式,将密钥分成多个部分并以冗余方式分开保管。发起交易时,将一定数量的密钥重新组装为密钥进行签名。比如:可以采用两个独立(部分)秘钥来取代传统的单个私钥的模式,其中一个秘钥保存在手机上(用 TouchID/FaceID授权访问),另一个存储在服务器上,在进行交易的时候,手机和服务器通信共同完成签名。
隐私保护:同态加密技术不仅提供了隐私保护,它同样会允许随时访问公用区块链上的加密数据进行审计或其他目的。比如,以太坊智能合约能够用于管理员工开支。在这个案例中,如果员工不想让其同行知道他们的开支,那么他们可以加密他们的开支详细信息,然后发送到智能合约上。经过加密的开支信息然后会被算入总开支。最后,当公司会计部门想要分析开支时,可以在本地对最终的智能合约进行解密,将总开支详细分解开。这样的效果与公有账本相同,但是只有最终机构能够看到开支详细信息,其他的用户则只能看到一些加密的条目。
最后,我们再回到本系列文章最开头那个富豪比谁更富有的问题上,这个时候我们就可以非常清晰的认识到,除了直接看两人的余额,可以采用同态加密的方式,对加密后的余额进行比较,也可以通过零知识证明的方式,设计一些比较的指标,比如把富豪的资产进行分类,通过比较房产、投资等各部分的大小(当然这可能不符合隐私保护原则),来最终比较谁更富有;还可以使用多方计算的方式,计算富豪A与一群人的平均财产,再计算富豪B与同样这一群人的平均财产,因为这群人的平均财产没有暴露,所以可以间接比较出富豪A和富豪B,谁更富有。
同态加密、多方计算、零知识信任都是老树发新芽的典型代表,随着区块链、智能合约技术的发展,势必出现越来越多的应用场景,使得一些老问题得到解决,或者是直接解决掉了问题。
版权声明: 本文为 InfoQ 作者【石君】的原创文章。
原文链接:【http://xie.infoq.cn/article/8794a56dafdaf66dec4ecd09f】。文章转载请联系作者。
评论 (1 条评论)