写点什么

同态加密实现数据隐私计算,能让你的小秘密更加秘密

  • 2021 年 12 月 03 日
  • 本文字数:1262 字

    阅读完需:约 4 分钟

摘要:同态加密作为实现数据隐私计算的关键技术,在云计算、区块链、隐私计算等领域均存在着广泛的应用需求和一些可行的应用方案。

 

本文分享自华为云社区《同态加密在联邦计算中的应用》,作者:生也有涯 知也无涯。

1、什么是同态加密


同态加密(Homomorphic encryption)是一种加密形式,它允许人们对密文进行特定形式的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。换言之,这项技术令人们可以对加密的数据进行处理,得出正确的结果,而在整个处理过程中无需对数据进行解密。同态加密的实现效果如图所示。



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

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


由上图可以看出,同态加密与一般的加密方案的不同之处在于,它关注的是数据处理安全。同态加密提供了一种对加密数据进行处理的功能


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

  • Alice 将金子锁在一个密闭的盒子里面,这个盒子安装了一个手套。

  • 工人可以带着这个手套,对盒子内部的金子进行处理。但是盒子是锁着的,所以工人不仅拿不到金块,连处理过程中掉下的任何金子都拿不到。

  • 加工完成后。Alice 拿回这个盒子,把锁打开,就得到了金子。


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



这里面的对应关系是:

  • 盒子:加密算法

  • 盒子上的锁:用户密钥

  • 将金块放在盒子里面并且用锁锁上:将数据用同态加密方案进行加密

  • 加工:应用同态特性,在无法取得数据的条件下直接对加密结果进行处理

  • 开锁:对结果进行解密,直接得到处理后的结果

资料来源:https://www.zhihu.com/question/27645858/answer/37598506

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


随着区块链、隐私计算等新兴领域的发展及其对隐私保护的更高要求,同态加密也被应用到了更为丰富的领域。华为可信智能计算 TICS 在联邦数据分析中引入同态加密,以保证计算过程的安全。


引入同态加密之前,TICS 采用传统的对称和非对称加密相结合的算法,保证数据传输过程的安全。密文数据到聚合器(aggregator)节点进行多方计算时需要先解密,计算完成后再加密传输出去,实现了数据传输的安全,但是不能保证计算的安全,因此需要引入同态加密。


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



同态加密后的计算过程:



在 TICS 中使用同态加密


联盟管理页面,管理员开启“高级别隐私保护” 。 当开启之后,sql 语句中如果存在 Paillier 同态加密算法支持的运算, 则该运算会采用同态密文计算,其他的计算过程不变。


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


执行作业,可以看到 TICS 系统的 DAG 图中,展示了同态加密的全部过程。 输出结果与非同态场景一致。




点击关注,第一时间了解华为云新鲜技术~

发布于: 3 小时前阅读数: 4
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
同态加密实现数据隐私计算,能让你的小秘密更加秘密