Share via


라이선스 취득

보호된 콘텐츠를 재생하려면 콘텐츠에 대한 유효한 라이선스를 사용할 수 있어야 합니다. 콘텐츠에 유효한 라이선스가 없는 경우 라이선스를 획득해야 합니다. 라이선스를 취득하는 동안 클라이언트는 라이선스 서버 또는 프록시 서버에서 라이선스를 획득합니다. 라이선스 취득 클라이언트는 휴대폰 또는 태블릿과 같은 모바일 장치 또는 개인용 컴퓨터의 미디어 플레이어입니다. 라이선스 취득을 위한 클라이언트는 라이선스 서버에 직접 연결하고 획득한 콘텐츠에 대한 라이선스를 요청합니다.

라이선스 획득의 컨텍스트에서 라이선스 서버와 패키징 서버는 DRM 서버로 간주됩니다. 라이선스 취득이 가능한 휴대용 디바이스 및 개인용 컴퓨터는 클라이언트로 간주됩니다.

라이선스 획득을 위한 서버 및 클라이언트 상호 작용

이 섹션에서는 라이선스 획득을 위한 구성 요소 상호 작용을 살펴봅니다.

서버 쪽에서 PlayReady 서버 SDK는 다음을 위한 기능을 제공합니다.

  • 라이선스 생성/발급

소비자의 휴대용 장치 또는 개인용 컴퓨터의 클라이언트는 다음을 위한 기능을 제공합니다.

  • 라이선스 취득
  • 사용 규칙 적용
  • 콘텐츠 암호 해독

도메인, 계량, 보안 중지 및 보안 삭제 지원도 PlayReady 서버 SDK에 포함됩니다.

자동 관리, 사후 라이선스 획득

라이선스 취득에는 다음 두 가지 모드가 있습니다.

  • 사전 라이선스 취득 - 재생이 시작되기 전에 클라이언트 애플리케이션이 라이선스 요청을 명시적으로 시작합니다. 일반적으로 시스템이 프로그래밍되어 애플리케이션이 콘텐츠를 검색하고 재생 세션이 시작되기 전에 라이선스를 "사전에" 획득하는 데 시간이 걸리는 시나리오입니다. 라이선스가 수신되면 언제든지 재생을 시작할 수 있습니다. 애플리케이션은 즉시 재생을 시작할 수 있거나, 일반적으로 오프라인 재생 시나리오에서 콘텐츠가 실제로 재생되기 며칠 전에 라이선스를 획득하는 경우가 있습니다.
  • 사후 라이선스 획득 - 콘텐츠가 재생되기 전에 클라이언트 애플리케이션이 라이선스를 명시적으로 획득하지 않습니다. 재생이 시작된 후 PlayReady 미디어 플레이어는 이 콘텐츠를 해독할 수 있는 기존 PlayReady 라이선스를 찾습니다. 사용 가능한 라이선스를 찾을 수 없는 경우 재생을 다시 시작하기 전에 연결된 라이선스 취득자 개체를 사용하여 라이선스를 자동으로 획득합니다.

다음 그림에서는 콘텐츠 보호 및 라이선스 획득에 대한 아키텍처 개요를 제공합니다.

License acquisition

라이선스 취득은 그림과 같이 다음 단계를 따릅니다.

  1. 콘텐츠 공급자는 라이선스 키 시드 및 키 식별자를 사용하여 키를 생성합니다.

  2. 콘텐츠 공급자는 콘텐츠 헤더에 라이선스 서버의 키 식별자와 URL을 배치한 다음 키로 암호화하여 파일을 보호합니다.

  3. 콘텐츠 공급자는 보호된 파일을 사용자에게 제공합니다.

  4. 사용자의 미디어 플레이어는 사용자 디바이스의 DRM 구성 요소를 쿼리하여 보호된 파일을 재생할 수 있는지 여부를 확인합니다.

  5. DRM 구성 요소는 사용자의 디바이스에서 라이선스 Microsoft Store 파일을 재생할 유효한 라이선스를 검색합니다.

  6. DRM 구성 요소가 필요한 라이선스를 찾지 못하면 라이선스 서버에서 라이선스를 요청합니다. 라이선스를 요청하는 데 사용되는 라이선스 챌린지에는 콘텐츠 헤더와 사용자 디바이스에 대한 정보가 포함됩니다.

  7. 라이선스 서버는 공유 라이선스 키 시드 및 키 식별자를 사용하여 1단계에서 콘텐츠 공급자가 생성한 것과 동일한 콘텐츠 키를 생성합니다. 그런 다음 라이선스 서버가 키를 암호화합니다.

  8. 라이선스 서버는 라이선스를 만들고, 암호화된 콘텐츠 키를 라이선스에 추가하고, 프라이빗 서명 키를 사용하여 라이선스에 서명합니다.

  9. 라이선스 서버는 서명된 라이선스를 사용자의 디바이스에 전달합니다.

  10. 사용자 디바이스의 DRM 구성 요소는 인증서의 서명 및 만료 날짜를 확인하고 라이선스 Microsoft Store 라이선스를 배치합니다.

  11. DRM 구성 요소는 요청된 콘텐츠의 패킷을 해독하고 플레이어에게 보냅니다.

