基于密码技术的人工智能隐私保护计算模型
人工智能隐私保护的应用场景多种多样 . 在不同的场景中,完成隐私保护计算的实体可信程度和数量
不尽相同 . 这些实体的可信程度和数量对隐私保护计算方法能否实际应用具有重要影响 . 本文从实体的可信程度和
数量出发,将基于密码技术的人工智能隐私保护计算方法归类为 4 种计算模型,分别是多中心模型、双中心模型、单中
心模型和现实模型 . 除现实模型外,其它计算模型都存在可信实体 . 对每一种计算模型,本文给出当前基于密码学工
具给出的人工智能隐私保护方法涉及的典型计算和采取的典型算法,并指出提升算法的效率和安全性是对每种计算
模型都适用的研究方向 .
关键词: 人工智能;隐私保护;计算模型;算法;协议;密码技术
基 金 项 目 : 广 东 省 基 础 与 应 用 基 础 研 究 重 大 项 目(No.2019B030302008);广 东 省 重 点 领 域 研 发 计 划 项 目
(No.2020B010166005);华为技术有限公司(No.TC20210407007,No.YBN2019105017)
中图分类号: TP309.2 文献标识码: A 文章编号: 0372-2112(2023)08-2260-17
电子学报 URL:http://www.ejournal.org.cn DOI:10.12263/DZXB.20210702
A Survey: Computing Models of Artificial Intelligence Privacy Protection
Based on Cryptographic Techniques
TIAN Hai-bo, LIANG Xiu-qi
(School of Computer Science and Engineering,Sun Yat-Sen University,Guangzhou,Guangdong 510275,China)
Abstract: The application scenarios of artificial intelligence privacy protection are diverse. In different scenarios, the
trustness and number of entities fulfilling privacy protection computation are different. The trustness and number of these
entities have an important impact on the technical choices of privacy protection computation. Starting from the trustness
and number of entities, this paper classifies the computation methods of artificial intelligence privacy protection, which are
based on cryptographic techniques into four types of computation models: multiple centers model, double centers model,
single center model and real model. Except for the real model, there are trusted entities in all other computation models.
For each kind of computation model, this paper presents the typical computations and algorithms, which are involved in the
current artificial intelligence privacy protection methods based on cryptography tools. And this paper also points out that
improving the efficiency and security of algorithms is an applicable research direction for each model.
Key words: artificial intelligence; privacy protection; computation models; algorithms; protocols; cryptographic
techniques
Foundation Item(s): Guangdong Major Project of Basic and Applied Basic Research (No.2019B030302008); Key-
Area Research and Development Program of Guangdong Province (No.2020B010166005); Huawei Technologies Co., Ltd.
(No.TC20210407007, No.YBN2019105017)
1 引言
人工智能隐私保护具有现实需求 . 人工智能计算
的应用场景非常丰富 . 例如银行可以通过用户的数据
建立模型,然后用该模型对用户的信用进行评估 . 银行
和电信公司可以通过两方的数据建立更好的模型,从
而对用户信用进行更为准确的评估 . 多家医院可以通
过各自用户的数据建立关于疾病的模型,以更好地完
成诊疗服务 . 在不同的应用场景中,对模型、数据隐私
保护的需求有所不同 . 模型隐私保护的需求往往来自
其商业价值,因为一个预测准确率高的模型往往是经
过大量的资金和人力投入获得的,并且可以作为一种
服务[1]
提供给消费者或者合作伙伴 . 数据隐私保护的
收稿日期:2021-06-04;修回日期:2022-07-25;责任编辑:王天慧
第 8 期 田海博:综述:基于密码技术的人工智能隐私保护计算模型
需求实际来自各种法律法规 . 我国在《中华人民共和国
民法典》和《中华人民共和国网络安全法》中明确了个
人隐私数据和网络运营者使用这些数据时应当遵循的
法律条文 . 这迫使数据提供方对数据附有各种使用策
略[2]
,以满足法律法规的要求 .
人工智能隐私保护的计算主要指在保证模型、数
据隐私的条件下,完成模型的训练或者在已有模型上
完成预测 . 完成隐私保护计算的实体数量和可信程度
是不同的 . 例如银行和电信公司是两个参与方,为了进
行隐私保护的计算,一种方法是引入一个隐私计算服
务提供方和一个密钥分配服务提供方 . 假设密钥分配
和隐私计算两个服务提供方不勾结,可以实现基于同
态加密等技术的双参与方、双服务提供方的隐私保护
计算 . 又例如多家医院形成多个参与方,为了进行隐私
保护的计算,一种方法是引入一个联邦平均算法服务
提供方 . 假设该服务提供方是半诚实的,可以实现多参
与方、单服务提供方且能保护用户数据隐私的横向联
邦学习 .
多个参与方完成的计算形成了多方计算的场景 .
密码学领域中的安全多方计算[3]
是一种自然的技术
选 择 . 安 全 多 方 计 算 使 n 个 互 不 信 任 的 参 与 方
[P1 P2 Pn ] 能 够 完 成 某 个 函 数 F 的 计 算 任 务
( y1 y2 yn ) = F(x1 x2 xn ),其中 xi 是参与方 Pi 的隐
私数据,1 ≤ i ≤ n,F 代表任意可以在图灵机模型下计算
的函数,(y1 y2 yn ) 是该函数的输出结果[4]
. 在计算
任务完成后,参与方 Pi 能获得输出 yi,同时不泄露各自
的隐私数据 xi. 多个参与方通过安全多方计算可以在
保护数据、模型隐私的条件下,完成函数 F 为训练或者
预测的计算 .
安全多方计算定义了理想模型以明确安全的内
涵[4]
. 在理想模型中,有一个可信第三方 TTP(Trusted
Third Party),每个参与方把隐私数据安全的传输给该
TTP,由 TTP 运行函数 F,得到输出 (y1 y2 yn ),然后把
输出 yi 安全地发给参与者 Pi,1 ≤ i ≤ n. 现实中很难找到
这样的 TTP,因此安全多方计算的主要任务是提供模拟
TTP 功能的方法 . 安全多方计算从姚先生的百万富翁
问题开始,经过 40 年的发展,已经形成了以混淆电路、
不经意传输、GMW(Goldreich,Micali,Wigderson)协议、
BGW(Ben-Or,Goldwasser,Wigderson)协议、选择-分割
协议、零知识证明等为基础的完整技术路线[5]
. 这些技
术在半诚实攻击者或者恶意攻击者条件下可以让各个
参与方直接模拟 TTP 的功能,得到相应的输出 .
在人工智能隐私保护方面,安全多方计算理论与
实际需求之间还存在较大的差距 . 人工智能隐私保护
中,需要保护的数据规模往往过万,需要保护的模型参
数规模经常超过百万 . 当我们将小规模数据上运行良
好的安全多方计算协议放到人工智能隐私保护的实际
环境中时,这些协议的通信量或者计算量过大,导致协
议的性能往往不能满足实际需求 . 我们注意到当前的
人工智能隐私保护计算在事实上采用了折衷的思路,
即引入服务提供方,并对服务提供方进行一定的置信
假设,以得到满足实际需求的解决方案 . 在这些解决方
案中,服务提供方的数量和可信程度有所不同 . 然而,
其任务却是相似的 . 借用安全多方计算的概念,可以说
服务提供方模拟了 TTP 的功能,为参与方提供隐私保
护的计算 . 例如,一个双参与方、双服务提供方的隐私
保护计算,可以看成两个互不信任的参与方,通过两个
服务提供方模拟的 TTP 完成函数 F 为某种人工智能算
法的计算过程 .
基于上述事实,我们认为对当前的人工智能隐私
保护方案,根据服务提供方的数量和可信程度,可以划
分为若干计算模型,进而梳理不同计算模型下进行的
典型计算和完成计算任务时基于密码学工具的典型算
法,可以让读者从实际需求出发,快速了解某类计算模
型的当前进展和主要采用的密码技术,为进一步研究
或者应用做好准备 .
具体地,我们将当前人工智能隐私保护的计算归
类为多中心、双中心、单中心模型和现实模型 4 类 . 现
实模型中不存在服务提供方及其置信假设 . 其他各类
计算模型的非正式描述如下 .
(1)多中心模型:存在多个服务提供方[S1 S2 Sm ],
m > 2,合作完成 F 函数的计算 .
(2)双中心模型:存在两个服务提供方 S1 和 S2,合
作完成 F 函数的计算 .
(3)单中心模型:存在一个服务提供方 S,完成函数
F 的计算 .
这些服务提供方的置信假设包括不勾结、可信、半
诚实等 . 例如密钥分配中心一般是可信的,不会与其他
服务提供方勾结;多个服务提供方中有若干是可信的,
不会泄漏用户数据等 . 在具体的应用场景中,有些假设
是可以满足的 . 例如多个有竞争关系的公司联合为用户
提供某种服务,根据用户自身对公司的信赖程度,可以
实现多个服务提供方中有若干是可信的这一假设 . 有些
假设则不容易满足,例如可信的密钥分配中心 . 因此,隐
私保护方案所属的计算模型可以反映其在某些场景中
是否能实际落地,以及是否能完成隐私保护的任务 .
2 问题与挑战
目前,人工智能的隐私保护计算已有较多的高质
量综述 . 这些综述大多以隐私保护方案采取的不同技
术和策略或应用场景中的计算任务来分类,并对每一
类的当前进展给出了详细、全面的描述 .
2261
电 子 学 报 2023 年
文献[6]在“模型隐私风险与保护”一节,把隐私保
护方法分为基于差分隐私和基于密码学 2 类,其中密码
学技术主要涉及同态加密和安全多方计算 . 文献[7]
按照差分隐私、同态加密和安全多方计算技术详细地
介绍了当前的隐私保护方案 . 在“机器学习隐私保护
方案的分类”一节,该文按照模型训练方式,把隐私保
护方案分为集中式、分布式和联邦学习 3 类 . 文献[8]
在“ 机 器 学 习 中 的 隐 私 防 御 方 案 ”一 节 ,按 照 基 于 扰
动、近似、泛化、对抗和本地 5 种策略总结了隐私保护
防御方案,其涉及的技术包括差分隐私、同态加密、L2
正则化、对抗网络、安全协议等 . 文献[9]把隐私保护
机器学习方案分为使用密码学方法的方案和使用数
据扰动方法的方案 2 类:对于采用密码学方法的解决
方 案 ,进 一 步 按 照 同 态 加 密 、Garbled 电 路 、秘 密 分 享
和安全处理器 4 种技术对现有典型方案进行了梳理;
对于采用数据扰动方法的解决方案,进一步按照差分
隐私、本地扰动、降维 3 种技术对现有典型方案进行了
梳理 . 其中差分隐私主要是加噪声,本地扰动主要是
反馈随机响应,降维主要是对数据源变换以降低数据
的维度 .
对于深度学习计算任务,文献[10]把隐私保护计
算涉及的技术分为同态加密、安全多方计算和差分隐
私 3 类,并对每一类中的隐私保护深度学习方案进行了
描述 . 对于推荐系统计算任务,文献[11]把隐私保护计
算涉及的技术分为同态加密、安全多方计算、秘密分享
和零知识证明 4 类,其中零知识证明主要是在基于位置
的推荐系统中,用于匿名的证明用户的身份 . 对于基因
检测计算任务,文献[12]把隐私保护计算涉及的技术
分为同态加密、Garbled 电路、不经意传输、隐私信息提
取和加密的有限自动机几类,并总结了该类计算任务
涉及的具体计算函数,包括编辑距离、疾病易感性、身
份 测 试 、族 系 测 试 、亲 子 鉴 定 、个 人 医 疗 和 基 因 匹
配等 .
当前综述主要着眼于人工智能隐私保护方案和人
工智能的计算任务,从技术、策略、应用的角度进行了
分类总结 . 然而计算模型对实际的生产活动有直接的
影响 . 计算模型下的假设与实际的人工智能隐私保护
方案的应用场景是否匹配,决定了该类计算模型下的
方案能否实际部署 . 因此,本文力图从计算模型的角
度,对不同隐私保护方案和计算任务进行整理,给出当
前各种计算模型下隐私保护方案完成的主要计算任务
和采取的主要算法,并对一些采取密码学工具的算法
进行原理性分析和性能分析,以展示当前的技术进展 .
在对各种计算模型下的隐私保护方案进行梳理之后,
本文指出提升隐私保护算法的效率和安全性是对各类
计算模型都有益的研究方向 .
3 研究现状分析
本节按照 4 类计算模型,梳理当前的人工智能隐
私保护方案涉及的计算任务和典型的基于密码学工
具 的 算 法 . 表 1 总 结 了 本 节 用 到 的 各 种 符 号 及 其
含义 .
3. 1 多中心模型
多中心模型的主要内容是用超过两个服务提供方
模拟安全多方计算 TTP 的功能,以实现隐私保护计算
的目的 . 目前的隐私保护方案最多使用三个服务提供
方,因此下面给出三中心模型的定义,一般性定义可以
类似地扩展 .
定义 1 (三中心模型)三中心模型的参与者记为
P1 P2 Pn,服务提供方记为 S0 S1 S2. 对于 1 ≤ i ≤ n 和
0 ≤ j ≤ 2,参与者 Pi 向服务提供方 Sj 上传秘密份额 xij. 在
参与者的秘密份额之上,3 个服务提供方合作完成某个
计算函数 (y1 y2 yn ) = F(x1 x2 xn ),并将输出 yi 返
回给 Pi.
三中心模型中,参与者通过秘密分享技术把自己
的数据以秘密份额的形式上传到 3 个服务提供方,然后
3 个服务提供方在秘密份额的基础上完成隐私保护的
计算 . 3 个服务提供方显然不能都由攻击者控制 . 这意
味着在实际的应用中,参与者需要相信 t 个服务提供方
是不会泄露隐私数据的,是可信的,其中 t 是参与者采
表 1 本文所用符号及其含义
符号
[P1 P2 Pn ]
[S1 S2 Sm ]
xi
xij
sxij
spij
PRF
OT
k
z k
x(t)
ij
r( )l
j
x> j
x-j
x±j
k y
w
LSB(k y
w )
{xi }
π
G g q
skiu
含义
表示含有 n 个参与者的列表
表示含有 m 个服务提供方的列表
参与者 Pi 的隐私数据
xi 的秘密份额,给 Sj 或 Pj
xi 的加性秘密分享份额,给 Sj 或 Pj
xi × x’i 的加性秘密分享份额,给 Sj 或 Pj
伪随机数生成函数
不经意传输
数据的比特长度
整数 z 右移 k 位
xi 的秘密份额,给 Sj 或 Pj,门限为 t
随机数 r 的第 l 比特份额,给服务提供方 Sj
服务提供方 Sj 关于 xi > x’i 的秘密份额
服务提供方 Sj 关于 x’i - xi 差的秘密份额
服务提供方 Sj 关于 x 的符号的秘密份额
Garbled 电路中比特 y 对应的线密钥
线密钥 k y
w 的第 0 比特
数据 xi 的密文
随机置换函数
G =< g > 为循环群,q 为群的阶
参与者 Pi 和 Pu 的共享密钥
2262
第 8 期 田海博:综述:基于密码技术的人工智能隐私保护计算模型
用的秘密分享技术的门限值 .
一般意义上,多中心模型中服务提供方的计算依
赖秘密分享方案 . 例如文献[13]给出了 ABY3 模型,参
与者以任意接入结构[14]
的秘密分享方案,把自己的隐
私数据进行分享 . 设参与者 Pi 的隐私数据 xi mod 2k 为 k
比特的整数,算法 1 给出了分享的过程,算法 1 的输出
xij 上传给 Sj,0 ≤ j ≤ 2.
根据算法 1 的分享过程,显然任意两个服务提供方
都可以恢复秘密,所以是一种(2,3)门限的接入结构 .
文献[15]给出了 Sharemind 框架,参与者按照加性秘密
分享把自己的秘密分为 3 个份额,分别给 3 个服务提供
方,形成(3,3)门限的接入结构 .
服务提供方在参与者的份额上,可以完成加法和
乘法计算 . 其中 2 个秘密值的和的份额、公开常数与秘
密值的积的份额等运算都可以在本地完成,无须通信 .
乘法的运算则与秘密分享方案相关 . 当秘密分享方案
为任意接入结构[14]
时,假设需要计算 xi × x’i 的积的秘密
份额,可以列出式(3-1),其中第 j 行的计算可以由服务
提供方 Sj 单独完成无须通信 . 因此,三方事实上就各自
得到了一个(3,3)的关于 xi × x’i 的积的份额 spij,0 ≤ j ≤ 2,
满足 xi × x’i = spi0 + spi1 + spi2. 这 3 个份额经过 0 的(3,3)份
额的扰动之后,由服务提供方 Sj 发送给 Sj’,j’= j + 1 mod 3,
就完成了(2,3)门限的 xi × x’i 的积的份额的计算 .
xi x’i = (sxi0 + sxi1 + sxi2 ) (sx’i0 + sx’i1 + sx’i2 )
= sxi0 sx’i1 + sxi1 sx’i0 + sxi0 sx’i0
+sxi1 sx’i2 + sxi2 sx’i1 + sxi1 sx’i1
+sxi2 sx’i0 + sxi0 sx’i2 + sxi2 sx’i2 (1)
当把 k 比特整数看成定点数时,设包含 d 比特的小
数部分,则乘法操作还需要除以 2d,以保持定点数的性
质 . 假 设 两 个 随 机 数 r = sr0 + sr1 + sr2 和 r/2d = srd0 +
srd1 + srd2. 服务提供方 Sj 有这 2 个随机数的秘密份额
(srj,srdj,srj’,srdj’),j’ = j + 1 mod 3. 设 0 的(3,3)份额在 Sj
处为 szj. 那么在得到 xi × x’i 直接乘积未经缩放的秘密份
额 spij 后,还需要根据算法 2 进行缩放,以满足定点数的
要求 . 当 2 个包含 k 比特定点数的向量做内积时,也可
以按照式(1)的方式先在本地计算每一个分量的(3,3)
份额,做本地加和之后得到最终内积的(3,3)份额,然
后再按照上述过程除以 2d,得到内积的最终份额 .
当秘密分享方案为加性秘密分享时,文献[15]采
取了先把加性分享的份额转化为任意接入结构的份
额,然后按照式(1)进行计算的方法 . 文献[16]则采用
了 Beaver 预计算的方法 . 假设整数 c = ab,且服务提供
方 Sj 已经有了 a,b,c 的份额 aj bj cj. 另外服务提供方 Sj
有整数 xi 的份额 sxij 和整数 x’i 的份额 sx’ij. 为计算 xi × x’i,
服务提供方 Sj 只需要计算 sxij - aj 和 sx’ij - bj,然后服务
提供方恢复 xi - a 和 x’i - b 的值 . 通过式(2)可知,此时服
务 提 供 方 Sj 可 以 本 地 计 算 xi x’i 的 份 额 cj + aj (x’i -b) +
bj (xi -a ) + (xi -a)(x’i -b).
xi x’i = ( xi +a - a) ( x’i +b - b)
= ab + a ( x’i - b)
+b ( xi - a) + ( xi - a) ( x’i - b) (2)
从上面的算法可以看到,秘密份额上的乘法运算需
要 0 的秘密份额或者乘法预计算的份额 . 对于任意接入
结构的秘密分享方案,假设服务提供方 S0 S1 S2 分别拥有
了份额 xi0 xi1 xi2,文献[17]给出了伪随机数秘密份额的
生成算法,如算法 3 所示 . 该算法中 x’ij 是一个新的随机
数 x’i = sx’i0 + sx’i1 + sx’i2 在服务提供方 Sj 处的秘密份额 .
算法 3 的原理在于,对任意接入结构的秘密分享,
所有人的秘密份额数量的和一定是最大不合格接入结
构集合规模的倍数,从而所有秘密份额的异或最终会
导致 0 的出现 . 例如,sx’i0 ?sx’i1,sx’i1 ?sx’i2 和 sx’i2 ?sx’i0 是 0
的 3 个秘密份额 . 文献[13]采用了这样的方法 . 乘法预
计算的份额在文献[15]中采用了算法 4 来完成 .
特别需要注意的是,式(1)和式(2)所展示的算法
适用于多中心模型,并不限于 3 个服务提供方 . 例如采
用(3,5)门限的一般接入结构秘密分享方案,式(1)的
计算方法依旧成立 . 事实上,当服务提供方的数量较多
时,有一种更为高效的计算乘法的方法 . 当秘密分享方
案为 Shamir 秘密分享时,文献[18]给出了采用两种门
算法 3 伪随机数秘密份额的生成算法
输入:服务提供方 Sj 拥有 xij = (sxij sxij’ ), j’ = j + 1 mod 3,执行轮数 z
输出:x’ij = (sx’ij sx’ij’ )
- 服务提供方 Sj 通过一个伪随机数生成函数 PRF 计算 sx’ij =
PRFsxij ( z )和 sx’ij’ = PRFsxij’( z ), j’= j + 1 mod 3 . - 输出 x’ij = (sx’ij sx’ij’ ) .
算法 1 参与者分享隐私数据算法
输入:参与者 Pi 的 k 比特隐私数据 xi mod 2k
输出:给服务提供方 Sj的秘密份额xij,0 ≤ j ≤ 2 - Pi 随机选取 sxi0 sxi1 mod 2k,计算 sxi2 = xi - sxi0 - sxi1 mod 2k .
- Pi 生成秘密份额 xi0 = (sxi0 sxi1 )xi1 = (sxi1 sxi2 )xi2 = (sxi2 sxi0 ) .
- 输出 xij,0 ≤ j ≤ 2 .
算法 2 秘密份额定点数乘法中积的缩放算法
输入:服务提供方 Sj的 秘密份额(spij szj srj, srdj, srj’ , srdj’), j’= j +
1 mod 3,0 ≤ j ≤ 2
输出:xi × x’i 定点数积的秘密份额 - 服务提供方 Sj 公开 spij + szj - srj .
- 所有服务提供方一起恢复 tmp = xi × x’i - r .
- 服务提供方 Sj 计算 tmp/2d + srdj 和 tmp/2d + srdj’ .
- 输出(tmp/2d + srdj tmp/2d + srdj’) .
2263
电 子 学 报 2023 年
限值来计算乘法的方法 . 假设较小的门限为 t,服务提
供方 Sj 有 xi 的 t 门限份额 x(t)
ij 和 x’i 的 t 门限份额 x’(t)
ij ,另有
同一个随机数 r 的 t 门限份额 r(t)
j 和 2t 门限份额 r(2t)
j . 此
时乘法份额的计算如算法 5 所示 . 算法 5 在三中心模型
中不能使用,因为门限太小,所以秘密份额就是秘密值
本身 . 然而,对于更为一般的多中心模型,并且容忍比
较小的门限时,该方法只需要一次秘密恢复的操作,消
耗一对随机份额,就可以完成一次乘法 .
在秘密份额的基础上完成一些复杂运算需要的通
信量较高 . 以比较运算为例,假设服务提供方 Sj 拥有某
种秘密分享方案下 k 比特 xi 的份额 xij 和同样长度的 x’i
的份额 x’ij,现在服务提供方希望得到 xi > x’i 的份额 x> j.
文献[19]给出了计算方法:首先 Sj 计算 x’ij - xij 得到关于
x’i - xi 的份额 x-j,之后根据算法 6 得到该差的符号的份
额 x±j,进而得到 xi > x’i 的份额 1 - x±j. 为了计算 x±j,服务
提供方需要 预计算k 个二进制随机数的份额,一个随机
数 α 的份额和随机数 β ? { + 1 - 1}的份额 . 设服务提供
方 Sj 参与预计算后获得 r(1)
j r(2)
j r( )k
j ,αj 和 βj.
不考虑预计算的代价,算法 6 需要 2 次秘密恢复、
一次连乘和 k 次乘法 . 因为一次乘法需要至少一次通
信 ,考 虑 并 发 操 作 ,上 述 比 较 协 议 的 通 信 轮 数 是
O(log k) 级别,通信量是 O(k) 级别的 . 文献[20]通过采
用 Legendre 符号,得到了通信次数常数轮、通信量为
O ( )k
log k 级别的协议,该协议更为高效 .
如果可以限制多中心模型中服务提供方的数量,
可以用通信次数更少的 Garbled 电路技术 . 文献[13]中
限制服务提供方的数量为三,约定采用任意接入结构
的秘密分享方案,半诚实模型下,可以在秘密份额的基人工智能隐私保护的应用场景多种多样 . 在不同的场景中,完成隐私保护计算的实体可信程度和数量
不尽相同 . 这些实体的可信程度和数量对隐私保护计算方法能否实际应用具有重要影响 . 本文从实体的可信程度和
数量出发,将基于密码技术的人工智能隐私保护计算方法归类为 4 种计算模型,分别是多中心模型、双中心模型、单中
心模型和现实模型 . 除现实模型外,其它计算模型都存在可信实体 . 对每一种计算模型,本文给出当前基于密码学工
具给出的人工智能隐私保护方法涉及的典型计算和采取的典型算法,并指出提升算法的效率和安全性是对每种计算
模型都适用的研究方向 .
关键词: 人工智能;隐私保护;计算模型;算法;协议;密码技术
基 金 项 目 : 广 东 省 基 础 与 应 用 基 础 研 究 重 大 项 目(No.2019B030302008);广 东 省 重 点 领 域 研 发 计 划 项 目
(No.2020B010166005);华为技术有限公司(No.TC20210407007,No.YBN2019105017)
中图分类号: TP309.2 文献标识码: A 文章编号: 0372-2112(2023)08-2260-17
电子学报 URL:http://www.ejournal.org.cn DOI:10.12263/DZXB.20210702
A Survey: Computing Models of Artificial Intelligence Privacy Protection
Based on Cryptographic Techniques
TIAN Hai-bo, LIANG Xiu-qi
(School of Computer Science and Engineering,Sun Yat-Sen University,Guangzhou,Guangdong 510275,China)
Abstract: The application scenarios of artificial intelligence privacy protection are diverse. In different scenarios, the
trustness and number of entities fulfilling privacy protection computation are different. The trustness and number of these
entities have an important impact on the technical choices of privacy protection computation. Starting from the trustness
and number of entities, this paper classifies the computation methods of artificial intelligence privacy protection, which are
based on cryptographic techniques into four types of computation models: multiple centers model, double centers model,
single center model and real model. Except for the real model, there are trusted entities in all other computation models.
For each kind of computation model, this paper presents the typical computations and algorithms, which are involved in the
current artificial intelligence privacy protection methods based on cryptography tools. And this paper also points out that
improving the efficiency and security of algorithms is an applicable research direction for each model.
Key words: artificial intelligence; privacy protection; computation models; algorithms; protocols; cryptographic
techniques
Foundation Item(s): Guangdong Major Project of Basic and Applied Basic Research (No.2019B030302008); Key-
Area Research and Development Program of Guangdong Province (No.2020B010166005); Huawei Technologies Co., Ltd.
(No.TC20210407007, No.YBN2019105017)
1 引言
人工智能隐私保护具有现实需求 . 人工智能计算
的应用场景非常丰富 . 例如银行可以通过用户的数据
建立模型,然后用该模型对用户的信用进行评估 . 银行
和电信公司可以通过两方的数据建立更好的模型,从
而对用户信用进行更为准确的评估 . 多家医院可以通
过各自用户的数据建立关于疾病的模型,以更好地完
成诊疗服务 . 在不同的应用场景中,对模型、数据隐私
保护的需求有所不同 . 模型隐私保护的需求往往来自
其商业价值,因为一个预测准确率高的模型往往是经
过大量的资金和人力投入获得的,并且可以作为一种
服务[1]
提供给消费者或者合作伙伴 . 数据隐私保护的
收稿日期:2021-06-04;修回日期:2022-07-25;责任编辑:王天慧
第 8 期 田海博:综述:基于密码技术的人工智能隐私保护计算模型
需求实际来自各种法律法规 . 我国在《中华人民共和国
民法典》和《中华人民共和国网络安全法》中明确了个
人隐私数据和网络运营者使用这些数据时应当遵循的
法律条文 . 这迫使数据提供方对数据附有各种使用策
略[2]
,以满足法律法规的要求 .
人工智能隐私保护的计算主要指在保证模型、数
据隐私的条件下,完成模型的训练或者在已有模型上
完成预测 . 完成隐私保护计算的实体数量和可信程度
是不同的 . 例如银行和电信公司是两个参与方,为了进
行隐私保护的计算,一种方法是引入一个隐私计算服
务提供方和一个密钥分配服务提供方 . 假设密钥分配
和隐私计算两个服务提供方不勾结,可以实现基于同
态加密等技术的双参与方、双服务提供方的隐私保护
计算 . 又例如多家医院形成多个参与方,为了进行隐私
保护的计算,一种方法是引入一个联邦平均算法服务
提供方 . 假设该服务提供方是半诚实的,可以实现多参
与方、单服务提供方且能保护用户数据隐私的横向联
邦学习 .
多个参与方完成的计算形成了多方计算的场景 .
密码学领域中的安全多方计算[3]
是一种自然的技术
选 择 . 安 全 多 方 计 算 使 n 个 互 不 信 任 的 参 与 方
[P1 P2 Pn ] 能 够 完 成 某 个 函 数 F 的 计 算 任 务
( y1 y2 yn ) = F(x1 x2 xn ),其中 xi 是参与方 Pi 的隐
私数据,1 ≤ i ≤ n,F 代表任意可以在图灵机模型下计算
的函数,(y1 y2 yn ) 是该函数的输出结果[4]
. 在计算
任务完成后,参与方 Pi 能获得输出 yi,同时不泄露各自
的隐私数据 xi. 多个参与方通过安全多方计算可以在
保护数据、模型隐私的条件下,完成函数 F 为训练或者
预测的计算 .
安全多方计算定义了理想模型以明确安全的内
涵[4]
. 在理想模型中,有一个可信第三方 TTP(Trusted
Third Party),每个参与方把隐私数据安全的传输给该
TTP,由 TTP 运行函数 F,得到输出 (y1 y2 yn ),然后把
输出 yi 安全地发给参与者 Pi,1 ≤ i ≤ n. 现实中很难找到
这样的 TTP,因此安全多方计算的主要任务是提供模拟
TTP 功能的方法 . 安全多方计算从姚先生的百万富翁
问题开始,经过 40 年的发展,已经形成了以混淆电路、
不经意传输、GMW(Goldreich,Micali,Wigderson)协议、
BGW(Ben-Or,Goldwasser,Wigderson)协议、选择-分割
协议、零知识证明等为基础的完整技术路线[5]
. 这些技
术在半诚实攻击者或者恶意攻击者条件下可以让各个
参与方直接模拟 TTP 的功能,得到相应的输出 .
在人工智能隐私保护方面,安全多方计算理论与
实际需求之间还存在较大的差距 . 人工智能隐私保护
中,需要保护的数据规模往往过万,需要保护的模型参
数规模经常超过百万 . 当我们将小规模数据上运行良
好的安全多方计算协议放到人工智能隐私保护的实际
环境中时,这些协议的通信量或者计算量过大,导致协
议的性能往往不能满足实际需求 . 我们注意到当前的
人工智能隐私保护计算在事实上采用了折衷的思路,
即引入服务提供方,并对服务提供方进行一定的置信
假设,以得到满足实际需求的解决方案 . 在这些解决方
案中,服务提供方的数量和可信程度有所不同 . 然而,
其任务却是相似的 . 借用安全多方计算的概念,可以说
服务提供方模拟了 TTP 的功能,为参与方提供隐私保
护的计算 . 例如,一个双参与方、双服务提供方的隐私
保护计算,可以看成两个互不信任的参与方,通过两个
服务提供方模拟的 TTP 完成函数 F 为某种人工智能算
法的计算过程 .
基于上述事实,我们认为对当前的人工智能隐私
保护方案,根据服务提供方的数量和可信程度,可以划
分为若干计算模型,进而梳理不同计算模型下进行的
典型计算和完成计算任务时基于密码学工具的典型算
法,可以让读者从实际需求出发,快速了解某类计算模
型的当前进展和主要采用的密码技术,为进一步研究
或者应用做好准备 .
具体地,我们将当前人工智能隐私保护的计算归
类为多中心、双中心、单中心模型和现实模型 4 类 . 现
实模型中不存在服务提供方及其置信假设 . 其他各类
计算模型的非正式描述如下 .
(1)多中心模型:存在多个服务提供方[S1 S2 Sm ],
m > 2,合作完成 F 函数的计算 .
(2)双中心模型:存在两个服务提供方 S1 和 S2,合
作完成 F 函数的计算 .
(3)单中心模型:存在一个服务提供方 S,完成函数
F 的计算 .
这些服务提供方的置信假设包括不勾结、可信、半
诚实等 . 例如密钥分配中心一般是可信的,不会与其他
服务提供方勾结;多个服务提供方中有若干是可信的,
不会泄漏用户数据等 . 在具体的应用场景中,有些假设
是可以满足的 . 例如多个有竞争关系的公司联合为用户
提供某种服务,根据用户自身对公司的信赖程度,可以
实现多个服务提供方中有若干是可信的这一假设 . 有些
假设则不容易满足,例如可信的密钥分配中心 . 因此,隐
私保护方案所属的计算模型可以反映其在某些场景中
是否能实际落地,以及是否能完成隐私保护的任务 .
2 问题与挑战
目前,人工智能的隐私保护计算已有较多的高质
量综述 . 这些综述大多以隐私保护方案采取的不同技
术和策略或应用场景中的计算任务来分类,并对每一
类的当前进展给出了详细、全面的描述 .
2261
电 子 学 报 2023 年
文献[6]在“模型隐私风险与保护”一节,把隐私保
护方法分为基于差分隐私和基于密码学 2 类,其中密码
学技术主要涉及同态加密和安全多方计算 . 文献[7]
按照差分隐私、同态加密和安全多方计算技术详细地
介绍了当前的隐私保护方案 . 在“机器学习隐私保护
方案的分类”一节,该文按照模型训练方式,把隐私保
护方案分为集中式、分布式和联邦学习 3 类 . 文献[8]
在“ 机 器 学 习 中 的 隐 私 防 御 方 案 ”一 节 ,按 照 基 于 扰
动、近似、泛化、对抗和本地 5 种策略总结了隐私保护
防御方案,其涉及的技术包括差分隐私、同态加密、L2
正则化、对抗网络、安全协议等 . 文献[9]把隐私保护
机器学习方案分为使用密码学方法的方案和使用数
据扰动方法的方案 2 类:对于采用密码学方法的解决
方 案 ,进 一 步 按 照 同 态 加 密 、Garbled 电 路 、秘 密 分 享
和安全处理器 4 种技术对现有典型方案进行了梳理;
对于采用数据扰动方法的解决方案,进一步按照差分
隐私、本地扰动、降维 3 种技术对现有典型方案进行了
梳理 . 其中差分隐私主要是加噪声,本地扰动主要是
反馈随机响应,降维主要是对数据源变换以降低数据
的维度 .
对于深度学习计算任务,文献[10]把隐私保护计
算涉及的技术分为同态加密、安全多方计算和差分隐
私 3 类,并对每一类中的隐私保护深度学习方案进行了
描述 . 对于推荐系统计算任务,文献[11]把隐私保护计
算涉及的技术分为同态加密、安全多方计算、秘密分享
和零知识证明 4 类,其中零知识证明主要是在基于位置
的推荐系统中,用于匿名的证明用户的身份 . 对于基因
检测计算任务,文献[12]把隐私保护计算涉及的技术
分为同态加密、Garbled 电路、不经意传输、隐私信息提
取和加密的有限自动机几类,并总结了该类计算任务
涉及的具体计算函数,包括编辑距离、疾病易感性、身
份 测 试 、族 系 测 试 、亲 子 鉴 定 、个 人 医 疗 和 基 因 匹
配等 .
当前综述主要着眼于人工智能隐私保护方案和人
工智能的计算任务,从技术、策略、应用的角度进行了
分类总结 . 然而计算模型对实际的生产活动有直接的
影响 . 计算模型下的假设与实际的人工智能隐私保护
方案的应用场景是否匹配,决定了该类计算模型下的
方案能否实际部署 . 因此,本文力图从计算模型的角
度,对不同隐私保护方案和计算任务进行整理,给出当
前各种计算模型下隐私保护方案完成的主要计算任务
和采取的主要算法,并对一些采取密码学工具的算法
进行原理性分析和性能分析,以展示当前的技术进展 .
在对各种计算模型下的隐私保护方案进行梳理之后,
本文指出提升隐私保护算法的效率和安全性是对各类
计算模型都有益的研究方向 .
3 研究现状分析
本节按照 4 类计算模型,梳理当前的人工智能隐
私保护方案涉及的计算任务和典型的基于密码学工
具 的 算 法 . 表 1 总 结 了 本 节 用 到 的 各 种 符 号 及 其
含义 . - 1 多中心模型
多中心模型的主要内容是用超过两个服务提供方人工智能隐私保护的应用场景多种多样 . 在不同的场景中,完成隐私保护计算的实体可信程度和数量
不尽相同 . 这些实体的可信程度和数量对隐私保护计算方法能否实际应用具有重要影响 . 本文从实体的可信程度和
数量出发,将基于密码技术的人工智能隐私保护计算方法归类为 4 种计算模型,分别是多中心模型、双中心模型、单中
心模型和现实模型 . 除现实模型外,其它计算模型都存在可信实体 . 对每一种计算模型,本文给出当前基于密码学工
具给出的人工智能隐私保护方法涉及的典型计算和采取的典型算法,并指出提升算法的效率和安全性是对每种计算
模型都适用的研究方向 .
关键词: 人工智能;隐私保护;计算模型;算法;协议;密码技术
基 金 项 目 : 广 东 省 基 础 与 应 用 基 础 研 究 重 大 项 目(No.2019B030302008);广 东 省 重 点 领 域 研 发 计 划 项 目
(No.2020B010166005);华为技术有限公司(No.TC20210407007,No.YBN2019105017)
中图分类号: TP309.2 文献标识码: A 文章编号: 0372-2112(2023)08-2260-17
电子学报 URL:http://www.ejournal.org.cn DOI:10.12263/DZXB.20210702
A Survey: Computing Models of Artificial Intelligence Privacy Protection
Based on Cryptographic Techniques
TIAN Hai-bo, LIANG Xiu-qi
(School of Computer Science and Engineering,Sun Yat-Sen University,Guangzhou,Guangdong 510275,China)
Abstract: The application scenarios of artificial intelligence privacy protection are diverse. In different scenarios, the
trustness and number of entities fulfilling privacy protection computation are different. The trustness and number of these
entities have an important impact on the technical choices of privacy protection computation. Starting from the trustness
and number of entities, this paper classifies the computation methods of artificial intelligence privacy protection, which are
based on cryptographic techniques into four types of computation models: multiple centers model, double centers model,
single center model and real model. Except for the real model, there are trusted entities in all other computation models.
For each kind of computation model, this paper presents the typical computations and algorithms, which are involved in the
current artificial intelligence privacy protection methods based on cryptography tools. And this paper also points out that
improving the efficiency and security of algorithms is an applicable research direction for each model.
Key words: artificial intelligence; privacy protection; computation models; algorithms; protocols; cryptographic
techniques
Foundation Item(s): Guangdong Major Project of Basic and Applied Basic Research (No.2019B030302008); Key-
Area Research and Development Program of Guangdong Province (No.2020B010166005); Huawei Technologies Co., Ltd.
(No.TC20210407007, No.YBN2019105017)
1 引言
人工智能隐私保护具有现实需求 . 人工智能计算
的应用场景非常丰富 . 例如银行可以通过用户的数据
建立模型,然后用该模型对用户的信用进行评估 . 银行
和电信公司可以通过两方的数据建立更好的模型,从
而对用户信用进行更为准确的评估 . 多家医院可以通
过各自用户的数据建立关于疾病的模型,以更好地完
成诊疗服务 . 在不同的应用场景中,对模型、数据隐私
保护的需求有所不同 . 模型隐私保护的需求往往来自
其商业价值,因为一个预测准确率高的模型往往是经
过大量的资金和人力投入获得的,并且可以作为一种
服务[1]
提供给消费者或者合作伙伴 . 数据隐私保护的
收稿日期:2021-06-04;修回日期:2022-07-25;责任编辑:王天慧
第 8 期 田海博:综述:基于密码技术的人工智能隐私保护计算模型
需求实际来自各种法律法规 . 我国在《中华人民共和国
民法典》和《中华人民共和国网络安全法》中明确了个
人隐私数据和网络运营者使用这些数据时应当遵循的
法律条文 . 这迫使数据提供方对数据附有各种使用策
略[2]
,以满足法律法规的要求 .
人工智能隐私保护的计算主要指在保证模型、数
据隐私的条件下,完成模型的训练或者在已有模型上
完成预测 . 完成隐私保护计算的实体数量和可信程度
是不同的 . 例如银行和电信公司是两个参与方,为了进
行隐私保护的计算,一种方法是引入一个隐私计算服
务提供方和一个密钥分配服务提供方 . 假设密钥分配
和隐私计算两个服务提供方不勾结,可以实现基于同
态加密等技术的双参与方、双服务提供方的隐私保护
计算 . 又例如多家医院形成多个参与方,为了进行隐私
保护的计算,一种方法是引入一个联邦平均算法服务
提供方 . 假设该服务提供方是半诚实的,可以实现多参
与方、单服务提供方且能保护用户数据隐私的横向联
邦学习 .
多个参与方完成的计算形成了多方计算的场景 .
密码学领域中的安全多方计算[3]
是一种自然的技术
选 择 . 安 全 多 方 计 算 使 n 个 互 不 信 任 的 参 与 方
[P1 P2 Pn ] 能 够 完 成 某 个 函 数 F 的 计 算 任 务
( y1 y2 yn ) = F(x1 x2 xn ),其中 xi 是参与方 Pi 的隐
私数据,1 ≤ i ≤ n,F 代表任意可以在图灵机模型下计算
的函数,(y1 y2 yn ) 是该函数的输出结果[4]
. 在计算
任务完成后,参与方 Pi 能获得输出 yi,同时不泄露各自
的隐私数据 xi. 多个参与方通过安全多方计算可以在
保护数据、模型隐私的条件下,完成函数 F 为训练或者
预测的计算 .
安全多方计算定义了理想模型以明确安全的内
涵[4]
. 在理想模型中,有一个可信第三方 TTP(Trusted
Third Party),每个参与方把隐私数据安全的传输给该
TTP,由 TTP 运行函数 F,得到输出 (y1 y2 yn ),然后把
输出 yi 安全地发给参与者 Pi,1 ≤ i ≤ n. 现实中很难找到
这样的 TTP,因此安全多方计算的主要任务是提供模拟
TTP 功能的方法 . 安全多方计算从姚先生的百万富翁
问题开始,经过 40 年的发展,已经形成了以混淆电路、
不经意传输、GMW(Goldreich,Micali,Wigderson)协议、
BGW(Ben-Or,Goldwasser,Wigderson)协议、选择-分割
协议、零知识证明等为基础的完整技术路线[5]
. 这些技
术在半诚实攻击者或者恶意攻击者条件下可以让各个
参与方直接模拟 TTP 的功能,得到相应的输出 .
在人工智能隐私保护方面,安全多方计算理论与
实际需求之间还存在较大的差距 . 人工智能隐私保护
中,需要保护的数据规模往往过万,需要保护的模型参
数规模经常超过百万 . 当我们将小规模数据上运行良
好的安全多方计算协议放到人工智能隐私保护的实际
环境中时,这些协议的通信量或者计算量过大,导致协
议的性能往往不能满足实际需求 . 我们注意到当前的
人工智能隐私保护计算在事实上采用了折衷的思路,
即引入服务提供方,并对服务提供方进行一定的置信
假设,以得到满足实际需求的解决方案 . 在这些解决方
案中,服务提供方的数量和可信程度有所不同 . 然而,
其任务却是相似的 . 借用安全多方计算的概念,可以说
服务提供方模拟了 TTP 的功能,为参与方提供隐私保
护的计算 . 例如,一个双参与方、双服务提供方的隐私
保护计算,可以看成两个互不信任的参与方,通过两个
服务提供方模拟的 TTP 完成函数 F 为某种人工智能算
法的计算过程 .
基于上述事实,我们认为对当前的人工智能隐私
保护方案,根据服务提供方的数量和可信程度,可以划
分为若干计算模型,进而梳理不同计算模型下进行的
典型计算和完成计算任务时基于密码学工具的典型算
法,可以让读者从实际需求出发,快速了解某类计算模
型的当前进展和主要采用的密码技术,为进一步研究
或者应用做好准备 .
具体地,我们将当前人工智能隐私保护的计算归
类为多中心、双中心、单中心模型和现实模型 4 类 . 现
实模型中不存在服务提供方及其置信假设 . 其他各类
计算模型的非正式描述如下 .
(1)多中心模型:存在多个服务提供方[S1 S2 Sm ],
m > 2,合作完成 F 函数的计算 .
(2)双中心模型:存在两个服务提供方 S1 和 S2,合
作完成 F 函数的计算 .
(3)单中心模型:存在一个服务提供方 S,完成函数
F 的计算 .
这些服务提供方的置信假设包括不勾结、可信、半
诚实等 . 例如密钥分配中心一般是可信的,不会与其他
服务提供方勾结;多个服务提供方中有若干是可信的,
不会泄漏用户数据等 . 在具体的应用场景中,有些假设
是可以满足的 . 例如多个有竞争关系的公司联合为用户
提供某种服务,根据用户自身对公司的信赖程度,可以
实现多个服务提供方中有若干是可信的这一假设 . 有些
假设则不容易满足,例如可信的密钥分配中心 . 因此,隐
私保护方案所属的计算模型可以反映其在某些场景中
是否能实际落地,以及是否能完成隐私保护的任务 .
2 问题与挑战
目前,人工智能的隐私保护计算已有较多的高质
量综述 . 这些综述大多以隐私保护方案采取的不同技
术和策略或应用场景中的计算任务来分类,并对每一
类的当前进展给出了详细、全面的描述 .
2261
电 子 学 报 2023 年
文献[6]在“模型隐私风险与保护”一节,把隐私保
护方法分为基于差分隐私和基于密码学 2 类,其中密码
学技术主要涉及同态加密和安全多方计算 . 文献[7]
按照差分隐私、同态加密和安全多方计算技术详细地
介绍了当前的隐私保护方案 . 在“机器学习隐私保护
方案的分类”一节,该文按照模型训练方式,把隐私保
护方案分为集中式、分布式和联邦学习 3 类 . 文献[8]
在“ 机 器 学 习 中 的 隐 私 防 御 方 案 ”一 节 ,按 照 基 于 扰
动、近似、泛化、对抗和本地 5 种策略总结了隐私保护
防御方案,其涉及的技术包括差分隐私、同态加密、L2
正则化、对抗网络、安全协议等 . 文献[9]把隐私保护
机器学习方案分为使用密码学方法的方案和使用数
据扰动方法的方案 2 类:对于采用密码学方法的解决
方 案 ,进 一 步 按 照 同 态 加 密 、Garbled 电 路 、秘 密 分 享
和安全处理器 4 种技术对现有典型方案进行了梳理;
对于采用数据扰动方法的解决方案,进一步按照差分
隐私、本地扰动、降维 3 种技术对现有典型方案进行了
梳理 . 其中差分隐私主要是加噪声,本地扰动主要是
反馈随机响应,降维主要是对数据源变换以降低数据
的维度 .
对于深度学习计算任务,文献[10]把隐私保护计
算涉及的技术分为同态加密、安全多方计算和差分隐
私 3 类,并对每一类中的隐私保护深度学习方案进行了
描述 . 对于推荐系统计算任务,文献[11]把隐私保护计
算涉及的技术分为同态加密、安全多方计算、秘密分享
和零知识证明 4 类,其中零知识证明主要是在基于位置
的推荐系统中,用于匿名的证明用户的身份 . 对于基因
检测计算任务,文献[12]把隐私保护计算涉及的技术
分为同态加密、Garbled 电路、不经意传输、隐私信息提
取和加密的有限自动机几类,并总结了该类计算任务
涉及的具体计算函数,包括编辑距离、疾病易感性、身
份 测 试 、族 系 测 试 、亲 子 鉴 定 、个 人 医 疗 和 基 因 匹
配等 .
当前综述主要着眼于人工智能隐私保护方案和人
工智能的计算任务,从技术、策略、应用的角度进行了
分类总结 . 然而计算模型对实际的生产活动有直接的
影响 . 计算模型下的假设与实际的人工智能隐私保护
方案的应用场景是否匹配,决定了该类计算模型下的
方案能否实际部署 . 因此,本文力图从计算模型的角
度,对不同隐私保护方案和计算任务进行整理,给出当
前各种计算模型下隐私保护方案完成的主要计算任务
和采取的主要算法,并对一些采取密码学工具的算法
进行原理性分析和性能分析,以展示当前的技术进展 .
在对各种计算模型下的隐私保护方案进行梳理之后,
本文指出提升隐私保护算法的效率和安全性是对各类
计算模型都有益的研究方向 .
3 研究现状分析
本节按照 4 类计算模型,梳理当前的人工智能隐
私保护方案涉及的计算任务和典型的基于密码学工
具 的 算 法 . 表 1 总 结 了 本 节 用 到 的 各 种 符 号 及 其
含义 . - 1 多中心模型
多中心模型的主要内容是用超过两个服务提供方
模拟安全多方计算 TTP 的功能,以实现隐私保护计算
的目的 . 目前的隐私保护方案最多使用三个服务提供
方,因此下面给出三中心模型的定义,一般性定义可以
类似地扩展 .
定义 1 (三中心模型)三中心模型的参与者记为
P1 P2 Pn,服务提供方记为 S0 S1 S2. 对于 1 ≤ i ≤ n 和
0 ≤ j ≤ 2,参与者 Pi 向服务提供方 Sj 上传秘密份额 xij. 在
参与者的秘密份额之上,3 个服务提供方合作完成某个
计算函数 (y1 y2 yn ) = F(x1 x2 xn ),并将输出 yi 返
回给 Pi.
三中心模型中,参与者通过秘密分享技术把自己
的数据以秘密份额的形式上传到 3 个服务提供方,然后
3 个服务提供方在秘密份额的基础上完成隐私保护的
计算 . 3 个服务提供方显然不能都由攻击者控制 . 这意
味着在实际的应用中,参与者需要相信 t 个服务提供方
是不会泄露隐私数据的,是可信的,其中 t 是参与者采
表 1 本文所用符号及其含义
符号
[P1 P2 Pn ]
[S1 S2 Sm ]
xi
xij
sxij
spij
PRF
OT
k
z k
x(t)
ij
r( )l
j
x> j
x-j
x±j
k y
w
LSB(k y
w )
{xi }
π
G g q
skiu
含义
表示含有 n 个参与者的列表
表示含有 m 个服务提供方的列表
参与者 Pi 的隐私数据
xi 的秘密份额,给 Sj 或 Pj
xi 的加性秘密分享份额,给 Sj 或 Pj
xi × x’i 的加性秘密分享份额,给 Sj 或 Pj
伪随机数生成函数
不经意传输
数据的比特长度
整数 z 右移 k 位
xi 的秘密份额,给 Sj 或 Pj,门限为 t
随机数 r 的第 l 比特份额,给服务提供方 Sj
服务提供方 Sj 关于 xi > x’i 的秘密份额
服务提供方 Sj 关于 x’i - xi 差的秘密份额
服务提供方 Sj 关于 x 的符号的秘密份额
Garbled 电路中比特 y 对应的线密钥
线密钥 k y
w 的第 0 比特
数据 xi 的密文
随机置换函数
G =< g > 为循环群,q 为群的阶
参与者 Pi 和 Pu 的共享密钥
2262
第 8 期 田海博:综述:基于密码技术的人工智能隐私保护计算模型
用的秘密分享技术的门限值 .
一般意义上,多中心模型中服务提供方的计算依
赖秘密分享方案 . 例如文献[13]给出了 ABY3 模型,参
与者以任意接入结构[14]
的秘密分享方案,把自己的隐
私数据进行分享 . 设参与者 Pi 的隐私数据 xi mod 2k 为 k
比特的整数,算法 1 给出了分享的过程,算法 1 的输出
xij 上传给 Sj,0 ≤ j ≤ 2.
根据算法 1 的分享过程,显然任意两个服务提供方
都可以恢复秘密,所以是一种(2,3)门限的接入结构 .
文献[15]给出了 Sharemind 框架,参与者按照加性秘密
分享把自己的秘密分为 3 个份额,分别给 3 个服务提供
方,形成(3,3)门限的接入结构 .
服务提供方在参与者的份额上,可以完成加法和
乘法计算 . 其中 2 个秘密值的和的份额、公开常数与秘
密值的积的份额等运算都可以在本地完成,无须通信 .
乘法的运算则与秘密分享方案相关 . 当秘密分享方案
为任意接入结构[14]
时,假设需要计算 xi × x’i 的积的秘密
份额,可以列出式(3-1),其中第 j 行的计算可以由服务
提供方 Sj 单独完成无须通信 . 因此,三方事实上就各自
得到了一个(3,3)的关于 xi × x’i 的积的份额 spij,0 ≤ j ≤ 2,
满足 xi × x’i = spi0 + spi1 + spi2. 这 3 个份额经过 0 的(3,3)份
额的扰动之后,由服务提供方 Sj 发送给 Sj’,j’= j + 1 mod 3,
就完成了(2,3)门限的 xi × x’i 的积的份额的计算 .
xi x’i = (sxi0 + sxi1 + sxi2 ) (sx’i0 + sx’i1 + sx’i2 )
= sxi0 sx’i1 + sxi1 sx’i0 + sxi0 sx’i0
+sxi1 sx’i2 + sxi2 sx’i1 + sxi1 sx’i1
+sxi2 sx’i0 + sxi0 sx’i2 + sxi2 sx’i2 (1)
当把 k 比特整数看成定点数时,设包含 d 比特的小
数部分,则乘法操作还需要除以 2d,以保持定点数的性
质 . 假 设 两 个 随 机 数 r = sr0 + sr1 + sr2 和 r/2d = srd0 +
srd1 + srd2. 服务提供方 Sj 有这 2 个随机数的秘密份额
(srj,srdj,srj’,srdj’),j’ = j + 1 mod 3. 设 0 的(3,3)份额在 Sj
处为 szj. 那么在得到 xi × x’i 直接乘积未经缩放的秘密份
额 spij 后,还需要根据算法 2 进行缩放,以满足定点数的
要求 . 当 2 个包含 k 比特定点数的向量做内积时,也可
以按照式(1)的方式先在本地计算每一个分量的(3,3)
份额,做本地加和之后得到最终内积的(3,3)份额,然
后再按照上述过程除以 2d,得到内积的最终份额 .
当秘密分享方案为加性秘密分享时,文献[15]采
取了先把加性分享的份额转化为任意接入结构的份
额,然后按照式(1)进行计算的方法 . 文献[16]则采用
了 Beaver 预计算的方法 . 假设整数 c = ab,且服务提供
方 Sj 已经有了 a,b,c 的份额 aj bj cj. 另外服务提供方 Sj
有整数 xi 的份额 sxij 和整数 x’i 的份额 sx’ij. 为计算 xi × x’i,
服务提供方 Sj 只需要计算 sxij - aj 和 sx’ij - bj,然后服务
提供方恢复 xi - a 和 x’i - b 的值 . 通过式(2)可知,此时服
务 提 供 方 Sj 可 以 本 地 计 算 xi x’i 的 份 额 cj + aj (x’i -b) +
bj (xi -a ) + (xi -a)(x’i -b).
xi x’i = ( xi +a - a) ( x’i +b - b)
= ab + a ( x’i - b)
+b ( xi - a) + ( xi - a) ( x’i - b) (2)
从上面的算法可以看到,秘密份额上的乘法运算需
要 0 的秘密份额或者乘法预计算的份额 . 对于任意接入
结构的秘密分享方案,假设服务提供方 S0 S1 S2 分别拥有
了份额 xi0 xi1 xi2,文献[17]给出了伪随机数秘密份额的
生成算法,如算法 3 所示 . 该算法中 x’ij 是一个新的随机
数 x’i = sx’i0 + sx’i1 + sx’i2 在服务提供方 Sj 处的秘密份额 .
算法 3 的原理在于,对任意接入结构的秘密分享,
所有人的秘密份额数量的和一定是最大不合格接入结
构集合规模的倍数,从而所有秘密份额的异或最终会
导致 0 的出现 . 例如,sx’i0 ?sx’i1,sx’i1 ?sx’i2 和 sx’i2 ?sx’i0 是 0
的 3 个秘密份额 . 文献[13]采用了这样的方法 . 乘法预
计算的份额在文献[15]中采用了算法 4 来完成 .
特别需要注意的是,式(1)和式(2)所展示的算法
适用于多中心模型,并不限于 3 个服务提供方 . 例如采
用(3,5)门限的一般接入结构秘密分享方案,式(1)的
计算方法依旧成立 . 事实上,当服务提供方的数量较多
时,有一种更为高效的计算乘法的方法 . 当秘密分享方
案为 Shamir 秘密分享时,文献[18]给出了采用两种门
算法 3 伪随机数秘密份额的生成算法
输入:服务提供方 Sj 拥有 xij = (sxij sxij’ ), j’ = j + 1 mod 3,执行轮数 z
输出:x’ij = (sx’ij sx’ij’ ) - 服务提供方 Sj 通过一个伪随机数生成函数 PRF 计算 sx’ij =
PRFsxij ( z )和 sx’ij’ = PRFsxij’( z ), j’= j + 1 mod 3 . - 输出 x’ij = (sx’ij sx’ij’ ) .
算法 1 参与者分享隐私数据算法
输入:参与者 Pi 的 k 比特隐私数据 xi mod 2k
输出:给服务提供方 Sj的秘密份额xij,0 ≤ j ≤ 2 - Pi 随机选取 sxi0 sxi1 mod 2k,计算 sxi2 = xi - sxi0 - sxi1 mod 2k .
- Pi 生成秘密份额 xi0 = (sxi0 sxi1 )xi1 = (sxi1 sxi2 )xi2 = (sxi2 sxi0 ) .
- 输出 xij,0 ≤ j ≤ 2 .
算法 2 秘密份额定点数乘法中积的缩放算法
输入:服务提供方 Sj的 秘密份额(spij szj srj, srdj, srj’ , srdj’), j’= j +
1 mod 3,0 ≤ j ≤ 2
输出:xi × x’i 定点数积的秘密份额 - 服务提供方 Sj 公开 spij + szj - srj .
- 所有服务提供方一起恢复 tmp = xi × x’i - r .
- 服务提供方 Sj 计算 tmp/2d + srdj 和 tmp/2d + srdj’ .
- 输出(tmp/2d + srdj tmp/2d + srdj’) .
2263
电 子 学 报 2023 年
限值来计算乘法的方法 . 假设较小的门限为 t,服务提
供方 Sj 有 xi 的 t 门限份额 x(t)
ij 和 x’i 的 t 门限份额 x’(t)
ij ,另有
同一个随机数 r 的 t 门限份额 r(t)
j 和 2t 门限份额 r(2t)
j . 此
时乘法份额的计算如算法 5 所示 . 算法 5 在三中心模型
中不能使用,因为门限太小,所以秘密份额就是秘密值
本身 . 然而,对于更为一般的多中心模型,并且容忍比
较小的门限时,该方法只需要一次秘密恢复的操作,消
耗一对随机份额,就可以完成一次乘法 .
在秘密份额的基础上完成一些复杂运算需要的通
信量较高 . 以比较运算为例,假设服务提供方 Sj 拥有某
种秘密分享方案下 k 比特 xi 的份额 xij 和同样长度的 x’i
的份额 x’ij,现在服务提供方希望得到 xi > x’i 的份额 x> j.
文献[19]给出了计算方法:首先 Sj 计算 x’ij - xij 得到关于
x’i - xi 的份额 x-j,之后根据算法 6 得到该差的符号的份
额 x±j,进而得到 xi > x’i 的份额 1 - x±j. 为了计算 x±j,服务
提供方需要 预计算k 个二进制随机数的份额,一个随机
数 α 的份额和随机数 β ? { + 1 - 1}的份额 . 设服务提供
方 Sj 参与预计算后获得 r(1)
j r(2)
j r( )k
j ,αj 和 βj.
不考虑预计算的代价,算法 6 需要 2 次秘密恢复、
一次连乘和 k 次乘法 . 因为一次乘法需要至少一次通
信 ,考 虑 并 发 操 作 ,上 述 比 较 协 议 的 通 信 轮 数 是
O(log k) 级别,通信量是 O(k) 级别的 . 文献[20]通过采
用 Legendre 符号,得到了通信次数常数轮、通信量为
O ( )k
log k 级别的协议,该协议更为高效 .
如果可以限制多中心模型中服务提供方的数量,
可以用通信次数更少的 Garbled 电路技术 . 文献[13]中
限制服务提供方的数量为三,约定采用任意接入结构
的秘密分享方案,半诚实模型下,可以在秘密份额的基
模拟安全多方计算 TTP 的功能,以实现隐私保护计算
的目的 . 目前的隐私保护方案最多使用三个服务提供
方,因此下面给出三中心模型的定义,一般性定义可以
类似地扩展 .
定义 1 (三中心模型)三中心模型的参与者记为
P1 P2 Pn,服务提供方记为 S0 S1 S2. 对于 1 ≤ i ≤ n 和
0 ≤ j ≤ 2,参与者 Pi 向服务提供方 Sj 上传秘密份额 xij. 在
参与者的秘密份额之上,3 个服务提供方合作完成某个
计算函数 (y1 y2 yn ) = F(x1 x2 xn ),并将输出 yi 返
回给 Pi.
三中心模型中,参与者通过秘密分享技术把自己
的数据以秘密份额的形式上传到 3 个服务提供方,然后
3 个服务提供方在秘密份额的基础上完成隐私保护的
计算 . 3 个服务提供方显然不能都由攻击者控制 . 这意
味着在实际的应用中,参与者需要相信 t 个服务提供方
是不会泄露隐私数据的,是可信的,其中 t 是参与者采
表 1 本文所用符号及其含义
符号
[P1 P2 Pn ]
[S1 S2 Sm ]
xi
xij
sxij
spij
PRF
OT
k
z k
x(t)
ij
r( )l
j
x> j
x-j
x±j
k y
w
LSB(k y
w )
{xi }
π
G g q
skiu
含义
表示含有 n 个参与者的列表
表示含有 m 个服务提供方的列表
参与者 Pi 的隐私数据
xi 的秘密份额,给 Sj 或 Pj
xi 的加性秘密分享份额,给 Sj 或 Pj
xi × x’i 的加性秘密分享份额,给 Sj 或 Pj
伪随机数生成函数
不经意传输
数据的比特长度
整数 z 右移 k 位
xi 的秘密份额,给 Sj 或 Pj,门限为 t
随机数 r 的第 l 比特份额,给服务提供方 Sj
服务提供方 Sj 关于 xi > x’i 的秘密份额
服务提供方 Sj 关于 x’i - xi 差的秘密份额
服务提供方 Sj 关于 x 的符号的秘密份额
Garbled 电路中比特 y 对应的线密钥
线密钥 k y
w 的第 0 比特
数据 xi 的密文
随机置换函数
G =< g > 为循环群,q 为群的阶
参与者 Pi 和 Pu 的共享密钥
2262
第 8 期 田海博:综述:基于密码技术的人工智能隐私保护计算模型
用的秘密分享技术的门限值 .
一般意义上,多中心模型中服务提供方的计算依
赖秘密分享方案 . 例如文献[13]给出了 ABY3 模型,参
与者以任意接入结构[14]
的秘密分享方案,把自己的隐
私数据进行分享 . 设参与者 Pi 的隐私数据 xi mod 2k 为 k
比特的整数,算法 1 给出了分享的过程,算法 1 的输出
xij 上传给 Sj,0 ≤ j ≤ 2.
根据算法 1 的分享过程,显然任意两个服务提供方
都可以恢复秘密,所以是一种(2,3)门限的接入结构 .
文献[15]给出了 Sharemind 框架,参与者按照加性秘密
分享把自己的秘密分为 3 个份额,分别给 3 个服务提供
方,形成(3,3)门限的接入结构 .
服务提供方在参与者的份额上,可以完成加法和
乘法计算 . 其中 2 个秘密值的和的份额、公开常数与秘
密值的积的份额等运算都可以在本地完成,无须通信 .
乘法的运算则与秘密分享方案相关 . 当秘密分享方案
为任意接入结构[14]
时,假设需要计算 xi × x’i 的积的秘密
份额,可以列出式(3-1),其中第 j 行的计算可以由服务
提供方 Sj 单独完成无须通信 . 因此,三方事实上就各自
得到了一个(3,3)的关于 xi × x’i 的积的份额 spij,0 ≤ j ≤ 2,
满足 xi × x’i = spi0 + spi1 + spi2. 这 3 个份额经过 0 的(3,3)份
额的扰动之后,由服务提供方 Sj 发送给 Sj’,j’= j + 1 mod 3,
就完成了(2,3)门限的 xi × x’i 的积的份额的计算 .
xi x’i = (sxi0 + sxi1 + sxi2 ) (sx’i0 + sx’i1 + sx’i2 )
= sxi0 sx’i1 + sxi1 sx’i0 + sxi0 sx’i0
+sxi1 sx’i2 + sxi2 sx’i1 + sxi1 sx’i1
+sxi2 sx’i0 + sxi0 sx’i2 + sxi2 sx’i2 (1)
当把 k 比特整数看成定点数时,设包含 d 比特的小
数部分,则乘法操作还需要除以 2d,以保持定点数的性
质 . 假 设 两 个 随 机 数 r = sr0 + sr1 + sr2 和 r/2d = srd0 +
srd1 + srd2. 服务提供方 Sj 有这 2 个随机数的秘密份额
(srj,srdj,srj’,srdj’),j’ = j + 1 mod 3. 设 0 的(3,3)份额在 Sj
处为 szj. 那么在得到 xi × x’i 直接乘积未经缩放的秘密份
额 spij 后,还需要根据算法 2 进行缩放,以满足定点数的
要求 . 当 2 个包含 k 比特定点数的向量做内积时,也可
以按照式(1)的方式先在本地计算每一个分量的(3,3)
份额,做本地加和之后得到最终内积的(3,3)份额,然
后再按照上述过程除以 2d,得到内积的最终份额 .
当秘密分享方案为加性秘密分享时,文献[15]采
取了先把加性分享的份额转化为任意接入结构的份
额,然后按照式(1)进行计算的方法 . 文献[16]则采用
了 Beaver 预计算的方法 . 假设整数 c = ab,且服务提供
方 Sj 已经有了 a,b,c 的份额 aj bj cj. 另外服务提供方 Sj
有整数 xi 的份额 sxij 和整数 x’i 的份额 sx’ij. 为计算 xi × x’i,
服务提供方 Sj 只需要计算 sxij - aj 和 sx’ij - bj,然后服务
提供方恢复 xi - a 和 x’i - b 的值 . 通过式(2)可知,此时服
务 提 供 方 Sj 可 以 本 地 计 算 xi x’i 的 份 额 cj + aj (x’i -b) +
bj (xi -a ) + (xi -a)(x’i -b).
xi x’i = ( xi +a - a) ( x’i +b - b)
= ab + a ( x’i - b)
+b ( xi - a) + ( xi - a) ( x’i - b) (2)
从上面的算法可以看到,秘密份额上的乘法运算需
要 0 的秘密份额或者乘法预计算的份额 . 对于任意接入
结构的秘密分享方案,假设服务提供方 S0 S1 S2 分别拥有
了份额 xi0 xi1 xi2,文献[17]给出了伪随机数秘密份额的
生成算法,如算法 3 所示 . 该算法中 x’ij 是一个新的随机
数 x’i = sx’i0 + sx’i1 + sx’i2 在服务提供方 Sj 处的秘密份额 .
算法 3 的原理在于,对任意接入结构的秘密分享,
所有人的秘密份额数量的和一定是最大不合格接入结
构集合规模的倍数,从而所有秘密份额的异或最终会
导致 0 的出现 . 例如,sx’i0 ?sx’i1,sx’i1 ?sx’i2 和 sx’i2 ?sx’i0 是 0
的 3 个秘密份额 . 文献[13]采用了这样的方法 . 乘法预
计算的份额在文献[15]中采用了算法 4 来完成 .
特别需要注意的是,式(1)和式(2)所展示的算法
适用于多中心模型,并不限于 3 个服务提供方 . 例如采
用(3,5)门限的一般接入结构秘密分享方案,式(1)的
计算方法依旧成立 . 事实上,当服务提供方的数量较多
时,有一种更为高效的计算乘法的方法 . 当秘密分享方
案为 Shamir 秘密分享时,文献[18]给出了采用两种门
算法 3 伪随机数秘密份额的生成算法
输入:服务提供方 Sj 拥有 xij = (sxij sxij’ ), j’ = j + 1 mod 3,执行轮数 z
输出:x’ij = (sx’ij sx’ij’ ) - 服务提供方 Sj 通过一个伪随机数生成函数 PRF 计算 sx’ij =
PRFsxij ( z )和 sx’ij’ = PRFsxij’( z ), j’= j + 1 mod 3 . - 输出 x’ij = (sx’ij sx’ij’ ) .
算法 1 参与者分享隐私数据算法
输入:参与者 Pi 的 k 比特隐私数据 xi mod 2k
输出:给服务提供方 Sj的秘密份额xij,0 ≤ j ≤ 2 - Pi 随机选取 sxi0 sxi1 mod 2k,计算 sxi2 = xi - sxi0 - sxi1 mod 2k .
- Pi 生成秘密份额 xi0 = (sxi0 sxi1 )xi1 = (sxi1 sxi2 )xi2 = (sxi2 sxi0 ) .
- 输出 xij,0 ≤ j ≤ 2 .
算法 2 秘密份额定点数乘法中积的缩放算法
输入:服务提供方 Sj的 秘密份额(spij szj srj, srdj, srj’ , srdj’), j’= j +
1 mod 3,0 ≤ j ≤ 2
输出:xi × x’i 定点数积的秘密份额 - 服务提供方 Sj 公开 spij + szj - srj .
- 所有服务提供方一起恢复 tmp = xi × x’i - r .
- 服务提供方 Sj 计算 tmp/2d + srdj 和 tmp/2d + srdj’ .
- 输出(tmp/2d + srdj tmp/2d + srdj’) .
2263
电 子 学 报 2023 年
限值来计算乘法的方法 . 假设较小的门限为 t,服务提
供方 Sj 有 xi 的 t 门限份额 x(t)
ij 和 x’i 的 t 门限份额 x’(t)
ij ,另有
同一个随机数 r 的 t 门限份额 r(t)
j 和 2t 门限份额 r(2t)
j . 此
时乘法份额的计算如算法 5 所示 . 算法 5 在三中心模型
中不能使用,因为门限太小,所以秘密份额就是秘密值
本身 . 然而,对于更为一般的多中心模型,并且容忍比
较小的门限时,该方法只需要一次秘密恢复的操作,消
耗一对随机份额,就可以完成一次乘法 .
在秘密份额的基础上完成一些复杂运算需要的通
信量较高 . 以比较运算为例,假设服务提供方 Sj 拥有某
种秘密分享方案下 k 比特 xi 的份额 xij 和同样长度的 x’i
的份额 x’ij,现在服务提供方希望得到 xi > x’i 的份额 x> j.
文献[19]给出了计算方法:首先 Sj 计算 x’ij - xij 得到关于
x’i - xi 的份额 x-j,之后根据算法 6 得到该差的符号的份
额 x±j,进而得到 xi > x’i 的份额 1 - x±j. 为了计算 x±j,服务
提供方需要 预计算k 个二进制随机数的份额,一个随机
数 α 的份额和随机数 β ? { + 1 - 1}的份额 . 设服务提供
方 Sj 参与预计算后获得 r(1)
j r(2)
j r( )k
j ,αj 和 βj.
不考虑预计算的代价,算法 6 需要 2 次秘密恢复、
一次连乘和 k 次乘法 . 因为一次乘法需要至少一次通
信 ,考 虑 并 发 操 作 ,上 述 比 较 协 议 的 通 信 轮 数 是
O(log k) 级别,通信量是 O(k) 级别的 . 文献[20]通过采
用 Legendre 符号,得到了通信次数常数轮、通信量为
O ( )k
log k 级别的协议,该协议更为高效 .
如果可以限制多中心模型中服务提供方的数量,
可以用通信次数更少的 Garbled 电路技术 . 文献[13]中
限制服务提供方的数量为三,约定采用任意接入结构
的秘密分享方案,半诚实模型下,可以在秘密份额的基
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!