멀티 DRM 구성 요소의 이해 — 5부: 멀티DRM 클라이언트 연동
각종 클라이언트 플랫폼에서의 DRM 콘텐츠 재생 방법
콘텐츠의 불법 사용과 유출을 방지하기 위해, 많은 온라인 콘텐츠 서비스들은 전문 업체가 제공하는 멀티 DRM 솔루션을 도입하고 있습니다. 이러한 멀티 DRM 솔루션은 주요 웹 브라우저와 모바일 OS 등을 지원하기 위해서 기본적으로 PlayReady, Widevine, FairPlay 이렇게 세 가지 DRM에 대한 라이선스 관리 기능을 제공합니다.
이번 연재물에서는 멀티 DRM을 구성하는 각각의 DRM과 관련 요소들에 대해서 다음과 같은 차례로 자세히 알아보겠습니다.
- 멀티 DRM 구성 요소의 이해 — 1부: 마이크로소프트 PlayReady
- 멀티 DRM 구성 요소의 이해 — 2부: 구글 Widevine
- 멀티 DRM 구성 요소의 이해 — 3부: 애플 FairPlay
- 멀티 DRM 구성 요소의 이해 — 4부: DRM 패키징과 CPIX/SPEKE API
- 멀티 DRM 구성 요소의 이해 — 5부: 멀티 DRM 클라이언트 연동
DRM 콘텐츠의 재생 과정
지난 4부에서 알아본 DRM 패키징 과정을 통해 암호화된 DRM 콘텐츠는 CDN을 거쳐 최종 사용자의 기기로 전달됩니다. 스트리밍 또는 다운로드 방식으로 클라이언트 기기에 전달된 콘텐츠를 복호화해 재생하려면 아래와 같이 서버로부터 DRM 라이선스를 발급받아야 합니다.
DRM 라이선스는 콘텐츠 패키징 시 암호화에 사용된 키와 해당 콘텐츠의 사용 권한 정보(재생 가능 기간, 오프라인 재생 가능 여부, 보안 레벨 등)로 이루어져 있습니다. 콘텐츠 복호화에 사용되는 키 값이 노출되거나 사용 권한이 변조되지 않도록 하기 위해서, DRM 라이선스 데이터도 클라이언트 기기의 고유한 키로 암호화되어 보호됩니다.
DRM 라이선스 연동 방식
DRM 라이선스 서버가 클라이언트 기기로부터의 라이선스 요청을 처리하려면, 우선 해당 사용자가 콘텐츠 사용 권한이 있는지 확인해야 합니다. 이를 위해 대부분의 DRM 솔루션/서비스는 다음과 같은 두 가지 방식으로 콘텐츠 서비스의 시스템과 연동을 지원합니다.
라이선스 토큰을 이용한 연동
미리 정의된 규칙에 따라 콘텐츠 서비스의 백엔드 시스템에서 생성한 토큰을 통해 DRM 라이선스를 발급하는 방식입니다.
토큰 방식의 라이선스 발급은 다음과 같은 과정을 통해 이루어집니다.
아래 설명된 콜백 방식 대비 토큰 방식의 장점은 콘텐츠 서비스 시스템과 DRM 서버 사이의 통신이 필요 없어 콘텐츠 재생 시작에 걸리는 지연 시간을 줄일 수 있다는 점입니다. 대신 토큰을 생성하고 안전하게 클라이언트에 전달하는 기능을 콘텐츠 서비스 사이트가 직접 구현해야 한다는 점에서 초기 연동 작업에 좀 더 많은 리소스가 필요합니다.
단시간에 많은 요청이 몰리거나 글로벌을 대상으로 하는 서비스의 경우, 라이선스 발급 처리 성능을 최대화하고 지연 시간을 최소화하기 위해 토큰 방식의 라이선스 연동을 권장합니다.
콜백 URL을 통한 연동
클라이언트로부터의 라이선스 요청을 받았을 때, DRM 라이선스 서버가 콘텐츠 서비스의 시스템과 HTTPS URL 통신을 통해 해당 사용자의 콘텐츠 사용 권한을 확인하는 방식입니다.
콜백 방식의 라이선스 연동은 아래와 같은 과정으로 이루어집니다.
콜백 방식은 시스템 간 통신에 따른 재생 시작 지연이 토큰 방식에 비해 길어질 수 있으며, 이에 따라 단시간에 대규모의 라이선스 요청이 몰릴 경우 동시 처리가 불리한 단점이 있습니다. 하지만 초기 연동 과정에서 토큰 방식 대비 비교적 쉽게 테스트를 수행할 수 있고, 토큰 데이터의 안전한 관리에 대한 부담을 덜 수 있는 장점도 가지고 있습니다.
클라이언트 유형에 따른 멀티 DRM 콘텐츠 재생
대부분의 OTT 콘텐츠 서비스들은 최대한 많은 사용자 환경을 지원하기 위해 다양한 클라이언트 기기에 서비스를 제공합니다. 멀티 DRM 솔루션/서비스 제공 업체들은 이러한 요구 사항을 만족시키기 위해 아래와 같은 방식으로 멀티 플랫폼과 멀티 디바이스를 지원하고 있습니다.
HTML5 웹 플레이어 연동
HTML5의 EME(Encrypted Media Extension) 표준을 지원하는 웹 브라우저에서는 각 OS와 브라우저 별로 제공되는 CDM(Content Decryption Module)을 통해 멀티 DRM 콘텐츠를 재생할 수 있습니다. (참고 링크)
Shaka Player, VideoJS 등의 오픈 소스 HTML5 플레이어와 Bitmovin, THEOplayer 등 대부분의 상용 플레이어들은 멀티 DRM 라이선스 연동에 필요한 API를 제공합니다.
HTML5 웹 플레이어의 멀티 DRM 라이선스 연동 시, 재생할 DRM 콘텐츠의 URL(DASH .mpd 또는 HLS .m3u8 주소)와 함께 DRM 라이선스 서버의 요청 URL과 라이선스 요청 데이터(CustomData)를 플레이어에 설정합니다.
DRM 라이선스 요청에 사용되는 커스텀 데이터는 각 DRM 솔루션/서비스 업체마다 독자적인 규격을 사용합니다. PallyCon 멀티 DRM의 HTML5 웹 플레이어 연동에 대한 자세한 가이드와 샘플은 PallyCon Docs 온라인 문서를 확인하시기 바랍니다.
모바일 웹 브라우저 연동 또는 앱 개발
안드로이드, iOS 등 모바일 환경에서 DRM 콘텐츠 재생을 지원하는 방법은 두 가지가 있습니다.
- 모바일 웹 브라우저 이용: 위에 설명된 HTML5 플레이어 연동을 통해 멀티 DRM이 지원되는 모바일 브라우저에서 재생하는 방식입니다.
- 모바일 앱 이용: 각 환경 별로 네이티브 앱을 개발해 멀티 DRM 콘텐츠를 재생하는 방식. 커스텀 데이터 규격에 따라 콘텐츠 서비스 업체가 직접 연동을 구현하거나, 멀티 DRM 업체가 제공하는 모바일 클라이언트 SDK를 적용할 수 있습니다.
각종 OTT 기기에서의 재생
PC 웹 브라우저와 모바일 기기 외에 스마트 TV, 셋탑박스, 게임 콘솔 등 각종 OTT 기기들도 자체적으로 멀티 DRM을 지원하고 있습니다.
이러한 OTT 기기에 멀티 DRM 콘텐츠를 서비스하려면, 해당 기기에서 제공하는 브라우저를 통해 EME 기반 웹 플레이어 연동 방식을 이용하거나 각 기기 전용으로 개발된 OTT용 멀티 DRM SDK를 적용해 네이티브 앱을 개발할 수 있습니다.
각각의 클라이언트 플랫폼에 대한 멀티 DRM 지원 정보는 여기를 클릭해 확인할 수 있습니다.
결론
이상으로 총 다섯 차례에 나누어 멀티 DRM 기술에 대해 알아보았습니다. 한 두 건의 포스팅으로는 설명이 어려울 정도로 멀티 DRM은 여러 기술과 표준, 그리고 다양한 솔루션 연동이 필요한 복잡한 기술입니다.
이렇게 복잡한 멀티 DRM 기술을 쉽고 빠르게 적용하려면, 여러 DRM 기술을 통합해 단일화된 API를 제공하고 인코더/플레이어 등 각종 미디어 관련 솔루션들과 연동되어 있는 멀티 DRM 전문 업체를 이용하는 것이 좋습니다.
콘텐츠와 애플리케이션 보안 기술 전문 업체인 잉카엔트웍스에서 서비스하는 ‘PallyCon 멀티 DRM’은 클라우드 기반의 원스탑 멀티 DRM 서비스로, 다양한 연동 가이드와 API/SDK 제공으로 고객사에서 쉽고 빠르게 멀티 DRM을 도입할 수 있게 도와드립니다.