<前の日記(2007年05月26日) 次の日記(2007年06月01日)> 最新 編集

高木浩光@自宅の日記

目次 はじめに 連絡先:blog@takagi-hiromitsu.jp
訪問者数 本日: 364   昨日: 2344

2007年05月27日

PlaceEngineのプライバシー懸念を考える

PlaceEngineが研究実験の段階を越えて商用サービスとして提供開始されているということで、「みんなの地図2」を購入した。使用してみて、想像以上に実用になるものであることを知った。東京の都心で試したところ、たいていの場所でかなりの精度で場所を特定してくれる。

PSPでみんなの地図2を使用している画面
図1: IPAのビルの前の公園で使用した際の様子

「みんなの地図2」に付属のPlaceEngineクライアントは、ローカル(UMDもしくはメモリスティック)に保存されたデータに基づいて位置を計算するようになっているが、Windows用のPlaceEngineクライアントは、インターネット経由でサーバに位置の計算を問い合わせるようになっている*1。そのため、ノートPCでもネットがつながってさえいれば、GPSがなくても位置を調べることができ、それはとても興味深い機能であり、今後の応用が楽しみなシステムだと感じた。*2

しかし、このシステムにはプライバシーに関して心配な点がある。といっても、利用者の位置情報の話ではない。

本題の前にまず利用者の位置情報について見てみると、Windows版の場合はサーバに問い合わせるのであるから、サーバ側で利用者の位置情報を記録することが可能であろう。そのことについて、PlaceEngineのサイトのプライバシーポリシーは次のように約束してくれている。*3

PlaceEngineにおける位置情報に関する取り扱いについて

PlaceEngineサービスでは、クライアントソフトと通信を行うサーバーを通じて収集し、分析して得られた情報(Wi-Fi電測情報とそれに対応して推定される位置情報、およびそれらの利用履歴)は、個人を特定するかたちで取り扱うことはいたしません

プライバシーポリシー, PlaceEngine

サービス提供者にプライバシー情報が記録され得る問題は、どんなサービスでも同様であり、サービス提供者を信用できる場合にだけ使用するよう心がける以外にないのは、従来通りである。*4

位置情報は、他のサービスに比べてプライバシー性が高いと考えられ、特に重要視されるだろう。PlaceEngineが研究段階にあったころに書かれた論文にも、今後の課題としてプライバシーについて書かれていた。

  • 暦本純一, 塩野崎敦, 末吉隆彦, 味八木崇, "PlaceEngine:実世界集合知に基づくWiFi位置情報基盤", インターネットコンファレンス2006, pp.95-104, 2006

    5 議論と今後の課題

    プライバシー

    位置情報は、プライバシー情報と成り得るのでその扱いに留意しなければならない。とくにWeb アプリケーションが位置情報を扱えるようになるので、利便性と同時に個人情報保護に配慮したシステムとして構築する必要がある。

「Webアプリケーションが位置情報を扱える」というのは、任意のWebサイトでPlaceEngineを使ったサービス(地図の表示など)が提供されるようになると、悪意あるサイトを訪れた瞬間に位置を調べられてしまうことになりかねないという問題についてのことを指しているのだと思う。その点について、PlaceEngineクライアントは 2006.12.16リリースバージョンで解決していた。

PlaceEngine 新機能 (2006.12.16)

位置取得制御機能

PlaceEngineを使ったサイトごとに、WiFi電測の可否を設定できます。

PlaceEngine バージョン履歴

PlaceEngineクライアントには図2のような「セキュリティ」の設定画面があり、サイトURLごとに「Confirm」(サイトが収集しようとしたときに「Yes」か「No」で選べる)、「Notify」(確認なしで収集されるが通知される)、「Through」(何も出ない)のいずれかを設定できる。

セキュリティ設定のウィンドウの画面
図2: PlaceEngineクライアントのセキュリティ設定

これはプライバシーというより、まさにセキュリティの問題で必要な設定であろう。

