AACSの感染

2018/1/8


MKBバージョン

AACSはSD法によって、効果的に不正者をリボークできる仕組みを持てた訳ですが、プロバイダは不正者をリボークできる新しいメディア・キーを使わないと意味がありません。

そこでAACS LAはまず新バージョンとして不正デバイス・キーをリボークした新しいMKBを作ります。そしてこれをプロバイダに対して、新しいメディア・キーと共に配布します。

プロバイダは以降発売するBlu-rayソフトはこの新しいメディア・キーを使って暗号化し、新バージョンのMKBを格納します。

尚、MKBはBlu-rayメディアの中にファイルとして格納されます。AACSというフォルダの中にMKB_RO.infMKB_RW.inf(BDAVではMKB_RW.infのみ)というファイルがあってこれがまさにMKBそのものです。

このファイルにMKBのバージョン数も記録されています。BZ Editorなどのバイナリエディタで開かないと確認できませんが、以下がBZ Editorで私の手持ちのMKB_RW.infを開いたところです。

[MKB_RW.inf内のAACSバージョン]

赤枠で囲んだオフセット8バイト目から11バイト目がMKBのバージョン数を表しています。16進数なので、この例の場合は10進数にすると「21」になるので、バージョン21であるということになります。

新バージョンのメディア・キーで暗号化されたBlu-rayソフトは最早不正者には復号化できなくなることは説明してきました。しかしこれだけでは十分ではありません。この後MKBの新バージョンを市場に浸透されることを行います。

ところでAACS LAはデバイス・キーなどが漏れたと判断した時にそれをリボークするためMKBのバージョンを上げる訳ですが、Blu-ray再生アプリなどのソフトウェア向けに配布したデバイス・キーは定期的にリボークすると以前説明しています。その結果その都度MKBバージョンが上がります。

そのためBlu-ray再生アプリはプログラム・アップデートと称して定期的にインターネットを通じてデバイス・キーを更新しています。古いバージョンのアプリはこのアップデートが行われなくなるので、新しいBlu-rayソフト(つまり高いMKBバージョンのソフト)が時折再生できなくなるのはこのためです。

[定期リボークされるBlu-ray再生アプリ]

尚、このBlu-ray再生アプリのデバイス・キーのアップデートはMKBのバージョンアップとは違うので気をつけて下さい。デバイス・キーには特にバージョンという概念はなく、あくまでMKBのバージョンアップによって手持ちのデバイス・キーが定期リボークされるので更新(アップデート)せざるを得ないのです。

因みにハードウェアであるBlu-rayレコーダやBlu-rayプレーヤは、まずデバイス・キーが漏れることはないので、これらに配布されたデバイス・キーの定期的リボークは行なわれません。しかしソニーのプレーステーションはハードウェアですが、ソフトウェアの要素が強い(現実にプレステから漏れてます)ので、デバイス・キーの定期的リボークが行われています。

[定期リボークされるPS3]

さてMKBの新バージョンの浸透の話に戻しますが、浸透方法の説明をする前に、まず不正者は不正に入手したキーをどのように使うのかを確認しておきましょう。


不正者の行動

これまで述べてきたように正規の手続きで暗号化された映像コンテンツを復号化して、映像を楽しむ一般利用者に対して、不正に入手したキーなどで不正に復号化することをリッピングを呼びます。英語の意味としては「剥ぎ取る」という意味ですが、暗号化というベールを剥ぎ取るからこの名が付けられたのでしょう。

一言で不正者と言っても、キーをクラックしたり、それを使って復号化する特殊なプログラムを作るなど極めて高度なことを行う輩を特にハッカーとここでは定義しましょう。

一方ハッカーによってクラックされ、ネット上に公開された(晒されたと言う)キーを使って、またハッカー達が作った特殊プログラムを使って単にリッピングをするだけの輩をリッパーと呼びましょう。しかしいずれも不正者であることには変わりありません。

ハッカー達がクラックしたキーをだた持っているだけでは何の実害もありません。市販のBlu-rayプレーヤBlu-rayレコーダに読み込まれるといったことができる訳ではありません。また市販のBlu-ray再生アプリを改竄できる訳でもありません。

そこでハッカーはパソコンで独自のBlu-ray再生アプリを作ります。まさに前述の特殊なプログラムのことです。本来正規のBlu-ray再生アプリは、AACS LAからライセンスを受けて、正規にキーを発行してもらう訳ですが、不正者が作ったBlu-ray再生アプリ用には当然AACS LAからキーは貰えないので、ここでクラックしたキーを使うのです。

