ADOBE®   MEDIA SERVER 5.0.3

デベロッパーズガイド


翻訳:株式会社サムライズ

 

注意

Adobe Media Server® バージョン 5についての本ドキュメントは第三者によって翻訳されたものであり、Adobe Systems Incorporated(アドビ システムズ社)は本翻訳物の正確性や完全性を査閲していません。

 

2章:コンテンツ保護

 

HDSのコンテンツ保護の設定

AMSではHDSでコンテンツを保護するためにProtected HTTP Dynamic Streaming (PHDS) あるいは Adobe Accessを利用できます。

 

概要

ライブストリーミング用にはPHDS/Adobe Accessを以下のレベルで設定します:

 

        サーバーrootinstall/Apache2.2/conf/httpd.conf

        アプリケーションrootinstall/applications/livepkgr/Application.xml

        イベントrootinstall/applications/livepkgr/events/_definst_/liveevent/Event.xml

 

PHDS

Adobe Media Server  5 を使用して、DRM License Server を使用せずに、ライブおよびオンデマンドの保護されたコンテンツを、HTTP 経由で Flash Player AIR に配信します。Adobe Media Server はコンテンツをパッケージ化するとき、ライセンスを生成し、そのライセンスをコンテンツストリームのメタデータに埋め込みます。この機能は、Protected HTTP Dynamic StreamingPHDS)と呼ばれます。コンテンツの暗号化に加えて、PHDS HTTP Dynamic Streaming SWF 検証もサポートしています。

 

オンデマンド PHDS とライブ PHDS F4F パッケージ化プロセスは、ライセンスを生成してそれを DRM メタデータに埋め込み、メディアと共に配信します。Flash Player 11 AIR 3 のクライアントは、コンテンツストリームからライセンスを取得することができるため、クライアントと License Server 間の通信はなくなります。

 

Adobe Media Server インストーラーは、資格情報、証明書およびポリシーファイルを rootinstall/credsディレクトリに生成します。また、インストーラーは、common-key.bin ファイルを /credsディレクトリに作成します。このファイルの内容を変更したり、新しい共通キーファイルを作成しても構いません。共通キーファイル(common-key.bin)を作成し、それを使用してコンテンツ暗号化キーを生成するには、スクランブルツールを使用します。「スクランブルツール」を参照してください。

 

オンデマンドやライブPHDSのライセンス生成には以下のポリシーファイルを使用します(AMS 5には出力保護をサポートする4つの新しいポリシーファイルが含まれています):

 

ポリシー名

説明

phds_24hr_policy.pol

24時間限定ポリシー

anonymous; 24 hours limited license caching.

これがデフォルトのポリシーです。

ユーザーはコンテンツがパッケージ化されてから 24時間以内に再生を開始できます。ユーザーは最後までコンテンツを見続けることができます(コンテンツは一時停止できます)。

24 時間のウィンドウは、DRM メタデータが生成されると開始されます。

phds_policy.pol

無制限ポリシー

anonymous; unlimited license caching; and binding to Protected Streaming is permitted

 このポリシーでは、いつでも再生が可能です。


ポリシー名

説明

phds-24hr-OPBestEffort.pol

(AMS 5)

24時間限定 / ベストエフォート出力保護ポリシー

24時間限定 / 出力保護無しのポリシーと同様で、ハードウェアコンテンツ保護が利用可能な場合、使用しなければならないという追加の制限があるポリシーです。クライアントのハードウェアが出力保護をサポートしていない場合でも視聴可能です。もしクライアントのハードウェアが出力保護をサポートしていて機能を無効化している場合、FlashPlayerはDRM Run Time Error: 3342 (NoDigitalProtectionAvail)を返します。

phds-OPBestEffort.pol

(AMS 5)

無制限 / ベストエフォート出力保護ポリシー

無制限 / 出力保護無しのポリシーと同様で、ハードウェアコンテンツ保護が利用可能な場合、使用しなければならないという追加の制限があるポリシーです。クライアントのハードウェアが出力保護をサポートしていない場合でも視聴可能です。もしクライアントのハードウェアが出力保護をサポートしていて機能を無効化している場合、FlashPlayerはDRM Run Time Error: 3342 (NoDigitalProtectionAvail)を返します。

phds-24hr-OPRequired.pol

(AMS 5)

24 時間限定 / 出力保護必須ポリシー

24時間限定/出力保護無しのポリシーと同様で、ハードウェアコンテンツ保護を使用しなければならないという追加の制限があるポリシーです。クライアントのハードウェアが出力保護をサポートしていない場合は視聴不可能です。もしクライアントのハードウェアが出力保護をサポートしていない場合や、出力保護をサポートしていて機能を無効化している場合は、FlashPlayerはDRM Run Time Error: 3342 (NoDigitalProtectionAvail)を返します。

phds-OPRequired.pol

(AMS 5)

無制限 / 出力保護必須ポリシー

無制限 /出力保護無しのポリシーと同様で、ハードウェアコンテンツ保護を使用しなければならないという追加の制限があるポリシーです。クライアントのハードウェアが出力保護をサポートしていない場合は視聴不可能です。もしクライアントのハードウェアが出力保護をサポートしていない場合や、出力保護をサポートしていて機能を無効化している場合は、FlashPlayerはDRM Run Time Error: 3342 (NoDigitalProtectionAvail)を返します。

 

 

無制限ポリシーは通常の使用には適していません。無制限ポリシーは、ネットワークに問題が発生した場合の一時的な回避策として提供されます。メディアが Adobe Media Server Flash Player 間のネットワークデバイス上にキャッシュされた場合、クライアントは、予期されたメディアをサーバーから受信する代わりに、ネットワークから期限切れのポリシーデータを受信する場合があります。24 時間ポリシーで生成されたメディアが 24 時間を超えてキャッシュされた場合、Player では再生が許可されません。ネットワーク設定が修正されるまでの一時的なソリューションとして無制限 PHDS ポリシーに切り替えると、キャッシュが消去されます。このソリューションにより、メディアを配信しない代わりに、より低い保護レベルでメディアを配信することができます。無制限ポリシーに切り替えた後に、キャッシュを消去して、無制限ライセンスがクライアントに伝播されるのを許可します。

 

Adobe Access

 

HDSでライブ、オンデマンドコンテンツを配信するために、Adobe AccessHDSを有効化して保護されたストリーミングを行うことができます。Adobe Access server for protectedstreamingはHDSでの使用に最適化されたライセンスサーバ実装です。詳細は、Adobe Accessのドキュメントをご覧ください。

 

重要: HDSパッケージャーでコンテンツの暗号化とフラグメント化の両方を行なってください。コンテンツを暗号化するためにAdobeAccessパッケージングツールを使わないでください。HDSパッケージャーは暗号化されたコンテンツをフラグメント化できません。

 

 

メモ: Adobe Access SDK Adobe Access license server reference implementation はHDSのためのライセンスを発行できます。.

 

Adobe Access server for protected streamingを配備したあとリアルタイムにコンテンツをパッケージ化するようにAMSを設定します。.

 

 

ライブの使用事例

 httpd.confContentProtection タグは <Location hds-live>下で指定されます。.

 

Application.xml ファイル Event.xml ファイルにはどちらにも、ライブPHDSの設定を保持するContentProtection コンテナがあります。

Application.xmlではこのコンテナは、//Application/HDS/Recording/ContentProtection に存在します。一方Event.xmlでは、//Event/Recording/ContentProtection に存在します。

 

はじめに

すぐにPHDSを始めるには、以下のディレクティブを理解する必要があります。

 

ディレクティブ

デフォルト値

説明

HttpStreamingEncryptionScope

content

可能な値はoff, content,  serverです。値がoffのときは、コンテンツは保護されない状態にあります。値がContentのときは、Application.xml あるいはevent.xmlファイルの設定がコンテンツ保護につかわれます。値がSeverのときは、httpd.confの設定がコンテンツ保護に使われます。

HttpStreamingProtectionScheme

PHDS

コンテンツの暗号化タイプです。FlashAccessV3, FlashAccessV2 あるいはPHDSの値が可能ですHttpStreamingProtectionSchemeは、暗号化が有効化されている場合に適用されます。HttpStreamingEncryptionScopeで暗号化のスコープを決定します。

 

 

PHDSの基本設定を行うため、以下の手順を実行します。

 

1 Adobe Media Serverをインストールした後、<root-install>/Apache 2.2/conf/に移動します。httpd.confを編集し<Location /hds-live>の下に以下のタグを追加してください:

 

<Location /hds-live>

   HttpStreamingEnabled true

HttpStreamingLiveEventPath "../applications"

HttpStreamingContentPath "../applications"

HdsFmsDirPath ".."

HttpStreamingF4MMaxAge 2

HttpStreamingBootstrapMaxAge 2

HttpStreamingDrmmetaMaxAge 3600

HttpStreamingFragMaxAge -1

 

HttpStreamingEncryptionScope server

HttpStreamingProtectionScheme PHDS

</Location>

 

メモ: この設定変更はサーバレベルでPHDSを有効化します。

 

2       “livestream?adbe-live-event=liveevent” と名付けたライブストリームを livepkgrへパブリッシュします。

3       http://<server-ip>:8134/hds-live/livepkgr/_definst_/liveevent/livetsream.f4m というURIでストリームを再生します。

 

詳細な設定

以下のセクションはPHDSとAdobeAccessの両スキームの詳細な設定についてです。

 

サーバーレベル

ライブPHDS/Adobe Accessサーバレベル設定

 

サーバーレベルの設定が指定されたとき、その保護のパラメーターはサーバー全体に渡って適用されます。ApplicationEventレベルで指定された暗号化のパラメーターは無視されます。

 

FlashMedia Server 4.5.3以降ではサーバーレベルで暗号化の設定を行うことができます。これらの設定は、そのサーバーで録画されるライブイベントに適用されます。暗号化を有効化あるいは無効化するためには、Apachehttpd.confファイルで以下のf4fhttp_module用のディレクティブを設定します。

 

共通の設定:

 

ディレクティブ

デフォルト値

説明

HdsFmsDirPath

無し

Adobe Media Serverのルートディレクトリーの相対パス。".." を使用します。

HttpStreamingEncryptionScope

content

可能な値はoff, content,  serverです。値がoffのときは、コンテンツは保護されない状態にあります。値がContentのときは、application.xml あるいはevent.xmlファイルの設定がコンテンツ保護につかわれます。値がSeverのときは、httpd.confの設定がコンテンツ保護に使われます。

HttpStreamingProtectionScheme

PHDS

コンテンツの暗号化タイプです。FlashAccessV3, FlashAccessV2 あるいはPHDSの値が可能ですHttpStreamingProtectionSchemeは、暗号化が有効化されている場合に適用されます。HttpStreamingEncryptionScopeで暗号化のスコープを決定します。

 

PHDS 設定

 

ディレクティブ

デフォルト値

説明

PHDSCommonKeyFile

<AMSInstallDir>/creds/c ommon-key.bin

この場所でコンテンツを保護するために使用される共通キーです。PHDSCommonKeyFileパスはrootinstall/Apache2.2に対する相対パスです。

PHDSVideoEncryptionLevel

2

コンテンツの暗号化レベル(0- ,1-m, 2-)です。低と中の設定では部分的な暗号化が行われます。サンプルの一部(例えばビデオのキーフレーム)が暗号化されます。部分的な暗号化は、復号するフレームが少なくなるため、再生パフォーマンスを改善することができます。

PHDSPlaybackExpiration

24Hours

コンテンツが再生可能な期間。可能な値は24Hours Unlimitedです。

PHDSOutputProtection

none

クライアントで要求されるメディアのハードウェア出力保護を指定します。可な値はNoneBestEffortRequiredです。

Adobe Accessの設定

ディレクティブ

デフォルト値

説明

HdsDrmCommonKeyFile

無し

