<前の日記(2010年04月15日) 次の日記(2010年04月25日)> 最新 編集

高木浩光@自宅の日記

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

2010年04月17日

ケータイ脳が大手SI屋にまで侵蝕、SI屋のセキュリティ部隊は自社の統率を

昨年示していた、

  • やはり退化していた日本のWeb開発者「ニコニコ動画×iPhone OS」の場合, 2009年8月2日の日記
    スライド

    日本の携帯電話事業者の一部は、「フルブラウザ」にさえ契約者固有ID送信機能を持たせて、蛸壺の維持を謀ろうとしているが、iPhoneのような国際的デファクト標準には通用しないのであって、今後も、他のスマートフォンの普及とともに、蛸壺的手法は通用しなくなっていくであろう。

    そのときに、蛸壺の中の開発者らが、このニコニコ動画の事例と同様のミスをする可能性が高い。「IPアドレス帯域」による制限が通用しない機器では、アプリケーションの内容によっては特に危険な脆弱性となるので、関係者はこのことに注意が必要である。

の懸念が、今や、さらに拡大し、ケータイ業者のみならず、一般のシステムインテグレータの思考まで蝕みつつあるらしいことが、一昨日の以下のプレスリリースと、メディア各社の報道で明らかになった。

  • ヤマダ電機、日本ユニシス、家電量販専門店業界初、iPhoneを使ったケイタイポイント会員サービスを開始, 日本ユニシス プレスリリース, 2010年4月15日

    〜 今流行のiPhoneで「YAMADAモバイル」が利用可能に 〜

    (略)iPhoneを使ったポイント会員システムは国内家電量販専門店業界初となります。(略)

    2. 本システムの特徴
    (1)iPhoneアプリケーションとWebアプリケーションが連携したポイント会員システムです。
    (2)iPhone個体の識別子とアプリケーション固有のIDによる認証によりセキュリティの高い認証が可能です。
    (3)今後拡大が予想されるスマートフォン(高機能携帯電話)への対応も容易となります。

  • ヤマダ電機と日本ユニシス、iPhone 向けポイント会員サービスを開始, japan.internet.com, 2010年4月16日

    このシステムは、iPhoneアプリとWebアプリが連携したポイント会員システムで、iPhone個体の識別子とアプリ固有のIDによる認証により、セキュリティの高い認証を可能としている。

    また同システムにより、今後拡大が予想されるスマートフォンへの対応も容易になるという。

これは危ないのじゃないのか。そういう声が、Twitterで昨日から数十件ささやかれていた。

本来ならこれが実際に脆弱であることを確認してから書くところであるが、それをしているとまた何か月も経ってしまう。今まさに、おそらく各社がこぞって、iPhoneやAndroidをはじめとしたスマートフォン対応の開発に真っ盛りであるはずで、今、このようなやり方の広がりを食い止めるべく書いておく必要がある。

この実装方法がまずいのは、「アプリケーション固有のID」の機密性に頼っているらしい点である。そのiPhoneアプリのプログラムが解析されて、そのIDと演算アルゴリズムがバレてしまえば、誰でも任意のiPhoneのUDID*1を用いて(同じ演算をした値を送信することにより)、他人になりすまして利用できてしまうだろう。*2

家電量販店のポイントシステムという用途なら、そのくらいの危険性は想定内でかまわないという考え方もあるだろうが、問題なのは、開発元のSI会社がプレスリリースで「セキュリティの高い認証が可能」と高らかに謳っている点である。

「今後拡大が予想されるスマートフォンへの対応も容易となります」とあるように、このSI会社は今後おそらく、認証がより重大な意味を持つ他のアプリの開発に携わるであろうし、このニュースを見た他のSI会社やその他の中小の開発者らが、「ほうほうそうやって作ればいいのか」と思ってしまうことが危険である。

こんなやり方をしてしまうのは、ケータイ用のシステムが既にあったためだろう。ケータイで使っている契約者固有IDに代わる何かがないとWebアプリケーションが作れないと思ってしまった開発担当者が、iPhone OSのUDIDに目を付け、これを使えば(何かに比べて?)「セキュリティの高い認証」ができると思い込んでしまったのだろう。

そもそも、端末に固有のIDなど使う必要がない。PC用のアプリでそんなことをやっているソフトがあったかね? 一般のPCにだって固有IDは元々いろいろある。ネットワークインターフェイスのMACアドレスでもいいし、ハードディスクにだってシリアル番号がある。それらを不正コピー防止の目的で用いてきた歴史はあるけれども、それはユーザのサーバログインなしで使うソフト(Windows本体やMicrosoft Wordなど)ではそうするしかなかったから(それでさえ反発があった)であって、Webアプリのユーザログインに使うなんて馬鹿はいなかった。1999年の、Intel Pentium IIIのProcessor Serial Numberのボイコット運動は、そういう輩が現れるのを抑止するための運動でもあった。

こういう専用アプリでパスワードなしに使用させたければ、端末をサービスに登録するときに、Webアプリケーション側で専用のID(予測が困難な十分な長さの乱数によるID)を発行して、それをiPhoneアプリに覚えさせておけばよい。独自アプリなんだからそれの記憶ができる。ケータイでそれができなかったのは(cookieのない)Webブラウザであったからにすぎない。

