« ベクターサイトでの累計ダウンロード数(2015/12末) | トップページ | ベクターサイトでの累計ダウンロード数(2016/01末) »

2015年12月31日 (木)

2015年を振り返って

「部長…」「なんだよ」「とうとう大晦日になってしまいましたよ」「わかってるよ」「それ以上は言いませんけど」「言わないでくれよ」「お忙しかったんですよね」「えっ?」「そうは見えませんでしたけど」「ありがとね」

ということで、年末恒例の「今年を振り返って」です。まず、2015年のソフトウェア開発関連から。

  • 新作のソフトウェアは、ありませんでした。
  • バージョンアップしたソフトウェアも、ありませんでした。
  • 開発環境の更新も、できませんでした。

CP/M-86時代からの20数年間で、初めてですね、こういう1年は。懺悔の至りです。でも、忙しかったんですよ、本当に。

ベクターサイトでのダウンロード状況では、1年間を通して「連番ちゃん」がポール・トゥ・ウィンで、かつて君臨した「タイとる君」をもはや寄せ付けない状況です。過去累計ダウンロード数でも、「連番ちゃん」が8位、「垂れ幕ちゃん」が10位、「掘れリス君」が12位と新旧交代の兆しが見えてきました。その他、書籍・出版物や他サイトでのご紹介等は、掲載依頼もなければ、偶然発見したものもありません。

「部長…」「なんだよ」「でも、何か作られてましたよね」「見たな」「鶴の恩返し、みたいな話ぢゃないでしょうね」「そんなことないけど」「何を作ってたんですか」「マイナンバーのチェックアプリだ」「おぉ、いま旬の素材ぢゃないですか」「個人用マイナンバーは、先頭11桁+右端チェックディジット1桁の全12桁で出来ている」「知ってます」「だから、どうしてもメモして置かなくてはならない場合には、先頭11桁さえ書いてあれば12桁めは一意的に決まる」「はぃ」「そういうアプリも、当然すでに有る」「でしょうね」

「だからそれをもっと進めて、先頭11桁のどこでもいいから1桁を伏せ字"*"にして、12桁めまで有れば、チェックディジットの逆算から該当桁の数字を復元できるアプリを作ろうとした」「ひぇ~」「そうすれば、もっと個人単位での機密性は高まる」「でしょうね」「ところが…」「ところが?」「これは出来ないことが判った」「出来そうですけど」「このチェックディジットの作り方だと、できないんだ」「そうですか」「作り方は、総務省令第八十五号第五条、というところに書いてあるんだが…」「はぃ」「読むだけでイライラするから、読まないほうがいい」「ありがとうございます」

「ここに記載されている算出式には一か所、低レベルな杜撰さがある」「おっと、出ましたね」「簡単に言うと…」「簡単にお願いしますよ」「先頭の11桁の各桁数字をある順番で相互積算して行って、その値を11で割った余りを12桁めのチェックディジット生成に使うんだ」「はぁ」「でも、11で割った余りというのは、0から10まで、11個あるよね」「はぃ」「それをどうやって数字1桁で表すんだ?」「無理ですね」「だから、算出式には、余りが10の時は0とする、という余計な一行がある」「そうなんですか」「実際には途中に補数が出てきたりしてもう少し複雑だが、簡単に言うとそうなる」「はぃ」

「これで、もう判るだろう」「もう少しお願いします」「つまり、積算結果の余りが0で12桁めが0の時と~」「ぅゎっ、余りが10で12桁めが0の時が有る、ってことですね!」「ご明察」「えっへん」「だから、12桁のチェックディジットからの逆算だけでは、先頭11桁のうち1桁が欠けていたとしても一意的な復元は出来ない、複数組の11桁が存在する可能性が十分ある、ってことよ」「それで、特定した復元が出来ないんですね」「旬な言い方をすると、このチェックディジット生成法が【不可逆的な変換】になっているからだ」「なるほど」「余りが0でも10でも0とする、と決めた時点で元の情報を失っているから、元に戻せない」「ですよね」「だから、途中で作るのヤメた」「良かったですね」

「このことは、単に元に戻すツールが作れないとかいう次元の話ではなく…」「はぃ」「データの誤りを検出するというチェックディジット本来の機能を損ねているという意味だ」「ホントですか」「例えば、現実によくマイナンバーのサンプルパターンで出てくる"12345678901"という11桁に対しては、12桁めは"8"になる」「はぃ」「ところが、その11桁めだけが違う"12345678905"に対しても、"12345678900"に対しても、12桁めは"0"なんだ」「どういうことですか」

「つまり、このパターンで11桁めの"5"を"0"と書き間違えたり、入力し間違えたりしても、12桁めのチェックディジット"0"は正しいから、システム的には通ってしまうということさ」「恐ろしい」「正しく違う人になってしまう」「別人28号ですね」「古いよ」「でも、そういうのが11桁のどこで起きてもおかしくない、ってことでしょ」「なんといっても1億人分あるからね」「そうですよ」

「商品のバーコードなんかは全体をピッと読み取ってOK終わりだから、書き写すとか入力するとかの再作業がない」「だから、人的間違いは起こらない」「そう。でもマイナンバーは紙で配布されて、その先はまた人だ」「そうですよね」「どこかで必ず間違いが起きて、その結果の取り違えが起きるよ」「こわ~」

「直す方法は二つしかない」「二つもあるんですか」「11ではなく10で割った余りを使って12桁めを生成するか、チェックディジットを2桁にするか」「なるほど」「もう手遅れだけどね」「そうですよね」「こういうのを、シュガー・ネイルと言う」「はぁ?」「ツメが甘いんだよ」

2015年は、大変お世話になりました。
2016年も、どうぞよろしくお願いいたします。

http://www.tonchinkan.biz/

« ベクターサイトでの累計ダウンロード数(2015/12末) | トップページ | ベクターサイトでの累計ダウンロード数(2016/01末) »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/585865/62972900

この記事へのトラックバック一覧です: 2015年を振り返って:

« ベクターサイトでの累計ダウンロード数(2015/12末) | トップページ | ベクターサイトでの累計ダウンロード数(2016/01末) »