Non-Interactive Privacy-Preserving Frequent Itemset Mining over Encrypted Cloud Data

隐私保护的频繁项挖掘。

工作背景

关联规则挖掘是一种重要的数据挖掘方法,主要用于发现由事务数据组成的大型数据集中频繁共现的模式及其有趣的关联关系。频繁项集挖掘作为关联规则挖掘中的基本操作。

数据挖掘中的数据库通常涉及个人位置、医疗信息、商业数据等隐私。当服务器对明文数据执行数据挖掘时,存在严重的隐私问题。

1)我们提出了一个安全的框架来执行针对TFHE优化的频繁项集数据挖掘。我们的框架不需要引入额外的虚拟事务,只需要一次密文域比较,从而实现了非交互性和较高的计算效率。据我们所知,这是加密领域中第一个非交互式频繁项集挖掘的工作。

2)基于所提出的框架,我们提出了两种高效的保护隐私的频繁项集挖掘协议。云服务器不会从第一个协议中的事务数据、查询请求和频繁结果中学习私有信息。相比之下,第二种协议通过牺牲挖掘项数量的隐私来实现更高的计算效率。

3)与最近的研究成果[33]、[34]相比,本文提出的协议在计算和通信成本方面效率更高,但具有更高或相同的安全级别。实验结果表明,所提出的并行实现能够以较高的加速比减少运行时间。

avatar

结构: 多个数据拥有者,将数据加密储存在CSP,一个数据矿工,以密文或明文的方式给CSP提出请求, CSP是好奇的云端服务器用于密文的数据挖掘工作。

威胁: 服务器是好奇的,试图从密文中学习敏感隐私信息。

安全定义:查询向量的项数不是私有信息,因为对手不能使用它来推断准确的查询项。

定义1(隐私级别1 (PL-1))。矿工提交一个加密的挖矿请求。CSP无法了解事务数据库、挖掘请求或中间结果上的任何私有信息。因此,在协议结束时,CSP的泄漏函数L(λ,¯ξ)不包含私有信息,可表示为L1(λ,¯ξ) =∅,其中λ为安全参数,¯ξ代表协议的输入。

定义2(隐私级别2 (PL-2))。矿工提交匿名的挖矿请求。挖掘项集的敏感内容不受CSP的保护。在协议的末尾,只有挖掘项集中的项数(用Nq表示)在泄漏函数L(λ,¯ξ)中,它表示为L2(λ,¯ξ) = {Nq},其中λ是安全参数,¯ξ代表协议的输入。

TFHE满足以下四种计算,与 或 非 非与

// Compute (1 AND 1) = 1; Other binary gate options are OR, NAND, and NOR
auto ctAND1 = cc.EvalBinGate(AND, ct1, ct2);

// Compute (NOT 1) = 0
auto ct2Not = cc.EvalNOT(ct2);

// Compute (1 AND (NOT 1)) = 0
auto ctAND2 = cc.EvalBinGate(AND, ct2Not, ct1);

// Computes OR of the results in ctAND1 and ctAND2 = 1
auto ctResult = cc.EvalBinGate(OR, ctAND1, ctAND2);

方案构建

将事务和品类转化成01矩阵。

avatar

那么对于support的计算,只要变成一个01矢量,比如品类组合{1,2}=(1,1,0,0,0),然后再计算对于事件的依赖。

本文提出了三种安全算法,用于CSP分别安全地执行子集确定、累积和比较。基于这三种算法,我们提出了一种保护隐私的频繁项集挖掘协议,CSP在挖掘过程中不需要与其他云服务器交互。

然后,我们设计了第二种安全频繁项集挖掘协议,它比第一种协议更有效,代价是在挖掘请求上牺牲了很少的隐私。

最后,我们提出了建议协议的加速策略,以减少其在多个cpu和gpu设备上的运行时间。

判断子集算法

AB集合,当且仅当A中任意元素都属于B时,A是B的子集。

对xi与yi进行非或,那么只有当xi=1,y=0时取值为0,也就是xi不在yi中,用1与所有取值做与操作,有0则答案为零,非则表示全为一。

累加

对xi加上一个bit b。

首先b对进位符θ赋值,只有b=1时有可能进位。

然后b和xi做异或操作,不同时为1, 相同时为0, 都等于1时往前进位。

比较

avatar

安全频繁项挖掘

矿工提交请求【E(q),E(S)】,CSP生成E(u)=0为累加器的答案
E(q)与所事务进行遍历,是子集就u+1,最后u与s比较 ,返回E(μ)=u>s?

弱安全高效频繁项挖掘

矿工提供匿名明文请求,CSP直接在明文中的1的位置对明文进行判断

CPU多核计算加速

实现加法器

dark
sans