「偽装」タグアーカイブ

2010-04
13
04:41:50
(追記) 続:携帯で端末ID詐称は可能かもしれない話


前回の記事について。
不用意な不安を煽るのが目的ではないので(理解できている人はできていると思うのだけど)念のため追記しておく。
では今現在auのEZ番号について差し迫った脆弱性や危険性があるのかと言えばこれはNOだと信じている。
上記を実現するためには、auの携帯網に対してスマートフォン(に限らないけど)のように任意のアプリを作成して実行できる環境を用意する必要がある。しかしこれは少なくとも現在ではかなり敷居が高い。
まず携帯網とはつまり現在の「ガラケー」を接続しているアクセスポイントから接続されるキャリア内ネットワークである。アクセスポイントについては以前の記事を参照して欲しいが、現時点ではアクセスポイント名やユーザー名、パスワードなど接続に必要になる情報は公開されていない。つまり何らかの方法でこれを入手する必要があるが僕の知る限りまだこれら情報の流出はない。
スマートフォン網であれば近々提供されるIS-NETで公開されてある程度自由に使用できるのではと思うのだが、「ちゃんとセキュリティを考慮している」サービスプロバイダーでは携帯網からのアクセスのみを許可しこの場合のみEZ番号を使用するはずなので、携帯網に接続できなければいけないことになる。
また au環境で自由に接続可能なスマートフォンや携帯端末を入手するのも難儀だ。ご承知の通りauはCDMA2000という世界的にもマイナーな方式を採用しておりまた上がりと下りで海外とは逆の周波数帯を利用している。まさしくauオンリーワンな環境となっている。従って海外のCDMA2000に対応したSIMフリー機を買ってきてそのまま使えるわけでもない。最近発表されたAndroid/WindowsMobile機のISシリーズはシャープがau向けに独自に開発したのも恐らくこうした事情から海外調達が実質的に不可能だったためだろう。
その他、例えばBREWは公式アプリしか認められていない(勝手アプリが可能ならEZ番号を詐称するのも簡単になる)とか、SIMロックもユーザーロックと呼ばれるショップで登録しないと使用できない(勝手な端末を接続させない、端末とEZ番号の紐付けを厳密に行う)とか、EZ番号は初回接続時にゲートウェイからダウンロードして決定される(これも端末管理を厳密に行いたいためだろう)など、上記を補強するためであろう施策が見受けられる。

という状況があるので必ずしも切迫した状況が放置されているわけではないと思う。しかしその一方で当然にしてこれらのうち何かが偶然であろうと必然であろうと綻びた瞬間一瞬にして脆弱な状況が生まれ得ることも冷静に理解しておくべきである。

そもそも論として、ユーザーのセキュリティに関わる問題なのだから本来は「何故携帯網は安全なのか」「どのような状況においてどのようなリスクがあるのか」各キャリアは率先して消費者に対して説明すべきだ。それをNDAなどを振りかざして情報統制することで安全を守っていると思っているのなら、思い上がりも甚だしい。本当に安全だというのならきちんと論理立てて説明可能でなければ、常に脆弱性やリスクがつきまとっていると考えるのがセキュリティ上の基本である。
SIMロック解除論議もいいけど、こういう消費者保護のための説明責任こそ法律やガイドラインで強制すべき段階に来ているのではないかなあ。

2010-04
12
00:51:38
続:携帯で端末ID詐称は可能かもしれない話


前回の記事から3年もしてから続編もないものだと思うけど、ちょっと興味深いことに気付いたのでまとめてみる。
とは言えもしかしたらこのことは周知のことであり気付いている人には目新しいことでも何でもないかも知れない。

まずは前回のおさらいから。
端末IDとか個体識別番号とかサブスクライバーIDとか呼ばれる「端末や契約を識別するために端末側やゲートウェイから送出される識別ID」が偽装できるのかどうか実験と考察をしてみた。
docomoのUTNやSoftBankのシリアル番号などのように「端末から直接送出されるID」は携帯網にスマートフォンを接続するなど任意のアプリを実行可能な環境では詐称可能なことを示した。これは例えばUser-Agent環境変数を偽装するだけなので非常に簡単だ。少なくとも当時から現在においてもこれらを認証に利用することは全く持って推奨されない。
またその時実験は行えなかったが、docomoのuidやSoftBankのx-jphone-uidのようにゲートウェイが付加する(であろうと推測される)IDについてはゲートウェイが正しく付加したり偽装を判別するならば偽装は難しいだろう、というのが結論だった。
逆に言えばもしゲートウェイが騙されるようなリクエストが作成できれば偽装も可能だろうと推測したのだが、実際そうした事例もあったようだ。

