マイナンバーのチェックデジットをWebassemblyで計算する

はじめに

私は日本在住なのだが、マイナンバー制度(Individual Number)が始まってだいぶ経つ。

以前、
C++でマイナンバーのチェックデジットを計算する
という記事をQitaに投稿したのだが、オンライン上で計算できてもいいだろうと思った。

普通にJavaScriptで書くのはもうたくさんの人がやっている気がするので、C++で書いてWebassemblyに変換してブラウザ上で実行できるようにする。

これにより興味を持つ人が増え、10%程度しかないマイナンバーカードの普及率を上げることができれば幸いだ。

マイナンバーカードの申請はオンラインからできる。
マイナンバーカード総合サイト/パソコンによる申請方法
確定申告にも使えるのでぜひ申請してみよう!

計算機

計算はあなたのブラウザ上で完結します。入力した情報が外部に送信されることはありません。
また計算に使用しているプログラムはすべてBoost Software License 1.0で公開されています。
yumetodo/individual_number_check_digit_calcurator
したがってあなたはBoost Software License 1.0の要求を満たす範囲で自由に当Webページを複製・改変・再配布できます。
Boost Software License 1.0の全文は
https://www.boost.org/LICENSE_1_0.txt
にて確認することができます。

マイナンバーのチェックデジットをブラウザ上で計算することが法律に抵触するかどうか

気になるニュースがTwitter上で話題になっている。

マイナンバーのチェックディジットを計算するJavaScriptのページを公開していましたが,個人情報保護委員会様からご指摘をいただきましたので,ソースコードの提示だけにしました https://t.co/J9CPEiKUQw

— Haruhiko Okumura (@h_okumura) 2018年8月7日

マイナンバーの収集を行っていないWebサイトを2015年に立ち上げたが、つい最近になって個人情報保護委員会から

マイナンバー収集を誤認するようなページは好ましくないのではないか

などと指摘が来たのだそうだ。

実に馬鹿らしい。入力されたマイナンバーを送信させればそれは確かにマイナンバーの収集と言える可能性もあるだろうが、その件はそうではなく、ブラウザ上で完結していたそうだ。なにも問題はない。

類似事案も報告されている。

同じくカシオの高精度計算サイト https://t.co/5bEocxKLiB にマイナンバーのチェックディジットを計算する自作式を作ったところ、メールで連絡が来て削除されました。この文言が追加になった
・個人情報保護委員会の指導により、個人情報(マイナンバーなど)を扱う自作式の作成を禁止しております。 https://t.co/328n3lOkSj

— tomo (@tonagai) 2018年8月7日

独立行政法人産業技術総合研究所情報セキュリティ研究センター主任研究員でもある高木浩光先生はまたTwitterで見解を示している

べつに「マイナンバー収集を誤認するようなページ」になっていなければ、入力欄を設置していてかまわないというべき。騙す輩が存在し得ることはまた別のこと。無用な萎縮は、田舎警察を思い上がらせることになるだけ。https://t.co/IBgZSkqDMH

— Hiromitsu Takagi (@HiromitsuTakagi) 2018年8月7日

もう少し精密に検討しておくとしよう。https://t.co/NGywwARPyO

よく見てみれば、「収集を誤認するような」(収集しているものと誤認する)ならいいじゃないかという話がある。収集されないと誤認するような(実際は収集しているのに)ものの方が問題である。しかし、…

— Hiromitsu Takagi (@HiromitsuTakagi) 2018年8月7日

…しかし、(収集していないのに)「収集しているものと誤認」されるようなサイトが適法だとして乱立すると、「このように収集してもいいんだ」という誤解が広まるから「やめてくれ」とPPCは言いたいのかもしれない。しかしそれは危険な兆候であり、見過ごせないというのが私の見解。

— Hiromitsu Takagi (@HiromitsuTakagi) 2018年8月7日

ここで、マイナンバー占いの場合と比較してみよう。マイナンバー占いが、今回のものと同様に、入力された番号を送信せず、Webページ内でJavaScriptにより演算して結果を表示するだけのものだったら、どうだろうか。これは、PPCからやめるように言われてもしかたのないものだと感じられる。違いは何か。

— Hiromitsu Takagi (@HiromitsuTakagi) 2018年8月7日

マイナンバー法が禁止するのは取得だけではない。「提供の求め」も禁止している(15条)。マイナンバーカードの裏面をことさら見せるよう求めることが違法とされる。マイナンバー占いが違法とされ得るのはまずこの「提供の求め」に当たるからだろう。「占ってあげるから記入して」と求めているわけだ。

— Hiromitsu Takagi (@HiromitsuTakagi) 2018年8月7日

それに対して、今回の「マイナンバーのチェックディジット計算」は、「記入して」と求めているわけではない。チェックディジットを計算してみたい人向けに計算機が用意されているだけである。これは15条が言う「提供の求め」に当たらないと考えるべきだ。

修正前の当該サイトhttps://t.co/PfBPakV8YX

— Hiromitsu Takagi (@HiromitsuTakagi) 2018年8月7日

続き。
話を戻して、「「このように収集してもいいんだ」という誤解が広まる」という点について。https://t.co/DSQghR7Q8y

— Hiromitsu Takagi (@HiromitsuTakagi) 2018年8月8日

誤解が広まるからという理由で政府がやめなさいと圧力をかけるのは、表現の自由に対する攻撃であり、見過ごしてはいけない。
今回のサイトは、 https://t.co/nrPtaInUBt の通り、「JavaScriptで書かれていますので,入力されたものはネットに流れません」と説明しており、誤認させるものではなかった。

— Hiromitsu Takagi (@HiromitsuTakagi) 2018年8月8日

結局、このようなケースで問題があるかのように見えるのは、「取得」規制の方ではなく「提供の求め」規制の方であり、上に書いたように、「マイナンバー占い」では「提供の求め」に当たるが、単に「マイナンバーのチェックディジット計算」の計算機が置いてあるだけの本件は、これに当たらないだろう。

— Hiromitsu Takagi (@HiromitsuTakagi) 2018年8月8日

このような、表現の自由に無頓着なPPCの慎重を欠く活動は、昨今、田舎警察が不正指令電磁的記録作成罪を濫用しまくり始めたこととも通じる。Wizard Bibleの事案はトロイの木馬として完成していない(不能犯にしかならない)ものを不正指令電磁的記録と決めつけた事案だった。https://t.co/LyrX3uSXtr

— Hiromitsu Takagi (@HiromitsuTakagi) 2018年8月8日