I'm seeing a lot of confusion around the flashcart thing which is understandable given how (likely deliberately) vague they are being on what it can or can't do. I'll try to cover here a few facts known about the Gamecard ecosystem in general that may provide some answers. (1/20)
— Mike Heskin (@hexkyz) January 25, 2024
まず、正規の Gamecard イメージ (XCI) を変更することは、いかなる方法であっても不可能です。 XCI はハッシュ ベースのファイル システムを使用します。このシステムでは、すべての単一ファイルの内容がハッシュされ、すべてのハッシュのハッシュがパーティションのヘッダーに保存されます。
したがって、画像の内容を変更するには、関連するハッシュを再計算する必要がありますが、これは簡単そうに見えますが、パーティションのヘッダーのハッシュ (すべてのファイルのハッシュのハッシュが含まれる) が CardHeader 領域 (最初の 0x200 バイト) に含まれることを除きます。
この領域は署名されており (RSA-2048)、その署名は Lotus ASIC によって検証されます。この CardHeader 領域に再署名するために必要な秘密キーを持っていない限り、そこでゲームオーバーです。
すべての製品レベルの RSA 秘密鍵は任天堂だけが知っています。それらを「計算」することはできず、いかなる容量でもリークされておらず、何らかの形でフラッシュカートが実際にキーを持っていたとしても、InitialData 領域はまったく必要ありません。
つまり、これはDLCコンテンツとアップデートのサポートを意味します(カートにそれらが合法的に含まれていない限り)、または自作は単純に不可能です.
もう 1 つの大きなトピックは検出のようです。予想通り、レビュー担当者は、どの XCI イメージにも同じ証明書を使用できることをすでに理解していました。これは、作成者が反発を避けるために明言しないように注意しているにもかかわらず、このフラッシュカートの主なセールス ポイントであることは明らかです。
1 つのゲームのすべてのコピーは同じ CardHeader 領域と InitialData 領域を共有しますが、同じゲームの異なるコピーは異なる CertArea 領域を持ち、現状では、証明書が発行されたゲームに属しているかどうかを検証するものは何もないようであることに注意してください。
オンラインでは、任天堂は、特定の証明書が同時に複数回使用されているかどうかを検出するインフラストラクチャを備えています。また、証明書がファームウェア 9.0.0 以降の物理ゲームカードに属しているかどうかも検出できます (Lotus ASIC の SX エミュレーションへの応答として追加されました)。
発行されたゲームと一致しない証明書の使用に関しては、ゲームカードの証明書を認証するためのネットワーク リクエストには、プレイ中のアプリケーション ID が必ず含まれるようにするため、任天堂はこれを簡単に認識できます。
まだ議論されていない詳細がいくつかあります。たとえば、OS はゲームカードの挿入と取り外しの回数を追跡します。これは、フラッシュカートがゲームを循環させるために挿入と取り外しを強制するため、明らかに問題です。
CFW ではテレメトリ データをある程度制御できますが、OFW では制御できません。エラー レポート (最も詳細なレポート) のためにドメインをブロックしたとしても、ゲームカード情報を含むシステム レポート (「srepo」) については何もできません。
これは、*オフライン* でどのような種類の検出と防止が存在するかに関する最終点につながります。これが、フラッシュカートの作成者が表現に非常に注意している理由でもあります。
たとえば、現在、ゲームカード証明書の暗号化領域の 208 バイトのうち 16 バイトのみが (通信キーの導出に) 使用されています。残りのバイトが InitialData 領域または CardHeader 領域と相関関係があるかどうかは誰にもわかりません。
実際に相関関係があることが判明した場合、異なる XCI イメージに同じ証明書を使用する現在のシナリオは、オフラインでパッチ可能になります。これを OS レベルまたは Lotus レベルで検出およびブロックできる方法は他にもたくさんあります。
フラッシュカートにパッチを適用したり検出できない可能性がある 1 つのケースは、正規のゲーム (ゲームに一致する証明書など) のコピーを保持するためだけにフラッシュカートを使用し、それらを循環させない場合です。
*将来の* ゲームカードは安全であっても、現在のゲームカードは常にハードウェア暗号化スキームが破られていることを意味します。個人的には、ゲームカード レベルでも下位互換性が確保されると考えています (つまり、Switch ゲームカードを読み取れる将来のハードウェア)
Gamecard/Lotus エコシステムには、同じハードウェアが新しいコンソールで使用されることを示唆する最近の変更がいくつかありますが、変更される可能性は低いと思われます (特に 2 番目のセキュリティ スキームの存在を考えると)
ただし、将来のハードウェアでは、たとえば、その正当性を主張するために古いゲームカードをオンラインで検証することが強制される可能性は十分にあります。
とのことで、要するにパッチは可能ではないかとのこと
公式にしか分からない仕組みもありそうなので本当に安全か疑問だということになりそうです
今のゲームカードは大丈夫でしょうが、将来出てくるゲームカードには何かしらパッチが施される可能性もあるようです
コメント
コメントを投稿