概要
PlayReady 出力保護は、保護されたコンテンツがさまざまな出力の種類と品質レベルにわたってセキュリティ要件を維持することを保証します。 このドキュメントでは、コンプライアンス規則で定義されている出力保護ポリシーとそれに対応するテスト サーバー パラメーター構文の完全なマッピングについて説明します。
出力保護カテゴリ
オーディオ出力保護
圧縮デジタル オーディオ コンテンツ
コンプライアンス リファレンス: PR セクション 3.6.2
パラメーター構文: caopl:200
説明: MP3、AAC、その他の圧縮オーディオ形式などの圧縮デジタル オーディオ コンテンツの出力保護レベルを制御します。
例:
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(caopl:200)
明示的なデジタル オーディオ出力の制限
コンプライアンス リファレンス: PR セクション 3.6.2.8
パラメーター構文: avop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6)
説明: 特定の GUID 識別子を使用したデジタル オーディオ出力に対する明示的な制限を提供します。
例:
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6))
非圧縮デジタル オーディオ コンテンツ
コンプライアンス リファレンス: PR セクション 3.6.3
パラメーター構文: ucaopl:200
説明: PCM やその他の非圧縮オーディオ形式などの非圧縮デジタル オーディオ コンテンツの出力保護レベルを制御します。
例:
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(ucaopl:200)
ビデオ出力保護
圧縮デジタル ビデオ コンテンツ
コンプライアンス リファレンス: PR セクション 3.6.4
パラメーター構文: cvopl:500
説明: H.264、H.265、その他の圧縮ビデオ形式などの圧縮デジタル ビデオ コンテンツの出力保護レベルを制御します。
例:
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(cvopl:500)
非圧縮デジタル ビデオ コンテンツ
コンプライアンス リファレンス: PR セクション 3.6.5
パラメーター構文: ucvopl:200
説明: 圧縮されていないデジタル ビデオ コンテンツの出力保護レベルを制御します。
例:
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(ucvopl:200)
高度なビデオ保護機能
最大デコード解像度
コンプライアンス リファレンス: PR セクション 3.6.5.7.1
パラメーター構文オプション:
- 簡単:
maxres:1920x1080 - アドバンスド:
dvop:(guid:9645E831-E01D-4FFF-8342-0A720E3E028F,data:AAAEOAAAB4A=)
説明: コンテンツをデコードして表示できる最大解像度を制限します。
例:
# Simple resolution restriction
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(maxres:1920x1080)
# Advanced resolution restriction using GUID
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(dvop:(guid:9645E831-E01D-4FFF-8342-0A720E3E028F,data:AAAEOAAAB4A=))
HDCP の種類の制限
コンプライアンス リファレンス: PR セクション 3.6.5.7.2
パラメーター構文: dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==)
説明: デジタル ビデオ出力の高帯域幅デジタル コンテンツ保護 (HDCP) 要件を指定します。
例:
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==))
アナログ出力保護
アナログテレビ出力
コンプライアンス リファレンス: PR セクション 3.6.6
パラメーター構文: avopl:200
説明: アナログテレビ出力の出力保護レベルを制御します。
例:
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avopl:200)
拡張アナログテレビコントロール - CGMS-A
コンプライアンス リファレンス: PR セクション 3.6.7.1
パラメーター構文: avop:(guid:225CD36F-F132-49EF-BA8C-C91EA28E4369,data:AAAAAQ==)
サーバー SDK コード:
right.AddAnalogVideoOutputProtection(
new Guid("{225CD36F-F132-49EF-BA8C-C91EA28E4369}"),
BitConverter.GetBytes((int)1)
);
説明: アナログテレビ出力用のコピー生成管理システム - アナログ (CGMS-A) 保護を実装します。
拡張アナログテレビコントロール - AGCCS
コンプライアンス リファレンス: PR セクション 3.6.7.2
パラメーター構文: avop:(guid:C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA,data:AgAAAA==)
サーバー SDK コード:
right.AddAnalogVideoOutputProtection(
new Guid("C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA"),
BitConverter.GetBytes((int)2)
);
説明:アナログテレビ出力用の自動ゲイン制御コピーシステム(AGCCS)保護を実装します。
アナログコンピュータモニタ出力
コンプライアンス リファレンス: PR セクション 3.6.8
パラメーター構文: avop:(guid:D783A191-E083-4BAF-B2DA-E69F910B3772)
説明: アナログ コンピューター モニター接続 (VGA など) の出力保護を制御します。
例:
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avop:(guid:D783A191-E083-4BAF-B2DA-E69F910B3772))
アナログ コンポーネントのビデオ出力
コンプライアンス リファレンス: PR セクション 3.6.9
パラメーター構文: avop:(guid:811C5110-46C8-4C6E-8163-C0482A15D47E)
説明: アナログ コンポーネントのビデオ出力 (YPbPr) の出力保護を制御します。
例:
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avop:(guid:811C5110-46C8-4C6E-8163-C0482A15D47E))
デジタル ビデオのみのコンテンツ
コンプライアンス リファレンス: PR セクション 3.6.11
パラメーター構文: avop:(guid:760AE755-682A-41E0-B1B3-DCDF836A7306,data:AAAAAQ==)
サーバー SDK コード:
right.AddAnalogVideoOutputProtection(
new Guid("{760AE755-682A-41E0-B1B3-DCDF836A7306}"),
BitConverter.GetBytes((int)1)
);
説明: コンテンツをデジタル ビデオ出力のみに制限し、アナログ ビデオ出力を防止します。
不明な出力処理
不明な出力への移行
コンプライアンス リファレンス: PR セクション 3.9.1
パラメーター構文オプション:
allowunknownhd:trueplayenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7)
説明: コンテンツを高い定義品質で不明な出力または認識されない出力に渡すことができるかどうかを制御します。
例:
# Allow unknown HD outputs
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(allowunknownhd:true)
# Using play enabler GUID
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7))
制約付き解像度を不明な出力に渡す
コンプライアンス リファレンス: PR セクション 3.9.2
パラメーター構文オプション:
allowunknownsd:trueplayenablers:(B621D91F-EDCC-4035-8D4B-DC71760D43E9)
説明: 標準定義品質で不明な出力にコンテンツを渡すことができるかどうかを制御します。
例:
# Allow unknown SD outputs
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(allowunknownsd:true)
# Using play enabler GUID
http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(playenablers:(B621D91F-EDCC-4035-8D4B-DC71760D43E9))
保護レベルの値
一般的な保護レベル
| レベル | 説明 | 使用方法 |
|---|---|---|
| 100 | 最小限の保護 | 基本的なコンテンツ、低セキュリティ要件 |
| 150 | 低保護 | 標準定義のコンテンツ |
| 200 | 中程度の保護 | 高解像度コンテンツ |
| 270 | 高い保護 | Premium コンテンツ |
| 300 | 最大保護 | 超高価値コンテンツ |
Audio-Specific レベル
| レベル | 説明 | オーディオ品質 |
|---|---|---|
| 100 | 基本的なオーディオ保護 | 圧縮、低ビットレート |
| 150 | 標準オーディオ保護 | CD 品質 |
| 200 | 高いオーディオ保護 | 高解像度オーディオ |
| 250 | Premium オーディオ保護 | 無損失オーディオ |
Video-Specific レベル
| レベル | 説明 | ビデオ品質 |
|---|---|---|
| 150 | 標準定義 | 最大 480p |
| 200 | 高い定義 | 最大 720p |
| 270 | フル HD | 最大 1080p |
| 300 | Ultra HD | 4K 以上 |
テスト シナリオ
基本的な出力保護テスト
// Test basic video output protection
async function testVideoOutputProtection() {
const testCases = [
{ name: 'SD Video', config: 'cvopl:150' },
{ name: 'HD Video', config: 'cvopl:200' },
{ name: 'Full HD Video', config: 'cvopl:270' }
];
for (const testCase of testCases) {
const url = `http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(${testCase.config})`;
const result = await testLicenseAcquisition(url);
console.log(`${testCase.name}: ${result.success ? 'PASS' : 'FAIL'}`);
}
}
HDCP 要件のテスト
// Test HDCP requirements
async function testHDCPRequirements() {
const hdcpConfig = 'dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==)';
const url = `http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(${hdcpConfig})`;
const result = await testLicenseAcquisition(url);
return result.outputProtections.hdcpRequired;
}
アナログ保護テスト
// Test analog output restrictions
async function testAnalogProtections() {
const analogTests = [
{
name: 'Analog TV Protection',
config: 'avopl:200'
},
{
name: 'CGMS-A Protection',
config: 'avop:(guid:225CD36F-F132-49EF-BA8C-C91EA28E4369,data:AAAAAQ==)'
},
{
name: 'Digital Video Only',
config: 'avop:(guid:760AE755-682A-41E0-B1B3-DCDF836A7306,data:AAAAAQ==)'
}
];
const results = [];
for (const test of analogTests) {
const url = `http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(${test.config})`;
const result = await testLicenseAcquisition(url);
results.push({
test: test.name,
success: result.success,
analogRestricted: result.outputProtections.analogRestricted
});
}
return results;
}
サーバー SDK の実装
基本的な出力保護のセットアップ
// Add video output protection level
right.AddVideoOutputProtectionLevel(
PlayReadyVideoOutputProtectionLevel.CompressedDigitalVideo,
270
);
// Add audio output protection level
right.AddAudioOutputProtectionLevel(
PlayReadyAudioOutputProtectionLevel.CompressedDigitalAudio,
200
);
高度な保護の構成
// Add specific analog video output protection
right.AddAnalogVideoOutputProtection(
new Guid("{225CD36F-F132-49EF-BA8C-C91EA28E4369}"),
BitConverter.GetBytes((int)1)
);
// Add HDCP requirement
right.AddDigitalVideoOutputProtection(
new Guid("{ABB2C6F1-E663-4625-A945-972D17B231E7}"),
BitConverter.GetBytes((int)1)
);
// Add maximum resolution restriction
right.AddDigitalVideoOutputProtection(
new Guid("{9645E831-E01D-4FFF-8342-0A720E3E028F}"),
resolutionData
);
Enabler 構成の再生
// Allow unknown outputs at SD quality
right.AddPlayEnabler(
new Guid("{B621D91F-EDCC-4035-8D4B-DC71760D43E9}")
);
// Allow unknown outputs at HD quality
right.AddPlayEnabler(
new Guid("{786627D8-C2A6-44BE-8F88-08AE255B01A7}")
);
ベスト プラクティス
出力保護戦略
- コンテンツ価値の評価 - 価値の高いコンテンツには、より厳密な保護が必要です
- デバイス機能の検討 - デバイスが必要な保護レベルをサポートできることを確認する
- プラットフォーム間でテストする - さまざまなデバイスの種類で保護を検証する
- セキュリティと使いやすさのバランスを取 る - 過度に制限の厳しいポリシーを回避する
実装ガイドライン
- 基本保護から始める - 標準の保護レベルから始める
- 特定の制限の追加 - 必要に応じて追加の保護をレイヤー化する
- 不明な出力処理をテスト する - 認識できない出力を使用して動作を検証する
- ドキュメント保護の要件 - 保護ポリシーを明確に指定する
推奨事項のテスト
- 包括的なテスト - すべての保護レベルと組み合わせをテストする
- デバイスの互換性 - ターゲット デバイスの種類を検証する
- 出力の種類のテスト - さまざまな出力接続の種類でテストする
- 障害シナリオのテスト - 保護が失敗したときの動作を確認する
関連ドキュメント
- PlayReady テスト サーバー サービス - 主要なテスト サーバー機能
- クエリ文字列構文 - パラメーター構文リファレンス
- サーバー例外のテスト - エラー条件テスト
- PlayReady テスト サーバー - サーバーの完全なドキュメント
サポート リソース
ビジネス クエリ
- 電子メール: playready@microsoft.com
操作クエリ
- Web サイト: http://wmlalicensing.com/
- 電子メール: ipla@microsoft.com
テクニカル サポート
- サポート ポータル: PlayReady テクニカル サポート
トレーニング情報
- 電子メール: plyrdyev@microsoft.com