QRコードはバーコードよりもおおくの情報を載せられる。
バーコードが1次元なのにたいしてQRコードは2次元だからだ。
QRコードはURLへ導けばいいので
実はそんなに情報を載せる必要なない。
ところがQRコードの余った格納場所に位置情報を載せているというのだ。
しかもデータを隠すことができる!
ちょっと考えるとQRコードに位置情報があるのはおかしい。
その情報は固定情報だろうからだ。
だいいちQRコードはスキャンする相手がつくったものだから
相手の位置情報しかいれられないはずだ。
それなのになぜスキャンした側の位置情報を相手におくることができるのだろうか。
この解説情報だけではわからない。
一部転載:
一方で、これは技術的にはステガノグラフィ (steganography) に近いので、それに倣った使い方はあるかもしれません。例えば攻撃対象のシステムに潜入したプログラムが、対象システムから入手した情報を外部に運び出す過程で、QRコードに情報を隠す、といった手法はありえるでしょう。あるいは、隠しデータを読み込むことができるリーダーをこっそりと普及させておき、普段は大人しくしつつ隠しデータを読み取ったときに不正な操作をする、というようなやり方が考えられるでしょう。(そんなまだるっこしいやり方をやりたいかどうかは別として)
QRコードにデータを隠す手法を二つ紹介しました。二番目に紹介した手法は、ほとんどの QRコードリーダーが読み飛ばす「パディングビット」にデータを埋め込むというものでした。
本手法がただちに悪用可能であるかどうかの議論は別として、データの隠蔽を広範に防ぐことを考えるのであれば、多くの QRコードリーダーが、パディングビットもきちんとチェックし、不正なデータが含まれる QRコードをはじくことが必要となるでしょう。
追記
2018.8.30
なんと、QRコードの開発元が自ら、上記のような方法でコードに隠しデータを埋め込んでいたそうです。
上で「まだるっこしいやり方」と書いた方法を、まさか公式リーダーがやっていたとは…