AACSの概要

2018/1/8


キー(鍵)配布の問題

共通鍵方式の一番の問題はキー(鍵)の配布にあります。キー自体はAES 128bitという現在でも依然強力な仕組みを採用しました。所謂総当たりで探しても、スーパーコンピュータでも数年かかるというものです。そのためキー自体が解読されることはありません。しかしこのキーそのものが不正者に漏れたら、どうにもならないのです。

もし正規の利用者が特定されていて、ごく少数であれば、秘密裏にキーを受け渡す(配布する)方法、かつ漏洩しないように管理する方法はいくらでもあるでしょう。しかしBlu-rayを再生したい人は非常に沢山いて特定できません。

そのためキーを広範に配布することになるので、このキーの管理が難しく、漏洩する可能性は沢山あります。単純に受け取ったメーカーが漏洩するかもしれません。管理が杜撰で盗難にあうかもしれません。またメーカーが倒産してしまうかもしれません。そうするとこのメーカーに秘密裏に配布したキーはどうなるか全く保証の限りではありません。

しかし一番可能性として高く、恐れているのがパソコンでBlu-rayを再生するアプリケーション・プログラム(今後これをBlu-ray再生アプリと呼びます)用に配布したキーが不正者によって比較的簡単に探し出されることです。パソコンというかなり自由度が高く、利用者が内部に入り易い機械装置の中で動くため、メモリーをトレースするなど様々な方法でキーを探し出すことができます。これをキーをクラックすると言います。これまでもキーの漏洩の殆どがこのパターンです。

従ってキーは漏洩する、クラックされるという前提での対策が必要です。

この不正者にクラックされて、漏洩してしまったキーを使えなくしてしまう、無効にしてしまうことを効果的に行うことができればこの問題を解決することができます。因みにこのキーを無効にすることをリボークといいます

このように大多数の正規利用者、ユーザには正しく復号化できるキーを配布しつつ、特定キーをリボークすること、これを効果的に行うためにAACSでは様々な対策を講じています。


イタチごっこ

しかしメディアという物理的なものが対象となるBlu-rayやHD DVDなどの場合、既に発売されてユーザの手元にあるので、それ自体を漏れたキーでも復号化できないようにすることは不可能です。

そのためAACSによって保護されるのは、リボークの後に発売されたメディアが対象になります。既に発売済みのものは諦めるということです。

これはAACSの限界でもあり方針です。それでもキー自体の解読が簡単にできてしまったDVDのように今後出るものも含めすべて復号化できてしまうよりはずっとましであり、不正者への抑止力には十分になるという考え方です。

キーのクラックは非常に困難ですが、苦労して行ってもすぐにリボークされてしまいます。また頑張ってクラックする。所謂不正者のクラックとAACSのリボークのイタチごっこな訳ですが、このクラックの困難さと相まって、迅速で効果的なリボークが実現できれば、このイタチごっこに着いていける不正者は非常に限られ、やがて現れなくなるであろうという考え方なのです。


AACSの登場人物

