• ◆記事
    ◆紹介

PS3のセキュリティが長期間破られなかった理由とは?発売直後にハッカーに破られたハードがあるというのに・・・

bc858feb





【前回】

【激戦】海外ユーザー「WiiUのハックに成功した!」 →任天堂「ハッカーとの戦いの準備を進めている。絶対に許さない」



PS3のセキュリティ構造:実行ファイルのプロテクト
http://ameblo.jp/seek202/entry-11522869927.html
400x300 (2)

PS3のセキュリティは非常に強固で、発売後長期間に渡ってハッカーの猛攻に耐え、不正なプログラムの実行を許さなかった。その大きな理由の一つは、内部の実行ファイルが複雑かつ強固に暗号化されていたためだ。

おおざっぱに言って、PS3の内部の実行ファイルは三重に暗号化されている。

第一段階:ファイル本体の暗号化(AES128)
第二段階:ファイルへの電子署名
第三段階:署名と暗号化キーをさらに暗号化(AES256)



実際の処理では、これを逆向きに復号化していくことになる。実行ファイルは以下のように復号化される。
なお前提として、実行ファイルはELF形式にセキュリティ情報を追加したSELF形式。
SELF形式ファイルは、SCE Header、Metadata Information、Metadata、Metadata Header 、データ部(ELFファイル)から成る。ELF形式にセキュリティヘッダを付けた形式。


第三段階:ローダーキーの取得
Metadata Informationからローダーキーを取り出す。ローダーキーはAES256CBCで暗号化されているので、ローダー自身が持つ固定キー(erk and riv)で復号化する。

第二段階:ファイルの署名承認
Metadata HeaderはAES128CTRで暗号化されている。
(1)で取得したローダーキーで復号化し、署名情報を取り出す。
署名は秘密鍵で暗号化されているため、個々の本体毎に定められている公開鍵で署名情報を復号化する。
SELFファイルのハッシュ値をとり、復号化した署名情報と比較して署名を承認する。

第一段階:メタデータキーの取得とデータ部の復号化
MetadataはAES128CTRで暗号化されている。
(1)で取得したローダーキーで復号化し、メタデータキーを取り出す。
データ部はAES128CTRで暗号化されているので、(1)で取得したローダーキーで復号化する。復号化したデータ部はハッシュ値を取り、上で取得したメタデータキーキーと比較し、確認する。

(以前にPS3のハッキング関連のニュースで「キー」の漏えいが一時話題になったが、これはおそらく、PS3ブートプロセスにおけるかなり上位のローダー「metldr」の固定キーを指すものと思われる)

(全文はソースにて)




















発売当時世界中のハッカーが挑んでは敗れ去ったのはニュースになったなぁ


数学のミレニアム懸賞問題みたいな感じだった