以前の記事でDRMについて簡単に説明しました。
記事の中で取り上げられているDRMの一覧に「あれ、HLS+AESはないの?」と思われた方もいるかもしれません。
実はHLS+AESとDRMを一緒くたにして考えられている方が それなりにいらっしゃいます。この記事では、HLS+ AESとDRMは実際には異なるものであるということを説明していきます。

HLS+ AES(HLS暗号化)ってなに?

DRMとの違いを見ていく前に、まず、ここで述べているHLS+AESとは何のことかを見ていきましょう。
HLS+AESとは、HLS配信プロトコルのコンテンツ暗号化仕様で、AES-128の鍵を使用してコンテンツを暗号化し配信するものです。HLS暗号化とも呼称されます。鍵情報はマニフェストファイル(.m3u8)内にURLが記載されており、動画再生時にクライアントがマニフェストファイル内の鍵情報を元に鍵を取得し、コンテンツを復号して再生します。

上図でHLS+AES配信を簡単に図式化しました。動画が暗号化されると、マニフェストファイル、暗号化された動画ファイルと、暗号化に使用した鍵情報となります。ユーザーが動画を再生する際、まず①マニフェストファイルを取得します。マニフェストファイルには②鍵情報へのURLと③暗号化された動画ファイルへのURLが記載されており、③の動画ファイルは②の鍵情報を使用して復号され、再生されます。

HLS+AESの弱点

前述のHLS+AESの説明で、HLS+AESでの配信について ある程度イメージがつかめたかと思います。「コンテンツが暗号化されているからコピーできないのでは?」と思われるかもしれませんが、HLS+AESには致命的な問題があります。

それは鍵情報自体が保護されていないという点です。 ユーザーが鍵情報に不正にアクセスできないようにアクセス制御等を施しても、多少知識のあるユーザーであれば、通信をキャプチャーして鍵情報を取得できてしまいます。鍵情報自体は何も保護されていないので、暗号化された動画を簡単に復号できてしまえます。

一つの回避策として、鍵情報を難読化してしまうことが考えられますが、クライアント側で実行している難読化解除方法がわかってしまえば、同じく復号が可能となってしまいます。1)特にクライアントがブラウザである場合は難読化を解除するスクリプトファイルがわかれば可能です。

HLS+AESの弱点を補うDRM

前述のHLS+AESの弱点を補うためにDRMと呼ばれるものが誕生しました。DRMには鍵情報を抜けないように保護する仕組みが備わっており、例え通信をキャプチャーしたとしても鍵情報が抜かれる可能性は限りなく低いものとなっています。2)より確実に鍵情報を保護したい場合はハードウェアDRMを使用することが考えられますが詳細については、また別の記事で説明ます。

また、DRMには鍵情報以外にも様々な機能を持っています。「デジタル著作権“管理”」と呼ばれるだけあり、動画の再生時間の制御、外部出力制御(モニターやAirPlayでの出力など)など様々な機能を有しています。この点についてはまた別の記事にて詳細を説明します。

まとめ

本記事でHLS+AESとDRMの違いや、HLS+AESの限界について説明してきました。HLS+AESは単にコンテンツを暗号化して配信、クライアント側で復号して再生する仕様であり、DRMにおいて暗号化/復号はあくまで一つの機能でしかないということが分かったかと思います。また、DRMはHLS+AESによる動画保護の限界を補うものであることが分かったと思います。

HLS+AESは簡易的な暗号化配信をする場合はよいですが、本当にコンテンツを保護したい場合は、DRMの導入を検討された方がよいでしょう。DRMについては、「難しい」・「導入は高額」といったイメージを持たれるかもしれませんが、弊社の「Multi DRM Kit」はそういったハードルを下げるものとなりますので、ぜひともご検討ください。

References   [ + ]

1. 特にクライアントがブラウザである場合は難読化を解除するスクリプトファイルがわかれば可能です。
2. より確実に鍵情報を保護したい場合はハードウェアDRMを使用することが考えられますが詳細については、また別の記事で説明ます。