最近、Cydiaの開発者であるSaurik氏が、CydiaのTSSキャッシュ機能の歴史を説明する新しいブログ記事を投稿しました。ご存知の通り、Cydiaはジェイルブレイクされたデバイスでのダウングレードに備えて、SHSH BLOBを自動的に保存する機能を備えています。
iOSのセキュリティが進化するにつれ、状況は年々急速に変化してきました。以前のiOSバージョンには、ダウングレード保護は全くありませんでした。最終的にTSSの採用により、古いファームウェアではなく新しいファームウェアをインストールしていることを確認するための基本的な検証が導入されました。このセキュリティは、新しい検証スキームであるAPTicketの導入によってさらに強化されましたが、これはダウングレードしようとする人にとって厄介な存在であることが証明されています。確かに、このルールにはこれまでも例外は存在し、これからも存在し続けるでしょうが、概ねAppleはファームウェアのダウングレードを阻止することに成功しています。
これらすべてはCydiaの新しいTSSセンターとどう関係しているのでしょうか? 実は、iOS 6.0~6.1.2用に保存されたAPTicketはすべて「役に立たない」ものなのです。デバイスの起動には不向きな不完全なチケットだからです。
Saurik氏は自身のブログ「iOS 6 TSSデータはどこに行ったのか?」で、この問題について詳細に解説しています。
残念ながら、私がこの記事を書いている理由はそれではありません。むしろ、大量の嫌がらせメールが届くことになるであろう悪い知らせを伝えるためにここにいるのです。🙁 具体的には、Cydia が iOS 6.0~6.1.2 用に保存した TSS データが使用できなくなっていることを皆様にお伝えするためにこの記事を書いています。また、このプロセスの背景、何が間違っていたのか、そしてユーザーが代わりにできることについても説明したいと思います。
サウリック氏はさらにこう説明する。
実際には、iOS 6のSHSH情報を収集するためのCydia経由のリクエストは、有益なチケットには繋がりませんでした。これは、私がサービスを開始した当初にAppleが行っていたリクエストをより正確に再現するため、Appleに送信するマニフェストをフィルタリングし、前述の部分ダイジェストを持つファイルの情報のみを含めるようにしたためです。SHSHに関連するのは部分ダイジェストを持つファイルのみだからです。
幸いなことに、この問題の影響を受ける人はほとんどいません。iPhone 5、第5世代iPod touch、iPad miniなど、iOS 6がプリインストールされた最近のデバイスは、そもそもダウングレードできません。
iOS 6がまだ動作可能な古いデバイス(iPhone 4、iPod touch 4G、iPhone 3GSなど)をお使いの方は、RedSn0wなどのツールで使用されているlimera1nエクスプロイトを使って、デバイスの使用期間中にアップグレード/ダウングレードすることが可能です。確かに、場合によってはテザリングによる脱獄(iOS 6.1.3など)しか実現できない場合もありますが、それでも脱獄であることに変わりはありません。
幸いなことに、この層に該当し、失われたTSSデータを回復したいと考えている方には解決策があります。Saurik氏は次のように説明しています。
ありがたいことに、この状況は実際にはかなり簡単に解決できます。redsn0w はデバイスから完全なTSS情報をダンプする機能を持っています(これも同じ limera1n のエクスプロイトを使用します)。そのため、limera1n のエクスプロイトが可能なデバイス(iPhone 3G[S]、iPhone 4、または第4世代 iPod touch)のユーザーは、今すぐこのツールをダウンロードして、完全なTSS情報をアップロードすることをお勧めします。
このようなシナリオが現実のものになるとは想像もしていませんでしたが、これは、Redsn0w や iFaith などのツールを使用して BLOB のローカル コピーを保存することが常に良い理由であることを示す好例です。
Cydiaに新しく開設されたTSS Centerのページは、CydiaでSHSH BLOBとAPTicketを検証するための新しい方法です。Saurikのブログにアクセスして、ぜひご自身で記事を読んでみてください。理解が深まるまで、一度、二度、あるいは三度読む必要があるかもしれません。非常に長く、かなり詳細な内容ですが、この手のことに興味のある方なら一読の価値はあります。