正規のBlu-ray再生アプリは、当然映像コンテンツを復号化できる訳ですが、その復号化したプレーンな映像データをあくまで再生するだけでデータとして取り出せるようには決してしません。パソコンのメモリー上でプレーンな映像データをクラックできるのではと思うかもしれませんが、これもできないようになっています。

復号化したプレーンデータは即座にそのアプリの中で独自に暗号化します。その暗号化した映像データをパソコンのモニターに送ります。モニターではパソコンとセキュアな方法でアプリが暗号化したキーを受け取ります。そしてモニターの中で復号化して表示するのです。この規格をHigh-bandwidth Digital Content Protection(HDCP)と呼び、正規のBlu-ray再生アプリはこの規格に則り、モニターに映像データを送ることが義務付けられています。

ハッカーが作るBlu-ray再生アプリはこの規格に則る必要もなければ、プレーンデータを取り出して好き勝手することもできます。その映像コンテンツをBD-Rに焼いて、海賊版ソフトとしてヤフオクで売ることも、YouTubeニコ動にアップすることも可能なのです。

このようにハッカーやリッパー達は発売されたBlu-rayソフトをパソコンを使ってプレーンデータとして取り出すことが目的なのです。決してその場で再生して見たい訳ではないですから、これらの不正アプリには再生機能などないものが殆どです。こうなるとこれは再生アプリではなく「暗号解除アプリ」と呼べるでしょう。プレーンデータにさえなってしまえば、あとは再びBD-Rに焼いて、Blu-rayプレーヤやBlu-rayレコーダで見てもいいし、パソコンならWindows標準Windows Media Playerや巷にあふれているフリーの動画再生アプリでも見れるので、映像の再生はこれらに任せておけばいいのです。

一時期リッピング・アプリとして一世を風靡したSlySoftAnyDVD HDなどもこのような暗号解除アプリの一つです。

[SlySoftのAnyDVD HD]

中にはタイトル・キーを取り出すところまでが肝で、その先は公開された手続きで映像コンテンツは復号化できますから、タイトル・キー抽出に特化したアプリもあります。これがリッパー達にとっての神アプリaacskeysです。

またこれら暗号解除アプリのターゲットになるのはBlu-rayソフトメディアの映像コンテンツだけではありません。放送データもターゲットです。

BSデジタルにしても、地上波デジタルにしても、現在Blu-rayレコーダのハードディスクに録画でき、これをBD-Rにダビングできるようになっていますが、Blu-rayソフト同様にAACSの仕組みで暗号化することになっています。これがBDAV規格です。そのためこのBD-Rにダビングしたデータも普通はプレーンデータとして取り出すことはできません。

しかしこれもハッカー達にかかればプレーンデータにされてしまいます。彼らは自分のレコーダで録画した番組をBD-R(W)にダビングし、それをパソコンに持っていって不正な暗号解除アプリでプレーンデータ化するのです。そうなった後の使い道はBlu-rayソフトの映像データと同じです。よくテレビ番組がYouTubeやニコ動に上がっているのは、こうやってリッピングされたデータであると思われます。


Blu-rayレコーダへの浸透(MKB感染)

前述のような行動をハッカー達は取るので、Blu-rayソフトの映像コンテンツは新しいメディア・キーで暗号化することで、少なくとも以後は守られます。(過去のソフトは諦めることは以前も述べました)

しかしこの放送データはどうなるでしょう。新しいメディア・キーを家電メーカーに配布しても、今後発売されるレコーダはそれを使えますが、既に発売済みのレコーダに入れる術は基本的にはありません。これも諦めるのでしょうか。

これについてはメディアを通じて更新する仕組みがあります。Blu-rayレコーダやBlu-rayプレーヤは挿入されたBlu-rayメディアのMKBバージョンが自分の持っているMKBバージョンより新しい時はメディアのMKBを自分に取り込むことになっています。

もしレコーダがバージョン2だとして、挿入されたメディアがバージョン4なら、レコーダのバージョンが4に上がるのです。しかも挿入した瞬間に更新されます。特に映像を再生しなくても更新されるのです。

[Blu-rayソフトのレコーダ挿入]

