在知乎上看到的关于——苹果 差分隐私
苹果希望使用收集到的用户数据用于改善服务,例如:哪些新词正在流行?什么网站可能会影响电池寿命?哪些表情符是被选择最多的?而面临的问题则是用于被收集来回答这些问题的用户数据是个性化的,会涉及到隐私问题。
苹果使用的是local DP,即在数据离开用户设备前就对数据进行操作使得苹果服务器接收到数据时就已经无法恢复出用户的原始真实数据了。想法源于噪声可以扰动用户个人的数据,但如果有许多人提交相同的数据,那么这些添加到用户个人数据的噪声在统计上就可以被平均,从而苹果可以得到有意义的统计数据。同时在上传数据时,设备标识符被移除并且数据通过加密信道传输。苹果读取数据阶段使用这些差分后的数据,并且要移除IP地址等相关信息。最后在数据聚合阶段,用户数据被用来计算相关的统计问题并且将统计结果共享给相应的苹果团队。读取和聚合数据阶段都在受限访问环境中,因此用户个人数据也不能被苹果员工广泛访问。
苹果限定了每个用户的隐私预算来限制单个用户数据的贡献量。原因在于防止经过对单个用户大量的数据观测推断出用户活动,尽管苹果未将收集的信息与用户标识符关联。苹果公司使用local DP来保护一段时间内用户的活动,同时用其提高智能性和可用性,如:快速键入建议、表情符建议、查找提示、Safari能量消耗域、Safari自动播放意图检测(macOS High Sierra)、Safari崩溃域(iOS 11)、Health Type Usage(iOS 10.2)。苹果对收集到的数据最多保留三个月,并且不会保存标识符和IP地址。以下是对用于改善不同服务收集的用户数据的具体隐私预算:查找提示—隐私预算4,一天两次;表情符—隐私预算4,一天一次;快速键入—隐私预算8,一天两次;health type—隐私预算2,一天一次;Safari能量消耗域以及崩溃域—隐私预算4,一天两次;Safari自动播放意图检测—隐私预算8,一天两次。
苹果定义了两种传输DP的用户数据的结构:Count Mean Sketch和Hadamard Count Mean Sketch。Count Mean Sketch中使用一系列哈希函数将数据元素映射到哈希矩阵的不同行的对应列中,而对于每个哈希后得到向量值的每个坐标,有1/(1+exp(ε/2))的概率被翻转。在将用户个人数据传输给苹果时,会随机选择哈希矩阵中的一行而非上传整个矩阵。当计算统计结果时,苹果整合所有用户的上传的哈希行并且计算每个数据元素在这些哈希行中的平均值。
更具体的文献:Learning with Privacy at Scale - Apple