PlayReadyとは何か、MicrosoftのDRMとバージョン

著者: IT Sectr 公開日: 2026-05-24 読了時間: 8 分

PlayReadyは、Windows、Xbox、およびUWPユニバーサルランタイム環境をサポートするその他のプラットフォームでコンテンツを保護するためにMicrosoftが開発したDRMテクノロジーです。システムはSL150からSL3000までの3層セキュリティモデルSL(Security Level)を使用し、最高レベルではTPMを介したハードウェア暗号化が必要です。Microsoft Docs(2025)によると、PlayReady 4.0は4K HDR暗号化と高度なコンテンツ使用分析をサポートしています。

主要ポイント

  • PlayReadyは3層セキュリティモデルSL150、SL2000、SL3000を備えたMicrosoftのDRMソリューションです。
  • バージョン4.0は4K HDR、TPMを介したハードウェア暗号化、高度なテレメトリをサポートしています。
  • ライセンスPlayReadyはポリシー(時間、品質、デバイス数、出力保護)を通じて機能します。
  • クロスプラットフォームにより、Windows、Xbox、Android、iOS、Smart TVでPlayReadyを使用できます。
  • PlayReady NMCR(Non-Media Content Receiver)は、ドキュメントやゲームなどの非メディアデータを保護します。

PlayReadyとは?

PlayReadyは、メディアコンテンツやその他のデジタルアセットを保護するためにMicrosoftが2007年に開発したデジタル著作権管理(DRM)テクノロジーです。これはWMDRM(Windows Media DRM)に代わるもので、Windows Media Center、Xbox Video、Microsoft Silverlightの標準保護方式になりました。

PlayReadyの主な利点は、ビデオ、オーディオ、電子書籍、ゲーム、ドキュメントなど、さまざまなタイプのコンテンツに対応する統一ライセンスシステムです。このテクノロジーは、サブスクリプション(Subscription)、レンタル(Rental)、購入(Purchase)の配布モデルをサポートしており、メディアサービスや教育プラットフォームにとって魅力的です。

PlayReadyのアーキテクチャ

PlayReadyのアーキテクチャは、PlayReady Device Porting Kitクライアントランタイム、PlayReady License Server、コンテンツパッケージャの3つの主要コンポーネントで構成されています。PlayReadyランタイムはアプリケーションまたはプレーヤーに組み込まれ、デバイス上のコンテンツ復号を処理します。

ライセンスサーバーは、コンテンツプロバイダーが設定したポリシーに基づいてライセンスキーを生成します。コンテンツパッケージャは、Common Encryption(CENC)標準を使用してメディアファイルを暗号化し、特定のライセンスにリンクするためのメタデータを埋め込みます。

PlayReady DRMの仕組み

保護プロセスPlayReadyはパッケージング段階から始まります。メディアコンテンツは対称鍵で暗号化され、その後ライセンスサーバーの公開鍵で保護されます。パッケージ化されたコンテンツはCDNに配置され、ダウンロードまたはストリーミングで利用可能になります。

ユーザーが保護されたコンテンツをリクエストすると、プレーヤーはライセンスサーバーにライセンスリクエストを開始します。サーバーはユーザーの資格情報、アクセス権(サブスクリプション、レンタル、購入)を確認し、復号鍵を含むライセンスを発行します。

ライセンス交換プロトコル

PlayReadyはSOAPまたはJSONベースの交換プロトコルを使用し、ライセンスリクエストにはコンテンツID(Content ID)、デバイス識別子、アプリケーション署名が含まれます。サーバーは、デバイスの公開鍵で暗号化されたXML形式のライセンスを返します。

ライセンスには、コンテンツ暗号化キー(CEK)がデバイスキーでラップされて含まれ、ポリシーのセットが付属します。ポリシーは、再生時間、ビデオ品質、デバイス数、出力タイプ(HDMI、コンポジット)を制限できます。

PlayReadyセッションの初期化

csharp
var mediaProtectionManager = new MediaProtectionManager();
var properties = new PropertySet();
properties["Windows.Media.Protection.MediaProtectionSystemId"] =
    "9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e";

mediaProtectionManager.SetProtectionScheme(
    MediaProtectionSystemType.PlayReady,
    properties
);

var mediaSource = MediaSource.CreateFromUri(
    new Uri(contentUrl)
);
mediaPlayer.Play(mediaSource);

PlayReadyのバージョン:3.0と4.0

PlayReady 3.0は2014年にリリースされ、TPM 2.0を介したハードウェア暗号化サポートと4Kコンテンツ向けSL3000セキュリティレベルを導入しました。このバージョンでは、デバイスバインディングメカニズムを通じてライセンスを特定のデバイスにバインドする機能が追加され、デバイス間のライセンス転送を防止します。

