SaaS DRM 라이선스 비용에 대한 이해
개요
콘텐츠 보안을 위해 DRM 솔루션을 도입하려는 고객들이 가장 궁금해하는 것 중에 하나는 ‘비용’입니다.
고객사 시스템에 직접 DRM 서버를 구축하는 온프레미스 솔루션의 경우, 해당 소프트웨어에 대한 라이선스 비용과 유지 보수 및 기술 지원비를 연간 계약으로 지불하는 방식이 일반적이었습니다.
사용한 만큼만 지불하는 SaaS 구독 방식 서비스는 온프레미스에 비해 초기 도입 비용과 사용료를 절약할 수 있지만, 실제 지불해야할 비용을 미리 예측하기 어렵다는 단점이 있습니다.
그러나 대부분의 SaaS 방식 DRM 서비스의 기본 과금 단위인 월간 라이선스 발급 수(Monthly Active License, 이하 MAL)에 대해 정확하게 이해하면 서비스 유형과 사용량에 따른 DRM 비용을 산출해 볼 수 있습니다.
이 글에서는 ‘DRM 라이선스’라는 개념과 MAL의 산출 방법에 대해 자세히 알아보겠습니다.
DRM 라이선스란 무엇인가
‘DRM 라이선스’란 암호화된 콘텐츠의 재생을 위해 DRM 서버로부터 클라이언트(플레이어)에 전달되는 데이터를 의미합니다.
이전 글에서 알아본 것처럼, 디지털 콘텐츠를 DRM으로 보호하려면 우선 콘텐츠 데이터를 암호화하여 클라이언트에 전달해야 합니다. 이러한 DRM 패키징(암호화)에 사용된 키는 DRM 라이선스 서버에 의해 관리되며, 재생 시점에 클라이언트에 전달되어 복호화 및 재생이 이루어집니다.
라이선스 요청 데이터
멀티 DRM 클라이언트의 라이선스 요청은 플레이어 어플리케이션이 아닌 해당 플랫폼(OS 또는 웹 브라우저)에서 제공되는 DRM 모듈에서 수행됩니다.
클라이언트 DRM 모듈은 해당 기기의 정보와 재생하려는 콘텐츠의 정보를 라이선스 챌린지 데이터로 생성하여 DRM 서버의 LA(License Acquisition) URL에 POST 방식으로 전송합니다. 이때 사용자 인증과 같은 DRM 연동 처리를 위해 플레이어 어플리케이션에서 미리 설정한 커스텀 데이터가 HTTP 커스텀 헤더, URL 파라미터 또는 쿠키 등의 방식으로 함께 전달됩니다.
라이선스 응답 데이터
DRM 서버는 요청한 사용자/기기 또는 토큰에 대한 인증을 수행한 후, 라이선스 요청에 대한 응답으로 DRM 라이선스 데이터를 클라이언트에 전달합니다.
DRM 라이선스 데이터에는 콘텐츠 복호화를 위한 키와 함께 콘텐츠 사용 제어를 위한 라이선스 규칙이 포함되어 있습니다. 이 응답 데이터는 라이선스 요청 데이터(라이선스 챌린지)에 포함된 클라이언트 기기의 공개키로 암호화되어 해당 기기에서만 복호화해 사용할 수 있습니다.
콘텐츠 패키징과 DRM 라이선스에 대한 자세한 설명은 이전 포스팅을 참고하시기 바랍니다.
콘텐츠 서비스 제공자는 콜백 또는 토큰 방식의 연동을 통해서 각각의 콘텐츠와 사용자에 대해 다음과 같은 라이선스 규칙을 설정할 수 있습니다.
- 라이선스 저장(Persistent) 여부: 오프라인 시나리오 지원을 위한 라이선스 저장 여부
- 라이선스 기간 제한: 오프라인용 라이선스에 재생 가능한 유효 기간을 설정
- 클라이언트 기기의 최소 보안 수준: 해당 콘텐츠에 요구되는 최소 보안 수준
- 외부 출력에 대한 보호 수준: 해당 콘텐츠에 요구되는 출력 보호(HDCP) 수준
라이선스 규칙의 클라이언트 보안 수준 설정은 별도의 포스팅에서 상세하게 설명할 예정입니다.
DRM 라이선스의 설정과 동작 방식
DRM 라이선스는 콘텐츠의 유형과 재생 시나리오에 따라 아래와 같이 설정 및 동작이 달라집니다. 라이선스 발급 횟수에 따른 DRM 비용을 계산하려면 아래와 같은 DRM 라이선스 유형별 동작 방식을 이해해야 합니다.
VOD 스트리밍용 라이선스
스트리밍 재생을 위한 라이선스는 Persistent 값을 false로 설정해 플레이어의 메모리 상에만 저장되도록 합니다. (1회용 라이선스)
스트리밍 시나리오에서는 라이선스 룰의 Persistent 설정이 반영되지 않으며, 이에 따라 대부분의 클라이언트 환경에서 라이선스의 기간 제한도 적용되지 않습니다.
스트리밍용 라이선스 설정 예시 (PallyCon 멀티DRM의 경우)
{
"playback_policy" : {
"persistent": false
}
}
위 기본 설정 외에 클라이언트 기기의 보안 수준과 외부 출력 보호에 대한 설정도 가능하며, 이는 스트리밍과 다운로드 시나리오 모두 동일하게 적용됩니다.
스트리밍 라이선스의 기간 제어
VOD 스트리밍 콘텐츠에 대한 사용 기간 제어는 DRM 라이선스 룰이 아닌 콘텐츠 서비스의 CMS(Content Management System)에서 처리합니다. CMS에서는 사용자의 서비스 구독 기간(SVOD의 경우) 또는 콘텐츠 대여 기간(TVOD의 경우)을 확인해 해당 기간 내에만 DRM 라이선스가 발급되도록 합니다.
이러한 방법으로 스트리밍 재생의 시작 여부는 제어할 수 있지만, 이미 재생 중인 콘텐츠를 DRM 라이선스 기간 제한으로 중지시킬 수는 없습니다. 그러나 재생 중에 웹 페이지가 갱신되거나 어플리케이션이 재실행되어 플레이어 인스턴스가 초기화되면 새로운 라이선스를 발급하는 과정에서 계속적인 이용을 제한할 수 있습니다.
VOD 다운로드/오프라인용 라이선스
항공기 내부와 같은 오프라인 환경이나 이동 중에도 콘텐츠를 이용하는 경우를 위해, 많은 OTT 서비스들은 모바일 기기에 콘텐츠 다운로드 및 오프라인 재생 기능을 지원하고 있습니다.
오프라인 재생 지원을 위한 라이선스는 Persistent 값을 true로 설정해 클라이언트 기기의 영구 저장소에 라이선스를 저장해야 합니다.
다운로드/오프라인 시나리오에서는 콘텐츠 재생 시점에 클라이언트 기기가 오프라인 상태일 수 있습니다. 따라서 재생 시작 시 DRM 라이선스를 획득하는 스트리밍과 달리 콘텐츠를 다운로드 받을 때 DRM 라이선스도 함께 받아야 합니다.
오프라인용 라이선스 기간 제어
다운로드된 콘텐츠의 유효 기간을 설정하려면 해당 라이선스 룰에 기간 제한을 적용합니다. 라이선스가 만료될 시점(날짜) 또는 라이선스 발급 시점으로부터 재생 가능한 시간을 설정할 수 있습니다.
다운로드용 라이선스 설정 예시 (PallyCon 멀티DRM의 경우)
{
"playback_policy" : {
"persistent": true,
"limit": true,
"duration": 604800
}
}
특정 일시에 라이선스가 만료되게 하려면 duration 대신 expire_date 옵션으로 만료 일시를 지정할 수도 있습니다. 이 경우에는 라이선스 발급 시점에 만료 일까지 남은 시간을 서버에서 계산하여 duration 값이 자동 설정됩니다.
라이브/리니어 스트리밍 라이선스
콘텐츠의 시작과 끝이 따로 없는 리니어 스트리밍 채널에 DRM을 적용하는 경우에도 기본적인 DRM 라이선스 설정은 VOD 스트리밍과 동일합니다. 라이선스 룰의 Persistent 값을 false로 설정해 스트리밍용 1회성 라이선스를 발급하며, 별도의 기간 제한은 적용하지 않습니다.
키 로테이션을 통한 이용 기간 제어
VOD와 달리 리니어 콘텐츠에는 주기적으로 암호화 키를 변경하는 키 로테이션을 적용할 수 있습니다. 이를 통해 키 유출에 대한 보안을 강화하고 주기적인 사용자 인증으로 콘텐츠의 이용 기간을 제어할 수 있습니다.
라이브 콘텐츠에 대한 키 로테이션 사용 여부와 로테이션 주기는 해당 콘텐츠를 스트리밍하는 서버 솔루션에서 설정합니다. (예: Wowza, Elemental 등)
MAL이란 무엇이고 어떻게 계산되는가
MAL(Monthly Active Licenses)이란 DRM 서비스의 과금 기준 중 하나로, 한 달 동안 해당 서비스 계정(DRM 서비스의 고객, 즉 콘텐츠 서비스 업체)을 대상으로 발급된 라이선스 수의 합계를 의미합니다.
각각의 콘텐츠와 최종 사용자 및 클라이언트 기기에 대해서 고유한 DRM 라이선스가 발급되어야 하므로, 기본적으로 MAL은 사용자 수와 각 사용자의 콘텐츠 재생 횟수에 비례하게 됩니다.
MAL 계산 예제
아래와 같은 VOD 서비스를 예시로 예상 MAL을 계산해보겠습니다.
- 서비스 대상 플랫폼: PC 웹 브라우저 및 모바일(Android, iOS) 기기
- 월 평균 사용자 수: 1만명
- 사용자 당 스트리밍 콘텐츠 수: 8건
- 사용자 당 다운로드 콘텐츠 수: 2건
MAL 계산: (월 평균 사용자 수) * (사용자 당 스트리밍 재생 수 + 다운로드 수) = 1만명 * 10건 = 10만 MAL
일반적인 경우에는 사용자 수와 사용자 당 이용한 콘텐츠 수에 따라 MAL이 계산되지만, 여기에는 예외 사항이 있을 수 있습니다.
- 동일한 콘텐츠를 여러 기기에서 이용하는 경우: 사용자와 콘텐츠가 동일해도 재생 기기가 다르면 새로운 라이선스가 발급됩니다.
- 동일한 콘텐츠를 여러번 스트리밍 하는 경우: 스트리밍 라이선스의 경우는 동일한 콘텐츠에도 재생 횟수 만큼 라이선스가 발급됩니다.
다운로드 콘텐츠는 라이선스에서 설정된 유효 기간 내에 여러 번 재생해도 새로운 라이선스가 발급되지 않습니다.
- 오디오/비디오 트랙에 별도의 라이선스가 발급되는 경우: 비디오와 오디오 트랙을 분리해서 패키징하는 특정 솔루션의 경우에, 하나의 콘텐츠에 대해 두 개의 DRM 라이선스가 발급될 수 있습니다. (예: AWS Elemental MediaConvert, MediaPackage)
라이브/리니어 콘텐츠의 MAL 계산
재생 횟수 또는 다운로드 횟수로 계산되는 VOD 콘텐츠의 MAL과 달리, 라이브 콘텐츠는 키 로테이션 주기와 재생 시간에 따라 라이선스 발급 수가 달라집니다.
MAL = (월 평균 사용자 수) * (사용자 당 라이브 채널 재생 시간) * (시간 당 키 로테이션 횟수)
여러 라이브 채널에 대해서 각각 별도의 암호화 키를 적용하는 경우, 위 계산식에 사용자 당 재생한 라이브 채널 수를 곱해야 합니다. (채널 전환 시 신규 라이선스 발급 필요) 일반적으로는 채널 간 전환 시 지연 시간을 줄이기 위해서 동일한 키로 패키징 처리합니다.
MAL 수치에 따른 이용 요금 계산
위와 같은 여러 상황을 고려해 예상되는 라이선스 발급 수(MAL)가 산출되면, 여기에 라이선스 당 요금을 곱해 월 이용 요금을 계산할 수 있습니다.
PallyCon 멀티DRM의 경우에는 월 기본 요금에 대한 기본 MAL이 제공되며, 초과되는 라이선스 수에 따라 구간별 차등 요금이 적용됩니다.
구간별 차등 요금제
AWS 마켓플레이스에 등록되어 있는 PallyCon Multi DRM Cloud 상품의 요금제로 월 이용 요금을 계산해보겠습니다.
이용 요금 예시
- 1만 MAL: 기본 제공량(2만 MAL) 이내 = 월 이용료 $500
- 10만 MAL: (2만 MAL 기본료 $500) + (추가 8만 MAL / 100 * $0.5) = 500 + 400 = 월 이용료 $900
- 100만 MAL: (2만 MAL 기본료 $500) + (추가 8만 MAL / 100 * $0.5) + (추가 40만 MAL / 100 * $0.35) + (추가 50만 MAL / 100 * $0.3) = 500 + 400 + 1,400 + 1,500 = 월 이용료 $3,800
결론
이상으로 DRM 라이선스와 MAL에 대해서 자세히 알아보았습니다.
라이선스 발급 수로 계산되는 MAL 요금제의 경우, 요금 계산의 기준이 명확하다는 장점이 있습니다. 하지만 DRM 서비스 고객의 입장에서는 실제 도입 및 운영 전까지는 MAL 수치와 예상 요금을 정확히 계산하기 어려운 단점이 있습니다.
PallyCon 멀티DRM 서비스는 MAL 요금제 외에도 월간 사용자 수(Monthly Active Users, MAU)를 기준으로 과금하는 고객 맞춤형 요금제도 제공하고 있습니다.
MAU 요금제나 포렌식 워터마킹, 클라이언트 SDK 등 부가 제품의 사용을 원하는 경우, 홈페이지 컨택폼을 통해 상담을 요청하시기 바랍니다.