数据安全前沿技术同态加密

同态加密

同态加密(Homomorphic Encryption,HE)概念最早由 Rivest 等人在 1978 年出 [26]。它是一种 特殊加密算法,其形式化可表述为:假设 AB 是两个待加密的明文, Enc(g)是其加密函数,那么它 存在以下关系(被称为数学同态):

Enc(A)oEnc(B) =Enc(A B)

通俗地讲,密文域进行 o操作相当于在明文域进行 ∗操作( o和 ∗是两种特定的数学运算)这种性 质使得密文域进行数据处理、分析与检索等操作成为可能,同时云计算该技术具有重要的应用价值。下

面以简单例子进行阐述:如图 4-9 表示,假设在不可信的云环境中,员工 C1 上传两个密文数 Enc(A) 和 Enc(B),到不可信的云平台中,员工 C2 交两个明文数据进行 ∗的任务,那么公有云平台翻译过 来的数据执行动作为:密文操作 Enc(A)oEnc(B)。由于数据从始至终一直处于加密状态,那么无论是 云服务厂商,还是攻击者他们都将无法访问或窃取明文数据,从而保障了云平台的数据安全。

图 5-3 同态加密在云平台的应用

根据同态加密能力,将同态加密分为加法同态、乘法同态和全同态加密(Full Homomorphic Encryption,FHE):

加法同态: 加密函数满足 Enc(A)+Enc(B+) Enc(A B),可执行密文的加减运算,例如

Paillier 方案加密满足加法同态。

乘法同态: 加密函数满足 Enc(A)∗Enc(B∗) Enc(A B),可执行密文的乘除运算,例如 RSA

方案满足乘法同态。

全同态加密: 如果一个加密函数同时满足加法同态和乘法同态,称为全同态加密。那么这个使

用这个加密函数可完成各种运算,包括加减乘除、多项式、指数、对数、三角函数等,例如经 典的 Gentry 方案满足全同态加密。

全同态加密方案具有重要的应用价值,2009 年 IBM的研究人员 Gentry 首次出了一个完整的全 同态加密方案 [28]。其主要思路为:首先构造一个类同态加密(Somewhat Homomorphic Encryption, SWHE)方案,它只能进行低次的多项式运算;然后,将 SWHE压缩解密电路,使得它能够同态计算它 本身的增强的解密电路,得到一个自举(Bootstrapping)的同态加密方案;最后,通过递归式嵌入, 转化为一个可以同态计算任意电路的方案,即全同态加密。理论上,Gentry 方案可进行无限深度的同态 操作,但付出的代价是计算的开销较高,且密钥规模、密文尺寸较大。随后,一些改进方案被出,例 如 BGV方案、基于误差学习(Learning with Errors, LWE)、理想陪集问题(Ideal Coset Problem, ICP)、 整 数 上 的 近 似 最 大 公 因 子 问 题(Approximate Greatest Common Devisior,AGCD) 等 方案。

同态加密技术可以使得数据处理权与数据所有权可以分离,数据所有方保证拥有的数据安全性,同 时可委托第三方(云服务商)进行计算。在工业界应用上,微软在 Github 开源的同态加密库 SEAL; IBM公司将同态加密(FHE)在 Linux系统的应用工具进行开源⸺FHE Toolkit Linux,为了降低同态 加密的门槛,以 Docker 容器形式化发布,其包含作为 docker 容器安装和运行预打包的工具包所需的所 有脚本,以及 IBM同态加密库 HElib、集成开发环境(IDE)和相应的工作区; RSAC 2019 年创新沙盒 亚军⸺Duality 公司 [28],推出 SecurePlus ™平台,将同态加密技术在大数据隐私保护、机器学习模型 的版权保护和数据合规领域进行应用,通过定制化的同态加密服务器和计算能力,在此基础上供的安 全产品可以使得数据在整个处理生命周期中,始终保持加密状态,用户无需解密即可计算和分析数据。 图 5-4 是 Duality 的 SecurePlus 平台在金融领域应用,其在遵守隐私和金融法规和不暴露敏感的个人或 商业信息前提下,实现交易查询、实体和账户和金融犯罪信息的调查。

