主要的数据匿名化技术包括遮盖、泛化、聚合、加噪、交换、令牌化、假名化和哈希,以及两种衡量结果的方法:k-匿名性和差分隐私。单独使用任何一种技术都不够。欧洲监管机构指出,每种技术都仍存在一定的重新识别风险;只有在没有人能够通过合理手段推断出一条记录与谁有关时,数据才算匿名。

奶油色桌面上横放着四小叠索引卡:一叠用藏青色标签盖住文字,一叠将文字模糊成灰色条块,一叠剪掉了边角,一叠空白;旁边有一支藏青色铅笔、一株植物和一个马克杯。

衡量每种技术的基准

根据 GDPR 和英国 GDPR,匿名信息不受数据保护法约束,而个人数据则受其约束。 序言第 26 条 划定了界限:应考虑所有“合理可能被使用”的手段,例如单独识别,以直接或间接识别某人。同一序言还指出,能够借助附加信息归属于某个人的假名化数据,仍然是与可识别个人有关的信息。

当时的欧盟数据保护监管机构——第 29 条工作组——在其 《关于匿名化技术的第 05/2014 号意见》 (WP216)中将其归纳为三个问题:是否仍有人能够单独识别某个人?能否将同一个人的两条记录关联起来?能否推断出有关某个人的信息?该意见的结论是,在某些情况下,它审查的每种技术至少有一项未能通过这些问题的检验,因此需要组合使用多种技术。英国监管机构于 2025 年 3 月 28 日发布的 匿名化与假名化指南也采用了相同的基于风险的观点。

如果您需要先了解匿名化、假名化和删节之间的区别,请从 为 AI 选择合适的方法开始。本文介绍的是各种具体技术。

示例记录

以下所有示例都以同一条虚构的人力资源记录为例:

Anna Kowalski, born 12.03.1989 (37), 14 Elm Street, Leeds,
anna.kowalski@example.com, staff nurse, 12 days of sick leave

移除或模糊数值的技术

遮盖与抑制

遮盖是隐藏数值的一部分;抑制则是删除数值、列或整条记录。

A***** K*******, born **.**.1989, [address removed], staff nurse

它可以防止直接识别。它会破坏所有需要用到被移除值的用途,而且无法从输出结果还原。保留下来的内容仍可能指向 Anna:在一个小病区里,要找到一名 1989 年出生的护士并不难。仅靠遮盖很少能让数据实现匿名化。

泛化

泛化是用范围更宽泛的值替换精确值。

age 37 → 30-39; 14 Elm Street, Leeds → Leeds; staff nurse → healthcare worker

它通过让许多人看起来相似来防止单独识别。它会损失精确度:您无法再判断谁的年龄较大。它无法还原。结果是否匿名,取决于每种属性组合对应的人数;这正是 k-匿名性衡量的内容(见下文)。

聚合

聚合是发布总数或平均值,而不是个人记录。

Ward 4, 2025: 23 nurses, average sick leave 9.4 days

只要每个群组人数足够多,它就能保护个人。它会破坏所有针对单个人的问题。如果群组只有一两个人,平均值就会泄露个人数值,因此通常会抑制人数过少的单元格。

加噪(扰动)

加噪是对数值进行小幅随机改动。

age 37 → 39; sick leave 12 days → 10 days

它能使统计结果大致保持准确,同时使每个数值都不再可靠。它会破坏精确数值。WP216 警告说,除非噪声足以覆盖信息,否则加噪不能单独作为匿名化方法:离群值(例如唯一一名休了 90 天假的人)仍然容易辨认。

交换(置换)

交换是在记录之间调换数值,因此每一列的总数保持不变,但行中的数值不再属于同一个人。

Anna's 12 days of leave ↔ another nurse's 3 days

它能防止将某个数值与某个人关联起来。它会破坏各列之间的关系;WP216 指出,如果交换后的数值与其他列有关联,这种方法就会失效:经理的薪资被调换到初级职位上,就会显得格外突出。

替换标识符的技术

令牌化

令牌化是用随机令牌替换标识符,并将关联信息保存在一张单独的受保护表格中。

anna.kowalski@example.com → TKN-8F3K2Q

ICO 指出,随机令牌与原始值不存在数学关系,因此单凭令牌无法泄露任何信息。持有该表格的人可以还原数据,这就是为什么对他们而言,结果仍属于个人数据。

使用一致占位符进行假名化

为每个人、公司或地址指定一个易读的占位符,同一个值始终使用同一个占位符。

Person_1, born [Date_1], [Address_1], staff nurse.
Person_1 asked Person_2 to approve the leave.

它会隐藏直接标识符,同时让“谁做了什么”仍然清晰可读,这对文本很重要。文档的逻辑得以保留。借助映射表可以还原;根据序言第 26 条,它仍属于个人数据。关于持钥匙者问题的详细说明,请参阅我们的文章 假名化数据是否仍属于个人数据.

哈希

哈希是将一个值通过单向函数处理,并保留输出结果。

anna.kowalski@example.com → 3f9a…c71e (SHA-256)

它看起来无法还原,但对于姓名和电子邮件地址,往往并非如此。任何拥有可能值列表的人都可以逐个计算哈希并进行比较:员工姓名或公司地址的数量毕竟有限。WP216 针对已知输入范围指出了这一点;ICO 建议不要 在不使用盐值、密钥或密钥化处理的情况下进行哈希,也不建议使用 MD5 和 SHA-1 等过时算法,因为它们容易遭受暴力破解攻击。带密钥的哈希属于假名化;对电子邮件进行普通哈希处理,几乎算不上假名化。

k-匿名性与差分隐私

