マイナンバーとAPPI:Verhoeffチェックの技術ガイド
日本の個人情報保護委員会(PPC)は2024年に45件の執行決定を下しました。また、日本初のAIプライバシーガイダンスも公表しました。PPCの調査では、一般的なNLPツールの63%が日本語文書でのマイナンバー(マイナンバー)検出に失敗することがわかりました。日本の居住者のデータを扱うチームにとって、この欠陥は直接的なAPPIリスクを意味します。
マイナンバーとは
日本はすべての居住者に固有の12桁の識別番号を付与しています。これがマイナンバーで、個人番号制度(マイナンバー制度)の一部です。税務、年金、健康保険、災害対応に使用されます。マイナンバーはAPPIの下で機密データです。収集または共有するには法的な理由が必要です。
Verhoeffチェックの問題
マイナンバーはチェックデジットにVerhoeffアルゴリズムを使用します。Verhoeffはすべての1桁エラーを検出する数学的手法です。また、隣接する2桁が入れ替わるすべてのエラーも検出します。動作するには3つのルックアップテーブルが必要です。手計算することはできません。コードが必要です。
これが重要な理由は2つあります。第1に、日本の12桁フォーマットは他の多くの番号に似ています。請求書コード、参照ID、日付文字列はすべて同じフォーマットを共有しています。Verhoeffチェックなしでは、ツールは誤った番号にフラグを立てます。第2に、ほとんどのツールはVerhoeffを使用していません。より単純なモジュロ10またはモジュロ11のチェックを使用しています。これらはマイナンバーには機能しません。
PPCの調査では、63%のツールがチェックをスキップするか、より単純な方法を使用することがわかりました。両方の問題が同時に発生します:偽陽性と偽陰性です。
クレジットカードに使用されるLuhnアルゴリズムはより単純です。マイナンバーはLuhnを使用しません。Luhn向けに構築されたツールはここでは機能しません。
3つの文字システム、1つの名前
日本語テキストは3つの文字システムを同時に使用します。ツールはすべて3つを処理する必要があります。
ひらがな: 文法と日本語の単語に使用。46の基本文字。
カタカナ: 外来語と名前に使用。46の基本文字。日本での外国人名はこの文字で表記されます。
漢字: 名詞と名前のための文字。約2,000文字が一般的に使用されています。
1人の名前は4つの形式で現れる可能性があります:漢字(田中太郎)、ひらがな(たなかたろう)、カタカナ(タナカ タロウ)、ローマ字(Tanaka Taro)。ツールはすべての4つに一致する必要があります。1つ見逃すと、その人の記録のほとんどを見逃します。
検出すべき他の日本の識別子
運転免許証番号: 12桁。最初の2桁は都道府県を示します。東京は10。大阪は62。これにより、ツールはその地域で番号が有効かどうかを確認できます。
パスポート(旅券番号): 2文字と7桁。ICAOフォーマット。日本は特定の文字ペアを使用します。
健康保険証記号番号: 記号と番号。フォーマットは保険者によって異なります。国民健康保険と協会けんぽは異なるフォーマットを使用します。
在留カード番号: 外国人居住者向け。2文字、8桁、2文字。法務省がこのカードを発行します。
APPIの匿名化ルール
APPIには匿名加工情報と呼ばれる厳格な匿名化データ基準があります。これはGDPRを1つの重要な点で超えています。匿名化は第三者が検証可能で技術的に不可逆でなければなりません。
準拠するために、組織は次のことを行う必要があります:
- マイナンバーを含むすべての直接識別子を削除する。
- すべての準識別子の組み合わせを処理する。
- k匿名性または類似の方法を使用する。
- 実施した措置の一般的な説明を公表する。
- データの再識別を試みない。
PPCの2024年AIガイダンスは特定のルールを追加します。匿名化データでAIを訓練した場合、そのモデルを使用して人物を再識別することはできません。これはAPPI訓練セットに対するモデル反転攻撃の直接的な禁止です。
PPC基準を満たすには4つのことが必要です。第1に、マイナンバーのVerhoeff検証。第2に、適切なトークン化を備えたja_core_newsを使用した日本語NER。第3に、漢字、仮名、ローマ字にわたる名前照合。第4に、運転免許証番号の都道府県コードチェックです。
インドはAadhaarを使用しており、こちらもVerhoeff検証が必要です。インドDPDP法技術コンプライアンスガイドでその詳細を説明しています。複数の国にわたる国家識別子検出については、GDPRに基づくEU税ID検出をご覧ください。