「番号」設計のあるべき姿 〜 年金番号漏洩事件によせて

年金番号漏洩事件では、「漏洩した番号は全て変更する」のだそうです[1]。個人的には「あーあ」という感じでありんす。昨日の記事[2]でも書いたとおり、適切に運用していれば、番号自体の漏洩は大したリスクではなく、一緒に漏れた住所氏名他が変えられない以上、年金番号だけ変えてもあまり意味が無いからです。

逆に、設計の古い年金番号は、変えるとなると、連動して変えなければいけないところがあった場合にうまく変わらないことが想定され、そのことがかえって被害を産む恐れもあります。

「番号」(本当は識別子と呼ぶべきですが、ここでは便宜的に「番号」と呼びます)の設計というのは、想定される利用形態によって様々な考慮点があります。したがって、『「番号」設計のあるべき姿』はある意味ケースバイケースということにはなります。しかし、一方では、最低限満たすべき要件というものもあるのですね。

という訳で、ちょっとリストアップしてみましょうか、「番号」のそういう要件を。

  1. 主キーとなる識別子、「個人番号」を作る。これは基本不変。変えたくないので、使う「番号」(以後、「番号」)の内部的管理にしか使わない。もちろん門外不出。
  2. 「番号」は、発行日、有効化日、停止日、再有効化日、廃止日[3]を持ち、主キーに紐付けて管理する。
  3. 「番号」には、ユニークな形式を導入する。たとえば、3桁目がカタカナで、4桁目がチェックサム、とか。これは、データが漏洩した時に、この形式のものは検索エンジンに引っかからないようにとかするため。
  4. 「番号」は有効期限を持つ[4]
  5. 「番号」はいつでも変更可能。管理システムは、変更するためのAPIを持つ。
  6. 組織は「番号」を受け取ったら、(「番号」管理組織の提供する)組織別「番号」発行APIに、「番号」「組織番号」「組織クレデンシャル」を提示し、当該個人の「組織別番号」を取得する。「番号」は即時廃棄する[5]。以後、当該組織は、この「組織別番号」を利用する。
  7. ある組織が他の組織から情報を要求する場合には、認可サーバから当該データを取得するための「許可番号」[6]を取得し、これを使ってデータを要求する。情報提供組織はこの「許可番号」を認可サーバに提示し、誰のデータを提供すればよいのかを知り、当該データを提供する。
  8. 原則、データは主担当組織のみが持つことにし、各組織は必要に応じて取得、利用、その後速やかに廃棄する。

こんなところですかね。

これの何が良いかというと、

  1. ある組織がお漏らししても、そのデータは他の組織が持つデータと結合することはできない。つまり、プライバシーインパクトが低いので、コストが安く済む。
  2. お漏らしした組織の「組織別番号」を変更しても、他の組織には影響ないので、いくらでも変更可能。これも、コスト安につながる。
  3. お漏らしされたデータそのものは、検索エンジン等に引っかからないようにできる。また、回収も楽。これなんざ、今は望むべくも無いですね。[7]
  4. 「番号」は定期的に変わるので、これを使って、過去と現在を結びつける異時点間名寄せによる「無情社会」[8]を生みにくい。これもコスト安につながる。
  5. そもそも、各組織は自分が主担当のデータしか持っていないので、現在のように各組織がデータをコピーして持っている場合に比べて、データ漏洩時のプライバシーインパクトが低い。

なんと、いいコトだらけじゃないですか。

え?「こんなことしたら、システムが大変?1億人を収容するような大規模なシステムじゃ動かない!」ですって?何をおっしゃいますやら。これって、インターネットが動いてる仕組みそのものですよ。その世界では「1億人は小規模」なんです。そりゃー、変な仕組みにしたら動かないでしょうよ[9]。でも、GoogleとかFacebookとかがやっているような、JSON/RESTアーキテクチャなら大丈夫ですよ。ちゃんと設計すればね。

ちなみに、実は「マイナンバー」のシステムにはかなりこの考えが入っています。情報提供ネットワークのところとか。肝心の「マイナンバー」自身が「原則不変」なところがあれですが…[10]。たぶんこれは政治的な話で、システム的には変えられるようになってると思いますよ。うん、きっと。

【脚注】

[1] 郷原信郎 『「流出した基礎年金番号は変更」「変更通知は郵送」で本当に大丈夫なのか』(2015/6/9), ハフィントン・ポスト, http://www.huffingtonpost.jp/nobuo-gohara/nenkin-number_b_7540210.html

[2] 崎村夏彦『「番号」は漏れると危ないのか?』(2015/6/9), @_Nat Zone, http://www.sakimura.org/2015/06/3038/

[3] 日じゃなくて、本当はせめて秒だけど。

[4] EUでは一番最近と思われるeIDカードの発行にあたって、ドイツは「番号」を書面番号とした。したがって、再発行で変わる。これはとても正しい。

[5] これ、米国国防総省の社会保障番号の利用ガイドラインでも基本そうなっています。ちなみに、「番号」を組織に渡すのもリスクだと考える場合、個人が「組織別番号」を取得して組織に渡す方式があります。SAMLのNameIdentifierとか、OpenIDのPPIDって、そういう仕組です。自動化されているので、個人は気づかないでしょうが。

[6] 専門的には、Access Token といいます。

[7] 悪意があって、「番号」を他のものに付け替えられたらだめですがね。

[8] 崎村夏彦『無情社会と番号制度〜ビクトル・ユーゴー「ああ無情」に見る名寄せの危険性』(2010/12/13), @_Nat Zone, http://www.sakimura.org/2010/12/686/

[9] エンタープライズなXML/SOAPシステムとかね。あれは、せいぜい200万人とか向けのシステムですから。XMLベースだと、余計なデータと演算が多くなっていけません。あれで1億人やるのは大変…。

[10] あと、各組織(雇用者、金融機関など)がマイナンバーを保存してまうとかも、あれだなぁ…。

 


@_Nat Zoneをもっと見る

購読すると最新の投稿がメールで送信されます。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください