シンプルなエンド ツー エンド システム

通常、Microsoft PlayReadyはメディア ファイルのライセンスを提供することでコンテンツを保護します。 ファイルを非表示にしたり、アクセスできないようにしたり、ファイルがシステムからシステムに送信されるときに特別な保護を実施したりする必要はありません。 言い換えると、オペレーティング システムの要件や高セキュリティのファイル転送メカニズムは必要ありません。 ただし、ファイルをコピーしてフレンドに渡しても、そのフレンドが PlayReady によって保護されている場合、そのファイルを使用することはできません。 メディア ファイルを使用するには、ユーザーにライセンスが必要です。 このライセンスは、コンテンツ (メディア ファイル) を制御するための主要な手段です。 ライセンスは、1 つのクライアント (メディア プレーヤーなど) またはドメインに付与されます。 ライセンスは、他のクライアントや他のドメインでは機能しません。

各ライセンスには権利と制限が含まれており、コンテンツの使用方法と条件を正確に定義します。 たとえば、音楽ファイル ライセンスでは、"再生する権利" を有効にしても、コンテンツを再生できるアプリケーションのセキュリティ レベルが制限される場合があります。 ライセンスは、2017 年 10 月 1 日から 2017 年 11 月 1 日までの期間有効な場合があります。 1 つのファイルに対して複数のライセンスが存在する場合があります。 ユーザーは、いずれかのライセンスが適切な権限を付与し、制限によってアクセスが妨られない限り、自分のコンテンツにアクセスして使用できます。

エンド ツー エンド ビデオ サービスの概要

次の図は、左側のサービスのバックエンドや右側のクライアントなど、エンド ツー エンドのビデオ サービスの概要を示しています。

Video Service Architecture

図の左側には、サービスにビデオをストリーミングするサーバー (コンテンツ配布ネットワーク) があることがわかります。 また、ユーザーがコンテンツを参照し、再生するコンテンツ (ユーザー インターフェイス) を選択できるサーバーもあります。 さらに、ユーザーがログインして認証できるサーバーと、コンテンツの支払い (認証、支払い) を許可するサーバーもあります。 また、PlayReady ライセンス サーバーもあります。

図の右側にはクライアントがあります。 クライアントは、アプリケーション、スマートフォン アプリケーション、またはセット トップ ボックス、ネットワーク レシーバーなどの特定のデバイスをWindowsできます。 これらのクライアントの一部には、プレイヤーに PlayReady 統合クライアントが付属している場合があります。たとえば、OEM がオペレーティング システムまたはハードウェアに PlayReady を統合している場合があります。 アプリ ストアに公開されているアプリケーションに統合されたクライアントが付属している場合もあります。 プレイヤーがクライアント側で PlayReady を統合するためのさまざまなオプションがあります。

このトピックでは、次の図に示すように、PlayReady がサービスに対して行うことを中心に説明します。

What PlayReady Does For The Service

PlayReady によって提供される方法は、クライアントがサーバーにライセンスを要求し、開いているネットワーク経由で保護された形式でコンテンツを保護するキーを提供する方法です。 PlayReady が 2 つ目に行うことは、権限と適切な制限をクライアントに提供することです。 PlayReady を使用すると、サービスはコンテンツ再生のキーを提供できますが、たとえば、レンタル シナリオでクライアントがそのキーを 2 日間だけ使用できるようにします。 そのため、PlayReady には、キーを使用して権限と適切な制限を宣言する方法が用意されています。

PlayReady では、クライアント側にコンテンツ キーをより安全に格納する方法も提供されるため、クライアントはそのクライアント キーを使用してレンダリング用のコンテンツを復号化できますが、コンテンツをクリアに保存して他のユーザーと共有することはできません。

PlayReady クライアントが正しい方法で動作するように、PlayReady では、コンプライアンスと堅牢性の規則に従うためにハードウェアとソフトウェアの実装が必要です。 これらのルールは、PlayReady コンテンツを復号化または処理するときにクライアントがどのように動作する必要があるかを制御します。  また、クライアントはライセンスで見つかった制限を正しく処理する必要もあります。  そのため、クライアントがコンテンツ キーを使用する手順を 48 時間以内に受け取った場合、クライアントはそれらの指示に従う必要があります。 これらの規則は 、コンプライアンスと堅牢性の規則で Microsoft によって提供され、クライアントでこれらの規則を適用するのはクライアント開発者の責任です。

基本的な暗号化とライセンスプロセス

次の手順は、コンテンツのエンドツーエンドの暗号化とライセンス プロセスと、PlayReady がプロセスにどのように関与しているかを示しています。

次の図には、暗号化されていない 1 つの資産 (オーディオ/ビデオ ファイル) が含まれています。 コンテンツの暗号化に使用されるメソッドは、完全にコンテンツ プロバイダーにかかっており、PlayReady の一部として提供されません。