PlayReady 4.0は2020年に発表され、3つの主要な革新により機能を拡張しました。高度なコンテンツ使用テレメトリのサポート、コンテンツプロバイダー向けの改善された分析、モバイルデバイスでの電力消費の最適化です。

PlayReadyバージョンの比較

バージョン主な機能最大SL
PlayReady 2.02011ソフトウェア暗号化、最大1080pSL2000
PlayReady 3.02014ハードウェア暗号化、4K、デバイスバインディングSL3000
PlayReady 4.02020テレメトリ、省エネ、HDRSL3000

PlayReadyのセキュリティレベル

セキュリティレベルPlayReadyは、暗号化操作の実行方法と最大コンテンツ解像度を決定します。SL150は完全なソフトウェア実装、SL2000は部分的なハードウェアサポートが必要、SL3000はTPMによる完全なハードウェア暗号化です。

SL3000を搭載したデバイスは4K HDRコンテンツを再生でき、復号鍵は保護されたTPM領域から決して出ることはありません。SL2000は1080pに制限され、SL150は720pに制限され、ハードウェア保護のないデスクトップブラウザにのみ適しています。

PlayReadyのライセンスとポリシー

ライセンスシステムPlayReadyはDRMソリューションの中でも最も柔軟なものの1つです。時間満了付きレンタル、永久アクセス付き購入、定期的なキー更新付きサブスクリプション、期間限定プレビューなど、さまざまな配布モデルをサポートしています。

各ライセンスには、ライセンスサーバーがコンテンツキーに適用するポリシーのセットが含まれています。ポリシーには、最大ビデオ解像度、保護された出力のタイプ(4KにはHDCP必須)、アクティベーション数、時間制限(絶対および相対)を含めることができます。

PlayReadyのポリシータイプ

  • Time-based — 時間制限:絶対的な有効期限日または最初の再生からの相対期間。
  • Output protection — ビデオ出力タイプの制限:デジタル出力にはHDCP必須、アナログ出力は禁止。
  • Resolution constraint — 最大解像度:デバイスのセキュリティレベルに応じて720p、1080p、4K。
  • Device count — 1つのライセンスをアクティベートできる最大デバイス数。

ライセンス処理の例

csharp
public async Task AcquireLicenseAsync(MediaProtectionManager manager)
{
    var serviceRequest = new PlayReadyLicenseAcquisitionServiceRequest
    {
        ContentHeader = new PlayReadyContentHeader(
            contentKeyId,
            contentUrl,
            licenseServerUrl,
            null
        ),
        DomainServiceId = domainId
    };

    var result = await serviceRequest.BeginServiceRequest();
    if (result == PlayReadyLicenseAcquisitionResult.Success)
    {
        HandleLicenseAcquired(serviceRequest.GetLicenses());
    }
}

さまざまなプラットフォームでのPlayReady統合

PlayReadyはWindows(UWP、Win32)、Xbox、Android(PlayReady Porting Kit経由)、iOS(制限付き)、Smart TV(Samsung Tizen、LG webOS)を含む幅広いプラットフォームでサポートされています。各プラットフォームには独自のランタイムとAPI実装があります。

Windowsでは、統合はMediaProtectionManagerとWindows.Media.Protection.PlayReady名前空間のPlayReady APIを介して行われます。Androidでは、PlayReady Porting Kitが使用され、NDKを介してアプリケーションに組み込まれ、DRMを操作するためのJavaラッパーを提供します。

Windows(UWP)での統合

UWP環境では、アプリケーションはMediaProtectionManagerのインスタンスを作成し、PlayReadyを保護システムとして登録し、ライセンスイベントハンドラーを設定します。MediaPlayerElementプレーヤーは、MediaProtectionManagerが正しく設定されている場合、保護されたストリームを自動的に処理します。

PlayReadyライセンスサーバーは、Azureインフラストラクチャと独自サーバーの両方に展開できます。MicrosoftはAzure Media Servicesの一部として既製のPlayReady License Serverソリューションを提供しており、クラウドプロジェクトの統合を簡素化します。

Androidでの統合

Androidでは、PlayReadyはNDKライブラリ libplayready.soを介して統合され、JavaクラスでラップされたC++ APIを提供します。ExoPlayerは、PlayReady UUIDを使用した標準のMediaDrm APIを介して、Widevineと同様にPlayReadyをサポートします。

MediaDrmのPlayReady UUIDは — 9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1eです。ExoPlayerをPlayReadyで初期化する場合、設定はWidevineと同様です。ライセンスサーバーのURL、認証ヘッダー、DRMタイプを指定します。