さて、本題は、利用者の位置情報の問題ではない。無線LANアクセスポイントの位置情報の話である。

PlaceEngineの特徴は、「位置情報2.0」と評されるように、利用者自身がシステムへの協力者となって、位置測定に必要な情報を収集してサーバに提供しようというところにある。

PlaceEngineクライアントには「ログ」の機能があり、受信した無線LANアクセスポイントからの電波の強度とMACアドレスを記録し、GPSを搭載している場合にはその測位情報も記録し、これをサーバにアップロードして提供できるようになっている。

このアップロード機能について、利用規約に次のように書かれている。

第8条 (利用情報等の管理)

  1. (略)

  2. 当社は、利用者による本サービスの利用中に
    1. 利用者のWi-Fi機器から当社に送信される、Wi-FiのアクセスポイントのMACアドレス、電界強度(以下「電測情報」という)、
    2. 利用者がWi-Fi機器を通じて当社のシステムに入力することのある、住所、ランドマーク名称など利用位置に関する情報(以下「付加情報」という)及び
    3. 当社のシステムが推定する電測情報の送信位置に関する情報(緯度・経度・住所等の情報を指すがこれらに限られない。以下「位置情報」という)を、何等の制限なく、自由に蓄積し、複製し、第三者に送信し(公衆送信を含む)、送信可能とし、加工し、編集し、その他の方法で使用することができます。但し、当社は、利用者個人を特定する方法では、電測情報、付加情報及び位置情報を使用しないものとします。

  3. (略)

PlaceEngine サービス利用規約

利用規約なのだから、同意できない人は利用しなければよい。しかし、アクセスポイントのMACアドレスとその位置情報は、利用者のものだろうか?

PlaceEngineが収集している無線LANアクセスポイントは、公衆アクセスポイントだけではない。ご家庭のプライベートな無線LANアクセスポイントのMACアドレス(とその相対位置情報)も収集されている。暗号化の設定がされているものも収集される。

たまたま家の前を通りがかった、通りすがりのPlaceEngine利用者(利用規約に同意)が、家のMACアドレスと位置(家の人は利用規約に同意していない)をサーバに送信していく。

そして、MACアドレス(と最大の電波強度の値)でPlaceEngineサーバに問い合わせれば、その位置情報が誰でも得られるようになっている。

つまり、家庭の無線LANアクセスポイントのMACアドレスを誰かに知られることは、住所を知られることに等しい。そのような事態をPlaceEngineサービス(および類似のサービス)が新たに作り出したことになる。

「MACアドレスは個人を特定するものではない」と言えるだろうか? もし、別のネットサービスで、何らかの目的で家庭の無線LANのMACアドレスを登録して使うサービスが始まったとする。そのサービスもまた、「MACアドレスから個人が特定されることはありません」と主張するだろう。このとき、PlaceEngineとこのサービスの両者が存在することによって、わからないはずの住所が特定されてしまう事態が起きてくる。

PlaceEngineなどのサービスが存在する現状、家庭の無線LANのMACアドレスは秘密にしなければならなくなった。*5

対策を考えてみる。

まず、PlaceEngineサーバへの問い合わせのリクエストを暗号化して、任意のリクエストを送信できなくするという案(既にそれは実施されているのかもしれない)だが、これは解決にはならない。暗号化の鍵はクライアントが持たざるを得ないので、リバースエンジニアリングによって探されてしまう。仮にそれができないとしても、無線LANパケット読み取りのAPIをフックして、検索したいMACアドレスに摩り替えることができてしまう。

そうすると、PlaceEngineがプライベートな無線LANアクセスポイントを除外する以外にないように思われる*6。サービスの精度は低下してしまうが、東京の都心であれば、公衆の無線LANだけで位置を測定してもそれなりの精度が出せるかもしれない。(将来的にそうなるかもしれない。)

