共计 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 图中,展现了同态加密的全副过程。输入后果与非同态场景统一。
本文由华为云公布