※追記9/11: 一部不正確な表記があったので訂正、および加筆しました。
間違った表記、説明などありましたら、Twitter: @Woggieeeeか、コメントでお知らせいただけるとありがたいです。
今日昼ごろのSaurikのつぶやき:
Ok, Apple stopped allowing people to downgrade their 3G[S] to 3.0 earlier today (which means I can no longer signature hashes for users). 🙁
が、iBEC/iBSSや、CydiaでのECID取得のプロセスにどう影響するか気になっていた。
最悪の結果になっているようだ。
AppleがiPhone OS 3.1以外への(※3GSからの)復元問い合わせを承認しなくなった。結果として、OS 3.0/3GSにおいて
- ECID署名済み3.0 iBEC/iBSSファイルのtmpディレクトリからのキャプチャ
- ECID署名済み3.0 iBootイメージ (purplera1n、CydiaへのECID登録)
- 3.1以外のバージョンへの復元
が一切できなくなっている。つまり、Dev-TeamなりGeoHot君なり、クラッカーの誰かが抜け道を見つけてくれるまでは、これらの作業は一切できないようだ。昨日書いた、CydiaへのECIDのアップロードもできなくなっている模様。
😯 3.0でiBEC, iBSS, ECID署名済iBootイメージをゲットしなかった人:
アップグレードや復元しないで、じっと待つ
😎3.0でiBEC, iBSS, ECID署名済iBootイメージをゲットした人:
大切に保管&アップグレードや復元しないこと。
が、現状の対処法のようだ。
なお、このiBEC、iBSS、ECIDは3GSのJailbreak以外では必要ない話。iPhone 3G、2Gでは、いずれ3.1に対応したredsn0wなりpwnagetoolが出てくれば普通にjailbreakできるようになるはず。
3GSの場合、これらのツールで作成したカスタムファームウェアが、復元時にAppleのサーバとECID署名のやり取りを行うとき、iBEC、 iBSS、ECID署名済みiBootのファイルのいずれかを使って、純正ファームウェアを偽るために利用されることが想定されている。
もっとも、現状3.1/3GSでのjailbreak手法は確立されていないため、これらのファイルを使用するかどうかは、クラックの手法(exploit)と、ECID署名のやり取りをどうするかによって、異なる可能性がある。
ミラクルが起きて、3GS 3.1を、これらの前準備なくJailbreakできる手法が発見されないものか。
そうでないと、どのみち3GS以降のJailbreakは衰退一方となりかねない。
いずれにせよ、もうできることはないので、じたばたしないで待つだけだ。
関連用語解説:
iBoot:
iPhone/ iPod Touchのアプリケーションプロセッサ (3GSの場合Samsung S5L8920) 用の、復元モードのブートローダ。iBootは古いバージョンのファームウェアへの復元は行わない。iPhoneをDFUモードにすれば、iBootをバ イパスして、古いバージョンへの復元が可能になる。Jailbreakコードの侵入は、通常このiBootに存在するバグを利用して行われる。
ECID:
iPhone 3GS からAppleが導入した、1台ごとに異なる固有のID。iTunesが復元プロセスに入るとき、AppleのサーバにECIDを送り、ECIDで署名済 みのiBootイメージ(IBEC/IBSS) を返すプロセスに利用される。自分の3GS固有のECIDを、ローカルで読み取るためには、復元モードのiPhoneを母艦に接続し、Apple Recovery (iBoot) USB driveから、ECIDフィールドの数値を読む。Cydiaで通常モードの3GSから、どのようにECIDを読み取っていたのかはよくわからん。
IBEC/IBSS:
復元作業の過程で、iTunesがECIDをAppleのサーバに送り、Appleのサーバが、BEC/IBSSに署名をして送り返す。iPhone 3.0ではiBSS/IBECファイルが、一時取得可能な状態でtmpフォルダに残っていた。(3.1でも同様だという話もあるが、手元にないのでわから ない) iPhone Dev-Teamでは、将来のjailbreakに向けて、この2つのファイルを保存するよう推奨していた。通常の復元ではiBECが、DFUモードでは iBSSが生成される。
ECID署名済みiBoot img3:
単純に署名済みiBootと呼ばれることもある。iBEC/IBSSも、署名済みiBoot img3なのだが、それ以外のiBootイメージの場合を示す ケースが多い。GeoHotのPurplera1nで、将来利用することを推定して、各自で ECIDを確認し、それをpurplera1n.comに入力することで、ECID署名済みのiBootイメージ を送り返してくれていた。おそらくは、Appleのサーバとトリッキーなやり取りをしていたと思われる。