IP 地址在 GDPR 下属于个人数据吗?
根据 GDPR,IP 地址可以属于个人数据:该条例将个人数据定义为与已识别或可识别的自然人有关的任何信息,而 IP 地址与其他信息结合后,往往能够识别出某个人。本文为开发者提供一般性背景介绍,不构成法律意见;你的义务取决于具体情况,做出实际决策时请咨询隐私专业人士。
条例本身是怎么规定的
GDPR 第 4 条对个人数据的定义十分宽泛。它把在线标识符列为可识别个人的信息示例,而序言部分提到了设备留下的 IP 地址和 cookie 标识符等标识符。关键的判断标准是可识别性:持有数据的组织或其他人,能否通过合理可能使用的手段,直接或间接地识别出该自然人。
欧盟法院在涉及动态 IP 地址的 Breyer 案(2016 年)中处理了这一问题。概括而言,法院认为,如果网站运营者具有获取额外信息的合法途径(例如互联网服务提供商的用户登记记录),而这些信息可以识别访问者,那么动态 IP 地址在该运营者手中可以构成个人数据。实际的启示是:答案并非对每个地址、每个持有者都是固定的“是”或“否”,而取决于上下文,以及还有哪些信息可以与该地址关联。
为什么上下文对开发者很重要
防火墙日志里孤零零的一个 IP 地址是一回事;同一个地址与用户 ID、电子邮件地址、会话令牌和时间戳存放在一起,则因为与特定账户相关联,更明确地属于个人数据。如果你属于后一种情况,就应假定该地址在适用范围内,并据此做好规划。
此外,把两件容易混淆的事分开也有帮助:地址本身,以及从地址派生出的事实。查询一个地址时,输出通常描述的是网络而不是人:国家、城市级别的地区、运营该地址段的 ASN 和组织,以及该地址是否属于已知 VPN 或数据中心等标记。ipto 的 IP 查询会返回 country、city、asn、org 等字段,以及 is_vpn、is_tor、is_abuser、is_datacenter 和 bogon 标记。这些描述的是网络,而城市级别的地理定位只是近似值,详见城市级精度为何有限一文。但查询的输入(如果是你存储的访问者地址)在你手中仍可能是个人数据,与用户资料关联的增强记录很可能也是。
记录与保留的一般注意事项
该条例没有规定保留 IP 地址的天数,而是适用一般原则:处理需要有合法依据,只应收集为既定目的所需的数据(数据最小化),并且保留时间不应超过该目的所必需的期限(存储限制)。安全日志和欺诈预防是常被提及的目的,保留期限应由该目的来论证并加以记录,而不是凭习惯决定。
- 先确定目的。滥用防护、速率限制、调试和分析各有不同的正当理由,也有不同的合理保留期限。
- 在不需要完整精度时进行截断或哈希。去掉 IPv4 的最后一个八位组,或 IPv6 地址的低位,可以降低可识别性。监管机构和法院都把截断和哈希视为降低风险的措施,但小地址空间的哈希往往可以被还原,因此它并不自动等同于匿名化。
- 设置自动删除。按计划让原始日志过期,而不是指望有人记得去清理。
- 保持透明。你的隐私声明应说明你处理地址、原因以及保留多长时间。你向其发送地址的第三方处理者,应有适当的协议予以约束。
- 留意数据传输。把访问者地址发送给外部 API 属于向另一方披露,因此要考虑数据流向。由你自己查询网络、不涉及访问者数据,则可以回避这个问题。
在不涉及个人数据的情况下使用网络查询
关于网络的许多有用问题,无需把任何内容关联到具体的人就能回答。ASN 查询接受一个 AS 编号,返回注册所有者、组织、国家和地址段数量,完全不涉及访问者地址。对于地址,通过 RDAP 的 IP whois 返回有关地址段持有者的注册信息,这是关于谁持有该分配的组织性数据;bogon 检查器则告诉你某个地址是否为私有或保留地址,因而不可能是公网访问者所拥有的。
如果你要比较欧洲以外的法律制度,各国的 IP 地址隐私法律一文提供了一般性的概览。ipto 的免费套餐允许每天 1,000 次请求,无需注册,API 文档列出了各个字段,方便你只存储真正需要的内容。