关于程序员:同态加密在联邦计算中的应用

95次阅读

共计 1336 个字符,预计需要花费 4 分钟才能阅读完成。

【摘要】在大数据时代背景下,如何在爱护数据安全隐衷的前提下充分发挥数据的价值,成了一个亟待解决的问题。同态加密作为实现数据隐衷计算的关键技术,在云计算、区块链、隐衷计算等畛域均存在着宽泛的利用需要和一些可行的利用计划。

1 什么是同态加密

同态加密(Homomorphic encryption)是一种加密模式,它容许人们对密文进行特定模式的代数运算失去依然是加密的后果,将其解密所失去的后果与对明文进行同样的运算后果一样。换言之,这项技术令人们能够对加密的数据进行解决,得出正确的后果,而在整个处理过程中无需对数据进行解密。同态加密的实现成果如图所示。

第一个结构出全同态加密(Fully Homomorphic Encryption)[Gen09]的 Craig Gentry 给出的定义如下:

A way to delegate processing of your data, without giving away access to it.
    

由上图能够看出,同态加密与个别的加密计划的不同之处在于,它关注的是数据处理平安。同态加密提供了一种对加密数据进行解决的性能。

有点形象?咱们举个理论生存中的例子。有个叫 Alice 的用户买到了一大块金子,她想让工人把这块金子打造成一个项链。然而工人在打造的过程中有可能会偷金子啊,毕竟就是一克金子也值很多钱的说… 因而能不能有一种办法,让工人能够对金块进行加工(delegate processing of your data),然而不能失去任何金子(without giving away access to it)?当然有方法啦,Alice 能够这么做:

  • Alice 将金子锁在一个密闭的盒子外面,这个盒子装置了一个手套。
  • 工人能够带着这个手套,对盒子外部的金子进行解决。然而盒子是锁着的,所以工人不仅拿不到金块,连处理过程中掉下的任何金子都拿不到。
  • 加工实现后。Alice 拿回这个盒子,把锁关上,就失去了金子。

这个盒子的样子大略是这样的:

这外面的对应关系是:

  • 盒子:加密算法
  • 盒子上的锁:用户密钥
  • 将金块放在盒子外面并且用锁锁上:将数据用同态加密计划进行加密
  • 加工:利用同态个性,在无奈获得数据的条件下间接对加密后果进行解决
  • 开锁:对后果进行解密,间接失去解决后的后果

2 同态加密在联邦计算中的利用

随着区块链、隐衷计算等新兴畛域的倒退及其对隐衷爱护的更高要求,同态加密也被利用到了更为丰盛的畛域。华为可信智能计算 TICS 在联邦数据分析中引入同态加密,以保障计算过程的平安。

引入同态加密之前,TICS 采纳传统的对称和非对称加密相结合的算法,保障数据传输过程的平安。密文数据到聚合器 (aggregator) 节点进行多方计算时须要先解密,计算实现后再加密传输进来,实现了数据传输的平安,然而不能保障计算的平安,因而须要引入同态加密。

引入同态加密前的计算过程:

引入同态加密后的计算过程:

在 TICS 中应用同态加密

联盟治理页面,管理员开启“高级别隐衷爱护”。当开启之后,sql 语句中如果存在 Paillier 同态加密算法反对的运算,则该运算会采纳同态密文计算,其余的计算过程不变。

创立作业,执行对应 sql 作业。

执行作业,能够看到 TICS 零碎的 DAG 图中,展现了同态加密的全副过程。输入后果与非同态场景统一。

本文由华为云公布

正文完
 0