マイナンバーカードのICチップは何のためにある?
※意味不明でマニアックな話だと思いますので、物好きなあなたへ送る記事です。
今日は会社に1枚のパンフレットが私のボックスに入っていた。忙しくて見てないが、保険証がなくなりますという内容らしい。私はマイナンバーカードを持っていないので、たしか保険証の代わりに資格証明書が送られてくると思う。
なぜマイナンバーカードを持たないかというと、
・カード増やしたく無い
・停電したら使えない
・カードやシステムが故障したら使えない
・口座との紐付けを避けたい
・口座との紐付けミスが発生した
・スマートフォンの乗っ取りが起きている
・200万円のロレックスが勝手に買われた
などの要素がある。
が、それはさておき、マイナンバーカードの本質はデジタル署名(=電子署名)ではないかと考える。マイナンバーカードのデジタル署名とは次のような性質のものと考えている。(個人でいろいろ調べた結果なので、合っているかわかりません、例によって💧)
例えば、「商品Aを300円で雪風が買いました」というデジタルデータ(=平文)があったとする。あなたは、その情報を間に受けて事実だと信じますか?
雪風(私)ではない誰かが勝手に発行したデータかもしれない。そして、本当は商品Bかもしれないし、300万円かもしれない。
それをどう信頼のあるデータだと証明させるか。それは…
マイナンバーカードのICチップにはその人だけの秘密鍵というものがあり、上記のデータ(平文)をその秘密鍵で暗号化したデータを発行する。それがデジタル署名である。デジタル署名こそがデータが正しいことの証明であるのだ。
また、そのデジタル署名が正しいことをサービス側(誰でも)が検証するのが、秘密鍵と対になる公開鍵だ。公開鍵は別に世の中にばら撒いてしまっても構わない、公開なので。ただ、秘密鍵はICチップの中から決して外へ出してはいけない(偽造されるので)。
(通常、暗号と復号は同じ共通の鍵が使われたりするが、このように公開鍵と秘密鍵といった非対称な鍵を用いる暗号もあるのだ。秘密鍵から公開鍵は作れるが、その逆は非現実的な計算時間をかけないとできない。)
第三者が公開鍵を使ってデジタル署名が検証可能であれば、デジタル署名のもとになったデータ(平文)が正しいと証明できる。その公開鍵で解けたデジタル署名は、秘密鍵をもつあなたしか作れませんよねと。
ただし、それだと問題点がある。秘密鍵と公開鍵のペア自体は誰でも作れてしまうのだ。つまりは、デジタル署名が検証できただけで本物だとするのは危険なのである。
そこで公開鍵と秘密鍵を作った人は、政府などの中央機関(=認証局)に公開鍵を提出し、中央機関は公開鍵をその中央機関が持つ秘密鍵で署名して返却する。それが公開鍵証明書(=電子証明書)、すなわち中央機関のお墨付きデータである。もちろん、中央機関は無条件で公開鍵証明書を発行するのではなく、発行して良い相手かをきちんと審査をする。
つまり、カードが発行するデータは秘密鍵によるデジタル署名が同時に発行されるが、一方サービス側は、データ自体(平文)とそのデジタル署名に加え、公開鍵と公開鍵証明書を使って、
①デジタル署名が公開鍵で検証可能か
②公開鍵は公開鍵証明書でお墨付きされているか
を確認するのだ。①、②を満たせば、データは間違いなくそのお墨付きのある正当なマイナンバーカードによって発行されたと言える。
マイナンバーカードを簡単に言ってしまえば、国があなたに送ったデジタルな印鑑であろう。
番号(ナンバー)が直接重要なのではなくて、デジタル署名用の秘密鍵が本質なのである。私としてはマイナンバーカードという名称ではなく印鑑カードや署名カードなど、カモフラージュのない名前にして欲しい。
以上をまとめると、マイナンバーカードが券面にただ識別番号が書かれてるものではなく、ICチップが使われるのは、デジタル署名を作るための秘密鍵の内蔵、保護、暗号計算のためだと考える。
そして果たして将来、このカードが前提の社会が訪れるのだろうか。私たちはそれを望むのだろうか。