从交易价格量化位置隐私泄露
摘要
大规模的消费者行为数据集可能会彻底改变我们在相关领域获取竞争优势和增长知识的方式。与此同时,有价值的数据集也带来了难以预见的潜在隐私风险。本文研究了消费者购买历史中的交易价格对其位置隐私的影响。我们表明,通过使用消费者购买历史中少量低价产品的价格信息,攻击者能够以高置信度确定交易发生的国家、城市以及本地零售商店。本文证明,即使在消费者购买历史中移除了产品类别、精确购买时间以及货币单位(例如出于隐私考虑)的情况下,仍会泄露消费者的位置信息。该结论基于三个独立的数据集,这些数据包含数千种低价且频繁购买的消费品。结果表明,在发布消费者购买历史时存在位置隐私风险。因此,这些结果凸显了需要设计能够隐藏消费者购买历史中交易细节的系统。
1 引言
公开数据会带来意想不到的隐私风险。近期的例子包括美国在线发布用户搜索关键词 [30],导致用户及其个人资料被识别 [1]。奈飞发布的数据通过利用互联网电影数据库和用户评分日期被去匿名化 [28],表明,数据发布的风险不能孤立分析。结合不同公开记录所带来的隐私风险已引发多次 [36] 去匿名化攻击。
对匿名化移动数据的最新研究表明,仅凭少量观测即可实现移动轨迹的去匿名化 [19]。消费者信息的一个来源是其消费模式。然而到目前为止,消费者交易价格在多大程度上泄露了相应购买信息仍不明确。
消费者购买历史通常由拥有忠诚度计划的连锁商店记录,并用于计算消费者的支出画像 [6]。银行、支付卡发行机构和销售点系统提供商以不同粒度收集此类数据。在一些场景中,可能希望
图1. 从消费者价格数据集量化位置隐私泄露的框架概述。
在公司内部不同部门之间、公司之间或向公众共享此数据[7]。在披露之前,数据经过净化处理,以确保不会泄露敏感数据(如个人身份信息),并(部分或全部)隐藏位置信息。在比特币等新型数字货币系统中[33]和瑞波币[10],交易金额存储在公共账本上。无论交易金额是为使系统实现其功能而提供,还是出于研究目的进行披露,理解此类披露的隐私影响都至关重要。
本文中,我们专注于量化从消费者购买历史中释放价格所导致的位置披露。
直观上,同一产品在不同国家的价格分布各不相同,这使我们能够识别可能的购买地点。我们关注的是通常价格较低(≤ 25美元)且频繁购买的消费品。具体而言,基于全球价格(利用Numbeo数据集[9]),我们表明即使仅获取少量消费者价格(甚至无需知道产品类别、精确购买时间或货币单位),攻击者也能确定购买发生的国家。类似地,在已知国家的情况下,可以进一步确定城市;而在城市内部(利用芝加哥数据集[11]),本地商店也可被识别。我们还进一步证明,可以在连锁商店之间区分购买记录(利用Kaggle数据集[7])。
我们提出一个通用框架(参见图1),用于对消费者价格数据集中的位置泄露进行建模和定量评估。在我们的框架中,我们对对抗性知识进行建模,该知识由消费者价格的公共数据集和位置特定信息组成。我们假设攻击者可以获取一次购买中单个产品价格(类似于Kaggle数据集)以及购买时间的粗粒度值。
为了使框架更具灵活性,我们的模型支持不同的先验知识
场景,例如攻击者还可以获取商户类别(例如,知道产品是在市场或餐厅购买的)或产品类别(例如,苹果)。此外,我们通过详细描述相应的概率函数来建模对抗性攻击。特别是,我们指出攻击者如何利用多个产品价格来提高识别正确位置的概率。
在我们的框架中,我们从不同维度量化消费者购买行为的位置隐私。例如,我们通过 F1‐分数 [35] 来衡量攻击者对购买位置概率估计的准确率。此外,我们使用互信息[18]基于所考虑的价格数据集来量化消费者绝对位置隐私损失。
另外,我们通过测量熵的减少来捕捉相对隐私损失。所提出的指标独立于攻击者策略的选择,因此使我们能够定量衡量攻击者已知任何价格数据集所导致的隐私损失。
我们将该框架应用于三个现实世界的数据集:(i)Numbeo数据集[9]在经过异常值过滤后,包含来自112个国家和23个美国城市的众包现实世界消费者价格,涵盖23个不同的产品类别;(ii)芝加哥数据集[11]包含约2400万条价格数据,涉及28个产品类别,平均记录了在芝加哥大都会区内Dominick’s商店销售的6304种产品;最后,(iii)Kaggle数据集[7]包含来自134个连锁商店的311,541名消费者的3.5亿次购买记录。
我们的评估表明,为了根据购买向量推断国家,攻击者通常需要观察少于30个价格。类似地,在确定了购买所在的国家并给定大约30个价格后,我们证明可以在美国的23个主要城市中可靠地进行预测。最后,当攻击者缩小了粗略位置(例如芝加哥大都会区)时,我们证明基于区域价格数据集,并给定一个购买向量,攻击者可以通过100次购买高置信度地区分本地商店。作为对比,一个较弱的攻击者仅能访问粗粒度的时间信息(即购买日期)和价格信息,则需要50次购买才能识别国家。此外,为了验证我们方法的实际效用,我们在一个购买记录数据集(Kaggle [7])上进行了评估,结果表明攻击者需要大约250次购买才能高置信度地区分134个连锁商店。
本文的主要贡献如下: – 我们提出了一种通用的量化框架,用于评估针对消费者购买位置隐私的攻击。我们在三个独立的现实世界消费者价格价格数据集上验证了该框架,并表明位置信息可以被可靠地提取。– 我们引入了三种隐私度量,以衡量攻击者在攻击中的表现,以及当攻击者能够访问特定的购买数据集时,消费者位置隐私被削弱的程度。
据我们所知,这是首个基于消费者购买中的价格值推断购买位置的研究。其余部分
2 模型
在本节中,我们介绍我们的系统和对抗模型。我们提出了隐私度量,用于量化位置披露的概率,该度量基于攻击者能够获取消费者部分购买历史的假设。
2.1 系统模型
消费者与商家互动并购买一个或多个产品。这种互动会留下一系列购买事件作为购买活动的记录。我们将消费者的每一次购买事件及其上下文信息建模为 e: {consumer u, value v, product p, product category c, location l, time t},其中 v表示在位置 l、时间 t购买产品类别 c中的产品 p所花费的价格值 v。在我们的模型中,一次购买事件仅限于一种产品,类似于Kaggle数据集中包含的数据。此外,价格值以全球货币表示,通常不同于购买地的本地货币(例如,原始价格为瑞典克朗,但记录为美元)。目标消费者 U执行的购买
行为序列,即一系列购买事件,记为 SU:{e1, e2,…, en}。我们定义以下函数来
表示对抗性知识:
位置概率 :它描述了购买事件发生在特定位置的先验概率,例如, P(美国) 表示随机购买事件 e 发生在 e.l= 美国的先验概率。我们将 L 定义为所有考虑位置的集合。
类别概率 : 给定位置 l, P(c | l)描述了购买事件属于某个产品类别的条件概率,例如, P(牛奶 | 美国)表示来自美国的随机事件 e包含 e.c=牛奶的条件概率。该条件概率用于建模某一位置的产品类别偏好。我们将 C定义为所有考虑的产品类别的集合。
价值概率 : 给定位置 l和产品类别 c, P(v | l, c)描述了在特定价格值下的购买
事件的条件概率。该模型用于刻画不同位置中各类产品的价格分布,例如, P
(1.5 | 美国,牛奶)表示在美国以1.5单位全球货币购买牛奶的条件概率。
攻击者现在可以建模消费行为并识别可能的候选位置。具体而言,攻击者计算后验概率
某个产品类别的单一价格值 v 来自于位置 l的概率。该计算涉及上述的先验概率和条件概率,以及贝叶斯定理的应用:
P(l | c, v)= P(l)· P(c, v | l) / P(c, v) (1)
为了在不知道产品类别的情况下推断位置,攻击者计算价格值 v来自位置 l的概率:
P(l | v)= P(l)· P(v | l) / P(v) (2)
2.2 对抗模型
攻击者的目标是识别 SU 中事件的位置。在本节中,我们介绍了两种不同的攻击者:(1)具有完全知识的攻击者;(2)仅具有公共知识的攻击者。
拥有完全知识的攻击者 。理想对手代表了一个能够完全访问全局购买事件的强大攻击者。具体而言,该攻击者能够获取以下先验知识:
全球购买历史 :全球购买历史中完整的购买事件序列1,记为 HG。攻击者根据 HG 计算某个位置的后验概率。
目标消费者历史 :攻击者可能掌握有关目标消费者购买历史的先验信息,记为 HU。这可以帮助攻击者针对目标消费者优化模型 2。
基于此知识,理想对手计算公式1和2中的概率。3
具备公共知识的攻击者 。我们的第二个对抗模型更为现实,其中攻击者仅利用公众可获取的信息。
人口 :根据每个位置的人口,攻击者估计位置概率 P(l)。
产品篮子 : 一个产品篮子表明了普通消费者在一年内购买的产品,包括数量和金额。我们利用产品篮子来估计给定位置下某个产品类别的概率(P(c | l))4。
1可以限制攻击者感兴趣的区域,例如当攻击者知道其受害者位于该受限区域内时。2 例如,仅考虑先前购买的位置。3中间步骤见附录A。4我们目前对所有位置使用单一的产品篮子。
价格数据集: 对于每个位置和产品类别的组合,都有一个价格值分布 D,例如Numbeo或芝加哥数据集。攻击者可以利用该分布来估计 P(v | l, c)。我们定义D(l, c, v)为在位置 l中产品类别 c的价格值 v的出现次数, D(l, c)为产品类别 c和位置 l的价格值的数量。
由于 D可能不完美,攻击者对价格值概率的了解可能是不完整或不正确的(例如,未知或四舍五入的产品价格)。在这种情况下,攻击者应执行加法平滑,即为每个事件[26]分配一个较小的概率 α。相反,如果攻击者拥有或假设对价格值概率具有完全知识,则无需进行加法平滑。
拥有公共知识的攻击者计算以下概率:
P(l)= Population(l) / ∑ l′∈L Population(l′) (3)
P(c | l)= Basket(l, c) / ∑ c′∈C Basket(l, c′) (4)
P(v | l, c)= (D(l, c, v)+ α) / (D(l, c)+ α · |SU|) (5)
为了计算前面公式1和2中定义的概率,攻击者需要获取 P(l | c, v)或 P(l | v)的访问权限。接下来,我们描述攻击者如何计算这些概率,并定义攻击者的知识。
2.3 知识场景
如前所述,攻击者的目标是识别 SU 中事件的位置。攻击者会获得一个有限的事件集合 SU,并在该集合上执行攻击——攻击者不允许选择或请求新的购买事件 e。我们考虑具有公共知识的攻击者,并区分三种不同的对抗性知识场景,每种场景均由公共知识的一个子集构成。根据具体的知识场景,攻击者可能无法获取购买事件 e 中的全部信息。因此,我们定义一组函数 Vscenario(e) = V(e),这些函数根据给定的场景对攻击者可访问的公共知识进行过滤。
价格 :此场景对应于攻击者能够访问多个购买事件 e、仅对应的价格值以及购买时间的概念 e.t。攻击者不知道产品 e.p或产品类别 e.c。购买时间的精确度取决于该场景的进一步设定。更正式地, Vprice(e)={e.v, e.t}。基于由公式 3、4和5所建模的公共知识,攻击者计算后验概率
P(l | v)从位置 的价格值 v中提取的 l。计算P(v | l)和 P(v)的中间步骤详见附录 A中的公式 10和 12。
价格_商户 :与前一种知识场景类似,此处的攻击者能够获取SU,即一系列多次购买事件。然而,在此场景中,攻击者还知道该事件的价格值 e.v以及销售该产品的商户类别 m 。形式上,对于每个购买事件 e,Vprice_merchant(e) ={e.v, e.t, m},其中 Vprice_merchant需要一个函数M(e) = m。我们考虑三种商户类别:餐厅、市场和本地交通。 Vprice_merchant(e)函数根据相应事件 5的产品类别 e.c来估计商户类别 m。类似地,使用公式1,攻击者基于商户类别和价格值计算某个位置的概率:
P(l | m, v)= P(l)· P(m, v | l) / P(m, v) (6)
其中 P(m, v | l) 的计算方式如下:
P(m, v | l)= ∑ c∈M −1(m) P(c, v | l) (7)
价格产品类别 :此场景对应拥有公共知识的最知识丰富的攻击者。与之前的场景类似,攻击者会收到多次购买事件 SU。此外,攻击者还能获取产品类别 e.c 以及价格值 e.v。注意 e.c 隐含了对商户的了解,从而更正式地表示为 Vprice_产品类别(e)={e.v, e.t, e.c}。
根据第2.2节所述的公共知识,攻击者计算产品类别为 P(l | c, v)、价格值为 c且起源于位置 v的购买事件的概率 l。计算 P(c, v | l)和 P(c, v)的中间步骤详见附录中的公式11和13。
在下一节中,我们将对概率 P(l | v) 和 P(l | c, v) 提供一个直观的解释。
2.4 条件概率直觉
P(l | v)是在购买事件中给定价格值的情况下某个位置的概率。基于我们的评估,示例图见图2。我们选择了一个价格值为 e.v= 1欧元的购买事件,并估计了该价格对应的位置。该图显示,1欧元最可能的国家是法国,其次是德国、意大利和西班牙。该图还展示了产品类别为牛奶、价格为 e.v= 1欧元的购买事件的 P(l | c, v)。最可能的国家仍然是法国,其次是德国和意大利。令人惊讶的是,中国的排名为 5th。这可以解释为:(i) 某些来自
和 P(l | c, v) 的概率分布)
数据集中中国的数据被错误地报告为欧元,且位置概率 P(l)会影响整体结果,由于中国的人口众多,在该地区发生购买的概率增加。总体而言,我们观察到当产品类别已知时,概率分布会发生变化,例如,法国出现牛奶价格为1欧元的可能性,高于一般情况下出现1欧元价格的可能性。
2.5 多次购买事件
到目前为止,分析都是基于单次购买事件。为了自然地结合多次购买事件,我们假设在给定位置 l 的条件下,购买事件是条件独立的。因此,在给定一组购买事件 SU 的情况下,位置 l 的概率计算如下:
P(l | SU)= P(l | V(e1), V(e2),…, V(en)) = P(l)· ∏ e∈SU P(V(e) | l) / P(V(e1),…, V(en)) (8)
计算 P(l | SU) 的中间步骤可在附录的公式18中找到。我们通过实验验证了在三种知识场景下,给定l时 V(e) 的条件独立性,因此公式8同样适用于不同的对抗性知识场景。请注意,我们通过假设不同购买的产品相互独立,从而有效地弱化了攻击者。
2.6 隐私度量
我们引入了三种隐私度量,以从不同维度捕捉消费者在披露其购买历史时的隐私情况:我们(i)进行度量
攻击者识别真实位置的性能,使用 F1分数。然后,(ii) 利用互信息的概念[18],我们量化了由于攻击者掌握价格数据集而导致消费者的绝对隐私损失。最后, (iii) 我们采用相对减少熵作为相对隐私度量指标6。
F1‐score : 攻击者的目标是将购买事件正确地分配到相应的位置。在最坏的情况下,攻击者不得不在所有可能的位置中随机猜测。然而,如果攻击者能够更准确地估计位置概率,则位置隐私会降低。我们的问题对应于一个多分类问题,因此通过计算每个单独类别的 F1‐score [35]的平均值来量化攻击者的性能。
F1‐score 对应于召回率和精确率的调和平均数,用于衡量测试的准确率。
互信息 :购买事件数据集使攻击者能够推断出不同位置之间的价格分布。因此,我们希望衡量当消费者的购买事件被泄露且攻击者可访问购买事件数据集时,消费者损失了多少隐私。我们通过测量给定购买事件后位置熵的绝对减少量来量化该隐私目标。为此,我们使用互信息[18],记为 I(l, V)e),它衡量了在已知购买事件的情况下位置熵的减少程度(参见公式9)。
I(l, V(e))= ∑ l∈L,e∈SU P(l, V(e))· log2 P(l, V(e)) / P(l)P(V(e)) (9)
相对减少熵 :回想一下,互信息量化了我们称之为绝对隐私损失的内容。事实上,不同位置之间的价格分布存在固有的随机性。重要的是要捕捉到,在给定一组购买事件数据的情况下,关于位置的原始不确定性能够在多大程度上被降低。因此,相对减少熵通过条件熵相对于位置熵的比例的补集,来刻画相对隐私。给定 H(l) = I(l, V(e)) + H(l | V(e)),我们计算所有购买事件上的相对减少熵为 1 − H(l|V(e)) / H l ()。
所提出的评估指标独立于特定的对抗策略。相应地,隐私泄露量化的输出仅取决于所使用的购买事件数据集。在下一节中,我们将介绍用于实验评估的数据集。
3 数据集
准确积累全球产品价格信息的数据集只有少数几个。对于单个产品(例如,一个巨无霸[5]或星巴克
定义为条件熵与位置熵之比的补数。
咖啡[8]),各国的平均价格值是可获取的。由于一种产品在同一国家或城市中经常以不同的价格值多次出现,因此平均值并不适合作为精细研究的良好估计。
接下来,我们介绍本工作中考虑的三个独立价格数据集。
第一个数据集Numbeo [9],是一个众包数据集,包含全球各产品类别、城市和国家的价格值。据我们所知,这是目前最完整的全球采集价格数据集。我们将分析限制在23个经常购买的产品类别上,并将Numbeo数据集分为两个独立的数据集:(i)两年的数据作为Numbeo数据集,以及(ii)五个月的数据作为Numbeo测试数据集(参见表3)。Numbeo对众包输入执行合理性检查,此外我们还从数据中过滤了极端异常值[3]7以应对众包数据中可能存在的错误。
我们识别出112个国家,共包含328,720个价格值。请注意,所提供的数据主要来自美国(18%)和印度(14%)。
第二个数据集被称为芝加哥数据集[11],,涵盖了芝加哥大都会区84家商店在五年期间的数据。这些数据来自Dominick超市门店,按周采集。我们选取了数据最完整的85周进行采样,每周期平均包含283,181个价格,涵盖28个产品类别,涉及平均6304种不同产品。
第三个数据集来自Kaggle [7],,这是一个机器学习竞赛平台。该数据集包含来自134个连锁商店的311,539名消费者的3.5亿次购买事件。数据经过匿名化处理,但包含单个产品价格、产品类别、购买日期和购买金额。大多数购买事件的花费低于25美元。该数据集的国家未公开,但购买价格以美元计价,购买金额使用英制单位描述。
为了估算位置概率,攻击者需要了解每个位置的人口数据。在国家粒度上,我们使用世界银行 [12] 提供的2013年数据,而在美国城市粒度上,我们使用了美国人口普查局 [37] 的数据。
如第2.2节所述,我们通过产品篮子来增加攻击者所掌握的信息。产品篮子详细说明了一个人平均购买哪些产品以及购买的数量和金额。我们利用一个来自2010年的国家产品篮子[4],其中包含超过300个产品类别,以推断出不同产品在一年中被购买的比例。
4 实验评估
在本节中,我们对第2.2节设计的对抗模型进行评估。首先介绍评估过程中所做的假设和选择。
4.1 实验考虑
关于价值概率 P(v | l, c),我们假设Numbeo数据集中价格值的频率反映了现实世界中具有相应价格值的购买事件的频率。这是一个自然的假设,且由于例如 Numbeo贡献者可能输入了相关产品类别中最常见的价格值,这一假设进一步得到支持。由于我们的数据集包含的产品和产品类别数量有限,因此我们的分析自然局限于可用的产品。请注意,如果攻击者知道购买的产品类别(例如牛奶),则其他类别(如苹果)可以被忽略,从而在仅了解少量产品的情况下实现精确预测。为了计算产品类别概率 P(c | l),我们仅考虑一个国家产品篮子,并将其应用于每个国家。需要注意的是,我们并非将产品篮子用作个人平均支出金额的指标,而是用作产品购买比例的指标。
采样价格值 :给定一个位置 l,我们通过从相应数据集中采样价格值来生成合成消费者购买事件。对于这三个数据集,我们考虑对价格值具有完全知识的攻击者。此外,我们使用 Numbeo 测试数据集实例化一个具有不完全知识的攻击者。给定位置的产品篮子 l,我们计算产品类别被采样的概率(见公式4)。因此,我们以产品类别概率 P(c | l)对每个产品类别进行采样。对于每个位置,我们重复采样价格值 n= 1000次,并对结果取平均。
加性平滑参数 :在攻击者具有不完全知识的情况下,我们使用加法平滑,以避免在聚合多个位置的购买事件概率时出现零概率(见第2.2节)。我们选择一个平滑参数 α= 0.01,该参数在我们的数据上提供了最佳结果(见附录图6)。
在下文中,我们针对四种位置粒度评估最多三种知识场景(参见第2.3节): (i)全球范围内的112个国家;(ii)美国境内的23个城市;(iii)芝加哥大都会区内的84家商店;(iv)一个国家内的134个连锁商店。
4.2 国家粒度
攻击者必须为每个购买事件区分112个候选国家。我们根据第2.6节中定义的三种隐私度量来量化隐私。具体而言,我们在两种情况下进行了研究。首先, (i)我们假设攻击者不具备完全知识。这意味着攻击者从Numbeo测试数据集中接收购买事件,并基于Numbeo数据集估计其位置。在第二种情况下,(ii)攻击者假定拥有价格值的完全知识,因此,采样的价格包含在作为对抗性知识的价格数据集中。
图3显示了攻击者可获取的购买事件数量基础上第一种情况的 F1‐分数。在仅有一个购买事件的情况下,价格、价格_商家以及价格_产品类别知识场景的平均得分分别为0.38、0.41和0.49。一次购买事件后较高的 F1‐分数表明,即使只有一个事件,也能实现较为准确的预测。我们观察到,当攻击者知晓购买事件的产品类别时,更有可能识别出正确的位置。相反,如果攻击者能够访问 10次购买事件,相应的 F1‐分数分别为0.80、0.85和0.90。换句话说,10次购买事件显著提升了攻击者识别购买事件位置的能力。报告的数值是在 n= 1000次迭代中取的平均值。
图4对应第二种情况,即攻击者假设完全了解价格值。我们观察到,攻击者能够更准确地区分可能的位置。 F1‐分数已取平均值对所有考虑的国家取平均值。在价格知识场景中针对每个考虑的国家,我们验证了平均化不会掩盖表现较差的国家(参见附录中的图7)。
表1列出了每种知识场景下的互信息和相对减少的熵的结果。我们观察到,价格_产品类别知识场景比其他知识场景更显著地降低了熵。显然,这是因为价格_产品类别知识场景为攻击者提供了更多信息,从而在识别位置时有效减少了不确定性。
4.3 美国城市粒度
在本节中,我们分析了一种攻击者,该攻击者旨在区分23个美国城市的购买事件。与之前一样,我们基于第2.6节中定义的三种隐私度量来量化隐私。我们仅在Numbeo数据集上采样和测试购买事件,因为我们的测试数据集在每个考虑的美国城市中包含的购买事件数量不足。
图10展示了 F1‐分数随购买事件数量的变化。我们观察到,在10次购买事件后, F1‐分数大于0.7。因此,我们的方法在城市粒度上也能提供准确的估计。表1报告了在估计美国城市时的互信息和相对减少熵。我们观察到,在不同知识场景下,国家和城市粒度的相对减少熵相匹配。这说明了相对减少熵在突出不同价格数据集之间相似性方面的有用性。
4.4 芝加哥大都会区粒度
在本节中,我们分析了一种攻击者,该攻击者旨在区分芝加哥大都会区内84家 Dominick’s商店的购买事件。
我们从芝加哥数据集中采样价格值,并假设攻击者具有完全知识;因此,我们不应用加法平滑。我们认为位置先验概率 P(l)是均匀分布的,因为我们没有关于芝加哥地区商店受欢迎程度的可靠信息。
在图11中,我们可以观察到攻击者能够以较高的置信度根据100次购买事件识别出本地商店。我们原本预期结果会较弱,因为所有商店都由同一连锁经营,意味着价格结构相对相似。我们在数据最多的85周中的每一周运行了我们的攻击,对结果进行平均,并将标准差显示在图11的蓝色区域中。
表1显示,芝加哥价格数据集相较于Numbeo数据集,对所考虑位置的信息揭示较少。这一观察结果在两种知识场景下均成立,并且与在芝加哥地区内定位购买事件需要更多价格点的结果一致。
4.5 商店连锁粒度
大规模Kaggle数据集未提供购买事件的精确位置信息,但允许攻击者区分134个连锁商店。了解购买事件所属的连锁商店实际上缩小了购买可能发生的位置范围。需要注意的是,Kaggle中的价格分布跨越了一年时间,因此攻击者无法知晓购买事件的具体时间。
我们对不同消费者的购买事件进行均匀采样,并在Kaggle数据集上执行我们的攻击。图5显示,在给定约250个价格值的情况下,我们对购买事件来源的 F1得分超过0.95。注意,由于存在大量产品类别,价格_产品类别知识场景尤为强大。这体现在较高的互信息中(参见表1)。
鉴于这些结果,我们得出结论:我们的框架和方法适用于各种不同的价格数据集,并使我们能够定量地比较比较各自的隐私泄露。接下来,我们将从数据中提取更多见解,以加强攻击。
4.6 最具信息泄露性的产品类别
在本节中,我们研究Numbeo数据集中所考虑的23个产品类别中哪一个泄露的信息更多。这一洞察非常有用,因为攻击者会选择该产品类别的购买事件,以提高正确识别其位置的概率。因此,我们使用互信息来衡量在给定某一特定产品类别的购买事件的情况下,位置熵被减少的程度。与之前的分析不同,我们基于第产品类别价格_知识场景(定义见第2.3节)按产品类别评估互信息。
评估结果如图13所示。根据该指标,最具信息泄露性的产品类别是牛奶、本地交通单程票和一条白面包。相反,信息披露最少的产品类别是橙子、鸡胸肉和大米。
4.7 所需时间精确率
此前,我们假设需要知道确切的汇率才能比较本地化的购买事件。然而,获取确切的汇率需要精确掌握购买事件的发生时间。在本节中,我们证明了我们的攻击并不依赖于确切的汇率,即使攻击者只知道购买事件的日期甚至所在周(即汇率的时间不确定性为24小时或7天),该攻击仍然有效。因此,我们放宽了对时间精度的要求。
由于汇率差异,对 P(v | l, c)的攻击者估计不准确。为了弥补汇率差异,攻击者可以使用价格容差。我们研究了两种容差选项:静态容差和动态容差。对于静态容差,攻击者在存在不确定性的情况下,通过考虑区间[v − tols, v+ tols]内的价格值来估计P(v | l, c),其中静态容差 tols是全球货币中的一个小额(例如,0.02美元)。动态容差值 told是对不确定性按百分比估算的结果(例如,2%)。为了估计 P(v | l, c),攻击者考虑来自区间[v ·(1 − told) v ·(1+ told)]的价格值。
我们评估了利用不精确购买时间推断购买事件所在国家的攻击,并通过不同的容忍值来补偿时间误差。为了模拟不精确的购买时间,我们使用2014年 30个不同日期的汇率转换对抗性知识,然后使用前一日的汇率转换非本地化的购买事件 SU。与之前一样,我们计算了 F1‐分数以评估估计的 P(l | SU)的质量。
对于静态和动态容差值,我们发现该攻击仍然具有较高的精确率,即在少于50次购买事件的情况下, F1‐score超过95%。较高的容差值具有两种相反的影响:(i)它可以补偿汇率的差异,并增加被正确考虑的价格值数量;(ii)然而,较高的容差也会增加落入较大区间内而被错误考虑的价格值数量。因此,容差值在真阳性和真阴性率之间形成一种权衡。我们的实验结果反映了静态和动态容差值下的这种权衡(参见附录B)。基于实验结果,我们建议在24小时时间不精确度下采用2%的动态容差。
我们还评估了一周内汇率的不确定性。我们使用了实际世界中相隔七天的汇率数据。图14展示了在Numbeo数据集上,针对不同知识场景和2%动态容差值时该实验的结果。我们得出结论:我们的攻击并不要求精确的购买事件时间。
5 相关工作
位置隐私 。布卢姆伯格 [16]等对位置隐私及其问题和影响进行了非技术性的讨论。格鲁特泽尔和古恩瓦尔德 [23]开创了位置隐私领域中匿名化方法的主要研究。此外,纳拉亚南 等[29]从理论角度研究了位置隐私,并提出了一系列受实际约束驱动并针对邻近测试优化的加密协议。肖克里 等[34]提出了一个形式化框架,用于量化用户偶发性暴露其位置时的位置隐私。他们建模了多种位置隐私保护机制,例如位置模糊化和虚假位置注入。这项工作与我们的研究正交,因为在我们的设定中,消费者并非主动披露其位置。沃洛迪莫斯 等[38]通过使用熵来衡量定位用户行踪和识别个人选择的能力,解决了上下文感知服务中的隐私保护问题。纳拉亚南 [28]和什马蒂科夫提出了针对高维微观数据的统计去匿名化攻击。我们并未依赖他们的方法,因为我们并不旨在对消费者进行去匿名化。德蒙乔耶 等[39]表明,仅需少数包含位置、时间和价格值的时空三元组,即可在信用卡记录中唯一识别出消费者。与他们的研究不同,我们关注的是价格值,并侧重于定位而非识别消费者。
支付系统 。公开交易价格的隐私影响长期以来被广泛忽视。一个典型的例子是比特币[17,33],,其中交易通过假名在对等方之间进行交换。实际的交易价格被存档并公开可用。现有文献提出了多种分析比特币隐私影响的方法,例如通过适当启发式方法[13],污染[22],或其他技术[21,32]。Reid 和 Harrigan [31]分析了比特币日志中一小部分比特币交易的流向,并表明可以利用公开宣布的地址等外部信息将身份和组织与某些交易关联起来。在[27]文中,作者提出了零币(Zerocoin),这是一种对比特币的加密扩展,通过增强协议,利用分布式电子现金方案实现完全匿名的货币交易。据我们所知,仅有两项研究[14,15]旨在隐藏比特币中的交易价格。
价格刚性 。赫尔曼和默泽[24]对价格变动性进行了定量分析,得出价格通常在数周内保持刚性。然而,相同品牌的定价策略在不同零售商之间存在显著差异。他们的观察结果与巨无霸指数[5](经济学人)、星巴克咖啡指数[8](华尔街日报)以及宜家比利书架指数[2](彭博社)的研究相符。这些先前的研究表明,同一品牌相同产品在不同位置的价格存在差异。杜塔等[20]发现,零售价格会迅速响应直接成本变化以及上游制造商的成本变化。霍斯肯和赖芬[25]发现,每种产品都有一个价格模式——即产品大部分时间所维持的价格。请注意,霍斯肯的非公开数据集包含的价格观测值数量几乎与我们的Numbeo数据集相当。
6 结论
建立一种系统化的方法来定量分析包含价格相关信息的数据集中的隐私泄露,是避免隐私泄露的必要步骤。尽管使用更多数据集进行进一步测试将有助于普遍性地断言仅凭价格值即可揭示购买位置,但我们的实证结果表明,即使仅有少量购买事件,也有可能识别出消费者的位置。本文提出了以下两个问题:消费者购买数据集泄露了多少位置信息?如何利用所考虑的对抗模型和知识对其进行量化?在我们提出的框架中,我们建模了多种对抗模型,并根据不同维度量化了隐私泄露程度。该框架广泛使用贝叶斯推理对不同的攻击策略进行建模。
我们的框架可轻松应用于任何消费者购买的价格数据集,并允许比较不同价格数据集的隐私泄露程度。我们将该方法应用于三个真实世界的数据集,取得了可比的结果。本文的结果强烈表明,在共享价格数据集时必须谨慎对待,这一结论在设计公共账本加密货币时也应予以考虑。
交易价格泄露位置隐私
675

被折叠的 条评论
为什么被折叠?



