PSPのUMDのAES暗号化方式の謎
SBORPS » Blog Archive » SBORPS Random Fact 04にUMDの暗号化方式であるAES暗号についての記事を書いている
UMDの複製ができないのか?自作UMDが作成できないのか?などということは以前からいわれていたが、それらを完璧に不可能にしたいたのがUMDにかかっている暗号化によるものだ
UMDはPSP用のメディアとして開発され、PSP以外からではイメージの作成もできない
イメージの作成にはPSP内の複合化機能を使っているからできていた
しかし、現在でもその複合化の詳細は明らかにされておらず、PSP以外の媒体から吸出しを行うということができない
今回の記事ではSCEの発言の中にある「PSPはAES暗号を扱う能力がある」という発言の意味は、明らかにUMDの暗号化にAES暗号方式を利用しているということに言及しているのだろうと言っている(AES暗号とはDES暗号の後継と位置づけられ、DESよりも安全性が高いとされている暗号化方式のことだ。詳しい解説はAES暗号 – Wikipediaを参照して欲しい)
そして実際にSCEはUMDの暗号化にはAESを使っていると発言しているこれがホントに携帯ゲーム機?--PSPの詳細をSCEが明らかに – デジタル家電 – Tech-On!
それはつまりUMDのSPOCK(UMD解析に使う秘密のエンジン)にはAES暗号を解析する能力があるとしています
同時に、KIRK(prx/ebootの復号化における主要なエンジン)のほかの機能としてブロック暗号(詳しくはこちらブロック暗号 – Wikipedia)のが存在することが分かっていますが、AES暗号とブロック暗号のどちらのアルゴリズムを使うのかはよく知られていません
それでも、AES暗号とほぼ同様でしょう
現在KIRK暗号について知られていることは以下のとおり
- CBC(暗号文ブロック連鎖モード)モードで動いている
- an all zero 128-bit initialization vector
- 128ビットブロックとキーサイズ
- cmd4/7は全てのPSPで同一の静的なキーを使う
- cmd5/8はPSPにつきユニークな値をとるFuseIDを元に生成されたキーを使う
- cmd6/9はユーザー定義の128ビットキーを使う
- cmd1/2/3はブロック暗号だけでなく署名アルゴリズムを使う
- 残りのKIRKのcmdはブロック暗号を利用しません(sig, hash, & prng algo’s)
多目的暗号化としてKIRKに結びつくのは厄介です、そしてソフトウェアベースのlibはメモリー消費と減速の両方です
幸いにも、もうひとつ方法があります:それはマジックゲート(ソニーが開発したマルチメディアデータの著作権保護技術)ハードウェアを使うことです
そのAPIは標準的なDESとAPSのアルゴリズムを提供しています
- 0x2DAD213D sceMgrDESEncrypt
- 0xF5DFD97B sceMgrDESDecrypt
- 0x8A916574 sceMgrAESEncrypt
- 0x3054F8F1 sceMgrAESDecrypt
これらを使ったサンプルはブログに掲載されている、今回は必要ないと思われたのでカットすることにした
いつも思うが、彼のブログは本当にいつも貴重な情報を提供してくれている。いったい何者なのだろうか…単純な解析者なのか…個人的な趣味の範囲なのか…謎は深まるばかりだ
もうどこでダウンロードしたのか思い出せないが、PSP-1000に搭載されているUMDのドキュメントが手元に見つかったのでそれも興味ガある人はダウンロードして呼んでみるともっと良く分かりかもしれない

しほの涼だ☆
私もPSP買おうかな・・・
>ギュスさん
しほの涼ちゃん可愛いですよねw
PSP持ってるといろいろと便利ですからお勧めです♪