実はその後エントリーにはしなかったのだけど、自作のWindowsMobileアプリを搭載したスマートフォンをSoftBankの携帯網(WAP)とイーモバイルのEMNetでx-jphone-uidとX-EM-UIDを偽装してみたがゲートウェイでは正しく本来の端末IDに置き換えてくれた。つまり偽装対策はゲートウェイにて正しく行われているようだ。
但しdocomoとauでは環境が整わなかったので試しておらず未確認だ。

さてその前提で、面白い資料を発見した。元々端末IDに関して各社の仕様を網羅的に記した有意義な資料なのだが、特に以下の部分に注目して欲しい。

携帯3キャリア個体識別情報(uid)の特徴 から抜粋

用途
分類 UTN iモードID NULLGWDOCOMO EZ番号 SB公式UID SBシリアル番号
公式連携 × × ×
勝手サイト ×
SSL対応 × ×
URLだけで使用 ×
ログインに使用
URL漏洩時の
なりすまし防止

不向き
SSL URL漏洩時の
なりすまし防止

不向き
× ×
GW-SSLのみ

「SSL対応」という箇所がある。docomoのUTNとSBシリアル番号およびauのEZ番号のみが○である。
SB公式UID(x-jphone-uid)はSSLゲートウェイを指定すればOKだが他については全て×だ。
これは大変重要な事実を示している。

UTNとSBシリアル番号が○なのは当然だ。SSLはポイント・トゥー・ポイントプロトコルであり、つまりブラウザ (この場合は端末)とWEBサーバーが直接暗号通信することで通信が傍受されたり改変されないことを保証するからだ。逆に言えば通常の携帯ゲートウェイがこの直接通信に介入することはできない(SSLゲートウェイは端末<->SSLゲートウェイ<->WEBサーバという2つの通信を見かけ上束ねているだけだ)。
なのでiモードIDやNULLGWDOCOMO、SB公式uidがSSLに対応しないのはゲートウェイでHTTPヘッダーを付加する必要があるから、と理解することが出来る。つまり当然の帰結なのだ。

しかしauのEZ番号(X-Up-Subno)は全てにおいて○だ。SSLにも対応している。
このことから分かるのは、EZ番号は端末から直接送信しておりゲートウェイは何ら偽装対策を行っていないはず、ということだ。

残念ながら(?)、環境が準備できないので本当にそうなのか僕には確認することが出来ない。しかしSSLの理屈からはまず間違いなくEZ番号は端末から直接送出されており偽装対策はまず取られていない。

何度でも記すが、現在の日本のケータイWEB、特にケータイECを脆弱に支えているのは

(1) そのアクセスがそのキャリアの携帯網からのみであることをサービスプロバイダーが保証すること
(2) 携帯網では端末IDが偽装されていないことをキャリアが保証すること
(3) 端末の自由度を低くして端末IDの偽装などの可能性をできるだけ低く保つこと

という三位一体の原則だ。これが1つでも崩れれば信頼性は崩壊する。
しかしもし上記の推測が正しければ、ことauのEZ番号については(1)と(3)によってのみしか支えられていない。SIMロック解除論議を持ち出すまでもなく、例えばauの携帯網のアクセスポイント情報が明らかになってしまったら。そこにスマートフォンなどで任意のアプリを実行できる端末が接続可能になったら・・・? 恐らくサービスプロバイダーは偽装を見破る術を持たない。
それが現実になれば、恐慌にも似たケータイECの信用崩壊が起こる可能性が非常に高い。

様々な批判に晒される中で「それでも日本のケータイ技術は世界一なのだから」と嘯くのは自由だ。キャリアの皆さんは好きにすればいい。
しかしこんなにも脆弱な 技術に支えられたバブルをどのような理由で自慢できるのか、さっぱり理解できない。
これまで業界を支えてきたかも知れない日本のケータイ技術はすでに賞味期限切れなのだ。そのことに早く気付いて行動を起こして欲しい。
消費者を人質に取るような寡占業界故の保身はすぐにも止めてもらいたい。

2010/4/13 追記しました。