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

FairPlay DRM의 개념과 동작 방식

Apple FairPlay Streaming(FPS)의 구성 요소와 키 요청 과정(SPC/CKC), 인증서 발급, 특징과 지원 플랫폼을 알아봅니다.

레슨 38분

FairPlay DRM이란?

FairPlay는 애플의 DRM 기술입니다. **'FairPlay Streaming'(이하 FPS)**은 HTTP Live Streaming(HLS) 콘텐츠의 암호화 키를 안전하게 전달하고, iOS, iPadOS, tvOS, macOS, visionOS 기기와 Safari 브라우저에서의 재생을 보호합니다. (참고 1) 이 레슨에서는 FairPlay Streaming 기술에 대해 알아보겠습니다.

간략한 역사

FairPlay는 2000년대 초 iTunes Store의 음악 콘텐츠를 보호하는 데 처음 사용되었습니다. 구매한 음악을 애플 기기에서만 재생할 수 있다는 문제 때문에, 2007년 스티브 잡스의 'Thoughts on Music' 발표 이후 2009년까지 iTunes의 음악에서는 DRM이 제거되었지만 영화 콘텐츠에는 계속 적용되었습니다. 이후 애플은 2015년 WWDC에서 FPS를 발표하고 연동 규격을 공개해, 다른 서비스도 FPS를 사용할 수 있게 했습니다. (참고 2)

구성 요소와 동작 방식

키 서버와 KSM

키 서버는 콘텐츠의 암호화와 복호화에 사용되는 키를 관리합니다. DRM 솔루션이나 콘텐츠 서비스 사업자는 애플의 FPS Server SDK에 포함된 레퍼런스를 바탕으로 키 서버에 '키 보안 모듈'(Key Security Module, 이하 KSM)을 구현하며, KSM은 클라이언트가 보낸 키 요청을 검증하고 콘텐츠 키를 안전하게 전달합니다.

현재 최신 버전은 FPS Server SDK 26으로, cbcs 콘텐츠를 위한 강화된 키 보호, 무결성 보호가 적용된 SPC v3, 여러 인증서 번들 지원 등이 추가되었습니다. (참고 1)

클라이언트 애플리케이션

FPS 클라이언트는 애플 플랫폼에서 실행되며, 키 서버에 콘텐츠 키를 요청하고 받은 응답을 시스템에 전달합니다. 애플의 샘플 코드로 직접 개발하거나 DRM 솔루션 업체가 제공하는 FPS SDK를 사용할 수 있습니다.

FPS 콘텐츠

FPS 콘텐츠는 다음과 같은 조건을 갖춘 HLS 콘텐츠입니다. (참고 3)

  • 플레이리스트의 키 태그에 METHOD=SAMPLE-AES와 KEYFORMAT="com.apple.streamingkeydelivery"를 사용합니다.
  • fMP4/CMAF 세그먼트는 1:9 패턴의 cbcs 방식으로 암호화해야 하며, ctr(cenc) 방식은 사용할 수 없습니다.
  • MPEG-TS 세그먼트는 SAMPLE-AES 방식으로 암호화합니다.

CBC(Cipher-block chaining)는 이전 블록의 암호화 결과를 다음 블록의 IV(Initial Vector)로 사용하는 암호화 방식입니다. cbcs는 각 비디오 샘플 전체가 아니라 일정한 패턴(10개 블록 중 1개)으로 일부만 암호화하기 때문에 복호화 부담이 줄어듭니다. 참고로 HLS의 METHOD=AES-128은 세그먼트 전체를 암호화하는 별도의 방식이며, FairPlay가 아닙니다.

FPS 키 요청 과정

