KR20110122669A - 파일 내의 복수의 콘텐츠 보호 시스템 - Google Patents

파일 내의 복수의 콘텐츠 보호 시스템 Download PDF

Info

Publication number
KR20110122669A
KR20110122669A KR1020117016966A KR20117016966A KR20110122669A KR 20110122669 A KR20110122669 A KR 20110122669A KR 1020117016966 A KR1020117016966 A KR 1020117016966A KR 20117016966 A KR20117016966 A KR 20117016966A KR 20110122669 A KR20110122669 A KR 20110122669A
Authority
KR
South Korea
Prior art keywords
file
content
protection systems
protection
box
Prior art date
Application number
KR1020117016966A
Other languages
English (en)
Other versions
KR101623616B1 (ko
Inventor
퀸틴 스웨인 번스
로버트 킬로이 주니어 휴즈
존 칼 시몬스
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20110122669A publication Critical patent/KR20110122669A/ko
Application granted granted Critical
Publication of KR101623616B1 publication Critical patent/KR101623616B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1063Personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

단일의 컨테이너 파일에서 복수의 콘텐츠 보호 시스템을 지원하는 방법 및 시스템이 개시된다. 보호 시스템은 파일 내의 샘플 암호화 박스로부터 액세스할 수 있는 암호화 방법을 공유한다. 보호 시스템들 각각은 대응하는 보호 시스템에 따라 콘텐츠를 암호해독하기 위한 정보를 보호 시스템 헤더 박스에 저장한다. 일부 실시예들에서, 파일 내의 별개의 보호 시스템 헤더 박스들은 보호 시스템들 각각에 대응한다. 보호 시스템들에 걸쳐 공통된 암호화 방법을 이용하고 암호화 표현을 공유함으로써, 콘텐츠의 추가적인 사본을 생성하지 않고도 파일 내에서 복수의 콘텐츠 보호 시스템이 지원된다. 일부 실시예들에서, 본 발명의 양태는, 단일의 컨테이너 파일에서 복수의 디지털 저작권 관리(DRM; digital rights management) 시스템을 지원하기 위해 국제 표준화 기구(ISO; International Organization for Standardization) 기반 미디어 파일 포맷을 확장시킨다.

Description

파일 내의 복수의 콘텐츠 보호 시스템{MULTIPLE CONTENT PROTECTION SYSTEMS IN A FILE}
기존의 디지털 저작권 관리(DRM; Digital Rights Management) 시스템은 미디어 콘텐츠 및 기타의 파일들을 허가되지 않은 사용으로부터 보호한다. 콘텐츠를 보호하기 위해, DRM 시스템들 중 하나에 특유한 메타데이터가 미디어 콘텐츠와 함께 파일 내에 저장된다. 장치들은 사용자에게 프리젠테이션하기 위해 메타데이터를 해석하고 콘텐츠를 암호해독함으로써 콘텐츠를 렌더링한다. 그러나, 제1 DRM 시스템에 따라 암호화된 콘텐츠는 제2 DRM 시스템만을 지원하는 장치에 의해 암호해독될 수 없다. 이와 같은 장치에 의한 암호화된 콘텐츠의 암호해독을 가능케 하기 위해, 기존의 시스템들은, 각각이 상이한 DRM 시스템을 지원하는 장치에 의해 암호화된 복수 버전의 콘텐츠를 생성한다. 대안으로서, 콘텐츠는 제1 DRM 시스템에 따라 암호해독된 다음 제2 DRM 시스템을 지원하는 장치에 의해 재-암호화될 수 있다. 다른 기존 시스템들은 제1 DRM 시스템과 제2 DRM 시스템간의 권한 맵핑을 제공하는 서비스를 포함한다.
<발명의 요약>
본 발명의 실시예들은 단일의 컨테이너 파일(single container file)에 적용된 복수의 보호 시스템을 지원한다. 콘텐츠 및 하나 이상의 암호화 표현(encryption expression)을 포함하는 파일이 수신한다. 콘텐츠는 암호화 표현에 의해 암호화된다. 수신된 파일로부터의 암호화 표현을 이용하여 복수의 보호 시스템이 콘텐츠에 적용된다. 보호 시스템들 각각은 동일한 암호화 표현을 이용하여 콘텐츠를 보호한다. 콘텐츠와 적용된 복수의 보호 시스템을 갖는 파일이 암호해독을 위해 하나 이상의 컴퓨팅 장치에 전송된다. 컴퓨팅 장치들 각각은 적용된 복수의 보호 시스템들 중 적어도 하나를 이용하여 콘텐츠를 암호해독한다.
본 요약은 선발된 개념들을 간략화된 형태로 도입하기 위해 제공되는 것으로서, 이 개념들은 이하의 상세한 설명에서 더 기술될 것이다. 본 요약은 청구 대상(claimed subject matter)의 핵심적인 특징 또는 본질적인 특징을 식별하려고 의도한 것도 아니고, 청구 대상의 범위를 결정하는데에 있어서 보조물로서 사용하려고 의도한 것도 아니다.
도 1은 제1 컴퓨팅 장치가 네트워크를 통해 제2 컴퓨팅 장치에 콘텐츠를 제공하는 것을 도시하는 예시적인 블럭도이다.
도 2는 콘텐츠 제공자로부터 인코딩 제공자 및 서비스 제공자를 통해 소비자까지의 콘텐츠의 흐름을 도시하는 예시적인 블럭도이다.
도 3은 콘텐츠에 대한 보호 시스템의 적용을 도시하는 예시적인 흐름도이다.
도 4는 컴퓨팅 장치 상에서의 프리젠테이션을 위한 콘텐츠의 디코딩을 도시하는 예시적인 흐름도이다.
도 5는 단편화된 파일 구조(fragmented file structure)를 나타내는 예시적인 구조를 도시하는 예시적인 블럭도이다.
도 6은 단편화된 파일 조직을 나타내는 예시적인 구조를 도시하는 예시적인 블럭도이다.
도 7은 트랙 박스(track box)를 저장하기 위한 예시적인 구조를 도시하는 예시적인 블럭도이다.
도 8은 미디어 정보 박스를 저장하기 위한 예시적인 저장용 구조를 도시하는 예시적인 블럭도이다.
도 9는 보호된 샘플 엔트리 박스를 저장하기 위한 예시적인 구조를 도시하는 예시적인 블럭도이다.
대응하는 참조 부호들은 도면 전체를 통해 대응하는 부분을 나타낸다.
도면들을 참조하면, 본 명세서의 실시예들은, 적어도, 사용자에게 프리젠테이션하기 위한 미디어 콘텐츠를 저장하는 파일(111)에서 디지털 저작권 관리(DRM) 시스템과 같은 복수의 보호 시스템을 지원한다. 파일(111)은 복수의 보호 시스템에 의해 보호된 미디어 콘텐츠 또는 기타의 콘텐츠의 단일 사본을 저장한다. 부분적으로, 보호 시스템들간에 이와 같은 상호운용성(interoperability)을 가능케 하기 위해, 보호 시스템들은 보호 시스템들에 공통된 암호화 알고리즘이나 기타의 암호화 방법을 이용하거나 공유한다. 추가적으로, 보호 시스템들에 의해 이용되는 핵심적인 정보와 같은 암호화 표현은 보호 시스템들간에 공유된다.
본 발명의 양태들은, 파일(111)과 같은 단일의 컨테이너 파일에서 복수의 DRM 시스템을 지원하기 위해 국제 표준화 기구(ISO) 기반 미디어 파일 포맷(ISO base media file format)을 확장한다. 일부 실시예들에서, 컨테이너 파일은 샘플 암호화 박스(114)와 복수의 보호 시스템 헤더 박스들(116)을 포함한다. 각각의 보호 시스템 헤더 박스는 보호 시스템들 중 하나 이상에 특정적이다. 샘플 암호화 박스(114)는 보호 시스템들에 공통된 암호화 방법을 저장하거나 식별한다. 보호 시스템 헤더 박스들(116) 각각은, 대응하는 보호 시스템으로 콘텐츠를 암호해독하기 위해 사용되는 데이터 객체(data object)를 저장한다. 예를 들어, 일부 실시예들에서, 보호 시스템 헤더 박스들(116) 내의 데이터 객체들은 콘텐츠를 암호해독하기 위한 (예를 들어, 라이센스 서버로부터의) 다른 데이터 객체를 획득하기 위해 이용된다. 데이터 객체들은, 동시에, 단일의 파일에서 복수의 보호 시스템을 지원하는 불투명한(opaque) 메타데이터를 나타낸다.
본 발명의 양태들이 모바일 전화 또는 넷북 또는 초휴대성 장치와 같은 모바일 컴퓨팅 장치인 컴퓨팅 장치를 참조하여 설명되지만, 본 발명의 실시예들은 임의의 컴퓨팅 장치와도 동작할 수 있다. 예를 들어, 본 발명의 양태들은, 디지털 카메라, 디지털 비디오 카메라, 랩탑 컴퓨터, 셋탑 박스, (핸드헬드 게이밍 콘솔을 포함한) 게이밍 콘솔, 휴대용 음악 재생기, PDA(personal digital assistant), 정보 도구(information appliance), 및 개인용 커뮤니케이터와 같은 장치와도 동작할 수 있다.
다시 도 1을 참조하면, 예시적인 블럭도는, 제1 컴퓨팅 장치(102)가 네트워크(106)를 통해 제2 컴퓨팅 장치(104)에 콘텐츠를 제공하는 것을 도시한다. 일부 실시예들에서, 제1 컴퓨팅 장치(102)는 서버이고, 제2 컴퓨팅 장치(104)는 클라이언트 장치이며, 네트워크(106)는 인터넷이다. 제1 컴퓨팅 장치(102)는 적어도 제1 메모리 영역(110)과 프로세서(108)를 포함한다. 제1 메모리 영역(110)은, 예를 들어 미디어 콘텐츠 또는 미디어 프리젠테이션에 대응하는 파일(111)을 저장한다. 미디어 콘텐츠는, 비디오, 오디오, 이미지, 텍스트 및/또는 그래픽, 또는 이들의 시퀀스와 같은 상용의 또는 비-상용의 미디어 데이터를 포함한다. 제1 컴퓨팅 장치(102)는 미디어 콘텐츠를 갖는 파일(111)을 네트워크(106)를 통해 제2 컴퓨팅 장치(104)에 전송한다.
도 1의 예시적인 블럭도는, 광 디스크로부터 컴퓨팅 장치(예를 들어, 휴대용 장치 또는 개인용 컴퓨터)로의 표준 품질(standard definition) 또는 휴대용 미디어 콘텐츠의 제2 세션 또는 디지털 전달, 멀티미디어 콘텐츠의 프로그레시브 다운로드(progressive download), 인터넷 프로토콜(IP) 네트워크를 통한 적응적 스트리밍, 또는 휴대용 장치 상으로의 멀티미디어 콘텐츠의 사이드 로딩(side loading)을 포함하지만 이것으로만 제한되지 않는, 본 명세서의 실시예들에 의해 지원되는 콘텐츠 전달 시나리오를 기술한다.
제1 컴퓨팅 장치(102), 또는 기타의 서버는, 데이터 저장 서버, DRM 서버, (예를 들어, 음악 또는 비디오 다운로딩, 온-디맨드, 브로드캐스팅, 또는 광고를 위한) 미디어 콘텐츠 서버, 피어 서버(peer server) 등을 포함하지만 이것으로만 제한되지 않는, 그 연관된 미디어 콘텐츠 또는 정보의 임의의 공지된 소스나 향후 개발된 소스들을 나타낸다. 제1 컴퓨팅 장치(102)는 하나 이상의 이와 같은 장치들을 포함할 수 있다.
네트워크(106)는, 공지된 미디어 프로토콜 또는 향후 개발된 미디어 프로토콜을 지원하도록 구성된 임의의 디지털 데이터 전송 인프라구조 또는 기술을 나타낸다. 예시적인 네트워크는, 인터넷, 셀룰러 네트워크, 위성 네트워크, BLUETOOTH 브랜드 무선 네트워크 등을 포함하지만, 이것으로만 제한되는 것은 아니다.
제2 컴퓨팅 장치(104)는 제1 컴퓨팅 장치(102)로부터 데이터를 수신하도록 구성된, 임의의 컴퓨팅 장치 또는 이와 같은 컴퓨팅 장치의 요소이다. 제2 컴퓨팅 장치(104)는 수신된 데이터를 저장 및/또는 제시하거나, 또는 그 대신에, 수신된 데이터를 저장/제시를 위해 다른 장치에 전달하도록 구성될 수 있다.
제1 컴퓨팅 장치(102)와 제2 컴퓨팅 장치(104)는, 트랜시버, 멀티플렉서, 디멀티플렉서, 인코더, 디코더, 암호화기, 암호해독기 등과 같은 컴포넌트들을 포함할 수 있다.
일부 실시예들에서, 파일(111)은, 복수의 보호 시스템을 지원하는 포맷으로 콘텐츠를 저장하는 컨테이너 파일을 나타낸다. 보호 시스템은 예를 들어 DRM 시스템에 대응한다. 이와 같은 실시예들에서, 파일(111)은 암호화된 콘텐츠(112), 샘플 암호화 박스(114), 및 보호 시스템 헤더 박스 #1 내지 보호 시스템 헤더 박스 #N과 같은 복수의 보호 시스템 헤더 박스들(116)을 포함한다. 샘플 암호화 박스(114)와 보호 시스템 헤더 박스(116)는 타입 식별자(type identifier) 및 길이(length)에 의해 정의된 객체-지향형 빌딩 블럭(object-oriented building block)을 나타낸다. 컨테이너 박스는 관련된 박스들을 포함하고 그룹화한다. 예를 들어, 미디어 데이터 박스는 프리젠테이션을 위한 미디어 콘텐츠를 보유하는 컨테이너 박스인 반면, 영화 박스(movie box)는, 그 서브박스들이 프리젠테이션을 위한 메타데이터를 정의하고 있는 컨테이너 박스이다. 샘플 암호화 박스(114)와 보호 시스템 헤더 박스(116)가 도면에 예시된 바와 같이 특정한 박스나 컨테이너 박스에 포함된 것으로 도시되어 있지만, 박스들은 함께 포함된 박스 또는 내부의 다른 박스를 통해 수송될 수 있는 정보를 개시한다. 또한, 박스들은 파일(111) 내의 다른 박스들의 서브박스들로서 간주될 수도 있다.
복수의 보호 시스템 헤더 박스들(116) 각각은 보호 시스템들 중 하나 이상과 연관된다. 임의 수량의 보호 시스템 헤더 박스들(116)이 파일(111) 내에 포함될 수 있다. 박스들과 보호 시스템은 DRM 식별자 또는 기타의 보호 시스템 식별자에 의해 식별된다. 샘플 암호화 박스(114)는 암호화된 콘텐츠(112)를 암호화하기 위해 사용되는 키(key)를 식별한다. 일부 실시예들에서, 샘플 암호화 박스(114)는 키, 키 식별자, 및/또는 보호 시스템들에 걸친 공통의 또는 표준의 암호화 방법을 기술하는 키 맵핑 정보를 저장한다. 키는 각각의 샘플 암호화 박스(114)에 대해 상이할 수 있다. 예를 들어, 표준 암호화 방법은 카운터(CTR) 모드에서 128 비트 키 크기를 갖는 AES(Advanced Encryption Standard)를 포함한다. AES 알고리즘에 대한 초기화 벡터는 또한 보호 시스템에 공통된다. 샘플 암호화 박스(114)는 보호 시스템 헤더 박스들(116)에 의해 공유된다. 보호 시스템 헤더 박스들(116) 각각은, 암호화된 콘텐츠(112)를 디코딩하거나, 아니면 보호 시스템들 중 하나 이상에 따라 콘텐츠에 대한 액세스를 허용하기(granting) 위한 메타데이터를 포함한다.
파일(111)이 ISO 기반 미디어 파일 포맷에 대응하고 있는 예에서, 보호 시스템 헤더 박스들(116)은 네스팅 레벨(nesting level) 1에 있는 반면, 일부 실시예들에서 샘플 암호화 박스(114)는 네스팅 레벨 2에 있다.
제2 컴퓨팅 장치(104)는 제2 메모리 영역(118)에 액세스한다. 제2 메모리 영역(118), 또는 하나 이상의 컴퓨터-판독가능한 매체는, 미디어 콘텐츠를 디코딩하고 제2 컴퓨팅 장치(104)의 사용자에게 미디어 콘텐츠를 제시하기 위해 컴퓨터-실행가능한 컴포넌트들을 저장한다. 예시적인 컴포넌트들은 인터페이스 컴포넌트(120), 검출 컴포넌트(122), 분석 컴포넌트(parse component)(124), 및 변환 컴포넌트(126)를 포함한다. 이들 컴포넌트들은 제2 컴퓨팅 장치(104)와 연관된 기능을 구현하기 위한 예시적인 구조를 나타내지만, 본 명세서에서 기술된 기능을 구현하기 위해 다른 구조들도 고려해 볼 수 있다. 도 1에 도시된 예시적 컴포넌트들의 동작은 도 4를 참조하여 이하에서 기술된다.
일반적으로, 제1 메모리 영역(110)은 제1 컴퓨팅 장치(102)와 연관된다. 예를 들어, 도 1에서, 제1 메모리 영역(110)은 제1 컴퓨팅 장치(102) 내에 있다. 그러나, 제1 메모리 영역(110) 또는 이에 저장된 임의의 데이터는, 국부적이거나 (예를 들어 네트워크를 통해 액세스할 수 있는) 제1 컴퓨팅 장치(102)로부터 원격인 임의의 서버 또는 기타의 컴퓨터와 연관될 수 있다. 마찬가지로, 제2 메모리 영역(118)은 제2 컴퓨팅 장치(104)와 연관된다. 예를 들어, 도 1에서, 제2 메모리 영역(118)은 제2 컴퓨팅 장치(104) 내에 있다. 그러나, 제2 메모리 영역(118) 또는 이에 저장된 임의의 데이터는, 국부적이거나, (예를 들어 네트워크를 통해 액세스할 수 있는) 제2 컴퓨팅 장치(104)로부터 원격인 임의의 서버 또는 기타의 컴퓨터와 연관될 수 있다.
프로세서(108)는 임의 수량의 프로세싱 유닛들을 포함하며, 본 발명의 양태들을 구현하기 위한 컴퓨터-실행가능한 명령어들을 실행하도록 프로그램된다. 이 명령어들은 프로세서(108)에 의해 수행되거나, 제1 컴퓨팅 장치(102) 내에서 실행되는 복수의 프로세서들에 의해 수행되거나, 제1 컴퓨팅 장치(102) 외부의 프로세서에 의해(예를 들어, 클라우드 서비스에 의해) 수행될 수 있다. 일부 실시예들에서, 프로세서(108)는 도면들(예를 들어, 도 3 및 도 4)에 도시된 것들과 같은 명령어들을 실행하도록 프로그램된다.
다시 도 2를 참조하면, 예시적 블럭도는, 콘텐츠 제공자(202)로부터 인코딩 제공자(204) 및 서비스 제공자(206)를 통해 소비자까지의 콘텐츠의 흐름을 도시한다. 도 2의 도면은, 서비스 제공자(206)가 제1 컴퓨팅 장치(102)에 대응하고 소비자 장치(208)가 제2 컴퓨팅 장치(104)에 대응하고 있는 도 1에 도시된 도면의 예를 나타낸다.
콘텐츠 제공자(202)는 미디어 콘텐츠를 포함하는 파일을 생성한다. 예를 들어, 콘텐츠 제공자(202)는 영화에 대응하는 비디오 파일을 생성하는 영화 스튜디오이다. 생성된 비디오 파일은, 각각의 콘텐츠 제공자(202)에게 특유할 수 있는 메자닌(mezzanine) 포맷으로서 알려진 포맷일 수 있다. 콘텐츠 제공자(202)는 비디오 파일을 인코딩 제공자(204)에게 전송한다. 인코딩 제공자(204)는 서비스 제공자들(206) 중 하나 이상으로의 배포를 위해 비디오 파일을 준비한다. 이 예에서, 인코딩 파트너는, 일부 실시예들에서는 암호화를 포함한, 인코딩을 위해 메자닌 콘텐츠를 준비하는 프로세싱을 수행하고, 그 다음, 인코딩과 암호화를 수행한다. 인코딩과 암호화는, 콘텐츠 제공자(202)에 의해 제공되거나 인코딩 제공자(204)에 의해 제공된 암호화 키를 이용하여 발생된다. 인코딩된 콘텐츠는 배포를 위해 준비되지만, 보호 시스템(예를 들어, DRM)이 없다. 인코딩된 콘텐츠는 서비스 제공자(206)에 전송된다.
서비스 제공자(206)는 인코딩된 콘텐츠를 수신하고 DRM A용의 헤더(예를 들어, 보호 시스템 헤더 박스들(116) 중 하나)를 비디오 파일에 추가한다. 적용된 보호 시스템을 갖는 비디오 파일은 소비자 장치(208) 또는 DRM A에 의해서만 암호해독될 수 있는 다른 장치들에 전송될 수 있다. 대안으로서 또는 추가하여, 서비스 제공자(206)는 DRM B용의 다른 헤더(예를 들어, 보호 시스템 헤더 박스들(116) 중 다른 하나)를 비디오 파일에 추가할 수 있다. 이 시점에서, 비디오 파일은 DRM A 또는 DRM B를 이용하여 디코딩될 수 있다. 비디오 파일은 소비자에게 전송되고, 여기서 소비자 장치(208)는 DRM A 또는 DRM B를 이용하여 비디오 파일을 분석, 암호해독, 및 디코딩할 수 있다.
한 예에서, 콘텐츠는 영화이고, 사용자는 DRM A를 지원하는 장치 1 상에서 영화를 재생하려고 시도한다. 장치 1 상의 재생 소프트웨어는 영화가 암호화되어 있다고 결정한다. 재생 소프트웨어는 DRM A에 대응하는 보호 특유의 헤더 박스를 발견한다. 재생 소프트웨어는 라이센스 서버에 컨택하여 영화에 대한 라이센스를 리트리브하기 위해 보호 특유의 헤더 박스에 포함된 정보를 이용한다. 리트리브된 라이센스는 DRM A에 대한 보호 특유의 헤더 박스 내에(예를 들어, 그 내부의 여분의 공간에) 저장될 수 있다. 그 다음, 영화는 DRM A를 이용하여 암호해독되고 사용자에게 제시된다.
추가의 예에서, 다음으로, 사용자는 DRM B를 지원하는 장치 2에 영화를 복사한다. 장치 2 상의 재생 소프트웨어는 그 영화가 암호화되어 있다고 결정한다. 재생 소프트웨어는 DRM B에 대응하는 보호 특유의 헤더 박스를 발견한다. 재생 소프트웨어는 라이센스 서버에 컨택하여 영화에 대한 라이센스를 리트리브하기 위해 보호 특유의 헤더 박스에 포함된 정보를 이용한다. 리트리브된 라이센스는 DRM B에 대한 보호 특유의 헤더 박스 내에(예를 들어, 그 내부의 여분의 공간에) 저장될 수 있다. 그 다음, 영화는 DRM B를 이용하여 암호해독되고 사용자에게 제시된다.
다음으로 도 3을 참조하면, 예시적인 흐름도는, 콘텐츠에 대한 보호 시스템의 적용을 도시한다. 도 2의 서비스 제공자(206)와 같은 컴퓨팅 장치는 파일이 수신되었는지를 302에서 결정한다. 파일은 미디어 콘텐츠와 하나 이상의 암호화 표현을 포함한다. 미디어 콘텐츠는 암호화 표현에 따라 암호화된다. 일부 실시예들에서, 암호화 표현은, 하나 이상의 암호화 키, 키 식별자, 및 키 맵핑 정보를 포함하거나, 이들을 기술하는 메타데이터를 포함한다. 다른 실시예들에서, 암호화 표현은 다른 위치(예를 들어, 웹 서비스)로부터 암호화 키, 키 식별자, 및 키 맵핑 정보 중 하나 이상을 얻기 위한 데이터 객체를 포함한다. 암호화 표현은, 예를 들어 도 1에 도시된 보호 시스템 헤더 박스들(116) 중 하나 이상 및/또는 샘플 암호화 박스(114)에 저장될 수 있다.
미디어 콘텐츠를 갖는 파일이 302에서 수신된 후에, 복수의 보호 시스템이 304에서 선택된다. 예를 들어, 보호 시스템은 파일의 의도된 수신인에 기초하여 선택되거나, 소비자 장치(208)에 의해 흔히 이용되는 보호 시스템들의 디폴트 선택을 나타낼 수도 있다. 306에서, 선택된 보호 시스템은 DRM-보호된 콘텐츠를 생성하기 위해 암호화 표현들 중 하나 이상을 이용하여 파일 내의 콘텐츠에 적용된다. 예를 들어, 보호 시스템을 적용하는 것은 보호 시스템에 대한 메타데이터를 파일에 추가하거나 임베딩하는 것을 포함한다. 메타데이터는 보호 시스템을 기술하고 콘텐츠의 암호해독을 가능케한다. 일부 실시예들에서, 메타데이터는, 보호 시스템과 연관된 암호해독 키와 함께, 보호 시스템에 관련된 권한 객체 또는 라이센스 정보(또는 라이센스 정보로의 참조)를 포함한다.
보호 시스템은 콘텐츠의 추가적인 사본을 생성하지 않고 콘텐츠에 적용된다. 그 결과, 단일의 컨테이너 파일(예를 들어, 파일(111))은, 콘텐츠와, 선택되고 적용된 복수의 보호 시스템을 포함한다.
DRM-보호된 콘텐츠는 308에서 하나 이상의 컴퓨팅 장치에 전송된다. 컴퓨팅 장치는, 컴퓨팅 장치에 의해 지원되는 적용된 보호 시스템들 중 적어도 하나를 이용하여 콘텐츠를 암호해독한다. 대안으로서 또는 추가하여, DRM-보호된 콘텐츠는 컴퓨팅 장치에 의한 액세스를 위해 메모리 영역에 저장된다.
도 1의 예에서, 보호 시스템을 적용하는 것은, 선택된 보호 시스템 각각에 대해 보호 시스템 헤더 박스들(116) 중 하나를 정의하는 것을 포함한다. 정의된 보호 시스템 헤더 박스들(116)은 파일 내에 포함된다. 이 예에서, 샘플 암호화 박스(114)는 키 맵핑 정보 및 키 식별자를 포함하는 키 정보를 포함한다. 보호 시스템들은 샘플 암호화 박스(114)에서 식별된 키 정보를 이용하여 콘텐츠에 적용된다.
다음으로 도 4를 참조하면, 예시적인 흐름도는 컴퓨팅 장치 상에서의 프리젠테이션을 위한 콘텐츠의 디코딩을 도시하고 있다. DRM-보호된 비디오 파일이 402에서 컴퓨팅 장치에 의해 수신된다. 컴퓨팅 장치 상에서 실행중인 분석기는, 406에서 그 파일이 적용된 보호 시스템을 갖고 있는 것을 결정하기 위해 수신된 파일 내의 메타데이터를 404에서 검사한다. 예를 들어, 분석기(parser)는, 만일 그 파일이 Moving Picture Experts Groups-4(MP4) 포맷이라면, 그 파일이 암호화된 비디오(예를 들어, "encv") 또는 암호화된 오디오(예를 들어, "enca")의 스트림 타입에 의해 보호되었다고 결정한다. 이와 같은 예에서, 분석기는 파일 내의 트랙이 본 발명의 양태에 따라 암호화되었는지의 여부를 결정하기 위해 보호 스킴 정보 박스(protection scheme information box) 내의 스킴 정보 박스 또는 스킴 타입 박스를 검사한다. 트랙은 파일 내의 관련된 샘플들의 모음에 대응한다. 일부 실시예들에서, 분석기는 스킴 타입 박스에서 보호 스킴을 식별케하는 4-문자 코드와 버전 번호를 발견한다.
컴퓨팅 장치 상에서 실행중인 애플리케이션 프로그램은, 408에서, 그 컴퓨팅 장치에 의해 지원되는 보호 시스템에 대응하는 보호 시스템 헤더 박스(116)를 발견하기 위해 수신된 비디오 파일 내에서 보호 시스템 헤더 박스(116)를 탐색한다. 보호 시스템 헤더 박스(116)는, 재생이 개시되기 이전에 콘텐츠를 암호해독하기 위한 임의의 라이센스(들)가 컴퓨팅 장치에서 이용가능하다는 것을 보장하기 위해 이용된다. 키 식별자는 샘플 암호화 박스(114)로부터 얻어진다. 애플리케이션 프로그램은, 410에서 애플리케이션 프로그램이 키 식별자에 대응하는 라이센스를 라이센스 서버로부터 얻는 것을 가능케하는 지원되는 보호 시스템에 대응하는 데이터를 보호 시스템 헤더 박스(116)로부터 얻는다. 그 다음, 애플리케이션은 라이센스로부터 암호화된 키를 추출하고, 411에서 그 키를 암호해독한다. 암호화된 키(예를 들어, 개인 키, 개인화된 키, 또는 기타의 비대칭 키)의 암호해독은, 일부 실시예들에서, 공지된 공개-개인 키 시스템(public-private key system)을 이용하여 수행될 수 있다. 암호해독된 키는 트랙을 암호해독하기 위해 이용되고, 암호해독된 콘텐츠는 412에서 사용자에게 제시된다.
일부 실시예들에서, 도 4에 도시된 동작들은 하나 이상의 컴퓨터-판독가능한 매체에 저장된 컴퓨터-실행가능한 컴포넌트들을 이용하여 구현된다. 예를 들어, 도 1에 예시된 컴포넌트들은 동작을 수행한다. 이와 같은 예에서, 인터페이스 컴포넌트(120)는, 콘텐츠 및 하나 이상의 암호화 표현을 포함하는 파일을 수신한다. 콘텐츠는 암호화 표현들 중 적어도 하나에 의해 암호화되었다. 콘텐츠는 또한 적용된 복수의 보호 시스템을 가지며, 파일은 복수의 보호 시스템들 각각에 대한 메타데이터를 포함한다. 복수의 보호 시스템은 암호화 표현에 대한 액세스를 공유한다. 또한, 콘텐츠는 암호화 알고리즘에 따라 인코딩된다. 복수의 보호 시스템은 암호화 표현과 암호화 알고리즘을 공유한다.
검출 컴포넌트(122)는, 콘텐츠가 본 발명의 양태에 따른 보호 스킴에 의해 보호되는지의 여부를 결정하기 위해 파일 내의 스킴 정보 박스를 검사한다. 검출 컴포넌트(122)는 컴퓨팅 장치에 의해 어떤 보호 시스템들이 지원되는지를 결정하고, 지원되는 보호 시스템들 중 하나를 선택한다. 분석 컴포넌트(124)는, 검출 컴포넌트(122)에 의해 선택된 보호 시스템에 대한 라이센스 정보를 메타데이터로부터 얻는다. 변환 컴포넌트(126)는, 분석 컴포넌트(124)에 의해 얻어진 라이센스 정보에 기초하여, 그리고 암호화 표현에 기초하여, 콘텐츠를 디코딩하고 암호해독한다. 인터페이스 컴포넌트(120)는 디코딩된 콘텐츠를 사용자에게 제시한다.
다음으로 도 5, 6, 7, 8, 및 9를 참조하면, 예시적인 블럭도는, 단일의 컨테이너 파일에서 복수의 보호 시스템을 지원하도록 미디어 파일 포맷을 확장시키는 본 발명의 실시예들의 예시적 응용을 도시하고 있다. 이하의 예들은 ISO 14496-12, ISO 14496-14, ISO 14496-1, ISO 14496-10, ISO 14496-3 및 ISO/IEC 639-3:2007을 포함한 다양한 공지된 명세를 참조하지만, 이들만으로 제한되는 것은 아니며, 이들 모두는 모든 목적을 위해 본 명세서에서 참고용으로 인용되었다. 다음으로 기술되는 예들은 ISO 기반 미디어 파일 포맷 및/또는 MP4 포맷에 관한 것이지만, 본 발명의 실시예들은 다른 파일 포맷들에도 적용될 수 있다.
이하의 예들의 목적을 위해, 파일 포맷은 영화라고 언급될 것이다. 영화는 트랙들로 논리적으로 분할된다. 각각의 트랙은 미디어의 시간 시퀀스(예를 들어, 비디오 프레임들)를 나타낸다. 각각의 트랙 내에서, 데이터의 각각의 시간 유닛 또는 프레임은, 샘플(예를 들어, 비디오 또는 오디오의 프레임, 비디오 프레임들의 시간-연속적 시리즈, 또는 오디오의 시간-연속적 압축 섹션)이라 불린다. 샘플들은 시퀀스에서 암시적으로 넘버링된다. 한 프레임의 오디오는 오디오 샘플들의 시퀀스로 압축해제될 수 있다. 각각의 트랙은 하나 이상의 샘플 설명(description)을 가진다. 트랙 내의 각각의 샘플은 참조에 의해 설명과 연계된다. 설명은 샘플이 어떻게 디코딩될 수 있는지를 정의한다(예를 들어, 사용된 압축 알고리즘을 식별한다).
일부 실시예들에서, 파일의 물리적 구조 또는 물리적 미디어의 레이아웃 중 어느 것도 미디어 콘텐츠의 시간 정렬에 예속되지 않는다. 예를 들어, 비디오의 프레임들은, 시간 순서대로 배치될 수는 있지만, 시간 순서대로 파일 내에 배치될 필요는 없다.
파일 내의 데이터는 박스들로 캡슐화(encapsulate)된다. 미디어 콘텐츠의 배치와 타이밍을 정의하는 메타데이터를 포함한 메타데이터는 박스들에 포함된다. 미디어 콘텐츠(예를 들어, 비디오 프레임)는 메타데이터에 의해 참조된다. 미디어 콘텐츠는 (예를 들어, 하나 이상의 박스에 포함된) 동일한 파일 내에 있거나 다른 파일들에 있을 수 있다. 메타데이터는, 하이퍼링크(예를 들어, URL(uniform resource locator))와 같은 참조 수단에 의해 다른 파일들을 참조하는 것을 허용한다.
이하의 예에서, 본 발명의 실시예들은 상속(inheritance)을 갖는 클래스 기반의 표기(class-based notation)를 이용한다. 클래스는, 디스크 및 와이어 상의 구조로서 다음과 같이 일관적으로 표현된다: 클래스의 필드들은 필드들이 명시되는 순서와 동일한 순서로 디스크 구조에서 나타나며, 부모 클래스 내의 필드들은 유도된 클래스에 대한 필드들 이전에 나타난다. 또한, 박스가 다른 박스들을 자식(children)으로서 포함할 때, 자식 박스들은 임의의 명시적으로 지정된 필드들 이후에 나타나며, 임의의 순서로 나타날 수 있다(예를 들어, 형제 박스(sibling box)들은 명세에 대한 준수를 어기지 않고 재정렬될 수 있다).
다시 도 5를 참조하면, 예시적인 블럭도는 본 발명의 실시예들에 따른 단편화된 파일 구조를 나타내는 예시적 구조를 도시하고 있다. 단편화된 파일 구조는 2개의 탑-레벨 박스를 포함한다: 메타데이터에 대한 영화 단편 박스("moof"), 및 샘플에 대한 미디어 데이터("mdat") 박스. 이 예에서, 보호 시스템들에 의해 공유되는 샘플 암호화 박스(114)는 영화 단편 박스의 서브-박스로서 도시되어 있다. 샘플 암호화 박스(114)는 샘플-특유의 암호화 데이터를 포함한다. 도 5의 예에서, 샘플 암호화 박스(114)는 타입 UUID(universally unique identifier)를 가지며, 트랙 단편 컨테이너 박스 또는 샘플 테이블 컨테이너 박스의 일부이다.
샘플 암호화 박스(114)에 대한 예시적인 구문(syntax)은 이하에 도시된다.
Figure pct00001
Figure pct00002
AlgorithmID는 트랙을 암호화하는데 이용된 암호화 알고리즘(예를 들어, CTR 모드에서 AES 128-비트)의 식별자이다. KID는 샘플 암호화 박스(114)에 의해 참조되는 샘플들을 암호해독하기 위한 키를 식별하는 키 식별자이다. 이 예에서, 샘플 암호화 박스(114)에는 하나의 AlgorithmID와 하나의 KID가 있고, 이것은 트랙당 하나의 키가 있음을 의미한다. 다른 실시예들에서, 예를 들어 암호화된 트랙 내에 클리어 콘텐츠(clear content)의 섹션들을 포함하는 브로드캐스트 콘텐츠를 위한 키 로테이션을 허용하고, 상이한 파라미터들로 암호화된 콘텐츠의 삽입(예를 들어, 편집, 광고 삽입 등)을 허용하기 위해 트랙당 복수의 키가 존재한다.
Sample_count는 이 트랙 또는 트랙 단편 내의 샘플의 수량이다. SampleIdentifier는 샘플을 암호해독하기 위한 초기화 벡터를 형성하기 위해 사용된다. 샘플 데이터를 암호화하는데 이용되는 AES CTR 모드 암호화는 AES 암호화(cipher)에서 암호화된 128 비트 값의 상위 64비트로서 SampleIdentifier를 사용하고, 하위 64비트로서 단순 블럭 카운터(예를 들어, 샘플의 시작부로부터 0에서 시작)를 사용한다. 일부 실시예들에서, 주어진 키에 대한 SampleIdentifier들은 각각의 샘플에 대해 고유하고, 초기 샘플 식별자는 무작위로 생성된다. 파일에 추가된 각각의 보호된 샘플에 대해, SampleIdentifier는, 엔트로피를 제공하고 SampleIdentifier들이 고유하다는 것을 보장하기 위해 증분(increment)된다.
다시 도 6을 참조하면, 예시적인 블럭도는, 단편화된 파일 조직을 나타내는 예시적인 구조를 도시한다. 영화 단편은 특정한 시퀀스의 미디어 데이터의 특정한 세그먼트를 포함한다. 이 예에서, 디스크 포맷은 단편화된 MP4이다. 도 6의 파일 타입 박스는, 파일 타입 박스를 고정된 길이로 만들기 위해 파일을 본 발명의 실시예에 따라 인코딩된 것으로서 식별한다. DRM 특유의 헤더 박스 #1 내지 DRM 특유의 헤더 박스 #N과 같은 복수의 DRM 특유의 헤더 박스들(602)(영화 박스의 서브 박스들)은, 도 1에 도시된 복수의 보호 시스템 헤더 박스들에 대응한다. DRM 특유의 헤더 박스들(602)은 라이센스 서버 참조(예를 들어, URL), 파일에 의해 사용되는 키 식별자들의 목록, 임베딩된 라이센스 등을 포함하지만, 이들만으로 제한되는 것은 아니다. 또한, DRM 특유의 헤더 박스들(602)은, (예를 들어, 콘텐츠가 사용자에게 이용가능하게 되기 이전에 서비스 제공자(206)로부터의) 임의 수량의 임베딩된 라이센스들을 저장하거나 프리로딩할 수 있다.
일부 실시예들에서, 동일한 보호 시스템에 대해 복수의 DRM 특유의 헤더 박스들(602)이 존재한다. 예를 들어, 동일한 보호 시스템을 이용하지만 각각이 상이한 헤더 파라미터들(예를 들어, 상이한 서비스 식별자, 상이한 라이센스 획득 링크 등)을 이용하는 2개의 상이한 서비스들 모두에 의해 하나의 파일이 공유된다.
DRM 특유의 헤더 박스들(602)에 대한 예시적인 구문이 이하에 도시된다.
Figure pct00003
DRMID는 이 헤더가 속하는 보호 시스템을 고유하게 식별하는 UUID를 명시한다. DataSize는 데이터 멤버의 바이트 단위 크기를 명시한다. Data는 보호 시스템 특유의 데이터를 유지한다.
다시 도 7을 참조하면, 예시적인 블럭도는, 트랙 박스를 저장하기 위한 예시적인 구조를 도시한다. 트랙 박스는, 도 8에 도시된 미디어 정보 박스(702)와 같은 박스들을 저장하는 컨테이너 박스로서 역할한다.
다시 도 8을 참조하면, 예시적인 블럭도는, 미디어 정보 박스(702)를 저장하기 위한 예시적인 구조를 도시한다. 미디어 정보 박스(702)는 샘플 설명 박스("stsd")와 같은 박스들을 저장하기 위한 컨테이너 박스로서 작용한다. 샘플 설명 박스는, 암호화된 샘플 콘텐츠를 저장하는, 보호된 샘플 엔트리 박스(802)를 포함하는 박스들을 저장한다. 샘플 엔트리 박스는 도 9에 다시 도시되어 있다.
다시 도 9를 참조하면, 예시적인 블럭도는, 보호된 샘플 엔트리 박스(802)를 저장하기 위한 예시적인 구조를 도시한다. 보호된 샘플 엔트리 박스(802)는 보호 스킴 정보 박스와 같은 박스들을 저장하는 컨테이너 박스로서 역할한다. 기존의 ISO 기반 미디어 파일 포맷과는 대조적으로, 보호 스킴 정보 박스는, 스트림이 암호화되어 있음을 나타내기 위해 샘플 설명 박스내 샘플 엔트리 대신에 저장된다. 보호 스킴 정보 박스는 스킴 타입 박스('schm')를 포함하여 그 스킴이 식별가능하도록 한다.
추가적인 예들
본 명세서에서 설명되는 파일 포맷은, 교대하는 오디오 및 비디오 콘텐츠의 후기 바인딩(late binding)에 대한 지원을 포함하는 최소 파일 포맷을 나타낸다. 이것은, 레거시 또는 최근의 코더/디코더들(코덱)들을 지원하는 컴퓨팅 장치가 추가적인 다운로드 비용을 들여 이들 코덱들을 지원하지 않고도 장치에 부담을 주지 않고 재생시에 이들 스트림들을 후기-바인딩할 수 있도록 해준다.
본 발명의 실시예들은 단편화 컨테이너 파일 및 비-단편화된 컨테이너 파일 모두를 지원한다. 예를 들어, 적응적 스트리밍을 위해, 단편화된 파일 포맷이 사용되지만, 광 디스크로부터의 디지털 복사를 위해, 비-단편화된 파일 포맷이 사용된다.
예시적인 동작 환경
제한이 아니라 예로서, 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체와 통신 매체를 포함한다. 컴퓨터 저장 매체는, 컴퓨터 판독가능한 명령어, 데이터 구조, 프로그램 모듈 또는 기타의 데이터와 같은 정보를 저장한다. 통신 매체는 전형적으로, 컴퓨터 판독가능한 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 기타의 전송 메커니즘과 같은 변조된 데이터 신호 내의 기타의 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. 상기의 것들 중 임의의 조합이 컴퓨터 판독가능한 매체의 범위 내에 역시 포함된다.
예시적인 컴퓨팅 시스템 환경과 관련하여 설명되었지만, 본 발명의 실시예들은 기타의 수많은 범용 또는 전용 컴퓨팅 시스템 환경이나 구성과도 동작할 수 있다. 본 발명의 양태들과 함께 사용하기에 적합할 수 있는 공지된 컴퓨팅 시스템, 환경, 및/또는 구성의 예들로는, 모바일 컴퓨팅 장치, 개인용 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩탑 장치, 멀티프로세서 시스템, 게이밍 콘솔, 마이크로프로세서-기반의 시스템, 셋탑 박스, 프로그래머블 소비자 전자 제품, 모바일 전화, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 전술된 시스템 또는 장치들 중 임의의 것을 포함하는 분산형 컴퓨팅 환경이 포함되지만, 이들만으로 제한되는 것은 아니다.
본 발명의 실시예들은, 하나 이상의 컴퓨터 또는 기타의 장치들에 의해 실행되는 프로그램 모듈과 같은 컴퓨터-실행가능한 명령어들의 일반적 정황에서 설명될 수 있다. 컴퓨터-실행가능한 명령어들은, 하나 이상의 컴퓨터-실행가능한 컴포넌트 또는 모듈들로 조직화될 수 있다. 일반적으로, 프로그램 모듈은, 루틴, 프로그램, 객체, 컴포넌트, 및 특정한 태스크를 수행하거나 특정한 추상적 데이터 타입을 구현하는 데이터 구조를 포함하지만, 이들만으로 제한되는 것은 아니다. 본 발명의 양태들은 이와 같은 컴포넌트들 또는 모듈들의 임의의 갯수와 조직화로 구현될 수 있다. 예를 들어, 본 발명의 양태들은, 도면에 도시되고 본 명세서에서 기술된 구체적인 컴퓨터 실행가능한 명령어들 또는 구체적인 컴포넌트들이나 모듈들만으로 제한되는 것은 아니다. 본 발명의 다른 구현예들은, 본 명세서에서 도시되고 설명된 것보다 더 많거나 더 적은 기능을 갖는 컴포넌트들 또는 상이한 컴퓨터-실행가능한 명령어들을 포함할 수 있다.
본 발명의 양태들은, 본 명세서에서 기술된 명령어들을 실행하도록 구성될 때 범용 컴퓨터를 전용 컴퓨팅 장치로 변환한다.
본 명세서에서 구체적으로 설명되지는 않았지만 본 발명의 양태들의 범위 내에 있는 실시예들 뿐만 아니라 본 명세서에서 도시되고 설명된 실시예들은, ISO 기반 미디어 파일 포맷에 따라 단일의 컨테이너 파일 내에서 복수의 보호 시스템을 지원하기 위한 예시적 수단과, ISO 기반 미디어 파일 포맷에 대한 확장으로서 단일 컨테이너 파일에서 복수의 보호 시스템에 대한 메타데이터를 저장하기 위한 예시적 수단을 구성한다.
본 명세서에서 도시되고 설명된 본 발명의 실시예들에서 실행의 순서나 동작의 성능은, 특별히 달리 명시되지 않은 한, 본질적인 것이 아니다. 즉, 동작들은 특별히 달리 명시되지 않는 한 임의의 순서로 수행될 수 있고, 본 발명의 실시예들은 본 명세서에서 설명된 것보다 적은 수의 동작이나 추가적인 동작을 포함할 수 있다. 예를 들어, 다른 동작이 본 발명의 양태들의 범위 내에 있기 전에, 이와 동시에, 또는 있은 후에, 특정 동작을 실행하거나 수행하는 것을 고려해 볼 수 있다.
본 발명 또는 그 실시예들의 양태들의 요소들을 도입할 때, "한(a)", "하나(an)", "그(the)", 및 "상기(said)"는 요소들 중 하나 이상이 있음을 의미하려고 의도한 것이다. 용어, "포함하는", "내포하는", "갖는"은 포함(inclusive)을 의미하는 것으로 열거된 요소들이 아닌 추가적인 요소들이 있을 수 있음을 의도한 것이다.
본 발명의 양태들을 상세히 설명하였지만, 첨부된 특허청구범위에 정의된 바와 같이 본 발명의 양태들의 범위로부터 벗어나지 않고 수정과 변형이 가능하다는 것을 명백하다. 본 발명의 범위로부터 벗어나지 않고 전술된 구성, 제품, 및 방법들에서 다양한 변경이 이루어질 수 있기 때문에, 상세한 설명에 포함되고 첨부된 도면에 도시된 모든 내용들은 제한적인 의미가 아니라 예시적인 것으로서 해석되어야 한다.

Claims (15)

  1. 단일의 컨테이너 파일에서 복수의 보호 시스템을 지원하기 위해 미디어 파일 포맷(media file format)을 확장하기 위한 시스템으로서,
    암호화된 콘텐츠(112), 샘플 암호화 박스(114), 및 각각이 복수의 보호 시스템 중 하나 이상과 연관되어 있는 복수의 보호 시스템 헤더 박스(116)를 포함하는 파일(111)을 저장하기 위한 메모리 영역 - 상기 샘플 암호화 박스(114)는 상기 암호화된 콘텐츠(112)를 암호화하는데 이용되는 키를 식별하며, 상기 복수의 보호 시스템 헤더 박스(116) 각각은 상기 복수의 보호 시스템 중 하나 이상에 따라 상기 암호화된 콘텐츠(112)를 디코딩하기 위한 메타데이터를 포함함 -; 및
    프로세서(108)
    를 포함하고,
    상기 프로세서(108)는,
    서비스 제공자(206)에 의해 인코딩 제공자(204)로부터 상기 파일(111)을 수신하고,
    상기 서비스 제공자(206)가 이용가능한 상기 복수의 보호 시스템 중 하나 이상을 선택하고,
    상기 샘플 암호화 박스(114)에 의해 식별된 키를 이용하여 상기 수신된 파일(111) 내의 콘텐츠에 상기 선택된 보호 시스템을 적용하고,
    상기 적용된 보호 시스템을 갖는 상기 파일(111)을 상기 메모리 영역에 저장하도록 프로그램된, 시스템.
  2. 제1항에 있어서, 상기 샘플 암호화 박스는 상기 키를 식별하는 키 맵핑 정보를 포함하는, 시스템.
  3. 제1항에 있어서, 상기 샘플 암호화 박스는 키 식별자를 포함하는, 시스템.
  4. 제1항에 있어서, 상기 샘플 암호화 박스 및 상기 복수의 보호 시스템 헤더 박스는 상기 복수의 보호 시스템을 갖는 상기 파일의 재생(playback)을 가능케 하는, 시스템.
  5. 제1항에 있어서, 상기 메모리 영역에 저장된 상기 파일은 ISO 기반 미디어 파일 포맷(ISO Base Media File Format)을 준수하는, 시스템.
  6. 제1항에 있어서,
    ISO 기반 미디어 파일 포맷에 따라 단일의 컨테이너 파일 내에서 상기 복수의 보호 시스템을 지원하기 위한 수단; 및
    ISO 기반 미디어 파일 포맷에 대한 확장으로서 단일의 컨테이너 파일에 상기 복수의 보호 시스템에 대한 메타데이터를 저장하기 위한 수단
    을 더 포함하는 시스템.
  7. 콘텐츠 및 하나 이상의 암호화 표현(encryption expression)을 포함하는 파일(111)을 수신하는 단계 - 상기 콘텐츠는 상기 암호화 표현에 의해 암호화됨 -;
    상기 수신된 파일(111)로부터의 상기 암호화 표현을 이용하여 상기 콘텐츠에 복수의 보호 시스템을 적용하는 단계; 및
    상기 콘텐츠 및 상기 적용된 복수의 보호 시스템을 갖는 파일(111)을 암호해독하기 위해 하나 이상의 컴퓨팅 장치에 전송하는 단계
    를 포함하고,
    상기 컴퓨팅 장치 각각은 상기 적용된 복수의 보호 시스템 중 적어도 하나의 보호 시스템을 이용하여 상기 콘텐츠를 암호해독하는, 방법.
  8. 제7항에 있어서, 상기 콘텐츠에 복수의 보호 시스템을 적용하는 단계는, 상기 복수의 보호 시스템 각각에 대한 메타데이터를 상기 수신된 파일에 추가하는 단계를 포함하고, 상기 메타데이터는, 암호해독 키, 권한 객체, 및 라이센스 정보 중 하나 이상을 정의하는, 방법.
  9. 제7항에 있어서, 상기 파일을 수신하는 단계는 키 맵핑 정보를 포함하는 파일을 수신하는 단계를 포함하고, 상기 콘텐츠는 상기 키 맵핑 정보를 이용하여 암호화되는, 방법.
  10. 제7항에 있어서, 상기 콘텐츠에 복수의 보호 시스템을 적용하는 단계는,
    상기 복수의 보호 시스템 각각에 대해 보호 시스템 헤더 박스를 정의하는 단계; 및
    상기 정의된 보호 시스템 헤더 박스를 상기 수신된 파일에 포함시키는 단계
    를 포함하는, 방법.
  11. 제10항에 있어서, 라이센스 정보를 상기 보호 시스템 헤더 박스 내에 임베딩하는 단계를 더 포함하는 방법.
  12. 제10항에 있어서, 상기 보호 시스템 헤더 박스에 라이센스 정보에 대한 참조를 임베딩하는 단계를 더 포함하는 방법.
  13. 제7항에 있어서, 상기 콘텐츠에 복수의 보호 시스템을 적용하는 단계는, 상기 콘텐츠의 다른 사본을 생성하지 않고 상기 콘텐츠에 상기 복수의 보호 시스템을 적용하는 단계를 포함하는, 방법.
  14. 제7항에 있어서, 상기 파일을 수신하는 단계는 영화 스튜디오로부터 영화에 대응하는 파일을 수신하는 단계를 포함하는, 방법.
  15. 제7항에 있어서, 하나 이상의 컴퓨터 판독가능한 저장 매체는 컴퓨터 실행가능한 컴포넌트들을 가지며, 상기 컴포넌트들은,
    적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금, 콘텐츠 및 하나 이상의 암호화 표현을 포함하는 파일을 컴퓨팅 장치에 의해 수신하도록 하는 인터페이스 컴포넌트(interface component) - 상기 콘텐츠는 상기 암호화 표현에 의해 암호화되고, 상기 콘텐츠는 또한, 적용된 복수의 보호 시스템을 가지며, 상기 파일은 상기 복수의 보호 시스템 각각에 대한 메타데이터를 포함함 -;
    적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금, 상기 컴퓨팅 장치에 의해 지원되는 상기 복수의 보호 시스템 중 하나의 보호 시스템을 선택하도록 하는 검출 컴포넌트(detection component);
    적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금, 상기 검출 컴포넌트에 의해 선택된 상기 복수의 보호 시스템 중 상기 하나의 보호 시스템에 대한 라이센스 정보를 상기 메타데이터로부터 얻도록 하는 분석 컴포넌트(parse component); 및
    적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금, 상기 분석 컴포넌트에 의해 얻어진 상기 라이센스 정보에 기초하여, 그리고 상기 암호화 표현에 기초하여, 상기 콘텐츠를 디코딩하도록 하는 변환 컴포넌트(transform component)
    를 포함하고,
    상기 인터페이스 컴포넌트는 상기 디코딩된 콘텐츠를 사용자에게 제시하는, 방법.
KR1020117016966A 2009-01-21 2009-12-22 파일 내의 복수의 콘텐츠 보호 시스템 KR101623616B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14609909P 2009-01-21 2009-01-21
US61/146,099 2009-01-21
US12/485,949 US8904191B2 (en) 2009-01-21 2009-06-17 Multiple content protection systems in a file
US12/485,949 2009-06-17

Publications (2)

Publication Number Publication Date
KR20110122669A true KR20110122669A (ko) 2011-11-10
KR101623616B1 KR101623616B1 (ko) 2016-05-23

Family

ID=42337885

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117016966A KR101623616B1 (ko) 2009-01-21 2009-12-22 파일 내의 복수의 콘텐츠 보호 시스템

Country Status (10)

Country Link
US (2) US8904191B2 (ko)
EP (1) EP2380307A4 (ko)
JP (1) JP5730786B2 (ko)
KR (1) KR101623616B1 (ko)
CN (1) CN102292931B (ko)
AU (1) AU2009339304B2 (ko)
CA (1) CA2747824C (ko)
IL (1) IL213103A (ko)
MX (1) MX2011007388A (ko)
WO (1) WO2010090689A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170011251A (ko) * 2015-07-22 2017-02-02 주식회사 디지캡 파일 기반의 방송 스크램블링 시스템

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4184341A1 (en) 2007-01-05 2023-05-24 DivX, LLC Video distribution system including progressive playback
US8904191B2 (en) 2009-01-21 2014-12-02 Microsoft Corporation Multiple content protection systems in a file
US8392598B2 (en) * 2009-06-15 2013-03-05 Research In Motion Limited Methods and apparatus to facilitate client controlled sessionless adaptation
WO2011056139A1 (en) * 2009-11-06 2011-05-12 Telefonaktiebolaget L M Ericsson (Publ). File format for synchronized media
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US8397068B2 (en) * 2010-04-28 2013-03-12 Microsoft Corporation Generic file protection format
US10289809B1 (en) * 2010-05-17 2019-05-14 Western Digital Technologies, Inc. Transferring media files between users after encrypting with encryption key obtained from a digital rights management server
KR101830968B1 (ko) * 2010-08-24 2018-02-21 삼성전자주식회사 다양한 종류의 광고를 강제 시청하게 하는 장치 및 방법
US20120114118A1 (en) * 2010-11-05 2012-05-10 Samsung Electronics Co., Ltd. Key rotation in live adaptive streaming
US8332631B2 (en) * 2010-11-22 2012-12-11 Intel Corporation Secure software licensing and provisioning using hardware based security engine
US9137214B2 (en) 2010-12-15 2015-09-15 Microsoft Technology Licensing, Llc Encrypted content streaming
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
KR101739272B1 (ko) 2011-01-18 2017-05-24 삼성전자주식회사 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법
TWI459230B (zh) 2011-08-08 2014-11-01 Ind Tech Res Inst 數位版權管理裝置及數位版權管理方法
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
WO2014012073A1 (en) * 2012-07-13 2014-01-16 Huawei Technologies Co., Ltd. Signaling and handling content encryption and rights management in content transport and delivery
US9043825B2 (en) * 2012-08-28 2015-05-26 Microsoft Technology Licensing, Llc Content carried ratings based control
US8769306B1 (en) * 2012-09-05 2014-07-01 Amazon Technologies, Inc. Protecting content with initialization vector manipulation
DE102012022064A1 (de) 2012-11-09 2014-05-15 Thomas Klimpel System und Verfahren zur Wiedergabe von Musikstücken und/oder Multimediadaten
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US8718445B1 (en) 2013-09-03 2014-05-06 Penthera Partners, Inc. Commercials on mobile devices
US9244916B2 (en) * 2013-10-01 2016-01-26 Penthera Partners, Inc. Downloading media objects
US9330101B2 (en) * 2013-12-18 2016-05-03 Microsoft Technology Licensing, Llc Using constraints on media file formats to improve performance
CN104463019B (zh) * 2014-12-29 2017-07-25 北京致远互联软件股份有限公司 电子文档的加解密方法
WO2016112112A1 (en) 2015-01-06 2016-07-14 Sonic Ip, Inc. Systems and methods for encoding and sharing content between devices
US9973505B2 (en) 2015-01-14 2018-05-15 Samsung Electronics Co., Ltd. Method for controlling contents and electronic device thereof
US10049228B2 (en) * 2015-01-20 2018-08-14 Microsoft Technology Licensing, Llc File encryption support for FAT file systems
GB2537812A (en) 2015-03-27 2016-11-02 Piksel Inc DRM Addition Authentication
GB2537594A (en) 2015-03-27 2016-10-26 Piksel Inc Header translation modification
CN106845160B (zh) * 2015-12-03 2018-04-20 国家新闻出版广电总局广播科学研究院 一种用于智能操作系统的数字版权管理(drm)方法和系统
FR3052893B1 (fr) * 2016-06-21 2018-07-13 Bouygues Telecom Procede pour la restitution d'un contenu multimedia chiffre
CN109495459B (zh) * 2018-10-31 2021-05-28 苏州科达科技股份有限公司 媒体数据加密方法、系统、设备及存储介质
KR20210051415A (ko) * 2019-10-30 2021-05-10 엘지전자 주식회사 Drm 콘텐츠 재생을 위한 인포테인먼트 시스템

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996720B1 (en) * 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
US6915425B2 (en) * 2000-12-13 2005-07-05 Aladdin Knowledge Systems, Ltd. System for permitting off-line playback of digital content, and for managing content rights
US8606684B2 (en) * 2000-11-10 2013-12-10 Aol Inc. Digital content distribution and subscription system
CA2371124A1 (en) * 2001-02-09 2002-08-09 Itaru Kawakami Information processing method/apparatus and program
WO2002080442A1 (fr) * 2001-03-29 2002-10-10 Sony Corporation Appareil de traitement d'informations
US7151831B2 (en) * 2001-06-06 2006-12-19 Sony Corporation Partial encryption and PID mapping
US7895123B1 (en) * 2001-06-12 2011-02-22 Accenture Global Services Limited Digital content publication
JP2003174443A (ja) * 2001-12-07 2003-06-20 Sony Corp 情報処理装置および方法、プログラム格納媒体、並びにプログラム
US7242773B2 (en) * 2002-09-09 2007-07-10 Sony Corporation Multiple partial encryption using retuning
EP1470497A1 (en) * 2002-01-12 2004-10-27 Coretrust, Inc. Method and system for the information protection of digital content
KR100467929B1 (ko) * 2002-02-28 2005-01-24 주식회사 마크애니 디지털 컨텐츠의 보호 및 관리를 위한 시스템
US8620937B2 (en) * 2002-12-27 2013-12-31 International Business Machines Corporation Real time data warehousing
JP4424465B2 (ja) * 2003-06-09 2010-03-03 ソニー株式会社 情報機器、情報サーバおよび情報処理プログラム
US7480382B2 (en) * 2003-09-30 2009-01-20 Microsoft Corporation Image file container
US20050169473A1 (en) * 2004-02-03 2005-08-04 Candelore Brant L. Multiple selective encryption with DRM
US8429081B1 (en) * 2004-02-12 2013-04-23 Novell, Inc. Techniques for securely delivering media data
EP1723562A1 (en) * 2004-03-10 2006-11-22 Nokia Corporation Storage of content-location information
JP4561146B2 (ja) * 2004-03-29 2010-10-13 ソニー株式会社 コンテンツ流通システム、暗号化装置、暗号化方法、情報処理プログラム、及び記憶媒体
EP1810110A1 (en) * 2004-09-29 2007-07-25 Nokia Corporation Data file including encrypted content
US7958369B2 (en) 2004-10-22 2011-06-07 Hewlett-Packard Development Company, L.P. Systems and methods for multiple level control of access of privileges to protected media content
US8156049B2 (en) 2004-11-04 2012-04-10 International Business Machines Corporation Universal DRM support for devices
US20060190290A1 (en) * 2005-02-22 2006-08-24 Brainshield Technologies, Inc. Systems and methods for distributing electronic files
US20060242074A1 (en) * 2005-04-22 2006-10-26 Nokia Corporation Encrypting digital rights management protected content
US20070203843A1 (en) * 2005-05-09 2007-08-30 Lauri Tarkkala System and method for efficient encryption and decryption of drm rights objects
US20060259575A1 (en) * 2005-05-11 2006-11-16 Manish Upendran User interface distribution systems and methods
US7770229B2 (en) * 2005-05-11 2010-08-03 Yahoo! Inc. System and method for the propagation of DRM protected content
JP5190722B2 (ja) * 2005-05-20 2013-04-24 Nltテクノロジー株式会社 ブートストラップ回路並びにこれを用いたシフトレジスタ、走査回路及び表示装置
US7840489B2 (en) 2005-07-01 2010-11-23 Sony Corporation Key sharing for DRM interoperability
EP1946316A1 (en) * 2005-11-09 2008-07-23 Nero AG Method and means for writing decryption information to a storage medium, storage medium, method and means for reading data from a storage medium, and computer program
US7680804B2 (en) * 2005-12-30 2010-03-16 Yahoo! Inc. System and method for navigating and indexing content
WO2007080500A1 (en) * 2006-01-11 2007-07-19 Nokia Corporation Extensions to rich media container format for use by mobile broadcast/multicast streaming servers
KR100782847B1 (ko) 2006-02-15 2007-12-06 삼성전자주식회사 복수의 컨텐트 부분들을 포함하는 컨텐트를 임포트하는방법 및 장치
US7555464B2 (en) * 2006-03-01 2009-06-30 Sony Corporation Multiple DRM management
CN100460202C (zh) * 2006-05-15 2009-02-11 高学文 Pvdc-聚烯烃共挤出热成型高阻隔复合包装材料
US7831043B2 (en) * 2006-08-27 2010-11-09 International Business Machines Corporation System and method for cryptographically authenticating data items
US20080086779A1 (en) * 2006-10-04 2008-04-10 Gigamedia Access Corporation System and method for digital rights management with license proxy
US8296569B2 (en) 2006-10-09 2012-10-23 Microsoft Corporation Content protection interoperability infrastructure
KR101379861B1 (ko) * 2006-10-20 2014-04-17 삼성전자주식회사 Drm 제공 장치, 시스템 및 그 방법
US8190918B2 (en) * 2006-11-13 2012-05-29 Disney Enterprises, Inc. Interoperable digital rights management
US8037541B2 (en) 2007-04-06 2011-10-11 General Instrument Corporation System, device and method for interoperability between different digital rights management systems
US8832467B2 (en) 2007-05-16 2014-09-09 Broadcom Corporation Digital rights management metafile, management protocol and applications thereof
US7971261B2 (en) 2007-06-12 2011-06-28 Microsoft Corporation Domain management for digital media
KR101420874B1 (ko) * 2007-09-21 2014-07-30 삼성전자주식회사 휴대 방송 서비스 단말의 방송 콘텐츠 저장 방법
US8863303B2 (en) * 2008-08-12 2014-10-14 Disney Enterprises, Inc. Trust based digital rights management systems
US8904191B2 (en) 2009-01-21 2014-12-02 Microsoft Corporation Multiple content protection systems in a file

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170011251A (ko) * 2015-07-22 2017-02-02 주식회사 디지캡 파일 기반의 방송 스크램블링 시스템

Also Published As

Publication number Publication date
JP2012515976A (ja) 2012-07-12
CA2747824C (en) 2017-01-31
CA2747824A1 (en) 2010-08-12
EP2380307A4 (en) 2017-05-31
WO2010090689A1 (en) 2010-08-12
IL213103A (en) 2016-11-30
US10229248B2 (en) 2019-03-12
KR101623616B1 (ko) 2016-05-23
CN102292931A (zh) 2011-12-21
US8904191B2 (en) 2014-12-02
US20100185854A1 (en) 2010-07-22
US20170124295A9 (en) 2017-05-04
IL213103A0 (en) 2011-07-31
MX2011007388A (es) 2011-07-28
JP5730786B2 (ja) 2015-06-10
AU2009339304A1 (en) 2011-07-07
AU2009339304B2 (en) 2014-08-07
CN102292931B (zh) 2014-03-26
US20150193599A1 (en) 2015-07-09
EP2380307A1 (en) 2011-10-26

Similar Documents

Publication Publication Date Title
KR101623616B1 (ko) 파일 내의 복수의 콘텐츠 보호 시스템
US9129092B1 (en) Detecting supported digital rights management configurations on a client device
US9418209B2 (en) Systems and methods for manipulating sensitive information in a secure mobile environment
CN112822518A (zh) 视频播放方法、装置、系统、电子设备和存储介质
US8813246B2 (en) Method for playing digital contents protected with a DRM (digital right management) scheme and corresponding system
US8325916B2 (en) Encryption scheme for streamed multimedia content protected by rights management system
JP2017073801A (ja) コンテンツ転送および配信におけるコンテンツ暗号化および権利管理のシグナリングおよびハンドリング
BR112014026659B1 (pt) Aparelho e método para decodificar um fluxo de mídia e aparelho para enviar um fluxo de mídia codificado
JP2002330126A (ja) コンテンツの配信および保護を行なう方法および装置
CN104255010A (zh) 用于在模板模式下有效支持短加密区间的系统和方法
CN103414733B (zh) Hls流媒体的播放方法及系统
US10162944B2 (en) Library style media DRM APIs in a hosted architecture
CN110798714B (zh) 一种基于hls的本地视频播放系统及播放方法
US20140270167A1 (en) Video data delivery protection
CN110545448B (zh) 基于数据加密的媒体播放方法、装置及存储介质
CN110611830A (zh) 一种视频处理方法、装置、设备及介质
KR102299615B1 (ko) 컨텐트 분산 네트워크들에서 엠펙 미디어 전송 통합을 위한 방법 및 장치
CN102694769A (zh) 媒体数据处理方法及其装置
CN106209896B (zh) 基于音视频格式的流媒体加密方法和模块
CN109040087B (zh) 一种文件加、解密方法及装置
KR100849639B1 (ko) 동영상 파일의 암호화 및 복호화 방법과 그 방법을 구현한프로그램이 기록된 기록매체
KR101481380B1 (ko) Html 콘텐츠 재생을 위한 이동단말 및 방법
CN100556135C (zh) 内容的传递及保护的方法及装置
Park et al. DRM for streamed MPEG-4 media

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 4