Page 320 - 《软件学报》2025年第5期
P. 320
2220 软件学报 2025 年第 36 卷第 5 期
从表 1 中可以看出, 3 种攻击的主要影响因素包括用户数据域大小 d 、隐私预算 ε 、假用户比例 β 、目标项
目个数 r 等. 本文具体分析效果最好的 MGA 攻击受参数影响时攻击效用的变化: 当用户数据域大小 d 增大时, 对
d 在 MGA r > k 的
于 r ⩽ k 的子集选择机制, 因为 攻击效用公式的分子中, 因此, 当 d 增大时, 攻击效用增大; 对于
子集选择机制, 在 MGA 攻击效用公式中, d 在分子的最高次幂为 2 次, 在分母的最高次幂为 1 次, 因此, 当 d 增大
时, MGA 攻击效用增大. 当隐私预算 ε 增大时, 对于 r ⩽ k 的子集选择机制 MGA 攻击效用减小. 当假用户比例 β 增
大或者目标项目个数 r 增大时, MGA 攻击效用都会增大. 第 4.3.1 节实验验证了这些参数对攻击效用的影响.
3.3 环机制攻击方法
3.3.1 RPA 攻击
对环机制进行 RPA 攻击时, 每个假用户从用户数据域{1, 2,…, d}中随机选择一个项目 t, 通过用户特定的哈
希函数将用户的项目 t 映射到 [0.0, 1.0) 范围内的一个数值 v , 从覆盖区域 C v 中选择一个值发送给数据收集方.
RPA 攻击随机选择用户数据域中的项目, 因此假用户发送的数据服从均匀分布, 攻击效果较差, 可以作为参照组
与另外两种攻击效用进行对比.
3.3.2 RIA 攻击
RIA 攻击考虑了目标项目集 T, 从目标项目集 T 中为假用户选取项目, 扰动后发送给数据收集方, 这样设计的
数据可以提高目标项目的频率估计值. 具体来说, 攻击者控制每个假用户从目标项目集 T 中随机选择一个项目 t ,
按照环机制的扰动规则, 先通过用户 i 特定的哈希函数 h i 将用户的项目 t 映射到 [0.0, 1.0) 范围内的一个数值 v i ,
再依照概率分布抽取一个值 y i ∈ [0.0,1.0) , 将 y i 发送给数据收集方.
3.3.3 MGA 攻击
对环机制进行 MGA y i :
攻击时, 仍然需要考虑以下优化问题来生成每个假用户的扰动值
argmaxE[F y (t)],
i
y i 是用户 y i 的表示形式为元组 (s, z), s 是哈希函数的种子, z 是用户
其中, i 发送给服务器的扰动值, 在环机制中,
数据的扰动值. F y (t) 是计数函数, 当 y i 支持项目 t 时, 即 y i 在 t 的覆盖区域中, F y (t) 输出 1, 否则输出 0. 如果每个
i i
假用户向数据收集方发送的数据都在目标项目的覆盖区域内, 可以使攻击效用达到最大化.
假用户的扰动数据设计步骤如下.
第①步. 使用哈希函数将所有目标项目映射到 [0.0, 1.0) 范围内, 例如, 用户 i 使用哈希函数 h i 将目标项目
′ ′ ′ ′ ′ ′
t 1 ,t 2 ,t 3 映射为 t ,t ,t , 其中, t ,t ,t ∈ [0.0,1.0) .
1 2 3 1 2 3
第②步. 在目标项目覆盖区域的交集中随机选取一个值, 将该值和哈希函数种子一同发送给服务器. 如图 4 所
′ ′ ′ z i 作为用户 i 的扰动值, 发送给服务器.
示, t ,t ,t 的覆盖区域是 C t ′ ,C t ′ ,C t ′ , 在 C t ′ ,C t ′ ,C t ′ 的交集区域选取一个值
1 2 3 1 2 3 1 2 3
0
C t′ 2
0.75 0.25
C t′ 3
z i
0.5
图 4 环机制 C t′ 1 攻击的伪造数据示意图
MGA
h m h m 可以使最多的目标项目哈希后的值
为了实现进一步优化, 本文从哈希函数集 H 中选取一个哈希函数 ,
覆盖区域存在交集. 具体来说, r 个目标项目 t 1 ,t 2 ,...,t r 的覆盖区域表示为 C t 1 ,C t 2 ,...,C t r , 在最优情况下, 每个假用户
发送给服务器的扰动数据可以增加所有目标项目的频率估计值, 即假用户 j 发送的扰动值 z j ∈ C t 1 ∩C t 2 ∩...∩C t r .