Lab
  • DRM 패키징 튜토리얼코스
  • 멀티 DRM 기술에 대해 알아야 할 5가지코스
  • DoveRunner Anti Piracy 시작하기코스
  • DoveRunner 포렌식 워터마킹 시작하기코스
  • DoveRunner 모바일 앱 보안 시작하기코스
  • DoveRunner 멀티DRM 시작하기코스
  • DoveRunner Transcoding & Packaging 시작하기코스
  • DRM CLI Packager로 콘텐츠 패키징하기레슨 · DRM 패키징 튜토리얼
EN

DRM 패키징과 CPIX/SPEKE API

원본 콘텐츠를 암호화하는 DRM 패키징의 개념과 결과물, 그리고 패키징 도구, 솔루션 연동, CPIX/SPEKE API 등 다양한 패키징 방법을 알아봅니다.

레슨 47분

DRM 패키징이란?

콘텐츠를 DRM으로 보호하려면 기본적으로 콘텐츠 데이터를 암호화해야 합니다. 원본 콘텐츠(MP4 영상 등)를 암호화하고, 사용자에게 전달할 형식(DASH나 HLS 스트림 데이터 등)으로 변환하는 과정을 **'DRM 콘텐츠 패키징'**이라고 합니다. 패키징 과정에서 콘텐츠 암호화에 사용한 키는 DRM 키 관리 서버로 전달되어 안전하게 관리됩니다.

멀티미디어 콘텐츠 암호화에는 AES(Advanced Encryption Standard)가 표준으로 사용됩니다. 128비트 키로 암호화하는 AES-128을 사용하며, 클라이언트 환경에 따라 CTR 모드('cenc' 방식) 또는 CBC 모드('cbcs' 방식)를 사용합니다. (참고 1, 참고 2)

DRM 콘텐츠는 암호화된 상태 그대로 스트리밍이나 다운로드 방식으로 사용자 기기에 전달됩니다. 콘텐츠를 재생하려면 클라이언트는 DRM 라이선스 서버에서 암호화 키가 담긴 DRM 라이선스를 발급받아야 하며, 클라이언트 측의 라이선스 연동은 다음 레슨에서 자세히 다루도록 하겠습니다.

멀티 DRM 패키징 결과물

기본적인 멀티 DRM 패키징 결과물은 스트리밍 포맷과 암호화 방식에 따라 다음 두 가지로 나뉩니다.

  • DASH(cenc): Common Encryption의 'cenc' 방식으로 암호화되고 PlayReady와 Widevine DRM으로 보호되는 DASH 콘텐츠입니다. Chrome, Edge, Firefox 같은 웹 브라우저와 PlayReady 또는 Widevine을 지원하는 기기(스마트 TV, 셋톱박스, Android, OTT 기기 등)에서 재생됩니다.
  • HLS(FairPlay): SAMPLE-AES(fMP4의 경우 'cbcs')로 암호화되고 FairPlay Streaming으로 보호되는 HLS 콘텐츠입니다. 애플 기기와 Safari 브라우저에서 재생됩니다.

구형 스마트 TV와 구형 PlayReady 기기까지 포함해 가장 많은 클라이언트를 지원하려면, 하나의 콘텐츠를 DASH와 HLS 두 가지 형식으로 모두 패키징해 제공해야 합니다.

선택 사항: 단일 CMAF 패키지

**'CMAF'(Common Media Application Format)**를 사용하면 DASH와 HLS 매니페스트가 같은 fMP4 세그먼트를 공유할 수 있습니다. Widevine, PlayReady 4.0 이상, FairPlay가 모두 cbcs 방식을 지원하기 때문에, cbcs로 암호화한 하나의 CMAF 패키지로 세 가지 DRM을 모두 지원하고 스토리지와 CDN 비용을 줄일 수 있습니다.

하지만 일부 구형 스마트 TV와 PlayReady 4.0 미만 클라이언트는 cbcs를 지원하지 않기 때문에, 이러한 기기에는 여전히 cenc 방식의 DASH 콘텐츠가 필요합니다. 단일 CMAF 패키지를 선택하기 전에 DoveRunner의 CMAF 지원 환경을 확인하시기 바랍니다.

다양한 DRM 패키징 방법

DRM 패키징 도구

