次の方法で共有


出力保護のテスト

概要

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:true
  • playenablers:(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:true
  • playenablers:(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}")
);

ベスト プラクティス

出力保護戦略

  1. コンテンツ価値の評価 - 価値の高いコンテンツには、より厳密な保護が必要です
  2. デバイス機能の検討 - デバイスが必要な保護レベルをサポートできることを確認する
  3. プラットフォーム間でテストする - さまざまなデバイスの種類で保護を検証する
  4. セキュリティと使いやすさのバランスを取 る - 過度に制限の厳しいポリシーを回避する

実装ガイドライン

  1. 基本保護から始める - 標準の保護レベルから始める
  2. 特定の制限の追加 - 必要に応じて追加の保護をレイヤー化する
  3. 不明な出力処理をテスト する - 認識できない出力を使用して動作を検証する
  4. ドキュメント保護の要件 - 保護ポリシーを明確に指定する

推奨事項のテスト

  1. 包括的なテスト - すべての保護レベルと組み合わせをテストする
  2. デバイスの互換性 - ターゲット デバイスの種類を検証する
  3. 出力の種類のテスト - さまざまな出力接続の種類でテストする
  4. 障害シナリオのテスト - 保護が失敗したときの動作を確認する

サポート リソース

ビジネス クエリ

操作クエリ

テクニカル サポート

トレーニング情報


© Microsoft Corporation。 All rights reserved. 商標 | プライバシー