AACSは、米IBMIntelMicrosoftソニー松下電器産業東芝、ならびにウォルト・ディズニー・カンパニーワーナー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再生アプリ開発、提供する会社(ソフトウェア・メーカー)もユーザです。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を構成する要素として、以下が挙げられます。

  1. デバイス・キー(Set of Device Keys)
    AACS LAが作成し、ユーザに対して発行、配布されるキーです。これを用いてユーザはコンテンツの復号化を行います。「Set of」とあるように複数のキーがセットで配布されます。ユーザに配布されるので、最も重要なリボーク対象です。
     
  2. メディア・キー(Media Key)
    AACS LAが作成し、プロバイダに対して発行、配布されるキーです。これを用いてプロバイダはコンテンツの暗号化を行います。メディア・キーは映像タイトル毎に発行されます。例えば「レイダース 失われたアーク《聖櫃》」と「魔宮の伝説」ではメディア・キーが違うということです。
     
  3. メディア・キー・ブロック(Media Key Block)
    メディア・キーを暗号化して沢山格納している箱だと思って下さい。今後MKBと略します。後述するHRLなども格納しています。
     
  4. ボリューム・ユニーク・キー(Volume Unique Key)
    メディア・キーと後述するボリュームIDで作る中間キーです。BDAVでは中間キーということで特に名前がついてないです。
     
  5. タイトル・キー(Title Key)
    プロバイダが自ら作成し、映像コンテンツを暗号化するキーです。
     
  6. ホストID
    AACS LAが作成し、ユーザに対して発行、配布される、ユーザの識別子です。ユーザはこれを提示して認証されれば、後述するボリュームIDを取得できます。やはり重要なリボーク対象の一つです。
     
  7. Host Revocation List(HRL)
    不正ユーザのホストIDのリストです。いわば指名手配者のブラックリストのようなものです。前述のMKBの中に格納されていますが、その一部であるPartial MKBにも格納されています。
     
  8. ボリュームID(Volume ID)
    メディア・キーと一緒にボリューム・ユニーク・キーを作る情報です。このボリュームIDと似たような目的で使われる要素がBDAVでは「Binding Nonce」と呼ばれます。ただしBDMVにもBinding nonceはあります。このあたりの関係は少々複雑なので、とにかくBDMVではボリュームID、BDAVではBinding nonceと思って下さい。
    前述のホストIDが認証されないと取得できない情報です。
     
  9. C-Value
    メディア・キーは暗号化されてMKBに格納されていると説明していますが、その暗号化されたメディア・キーのことです。
     
  10. プロセス・キー(Processing Key)
    ユーザがデバイス・キーとMKBの情報から算出する中間キーです。中間情報なので特に誰かが作成、発行するといったキーではありませんが、何気に重要な要素で、リボーク対象にもなっているためここで挙げておきます。これを用いてC-Valueを復号化して目的のメディア・キーを取り出します。

ではこの登場人物たちがこの要素を使って、どのような流れで映像コンテンツを暗号化し、復号化していくか説明しましょう。


暗号化の流れ

基本的に暗号化の流れの反対が復号化の流れになるので、どちらかを説明すれば一方は大体分かるのですが、対になっていない動きもあるので、一応分けて説明します。

利用者には復号化の流れの方が重要ですしイメージしやすいので、復号化の流れに力点をおいて説明しますが、順序的には暗号化が先に行われるのでまず暗号化の流れから説明します。

[暗号化概要図]

プロバイダにはまずAACS LAからメディア・キーMKBのセットとボリュームIDが発行されます。発行の手続きも極めて複雑ですが、ここでは省略します。

プロバイダはこのメディア・キーとボリュームIDを使ってボリューム・ユニーク・キーを作ります。

またプロバイダは独自にタイトル・キーを用意します。このタイトル・キーを使って、映像コンテンツを暗号化します。一方前述のボリューム・ユニーク・キータイトル・キーも暗号化します。

こうして出来上がった暗号化されたタイトル・キー(Encrypted Title Key)暗号化された映像コンテンツ(Encrypted Contents)メディア書き込みます。またメディア・キーとセットで受け取ったMKBそのまま書き込みます。

さらにボリュームIDも書き込みますが、特殊な保護領域に複雑な手続きで書き込むので、前述の書き込みデータとは全く違う方式なのですが、ここでは単に保護領域に書き込むとだけ認識してもらえればいいです。


復号化の基本的な流れ

[復号化概要図]

ユーザにはデバイス・キー複数セットで配布されると説明していますが、もう少し具体的に言うと、Blu-rayレコーダなどのハードウェア・メーカーに対しては、個々のメーカー毎に異なったセットのデバイス・キーが配布されます。一方Blu-ray再生アプリを開発するソフトウェア・メーカーにはすべてのソフトウェア・メーカーに同一セットのデバイス・キーが配布されます。

前述のようにソフトウェア・メーカーに配布したデバイス・キーはクラックによって漏洩するリスクがハードウェアよりも格段に高いため、予防リボークという意味で定期的にリボークしています。