애플이 권장하는 클라이언트 API는 AVContentKeySession입니다. iOS, iPadOS, tvOS, macOS 앱에서의 키 요청은 다음 순서로 진행됩니다. (참고 4)

  1. 앱이 AVContentKeySession을 생성하고 재생할 콘텐츠에 연결합니다.
  2. 재생에 키가 필요해지면(플레이리스트의 skd:// URI, 또는 앱의 사전 요청), 세션이 앱의 delegate에 콘텐츠 키 요청을 전달합니다.
  3. 앱이 FPS 인증서를 가져와 SPC(Server Playback Context) 데이터 생성을 요청합니다.
  4. 앱이 SPC 데이터를 키 서버로 전송합니다.
  5. 키 서버는 KSM으로 SPC 데이터를 해석하고 콘텐츠 키를 가져옵니다.
  6. 키 서버가 콘텐츠 키를 CKC(Content Key Context) 데이터 형태로 앱에 전달합니다.
  7. 앱이 CKC 데이터를 콘텐츠 키 응답으로 세션에 전달합니다.
  8. 시스템이 CKC 데이터에 담긴 키로 콘텐츠를 안전하게 복호화하고 재생합니다.

Safari 브라우저에서도 과정은 같지만, 웹 플레이어가 표준 EME(Encrypted Media Extensions) API와 com.apple.fps 키 시스템으로 이를 처리합니다.

주요 특징과 장점

하드웨어 수준의 보안

FPS를 지원하는 모든 클라이언트 플랫폼은 하드웨어 수준에서 높은 보안성을 갖추고 있습니다. 할리우드 스튜디오의 early window 영화처럼 높은 보안 수준이 요구되는 콘텐츠에는 FPS DRM이 필수입니다. 또한 HLS 플레이리스트에서 출력 단의 HDCP를 요구할 수도 있습니다(HDCP-LEVEL, HD는 TYPE-0, HD 초과는 TYPE-1).

Apple AirPlay 지원

FPS는 AirPlay를 기본으로 지원하기 때문에, FPS 콘텐츠를 별도 코딩 없이 Apple TV에서 재생할 수 있습니다. 이때 키 전달과 복호화는 Apple TV에서 이루어지며, 원래 기기에서 재생할 때와 같은 수준의 보안이 적용됩니다.

다운로드와 오프라인 재생

FPS는 영구 저장 가능한 콘텐츠 키(persistable content key)를 이용해 HLS 콘텐츠를 다운로드하고 오프라인으로 재생하는 기능을 지원합니다.

FPS 인증 정보

멀티 DRM 솔루션을 도입하면 Widevine과 PlayReady는 바로 사용할 수 있습니다. 하지만 FPS는 콘텐츠 서비스 사업자가 애플에 직접 FPS 인증 정보(credentials)를 신청해야 합니다. 신청은 서비스의 Apple Developer Program 팀의 Account Holder가 하며, 애플은 소비자 대상 스트리밍 서비스를 제공하는 팀만 승인합니다. DRM 솔루션 업체는 고객을 대신해 신청할 수 없기 때문에, 고객이 직접 발급받아 솔루션 업체와 공유해야 합니다. (참고 1)

현재 인증 정보는 RSA-1024와 RSA-2048 인증서가 함께 담긴 인증서 번들과, 기존 ASk(Application Secret key)를 대체하는 provisioning_data 파일로 제공됩니다.

활용 사례

FPS 콘텐츠 키는 기본 스트리밍 외에도 다음과 같은 시나리오를 지원합니다.

  • 대여(Rental): 만료 기간이 지정된 키로, 보관 기간과 첫 재생 이후의 재생 기간을 함께 지정하는 dual-expiry 키도 사용할 수 있습니다.
  • 리스(lease)와 갱신: 재생 중에 콘텐츠 키를 주기적으로 갱신해, 하나의 사용자 계정으로 동시에 재생할 수 있는 기기 수를 확인하고 제한할 수 있습니다.
  • 오프라인: 다운로드한 콘텐츠를 위해 영구 저장 가능한 키를 기기에 저장합니다.

지원 플랫폼과 콘텐츠 포맷

  • 애플 플랫폼: iOS, iPadOS, tvOS, macOS, visionOS, Mac Catalyst 앱, 오디오의 경우 watchOS
  • 브라우저: macOS, iOS, iPadOS의 Safari. iOS 17.1부터는 iPhone의 Safari가 Managed Media Source를 지원하기 때문에, MSE 기반 웹 플레이어로도 FPS 콘텐츠를 재생할 수 있습니다.

플랫폼별 최신 지원 정보는 DoveRunner 지원 환경 문서를 참고하시기 바랍니다.

콘텐츠 포맷

  • 스트리밍 포맷: HLS, CMAF(애플 기본 플레이어는 HLS만 지원)
  • 컨테이너: MPEG-TS(SAMPLE-AES), fMP4(cbcs)
  • 비디오 코덱: AVC(H.264), HEVC(H.265), Dolby Vision, AV1(fMP4 전용, AV1 하드웨어 디코딩 지원 기기)
  • 오디오 코덱: AAC, AC3, E-AC-3(Dolby Atmos 포함)

DoveRunner 멀티 DRM은 PlayReady, Widevine, FairPlay 라이선스를 하나의 연동으로 통합 관리할 수 있는 클라우드 기반 SaaS입니다.