マイナンバー法案が、国会で審議中だ。システム調達は巨額で、特需が生じると分析する向きもあるが(関連記事)、システム調達費用が巨額になるのには、それなりに理由がある。マイナンバーはかなり複雑なシステムであり、要求要件が非常に難しいからだ。

 本連載では、マイナンバーのシステムが抱える複雑さや、システムを開発する上での難しさを解説する。連載第1回である今回は、マイナンバーがどのような設計原理に基づいているのか。以下に示した図を基に、例を挙げて説明しよう。

サーバーをまたいでの串刺し検索が許されていない

 マイナンバーの特徴は、「個人番号を使ったサーバーをまたいでの串刺し検索が、一切できない」という点にある。例として、「ある人物の年金加入記録を郵送したところ、転居先不明で日本年金機構に戻ってきてしまった」という場合を考えてみよう。

 マイナンバーを導入すると、日本年金機構は以下の手順で、転居先を調べることができるようになる。

図●マイナンバーの設計原理
「マイナンバー法案についての都道府県・指定都市担当課長説明会(2012年3月12日)資料7」から作成した
[画像のクリックで拡大表示]

 まず日本年金機構は、この人物の利用番号Aに紐づけされている「符号A」を使って、「情報提供ネットワークシステム」(マイナンバーの中核システムであり、行政機関や自治体の間で利用者の個人情報を連携させるシステム)に対して、「符号Aの人物の住所を市区町村で調べたい」というクエリを送る。情報提供ネットワークシステムは「符号A」から「符号C」を導き出し、「符号C」のある市区町村(ここではC市とする)に対して、「日本年金機構が符号Cの人物の住所を知りたがっている」というクエリを送る。

 C市は、このクエリに応答して良いと判断した場合に、アクセス・トークンと呼ばれる「招待状」を情報提供ネットワークシステムに返す。情報提供ネットワークシステムは、「招待状」に署名を付加して、C市のアクセスポイント(通常はIPアドレスとTCPポート番号)と共に、日本年金機構に返す。C市がクエリに応答したくないと判断した場合は、拒絶する旨を情報提供ネットワークシステムに返す。情報提供ネットワークシステムはその場合、どこに拒絶されたかすら明らかにせずに、日本年金機構に対して、クエリを拒絶する旨を返す。

 「招待状」を受け取った日本年金機構は、次にC市に対して直接、「招待状」の処理を依頼するクエリを送る。これに対してC市は、「利用番号C」の住所だけを日本年金機構に返して、同時にこの「招待状」を破棄する。「招待状」には有効期限があって、有効期限を過ぎたクエリに対しては、返事を返してもらえない。もちろん「招待状」なしでは、何を聞いても、そもそも答えてすらもらえない。また、「招待状」の受け取りは、全て情報提供ネットワークシステムを経由しなければならず、それ以外の形で「招待状」を受け渡すことは禁止される。言うまでもなく、全ての通信は、十分に高い強度を持つ暗号で保護される。

 このような手順となっているため、情報提供ネットワークシステム以外のサーバーは、各自が持つ「符号」同士の対応付けができないようになっている。一方、情報提供ネットワークシステムは、住所や氏名など情報そのもののやり取りには一切タッチできない。万が一、悪意のある者にどれかのサーバーが乗っ取られたり、サーバー自身が悪意を持ったとしても、その「悪意」のある者によって持ち出される情報の範囲を最小限にするという思想が、マイナンバーの設計原理の根底にあるからだ。その結果、各サーバーは最小限の情報しか持つことができないし、同時に、個人番号に関するクエリを許さない方式になっているのである。