Appleが6月初めのWWDC17(世界開発者会議2017)の基調講演で発表した次世代iOS【iOS 11】では、多くのソフトウェア開発者に便利な機能が追加されています。しかしそれらの機能の中には、iPhoneやiPadなどiOSデバイスの中古の取引に影響するものがありそうです。
![iOS11-WWDC17](https://i0.wp.com/xiaolongchakan.com/wp-content/uploads/2017/06/iOS11.jpeg?resize=700%2C466&ssl=1)
ユーザの不正行為防止する、リアルタイム”デバイスチェック”機能とは
iOS 11には、ソフトウェア開発者にとっては便利なデバイスチェック(Device Check)機能が追加されています。この機能を使えば、iPhoneやiPadなどiOSデバイスの、4種類のアクティビティについてチェックすることができます。
例えば、iPhoneで一ヶ月の間無料試用期間のアプリが使用されたとすると、その期間内ではデバイスチェックはiPhoneの状態を”状態A”と記録し、無料試用期間が終了或いはユーザがアプリの試用を終了した後、デバイスチェックでは”状態B”と記録します。
デバイスチェックがこれらの状態をiOSシステムに書き込む前では、ユーザがiPhoneでそのようなアプリを削除したりまたは初期化(復元)した場合は、iPhoneの”状態データ”はきれいさっぱりとなくなり、再度そのアプリをインストールすると、無料試用期間がまた最初から始まってしまう、つまり永遠に無料でアプリが使い続けられてしまうことになります。
上の例では、もしユーザがiPhoneを初期化(復元)しても、”デバイスチェック”プログラムを使用してiPhoneの状態を”状態B”にしておけば、引き続き無料試用期間を使われてしまうことを避けることができます。この”デバイスチェック”プログラムは、iPhone等デバイスのデータをデバイスの中に保存するのではなく、Appleのサーバ内に保存します。それによって、初期化(復元)によって状態データを消去されてしまうことを防止できるのです。
中古販売、転売されてもiOSデバイスの”状態データ”がリセットされない
しかしこの機能が、中古市場で出回るiPhoneに対して副作用をもたらすことになります。もし以前の持ち主が無料試用期間のアプリをダウンロードし、無料試用期間が終わってしまっていた場合は、そのデバイスを中古で買ったユーザは、Appleのサーバ上に状態データが記録されてしまっているため、そのアプリを無料で使えなくなってしまいます。
上記の通り、iPhoneなどiOSデバイスを初期化(復元)しても、”状態データ”はAppleのサーバ内にあって初期化されないため、以前のデータが引き継がれることになり、それをいじることはできません。
またこの”デバイスチェック”プログラムを使えば、アプリ開発者が提供するアプリでもし新規ユーザのみに向けた特典など何らかの販促キャンペーンを行う際にも、本当にそのデバイスで初めてそのアプリが実行されたかという状態データをチェックすることができ、何度も新規ユーザ向けキャンペーンを適用されてしまうという不正行為を未然に防止することができるのです。
“デバイスチェック”プログラムとプライバシー
そうなると、Appleのサーバ内に各デバイスの”状態データ”が保存されてしまうということは、プライバシー保護に影響するのではないかと心配する人も出てくるかもしれませんが、どうやらそれは心配には及ばないようです。
というのも、”デバイスチェック”機能では、iOSデバイスの状態の区分をA、B、C、Dの4つの状態のみに定義し、それ以外の情報は記録されないため、アプリ開発者や悪意のある人でも、このデータを読み取ることで特定の端末や個人を特定するということは不可能だということです。
時間が経つと問題が出てくる懸念が。。Appleも対策を検討中?
iOS 11そのものは現在はまだベータテスト段階で、秋に正式版がリリースされる予定です。例年通りであれば、新型iPhone(iPhone 8/7s/7s Plusの3種類と噂されています)がリリースされるちょっと前となるでしょう。そして新型iPhoneやiOS 11が市場に投入された当初は特に上記の問題は考慮しなくてもいいと思われます。アプリ開発者にとっては、確かに”デバイスチェック”機能は自身の利益を確保するためのなくてはならない手段になるからです。しかしそれから1年2年と経ち、iOS 11を搭載した新型iPhoneも中古市場に流れ始めると、多くの問題が露呈しそうです。
Apple社自身も正式にこの問題について考え始めているようで、状態データの扱いについて整理し、再度設定を見直すようです。ただ、もしユーザ側がAppleサーバ上の”状態データ”を変更できるようになってしまうと、アプリ開発者側は困ってしまいます。
ただ、Appleのサーバ側にはiOSデバイスの情報はそれほど多く保存されません。保存されるのは端末から送信される4種類の状態データ(A〜D)、日付データ、そして識別番号の3種類のみです。アプリのデータの状態についてある程度推測はできるものの、たったの4種類でしか表されていないので、推測にも限界があるといえます。
識別番号によってAppleサーバがiOSデバイス個体を識別する方法については、Appleも明らかにしておらず謎のままです。ただ、”デバイスチェック機能”では、上記の通り状態データと日付データと共に提供されるのは、Appleサーバにデータを転送するときに使われる短期間のみ有効な”臨時識別コード”であるとされています。
小龍的にはこう思った
個人的には、上記の問題を解決するには、やはりAppleが中古業者に何らかの条件付きのAppleサーバの”デバイス状態データ”を変更したりリセットしたりする権限を与えることではないかと思いますが、逆にそれが悪用されてしまう恐れもあるので、Appleはその導入に慎重にならざるを得ないでしょう。
誰にとってもハッピーな解決方法が見つかるとよいのですが。。
記事は以上です。
(記事情報元:WeiPhone)