この場所でコンテンツを保護するために使用される共通キーです。HdsDrmCommonKeyFileパスはrootinstall/Apache2.2に対する相対パスです。

HdsDrmLicenseServerURL

無し

コンテンツ保護のためのライセンスサーバーのURL

HdsDrmTransportCertFile

無し

コンテンツ保護のためのトランスポート証明書

HdsDrmLicenseServerCertFile

無し

コンテンツ保護のためのライセンスサーバー証明書

HdsDrmPackagerCredentialFile

無し

コンテンツ保護のためのパッケージャー保護資格証明書

HdsDrmPackagerCredentialPassword

無し

上で設定されたパッケージャー保護資格証明書ファイルのパスワード

HdsDrmPolicyFile

無し

コンテンツ保護のポリシー.

HdsDrmUseUniqueContentID

false

 

デフォルトでは、保護スキームがAdobeAccessに設定されたなら、AMSはユニークではないコンテンツ IDを使用します。コンテンツIDとしてファイルパスが使われます。ゆえに1つのディレクトリ内にあるファイルのコンテンツIDは同じものになります。

この機能を使用すると、異なるビットレートの全てのファイルが1つのディレクトリに保持されているマルチビットレートストリームを、1つのコンテンツIDで暗号化することができます。もしそれぞれのファイルにユニークなIDを使いたい場合、この要素を付け加える必要があります。

HdsDrmContentID

無し

コンテンツIDを手動で設定し、全てのファイルに対して使用することができます。この要素はHdsDrmUseUniqueContentIDtrueに設定されている場合は使用できないことに注意してください。

 

以下の例はhttpd.conf ファイルでPHDSを有効化し、設定を行います。これらの設定はこのサーバーのすべてのライブイベントにされます。

 

 

<Location /hds-live>

HttpStreamingEnabled true

HttpStreamingLiveEventPath "../applications"

HttpStreamingContentPath "../applications"

HdsFmsDirPath ".."

HttpStreamingF4MMaxAge 2

HttpStreamingBootstrapMaxAge 2

HttpStreamingDrmmetaMaxAge 3600

HttpStreamingFragMaxAge -1

Options -Indexes FollowSymLinks

HttpStreamingEncryptionScope server

HttpStreamingProtectionScheme PHDS

PHDSCommonKeyFile "../creds/common-key.bin"

PHDSPlaybackExpiration 24Hours

PHDSOutputProtection  None

</Location>

 

以下の例はhttpd.conf ファイルでAdobe Access (FlashAccessV2)を有効化し、設定を行います。これらの設定はこのサーバーのすべてのライブイベントにされます。

 

 

<Location /hds-live-faxs>

HttpStreamingEnabled true

HttpStreamingLiveEventPath "../applications"

HttpStreamingContentPath "../applications"

HdsFmsDirPath ".."

HttpStreamingF4MMaxAge 2

HttpStreamingBootstrapMaxAge 2

HttpStreamingDrmmetaMaxAge 3600

HttpStreamingFragMaxAge -1

HttpStreamingEncryptionScope server

HttpStreamingProtectionScheme FlashAccessV2

HdsDrmCommonKeyFile "../creds/common-key.bin"

HdsDrmLicenseServerURL http://<aaxs-test-server>/

HdsDrmTransportCertFile "aaxs-test-server-trnsCert.der"

HdsDrmLicenseServerCertFile "aaxs-test-server-licCert.der"

HdsDrmPackagerCredentialFile "aaxs-test-server-pkgrCert.pfx"

HdsDrmPackagerCredentialPassword pwd=

HdsDrmPolicyFile "sample_policy.pol"

Options -Indexes FollowSymLinks

</Location>

 

 

以下の例はhttpd.conf ファイルでAdobe Access (FlashAccessV3)を有効化し、設定を行います。これらの設定はこのサーバーのすべてのライブイベントにされます。

 

 

<Location /hds-live-faxs>

HttpStreamingEnabled true

HttpStreamingLiveEventPath "../applications"

HttpStreamingContentPath "../applications"

HdsFmsDirPath ".."

HttpStreamingF4MMaxAge 2

HttpStreamingBootstrapMaxAge 2

HttpStreamingDrmmetaMaxAge 3600

HttpStreamingFragMaxAge -1

HttpStreamingEncryptionScope server

HttpStreamingProtectionScheme FlashAccessV3

HdsDrmCommonKeyFile "../creds/common-key.bin"

HdsDrmLicenseServerURL http://<aaxs-test-server>/

HdsDrmTransportCertFile "aaxs-test-server-trnsCert.der"

HdsDrmLicenseServerCertFile "aaxs-test-server-licCert.der"

HdsDrmPackagerCredentialFile "aaxs-test-server-pkgrCert.pfx"

HdsDrmPackagerCredentialPassword pwd=

HdsDrmPolicyFile "sample_policy.pol"

Options -Indexes FollowSymLinks

</Location>

 

アプリケーションレベル

アプリケーションレベルの設定が指定された時、設定された暗号パラメーターは、特定のアプリケーションに(つまり、そのアプリケーション配下の全てのイベントに)適用されます。イベント・サーバーレベルで設定された暗号化パラメーターは無視されます。

 

共通設定

 

要素

デフォルト

説明

HDS/Recording/ContentProtection

Application.xmlでは"allow"

 

Event.xmlでは"false"

コンテンツ保護の設定のためのコンテナエレメント。

Application.xmlでは、コンテンツ保護を有効化するためにはenabledの属性を”true”に、無効化するためには”false”に、もしくはEvent.xmlの設定でApplication.xmlのContent Protectionセクションのオーバーライドを許可するためには”allow”に設定します。

 

enabled="allow"のとき、サーバはApplication.xmlContentProtectionセクションの設定は使いません。もしContentProtectionEvent.xmlで設定されていないとき、Event.xmlではデフォルト値が"false"なのでコンテンツ保護は無効になります。

 

 

Event.xmlでは、enabled属性を"true"あるいは "false"に設定します。

HDS/Recording/ContentProtection/ProtectionScheme

無し

可能な値は. phds, FlashAccessV2,FlashAccessV3です。 PHDSにはPHDSを使用します。

 

PHDS 設定

 

要素

デフォルト

説明

HDS/Recording/ContentProtection/PHDS

無し

PHDS暗号化設定のコンテナです。

HDS/Recording/ContentProtection/PHDS/CommonKeyFile

無し

最終的なコンテンツ暗号化キーを生成するために(コンテンツIDと共に)使用されるベースキーを含んだcommon-key.binファイルへの相対パス。

 

このファイルは、インストール中にrootinstall/creds/common-key.binに生成されます。

 

Application.xmlCommonKeyFile定義した場合は、サーバーはアプリケーションディレクトリからの相対パスでそのファイルを探します。

 

Event.xml CommonKeyFile定義した場合は、サーバはイベントフォルダからの相対パスでそのファイルを探します。

HDS/Recording/ContentProtection/PHDS/PlaybackExpiration

24Hours

保護ポリシー。このポリシーはコンテンツの視聴可能な期間を決定します。可能な値は24Hours Unlimitedです。.

HDS/Recording/ContentProtection/PHDS/VideoEncryptionLevel

2

コンテンツの暗号化レベル(0- ,1-m, 2-)です。低と中の設定では部分的な暗号化が行われます。サンプルの一部(例えばビデオのキーフレーム)が暗号化されます。部分的な暗号化は、復号するフレームが少なくなるため、再生パフォーマンスを改善することができます。

HDS/Recording/ContentProtection/PHDS/UpdateInterval

60

サーバーがDRMメタデータを生成する頻度を、分単位で指定します。

HDS/Recording/ContentProtection/PHDS/OutputProtection

None

クライアントで必要なメディアのハードウェア出力保護です。可能な値は NoneBestEffortそして Required です。

 

Adobe Access 設定

 

要素

デフォルト

説明

HDS/Recording/ContentProtection/FlashAccessV2

無し

FlashAccessV2の暗号化設定のコンテナです。

HDS/Recording/ContentProtection/FlashAccessV3

無し

FlashAccessV3の暗号化設定のコンテナです。

HDS/Recording/ContentProtection/FlashAccessV3(orFlashAccessV2)/ContentID

無し

ライブイベントでストリームを保護するときのコンテンツIDです。

HDS/Recording/ContentProtection/FlashAccessV3(orFlashAccessV2)/CommonKeyFile

無し

共通キーが含まれたファイルです。

HDS/Recording/ContentProtection/FlashAccessV3(orFlashAccessV2)/LicenseServerURL

無し

保護されたコンテンツにライセンス発行サービスを提供するライセンスサーバのURLです。

HDS/Recording/ContentProtection/FlashAccessV3(orFlashAccessV2)/TransportCertFile

無し

DERフォーマットでトランスポート証明書が含まれたファイルです。

HDS/Recording/ContentProtection/FlashAccessV3(orFlashAccessV2)/LicenseServerCertFile

無し

DERフォーマットでライセンスサーバ証明書が含まれたファイルです。

HDS/Recording/ContentProtection/FlashAccessV3(orFlashAccessV2)/PackagerCredentialFile

無し

PFXフォーマットでパッケージャー保護資格証明書が含まれたファイルです。

HDS/Recording/ContentProtection/FlashAccessV3(orFlashAccessV2)/PackagerCredentialPassword

無し

パッケージャー保護資格証明書のパスワード

HDS/Recording/ContentProtection/FlashAccessV3(orFlashAccessV2)/PolicyFile

無し

コンテンツ保護ポリシーが含まれたファイル

 

アプリケーションレベルでの保護設定を許可するには、以下のようにhttpd.confを設定します。

 

<Location /hds-live>

HttpStreamingEnabled true

HttpStreamingLiveEventPath "../applications"

HttpStreamingContentPath "../applications"

HdsFmsDirPath ".."

HttpStreamingF4MMaxAge 2

HttpStreamingBootstrapMaxAge 2

HttpStreamingDrmmetaMaxAge 3600

HttpStreamingFragMaxAge -1

Options –Indexes

FollowSymLinks

HttpStreamingEncryptionScope content

</Location>

 

以下の例はApplication.xmlPHDSを有効化し、設定を行います。これらの設定はこのアプリケーションのすべてのライブイベントへ適用されます。

<Application>

<StreamManager>

<Live>

<AssumeAbsoluteTime>true</AssumeAbsoluteTime>

<PublishTimeout>0</PublishTimeout>

<AdjustForZeroTimeStampMessages>2</AdjustForZeroTimeStampMessages>

<AdjustForRecordingRollover>false</AdjustForRecordingRollover>

</Live>

</StreamManager>

<HDS>

<Recording>

<ContentProtection enabled="true">

<ProtectionScheme>PHDS</ProtectionScheme>

<PHDS>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<VideoEncryptionLevel>2</VideoEncryptionLevel>

<PlaybackExpiration>24Hours</PlaybackExpiration>

<OutputProtection>None</OutputProtection>

</PHDS>

</ContentProtection>

</Recording>

</HDS>

</Application>

 

以下の例はApplication.xmlAdobe Access V2を有効化し、設定を行います。これらの設定はこのアプリケーションのすべてのライブイベントへ適用されます。

 

<Application>

<StreamManager>

<Live>

<Assume AbsoluteTime>true</AssumeAbsoluteTime>

<PublishTimeout>0</PublishTimeout>

<AdjustForZeroTimeStampMessages>2</AdjustForZeroTimeStampMessages>

<AdjustForRecordingRollover>false</AdjustForRecordingRollover>

</Live>

</StreamManager>

<HDS>

<Recording>

<ContentProtection enabled="true">

<ProtectionScheme>FlashAccessV2</ProtectionScheme>

<FlashAccessV2>

<ContentID>liveevent</ContentID>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<LicenseServerURL>http://<aaxs-test-server>/</LicenseServerURL>

<TransportCertFile>

aaxs-test-server-trnsCert.der

