멀티 DRM 클라이언트 연동
DRM 콘텐츠의 재생 과정과 라이선스 연동 방식(토큰/토큰 프록시), 그리고 웹, 모바일, OTT 기기별 멀티 DRM 콘텐츠 재생 방법을 알아봅니다.
DRM 콘텐츠의 재생 과정
앞 레슨에서 살펴본 DRM 패키징을 거친 콘텐츠는 암호화된 상태로 CDN을 통해 사용자 기기에 전달됩니다. 스트리밍이나 다운로드 방식으로 전달된 콘텐츠를 복호화하고 재생하려면, 클라이언트는 DRM 라이선스 서버에서 라이선스를 발급받아야 합니다.
DRM 라이선스는 콘텐츠를 패키징할 때 암호화에 사용한 키와 해당 콘텐츠의 사용 권한 정보(재생 기간, 오프라인 재생 여부, 보안 레벨, 출력 보호 등)로 구성됩니다. 콘텐츠 복호화에 사용되는 키가 노출되거나 사용 권한이 변조되지 않도록, DRM 라이선스 데이터도 클라이언트 기기의 고유 키로 암호화되어 보호됩니다.
DRM 라이선스 연동 방식
DRM 라이선스 서버가 라이선스를 발급하려면, 먼저 사용자에게 해당 콘텐츠를 이용할 권한이 있는지 확인해야 합니다. DoveRunner 멀티 DRM은 콘텐츠 서비스의 시스템과 다음 두 가지 방식으로 연동합니다. (참고 1)
라이선스 토큰 연동(권장)
콘텐츠 서비스의 백엔드가 미리 정한 규칙에 따라 토큰을 생성해 클라이언트에 전달하고, 이 토큰으로 라이선스를 발급하는 방식입니다. 자세한 내용은 라이선스 토큰 가이드를 참고하시기 바랍니다.
라이선스 발급 시 라이선스 서버가 콘텐츠 서비스 시스템과 통신할 필요가 없기 때문에 재생 시작까지의 지연이 짧고, 짧은 시간에 많은 요청이 몰리거나 글로벌 서비스를 운영하는 경우에도 잘 대응할 수 있습니다. 하지만 콘텐츠 서비스 측에서 토큰을 생성하고 클라이언트에 안전하게 전달하는 기능을 구현해야 합니다.
토큰 프록시 연동
콘텐츠 서비스 사업자가 토큰 프록시 서버를 직접 구축해 자체 백엔드에 배포하는 방식입니다. 클라이언트는 라이선스 서버 대신 이 프록시로 라이선스를 요청하며, 프록시는 사용자를 확인한 뒤 DoveRunner 라이선스 서버로 요청을 전달하고 발급된 라이선스를 클라이언트에 돌려줍니다. 토큰 프록시는 DoveRunner가 아니라 콘텐츠 서비스 사업자가 구축하고 운영합니다. 구축과 운영에 더 많은 리소스가 필요하지만, 모든 라이선스 요청을 서비스가 직접 제어하면서 자체 보안 검사와 비즈니스 규칙을 적용할 수 있다는 장점이 있습니다.
라이선스 서버가 콘텐츠 서비스의 URL을 호출해 사용자 권한을 확인하던 기존의 콜백 방식은 재생 시작 지연이 길고 대량 요청 처리에 불리하기 때문에, DoveRunner 멀티 DRM에서 지원이 중단(deprecated)되었습니다.
클라이언트 유형별 멀티 DRM 콘텐츠 재생
대부분의 OTT 서비스 사업자는 최대한 많은 사용자를 지원하기 위해 다양한 클라이언트 기기에 서비스를 제공합니다. 멀티 DRM 솔루션 업체는 이러한 요구 사항에 맞춰 다음과 같은 방식으로 여러 플랫폼과 기기를 지원합니다.
HTML5 웹 플레이어 연동
W3C의 EME(Encrypted Media Extensions) 표준을 지원하는 웹 브라우저에서는 각 브라우저에 내장된 CDM(Content Decryption Module)을 통해 멀티 DRM 콘텐츠를 재생할 수 있습니다. Chrome과 Firefox는 Widevine, Edge는 PlayReady와 Widevine, Safari는 FairPlay를 사용합니다. Shaka Player 같은 오픈소스 플레이어와 Bitmovin, Dolby OptiView Player(기존 THEOplayer) 같은 상용 플레이어는 멀티 DRM 라이선스 연동에 필요한 API를 제공합니다.
플레이어에 재생할 콘텐츠의 URL(DASH .mpd 또는 HLS .m3u8 주소)과 함께 DRM 라이선스 URL, 라이선스 요청 데이터(라이선스 토큰 등)를 설정하면 됩니다.
iOS 17.1부터는 iPhone의 Safari가 Managed Media Source를 지원하기 때문에, Shaka Player 같은 MSE 기반 플레이어도 사용할 수 있습니다.
DoveRunner 멀티 DRM의 HTML5 웹 플레이어 연동 가이드와 샘플은 온라인 문서에서 확인할 수 있으며, 이 사이트의 Playground에서 직접 테스트해 볼 수도 있습니다.
모바일 웹 브라우저 연동 또는 앱 개발
Android, iOS 같은 모바일 환경에서 DRM 콘텐츠를 재생하는 방법은 두 가지입니다.
- 모바일 웹 브라우저 사용: 앞에서 설명한 HTML5 플레이어 연동으로, 멀티 DRM을 지원하는 모바일 브라우저에서 재생합니다.
- 네이티브 모바일 앱 사용: DRM 업체의 라이선스 요청 규격에 따라 플랫폼 플레이어(Android의 AndroidX Media3, iOS의 AVFoundation)와 직접 연동하거나, 멀티 DRM 업체가 제공하는 모바일 클라이언트 SDK를 적용합니다. DoveRunner는 Flutter, React Native 같은 크로스 플랫폼 프레임워크용 SDK도 제공합니다.
다양한 OTT 기기에서의 재생
스마트 TV, 셋톱박스, 스트리밍 스틱, 게임 콘솔 같은 다양한 OTT 기기도 멀티 DRM을 지원합니다. 이러한 기기에서는 기기에 내장된 브라우저로 EME 기반 웹 플레이어를 연동하거나, DoveRunner의 Chromecast SDK처럼 기기별 멀티 DRM SDK를 적용해 네이티브 앱을 개발할 수 있습니다.
클라이언트 플랫폼별 멀티 DRM 지원 정보는 지원 환경 문서를 참고하시기 바랍니다.
결론
멀티 DRM은 여러 기술과 표준, 다양한 솔루션이 함께 맞물려 동작해야 하는 복잡한 기술입니다. 이러한 멀티 DRM을 빠르고 쉽게 적용하려면, 여러 DRM 기술을 하나의 API로 통합해 제공하고 인코더, 플레이어 같은 다양한 미디어 솔루션과 연동되는 멀티 DRM 서비스를 이용하는 것이 좋습니다.
DoveRunner 멀티 DRM은 콘텐츠 및 애플리케이션 보안 기술 기업인 DoveRunner가 제공하는 클라우드 기반의 원스톱 멀티 DRM 서비스로, 고객이 멀티 DRM을 빠르고 쉽게 도입할 수 있도록 다양한 연동 가이드와 API, SDK를 제공합니다.