Encrypting the Content File

  1. このファイルを暗号化するには、サービスで、コンテンツの暗号化に使用される新しいコンテンツ キーを生成する、コンテンツ暗号化ツールのキー ジェネレーターを使用する必要があります。 このコンテンツ キーは、後で PlayReady ライセンス サーバーからクライアントに配信され、コンテンツの復号化とユーザーのレンダリングが可能になります。 暗号化サービスは、秘密値であるコンテンツ キーと共に、キー識別子 (KEYID) (GUID) もコンテンツ キーに関連付けます。 KeyID はパブリック値です。

  2. キーと KeyID は暗号化時に設計され、キー管理システム (通常は何らかのデータベース) に格納されます。 PlayReady はキー管理システムを提供しないため、キー管理システムを提供するのは、ブロードキャストサーバーでサービスを構築するサービスまたはパートナー次第です。

  3. キーと KeyID をキー管理システムに格納するだけでなく、KeyID をパッケージャーに収める必要もあります。これにより、ヘッダーが生成されます。 このヘッダーは、 PlayReady ヘッダー仕様に従ってサービスまたはパートナーによって書式設定された後、コンテンツ ファイル ヘッダーのクリアに取り付けられます。

    この時点で、オーディオとビデオは KeyID を使用して暗号化され、暗号化されたコンテンツ ファイルがクライアントに配信される準備が整います。

    Authenticating the User

  4. これで、クライアントはコンテンツの使用を開始できます。 クライアントが行う最初の操作は、通常はログイン名とパスワードを指定してサービスに対してユーザーを認証することですが、ユーザーとデバイスを認証するためのその他のメカニズムは問題ありません。 通常、ユーザーが確認されると、セッション トークンがクライアントに返されます。 ユーザー認証に使用されるメカニズムは何であれ、ユーザーの認証方法はサービスに完全にかかっていることに注意してください。PlayReady はこのテクノロジを提供していません。

    Content Delivery

  5. 次に、コンテンツがクライアントに配信されます (たとえば、クライアントはコンテンツを構成するデータ ストリームの一部のダウンロードを開始しました)。 その後、クライアントはこのコンテンツの解析を開始し、それが暗号化され、不明だが KeyID を含むキーを使用していることを検出します。

    License Acquisition

  6. その時点で、クライアントはライセンス取得要求をライセンス サーバーに送信します。

  7. その後、ライセンス サーバーは認証サービスとインターフェイスして、ユーザーを確認します。 通常、ライセンス サーバーが最初に行うことは、クライアント/ユーザーがその特定のライセンスに対する権利を持っていることを確認することです。 また、PlayReady はそのレイアウト (認証) を提供せず、ライセンス サーバーを提供するだけです。 その後、認証サービスは通常、はいまたはいいえ、または制限付きで応答します (たとえば、このユーザーはこの特定の映画に対する権利を持っていますが、ユーザーが 1 か月に支払う金額に基づいて、最高品質のサブスクリプション レベルを持っていないため、ビデオの品質は低くなります)。

  8. 次に、ライセンス サーバーは、キーを格納するキー管理システムから KeyID に基づいてキーの値を要求し、キー管理システムがその要求に応答します。 繰り返しになりますが、PlayReady はキー管理システムのコンポーネントを提供しないため、PlayReady ライセンス サーバーから、キーを格納するためにサービスが構築したコンポーネントに要求が送信されます。

  9. キーはライセンス サーバーによって受け取られ、ライセンス サーバーはライセンスを配信できます。 保護された PlayReady ライセンス応答には、キーの値と、クライアントが適用する権利と権利の制限の一覧が含まれます。

    このデモでは、PlayReady ライセンス サーバーが 1 つのキーのみを配信していることを示していますが、ライセンス サーバーが 1 つのライセンス応答でライセンスのスタックを配信する可能性があります。 複数のライセンスを 1 つのトランザクションに含め、コンテンツが複数のキーで保護されている場合、またはサービスが複数のキーを事前に配信する必要がある場合は、各ライセンスが 1 つのキーを提供できます。たとえば、サービスはユーザーが 8 つのトラックを連続してリッスンすることを認識しているためです。

    License Store

  10. PlayReady が提供するもう 1 つのテクノロジは、ライセンス Microsoft Storeと呼ばれるキーと権限をクライアントに格納する方法です。

    ライセンス Microsoft Storeは、通常、ライセンス Microsoft Storeの構造がハッシュデータ ストアであるため、HDS と呼ばれます。 デバイスには複数の種類のライセンス ストアが存在する可能性があります。1 つのアプリケーションに独自の HDS を含め、ある会社の HDS が別の会社の HDS と同じファイルに含まれていないことを確認できます。 この設計の選択は、クライアント開発者によって完全に決まります。 たとえば、Windowsで PlayReady を使用する場合、Microsoft は Internet Explorer 用に 1 つの HDS を、サイトごとに 1 つの HDS と、Windowsユニバーサル アプリごとに 1 つの HDS とMicrosoft Edgeを用意することを選択しました。

    HDS は、ハード ドライブやデバイスの永続的なメモリなど、永続的な方法で格納することも、非永続的なメモリなどの非永続的な方法で格納することもできます。 したがって、ライセンス サーバーがライセンスを発行すると、ライセンスをクライアントのハード ドライブに保存する必要がないことを示すライセンスのプロパティを設定したり、セットトップ ボックスや電話の場合は永続的なメモリに格納しないようにすることができます。サービスとして、ライセンスを永続的メモリに格納したくないためです。 その場合は、プレーヤー アプリケーションのコンテキストで HDS をメモリに格納するだけで、ユーザーがプレーヤー アプリケーションを閉じるとすぐに、ライセンスとその権限が消えます。