しかし、公衆のものとプライベートなものをどうやって区別するか。無理な気がする。もし、例えば、livedoor Wirelessのアクセスポイントが同じベンダーの無線LANインターフェイスを使用していて、MACアドレスの上位ビットで判別できるなら、それだけを使うという案が考えられるかもしれない。それは現実的だろうか。

そもそも無線LANが、こうしたプライバシーの問題に配慮することなく普及してしまったことが不幸だ。*7

とりあえず、オプトアウトできるようにしてはどうだろうか。つまり、PlaceEngineのサイトで、自分の家の無線LANアクセスポイントのMACアドレスを登録すると、除外されるようになるという。しかし、手当たりしだいに登録する妨害行為も防がねばならず難しいことになりそうだ。

また、家庭の無線LANアクセスポイントのMACアドレスの電波法上の扱いも気になる。電波法では、特定の相手方に対して行われる無線通信の傍受について、「その存在若しくは内容を漏らし、又はこれを窃用してはならない」とされている(電波法59条)。

無線LANアクセスポイントが放つビーコンパケットは、特定相手方通信か否か。技術的な様態としては公衆に向けた放送になっている(他の端末に自分の存在を知らせるための仕組み*8なのだから)けれども、人が何の目的でそれを設置しているかと言えば、家庭の無線LANの場合であれば、特定の相手方との通信だ。特に暗号化の設定*9をしている場合(関連:電波法109条の2)はその意思も確認される。

こうしたことは既に検討されているに違いないが、PlaceEngine関係の資料を探した範囲では見つからなかった。

先ごろ憲法の改正手続きが整備されたそうだが、「通信の秘密」同様に、「位置情報の秘密」も憲法で謳って欲しいと思う今日この頃だ。

追記(29日)

脚注6で書いた対策方法は、以下の論文で既に論じられていた。

  • Jason I. Hong, Gaetano Boriello, James A. Landay, David W. McDonald, Bill N. Schilit, J. D. Tygar, "Privacy and Security in the Location-enhanced World Wide Web", in Proceedings of the Workshop on Privacy at Ubicomp 2003 (2003).

    MANAGING PRIVACY IN PLACE LAB

    Access Point Privacy

    (...) To address these concerns, we can encode information about MAC addresses as pairs of adjacent or proximal pairs. Thus, if in a given area, we have three APs with MAC addresses P, Q, and R near each other, (...)

    (...) it would not be possible for an adversary to determine a list of positions without knowing specific adjacent PQ values, which would presumably mean that the adversary had access to the physical location of the devices anyway. Therefore, this approach reveals no more information than would be available in any case -- someone would need to actually travel to the location and observe which MAC addresses were adjacent. Note that end-users who are trying to calculate their locations are already able to see access points' MAC addresses.

PlaceEngineの論文等を見る限りでは、PlaceEngineがこうした対策をとっているかはわからなかった。

追記2

もし1個のアクセスポイントだけで位置を検索できたならば、上記の対策がとられていないことを意味するはずなので、PlaceEngineMobileを持ち歩いて試してみた。図3は、上野駅停車中の山手線列車内にて使用した際の様子。緑の棒がひとつのアクセスポイントに対応しているのだと思われるので、これは一本しかない状況で位置の検索ができたことを示しているのだと思われる。(ちなみに、秋葉原駅前で使用すると図4のようにたくさんのアクセスポイントからの電波が得られる。)

アクセスポイントからの電波の強度を示す棒が1本と、位置の検索結果を表示しているPlaceEngineクライアントの画面
図3: 1個アクセスポイントからの電波で位置を検索できた様子

アクセスポイントからの電波の強度を示す棒が沢山表示されているPlaceEngineクライアントの画面
図4: 沢山のアクセスポイントからの電波が得られたときの様子

山手線移動中、他にも1個だけでの検索となるところがあった。場所によっては1個も得られず検索できないところもあった。2個以上ないと位置を検索できないという対策をとってしまうと、現状では使えない場所がかなり増えてしまうのだろう。*10

*1 無線LANアクセスポイントからのビーコンパケットを受信し、その各MACアドレスと電波強度の組をサーバに送信して、それによって計算された位置を得る。

