Review for TFL'21
!!! info "[TFL'21]" - AnonymTD & PerturbTD Achieving Privacy-preserving and Lightweight Truth Discovery in Mobile Crowdsensing
Introduction
Problem Statement
Proposed Protocol
AnonymTD
M 个任务: \{T_1, T_2, \ldots, T_M\},K 个 workers: \{p_1, p_2, \ldots, p_K\},x_m^k 代表 p_k 对于任务 T_m 观测到的数值。
两个 PRF: \pi 和 F:
副服务器 AS 对所有的服务器生成同一个随机密钥 x\gets_R \{0,1\}^p,用于第一个 PRF \pi。每一个 worker 都可以生成相应的扰动序号 s_k = \pi_x(k)。
AS 生成 K 个随机密钥,\{y_1, y_2, \ldots, y_K\},其中 y_i \gets_R \{0,1\}^p。AS 给每个 worker 随机分配两个不同的密钥,如分配给 p_k 两个密钥 y_i 和 y_j,其中 i\neq j。
那么,对于任一 worker,都可以构造一个匿名函数:
Workers 就可以使用匿名函数来生成数据了,以 worker p_k 为例,他可以生成 K 个数据: \{AD_k^1, AD_k^2, \ldots, AD_k^K\},对于 i\in [1,K],
如果 i\neq s_k,那么 AD_k^i = A_k(i);
如果 i=s_k,那么 AD_k^i = A_k(i) + x_m^k
也就是说,这一组数据里,只有第 s_k 个数据才包含了他观测的数值
在收集到 K 个 workers 的数据后,加和
d_m^i = \sum_{k=1}^K AD_k^i
之后便可以通过迭代完成计算。
Question
对于 DR,每个 worker 的数据是可见的,只是跟 worker 的 ID 对不上号(顺序被打乱)。权重对于 DR 也是完全可知的。一旦有某个 worker 没有上传数据,此方法就不可行。
PerturbTD
对于 worker p_k,生成随机数 N_\alpha^k = \{\alpha_1^k, \alpha_2^k, \ldots, \alpha_M^k\},N_\beta^k = \{\beta_1^k, \beta_2^k, \ldots, \beta_M^k\}。
混淆数据: \hat{x}_m^k = x_m^k + \alpha_m^k,\bar{x}_m^k = x_m^k \cdot \beta_m^k
混淆数据发送给 DR,随机数发送给 AS,随后 workers 便可以离线。