멀티 DRM 구성 요소의 이해 – 2부 : 구글 Widevine
Widevine 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 클라이언트 표준 규격
Widevine DRM 개요
Widevine DRM은 프리미엄 미디어를 위한 Google의 콘텐츠 보호 시스템입니다. Google Play, YouTube, Netflix, Hulu, Amazon 등과 같은 전 세계의 주요 콘텐츠 서비스들이 Widevine을 사용하고 있습니다.
Widevine은 크롬, 파이어폭스 등의 웹 브라우저와 안드로이드 모바일 OS 및 각종 OTT 기기에 내장되어 다양한 클라이언트 환경을 지원할 수 있습니다.
Widevine의 역사
Widevine DRM은 Widevine Technologies라는 회사에 의해서 스마트카드 기반의 콘텐츠 보안 기술을 대체하기 위해 개발되었습니다. 2010년에 구글이 Widevine Technologies를 인수한 이후, Widevine은 크롬, 안드로이드 모바일, 안드로이드 TV 등 구글의 각종 플랫폼에 기본 탑재되고 있습니다. (참고 2)
버전 별 차이점
Widevine Classic (v1 ~ v6) : 구 버전 안드로이드(3.1 ~ 5.1)와 구형 스마트 TV 등에서 지원되던 버전으로, Widevine Classic은 구글의 지원이 중단되어 더 이상 신규 서비스나 기기에 적용할 수 없습니다. 독자적인 패키징 포맷인 .WVM 파일 포맷을 사용합니다.
Widevine Modular : Classic 버전 이후에 새로운 규격과 기능으로 개발된 Widevine DRM입니다. DASH/HLS 등의 어댑티브 스트리밍 포맷과 EME/MSE 기반의 HTML5 표준 DRM 규격을 지원합니다. 현재 일반적으로 사용되는 ‘Widevine’이라는 용어는 Widevine Modular 버전을 지칭합니다.
Widevine Modular는 DRM 자체의 버전 대신 각 구성 요소별로 개별 버전을 관리합니다.
구성 요소와 작동 방식
Widevine DRM 생태계는 Widevine 클라우드 라이선스 서비스와 라이선스 프록시 서버, 그리고 Widevine을 지원하는 클라이언트 기기들로 구성됩니다.
Widevine 클라우드 라이선스 서비스는 구글에서 직접 운영하며, 콘텐츠 서비스 또는 DRM 솔루션의 라이선스 프록시 서버로부터 요청을 받아 DRM 라이선스를 생성하고 전달합니다. 클라우드 라이선스 서비스에 대한 액세스는 조직 별 자격 증명을 통해서만 허용됩니다.
라이선스 프록시 서버는 클라이언트 기기로부터의 DRM 라이선스 요청에 대해서 사용자 인증과 권한 확인을 처리하고 Widevine 클라우드 라이선스 서비스로부터 발급받은 라이선스를 클라이언트에 전달합니다.
클라이언트 기기는 안드로이드 모바일, TV, 셋탑박스 등의 기기와 크롬, 파이어폭스 브라우저 등이 있습니다. Widevine 클라이언트 기기를 생산하려면 별도로 Widevine과의 계약을 통해 키박스와 CDM 모듈을 공급받고 연동 테스트를 거쳐야 합니다.
콘텐츠 서비스 업체가 아닌 3rd party 솔루션 업체가 라이선스 프록시 서버를 구축하고 콘텐츠 서비스에 Widevine 라이선스를 제공하려면, Widevine의 Certified Widevine Implementation Partner (CWIP) 프로그램을 이수하고 자격 시험을 통과해야 합니다. PallyCon은 CWIP 자격을 보유한 공식 Widevine 파트너입니다.
주요 기능 및 특장점
콘텐츠 보호
Widevine DRM은 다양한 클라이언트 기기를 지원하며, 멀티 DRM과 같은 다중 콘텐츠 보호 시스템과 연동되어 시너지 효과를 낼 수 있습니다.
비디오 재생 지원
Widevine은 다양한 기기에서 적응형 스트리밍, QoS 및 접근성 기능을 지원하는 HTML5 플레이어를 기본 제공합니다. 구글에서 개발하는 오픈소스 웹 플레이어인 Shaka Player는 DASH와 HLS 스트리밍을 지원하며, 대부분의 웹 브라우저와 모바일 기기에서 멀티 DRM 콘텐츠를 재생할 수 있습니다.
표준화된 형식
업계에서 인증된 미디어 컨테이너인 ISO BMFF(MP4) 및 WebM을 이용하여 단일 암호화 된 콘텐츠를 어디에서나 재생할 수 있습니다.
장치 보안
기기 제조사에서 제공하는 키 상자를 사용하여 하드웨어 기반의 신뢰점(root of trust), 암호 해독 및 콘텐츠 렌더링을 적용함으로써 강력한 장치 보안을 사용할 수 있습니다.
안드로이드나 OTT 기기에 적용된 Widevine DRM은 모델에 따라 하드웨어 기반의 콘텐츠 보안(Widevine L1)을 지원 가능합니다. 하지만 PC용 크롬이나 파이어폭스 브라우저에 내장된 Widevine은 소프트웨어 기반(Widevine L3) DRM으로, 스크린 레코딩을 통한 콘텐츠 유출에 취약한 단점이 있습니다. (자세히 알아보기)
적용 사례
Widevine 클라이언트로부터의 DRM 라이선스 요청 시, 라이선스 발급 서버는 재생 기간과 관련하여 다음과 같은 라이선스 룰을 설정할 수 있습니다. (참고 6)
- License Duration : 라이선스의 유효 시간. ‘해당 라이선스로 콘텐츠를 얼마나 오래 재생할 수 있는가'(재생 시간)를 의미함. 모든 기간 제한 시나리오에 공통으로 사용되는 설정 값.
- Playback Duration : 콘텐츠의 최초 재생 (라이선스가 처음 사용된 시점) 이후로부터 해당 라이선스가 유효한 기간. 오프라인 시나리오 또는 라이선스 리뉴얼 시나리오에서만 사용됨.
- Rental Duration : 콘텐츠의 최초 재생 전까지 해당 라이선스가 유효한 기간. 오프라인 시나리오에서만 사용됨.
이러한 라이선스 설정을 통해 서비스 사업자는 아래와 같은 다양한 시나리오를 구현할 수 있습니다.
기본 스트리밍 시나리오
스트리밍 시나리오에서는 재생 기기가 항상 인터넷에 연결된 상태로 간주하며, ‘License Duration’만 설정해 해당 콘텐츠의 재생 가능 기간을 제한할 수 있습니다.
(예: License Duration 180분 -> 3시간 동안 해당 콘텐츠 재생 가능)
라이선스 갱신 시나리오
라이브(리니어) 콘텐츠 또는 동시 재생 제한 등을 지원하기 위해서, 스트리밍으로 콘텐츠를 재생하는 도중에 License Renewal 기능을 통해 주기적으로 라이선스를 갱신할 수 있습니다. 전체 재생 가능 기간을 ‘Playback Duration’으로 설정하고, 그보다 짧은 주기로 ‘Renewal Delay’ 값을 설정하면 해당 주기마다 라이선스 갱신이 수행됩니다.
(예: Playback Duration 180분, Renewal Delay 15분 -> 15분마다 라이선스 재발급, 콘텐츠 재생은 3시간까지 가능)
오프라인 (렌탈) 시나리오
다운로드 받은 콘텐츠의 오프라인 재생 시, ‘Rental Duration’과 ‘Playback Duration’ 설정 값으로 콘텐츠의 ‘보관 가능’ 기간과 ‘재생 가능’ 기간을 별도 지정할 수 있습니다.
(예: Rental Duration 30일, Playback Duration 3시간 -> 다운로드 후 30일 이내에 시청, 재생 시작 후에는 3시간까지 재생 가능)
지원 플랫폼과 콘텐츠 포맷
Widevine DRM으로 지원 가능한 플랫폼과 콘텐츠 포맷은 다음과 같습니다.
PC 플랫폼
- 윈도우 7.0 이후 버전 : 크롬, 파이어폭스, 엣지(크로미엄 기반)
- 맥 OS 10.x : 크롬, 파이어폭스, 엣지(크로미엄 기반)
모바일 플랫폼
- 안드로이드 4.4 이후 : Android 네이티브 앱
- 안드로이드 5.0 이후 : 모바일 크롬 브라우저
- iOS 9.0 이후 : Widevine iOS CDM 사용 시
OTT 플랫폼
- 안드로이드 TV : OS 4.4. 이후 버전
- 아마존 파이어 TV : OS 5.0 이후 버전
- 삼성 스마트TV : 타이젠 OS 3.0 이후 버전
- LG 스마트TV : webOS 3.0 이후 버전
- 크롬캐스트, Roku
콘텐츠 포맷
- 스트리밍 포맷 : MPEG-DASH, HLS, CMAF
- 비디오 포맷: MPEG-TS, fMP4, WebM 컨테이너
- 비디오 코덱: AVC(H.264), HEVC(H.265), VP8, VP9
- 오디오 코덱: AAC, AC3, Opus, Vorbis
PallyCon 멀티 DRM 서비스
잉카엔트웍스에서 제공하는 PallyCon 멀티 DRM 서비스는 클라우드 기반의 SaaS(Solution as a Service)로, 멀티 DRM 도입의 필수 요소인 PlayReady, Widevine, FairPlay DRM의 통합 라이선스 관리와 클라이언트 연동을 쉽고 빠르게 할 수 있도록 도와드립니다.
참고 링크
- #1 https://www.widevine.com/solutions/widevine-drm
- #2 https://googleblog.blogspot.com/2010/12/on-demand-is-in-demand-weve-agreed-to.html
- #3 https://storage.googleapis.com/wvdocs/Widevine_DRM_Getting_Started.pdf
- #4 https://www.quora.com/What-is-Widevine-L1
- #5 https://pallycon.tistory.com/entry/%EC%99%9C-%ED%81%AC%EB%A1%AC-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90%EC%84%9C%EB%8A%94-%EB%84%B7%ED%94%8C%EB%A6%AD%EC%8A%A4-UHD-%EC%98%81%EC%83%81%EC%9D%84-%EB%B3%BC-%EC%88%98-%EC%97%86%EC%9D%84%EA%B9%8C?category=709304
- #6 https://storage.googleapis.com/wvdocs/Widevine_DRM_Proxy_Integration.pdf