然而,现有的同态加密技术与方案需要消耗大量的计算资源、存储资源(体现在高额的实现成本) 是目前实用化的主要挑战,目前只能应用和部署在安全要求较高的特定场景中,目前离广泛的应用仍然 有一段较长的距离。

安全多方计算

安全多方计算(Secure Multi-party Computation,MPC)实际上可以看作是多个节点参与的特殊计 算协议:在一个分布式的环境中,各参与方在互不信任的情况下进行协同计算,输出计算结果,并保证 任何一方均无法得到除应得的计算结果之外的其他任何信息,包括输入和计算过程的状态等信息。它解 决了不信任环境下多个参与方联合计算一个函数的问题 [29]。

安全多方计算可形式化描述为, n 个计算参与方分别持有数据 x ,x ,L ,xn ,协议的目的是利用各

1 2

方的秘密数据计算一个预先达成的共识函数 y , y ,L , y = f (x ,x ,L,x ),此时任意一方可以得到对

1 2 n 1 2 n

应的结果 yi,但无法获得其他任何信息。图 5-5 给出了安全多方计算与传统分布式计算两种模式进行比 较的示例。

(a) 传统分布式计算模型
(b)安全多方计算模型

图 5-5 安全多方计算与传统分布式计算的比较

具体来说,MPC 具有以下的特点:

隐私性: 参与方仅限于获得自己一方的输入和输出数据,除此之外,其他方的数据无法获得。 正确性: 可确保联合计算之后所有参与方都能获得正确的计算结果。

去中心化: 不同于传统的分布式计算,在安全多方计算中供了一种去中心化的计算模式,各

参与方的地位平等,不存在拥有特权的第三方的参与。

实现多方安全计算协议主要有基于混淆电路(Garbled Circuit,GC)、秘密分享(Secret Sharing, SS)和同态加密(Homomorphic Encryption,HE)三种方式。根据支持的计算任务 MPC 可分为专用 场景和通用场景两类:

**专用场景 MPC:**支持特定计算任务的 MPC,具体场景可以采用多种不同的密码学技术设计协

议。比如比较数值大小、隐私求交集(Private Set Intersection,PSI)计算协议等。

**通用场景 MPC:**理论上可支持任何计算任务,MPC 具有完备性。目前采用的方法主要是混淆电

路、不经意传输以及同态加密。

对于两方计算,目前有多种方案,发展较为成熟:2004 年发布的 Fairplay 系统是第一个实现的系统; PSI 两方的隐私求交协议目前发展较为成熟,在一些企业场景实现落地,例如 Google 使用 PSI 技术对 Chrome 用户的其他网络账户密码进行泄露密码库的检测,同时保证无法获取原始密码信息。区块链是 近年来工业界的热点技术,在金融、保险和交易等领域均有广泛应用。然而,在区块链的数据处理与计 算过程中,比如以太坊的智能合约,其所有的数据都是公开透明的,因此会产生隐私和数据泄露问题。

为了解决这一问题,结合安全多方计算成为区块链公司新的解决思路。例如,iCube 是首个引入 MPC 机制的区块链金融项目,解决金融领域借贷在得到正确的用户信用评分的同时,保护用户的隐私数据不 可见。

对于多方计算,在某些特定场景下也具有较好性能,然而通用的场景仍然存在诸多是挑战,例如扩 展性问题、效率问题以及诚实性问题(输入方可能输入虚假数据或篡改状态数据),这些问题亟需未来 进一步研究与解决。

参考资料

绿盟 2020 数据安全前沿技术研究报告

你可能感兴趣的:(同态加密,云计算,大数据)