阈值同态加密在隐私计算中的应用

2021-08-06 06:01柴迪
信息通信技术与政策 2021年7期
关键词:同态私钥加密算法

柴迪

(深圳致星科技有限公司,深圳 518057)

0 引言

大数据技术的发展与硬件算力的提升,促进了人工智能(Artificial Intelligence,AI)技术的发展与落地,愈来愈多的市场应用以大数据作为驱动,借助机器学习算法模型挖掘数据中的价值、并服务于企业。大数据技术的应用无疑给工业界带来了诸多好处,例如AI风控降低了银行的坏账率、提升了反欺诈的识别率,AI营销降低了企业营销成本、减少了对低兴趣客户群体的干扰。然而,大数据、AI技术在工业界的应用经常存在一个问题,单个企业的数据一般无法支撑算法在自身业务场景的落地。例如,银行的风控、营销任务往往需要互联网公司数据中的精准用户画像,在反欺诈案件识别中一般需要多家银行的数据连通来提升准确率,所以工业界中往往需要数据互通、数据共享。

隐私计算(Privacy Preserving Computing)是一种由多方参与的联合计算技术,多方在不泄露各自隐私数据的前提下,完成预定的计算任务,并获得最终结果。在实际应用中,隐私计算既可以发生在同一企业的不同部门,也可以发生在不同企业之间。典型的隐私计算框架假设各个参与者的明文数据不出本地,以降低隐私泄露的风险。常用的隐私保护技术包括同态加密、秘密共享、不经意传输、混淆电路、可信执行环境等。本文将重点关注基于同态加密的隐私计算技术,对比单密钥同态加密和阈值同态加密技术,展示阈值同态加密技术在隐私计算中应用的优势。

1 单密钥同态加密及其在应用中的不足

以同态加密算法支持的运算类型,可以将其分为加法同态、乘法同态、全同态(即同时支持加法和乘法)。

大部分同态加密算法为非对称加密、且只有一个私钥(即单密钥同态加密算法),其计算可以概括为以下4个函数。

• (pk,sk)←Keygen(Params):密钥生成函数,其中pk是公钥、sk是私钥。

•c←Enc(pk,m):加密函数,使用公钥pk加密明文信息m,得到密文c。

•m←Dec(sk,c):解密函数,使用私钥sk解密密文c,得到明文m。

•c*←Eval(c1,c2,…,cn):密文计算函数,在密文c1,c2,…,cn上计算得到c*。

在密文计算函数中,密文c1,c2,…,cn之间可以相互计算的前提是使用了相同的密钥进行加密。那么,在多方参与的隐私计算中,大部分同态加密算法都会遇到以下问题。

(1)多方联合计算最安全的途径是各自生成、保存公私钥,但由于算法限制,不同公钥加密的信息无法进行相互计算,导致隐私计算无法进行。

(2)假设多方使用一套公私钥,虽然计算可以顺利进行,但系统安全性会大大下降,系统中只要有一方被成功攻击,私钥就会泄露。

(3)假设多方使用一套公私钥,则无法决定由哪个参与方生成公私钥。

由于以上问题,单密钥同态加密在隐私场景下的应用受到了较多的限制,并存在较大的安全风险。

2 阈值同态加密(多密钥同态加密)的定义

由于单密钥同态加密在实际应用中存在诸多关于密钥使用、管理的问题,阈值同态加密(多密钥同态加密)应运而生。简单来说,阈值同态加密算法中存在多个私钥、一个(或多个)公钥,使用该公钥系统加密的密文之间可以相互计算,并且只有当参与解密的私钥数量达到一定阈值时,才能成功解密密文,所以这种多密钥同态加密算法又被称为阈值同态加密。

阈值同态加密算法同样可以概括为以下4个函数。

• (pk,sk,ek)←Keygen(Params):密钥生成函数,其中pk是公钥、sk是私钥、ek是用于计算的密钥。

•c←Enc(pk,m):加密函数,使用公钥pk加密明文信息m,得到密文c。

•m←Dec(c,sk1,sk2,…,skk):解密函数,最少k个私钥参与,才能解密得到明文。

•c←Eval((c1,pk1,ek1),(c2,pk2,ek2),…,(cN,pkN,ekN)):密文计算函数,在多个密文上进行计算、获得最终结果,计算过程需要计算密钥ek参与。

现有的阈值同态加密技术大多基于单密钥全同态加密算法改进而来,不同阈值同态加密算法在细节上有所不同,但加密的计算模式一致,即支持多个私钥,不同私钥下密文可以相互计算,解密需要多个私钥参与。在当前的研究中,已经出现多种类型的阈值同态加密算法(见表1)。

