『docomo ID認証が怪しげすぎる件』が怪しすぎる件

なんというか、あきれる記事がまことしやかに信じられてて、げんなりなんだけど。
docomo ID認証が怪しげすぎる件 | [ bROOM.LOG ! ]
はてなブックマーク – docomo ID認証が怪しげすぎる件 | [ bROOM.LOG ! ]
本気でケータイサイト作ったことのある人間が読めば「ばっかじゃねーの」的レベルの記事です。
ところがブコメを見るとあまりに鵜呑みにしてるところが多いので、ちょいと軽くツッコミを入れておきます。

そのまえに、まずそれぞれの用語・機能について説明しないといけませんね。

●iモードID
端末(というよりは1契約単位)に与えられた固有のコード。
英数7文字、大文字/小文字の区別はあり。
ユーザ設定によって非通知にも設定可能(これはdocomo IDでの通知にも反映されます(後述))
なお、SSL通信では利用できません。
iモードIDについて(NTTドコモ)に説明があります。
英数7文字、大文字小文字区別ありということは、(10+26+26)^7通り、つまり3.52×10^12、unsignedで42bitで表せる情報(4.40×10^12)です。

●docomo ID
NTTドコモによるOpenID。OpenIDではOPに相当する。携帯電話との連携のために独自仕様が存在する。
なお、OP-local identifierはRP(OpenIDを利用する側)ごとに異なり、他のRPとの共用は出来ない。(仕様書3.7.2の(2)など)
docomo IDについて | NTTドコモ

●docomo ID の独自仕様
携帯電話との連携のために追加された独自仕様。
「ユーザ属性情報通知」(仕様書の3.8)、「ケータイ送信」(仕様書の4)の2つがある。
前者は、認証されたユーザのユーザーエージェント(User-Agentヘッダで送出される内容)とiモードIDを取得できる機能、後者は認証されたユーザに対して誘導先URLを(ユーザのメールアドレスを取得することなく)送信する機能。
正直、前者に関しては「これならSREGとか使えよ!」と思った程度にひどい(訂正)SREGだと「だだ漏れ」になっちゃうからマズいですよね。一応、OP-local identifierとresponse_nonceの両方が必要でなおかつ有効期限が設定されている(短い)ため、第三者から乗っ取りアクセスはほぼ不可能。
ケータイ送信は、OpenIDの機能を使ってない。docomo IDのサイトでログインセッションが有効なときのみ使用可能で、docomo IDのサイトでユーザーに対して「送信確認」を行わないと使用できない。

それでは、説明が終わったので、本題。

まずは私自身の持論。
iモードIDですが、そもそもこれをID+パスワードの代替として使うものではない、ってことです。だからこれを「かんたんログイン」として使うには危険ってこと。
「guid=ON」さえつければ取得できる情報なので、IPアドレスと同程度の情報、と考えてます。
ちなみに、iモードID送出をオフにした(iメニューから辿って設定できます)場合、docomo IDで取得しようとした場合、このようになります。
1つ前の記事で書いたサンプルを利用しました。)
2010031021
GUIDに「9999999」など、本来と違う値がかえってきます。

まず、そもそもの「iモードID抜き放題」の話。
42bitくらいの情報だったら、ブルートフォースアタックしちゃえばいいじゃん!
IPアドレス制限してないとこだったら、(げふんげふん(自主規制))
まぁ、docomo ID使って取得じゃ!とかそんなセコいことしなくても得られるしー。

そして。
「危ない」という事例で示してる例は、よく読むといづれも「docomo ID」とは直接関係しない事例。
つまり、アクセス元のIPアドレスをチェックしてない(つまり、本当にケータイかどうかをチェックしてない)サイトに対して、突破攻撃できちゃうよん、ってこと。
それ、全然iモードIDともdocomo IDとも関係ないじゃん。
iモードIDの取得?docomo IDなんか使わないで、ケータイ向け勝手サイト作ってケータイで直接アクセスさせたほうがよっぽど効率的に取得できますよー。うふふ。

さらに大きな間違いが1つ。

docomoからすれば、これだけ世に広まっているケータイ認証や決済をPCの世界にも広めたい意図なのだというのは容易に想像できる。

「オフィシャルの」決済系はケータイからじゃないと行えないです。
単刀直入に言うと、決済処理に入るには、iモードIDだけではなにもできません。
いったん、決済の確認ページに飛ばされて、暗証番号を要求されます。

なんというか。
docomo IDのシステム「だけ」を責めるのは根本的に間違ってるよ、ってことが言いたかったんです。

Comments are closed.