KR102206142B1 - 미디어 콘텐츠를 워터마킹하기 위한 방법 및 그 방법을 구현하기 위한 시스템 - Google Patents
미디어 콘텐츠를 워터마킹하기 위한 방법 및 그 방법을 구현하기 위한 시스템 Download PDFInfo
- Publication number
- KR102206142B1 KR102206142B1 KR1020157029791A KR20157029791A KR102206142B1 KR 102206142 B1 KR102206142 B1 KR 102206142B1 KR 1020157029791 A KR1020157029791 A KR 1020157029791A KR 20157029791 A KR20157029791 A KR 20157029791A KR 102206142 B1 KR102206142 B1 KR 102206142B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- metadata
- sample
- key
- watermarking
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000005540 biological transmission Effects 0.000 claims abstract description 24
- 238000009877 rendering Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 29
- 238000012546 transfer Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000003746 feather Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/418—External card to be used in combination with the client device, e.g. for conditional access
- H04N21/4181—External card to be used in combination with the client device, e.g. for conditional access for conditional access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
- H04N21/63345—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8355—Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 적어도 하나의 암호화된 샘플(15)의 형태로 어플리케이션 소프트웨어(APP)에 의해 수신된 디지털 미디어 콘텐츠(1)를 워터마킹하기 위한 방법 및 시스템(20)에 관한 것이다. 디지털 미디어 콘텐츠(1)는 각각의 샘플(15)에 할당된 메타데이터(10)와 연관된다. 각각의 샘플(15)은 샘플 키(Kc')의 수단에 의해 암호화되고, 메타데이터(10)는 제1 데이터(11), 제2 데이터(12) 및 제1 데이터와 제2 데이터의 서명(signature)으로부터 얻어지는 디지털 서명(13)을 포함한다. 제1 데이터(11)는 적어도 콘텐츠 키(Kc)와 워터마킹 메타데이터(WM)를 포함하고, 적어도 제1 데이터(11)는 전송 키(KT)에 의해 암호화된다. 제2 데이터(12)는 초기화 백터(IV)를 포함하고, 따라서 콘텐츠 키(Kc)와 초기화 백터(IV)가 샘플 키(Kc')와 등가인 암호 데이터의 고유 쌍을 형성한다. 어플리케이션 소프트웨어(APP)는 메타데이터(10)의 처리를 담당하는 보안 환경(30)과 통신한다. 디지털 미디어 콘텐츠(1)의 워터마킹은, - 메타데이터(10)를 보안 환경(30)으로 전송하기 이전에, 어플리케이션 소프트웨어(APP)에 디지털 미디어 콘텐츠로부터 메타데이터(10)를 추출할 것을 명령하는 단계; - 전송 키(KT)의 수단에 의해 제1 데이터(11)의 적어도 일부분을 해독하는 단계; - 디지털 사인된 제1 및 제2 데이터(11,12)의 인증(authentication)을 검증하는 단계로서, 긍정적인 결과의 경우, 콘텐츠 키(Kc) 및 초기화 백터(IV)를 디스크램블버(37)로 전송하고, 워터마킹 메타데이터(WM)를 워터마킹 유닛(39)로 전송하는 단계; - 암호 데이터의 쌍의 수단에 의해 각각의 샘플(15)을 스크램블해제하도록 디지털 미디어 콘텐츠(1)를 디스크램블러(37)에 전송하는 단계; - 적어도 워터마킹 메타데이터(WM)의 수단에 의해, 디지털방식의 마킹을 위해, 워터마킹 유닛(39)으로 각각의 스크램블해제된 샘플(15')을 전송하는 단계; - 워터마킹 유닛(39)으로부터 어플리케이션 소프트웨어(APP)로 또는 렌더링을 위한 보안 미디어 경로로 샘플(15',15")을 전송하는 단계에 의해 수행된다.
Description
본 발명은 디지털 이미지, 오디오 데이터 또는 오디오/비디오 데이터 스트림과 같은 미디어 콘텐츠에 디지털 워터마크(watermark)를 부여하기 위한 워터마킹의 분야에 관한 것이다. 보다 구체적으로, 본 발명은, 연관된 스크램블해제 콘텐츠 상에 저작권 정보(copyright information)부여해야 하는, 페이 TV 분야에서 셋톱 박스와 같은 프로세싱 장치에 의해 수신된 스크램블화/암호화(scrambled/encrypted) 콘텐츠에 관한 것이다.
페이(pay) 텔레비전 시스템과 같은 페이 미디어 환경에서, 디지털 미디어 플레이어로 전송되는 멀티미디어 콘텐츠는 제한된 액세스를 제공하도록 암호화된 형태(예를 들면, 스크램블화된 형태)로 제공된다. 따라서, 이런 콘텐츠를 스크램블해제(descramble)하는 권리에 지불 한 가입자만이 깨끗한 형태의 콘텐츠를 회수(retrieving)할 수 있는 적당한 해독화 키(decryption)를 수신한다. 그러나, 일단 스크램블해제되고 나면, 이 콘텐츠는 이 콘텐츠에 대한 소유자 또는 하가된 사용자가 누구인지를 판정할 수 있는 능력 없이 깨끗한 형태로 누구에게라도 전달되는 부정 복사에 노출된다.
디지털 콘텐츠의 비허가된 복사를 방지하거나 예방하여 콘텐츠에 부가된 저작권을 보호하기 위해 디지털 워터마킹 프로세스가 공지되어 있다. 워터마킹은 가시적인 식별을 위해 워터마크를 지닌 페이퍼와 유사하게, 그 진위성(authenticity) 또는 그 소유자의 식별에 이용될 수 있는 정보(information)를 디지털 신호 속에 포함시키는 프로세스이다. 신호가 복사되면, 워터마크에 관련된 정보도 복사본에 옮겨진다. 디지털 워터마크에는 일반적으로 두 종류가 있다. 이는 가시적(visible) 워터마크와 비가시적(invisible) 워터마크이다. 스트리밍(streaming)에 의해 제고오디는 TV 프로그램, 다운로드가능한 영화, 또는 오디오/비디오 데이터와 같은 멀티미디어 콘텐츠는 명백하게도 비가시적 워터마크를 포함한다.
셋탑 박스 분야에서, 콘텐츠(예를 들면, 비디오 및 오디오)는 조건부 액세스 시스템(CAS: Conditional Access System)에 의해 생성된 키에 의해 보안된다. 암호화된 콘텐츠와, 암호화된 해독 키를 포함하는 메타데이터 모두, 예를 들면 HTTP 상에서 동적 적응형 스트리밍(DASH: Dynamic Adaptive Streaming over HTTP)를 통해서, 브로드캐스트되거나 가입자에게 이용가능하다. DASH는 인터넷 상에서 스트리밍 서비스를 효율적이고 고품질로 전송하는 것을 가능하게 하는 포멧을 제공하는 인에이블러(enabler)이다. 이들 서비스의 미디어 콘텐츠는 종래의 HTTP 웹 서버로부터 전달된다. DASH는 표준 "ISO 기반 미디어 파일 포맷(ISO BMFF: ISO base media file format)"에 기반한다. ISO BMFF에 따른 파일은 소위 "박스(boxes)"로 호칭되는 일련의 오브젝트로서 형성된다. 이런 표준을 참조하면, 콘텐츠는 향상된 암호화 표준(AES: Advanced Encryption Standard) 카운터(Counter)(CTR) 모드 또는 AES 칩퍼-블록 채인닝(Chipher-block Chaining)(CBC) 모드 중 하나를 이용하여 암호화된다. 이들 두 가지 모드는 콘텐츠 암호화를 위해 초기화 백터(Initializagion Vector)(IV)를 필요로 한다.
해독 프로세스는 조건부 액세스 모듈(CAM)에 의해 사용자 측에서 수행된다. 이 동작 이후에, 콘텐츠는 통상적으로 워터마킹 메타데이터를 이용하여 사용자 장치(예를 들면 셋탑 박스)의 어플리케이션 소프트웨어에 의해 마킹된다(marked). 그런 메타데이터는 워터마크가 어디에 매설되었는지 그리고 어떤 데이터가 워터마크로서 이용되었는지에 관한 정보를 통상적으로 포함한다. 따라서, 마킹의 실시(enforcement)는 사용자 장치에서 실행되는 소프트웨어의 보안성(security)에 기반한다. 이 장치가 연속적으로 공격당하거나 또는 개방되어 있다면(소프트웨어 인증 없음), 미디어 콘텐츠의 마킹을 우회하거나(bypass) 변경(modify)하기 쉽다. 또한, 요청(request)에 따라, 어플리케이션 소프트웨어는 해독 키가 제공된다면 어떤 해독 프로세스라도 수행하는 것이 가능하다. 통상적으로, 초기화 백터 및 해독 키의 암호화 형태는 어플리케이션 소프트웨어에 의해 액세스가능하다. 따라서 어플리케이션 소프트웨어 미디어 콘텐츠의 해독을 수행할 수 있고 최종적으로 비보호된 콘텐?M에 액세스할 수 있다.
그런 어플리케이션 소프트웨어가 신뢰할 수 없는 것이고 보호되지 않은 콘텐츠에 액세스한다고 고려하면, 워터마킹 프로세스 상에서의공격은 여전히 가능하다.
따라서 디지털 워터마크를 부여하기 위해 어플리케이션 소프트웨어에 의해 암호화된 형태로 수신되는 비보호된 미디어 콘텐츠 상에 행해지는 워터마킹 프로세스를 보호하기 위한 효율적인 해결책을 제공할 필요가 있다.
문헌 EP 2 391 125 A1은 특정 사용자에게 배달되는 멀티미디어 콘텐츠에 추적 비밀 데이터(tracing sectet data)를 매설하는 방법에 관한 것이다. 이를 위해, 이 문헌에서는 스크램블해제 유닛에 있어서의 보안 오퍼레이션(security operation)의 담당하에 보안 모듈에 의해 출력된 데이터를 마킹하는 것에 중점을 두고 있다. 이 목적은 보안 모듈과, 생성된 스트림 데이터를 가진 보안 모듈을 대표하는 일부의 값을 가진 스크램블해제 유닛 사이에 마크된 스트림을 생성하는데 있다.
스크램블해제 유닛으로 전달된 데이터는, 변경된 비디오 스트림과 수정 데이터(correction data)로부터 고유한 재구성 및 마크된 비디오 스트림을 획득하도록, 재구성 값의 계산을 허용하는 마크후 수정 데이터(post-marked correction data)로 언급된다.
문헌 US 2010/0208891 A1은 브로드캐스트 수단에 의해 안전하게 분배될 수 있는 시청각(audiovisual) 시퀀스의 개별화된 마킹을 수행하는 프로세스를 개시하고 있다. 이를 위해, 이 문헌은 모든 수신기로 변경된 스트림과 상호보완적(complementary) 스트림을 포함하는 고유 정보를 전송할 것을 제안한다. 재구성된 스트림은 서버에서 제1 워터마킹 단계에 의해 인가된 제1 마크를 포함하고 있는 점에서 원본의 스트림과 차이가 있다. 이 제1 마크는 사용자에게 바람직하게 귀찮은 것이다. 상호보완적 스트림은 마크된 시청각 스트림에 속하는 마크된 데이터를 포함한다. 제2 마크는 수신기의 시청각 디코더에 의해 생성되고 재구성된 스트림을 마킹하는 개별 식별자로서 이용된다.
본 발명은 전술한 문제점을 해결하는 것을 목적으로 한다.
전술한 문제점을 해결하기 위해, 본 발명은 셋탑 박스 또는 다른 종류의 디코더와 같은 계산 장치인 사용자 장치에서 실행되는 어플리케이션 소프트웨어에 의해 제1 인터페이스를 통해 수신된 디지털 미디어 콘텐츠를 워터마킹하기 위한 방법이 제공된다. 디지털 미디어 콘텐츠는 적어도 하나의 암호화된 샘플(콘텐츠 패킷일 수 있는 콘텐츠의 조각)의 형태로 수신된다. 디지털 미디어 콘텐츠는 바람직하게 각각의 샘플과 같은 샘플에 할당되는 메타데이터와 연관된다. 이를 위해, 메타데이터는 메타데이터가 참조하는 샘플을 식별하는 것을 허용하는 정보를 포함할 수 있다. 샘플과, 연관된 메타데이터 사이의 관계는 데이터 스트림 내의 그런 데이터의 특정 배열에 의해 얻어질 수 있고 또는 동기화 프로세스에 의해 얻어질 수 있다. 각각의 샘플은 샘플 키 수단에 의해 암호화된다.
메타데이터는 적어도 제1 데이터, 제2 데이터 및 제1 데이터와 제2 데이터의 서명(signature)으로부터 얻어지는 디지털 서명을 포함한다. 제1 데이터는 적어도 콘텐츠 키와 워터마킹 메타데이터를 포함한다. 바람직하게, 제1 데이터는 또한 콘텐츠 키와 연관된 키 메타데이터를 포함한다. 적어도 제1 데이터는 적어도 하나의 전송 키에 의해 암호화된다. 콘텐츠 키는 암호 프로세스에서 제1 입력으로서 이용된다. 제2 데이터는 적어도 초기화 백터를 포함한다. 초기화 백터는 암호화 프로세스에서 제2 입력으로서 이용되고, 콘텐츠 키와 초기화 백터가 디지털 미디어 콘텐츠의 각각의 샘플의 암호화/해독화를 위해 샘플 키의 검색을 허용한다.
본 발명에 따르면, 어플리케이션 소프트웨어는 메타데이터의 처리, 암호화된 데이터의 해독, 필요시 미디어 콘텐츠의 워터마킹을 담당하는 보안 환경과 제2 인터페이스를 통해 통신한다. 따라서, 어플리케이션 소프트웨어가 메타데이터 내에 포함된 데이터를 프로세스하는 것이 허용되지 않는다. 보안 환경은 보안 메모리로부터 전송 키를 추출하거나 보안 메모리에 저장된 비밀 키로부터 전송 키를 유도한다(계산에 의해).
디지털 콘텐츠의 워터마킹은 다음의 단계:
- 어플리케이션 소프트웨어에 메타데이터를 취득하고(디지털 미디어 콘텐츠로부터 또는 다른 소스로부터 이를 추출함) 이를 보안 환경(30)에 전송(제1 데이터를 해독하지 않고)할 것을 명령하는 단계;
- 이해가능한 형태(intelligible form)로, 적어도 컨텐츠 키를 검색하기 위해, 전송 키의 수단에 의해 보안 환경 내에서 제1 데이터를 해독하는 단계;
- 보안 환경에 의해 디지털 사인된 제1 및 제2 데이터의 인증을 검증하는 단계,
- 검증 단계가 긍정적인 결과를 제공한 경우(예를 들면 사인된 제2 데이터가 인증되면), 적어도 워터마킹 메타데이터를 워터마킹 유닛에 전송하고, 샘플 키의 수단에 의해 각각의 샘플을 스크램블해제하기 위해 디지털 미디어 콘텐츠, 콘텐츠 키 및 초기화 백터를 디스크램블버로 전송하는 단계;
- 적어도 워터마킹 메타데이터의 수단에 의해, 디지털방식의 마킹을 위해, 워터마킹 유닛으로 각각의 스크램블해제된 샘플을 전송하는 단계;
- 렌더링 장치에 의해 재생되어지는 관점에서 제2 인터페이스를 통해 보안 환경으로부터 처리된 샘플을 출력하는 단계;에 의해 수행된다.
본 발명은 전술한 방법에 따른 디지털 미디어 콘텐츠를 워터마킹하기 위한 시스템으로도 언급된다.이 시스템은 제1 입력 인터페이스를 통해서 각각의 암호화된 샘플과 그 할당된 메타데이터가 입력되는 어플리케이션 소프트웨어를 실행하는 계산 유닛을 포함한다. 미디어 콘텐츠는 적어도 샘플을 포함한다. 본 발명에 따르면, 이 시스템은 제2 인터페이스를 통해 어플리케이션 소프트웨어와 통신하는 보안 환경을 더 포함한다. 보안 환경은 다음의 구성요소:
- 전송 키의 검색을 위해 하나의 전송 키 또는 적어도 하나의 비밀 키를 저장하는 보안 메모리;
- 전송 키의 수단에 의해 제1 데이터를 해독하기 위한 암호 유닛;
- 사인된 제2 데이터를 인증하기 위한 인증 유닛;
- 암호 유닛 내의 암호 프로세스에서 입력 데이터로서 이용된 암호 데이터의 쌍의 수단에 의해 각각의 샘플을 스크램블해제하기 위한 디스크램블러 - 암호 데이터는 제1 데이터에 포함된 콘텐츠키와 제2 데이터에 포함된 초기화 백터를 포함함 - ;
- 제1 데이터에 포함된 워터마킹 메타데이터로 각각의 샘플를 디지털 마킹하는 워터마킹 유닛;을 포함한다.
또한, 계속하여 본 발명에 따르면, 어플리케이션 소프트웨어는 메타데이터를 처리하기 위해 보안 환경으로 전송하기 이전에, 디지털 미디어 콘텐츠로부터 메타데이터를 추출하도록 구성된다. 대안적으로, 메타데이터는 재생리스트/미디어 프리젠테이션 설명으로부터 추출될 수도 있으며, 따라서 메타데이터 그 자체는 콘텐츠 데이터와 별개로 다운로드될 수 있다. 제2 인터페이스는 렌더링 장치에 의해 재생되는 관점에서 보안 환경으로부터 스크램블해제된 샘플를 출력하기 위해 더 이용될 수 있다.
따라서 각각의 샘플은 조건별 액세스 시스템 제공자에 의해 제어될 수 있는 신뢰되는 보안 환경 내에서 스크램블해제되고 워터마크될 수 있다. 또한, 본 발명에 따르면, 워터마킹 프로세스는 우회될 수 없고, 불법 사용자(malicious person)에 의해, 예를 들면 어플리케이션 소프트웨어에 의해 제공된 스크램블해제된 샘플에 매설되는 워터마크를 변경하는 관점에서 워터마킹 메타데이터를 탬퍼링(tampering)하는 것에 의해 변경된다. 제1 데이터의 암호화에 의해, 콘텐츠 키는 워터마킹 메타데이터와 제1 및 제2 데이터를 포함하는 서명에 결합되고, 워터마킹 데이터는 초기화 백터와 결합되다.
다른 이점 및 실시예를 첨부한 도면을 참조하여 이하에 설명한다.
본 발명에 따르면 전술한 목적을 달성할 수 있다.
본 발명은 첨부된 도면을 참조하면 보다 명확하게 이해될 수 있다.
도 1은 입력 데이터로서 본 발명에서 처리되는 디지털 미디어 콘텐츠의 일반적인 구성을 개략적으로 도시한 도면.
도 2는 디지털 미디어 콘텐츠에 포함된 샘플에 할당되는 메타데이터에 포함된 데이터를 나타낸 도면.
도 3은 본 발명의 시스템의 개요를 나타낸 도면.
도 1은 입력 데이터로서 본 발명에서 처리되는 디지털 미디어 콘텐츠의 일반적인 구성을 개략적으로 도시한 도면.
도 2는 디지털 미디어 콘텐츠에 포함된 샘플에 할당되는 메타데이터에 포함된 데이터를 나타낸 도면.
도 3은 본 발명의 시스템의 개요를 나타낸 도면.
도 1을 참조하면, 도 1은 본 발명에서 입력 데이터로서 처리되는 디지털 미디어 콘텐츠(1)의 일 실시예를 개략적으로 도시한 도면이다. 디지털 미디어 콘텐츠는 적어도 하나의 암호화된 샘플(15)을 포함하고, 미디어 콘텐츠는 샘플, 바람직하게는 각각의 샘플에 할당(assigned) 또는 연계된(associated) 메타데이터(10)와 관련된다. 일 실시예에서, 디지털 미디어 콘텐츠는 도 1에 도시한 바와 같이 메타데이터를 포함한다.
이 미디어 콘텐츠(1)는, 오디오 및/또는 비디오 콘텐츠 또는 이미지 및/또는 텍스트, 심지어 이런 정보(데이터)들의 혼합을 포함하는 콘텐츠와 같은, 임의 종류의 멀티미디어 콘텐츠로 언급된다. 바람직하게, 디지털 미디어 콘텐츠는 본 발명에 있어서 콘텐츠의 샘플로서 정의된 패킷으로(또는 콘텐츠의 일부분(portions) 또는 조각(pieces)으로) 세그먼트된다. 특정 실시예에서, 미디어 콘텐츠는 하나의 샘플만을 포함할 수 있다. 그러나 대부분의 경우, 도 1에 도시한 바와 같이, 미디어 콘텐츠는 복수의 샘플(15)(S1,S2,S3, ..Sn)을 포함한다.
디지털 미디어 콘텐츠(1)는 하나의 스트림(도 1에 도시된 것 처럼)으로 이루어지거나 또는 복수의 스트림이 동기화되어 이루어질 수 있다. 예를 들면, 이들 스트림들의 하나는 비디오 데이터를 포함할 수 있지만 다른 스트림은 연관된 오디오 데이터 또는 연관된 메타데이터를 포함할 수도 있다. 대안적으로, 제1 스트림은 오디오/비디오 데이터를 포함할 수 있고 제2 스트림(제1 스트림과 동기화 됨)은 연관된 메타데이터(10)를 포함할 수 있다. 또한, 샘플(15)(예를 들면, 종단 사용자 장치에 의해 재생될 콘텐츠)을 포함한 스트림은 제1 콘텐츠 소스에 의해 제공될 수 있으며, 메타데이터(10)는 다른 소스, 즉 콘텐츠 소스(예를 들면 재생리스트)과 구별되는 제2 소스에 의해 제공될 수 있다. 어느 경우에 있어서도, 메타데이터는 연관된 샘플과 동기화되어 처리되어야만 한다.
샘플(15)은 일정한 바이트 수의 콘텐츠를 포함할 필요는 없고, 따라서 동일한 사이즈를 가질 필요는 없다. 각각의 샘플의 관련된 크기를 성공적으로 아는 것에 의해, 그들 각각을 검색(retrieve)하는 것이 가능하게 된다. 따라서, 샘플(15)의 각각의 크기는 도 2에서 사이즈 정보 SZ에 의해 정의될 수 있고, 이는 바람직한 실시예에서 전술한 목적으로 이용된다. 그러나, 샘플은 다른 방식으로 스트림으로부터 검색될 수 있는데, 예를 들면 헤더 내에 포함된 마커 또는 기타 데이터의 수단에 의해 가능하다. 또한, 모든 샘플이 동일한 사이즈를 가지는 경우에 있어서, 클록 정보가 동일한 목적을 위해 이용될 수도 있다.
도 1은 또한 메타데이터(M1,M2,M3...Mn)의 각각이 샘플(S1,S2,S3)의 각각에 할당(또는 연계)되어 복수 쌍의 데이터(메타데이터(10), 샘플(15))를 형성하는 것을 나타낸다. 미디어 콘텐츠가 샘플과 메타데이터를 모두 포함하는 단일 스트림인 경우, 각각의 메타데이터(10)는 바람직하게 콘텐츠 데이터 스트림(1) 내에서 그 관련 샘플(15)의 바로 이전에 바람직하게 위치되어, 각각의 메타데이터가 먼저 취급될 수 있다(예를 들면 그 샘플 이전에). 바람직하게, 각각의 메타데이터는 메타데이터가 할당되는 샘플에 특정된다. 그러나, 일부의 특정 실시예에서, 복수의 샘플들에는 동일한 메타데이터가 제공될 수 있다. 다른 경우에 있어서, 하나의 메타데이터(10)는 복수의 샘플들(15)에 의해 공유될 수 있으며 따라서 메타데이터는 샘플 내에 정규의 간격으로(regular intervals), 예를 들면 10개 샘플 또는 20개 샘플 마다, 삽입될 수 있다.
미디어 콘텐츠(1)의 샘플(15)은 샘플들의 하나의 세트(각각의 샘플도 가능)에 대해 상이할 수 있는 샘플 키(Kc')의 수단에 의해 최초로 암호호된다.이는 도 1 에서 대괄호 사이에 샘플의 식별자 S1 ~ Sn을 기재하고 Kc' 색인을 부여(adding)하는 것에 의해 도시된다. 메타데이터는 전체적으로(globally) 암호화되지 않지만(암호화된 데이터를 포함할 수도 있음), 본 발명에서 입력 데이터로서 처리될 디지털 미디어 콘텐츠(1)는 도 1과 도 3에서 [CT]로서 표기된다.
도 2를 참조하면, 도 2는 본 발명의 일 실시예를 나타내고, 또한 메타데이터(10)에 포함된 메인 데이터와 어떻게 이 데이터가 조직화되는지(그룹화되는지)를 나타낸다. 메타데이터(10)는 제1 데이터(11), 제2 데이터(12) 및 디지털 서명(digital signature)(13)를 포함한다. 이 서명은, 제1 데이터와 제2 데이터에, 특히 통칭 제1 데이터(11)의 적어도 일부 데이터(예를 들면 콘텐츠 키 Kc 및 워터마킹 메타데이터 WM)와, 통칭 제2 데이터(12)의 적어도 일부 데이터(예를 들면 초기화 백터 IV 및 사이즈 정보 SZ)에, 가해지는 해쉬 함수(hash function)로부터 제공된 다이제스트(digest)이다. 또한, 서명은 바람직하게 비-암호화된 데이터로부터 바람직하게 결정되며, 예를 들면 서명은 통칭 제1 데이터(11)에 포함된 데이터의 암호화 이전에 계산된다. 따라서, 서명 역시도 암호화될 수 있고 제1 데이터(11)의 일부가될 수 있다. 이 서명을 제공하기 위한 기능 또는 알고리즘은 비밀로 유지되고, 따라서 어플리케이션 소프트웨어에 대해 미지(unknown)를 유지한다. 물론, 동일한 기능 또는 동일한 알고리즘이 이 서명을 생성하는데 이용될 수 있고(송신측에서), 이를 인증하기 위해 이용될 수 있다(수신측에서). 도 2에서 디지털 서명된 데이터는 제1 데이터와 제2 데이터를 둘러싼 영역(가장 큰 점선을 참조)에 할당된 잉크통과 깃털을 나타낸 그림에 의해 도시되고 있다.
제1 데이터(11)는 자물쇠(padlock)를 나타내는 그림에 의해 도시된 바와 같이 암호화된 데이터를 나타낸다. 이 제1 데이터는 적어도 하나의 콘텐츠 키 Kc와 워터마킹 데이터 WM을 포함한다. 콘텐츠 키(Kc)는 암호화된 샘플을 해독하기 위한 암호화 처리(cryptographic process)의 제1 입력으로서 요구되는 글로벌 키(global key)이다. 이 암호화 처리는, 특히 콘텐츠 제공자(헤드-엔드 또는 기타 원격 서버)에 의한 샘플의 암호화(스크램블링) 동안 그리고 사용자 종단(예를 들면, 사용자 컴퓨터, 셋탑-박스 STB, 또는 기타 계산 장치)에서의 해독화 동안 이용될 수 있다. 이 암호화 처리의 제2 입력은 이하에 상세히 설명하는 바와같은 초기화 백터 IV에 의해 제공될 수 있다. 동리한 콘텐츠 키(Kc)가 미디어 콘텐츠(1)에서 브로드캐스트된 모든 샘플을 암호화하는데 이용될 수 있고, 또는 다른 수단에 의해서 복수의 종단 사용자(예를 들면 가입자들)에게 제공될 수 있다. 그러나 바람직한 실시예에 따르면, 콘텐츠 키(Kc)는 암호-구간(crypto-periods)을 정의하기 위해 데이터 스트림(1) 내에서 변화된다. 따라서, 복수의 샘플들은 하나의 암호-구간 내에 포함되고, 이들 샘플들은 동일한 콘텐츠 키(Kc)에 의해 암호화된다. 그러나, 상이한 콘텐츠 키(Kc)가 연속적인 암호-구간, 특히 각각의 암호-구간 동안 이용될 수 있다.
워터마킹 메타데이터(WM)는 샘플의 워터마킹을 위한, 바람직하게 미디어 콘텐츠의 각각의 샘플의 워터마킹을 위한 메인 데이터와 정보를 포함한다. 예를들면, 워터마킹 메타데이터는 워터마크로서 샘플에 매설될 데이터의 적어도 일부분과 워터마크가 샘플내에서 어디에 매설되어지는지를 기술하는 정보, 즉 위치 정보를 포함한다. 이 위치는 좌표에 의해 또는 워터마크될 블록의 상대적 오프셋(relative offset)을 제공하는 것에 의해 정의될 수 있다(샘플은 복수의 데이터 블록에 의해 형성됨).
일 실시예에서, 워터마킹 메타데이터는 공동의 전워터마킹(prewatermarking) 데이터, 즉 복수의 워터마킹 메타데이터에서 동일하고 복수의 샘플의 워터마킹에 이용되는 데이터를 포함할 수 있다. 전워터마킹 데이터는 마킹될 블록의 어드레스와 적어도 하나의 대안 값(alternate value)을 포함하는 레코드(record)의 형태일 수 있다. 클라이언트 장치에서, 특히 보안 환경(secure environment)에서, 각각의 레코드가 처리되고, 대안 값은 보안 환경에 속하는(그리고 이에 저장된) 고유한 식별자의 각각의 비트에 따라, 또는 메타데이터에 포함될 식별자의 각각의 비트에 따라 선택된다(또는 선택되지 않는다).
제1 데이터(11)는 적어도 하나의 전송 키(transport key)(KT)에 의해 암호화된다. 이는 소위 제1 데이터에 포함된 모든 데이터가 동일한 키 KT에 의해 암호화되거나 복수의 상이한 키에 의해 암호화되는 것을 의미한다. 예를 들면, 콘텐츠 키 Kc는 전송 키 KT에 의해 암호화될 수 있고, 워터마킹 데이터 WM은 전술한 첫번째 전송 키 KT와 상이한 제2 전송키 KT'에 의해 암호화될 수 있다.
제2 데이터(12)는 초기화 백터(IV)와 바람직하게는 사이즈 정보(SZ)를 포함한다. 초기화 백터(IV)는 전술한 암호화 처리에서 제2 입력으로서 이용되어, 콘텐츠 키(Kc)와 초기화 백터(IV)는, 전술한 디지털 미디어 콘텐츠(1)의 각각의 샘플(15)을 암호/해독하기 위한 고유 쌍의 암호화 데이터(Kc,IV)를 함께 형성한다. 따라서, 초기화 백터는 하나의 샘플을 다른 샘플로 변경한다. 암호화 데이터(Kc,IV)의 쌍은 암호/해독에 이용되는 데이터를 포함하다. 이 쌍은 소위 샘플 키(Kc')를 형성한다. 즉, 이 고유한 쌍의 암호화 데이터(Kc,IV)는 샘플 키(Kc')와 동일하다.
샘플(15)을 스크램블링하는(암호화하는) 암호화 처리는는 초기화 백터를 포함하는 모든 암호화 알고리즘으로 언급될 수 있다. 따라서, 이 알고리즘은 AES CBC 또는 TDES CBC와 같은, AES 카운터(CTR) 모드 또는 CBC 암호화 모드로 언급될 수 있다. 이들 모드에서(다른 모드도 이용될 수 있음), 초기화 백터는 암호화 키에 더하여 보충 입력(supplementary input)으로서 이용될 수 있다.따라서, 초기 백터는 암호화 키를 변경하는 파라미터로서 보여질 수 있다. 통상적으로, 이 초기화 백터는 암호화 콘텐츠 처리의 제1 단계 이전에 베이스 암호화 키(base encryption key)와 조합되어 사용되는 숫자 값이다. 초기화 백터는 이전 시퀀스와 동일한 데이터의 시퀀스가 암호화시 동일한 결과를 생성하는 것을 방지하기 위해 이용되곤 한다. 따라서, 초기화 백터의 사용은 패킷화된(packetized) 이벤트로부터 초래되는 콘텐츠 패킷 또는 브로드캐스트될 프로그램 등의 데이터를 암호화하는데 적합하다. 콘텐츠 키(Kc)와 반대로, 초기화 백터는 비밀을 유지할 필요는 없다.
유리하게, 워터마킹 데이터(WM)와 초기화 백터(IV)는 서명(13)에 의해 함께 묶여진다. 또한 워터마킹 데이터(WM)와 콘텐츠 키(Kc)도 서명에 의해 함께 묶여진다.
도 3은 본 발명에 따른 디지털 미디어 콘텐츠(1)를 워터마킹하기 위해 이용된 시스템(20)의 개요를 나타낸 도면이다. 도 3은 방법의 설명을 이어가기 위해 이용되며, 이 방법을 구현하기 위한 시스템(20)을 나타내는데도 이용된다.
본 발명에 따르면, 디지털 미디어 콘텐츠(1)(도 1 도시)는 어플리케이션 소프트웨어(APP)에 의해 제1 인터페이스(21)를 통해 수신된다. 전술했던 바와 같이, 디지털 미디어 콘텐츠는 적어도 하나의 암호화된 샘플(15)를 포함하고, 이는 바람직하게 각각의 샘플(15)에 할당된 메타데이터(10)와 관련된다. 따라서, 메타데이터(10)는 미디어 콘텐츠(1)(도 1에 도시됨) 내에 포함될 수 있고 또는 다른 채널, 즉 원격 서버와 같은 다른 소스를 거쳐 어플리케이션 소프트웨어(APP)에 공급될 수 있다. 메타데이터와 샘플이 두개의 상이한 채널에 의해 제공되는 경우, 메타데이터와 샘플은 서로 동기화되어야만 한다. 동기화는 어플리케이션 소프트웨어의 내에서 또는 이 데이터를 처리하기 이전 보안 환경 내에서 데이터의 방출(헤드-엔드 측) 동안, 어플리케이션 소프트웨어에 의한 수신 동안 수행될 수 있다. 도 1에 도시된 실시예에서, 샘플 및 연관된 메타데이터(10) 사이의 동기화는 동기화가 콘텐츠 스트림(1) 내의 이 데이터의 배열에 의해 제공되는 것을 고려한다면 절대적이다.
또한, 소위 제2 데이터(12), 구체적으로 초기화 백터(IV)와 같은 메타데이터(10)의 일부 데이터는 메타데이터(10)의 다른 데이터로부터 분리되어 어플리케이션 소프트웨어(APP)에 의해, 즉 상이한 채널에 의해 수신될 수 있다. 다시, 이 경우에 있어서, 다른 채널에 의해 제공된 데이터는 다른 입력 데이터(예를 들면, 메타데이터(10)의 다른 데이터 및 샘플(15))과 동기화 처리되어야만 한다. 설명의 단순함을 위해, 이하의 설명에서는 샘플(15)과 연관된 메타데이터가 동일한 패킷(10)에 포함되고 메타데이터(10)와 샘플(15)이 도 1에 도시된 바와 같이 미디어 콘텐츠(1) 내에 배열되는 것으로 고려한다.
어플리케이션 소프트웨어(APP)는 사용자 장치, 통상적으로는 셋탑 박스 또는 기타 종류의 디코더와 같은 계산 유닛 내에서 실행된다. 대안적으로, 어플리케이션 소프트웨어는 미디어 경로(media path)를 통해 원격으로 액세스될 수 있으며, 원격 서버에 의해 호스트될 수 있다. 보다 구체적으로, 미디어 콘텐츠(1)는 제1 인터페이스(21)의 입력 포트(도 3의 좌측에 도시됨)를 통해 적어도 하나의 암호화된 샘플(15)의 형태로 수신된다. 어플리케이션 소프트웨어(APP)는 제2 인터페이스(22)를 통해 보안 환경(30)(SE)과 통신할 수 있다. 이 보안 환경은 메타데이터(10)의 처리를 담당한다. 따라서, 본 발명에 따르면, 어플리케이션 소프트웨어(APP)는 소위 메타데이터(10)에 포함된 데이터를 연속으로 처리하는 것이 허용되지 않는다. 또한, 메타데이터(10)가 적어도 해독될 비밀 키를 필요로 하는 적어도 일부의 암호화된 데이터(특히 콘텐츠 키와 워터마킹 메타데이터와 같은 민감한 데이터)를 포함하고, 메타데이터가 제조자, 벤더(vendor) 또는 보안 환경(30)의 제공자에 의해 비밀로 유지되는 서명 알고리즘(또는 함수)으로 적어도 부분적으로 디지털 서명된다는 것을 고려한다면, 어플리케이션 소프트웨어는 메타데이터에 포함된 민감한 데이터를 연속으로 액세스할 수 없다.
디지털 미디어 콘텐츠(1)의 워터마킹은 다음의 단계에 의해 수행된다.
처음 단계에서, 메타데이터를 보안 환경(30)으로 전송하기 전에, 디지털 미디어 센터(1)로부터 메타데이터(10)를 추출하도록 어플리케이션 소프트웨어(APP)에 명령한다. 이는 암호화된 데이터의 처리 동안, 즉 스트림 내 포함된 각각의 데이터의 연속적인 판독 동안, 메타데이터를 연속적으로 식별하는 것에 의해(예를 들면, 헤더 또는 임의의 특정 정보의 검출 수단에 의해) 수행될 수 있다. 또한 본 발명의 바람직한 실시예에 따르면, 이는 어플리케이션 소프트웨어의 어플리케이션 레이어 내의 특정 코드(프로그래밍 명령어)에 앞서서(예를 들면, 초기화 단계 동안) 제2 인터페이스(22)를 통해 보안 환경을 향해 각각의 메타데이터(10)를 전달하도록 진행해야 한다. 따라서 어플리케이션 소프트웨어(APP)에게 디지털 미디어 콘텐츠(1)로부터 메타데이터(10)를 추출하고 메타데이터를 보안 환경(30)에 전달하는 단계는 표준 어플리케이션 소프트웨어(APP)(예를 들면 공동 APP(common APP)) 내의 어플리케이션 레이어를 변경하는 것에 의해 수행될 수 있다.
이어서, 다음의 단계는, 별도의 언급이 없는 한, 현재 처리된 샘플(15)이 암호화되고 워터마크될 때 까지 보안 환경(30)에서 수행된다. 이를 위해서, 보안 환경은 해독 유닛(cryptographic unit)(33)의 수단에 의해 제1 데이터(11)의 적어도 일부분(콘텐츠 키 Kc와 같은 제1 데이터(11)의 적어도 일부 데이터)의 해독을 수행한다. 이 유닛은 암호화 동안 사용된 것과 동일한 암호 알고리즘(또는 쌍 알고리즘(paired algorithm))을 사용하였다. 해독화 동안, 암호 유닛(33)은 전송 키(들) KT, KT'를 사용하여 적어도 콘텐츠 키 Kc와 바람직하게는 암호화된 제1 데이터(11)에 포함된 워터마킹 메타데이터(WM)를 검색한다(retrieve). 제1 데이터가 하나의 키(두개의 키들을 대신하여)만으로 암호화되었다면, 암호 유닛은 하나의 소위 전송 키 KT만을 획득할 필요가 있다. 이를 위해, 보안 환경은 보안 메모리(35)로부터 전송 키(들) KT, KT'를 추출하거나 보안 메모리(35)에 저장된 비밀 키 Ks로부터 상기 전송 키(들) KT, KT'를 유도(derive)할 수 있다. 또한, 소위 전송 키(들) KT, KT'는 예를 들면 최종 전송 키(들) KT, KT'가 획득될 때 까지 연속적인 암호 오퍼레이션에 의해 복수의 키들을 결정하는 복수의 암호 모듈에 의해 계산될 수 있다. 따라서, 전송 키 KT, KT'는 보안 메모리에 저장된 비밀 키 Ks로부터 유도될 수 있다.
전송 키(들) KT, KT'는, 보안 환경의 제조 동안 또는 초기화 단계(phase) 동안 수행될 수 있는 다운로딩 프로세스를 통한 그 개별화(personalization) 동안, 보안 메모리(35)에 저장될 수 있다.
전송 키(들) KT, KT'에 의해서, 적어도 콘텐츠 키(Kc)와 워터마킹 메타데이터(WM)(필요한 경우)가 이해가능한 형태(intelligible form)로 검색될 수 있다. 동일한 콘텐츠 키 Kc가 동일한 암호-기간 내에 복수의 샘플의 해독 처리 동안 이용되면, 바람직하게 시스템은 전체 암호-기간 동안 이해가능한 형태로 콘텐츠 키 Kc를 저장하고(임시 메모리 내에), 따라서 암호-기간 동안 샘플이 해독될 때 마다 콘텐츠 키 Kc를 결정하는 것을 피할 수 있다.
바람직하게, 제1 데이터(11)는 도 2에 도시한 바와 같이 키 메타데이터(KcM)를 포함한다. 키 메타데이터는 바람직하게 콘텐츠 키(Kc)를 암호화하는데 이용된 것과 동일한 전송 키(KT)에 의해 암호화된다. 키 메타데이터(KcM)는 콘텐츠 키(Kc)의 활용(utilization)과 연관된 파라미터로 언급될 수 있다. 예를 들면, 이들 파라미터는, 연관된 콘텐츠 키가 AES CTR 모드에서 암호화된 스트림(예를 들면 샘플 15)을 해독하는데 이용된, 디스크램블러(descrabler)를 알려준다. 일 실시예에서, 키 메타데이터(KcM)은 AES CTR 등의 채이닝 모드(chaining mode)와 특정 암호 알고리즘을 가진 샘플의 해독을 시행하는 정보를 포함할 수 있다. 채이닝 모드는 보안 환경(특히 디스크램블러(37))에서 처리되고 어플리케이션 소프트웨어(APP)에 의해 변경될 수 없다. 플래그(flag) 등의 다른 정보가 이하에 제안되는 바와 같이 키 메타데이터에 포함될 수 있다. 키 메타데이터(KcM)이 제1 데이터(11) 내에 존재한다면, 키 메타데이터(KcM)는 워터마킹 메타데이터(WM)의 해독 이전에 해독되고 처리되는데, 이는 워터마킹 메터데이터(WM)의 해독이 이하 설명하듯이 키 메타데이터(KcM) 내에 포함된 플래그의 상태에 의존하기 때문이다.
이어서, 다음의 단계에서, 디지털 서명된 제1 및 제2 데이터의 인증의 검증이 수행된다. 이를 위해, 디지털 서명된 메타데이터는 사인된(signed) 데이터의 서명(signature)를 검증하기 위해 비밀(secret) 함수/알고리즘을 포함하는 인증 유닛(31)으로 디지털 서명(13)(SI)과 함께 도입된다. 검증은 인증 유닛(31)에 의해 수신된 사인 데이터의에 기반하여 제2 서명을 계산하고 제2 서명과 원본의 서명(13)을 비교하는 것에 의해 수행된다. 이들이 일치한다면 메타데이터(10)는 진본(authentic)이고, 즉 이 메타데이터는 송신측에서 수신측으로의 전송 동안 변경되어지지 않았고, 따라서 송신측의 원본의 메타데이터와 동일하다. 또한 이 결과에 더하여, 인증 유닛(31)은 메터데이터가 진본인지 아닌지를 중앙 처리 유닛에게 안내하기 위해 중앙 처리 유닛(32)에 메시지(도 3에서 Yes 또는 No로서 Y/N으로 표기됨)를 제공할 수도 있다.
인증 유닛(31)이 부정적인 메시지를 제공한다면, 바람직하게 시스템(20)은 보호조취(countermeasure)를 취할 것이다. 예를 들면, 시스템(20)은 적어도 하나의 암호-기간에 있어서 임의의 후속하는 스크램블해제 처리를 중단할 것이다. 변형예에서, 시스템은 암호화된 메시지를 예를 들면 콘텐츠 제공자 또는 가입자를 관리하는 관리자에게 전송하여, 시스템(20)이 변경된 메타데이터를 발견했다는 엔티티(entity)(고유의 식별자에 의해 식별됨)을 통보한다. 명백한 메시지가 종단 사용자의 어텐션(attention)으로, 예를 들면 어플리케이션 소프트웨어에 연결된 렌더링 장치(rendering device) 또는 호스트 컴퓨팅 장치로 전송될 수 있다.
반대로, 인증 단계가 긍적적인 결과를 제공한다면, 워터마킹 메타데이터(WM)는 워터마킹 유닛(39)으로 전달된다.
이어서, 디지털 미디어 콘텐츠(1), 콘텐츠 키(Kc), 및 초기화 백터(IV)는 샘플 키 Kc'의 수단에 의해 각각의 암호화된 샘플(15)을 스크램블해제하기 위해 디스크램블러(37)로 전달된다. 암호화된 샘플의 해독은 디스크램블러(37) 내의 암호 처리에서 입력 데이터로서 이용된 암호 데이터(Kc,IV)의 쌍에 의해 수행된다.
다른 실시예에서, 콘텐츠 키(Kc) 및/또는 초기화 백터(IV)의 디스크램블러(37)로의 전송은 인증 단계가 긍정적인 출력을 제공한 경우에만 수행될 수 있다. 변형예에서, 디지털 미디어 콘텐츠(1)의 디스크램블러(37)로의 전송은 인증 단계의 출력에 기반할 수 있으며, 따라서 미디어 콘텐츠는 긍정적인 출력의 경우에만 전달된다.
다른 실시예에 따르면, 암호 유닛(33)에 의해 수행되는 해독 단계는 인증 단계 이후에 수행될 수 있다. 이 경우, 인증 단계가 부정적인 출력을 제공한다면, 시스템(20)은 디스크램블러(37)로의 콘텐츠(Kc)의 전송을 적어도 방지할 수 있다.
바람직한 실시예에 따르면, 각각의 샘플은 사이즈 정보(SZ)로 인하여 검색될 수 있다(통상적으로는 데이터 스트림으로부터). 따라서 사이즈 정보는 도 3에 도시된 바와 같이 디스크램블러 내로 입력될 수 있다.
샘플(15)이 해독되어지면, 스크램블해제된 샘플(15')은 이어서 스크램블해제된 샘플(15') 내에 매설될 적어도 하나의 워터마크(마커)를 포함하는 워터마킹 메타데이터(WM)의 수단에 의해 디지털 방식으로 이를 마킹하기 위한 워터마킹 유닛(39)으로 입력된다.
바람직한 실시예에 따르면, 워터마킹 유닛(39)에는 상호보완 워터마크, 구체적으로 예를들면 보안 환경의 고유 식별자(ID) 또는 유도된 값을 포함함으로써 비밀 환경(30)에 특정된 고유한 워터 마크(고유 스탬프와 유사)와 연관된 제1 추가 입력(additional input)(WID)이 공급된다. 이 식별 워터마크(WID)는 샘플(15)을 프로세스한 보안 환경(30)을 식별하는 것을 허용하고 따라서 보안 환경이 설치되는 사용자 장치(예를 들면 STB)를 식별하는 것을 인에이블한다. 도 3에 도시된 바와 같이, 식별 워터마크(WID)는 보안 환경 내의 보안 메모리(35) 내에 저장될 수 있다.
변형예에서, 이 식별 워터마크(WID)는, 보안 환경(30)에 할당된 고유 식별자(ID)를 정의하는 비트와 함께, 전-워터마킹(pre-watermarking) 데이터를 프로세싱하는 것에 의해 획득될 수 있다. 전-워터마킹 데이터는 적어도 하나의 공동 워터마크(W)와 다음의 표기법: Ri={#Adri; V1/V2}로 표시되는 적어도 하나의 레코드를 포함할 수 있다. 각각의 레코드는 (#Adr)로 마크된 블록의 위치 또는 어드레스와, V1또는 V2 중 하나인 2상태 값(V1/V2)인 대안 값(alternate value)을 포함한다. 예를 들면, 보안 환경의 식별자로서 ID=01011를 가지며, 5개의 레코드 R1 ~ R5(ID의 각각의 비트에 대한 하나의 레코드)를 가짐으로써, 식별 워터마크(WID)는 위치 #Adr1에서 V1을, 위치 #Adr2에서 V2을, 위치 #Adr3에서 V1을, 위치 #Adr4에서 V2을, 위치 #Adr5에서 V2로 샘플을 마킹하는 것으로 얻어질 수 있다.
다른 실시예에 따르면, 스크램블해제된 샘플(15')는 적어도 하나의 플래그(F)의 상태에 의존할 수도 있으며, 따라서 워터마킹 유닛(39)은 워터마크된 샘플(15") 또는 어떤 워터마크도 없는 스크램블해제된 샘플(15')을 출력할 수 있다. 또한 시스템(20)은 워터마킹이 수행되어야 하는지 또는 워터마킹이 수행되지 않아도 되는지를 기술하는 정보(플래그(F)를 통해)를 제공하는 것에 의해 워터마킹 유닛(39)을 제어할 수도 있다. 따라서, 동일한 미디어 콘텐츠는 일부 스크램블해제된 샘플(15')이 워터마크될 수 있고, 다른 일부는 워터마크없이 유지될 수 있다. 대안적으로 모든 스크램블해제된 샘플(15')은 워터마크없이 유지될 수 있다. 즉, 그런 정보는, 전체 데이터 스트림(1)이 워터마크되어야하는지 원터마크되지 말아야 하는지를 워터마킹 유닛에게 지시하는데 이용될 수 있다. 이 경우, 제2 플래그가 이런 목적을 위해 이용될 수 있다. 플래그(F)는 두개의 상태인 1 또는 0을 제공하는 단일 비트를 포함하여 워터마크가 반듯이 부여되어야 하는지 또는 아닌지를 정의할 수 있다. 보안상의 이유로, 이 플래그는 일 비트 이상을 포함할 수 있다. 플래그(F)는 메타데이터(10) 내에, 바람직하게는 제1 데이터(11) 내에 포함된다.
본 발명의 바람직한 실시예에 따르면, 두개의 플래그(F)가 존재한다. 제1 플래그 F1은 각각의 스크램블해제된 샘플(15')의 워터마킹을 개별적 방식으로 제어하기 위해 이용된다. 따라서, 제1 플래그(F1)은 워터마킹 메타데이터(WM)에 포함되고, 이 플래그는, 그 상태(0/1)에 의존하여, 연관된 스크램블된 샘플(15')이 워터마크되어야하는지 아닌지를 알기 위해 처리된다.
제2 플래그 F2는, 전체 미디어 콘텐츠(1)가 워터마크되어야 하는지 아닌지를 알기 위해, 복수의 스크램블해제된 샘플(15')의 워터마킹을 제어하도록 이용된다. 따라서, 제2 플래그 F2는 암호 유닛(33)에 의해 처리된 키 메타데이터(KcM) 내에 포함되고 따라서 워터마킹의 활성화는 콘텐츠 키(Kc)에 연관된 데이터에 링크된다. 또한, 제2 플래그 F2의 상태는 제1 플래그 F1의 고려(consideration)와 인증 단계의 성과(achievement)를 제어한다. 또한, 제2 플래그 F2가 미디어 콘텐츠 스트림의 모든 스크램블해제된 샘플(15')에 대해서 워터마킹이 필요없음을 나타내는 경우, 인증 단계가 우회(bypass)되고(제2 플래그 F2를 통해 새로운 명령이 제공될 때 까지), 바람직하게 워터마킹 메타데이터(WM)의 해독은 수행되지 않게 된다(왜냐하면 불필요하기 때문에). 따라서, 제2 플래그 F2는 샘플의 스트림이 워터마크 되어야하는지 아닌지에 대한 지시(indication)를 제공한다. 제2 플래그 F2가 키 메타데이터(KcM)에 포함되는 것을 고려하면, 키 메타데이터(KcM)는 워터마킹 메타데이터(WM)의 해독 이전에 해독되고 판독된다. 제2 플래그 F2가 샘플들이 워터마크되어야 함을 지시하는 경우, 제1 플래그 F1의 상태는 종속된 상태(subordinate condition)로서 고려된다. 따라서 제2 플래그 F2가 스트림이 워터마크되어야하는 것을 나타내더라도, 이 스트림의 일부 개별 샘플들은, 제1 플래그 F1이 특정 샘플에 대해 워터마킹이 필요없음을 나타낸 경우, 워터마크 없이 유지할 수도 있다.
플래그 F1, F2는 바람직하게 중앙 처리 유닛(32)에 의해 바람직하게 처리되고, 따라서 CPU는 적당한 단계를 수행하도록 결정한다.
그런 플래그로 인해, 특히 제1 플래그 F1으로 인해, 메타데이터(10) 내에 거짓(fake) 워터마킹 메타데이터를 도입하는 것이 가능하게 된다. 이런 페이크 워터마킹 메타데이터는 워터마킹이 필요없음을 기술하는 플래그 F가 제공되면 고려되지 않는다. 실제, 메타데이터(10)의 구조는, 특히 워터마킹 메타데이터(WM)의 구조는 메타데이터(10)가 참(true) 또는 거짓 워터마킹 메타데이터를 포함하는 것과 무관하게 유지된다. 따라서, 플래그 수단에 의해 통지되는 시스템에 반대로 불법적인 사람은 참과 거짓의 워터마킹 메타데이터를 구별할 수 없다.
최종적으로, 시스템(20)은 워터마킹 유닛(39)의 출력에 제공된 샘플(15',15")을 어플리케이션 소프트웨어에 또는 렌더링 목적을 위해 보안 미디어 경로로 전송한다.
일실시예에 따르면, 디지털 미디어 콘텐츠(1)는 ISO 베이스 미디어 파일 포맷(ISO BMFF)에 따른 스트림 미디어 콘텐츠이다. 이는 HTTP Live Streaming(HLS) 등의 HTTP-기반 미디어 스트리밍 커뮤니케이션 프로토콜을 따를 수도 있다.
다른 실시예에 따르면, 보안 환경(30)은 프로세스 유닛(32)(예를 들면, CPU)에 구현되는 펌웨어 펌(firmware Firm)(예를 들면, 마이크로 코드 또는 프로그램 코드)에 의해 제어된다. 따라서, 보안 환경은 메타데이터(10)를 일단 수신하면 독립적 방식으로 동잘할 수 있다.
어떤 실시예에 있어서도, 펌웨어는 어플리케이션 소프트웨어(APP)를 통해 다운로드되거나 업그래이드 가능하다. 그러나, 펌웨어가 어플리케이션 소프트웨어를 통해 보안 환경 내에, 예를 들면 비휘발성 메모리(2')에 설치되는 경우, 내부 중앙 처리 유닛(32)(보안 환경 내에 위치됨)에 의해 실행되어지는 관점에서, 펌웨어는 내부 CPU에 의해 암호화된 그리고 사인된 형태로 다운로드될 것이다. 따라서, 다운로드된 펌웨어는 보안 환경 내의 연관된 비밀 인증 프로세스에 의해 성공적으로 인증되어진 경우에만 설치된다. 또한, 펌웨어 펌은 보안 환경의 외측, 예를 들면 어플리케이션 소프트웨어(APP) 내에 저장될 수도 있다. 이 경우, 펌웨어는 암호화된 형태로 저장되고 보안 환경에 의해서만 해독된다.
이미 전술한 바와 같이, 본 발명은 전술한 방법을 구현하기 위한 시스템으로도 언급된다. 이를 위해, 본 발명은 도 1을 참조하여 설명한 바와 같이 암호화된 형태로(구체적으로 적어도 부분적으로 암호화됨) 공급되는 디지털 미디어 콘텐츠(1)를 워터마킹하는 시스템으로 언급된다.
첨부된 도면에 도시된 바와 같이, 특히 도 3에 도시한 바와 같이, 시스템(20)은 적어도 암호화된 샘플(15)(그 사이즈는 사이즈 정보 SZ에 의해 정의됨)의 형태로 디지털 미디어 콘텐츠(1)가 입력되는(제1 인터페이스(21)를 통해) 어플리케이션(APP)을 실행하는 계산 유닛(25)을 포함한다. 디지털 미디어 콘텐츠는 방법에서 설명한 것과 동일한 데이터를 포함하고, 미디어 콘텐츠는 메타데이터(10)와도 연관된다. 설명의 단순하게 하기 위해, 그리고 방법과 연관하여 설명한 바와 같이, 샘플(15)과 연관된 메타데이터(10)가 동일한 패킷 내에 포함되고, 메타데이터(10)와 샘플(15)이 도 1에 도시한 바와 같은 미디어 콘텐츠(1)에 배열된 것을 고려한다.
본 발명에 따르면, 시스템은 제2 인터페이스(22)를 통해 어플리케이션 소프트웨어(APP)와 통신하는 보안 환경(30)을 포함한다.
보안 환경은 다음의 구성요소를 포함한다.
- 적어도 하나의 전송 키 KT, KT'를 저장하기 위한 보안 메모리(35); 여기서 전송 키(들)은 전술한 방법에서 설명한 바와 같이, 보안 메모리(35)에 저장된 비밀 키 Ks로부터 유도됨,
- 전송 키(들) KT, KT'의 수단에 의해 소위 제1 데이터(11)(도 2 참조)를 해독하는 암호 유닛(33),
- 사인된 제1 및 제2 데이터(11, 12)를 인증하기 위한 인증 유닛(31),
- 암호 유닛(33) 내의 암호 처리에서 입력 데이터로서 이용된 암호 데이터 쌍 Kc,IV에 대응하는 샘플 키 Kc'의 수단에 의해 각각의 암호화된 샘플(15)(사이즈 정보 SZ에 의해 검색됨)을 스크램블해제하는 디스크램블러(37),
- 제1 데이터(11) 내에 포함된 워터마킹 메타데이터(WM)의 수단에 의해 각각의 스크램블해제된 샘플(15')를 디지털방식으로 마킹하기 위한 워터마킹 유닛(39).
또한, 시스템(20)에 포함된 어플리케이션 소프트웨어(APP)는 디지털 미디어 콘텐츠(1)로부터 또는 다른 소스(예를 들면 재생리스트(playlist))로부터, 추출된 메타데이터(10)를 처리를 위해 보안 환경(30)으로 전송하기 이전에, 메타데이터(10)를 추출하도록 구성된다. 제2 인터페이스(22)는, 렌더링 장치에 의해 재생되어지는 관점에서, 보안 환경으로부터 스크램블해제된 샘플(15',15")(예를 들면, 워터마크가 없는 스크램블해제된 샘플(15') 또는 워터마크된 스크램블해제 샘플(15"))를 출력하기 위해 더 이용된다.
제2 인터페이스(22)는 어플리케이션 프로그래밍 인터페이스(API)와 같은 인터페이스 소프트웨어 구성요소로서 이용되도록 의도된 프로토콜로 언급되고, 두개의 프로그램(또는 소프트웨어, 펌웨어 등등)이 서로 통신하는 것을 허용한다.
바람직하게, 보안 메모리(35)는 샘플의 워터마킹 동안 고유한 식별 마크를 부여하기 위해, 마킹 유닛(35)으로 전달되는(유닛(35)으로부터의 요청 또는 암호 유닛(33)의 명령에 의해) 고유한 식별 워터마크(WID)를 더 포함한다. 따라서 워터마크된 샘플(15")은 적어도 두개의 구별되는 워터마크, 즉 워터마킹 메타데이터(WM)에 의해 제공되는 워터마크와, 보안 환경(30)에 특정된 식별 워터마크(WID)를 포함한다(동일하게 전술한 방법에 적용가능함).
바람직한 실시예에 따르면, 보안 환경(30)은 보안 환경의 모든 구성요소(회로, 논리유닛, 메모리 등)를 제어하기 위해 중앙 처리 유닛(32)과 펌웨어 펌이 구현되는 비휘발성 메모리(32')를 포함한다. 따라서 보안 환경은 보안 마스터 프로세싱 유닛으로서 동작한다.
변형예에서, 보안 환경(30)은 어떤 중앙 처리 장치(그 구성요소를 제어하기 위한 펌웨어를 실행하는 CPU(32) 등)가 없을 수도 있지만, 보안 프로세싱 보조 유닛으로서 어플리케이션 소프트웨어(APP)에 의해 제어될 수 있으며, 어플리케이션 소프트웨어(APP)는 임의의 민감한 데이터를 액세스하지는 않는다. 따라서 민감한 데이터(해독된 데이터 등)는 언제나 보안 환경에서만 처리된다.
바람직하게, 보안 환경(30)은 모놀리식 칩셋(monolithic chipset)으로 이루어질 수 있다. 또한 이 보안 환경 또는 이 모놀리식 칩셋은 스마트카드에 의해 수용될 수 있다.
다른 실시예에서, 디스크램블러(37)와 워터마킹 유닛(39)은 보안 실시예로부터 물리적으로 떨어질 수 있으며, 물리적으로 보안 실시예에 결합될 수도 있다.
본 발명에 따르면, 샘플(15)의 워터마킹은, 워터마킹 메타데이터(WM)를 콘텐츠 보호 권리(right)(즉 콘텐츠 키 Kc와 가능한 경우 연관된 키 메타데이터 KcM)에, 그리고 콘텐츠(샘플)을 해독하는데 이용된 초기화 백터(IV)에 암호적으로 결합하는 것에 의해 실시된다. 보안 환경만이 디지털 미디어 콘텐츠를 해독하고 마킹하기 위해 콘텐츠 키(Kc)와 워터마킹 메터데이터(WM)을 검색할 수 있게 된다. 어플리케이션 소프트웨어(APP)가 이 데이터(IV,WM)를 액세스하는 경우에도 어떻게 WM 프로세스가 동작하는지를 이해하고 변경하기 위해 이들을 부당하게 이용할 수 없다.
Claims (15)
- 어플리케이션 소프트웨어(APP)에 의해 제1 인터페이스(21)를 통해 수신된 디지털 미디어 콘텐츠(1)를 워터마킹하는 방법에 있어서 - 여기서, 디지털 미디어 콘텐츠(1)는 적어도 하나의 암호화된 샘플(15)의 형태이고, 디지털 미디어 콘텐츠(1)는 각각의 샘플(15)에 할당된 메타데이터(10)와 연관되어 있음 - ;
상기 샘플(15)은 샘플 키(Kc')의 수단에 의해 암호화되고,
상기 메타데이터(10)는 제1 데이터(11), 제2 데이터(12) 및 제1 데이터와 제2 데이터의 서명(signature)으로부터 얻어지는 디지털 서명(13)을 포함하고, 제1 데이터(11)는 적어도 콘텐츠 키(Kc)와 워터마킹 메타데이터(WM)를 포함하고, 적어도 제1 데이터(11)는 적어도 하나의 전송 키(KT,KT')에 의해 암호화되고, 콘텐츠 키(Kc)는 암호 프로세스(cryptographic precess)에서 제1 입력으로서 이용되고,
제2 데이터(12)는 암호화 프로세스에서 제2 입력으로 이용되는 적어도 초기화 백터(IV)를 포함하고, 따라서 콘텐츠 키(Kc')와 초기화 백터(IV)가 디지털 미디어 콘텐츠(1)의 각각의 샘플(15)을 암호화/해독화하기 위한 샘플 키(Kc')를 검색(retrieve)하는 것을 허용하며,
어플리케이션 소프트웨어(APP)는 메타데이터(10)의 처리를 담당하는 보안 환경(30)과 제2 인터페이스(22)를 통해 통신하고,
보안 환경(30)은 보안 메모리(35)로부터 전송 키(KT,KT')를 추출하거나 보안 메모리(35)에 저장된 비밀 키(Ks)로부터 전송 키(KT,KT')를 유도(derive)하고,
디지털 미디어 콘텐츠(1)의 워터마킹은,
- 어플리케이션 소프트웨어(APP)에 메타데이터(10)를 취득하고 이를 보안 환경(30)에 전송할 것을 명령하는 단계;
- 이해가능한 형태(intelligible form)로, 적어도 컨텐츠 키(Kc)를 검색하기 위해, 전송 키(KT,KT')의 수단에 의해 보안 환경(30) 내에서 제1 데이터(11)를 해독하는 단계;
- 보안 환경(30)에 의해 디지털 사인된 제1 및 제2 데이터(11,12)의 인증(authentication)을 검증하는 단계로서, 부정적인 결과의 경우, 대항 조치가 수행되고, 긍정적인 결과의 경우 워터마킹 메타데이터(WM)를 워터마킹 유닛(39)에 전송하고, 샘플 키(Kc')의 수단에 의해 각각의 샘플(15)을 스크램블해제하기 위해 디지털 미디어 콘텐츠(1), 콘텐츠 키(Kc) 및 초기화 백터(IV)를 디스크램블버(37)로 전송하는 단계;
- 적어도 워터마킹 메타데이터(WM)의 수단에 의해, 디지털방식의 마킹을 위해, 워터마킹 유닛(39)으로 각각이 스크램블해제된 샘플(15')을 전송하는 단계;
- 워터마킹 유닛(39)으로부터 어플리케이션 소프트웨어(APP)로 또는 렌더링을 위한 보안 미디어 경로로 샘플(15',15")을 전송하는 단계;
에 의해 수행되는 것을 특징으로 하는 방법.
- 제1항에 있어서,
워터마킹 유닛(39)은 샘플을 고유하게 식별하기 위해 보안 환경(30)에 특정된 식별 워터마크(WID)로 샘플을 디지털방식으로 더 마크하고, 상기 식별 워터마크(WID)는 보안 메모리(35)로부터 추출되는 방법.
- 제1항 또는 제2항에 있어서,
메타데이터(10)는 두개의 상태를 가질 수 있는 적어도 하나의 플래그(F1,F2)를 더 포함하고, 스크램블된 샘플(15')의 워터마킹의 취득은 플래그(F)의 상태에 의존하는 방법.
- 제3항에 있어서,
메타데이터(10)는 각각의 스크램블된 샘플(15')의 워터마킹을 제어하기 위한 제1 플래그(F1)와, 제1 데이터(11)의 키 메타데이터(KcM)에 포함되고 복수의 샘플(15")의 워터마킹을 제어하기 위한 제2 플래그(F2)를 포함하고, 제2 플래그(F2)의 상태(state)는 제1 플래그(F1)의 콘시더레이션(consideration)과 인증 단계의 취득(achievement)을 제어하는 방법.
- 제1항에 있어서,
인증 단계가 부정적인 결과를 제공하면, 디스크램블러(37)는 대응조취로서 적어도 하나의 암호-구간(crypto-period)에 대한 스크램블해제 처리를 중단하는 방법.
- 제1항에 있어서,
적어도 콘텐츠 키(Kc)는 전송 키(KT)로 암화화되고, 워터마킹 메타데이터(WM)는 전송 키(KT)와 구별되는 제2 전송 키(KT')로 암호화되는 방법.
- 제1항에 있어서,
디지털 미디어 콘텐츠(1)는 ISO BMFF(Base Media File Format)에 따른 스트림 미디어 콘텐츠이고,
암호화 프로세스는 AES(Advanced Encryption Standard) 프로세스인 방법.
- 제1항에 있어서,
어플리케이션 소프트웨어(APP)에게 메타데이터(10)를 취득하고 이를 보안 환경(30)으로 전송하도록 명령하는 단계는 표준 어플리케이션 소프트웨어 내의 어플리케이션 레이어의 변경(modifying)에 의해 수행되는 방법.
- 제8항에 있어서,
보안 환경(30)은 보안 환경(30) 내의 중앙 처리 유닛(32) 내에 구현된 펌웨어(Firm)에 의해 제어되는 방법.
- 디지털 미디어 콘텐츠를 워터마킹하기 위한 시스템에 있어서,
제1 인터페이스(21)를 통해서 샘플키(Kc')의 수단에 의해 암호화된 적어도 하나의 암호화된 샘플(15)의 형태로, 디지털 미디어 콘텐츠(1)가 입력되는 어플리케이션 소프트웨어(APP)를 실행하는 계산 유닛(25)을 포함하고,
디지털 미디어 콘텐츠(1)는 각각의 샘플(15)에 할당된 메타데이터(10)에 연관되고, 메타데이터(10)는 제1 데이터(11), 제2 데이터(12) 및 제1 데이터와 제2 데이터의 서명으로부터 얻어지는 디지털 서명을 포함하고, 제1 데이터(11)는 적어도 콘텐츠 키(Kc)와 워터마킹 메타데이터(WM)를 포함하고, 제2 데이터(12)는 적어도 초기화 백터(IV)를 포함하고, 적어도 제1 데이터(11)는 적어도 하나이 전송 키(KT,KT')에 의해 암호화되며,
제2 인터페이스(22)를 통해 어플리케이션 소프트웨어(APP)와 통신하는 보안 환경(30)을 더 포함하고,
보안 환경(30)은,
- 적어도 하나의 전송 키(KT,KT') 또는 상기 전송키의 검색에 이용되는 적어도 비밀 키(KS)를 저장하는 보안 메모리(35);
- 적어도 하나의 전송 키(KT,KT')의 수단에 의해 제1 데이터(11)를 해독하기 위한 암호 유닛(33);
- 사인된 제1 및 제2 데이터(11,12)를 인증하기 위한 인증 유닛(31);
- 콘텐츠 키(Kc) 및 초기화 백터(IV)의 수단에 의해 각각의 샘플(15)을 스크램블해제하기 위한 디스크램블러(37);
- 제1 데이터(11)에 포함된 적어도 워터마킹 메타데이터(WM)로 각각의 스크램블해제된 샘플(15')를 디지털방식으로 마킹하는 워터마킹 유닛(39);을 포함하고,
어플리케이션 소프트웨어(APP)는, 메타데이터(10)를 처리를 위해 보안 환경(30)으로 전송하기 이전에, 디지털 미디어 콘텐츠(11)로부터 또는 다른 소스로부터 추출하도록 더 구성되고, 제2 인터페이스(22)는 렌더링 장치에 의해 재생되는 관점에서 보안 환경(30)으로부터 스크램블해제된 샘플(15',15")를 출력하기 위해 더 이용되는 것을 특징으로 하는 시스템.
- 제10항에 있어서,
보안 메모리(35)는, 디스크램블된 샘플(15')의 워터마킹 동안, 보안 환경에 속하는, 고유한 식별 마크(WID)를 부여하기 위해 마킹 유닛(39)으로 전달되는 고유 식별 워터마크(WID)를 더 포함하는 시스템.
- 제10항 또는 제11항에 있어서,
보안 환경(30)은 중앙 처리 유닛(32)과, 보안 마스터 처리 유닛으로서 보안 환경(30)의 모든 구성요소를 제어하기 위해 펌웨어가 구현되는 비휘발성 메모리(32')를 포함하는 시스템.
- 제10항 또는 제11항에 있어서,
보안 환경은 그 구성요소를 제어하기 위한 펌웨어를 실행하는 중앙 처리 유닛을 포함하지 않고, 보안 슬래이브 처리 유닛으로서 어플리케이션 소프트웨어(APP)에 의해 제어되는 시스템.
- 제10항 또는 제11항에 있어서,
보안 환경(30)은 모놀리식 칩셋인 시스템.
- 제10항 또는 제11항에 있어서,
보안 환경(30)은 스마트카드인 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13165496.4 | 2013-04-26 | ||
EP13165496.4A EP2797333A1 (en) | 2013-04-26 | 2013-04-26 | Method for watermarking media content and system for implementing this method |
PCT/EP2014/057331 WO2014173697A1 (en) | 2013-04-26 | 2014-04-11 | Method for watermarking media content and system for implementing this method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160002778A KR20160002778A (ko) | 2016-01-08 |
KR102206142B1 true KR102206142B1 (ko) | 2021-01-22 |
Family
ID=48226993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157029791A KR102206142B1 (ko) | 2013-04-26 | 2014-04-11 | 미디어 콘텐츠를 워터마킹하기 위한 방법 및 그 방법을 구현하기 위한 시스템 |
Country Status (10)
Country | Link |
---|---|
US (1) | US9571899B2 (ko) |
EP (2) | EP2797333A1 (ko) |
JP (1) | JP6297137B2 (ko) |
KR (1) | KR102206142B1 (ko) |
CN (1) | CN105247883B (ko) |
BR (1) | BR112015027098A8 (ko) |
CA (1) | CA2908401A1 (ko) |
MX (1) | MX347134B (ko) |
SG (1) | SG11201508182QA (ko) |
WO (1) | WO2014173697A1 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112018009757A8 (pt) * | 2015-11-12 | 2019-02-26 | Nagravision Sa | método para inserir marca d?água em conteúdo digital criptografado, método e dispositivo para recuperação de um identificador único de conteúdo com marca d?água e rede de distribuição de conteúdo |
US20170214949A1 (en) * | 2016-01-27 | 2017-07-27 | International Business Machines Corporation | Guideline-based video classification of data streams |
CN107274331B (zh) * | 2017-06-13 | 2018-03-13 | 重庆第二师范学院 | 用于数据流的鲁棒水印嵌入方法及装置 |
CN109218837B (zh) * | 2017-06-30 | 2020-09-08 | 武汉斗鱼网络科技有限公司 | 一种显示虚拟礼物特效的方法和设备 |
US10715498B2 (en) * | 2017-07-18 | 2020-07-14 | Google Llc | Methods, systems, and media for protecting and verifying video files |
US10769252B2 (en) * | 2018-03-20 | 2020-09-08 | Markany Inc. | Method and apparatus for watermarking of digital content, method for extracting information |
CN109327727B (zh) * | 2018-11-20 | 2020-11-27 | 网宿科技股份有限公司 | 一种WebRTC中的直播流处理方法及推流客户端 |
US11095927B2 (en) | 2019-02-22 | 2021-08-17 | The Nielsen Company (Us), Llc | Dynamic watermarking of media based on transport-stream metadata, to facilitate action by downstream entity |
US10904251B2 (en) | 2019-05-17 | 2021-01-26 | Advanced New Technologies Co., Ltd. | Blockchain-based copyright protection method and apparatus, and electronic device |
CN110990848A (zh) * | 2019-11-18 | 2020-04-10 | 上海易点时空网络有限公司 | 基于hive数据仓库的敏感字加密方法及装置、存储介质 |
FR3110263A1 (fr) * | 2020-05-15 | 2021-11-19 | Smardtv Global Sas | Procédé et système pour authentifier une application informatique, ou une fonction de l’application, exécutée par un récepteur multimédia |
US20220345790A1 (en) * | 2021-04-22 | 2022-10-27 | Cisco Technology, Inc. | In-band metadata for authenticity and role-based access in enterprise video streaming services |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7224819B2 (en) * | 1995-05-08 | 2007-05-29 | Digimarc Corporation | Integrating digital watermarks in multimedia content |
JP2001283180A (ja) * | 2000-03-29 | 2001-10-12 | Dainippon Printing Co Ltd | Icカードおよび電子透かしデータ重畳装置 |
WO2002039714A2 (en) * | 2000-11-08 | 2002-05-16 | Digimarc Corporation | Content authentication and recovery using digital watermarks |
US7266704B2 (en) * | 2000-12-18 | 2007-09-04 | Digimarc Corporation | User-friendly rights management systems and methods |
US7392392B2 (en) * | 2001-12-13 | 2008-06-24 | Digimarc Corporation | Forensic digital watermarking with variable orientation and protocols |
JP4370360B2 (ja) * | 2002-05-20 | 2009-11-25 | 淳一 棚橋 | 動画配信技術を用いた対話システム |
US7224310B2 (en) * | 2002-11-20 | 2007-05-29 | Nagravision S.A. | Method and device for the recognition of the origin of encrypted data broadcasting |
JP4340455B2 (ja) * | 2003-03-10 | 2009-10-07 | 富士通株式会社 | 画像処理プログラム作成方法、画像処理プログラムの作成プログラムおよび画像処理プログラム作成装置 |
JP4188958B2 (ja) * | 2004-09-10 | 2008-12-03 | 株式会社日立国際電気 | 暗号化方法及びデータ配信システム及び暗号化装置及びデータ蓄積配信装置 |
KR101321971B1 (ko) * | 2006-07-24 | 2013-10-28 | 톰슨 라이센싱 | 콘텐츠의 안전한 배포를 위한 방법, 장치 및 시스템 |
FR2909507B1 (fr) * | 2006-12-05 | 2009-05-22 | Medialive Sa | Procede et systeme de distribution securisee de donnees audiovisuelles par marquage transactionel |
BRPI0807731A2 (pt) * | 2007-02-21 | 2014-06-03 | Koninkl Philips Electronics Nv | Sistema de acesso condicional |
EP1968316A1 (en) * | 2007-03-06 | 2008-09-10 | Nagravision S.A. | Method to control the access to conditional access audio/video content |
FR2923126B1 (fr) * | 2007-10-30 | 2009-12-11 | Medialive | Procede et systeme de distribution securisee de donnees audiovisuelles par marquage transactionnel |
FR2932042B1 (fr) * | 2008-05-30 | 2010-05-07 | Viaccess Sa | Procedes et emetteurs par salves d'un contenu multimedia chiffre,support d'enregistrement pour ces procedes. |
EP2391125A1 (en) | 2010-05-26 | 2011-11-30 | Nagra France Sas | Security method for preventing the unauthorized use of multimedia contents |
US20120114118A1 (en) * | 2010-11-05 | 2012-05-10 | Samsung Electronics Co., Ltd. | Key rotation in live adaptive streaming |
JP2014510358A (ja) * | 2011-02-04 | 2014-04-24 | スノーフレイク・ソリューションズ・インコーポレーテッド | デジタル媒体用の固有の透かし |
MX337186B (es) | 2011-04-19 | 2016-02-16 | Nagravision Sa | Dispositivo decodificador de ethernet y metodo para acceder a contenido protegido. |
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 |
-
2013
- 2013-04-26 EP EP13165496.4A patent/EP2797333A1/en not_active Withdrawn
-
2014
- 2014-04-11 CN CN201480023510.9A patent/CN105247883B/zh active Active
- 2014-04-11 KR KR1020157029791A patent/KR102206142B1/ko active IP Right Grant
- 2014-04-11 CA CA2908401A patent/CA2908401A1/en not_active Abandoned
- 2014-04-11 JP JP2016509370A patent/JP6297137B2/ja active Active
- 2014-04-11 WO PCT/EP2014/057331 patent/WO2014173697A1/en active Application Filing
- 2014-04-11 US US14/786,917 patent/US9571899B2/en active Active
- 2014-04-11 SG SG11201508182QA patent/SG11201508182QA/en unknown
- 2014-04-11 BR BR112015027098A patent/BR112015027098A8/pt active Search and Examination
- 2014-04-11 EP EP14716581.5A patent/EP2989803B1/en active Active
- 2014-04-11 MX MX2015014775A patent/MX347134B/es active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
SG11201508182QA (en) | 2015-11-27 |
MX347134B (es) | 2017-04-17 |
KR20160002778A (ko) | 2016-01-08 |
CN105247883A (zh) | 2016-01-13 |
WO2014173697A1 (en) | 2014-10-30 |
JP6297137B2 (ja) | 2018-03-20 |
EP2989803B1 (en) | 2019-03-27 |
BR112015027098A8 (pt) | 2019-12-24 |
JP2016522612A (ja) | 2016-07-28 |
CN105247883B (zh) | 2018-08-24 |
BR112015027098A2 (pt) | 2017-07-25 |
CA2908401A1 (en) | 2014-10-30 |
US20160088366A1 (en) | 2016-03-24 |
US9571899B2 (en) | 2017-02-14 |
EP2797333A1 (en) | 2014-10-29 |
MX2015014775A (es) | 2016-03-04 |
EP2989803A1 (en) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102206142B1 (ko) | 미디어 콘텐츠를 워터마킹하기 위한 방법 및 그 방법을 구현하기 위한 시스템 | |
US10769252B2 (en) | Method and apparatus for watermarking of digital content, method for extracting information | |
US8627482B2 (en) | Method, apparatus and system for secure distribution of content | |
US8363258B2 (en) | Content transmission device, content transmission method, and computer program used therewith | |
US8099369B2 (en) | Method and system for securing content in media systems | |
US10691830B2 (en) | Systems and methods for preserving privacy in distribution of digital content using private tokens | |
US20100100742A1 (en) | Transport Stream Watermarking | |
TWI452888B (zh) | 記錄的多媒體內容之保護方法 | |
US10015564B2 (en) | Method to watermark a compressed content encrypted by at least one content key | |
KR20080082468A (ko) | 멀티미디어 시스템 온 칩 내에 워터마크를 삽입하는 방법및 시스템 | |
CN108476337B (zh) | 从数字内容识别外围设备的方法和设备 | |
CN103250423B (zh) | 用于接收借助控制字加扰的多媒体内容和captcha的方法 | |
TW201811064A (zh) | 用於加浮水印於數位內容之使用者單元,用於傳送及用於加浮水印於內容之方法,及用於檢測至少一個浮水印之方法 | |
EP3610652B1 (en) | Receiving audio and/or video content | |
WO2011064672A1 (en) | Method for transfer of access criteria for multi-domain and trans-domain distribution of video and other media content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |