Shaka Player를 멀티 DRM서비스와 연동하기 위한 가이드

PallyCon > 콘텐츠 보안  > 포렌식 워터마킹  > Shaka Player를 멀티 DRM서비스와 연동하기 위한 가이드

Shaka Player를 멀티 DRM서비스와 연동하기 위한 가이드

 

 

인터넷의 보급을 통한 영상 콘텐츠 배포의 증가는 전 세계적으로 VOD스트리밍 콘텐츠의 수요를 폭발적으로 증가시켰습니다. VOD는 많은 고객들이 편리하게 영상 콘텐츠를 시청할 수 있게 해줬지만 해커들의 콘텐츠 무단 복제 공격의 대상이 되었습니다. 이는 콘텐츠 제작자와 유통사들이 프리미엄 콘텐츠를 배포하고 엔드-투-엔드 보안을 적용할 때 더욱 많은 신경을 기울여야 한다는 것을 의미합니다.
디지털 권리 관리(DRM) 기술은 저작물이 보호되도록 콘텐츠의 배포를 안전하게 보호하고 지정된 사용자 외에 접근하지 못하도록 막습니다. 또한 포렌식 워터마킹 기술은 영상이 유출된 출처를 밝힙니다. 이렇듯 포렌식 워터마킹과 멀티 DRM 기술은 강력한 콘텐츠 보안을 위한 두 가지 핵심 기술입니다.

대부분의 OTT콘텐츠는 애플리케이션에서 소비됩니다. 하지만 아직 많은 수의 OTT서비스 소비자들은 여전히 웹 브라우저에서 콘텐츠를 시청하는 것을 선호합니다. 영상 수익화 플렛폼 기업은 자사 OTT서비스 사용자의 35%가 웹 브라우저 환경에서 영상을 시청하며 그 외의 사용자는 스마트폰과 스마트TV 등에서 애플리케이션을 통해 시청한다고 밝혔습니다. 이와 같이 소비자들은 다양한 플랫폼에서 콘텐츠를 소비하기 때문에 구독자를 최대한 증가시키기 위해서 하나가 아닌 다중 플렛폼에 콘텐츠를 제공할 수 있어야 합니다.
DRM기술 제공업체는 지원하는 운영체제와 웹 브라우저에 따라 세분화되어 있으며 이를 단순화하여 편리하게 사용할 수 있도록 대표적인 DRM시스템들은 CENC(Common encryption/공통 암호화)라는 표준화된 동영상 보호기술을 적용하고 있습니다. 이는 하나의 동영상 콘텐츠 포멧을 한번만 암호화하더라도 여러 플렛폼에서 재생할 수 있음을 의미합니다. 예시로 플레이 레디(PlayReady) CDM을 적용한 마이크로소프트 엣지 브라우저에서 재생 가능하도록 암호화된 콘텐츠는 구글 와이드바인(Widevine)을 사용하는 안드로이드에서 역시 재생 가능합니다. 이러한 특성으로 CENC는 콘텐츠를 암호화 및 관리하는 비용을 줄여주며 네이티브 DRM클라이언트는 플랫폼에서 무료로 사용이 가능하기 때문에 라이센스 비용역시 절감할 수 있습니다.

DRM기술을 적용한 콘텐츠를 스트리밍하기 위해서 제작사는 샤카 플레이어(Shaka Player)와 같이 콘텐츠 보안 솔루션과 연동 가능한 적응형 플레이어를 사용합니다. Shaka Player는 오픈소스 자바 라이브러리로서 추가적인 플러그인이나 Flash 없이 Dash와 HLS와 같은 미디어 포멧을 재생할 수 있습니다. 샤카 플레이어는 DRM 재생을 위해 Encrypted Media Extension(EME)와 오픈 웹 표준 Media Source Extension(MSE)을 사용하며 오프라인 보관과 미디어 재생을 위해 IndexedDB를 사용합니다.

콘텐츠는 아무 브라우저에 보관할 수 있는 반면에 라이센스의 보관 여부는 브라우저의 지원 여부에 달려있습니다. Shaka Player는 표준화된 포멧이기에 한번 암호화 작업이 완료되면 ISO BMDD 9i.e.MP4와 WebM과 같이 산업에서 채택된 미디어 컨테이너를 사용하는 모든 브라우저에서 재생이 가능합니다. 또한 다양한 콘텐츠 보호 플렛폼을 지원하기 때문에 적용하기도 쉽습니다.
Shaka Player가 사용하는 EME는 https나 로컬 호스트와 같은 안전한 URL을 요구합니다. 여러 개의 콘텐츠 포멧이 사용될 수 있기 때문에 사이트가 https를 사용한다면 모든 manifest와 segment역시 https를 사용해야 합니다.

