AACSの概要2018/1/8 キー(鍵)配布の問題共通鍵暗号方式の一番の問題はキー(鍵)の配布にあります。キー自体はAES 128bitという現在でも依然強力な仕組みを採用しました。所謂総当たりで探しても、スーパーコンピュータでも数年かかるというものです。そのためキー自体が解読されることはありません。しかしこのキーそのものが不正者に漏れたら、どうにもならないのです。 もし正規の利用者が特定されていて、ごく少数であれば、秘密裏にキーを受け渡す(配布する)方法、かつ漏洩しないように管理する方法はいつかあるでしょう。しかしBlu-rayを再生したい人は一般大衆なので非常に沢山いて特定できません。 一方キー配布の問題を解決した公開鍵暗号方式がありますが、これはあくまで復号化したい特定者が自分が復号化に使う秘密鍵に対応した公開鍵をばら撒けるだけなので、暗号者と復号者は多対単一の関係にある場合しか使えません。多対多(特に後者は非常に多)の関係にあるBlu-rayの暗号化には使えません。 このようにBlu-rayの暗号化では共通鍵暗号方式を使う他なく、かつキーを広範に配布することになるので、このキーの管理が難しく、漏洩する可能性は沢山あります。単純に受け取ったメーカーが漏洩するかもしれません。管理が杜撰で盗難にあうかもしれません。またメーカーが倒産してしまうかもしれません。そうするとこのメーカーに秘密裏に配布したキーはどうなるか全く保証の限りではありません。 しかし一番可能性として高く、恐れているのがパソコンでBlu-rayを再生するアプリケーション・プログラム(今後これをBlu-ray再生アプリと呼びます)用に配布したキーが不正者によって比較的簡単に探し出されることです。パソコンというかなり自由度が高く、利用者が内部に入り易い機械装置の中で動くため、メモリーをトレースするなど様々な方法でキーを探し出すことができます。これをキーをクラックすると言います。これまでもキーの漏洩の殆どがこのパターンです。 従ってキーは漏洩する、クラックされるという前提での対策が必要です。 この不正者にクラックされて、漏洩してしまったキーを使えなくしてしまう、無効にしてしまうことを効果的に行うことができればこの問題を解決することができます。因みにこのキーを無効にすることをリボークといいます このように大多数の正規利用者、ユーザには正しく復号化できるキーを配布しつつ、特定キーをリボークすること、これを効果的に行うためにAACSでは様々な対策を講じています。 イタチごっこしかしメディアという物理的なものが対象となるBlu-rayやHD DVDなどの場合、既に発売されてユーザの手元にあるので、それ自体を漏れたキーでも復号化できないようにすることは不可能です。 そのためAACSによって保護されるのは、リボークの後に発売されたメディアが対象になります。既に発売済みのものは諦めるということです。 これはAACSの限界でもあり方針です。それでもキー自体の解読が簡単にできてしまったDVDのように今後出るものも含めすべて復号化できてしまうよりはずっとましであり、不正者への抑止力には十分になるという考え方です。 キーのクラックは非常に困難ですが、苦労して行ってもすぐにリボークされてしまいます。また頑張ってクラックする。所謂不正者のクラックとAACSのリボークのイタチごっこな訳ですが、このクラックの困難さと相まって、迅速で効果的なリボークが実現できれば、このイタチごっこに着いていける不正者は非常に限られ、やがて現れなくなるであろうという考え方なのです。 AACSの登場人物AACSは、米IBMやIntel、Microsoft、ソニー、松下電器産業、東芝、ならびにウォルト・ディズニー・カンパニーとワーナーの8社が共同で策定した規格ですが、この8社が共同で設立したAACS LA(Advanced Access Content System Licensing Administrator)によって管理運営しています。 この後出てくる複雑なキー管理をこの組織が行っています。従ってAACSにおいて最も重要な登場人物となります。 次に映画会社など保護したい映像コンテンツの著作権を持っている人、団体があります。つまり暗号化する側ですね。これをプロバイダと呼びます。AACS LAの一員であるウォルト・ディズニー・カンパニー、ワーナーやソニー、東芝もプロバイダの一人です。Blu-rayソフトメディアを作るのもプロバイダですね。 そしてこのBlu-rayソフトメディア内の映像を再生する装置を提供する人、団体があります。つまり復号化する側ですが、これを単にユーザと呼びます。まずBlu-rayレコーダ、Blu-rayプレーヤなどのハードウェアを製造する家電メーカー(ハードウェア・メーカー)ですね。やはりAACS LAの一員であるソニー、松下電器産業、東芝などもユーザです。ソニーや東芝などはプロバイダでもあり、ユーザでもあり、AACS LAでもあるということですね。 もっともBlu-rayレコーダの場合はTV放送番組などを暗号化してディスク・メディアに書き込む行為もあるので、この時はプロバイダとして振る舞うことになります。 また前述のBlu-ray再生アプリを開発、提供する会社(ソフトウェア・メーカー)もユーザです。PowerDVDのサイバーリンクやVideo Studioのコーレルなどです。 ユーザというとこれらのレコーダやBlu-ray再生アプリを使って実際映像を見る、鑑賞する人、個人を指すように思いますが、これを利用者と呼んで区別します。ユーザも利用者もコンテンツを再生する(復号化する)側の人たちですが、AACS LAがキー発行などで直接相手にするのはユーザだけなので、単なる利用者と区別します。 しかしこの利用者がキーをクラックして不正者になっていくので登場人物としては重要なので無視できません。 AACSの構成要素ブルーレイには読み込み専用のBDMV(Blu-ray Disk Movie)とレコーダなどで書き込むためのBDAV(Blu-ray Disk Audio/Video)という2つの規格があります。DVDでいうと前者がDVD-Videoと、後者がDVD-VRに相当するものです。 AACSの仕組みはBDMVとBDAVでかなり異なっていますが、共通部分も多いので基本的にBDMVで説明します。違っている部分はその都度補足します。まずAACSの全体概要図を以下に示します。これはBDMVのものですが、説明用にかなり簡略化しています。 AACSを構成する要素として、以下が挙げられます。
ではこの登場人物たちがこの要素を使って、どのような流れで映像コンテンツを暗号化し、復号化していくか説明しましょう。 暗号化の流れ基本的に暗号化の流れの反対が復号化の流れになるので、どちらかを説明すれば一方は大体分かるのですが、対になっていない動きもあるので、一応分けて説明します。 利用者には復号化の流れの方が重要ですしイメージしやすいので、復号化の流れに力点をおいて説明しますが、順序的には暗号化が先に行われるのでまず暗号化の流れから説明します。 プロバイダにはまずAACS LAからメディア・キーとMKBのセットとボリュームIDが発行されます。発行の手続きも極めて複雑ですが、ここでは省略します。 プロバイダはこのメディア・キーとボリュームIDを使ってボリューム・ユニーク・キーを作ります。 またプロバイダは独自にタイトル・キーを用意します。このタイトル・キーを使って、映像コンテンツを暗号化します。一方前述のボリューム・ユニーク・キーでタイトル・キーも暗号化します。 こうして出来上がった暗号化されたタイトル・キー(Encrypted Title Key)と暗号化された映像コンテンツ(Encrypted Contents)をメディアに書き込みます。またメディア・キーとセットで受け取ったMKBはそのまま書き込みます。 さらにボリュームIDも書き込みますが、特殊な保護領域に複雑な手続きで書き込むので、前述の書き込みデータとは全く違う方式なのですが、ここでは単に保護領域に書き込むとだけ認識してもらえればいいです。 復号化の基本的な流れユーザにはデバイス・キーが複数セットで配布されると説明していますが、もう少し具体的に言うと、Blu-rayレコーダなどのハードウェア・メーカーに対しては、個々のメーカー毎に異なったセットのデバイス・キーが配布されます。一方Blu-ray再生アプリを開発するソフトウェア・メーカーにはすべてのソフトウェア・メーカーに同一セットのデバイス・キーが配布されます。 前述のようにソフトウェア・メーカーに配布したデバイス・キーはクラックによって漏洩するリスクがハードウェアよりも格段に高いため、予防リボークという意味で定期的にリボークしています。 しかしこれを個々のソフトウェア・メーカー毎にやっているとデバイス・キーがすぐに枯渇してしまうので、ソフトウェア・メーカーは一律管理にしてしまうことにしたのでしょう。ソフトウェアの場合、ハードウェアに比べてデバイス・キーの更新が格段に容易だという点もこの運用を可能にしている理由です。 まずユーザはデバイス・キーで、MKBからメディア・キーを探しだします。これをMKBをプロセスするといいます。これが最初のステージ「プロセスMKBステージ」です。なおステージ名は説明上私が命名したものです。 次のステージでユーザはホスト・キーを用いて、メディアからボリュームIDを取り出します。これを「ホスト認証ステージ」と呼びましょう。 次に取り出したメディア・キーとボリュームIDを用いて、ボリューム・ユニーク・キーを作り、これでやはりメディアに格納されている暗号化されたタイトル・キーを復号して、タイトル・キーを取り出します。(タイトル・キー復号ステージ) そして最後のステージで暗号化されたコンテンツをタイトル・キーで復号化して、やっとプレーンな映像コンテンツを取り出すのです。(映像コンテンツ復号ステージ) 基本的な流れはこのようなものです。更にプロセスMKBステージとホスト認証ステージは詳しく説明しましょう。 プロセスMKBステージこのステージでSD法(Subset Difference Method)という、小難しい仕組みが働きます。これがAACSを強力にしている真骨頂なので、「メディア・キーの仕組み」で詳しく解説します。ここではほんの概要だけ言及します。 ユーザは自分のデバイス・キーやMKBの情報などを使ってプロセス・キーを取り出し(算出し)ます。 プロセス・キーが算出されると、MKBに格納された沢山のC-Valueから目的のC-Valueを見つけます。 目的のC-Valueが見つかったら、それをプロセス・キーで復号化すると、それがまさにこのステージの最終目的であるメディア・キーなのです。 ホスト認証ステージホスト・キーもデバイス・キー同様、ユーザごとに配布されたものです。このホスト・キーもデバイス・キーほどではないですが、リボークする仕組みを持っています。Blu-rayドライブは不正なホストのリストを持っていて、そのリストにあるホスト・キーからの要求は受け付けないというものです。言わば不正者のブラックリストですが、これは前述したHost Revocation List(HRL)と呼ばれるもので、このHRLに基づいてホストが不正者でないかを認証するのがこのホスト認証ステージということになります。 因みにこのホスト認証ステージが存在する理由は何でしょうか。既に強力なMKBの仕組みがあるのに更に強力にするためにあるのでしょうか。まあそういう意味合いもあるかと思いますが、もっと一つ重要な役割があります。 これはメディア(円盤)のイメージ複製を防ぐための仕組みです。どんなに強力なMKBの仕組みでも、メディア(円盤)を物理的イメージのままコピーできてしまっては、あまり意味がありません。勿論この場合はあくまで円盤としてコピーされるだけなので、不正利用はレコーダ、プレーヤでの再生だけです。映像コンテンツが復号化されてプレーンな映像コンテンツにされてしまう訳ではないので、レコーダのHDDにコピーしたり、YouTubeに勝手にアップして、インターネット上に放出するといった無限の拡散が行われてしまう訳ではありません。 しかしメディア複製でも十分甚大な損害を被ることになるので著作権者としては是非とも防ぎたいことではあります。それを防ぐ仕組みがホスト認証ステージとなります。 ホスト認証ステージで取り出す情報はボリュームIDです。これはメディアの特殊な保護領域(Protected Area)に記録されています。保護領域なので通常のBlu-rayドライブでは書き込むことができない領域です。また通常の手続きでは読み込みこともできません。 ホストはBlu-rayドライブに対して、ホスト・キーを提示してボリュームIDの取り出しを要求します。Blu-rayドライブ側では、提示されたホスト・キーを自身が持つHRLにないか確認します。リストになく、かつホスト・キーとしての条件を満たしていたら、つまりホスト・キーの認証が通ったら特殊な方法で読みだしたボリュームIDをホスト側に返します。 このようにボリュームIDはメディアの特殊保護領域に書かれているので、正規のBlu-rayドライブではコピーができないのです。ボリュームIDをコピーしないで、他の部分だけ複製してもそのメディアは再生できないことは前述の復号化の流れを見て頂ければ分かるでしょう。 しかしそれを書き込めてしまう不正なドライブを悪い輩が作ってしまうことはないのでしょうか。AACSではかなり巧妙な仕掛けでこのような不正ドライブが作れないようにしています。 ただこうした不正ドライブが万が一作成された場合でもこれをリボークする仕組みもあります。それはホスト側(ユーザ側)が持つDrive Revocation List(DRL)というものです。やはりドライブのブラックリストということですね。 尚、ドライブが持っているHRLは前述しているようにPartial MKBというところに格納しています。読んで字のごとくMKBの一部を取り出したものです。 タイトル・キー復号ステージこのステージでは、ユーザは入手したメディア・キーとボリュームIDを使ってボリューム・ユニーク・キーを作ります。そしてこれで暗号化されたタイトル・キーを復号化します。復号についてこれ以上特記することはないので、ここではなぜこのステージが存在しているのか説明しましょう。 別にボリューム・ユニーク・キーで直接映像コンテンツを暗号化してもいい気がしませんか。それをしないでタイトル・キーというもう一段噛ましている理由は何なのでしょうか。 それはダビングを簡単、高速にするためです。ブルーレイもDVDやCDのように正規者であれば正規の手続きでダビングすることは許容されています。ブルーレイ・レコーダのハードディスクに録画したテレビ番組などをダビング10機能などでBD-Rなどに焼く(ダビングする)ことができるのは周知のごとくです。 ブルーレイ・レコーダのハードディスク内の映像データも当然暗号化されて録画されています。こうしないとハードディスクドライブを取り出したら、パソコンでコピーできてしまうからです。 もしタイトル・キーがないと、このダビングの時にハードディスク内の暗号化された映像データを一旦復号して、また改めてメディア用のボリューム・ユニーク・キーで再暗号化しないといけません。 タイトル・キーがあれば映像データは暗号化されたままコピーし、タイトル・キーだけ復号して、再暗号化するだけで済みます。 映像データは、ハイビジョンだと2時間で25GB(ギガバイト)はあります。これを復号、再暗号化するのには相当の時間とCPUを必要とします。しかしタイトル・キーは128bit、つまり16バイトに過ぎません。復号、再暗号化の時間は一瞬です。映像データはただのデータコピーで済むのでメディアに焼ける最高速でダビングができます。 タイトル・キーが取り出せたら、後はそれでコンテンツ自体を復号化するだけです。このステージは特に追加で説明する要素はありませんが、こうしてやっと暗号化されていないプレーンな映像コンテンツが取り出される訳です。 Blu-rayの暗号システムのトップページへもどる デジタル家電のトップページへもどる ホームページへもどる |