PlayReady 패키지 개발
콘텐츠를 보호하기 위해 패키지에 PlayReady를 통합하기 전에 확인해야 할 몇 가지 고려 사항이 있습니다. 암호화하려는 콘텐츠에 대해 PlayReady 보호를 제공하는 패키지러를 개발합니다.
- Microsoft의 라이선스 계약이 필요하지 않습니다.
- 콘텐츠에 PlayReady를 삽입하는 것과 관련된 Microsoft에는 요금이 부과되지 않습니다.
- PlayReady 인코더 또는 패키징에 적용되는 Microsoft에 대한 로열티 지불은 없습니다.
따라서 이러한 항목에 대한 시간 또는 예산을 할당할 필요가 없습니다.
참고
일부 Microsoft PlayReady 파트너는 직접 개발하지 않으려는 경우 회사를 위한 PlayReady 패키지러를 개발할 수 있습니다.
개발 개요
패키지에 PlayReady 기능을 통합하는 개발 시간은 다음 구성 요소의 개발 및 테스트에 따라 달라집니다.
키 생성기 - 콘텐츠를 암호화하는 데 사용되는 키 값을 생성합니다(연결된 KeyID와 함께). KeySeed 메커니즘을 사용하는 경우 이 생성기는 PlayReady 키 시드 사양에 정의된 대로 함수를 구현해야 합니다.
PlayReady 헤더 생성기 - PlayReady 개체(PlayReady 헤더 및/또는 포함된 라이선스 Microsoft Store 포함)를 생성합니다. 이 PlayReady 헤더에는 KeyID 또는 KeyID 목록, PlayReady 라이선스 서버의 기본 URL 및 보호된 콘텐츠에 필요한 사용자 지정 값이 포함됩니다. 이 함수는 PlayReady 헤더 사양에 설명된 요구 사항을 따라야 합니다.
Packager - 키 생성기에서 제공하는 키 값과 PlayReady 헤더 생성기에서 만든 PlayReady 개체를 사용하여 콘텐츠를 패키지합니다.
키 관리 시스템 - 키 값과 연결된 KeyId를 저장합니다(KeySeed 메커니즘을 사용하는 경우 필요하지 않음).
PlayReady 패키지 개발
고유한 PlayReady 패키지러를 개발하기로 결정한 경우 콘텐츠를 저장하고 배달하려는 방법에 따라 패키지의 작동 방식을 결정해야 합니다. 다음 목록에서는 PlayReady 기능을 패키지에 추가하는 데 필요한 단계를 제공합니다.
암호화 형식을 선택합니다. 콘텐츠를 보호하기 위해 여러 가지 유형의 암호화가 사용됩니다. Microsoft PlayReady 시스템은 대칭 키 알고리즘인 AES(Advanced Encryption Standard)를 사용합니다. 버전 4.0부터 PlayReady 시스템은 ISO 표준 ISO/IEC 23001-7에 정의된 대로 CBC(암호화 블록 체인) 및 CTR(카운터 모드) 모드 모두에서 AES 128 키를 지원합니다. 콘텐츠를 보호하는 데 사용되는 암호화 메커니즘은 컨테이너에 캡슐화되므로 다양한 플랫폼에서 파일을 효율적으로 검색하고 해독할 수 있습니다.
CTR 모드 또는 CBC 모드에서 사용되는 AES-128 키를 사용하는 암호화 형식은 PlayReady 제품에 대한 준수 규칙에 의해 허용됩니다. 자세한 내용은 PlayReady 콘텐츠 암호화 모드를 참조하세요.
콘텐츠를 암호화하는 방법을 선택합니다. 자세한 내용은 암호화 키 사용을 참조하세요.
PlayReady만 사용하여 콘텐츠의 암호를 해독할지 또는 여러 DRM을 지원할지 여부를 선택합니다. 자세한 내용은 암호화 도구 사용을 참조하세요.
콘텐츠 키(키 값 및 키 ID)를 생성하고 저장하는 방법을 선택합니다.
패키지에는 콘텐츠를 암호화하고 암호 해독하는 데 사용되는 키 값을 만드는 일종의 키 생성기가 포함되어야 합니다. 키 생성기는 키 ID를 키 값에 연결해야 합니다. 키 값은 비밀로 유지되며 키 ID는 공용이며 콘텐츠의 PlayReady 헤더에 삽입됩니다. 패키지에 키 생성기가 포함되지 않은 경우 키 생성기를 별도로 개발하거나 원본을 만들어야 합니다.
여러 키 값 및 관련 키 ID를 저장하기 위해 키 관리 시스템을 개발하거나 타사에서 라이선스를 부여해야 합니다. 키 관리 시스템은 데이터베이스 또는 다른 유형의 스토리지 시스템일 수 있지만 누구나 권한 부여 없이 키 값에 액세스하지 못하도록 보호해야 합니다. Microsoft는 PlayReady와 함께 키 관리 시스템을 제공하지 않습니다. 또는 키 관리 시스템 대신 PlayReady와 함께 제공되는 KeySeed 메커니즘을 사용할 수 있습니다(KeySeed 메커니즘은 패키지 및 콘텐츠 암호 해독을 위한 라이선스를 제공하는 PlayReady 서버에 통합되어야 합니다).
암호화된 콘텐츠에 PlayReady 개체(PlayReady 헤더 및/또는 포함된 라이선스 저장소 포함)를 삽입하는 방법을 선택합니다. 자세한 내용은 PlayReady 헤더를 생성하는 방법을 참조하세요.
PlayReady 서버에 키 값 및 키 ID를 제공하는 방법을 선택합니다. 그러면 키 값이 PlayReady 클라이언트에 배포됩니다.
자체 PlayReady 라이선스 서버를 개발할 수 있습니다(PlayReady의 라이선스 필요- 그러나 PlayReady 서버의 개발 또는 사용을 위해 Microsoft에서 수수료 또는 로열티를 수집하지 않음) 또는 타사에서 제공하거나 운영하는 PlayReady 서버를 사용할 수 있습니다. 자체 PlayReady 서버 또는 PlayReady 서버를 개발하든, 타사에서 제공하거나 운영하든, 클라이언트가 콘텐츠를 효율적으로 재생할 수 있도록 적시에 키 값과 키 ID를 서버에 전달할 수 있어야 합니다.
클라이언트가 PlayReady 라이선스 서버에 연결하여 콘텐츠 암호화 키를 획득하는 방법을 선택합니다. 클라이언트 앱은 라이선스를 획득해야 하는 경우 PlayReady 라이선스 서버 URL(라이선스 취득 URL 또는 LA URL이라고도 함)을 알고 있어야 합니다. 클라이언트 앱은 해당 LA URL 값을 하드 코딩하거나 서버에서 동적으로 검색하도록 프로그래밍할 수 있습니다. 클라이언트 앱에 이 LA URL 값이 없는 경우 기본 LA URL인 콘텐츠의 PlayReady 헤더에 있는 LA URL 값을 사용합니다. 필수는 아니지만 패키징 시 서비스에서 콘텐츠의 PlayReady 헤더에 기본 LA URL 값을 포함하는 것이 매우 일반적입니다.