*2 個人的には、EM・ONEで動作すると嬉しい。W-ZERO3用のPlaceEngineクライアントを入れてみたところ、位置は測定できるがOperaにその情報を渡せず、Opera上からの呼び出すこともできなかった(「PlaceEngineクライアントを探しています...」で止まってしまう)。

*3 とはいえ、「個人を特定するかたち……しません」が次のどちらを意味するのかが、このポリシーの文章からでは読み取れないという問題はある。(A) サーバへの位置情報の問い合わせはそれぞれ独立であり、同じクライアントからの問い合わせであることを同定するようなことはしない――という意味である可能性。(B) 同じクライアントからの問い合わせであることは同定する(無線LANアダプタのMACアドレスないしcookieの値などにより)が、それが誰のものであるか、氏名や住所等に結びつけることはしない――という意味である可能性。

*4 利用者の位置情報で何ができるかについては、開発者の暦本純一氏のブログに興味深いエントリがある。

*5 「PlaceEngineがなかったとしても家の近くまで行けばそのMACアドレスを確認できる」という反論が考えられるが、近くまで行って確認できる事態と、インターネット経由でどこからでも場所がわかるという事態には大きな開きがある。

*6 追記(28日): 複数の近隣のMACアドレスをリクエストで送信しないと応答しないという対策を思いついたが、どうか。

*7 無線LANクライアントの電源を入れたまま端末を持って街中をうろうろする行為は、RFIDタグランドセルを背負った小学生と同じ状況だ。しかもID電波の届く距離が数百メートルと長い。

*8 SSIDをビーコンパケットに含めない設定しているアクセスポイントは、その意思がないと判断される?

*9 データに対する暗号化。MACアドレスは暗号化されない。

*10 また、仮に上記の対策をとったとしても、1つの家庭に2個以上のMACアドレスの機器がある場合(例えば、FONルータを設置しているとそれだけで2個のMACアドレスが使われる)もあり、その2個ともが何らかの理由で他人に知られることとなった際には、この対策でも不完全ということになる。

本日のTrackBacks(全6件) [TrackBack URL: http://takagi-hiromitsu.jp/diary/tb.rb/20070527]

「社長が従業員にこういう端末を装着させるようになったら」って妄想をして不気味に感じた。もしそうなったらかなりダメだ。ならんとは思うが。 高木浩光@自宅の日記 - PlaceEngineのプライバシー懸念を考える, 追記(29日), 追記2 利用者の位置情報で何ができるかについ

高木さんの日記で、無線LANアクセスポイントと位置情報を結びつけるサービスによるプライバシー問題、というのが扱われていた。家庭内無線LANアクセスポイントと精度の高い位置情報の...

re: (ノ&#180;∀`*)ワイヤレス

検索

<前の日記(2007年05月26日) 次の日記(2007年06月01日)> 最新 編集

最近のタイトル

2016年07月23日

2016年07月16日

2016年07月02日

2016年06月12日

2016年06月03日

2016年04月23日

2016年04月06日

2016年03月27日

2016年03月14日

2016年03月06日

2016年02月24日

2016年02月20日

2016年02月11日

2016年02月05日

2016年01月31日

2015年12月12日

2015年12月06日

2015年11月23日

2015年11月21日

2015年11月07日

2015年10月20日

2015年07月02日

2015年06月14日

2015年03月15日

2015年03月10日

2015年03月08日

2015年01月05日

2014年12月27日

2014年11月12日

2014年09月07日

2014年07月18日

2014年04月23日

2014年04月22日

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|05|06|07|08|09|10|11|12|
2012|02|03|04|05|06|07|08|09|
2013|01|02|03|04|05|06|07|
2014|01|04|07|09|11|12|
2015|01|03|06|07|10|11|12|
2016|01|02|03|04|06|07|
<前の日記(2007年05月26日) 次の日記(2007年06月01日)> 最新 編集