そのIDが消えてしまったらどうするの?という不安があるのかもしれないが、どのみち機種変更時の乗り換え機能が必要なのであって、用意されている「機種変更」の手順で再登録するだけの話だろう。実際、ヤマダ電機の「ケイタイdeポイントに関するお問い合わせ」窓口に電話で尋ねたところ、機種変更の際には、会員番号と暗証番号、電話番号を入力するようになっていて*3、会員番号は会員登録のときに発行されるもので、電話番号は会員登録のときに登録させているもの、暗証番号は最初に「ケータイdeポイント」に登録するときに設定させているものだという。

だったら、端末ID(UDID)を用いる必要性はまるで無い。*4

今回のアプリは、ケータイWatchの記事によると、「3G回線専用サービスとなるため、無線LANでは利用できない」のだそうで、これの意図も不明だ。開発担当者は「ケータイの契約者固有IDの使用ではIPアドレス制限をするのが定石だから」と、意味もわからず同じようにする必要があると思ったのだろうか。iPhoneからのアクセスのIPアドレスは何ら保証されていないし、そもそもiPhone OSというのは、PC同様に、自由に任意のプログラムを載せて動かすことができるもの*5なのだから、そんなやり方をしても何も防げやしない。

検索して調べてみると、iPhoneからのアクセスをIPアドレスで判別しようとする輩がうようよしていることがわかる。iPhoneはガラパゴスケータイではないのだからPC同様に作ればいいだけだというのがわからないのか。

今後も「IPアドレス帯域」が公表されることはないと聞いているし、こういう輩が湧いてくるので絶対にすべきでない。

日本のWeb開発者の劣化が止まらない。こんなことになってしまったのは、ケータイ業界が契約者固有IDなどという世界に通用しない安直方式を長年に渡って使用を拡大してきたためであり、その遠因はcookieをサポートしてこなかったNTTドコモにある。

早く立ち直ろう。SI屋は、今やどこもセキュリティ部隊を抱えているはずなので、専用アプリの開発においても、セキュリティ部隊に相談、ないし脆弱性検査を受けたらいい。少なくとも、セキュリティを宣伝するプレスリリースを出すときは、セキュリティ部隊に相談するべきだろう。

*1 UDIDは他人に提供する場合がある。2009年8月2日の日記にも書いていたように、AppleはDeveloper Connectionの文書「iPhone Reference Library」において、UDIDについて「but cannot publically be tied to a user account」と、ユーザ認証に使うなと示唆している。

*2 かつて存在していたNAVITIMEのiPhoneアプリも同様の方法だったと推定している。

*3 複数台を登録して使うこともでき、実際に2台以上を「同時に使っていらっしゃるお客様もございます」とのことだった。

*4 もしかすると、プレスリリースの「アプリケーション固有のID」が指すものが、上記の端末登録時に個々に発行する専用IDのことを述べているとも解釈できなくもないが、そうだとすれば、ますますUDIDは全くの無用の長物であり、組み合わせて使う意図が不明であるし、それをことさらにプレスリリースで「セキュリティの高い認証が可能」と謳う意味も不明だということになる。

*5 Appストアに登録できないだけで、開発者は任意のアプリを自分のiPhoneでテストできるし、ベータテストのための「ad hoc配布」もできる。

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

高木浩光氏のブログに面白い(と言っていいのだろうか?)記事がありました。 「ケータイ脳が大手SI屋にまで侵蝕、SI屋のセキュリティ部隊は自社の統率を」 私自身は携帯端末IDを使ったアプリは作ったことがありませんが、結構あちこちで使われているのは知っていました。..

高木浩光@自宅の日記 - ケータイ脳が大手SI屋にまで侵蝕、SI屋のセキュリティ部隊は自社の統率を

検索

<前の日記(2010年04月15日) 次の日記(2010年04月25日)> 最新 編集

最近のタイトル

2024年12月02日

2024年11月24日

2024年11月11日

2024年07月28日

2024年07月27日

2024年07月07日

2024年04月07日

2024年04月01日

2024年03月23日

2024年03月19日

2024年03月16日

2024年03月13日

2024年03月11日

2023年03月27日

2022年12月30日

2022年12月25日

2022年06月09日

2022年04月01日

2022年01月19日

2021年12月26日

2021年10月06日

2021年08月23日

2021年07月12日

2020年09月14日

2020年08月01日

2019年10月05日

2019年08月03日

2019年07月08日

2019年06月25日

2019年06月09日

2019年05月19日

2019年05月12日

2019年03月19日

2019年03月16日

2019年03月09日

2019年03月07日

2019年02月19日

2019年02月11日

2018年12月26日

2018年10月31日

2018年06月17日

2018年06月10日

2018年05月19日

2018年05月04日

2018年03月07日

2017年12月29日

2017年10月29日

2017年10月22日

2017年07月22日

2017年06月04日

2017年05月13日

2017年05月05日

2017年04月08日

2017年03月10日

2017年03月05日

2017年02月18日

2017年01月08日

2017年01月04日

2016年12月30日

2016年12月04日

2016年11月29日

2016年11月23日

2016年11月05日

2016年10月25日

2016年10月10日

2016年08月23日

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|08|10|11|12|
2017|01|02|03|04|05|06|07|10|12|
2018|03|05|06|10|12|
2019|02|03|05|06|07|08|10|
2020|08|09|
2021|07|08|10|12|
2022|01|04|06|12|
2023|03|
2024|03|04|07|11|12|
<前の日記(2010年04月15日) 次の日記(2010年04月25日)> 最新 編集