プロテクテッド・ストリーミング[1]はAdobe社のDRM技術です。この技術の目的は、デジタルコンテンツ(動画や音声)を不正利用から保護することです。
保護されたストリーミングはさまざまな技術で構成されており、基本的には暗号化とSWF検証という 2 つの主要コンポーネントがあります。
この技術は、HuluデスクトッププレーヤーとRTÉプレーヤーで使用されています。Fifa.comも、公式サイトで動画を配信するためにこの技術を使用しています。YouTubeの一部の動画もRTMPEを使用しており、BBC Worldwideがアップロードした動画もその1つです。
暗号化
ストリーミングコンテンツはFlash Media Serverによって「オンザフライ」で暗号化されるため、ソースファイル自体を暗号化する必要はありません(これはMicrosoftのDRMとの大きな違いです)。伝送(「ストリーミング」)には、 RTMPEまたはRTMPSのいずれかの特別なプロトコルが必要です。[要出典]
RTMPSはSSL暗号化を使用します。一方、RTMPEはSSL証明書の取得を不要にすることで、RTMPSよりもシンプルな設計となっています。RTMPEは、Diffie-Hellman鍵交換とHMACSHA256といった業界標準の暗号プリミティブを用いてRC4鍵ペアを生成します。この鍵の1つはサーバーから送信されるメディアデータ(オーディオまたはビデオストリーム)の暗号化に使用され、もう1つの鍵はサーバーに送信されるデータの暗号化に使用されます。Flash Media ServerにおけるCPU負荷は、RTMPEの方がRTMPSよりも低かったのです。[要出典]
Adobe Flash Playerから抽出された既知の定数のコピーを持つツールは、RTMPEストリームをキャプチャすることが可能です。これは、信頼されたクライアント問題の一種です。Adobeは、rtmpdumpを含むRTMPE録画ツールの配布を制限するため、 DMCA削除命令を発行しました。しかし、 rtmpdumpの場合、これはストライサンド効果を引き起こしました。[2]
SWF検証
Adobe Flash Playerは、SWFファイルから得られる情報(ファイルのハッシュ値とサイズ)に付加された既知の定数をHMACSHA256への入力として使用します。HMACSHA256キーは、サーバーの最初のハンドシェイクパケットの最後の32バイトです。Flash Media Serverはこれを使用して、SWFファイルにアクセスできるクライアント(またはSWFファイルのハッシュ値とサイズのコピーを受け取ったクライアント)のみにアクセスを制限します。
正式に許可されたクライアント(実際には *.swf ファイル)はすべて、ファイルをストリーミングする Flash Media Server 上に配置する必要があります。それ以外のクライアントが接続を要求すると、「接続拒否」が返されます。
両方の技術を組み合わせることで、ストリームが盗聴されローカルファイルに保存されることを防止できます。SWF検証はサードパーティクライアントによるコンテンツへのアクセスを防ぐことを目的としていますが、この目的は達成されません。サードパーティクライアントは、SWFファイルのハッシュとサイズを知るだけで、復号化されたコンテンツをローカルファイルに書き込むことができます。そのため、実際には、Adobe独自のMacromedia Flash Player実装だけが、ローカルファイルへの保存を許可していないクライアントです。
Flash Media Serverへの接続を制限する唯一の方法は、既知のホストのリストを使用することです。これにより、プレーヤー全体(Flashクライアント)が不正なウェブサイトに配置されることを防ぎます。しかし、この方法も、大量に配布されるファイルには実質的なメリットがありません。既知のホストのいずれかがデータのコピーを取得し、自由に再配布できるからです。したがって、「既知のホスト」によるセキュリティは、既知のホストがデータを再配布しないと信頼できる場合にのみ有効です。
注記
- ^ 「保護されたストリーミングのための Adobe Access Server の使用」
- ^ 「AdobeがrtmpdumpのDMCA削除要請を発行」2009年5月21日。2010年6月11日時点のオリジナルよりアーカイブ。
参考文献
- Adobeによるホワイトペーパー
- RTMPE (Adobe LiveDocs)
- RTMPS (Adobe LiveDocs)
- RTMFP暗号化メカニズム(ドラフト)、ゼロからリバースエンジニアリング