</TransportCertFile>

<LicenseServerCertFile>

aaxs-test-server-licCert.der

</LicenseServerCertFile>

<PackagerCredentialFile>

aaxs-test-server-pkgrCert.pfx

</PackagerCredentialFile>

<PackagerCredentialPassword>pwd=</PackagerCredentialPassword>

<PolicyFile>sample_policy.pol</PolicyFile>

</FlashAccessV2>

</ContentProtection>

</Recording>

</HDS>

</Application>

 

以下の例はApplication.xmlAdobe Access V3を有効化し、設定を行います。これらの設定はこのアプリケーションのすべてのライブイベントへ適用されます。

<Application>

<StreamManager>

<Live>

<AssumeAbsoluteTime>true</AssumeAbsoluteTime>

<PublishTimeout>0</PublishTimeout>

<AdjustForZeroTimeStampMessages>2</AdjustForZeroTimeStampMessages>

<AdjustForRecordingRollover>false</AdjustForRecordingRollover>

</Live>

</StreamManager>

<HDS>

<Recording>

<ContentProtection enabled="true">

<ProtectionScheme>FlashAccessV3</ProtectionScheme>

<FlashAccessV3>

<ContentID>liveevent</ContentID>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<LicenseServerURL>http://<aaxs-test-server>/</LicenseServerURL>

<TransportCertFile>

aaxs-test-server-trnsCert.der

</TransportCertFile>

<LicenseServerCertFile>

aaxs-test-server-licCert.der</LicenseServerCertFile>

<PackagerCredentialFile>

aaxs-test-server-pkgrCert.pfx

</PackagerCredentialFile>

<PackagerCredentialPassword>pwd=</PackagerCredentialPassword>

<PolicyFile>sample_policy.pol</PolicyFile>

</FlashAccessV3>

</ContentProtection>

</Recording>

</HDS>

</Application>

 

注:この場合、common-key.binファイルをrootinstall/credsディレクトリからこのrootinstall/applications/livepkgr/ディレクトリにコピーします。

 

イベントレベル

イベントレベルの設定が指定されたとき、指定された保護パラメーターはその特定のイベントに適用されます。アプリケーション・サーバーレベルで指定された保護パラメータは無視されます。

 

共通設定

 

要素

デフォルト

説明

Recording/ContentProtection

Application.xmlでは"allow"

 

Event.xmlでは"false"

コンテンツ保護の設定のためのコンテナエレメント。

Application.xmlでは、コンテンツ保護を有効化するためにはenabledの属性を”true”に、無効化するためには”false”に、もしくはEvent.xmlの設定でApplication.xmlのContent Protectionセクションのオーバーライドを許可するためには”allow”に設定します。

 

enabled="allow"のとき、サーバはApplication.xmlContentProtectionセクションの設定は使いません。もしContentProtectionEvent.xmlで設定されていないとき、Event.xmlではデフォルト値が"false"なのでコンテンツ保護は無効になります。

 

Event.xmlでは、enabled属性を"true"あるいは "false"に設定します。

Recording/ContentProtection/ProtectionScheme

無し

可能な値は phdsFlashAccessV2、及びFlashAccessV3です。PHDSにはPHDSを使用します。

 

PHDS 設定

 

要素

デフォルト

説明

Recording/ContentProtection/PHDS

無し

PHDS暗号化設定のコンテナです。

Recording/ContentProtection/PHDS/CommonKeyFile

無し

最終的なコンテンツ暗号化キーを生成するために(コンテンツIDと共に)使用されるベースキーを含んだcommon-key.binファイルへの相対パス。

 

このファイルは、インストール中にrootinstall/creds/common-key.binに生成されます。

 

 

Application.xmlCommonKeyFile定義した場合は、サーバーはアプリケーションディレクトリからの相対パスでそのファイルを探します。

 

Event.xml CommonKeyFile定義した場合は、サーバはイベントフォルダからの相対パスでそのファイルを探します。

Recording/ContentProtection/PHDS/PlaybackExpiration

24Hours

保護ポリシー。このポリシーはコンテンツの視聴可能な期間を決定します。可能な値は24Hours Unlimitedです。.

Recording/ContentProtection/PHDS/VideoEncryptionLevel

2

コンテンツの暗号化レベル(0- ,1-, 2-)です。低と中の設定では部分的な暗号化が行われます。サンプルの一部(例えばビデオのキーフレーム)が暗号化されます。部分的な暗号化は、復号するフレームが少なくなるため、再生パフォーマンスを改善することができます。

Recording/ContentProtection/PHDS/UpdateInterval

60

サーバーがDRMメタデータを生成する頻度を、分単位で指定します。

Recording/ContentProtection/PHDS/OutputProtection

None

クライアントで必要なメディアのハードウェア出力保護です。可能な値はNoneBestEffort、及びRequiredです。

 

Adobe Access 設定

 

要素

デフォルト

説明

Recording/ContentProtection/FlashAccessV2

無し

FlashAccessV2の暗号化設定のコンテナです。

Recording/ContentProtection/FlashAccessV3

無し

FlashAccessV3の暗号化設定のコンテナです。

