中国de音楽4

中国在住の日本人音楽家による、日々の日記です。

位置情報の謎

 火曜日、本日も雨。しかも風が強かった。一体何日降り続いてるんだろ?いい加減ウンザリする。ま、天気に文句を言っても仕方ないわな。
 仕事帰りにイツモいくパン屋に寄って食パンを買ったら、ナント紙袋の上にビニールを被せてくれた。いやぁ…中々気の利いた事をするではないか。中国の文化レベルも徐々に上がって来ている。


 さて、今日 Facebookを見ながらフト疑問に思ったのだが、Facebookに投稿する際に表示される位置情報って一体どうやって得ているのだろう? 勿論 GPS付きのスマフォならば判るが、例えば GPSのセンサーが搭載されていない Macや PC等から投稿した場合の位置情報って、普通ならばアクセスしているマシンの IPアドレスから割り出す筈である。
 しかし、ワタクシに限らず中国在住のヒトが Facebookを使う場合、GFWにてアクセスがブロックされているので、VピーNや 串や SSHトンネリング等を使って壁を越える為のトンネルを掘らなけばならないワケだ。
 でも、トンネルを掘って繋いだ場合、仮に上海にあるマシンのブラウザからアクセスしても、自分の IPはマスカレードされる為、アクセス先のサーバの IPになる筈(日本のサーバに繋いでいれば、日本のアドレスになる筈)なのだ。つまり、ココでこうやってブラウザアクセスしている内容は、全て日本の実家に置いてあるサーバの IPアドレスを利用している為、Facebookから見れば横浜からアクセスしている事になる訳だ(IPアドレス情報のみから位置情報を割り出しているのならば…だが)

 しかし、本日 VピーNを使って日本を経由して Facebookに投稿した際に、現在位置が『上海』と表示されたのだ。何コレ?どうやって判ったんだ? …と疑問に思い、チョッと考えてみた。


●可能性(その1)WiFiアクセスポイントによる位置情報データベースの利用
 先に書いた『送信元 IPアドレス』からの位置情報の割り出しとは異なり、最近流行りつつある技術の一つに、WiFiの発信する電波を利用する方法がある。WiFiのアクセスポイント(家庭用ルータを含む、無線 LANの電波を発する送信機)の MACアドレス(マシン固有の ID)と位置情報を結びつけた巨大なデータベースを作って、それを参照して位置情報を得よう…という試みである。
 別にその WiFiルータと接続したり通信しなくても良いのだ。誰か知らない人の家にあるルータでも良い。実は WiFiの電波というものは、接続しようがしまいが、SSID基地局の名前)と、その基地局MACアドレスが、常に送信されているからだ。
 要するに Google Earthストリートビューの様な360度のカメラを積んだクルマが走り回らなくても、WiFiの受信機とパソコンを積んだクルマなりヒトなりが移動すれば、どの場所にどの MACアドレスの送信機があったか…という情報はいとも簡単に入手可能なのだ。これを地図情報とペアにして巨大なデータベースに纏めれば、ひょっとすると GPSよりも詳しい地図が作れるかもしれない。
 怖いのは、自分のノートパソコンに WiFiが付いていたら(イマドキWiFiが無いマシンなんか殆ど存在しない)その WiFiは電源が入っている以上『常に』周りにある基地局を探し続けているワケだから、サイトサーベイしているのと同じなワケだ。つまり、何らかの方法で(APIか何かで)ブラウザ上から、今無線 LANアダプターの周辺にあるアクセスポイントの MACアドレス一覧を得る事ができたら、そのマシンがいくら VピーNで日本に繋いでいようが、アメリカに繋いでいようが、かなり高い精度でピンポイントで居場所を特定されてしまうだろう。

 ちょっと怖くなって調べてみたら、現に HTML5には標準で『Geolocation』という APIが備わっており、どんな動きをするのか実験をする為に簡単なプログラムをネットで探して(内容を確認した後に)自分が管理してるサーバに載せて実験してみたら、FireFox上では Warningこそ表示されたものの、それさえ許可してしまえば、カナリ詳細な位置情報が表示された。
 横浜に VピーN接続しているのにも関わらず、上海のアドレスが表示されたのだ!!!
 しかも、たった数行の簡単な『HTML』ファイルである。コレだけで緯度経度情報が得られるので、これを元に GoogleAPIを組み合わせれば簡単に地図を表示できてしまうではないか(怖)


 HTML5で『Geolocation』APIを使う Webサイトがブラウザで呼び出されると、Firefoxでは、まず下記の様なウォーニングが表示される。一応、無断で勝手に実行される訳では無さそうだ。

 そして、まずは無線LANカードを搭載していない MacProからアクセスすると、IPアドレスから割り出したのだろう、ほぼ横浜の実家の住所らへんが正しく表示された。

 しかし、無線LANカードを積んでいる(というかそれしか搭載していない)MacBook Airを使って全く同じ条件で横浜に VピーN接続した状態で、上記サイトにアクセスすると、ナント上海の住所が表示されるではないか。しかも小数点のカナリ下の桁まで絞り込むと、恐ろしく正確な住所だった。

 これが何を意味するか?…と言うと、中国もカナリ正確に WiFiスポットと実際の地図情報がリンクしたデータベースを持っている…という事が想像できる。いやぁ恐い怖い! 考えてみたら、上海は確かに中国電信(国営企業)の WiFiスポットが至る所に無数に有るのだ。APの MACアドレスと実際の地図とを結びつけたデータベースを作る事なんて容易いでは無いか。。。


●可能性(その2)Facebook上のプロフィール情報?
 よくよく考えてみると、幾ら Facebookが独自のAPIを開発していたとしても、こんな危険な APIを警告メッセージ無しで自動的に実行させるとは思えないので、ごく単純に『自分が入力したプロフィール情報』を元に、それを表示してるのかな? …なんて無理矢理!?思う事にする(笑)その方がHappyだしね。
 
 勿論、もし仮にブラウザから無線 LANのサイトサーベイ情報に簡単にアクセスできるAPIがあって、それをユーザーに明示的じゃなく使われる様な時代が来たら…そりゃ世界中のドコに居ても WiFiを使った瞬間に絶対に見つける事ができるだろう。
 便利なんだか不便なんだか? 怖い怖い。


ブログランキング・にほんブログ村へ