コンテンツのセキュアなストリーミング

真のストリーミング

アプリケーションがプログレッシブダウンロード(一般「プログレッシブストリーミング」と呼ばれます)を使用している場合、コンテンツは、悪意のあるエージェントがビデオをキャプチャして再配布する可能性があるクライアントのハードドライブにダウンロードされます。Flash Media Server は、プログレッシブダウンロードではなく真のストリーミングを使用します。これは、Flash Media Server から Adobe Flash Player にストリーミングされるメディアが、クライアントのキャッシュやクライアントのハードドライブ上のどこにも、ローカルでは保存されないことを意味します。設定を行う必要はなく、Flash Media Server は常に真のストリーミングテクノロジーを使用してコンテンツを保護します。

セキュアなネットワークプロトコル

Flash Media Server は、異なるレベルのセキュリティを提供する 2 つのネットワークプロトコルをサポートしています。組織とアプリケーションのニーズに最適なネットワークプロトコルを選択してください。

RTMPE
クライアントとサーバーの間のデータについて、128 ビットの暗号化チャネルが使用されます。証明書の管理は使用されません。エンドポイントの認証を必要とせず、SSL で可能なレベルより高いパフォーマンスと速い速度が必要なアプリケーションに最適です。RTMPE は、RTMP より 15% 高い処理能力を必要とします。暗号化チャネルを指定するには、その接続 URI で、例えば次のように RTMPE プロトコルを使用します。nc.connect("rtmpe://www.example.com/mediaApplication")

RTMPE を介して渡されるデータは、よく知られたストリーム暗号化アルゴリズムで暗号化されています。このアルゴリズムは、受動的観察を防ぎ、Perfect Forward Secrecy を提供するよく知られた公開鍵交換アルゴリズムを使用して鍵をかけます。

注意: Flash Player 9 Update 3 以降および AIR 1.0 以降は、RTMPE をサポートしています。

RTMPS
TCP/IP 上でセキュアな通信を可能にするプロトコルです。Flash Media Server では RTMPS プロトコルを使用して、外部からと外部への両方の SSL 接続をネイティブでサポートしています。SSL によりドメインの偽装から保護できます。また、必要な暗号化のレベルを選択することができます。SSL は、最高レベルのセキュリティを提供することも可能ですが、RTMP より約 50% 高い処理能力が必要になります。RTMPS 接続を指定するには、その接続 URI で、例えば次のように RTMPS プロトコルを使用します。nc.connect("rtmps://www.example.com/mediaapplication")

RTMPS を介して渡されるデータは、SSL の保証により保護されています。サーバー証明書確認では、サーバーが有効であることを認証しますが、クライアントが有効な Flash Player または AIR クライアントであることは認証しません。「SSL の設定」を参照してください。

RTMFP
128 ビットの暗号化を使用します。RTMFP を介して渡されるデータは、よく知られたブロック暗号化アルゴリズムで暗号化されています。アルゴリズムは、受動的観察を防ぎ、Perfect Forward Secrecy を提供するよく知られた公開鍵交換アルゴリズムを使用して鍵をかけます。セッションノンスが提供されて鍵交換に関連付けられるので、交換された値の上部でクライアントとサーバーの認証を構築できます。

ピアツーピア接続を確立するには、サブスクライブするピアがパブリッシュするピアのピア ID を認識する必要があります。ピア ID は、Flash Player の各インスタンスに対して一意である必要があります。ピア ID は、ランダムな暗号のソースから作成される 256 ビットの値です。ピア ID を使用して RTMFP ピアが別の RTMFP ピアに接続すると、公開鍵交換アルゴリズムがそのピア ID に関連付けられるので、man-in-the-middle 攻撃を行うことが不可能になります。RTMFP によって提供されるその他の保証もすべて整っています。

RTMFP 接続を指定するには、その接続 URI で、例えば次のように RTMFP プロトコルを使用します。nc.connect("rtmfp://www.example.com/mediaapplication")

セッションノンス
Flash Player 10、Flash Media Server 3.0.3 および 3.5.1 では、RTMFP および RTMPE 用のセッションノンスのサポートが追加されました。ノンスは鍵交換に関連付けられるので、交換された値の上部でクライアントとサーバーの認証を構築できます。

Flash Player では、NetConnection オブジェクト(nearNonce および farNonce)のプロパティとしてノンスを使用できます。Flash Media Server では、サーバーサイド ActionScript の Client オブジェクト (nearNonce および farNonce)、サーバーサイド ActionScript の NetConnection オブジェクト (nearNonce および farNonce)、Access プラグイン (CONNECT イベント上の nearNonce および farNonceフィールド)、Authorization プラグイン (Client オブジェクトを持つ任意の許可イベントの F_CLIENT_NEAR_NONCE フィールドおよび F_CLIENT_FAR_NONCE フィールド) でノンスを使用できます。