멀티 스크린을 위한 DRM 솔루션, 생각만큼 간단하지 않습니다
모든 유형의 ‘보안 솔루션’은 본질적으로 복잡합니다. 멀티 DRM 솔루션은 OTT 서비스의 여러 구성 요소와 관련되어 있으므로 이러한 복잡성이 한 단계 더 높아집니다. 이러한 구성 요소를 자체 개발할 것인지 타사 솔루션을 도입할 것인지에 대한 고민도 필요합니다. (참조: OTT 서비스 시스템, 직접 구축할 것인가 구매할 것인가)
다음은 OTT 서비스와 연동된 멀티 DRM 솔루션의 기본 구현 다이어그램입니다.
멀티 DRM 솔루션의 연동은 대략 다음과 같이 구분될 수 있습니다:
- 클라이언트 플레이어 연동 (멀티 스크린 지원 포함)
- OTT 서비스의 인코더와 연동
- OTT 서비스 백엔드 시스템과 연동
클라이언트 플랫폼 별 연동 DRM:
HTML5 (웹 브라우저) | Widevine Modular | PlayReady | FairPlay |
---|---|---|---|
크롬 (윈도우즈, macOS, 안드로이드, 크롬 OS, 리눅스) | |||
파이어폭스 (안드로이드, iOS용 파이어폭스는 제외) | |||
사파리 (macOS, iOS) | |||
엣지 (PlayReady는 윈도우즈에서만 지원) | |||
인터넷 익스플로러11 (윈도우즈 10, 8.1) | |||
모바일 | |||
안드로이드 5+ | |||
iOS 10+ | |||
OTT 기기 | |||
크롬캐스트 | |||
애플 TV | |||
아마존 파이어 TV | |||
로쿠 | |||
스마트 TV | |||
삼성 타이젠 (2018+) | |||
LG webOS 3.3+ | |||
안드로이드 TV | |||
게임 콘솔 | |||
Xbox One |
위의 각 장치에서 구동되는 앱 / 비디오 플레이어는 각각의 멀티 DRM 솔루션과 연동되어야합니다. DRM 서비스 제공업체의 SDK를 이용하거나 DRM API를 사용하여 DRM 연동을 처리할 수 있습니다. 다음은 각 유형에 대해 고려해야 할 장단점입니다.
SDK 연동과 API 연동
SDK를 이용한 DRM 연동은 OTT 서비스 앱 개발에 소요되는 기간을 단축시킬 수 있습니다. 또한 구형 안드로이드 기기에서 API 기반 연동으로 지원되지 않는 몇 가지 추가 보안 기능을 제공할 수 있습니다. 예를 들어, 시스템 시간 조작에 의한 DRM 기간 제한 무력화는 안드로이드 8 버전부터 OS 자체적으로 방지 가능합니다. 즉 API 기반 연동의 경우는 안드로이드 버전이 8 미만이면 DRM 기간 제한에 대한 공격이 가능합니다. 별도의 시큐어 클럭 기능이 구현된 SDK를 사용하면 이전 안드로이드 버전에서도 문제를 해결할 수 있습니다.
그러나 SDK에 구현된 추가 기능에 의해 최종 빌드되는 앱의 크기가 크게 증가할 수도 있습니다. 이러한 이유로 많은 서비스 제공 업체는 API 기반으로 DRM을 연동하되 오래된 안드로이드 기기에는 낮은 해상도의 콘텐츠를 제공하는 대안을 이용합니다.
DRM 부가 기능에 따른 복잡성
DRM의 기본 기능인 콘텐츠 암호화 외에 다음과 같은 DRM 부가 옵션들이 복잡성을 증가시킬 수 있습니다.
- 화면 녹화 방지 기능
- 외부 출력 보안 기능 (HDCP, CGMA-A 등)
화면 녹화 방지:
하드웨어 수준의 DRM 보안이 제공되는 환경에서는 기본적인 DRM 적용만으로도 화면 녹화가 차단됩니다. (예 : Widevine Level 1, PlayReady, FairPlay Streaming) 그러나 안드로이드와 크롬OS를 제외한 대부분의 OS에서 크롬 브라우저를 사용하는 경우에는 소프트웨어 수준의 Widevine Level 3가 적용되므로 화면 녹화가 가능합니다.
OTT 서비스 업체가 데스크탑 크롬 브라우저를 지원하기 원한다면, 별도의 화면 캡쳐 방지 솔루션 을 도입해야 합니다.
외부 출력 보호 (HDCP/CGMS)
DRM 라이선스 연동 시, 라이선스 정책 설정을 통해 클라이언트 기기의 디지털 또는 아날로그 출력을 제어하고 보호할 수 있습니다. 이러한 방법으로 HDCP와 CGMS-A 기능을 활성화해 HDMI 또는 VGA 케이블 등으로 연결된 외부 화면으로의 출력 시 원본 영상의 유출 방지합니다.
안드로이드 기기의 경우, 대부분 Widevine L1이 지원되는 기기에서 HDCP 기능이 지원됩니다. 하지만 각 제조사마다 구현이 달라지는 안드로이드 기기의 특성에 따라, 이 기능의 적용 가능 여부를 판단하는 것은 쉽지 않습니다.
- 내장 디스플레이와 외부 디스플레이가 구분되지 않는 경우: 특정 안드로이드 기기들은 기기에 내장된 디스플레이도 외부 디스플레이로 간주되어 HDCP 옵션이 적용되는 경우가 있습니다. 이 경우 별도 케이블로 외부 화면을 연결하지 않았음에도 DRM 콘텐츠 재생이 실패할 수 있습니다.
- HDCP ‘disconnected’ 또는 ‘unprotected’: Widevine L1이 지원되는 안드로이드 기기도 HDCP 기능이 적절하게 구현되지 않은 경우가 있습니다. 이러한 기기들은 위 경우와 마찬가지로 HDCP 옵션이 설정된 DRM 콘텐츠를 재생할 수 없으며, 최종 사용자의 불편을 초래하게 됩니다.
결론:
대부분의 OTT 서비스는 사용자 기반을 확장하기 위해 멀티 스크린을 지원합니다. 그러나 멀티 DRM에서 제공되는 각종 보안 기능들이 지원되지 않는 클라이언트 기기들이 있습니다. (예 : 화면 녹화 방지, 외부 디스플레이 출력 보호)
콘텐츠 라이선스 제공자가 이러한 보안 기능을 요구하지 않는 경우라면 기본적인 DRM 기능(콘텐츠 암호화)만 활성화해 대부분의 클라이언트 지원이 가능합니다. 하지만 해당 보안 기능이 필수로 요구되는 상황이라면, 별도의 솔루션을 추가로 도입하거나 보안이 취약한 클라이언트 환경에는 낮은 해상도의 콘텐츠만 제공해야 합니다.
헐리우드 스튜디오와 같은 콘텐츠 소유자들은 풀 HD 콘텐츠(최대 1080p)의 서비스 대상을 하드웨어 DRM이 지원되는 기기로 제한하고 있습니다. 그 외 기기에는 720p 또는 576p 이하 해상도의 콘텐츠만 제공 가능합니다.