Udostępnij przez


Testowanie ochrony danych wyjściowych

Przegląd

Ochrona danych wyjściowych PlayReady zapewnia, że chroniona zawartość spełnia wymagania dotyczące zabezpieczeń w różnych typach danych wyjściowych i poziomach jakości. Ta dokumentacja zawiera pełne mapowanie zasad ochrony danych wyjściowych zdefiniowanych w regułach zgodności i ich odpowiedniej składni parametrów serwera testowego.

Kategorie ochrony danych wyjściowych

Ochrona danych wyjściowych audio

Skompresowana zawartość dźwiękowa cyfrowa

Informacje o zgodności: Sekcja CRs 3.6.2

Składnia parametrów: caopl:200

Opis: Kontroluje poziom ochrony danych wyjściowych skompresowanej cyfrowej zawartości audio, takiej jak MP3, AAC lub inne skompresowane formaty audio.

Przykład:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(caopl:200)

Jawne ograniczenie danych wyjściowych dźwięku cyfrowego

Informacje o zgodności: Sekcja CRs 3.6.2.8

Składnia parametrów: avop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6)

Opis: zapewnia jawne ograniczenia dotyczące cyfrowych danych wyjściowych dźwięku przy użyciu określonych identyfikatorów GUID.

Przykład:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6))

Nieskompresowana zawartość cyfrowa audio

Informacje o zgodności: Sekcja CRs 3.6.3

Składnia parametrów: ucaopl:200

Opis: Określa poziom ochrony danych wyjściowych dla nieskompresowanej cyfrowej zawartości audio, takiej jak PCM lub inne nieskompresowane formaty audio.

Przykład:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(ucaopl:200)

Ochrona danych wyjściowych wideo

Skompresowana zawartość wideo cyfrowych

Informacje o zgodności: Sekcja CRs 3.6.4

Składnia parametrów: cvopl:500

Opis: Określa poziom ochrony danych wyjściowych skompresowanej cyfrowej zawartości wideo, takiej jak H.264, H.265 lub inne skompresowane formaty wideo.

Przykład:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(cvopl:500)

Nieskompresowana cyfrowa zawartość wideo

Informacje o zgodności: Sekcja CRs 3.6.5

Składnia parametrów: ucvopl:200

Opis: Określa poziom ochrony danych wyjściowych dla nieskompresowanej cyfrowej zawartości wideo.

Przykład:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(ucvopl:200)

Zaawansowane funkcje ochrony wideo

Maksymalna rozdzielczość dekodowania

Dokumentacja zgodności: Sekcja CRs 3.6.5.7.1

Opcje składni parametrów:

  • Prosty: maxres:1920x1080
  • Zaawansowany: dvop:(guid:9645E831-E01D-4FFF-8342-0A720E3E028F,data:AAAEOAAAB4A=)

Opis: ogranicza maksymalną rozdzielczość, w której można dekodować i wyświetlać zawartość.

Przykłady:

# 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=))

Ograniczenie typu HDCP

Informacje o zgodności: Sekcja 3.6.5.7.2

Składnia parametrów: dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==)

Opis: określa wymagania dotyczące ochrony zawartości cyfrowej o wysokiej przepustowości (HDCP) dla cyfrowych danych wyjściowych wideo.

Przykład:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==))

Ochrona danych wyjściowych analogowych

Wyjścia telewizji analogowych

Informacje o zgodności: Sekcja CRs 3.6.6

Składnia parametrów: avopl:200

Opis: Steruje poziomem ochrony danych wyjściowych dla danych wyjściowych telewizji analogowych.

Przykład:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avopl:200)

Rozszerzone kontrolki telewizora analogowego — CGMS-A

Informacje o zgodności: Sekcja CRs 3.6.7.1

Składnia parametrów: avop:(guid:225CD36F-F132-49EF-BA8C-C91EA28E4369,data:AAAAAQ==)

Kod zestawu SDK serwera:

right.AddAnalogVideoOutputProtection(
    new Guid("{225CD36F-F132-49EF-BA8C-C91EA28E4369}"), 
    BitConverter.GetBytes((int)1)
);

Opis: Implementuje system zarządzania generowaniem kopii — Analog (CGMS-A) ochrony dla analogowych wyjścia telewizji.

Rozszerzone kontrolki telewizora analogowego — AGCCS

Informacje o zgodności: Sekcja CRs 3.6.7.2

Składnia parametrów: avop:(guid:C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA,data:AgAAAA==)

Kod zestawu SDK serwera:

right.AddAnalogVideoOutputProtection(
    new Guid("C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA"), 
    BitConverter.GetBytes((int)2)
);

Opis: Implementuje automatyczną ochronę systemu kopiowania kontrolek (AGCCS) dla analogowych wyjścia telewizji.

Wyjście monitora komputerów analogowych

Informacje o zgodności: Sekcja CRs 3.6.8

Składnia parametrów: avop:(guid:D783A191-E083-4BAF-B2DA-E69F910B3772)

Opis: Steruje ochroną wyjściową połączeń monitora komputerów analogowych (NVIDIA itp.).

Przykład:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avop:(guid:D783A191-E083-4BAF-B2DA-E69F910B3772))

Dane wyjściowe wideo składnika analogowego

Dokumentacja zgodności: Sekcja CRs 3.6.9

