[Standard]/ISO-IEC

(임시)CENC (Common ENCryption) in ISO Base media file format files

하늘을닮은호수M 2023. 11. 2. 14:58
반응형

CENC(Common ENCryption) 암호화란?

CENC, 공통 암호화는 다른 DRM 및 키 관리 시스템을 사용하여 동일한 파일을 복호화하기 위해 사용할 수 있는 표준 암호화 및 키 매핑 방법을 지정합니다.

배경

암호화 방식 (참조: 멀티DRM 콘텐츠, CMAF으로 단일화할 수 있을까 - PallyCon )

기존에 멀티DRM 콘텐츠의 미디어 청크를 암호화하는 AES 암호화 방식은 아래와 같이 두가지로 나뉘어졌습니다.

  • DASH (Widevine, PlayReady): AES-128 CTR 모드
  • HLS (FairPlay Streaming): SAMPLE-AES CBC 모드

CMAF 규격은 두 가지 암호화 모드를 모두 지원하지만, 단일 콘텐츠 포맷을 위해서는 둘 중 하나가 기본이 되어야 합니다.?이를 위해 각 플랫폼 및 DRM 제공 업체들은 아래와 같이 CMAF 지원을 위한 업데이트를 진행해왔습니다.

  • 구글: 안드로이드 N(7.1) 버전과 크롬 브라우저 68버전부터 CBC 모드 지원
  • 마이크로소프트: XBox One 기기에서 AES-128 CBC 모드 지원 (PlayReady 4.0)

CMAF 기반 DRM 단일 콘텐츠의 현주소 (참조: 멀티DRM 콘텐츠, CMAF으로 단일화할 수 있을까 - PallyCon )

위에서 알아본 것과 같이 관련 업계의 노력으로 CMAF 단일 콘텐츠는 현실화를 눈 앞에 두고 있습니다. CMAF 멀티 DRM 콘텐츠를 서비스하기 위해서는 아래와 같은 조건들을 만족시켜야합니다.

  • DRM 라이선스 서버: PlayReady 4.0 버전 지원 필요
  • DRM 콘텐츠 패키져: AES-128 CBC 암호화된 fMP4 미디어 청크와 두 개의 플레이리스트(mpd, m3u8)를 생성하는 기능 필요
  • DRM 클라이언트: DASH 또는 HLS 재생과 AES-128 CBC 모드 복호화 기능, 그리고 코덱(주로 H.264) 지원 필요

위 조건 중에서 라이선스 서버와 패키져는 DRM 솔루션 업체의 업데이트로 해결이 가능하지만, 클라이언트 기기의 CMAF 지원에는 아직 많은 한계가 있습니다.

!https://pallycon.com/wp-content/uploads/2019/05/n-lg-1024x535.png

우선 안드로이드는 7.1 버전 이후의 기기들만 지원되는데, 아직도 시장에는 7.0 이전 기기들이 상당 수 존재합니다.

그리고 윈도우즈 PC의 경우 OS에서 아직 CBC 모드를 지원하지 않아서 CBC로 암호화된 PlayReady DASH 콘텐츠를 재생할 수 없으며, 대신 크롬 브라우저를 이용해 소프트웨어 기반의 Widevine DRM을 적용할 수 밖에 없습니다.

CMAF 지원 플랫폼에 대한 자세한 사항은 PallyCon Docs 사이트의 해당 페이지를 참고하시기 바랍니다.

또한 아직 CMAF이 지원되지 않는 HTML5 플레이어가 있기 때문에, 웹 브라우저를 지원하는 서비스의 경우에는 사용하는 HTML5 플레이어의 CMAF 지원 여부도 확인해야 합니다.

CENC

목표

  • 암호화 알고리즘 및 암호화 관련 메타 데이터 정의

CENC의 범위 예외

  • 권한 매핑, 키 획득 및 저장, DRM 콘텐츠 보호 컴프라이언스 규칙은 DRM 시스템에서 수행

PSSH

  • 라이선스, 권리, 라이선스 취득 정보 등 DRM 고유의 정보를 PSSH에 저장할 수 있습니다.
  • 파일의 이 박스에 저장된 이 상자의 각 인스턴스는 잘 알려진 시스템에 의해 식별된 하나의 해당 DRM 시스템에 대응합니다.

