日本个人番号:APPI与Verhoeff校验
日本个人信息保护委员会(PPC)2024年共发布45项执法决定,同年还发布了日本首份AI隐私指引。PPC研究发现,63%的通用NLP工具无法在日语文件中检测到个人番号(マイナンバー)。如果您的团队处理日本居民的数据,这一差距意味着直接的APPI合规风险。
个人番号是什么
日本为每位居民分配唯一的12位标识符,即个人番号,属于个人番号制度(マイナンバー制度)的组成部分,覆盖税务、养老金、医疗保险和灾害应对领域。根据APPI,该标识符属于敏感数据,收集或共享须具备法律依据。
Verhoeff校验难题
个人番号使用Verhoeff算法生成校验位。Verhoeff是一种数学方法,能够捕获所有单位数字错误,以及所有相邻两位数字互换的错误,需要三张查找表才能运行,无法手动计算,必须通过代码实现。
这一点至关重要,原因有二。其一,日本12位格式与众多其他编码相似——发票参考号、文件ID和日期字符串均共享相同格式,没有Verhoeff校验,工具会将错误的值标记为个人番号。其二,大多数工具不使用Verhoeff,而是使用更简单的模10或模11校验,这些方法在此无效。
PPC研究发现,63%的工具要么跳过校验,要么使用了更简单的方法——两种问题同时存在:误报和漏报均有发生。
信用卡使用的Luhn算法相对简单,个人番号不使用Luhn算法,以Luhn算法为基础构建的工具在此场景下无效。
三套书写系统,一个名字
日语文本同时使用三种书写系统,工具必须全部支持。
**平假名(ひらがな):**用于语法和本土词汇,46个基础字符。
**片假名(カタカナ):**用于外来词和外来名字,46个基础字符。在日本的外国人姓名以此书写。
**汉字(漢字):**用于名词和姓名,常用字约2000个。
同一个人的姓名可能以四种形式出现:汉字(田中太郎)、平假名(たなかたろう)、片假名(タナカ タロウ)和罗马字(Tanaka Taro)。工具必须匹配全部四种形式,否则会漏检该人的大部分记录。
其他需检测的日本ID
**驾照(運転免許証番号):**12位数字,前两位标识都道府县。东京为10,大阪为62。这使工具能够验证该值对该地区是否有效。
**护照(旅券番号):**两个字母加七位数字,ICAO格式,日本使用特定字母对。
**健康保险证(健康保険証記号番号):**符号加编号,格式因保险机构而异。国民健康保险(国民健康保険)和协会管掌健康保险(協会けんぽ)使用不同格式。
**在留卡(在留カード番号):**面向外国居民,格式为两个字母、八位数字、两个字母,由法务省签发。
APPI的匿名化要求
APPI规定了严格的匿名化数据标准,称为「匿名加工信息」(匿名加工情報)。在一个关键方面,它比GDPR要求更高:匿名化必须可由第三方验证且在技术上不可逆。
为达到合规要求,组织必须:
- 删除所有直接标识符,包括个人番号。
- 处理所有准标识符组合。
- 使用k-匿名性或类似方法。
- 公开发布所采取步骤的概述说明。
- 永远不尝试对数据进行再识别。
PPC 2024年AI指引新增了一项具体规定:如果使用匿名化数据训练AI,则不得将该模型用于再识别个人。这是对针对APPI训练集实施模型反演攻击的直接禁止。
满足PPC标准需要四项能力:对个人番号进行Verhoeff校验,使用ja_core_news进行日语NER(含正确分词),跨汉字、假名和罗马字的姓名匹配,以及驾照的都道府县代码核验。
印度的Aadhaar号码同样需要Verhoeff校验,详情请参阅印度DPDPA技术合规指南。关于跨国标识符检测,请参阅GDPR下的欧盟国家税务ID检测。