디지털 저작권 관리(DRM)는 콘텐츠 소유자에게 프리미엄 콘텐츠를 보호할 수 있는 옵션을 제공하는 업계 표준입니다. 효과적인 DRM 솔루션은 대부분의 재생 장치와 작동하고 워크플로우에 쉽게 통합되며 사용자에게 투명하게 나타나야 합니다. 오프라인 재생과 같은 고급 기능을 지원할 수 있다면 훨씬 좋습니다. DRM이 많은 스트리밍 서비스 사업자에게 최우선 과제는 아닐 수 있지만 시청자의 재생 경험에 미치는 영향은 나중에 고려할 수 없습니다.
모든 DRM 시스템의 목표는 비디오 콘텐츠가 암호화된 형태로 저장되고 전송되도록 하여 승인된 사용자 및 장치만 콘텐츠를 재생할 수 있도록 하는 것입니다. DRM은 스트리밍 플랫폼에서 계층화된 AES(Advanced Encryption Standard) 128비트 암호화에 불과한 것으로 오해되는 경우가 많습니다. 실제로 DRM은 컨텐츠 접속을 관리하기 위한 완벽한 시스템입니다. DRM은 암호화 및 암호 해독 키의 안전한 배포와 함께 정책 제어와 같은 기능을 추가하여 무단 하드웨어의 재생을 방지하고 오프라인 재생 제어와 같은 기능을 추가하는 백엔드 라이센스 서버를 제공합니다.
DRM은 세 가지 방법 중 하나로 배포할 수 있습니다. 첫 번째는 모든 개발과 통합을 스스로 수행하는 것입니다. 이 작업은 시간이 많이 걸리지만 제어력과 유연성을 극대화할 수 있습니다. 두 번째는 공급자의 사전 패키지 DRM 솔루션을 워크플로우에 통합하는 하이브리드 접근 방식입니다. 세 번째 옵션은 관리형 스트리밍 서비스의 일부로 DRM 솔루션을 활용합니다. Verizon Media Platform은 이러한 유형의 DRM 솔루션을 제공합니다. 비디오 워크플로우에 통합되어 있으며 간단한 서비스 주문으로 가능합니다. 우리는 개발 및 통합 부담을 감수합니다. 처음 두 가지 옵션에서 DRM은 일회성 프로젝트 이상이며, 진화하는 표준과 기술을 따라잡기 위해서는 지속적인 프로그램이 필요합니다.
Proprietary DRM
Today의 주요 비디오 스트리밍 형식에는 자체 DRM 시스템 통합이 있습니다. DRM 기술은 독점적이기 때문에 예외가 증가하고 있음에도 불구하고 일반적으로 OEM 전용 제품에서만 지원됩니다. 예를 들어, Apple FairPlay는 주로 Apple Safari 웹 브라우저 및 기타 Apple 하드웨어 및 소프트웨어 제품과 호환됩니다. 스트리밍 서비스의 관점에서 볼 때, 크로스 플랫폼 호환성이 없다는 것은 다중 DRM 전략을 채택하고 포괄적인 범위의 장치를 포함하려는 경우 여러 형식으로 패키징되고 암호화된 콘텐츠를 제공해야 한다는 것을 의미합니다.
시장에 많은 DRM 시스템이 있지만, 실용적인 관점에서 스트리밍 서비스는 거의 모든 웹 브라우저, 장치 및 TV에 대한 지원을 얻기 위해 세 가지 주요 요소에만 관심을 기울이면 됩니다.
- Apple FairPlay 스트리밍(FPS) – FairPlay 콘텐츠는 Safari, iOS 및 Apple TV 플랫폼을 포함한 Apple 장치에서 주로 재생할 수 있습니다.
- Google Widevine – 이 DRM 솔루션은 모든 Chrome 및 Firefox 웹 브라우저와 Android 및 Chromecast 장치에 적용됩니다.
- Microsoft PlayReady – 이 DRM 솔루션으로 보호되는 콘텐츠는 Roku, Xbox,
- Microsoft Edge 브라우저 및 SDK를 통한 다양한 기타 플랫폼 및 스마트 TV.
DRM 시장의 단편화를 단순화하기 위해 표준화 노력이 진행 중인 기본 암호화를 살펴보면 상황이 다소 개선됩니다. Widevine과 PlayReady는 CENC(Common Encryption) 및 MPEG-DASH를 지원합니다. 즉, 콘텐츠를 한 번 암호화 및 패키징하고 DRM 시스템 중 하나를 사용하여 이러한 자산을 해독할 수 있습니다. FairPlay는 128-AES CBCS(또는 암호 블록 체인 시료 모드) 암호화 및 HLS 패키징을 사용합니다. CBCS는 일부 최신 DASH 재생 장치에서도 지원됩니다. 시장은 일반적인 암호화를 위해 CBCS에 수렴하는 것처럼 보이지만 다른 암호화는 장기간 지원되어야 합니다.
Multi-DRM 과제
In 우리 플랫폼의 경우, 우리는 여러 형식으로 인제스트 즉시 콘텐츠를 암호화합니다. 기본 대시 패키징 및 암호화는 여러 장치에서 가장 호환성이 높기 때문에 AES-CTR 전체 암호화를 사용합니다(최신 장치가 CBCS를 지원할 수도 있음). 또한 전체 장치 범위에서 가장 호환성이 높기 때문에 Fairplay에 전송 스트림 패키징 및 CBCS 암호화를 기본적으로 사용합니다. 전 세계 대부분의 장치와 플레이어를 대상으로 하지만 복잡성이 가중되고 스토리지 비용이 증가합니다. ABR(Adaptive Bitrate)을 사용하면 두 개 또는 세 개 이상의 서로 다른 파일을 사용할 수 있습니다. 모든 비트 전송률을 고려할 때 재생 시간이 4초 또는 2초인 각 블록에 대해 15개 이상의 세그먼트가 있을 수 있습니다.
이 상황은 서서히 개선되고 있습니다. 업계는 단일 DRM 지원 파일 세트로 대부분의 소비자 화면에 도달할 수 있는 CMAF(Common Media Application Format)라는 사양을 광범위하게 채택하고 있습니다. 현재 CMAF는 이미 많은 DASH 및 HLS 장치와 플레이어에서 작동합니다. 적절한 경우 동적 매니페스트 생성 로직을 사용하여 CMAF 규격 암호화 및 추가 장치를 지원하는 CBCS로 HLS 매니페스트를 만들 수 있습니다.
이러한 모든 파일 세트를 인코딩하는 것은 규모면에서 훨씬 더 큰 문제가됩니다. 우리는 클라우드의 확장성을 활용하여 이 문제를 해결했습니다. 슬라이서가 최고 비트 전송률로 파일을 업로드하면 각 슬라이스를 브로커로 전송하여 작업을 거대한 인코딩 클러스터로 보냅니다. 인코딩 작업을 병렬로 수행하여 각 비트 전송률, 컨테이너 형식 및 암호화 알고리즘 조합에 필요한 모든 파일을 최소한의 지연으로 신속하게 만들 수 있습니다.
암호화 인코딩, 패키징, 스토리지 및 처리 요구 사항 극복의 미묘한 차이를 이해하는 것은 다중 DRM 구현과 관련된 복잡성과 관련하여 빙산의 일각에 불과합니다. 추가 과제는 다음과 같습니다.
- DRM 서버에서 키를 지연 없이 획득하여 모든 장치에서 일관된 사용자 환경 보장
- 운영 체제 변형과 함께 끊임없이 변화하는 클라이언트 장치 및 관련 SDK를 지속적으로 관리
- 프리미엄 및 UHD 콘텐츠에 대해 MovieLabs 등이 정의한 ECP(Enhanced Content Protection) 매개 변수 준수
- 시간 이동, 따라잡기 보기, 클라우드 기반 DVR 사용, 오프라인 재생 등 복잡한 라이센스 및 보호 계약 모니터링 및 준수
이러한 모든 요구 사항을 충족하고 워크플로우 전반에 걸쳐 콘텐츠가 보호되도록 하려면 키 관리 솔루션을 개발하고, 라이선스 서버를 설정하고, 콘텐츠 재생 조건을 결정하는 보안 정책을 정의 및 관리해야 합니다. 예를 들어 플랫폼에는 대부분의 환경에 적합한 기본 정책 집합이 있습니다. Studio DRM 정책 구성 도구는 각 사용자에 대해 이러한 정책을 쉽게 구성할 수 있습니다. 정책은 라이선스 서버에 구현되며 보안 수준 적용 또는 출력 제한, 키 기간, 재생 기간, 오프라인 대여 허용 여부 등의 다양한 변수를 포함할 수 있습니다. 정책 옵션은 DRM마다 상당히 다를 수 있습니다.
Key 관리가 핵심입니다.
정책 관리와 마찬가지로 플랫폼은 키 관리 및 라이센싱의 모든 측면을 처리하여 전체 워크플로우에서 키가 보호되도록 해야 합니다. 보안은 Verizon Media의 완전 통합 플랫폼으로 쉽게 달성할 수 있지만, 별도의 서비스를 사용하려는 경우 인코더에서 타사 DRM 솔루션으로 키를 안전하게 전송할 수 있는 방법이 필요합니다. 이렇게 하려면 키가 콘텐츠를 외부에서 인코딩한 다음 라이선스 서버로 전달될 수 있도록 Secure Packager 및 SPEKE(Encoder Key Exchange)와 같은 표준을 구현하는 데 상당한 작업이 필요합니다. 모든 것을 동일한 네트워크에 유지하면 이 단계를 피하고 구현을 단순화할 수 있습니다.
워크플로우에 DRM 인프라가 통합되면 다음 큰 과제는 플레이어 통합입니다. 이것은 우리가 딸꾹질이 없는지 확인하기 위해 각 플레이어의 SDK를 통해 상당한 시간을 보냈던 곳입니다. 문제는 SSAI(Server-Side Ad Insertion)로 밝혀졌습니다. 라이브 이벤트 및 라이브 채널에 연결하기 위해 별도로 인코딩된 광고의 대규모 라이브러리를 유지하기 때문에 이러한 광고가 플랫폼의 모든 라이브 이벤트 및 채널과 동일한 키 암호화 (s)를 공유할 수는 없습니다. 이 문제를 해결하려면 광고가 삽입된 스트림과 다른 개별 키로 암호화되거나, 각 고유 스트림에 대해 즉시 재패키징되거나, 암호화 없이 스트림에 삽입되어야 합니다.
이러한 변형은 라이브 스트림 재생을 복잡하게 만듭니다. 예를 들어, 일부 플레이어는 중간에 DRM 키 전환을 지원하지 않습니다. 이러한 지원에도 불구하고 전환은 재생 경험에 눈에 띄는 영향을 줄 수 있습니다. 프레임 버퍼를 완전히 배수해야 할 수 있으며, 새 키가 있는 프레임을 큐에 대기시키기 전에 새 키 초기화가 수행됩니다. 이렇게 하면 일부 플랫폼에서 눈에 띄는 결함이 발생할 수 있습니다.
이러한 문제로 인해 우리는 더 나은 플레이어 성능을 보장하고 새로운 광고가 나올 때마다 주요 변경을 수행할 필요가 없도록 광고를 암호화하지 않은 상태로 남겨두었습니다. 또한 암호화되지 않은 광고는 필요할 수 있는 모든 스트림 키 조합을 사용하여 각 광고를 다시 패키징할 필요가 없기 때문에 광고를 즉시 다시 암호화하는 것보다 서버 성능이 향상됩니다. 암호화되지 않은 광고를 사용하는 것은 플레이어가 동일한 키를 사용하는 것보다 약간 더 복잡합니다. 그럼에도 불구하고 많은 플레이어 프로젝트는 지난 몇 년 동안 지원되는 재생 시나리오임을 확인했습니다.
우리는 또한 라이선스 URL이 작동하는 방식을 단순화하여 특정 플레이어에게 더 편리하게 만들기 위해 노력했습니다. 우리는 먼저 매니페스트에 라이선스 서버 URL을 넣어 이를 달성했으므로 플레이어가 URL 읽기를 지원하는 경우 별도로 제공할 필요가 없습니다. 그런 다음 모든 세션별 데이터를 매니페스트의 PSSH(Protection Scheme Specific Header) 상자에 인코딩합니다. 이를 통해 플레이어는 추가 헤더 데이터나 URL 매개변수 없이 매우 간단한 라이선스 서버 URL을 라이선스 요청에 사용할 수 있습니다. 플레이어와 스트림에 동일한 라이센스 URL을 사용하면 DASH 재생 통합이 플랫폼에서 매우 간단해집니다.
Toward 보다 쉬운 DRM 통합
우리 플랫폼의 가장 중요한 목표 중 하나는 서비스 제공 업체가 스트리밍을 더 간단하고 쉽게 만드는 것입니다. ABR 재생을 위한 오픈 소스 JavaScript 라이브러리인 Shaka Player와 같은 오픈 소스 플레이어의 사용을 지속적으로 확대하고 있습니다. 또한 널리 사용되는 범용 비디오 플레이어 솔루션인 THEOplayer와도 제휴를 맺었습니다. 우리는 끊임없이 변화하는 암호화 표준과 DRM 기술에 발맞추어 플랫폼을 발전시킵니다. 우리는 많은 기업들이 DRM을 사용하는 것을 좋아하지 않는다는 것을 이해합니다. 따라서 체크리스트에 있는 다른 항목과 마찬가지로 이 중요한 보안 작업을 더 많이 수행할 수 있을수록 더 좋습니다.