AndroidでPlayReadyを正しく機能させるには、PlayReadyランタイムがインストールされている必要があります。これは通常、PlayReady Porting Kitを使用するSamsung、LG、その他のブランドのデバイスにプリインストールされています。ランタイムがプリインストールされていないデバイスでは、アプリケーションはAPKにlibplayready.soライブラリを含める必要があります。

Smart TVでの統合

PlayReadyは、Samsung TizenやLG webOSを含むSmart TVプラットフォームで支配的なDRMです。これらのプラットフォームでは、組み込みランタイム PlayReadyがTVチップセットレベルでハードウェア保護を提供し、追加設定なしで4K HDRコンテンツの再生を可能にします。

Smart TVでの統合は、特定のSoC(MediaTek、Realtek、Amlogic)向けのPlayReady Device Porting Kitを介して行われます。TVメーカーはファームウェア段階でPlayReadyランタイムをプリインストールし、アプリケーションはWebプレーヤーまたはネイティブアプリケーションの標準EME APIを介してそれを実行します。

コンテンツプロバイダーにとって、すべてのSmart TVが最高のSL3000レベルをサポートしているわけではないことに注意することが重要です — 古いモデルはSL2000と1080p品質に制限される場合があります。HDMI経由の4Kコンテンツ出力にはHDCP互換性も必須です。

PlayReady 4.0のセキュリティとテレメトリ

PlayReady 4.0は、コンテンツプロバイダーがコンテンツ使用状況に関する詳細情報(視聴時間、不正アクセス試行、デバイスタイプ、ランタイムバージョン)を取得できる高度なテレメトリを導入しました。テレメトリデータは安全なチャネルを介して収集され、改ざんを防ぐためにデジタル署名されます。

PlayReady 4.0の失効メカニズムにより、コンテンツプロバイダーは侵害されたデバイスやランタイムバージョンをリアルタイムでブロックできます。失効リストはライセンスサーバーを介して配布され、ライセンスリクエストのたびに自動的に更新されるため、脆弱性への迅速な対応が保証されます。

よくある質問

PlayReady DRMとは何ですか?

PlayReadyはデジタルコンテンツを保護するためのMicrosoftのDRMソリューションです。このテクノロジーはハードウェアおよびソフトウェア暗号化、柔軟なライセンスポリシーをサポートし、Windows、Xbox、Android、Smart TVで動作します。

PlayReadyにはどのようなバージョンがありますか?

PlayReadyの主なバージョン:3.0(2014年)ハードウェア暗号化と4Kサポート、4.0(2020年)テレメトリと省エネ。新しいバージョンは以前のバージョン用にパッケージ化されたコンテンツと互換性があります。

SL150、SL2000、SL3000の違いは何ですか?

SL150 — ソフトウェア暗号化(720p)、SL2000 — 部分的なハードウェア(1080p)、SL3000 — TPMを介した完全なハードウェア暗号化(4K HDR)。セキュリティレベルは最大品質とキー保存方法を決定します。

iOSでPlayReadyを使用できますか?

はい、PlayReadyはiOSでサポートされていますが、制限付きです — iOS用PlayReady Porting Kitを介して。ただし、Appleデバイスでは、FairPlayがSecure Enclaveハードウェアアーキテクチャに完全に統合されているため、推奨されるDRMであり続けています。

PlayReadyとWidevineの違いは何ですか?

MicrosoftのPlayReadyはWindowsとXboxをサポートし、ハードウェア暗号化にTPMを使用し、高度なテレメトリを提供します。GoogleのWidevineはAndroidとChrome向けで、TEEを使用し、開発者に有料ライセンスは必要ありません。

まとめ

  • PlayReady — Porting Kitを介してWindows、Xbox、Android、iOS、Smart TVをサポートするMicrosoftのDRM。
  • 3つのセキュリティレベル SL150、SL2000、SL3000が最大品質と暗号化タイプを決定します。
  • バージョン4.0はコンテンツプロバイダー向けにテレメトリ、高度な分析、HDRサポートを追加しました。
  • ライセンスポリシーには、時間制限、出力保護、品質およびデバイス数の制限が含まれます。
  • 統合はWindowsではMediaProtectionManager UWPを介して、AndroidではNDKとExoPlayerを介して行われます。
  • PlayReady Server SDKはAzure Media Servicesおよびローカル展開で利用可能です。
  • NMCRは非メディアデータ(ドキュメント、ゲーム、アプリケーション)を保護するためにPlayReadyを拡張します。

ターンキー方式のモバイルアプリケーションを開発します

IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。

プロジェクトについて相談

こちらもお読みください