リッパー達が自分のレコーダに不用意に上位バージョンのソフトメディアを挿入してしまうとレコーダのMKBバージョンが上がり、自分の隠し持っているクラックされたデバイス・キーなどがリボークされてリッピングができなくなってしまう訳です。

そのため、このメディア挿入によってレコーダなどのMKBバージョンが更新されて(上がって)しまうことを、知らず知らずに感染症にかかったり、コンピュータ・ウィルスに感染してしまうことになぞらえて、AACSの感染と呼んでリッパー達は恐れているのです。

またたとえ自分で挿入しなくても、家族が知らずに入れてしまう可能性もあります。そのためリッパー達の間ではレコーダのトレイロック方法がネット上で話題になっていたくらいです。

このBlu-rayソフトメディアですが、必ずしも映画ソフトなどだけでなく、レンズ・クリーナなどでもガイダンス用の映像が入っていると感染することがあるようです。

また、この感染は必ずしもBlu-rayソフトメディア(BDMVメディア)だけから感染する訳ではありません。Blu-rayレコーダ間でBDAVメディアを通じてでも起こります。先ほどBlu-rayレコーダが挿入されたメディアが自分より新しいAACSバージョンであったら取り込むと言ってますが、逆に挿入されたBDAVメディアが自分より低いAACSバージョンだったら、そちらを自分の持っているMKBで書き換えてしまいます。(勿論これは書き込み行為はBlu-rayプレーヤではできません)

家電メーカーから発売されるBlu-rayレコーダは発売時の最新バージョンのMKBを内蔵して発売されるのが原則です。そのため新しく発売されたレコーダはより高いMKBバージョンであることが普通です。そのような新しいレコーダで放送データをダビングしたBD-Rメディアなどを古いレコーダに挿入した場合でも起こります。ここは結構盲点だったりして、はまるリッパーが多いようです。

特に盲点なのは、上記は「ダビングしたBD-Rメディア」と書きましたが、BD-RE、またはファイナライズしていないBD-Rでも、入れただけでこのメディアが感染します。それが媒介して他のレコーダへとどんどん感染していく訳ですね。

事実私も当時持っていたパナソニックのDIGA DMR-BW830というBlu-rayレコーダは購入当初はリッピング可能なMKBバージョン8だったのですが、テストのためにビックカメラの店頭のレコーダ(確かDMR-BW890)に挿入したBD-REを不用意に挿入してしまい、当時は少なくともフリーツールではリッピング不能なバージョン14に感染させるという失態を犯してます。

[誤って感染させたパナソニックDMR-BW830]

しかしこのメディアを通じての感染以外ないのかというとそういう訳でもないようです。レコーダなどはファームウェアアップデート放送波を通じて行いますが、技術的にはこの際も可能なようです。以前DIGAなどがダビング10対応のアップデートの時にMKBバージョンが上がったという報告があります。

そのためリッパー達はレコーダの放送波による自動アップデート機能を切っているのが普通です。ただしこの放送波のファームウェアアップデートの際にMKBバージョンが上がったという報告は先のダビング10対応時以外はないので、殆ど気にしなくてもいいようです。

ところでこのデバイス・キーのリボークを目的として行われる感染は、ファイルであるMKB_RW.infの移動によって行われますが、後述するホストIDのリボークを目的として、ファイルではなくPartial-MKBの移動によって行われる感染と区別するために、前者をMKB感染、後者をP-MKB感染と便宜上呼びます。

Blu-rayレコーダへの主なMKB感染ルートを図式すると以下のようになります。

[主なMKB感染ルート]

尚、MKB感染はBDライター、それもAACSを使って暗号化して映像データを書き込むものに対して行うことに意味があるので、感染対象として意味を持つのはもっぱらBlu-rayレコーダだけです。Blu-rayプレーヤも感染するようですが、実質意味はありません。データを持たないPC用ドライブは少なくともMKB_RW.infというファイルを媒介とするMKB感染はしようがありません。


パソコン用Blu-rayドライブへの感染(P-MKB感染)

ここまで話してきたのは基本的にデバイス・キーのリボークについてです。前述していますが、ユーザに配布されているのはデバイス・キーの他にホストIDがあります。これも漏れる可能性があるので、リボークする仕組みがあることも説明しました。MKBの中にあるHRL(Host Revocation List)によって、漏れたホストIDを不正IDとしてリストアップして認証時にチェックし、不正IDをはじく動作です。

