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

举报
生也有涯 知也无涯 发表于 2021/12/01 13:55:55 2021/12/01
【摘要】 在大数据时代背景下,如何在保护数据安全隐私的前提下充分发挥数据的价值,成了一个亟待解决的问题。同态加密作为实现数据隐私计算的关键技术,在云计算、区块链、隐私计算等领域均存在着广泛的应用需求和一些可行的应用方案。

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拿回这个盒子,把锁打开,就得到了金子。

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

preview

这里面的对应关系是:

  • 盒子:加密算法
  • 盒子上的锁:用户密钥
  • 将金块放在盒子里面并且用锁锁上:将数据用同态加密方案进行加密
  • 加工:应用同态特性,在无法取得数据的条件下直接对加密结果进行处理
  • 开锁:对结果进行解密,直接得到处理后的结果

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

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

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

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

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

在TICS中使用同态加密

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

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

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。