Recording/ContentProtection/FlashAccessV3(またはFlashAccessV2/ContentID

無し

ライブイベントでストリームを保護するときのコンテンツIDです。

Recording/ContentProtection/FlashAccessV3(またはFlashAccessV2/CommonKeyFile

無し

共通キーが含まれたファイルです。

Recording/ContentProtection/FlashAccessV3(またはFlashAccessV2/LicenseServerURL

無し

保護されたコンテンツにライセンス発行サービスを提供するライセンスサーバのURLです。

Recording/ContentProtection/FlashAccessV3(またはFlashAccessV2/TransportCertFile

無し

DERフォーマットでトランスポート証明書が含まれたファイルです。

Recording/ContentProtection/FlashAccessV3(またはFlashAccessV2/LicenseServerCertFile

無し

DERフォーマットでライセンスサーバ証明書が含まれたファイルです。

Recording/ContentProtection/ FlashAccessV3(またはFlashAccessV2/PackagerCredentialFile

無し

PFXフォーマットでパッケージャー保護資格証明書が含まれたファイルです。

Recording/ContentProtection/ FlashAccessV3(またはFlashAccessV2/PackagerCredentialPassword

無し

パッケージャー保護資格証明書のパスワード

Recording/ContentProtection/ FlashAccessV3(またはFlashAccessV2/PolicyFile

無し

コンテンツ保護ポリシーが含まれたファイル

 

イベントレベルでの保護設定を許可するには、以下のようにhttpd.confを設定します。

<Location /hds-live>

HttpStreamingEnabled true

HttpStreamingLiveEventPath "../applications"

HttpStreamingContentPath "../applications"

HdsFmsDirPath ".."

HttpStreamingF4MMaxAge 2

HttpStreamingBootstrapMaxAge 2

HttpStreamingDrmmetaMaxAge 3600

HttpStreamingFragMaxAge -1

Options -Indexes FollowSymLinks

HttpStreamingEncryptionScope content

</Location>

以下は、イベントレベルの保護設定を許可し、サーバーに各イベントでEvent.xmlでの設定を探すように指示するApplication.xmlの例です:

 

<Application>

<StreamManager>

<Live>

<AssumeAbsoluteTime>true</AssumeAbsoluteTime>

</Live>

</StreamManager>

 

<HDS>

<Recording>

<ContentProtection enabled="allow">

</ContentProtection>

</Recording>

</HDS>

 

</Application>

 

以下のEvent.xmlは単一のライブイベントにPHDSを設定します。

 

<Event>

<EventID>liveevent</EventID>

<Recording>

<FragmentDuration>4000</FragmentDuration>

<SegmentDuration>400000</SegmentDuration>

<DiskManagementDuration>3</DiskManagementDuration>

<ContentProtection enabled="true">

<ProtectionScheme>PHDS</ProtectionScheme>

<PHDS>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<VideoEncryptionLevel>2</VideoEncryptionLevel>

<PlaybackExpiration>24Hours</PlaybackExpiration>

<OutputProtection>None</OutputProtection>

</PHDS>

</ContentProtection>

</Recording>

</Event>

 

この場合、common-key.binファイルをrootinstall/credsディレクトリーからrootinstall/applications/livepkgr/events/_definst_/liveeventディレクトリーへコピーします。

 

以下のEvent.xml ファイルは単一のライブイベントにAdobe Access V2を設定します:

 

<Event>

<EventID>liveevent</EventID>

<Recording>

<FragmentDuration>4000</FragmentDuration>

<SegmentDuration>400000</SegmentDuration>

<DiskManagementDuration>3</DiskManagementDuration>

<ContentProtection enabled="true">

<ProtectionScheme>FlashAccessV2</ProtectionScheme>

<FlashAccessV2>

<ContentID>liveevent</ContentID>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<LicenseServerURL>

http://<aaxs-test-server>/

</LicenseServerURL>

<TransportCertFile>

aaxs-test-server-trnsCert.der

</TransportCertFile>

<LicenseServerCertFile>

aaxs-test-server-licCert.der

</LicenseServerCertFile>

<PackagerCredentialFile>

aaxs-test-server-pkgrCert.pfx

</PackagerCredentialFile>

<PackagerCredentialPassword>pwd=</PackagerCredentialPassword>

<PolicyFile>sample_policy.pol</PolicyFile>

</FlashAccessV2>

</ContentProtection>

</Recording>

</Event>

 

以下のEvent.xml ファイルは単一のライブイベントにAdobe Access V3を設定します:

 

<Event>

<EventID>liveevent</EventID>

<Recording>

<FragmentDuration>4000</FragmentDuration>

<SegmentDuration>400000</SegmentDuration>

<DiskManagementDuration>3</DiskManagementDuration>

<ContentProtection enabled="true">

<ProtectionScheme>FlashAccessV3</ProtectionScheme>

<FlashAccessV3>

<ContentID>liveevent</ContentID>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<LicenseServerURL>

http://<aaxs-test-server>/

</LicenseServerURL>

<TransportCertFile>

aaxs-test-server-trnsCert.der

</TransportCertFile>

<LicenseServerCertFile>

aaxs-test-server-licCert.der

</LicenseServerCertFile>

<PackagerCredentialFile>

aaxs-test-server-pkgrCert.pfx

</PackagerCredentialFile>

<PackagerCredentialPassword>pwd=</PackagerCredentialPassword>

<PolicyFile>sample_policy.pol</PolicyFile>

</FlashAccessV3>

</ContentProtection>

</Recording>

</Event>

 

注:この場合、common-key.binファイルをrootinstall/credsディレクトリからrootinstall/applications/livepkgr/events/_definst_/liveeventディレクトリにコピーします。

 

ライセンスチェーン

Adobe Media Serverは、チェーン化ライセンスを使用して生成されたポリシーからのDRMメタデータへのリーフライセンスの埋め込みをサポートしています。

 

もしリーフライセンスを埋め込む設定がオフになった場合でも、Adobe Media Serverはそのようなポリシーをサポートします。ただし、リーフライセンスがDRMメタデータに埋め込まれないポリシーを除きます。

 

注意:ライセンスチェーンのサポートは単一のサーバ証明書と証明書パスワードのペアに限定されます。

 

 

 

以下の表に必要な設定を挙げます。

 

パラメーター

説明

デフォルト値

HdsDrmEmbedLeafLicense(サーバーレベル)

 

EmbedLeafLicense(アプリケーションまたはイベントレベル)

DRMメタデータへのリーフライセンスの埋め込みを有効化します。可能な値は"true"もしくは"false"です

注意:ポリシーファイルはチェーンライセンスを使用して作成する必要があります。

false

 

 

Parameter

Description

Default value

HdsDrmLicenseServerCredentialFile(サーバーレベル)

LicenseServerCredentialFile(アプリケーションまたはイベントレベル)

. HdsDrmEmbedLeafLicenseがtrueに設定されている場合は必須。がこの場所でコンテンツ保護の際に使用されるライセンスサーバー保護資格証明書です。

無し

HdsDrmLicenseServerCredentialPassword(サーバーレベル)

LicenseServerCredentialPassword(アプリケーションまたはイベントレベル)

HdsDrmEmbedLeafLicenseがTrueに設定されている場合は必須。上のパラメーターで設定されたライセンスサーバ保護資格証明書ファイルのパスワードです。

無し

 

以下の例でアプリケーションレベルのライセンスチェーン設定を示します:

 

<Application>

<HDS>

<Recording>

<ContentProtection enabled="true">

<ProtectionScheme>FlashAccessV3</ProtectionScheme>

<FlashAccessV3>

<ContentID>liveevent</ContentID>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<LicenseServerURL>http://<aaxs-test-server>/</LicenseServerURL>

<TransportCertFile>

aaxs-test-server-trnsCert.der

</TransportCertFile>

<LicenseServerCertFile>

aaxs-test-server-licCert.der

</LicenseServerCertFile>

<PackagerCredentialFile>

aaxs-test-server-pkgrCert.pfx

</PackagerCredentialFile>

<PackagerCredentialPassword>pwd=</PackagerCredentialPassword>

<PolicyFile>sample_policy.pol</PolicyFile>

<EmbedLeafLicense>true</EmbedLeafLicense>

<LicenseServerCredentialFile>

aaxs-test-server-pkgrCertLic.pfx

</LicenseServerCredentialFile>

<LicenseServerCredentialPassword>

pwd_lic=

</LicenseServerCredentialPassword>

</FlashAccessV3>

</ContentProtection>

</Recording>

</HDS>

</Application>

 

以下の例でイベントレベルのライセンスチェーン設定を示します:

<Event>

<Recording>

<ContentProtection enabled="true">

<ProtectionScheme>FlashAccessV3</ProtectionScheme>

<FlashAccessV3>

<ContentID>liveevent</ContentID>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<LicenseServerURL>

http://<aaxs-test-server>/

</LicenseServerURL>

<TransportCertFile>

aaxs-test-server-trnsCert.der

</TransportCertFile>

<LicenseServerCertFile>

aaxs-test-server-licCert.der

</LicenseServerCertFile>

<PackagerCredentialFile>

aaxs-test-server-pkgrCert.pfx

</PackagerCredentialFile>

<PackagerCredentialPassword>

pwd=

</PackagerCredentialPassword>

<PolicyFile>sample_policy.pol</PolicyFile>

<EmbedLeafLicense>true</EmbedLeafLicense>

<LicenseServerCredentialFile>

aaxs-test-server-pkgrCertLic.pfx

</LicenseServerCredentialFile>

<LicenseServerCredentialPassword>

pwd_lic=

</LicenseServerCredentialPassword>

</FlashAccessV3>

</ContentProtection>

</Recording>

</Event>

 

注意:ライセンスチェーンはVODの使用事例ではサポートされていません。

 

キーローテーション

Adobe Media Server 5は、Adobe AccessPHDSと組み合わせて使用すると保護されたHTTP Dynamic StreamingPHDSでキーローテーションをサポートします。一連のキーを使ってAMS5でコンテンツを暗号化することができます。定期的に暗号化キーを変更でき、コンテンツ暗号化キーをどのくらいの頻度で変更するか指定できます。暗号化キーのリストを指定することもできます。

 

サーバーレベル - Adobe Access

 

パラメーター

説明

デフォルト値

HdsDrmEnableKeyRotation

Adobe Access保護スキームでキーローテーションを使用するかどうか

false

HdsDrmKeyRotationInterval

キーローテーションを有効化する場合、キーローテーションの間隔(秒単位)

900

 

以下のhttpd.confを使用すると、キーローテーションがサーバーレベルで有効化されます:

 

<Location /hds-live>

HttpStreamingEnabled true

HttpStreamingLiveEventPath "../applications"

HttpStreamingContentPath "../applications"

HdsFmsDirPath ".."

HttpStreamingF4MMaxAge 2

HttpStreamingBootstrapMaxAge 2

HttpStreamingDrmmetaMaxAge 3600

HttpStreamingFragMaxAge -1

Options -Indexes FollowSymLinks

HttpStreamingEncryptionScope server

HttpStreamingProtectionScheme FlashAccessV3

HdsDrmCommonKeyFile "../creds/common-key.bin"

HdsDrmLicenseServerURL http://<aaxs-test-server>/

HdsDrmTransportCertFile aaxs-test-server-trnsCert.der

HdsDrmLicenseServerCertFile aaxs-test-server-licCert.der

HdsDrmPackagerCredentialFile aaxs-test-server-pkgrCert.pfx

HdsDrmPackagerCredentialPassword pwd=

HdsDrmPolicyFile sample_policy.pol

HdsDrmEnableKeyRotation true

HdsDrmKeyRotationInterval 500

HdsDrmKeyRotationFilePath sample_keys.txt

</Location>

 

アプリケーションレベル - Adobe Access

 

パラメーター

説明

デフォルト値

HDS/Recording/ContentProtection/FlashAccessV3/EnableKeyRotation

Adobe Access保護スキームでキーローテーションを使用するかどうか

false

HDS/Recording/ContentProtection/FlashAccessV3/KeyRotationInterval

キーローテーションを有効化する場合、キーローテーションの間隔(秒単位)

900

HDS/Recording/ContentProtection/FlashAccessV3/KeyRotationFilePath

使用するローテーションキーが含まれたファイル。

このファイルにはコンテンツを暗号化するために使用する、ローテーションキーの配列が含まれます。ファイルが指定されなかった場合は、ランダムに生成されたキーが使用されます。

キーは16バイトの長さで、16進数の値で指定しなければなりません。

ランダムに生成されたキーが使用されます(以下の説明の通り)

 

以下のApplication.xmlを使用すると、キーローテーションがアプリケーションレベルで有効化されます:

 

<Application>

<StreamManager>

<Live>

<AssumeAbsoluteTime>true</AssumeAbsoluteTime>

<PublishTimeout>0</PublishTim eout>

<AdjustForZeroTimeStampMessages>2</AdjustForZeroTimeStampMessages>

<AdjustForRecordingRollover>false</AdjustForRecordingRollover>

</Live>

</StreamManager>

<HDS>

<Recording>

<ContentProtection enabled="true">

<ProtectionScheme>FlashAccessV3</ProtectionScheme>

<FlashAccessV3>

<ContentID >liveevent</ContentID>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<LicenseServerURL>http://<aaxs-test-server>/</LicenseServerURL>

<TransportCertFile>

aaxs-test-server-trnsCert.der

</TransportCertFile>

<Licens eServerCertFile>

aaxs-test-server-licCert.der

</LicenseServerCertFile>

<PackagerCredentialFile>

aaxs-test-server-pkgrCert.pfx

</PackagerCredentialFile>

<PackagerCredentialPassword>pwd=</PackagerCredentialPassword>

<PolicyFile>sample_policy.pol</PolicyFile>

<EnableKeyRotation>true</EnableKeyRotation>

<KeyRotationInterval>500</KeyRotationInterval>

<KeyRotationFilePath>sample_keys.txt</KeyRotationFilePath>

</FlashAccessV3>

</ContentProtection>

</Recording>

</HDS>

</Application>

 

イベントレベル - Adobe Access

 

パラメーター

説明

デフォルト値

Recording/ContentProtection/FlashAccessV3/EnableKeyRotation

Adobe Access保護スキームでキーローテーションを使用するかどうか

false

Recording/ContentProtection/FlashAccessV3/KeyRotationInterval

キーローテーションを有効化する場合、キーローテーションの間隔(秒単位)

900

Recording/ContentProtection/FlashAcessV3/KeyRotationFilePath

使用するローテーションキーが含まれたファイル。

このファイルにはコンテンツを暗号化するために使用する、ローテーションキーの配列が含まれます。ファイルが指定されなかった場合は、ランダムに生成されたキーが使用されます。

キーは16バイトの長さで、16進数の値で指定しなければなりません。

ランダムに生成されたキーが使用されます(以下の説明の通り)

以下のEvent.xmlを使用すると、キーローテーションがイベントレベルで有効化されます。

 

<Event>

<EventID>liveevent</EventID>

<Recording>

<FragmentDuration>4000</FragmentDuration>

<SegmentDuration>400000</SegmentDuration>

<DiskManagementDuration>3</DiskManagementDuration>

<ContentProtection enabled="true">

<ProtectionScheme>FlashAccessV3</ProtectionScheme>

<FlashAccessV3>

<ContentID>liveevent</ContentID>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<LicenseServerURL>http://<aaxs-test-server>/</LicenseServerURL>

<TransportCertFile>aaxs-test-server-trnsCert.der</TransportCertFile>

<LicenseServerCertFile>

aaxs-test-server-licCert.der

</LicenseServerCertFile>

<PackagerCredentialFile>

aaxs-test-server-pkgrCert.pfx

</PackagerCredentialFile>

<PackagerCredentialPassword>pwd=</PackagerCredentialPassword>

<PolicyFile>sample_policy.pol</PolicyFile>

<EnableKeyRotation>true</EnableKeyRotation>

<KeyRotationInterval>500</KeyRotationInterval>

<KeyRotationFilePath>sample_keys.txt</KeyRotationFilePath>

</FlashAccessV3>

</ContentProtection>

</Recording>

</Event>

 

注:HdsDrmKeyRotationFilePathはパスをrootinstall/applications/<application-name>/に対する相対パスと見なします。

 

サーバーレベル - PHDS

パラメーター

説明

デフォルト値

PHDSEnableKeyRotation

PHDS保護スキームでキーローテーションを使用するかどうか

false

PHDSKeyRotationInterval

キーローテーションを有効化する場合、キーローテーションの間隔(秒単位)

900

 

以下のhttpd.confを使用すると、キーローテーションがサーバーレベルで有効化されます:

 

<Location /hds-live>

HttpStreamingEnabled true

HttpStreamingLiveEventPath "../applications"

HttpStreamingContentPath "../applications"

HdsFmsDirPath ".."

HttpStreamingF4MMaxAge 2

HttpStreamingBootstrapMaxAge 2

HttpStreamingDrmmetaMaxAge 3600

HttpStreamingFragMaxAge -1

Options -Indexes FollowSymLinks

HttpStreamingEncryptionScope server

HttpStreamingProtectionScheme PHDS

PHDSVideoEncryptionLevel 2

PHDSPlaybackExpiration 24Hours

PHDSOutputProtection None

PHDSEnableKeyRotation true

PHDSKeyRotationInterval 500

</Location>

 

Application level - PHDS

 

パラメーター

説明

デフォルト値

HDS/Recording/ContentProtection/PHDS/EnableKeyRotation

PHDS保護スキームでキーローテーションを使用するかどうか

false

HDS/Recording/ContentProtection/PHDS/KeyRotationInterval

キーローテーションを有効化する場合、キーローテーションの間隔(秒単位)

900

 

以下のhttpd.confを使用すると、キーローテーションがアプリケーションレベルで有効化されます。

 

<Application>

<StreamManager>

<Live>

<AssumeAbsoluteTime>true</AssumeAbsoluteTime>

<PublishTimeout>0</PublishTimeout>

<AdjustForZeroTimeStampMessages>2</AdjustForZeroTimeStampMessages>

<AdjustForRecordingRollover>false</AdjustForRecordingRollover>

</Live>

</StreamManager>

<HDS>

<Recording>

<ContentProtection enabled="true">

<ProtectionScheme>PHDS</ProtectionScheme>

<PHDS>

<VideoEncryptionLevel>2</VideoEncryptionLevel>

<OutputProtection>None</OutputProtection>

<PlaybackExpiration>24Hours</PlaybackExpiration>

<EnableKeyRotation>true</EnableKeyRotation>

<KeyRotationInterval>500</KeyRotationInterval>

</PHDS>

</ContentProtection>

</Recording>

</HDS>

</Application>

 

イベントレベル - PHDS

 

パラメーター

説明

デフォルト値

Recording/ContentProtection/PHDS/EnableKeyRotation

PHDS保護スキームでキーローテーションを使用するかどうか

false

Recording/ContentProtection/PHDS/KeyRotationInterval

キーローテーションを有効化する場合、キーローテーションの間隔(秒単位)

900

 

以下のhttpd.confを使用すると、キーローテーションがイベントレベルで有効化されます。

 

<Event>

<EventID>liveevent</EventID>

<Recording>

<FragmentDuration>4000</FragmentDuration>

<SegmentDuration>400000</SegmentDuration>

<DiskManagementDuration>3</DiskManagementDuration>

<ContentProtection enabled="true">

<ProtectionScheme>PHDS</ProtectionScheme>

<PHDS>

<VideoEncryptionLevel>2</VideoEncryptionLevel>

<OutputProtection>None</OutputProtection>

<PlaybackExpiration>24Hours</PlaybackExpiration>

<EnableKeyRotation>true</EnableKeyRotation>

<KeyRotationInterval>500</KeyRotationInterval>

</PHDS>

</ContentProtection>

</Recording>

</Event>

 

F4Fコンテンツでジャストインタイムの暗号化を無効化する

PHDSAdobe Accessの保護が有効化されている場合、サーバーはストリームを取り込みF4Fストリームデータへとパッケージ化します。この暗号化されていないF4Fデータは、ソースと見なされPHDSAdobe Accessの設定に基づき暗号化されます。取り込んだストリームを既に暗号化されたF4Fデータとして格納し、ジャストインタイムのF4Fデータの暗号化を無効化するには特別な設定が必要になります。

 

以下はサーバーレベルでジャストインタイムの暗号化を有効化あるいは無効化するディレクティブの表です。

 

httpd.confのタグ:

 

ディレクティブ

説明

デフォルト値

HttpStreamingJITEncryption

ジャストインタイムの暗号化を無効化するには、値を”false”に設定します。

true

 

rootinstall/conf/_defaultRoot_/_defaultVHost_/Application.xmlのタグ:

 

ディレクティブ

説明

デフォルト値

HDS/Recording/JITEncryption

ジャストインタイムの暗号化を無効化するには、値を”false”に設定します。

false

 

注:ジャストインタイムの暗号化を無効化するには、HttpStreamingJITEncryptionJITEncryptionのタグを両方ともfalseに設定しなければなりません。

 

JITEncryptionfalseに設定された場合:

 

        rootinstall/conf/_defaultRoot_/_defaultVHost_/Application.xmlでサーバーレベルの暗号化設定(PHDSAdobe Access)を指定します。

        取り込まれたストリームは、暗号化されたF4Fコンテンツとして格納されます。よって、DRMmetaファイルはサーバー上、F4Fコンテンツの中に格納されます。

 

httpd.confで以下の設定を行うと、ジャストインタイムの暗号化がサーバー全体に渡って無効化されます。

 

<Location /hds-live>

HttpStreamingEnabled true

HttpStreamingLiveEventPath "../applications"

HttpStreamingContentPath "../applications"

HdsFmsDirPath ".."

HttpStreamingF4MMaxAge 2

HttpStreamingBootstrapMaxAge 2

HttpStreamingDrmmetaMaxAge 3600

HttpStreamingFragMaxAge -1

HttpStreamingJITEncryption false

Options -Indexes FollowSymLinks

</Location>

 

rootinstall/conf/_defaultRoot_/_defaultVHost_/Application.xmlで以下の設定を行うと、PHDSの保護が有効化されます:

<Application>

<!-- This section provides the means to control the behavior of  -->

<!-- application-specific HTTP dynamic streaming functionality. -->

<HDS>

<!-- This section controls the behavior of HTTP live recording -->

<Recording>

<!-- The enabled attribute can be set to  "true", "false" or "allow".-->

<!-- Content prote cted is enabled when the attribute is set to "true",-->

<!-- and disabled when set to "false".-->

<!-- If enabled is set to "allow", only then Event.xml have right to -->

<!-- override the ContentProtection tag completely. And none of the -->

<!-- settings inside the ContentProtection here will be used.  And if -->

<!-- ContentProtection is also not specified in Event.xml, content -->

<!-- protection will be disabled by default.                    -->

<JITEncryption>false</JITEncryption>

<ContentProtection enabled="true">

<ProtectionScheme>PHDS</ProtectionScheme>

<PHDS>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<VideoEncryptionLevel>2</VideoEncryptionLevel>

<PlaybackExpiration>24Hours</PlaybackExpiration>

<OutputProtection>None</OutputProtection>

</PHDS>

</ContentProtection>

</Recording>

</HDS>

</Application>

 

rootinstall/conf/_defaultRoot_/_defaultVHost_/Application.xmlで以下の設定を行うと、Adobe Accessの保護が有効化されます:

<Application>

<!-- This section provides the means to control the behavior  of -->

<!-- application-specific HTTP dynamic streaming functionality. -->

<HDS>

<!-- This section controls the behavior of HTTP live recording -->

<Recording>

<!-- The enabled attribute can be set to "true", "false" or "allow".  -->

<!-- Content protection is enabled when the attribute is set to "true",-->

<!-- and disabled when set to "false".                           -->

<!-- If enabled is set to "allow", then Event.xml will -->

<!-- override the ContentProtection tag completely.  And none of the  -->

<!-- settings inside the ContentProtection will be used.  And if      -->

<!-- ContentProtection is not specified in Event.xml, then content    -->

<!-- protection will be disabled by default.                     -->

<JITEncryption>false</JITEncryption>

<ContentProtection enabled="true">

<ProtectionScheme>FlashAccessV2</ProtectionScheme>

<FlashAccessV2>

<ContentID>liveevent</ContentID>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<LicenseServerURL> http://<aaxs-test-server>/

</LicenseServerURL>

<TransportCertFile>

aaxs-test-server-trnsCert.der

</TransportCertFile>

<LicenseServerCertFile>

aaxs-test-server-licCert.der</LicenseServerCertFile>

<PackagerCredentialFile>

aaxs-test-server-pkgrCert.pfx

</PackagerCredentialFile>

<PackagerCredentialPassword>pwd=</PackagerCredentialPassword>

<PolicyFile>sample_policy.pol</PolicyFile>

</FlashAccessV2>

</ContentProtection>

</Recording>

</HDS>

</Application>

 

HLSやHDSの暗号化されたライブストリーム向けにシステムを設定する

ジャストインタイムの暗号化がオンの場合は、HDSHLS向けに2つの異なるアプリケーションは必要ありません。ライブコンテンツはディスクに暗号化されずに格納され、後でApacheHDSもしくはHLSモジュールを使用して動的に暗号化されます。HttpStreamingJITEncryptionJITEncryptionタグがfalseに設定されない限り、デフォルトではジャストインタイムの暗号化はオンです。ジャストインタイムの暗号化がオフの場合は、ライブPHLSPHDSでの配信のためAdobe Media Serverに一組のストリームをパブリッシュするには特別な設定が必要です。ジャストインタイムの暗号化がオフでPHDSが有効化されている場合、サーバーはストリームを取り込み、暗号化されたF4Fデータへのパッケージ化します。しかし、PHLSはソースとして暗号化されていないデータが必要です。暗号化されたF4Fデータを取り込み、再度PHLS向けに暗号化することはできません。保護されたコンテンツをFlash PlayerAIRiOSデバイスに配信するには、2つの異なるアプリケーション(1つはHDS用で1つはHLS用)へとパブリッシュするようにエンコーダーを設定してください。

 

1       2つのliveokgrアプリケーションを作成します。“livepkgr_hds”“livepkgr_hls”と名前をつけます。

2       rootinstall/conf/_defaultRoot_/_defaultVHost_/Application.xmlを以下のように設定します。

<Application>

<!-- This section provides the ways to control the behavior of -->

<!-- application-specific HTTP dynamic streaming functionality. -->

<HDS>

<!-- This section controls the behavior of HTTP live recording -->

<Recording>

<!-- The enabled attribute can be set to "true", "false" or "allow". -->

<!-- Content protected is enabled when the attribute is set to "true",-->

<!-- and disabled when set to "false". -->

<!-- If enabled is set to "allow", only then Event.xml have right to -->

<!-- override the ContentProtection tag completely.  And none of the -->

<!-- settings inside the ContentProtection here will be used. And if -->

<!-- ContentProtection is also not specified in Event.xml, content -->

<!-- protection will be disabled by default. -->

<JITEncryption>false</JITEncryption>

<ContentProtection enabled="allow">

</ContentProtection>

</Recording>

</HDS>

</Application>

 

3       <AMS-Install>/applications/livepkgr_hds/Application.xmlを以下のように設定します:

 

<Application>

<StreamManager>

<Live>

<AssumeAbsoluteTime>true</AssumeAbsoluteTime>

<PublishTimeout>0</PublishTimeout>

<AdjustForZeroTimeStampMessages>2</AdjustForZeroTimeStampMessages>

<AdjustForRecordingRollover>false</AdjustForRecordingRollover>

</Live>

</StreamManager>

<HDS>

<Recording>

<ContentProtection enabled="true">

<ProtectionScheme>PHDS</ProtectionScheme>

<PHDS>

<CommonKeyFile>common-key.bin</CommonKeyFile>

<VideoEncryptionLevel>2</VideoEncryptionLevel>

<PlaybackExpiration>24Hours</PlaybackExpiration>

<OutputProtection>None</OutputProtection>

</PHDS>

</ContentProtection>

</Recording>

</HDS>

</Application>

 

4        httpd.confを以下のように設定します。

PHDS向けには、以下のLocationディレクティブを使用します。

<Location /hds-live>

HttpStreamingEnabled true

HttpStreamingLiveEventPath "../applications/livepkgr_hds"

HttpStreamingContentPath "../applications/livepkgr_hds"

HttpStreamingURLSandboxLevel "App"

HttpStreamingF4MMaxAge 2

HttpStreamingBootstrapMaxAge 2

HttpStreamingDrmmetaMaxAge 3600

HttpStreamingFragMaxAge -1

HttpStreamingJITEncryption false

Options -Indexes FollowSymLinks

</Location>

 

PHLS向けには、以下のLocationディレクティブを使用します。

 

<Location /hls-live>

HLSHttpStreamingEnabled true

HttpStreamingLiveEventPath "../applications/livepkgr_hls"

HttpStreamingContentPath "../applications/livepkgr_hls"

HttpStreamingURLSandboxLevel "App"

HLSMediaFileDuration 8000

HLSSlidingWindowLength 6

HLSFmsDirPath ".."

HttpStreamingUnavailableResponseCode 503

HLSEncryptionScope server

HLSProtectionScheme PHLS

</Location>

 

5       Apacheを再起動します。

6       Flash Media Live Encoderからlivepkgr_hdslivepkgr_hlsの各アプリケーションにストリームをパブリッシュします。livestream%i?adbe-live-event=liveeventというストリーム名を使用します。

7       PHDSの要求URLhttp://<serveruri>/hds-live/_definst_/<liveevent>.f4m で、PHLSの要求URLhttp://<serveruri>/hls-live/_definst_/<liveevent>.m3u8です。HttpStreamingURLSandboxLevelディレクティブが"App"に設定されているため、要求URLはアプリケーション名を使用しません。

注:この場合、common-key.bin<AMS Install>/credsディレクトリから<AMS Install>/applications/livepkgr_hds/へコピーします。

 

同様に、上で述べた手順に従うと、Adobe Accessの設定もHDSHLSで使用することができます。

 

 

VODの使用事例

オンデマンドのストリーミング向けには、PHDSを以下のレベルで設定します:

サーバーrootinstall/Apache2.2/conf/httpd.conf

ストリーム—jit.conf ファイルを作成し、コンテンツと同じディレクトリにコピーします。

 

使用開始する

PHDSをすぐに使い始めるには、以下のディレクティブを理解する必要があります:

 

 

ディレクティブ

デフォルト値

説明

EncryptionScope

無し

可能な値はcontentserverです。

 

値がcontentの場合、jit.confファイルのPHDSの設定はhttpd.confファイルの設定をオーバーライドします。

 

値がserverの場合は、サーバーはhttpd.confファイルの設定を使用します。

ProtectionScheme

無し

保護のタイプを決定する文字列です。PHDSにはPHDSを使用します。

 

オンデマンドのPHDSを設定する最も単純な方法は、Apachehttpd.confファイル中の2行を非コメント化することです。

 

<IfModule jithttp_module>

<Location /hds-vod>

HttpStreamingJITPEnabled true

HttpStreamingContentPath "../webroot/vod"

JitFmsDirPath ".."

Options -Indexes FollowSymLinks

 

# Uncomment the following directives to enable encryption

# for this location.

EncryptionScope server

ProtectionScheme phds

</Location>

</IfModule>

 

注:この設定はPHDSをサーバーレベルで有効化します。

 

AMSのデフォルトのインストールでは、<root-install>/webrootsample1_1500kbps.f4vというメディアファイルがインストールされます。以下のURIでこのsample1_1500kbps.f4vを再生してください。http://<server-ip>/hds-vod/ sample1_1500kbps.f4v.f4m

 

詳細な設定

以下のセクションでは、PHDSAdobe Accessの両方の詳細な設定を提供します。

 

サーバーレベル

以下のセクションでは、どのようにすればサーバー全体でコンテンツ保護を適用できるかを説明します。

 

共通設定

 

ディレクティブ

デフォルト値

説明

EncryptionScope

content

可能な値はcontentserverです。

 

値がcontentの場合、jit.confファイルのPHDSの設定はhttpd.confファイルの設定をオーバーライドします。

 

値がserverの場合は、サーバーはhttpd.confファイルの設定を使用します。

 

暗号化ポリシーを設定するサーバー全体に渡る設定です。

server – 全てのコンテンツがApacheの設定に従って保護されます(jit.confは無視されます)。

content –jit.confファイルに従い、コンテンツは保護されるか、または保護されません。

off – 全てのコンテンツは保護されません(jit.confは無視されます)。

ProtectionScheme

PHDS

保護のタイプを決定する文字列です。可能な値はPHDSFlashAccessV2です。

 

PHDSの設定

 

以下のjithttp_module用のディレクティブは、Apachehttpd.confファイルで設定します。

 

ディレクティブ

デフォルト値

説明

PHDSCommonKeyFile

creds/common-key.bin

 

このファイルはインストール中に作成されます。

この場所でコンテンツを保護するために使用される共通キーです。

PHDSPlaybackExpiration

24Hours

コンテンツが視聴可能な期間です。可能な値は24HoursUnlimitedです。

PHDSOutputProtection

None

クライアントで要求されるメディアのハードウェア出力保護です。可能な値はNoneBestEffortRequiredです。

PHDSVideoEncryptionLevel

2

コンテンツの暗号化レベル(0-1-2-)です。低と中の設定では部分的な暗号化が行われます。サンプルの一部(例えばビデオのキーフレーム)が暗号化されます。部分的な暗号化は、復号するフレームが少なくなるため、再生パフォーマンスを改善することができます。

 

Adobe Accessの設定

 

ディレクティブ

デフォルト値

説明

JitDrmCommonKeyFile

無し

この場所コンテンツを保護するために使用される共通キーです。JitDrmCommonKeyFileのパスはrootinstall/Apache2.2に対する相対パスです。

 

 

Directive

Default Value

Description

JitDrmLicenseServerURL

無し

コンテンツ保護に使用されるライセンスサーバーのURLです。

JitDrmTransportCertFile

無し

コンテンツ保護に使用されるトランスポート証明書です。

JitDrmPackagerCredentialFile

無し

コンテンツ保護に使用されるパッケージャー保護資証明書です。

JitDrmPackagerCredentialPassword

無し

コンテンツ保護に使用されるパッケージャー保護資格証明書のパスワードです。

JitDrmPolicyFile

無し

コンテンツ保護のポリシーです。

 

以下の例では新たなLocationディレクティブを追加しています。/phds を含む要求により、保護されたコンテンツが配信されます。この設定は、PHDSPlaybackExpirationPHDSVideoEncryptionLevel、またはPHDSCommonKeyFileを定義せず、それらのデフォルト値に依存します。

 

LoadModule jithttp_module modules/mod_jithttp.so

<IfModule jithttp_module>

 

<Location /phds>

HttpStreamingJITPEnabled true

HttpStreamingContentPath "../webroot/vod"

JitFmsDirPath ".."

Options -Indexes FollowSymLinks

EncryptionScope server

ProtectionScheme phds

</Location>

 

メディアプレイヤーが/webroot/vodからのコンテンツを要求した場合、そのコンテンツは保護されます。例えば、以下のURLをサンプルビデオプレイヤーから要求してみてください。

 

http://localhost:8134/phds/sample1_1500kbps.f4v.f4m

 

コンテンツが保護されていることを確認するには、ウェブブラウザーのアドレスバーに同じURLを入力してください。XML応答には、以下の様な<drmAdditionalHeader>要素が含まれています。

 

<?xml version="1.0" encoding="UTF-8"?>

- <manifest xmlns="http://ns.adobe.com/f4m/1.0">

<id>sample1_1500kbps.f4v</id>

<streamType>recorded</streamType>

<duration>114.61450000000001</duration>

<bootstrapInfo profile="named" id="bootstrap3628">AAABq2Fic3QAAAAAAAA</bootstrapInfo>

<drmAdditionalHeader drmContentId="sample1_1500kbps.f4v" id="drmMetadata9839">AgARfEFkZGl0aW9uYWxIZWFkZXIDAAp</drmAdditionalHeader>

- <media streamId="sample1_1500kbps.f4v" url="sample1_1500kbps.f4v" bootstrapInfoId="bootstrap3628" drmAdditionalHeaderId="drmMetadata9839">

<metadata>AgAKb25NZXRhRGF0</metadata>

</media>

</manifest>

 

注意: <bootstrapInfo><drmAdditionalHeader> および <metadata> 情報は、読みやすくなるように要約されています。

 

以下の例では、新たなLocationディレクティブを追加しています。/hds-vod-faxを含む要求により、Adobe Access保護されたコンテンツが配信されます。

<Location /hds-vod-fax>

HttpStreamingJITPEnabled true

HttpStreamingContentPath "../webroot/vod"

HttpStreamingJITConfAllowed true

JitFmsDirPath ".."

Options -Indexes FollowSymLinks

EncryptionScope server

ProtectionScheme FlashAccessV2

JitDrmCommonKeyFile common-key.bin

// Common key to be used to protect content at this location. No default

JitDrmLicenseServerURL http:

 

// License server URL used when protecting content at this location. No default

JitDrmTransportCertFile aaxs-test-server-trnsCert.der

// Transport certification used when protecting content at this location. No default

JitDrmLicenseServerCertFile aaxs-test-server-licCert.der

// License server certificate used when protecting content at this location.

// No default.

JitDrmPackagerCredentialFile aaxs-test-server-pkgrCert.pfx

// Packager credential used when protecting content at this location. No default

JitDrmPackagerCredentialPassword pwd=

// Packager credential password for the configured packager credential file.

// No default

JitDrmPolicyFile sample_policy.pol

//Policy to be used when protecting content at this location. No default

</Location>

 

注:JitDrmCommonKeyFileはパスを<AMS-Install>/Apache2.2に対する相対パスと見なします。

 

ストリームレベル

メディアの個々のセットに暗号化のパラメーターを設定するには、以下で述べられている設定に従ってください。

 

共通設定

 

要素

デフォルト値

説明

//manifest/hds:content-protection enabled

false

Adobe AccessもしくはPHDSによるコンテンツ保護を有効化するには、enabled 属性を "true"に設定します。

//manifest/hds:content-protection/hds:protection-scheme

PHDS

保護のタイプです。可能な値はPHDSFlashAccessV2のみです。PHDSにはPHDSを使用します。

 

PHDSの設定

 

要素

デフォルト値

説明

//manifest/hds:content-protection/hds:phds/hds:common-key-file

creds/common-key.bin

サーバーのインストール時に生成された共通キーファイルへのパスです。このファイルには16バイト/128ビットのランダムなキーが含まれています。このパスは絶対パスか、jit.confファイルに対する相対パスが可能です。

//manifest/hds:content-protection/hds:phds/hds:video-encryption-level

2

コンテンツの暗号化レベル(0-1-2-)です。

低と中の設定では部分的な暗号化が行われます。サンプルの一部(例えばビデオのキーフレーム)が暗号化されます。

部分的な暗号化は、復号するフレームが少なくなるため、再生パフォーマンスを改善することができます。

//manifest/hds:content-protection/hds:phds/hds:playback-expiration

24Hours

保護ポリシーです。このポリシーはコンテンツの視聴可能な期間を決定します。可能な値は24Hours Unlimitedです。

//manifest/hds:content-protection/hds:phds/hds:output-protection

None

クライアントで必要なメディアのハードウェア出力保護です。可能な値はNoneBestEffort、及びRequiredです。

 

Adobe Accessの設定

 

要素

デフォルト値

説明

//manifest/hds:content-protection/hds:flash-access/hds:common-key-file

無し

共通キーファイルへのパスです。このファイルには16バイト/128ビットのランダムなキーが含まれています。このパスは絶対パスか、jit.confファイルに対する相対パスが可能です。

//manifest/hds:content-protection/hds:flash-access/hds:content-id

無し

コンテンツ保護に使用されるコンテンツIDです。指定されなかった場合は、ファイル名になります。指定された場合は、そのIDはディレクトリの全ファイルで共有されます。

//manifest/hds:content-protection/hds:flash-access/hds:license-server-url

無し

ライセンスサーバーのURLです。

//manifest/hds:content-protection/hds:flash-access/hds:transport-cert-file

無し

トランスポート証明書ファイルへのパスです。ファイルはDER形式です。このパスは絶対パスかjit.confファイルに対する相対パスである必要があります。

//manifest/hds:content-protection/hds:flash-access/hds:license-server-cert-file

無し

ライセンス証明書ファイルへのパスです。ファイルはDER形式です。このパスは絶対パスかjit.confファイルに対する相対パスである必要があります。

 

Element

Default value

Description

//manifest/hds:content-protection/hds:flash-access/hds:packager-credential-file

無し

パッケージャーの保護資格証明書ファイルへのパスです。ファイルはPFX形式です。このパスは絶対パスかjit.confファイルに対する相対パスである必要があります。

//manifest/hds:content-protection/hds:flash-access/hds:packager-credential-password

無し

パッケージャー保護資格証明書のパスワードです。.

//manifest/hds:content-protection/hds:flash-access/hds:policy-file

無し

ポリシーファイルへのパスです。ファイルはAdobe Accessポリシー形式です。このパスは絶対パスかjit.confファイルに対する相対パスである必要があります。

 

以下のhttpd.confファイルはEncryptionScopecontentに設定しています。この設定は、jit.confファイルでの設定がhttpd.confファイルでの設定をオーバーライドするようにサーバーに指示します。メディアの各セットに対してPHDSAdobe Accessを設定するには、この設定を使用します。

 

LoadModule jithttp_module modules/mod_jithttp.so

<IfModule jithttp_module>

<Location /hds-vod>

HttpStreamingJITPEnabled true

HttpStreamingContentPath "../webroot/vod"

JitFmsDirPath ".."

Options -Indexes FollowSymLinks

EncryptionScope content

</Location>

 

以下のjit.confファイルを一緒に使用します。このjit.confファイルはオンデマンドのメディアファイルと同じディレクトリ(/webroot/vod)にあります。このjit.confファイルはPHDSを有効化します。

 

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns="http://ns.adobe.com/f4m/1.0" xmlns:hds="http://ns.adobe.com/hds-package/1.0>

 

<frame-rate>29.97</frame-rate>

<frames-per-keyframe-interval>60</frames-per-keyframe-interval>

<hds:content-protection enabled="true">

<hds:protection-scheme>phds</hds:protection-scheme>

<hds:phds>

<hds:common-key-file>

C:\Program Files\Adobe\Adobe Media Server 5\creds\common-key.bin

</hds:common-key-file>

<hds:video-encryption-level>0</hds:video-encryption-level>

<hds:playback-expiration>unlimited</hds:playback-expiration>

</hds:phds>

</hds:content-protection>

 

</manifest>

 

以下のjit.confファイルを一緒に使用します。このjit.confファイルはオンデマンドのメディアファイルと同じディレクトリ(/webroot/vod)にあります。このjit.confファイルはAdobe Accessを有効化します。

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns="http://ns.adobe.com/f4m/1.0" xmlns:hds="http://ns.adobe.com/hds-package/1.0">

<hds:FlashAccessV2>

<hds:content-id>jit_fax2</hds:content-id>

<hds:common-key-file>common-key.bin</hds:common-key-file>

<hds:license-server-url>http://<aaxs-test-server></hds:license-server-url>

<hds:transport-cert-file>aaxs-test-server-trnsCert.der</hds:transport-cert-file>

<hds:license-server-cert-file>aaxs-test-server-licCert.der</hds:license-server-cert-file>

<hds:packager-credential-file>aaxs-test-server-pkgrCert.pfx</hds:packager-credential-file>

<hds:packager-credential-password>pwd=</hds:packager-credential-password>

<hds:policy-file>sample_policy.pol</hds:policy-file>

</hds:FlashAccessV2>

</hds:content-protection>

</manifest>

 

注: -key-fileはパスを<AMS-Install>/webroot/vodに対する相対パスと見なします。

 

 

キーローテーション

Adobe Media Server 5は、Adobe AccessPHDSと組み合わせて使用すると保護されたHTTP Dynamic StreamingPHDSでキーローテーションをサポートします。一連のキーを使ってAMS5でコンテンツを暗号化することができます。定期的に暗号化キーを変更でき、コンテンツ暗号化キーをどのくらいの頻度で変更するか指定できます。

 

Adobe Access の設定

 

パラメーター

説明

デフォルト値

JITDrmEnableKeyRotation

FAXS保護スキームでキーローテーションを使用するかどうか.。この場合、ランダムに生成されたキーが使用されます。

false

JITDrmKeyRotationInterval

キーローテーションを有効化する場合、キーローテーションの間隔(秒単位)

900

 

以下のhttpd.confを使用すると、キーローテーションがサーバーレベルで有効化されます。

 

<Location /hds-vod>

HttpStreamingJITPEnabled true

HttpStreamingContentPath "../webroot/vod"

HttpStreamingJITConfAllowed true

JitFmsDirPath ".."

Options -Indexes FollowSymLinks

EncryptionScope server

ProtectionScheme FlashAccessV3

JitDrmCommonKeyFile ../creds/common-key.bin

JitDrmLicenseServerURL http://ip-address:8090

JitDrmTransportCertFile dme/transport-cert-file.der

JitDrmLicenseServerCertFile dme/transport-cert-file.der

JitDrmPackagerCredentialFile dme/transport-cert-file.pfx

JitDrmPackagerCredentialPassword kY2IUPnQuG0=

JitDrmPolicyFile dme/local_chain.pol

JitDrmEnableKeyRotation true

JitDrmKeyRotationInterval 16

</Location>

 

Jit.conf

 

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns="http://ns.adobe.com/f4m/1.0" xmlns:hds="http://ns.adobe.com/hds-package/1.0">

<hds:content-protection enabled="true">

<hds:protection-scheme> FlashAccessV3 </hds:protection-scheme>

<hds:Flashaccessv3>

<hds:content-id>jit_fax3</hds:content-id>

<hds:common-key-file>../../creds/common-key.bin</hds:common-key-file>

<hds:license-server-url>http://10.192.37.195:8090/</hds:license-server-url>

<hds:transport-cert-file>../dme/transport-cert-file.der</hds:transport-cert-file>

<hds:license-server-cert-file>../dme/transport-cert-file.der</hds:license-server-cert-file>

<hds:packager-credential-file>../dme/transport-cert-file.pfx</hds:packager-credential-file>

<hds:packager-credential-password>kY2IUPnQuG0=</hds:packager-credential-password>

<hds:policy-file>../dme/local_chain.pol</hds:policy-file>

<hds:enable-key-rotation>true</hds:enable-key-rotation>

<hds:key-rotation-interval>900</hds:key-rotation-interval>

</hds:Flashaccessv3>

</hds:content-protection>

</manifest>

 

PHDS の設定

このセクションでは、PHDS用のキーローテーションの設定を説明します。

 

パラメーター

説明

デフォルト値

PHDSEnableKeyRotation

PHDS保護スキームでキーローテーションを使用するかどうか。この場合、ランダムに生成されたキーが使用されます。

false

PHDSRotationInterval

キーローテーションを有効化する場合、キーローテーションの間隔(秒単位)

900

 

以下のhttpd.confを使用すると、キーローテーションがサーバーレベルで有効化されます。

 

<Location /hds-vod>

HttpStreamingJITPEnabled true

HttpStreamingContentPath "../webroot/vod"

HttpStreamingJITConfAllowed true

JitFmsDirPath ".."

Options -Indexes FollowSymLinks

EncryptionScope server

ProtectionScheme PHDS

PHDSCommonKeyFile ../creds/common-key.bin

PHDSEnableKeyRotation true

PHDSKeyRotationInterval 16

</Location>

 

Jit.conf

 

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns="http://ns.adobe.com/f4m/1.0" xmlns:hds="http://ns.adobe.com/hds-package/1.0">

<hds:content-protection enabled="true">

<hds:protection-scheme> PHDS </hds:protection-scheme>

<hds:PHDS>

<hds:content-id>jit_phds</hds:content-id>

<hds:common-key-file>../../creds/common-key.bin</hds:common-key-file>

<hds:enable-key-rotation>true</hds:enable-key-rotation>

<hds:key-rotation-interval>900</hds:key-rotation-interval>

</hds:PHDS>

</hds:content-protection>

</manifest>

 

ライセンスチェーン

Adobe Media Serverは、ライセンスチェーンを使用して生成されたポリシーからDRMメタデータへのリーフライセンスの埋め込みをサポートしています。そのポリシーのルートライセンスが使用することができるように設定された、ライセンスサーバー保護資格証明書と証明書のパスワードが、埋め込まれたリーフライセンスに含まれるCEKを暗号化するために必要です。

 

もしリーフライセンスを埋め込む設定がオフにされた場合でも、Adobe Media Serverはそのようなポリシーをサポートします。ただし、リーフライセンスがDRMメタデータに埋め込まれないポリシーを除きます。

 

注意:ライセンスチェーンのサポートは単一のサーバ証明書と証明書パスワードのペアに限定されます。

 

 

 

以下の表に必要な設定を挙げます。

 

パラメーター

説明

デフォルト値

JitDrmEmbedLeafLicense

DRM metadataへのリーフライセンスの埋め込みを有効化します。可能な値は"true"または"false"です。.

注意:ポリシーファイルはチェーン化ライセンスを使用して作成する必要があります。

false

JitDrmLicenseServerCredentialFile

HdsDrmEmbedLeafLicensetrueに設定されている場合は必須です。このlocationでコンテンツを保護する際に使用されるライセンスサーバー保護資格証明書です。

無し

JitDrmLicenseServerCredentialPassword

HdsDrmEmbedLeafLicensetrueに設定されている場合は必須です。上の項目で設定されたライセンスサーバー保護資格証明書ファイルのライセンスサーバー保護資格証明書パスワードです。

無し

 

以下のhttpd.confを使用すると、キーローテーションがサーバーレベルで有効化されます。

 

<Location /hds-vod>

HttpStreamingJITPEnabled true

HttpStreamingContentPath "../webroot/vod"

HttpStreamingJITConfAllowed true

JitFmsDirPath ".."

Options -Indexes FollowSymLinks

EncryptionScope server

ProtectionScheme  FlashAccessV3

JitDrmCommonKeyFile ../creds/common-key.bin

JitDrmLicenseServerURL http://ip-address:8090

JitDrmTransportCertFile dme/transport-cert-file.der

JitDrmLicenseServerCertFile dme/transport-cert-file.der

JitDrmPackagerCredentialFile dme/transport-cert-file.pfx

JitDrmPackagerCredentialPassword kY2IUPnQuG0=

JitDrmPolicyFile dme/local_chain.pol

JitDrmEmbedLeafLicense true

JitDrmLicenseServerCredentialFile dme/transport-cert-file.pfx

JitDrmLicenseServerCredentialPassword kY2IUPnQuG0=

</Location>

 

Jit.conf

 

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns="http://ns.adobe.com/f4m/1.0" xmlns:hds="http://ns.adobe.com/hds-package/1.0">

<hds:content-protection enabled="true">

<hds:protection-scheme> FlashAccessV3 </hds:protection-scheme>

<hds:Flashaccessv3>

<hds:content-id>jit_fax3</hds:content-id>

<hds:common-key-file>../../creds/common-key.bin</hds:common-key-file>

<hds:license-server-url>http://localhost:8090/</hds:license-server-url>

<hds:transport-cert-file>../dme/transport-cert-file.der</hds:transport-cert-file>

<hds:license-server-cert-file>../dme/transport-cert-file.der</hds:license-server-cert-file>

<hds:packager-credential-file>../dme/transport-cert-file.pfx</hds:packager-credential-file>

<hds:packager-credential-password>kY2IUPnQuG0=</hds:packager-credential-password>

<hds:policy-file>../dme/local_chain.pol</hds:policy-file>

<hds:embed-leaf-license>true</hds:embed-leaf-license>

<hds:license-server-credential-file>../dme/transport-cert-file.pfx</hds:license-server-credential-file>

<hds:license-server-credential-password>kY2IUPnQuG0=</hds:license-server-credential-password>

</hds:Flashaccessv3>

</hds:content-protection>

</manifest>

 

Protected HTTP Dynamic StreamingでのSWF検証

SWF検証は、不正なSWFファイルがコンテンツにアクセスするのを防止します。SWF検証を使用するには、Protected HTTP Dynamic StreamingPHDS)を有効化する必要があります。

 

有効な SWF ファイルのリストを作成します。これはホワイトリストと呼ばれます。これらのファイルは埋め込まれたライセンスで指定され、DRM メタデータに入れられてクライアントに送信されます。クライアント上で、Flash Player および AIR 内部の Adobe Access によってSWF 検証が実施されます。

 

ホワイトリストを作成するには、ホワイトリストツール(rootinstall/tools/Whitelist)を使用します。

 

ワークフロー

 

1       PHDS.を有効化します。

2       ホワイトリストツールを使用して、許可されたSWFファイルのホワイトリストを生成します。ホワイトリストファイルには任意の名前を付けることができます。拡張子は、.whitelistまたは.airwhitelistである必要があります。

 

3       ホワイトリストをサーバーにコピーします。

4       SWF検証を有効化し、ホワイトリストの場所を以下の場所で指定します。

    (ライブ)—Application.xmlまたはEvent.xml

    (オンデマンド)—httpd.confまたはjit.conf

5       Adobe Media Server上のlivepkgrアプリケーションにストリームをパブリッシュします。

6       OSMFメディアプレイヤーからストリームを要求します。要求 URL のシンタックスがSWF 検証が理由で変わることはありません。

サーバーはホワイトリストからのSWFハッシュを.drmmetaファイルに埋め込みます。Flash Playerは、DRM 認証の間にSWFハッシュの検証を試みます。

 

7       (ライブ)サーバーは次の順序でホワイトリストを検索します。

a   アプリケーションのフォルダー(ライブHTTPストリーミングのデフォルトのアプリケーションは、rootinstall/applications/livepkgrです)。

b   Application.xml/SWFVerification/WhitelistFolder要素内のパス

c    Event.xml/SWFVerification/WhitelistFolder要素内のパス

8       (オンデマンド)サーバーはhttpd.conf及びオンデマンドコンテンツと同じフォルダーにあるjit.confファイル内でホワイトリストを検索します。

 

ハッシュが一致しない場合、Flash Playerは実行時エラー(3310)を投げ、OSMFメディアプレイヤーはフラグメントの要求を停止します。

 

ライブPHDSでのSWF検証の設定

ライブPHDSSWF検証を有効化するには、サーバーレベル(httpd.conf)、アプリケーションレベル(Application.xml)、またはイベントレベル(Event.xml)でPHDSを有効化します。

 

サーバーレベル(httpd.conf)でライブHDSSWF検証を設定する

 

SWF検証を有効化するには、以下の要素をhds-liveディレクティブに追加します。

 

要素

説明

デフォルト

PHDSSWFVerification

SWF検証の設定のコンテナです。SWF検証を有効化するには、enabled属性を"true"に設定します。

"false"

PHDSSWFWhiteListFolder

SWFホワイトリストの場所を指定します。

ライブイベントのアプリケーションフォルダー。

 

アプリケーションレベル(Application.xml)またはイベントレベル(Event.xml)でライブHDSSWF検証を設定する

 

Application.xmlでは、SWFVerificationは以下の場所にあります。

//Application/HDS/Recording/ContentProtection/PHDS/SWFVerification

Event.xmlでは、SWFVerificationは以下の場所にあります。

//Event/Recording/ContentProtection/PHDS/SWFVerification

 

要素

説明

デフォルト

/SWFVerification

SWF検証の設定のコンテナです。SWF検証を有効化するには、enabled属性を"true"に設定します。

"false"

/SWFVerification/WhiteListFolder

ホワイトリストを含むフォルダーへのパス。フォルダーには複数のホワイトリストファイルを含めることができます。

 

パスは絶対パスまたは相対パスにすることができます。Application.xml ファイルの相対パスは、アプリケーションフォルダーに対する相対パスです。Event.xml ファイルの相対パスは、イベントフォルダーに対する相対パスです。セキュリティ上の理由から、下位相対パスはサポートされていません。

 

この設定はオプションです。値が指定されない場合、サーバーはライブイベントのアプリケーションフォルダーを検索します。

ライブイベントのアプリケーションフォルダー。

 

Apachehttpd.confファイルで以下を設定し、ブートストラップ、フラグメント、マニフェスト、drmmetaの各応答に対するキャッシュ制御を設定します。

 

  HttpStreamingBootstrapMaxAge

  HttpStreamingFragMaxAge

  HttpStreamingF4MMaxAge

  HttpStreamingDrmmetaMaxAge

各設定の詳細情報については、「ライブおよびオンデマンド HTTP ストリーミングのサーバーレベル(httpd.conf)での設定を参照して下さい。

 

オンデマンドPHDSでのSWF検証を設定する

SWF 検証は PHDS 下で設定されます。SWF 検証を有効化するには、PHDS を有効化します。オンデマンド PHDS は、サーバーレベル(httpd.conf)またはストリームレベル(jit.conf)で有効化できます。

 

オンデマンド PHDS SWF 検証を、サーバーレベル(httpd.conf)またはストリームレベル(jit.conf)で設定します。

 

以下のエレメントを使用して、httpd.conf ファイルで SWF 検証を有効化し、設定を行います。

要素

説明

デフォルト

PHDSSWFVerification

SWF検証の設定のコンテナです。SWF検証を有効化するには、enabled属性を"true"に設定します。

"false"

PHDSSWFWhiteListFolder

どこにSWFホワイトリストがあるかを指定するオプションの設定です。フォルダーには複数のホワイトリストファイルを含めることができます。

 

Apacheの設定がオーバーライドを許可している場合、この設定はjit.confでオーバーライドすることができます。

 

この設定はオプションです。値が指定されない場合、サーバーは jit.conf ファイルを含むフォルダーを検索します。folder containing the jit.conf file.

そのメディアを含むフォルダー。

 

次のエレメントを使用して、jit.conf ファイルで SWF 検証を有効化し、設定を行います。jit.conf ファイルをオンデマンドメディアと同じディレクトリにコピーします。

 

要素

説明

デフォルト

//manifest/hds:content-protection/hds:phds/hds:swf-verification

SWF検証の設定のコンテナです。SWF検証を有効化するには、enabled属性を"true"に設定します。

"false"

//manifest/hds:content-protection/hds:phds/hds:swf-verification/hds:white-list-folder

ホワイトリストを含むフォルダーへのパス。フォルダーには複数のホワイトリストファイルを含めることができます。

 

パスは絶対パスまたは相対パスにすることができます。相対パスは、jit.conf ファイルが含まれたフォルダーに対して相対的です。セキュリティ上の理由から、下位相対パスはサポートされていません。

 

この設定はオプションです。値が指定されない場合、サーバーは jit.conf ファイルを含むフォルダーを検索します。

そのメディアを含むフォルダー。

 

ホワイトリストツール

ホワイトリストツールを使用して、有効なSWFAIRファイルのリストを生成します。サーバーはこのホワイトリストを使用して、Flash PlayerAIRアプリケーションのSWF検証を行います。

 

ホワイトリストツールはSWFファイル、AIR証明書ファイル、AIR署名ファイルを受け取り、各ファイルのSHA256ハッシュを生成します。このツールはハッシュをBase64でエンコードされたテキストとして1つまたは複数のテキストファイルに書き込み、出力します。そのテキストファイルは.whitelist.airwhitelistの拡張子を使用します。

 

ホワイトリストツールは以下のディレクトリにあります。

 

rootinstall/tools/Whitelist

 

以下のコマンドラインシンタックスを使用して、ホワイトリストツールを実行します。

 

whitelist --in <file|dir> [--outDir <output dir>] [--out <output file>] [--version]

 

以下の表に、ホワイトリストツールのコマンドラインオプションと引数を挙げます。

 

オプション

オプショナルか

説明

--in <file|dir>

いいえ

SWFファイル、AIR署名ファイル、またはAIR証明書ファイル。SWFが含まれるディレクトリ。ディレクトリのパラメーターはAIRファイルをサポートしていません。

 

複数のファイルやディレクトリを指定するには、複数回--inオプションを使用します。

 

SWFファイルには、このツールは拡張子が.whitelistのファイルを出力します。AIR署名ファイルと証明書ファイルには、拡張子が.airwhitelistのファイルを出力します。

--log <file|dir>

はい

デフォルトのwhitelist.propertiesファイルのあるディレクトリのパスか、propertiesファイルのフルパス。この.propertiesファイルでロギングをカスタマイズします。

 

ホワイトリストツールはlog4j Apacheロギングをサポートしています。デフォルトでは、ログメッセージはコンソールに出力されます。他の場所に出力するには、この—logオプションを使用します。

--out <output file>

はい

.whitelistファイルや.airwhitelistファイルの名前です。もし—outが指定されなかった場合は、各swfファイルと.xmlファイルに対して.whitelistファイルと.airwhitelistファイルを作成します。

 

--outが指定された場合は、--outDirは無視されツールが実行されているディレクトリにファイルが保存されます、。

--outDir <outputdir>

はい

出力ディレクトリを作成し、.whitelistファイルをそこに保存します。

 

--outDirが指定されなかった場合は、ツールが実行されているディレクトリに.whitelistファイルや.airwhitelistファイルが作成されます。--outDirが相対パスの場合は、ツールが実行されているディレクトリに対する相対パスになります。

--version

はい

SWF検証のバージョン番号を.whitelist fileに書き込みます。

 

以下の表に、ホワイトリストツールの実行例を挙げます。

 

結果

whitelist --in foo.swf --in bar.swf

foo.swf.whitelistbar.swf.whitelistをカレントディレクトリに作成します。

whitelist --in signature.xml --in bar.swf

signature.xml.airwhitelistbar.swf.whitelistをカレントディレクトリに作成します。

whitelist --in foo.swf --in mydir

 

この例でmydirbar.swfが入っているディレクトリです。

foo.swf.whitelistbar.swf.whitelist をカレントディレクトリに作成します。

whitelist --in signature.xml --in mydir

 

この例でmydirbar.swfが入っているディレクトリです。

signature.xml.airwhitelistbar.swf.whitelistをカレントディレクトリに作成します。

whitelist --in foo.swf --in bar.swf --outDir outputdir

outputdir/foo.swf.whitelistファイルと outputdir/bar.swf.whitelistファイルを作成します。

whitelist --in signature.xml --in bar.swf --outDir outputdir

outputdir/signature.xml.airwhitelist ファイルとoutputdir/bar.swf.whitelistファイルを作成します。

whitelist --in foo.swf --in mydir --out outputfile

 

この例でmydirbar.swfが入っているディレクトリです。

foo.swfmydir/bar.swfのハッシュを含むoutputfile.whitelistファイルをカレントディレクトリに作成します。

whitelist --in signature.xml --in mydir --out outputfile

この例でmydirbar.swfが入っているディレクトリです。

signature.xmlのハッシュを含むoutputfile.airwhitelistファイルを作成します。bar.swfのハッシュを含むoutputfile.whitelistファイルを作成します。両ファイルはカレントディレクトリに作成されます。

whitelist --in foo.swf --in mydir --out outputfile --outDir outputdir

 

この例でmydirbar.swfが入っているディレクトリです。

foo.swfmydir/bar.swfのハッシュを含むoutputfile.whitelistファイルをカレントディレクトリに作成します。

 

警告:--outオプションが指定された場合は、ツールは—outDirオプションを無視します。

whitelist --in signature.xml --in mydir --out outputfile --outDir outputdir

この例でmydirbar.swfが入っているディレクトリです。

signature.xmlのハッシュを含むoutputfile.airwhitelistを作成します。mydir/bar.swfのハッシュを含むoutputfile.whitelistファイルを作成します。両ファイルはカレントディレクトリに作成されます。

 

警告:--outオプションが指定された場合は、ツールは—outDirオプションを無視します。

whitelist --version

"version 1.0"と表示します。

 

もし入力ファイルが前の入力ファイルと同じ名前だった場合には、両方のファイルがホワイトリストに追加されます。

 

whitelist --in c:\myfolder\signature.xml --in c:\yourfolder\signature.xml --outDir c:\out\signature.xml

出力を以下に示します。

 

# c:\myfolder\signature.xml

XXXXXXXXXXXXXXXXXXXXXX

# c:\yourfolder\signature.xml

XXXXXXXXXXXXXXXXXXXXXXXXXXX

個々のハッシュのホワイトリスト形式を以下に示します。

 

# foo.swf

PGfcEwgUKWScivIRucIwG5jT

AIRファイルのホワイトリスト形式を以下に示します。

 

# C:\air\signatures.xml

A167FBF93528C87BBCDAC2B8CD0829479DDA6912.2

--outオプションを使用したときの複数のハッシュのホワイトリスト形式を以下に示します。

 

# foo.swf

PGfcEwgUKWScivIRucIwG5jT

 

# bar.swf

TcsQWLLi7h7WNjHqcLzzl0J15Srvdzkz2inCTKQLOHw=

 

# mydir/bar.swf

TcsQWLLi7h7WNjHqcLzzl0J15Srvdzkz2inCTKQLOHw=

 

 

最終更新日 2013/9/30