멀티 DRM서비스와 Shaka Player 연동하는 법

1.기본 비디오 플레이어 설정

첫 번째 단계에서는 Shaka Player 라이브러리를 사용하여 DRM 보안이 적용되지 않은 영상을 추가할 수 있습니다.

2.DRM구성 추가하기

DRM으로 보호된 콘텐츠를 재생하기 위해 전단계에서 만들어진 플레이어 인스턴스에 DRM구성을 설정해야 합니다.

3.라이센스 서버

애플리케이션의 라이센스 서버는 승인된 사용자에게만 라이센스가 전달되도록 몇 가지 인증절차를 적용해야 합니다. 보안이 적용된 콘텐츠를 재생하기 위해, Shaka Player는 라이선스 서버 엔드포인트와 manifest 파일을 필요로 합니다. Manifest를 로딩하기 전에 제공된 라이선스 서버를 사용할 수 있도록 플레이어를 구성해야 합니다.
인증 방법으로는 헤더 인증, 파라미터 인증, 쿠키 인증과 같이 다양한 방법이 있습니다. PallyCon은 라이센스를 제공하기 위해 엔드포인트가 특정한 헤더값을 요구하는 헤더 인증을 사용합니다. 샤카 플레이어의 요청 필터 콜백을 통해 임의의 헤더가 요청될 수 있습니다. 애플리케이션은 콜백 전과 중간에 인증 헤더값을 가져오거나 고정값을 사용할 수 있습니다.

4.키 시스템

Shaka Player는 브라우저에서 지원하는 키 시스템을 확인하기 위해 EME를 사용합니다. 이 뜻은 키 시스템에 구애받지 않는다는 것입니다, 브라우저에서 멀티 인증키 시스템이 지원된다면 마니페스트에서 지원되는 첫번째 키 시스템이 사용됩니다. CENC는 모든 콘텐츠 포멧에서 작동 가능하기 때문에 대부분의 DRM제공 엄체에서 사용하는 상호 운용가능항 암호화 표준입니다. 이에 더해 몇몇의 DASH 마니페스트는 CENC 시스템이 사용 가능하다고 명시합니다.

5.Clear key

샤카플레이어에서 사용하는 EME 규격 때문에 브라우저는 clear 키라 불리는 공통 키 시스템을 지원해야만 합니다. CENC콘텐츠는 Clear 키 시스템에 있는 암호화된 키를 통해 해독됩니다. Clear 키는 문제를 식별하고 연동을 테스트하기 위해도 사용됩니다. 또한 DRM.clearKeys필드를 사용해 키 아이디를 16진수 포멧에서 콘텐츠 키에 제공하여 구성할 수 있습니다.

샤카 플레이어는 영상을 제어하는 UI컨트롤도 가지고 있습니다. UI를 적용하기 위해 Shaka-Player.ui.js빌드를 사용할 수 있으며 영상의 부모 div속성에 data-shaka-player-container 구성요소를 추가할 수도 있습니다. 이는 해당 div에 UI컨트롤을 추가할 수 있게 해줍니다. 또한 Shaka Player는 자막도 지원합니다. DASH또는 HLS 스트림이 이미 자막이 있으면 바로 사용 가능하며 이 경우가 아니하면 자막 파일을 추가하기 위해 소스코드를 사용할 수 있습니다.

따라서, Shaka Player는 멀티 DRM 서비스와 연동하기 쉬우며 모든 플렛폼에서 MPEG-DASH와 HLS스트림을 재생할 수 있습니다. 멀티 DRM서비스 제공 업체들은 플레이어와 쉽게 연동할 수 있는 프로세스를 제공하고 있으며 콘텐츠 제작자들이 그들의 프리미엄 콘텐츠 보안 수준을 강화할 수 있도록 도움을 줍니다. 써드파티 콘텐츠 보안 파트너를 통해 OTT콘텐츠 보호에 있어 비용을 절감할 수 있으며 빠르고 효율적이며 번거롭지 않은 작업입니다.