Sample Table 구조

sample table 구조는 ISO 14496-12(ISOBMFF) or 14496-14(ISOBMFF의 MPEG-4확장), 14496-15(ISOBMFF의 AVC 확장)을 참고해야 합니다.

ISOBMFF의 암호화 관련 Box

보호 체계 유형

  • cenc AES-CTR 모드 풀샘플 및 비디오 NAL 하위 서브샘플 암호화
  • cbc1 AES-CBC 모드 풀샘플 및 비디오 NAL 하위 서브샘플 암호화
  • cens AES-CTR 모드 부분 비디오 NAL 패턴 암호화
  • cbcs AES-CBC 모드 부분 비디오 NAL 패턴 암호화

보호 스킴 시그널링

  • sinf: 구성표 정보 상자 (Scheme Information Box)
  • schm : 구성표 유형 상자, 암호화 구성표를 전달합니다.(scheme_type: [cenc, cbc1, cens, cbcs])
  • schi: Scheme Information Box : 홀더:tenc
  • tenc: Track Encryption Box 암호화에 대한 기본 파라미터 제공

Track ENCryption Box(TENC)

전체 트랙에 대한 기본 암호화 매개 변수값입니다. 트랙당 키가 하나만 있는 파일의 경우, 이 상자를 사용하면 샘플당 반복되지 않고 트랙당 한 번씩 기본 암호화 매개변수를 지정할 수 있습니다.

  • version: 1 for pattern-based encryption
  • if default_constant_iv is present, it is IV for all samples
  • a constant IV shall not be used with counter-mode encryption

Sample ENCryption(SENC)

Sample Encryption Box에는 암호 해독에 필요한 초기화 벡터 및 다른 암호 해독 매개 변수(선택 사항)를 포함한 샘플별 암호화 데이터가 들어 있습니다. Fragment내의 샘플 데이터가 암호화되어 있을 가능성이 있는 경우에 사용합니다.

ISOBMFF - CENC 중 SENC Box

Sample Encryption

Sub-Sample Encryption

Sub-Sample Encryption Applied to AVC

AES-128 블록 암호화 방식에 대해서는 블록 암호 운용 방식 를 참고하시기 바랍니다.

 

보호 시스템 특정 헤더 상자(PSSH)

콘텐츠를 재생하기 위해 DRM(Content Protection System)에서 필요한 정보를 포함합니다.

system_id의 형식을 지정합니다.data.

 

CENC의 Life cycle (참조 : ISO/IEC 23000-19:2020 )

2012

The 'cenc' Common Encryption Scheme specifies standard encryption and key mapping methods that can be utilized by one or more digital rights and key management systems (DRM systems) to enable decryption of the same file using different DRM systems. The scheme operates by defining a common format for the encryption related metadata necessary to decrypt the protected streams, yet leaves the details of rights mappings, key acquisition and storage, DRM compliance rules, etc. up to the DRM system or systems supporting the 'cenc' scheme.

첨부 파일 : ISO-IEC 23001-7 2012

2016

The AES-128 symmetric block cipher is incorporated by reference to encrypt elementary stream data contained in media samples. Both AES counter mode (CTR) and Cipher Block Chaining (CBC) are specified in separate protection schemes. Partial encryption using a pattern of encrypted and clear blocks is also specified in separate protection schemes. The identification of encryption keys, Initialization Vector storage and processing is specified for each scheme.

Subsample encryption is specified for NAL structured video, such as AVC and HEVC, to enable normal processing and editing of video elementary streams prior to decryption.

 

 

Reference

[1] https://poby.medium.com/common-encryption-in-iso-based-media-file-format-388b46a3cf27

[2] https://pallycon.com/ko/blog/멀티-drm-콘텐츠-cmaf으로-단일화할-수-있을까/

[3] ISO/IEC 23001-7:2016

반응형

'[Standard] > ISO-IEC' 카테고리의 다른 글

미디어 관련 표준  (0) 2023.01.31
(WO/2007/011836) SCALABLE VIDEO CODING (SVC) FILE FORMAT  (0) 2008.10.28
SVC File Format-based Scalable Video Streaming  (0) 2008.06.10
ISO Standard Download  (0) 2008.05.30