(注)この記事の内容を理解するためには
- 公開鍵方式、共通鍵方式
- デジタル署名
- 証明書
などのIT知識が必要です。
「マイナンバーの証明書ってどうやって発行されてるんだろう?」と気になって調べた結果メモ。
マイナンバーの証明書発行
例えば、山田さんがマイナンバーカードを発行する場合、以下のような感じになります。
- 山田がやること:
- パスフレーズを決める
- ○○市がやること
- 「公開鍵」と「秘密鍵」のセットをつくる
- J-LISに「この公開鍵の持ち主を訊いてくるやつがいたら『確かに山田のものだよ』と言ってください」とお願いして、その証明書を作ってもらう
- 作ってもらった証明書を「公開鍵」につける
- 「証明書付き公開鍵」を山田が設定したパスフレーズをもとに暗号化する
- 「暗号化された証明書付き公開鍵」と「秘密鍵」をマイナンバーのICチップに書き込む
- J-LISがやること
- 信用できる奴リストに「山田」を加える
・「秘密鍵」は暗号化されていませんが「秘密鍵を読みだそうとするとICチップが壊れる」という仕様になってるので安全らしい。
・公開鍵方式に使われているのは、RSAの2,048bit。
ここでは省略していますが、実際にマイナンバーカードに記録されるのは
- 暗号化された署名用電子証明書付き公開鍵
- 署名用の秘密鍵
- 暗号化された利用者証明電子証明書
- 利用者証明用の秘密鍵
の4種類になります。
e-Taxに使用されるのは1.と2.です。
マイナンバーの署名
例えば、山田さんがe-Taxで証明書を使って申告する場合は、以下のような手順になります。
▲ちょっともう図解するのが面倒くさいので総務省のPDFから持ってきました
- 山田がやること:
- パソコンにマイナンバーカードを接続する
- パスフレーズを入力して「暗号化された証明書付き公開鍵」を復号し、「証明書付き公開鍵」をゲットする
- 「e-Taxで申告したい内容」を「秘密鍵」で暗号化する
- 「e-Taxで申告したい内容」と「暗号化されたe-Taxで申告したい内容」と「証明書付き公開鍵」の3つをe-Taxで送信する
- e-Tax側がやること
- 公開鍵に付いている証明書を見て、J-LISに「この証明書って本物なの?」と訊き、「本物だよ」という回答がきたら次のステップに進む。もし違っていたら「お前偽物だろ」と山田に送り終了。
- 公開鍵を使って、「暗号化されたe-Taxで申告したい内容」を復号する
- 復号した「e-Taxで申告したい内容」と、送られてきた「e-Taxで申告したい内容」を比較し、まったく同じものなら「改ざんされていないし、たしかに山田が送ってきたものだ」という確認が取れる
- 送られてきた確定申告の内容を受理する
おわり
コメントをどうぞ