「公式」QRコードリーダーを使うと読み取り時の位置情報がQRコード作成者に提供される
タレコミ by Anonymous Coward
あるAnonymous Coward 曰く、
先日、読み取りづらいQRコードに遭遇したため、いくつかのQRコードリーダーを試していたところ「公式」を謳うQRコードリーダーが起動時に位置情報の取得を要求してくることに気づいた。位置情報を要求してくるのは、QRコードの特許及び商標を保有している株式会社デンソーウェーブと、アララ株式会社が共同開発している「公式QRコードリーダー "Q"」。
不審に思って調べてみたところ、実はこの「公式」QRコードリーダーは「アクセス解析機能」が有効化された特別なQRコードを読み取ると、GPSを使った高精度の位置情報が開発元のログ収集サーバー(api.qrqrq.com) に送信される仕組みとなっていた(ログ送信時のキャプチャ)。もちろんQRコード自体に、そのような仕様が存在しているわけではなく、位置情報の送信は「公式QRコード作成サイト」(2017年9月開始) を利用して「シークレット方式」と呼ばれるアクセス解析が有効化されている場合に限られる。
このアクセス解析機能では、統計データではなく1件単位で、読み取り時刻、IPアドレス、アプリケーションが生成した利用者の識別ID、緯度経度情報がQRコード作成者に提供されている。アクセス解析方式は2通りあり、もう一方の「リダイレクト方式」では短縮URLを使ったアクセス解析となっており、こちらが使われた場合の位置情報は、訪問時のIPアドレスから判定された地域データのみの提供となっている。(参考: アプリ提供元によるアクセス解析機能についての解説)
シークレット方式のアクセス解析機能が使われているQRコードは、通常のQRコードと肉眼では見分けがつかず、他のQRコードリーダーを利用しても通常通りに読み込むことができる。他のQRコードリーダーを使って読み取った場合には、シークレット方式によるアクセス解析機能は動作しない。明治大学の福地教授によるQR コードへの隠しデータの埋め込み (2017年8月14日公開)によると、QRコードの未使用領域を利用することで、専用のリーダーでないと読めないデータを埋め込むという手法があるようだ。このような方法で「公式」QRコードリーダーでのみ検出される、アクセス解析用の識別子を埋め込んでいると思われる。以上に示したように、専用のリーダーでないと読めないデータを QRコードに埋め込む方法は確かに存在します。では、これを悪用することはできるのでしょうか。(中略)あるいは、隠しデータを読み込むことができるリーダーをこっそりと普及させておき、普段は大人しくしつつ隠しデータを読み取ったときに不正な操作をする、というようなやり方が考えられるでしょう。(そんなまだるっこしいやり方をやりたいかどうかは別として)
QR コードへの隠しデータの埋め込み より公式QRコード作成サイト側ではアクセス解析機能について説明してはいるものの、QRコードリーダーのアプリケーション側では、GPSを使った高精度の位置情報がQRコード作成者に提供されることの説明は行われていない。利用規約やプライバシーポリシーにも記載されておらず、それどころか位置情報取得時のアプリケーション内の説明では "for create Location QR Code" と位置情報を示すQRコードを作成するために必要、Google Playの説明でも "地図のQRコードの読み取り、作成に使用します" と記載されている。このような説明では、QRコード読み取り時に位置情報がサーバーに送信されるとは想像に難しいだろう。
Webサイトへの訪問時であればログが残るのは当然のことであるが、QRコードを読み取っただけで、時刻や位置情報までもが、作成者に伝わるのはいかがなものだろうか?
「公式」QRコードリーダーを使うと読み取り時の位置情報がQRコード作成者に提供される More ログイン