iOSのアプリ内課金は、アプリ内から[購入する]ボタンをタップするとアップルの課金サーバに接続して課金情報を取得します。ひも付けされたクレジットカードもしくはiTunesカードに販売価格を請求する仕組みになっています。購入が認証されると、デバイスにあるアプリに購入済み情報を送信します。アプリの購入情報は実際にはサーバに置かれているので、同じIDのデバイスであれば、リストアすれば非消費型のアプリ内コンテンツは再ダウンロードが可能となります。
「エクスプロイト」という仕組みは、まず最初にセキュリティ・サーティフィケートという機能拡張書類をダウンロードしてiOSデバイスにインストールします。そしてインターネット設定でドメインネームサーバ(DNS)で、サービス元が提供するサーバのIPアドレスを入力します。そうすると、アプリを起動してアプリ内課金の[購入する]ボタンをタップすると、アップルのサーバではなく、「エクスプロイト」のサーバにアクセスするのです。
「エクスプロイト」のサーバにアクセスすると、アプリ内課金コンテンツはアプリに
購入済みだよ
という情報を送信します。購入情報を送信すると、アプリは購入されたコンテンツを課金済みとして扱うようになります。アップルの課金サーバになりすますシステムです。脅威なのは、
「Newsstand」などのサブスクリプションも対象
iOS 6にも対応しているらしいこと
ということです。アップルはアプリ内課金を通じてコンテンツビジネスを強化していこうとしていますから、「エクスプロイト」は放置できないでょう。しかしロシア人ハッカーZonD80氏は余裕で、
刑務所には入りたくないからアップルに協力する
といいつつ、別のサーバを用意しその仕組みも公開しているようで、現行の仕組みの裏をかく技も用意しているかもしれません。
昨年のApple IDパスワード大量流失のときも大きな問題になりました。最終的に新しいデバイスで課金コンテンツを購入するときは、クレジットカードのセキュリティコード入力を必須とするという対策で一応の解決をみました。パスワードがわかっても、セキュリティコードがわからないと課金コンテンツは購入できないようにしたわけです。
「エクスプロイト」の簡単な解決方法は
機能拡張書類は認定したものしかインストールさせない
WI-FIのDNSは変更できないようにする
とかすれば、とりあえず解決できますが、いずれにしてもその場合はiOSのアップデートで解決するしかないでしょう。つまりユーザーがiOSをアップデートしなければ、この仕組みは当分使えるかもしれません。
日本でもiOS 3のときに機能拡張書類でテザリングできたバージョンがありましたが、iOSをパージョンアップするとテザリングするための機能拡張書類のインストールは完全にできなくなりました。今頃、「エクスプロイト」を無効にするアップデートを作成しているのでしょう。
電子書籍のような非消費型課金コンテンツでは、課金情報がサーバにあるので、同じIDのデバイスでもDNSを差し替えて「エクスプロイト」のサーバから再ダウンロードするしかなさそうです。アプリ内課金はこうやって進化していくのかもしれません。iOS 6リリース前に「エクスプロイト」が発覚したのはAppleにとっては不幸中の幸いかもしれません。
◆ハッカーがAppStoreアプリ内課金に「タダで買える」穴発見!購入殺到でサー
バーダウン(動画)[ギズモードジャパン]
http://www.gizmodo.jp/2012/07/appstore_4.html
◆「iOS」のアプリ内購入を迂回するエクスプロイト--アップル、対策に乗り出す
[CNET]
http://japan.cnet.com/news/business/35019283/?ref=rss
◆落とし穴を回避するiOSアプリのビルドと申請[インクナブラのiPhone、iPadのiOS電子書籍セミナー]
〜Xcode 4.3.xでするアプリの実機インストールと配信用ビルドとは〜
http://bit.ly/MeW9LI
◆Xcode 4でする実機インストールの動画チュートリアルをアップ
http://bit.ly/JEofvK
◆Xcode 4でiOSアプリの設定と申請を最短距離でする方法
http://bit.ly/Jk88Bc
◆SakuttoBook(サクッとブック)でiPhoneアプリを作る方法
http://bit.ly/mhgjCG
◆SakuttoPubliパーソナル:iPhoneブックアプリ開発・申請代行はお任せ下
さい。
http://bit.ly/swjdFW
◆Xcode 4対応のSakuttoBook Lite版ならぬTrial版、無料ダウンロード開始
http://denshi-shoseki.seesaa.net/article/263470895.html
【SakuttoBook日記の最新記事】
- iOS 8、Xcode 5.1.1でSa..
- 2.21リジェクト顛末記2−ストアアプリ..
- 2.21リジェクト顛末記1−Sakutt..
- SakuttoBookだけでするWebの..
- 法人向けD-U-N-S Numberを無..
- 日本語版iBookstoreローンチで始..
- 複数台のMacintoshでiOS De..
- 立川談幸師のグリム童話をSakuttoB..
- iOS 6から厳格になったiCloudの..
- Xcode4.5で必要になったiPhon..
- Xcode 4.5とiOSシミュレータ ..
- iOSアプリ内課金、リストア機能なしはな..
- SakuttoBook、PDFのユニバー..
- iOSシミュレータと実機のキャッシュを殺..
- アプリ内課金の仕組み 2 アプリ内課金は..
- アプリ内課金の仕組み 1 アプリ内課金ア..
- SakuttoBookユニバーサル版検証..
- SakuttoBookより安い儲かるiP..
- Lionへのアップデートを誘うiOS 5..
- Xcode 4でする実機インストールの動..