Składnia parametrów: avop:(guid:811C5110-46C8-4C6E-8163-C0482A15D47E)

Opis: Steruje ochroną wyjściową dla danych wyjściowych wideo składnika analogowego (YPbPr).

Przykład:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(avop:(guid:811C5110-46C8-4C6E-8163-C0482A15D47E))

Zawartość tylko wideo cyfrowego

Informacje o zgodności: Sekcja CRs 3.6.11

Składnia parametrów: avop:(guid:760AE755-682A-41E0-B1B3-DCDF836A7306,data:AAAAAQ==)

Kod zestawu SDK serwera:

right.AddAnalogVideoOutputProtection(
    new Guid("{760AE755-682A-41E0-B1B3-DCDF836A7306}"), 
    BitConverter.GetBytes((int)1)
);

Opis: ogranicza zawartość tylko do cyfrowych danych wyjściowych wideo, uniemożliwiając analogowe wyjście wideo.

Nieznana obsługa danych wyjściowych

Przekazywanie do nieznanych danych wyjściowych

Informacje o zgodności: Sekcja CRs 3.9.1

Opcje składni parametrów:

  • allowunknownhd:true
  • playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7)

Opis: Określa, czy zawartość może być przekazywana do nieznanych lub nierozpoznanych danych wyjściowych w wysokiej jakości definicji.

Przykłady:

# 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))

Przekazywanie ograniczonego rozwiązania do nieznanych danych wyjściowych

Informacje o zgodności: Sekcja CRs 3.9.2

Opcje składni parametrów:

  • allowunknownsd:true
  • playenablers:(B621D91F-EDCC-4035-8D4B-DC71760D43E9)

Opis: Określa, czy zawartość może być przekazywana do nieznanych danych wyjściowych w standardowej jakości definicji.

Przykłady:

# 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))

Wartości na poziomie ochrony

Wspólne poziomy ochrony

poziom Opis Zastosowanie
100 Minimalna ochrona Podstawowa zawartość, wymagania dotyczące niskich zabezpieczeń
150 Niska ochrona Zawartość definicji standardowej
200 Średnia ochrona Zawartość o wysokiej rozdzielczości
270 Wysoka ochrona Zawartość Premium
300 Maksymalna ochrona Zawartość o bardzo wysokiej wartości

poziomy Audio-Specific

poziom Opis Jakość dźwięku
100 Podstawowa ochrona audio Skompresowana, niska szybkość transmisji bitów
150 Standardowa ochrona audio Jakość ciągłego wdrażania
200 Wysoka ochrona audio Dźwięk o wysokiej rozdzielczości
250 Ochrona audio w warstwie Premium Bezstratny dźwięk

poziomy Video-Specific

poziom Opis Jakość wideo
150 Definicja Standardowa Do 480p
200 Wysoka definicja Do 720p
270 Full HD Do 1080p
300 Ultra HD 4K i nowsze

Scenariusze testowania

Podstawowe testowanie ochrony danych wyjściowych

// 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'}`);
    }
}

Testowanie wymagań platformy 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;
}

Testowanie ochrony analogowych

// 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;
}

Implementacja zestawu SDK serwera

Podstawowa konfiguracja ochrony danych wyjściowych

// Add video output protection level
right.AddVideoOutputProtectionLevel(
    PlayReadyVideoOutputProtectionLevel.CompressedDigitalVideo, 
    270
);

// Add audio output protection level  
right.AddAudioOutputProtectionLevel(
    PlayReadyAudioOutputProtectionLevel.CompressedDigitalAudio,
    200
);

Konfiguracja zaawansowanej ochrony

// 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
);

Konfiguracja włączania odtwarzania

// 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}")
);

Najlepsze praktyki

Strategia ochrony danych wyjściowych

  1. Ocena wartości zawartości — wyższa wartość zawartości wymaga bardziej rygorystycznej ochrony
  2. Rozważ możliwości urządzeń — upewnij się, że urządzenia mogą obsługiwać wymagane poziomy ochrony
  3. Testowanie na różnych platformach — weryfikowanie ochrony na różnych typach urządzeń
  4. Równoważenie zabezpieczeń i użyteczności — unikaj zbyt restrykcyjnych zasad

Wytyczne dotyczące implementacji

  1. Rozpoczynanie pracy z podstawową ochroną — rozpoczynanie od standardowych poziomów ochrony
  2. Dodawanie określonych ograniczeń — w razie potrzeby dodatkowe zabezpieczenia warstwy
  3. Testowanie nieznanej obsługi danych wyjściowych — weryfikowanie zachowania przy użyciu nierozpoznanych danych wyjściowych
  4. Wymagania dotyczące ochrony dokumentów — jasno określ zasady ochrony

Zalecenia dotyczące testowania

  1. Kompleksowe testowanie — testowanie wszystkich poziomów ochrony i kombinacji
  2. Zgodność urządzenia — weryfikowanie typów urządzeń docelowych
  3. Testowanie typów danych wyjściowych — testowanie przy użyciu różnych typów połączeń wyjściowych
  4. Testowanie scenariusza awarii — sprawdzanie zachowania w przypadku niepowodzenia ochrony

Zasoby pomocy technicznej

Zapytania biznesowe

Zapytania operacji

Pomocy technicznej

Informacje o szkoleniu


© Microsoft Corporation. Wszelkie prawa zastrzeżone. Znakami towarowymi | Prywatność