CN106170943A - 使用部分同态加密和掩码的隐私保护岭回归 - Google Patents
使用部分同态加密和掩码的隐私保护岭回归 Download PDFInfo
- Publication number
- CN106170943A CN106170943A CN201380074250.3A CN201380074250A CN106170943A CN 106170943 A CN106170943 A CN 106170943A CN 201380074250 A CN201380074250 A CN 201380074250A CN 106170943 A CN106170943 A CN 106170943A
- Authority
- CN
- China
- Prior art keywords
- data
- circuit
- service provider
- mask
- cryptographic service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
提供了用于使用部分同态加密和掩码的隐私保护岭回归的方法和系统。该方法包括以下步骤:向加密服务提供商请求混淆电路;从多个用户收集被格式化且使用部分同态加密来加密的数据;对格式化且使用部分同态加密来加密的数据进行求和;对求和后的数据应用准备好的掩码;使用不经意传输从加密服务提供商接收与准备好的掩码相对应的混淆输入;以及使用混淆输入和被掩码的数据对来自加密服务提供商的混淆电路进行评估。
Description
相关申请的引用
本申请要求于2013年3月4日提交的美国临时申请No.61/772,404的权益,将其以全文引用的方式并入本文中。
本申请还涉及同时提交的题为“隐私保护岭回归”和“使用掩码的隐私保护岭回归”的申请,将其以全文引用的方式并入本文中。
技术领域
本发明一般地涉及数据挖掘,更具体地,涉及使用岭回归(ridge regression)在数据挖掘期间保护隐私。
背景技术
推荐系统通过收集很多用户对不同物品的偏好和评价并对数据运行学习算法来工作。学习算法产生可以用于预测新用户将如何评价某些物品的模型。具体地,在给定一用户对某些物品提供的评价的情况下,该模型可以预测该用户对其他物品将如何评价。存在用于产生这种预测模型的海量算法,且很多算法被积极地用在大型网站如亚马逊(Amazon)和网飞(Netflix)上。学习算法还被用在大型医疗数据库、金融数据和很多其他领域中。
在当前实现中,为了构建预测模型,学习算法必须以明文(in the clear)看到所有用户数据。在本公开中,确定学习算法是否可以在数据不处于明文状态下工作,由此允许用户保留对其数据的控制。对于医疗数据,这允许在不影响用户隐私的情况下构建模型。对于书籍和电影偏好,让用户保持对其数据的控制降低了将来在服务提供商处发生数据泄漏的情况下意外处于窘境的风险。大致说来,存在对私有用户数据进行数据挖掘的三种现有方案。第一种方案让用户使用秘密共享将其数据分割在多个服务器上。然后,这些服务器使用分布式协议来运行学习算法,且只要大多数服务器不进行串通,就确保了隐私。第二种方案基于全同态加密(fully homomorphic encryption),在全同态加密中,针对加密数据执行学习算法,且仅受信第三方被托付来对最终加密模型进行解密。在第三种方案中,Yao氏混淆(garbled)电路构造可以用于针对加密数据进行计算,并获得最终模型,而不了解与用户数据有关的任何其它信息。然而,基于Yao的方案之前从未被应用到回归(regression)类算法中。
发明内容
提出了用于隐私保护岭回归的混合方案,其既使用同态加密也使用Yao混淆电路。系统中的用户提交其在线性同态加密系统(例如,Paillier或Regev)下加密的数据。评估方使用线性同态来执行算法的仅要求线性运算的第一阶段。该阶段产生加密数据。在该第一阶段中,系统需要处理大量记录(正比于系统中的用户数目n)。在该第一阶段中的处理对数据进行准备,使得算法的第二阶段独立于n。在第二阶段中,评估方对Yao混淆电路进行评估,Yao混淆电路首先实现同态解密,然后进行回归算法的其余部分(如图所示,优化实现可以避免混淆电路中的解密)。回归算法的该步骤要求快速的线性系统求解器,并且是高度非线性的。对于该步骤,Yao混淆电路方案远快于当前的全同态加密方案。因此,通过使用线性同态来处理大数据集并且将混淆电路用于繁重的非线性计算部分,可以同时获得两种方案的优点。由于将计算分为两个阶段,第二阶段还独立于n。
在一个实施例中,提供了用于隐私保护岭回归的方法。该方法包括以下步骤:向加密服务提供商请求混淆电路(garbled circuit);从多个用户收集被格式化且使用部分同态加密(partially homomophic encryption)来加密的数据;对被格式化且使用部分同态加密来加密的数据进行求和;对求和后的数据应用准备好的掩码;使用不经意传输(oblivious transfer)从加密服务提供商接收与准备好的掩码相对应的混淆输入;以及使用混淆输入和被掩码的数据对来自加密服务提供商的混淆电路进行评估。
在另一实施例中,提供了用于隐私保护岭回归的计算设备。该计算设备包括:存储设备、存储器和处理器。该存储设备用于存储用户数据。该存储器用于存储用于处理的数据。该处理器被配置为:向加密服务提供商请求混淆电路;从多个用户收集被格式化且使用同态加密来加密的数据;对被格式化且使用同态加密来加密的数据进行求和;对求和后的数据应用准备好的掩码;使用不经意传输从加密服务提供商接收与准备好的掩码相对应的混淆输入;以及使用混淆输入和被掩码的数据对来自加密服务提供商的混淆电路进行评估。
目标和优点将借助权利要求中具体指出的要素和结合来实现和达成。重要的是注意到:所公开的实施例仅是本文中创新教导的许多有利用途的示例。应当理解,前面的总体描述和以下具体实施方式均是示例性和解释性的,而非对所要求保护的发明的限制。此外,一些声明可以适用于某些创造性特征,而不适用于其他创造性特征。总体上,除非另行指示,否则在不失一般性的情况下,单数要素可以是复数个。在附图中,相同标号在若干副图中始终表示相同部分。
附图说明
图1示出了根据实施例的隐私保护岭回归系统的示意框图。
图2示出了根据实施例的计算设备的示意框图。
图3示出了根据实施例的示例混淆电路。
图4示出了根据实施例的用于提供隐私保护岭回归的方法的高级流程图。
图5示出了根据实施例的用于提供隐私保护岭回归的第一协议的操作。
图6示出了根据实施例的用于提供隐私保护岭回归的第一协议的操作。
图7示出了根据实施例的Cholesky分解算法的示例实施例。
具体实施方式
本公开关注于在很多学习算法中使用的基础机制,即岭回归。在给定高维中的大量点的情况下,回归算法产生穿过这些点的最佳拟合曲线。目标是在不暴露用户数据或关于用户数据的任何其他信息的情况下执行计算。这通过使用图1所示的系统来实现。
在图1中,提供了用于实现隐私保护岭回归的系统100的实施例的框图。该系统包括彼此通信的评估方110、一个或多个用户120和加密服务提供商(CSP)130。评估方110实现在计算设备如服务器或个人计算机(PC)上。CSP 130类似地实现在计算设备如服务器或个人计算机上,并通过网络(例如,以太网或Wi-Fi网络)与评估方110通信。一个或多个用户120经由计算设备(例如,个人计算机、平板电脑、智能电话等)与评估方110和CSP 130通信。
用户120(从例如PC)向(在例如服务器上)运行学习算法的评估方110发送加密数据。在某些方面,评估方可以与被相信不会与评估方110串通的(另一服务器上的)加密服务提供商130交互。最终结果是明文预测模型β140。
图2示出了示例计算设备200,例如服务器、PC、平板电脑或智能电话,其可用于实现用于隐私保护岭回归的各种方法和系统元件。计算设备200包括一个或多个处理器210、存储器(内存)220、存储设备230和网络接口240。这些元件中的每一个将在下面详细讨论。
处理器210控制电子服务器200的操作。处理器200运行软件,该软件操作该服务器并提供冷启动(cold start)推荐功能。处理器210连接到存储器220、存储设备230以及网络接口240,并负责这些元件之间信息的传输和处理。处理器210可以是通用处理器或者专门用于特定功能的处理器。在某些实施例中,可以存在多个处理器。
存储器220是存储要由处理器执行的指令和数据的地方。存储器210可以包括易失性存储器(RAM)、非易失性存储器(EEPROM)或者其他合适的介质。
存储设备230是存储处理器在执行本公开的冷存储(cold storage)推荐方法时所使用和产生的数据的地方。存储设备可以是磁介质(硬盘驱动器)、光介质(CD/DVD-Rom)或基于闪存的存储设备。
网络接口240处理服务器200通过网络与其他设备的通信。合适网络的示例是以太网。在给定本公开的教益的情况下,本领域技术人员将清楚其他类型的合适家庭网络。
应当理解,图2中阐述的元件是示例性的。服务器200可以包括任意数目的元件,且某些元件可以提供其他元件的部分或全部功能。在给定本公开的教益的情况下,本领域技术人员将清楚其他可能的实现。
设置和威胁模型
A、架构和实体
返回图1,系统100被设计为供很多用户120向被称为评估方110的中央服务器贡献数据。评估方110针对所贡献的数据执行回归,并产生模型β140,其稍后可以用于预测或推荐任务。更具体地,每个用户i=1;…;n具有包括两个变量和在内的私有记录,且评估方希望计算——即,模型——使得目标是确保评估方了解不到除了β140所揭示的信息(回归算法的最终结果)以外的关于用户记录的任何信息。为了初始化该系统,需要第三方,其在本文中被称为“加密服务提供商”,该第三方以离线方式进行其大部分工作。
更具体地,系统中的各方如下,如图1所示。
●用户120:每个用户i具有以加密方式向评估方110发送的私有数据xi和yi。
●评估方110:对加密数据运行回归算法,并以明文获得学习模型β140。
●加密信息提供商(CSP)130:通过向用户120和评估方110给出设置参数来初始化系统100。
在用户120向评估方110贡献其数据之前很久,CSP 130以离线方式进行其大部分工作。在最高效的设计中,当评估方110计算模型β140时,一轮短的在线步骤也需要CSP130。
B、威胁模型
目标是确保评估方110和CSP 130不能了解到由学习算法的最终结果揭示的信息以外的关于用户120所贡献的数据的任何信息。在评估方110与某些用户120串通的情况下,用户120应当不能了解到由学习算法的结果揭示的信息以外的关于其他用户120所贡献的数据的信息。
在本示例中,假定评估方110最感兴趣的是产生正确的模型β140。因此,本实施例不关心尝试破坏计算以希望产生不正确结果的恶意评估方110。然而,评估方110有动机进行不当行为并了解到关于用户120所贡献的私有数据的信息,因为该数据可以潜在地被卖给其他方,例如广告商。因此,即使是恶意评估方110,也应当不能了解到由学习算法的结果揭示的信息以外的关于用户数据的任何信息。本文中阐述了仅针对“诚实但是好奇的评估方”安全的基本协议。
无威胁:该系统并未被设计为抵御以下攻击:
●假定评估方110和CSP 130不串通。其各自可能如上所述尝试破坏系统,但是独立进行。更具体地,当讨论安全性时,假定这两方之中最多一方是恶意的(这是本质要求,没有该要求则不可能实现安全性)。
●假定设置正确工作,即所有用户120从CSP 130获得正确的公钥。这在实际中可以通过对证书机构的恰当使用来执行。
背景
A、学习线性模型
简要地回顾“岭回归(ridge regression)”,其是评估方110在系统110中进行的用于学习β140的算法。下面讨论的所有结果是经典的,且可以在大多数统计学和机器学习教科书中找到。
线性回归:给定n个输入变量的集合,和输出变量的集合,学习函数使得的问题被称为回归。例如,输入变量可以是人的年龄、体重、体重指数等,而输出可以是其患病的可能性。
根据实际数据来学习这种函数具有很多有趣的应用,这些应用使得回归在数据挖掘、统计学和机器学习中无处不在。一方面,函数本身可以用于预测,即预测新输入的输出值y。此外,f的结构可以帮助识别不同的输入如何影响输出——例如,确定体重(而非年龄)与疾病更强烈相关。
线性回归基于以下前提:f由线性映射很好地近似,即对于某个
i∈[n]≡{1,…,n}
线性回归是在科学研究中用于推理和统计分析的最广泛使用的方法之一。此外,其是统计分析和机器学习中若干种更高级方法(例如,核(kernel)方法)的基本构成单元。例如,学习作为2次多项式的函数化简为在xikxik′(1≤k,k′≤d)上的线性回归;可以归纳相同的原理,以学习由基函数的有限集合所张成的任何函数。
如上所述,除了显而易见的预测用途之外,向量β=(βk)k=1,…,d是令人感兴趣的,因为其揭示了y如何依赖于输入变量。具体地,系数βk的符号指示了与输出的正或负相关性,而量值捕捉到相对重要性。为了确保这些系数是可比的,而且也为了数值稳定性,输入xi被重新缩放到相同的有限域(例如,[-1;1])中。
计算系数:为了计算向量该向量通过在上最小化以下二次函数而拟合到数据:
最小化(1)的过程被称为岭回归;目标F(β)并入了惩罚项其有利于简约解(parsimonious solution)。直观地,对于λ=0,最小化(1)对应于求解简单的最小二乘问题。对于正的λ>0,项对具有高范数的解进行惩罚:在同样拟合数据的两个解之间,倾向于具有较少大系数的解。请回忆β的系数是对“输入如何影响输出”的指示符,这充当了“奥卡姆剃刀”的形式:倾向于具有少量大系数的较简单解。事实上,与基于最小二乘的解相比,λ>0在实践中基于新输入给出了更好的预测。令为输出的向量且为包括输入向量在内的矩阵(每行一个输入向量);即
以及
可以通过求解以下线性系统来计算(1)的最小解(minimizer):
Aβ=b (2)
其中,A=XTX+λI且b=XTy。对于λ>0,矩阵A是对称正定的,且可以使用下面概述的Cholesky分解找到有效解。
B、Yao氏混淆电路
在其基本版本中,Yao氏协议(也称为混淆电路)允许在存在半诚实对手的情况下对函数f(x1;x2)进行两方评估。该协议在输入拥有者之间运行(ai代表用户i的私有输入)。在协议结束时,获得f(a1;a2)的值,但是没有一方了解到除了该输出值揭示的信息之外的任何信息。
协议如下进行。第一方(称为混淆方)构建计算f的电路的“混淆”版本。然后混淆方向第二方(称为评估方)给出(且仅给出)混淆电路以及与a1相对应的混淆电路输入值。注记GI(a1)用于表示这些输入值。混淆方还提供混淆电路输出值和实际比特值之间的映射。在接收到该电路时,评估方与混淆方参与2中取1的不经意传输协议(1-out-of-2oblivioustransfer protocol),扮演选择方的角色,以不经意地获得与其私有输入a2相对应的混淆电路输入值GI(a2)。根据GI(a1)和GI(a2),评估方可以因此计算f(a1;a2)。
更详细地,该协议通过如图3所示的布尔电路300来评估函数f。混淆方将与比特值bi=0和bi=1分别对应的两个随机加密密钥和与电路的每条线wi 310、320相关联。接下来,对于具有输入线(wi,wj)310、320和输出线wk 330的每个二进制门g(例如,或门),混淆方计算四条密文:
由这四个随机排序的密文组成的集合定义了混淆门。
需要让通过密钥对来加密的对称加密算法Enc在选定明文攻击下具有不可区别的加密。还需要在给定密钥对的情况下,对应的解密过程从构成混淆门的四条密文中明确地恢复出的值。值得注意的是:对的了解仅得到的值,且不能从该门中恢复出其他输出值。因此,评估方可以逐门评估整个混淆电路,使得没有任何附加信息泄漏中间计算。
混合方案
请回忆:在该设置中,每个输入和输出变量xi,yi,i∈[n]是私有的,且由不同用户持有。评估方110希望了解确定输入和输出变量之间线性关系的β,如在给定λ>0的情况下通过岭回归所获得的一样。
如上所述,为了获得β,需要如等式(2)中定义的矩阵和向量一旦获得这些值,评估方110可以对等式(2)的线性系统求解并提取β。存在若干种以隐私保护方式来解决该问题的方法。例如,可以依赖于秘密共享或依赖于全同态加密。当前,这些技术似乎不适合当前的设置,因为它们导致大量(在线)通信或计算开销。因此,如上所述,利用Yao氏方案。
一种使用Yao氏方案的简单方式是设计具有输入xi,yi,i∈[n]和λ>0的单一电路,其计算矩阵A和b,且随后对系统Aβ=b求解。这种方案过去已被用于计算来自多个用户的输入的简单函数(例如,拍卖赢家)。将实现问题放在一旁(例如,如何设计对线性系统求解的电路),这种解决方案的主要缺点在于:得到的混淆电路依赖于用户数目n、以及β和输入变量的维度d。在实际应用中,通常n较大,且可以达到百万用户的量级。相反,d相对较小,数量级为10。因此优选地降低或甚至消除混淆电路对n的依赖性,以获得可扩展的解决方案。为此,可以如下所述来重新表述该问题。
A、重新表述问题
注意:可以如下所述用迭代方式来计算矩阵A和向量b。假定每个xi和对应的yi由不同用户持有,每个用户i可以本地计算矩阵和向量bi=yixi。然后容易验证对部分贡献进行求和得到:
等式(3)重要地示出了A和b是一系列加法的结果。评估方的回归任务因此可以分为两个子任务:(a)收集Ai和bi,以构造矩阵A和向量b,以及(b)使用这些通过求解线性系统(2)来获得β。
当然,用户不能以明文向评估方发送其本地份额(Ai;bi)。然而,如果使用公钥加性同态加密(additive homomorphic encryption)方案对本地份额(Ai;bi)加密,则评估方110可以根据(Ai;bi)的加密版本来重构A和b的加密版本。剩下的问题是在CSP 130的帮助下在不(向评估方110或CSP 130)揭示除了β之外的任何附加信息的情况下对等式(2)求解;下面描述通过使用Yao氏混淆电路来这样做的两种不同方式。
更具体地,令
为以公钥pk为索引的语义安全加密方案,其以消息空间中的对(Ai;bi)为输入且返回在pk下(Ai;bi)的加密版本ci。然后对于某个公共二元运算符,以下等式必须对任何pk以及任何两对(Ai;bi)、(Aj;bj)成立:
这种加密方案可以通过对Ai和bi的项进行逐分量加密,根据任何语义安全的加性同态加密方案来构造。示例包括Regev方案和Paillier方案。
现在介绍协议。在图4中提供了高级流程图400。流程图400包括准备阶段410、第一阶段(阶段1)420以及第二阶段(阶段2)430。聚合用户份额的阶段被称为阶段1 420,且注意到其涉及的加法线性依赖于n。后续阶段(即根据A和b的加密值来计算等式(2)的解)被称为阶段2 430。注意:阶段2 430不具有对n的依赖性。下面将结合具体协议来讨论这些阶段。注意:下面假定存在可以对系统Aβ=b求解的电路;在本文中讨论了可以如何高效地实现这种电路。
B、第一协议
可以在图5中看到第一协议的操作的高级图示500。第一协议如下工作。如上所述,第一协议包括三个阶段:准备阶段510、阶段1 520和阶段2 530。将清楚,仅阶段2 530真正需要在线处理。
准备阶段(510)。评估方110向CSP 130提供规范,例如输入变量的维度(即,参数d)及其取值范围。CSP 130为阶段2 530中描述的电路提供Yao混淆电路并且使得该混淆电路可用于评估方110。CSP 130还生成公钥pkcsp和私钥skcsp,用于同态加密方案而评估方110生成公钥pkev和私钥skev,用于加密方案ε(不需要是同态的)。
阶段1(520)。每个用户i本地计算她的部分矩阵Ai和向量bi。然后在CSP 130的加密公钥pkcsp下使用加性同态加密方案对这些值加密;即
为了避免CSP 130获得对该值的访问,用户i在评估方110的加密公钥pkev下对ci的值进行超加密(super-encrypt);即
并向评估方110发送Ci。
评估方110计算其随后收集所有接收到的Ci,并使用其解密私钥skev对它们进行解密,以恢复ci;即
然后其聚合这样获得的值,并且得到:
阶段2(530)。在准备阶段510中由CSP 130提供的混淆电路是对以GI(c)为输入的电路的混淆,且进行以下两个步骤:
1)使用skcsp对c解密,以恢复A和b(此处,skcsp被嵌入到混淆电路中);以及
2)对等式(2)求解并返回β。
在该阶段2 530中,评估方110仅需要获得与c相对应的混淆电路输入值;即GI(c)。这些是使用评估方110和CSP 130之间的标准不经意传输(OT)来获得的。
上面的混合计算在混淆电路中执行对加密输入的解密。由于这可能是要求严格的,建议使用例如Regev同态加密方案作为的构成单元,因为Regev方案具有非常简单的解密电路。
C、第二协议
可以在图6中看到第二协议的操作的高级图示600。第二协议提出了以下修改:使用随机掩码避免在混淆电路中解密(A;b)。阶段1 610大体保持相同。从而,将着重描述阶段2(以及对应的准备阶段)。想法是利用同态属性以使用加性掩码来掩盖输入。注意:如果(μA;μb)代表(即,同态加密的消息空间)中的元素,则根据等式(4)其满足:
因此,假定评估方110选择中的随机掩码(μA;μb),如上所述掩盖c,并向CSP 130发送得到的值。然后,CSP 130可以应用其解密密钥并恢复加掩码的值
因此,可以应用前一节的协议,其中,由掩码移除来替换解密。更具体地,其涉及:
准备阶段(610)。与之前一样,评估方110设置评估。评估方110向CSP 130提供规范,以构造支持其评估的混淆电路。CSP 130准备该电路并使其可用于评估方110,且都生成公钥和私钥。评估方110选择随机掩码并进行与CSP 130的不经意传输(OT)协议,以获得与(μA;μb)相对应的混淆电路输入值;即GI(μA;μb)。
阶段1(620)。这类似于第一协议。此外,评估方110将c掩码为:
阶段2(630)。评估方110向CSP 130发送CSP 130对其解密以获得明文的然后CSP 130向评估方110发回混淆输入值在准备阶段中由CSP 130提供的混淆电路是对以和GI(μA;μb)为输入的电路的混淆,且进行以下两个步骤:
1)从中减去掩码(μA;μb),以恢复A和b;
2)对等式(2)求解并返回β。
混淆电路以及与(μA;μb)相对应的混淆电路输入值GI(μA;μb)是在准备阶段610期间获得的。在该阶段中,评估方110仅需要从CSP 130接收与相对应的混淆电路输入值注意:在该阶段中不存在不经意传输(OT)。
对于该第二实现,解密不作为电路的一部分来执行。因此,不受限于选择可以高效实现为电路的同态加密方案。取代Regev方案,建议使用Paillier方案或者由和Jurik对其的归纳作为的构成单元。这些方案具有比Regev短的密文扩展,且要求较小的密钥。
D、第三协议
对于一些应用,当同态加密方案仅具有部分同态属性时,相关思想适用。该观念在以下定义中变得明确。
定义1:部分同态加密方案是使得有可能在不需要加密私钥的情况下将常数与已加密的明文相加(如果部分同态是加性的)或相乘(如果部分同态是乘性的)的加密方案。
此处是一些示例。
●令代表素数域,且令G=〈g〉是由g生成的乘法群的循环子群。令g代表G的阶。对于普通(plain)ElGamal加密,消息空间是加密公钥是y=gx,而私钥是x。对中消息m的加密由(R;c)给出,且对于某个随机R=gr和c=myr。使用密钥x来恢复明文m为m=c/Rx。
-上述系统对于中的乘法是部分同态的:对于任何常数C′=(R;Kc)是对消息m′=Km的加密。
●对于某个参数k,所谓的散列ElGamal加密系统额外要求散列函数H,该散列函数H将来自G的群元素映射到消息空间是密钥生成与普通ElGamal一样。对消息的加密由(R;c)给出,且对于某个随机R=gr和c=m+H(yr)。然后使用密钥x来恢复明文m为m=c+H(Rx)。注意:“+”对应于中的加法(即,其可以等价地被视为针对k比特串的异或)。
-上述系统对于异或是部分同态的:对于任何常数C′=(R;K+c)是对消息m′=K+m的加密。
作为非限制性示例,现在假定c是在部分同态加密方案(例如)下对(A;b)的加密,则如果(μA;μb)代表(即,部分同态加密的消息空间)中的元素,则对于某个运算符,根据等式(4)其满足:
(在上面的描述中,同态被表示为加性的;这对于以乘性形式的同态也成立。)
因此,假定评估方110选择中的随机掩码(μA;μb),如上所述掩盖c,并向CSP 130发送得到的值。然后,CSP 130可以应用其解密密钥并恢复被掩码的值
因此,可以应用前一节的协议,其中,由掩码移除来替换解密。
最终,注意:按照第二或第三协议来使用掩码的技巧不限于岭回归的情况。其可以在将同态加密(相应地部分同态加密)与混淆电路以混合方式加以组合的任何应用中使用。
E、讨论
所提出的协议具有若干长处,这些长处使得它们在真实世界场景中高效且实用。首先,不需要让用户在处理期间保持在线。由于阶段1 420是增量式的,每个用户可以提交其加密输入,并离开系统。
此外,系统100可以容易地适用于多次执行岭回归。假定评估方110希望执行次估计,其可在准备阶段410期间从CSP 130获取个混淆电路。可以使用多次估计来适应新用户120的到来。具体地,由于公钥是长存的,它们不需要被过度频繁地刷新,意味着当新用户向评估方110提交更多的对(A;b)时,评估方110可以将它们与在先的值求和,并计算更新的β。尽管该处理要求使用新的混淆电路,但是已经提交了其输入的用户不需要重新提交输入。
最后,所需通信量显著小于秘密共享方案中的通信量,且仅评估方110和CSP 130使用不经意传输(OT)来进行通信。还注意到:用户可以使用任何手段来建立与评估方110的安全通信,例如SSL,而不是在阶段1 420中使用公钥加密方案ε。
F、进一步优化
请回忆矩阵A在中且向量b在中。因此,令k代表用于对实数进行编码的比特大小,则矩阵A和向量b分别需要d2k个比特和dk个比特用于其表示。第二协议要求中的随机掩码(μA;μb)。假定同态加密方案基于Paillier方案构建,其中,A和b的每个项被单独Paillier加密。在该情况下,对于某个RAS模数N,的消息空间由中的(d2+d)个元素构成。但是由于这些元素是具有k比特的值,不需要在整个范围中抽取对应掩码值。对于某个(相对短)安全长度l,任何(k+l)比特的值将适用,只要它们在统计学意义上隐藏了对应项即可。在实际中,这导致了准备阶段中更少的不经意传输以及更小的混淆电路。
另一种提升效率的方式是经由标准批处理技术,即将A和b的多个明文项打包到单一Paillier密文中。例如,将20个明文值打包到单个Paillier密文中(由充分多的0来间隔)将20倍地降低阶段1的运行时间。
实现
为了评价该隐私保护系统的实用性,针对人造数据集和真实数据集来实现和测试该系统。实现了上面提出的第二协议,因为其不要求在混淆电路中解密,且其允许对阶段1使用高效的同态加密(其仅涉及求和)。
A、阶段1实现
如上所述,对于同态加密,使用具有与80比特安全级别相对应的1024比特长模数的Paillier方案。为了加速阶段1,还实现了如上所述的批处理。给定贡献其输入的n个用户,可以被批处理到一个1024比特的Paillier密文中的元素数目是1024=(b+log2n),其中,b是用于表示数的比特总数。如稍后所述,b被确定为所需精确度的函数,从而在该试验中,对15和30个之间的元素进行批处理。
B、电路混淆框架
该系统基于FastGC来构建,FastGC是使得开发人员能够使用基本的“异或”门、“或”门和“与”门来定义任意电路的基于Java的开源框架。一旦构造了电路,该框架处理混淆、不经意传输以及对混淆电路的完整评估。FastGC包括若干优化。第一,使用“无异或”技术来大幅减少电路中“异或”门的通信和计算成本。第二,使用混淆行减少技术,FastGC将k扇入(k-fan-in)“非异或”门的通信成本减少1=2k,给出了25%的通信节约,这是因为在该框架中仅定义了2扇入门。第三,FastGC实现了OT扩展,该OT扩展可以用k个OT和针对每个附加OT的若干对称密钥运算为代价来执行实际不限次数的传输。最后,最后一个优化是简明的“3比特加法”电路,其定义了具有4个“异或”门(它们在通信和计算的意义上都是“无(free)”的)和仅1个“与”门的电路。FastGC使得混淆和评估能够并发进行。更具体地,按电路结构定义的顺序,CSP 130在混淆表产生时向评估方110发送混淆表。然后评估方110基于可用的输出值和表来确定接下来评估哪个门。一旦评估了某一门,立即抛弃其对应的表。这相当于与离线预先计算所有混淆电路一样的计算和通信成本,但是将存储器消耗变为常数。
C、在电路中对线性系统求解
本方案的主要挑战之一是设计对等式(2)中定义的线性系统Aβ=b求解的电路。当将函数实现为混淆电路时,优选地使用数据不可知(data-agnostic)的运算,即其执行路径不依赖于输入的运算。例如,由于输入被混淆,评估方110需要执行“if-then-else”语句的所有可能路径,这在存在嵌套条件语句的情况下,导致电路大小和执行时间都呈指数增长。这使得要求选主元(pivoting)的用于求解线性系统的任何传统算法(例如高斯消元法)都不现实。
为了简单,该系统实现了下述标准Cholesky算法。然而注意到:使用类似的技术,可以将其复杂度进一步降低到与逐块反转相同的复杂度。
存在用于求解线性系统的若干可能分解方法。Cholesky分解是用于求解线性系统的数据不可知方法,其仅适用于矩阵A是对称正定时。Cholesky的主要优点在于:其是数值鲁棒的,而不需要选主元。具体地,其非常适用于定点数(fixed point number)表示。
由于事实上对于λ>0是正定矩阵,在本实现中选择Cholesky作为求解Aβ=b的方法。
下面简要概述Cholesky分解的主要步骤。该算法构造下三角矩阵L,使得A=LTL:则求解系统Aβ=b化简为求解以下两个系统:
LTy=b和
Lβ=y
由于矩阵L和LT是三角阵,这些系统可以使用回代(back substitution)法来容易地求解。此外,由于矩阵A是正定的,矩阵L必然具有对角线上的非零值,因此不需要选主元。
在图7所示的算法1中描述了分解A=LTL。其涉及Θ(d3)个加法、Θ(d3)个乘法、Θ(d2)个除法和Θ(d)个平方根运算。此外,通过后向消除法(backward elimination)对上面两个系统求解涉及Θ(d2)个加法、Θ(d2)个乘法和Θ(d)个除法。下面讨论将这些运算实现为电路。
D、表示实数
为了对线性系统(2)求解,必须以二进制形式精确地表示实数。考虑用于表示实数的两种可能方案:浮点和定点。实数a的浮点表示由以下公式给出:
[a]=[m;p];其中a≈1.m·2p
浮点表示具有适应实际上任意量值的数的优点。然而,针对浮点表示的基本运算(例如,加法)难以以数据不可知的方式来实现。最重要的是:使用Cholesky保证了使用实现起来要容易得多的定点表示。给定实数a,其定点表示由以下公式给出:
其中指数p是固定的。
如本文所述,需要执行的很多运算可以用数据不可知的方式针对定点数来实现。这样,针对定点表示所生成的电路要小得多。此外,请回忆岭回归的输入变量xi通常被重新缩放到相同域中(在-1和1之间),以确保系数β是可比较的,并且是为了数值稳定性。在这种设置下,已知可以在不导致溢出的情况下针对具有定点数的A执行Cholesky分解。此外,给定yi的边界和矩阵A的条件数,在该方法中对最后两个三角系统求解的同时,可以计算为了避免溢出所必需的比特。因此,使用定点表示来实现系统。可以将用于小数部分的比特数p选择为系统参数,并在系统的精确度和所生成的电路的大小之间进行平衡。然而,可以基于所需精确度以有原则的方式来选择p。使用标准的二进制补码表示来表示负数。
本文所公开的各种实施例可以实现为硬件、固件、软件或其任意组合。此外,软件优选地实现为在程序存储单元或计算机可读介质上以有形方式体现的应用程序。应用程序可以上传到包括任何合适架构的机器并由其执行。优选地,该机器实现在具有硬件(例如,一个或多个中央处理单元(“CPU”)、存储器以及输入/输出接口)的计算机平台上。该计算机平台还可以包括操作系统和微指令代码。本文描述的各种处理和功能可以是微指令代码的一部分或者应用程序的一部分、或其任意组合,其可以由CPU执行,不管这种计算机或处理器是否被明确示出。此外,各种其他外围单元可以连接到计算机平台,例如附加数据存储单元和打印单元。
本文记载的所有示例和条件语言意在用于示范目的,以帮助读者理解实施例的原理和发明人为了推进技术而贡献出的构思,且应被理解为不限于这种具体记载的示例和条件。此外,本文中记载本发明的原理、方案和各种实施例的所有声明及其具体示例意在同时包含其结构和功能等价物。此外,这种等价物应包括当前已知的等价物以及将来开发出来的等价物,即被开发的执行相同功能的任何要素,而无论结构如何。
Claims (15)
1.一种用于提供隐私保护岭回归的方法,所述方法包括:
向加密服务提供商请求混淆电路;
从多个用户收集被格式化且使用部分同态加密来加密的数据;
对被格式化且使用部分同态加密来加密的数据进行求和,其中,所述求和不要求加密密钥;
对求和后的数据应用准备好的掩码;
使用不经意传输从所述加密服务提供商接收与准备好的掩码相对应的混淆输入;以及
使用所述混淆输入和被掩码的数据对来自所述加密服务提供商的混淆电路进行评估。
2.根据权利要求1所述的方法,其中,向加密服务提供商请求混淆电路的步骤包括:
提供针对所述混淆电路的输入变量的维度;以及
提供所述输入变量的取值范围。
3.根据权利要求1所述的方法,其中,在计算设备上实现的评估方执行所述方法。
4.根据权利要求3所述的方法,其中,所述加密服务提供商被实现在与实现所述评估方的计算设备远离的计算设备上。
5.根据权利要求1所述的方法,还包括以下步骤:提供用于对来自多个用户的数据进行加密的加密密钥。
6.根据权利要求5所述的方法,其中,使用由所述加密服务提供商提供的加密密钥对来自多个用户的数据进一步加密。
7.根据权利要求1所述的方法,其中,评估所述混淆电路的步骤还包括:
从求和后的数据中移除所述准备好的掩码;以及
对由所述混淆电路体现的岭回归方程进行求解。
8.根据权利要求1所述的方法,其中,从多个用户收集数据的步骤包括:接收从所述多个用户中每个用户经由计算设备发送的数据。
9.一种用于提供隐私保护岭回归的计算设备,所述计算设备包括:
存储设备,用于存储用户数据;
存储器,用于存储用于处理的数据;以及
处理器,被配置为:向加密服务提供商请求混淆电路;从多个用户收集被格式化且使用部分同态加密来加密的数据;对被格式化且使用部分同态加密来加密的数据进行求和,其中,所述求和不要求加密密钥;对求和后的数据应用准备好的掩码;使用不经意传输从所述加密服务提供商接收与被掩码的数据相对应的混淆输入;以及使用所述混淆输入和被掩码的数据对来自所述加密服务提供商的混淆电路进行评估。
10.根据权利要求9所述的计算设备,还包括:用于连接到网络的网络连接。
11.根据权利要求9所述的计算设备,其中,所述加密服务提供商实现在分离的计算设备上。
12.根据权利要求9所述的计算设备,其中,向加密服务提供商请求混淆电路的步骤包括:
提供针对所述混淆电路的输入变量的维度;以及
提供所述输入变量的取值范围。
13.根据权利要求9所述的计算设备,其中,评估所述混淆电路的步骤还包括:
从求和后的数据中移除所述准备好的掩码;以及
对由所述混淆电路体现的岭回归方程进行求解。
14.根据权利要求9所述的计算设备,其中,来自多个用户的数据使用由所述加密服务提供商提供的加密密钥来加密,并使用由所述计算设备提供的加密密钥来加密。
15.一种包含指令的机器可读介质,所述指令在被执行时执行包括以下各项的步骤:
向加密服务提供商请求混淆电路;
从多个用户收集被格式化且使用部分同态加密来加密的数据;
对被格式化且使用部分同态加密来加密的数据进行求和,其中,所述求和不要求加密密钥;
对求和后的数据应用准备好的掩码;
使用不经意传输从所述加密服务提供商接收与准备好的掩码相对应的混淆输入;以及
使用所述混淆输入和被掩码的数据对来自所述加密服务提供商的混淆电路进行评估。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/061698 WO2014137394A1 (en) | 2013-03-04 | 2013-09-25 | Privacy-preserving ridge regression using partially homomorphic encryption and masks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106170943A true CN106170943A (zh) | 2016-11-30 |
Family
ID=57391629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380074250.3A Pending CN106170943A (zh) | 2013-09-25 | 2013-09-25 | 使用部分同态加密和掩码的隐私保护岭回归 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106170943A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612675A (zh) * | 2017-09-20 | 2018-01-19 | 电子科技大学 | 一种隐私保护下的广义线性回归方法 |
WO2019085677A1 (zh) * | 2017-11-01 | 2019-05-09 | 清华大学 | 基于混淆电路的数据统计方法、装置以及设备 |
CN109992979A (zh) * | 2019-03-15 | 2019-07-09 | 暨南大学 | 一种岭回归训练方法、计算设备、介质 |
CN111835825A (zh) * | 2020-06-09 | 2020-10-27 | 国网山西省电力公司信息通信分公司 | 一种适用于智慧物联体系通信双方传送消息的方法 |
CN113077054A (zh) * | 2021-03-03 | 2021-07-06 | 暨南大学 | 基于多密钥密文的岭回归学习方法、系统、介质和设备 |
CN113544998A (zh) * | 2019-03-22 | 2021-10-22 | 捷德移动安全有限责任公司 | 白盒椭圆曲线密码学实现 |
CN114329617A (zh) * | 2022-03-14 | 2022-04-12 | 浙江大学 | 计算第二价格密封拍卖成交金额的方法及装置、电子设备 |
CN115150055A (zh) * | 2022-06-12 | 2022-10-04 | 中国科学院重庆绿色智能技术研究院 | 一种基于同态加密的隐私保护岭回归方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102356418A (zh) * | 2009-03-23 | 2012-02-15 | 富士通株式会社 | 数据处理装置以及数据处理方法 |
US20130110876A1 (en) * | 2011-10-28 | 2013-05-02 | Microsoft Corporation | Permission based query processing |
-
2013
- 2013-09-25 CN CN201380074250.3A patent/CN106170943A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102356418A (zh) * | 2009-03-23 | 2012-02-15 | 富士通株式会社 | 数据处理装置以及数据处理方法 |
US20130110876A1 (en) * | 2011-10-28 | 2013-05-02 | Microsoft Corporation | Permission based query processing |
Non-Patent Citations (1)
Title |
---|
VALERIA NIKOLAENKO: "Privacy-Preserving Ridge Regression on Hundreds of Millions of Records", 《2013 IEEE SYMPOSIUM ON SECURITY AND PRIVACY》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612675A (zh) * | 2017-09-20 | 2018-01-19 | 电子科技大学 | 一种隐私保护下的广义线性回归方法 |
WO2019085677A1 (zh) * | 2017-11-01 | 2019-05-09 | 清华大学 | 基于混淆电路的数据统计方法、装置以及设备 |
TWI686712B (zh) * | 2017-11-01 | 2020-03-01 | 香港商阿里巴巴集團服務有限公司 | 基於混淆電路的數據統計方法、裝置以及設備 |
CN109992979A (zh) * | 2019-03-15 | 2019-07-09 | 暨南大学 | 一种岭回归训练方法、计算设备、介质 |
CN113544998A (zh) * | 2019-03-22 | 2021-10-22 | 捷德移动安全有限责任公司 | 白盒椭圆曲线密码学实现 |
CN111835825A (zh) * | 2020-06-09 | 2020-10-27 | 国网山西省电力公司信息通信分公司 | 一种适用于智慧物联体系通信双方传送消息的方法 |
CN113077054A (zh) * | 2021-03-03 | 2021-07-06 | 暨南大学 | 基于多密钥密文的岭回归学习方法、系统、介质和设备 |
CN113077054B (zh) * | 2021-03-03 | 2022-11-29 | 暨南大学 | 基于多密钥密文的岭回归学习方法、系统、介质和设备 |
CN114329617A (zh) * | 2022-03-14 | 2022-04-12 | 浙江大学 | 计算第二价格密封拍卖成交金额的方法及装置、电子设备 |
CN114329617B (zh) * | 2022-03-14 | 2022-06-17 | 浙江大学 | 计算第二价格密封拍卖成交金额的方法及装置、电子设备 |
CN115150055A (zh) * | 2022-06-12 | 2022-10-04 | 中国科学院重庆绿色智能技术研究院 | 一种基于同态加密的隐私保护岭回归方法 |
CN115150055B (zh) * | 2022-06-12 | 2024-05-24 | 中国科学院重庆绿色智能技术研究院 | 一种基于同态加密的隐私保护岭回归方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105814832A (zh) | 隐私保护岭回归 | |
Wang et al. | Secure optimization computation outsourcing in cloud computing: A case study of linear programming | |
Wang et al. | Secure and practical outsourcing of linear programming in cloud computing | |
Liu et al. | Privacy preserving distributed data mining based on secure multi-party computation | |
CN106170943A (zh) | 使用部分同态加密和掩码的隐私保护岭回归 | |
KR20160009012A (ko) | 행렬 분해 및 리지 회귀에 기초한 프라이버시-보호 추천을 위한 방법 및 시스템 | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
Fan et al. | PPMCK: Privacy-preserving multi-party computing for K-means clustering | |
Zhu et al. | Privacy-preserving logistic regression outsourcing in cloud computing | |
Guo et al. | A secure delegation scheme of large polynomial computation in multi–party cloud | |
Corena et al. | Secure and fast aggregation of financial data in cloud-based expense tracking applications | |
Ibarrondo et al. | Banners: Binarized neural networks with replicated secret sharing | |
Zhang et al. | PXCrypto: A regulated privacy-preserving cross-chain transaction scheme | |
Deng et al. | Non-interactive and privacy-preserving neural network learning using functional encryption | |
CN116451805A (zh) | 一种基于区块链抗毒化攻击的隐私保护联邦学习方法 | |
Zhang et al. | Efficient federated learning framework based on multi-key homomorphic encryption | |
Clark et al. | Transferable multiparty computation with applications to the smart grid | |
Ren et al. | Efficiency Boosting of Secure Cross-platform Recommender Systems over Sparse Data | |
Li et al. | Efficient oblivious transfer construction via multiple bits dual-mode cryptosystem for secure selection in the cloud | |
Shi et al. | Edge-assisted quantum protocol for secure multiparty logical AND its applications | |
Duan | Digital marketing solutions based on consumer data and homomorphic encryption | |
Nguyen et al. | Towards Privacy-first Manufacturing Data Exchange Platform | |
Lv et al. | Cryptographic cloud storage with public verifiability: Ensuring data security of the YML framework | |
Huo et al. | A privacy preserving carbon quota trading and auditing method | |
Zhang et al. | Identity‐and‐data privacy forward security public auditing protocol in the standard model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20161130 |
|
WD01 | Invention patent application deemed withdrawn after publication |