这些不是用来更改数值的方法,而是用来检查或保证整个数据集受到保护的程度的方法。

k-匿名性 是指每一种识别属性组合(年龄段、城镇、职业)至少由 k 条记录共享。当 k = 5 时,Anna 至少能隐藏在另外四个看起来相同的人之中。但它无法阻止推断:如果利兹所有五名 30 至 39 岁的医护人员都休了十天以上的假,您就能据此推断 Anna 的情况。 l-多样性 增加了一项规则:每个群组都必须至少包含 l 种不同的敏感属性值。

差分隐私 作用于答案,而非记录。它会在每项已发布的统计数据中加入噪声,并校准噪声,使得无论某个人是否出现在数据中,答案几乎都不会变化。保护程度由一个参数设定;保护越强,数据就越不准确。美国人口普查局 在 2020 年人口普查的数据产品中使用了差分隐私 ,用于按州划分的选区分配总数除外。它适用于统计数据;对于需要阅读的文件,它毫无作用。

处理表格数据时,工具可以替您完成这些衡量工作。 ARX是一款免费开源的桌面工具和 Java 库(采用 Apache 2.0 许可证;截至 2026 年 10 月的版本为 3.9.2),可对结构化数据应用泛化、抑制和微聚合,并根据 k-匿名性、l-多样性、t-接近性和差分隐私检查结果。它还会估算剩余的重新识别风险。它适用于 CSV 文件、Excel 表格和数据库表等数据集,而不适用于合同或信件。

各种技术对比

技术可防范会破坏可还原根据 GDPR,仍属于个人数据
遮盖、抑制直接识别任何需要用到该数值的用途否通常可以,只要还保留其他细节
泛化单独识别精确度否取决于群组大小
聚合单独识别、关联所有针对个人的问题否通常不会,前提是群组足够大
噪音精确数值精确数据否通常可以,若单独使用
交换将数值与某个人关联起来各列之间的关系否通常可以,若单独使用
令牌化直接识别很少可以,需持有该表格是
假名化(占位符)直接识别很少;文本仍然可读可以,需持有映射表是
哈希随意浏览很少通常可以通过猜测做到,即使没有密钥是
k-匿名性、l-多样性单独识别;推断(l)精确度、部分记录否取决于 k、l 和具体情境
差分隐私从统计数据中获知有关某个人的信息精确数据、所有针对个人的用途否取决于参数

大多数行都写着“视情况而定”,因为数据集是否匿名,要结合具体情境对整个数据集作出判断,而不是针对某种技术逐项判断。对于你计划作为匿名数据发布或分享的任何内容,请咨询你的数据保护官或数据保护律师。

哪些技术适用于提供给 AI 的文件

用于统计的数据集和供 AI 聊天机器人阅读的文档,需求恰恰相反。统计需要大量数据行,且不包含任何个人;聚合、泛化、k-匿名和差分隐私都是为此设计的。合同、电子邮件往来或申诉信涉及特定人员,AI 必须能够区分他们。

对于文档,主要有三种技术可以发挥作用:

  • 对姓名、公司、地址、电子邮件和身份证号进行假名化,并使用一致的占位符。Person_1 在全文中始终对应 Person_1,这样 AI 就能分辨是谁写了什么、谁欠谁什么。黑条或统一的“[已删除]”会抹去这些信息;请参阅 为什么占位符效果更好.
  • 对问题不需要精确到具体日期或地点的内容进行泛化:“2025年3月”而不是某一天,“英格兰北部的一座城市”而不是某条街道。
  • 对问题完全不需要的内容进行抑制,例如,你只询问通知期限,却在文档中包含健康细节。

噪声、置换和差分隐私不适用于这里:更改文档中的事实会导致 AI 给出错误答案。哈希会把姓名变成字符串,包括 AI 在内的任何人都无法结合上下文理解这些字符串。

结果属于假名化数据,因此数据保护规则仍然适用于你。变化的是离开你电脑的数据内容。如果你正在为此选择软件,我们的 假名化工具选购指南 会介绍数据会流向哪里,以及姓名如何还原。

常见问题

最有效的数据匿名化技术是什么?

没有单一的最佳技术。WP216 发现,在某些情况下,它审查的每种技术至少有一项未能通过三项测试之一。对于统计数据集,使用 k-匿名衡量的泛化和抑制,或差分隐私,能取得最好的效果。对于 AI 必须阅读的文档,实际可行的做法是假名化,并对日期和地点进行泛化;这并不属于匿名化。

对电子邮件地址进行哈希就足以将其匿名化吗?

不够。电子邮件地址遵循可预测的模式,因此攻击者可以对一份可能的地址列表进行哈希,然后匹配结果。带密钥的哈希或随机令牌更安全,但两者仍然属于假名化,而非匿名化。

表格数据的匿名化工具有哪些?

ARX 是一个免费、开源的示例:你可以载入 CSV、Excel 文件或数据库表,设置泛化和抑制规则,选择 k-匿名等隐私模型,然后查看工具报告的剩余风险。这类工具处理的是列和行,而不是连续文本。

匿名化数据是否受 GDPR 管辖?

根据序言第 26 条,真正匿名的数据不受 GDPR 管辖。假名化数据则受其管辖。难点在于证明没有人能够合理地重新识别数据,因此监管机构将匿名化视为风险评估,而不是单一的一步操作。

ClientSafe 在你的 PC 上对文档进行假名化处理:它会将姓名、公司、地址、电话号码、电子邮件地址、账户和身份证号以及出生日期替换为 Person_1 等占位符,并在同一案件的所有文档中对同一姓名使用相同的占位符。检测并不完美,因此在复制之前请检查列表。