멀티 DRM 구성 요소의 이해 – 3부 : 애플 FairPlay
FairPlay 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 클라이언트 표준 규격
FairPlay DRM 개요
FairPlay는 애플의 DRM(Digital Rights Management) 규격입니다. 기존 FairPlay DRM은 애플이 자사의 아이튠즈 미디어 서비스에만 독점적으로 사용해왔지만, 지난 2015년에 FairPlay Streaming이 발표된 이후로 다른 미디어 서비스들도 애플 기기에 제공되는 콘텐츠에 FairPlay DRM을 적용할 수 있게 되었습니다. (참고 1)
이 글에서는 주로 FairPlay Streaming 기술에 대해서 설명합니다.
애플의 FairPlay Streaming (이하 FPS) DRM은 HTTP 라이브 스트리밍 프로토콜을 통해 스트리밍 미디어를 클라이언트 장치에 안전하게 전달하는 기술입니다. FPS 기술을 사용하면 콘텐츠 공급자, 인코딩 공급 업체 및 콘텐츠 배달 네트워크(CDN)가 iOS, tvOS, macOS 및 iOS 사파리 브라우저에서 콘텐츠를 암호화하고 키를 안전하게 교환하며 재생을 보호할 수 있습니다. (참고 2)
FairPlay의 역사
아이팟과 아이튠즈
FairPlay DRM은 애플이 베리디스크(Veridisc)의 기술을 기반으로 개발하였습니다. (참고 3) 2000년대 초반 애플이 MP3 플레이어인 아이팟 기기와 아이튠즈 음원 서비스를 시작하면서, FairPlay DRM은 아이튠즈 스토어에서 제공되는 음원 콘텐츠를 불법 사용으로부터 보호하기 위해 개발되었습니다. 하지만 구매한 음원을 애플 기기에서 밖에 사용하지 못하는 불편을 초래해 사용자들로부터 ‘DRM 호환성 문제’가 제기되었습니다.
스티브 잡스의 ‘DRM FREE’ 선언
2007년 2월, 당시 애플 CEO 스티브 잡스는 ‘Thoughts on Music’이라는 제목의 사내 메일을 통해 ‘DRM 호환성 문제’의 해결을 위해 아이튠즈 콘텐츠에 더 이상 DRM을 적용하지 않겠다고 선언했습니다. 이후로 주요 음반 회사들이 이에 동의하여 2009년부터 아이튠즈 스토어의 모든 음원 콘텐츠에서 DRM이 제거되었습니다. (참고 4)
FairPlay DRM의 부활과 FPS 발표
스티브 잡스의 ‘DRM FREE’ 선언 이후에도 FairPlay DRM은 아이튠즈 스토어에서 제공되는 영화 콘텐츠에 계속 적용되었습니다. 또한 다운로드 방식의 음원 판매 대신 구독형 스트리밍 방식 서비스가 자리 잡으면서 음원 콘텐츠의 ‘DRM 호환성’ 문제도 큰 의미가 없어져서, 2015년에 런칭된 애플 뮤직 서비스에도 FairPlay DRM이 다시 사용되고 있습니다.
FPS(FairPlay Streaming)는 2015년 애플 개발자 행사인 WWDC에서 발표되었습니다. 기존 FairPlay DRM이 애플의 아이튠즈 서비스에만 독점적으로 적용된 폐쇄적인 기술이었던 것과 달리, FPS는 연동 규격이 공개되어 다른 콘텐츠 서비스들도 해당 기술을 사용할 수 있게 되었습니다.
구성 요소와 작동 방식
FPS DRM은 다음과 같은 요소로 구성됩니다. (참고 5)
키 서버와 Key Security Module (KSM)
키 서버는 DRM 콘텐츠의 암호화/복호화에 사용되는 키를 관리하는 서버입니다. DRM 솔루션 또는 콘텐츠 서비스 업체는 애플에서 제공하는 Key Security Module 샘플을 참고하여 자체 키 서버에 FPS용 KSM을 구현할 수 있습니다.
KSM은 클라이언트에서 전송된 키 요청 데이터의 유효성을 검증하고 요청된 콘텐츠 키를 안전하게 전달하는 역할을 수행합니다.
클라이언트 앱
FPS 클라이언트 앱은 iOS, tvOS, macOS 등 애플 기기의 OS 상에서 실행되며, FPS 콘텐츠에 대한 키를 키 서버에 요청하고 해당 응답을 처리하는 역할을 수행합니다. 콘텐츠 서비스 업체는 애플의 샘플 코드를 참고해 직접 FPS 클라이언트 앱을 개발하거나, DRM 솔루션 업체에서 제공하는 SDK 또는 플레이어 제품을 사용할 수 있습니다.
FPS 콘텐츠
HLS 콘텐츠에 FPS를 적용하기 위해서는 SAMPLE-AES 방식으로 각각의 HLS 세그먼트들을 암호화해야 합니다. FPS 콘텐츠에 사용하는 암호화 방식은 AES-128 CBCS 방식입니다. Shaka Packager와 같이 FPS 패키징을 지원하는 패키져 또는 솔루션을 이용하면, 암호화된 HLS 콘텐츠의 m3u8 플레이리스트에 KEY 태그가 관련 정보와 함께 추가됩니다.
암호 블록 체인 (cipher-block chaining, CBC) 방식은 이전 블록의 암호화 결과를 다음 블록의 IV(Initial Vector)로 사용하는 암호화 방식입니다. AES-CBCS 방식은 콘텐츠의 전체 데이터 대신 일부 샘플(Sub-sample)만을 CBC 방식으로 암호화하는 방식입니다. (참고 6)
FPS 키 요청 프로세스
iOS/tvOS 클라이언트 앱에서의 FPS 키 요청과 응답은 다음과 같은 과정으로 진행됩니다.
- 클라이언트 앱에서 OS의 AVFoundation 프레임워크에 FPS 콘텐츠 재생을 알림
- AVFoundation은 콘텐츠 서버로부터 HLS 플레이리스트(m3u8)를 다운 받아 KEY 태그를 확인함
- AVFoundation이 클라이언트 앱(AVFoundation Delegate)에 해당 콘텐츠의 키를 요청
- 앱 Delegate에서 AVFoundation에 FPS Server Playback Context (SPC) 데이터를 요청
- 생성된 FPS SPC 데이터를 앱 Delegate가 키 서버에 전송
- 키 서버는 KSM 모듈을 통해 SPC 데이터를 해석하고 콘텐츠 재생에 필요한 키(Content Key)를 키 DB에서 검색함
- 키 서버는 검색된 콘텐츠 키를 Content Key Context (CKC) 데이터 형태로 클라이언트 앱에 전송
- 클라이어트 앱의 AVFoundation Delegate이 CKC 데이터를 AVFoundation에 입력
- AVFoundation 내부에서 CKC 데이터에 포함된 키를 이용해 안전하게 콘텐츠 복호화 및 재생을 수행
맥 OS와 iOS 사파리의 경우에도 위와 유사한 과정을 통해 콘텐츠 키 전송과 재생이 이루어지며, 이 경우 클라이언트 앱에서의 구현 대신 사파리 브라우저에 내장된 Content Decryption Module(CDM)과 Encrypted Media Extension(EME) 표준이 사용됩니다.
주요 기능 및 특장점
하드웨어 레벨 DRM 지원
맥 OS, iOS, tvOS 등 FPS DRM을 지원하는 모든 클라이언트 환경은 하드웨어 레벨의 높은 보안이 적용됩니다. 맥 OS용 크롬 브라우저 또는 iOS용 Widevine CDM SDK를 통해 애플 기기에도 Widevine DRM을 적용할 수 있지만, 이럴 경우에는 하드웨어 DRM을 사용할 수 없어 프리미엄 콘텐츠 보안에는 적합하지 않습니다.
헐리우드 스튜디오의 최신 영화와 같이 높은 수준의 보안이 필요한 콘텐츠에는 FPS DRM 적용이 필수입니다.
에어플레이 지원
FPS DRM은 애플의 무선 콘텐츠 전송 프로토콜인 에어플레이를 기본 지원합니다. 추가적인 코딩 없이도 애플 기기에서 재생하던 FPS 콘텐츠를 에어플레이 기능을 통해 애플TV로 재생할 수 있습니다.
에어플레이로 재생되는 FPS 콘텐츠에 대한 키 전달과 복호화는 대상 기기인 애플TV에서 수행되어, 아이폰 등 원래 기기에서 재생하는 것과 동일한 수준의 보안이 적용됩니다.
다운로드 및 오프라인 재생 지원
iOS 10 버전부터 FPS 콘텐츠에 대한 다운로드 및 오프라인 재생 기능이 지원됩니다. OS에서 제공되는 관련 API들을 이용해 HLS 콘텐츠의 다운로드 및 관리와 오프라인용 라이선스 발급을 처리할 수 있습니다.
콘텐츠 서비스 사업자가 DRM 업체에서 제공하는 멀티DRM 솔루션을 도입할 경우, Widevine과 PlayReady DRM은 별도의 신청이나 등록 과정이 없이도 해당 DRM을 바로 이용할 수 있습니다. 하지만 FPS DRM은 콘텐츠 서비스 사업자가 직접 애플에 FPS Deployment Package를 신청해 발급 받아야 합니다.
적용 사례
FPS DRM이 적용된 콘텐츠에는 기본적인 스트리밍 시나리오 외에도 다음과 같은 사용 시나리오를 적용할 수 있습니다.
비디오 대여 시나리오
렌탈 유형으로 설정된 콘텐츠 키를 사용하면, 해당 키의 유효 기간 이후에는 콘텐츠 재생을 위한 복호화가 중단됩니다. 영구 소장이 아닌 대여 방식으로 구매한 콘텐츠에 이러한 시나리오를 적용해 특정 기간 동안에만 사용 가능하도록 할 수 있습니다.
동시 시청 제한 (Secure Lease)
리스 유형으로 설정된 콘텐츠 키를 콘텐츠 재생 중에 주기적으로 갱신하도록 하여, 하나의 사용자 계정으로 동시에 재생할 수 있는 클라이언트 기기의 대수를 제한할 수 있습니다. (콘텐츠 키 리뉴얼 방식)
지원 플랫폼과 콘텐츠 포맷
FairPlay Streaming DRM으로 지원 가능한 플랫폼과 콘텐츠 포맷은 다음과 같습니다.
PC 플랫폼
- 맥 OS 10.10 이후 : 사파리 브라우저
모바일 플랫폼
- iOS 9.0 이후 : iOS 네이티브 앱
- iOS 11.2 이후 : iOS 사파리 브라우저
OTT 플랫폼
- 애플 TV : tvOS 10.0 이후
콘텐츠 포맷
- 스트리밍 포맷 : HLS, CMAF
- 비디오 포맷 : MPEG-TS, fMP4 컨테이너
- 비디오 코덱 : AVC(H.264), HEVC(H.265)
- 오디오 코덱 : AAC, AC3
PallyCon 멀티 DRM 서비스
잉카엔트웍스에서 제공하는 PallyCon 멀티 DRM 서비스는 클라우드 기반의 SaaS(Solution as a Service)로, 멀티 DRM 도입의 필수 요소인 PlayReady, Widevine, FairPlay DRM의 통합 라이선스 관리와 클라이언트 연동을 쉽고 빠르게 할 수 있도록 도와드립니다.
참고 링크
#1 https://developer.apple.com/videos/play/wwdc2015/502/
#2 https://developer.apple.com/streaming/fps/
#3 https://blog.naver.com/PostView.nhn?blogId=kcopastory&logNo=221003498768
#4 https://en.wikipedia.org/wiki/FairPlay
#5 https://developer.apple.com/videos/play/wwdc2015/502/
#6 https://medium.com/@takusemba/hls-with-widevine-for-android-de3f41027ed2