별도의 암호화 도구로 원본 콘텐츠를 패키징하는 방법으로, 콘텐츠 서비스 사업자의 시스템(클라우드 또는 온프레미스)에서 실행됩니다. 주로 사용되는 도구는 다음과 같습니다.

  • Shaka Packager: 구글 Widevine 팀이 시작한 오픈소스 패키징 도구로, VOD와 라이브 콘텐츠의 DASH/HLS/CMAF 멀티 DRM 패키징을 지원합니다.
  • Bento4: DASH/HLS 패키징을 포함해 다양한 멀티미디어 기능을 제공하는 오픈소스 C++ 툴킷입니다.
  • DRM 업체의 전용 패키징 도구: DoveRunner의 DRM CLI Packager는 Shaka Packager를 기반으로 CPIX API를 통해 키를 받아오기 때문에, 명령어 하나로 DASH, HLS, CMAF 콘텐츠를 패키징할 수 있습니다.

인코딩/스트리밍 솔루션 연동

DRM 패키징을 상용 인코딩 또는 스트리밍 솔루션에 연동할 수도 있습니다. DoveRunner 멀티 DRM은 Wowza Streaming Engine(DoveRunner Wowza DRM 플러그인), Bitmovin Encoder, Dolby Hybrik, ATEME TITAN, Google Cloud Live Stream API 등의 솔루션과 연동되며, 전체 목록은 패키징 가이드에서 확인할 수 있습니다.

CPIX API

솔루션마다 DRM 업체별 키 교환 기능을 따로 추가해야 한다면 솔루션 업체 입장에서는 중복 개발이 필요합니다. 이러한 중복을 줄이기 위해 DASH Industry Forum은 CPIX(Content Protection Information Exchange Format)라는 표준을 발표했으며, 현재 최신 버전은 CPIX 2.4입니다.

CPIX는 콘텐츠 패키징 시 멀티 DRM 적용에 필요한 암호화 키를 주고받는 인터페이스의 표준으로, 현재 대부분의 인코더와 패키저가 이를 지원합니다. DoveRunner의 CPIX API를 이용하면 CPIX를 지원하는 어떤 패키저에서도 DoveRunner의 키를 받아올 수 있으며, Flussonic Media Server가 이러한 방식으로 DoveRunner와 연동되는 예입니다.

SPEKE API

SPEKE(Secure Packager and Encoder Key Exchange) API는 AWS가 발표한 CPIX 기반의 암호화 키 교환 API입니다. (참고 3)

  • SPEKE v1: CPIX 2.0 기반으로, 모든 트랙에 하나의 키를 사용합니다.
  • SPEKE v2: CPIX 2.3 기반으로, 여러 개의 키(예: 오디오, SD, HD 트랙별 키)를 사용할 수 있습니다.

DoveRunner는 두 버전을 모두 지원하며, SPEKE를 통해 다음과 같은 AWS 서비스 및 제품과 DRM을 연동할 수 있습니다.

  • AWS Elemental MediaConvert: VOD 트랜스코딩(v1, v2)
  • AWS Elemental MediaPackage: 라이브/VOD 패키징(v1, v2). AWS Elemental MediaLive의 라이브 채널은 MediaPackage에서 암호화를 적용합니다.
  • AWS Elemental Live: 온프레미스 라이브 인코딩(v1)

클라우드 기반 패키징 서비스

원본 콘텐츠의 DRM 패키징을 SaaS 형태로 처리할 수도 있습니다. DoveRunner의 Transcoding & Packaging 서비스는 멀티 DRM과 함께 선택적으로 포렌식 워터마킹을 적용합니다. 트랜스코딩, 워터마크 전처리, DRM 패키징을 직접 처리하는 대신 원본 영상이 업로드된 스토리지를 등록하기만 하면, DASH/HLS 콘텐츠가 자동으로 생성됩니다.

결론

콘텐츠 서비스에 멀티 DRM을 도입하는 첫 단계는 원본 콘텐츠를 암호화해 보호하는 DRM 패키징입니다. DoveRunner 멀티 DRM은 고객의 다양한 환경과 요구 사항을 지원하기 위해 이 레슨에서 소개한 패키징 방법을 모두 제공합니다. 어떤 패키징 방법이 가장 적합한지 상의하고 싶으시다면 문의하기를 통해 요청하시기 바랍니다.