【摘要】 在大数据时代背景下,如何在保护数据安全隐私的前提下充分发挥数据的价值,成了一个亟待解决的问题。同态加密作为实现数据隐私计算的关键技术,在云计算、区块链、隐私计算等领域均存在着广泛的应用需求和一些可行的应用方案。
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拿回这个盒子,把锁打开,就得到了金子。
文章图片
这里面的对应关系是:
- 盒子:加密算法
- 盒子上的锁:用户密钥
- 将金块放在盒子里面并且用锁锁上:将数据用同态加密方案进行加密
- 加工:应用同态特性,在无法取得数据的条件下直接对加密结果进行处理
- 开锁:对结果进行解密,直接得到处理后的结果
随着区块链、隐私计算等新兴领域的发展及其对隐私保护的更高要求,同态加密也被应用到了更为丰富的领域。华为可信智能计算TICS在联邦数据分析中引入同态加密,以保证计算过程的安全。
引入同态加密之前,TICS采用传统的对称和非对称加密相结合的算法,保证数据传输过程的安全。密文数据到聚合器(aggregator)节点进行多方计算时需要先解密,计算完成后再加密传输出去,实现了数据传输的安全,但是不能保证计算的安全,因此需要引入同态加密。
引入同态加密前的计算过程:
)
引入同态加密后的计算过程:
文章图片
在TICS中使用同态加密
联盟管理页面,管理员开启“高级别隐私保护” 。 当开启之后,sql语句中如果存在Paillier同态加密算法支持的运算, 则该运算会采用同态密文计算,其他的计算过程不变。
【同态加密在联邦计算中的应用】创建作业,执行对应sql作业。
执行作业,可以看到TICS系统的DAG图中,展示了同态加密的全部过程。 输出结果与非同态场景一致。
文章图片
本文由华为云发布
推荐阅读
- 华为云图引擎服务 GES 实战——创图
- 程序员|互联网公司去年到今年的大批裁员,难道程序员没有未来了吗()
- 开放报名丨《音视频社交新风口》线上峰会,聚焦海外社交生态升级
- 融云猿桌派(35 岁程序员,正值当打之年,尚有星辰大海)
- Java|网易24周年,竟拿出内部进阶必备的网络协议笔记,给程序员发福利
- Java|又一款 Nginx 管理可视化神器,通过界面完成配置监控
- Java|Keycloak简单几步实现对Spring Boot应用的权限控制
- 中国唯一 | 华为云GaussDB(DWS)获得CC安全认证
- 程序员|Linux 受到开发者偏爱的 9 个理由