従ってHRLも定期的に更新されるので、この場合もMKBはバージョンアップします。しかしHRLは利用用途が違うので、感染のさせ方も少し違います。前述していますが、この感染を媒介するものの名を付けてP-MKB感染と呼びましょう。

HRLを更新しないといけないのはBlu-rayドライブです。再生アプリがボリュームIDを取得するためにBlu-rayドライブに対して、問い合わせたときにBlu-rayドライブが自分が持っているHRLを調べるからです。以前Blu-rayドライブはHRLを含むMKBの一部(Partial-MKB)を持っていると説明しました。

Blu-rayドライブが必要なのはHRLくらいなので、まるまるMKBを保持している必要もないため、Partial-MKBを持つようにしています。ドライブなので、ファイルとしてのMKB_RW.infは持てませんが、データとしてPartial-MKBをフラッシュメモリーに保持します。サイズもずっと小さいので、領域に限りのあるドライブのフラッシュメモリーに保持しやすい訳です。メディア側もPartial-MKBを持っていますが、ボリュームID同様、特殊保護領域の保持しています。

そのためメディアを通じて感染するという方式はMKB感染と同じなのですが、なぜかBlu-rayソフト、つまりBDMVメディアを通じての感染しか現在はないようで、BD-RなどBDAVメディアを介してのP-MKB感染はないのです。これはBlu-rayレコーダがBD-RなどにPartial-MKBを書き込まないからです。昔は書き込むレコーダもあったらしいのですが。

しかしBDMVメディアを通じて、リッパー達が持っているパソコン用Blu-rayドライブが感染すると自身が持っている不正に入手したホストIDがリボークされるので、やはりリッピングできなくなってしまうため、彼らが恐れているのは変わりありません。

しかし巷にはバージョンアップしてしまったPartial-MKBを戻せてしまうドライブが存在します。このようなドライブをリッパー達は「神ドライブ」と呼んで崇めています。もっともこの神ドライブはハッカーが作ったものではなく、メーカーが仕様どおり作ったものの何らかのバグがあって、ハッカー達によってそのバグ(脆弱性)が突かれてPartial-MKB書き戻しプログラムを開発されてしまったというものです。比較的新しい神ドライブは、LITEONiHOS104というモデルです。(勿論現在は売ってません。そのためたまにヤフオクで高値で出品されてます)

[LITEON iHOS104]

このようなドライブをリボークするためにDRL(Drive Revocation List)があるのですが、この場合はDRLを活用できません。

例えば正規の再生アプリPowerDVDがDRLを見て、iHOS104を不正としてこのドライブに挿入されたBDMVを再生できないとしても、リッパー達がやりたいのはiHOS104を使ってPowerDVDでBDMVを見たい訳ではありません。自分の不正アプリでリッピングしたいだけですが、この場合DRLは何の役にも立ちません。

結局困るのは、そのような神ドライブとは知らずにiHOS104を買った善良な市民だけなのです。そのためDRLは精々明らかにハッカーなどが作ったと思われる不正ドライブにしか使えず、普通に市販されたが、バグが発見されてリッパー達に利用されてしまっているドライブには適用できないのです。

このようにP-MKB感染(ホストIDのリボーク)は、神ドライブによる回避ができる他、V3リップ(V3抜き)と呼ばれる手段による回避策もあります。前者は感染そのものをなかったことにしてしまいますが、後者は感染そのものの回避ではなく、ホストIDがリボークされても(P-MKB感染しても)、リッピングを可能にしてしまう回避策です。いずれにしても何らかの回避策がありますし、感染経路も限定的なので、リッパーにとってはMKB感染ほど深刻ではないです。

尚、P-MKB感染はレコーダのドライブにも行われますが、レコーダへの感染は実質意味はありません。レコーダのホストIDがリボークされることは殆どないからです。従ってMKB感染とは逆に感染対象はもっぱらPCドライブということになります。

最後にMKB感染とP-MKB感染の違いを整理して表にしてみました。

  リボーク目的 感染媒体データ 感染媒体メディア 主な感染対象 回避策
MKB感染 デバイス・キー MKB_RW.inf BDMV, BDAV レコーダ 基本的になし
P-MKB感染 ホストID Partial-MKB BDMV PCドライブ 神ドライブ、V3リップ

 
Blu-rayの暗号システムのトップページへもどる
家電のトップページへもどる
ホームページへもどる
inserted by FC2 system