しかしこれを個々のソフトウェア・メーカー毎にやっているとデバイス・キーがすぐに枯渇してしまうので、ソフトウェア・メーカーは一律管理にしてしまうことにしたのでしょう。ソフトウェアの場合、ハードウェアに比べてデバイス・キーの更新が格段に容易だという点もこの運用を可能にしている理由です。

まずユーザはデバイス・キーで、MKBからメディア・キーを探しだします。これをMKBをプロセスするといいます。これが最初のステージ「プロセスMKBステージ」です。なおステージ名は説明上私が命名したものです。

次のステージでユーザはホストIDを用いて、メディアからボリュームIDを取り出します。これを「ホスト認証ステージ」と呼びましょう。

次に取り出したメディア・キーボリュームIDを用いて、ボリューム・ユニーク・キーを作り、これでやはりメディアに格納されている暗号化されたタイトル・キーを復号して、タイトル・キーを取り出します。(タイトル・キー復号ステージ)

そして最後のステージで暗号化されたコンテンツタイトル・キーで復号化して、やっとプレーンな映像コンテンツを取り出すのです。(映像コンテンツ復号ステージ)

基本的な流れはこのようなものです。更にプロセスMKBステージホスト認証ステージは詳しく説明しましょう。


プロセスMKBステージ

このステージでSD法(Subset Difference Method)という、小難しい仕組みが働きます。これがAACSを強力にしている真骨頂なので、メディア・キーの仕組みで詳しく解説します。ここではほんの概要だけ言及します。

ユーザは自分のデバイス・キーやMKBの情報などを使ってプロセス・キーを取り出し(算出し)ます。

プロセス・キーが算出されると、MKBに格納された沢山のC-Valueから目的のC-Valueを見つけます。

目的のC-Valueが見つかったら、それをプロセス・キーで復号化すると、それがまさにこのステージの最終目的であるメディア・キーなのです。


ホスト認証ステージ

ホストIDもデバイス・キー同様、ユーザごとに配布されたものです。このホストIDもデバイス・キーほどではないですが、リボークする仕組みを持っています。Blu-rayドライブは不正なホストのリストを持っていて、そのリストにあるホストIDからの要求は受け付けないというものです。言わば不正者のブラックリストですが、これは前述したHost Revocation List(HRL)と呼ばれるもので、このHRLに基づいてホストが不正者でないかを認証するのがこのホスト認証ステージということになります。

因みにこのホスト認証ステージが存在する理由は何でしょうか。既に強力なMKBの仕組みがあるのに更に強力にするためにあるのでしょうか。まあそういう意味合いもあるかと思いますが、もっと一つ重要な役割があります。

これはメディア(円盤)のイメージ複製を防ぐための仕組みです。どんなに強力なMKBの仕組みでも、メディア(円盤)を物理的イメージのままコピーできてしまっては、あまり意味がありません。勿論この場合はあくまで円盤としてコピーされるだけなので、不正利用はレコーダ、プレーヤでの再生だけです。映像コンテンツが復号化されてプレーンな映像コンテンツにされてしまう訳ではないので、レコーダのHDDにコピーしたり、YouTubeに勝手にアップして、インターネット上に放出するといった無限の拡散が行われてしまう訳ではありません。

しかしメディア複製でも十分甚大な損害を被ることになるので著作権者としては是非とも防ぎたいことではあります。それを防ぐ仕組みがホスト認証ステージとなります。

ホスト認証ステージで取り出す情報はボリュームIDです。これはメディアの特殊な保護領域(Protected Area)に記録されています。保護領域なので通常のBlu-rayドライブでは書き込むことができない領域です。また通常の手続きでは読み込みこともできません。

ホストはBlu-rayドライブに対して、ホストIDを提示してボリュームIDの取り出しを要求します。Blu-rayドライブ側では、提示されたホストIDを自身が持つHRLにないか確認します。リストになく、かつホストIDとしての条件を満たしていたら、つまりホストIDの認証が通ったら特殊な方法で読みだしたボリューム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の暗号システムのトップページへもどる
家電のトップページへもどる
ホームページへもどる
inserted by FC2 system