멀티 DRM 구성 요소의 이해 — 4부: DRM 패키징과 CPIX/SPEKE API
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 클라이언트 연동
DRM 콘텐츠 패키징이란?
디지털 콘텐츠를 DRM으로 보호하려면 기본적으로 콘텐츠 데이터가 암호화되어야 합니다. 원본 형태의 콘텐츠(예: MP4 동영상)를 암호화하고 최종 사용자에게 전달될 형태(예: DASH 또는 HLS 스트림 데이터)로 변환하는 과정을 ‘DRM 콘텐츠 패키징’이라고 합니다.
패키징 과정에서 콘텐츠 암호화에 사용된 키는 아래 그림과 같이 DRM 라이선스 서버에 전달되어 안전하게 관리됩니다.
DRM 콘텐츠 패키징 과정 (예시)
여러 암호화 알고리즘 중에서 멀티미디어 콘텐츠 암호화에는 AES(Advanced Encryption Standard)가 표준으로 사용됩니다. 주로 128비트 길이의 키로 암호화하는 AES-128을 사용하며, 클라이언트 환경에 따라 CTR 또는 CBC 방식의 블록 암호화 모드가 사용됩니다. (참고 1, 참고 2)
DRM 콘텐츠는 암호화된 상태로 최종 사용자 기기에 전달(스트리밍 또는 다운로드)되며, 해당 콘텐츠를 재생하려면 암호화 키를 포함한 DRM 라이선스를 DRM 서버로부터 발급 받아야 합니다.
클라이언트 기기에서의 DRM 콘텐츠 재생을 위한 라이선스 발급 연동에 대한 자세한 사항은 다음에 포스팅될 제 5부를 참고하시기 바랍니다.
멀티 DRM 패키징의 결과물
패키징 과정을 통해 생성되는 멀티 DRM 콘텐츠는 스트리밍 포맷과 암호화 방식에 따라 다음과 같이 두 가지 유형으로 나뉩니다.
- MPEG-CENC 콘텐츠: Common Encryption 규격에 따라 AES-128 방식으로 암호화되어 PlayReady와 Widevine DRM으로 보호되는 DASH 방식 콘텐츠입니다.
- FPS(FairPlay Streaming) 콘텐츠: SAMPLE AES 방식으로 암호화되어 FairPlay Streaming DRM으로 보호되는 HLS(HTTP Live Streaming) 방식 콘텐츠입니다.
각각의 콘텐츠 유형이 지원되는 클라이언트 환경은 아래와 같습니다.
- DASH (MPEG-CENC) 콘텐츠: 엣지, IE11, 크롬, 파이어폭스 등 브라우저와 PlayReady 또는 Widevine DRM을 지원하는 각종 기기 (스마트TV, 셋탑박스, OTT 기기 등)
- HLS (FPS) 콘텐츠: Mac/iOS 사파리, iOS/padOS/tvOS 앱 등 FairPlay Streaming DRM을 지원하는 애플 사의 기기들
애플 기기들을 포함하여 최대한 많은 클라이언트에서의 재생을 지원하려면, 하나의 콘텐츠를 DASH와 HLS 두 벌로 패키징해 제공해야 합니다.
이렇게 중복된 콘텐츠에 의한 스토리지 및 CDN 비용의 증가와 비효율성을 개선하기 위해 단일 콘텐츠로 모든 기기를 지원하기 위한 CMAF(Common Media Application Format) 표준 작업도 진행되고 있습니다. (참고 4)
다양한 DRM 패키징 방법
DRM 콘텐츠 패키징은 다음과 같이 다양한 방법으로 처리할 수 있습니다.
DRM 패키징 툴
콘텐츠 암호화를 위한 별도의 툴을 이용해, 인코딩된 원본 콘텐츠(mp4)를 패키징하는 방식입니다. 콘텐츠 서비스 업체의 시스템(클라우드 또는 온프레미스)에서 실행되며, 주로 다음과 같은 툴들이 사용됩니다.
- Shaka Packager: 구글 Widevine 팀에서 개발하는 오픈소스 기반의 미디어 패키징 툴입니다. DASH/HLS 콘텐츠에 대한 멀티 DRM 패키징을 지원하며, VOD(Video On Demand)와 라이브 콘텐츠 패키징이 가능합니다.
- Bento4: 마찬가지로 오픈소스 기반의 C++ 라이브러리로, DASH/HLS 콘텐츠의 패키징을 포함하여 다양한 멀티미디어 관련 기능을 제공합니다.
- DRM 업체의 전용 패키징 툴: PallyCon과 같은 전문 DRM 솔루션 업체들은 고객들에게 전용 패키징 툴을 제공해 쉽고 빠른 적용을 돕고 있습니다.
인코딩/스트리밍 솔루션 연동
인코딩 또는 스트리밍 솔루션에 DRM 패키징 기능을 연동해 처리하는 방식입니다. PallyCon 멀티 DRM은 다음과 같은 솔루션들과 연동되어 있습니다. (참고 3)
- Wowza: 실시간으로 DASH/HLS 패키징을 처리해주는 Wowza Streaming Engine에 플러그인 형태로 연동되어 멀티 DRM 패키징을 처리합니다.
- Harmonic: 인코더/트랜스코더 제품과 Harmonic KMS(Key Management Server) 규격을 통해 연동되어 멀티 DRM 패키징을 수행할 수 있습니다.
CPIX API
위 방식은 Wowza, Harmonic 등 각각의 솔루션마다 여러 DRM 업체들의 독자적인 암호화 키 연동 기능을 추가하는 방식입니다.
이를 위해서는 솔루션 업체들의 개발 작업이 필요한데, 이러한 중복적인 작업을 줄이기 위해 DASH 산업 포럼에서는 Common Protection Information Exchange Format(CPIX)이라는 표준 가이드를 발표했습니다.
CPIX API는 미디어 콘텐츠의 패키징 과정에서 멀티 DRM을 적용하는데 필요한 암호화 키를 연동하는 표준 규격을 정의합니다. PallyCon은 아래와 같은 솔루션들과 CPIX API로 연동되어 쉽고 빠르게 DRM 패키징을 적용할 수 있습니다.
- Anevia NEA-DVR: Anevia의 Cloud DVR 솔루션에 포함된 제품으로, VOD와 Catch-up TV 콘텐츠에 대한 실시간 패키징을 지원합니다.
- Flussonic Media Server: 멀티 디바이스 클라이언트를 대상으로 비디오 캡쳐, 트랜스코딩, 녹화, 보안 및 전송까지 온라인 비디오 서비스를 구축할 수 있도록 해주는 서버 소프트웨어입니다.
PallyCon 멀티DRM 서비스에서 지원하는 CPIX API에 대한 자세한 사항은 온라인 가이드 문서를 참고하시기 바랍니다.
SPEKE API
Secure Packager and Encoder Key Exchange (SPEKE) API는 AWS에서 발표한 암호화 키 연동 API로, CPIX 사양을 기반으로 추가적인 기능들을 제공합니다.
SPEKE API를 통해 다양한 DRM 솔루션들이 다음과 같은 AWS 서비스와 제품들에 쉽게 연동될 수 있습니다.
- AWS Elemental MediaConvert: AWS 클라우드에서 제공되는 VOD용 트랜스코딩 서비스
- AWS Elemental MediaPackage: AWS 클라우드에서 제공되는 라이브 스트리밍용 패키징 서비스
- AWS Elemental Live: 온프레미스 기반의 라이브 비디오 인코딩 제품
- AWS Elemental Delta: 온프레미스 기반의 라이브/VOD 패키저 제품
클라우드 서비스 이용
지금까지 알아본 여러 방식 외에, SaaS (Solution as a Service) 기반으로 원본 콘텐츠에 대한 DRM 패키징을 처리해주는 서비스를 이용할 수도 있습니다.
PallyCon 서비스는 포렌식 워터마킹과 멀티 DRM을 동시에 적용하는 콘텐츠에 대해서 클라우드 SaaS 방식 패키징 서비스를 제공하고 있습니다.
복잡한 워터마킹 삽입 과정과 DRM 패키징 작업 대신, 원본 영상이 업로드된 클라우드 스토리지만 등록하면 자동으로 멀티 DRM과 포렌식 워터마킹이 적용된 DASH/HLS 콘텐츠를 생성합니다. (참고 5)
결론
콘텐츠 서비스에 멀티 DRM을 도입하는 과정의 제 1단계는 원본 콘텐츠를 암호화해 보호하는 DRM 패키징입니다.
고객들의 다양한 환경과 요구사항을 지원하기 위해 PallyCon 멀티 DRM 서비스는 본문에 소개된 여러 패키징 방식을 모두 제공하고 있습니다.
가장 적합한 패키징 방식에 대한 상담을 원하시면 PallyCon에 문의해 주시기 바랍니다.
참고 링크
- #1 https://ko.wikipedia.org/wiki/%EA%B3%A0%EA%B8%89_%EC%95%94%ED%98%B8%ED%99%94_%ED%91%9C%EC%A4%80
- #2 https://ko.wikipedia.org/wiki/%EB%B8%94%EB%A1%9D_%EC%95%94%ED%98%B8_%EC%9A%B4%EC%9A%A9_%EB%B0%A9%EC%8B%9D
- #3 https://pallycon.com/docs/ko/multidrm/packaging/wowza-integration/
- #4 https://pallycon.com/ko/blog/%eb%a9%80%ed%8b%b0-drm-%ec%bd%98%ed%85%90%ec%b8%a0-cmaf%ec%9c%bc%eb%a1%9c-%eb%8b%a8%ec%9d%bc%ed%99%94%ed%95%a0-%ec%88%98-%ec%9e%88%ec%9d%84%ea%b9%8c/
- #5 https://pallycon.com/docs/ko/forensic-watermarking/embedding/