DRM とコンテンツ保護の信頼モデル
なぜ再生機器を信頼境界に置くと有料動画を守れるのかが分かる。Widevine/PlayReady の鍵階層、CDM とセキュアパス、HDCP、白箱暗号の限界まで、攻撃面である耐タンパ性を軸に原理で押さえられる。
- 1.DRM は鍵を「攻撃者の手元にある再生機器」へ配りながらコンテンツを守る矛盾を、再生機器のハードウェア耐タンパ部を信頼境界に据えることで成立させる。信頼の根は端末側に外注される。
- 2.鍵階層はデバイス鍵→ライセンスサーバー発行のコンテンツ鍵という二段で、復号・復号後の映像をハードウェアの保護経路(セキュアパス)に閉じ込め、平文映像をアプリやOSのメモリへ出さないことで保護レベル(L1/SL3000)が決まる。
- 3.ソフトウェアだけの白箱暗号やHDCPは鍵抽出やストリッパで突破され、保護は耐タンパ境界の堅牢さ以上には強くならない。DRMは破られない仕組みではなく攻撃コストを引き上げる経済モデルである。
DRM が解く矛盾:鍵を「敵の手元」に配る
通常の暗号は、鍵を持つ正規の受信者を味方と仮定します。ところが有料動画の DRM(Digital Rights Management)が守りたい相手は、復号鍵を受け取って再生する視聴者そのものです。つまり「復号できなければ視聴できない」のに「復号できる相手が攻撃者かもしれない」という根本矛盾を抱えます。鍵も暗号文も復号ロジックも、すべて攻撃者が物理的に支配する端末上に揃ってしまうのです。
DRM はこの矛盾を、信頼境界を端末内のハードウェアへ押し込むことで回避します。CPU が触れる一般のメモリやアプリは信頼せず、端末に組み込まれた耐タンパな保護領域だけを信頼する。鍵の復号と映像の復号をこの領域の内側で完結させ、平文の鍵も平文の映像フレームも、外側のソフトウェアからは決して読めないようにします。発想はTEE(セキュアエンクレーブ)と同じで、DRM はそれを動画再生に特化させた応用だと整理できます。
配信事業者は世界中の無数の端末を直接検証できません。代わりに、SoC ベンダや OS ベンダが端末製造時に焼き込んだデバイス鍵と、それを保証するベンダの認証局を信頼します。Widevine なら Google、PlayReady なら Microsoft が信頼の起点となり、配信側はそのルートを信頼するだけで個々の端末を信用できる。DRM の信頼モデルは、端末の耐タンパ性とベンダの鍵管理に全面的に依存します。
鍵階層:デバイス鍵からコンテンツ鍵へ
DRM の鍵は階層構造を取ります。最下層に端末固有のデバイス鍵(製造時に耐タンパ領域へ焼き込まれ、外に出ない)があり、その上に配信ごとのコンテンツ鍵(実際に映像を復号する鍵)が乗ります。再生の流れはおおむね次のようになります。
ライセンス取得とコンテンツ復号の流れ:
端末 ──(デバイス証明書で要求に署名)──▶ ライセンスサーバー
◀──(デバイス鍵でラップしたコンテンツ鍵を返す)──
│
▼ 耐タンパ領域の内側で
デバイス鍵でコンテンツ鍵をアンラップ
│
▼
コンテンツ鍵で暗号化映像(CENC)を復号
│
▼
復号済みフレーム ──▶ セキュアパス経由でディスプレイへ
(アプリ/OS には平文映像が渡らない)
ここで効くのが鍵ラッピングです。サーバーはコンテンツ鍵を平文で送らず、要求してきた端末のデバイス鍵(公開鍵)で暗号化(ラップ)して返します。アンラップできるのは対応する秘密鍵を耐タンパ領域に持つその端末だけ。コンテンツ鍵がネットワークやアプリのメモリを平文で通らないため、傍受しても再利用できません。映像本体は通常 AES で暗号化され(MPEG-CENC: Common Encryption が CTR や CBC のサブサンプル暗号化を規定)、その動作原理は暗号利用モードで扱った CTR/CBC そのものです。
Common Encryption(CENC)は、同じ暗号化済み映像ファイルを Widevine でも PlayReady でも FairPlay でも復号できるよう、映像の暗号化方式と鍵をどう配るかを分離した規格です。映像は CENC で一度だけ暗号化し、鍵配布(ライセンス)の部分だけを各 DRM が担当する。これにより配信側は1つのエンコード資産を複数 DRM へ使い回せます。
セキュアパスと保護レベル:平文映像をどこまで隠すか
鍵を守れても、復号後の平文フレームがアプリやOSのメモリに置かれれば、そこをダンプして無劣化コピーが取れてしまいます。そこで DRM は復号からディスプレイ出力までを途切れず保護するセキュアパス(secure media path)を要求します。復号は SoC 内の専用ブロックが行い、出力フレームは CPU から読めないセキュアビデオメモリにだけ書かれ、ディスプレイコントローラへ直接渡されます。この経路全体が耐タンパ領域に閉じているかどうかで、保護の強度が段階分けされます。
| 保護レベル | 復号と映像処理の場所 | 想定される配信 |
|---|---|---|
| Widevine L1 / PlayReady SL3000 | 鍵処理も映像復号も TEE/セキュアパス内。平文映像は CPU から不可視 | 4K・HD など高価値コンテンツ |
| Widevine L2 | 鍵処理は TEE 内、映像復号は TEE 外(中間的) | 中間品質 |
| Widevine L3 / PlayReady SL2000 | 鍵も復号もソフトウェア(白箱暗号)で実行。ハード保護なし | SD 画質に制限されがち |
実務上の含意は明快です。ハードウェア保護のない L3/SL2000 端末には高画質を配信しない——配信事業者はライセンス発行ポリシーで保護レベルを判定し、解像度に上限をかけます。これが「ブラウザだと HD が出ないのに専用アプリやテレビだと 4K になる」現象の正体です。
HDCP:最後の出力経路を守る
セキュアパスで端末内を守っても、HDMI ケーブルでディスプレイへ出る瞬間に平文映像が外へ流れます。ここを守るのが **HDCP(High-bandwidth Digital Content Protection)**です。送信機(端末)と受信機(ディスプレイ)が認証し合い、両者だけが知るセッション鍵で出力ストリームを暗号化することで、ケーブル上やキャプチャ機器での傍受を防ぎます。さらに送信機は受信機の正当性を確認し、剥奪された機器(鍵が漏洩した装置)を拒否できます。
HDCP 1.x のマスター鍵は2010年に漏洩し、認証を任意に通せる状態になりました。さらに正規の HDCP 受信機として認証を受けつつ、復号した平文映像を再出力するHDCP ストリッパが市販されています。これに対し HDCP 2.x は公開鍵認証(RSA)と AES による刷新で耐性を上げましたが、出力段という「物理的に必ず平文へ戻る点」がある以上、アナログホール(画面を直接撮影する攻撃)も含めて完全な封鎖は原理的に不可能です。HDCP は完璧な防御ではなく、コピーの手間と品質を悪化させる障壁です。
白箱暗号の限界と耐タンパ性という攻撃面
ハードウェア保護を持たない L3 端末(多くの PC ブラウザ)では、鍵処理をソフトウェアだけで行わざるを得ません。ここで使われるのが白箱暗号(white-box cryptography)です。これは「攻撃者が実行環境を完全に観測・改変できる」前提で、鍵を巨大なルックアップテーブルに溶かし込み、メモリ上のどこを見ても鍵バイト列が現れないよう難読化する技術です。
白箱暗号は数学的な秘匿ではなく難読化であり、原理的に解析可能です。テーブルへの入出力を観測する代数的攻撃や、計算過程の差分から鍵ビットを推定するDFA/DCA(差分故障解析・差分計算解析)など、サイドチャネル攻撃の手法を実装に適用する研究が成果を上げています。だから白箱は「いつかは破られる」前提で、剥奪と更新を繰り返して攻撃者を追い続ける運用が組み合わされます。L3 に高画質を出さないのは、この脆さを織り込んだ判断です。
ここから DRM の本質が見えてきます。攻撃者の最終目標は、復号された平文映像か、コンテンツ鍵そのものの抽出です。鍵がハードウェア耐タンパ領域に閉じている L1 では、鍵抽出には暗号の基礎が前提とする数学的強度ではなく、チップを削ってプローブを当てる物理攻撃が必要になり、攻撃コストが跳ね上がります。逆に L3 では難読化の解析だけで済みます。保護の強さは耐タンパ境界の堅牢さで決まり、それ以上にはならないのです。
したがって DRM は「絶対に破られない仕組み」ではありません。1台でも破ってコンテンツ鍵や平文を抽出されれば、その作品は流出します。DRM の目的は流出をゼロにすることではなく、(1) 大量配布を担う「楽な経路」を塞いで攻撃コストを引き上げ、(2) 破られた端末の鍵を剥奪・更新して攻撃を陳腐化させ続ける——という経済モデルにあります。耐タンパ性が破られても全滅しないよう、鍵を更新可能に設計しておくことが、DRM 設計の最重要点です。
まとめ
DRM の信頼モデルの核心は、復号鍵と暗号文がともに攻撃者の端末上に揃うという矛盾を、信頼境界を端末内のハードウェア耐タンパ領域へ移すことで成立させる点にあります。デバイス鍵でコンテンツ鍵をラップして配り、復号と復号後の映像処理をセキュアパス内に閉じ込め、平文の鍵も平文の映像もソフトウェアへ漏らさない。この境界に何を閉じ込められるか(L1/SL3000 か L3/SL2000 か)が、配信できる画質を直接決めます。
HDCP は出力経路という最後の平文化ポイントを守りますが、アナログホールやストリッパの存在から完全ではありません。白箱暗号も難読化に過ぎず、解析で破られます。結局すべては耐タンパ境界の堅牢さに帰着し、DRM は破られない保証ではなく、攻撃コストを引き上げ、破られた鍵を剥奪・更新し続ける動的な経済モデルとして理解するのが正確です。土台となる端末側の隔離はTEE とセキュアエンクレーブを、映像暗号の中身は暗号利用モードを合わせて参照してください。
セキュリティ Article
DRM とコンテンツ保護の信頼モデルを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
DRM
比較で見る軸
難易度: advanced / カテゴリ: セキュリティ / タグ数: 5
導入後に効く点
鍵階層はデバイス鍵→ライセンスサーバー発行のコンテンツ鍵という二段で、復号・復号後の映像をハードウェアの保護経路(セキュアパス)に閉じ込め、平文映像をアプリやOSのメモリへ出さないことで保護レベル(L1/SL3000)が決まる。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- セキュリティ
- タグ数
- 5
判断チェックリスト
- 自社の用途が「DRM / コンテンツ保護」に近いか確認する。
- 強みである「DRM は鍵を「攻撃者の手元にある再生機器」へ配りながらコンテンツを守る矛盾を、再生機器のハードウェア耐タンパ部を信頼境界に据えることで成立させる。信頼の根は端末側に外注される。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。