表1 阈值同态加密方法列表

阈值同态加密和普通单密钥同态加密的最大不同是:算法支持多个私钥,并且不同公钥加密的密文可以通过计算密钥ek进行转换,以支持相互计算;假设共有N组私钥对应的密文参与了计算,则解密中最少需要K组私钥才能解密成功,其中K≤N,K的值在不同算法中不同,大部分全同态阈值算法中K=N。

3 阈值同态加密的应用

利用阈值同态加密的性质,可以构建多种隐私计算应用,本文将以案例解析的形式来说明如何在隐私计算场景中使用阈值同态加密。

3.1 安全多方横向联邦建模

Sav 等[1]提出了名为Poseidon的隐私保护神经网络建模方案(见图1),该方案场景为横向联邦建模场景,共有4个步骤。

图1 Poseidon隐私保护神经网络建模方案

(1)准备(Prepare):多方共同协商训练参数,例如模型结构、训练参数,然后根节点P1初始化模型参数、并加密。

(2)执行训练(Map):根节点P1将最新的加密模型分发给所有其他参与者,接收到模型后,所有参与者在自身数据上使用梯度下降进行模型训练。

(3)聚合(Combine):根节点P1接受所有参与者更新后的密文模型,执行模型聚合操作。

(4)更新(Reduce):根节点P1将聚合后的参数作为最新加密模型。

重复步骤(2)~(4)多次,达到预定的训练次数后,即可完成训练。

在模型使用时(即预测),查询者(Querier)首先将查询数据使用自身的密钥加密,再传输给模型持有者(例如根节点P1),得到密态下的预测值,若要解密该预测值,需要所有参与者共同合作,即所有私钥参与解密。

3.2 安全模型推理

Chen 等[2]提出了一种隐私保护神经网络推理框架(见图2)。在该框架中,有两个类型的参与者,一个是数据拥有方,一个是模型提供方,数据拥有方想要使用模型提供方的模型进行推理。该方案共有以下3个步骤。

图2 安全模型推理

(1)数据拥有方将数据加密、上传到一个半诚实的服务器,模型提供方将模型参数加密、上传到相同的服务器中。

(2)服务器在密态下进行模型推理计算,即神经网络的前行传播。

(3)完成推理后,服务器将推理结果发送给双方,双方分别使用自己的私钥解密得到“部分解密结果”,模型提供者将本地解密结果发送给数据拥有方,数据拥有方聚合得到最终的明文推理结果。

在整个过程中,服务器、模型提供者均无法获取到关于数据持有者的隐私信息,完成了隐私保护的模型推理计算。

3.3 安全多方云计算

Li等[3]提出了一种安全多方云计算方案(见图3),该方案也使用了阈值同态加密技术,多个数据持有者首先将数据加密、上传到一个云计算平台,然后该云计算平台按照指定的流程完成密态下的计算,并将密态的结果返回给各个数据持有者,最终数据持有者协同解密、得到最终结果。

图3 基于阈值同态加密的安全多方云计算

3.4 其他案例

除了以上提到的案例外,阈值同态加密在隐私计算研究中还有着大量的工作:文献[4-7]借助阈值同态加密技术提出多方安全计算(MPC)框架,并与现有的MPC方案进行了对比;Wu等[8]借助阈值同态加密方案提出了一种联邦集成树模型;Ma等[9]借助阈值同态加密提出了一种联邦学习方案;Karabat等[10]借助阈值同态加密实现了一个安全的生物信息(例如指纹)验证方案。

4 结束语

近年来,隐私数据保护成为全球关注的焦点。随着欧盟委员会发布《一般数据保护条例》(General Data Protection Regularization),以及中国《数据安全法(草案)》《个人信息保护法(草案)》的出台,个人隐私数据的应用受到了严格的法律管控,如何在保护个人隐私的前提下,进行数据连通、数据共享、发挥大数据的价值,成为了亟待解决的问题。在此背景下,隐私计算受到了广泛的关注。本文介绍了隐私计算、单密钥同态加密技术和阈值同态加密技术,指出了单密钥同态加密算法在隐私计算中应用的不足,并对阈值同态加密代替单密钥同态加密算法在隐私计算中的应用进行了分析和研究。

猜你喜欢
同态私钥加密算法
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
关于半模同态的分解*
拉回和推出的若干注记
一种基于虚拟私钥的OpenSSL与CSP交互方案
一种基于LWE的同态加密方案
HES:一种更小公钥的同态加密算法
基于小波变换和混沌映射的图像加密算法
对称加密算法RC5的架构设计与电路实现