이 시점에서 플레이어는 사용 가능한 형식의 콘텐츠를 갖게 됩니다. 라이선스에서 사용하도록 설정된 모든 정책을 사용할 수 있습니다. 예를 들어 라이선스가 "재생"을 사용하도록 설정하면 라이선스 취득 클라이언트가 콘텐츠를 재생할 수 있습니다.

다음 그림에서는 라이선스를 사전에 획득하기 위한 기본 단계를 보여줍니다.

 

Proactive license acquisition

 

다음 그림에서는 라이선스를 사후적으로 획득하는 기본 단계를 보여줍니다.

 

Reactive license acquisition

 

클라이언트가 보호된 파일을 검색한 후 해당 클라이언트는 해당 콘텐츠를 사용하는 작업을 수행하기 전에 라이선스를 획득해야 합니다. 라이선스는 연결된 콘텐츠에 액세스하는 데 필요한 정보를 저장하고 해당 콘텐츠에 액세스할 수 있는 규칙을 저장합니다. 보호된 콘텐츠가 이미 라이선스가 있는 사용자로부터 복사된 경우에도 사용자는 보호된 콘텐츠를 재생하기 위해 자신의 라이선스를 획득해야 합니다. 라이선스에는 해당 콘텐츠의 암호를 해독하는 암호화 키가 포함되어 있거나, 연결된 라이선스의 경우 중간 키를 포함합니다. 라이선스에는 콘텐츠 사용을 지정하는 권한 및 기타 속성도 포함됩니다. 예를 들어 라이선스는 보호된 파일을 재생할 수 있는 횟수와 라이선스가 만료되는지 여부를 결정합니다. 이러한 속성은 보호된 파일과 별도로 라이선스에 구성됩니다.

각 라이선스에는 다음 정보가 포함됩니다.

  • 콘텐츠 암호화 키입니다.
  • 라이선스의 권한입니다.
  • 올바른 제한 사항 및 올바른 한정자(라이선스 조건이라고도 함).

클라이언트가 라이선스와 연결된 콘텐츠의 암호를 해독하려면 먼저 라이선스에서 정책을 검색해야 합니다. 라이선스 내의 콘텐츠 보호 정보는 클라이언트의 공개 키 또는 클라이언트 도메인의 공개 키 암호화 정보를 사용하여 암호화됩니다. 라이선스는 콘텐츠 보호 정보를 해독하기 위한 프라이빗 키가 있는 클라이언트 또는 도메인에 "바인딩"된 것으로 간주됩니다.

클라이언트는 라이선스 서버에서 직접 또는 프록시 서버를 통해 라이선스를 획득합니다.

라이선스 취득을 위한 전송

PlayReady 라이선스 취득은 모두 클라이언트와 서버 간의 트랜잭션이 필요합니다.

  1. 클라이언트에서 생성되어 서버로 전송된 챌린지입니다.
  2. 서버에서 생성되어 클라이언트로 전송된 응답입니다.

트랜잭션은 일반적으로 인터넷, HTTP 또는 HTTPS 또는 닫힌 네트워크에서 발생합니다. 사용되는 프로토콜은 SOAP(Simple Object Access Protocol)를 기반으로 하며 사용자 지정할 수 있습니다. 트랜잭션을 비동기적으로 구현할 수도 있습니다. 예를 들어 클라이언트가 한 위치에 챌린지를 게시하고 서버에서 이 챌린지를 처리하여 응답을 생성하고 다른 위치에 해당 응답을 게시할 수 있습니다.

참고

PlayReady는 라이선스 브로드캐스팅을 지원하지 않습니다. 즉, 서버는 브로드캐스트 네트워크에서 클라이언트에 라이선스를 보냅니다.