fail0verflow というハッカーチームが、遂に Sony PS3 のデジタル署名に使う private key を特定したようです。これにより、PS3 上で動かすプログラムに「正式」なデジタル署名が付加できるようになります。これで自作プログラムでも、Sony の正式なデジタル署名を付加すれば通常のゲームプログラムのように「正式なゲームソフト」として実行可能になります。
何で、そんな大事な private key が解析されてしまったのでしょうか?。
カンファレンスにおける fail0verflow の説明によると、ECDSA(楕円曲線暗号デジタル署名) でキーの生成に使う乱数がなんと「固定値」になっているということで、private key の探索範囲が一挙に縮まり、どうやら private key の奪取に成功したようです。
これはもう人災ですね。カンファレンスでも、「これはプログラムの不具合ではなく、PS3 の実装を使っただけですから」どか言われてるし…。
元々、fail0verflow は PS3 の解析にはあまり積極的では無かったのですが、PS3 の本体プログラム更新で、Linux など他のOSを起動させる機能を削除してしまったため、解析に乗り出して結果、こんなマズイ実装を見つけられてしまったという Sony にとっては踏んだり蹴ったりな状態です。
正式なデジタル署名ができるようになってしまった以上、将来も PS3 で自作プログラムの実行を阻止するのは難しいでしょう(起動を拒否すれば、今までのゲームも動かなくなっちゃうので)。
あくまで、他の OS を起動させる為だと言っていますが、private key が流出すれば、ハードディスク内のゲームを起動させたり、homebrew を作成することができるようになるでしょうね。
ちなみに下の動画は、PS3 スリム(Linux は動かない)上で Linux を起動し root でログインしている動画です(興味のない人にはつまらないビデオですけど)。
YouTube:PSGroove.com – Console Hacking 2010 Lightening Talk – Chaos Communication Congress.