AACS暗号

http://www.watch.impress.co.jp/av/docs/20070220/avt001.htm
システムの説明を読むにつけ、効率の悪そうな方式だと思った。
ところで気になる記述が。AACSを解読する(=HD/BDを再生する)ソフトウェアプレイヤーは、定期的に更新しないと新しいソフトが再生できなくなるようだ。めんどくさい・・・。というか、それを理由に「バージョンアップ」とか強制されそうだ。
で、暗号化システムの話。
ひょっとしてこのシステムでは、Media Key Block(ソフトに入っている解除キー)は「再生を許可する全ての相手」を知っている必要があるのか?
しかしその場合、普通に考えると「後で発売された再生機」で「先に発売されたタイトル」が再生できない。
では、「一定の法則に従うDevice Key(再生機に搭載される)」があれば基本的にMKBを解読できるのだろうか。とすると、結局のところDevice Keyの法則性がばれると崩壊するということか?
しかしこのシステム、特定のDevice Keyの無効を宣言することが出来るようだ。実際に解読が可能なら、Device Keyの無効をいくら宣言しても意味はない。
ということは、「あらかじめ十分に大量のDevice Keyを用意した」ということかもしれない。この場合、「予想に反して使い切った」時に窮地に立たされそうだが。
とすると、MKBには、PGPの複数受信者向けの暗号化と同じで、Media KeyをDevice Keyで暗号化して保持しているのでは無かろうか。
MKBには常に「まだ使われていないものも含めて大量のDevice keyの為のデータ」が含まれていると考えると、「無効なものについては以後対応データを入れない(かわりに無効と記述する)」ことでこの機能が可能になる。
記事内の解説図
この図を見ながら今の仮説を適用すると、「Title keyで内容を暗号化」「Title keyをMedia Keyで暗号化」「Media keyをある鍵Aで暗号化」「Aを各Device Keyについて暗号化」する事になる。Media keyが小さいなら、鍵Aを使用せず、直接Media Keyを各Device Keyについて暗号化しても良い。
やたらと複雑なのは、問題がない限りMedia Keyを使い回すためであろう。Media Keyを各コンテンツ会社に提供するとすれば、それが漏れて困るのそのコンテンツ会社だけ。従って、Media Keyの管理はコンテンツ会社が行って構わない。Media Keyに対応するMKBも問題がない限りセットで使い回せる。
・・・意外ともろそうな気がする。
メディア内のMKBのデータサイズと、用意された全てのDevice Keyの数がなければ分からないが、あらかじめ多量の鍵に対して復号化のための情報を用意しようとすると、「鍵A」(もしくはMedia Key。Device Keyが解読した結果)のサイズはある程度制限されてしまう。そうすると、総当たり攻撃でTitele Keyを解除しようとする攻撃に対して結果的に脆弱になってしまうはずだ。
Device Keyによる解読部分で「楕円暗号*1」とかのかなり解きにくい暗号方式を使用しているのだろうか。一般に鍵サイズの効率がいいシステムほど解読のための計算に時間がかかるというので、これは「次世代DVDプレイヤーは軒並み再生開始までに時間がかかる」という噂と合致する。ついでにCellを搭載したPS3の再生開始までの時間が短いこととも合致する・・・

*1:強度の割に鍵のサイズが小さいと聞くので、今回の件にはちょうどいい?