KR101278075B1 - 재생 장치, 정보 기록 매체 제조 장치 및 방법, 기록 매체 및 오서링 장치 - Google Patents

재생 장치, 정보 기록 매체 제조 장치 및 방법, 기록 매체 및 오서링 장치 Download PDF

Info

Publication number
KR101278075B1
KR101278075B1 KR1020087001134A KR20087001134A KR101278075B1 KR 101278075 B1 KR101278075 B1 KR 101278075B1 KR 1020087001134 A KR1020087001134 A KR 1020087001134A KR 20087001134 A KR20087001134 A KR 20087001134A KR 101278075 B1 KR101278075 B1 KR 101278075B1
Authority
KR
South Korea
Prior art keywords
data
conversion
content
processing
information
Prior art date
Application number
KR1020087001134A
Other languages
English (en)
Other versions
KR20080027347A (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 KR20080027347A publication Critical patent/KR20080027347A/ko
Application granted granted Critical
Publication of KR101278075B1 publication Critical patent/KR101278075B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/0042Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the copy protection scheme being related to a specific access protection standard
    • G11B20/00449Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the copy protection scheme being related to a specific access protection standard content scrambling system [CSS]
    • 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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1288Formatting by padding empty spaces with dummy data, e.g. writing zeroes or random data when de-icing optical discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

정보 기록 매체에 기록된 컨텐츠를 재생하는 정보 처리 장치는, 정보 기록 매체에 기록된 컨테츠 구성 데이터에 대하여 치환 처리를 실행하는 데이터 변환 프로세서를 포함한다. 데이터 변환 프로세서는, 변환 데이터를 치환 데이터로 하여, 변환 데이터의 기록 위치 정보를 갖는 변환 테이블에 따라, 컨텐츠 구성 데이터를 치환한다.
Figure R1020087001134
변환 테이블, 배타 논리합 연산, 치환 데이터, 브로큰 데이터, 컨텐츠 구성 데이터

Description

재생 장치, 정보 기록 매체 제조 장치 및 방법, 기록 매체 및 오서링 장치{PLAYING APPARATUS, METHOD AND APPARATUS FOR MANUFACTURING INFORMATION RECORDING MEDIUM, RECORDING MEDIUM, AND AUTHORING APPARATUS}
본 발명은 정보 처리 방법 및 장치와, 정보 기록 매체 제조 방법 및 장치와, 정보 기록 매체와, 컴퓨터 프로그램에 관한 것으로, 보다 구체적으로는, 이용 및 관리될 다양한 컨텐츠에 대한 데이터 변환 처리에 의해, 부정한 컨텐츠 이용을 배제하고, 엄격한 컨텐츠 이용 및 관리를 실현하는 정보 처리 방법 및 장치와, 정보 기록 매체 제조 방법 및 장치와, 정보 기록 매체와, 컴퓨터 프로그램에 관한 것이다.
음악 등의 오디오 데이터, 영화 등의 화상 데이터, 게임 프로그램, 각종 소프트웨어 프로그램을 포함하는 다양한 소프트웨어 데이터(이하, 이들을 컨텐츠로 지칭함)는 청색 레이저를 적용한 블루-레이(Blue-ray) 디스크, DVD, MD(Mini Disc) 및 CD(Compact Disc)를 포함한 기록 매체에 디지털 데이터로 저장될 수 있다. 특히, 청색 레이저를 이용한 블루-레이 디스크는 고밀도 기록이 가능한 디스크이며, 대용량의 영상 컨텐츠 등을 고화질 데이터로서 기록할 수 있다.
디지털 컨텐츠가 저장된 이러한 다양한 정보 기록 매체는 사용자에게 제공되며, 각각의 사용자는 자신의 개인용 컴퓨터(PC) 및 디스크 플레이어 등의 재생 장치에서 컨텐츠를 재생하여 이용한다.
음악 데이터, 화상 데이터 등의 많은 컨텐츠는 일반적으로 그 작성자 또는 판매자에게 반포권이 소유되어 있다. 따라서, 이들 컨텐츠의 배포에 대해서는 일정한 이용 제한, 즉 정규의 사용자에 대하여만 컨텐츠의 이용을 허락하고, 허가되지 않은 복제 등이 행해지지 않도록 하는 구성을 취하는 것이 일반적이다.
현재, 디지털 기록 장치 및 기록 매체는 폭넓게 사용되고 있다. 디지털 기록 장치 및 기록 매체는 화상이나 음성을 열화시키지 않고 기록 또는 재생을 반복하는 것이 가능하기 때문에, 부정 카피 컨텐츠의 인터넷을 통한 분배, 컨텐츠를 CD-R 등에 카피한 이른바 해적판 디스크의 유통, PC 등의 하드 디스크에 저장한 불법 복제 컨텐츠의 이용이 만연되고 있다는 문제가 발생하고 있다.
DVD 또는 최근 개발이 진행되고 있는 청색 레이저를 이용한 기록 매체 등의 대용량형 기록 매체는, 1개의 매체에 예컨대 영화 1개 내지 수개 분의 대량의 데이터를 디지털 정보로서 기록할 수 있다. 이와 같이 영상 정보 등을 디지털 정보로서 기록하는 것이 용이하게 되었다는 점을 감안하여, 불법 카피를 방지함으로써 저작권자의 보호를 도모하는 것이 더욱 중요한 과제로 되고 있다. 최근에서는, 이와 같은 디지털 데이터의 불법 카피를 방지하기 위하여, 디지털 기록 장치 및 기록 매체에 위법한 카피를 방지하기 위한 다양한 기술이 통합되어 있다. 이러한 기술은 일본 특허 출원 번호 11-39220호에 개시되어 있다.
예컨대, DVD 플레이어에서는 컨텐츠 스크램블 시스템(CSS : Content Scramble System)이 사용되고 있다. 컨텐츠 스크램블 시스템에서는, 예컨대, DVD-ROM(Read Only Memory)에 비디오 데이터 또는 오디오 데이터가 암호화되어 기록되어 있기 때문에, 데이터의 스크램블을 해제함으로써 컨텐츠 재생이 가능하게 된다.
스크램블 해제 처리에서는, 라이센스를 받은 DVD 플레이어에만 암호화된 데이터를 복호화하기 위한 키가 제공된다. 라이센스는 부정 카피를 행하지 않는 등의 소정의 동작 규정을 따르도록 설계된 DVD 플레이어에 부여된다. 따라서, 라이센스를 받은 DVD 플레이어에서는, 주어진 키 등의 특정 데이터를 이용하여, DVD-ROM에 기록된 암호화된 데이터를 복호화함으로써, DVD-ROM으로부터 화상이나 음성을 재생할 수 있다.
한편, 라이센스를 받지 못한 DVD 플레이어는, 암호화된 데이터를 복호화하기 위한 키 등의 특정 데이터를 갖고 있지 않으므로, DVD-ROM에 기록된 암호화된 데이터의 재생을 행할 수 없다. 이와 같이, 컨텐츠 스크램블 시스템에서는, 라이센스시에 요구되는 조건을 충족하지 못하는 DVD 플레이어는, DVD-ROM으로부터 디지털 데이터의 재생을 행할 수 없게 되어, 부정 카피가 방지되도록 되어 있다.
그러나, 이와 같은 컨텐츠 스크램블 시스템에서는, 재생 처리를 실행하는 사용자 디바이스로서의 정보 처리 장치측의 처리 부하가 높아진다는 문제가 있다. 또한, 기존의 컨텐츠 스크램블 시스템 중에는, 이미 스크램블 해제 방법이 해독되어 해독 방법이 인터넷 등의 통신 수단을 통하여 유통되고 있는 것도 많이 존재한다. 이와 같이, 일단 스크램블 방법이 해독되어 버리면, 부정한 스크램블 해제 처 리에 의해 컨텐츠가 부정으로 재생 및 복제되어, 컨텐츠의 저작권 및 이용권의 침해라는 문제가 발생한다. 스크램블 방법이 해독되면, 특정한 장치가 무효화(revokation)될 수 있다. 어느 장치를 무효화할지에 관한 정보를 획득하는 것이 필요하다.
본 발명은, 이와 같은 상황을 감안하여 이루어진 것으로, 데이터 치환을 주로 하는 데이터 변환 처리를 수행하여, 정보 처리 장치측의 부하를 감소시키고, 컨텐츠의 부정 이용을 제어하며, 허가된 이용이 디바이스에 대해 행해지는 경우 그 디바이스를 식별하는 정보 처리 방법 및 장치와, 정보 기록 매체 제조 방법 및 장치와, 정보 기록 매체와, 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.
본 발명의 일실시예에 따르면, 정보 기록 매체에 기록된 컨텐츠를 재생하는 정보 처리 장치는, 상기 정보 기록 매체에 기록된 컨텐츠 구성 데이터(content member data)에 대해 치환 처리를 실행하는 데이터 변환 프로세서를 포함하며, 상기 데이터 변환 프로세서는, 변환 데이터를 치환 데이터로 하여, 상기 변환 데이터의 기록 위치 정보를 갖는 변환 테이블(fix-up table)에 따라, 상기 컨텐츠 구성 데이터를 치환한다.
바람직하게는, 상기 데이터 변환 프로세서는, 상기 정보 기록 매체에 기록된 정당한 컨텐츠(authorized content)와 상이한 브로큰 데이터(broken data)를, 정당한 컨텐츠 데이터를 포함하는 변환 데이터로 치환한다.
상기 데이터 변환 프로세서는, 상기 정보 기록 매체에 기록된 컨텐츠의 일부를, 컨텐츠 재생 장치 및 컨텐츠 재생 어플리케이션 프로그램 중의 하나를 식별하는 식별 정보의 구성 비트를 해석하기 위한 데이터를 포함하는 변환 데이터로 치환할 수도 있다.
상기 데이터 변환 프로세서는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블(partial fix-up table)에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 실행함으로써, 상기 치환 데이터로서의 상기 변환 데이터를 취득할 수도 있다.
상기 데이터 변환 프로세서는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 배타 논리합(XOR) 연산 처리를 실행함으로써, 상기 치환 데이터로서의 상기 변환 데이터를 취득할 수도 있다.
바람직하게는, 상기 데이터 변환 프로세서는, 상기 상이한 파라미터를 산출하는 산출 처리를, 상기 컨텐츠를 재생하는 재생 처리 또는 상기 컨텐츠를 외부에 출력하는 출력 처리에 동기하여, 간헐적인 처리로서 실행하며, 간헐적으로 산출된 상기 상이한 파라미터에 따라 실행되는 연산 처리 또는 암호 처리를 통해, 상이한 컨텐츠 구성 데이터에 대응하는 변환 데이터를 취득한다.
상기 데이터 변환 프로세서는, 상기 파라미터 산출 처리를 버추얼 머신(virtual machine)에 의해 실행할 수도 있다.
바람직하게는, 상기 데이터 변환 프로세서는, 상기 컨텐츠가 기록되어 있는 상기 정보 기록 매체로부터 상기 변환 테이블을 취득하고, 상기 변환 테이블에 기초하여 상기 치환 데이터로서의 상기 변환 데이터 및 상기 변환 데이터의 기록 위치 정보를 분석한다.
바람직하게는, 상기 데이터 변환 프로세서는, 상기 정보 기록 매체에 기록되어 있는 상기 컨텐츠의 구성 패킷 내에 분포된 분할 변환 테이블을 연속적으로 취득하며, 상기 분할 변환 테이블로부터, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 상기 치환 데이터로서의 상기 변환 데이터와, 상기 변환 데이터의 기록 위치 정보를 취득한다.
상기 정보 처리 장치는, 상기 정보 기록 매체에 기록된 상기 컨텐츠에 대해 복호 처리를 실행하는 복호 프로세서를 더 포함하며, 상기 데이터 변환 프로세서는, 상기 복호 프로세서로부터의 복호된 컨텐츠의 컨텐츠 구성 데이터를 상기 변환 데이터로 치환할 수도 있다.
본 발명의 다른 실시예에 의하면, 정보 기록 매체를 제조하는 장치는, 정당한 컨텐츠 구성 데이터와 상이한 브로큰 데이터를 포함하는 컨텐츠, 상기 브로큰 데이터의 치환 대상으로 되는 상기 정당한 컨텐츠 구성 데이터로서의 변환 데이터를 가지고, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블, 및 상기 변환 테이블이 적용된 컨텐츠 구성 데이터에 대한 치환 처리에서 사용되는 실행 명령을 포함하는 데이터 변환 프로그램을 생성하는 데이터 프로세서, 및 상기 브로큰 데이터를 포함하는 컨텐츠, 상기 변환 테이블, 및 상기 데이터 변환 프로그램을 정보 기록 매체에 기록하는 데이터 레코더를 포함한다.
바람직하게는, 상기 데이터 프로세서는, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 갖는 변환 테이블을 생성하며, 상기 데이터 레코더는, 상기 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 갖는 변환 테이블을 기록한다.
바람직하게는, 상기 데이터 프로세서는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블 데이터에 대해 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 이용하여 난독화되는 변환 테이블을 생성하며, 상기 데이터 레코더는 난독화된 상기 변환 테이블을 기록한다.
바람직하게는, 상기 데이터 프로세서는, 상기 브로큰 데이터를 포함하는 컨텐츠의 스트림 패킷 내에 난독화된 상기 변환 테이블이 산재되어 있는, 컨텐츠 데이터를 생성하며, 상기 데이터 레코더는, 난독화된 상기 변환 테이블이 산재되어 있는 상기 컨텐츠 데이터를 기록한다.
본 발명의 또 다른 실시예에 의하면, 데이터를 저장하는 정보 기록 매체는, 저장된 상기 데이터의 일부에 대한 치환 대상으로 되는 변환 데이터, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 포함하는 변환 테이블, 및 상기 변환 테이블이 적용된 컨텐츠 구성 데이터에 대한 치환 처리에 사용되는 실행 명령을 포함하는 데이터 변환 프로그램을 저장한다.
바람직하게는, 상기 변환 테이블의 등록 정보는, (a) 상기 등록 정보가 브로큰 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터에 관한 것인지, 또는 (b) 상기 등록 정보가 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식(embedding)하기 위한 식별 마크를 갖는 변환 데이터에 관한 것인지를 식별하는 타입 식별자를 포함한다.
상기 변환 테이블의 등록 정보가, 상기 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인 경우, 상기 변환 테이블의 상기 등록 정보는, 상기 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 더 포함할 수도 있다.
상기 변환 테이블은, 복수의 비트로 이루어지는 상기 컨텐츠 재생 장치 또는 상기 컨텐츠 재생 어플리케이션 프로그램의 식별 정보 중에서, 처리 모드를 결정하기 위해 참조해야 할 비트의 위치 정보를 포함할 수도 있다.
상기 변환 테이블은, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 이용하여 난독화될 수도 있다.
난독화된 상기 변환 테이블이 상기 브로큰 데이터를 포함하는 컨텐츠의 스트림 패킷 내에 산재되어 있는 컨텐츠 데이터가, 또한 기록 데이터로서 기록되어 있을 수도 있다.
본 발명의 또 다른 실시예에 의하면, 컨텐츠 데이터의 일부에 대한 치환 대상으로 되는 변환 데이터와, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블을 포함하는 데이터 구조로서, 상기 변환 테이블의 등록 정보는, (a) 상기 등록 정보가 브로큰 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터에 관한 것인지, 또는 (b) 상기 등록 정보가 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 것인지를 식별하는 타입 식별자를 포함하는, 데이터 구조가 제공된다.
상기 변환 테이블의 등록 정보가, 상기 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 것인 경우, 상기 변환 테이블의 등록 정보는, 상기 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 포함할 수도 있다.
상기 변환 테이블은, 복수의 비트로 이루어지는 상기 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보 중에서 변환 대상 비트를 식별하기 위한 데이터 저장 영역을 포함할 수도 있다.
상기 변환 테이블은, 컨텐츠의 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블 데이터에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 이용하여 난독화될 수도 있다.
본 발명의 또 다른 실시예에 의하면, 정보 기록 매체에 기록된 컨텐츠를 재생하는 정보 처리 방법은, 상기 정보 기록 매체에 기록된 컨텐츠 구성 데이터에 대해 치환 처리를 실행하는 데이터 변환 처리 단계를 포함하며, 상기 데이터 변환 처리 단계는, 변환 데이터를 치환 데이터로 하여, 상기 변환 데이터의 위치 정보를 갖는 변환 테이블에 따라, 상기 컨텐츠 구성 데이터를 치환하는 단계를 포함한다.
상기 데이터 변환 처리 단계는, 상기 정보 기록 매체에 기록된 정당한 컨텐츠와 상이한 브로큰 데이터를, 상기 정당한 컨텐츠 데이터를 포함하는 변환 데이터로 치환하는 단계를 더 포함할 수도 있다.
상기 데이터 변환 처리 단계는, 상기 정보 기록 매체에 기록된 컨텐츠의 일부분을, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램을 식별하는 식별 정보의 구성 비트를 분석하기 위한 데이터를 포함하는 변환 데이터로 치환하는 단계를 더 포함할 수도 있다.
상기 데이터 변환 처리 단계는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 실행함으로써 상기 치환 데이터로서의 상기 변환 데이터를 취득하는 단계를 더 포함할 수도 있다.
상기 데이터 변환 처리 단계는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 배타 논리합(XOR) 연산 처리를 실행함으로써, 상기 치환 데이터로서의 상기 변환 데이터를 취득하는 단계를 더 포함할 수도 있다.
상기 데이터 변환 처리 단계는, 상기 상이한 파라미터를 산출하는 산출 처리를, 상기 컨텐츠를 재생하는 재생 처리 또는 상기 컨텐츠를 외부에 출력하는 출력 처리에 동기하여, 간헐적인 처리로서 실행하는 단계, 및 간헐적으로 산출된 상기 상이한 파라미터에 따라 실행되는 연산 처리 또는 암호 처리를 통해, 상이한 컨텐츠 구성 데이터에 대응하는 변환 데이터를 취득하는 단계를 더 포함할 수도 있다.
상기 데이터 변환 처리 단계는, 상기 파라미터 산출 처리를 버추얼 머신을 이용하여 실행하는 단계를 더 포함할 수도 있다.
상기 데이터 변환 처리 단계는, 상기 컨텐츠가 기록되어 있는 상기 정보 기록 매체로부터 상기 변환 테이블을 취득하고, 상기 변환 테이블에 기초하여 상기 치환 데이터로서의 상기 변환 데이터 및 상기 변환 데이터의 기록 위치 정보를 분석하는 단계를 더 포함할 수도 있다.
상기 데이터 변환 처리 단계는, 상기 정보 기록 매체에 기록되어 있는 상기 컨텐츠의 구성 패킷 내에 분포된 분할 변환 테이블을 연속적으로 취득하며, 상기 분할 변환 테이블로부터, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 상기 치환 데이터로서의 상기 변환 데이터와, 상기 변환 데이터의 기록 위치 정보를 취득하는 단계를 더 포함할 수도 있다.
상기 정보 처리 방법은, 상기 정보 기록 매체에 기록된 상기 컨텐츠에 대해 복호 처리를 실행하는 복호 처리 단계를 더 포함하며, 상기 데이터 변환 처리 단계는, 상기 복호 처리 단계에서 복호된 컨텐츠의 컨텐츠 구성 데이터를 상기 변환 데이터로 치환하는 단계를 더 포함할 수도 있다.
본 발명의 또 다른 실시예에 의하면, 정보 기록 매체를 제조하는 방법은, 정당한 컨텐츠 구성 데이터와 상이한 브로큰 데이터를 포함하는 컨텐츠, 상기 브로큰 데이터의 치환 대상으로 되는 상기 정당한 컨텐츠 구성 데이터로서의 변환 데이터를 갖고, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블, 및 상기 변환 테이블이 적용된 컨텐츠 구성 데이터에 대한 치환 처리에서 사용되는 실행 명령을 포함하는 데이터 변환 프로그램을 생성하는 데이터 처리 단계, 및 상기 브로큰 데이터를 포함하는 컨텐츠, 상기 변환 테이블, 및 상기 데이터 변환 프로그램을 정보 기록 매체에 기록하는 데이터 기록 단계를 포함한다.
상기 데이터 처리 단계는, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 갖는 변환 테이블을 생성하는 단계를 포함하며, 상기 데이터 기록 단계는, 상기 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 갖는 변환 테이블을 기록하는 단계를 포함할 수도 있다.
상기 데이터 처리 단계는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블 데이터에 대해 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 이용하여 난독화되는 변환 테이블을 생성하는 단계를 포함하며, 상기 데이터 기록 단계는 난독화된 상기 변환 테이블을 기록하는 단계를 포함할 수도 있다.
상기 데이터 처리 단계는, 상기 브로큰 데이터를 포함하는 컨텐츠의 스트림 패킷 내에 난독화된 상기 변환 테이블이 산재되어 있는, 컨텐츠 데이터를 생성하는 단계를 더 포함하며, 상기 데이터 기록 단계는, 난독화된 상기 변환 테이블이 산재되어 있는 상기 컨텐츠 데이터를 기록하는 단계를 더 포함할 수도 있다.
본 발명의 또 다른 실시예에 의하면, 정보 기록 매체에 기록된 컨텐츠를 정보 처리 장치가 재생할 수 있도록 하는 컴퓨터 프로그램은, 상기 정보 기록 매체에 기록된 컨텐츠 구성 데이터에 대하여 치환 처리를 실행하는 데이터 변환 처리 단계를 실행하기 위한 프로그램 코드를 포함하며, 상기 데이터 변환 처리 단계는, 변환 데이터를 치환 데이터로 하여, 상기 변환 데이터의 기록 위치 정보를 갖는 변환 테이블에 따라, 상기 컨텐츠 구성 데이터를 치환하는 단계를 포함한다.
그리고, 본 발명의 일실시예의 컴퓨터 프로그램은, 다양한 프로그램 코드를 실행 가능한 범용의 컴퓨터 시스템에 대하여, CD, 플로피 디스크(FD), 광자기 디스크(MO) 등의 컴퓨터 판독 가능한 기록 매체, 또는 네트워크 등의 통신 매체에 의해 제공된다. 컴퓨터 프로그램을 컴퓨터 판독 가능한 형식으로 제공함으로써, 컴퓨터 시스템은 컴퓨터 프로그램에 따른 처리를 수행한다.
본 발명의 이러한 특징 및 장점과 기타 다른 특징 및 장점은, 후술하는 본 발명의 상세한 설명 및 첨부 도면으로부터 더욱 명백해 질 것이다. 그리고, 본 명세서에서, 시스템은 복수 개의 장치의 논리적 집합 구성을 지칭하며, 각 구성의 장치가 동일 하우징 내에 있는 것으로 한정되지 않는다.
본 발명의 일실시예의 구성에 의하면, 정당한 컨텐츠 구성 데이터(authorized content member data)와 상이한 브로큰 데이터(broken data)를 포함하는 컨텐츠가 정보 기록 매체에 기록되며, 또한 브로큰 데이터의 치환 대상으로 되는 정당한 컨텐츠 구성 데이터인 변환 데이터와, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖고 있는 변환 테이블(fix-up table)이 정보 기록 매체에 기록된다. 컨텐츠 재생 처리 시에, 정보 기록 매체에 기록된 변환 테이블에 따라 컨텐츠 구성 데이터를 변환 데이터로 치환한다. 정보 기록 매체에 기록된 암호화 컨텐츠에 대응하는 암호 키의 누출이 발생한 경우에도, 변환 데이터를 취득할 수 없는 장치에서는 컨텐츠의 재생이 실행되지 않아, 컨텐츠의 부정 이용이 방지된다.
또한, 본 발명의 일실시예의 구성에 의하면, 변환 데이터는, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램을 식별하는 식별 정보의 비트를 포함한다. 만일 부정 컨텐츠가 유출된 경우에도, 변환 데이터를 분석함으로써, 부정 컨텐츠의 유출원(source)이 식별된다.
또한, 본 발명의 일실시예의 구성에 의하면, 변환 데이터를 유지하는 변환 테이블을 분할한 부분적인 변환 테이블(partial fix-up table)마다 상이한 파라미터를 적용한 연산 처리 또는 암호화 처리를 실행하는 설정으로 하였으므로, 어느 특정의 파라미터의 누출이 발생한 경우에도, 컨텐츠의 일부만의 재생이 허용될 뿐이며, 컨텐츠 전체의 누출이 발생할 가능성을 감소시키는 것이 가능하게 된다.
도 1은 정보 기록 매체의 저장 데이터의 구조와, 드라이브 및 정보 처리 장치의 구조 및 처리에 대하여 설명하는 도면이다.
도 2는 정보 기록 매체의 저장 컨텐츠에 대하여 설정된 컨텐츠 관리 유닛의 설정예에 대하여 설명하는 도면이다.
도 3은 정보 기록 매체의 저장 컨텐츠에 대하여 설정하는 컨텐츠 관리 유닛과 유닛 키 간의 대응에 대하여 설명하는 도면이다.
도 4는 정보 기록 매체의 저장 컨텐츠에 대하여 설정되는 디렉토리 구조에 대하여 설명하는 도면이다.
도 5는 변환 테이블 및 데이터 변환 프로그램의 디렉토리 구조에 대하여 설명하는 도면이다.
도 6은 제1 컨텐츠 재생 처리를 나타낸 도면이다.
도 7은 드라이브와 호스트 장치 사이에서 실행되는 상호 인증 시퀀스를 설명하는 도면이다.
도 8은 컨텐츠 재생 동안에 실행된 변환 데이터의 적용 처리에 대하여 설명하는 도면이다.
도 9는 정보 기록 매체에 기록된 데이터 변환 테이블의 데이터 구성에 대하여 설명하는 도면이다.
도 10은 제2 컨텐츠 재생 처리를 나타낸 도면이다.
도 11은 제3 컨텐츠 재생 처리를 나타낸 도면이다.
도 12는 변환 테이블 블록(FUT 블록) 단위로 난독화 처리가 되어 있는 변환 테이블의 데이터 구성에 대하여 설명하는 도면이다.
도 13은 변환 테이블 블록(FUT 블록) 단위로 난독화 처리가 되어 있지 않은 변환 테이블의 데이터 구성에 대하여 설명하는 도면이다.
도 14는 제4 컨텐츠 재생 처리를 나타낸 도면이다.
도 15는 제5 컨텐츠 재생 처리를 나타낸 도면이다.
도 16은 제6 컨텐츠 재생 처리를 나타낸 도면이다.
도 17은 컨텐츠를 포함하는 트랜스포트 스트림 패킷 내에 저장되는 변환 테이블의 데이터 구성에 대하여 설명하는 도면이다.
도 18은 제7 컨텐츠 재생 처리를 나타낸 도면이다.
도 19는 분할된 변환 테이블의 데이터 구성에 대하여 설명하는 도면이다.
도 20은 암호화 컨텐츠의 구성 데이터 내의 특정 패킷에 분산되어 있는 변환 테이블에 대하여 설명하는 도면이다.
도 21은 변환 데이터의 기록 구성에 대하여 설명하는 도면이다.
도 22는 제7 컨텐츠 재생 처리의 변형예를 나타낸 도면이다.
도 23은 제8 컨텐츠 재생 처리를 나타낸 도면이다.
도 24는 변환 테이블의 전체 데이터 구성을 나타낸 도면이다.
도 25는 변환 테이블 내에 포함되는 복수의 변환 테이블 블록(FUT 블록) 중 하나의 변환 테이블 블록의 데이터 구성을 나타낸 도면이다.
도 26은 변환 테이블 블록(FUT 블록) 내의 변환 데이터 엔트리의 데이터 구성을 나타낸 도면이다.
도 27은 제8 컨텐츠 재생 처리의 변형예를 나타낸 도면이다.
도 28은 변환 테이블의 변형예를 나타낸 도면이다.
도 29는 호스트 장치로서 어플리케이션을 실행하는 정보 처리 장치의 하드웨어 구성에 대하여 설명하는 도면이다.
이하, 도면을 참조하여 본 발명의 정보 처리 방법 및 장치와, 정보 기록 매체 제조 방법 및 장치와, 정보 기록 매체와, 컴퓨터 프로그램에 대하여 설명한다.
먼저, 정보 기록 매체(100)의 저장 데이터와, 정보 기록 매체(100)의 드라이브(120), 및 호스트 어플리케이션(150)의 개요에 대하여 설명한다. 도 1은 정보 기록 매체(100), 드라이브(120) 및 호스트 어플리케이션(150)을 나타낸다. 호스트 어플리케이션(150)은 데이터 재생(또는 기록) 어플리케이션 프로그램이며, 소정의 데이터 처리 시퀀스에 따라 PC 등의 정보 처리 장치의 하드웨어를 이용한 처리를 행한다.
블루-레이(Blu-ray) 디스크, DVD 등의 정보 기록 매체(100)는 정당한 컨텐츠 저작권 또는 반포권의 소유자의 허가 아래에서 디스크 제조 공장에서 제조된 정당한 컨텐츠를 저장하는 정보 기록 매체(ROM 디스크 등), 또는 데이터를 기록할 수 있는 정보 기록 매체(RE 디스크)이다. 그리고, 이하의 실시예에 대한 설명에서는, 정보 기록 매체의 예로서 디스크형의 매체를 설명하지만, 본 발명은 다양한 형태의 정보 기록 매체를 사용한 구성에도 적용할 수 있다.
도 1에 나타낸 바와 같이, 정보 기록 매체(100)는, 암호화 처리 및 일부 데이터의 치환 처리가 행해진 암호화 컨텐츠(101)와, 브로드캐스트 인크립션(broadcast encryption) 방식의 한 종류로서 알려진 트리 구조를 갖는 키 분배 방식에 따라 생성되는 암호 키 블록으로서의 미디어 키 블록(MKB : Media Key Block)(102)과, 컨텐츠 복호 처리에 적용되는 타이틀 키의 암호화된 형태인 데이터(Encrypted CPS Unit Key)로 구성되는 타이틀 키 파일(103)과, 컨텐츠의 카피 및 재생 제어 정보로서의 카피 제어 정보(CCI : Copy Control Information)를 포함하는 사용 허락 정보(104)와, 컨텐츠 중의 소정 영역의 치환 데이터에 대응하는 변환 데이터를 등록한 변환 테이블(Fix-up Table)(105)과, 등록된 변환 데이터에 응답하여 데이터 변환 처리를 실행하기 위한 처리 명령을 포함하는 데이터 변환 프로그램(106)을 포함한다. 도 1에 나타낸 데이터는 단지 하나의 예이며, 디스크의 종류 등에 따라 다소 상이할 수 있다. 이하, 이들 각종 정보의 개요에 대하여 설명한다.
정보 기록 매체(100)에는 다양한 컨텐츠가 저장된다. 예컨대, 정보 기록 매체(100)는 고선명 동화상 데이터인 HD(High Definition) 무비 컨텐츠 등의 AV(Audio Visual) 스트림, 특정한 규격으로 규정된 게임 프로그램, 화상 파일, 음성 데이터, 텍스트 데이터 등을 포함한 컨텐츠를 저장한다. 이들 컨텐츠는 특정한 AV 데이터 포맷에 따라 저장된 AV 포맷 규격 데이터이다. 구체적으로, 이들 컨텐츠는, 예컨대 블루-레이(Blu-ray) 디스크 ROM 규격 데이터로서, 블루-레이(Blu-ray) 디스크 ROM 규격 포맷으로 따라 저장된다.
또한, 정보 기록 매체(100)는 서비스 데이터로서 게임 프로그램, 화상 파일, 음성 데이터, 및 텍스트 데이터를 저장할 수 있다. 이들 컨텐츠는 특정한 AV 데이터 포맷에 따르지 않는 데이터 포맷을 갖는 데이터로서 저장될 수 있다.
컨텐츠의 종류로서는, 음악 데이터, 정지 화상 등의 화상 데이터, 게임 프로그램, 및 WEB 컨텐츠가 포함된다. 이들 컨텐츠에는, 정보 기록 매체(100)로부터의 데이터에만 응답하여 이용될 수 있는 컨텐츠 정보와, 정보 기록 매체(100)로부터의 데이터와 네트워크를 통해 서버로부터 제공되는 데이터를 조합하여 이용될 수 있는 컨텐츠 정보 등의 다양한 정보가 포함된다. 정보 기록 매체(100)에 저장되는 컨텐츠는, 구분 컨텐츠마다 상이한 키(CPS(컨텐츠 보호 시스템) 유닛 키, 단순히 유닛 키, 또는 타이틀 키로 지칭됨)가 할당되고, 그 후 암호화된다. 1개의 유닛 키가 할당되는 컨텐츠의 단위를 컨텐츠 관리 유닛(CPS 유닛)으로 지칭한다. 또한, 컨텐 츠는, 구성 데이터의 일부가 정확한 컨텐츠 데이터와 상이한 데이터에 의해 교체되는 브로큰 데이터일 수도 있다. 이러한 컨텐츠는 복호화 처리 만으로는 정확한 컨텐츠 재생이 실행될 수 없고, 재생을 행하는 경우에는, 브로큰 데이터를 변환 테이블에 등록된 데이터로 치환하는 처리를 필요로 한다. 이들 처리는 상세하게 후술될 것이다.
MKB(Media Key Block)(102)은 브로드캐스트 인크립션 방식의 한 종류에서의 트리 구조를 갖는 키 분배 방식에 따라 생성되는 암호 키 블록이다. MKB(102)는, 유효한 라이센스를 갖는 사용자의 정보 처리 장치에 저장된 디바이스 키(Kd)에 따른 복호 처리를 통해서만, 컨텐츠의 복호에 필요한 키인 미디어 키(Km)의 취득을 가능하게 한다. MKB(102)는 계층형 트리 구조에 따른 정보 분배 방식으로 분배된다. 사용자 디바이스(정보 처리 장치)가 유효한 라이센스를 가지는 경우에만, 미디어 키(Km)가 취득될 수 있다. 무효화 처리된 사용자 디바이스는 미디어 키(Km)의 취득이 불가능하게 된다.
라이센스 엔티티로서의 제어 센터는 MKB(102)에 저장되는 키 정보의 암호화에 사용하는 디바이스 키를 변경하여, 특정한 사용자 디바이스에 저장된 디바이스 키로는 복호 처리가 수행될 수 없도록 한다. 즉, 제어 센터는 컨텐츠 복호에 필요한 미디어 키를 취득할 수 없는 구성을 갖는 MKB(102)를 생성한다. 따라서, 제어 센터는 임의의 타이밍에서 부정한 디바이스를 배제시키고, 유효한 라이센스를 갖는 디바이스에 대해서만 복호 가능한 암호화 컨텐츠를 제공한다. 컨텐츠의 복호 처리에 대하여는 후술한다.
전술한 바와 같이, 각각의 컨텐츠 또는 복수의 컨텐츠의 집합은, 컨텐츠의 이용 관리를 위하여, 각각 개별적인 암호 키(타이틀 키 또는 CPS 유닛 키)로 암호화되어 정보 기록 매체(100)에 저장된다. 즉, AV(Audio Visual) 스트림, 음악 데이터, 동영상 및 정지 화상 등의 화상 데이터, 게임 프로그램, 및 WEB 컨텐츠는 컨텐츠 이용의 관리 단위로서의 유닛으로 분할되며, 각각의 분할된 유닛마다 상이한 타이틀 키를 생성하여 복호 처리를 행하는 것이 필요하다. 이 타이틀 키를 생성하기 위한 정보가 타이틀 키 데이터이며, 예컨대, 타이틀 키는 미디어 키 등에 의해 생성된 키로 암호화 타이틀 키를 복호함으로써 생성된다. 타이틀 키 데이터를 적용한 소정의 암호 키 생성 시퀀스에 따라, 각각의 유닛에 대한 타이틀 키가 생성되고, 그 후 컨텐츠의 복호가 실행된다.
사용 허락 정보(104)는 카피 및 재생 제어 정보(CCI)를 포함한다. 보다 구체적으로, 사용 허락 정보(104)는, 정보 기록 매체(100)에 저장된 암호화 컨텐츠(101)의 이용을 제어하기 위한 카피 제어 정보와, 암호화 컨텐츠(101)의 재생을 제어하기 위한 재생 제어 정보를 포함한다. 이 카피 및 재생 제어 정보(CCI)는, 컨텐츠 관리 유닛으로서 설정된 CPS 유닛의 개별 정보로서 설정되는 경우, 또는 복수의 CPS 유닛에 대해 일괄적으로 설정되는 경우 등의 다양한 설정이 가능하다.
전술한 바와 같이, 정보 기록 매체(100)에 저장된 암호화 컨텐츠(101)는 소정의 암호화 처리로 암호화되는 동시에, 컨텐츠 구성 데이터의 일부가 정확한 데이터와 상이한 브로큰 데이터로 구성되어 있다. 컨텐츠 재생 동작 동안, 이 브로큰 데이터를 정확한 컨텐츠 데이터인 변환 데이터로 치환하는 데이터 재기입 처리가 실행된다. 이 변환 데이터를 등록한 테이블이 변환 테이블(105)이다. 브로큰 데이터는 컨텐츠 중에 다수 산재되어 있다. 컨텐츠 재생 동안, 이들 복수의 브로큰 데이터를 변환 테이블에 등록된 변환 데이터로 재기입(치환)하는 처리가 실행된다. 암호 키가 누출되어 컨텐츠의 복호가 부정으로 행해진 경우에도, 컨텐츠의 복호만으로는 정확한 컨텐츠의 재생이 불가능하게 되어, 부정한 컨텐츠의 이용을 방지할 수 있다.
변환 테이블(105)은, 통상의 변환 데이터 외에, 컨텐츠 재생 장치 및 컨텐츠 재생 어플리케이션 프로그램 중 하나를 식별 가능하게 하는 식별 정보의 비트를 해석하기 위해 사용되는 데이터를 포함하는 변환 데이터가 포함된다. 구체적으로, 플레이어(호스트 어플리케이션 프로그램을 실행하는 장치)의 식별 데이터로서의 플레이어 ID 또는 플레이어 ID에 따라 생성된 식별 정보를 포함하는 "식별 마크(포렌직 마크(forensic mark))를 포함하는 변환 데이터"가 포함된다. 식별 마크를 포함하는 변환 데이터는, 컨텐츠의 재생에 영향을 주지 않은 범위 내에서 정확한 컨텐츠 데이터의 비트수를 약간 변경한 데이터이다. 이들 변환 데이터를 이용한 처리는 상세히 후술될 것이다.
도 1은 변환 테이블(105)을 별도의 데이터 파일로서 예시하고 있지만, 변환 테이블(105)을 별도의 파일로 하지 않고, 암호화 컨텐츠(101)의 패킷 중에 산재시켜 포함하게 한 구성으로 해도 된다. 변환 테이블(105)의 구성 및 처리에 대하여는 후술될 것이다.
데이터 변환 프로그램(106)은, 변환 테이블(105)의 변환 데이터에 따라 데이 터 변환 처리를 실행하기 위해 사용된다. 컨텐츠 재생을 행하는 호스트 장치가 데이터 변환 프로그램(106)을 수행한다. 보다 구체적으로, 도 1의 호스트 어플리케이션(150)의 데이터 변환 프로세서(154)가 데이터 변환 프로그램(106)을 실행한다.
호스트 어플리케이션(150)에서는, 데이터 변환 처리를 실행하는 버추얼 머신(VM)을 설정하고, 버추얼 머신(VM)은, 정보 기록 매체(100)로부터 판독한 데이터 변환 프로그램(106)을 실행하여, 변환 테이블(105)의 변환 데이터를 적용한다. 버추얼 머신은 복호 컨텐츠에 대하여 그 일부 구성 데이터의 데이터 변환 처리를 실행한다.
다음에, 호스트 어플리케이션(150) 및 드라이브(120)의 구성 및 처리의 개요에 대하여 도 1을 참조하여 설명한다. 정보 기록 매체(100)에 저장된 컨텐츠의 재생 처리는, 드라이브(120)를 통하여 호스트 어플리케이션(150)에 데이터를 전송함으로써 실행된다. 컨텐츠의 이용에 앞서, 드라이브(120)와 호스트 어플리케이션(150) 간에는 상호 인증 처리가 실행되며, 드라이브(120)와 호스트 어플리케이션(150)이 서로를 인증한 후, 드라이브(120)가 호스트 어플리케이션(150)에게 암호화 컨텐츠를 전송한다. 호스트 어플리케이션(150)측에서 컨텐츠의 복호 처리가 행해지고, 전술한 변환 테이블(105)에 따라 데이터 변환 처리가 실행되어, 컨텐츠 재생이 행해진다.
호스트 어플리케이션(150)과 드라이브(120) 간에 실행되는 상호 인증 처리에서는, 각각의 기기 또는 어플리케이션이 부정한 기기 또는 어플리케이션으로서 등록되어 있는지를 나타내는 제어 센터가 발행한 무효화 리스트(revocation list)를 참조하여, 상대방에 대한 정당성을 판정한다.
드라이브(120)는, 호스트 어플리케이션(150)의 증명서(공개키 증명서)의 무효화 정보를 저장한 호스트 CRL(Certificate Revocation List)를 저장하기 위한 메모리(122)를 갖는다. 호스트 어플리케이션(150)은, 드라이브의 증명서(공개키 증명서)의 무효화 정보를 저장한 드라이브 CRL(Certificate Revocation List)를 저장하기 위한 메모리(152)를 갖는다. 메모리(122, 152)는 비휘발성 메모리(NVRAM)이며, 예컨대, 정보 기록 매체(100)로부터 판독된 CRL이 새로운 버전인 경우에는, 각각의 데이터 프로세서(121, 151)는, 각각 메모리(122, 152)에 새로운 버전의 호스트 CRL 또는 드라이브 CRL를 저장하는 갱신 처리를 행한다.
호스트 CRL 및 드라이브 CRL 등의 CRL은 제어 센터에 의해 연속적으로 갱신된다. 즉 새로운 부정 기기가 발견되었을 경우, 제어 센터는 그 부정 기기에 대하여 발행된 증명서의 ID 또는 기기 ID 등을 신규 엔트리로 추가하여 갱신 CRL를 발행한다. 각각의 CRL에는 버전 번호가 부여되어 있고, 신구 비교가 가능한 구성으로 되어 있다. 예컨대, 드라이브(120)에 장착된 정보 기록 매체로부터 판독된 CRL가, 드라이브(120) 내의 메모리(122)에 저장된 CRL보다 신규의 것인 경우, 드라이브(120)는 CRL의 갱신 처리를 실행한다. 호스트 어플리케이션(150)도 마찬가지로 드라이브 CRL 갱신 처리를 실행한다.
드라이브(120)의 데이터 프로세서(121)는, CRL 갱신 처리 외에, 컨텐츠 이용 시의 호스트 어플리케이션(150)과의 인증 처리, 정보 기록 매체(100)로부터의 데이터 판독 처리, 및 호스트 어플리케이션(150)에 데이터를 전송하는 데이터 전송 처 리를 실행한다.
호스트 어플리케이션(150)은, 전술한 바와 같이, PC 등의 정보 처리 장치에서 실행되는 데이터 재생 및 기록 어플리케이션이며, 소정의 데이터 처리 시퀀스에 따라 PC 등의 정보 처리 장치의 하드웨어를 이용한 처리를 행한다.
호스트 어플리케이션(150)은, 드라이브(120)와의 상호 인증 처리 및 데이터 전송 제어 처리를 실행하는 데이터 프로세서(151), 암호화 컨텐츠의 복호 처리를 실행하는 복호 프로세서(153), 전술한 변환 테이블(105)의 등록 데이터에 따른 데이터 변환 처리를 실행하는 데이터 변환 프로세서(154), 및 디코드(예컨대, MPEG 디코드) 처리를 실행하는 디코드 프로세서(155)를 포함한다.
데이터 프로세서(151)는 호스트와 드라이브 간의 인증 처리를 실행하고, 인증 처리 시에는, 비휘발성 메모리(NVRAM)로서의 메모리 "a"(152)에 저장된 드라이브 CRL를 참조하여, 드라이브(120)가 무효화된 드라이브가 아닌지를 확인한다. 호스트 어플리케이션(150)은 메모리 "a"(152)에 새로운 버전의 드라이브 CRL를 저장하는 갱신 처리를 행한다.
복호 프로세서(153)는, 메모리 "b"(156)에 저장된 각종 정보, 및 정보 기록 매체(100)로부터의 판독 데이터를 참조하여, 컨텐츠의 복호에 적용되는 키를 생성하고, 암호화 컨텐츠(101)의 복호 처리를 실행한다. 데이터 변환 프로세서(154)는, 정보 기록 매체(100)로부터 취득되는 데이터 변환 프로그램(106)에 따라, 정보 기록 매체(100)로부터 취득되는 변환 테이블(105)에 등록된 변환 데이터를 이용하여 컨텐츠의 구성 데이터에 대한 치환 처리(재기입 처리)를 실행한다. 디코드 프 로세서(155)는 디코드(예컨대, MPEG 디코드) 처리를 실행한다.
호스트 어플리케이션(150)의 메모리 "b"(156)에는, 디바이스 키(Kd), 상호 인증 처리에 적용 가능한 키 정보, 및 복호 처리에 적용 가능한 키 정보가 저장된다. 그리고, 컨텐츠의 복호 처리에 대해서는 상세히 후술될 것이다. 디바이스 키(Kd)는 MKB(102)의 처리에 적용되는 키이다. MKB(102)는, 유효한 라이센스를 갖는 사용자의 정보 처리 장치에 저장된 디바이스 키(Kd)에 따른 복호 처리를 통해서만, 컨텐츠의 복호에 필요한 키의 획득을 가능하게 한다. MKB(102)는 계층을 이루고 있는 트리 구조의 정보 분배 시스템에 분배된다. 암호화 컨텐츠의 복호 동안, 호스트 어플리케이션(150)은, 메모리 b(156)에 저장된 디바이스 키(Kd)를 적용하여 MKB 처리를 실행하게 된다. 그리고, 컨텐츠의 복호 처리에 대해서는 상세히 후술될 것이다.
전술한 바와 같이, 정보 기록 매체에 저장되는 컨텐츠는, 유닛마다의 상이한 이용 제어를 실현하기 위해, 유닛마다 상이한 키가 할당되고 암호화 처리가 행해져 저장된다. 보다 구체적으로, 컨텐츠는 컨텐츠 관리 유닛(CPS 유닛)으로 분할되고, 개별적인 암호화 처리가 행해져 개별적인 이용 관리가 행해진다.
컨텐츠 이용 동안, 각 유닛에 할당된 CPS 유닛 키(타이틀 키)를 취득하는 것이 필요하며, 또한 그 외의 필요한 키 및 키 생성 정보를 적용하여 미리 정해진 복호 처리 시퀀스에 따른 데이터 처리를 실행하여 재생을 행한다. 이하에서는, 컨텐츠 관리 유닛(CPS 유닛)의 설정 모드에 대하여 도 2를 참조하여 설명한다.
도 2에 나타낸 바와 같이, 컨텐츠는, 인덱스(210), 무비 오브젝트(220), 플 레이 리스트(230), 및 클립(240)으로 이루어진 계층 구조를 갖는다. 재생 어플리케이션 프로그램에 의해 액세스되는 타이틀 등의 인덱스를 지정하면, 타이틀에 관련된 재생 프로그램이 지정된다. 지정된 재생 프로그램의 프로그램 정보에 따라, 컨텐츠의 재생 순서를 규정한 플레이 리스트가 선택된다.
플레이 리스트에는, 재생 데이터 정보로서의 플레이 아이템이 포함된다. 플레이 리스트에 포함되는 플레이 아이템에 의해 규정되는 재생 구간으로서의 클립 정보에 따라, 컨텐츠 데이터로서의 AV 스트림 및 커맨드가 선택적으로 판독되어, AV 스트림의 재생과 커맨드의 실행이 행해진다. 다수의 플레이 리스트 및 플레이 아이템이 존재하며, 각각에 플레이 리스트 ID 및 플레이 아이템 ID가 태그(tag)되어 있다.
도 2는 2개의 CPS 유닛을 나타내고 있다. 이들 CPS 유닛은 정보 기록 매체(100)에 저장된 컨텐츠의 일부를 구성하고 있다. CPS 유닛(271, 272)의 각각은 인덱스로서의 타이틀, 재생 프로그램 파일로서의 무비 오브젝트, 플레이 리스트, 및 컨텐츠 데이터로서의 AV 스트림 파일을 포함하는 클립으로 구성되어 있다.
컨텐츠 관리 유닛(CPS 유닛)(271)에는, 타이틀1(211)과 타이틀2(212), 재생 프로그램(221∼223), 플레이 리스트(231, 232), 및 클립(241, 242)이 포함된다. 이들 2개의 클립(241, 242)에 포함되는 컨텐츠의 실질 데이터인 AV 스트림 데이터 파일(261, 262)이 적어도 암호화 데이터이다. 이 데이터는, CPS 유닛(271)에 대응시켜 설정된 암호 키로서의 타이틀 키(Kt1)(CPS 유닛 키로서 지칭됨)를 이용하여 암호화된 데이터이다.
컨텐츠 관리 유닛(CPS 유닛)(272)에는, 인덱스로서의 어플리케이션1(213), 재생 프로그램(224), 플레이 리스트(233), 클립(243)이 포함된다. 클립(243)에 포함되는 컨텐츠의 실질 데이터인 AV 스트림 데이터 파일(263)은 컨텐츠 관리 유닛(CPS 유닛)(272)에 대응하여 설정된 암호 키로서의 타이틀 키(Kt2)를 이용하여 암호화된다.
예컨대, 사용자가 컨텐츠 관리 유닛(271)에 대응하는 어플리케이션 파일 또는 컨텐츠 재생 처리를 실행하기 위해서는, 컨텐츠 관리 유닛(271)에 대응하여 설정된 암호 키로서의 타이틀 키(Kt1)를 취득하여 복호 처리를 실행하는 것이 필요하다. 컨텐츠 관리 유닛(272)에 대응하는 어플리케이션 파일 또는 컨텐츠 재생 처리를 실행하기 위해서는, 사용자는 컨텐츠 관리 유닛(272)에 대응하여 설정된 암호 키로서의 타이틀 키(Kt2)를 취득하여 복호 처리를 실행하는 것이 필요하다.
CPS(컨텐츠 보호 시스템) 유닛의 설정 구성, 및 이에 대응하는 타이틀 키를 도 3에 나타낸다. 도 3에 도시된 바와 같이, 정보 기록 매체(100)에 저장되는 암호화 컨텐츠의 이용 관리 단위로서의 CPS 설정 단위는, 대응하는 CPS 유닛에 적용된 타이틀 키에 대응한다. 그리고, 미리 후발 데이터용의 CPS 유닛 및 타이틀 키를 저장하여 설정하여 두는 것도 가능하다. 예컨대, 데이터부(281)가 후발 데이터용의 엔트리이다.
CPS 설정 단위는, 컨텐츠의 타이틀, 어플리케이션, 및 데이터 그룹 등의 여러 가지 요소가 될 수 있다. CPS 유닛 관리 테이블에는, 각각의 CPS 유닛에 대응하는 식별자로서의 CPS 유닛 ID가 나열되어 있다.
도 3에 도시된 바와 같이, 타이틀 1은 CPS 유닛 1이며, CPS 유닛 1에 속하는 암호화 컨텐츠를 복호하기 위해 타이틀 키(Kt1)가 생성된다. 그러므로, 복호 처리는 생성된 타이틀 키(Kt1)에 따라 실행된다.
이와 같이, 정보 기록 매체(100)에 저장되는 컨텐츠는, 유닛마다의 상이한 제어 처리를 실현하기 위해, 유닛마다 상이한 키가 할당되고 암호화 처리가 행해져 저장된다. CPS 유닛에 대한 개별적인 이용 관리를 위하여, 각각의 CPS 유닛에 대한 사용 허락 정보(UR: Usage Rule)가 설정되어 있다. 사용 허락 정보는, 전술한 바와 같이, 각각의 CPS 유닛에 포함되는 암호화 컨텐츠의 카피 제어 정보 및 재생 제어 정보 등의 카피 및 재생 제어 정보(CCI)를 포함한다.
타이틀 키의 생성에는, 정보 기록 매체(100)에 저장된 다양한 정보를 적용한 데이터 처리가 필요로 된다. 이들 처리의 구체예에 대해서는 상세하게 후술될 것이다.
다음에, 도 4를 참조하여, 도 2에 나타내는 계층 구조를 갖는 컨텐츠에 대응하는 디렉토리의 구성에 대하여 설명한다.
도 2의 인덱스(210)는 도 4에 나타낸 디렉토리 중의 "index.bdmv" 파일에 대응한다.
도 2의 무비 오브젝트(220)는 도 4의 디렉토리 중의 "MovieObject.bdmv" 파일에 대응한다.
도 2의 플레이 리스트(230)는 도 4의 디렉토리 중의 "PLAYLIST" 디렉토리 하의 파일에 대응한다.
도 2의 클립(240)은 도 4의 디렉토리 중의 "CLIPINF" 디렉토리 하의 파일 및 "STREAM" 디렉토리 하의 파일에서 동일한 파일 번호 갖는 파일에 대응하고 있다.
전술한 바와 같이, 정보 기록 매체(100)에 저장되는 컨텐츠는, 컨텐츠의 구성 데이터의 일부가 정확한 컨텐츠 데이터와 상이한 데이터에 의해 치환되는 브로큰 데이터로서 설정된다. 복호 처리 만으로는 정확한 컨텐츠를 재생할 수 없다. 정확한 컨텐츠를 재생하기 위해서는, 브로큰 데이터를 변환 테이블에 등록된 데이터로 치환하는 처리를 필요로 한다. 이 치환 처리에서는, 정보 기록 매체(100)에 저장된 데이터 변환 프로그램(106)을 적용하여, 변환 테이블(105)의 등록 데이터에 의한 데이터 변환 처리를 실행한다.
전술한 바와 같이, 변환 테이블(105) 및 데이터 변환 프로그램(106)이 정보 기록 매체(100)에 기록된다. 도 5는 도 4의 디렉토리 구조를 갖는 컨텐츠에 대응하는 변환 테이블과, 데이터 변환 프로그램의 디렉토리 구조를 나타낸다. 도 5에 도시된 바와 같이, 도 4의 디렉토리 구조를 가지는 AV 컨텐츠에 대하여 데이터 변환 프로그램(106)이 생성된다.
도 5의 "ContentCode.svm"이 데이터 변환 프로그램(106)에 대응한다.
도 5의 "FixUpXXXXX.tbl"은 클립 1개마다 정의되는 변환 테이블에 대응한다. 도 5의 "FixUpXXXXX.tbl"의 "XXXXX"는 대응하는 클립 정보 파일의 파일 번호와 일치한다.
드라이브(120)와 호스트 어플리케이션(150) 간에는 상호 인증 처리가 실행된다. 상호 인증이 성공적으로 완료되었다는 것을 전제로 하여, 드라이브(120)에 장 착한 정보 기록 매체(100)에 저장된 컨텐츠를 드라이브로부터 호스트 어플리케이션(150)에 전송하여 컨텐츠 재생 처리를 실행하는 경우의 복수의 재생 처리에 대하여 설명한다.
제1 컨텐츠 재생 처리를 도 6을 참조하여 설명한다. 도 6에는, 좌측으로부터, 암호화 컨텐츠를 저장하는 정보 기록 매체(310), 정보 기록 매체(310)를 장착하여 데이터의 판독을 실행하는 드라이브(330), 드라이브와 데이터 통신 가능하게 접속되고, 정보 기록 매체(310)에 저장된 컨텐츠를 드라이브(330)를 통하여 취득하여 제1 재생 처리를 실행하는 호스트 어플리케이션(350)을 나타내고 있다. 호스트 어플리케이션(350)은 예컨대 PC 등의 정보 처리 장치에 의해 실행된다.
정보 기록 매체(310)는, MKB(Media Key Block)(311), 타이틀 키 파일(312), 암호화 컨텐츠(313), 변환 테이블(314), 및 데이터 변환 프로그램(315)이 저장되어 있다. 호스트 어플리케이션(350)은, MKB(311)의 처리에 적용되는 디바이스 키(351)를 유지하고 있다.
도 6을 참조하여 제1 재생 처리 시퀀스를 설명한다. 제1 재생 처리 시퀀스에서, 어플리케이션(350)은 드라이브(330)를 통하여 정보 기록 매체(310)로부터 저장 컨텐츠를 취득한다. 먼저, 정보 기록 매체(310)의 저장 컨텐츠의 판독에 앞서, 호스트 어플리케이션(350) 및 드라이브(330)는 단계 S101에서 상호 인증 처리를 실행한다. 이 상호 인증 처리에서, 호스트 어플리케이션(350)은 드라이브(330)가 정당한 드라이브인지를 판단하고, 드라이브(330)는 호스트 어플리케이션(350)이 정당한 어플리케이션인지를 판단한다. 이 상호 인증 처리 시퀀스로는 다양한 처리가 적용될 수 있다. 그 일례를 도 7을 참조하여 설명한다.
도 7의 상호 인증 처리는 공개키 암호화 방식을 따른다. 먼저, 단계 S121에서, 드라이브(330)가 자신의 메모리(NVRAM)에 저장된 드라이브 공개키 증명서와 임의로 생성한 난수를 호스트 어플리케이션(350)에 송신한다. 단계 S122에서, 호스트 어플리케이션(350)이 자신의 메모리(NVRAM)에 저장된 호스트 공개키 증명서와 임의로 생성한 난수를 드라이브(330)에 송신한다.
단계 S123에서, 드라이브(330)는, 호스트 어플리케이션으로부터 수신한 호스트 공개키 증명서의 정당성과 호스트 어플리케이션(350)의 무효화 상황을, 호스트 증명서 무효화 리스트(호스트 CRL: Certificate Revocation list)에 따라 검증한다. 단계 S123에서, 드라이브(330)는 먼저 호스트 공개키 증명서에 설정된 서명을 검증한다. 도 7의 "ECDSA_V"는 타원 곡선 암호체계(elliptic curve cryptosystem)에 따른 서명 검증(Verification)의 실행을 나타내고 있다. 이 서명 검증은, 키 관리 엔티티의 비밀키에 대응하는 공개키를 이용하여 실행된다. 드라이브(330)는, 서명 검증용의 키 관리 엔티티의 공개키를 메모리에 유지하고, 이 공개키를 이용하여 서명 검증을 실행한다. 서명 검증을 통해, 드라이브(330)는 호스트 공개키 증명서가 변조되어 있지 않은 것임을 확인한다. 서명 검증에 의해, 호스트 공개키 증명서가 변조되어 있는 것으로 판명된 경우에는 처리를 중지한다.
또한, 호스트 공개키 증명서가 변조되지 않은 것으로 판정된 후, 드라이브(330)는 이 증명서가 무효화되어 있는 것이 아니라는 것을 호스트 CRL를 참조하여 확인한다. 호스트 CRL는, 호스트에 대해 발행된 공개키 증명서에 대하여, 무효 화된 증명서의 ID를 리스트화한 것이다. 호스트 CRL는 드라이브(330) 내의 메모리 또는 정보 기록 매체(310)로부터 취득된다.
드라이브(330)는, 변조가 없는 것으로 판정된 호스트 공개키 증명서로부터 ID를 취득하고, 이 ID가 호스트 CRL에 등록되어 있는 ID와 일치하는지 여부를 판정한다. 호스트 공개키 증명서의 ID와 일치하는 ID가 호스트 CRL에 존재하는 경우, 드라이브(330)는 그 호스트 어플리케이션이 무효화된 어플리케이션인 것으로 판정하고, 이후의 처리를 중지한다. 호스트 공개키 증명서로부터 취득한 ID가 호스트 CRL에 등록되어 있지 않은 경우에는, 드라이브(330)는 호스트 어플리케이션(350)이 무효화된 어플리케이션이 아닌 것으로 판정하고, 처리를 계속한다.
단계 S124에서, 호스트 어플리케이션(350)은 드라이브(330)로부터 수신한 드라이브 공개키 증명서에 따라 드라이브 공개키 증명서의 정당성을 확인(변조 검증)하고, 드라이브 CRL에 기초하여 드라이브(330)가 무효화된 것인지의 여부를 판정한다. 드라이브의 공개키 증명서가 정당한 것이고, 드라이브(330)가 무효화되어 있지 않은 것이 확인된 경우에만, 처리를 계속한다. 드라이브 CRL는 호스트 어플리케이션(350) 내의 메모리 또는 정보 기록 매체(310)로부터 취득된다.
드라이브(330) 및 호스트 어플리케이션(350)은, 각각 인증 결과를 드라이브 응답(drive response)(단계 S125에서)와 호스트 응답(단계 S126에서)으로서 통지한다. 이 인증 결과를 통지하기 위해, 드라이브(330) 및 호스트 어플리케이션(350)은 타원 곡선 암호체계 값으로서의 ECDH(Elliptic Curve Diffie-Hellman) 값을 생성하고, 생성된 값을 상대방에게 통지한다.
드라이브(330)는, 호스트 어플리케이션(350)으로부터 드라이브 인증 결과와 ECDH의 값을 수신하면, 단계 S127에서 호스트 응답을 검증하여, 드라이브 인증이 성공적으로 완료되었다는 것을 확인한다. 드라이브(330)는 수신한 ECDH의 값을 적용하여 공통 키로서의 세션 키(session key)를 생성한다. 호스트 어플리케이션(350)은, 드라이브(330)로부터 호스트 인증 결과와 ECDH의 값을 수신하면, 단계 S128에서 드라이브 응답을 검증하여, 호스트 인증이 성공적으로 완료되었다는 것을 확인한다. 호스트 어플리케이션(350)은 ECDH의 값에 따라 공통 키로서의 세션 키를 생성한다.
이와 같은 상호 인증 처리에 의해, 드라이브(330) 및 호스트 어플리케이션(350)은 공통 키로서의 세션 키를 공유한다.
도 6으로 복귀하여, 컨텐츠 이용 처리의 시퀀스에 대한 설명을 계속한다. 단계 S101에서, 드라이브(330)와 호스트 어플리케이션(350) 사이의 상호 인증이 실행되며, 세션 키(Ks)가 공유된다. 호스트 어플리케이션(350)은, 단계 S102에서, 정보 기록 매체(310)에 기록된 MKB(311)를 드라이브(330)를 통하여 취득하고, 메모리에 저장된 디바이스 키(351)를 적용한 MKB(311)의 처리를 실행한다. 호스트 어플리케이션(350)은 MKB(311)로부터 미디어 키(Km)를 취득한다.
전술한 바와 같이, MKB(311)은, 브로드캐스트 인크립션 방식으로서 알려진 트리 구조의 키 분배 방식에 따라 생성된다. MKB(311)는, 유효한 라이센스를 갖는 사용자의 정보 처리 장치에 저장된 디바이스 키(Kd)에 따른 복호 처리를 통해서만, 컨텐츠의 복호에 필요한 미디어 키(Km)의 취득을 가능하게 한다.
다음에, 단계 S103에서, 단계 S102에서의 MKB 처리로 취득한 미디어 키(Km)를 이용하여, 정보 기록 매체(310)로부터 판독한 타이틀 키 파일이 복호되어, 타이틀 키(Kt)가 취득된다. 정보 기록 매체(310)에 저장된 타이틀 키 파일은 미디어 키(Km)에 의해 암호화된 데이터를 포함하는 파일이다. 미디어 키(Km)를 적용한 처리에 의해 컨텐츠 복호에 적용된 타이틀 키(Kt)를 취득할 수 있다. 그리고, 단계 S103의 복호 처리는 예컨대 AES(Advanced Encryption Standard) 암호 알고리즘이 적용된다.
다음에, 호스트 어플리케이션(350)은, 드라이브(330)를 통하여 정보 기록 매체(310)로부터 암호화 컨텐츠(313)를 판독하고, 판독된 컨텐츠를 트랙 버퍼(352)에 저장한다. 단계 S104에서, 호스트 어플리케이션(350)은 트랙 버퍼(352)에 저장된 컨텐츠에 대하여 타이틀 키(Kt)를 적용한 복호 처리를 실행하고, 복호 컨텐츠를 취득한다.
복호 컨텐츠는, 평문 TS 버퍼(plain TS buffer)(353)에 저장된다. 평문 TS는 평문 트랜스포트 스트림을 의미한다. 여기서, 평문 TS 버퍼(353)에 저장되는 복호 컨텐츠는 전술한 브로큰 데이터를 포함하는 컨텐츠이며, 그 자체로는 재생되지 못하여, 소정의 데이터 변환 처리(재기입에 의한 데이터 치환)를 행할 필요가 있다.
이 데이터 변환 처리를 나타낸 것이 도 6의 블록(371)이다. 도 6의 블록(371)은 도 1에 나타낸 호스트 어플리케이션(150)의 데이터 변환 프로세서(154)의 처리에 대응한다. 이 데이터 변환 처리의 개요에 대하여 도 8을 참조하여 설명 한다.
도 6에 나타낸 암호화 컨텐츠(313)는 정보 기록 매체(310)에 저장된 암호화 컨텐츠이며, 이 암호화 컨텐츠는 호스트 어플리케이션(350)의 트랙 버퍼(352)에 저장된다. 암호화 컨텐츠는 도 8에 나타낸 트랙 버퍼 저장 데이터(401)에 대응한다.
호스트 어플리케이션(350)에서의 복호 처리에 의해, 트랙 버퍼 저장 데이터(401)로서의 암호화 컨텐츠가 복호되어, 복호된 데이터가 평문 TS 버퍼(353)에 저장된다. 이 복호된 데이터가 도 8에 나타낸 복호 데이터(402)에 대응한다.
복호 결과 데이터(402)에는, 정상적인 컨텐츠 구성 데이터와 상이한 브로큰 데이터(403)가 포함된다. 호스트 어플리케이션(350)의 데이터 변환 처리에서는, 이 브로큰 데이터(403)를, 도 6에 나타낸 정보 기록 매체(310)에 기록된 변환 테이블(314)로부터 취득되는 정확한 컨텐츠 구성 데이터로서의 변환 데이터(404)로 치환하는 처리를 실행한다. 이 치환 처리는 평문 TS 버퍼(353)에 기입된 데이터에 대한 일부 데이터의 재기입 처리로서 실행된다.
또한, 호스트 어플리케이션(350)에 의해 실행되는 데이터 변환 처리에서는, 브로큰 데이터를 정상적인 컨텐츠 데이터로서의 변환 데이터로 치환하는 처리뿐만 아니라, 도 8에 나타낸 바와 같이 식별 마크(포렌직 마크)를 포함하는 변환 데이터(405)에 의해, 복호 데이터(402)의 일부 구성 데이터를 치환하는 처리를 실행한다.
식별 마크를 이용하여, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션을 식별할 수 있도록 하는 식별 정보의 구성 비트가 분석될 수 있다. 보다 구체적으 로, 식별 마크는, 예컨대, 호스트 어플리케이션(350)을 실행하는 플레이어로서의 정보 처리 장치의 식별 정보(플레이어 ID 등)의 구성 데이터, 또는 플레이어 ID에 따라 생성되는 식별 마크이다. 식별 마크를 포함하는 변환 데이터는, 컨텐츠의 재생에 영향을 주지 않는 범위 내에서 정확한 컨텐츠 데이터의 비트값을 약간 변경한 데이터이다.
식별 마크를 포함하는 변환 데이터(405)는 컨텐츠 중에 다수 설정되고, 이들 복수개의 식별 마크를 포함하는 변환 데이터(405)를 모아서 분석함으로써, 예컨대, 플레이어 ID가 판별된다. 식별 마크를 포함하는 변환 데이터(405)는, 컨텐츠가 정상적으로 재생되도록 하는 범위 내에서 정확한 컨텐츠 데이터의 구성 비트를 변경한 데이터이며, MPEG 비트 스트림 해석에 의해 식별 마크 구성 비트의 판별을 가능하게 하는 데이터이다.
정보 기록 매체(30)에 저장되는 변환 테이블에는, 도 8의 변환 데이터(404)와, 식별 마크를 포함하는 변환 데이터(405)가 다수 등록되어 있다. 이 변환 테이블 저장 정보에 따른 데이터 변환 처리를 실행함으로써, 평문 TS 버퍼(353)에 저장된 데이터는, 도 8에 나타낸 변환 데이터(406)가 된다.
도 6으로 복귀하여, 점선 블록 "371" 내의 처리, 즉 호스트 어플리케이션(350)에서의 데이터 변환 처리에 대하여 설명한다. 데이터 변환 처리는, 예컨대, 호스트 어플리케이션(350) 내의 버추얼 머신(VM)으로서 설정되는 시큐어 VM(356)에 의해 실행된다. 시큐어 VM(356)은 중간 언어(intermediate language)를 직접 해석하여 실행하는 가상 컴퓨터이며, 명령 코드 정보를 플랫폼에 의존하지 않 는 중간 언어로 해석하여 실행한다.
시큐어 VM(356)은, 명령 코드 정보를 포함하는 데이터 변환 프로그램(315)을 정보 기록 매체(310)로부터 판독한다. 시큐어 VM(356)은, 이벤트 핸들러(354)에 의해 제어되고, 호스트 어플리케이션을 실행하고 있는 플레이어의 ID 정보 등의 플레이어 정보(355)를 수신한다. 시큐어 VM(356)은 정보 기록 매체(310)로부터 취득한 데이터 변환 프로그램(315)을 실행한다. 시큐어 VM(356)이 데이터 변환 처리를 정확하게 행하고 있는지의 여부를 판정하는 에뮬레이터 체크(emulator check)가 수행된다. 호스트 어플리케이션 또는 호스트 어플리케이션 실행 장치로서의 플레이어(정보 처리 장치)의 처리가 모니터링된다. 처리 에러 및 부정 처리 중의 하나가 검출된 경우에는, 시큐어 VM(356)에 의한 데이터 변환 처리가 중지된다.
시큐어 VM(356)은, 정보 기록 매체(310)로부터 판독한 변환 테이블을 이용하여, 도 6의 단계 S105에서의 데이터 변환 처리에서 나타낸 바와 같은 평문 TS 버퍼(353)에 저장된 데이터의 변환 처리를 실행한다. 도 8에 나타낸 복호 데이터(402)에 대하여, 브로큰 데이터(403)를 정당한 컨텐츠 구성 데이터인 변환 데이터(404)로 치환하고, 또한 식별 마크를 포함하는 변환 데이터(405)를 컨텐츠의 일부 데이터와 교체한다. 평문 TS 버퍼(353)의 저장 데이터는 변환 데이터로 갱신된다.
그 후, 변환된 TS(트랜스포트 스트림)는 네트워크를 통해 외부 출력되고, 외부의 재생 장치에서 재생된다. 단계 S106에서의 디멀티플렉싱 처리에 의해, 트랜스포트 스트림(TS)은 엘레멘터리 스트림(ES : Elementary Stream)으로 디멀티플렉 스된다. 엘레멘터리 스트림은, 단계 S107에서 디코드 처리가 행해진 후, 디스플레이 및 스피커에 출력되어 재생된다.
정보 기록 매체(310)에 기록되는 데이터 변환 테이블의 데이터 구성에 대하여 도 9를 참조하여 설명한다. 정보 기록 매체(310)에 기록되는 데이터 변환 테이블은 예컨대 도 9에 나타낸 구성을 갖는다.
데이터 변환 테이블은 다음을 포함한다:
Number of Fix-Up Entry : 변환 데이터 엔트리수
Fix-up Entry Length : 1 변환 엔트리의 바이트 수(Byte Length of one Fix-Up Entry() = (N+6))
SPN(소스 패킷 넘버) : 변환 패킷의 AV 스트림 파일의 개시 위치로부터의 패킷 넘버(Absolute Transformed Packet Number from the beginning of AV Stream File)
Byte Offset : 패킷 내의 변환 데이터의 개시 바이트 위치(Start byte position of transformed data in the packet)
player_id_bit_position : 포렌직 마크에 대한 플레이어 ID의 비트 위치
Fix-Up Data : 재기입될 값(하나의 TS 패킷에서 N 바이트가 형성됨).
1개의 컨텐츠 내에는, 다수의 브로큰 데이터가 산재되어 있고, 이 브로큰 데이터의 위치에 변환 테이블에 기록된 변환 데이터를 재기입한다. 플레이어 ID 등의 식별 마크를 가지는 변환 데이터를 기입하기 위한 다수의 기록 위치가 1개의 컨텐츠 데이터 내에 설정된다. 변환 테이블은, "실제 재기입 데이터로서의 (a)변환 데이터 및 (b)식별 마크를 포함하는 변환 데이터와, 이들 데이터의 기입 위치를 지정하는 정보로서의 테이블을 포함한다.
단위 면적당의 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)의 데이터 치환의 발생 빈도와, 또 변환 데이터의 사이즈에 대하여는, 다양한 설정이 가능하지만, 변환 데이터의 사이즈는 데이터 치환의 발생 빈도에 좌우된다. 예컨대, MPEG 컨텐츠의 토대(basis)인 1 GOP(Group Of Pictures)에 대해, 2개의 변환 데이터 또는 식별 마크를 포함하는 2개의 변환 데이터를 설정하는 구성에서는, 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)가 8 바이트인 경우에는, 변환 테이블이 약 400KB의 사이즈로 되고, 16 바이트인 경우에는, 변환 테이블이 약 600KB의 사이즈로 된다.
예컨대, MPEG 컨텐츠의 토대인 1 GOP(Group Of Pictures)에 대해, 5개의 변환 데이터 또는 식별 마크를 포함하는 변환 데이터를 설정하는 구성에서는, 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)가 8 바이트인 경우에는, 변환 테이블은 약 1 MB의 크기로 되고, 16 바이트인 경우에는, 변환 테이블은 약 1.5 MB의 사이즈로 된다.
호스트 어플리케이션(350)의 시큐어 VM(356)은, 정보 기록 매체(310)에 기록된 변환 테이블(314)에 의해 지정된 위치에, 변환 데이터 및 식별 마크를 포함하는 변환 데이터를 기입한다. 이 처리에서, 변환 데이터 또는 식별 마크를 포함하는 변환 데이터가 평문 TS 버퍼(353)에 저장된 데이터로 재기입된다. 이 처리의 결과, 평문 TS 버퍼(353) 내의 데이터는 도 8의 (3)의 데이터로 대체된다.
호스트 어플리케이션을 실장하고 있는 플레이어(정보 처리 장치 등)로부터의 컨텐츠의 출력 처리 또는 재생 처리는, 도 8의 (3)에 나타낸 변환 데이터에 기초하여 실행된다.
변환 데이터는 정확한 컨텐츠 구성 데이터이며, 식별 마크를 포함하는 변환 데이터는 정확한 컨텐츠 데이터의 재생에 적용되는 데이터이다. 그러므로, 정확한 컨텐츠는 이들 데이터에 따른 디코드 처리를 통해 재생된다. 이 컨텐츠가 부정한 방식으로 카피되어, 불법 카피 데이터가 다수 외부 유출된 경우에는, 식별 마크를 포함하는 변환 데이터를 해석함으로써, 플레이어 ID를 취득하는 것이 가능하며, 그러므로 불법 컨텐츠 데이터의 유출원이 식별된다.
제2 컨텐츠 재생 처리에 대하여 도 10을 참조하여 설명한다. 도 10은, 좌측으로부터, 암호화 컨텐츠를 저장하는 정보 기록 매체(310), 정보 기록 매체(310)를 장착하여 데이터의 판독을 실행하는 드라이브(330), 및 드라이브와 데이터 통신 가능하게 접속되고, 정보 기록 매체(310)에 저장된 컨텐츠를 드라이브(330)를 통하여 취득하여 제2 재생 처리를 실행하는 호스트 어플리케이션(350)을 나타내고 있다. 호스트 어플리케이션(350)은 예컨대 PC 등의 정보 처리 장치에 의해 실행된다.
도 10에는 정보 기록 매체(310)에 기록되어 있는 MKB 및 타이틀 키 파일이 도시되어 있지 않다. 호스트 어플리케이션(350)은, 정보 기록 매체(310)에 기록되어 있는 MKB를 산출하고, 타이틀 키 파일을 이용하여 도 6을 참조하여 설명한 것과 동일한 처리를 적용함으로써 타이틀 키(Kt)를 산출한다. 이들 처리 또한 도 10에는 생략되어 있다. 정보 기록 매체(310)에는, 또한 암호화 컨텐츠(313), 변환 테 이블(314), 데이터 변환 프로그램(315)이 저장되어 있다.
도 10의 제2 컨텐츠 재생 처리에서는, 점선 박스로 나타낸 블록 "381"의 처리를 리얼 타임으로 실행하고, 블록 "382"의 처리를 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 전의 일괄 처리로서 실행한다. 구체적으로, 시큐어 VM(356)은, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 전에, 명령 정보를 포함하는 데이터 변환 프로그램(315)을 정보 기록 매체(310)로부터 판독하고, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여 정보 기록 매체(310)로부터 판독한 변환 테이블(314)에 따라 복호 처리 등을 실행한다.
정보 기록 매체(310)에 기록된 변환 테이블(314)은, 예컨대, AES 암호화 또는 배타 논리합(XOR) 연산 등의 연산에 의해 난독화 처리가 행해진다. 시큐어 VM(356)은, 데이터 변환 프로그램(315)에 따라, 복호 처리 또는 소정의 연산 처리를 실행하여, 평문 데이터로서의 변환 테이블을 출력한다. 여기까지의 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작의 이전에 일괄 처리로서 실행된다.
그 후의 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다. 구체적으로, 단계 S201에서는 컨텐츠 복호 처리가 수행되고, 단계 S202에서는 데이터 변환 처리가 수행된다. 즉, 정보 기록 매체(310)에 기록된 변환 테이블(314)에 등록된 변환 데이터 및 식별 마크를 포함하는 변환 데이터가, 변환 테이블(314)에 지정된 위치에 기입된다. 변환된 TS(트랜스포트 스트림)의 외부 출력 처리가 실행된다. 단계 S203에서는, 디멀티플렉서 처리, 즉 트랜스포트 스트림(TS)을 엘레멘터리 스트림(ES)으로 디멀티플렉스하는 디멀티플렉싱 처 리가 수행된다. 단계 S204에서는 디코드 처리가 수행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.
이러한 처리 시퀀스는, 시큐어 VM(356)에 의한 변환 테이블(314)의 처리에 시간이 소요되는 경우에도, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작에 영향을 주지않고 리얼 타임으로 실현된다.
제3 컨텐츠 재생 처리에 대하여 도 11을 참조하여 설명한다. 도 10에서와 마찬가지로, 도 11은, 좌측으로부터, 암호화 컨텐츠를 저장하는 정보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. 도 11에 도시된 바와 같이, 도 10과 마찬가지로, MKB(Media Key Block), 타이틀 키 파일, 및 MKB와 타이틀 키 파일을 적용한 처리는, 도 6을 참조하여 설명한 제1 컨텐츠 재생 처리에서와 동일하므로, 본 명세서에서는 생략되어 있다.
도 11의 제3 컨텐츠 재생 처리에서는, 점선 박스로 나타낸 블록 "381"의 처리가 리얼 타임으로 실행되고, 블록 "383"의 처리가, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에 저빈도 처리로서 간헐적으로 실행된다. 시큐어 VM(356)은, 명령 코드 정보를 포함하는 데이터 변환 프로그램(315)을 판독하여, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 동안에, 간헐적으로, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 따라 정보 기록 매체(310)로부터 판독한 변환 테이블(314)의 복호 처리 등을 실행한다.
정보 기록 매체(310)에 기록된 변환 테이블(314)은, 변환 테이블(314)의 변환 테이블 블록(FUT 블록) 단위로 AES 암호화 또는 배타 논리합 연산 등의 연산에 의해 난독화 처리된다. 시큐어 VM(356)은, 데이터 변환 프로그램(315)에 따라, 각 변환 테이블 블록(FUT 블록) 단위로 복호 처리 또는 소정의 연산 처리를 실행하여, 평문 데이터로서의 블록 단위의 변환 테이블을 출력하며, 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에 간헐적으로 실행된다.
변환 테이블 블록(FUT 블록) 단위로 난독화 처리된 변환 테이블의 데이터 구성을 도 12 및 도 13을 참조하여 설명한다. 정보 기록 매체(310)에 기록되는 데이터 변환 테이블은 예컨대 도 12에 나타내는 데이터 구성을 갖는다. 데이터 FUT는 다음을 포함한다:
Number of FUT blocks: 변환 테이블 블록수
Length of FUT block: 하나의 변환 테이블 블록의 바이트 수
Number of Fix-Up Entry in FUT block: 1개의 FUT 블록 내의 변환 데이터 엔트리수(Number of Fix-Up Entry)
Length of one Fix-Up Entry: 하나의 변환 데이터 엔트리의 바이트 수
First SPN for FUT block: 각 변환 테이블 블록의 제1 엔트리의 데이터 기록 위치로서의 패킷 넘버
FUT block: 개별적으로 암호화 또는 연산 처리가 행해짐으로써 난독화된 부분적인 변환 테이블으로서의 변환 테이블 블록(FUT 블록).
부분적인 변환 테이블로서의 변환 테이블 블록(FUT 블록)의 데이터 구조를 도 13에 나타낸다. 테이블 블록은 이하의 데이터를 포함한다:
SPN: 변환 데이터 기록 패킷의 AV 스트림 파일의 개시 위치로부터의 패킷 수(Absolute Transformed Packet Number from the beginning of AV Stream File)
Byte Offset: 패킷 내의 변환 데이터의 기록 개시 위치를 나타내는 바이트 오프셋(Start byte position of transformed data in the packet)
FM_flag: 식별 마크를 갖는 변환 데이터에 대해 변환 처리를 행하는지의 여부를 설정한 플래그, 플래그 0은 모든 플레이어에서 변환을 실행, 플래그 1은 플레이어 ID의 해당하는 비트 위치의 비트값이 1인 경우에만 변환을 실행 등의 설정으로 된다.
player_id_bit_position: 포렌직 마크(플레이어 ID 등)에 대한 플레이어 ID의 비트 위치(indicating bit position of Player ID for forensic mark), 및
Fix-Up Data: 변환 데이터를 재기입(overwritting value(N bytes are transformed in one TS Packet))
도 13의 FUT는 개별적으로 암호화되거나 연산된 데이터로서 설정된다. 도 11의 시큐어 VM(356)은, 명령 코드 정보를 포함하는 데이터 변환 프로그램(315)을 정보 기록 매체(310)로부터 판독하며, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여, 정보 기록 매체(310)로부터 판독한 변환 테이블(314)에 따라, 복호 처리 또는 연산 처리를, FUT 블록 단위로 간헐적으로 실행한다. 시큐어 VM(356)은 평문 데이터로서의 부분적인 변환 테이블(FUT)을 취득한다. 이들 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에 간헐적으로 실행된다.
그 후의 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리와 병행하여 리얼 타임으로 실행된다. 보다 구체적으로, 단계 S201에서는 컨텐츠 복호 처리가 실행되고, 단계 S202에서는 데이터 변환 처리가 실행된다. 즉, 정보 기록 매체(310)에 기록된 변환 테이블(314)에 등록된 변환 데이터 및 식별 마크를 포함하는 변환 데이터가, 변환 테이블(314)에 지정된 위치에 따라 기입된다. 변환된 TS(트랜스포트 스트림)의 외부 출력 처리가 수행된다. 단계 S203에서는, 디멀티플렉싱 처리, 즉 트랜스포트 스트림(TS)을 엘레멘터리 스트림(ES)으로 디멀티플렉스하는 처리가 수행되고, 단계 S204에는 디코드 처리가 수행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리와 병행하여 리얼 타임으로 실행된다.
시큐어 VM(356)에 의한 변환 테이블(314)의 처리에 시간이 소요되는 경우에도, 이와 같은 처리 시퀀스는, 도 10의 제2 컨텐츠 재생 프로세스를 참조하여 앞서 설명한 바와 같은 컨텐츠 재생 동작 또는 컨텐츠 출력 동작에 영향을 주지않고 리얼 타임으로 실행된다. 시큐어 VM(356)은, 컨텐츠 재생 동작 및 컨텐츠 출력 동작에 필요한 변환 데이터를 동시에 생성하지 않고, 컨텐츠 부분 데이터의 일부에 대응하는 변환 데이터를 순서대로 생성한다. 컨텐츠 재생 처리에서 부정한 처리가 검출된 경우, 시큐어 VM(356)은 이벤트 핸들러(354)의 부정 처리 검출 정보에 응답하여 처리를 중지한다. 변환 데이터의 생성이 중지되고, 부정한 컨텐츠 재생 동작 또는 출력 동작을 그 도중에 종료시키는 것이 가능하게 된다.
다음에, 제4 컨텐츠 재생 처리예에 대하여 도 14를 참조하여 설명한다. 도 10 및 도 11과 마찬가지로, 도 14는, 좌측으로부터, 암호화 컨텐츠를 저장하는 정 보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. MKB(Media Key Block), 타이틀 키 파일 및 이들이 적용되는 처리는, 도 6을 참조하여 설명한 제1 컨텐츠 재생 처리에서와 동일하므로 생략되어 있다. 정보 기록 매체(310)는 암호화 컨텐츠(313), 변환 테이블(314), 및 데이터 변환 프로그램(315)을 저장한다.
도 14의 제4 컨텐츠 재생 처리에서, 점선으로 나타낸 블록 "381"의 처리는 리얼 타임으로 실행되고, 점선으로 나타낸 블록 "382"의 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전의 일괄 처리로서 실행된다. 시큐어 VM(356)은, 명령 정보를 포함하는 데이터 변환 프로그램(315)을 정보 기록 매체(310)로부터 판독하고, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여, 정보 기록 매체(310)로부터 판독된 변환 테이블(314)의 복호 처리를 실행한다.
시큐어 VM(356)은, 데이터 변환 프로그램(315)에 따라 복호 처리 또는 소정의 연산 처리를 실행하여, 평문 데이터로서의 변환 테이블을 취득한다. 이 처리의 결과, 취득한 평문 변환 테이블은 테이블 기억부(362)에 저장된다.
단계 S202에서의 데이터 변환 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 실시간 이벤트 핸들러(361)의 제어 하에 리얼 타임으로 실행된다. 실시간 이벤트 핸들러(361)의 제어 하에서, 테이블 기억부(362)에 평문 데이터로서 등록된 변환 데이터, 즉 변환 데이터 및 식별 마크를 포함하는 변환 데이터가, 변환 테이블(FUT)에 지정된 위치에 기입된다.
제4 컨텐츠 재생 처리의 처리 시퀀스는 도 10의 제2 컨텐츠 재생 처리의 처 리 시퀀스와 동일하다. 구체적으로, 단계 S201에서는 컨텐츠 복호 처리가 실행되고, 단계 S202에서는 데이터 변환 처리가 실행되며, 단계 S203에서는 디멀티플렉싱 처리가 실행되고, 단계 S204에서는 디코드 처리가 실행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.
도 10을 참조하여 설명한 제2 컨텐츠 재생 처리와 마찬가지로, 이 처리 시퀀스는, 시큐어 VM(356)에 의한 변환 테이블(314)의 처리에 시간이 소요되는 경우에도, 컨텐츠 재생 동작 및 컨텐츠 출력 동작에 영향을 주지않고 리얼 타임으로 실현된다.
제5 컨텐츠 재생 처리예에 대하여 도 15를 참조하여 설명한다. 도 15는, 좌측으로부터, 암호화 컨텐츠가 저장된 정보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. MKB(Media Key Block), 타이틀 키 파일 및 이들이 적용된 처리는, 도 6의 제1 컨텐츠 재생 처리에서와 동일하므로 생략되어 있다.
도 15의 제5 컨텐츠 재생 처리에서, 점선으로 표시된 블록 "381"의 처리는 리얼 타임으로 실행되고, 점선으로 나타낸 블록 "383"의 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 중에 낮은 빈도로 간헐적으로 실행된다. 시큐어 VM(356)은, 명령 정보를 포함하는 데이터 변환 프로그램(315)을 정보 기록 매체(310)로부터 판독하며, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여 정보 기록 매체(310)로부터 판독된 변환 테이블(314)의 복호 처리를 부분적으로 및 간헐적으로 실행한다.
변환 테이블(314)은, 호스트 어플리케이션(350) 내의 프리-로드(pre-load) 테이블 기억부(364)에 일시적으로 저장된다. 시큐어 VM(356)은, 프리-로드 테이블 기억부(364)에 저장된 테이블 데이터를 취득하고, 데이터 변환 프로그램(315)에 따라 복호 처리 또는 소정의 연산 처리를 실행하여, 평문 데이터로서의 변환 테이블을 부분적으로 및 순서대로 생성한다.
시큐어 VM(356)은, 컨텐츠 데이터의 일부분에 적용하는 변환 데이터를 포함하는 변환 테이블의 일부 구성 데이터만을 복호하여, 데이터의 일부분으로서의 평문 변환 테이블을 간헐적으로 생성한다. 이 처리의 결과로 취득된 평문 부분적인 변환 테이블이 부분 테이블 기억부(363)에 저장된다.
단계 S202에서의 데이터 변환 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임 이벤트 핸들러(361)의 제어 하에 실행된다. 리얼 타임 이벤트 핸들러(361)의 제어 하에, 부분 테이블 기억부(363)에 평문 데이터로서 등록된 변환 데이터, 즉 변환 데이터 및 식별 마크를 포함하는 변환 데이터가, 변환 테이블에 지정된 위치에 기입된다. 데이터 변환 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.
제5 컨텐츠 재생 처리의 처리 시퀀스는 도 11을 참조하여 설명한 처리 시퀀스와 동일하다. 구체적으로, 단계 S201에서는 컨텐츠 복호 처리가 실행되고, 단계 S202에서는 데이터 변환 처리가 실행되며, 단계 S203에서는 디멀티플렉싱 처리가 실행되고, 단계 S204에서는 디코드 처리가 실행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.
도 11을 참조하여 설명한 제3 컨텐츠 재생 처리와 마찬가지로, 본 처리 시퀀는, 시큐어 VM(356)에 의한 변환 테이블(314)의 처리에 시간이 소요되는 경우에도, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작의 처리에 영향을 주지않고 리얼 타임으로 실행된다. 시큐어 VM(356)은 컨텐츠 재생 동작 또는 컨텐츠 출력 동작에 필요한 변환 데이터를 동시에 생성하지 않고 컨텐츠 부분 데이터의 일부분에 대응하는 변환 데이터를 순서대로 생성한다. 컨텐츠 재생 처리에서 부정한 처리가 검출된 경우, 시큐어 VM(356)은 이벤트 핸들러(354)로부터의 부정 처리 검출 정보에 응답하여 그 처리를 중지한다. 변환 데이터의 생성이 중지되고, 부정한 컨텐츠의 컨텐츠 재생 동작 및 컨텐츠 출력 동작이 그 도중에 종료된다.
제6 컨텐츠 재생 처리에 대하여 도 16을 참조하여 설명한다. 도 16은, 좌측으로부터, 암호화 컨텐츠가 저장된 정보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. MKB(Media Key Block), 타이틀 키 파일 및 이들이 적용된 처리는 도 6의 제1 컨텐츠 재생 처리에서와 동일하므로 생략된다. 도 16에 나타낸 바와 같이, 정보 기록 매체(310)는, 변환 테이블을 포함하는 암호화 컨텐츠(318)와, 데이터 변환 프로그램(315)이 저장되어 있다. 점선으로 나타낸 블록 "381"의 처리는 리얼 타임으로 실행되고, 점선으로 나타낸 블록 "383"의 처리는 간헐적인 처리로서 실행된다.
변환 테이블(FUT)은 암호화 컨텐츠의 구성 데이터 내의 특정 패킷 내에 분산된다. 도 17에 나타낸 바와 같이, 예컨대, 변환 테이블은 컨텐츠를 포함하는 트랜스포트 스트림 패킷 내에 저장된다. 도 17의 윗부분은 컨텐츠 데이터의 구성을 나 타낸다. 도시된 바와 같이, 컨텐츠 데이터는 TS(트랜스포트 스트림) 패킷들로 이루어진다. TS는 소정 바이트 수의 TS 패킷으로 구성되어 있다. 이들 TS 패킷의 일부의 복수 개 패킷에 변환 테이블이 분할되어 기록된다. 도면에 나타낸 바와 같이, TS 패킷(391, 392, …)에 기록된다. 변환 테이블을 저장하는 TS 패킷으로는, 컨텐츠 중에 분산되어 설정되는 PMT(프로그램 맵 테이블)를 포함하는 TS 패킷 등이 이용될 수 있다.
분할된 변환 테이블의 데이터는 도 13을 참조하여 설명한 변환 테이블 블록(FUT 블록)과 동일한 구성을 갖는다. 변환 테이블에는, 복호 컨텐츠에 대하여 치환될 변환 데이터(또는 식별 마크를 포함하는 변환 데이터)와 그 변환 데이터의 기록 위치가 기록되어 있다.
도 17의 아랫부분에 나타낸 바와 같이, 변환 테이블에 기록된 변환 데이터의 기록 위치는, 변환 테이블을 포함하는 TS 패킷의 부근으로 설정된다. 예컨대, 변환 데이터의 기록 영역을 각각 갖는 패킷(394, 395)은 변환 테이블을 포함하는 패킷(391)의 부근에 설정된다. 이와 같은 설정으로 함으로써, 컨텐츠의 복호 및 재생을 리얼 타임으로 실행하는 경우, 변환 데이터에 의한 데이터 치환 처리를 복호 처리 후의 연속 처리로서 실행하는 것이 가능하며, 변환 테이블이 기록된 TS 패킷의 검출 및 해석 처리에 의해 변환 데이터가 취득되며, 테이블에 기록된 위치에 대하여 변환 데이터를 재기입하는 재기입 처리를 효율적으로 실행할 수 있다.
도 16의 제6 컨텐츠 재생 처리에서, 점선으로 나타낸 블록 "381"의 처리는 리얼 타임으로 실행되고, 블록 "383"의 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에 낮은 빈도로 간헐적으로 실행된다.
시큐어 VM(356)은 명령 코드 정보를 포함하는 데이터 변환 프로그램(315)을 정보 기록 매체(310)로부터 판독한다. 시큐어 VM(356)은 정보 기록 매체(310)에 컨텐츠와 함께 기록된 변환 테이블을 평문 변환 테이블로 변환하기 위해 요구되는 파라미터(P1, P2, P3,…)를 생성하고, 그 결과의 평문 변환 테이블을 출력한다. 시큐어 VM(356)은, 이러한 처리를, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여 간헐적으로 실행한다.
파라미터(P1, P2, P3,…)는, 소정의 컨텐츠 데이터 단위에 의해 분할되고 컨텐츠에 분산되어 기록된 변환 테이블 1, 변환 테이블 2, 변환 테이블 3 등등에 각각 적용되는 연산 처리 파라미터 또는 암호화 처리 파라미터이다. 변환 테이블 1, 변환 테이블 2, 변환 테이블 3 등은 각각 상이한 파라미터(P1, P2, P3,…)를 적용한 연산 처리 또는 암호화 처리가 행해진다.
구체적으로, 파라미터(P1, P2, P3,…)는 분할된 변환 테이블 1, 변환 테이블 2, 변환 테이블 3에 각각 적용되는 배타 논리합(XOR) 연산 파라미터이다. 시큐어 VM(356)은, 데이터 변환 프로그램(315)에 따라, 변환 테이블(314)을 평문 변환 테이블로 변환하기 위해 요구되는 파라미터(P1, P2, P3,…)를 간헐적으로 생성하여 출력한다.
리얼 타임 처리 블록(381)에서, 단계 S301에서는 변환 테이블을 포함하는 암호화 컨텐츠(318)의 복호가 실행되고, 단계 S302에서는 디멀티플렉싱 처리에 의해 변환 테이블이 디멀티플렉스된다. 단계 S303에서는 리얼 타임 이벤트 핸들러(361)의 제어 하에 테이블 복원 및 데이터 변환 처리가 실행된다. 리얼 타임 이벤트 핸들러(361)의 제어 하에, 시큐어 VM(356)으로부터 간헐적으로 출력되는 파라미터(P1, P2, P3,…)를 적용하여 변환 테이블의 복호 또는 연산을 실행하고, 평문 변환 테이블을 취득한다. 취득된 부분적인 변환 테이블에 등록된 변환 데이터, 즉 변환 데이터 및 식별 마크를 포함하는 변환 데이터는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로, 변환 테이블에서 지정된 위치에 기입된다.
파라미터(P1, P2, P3,…)가 컨텐츠 부분 데이터 단위에 대응하는 변환 데이터의 배타 논리합(XOR) 연산 파라미터인 경우, 단계 S303에서는 다음과 같이 수행된다:
[변환 테이블 1] (XOR) [P1],
[변환 테이블 2] (XOR) [P2],
[변환 테이블 3] (XOR) [P3],
이들 배타 논리합 연산 처리를 실행함으로써, 평문 변환 테이블이 취득된다. 상기 식에서, [A] (XOR) [B]는 A와 B의 배타 논리합 연산을 의미한다.
정보 기록 매체(310)에 기록된 암호화 컨텐츠(318)에 포함되는 변환 테이블은, 컨텐츠의 일부분에 대응하는 변환 데이터와, 변환 데이터 위치 정보를 갖는 변환 테이블로 분할된다. 고유의 파라미터(P1, P2, P3,…)로 배타 논리합 연산된 변 환 테이블은 저장되어 있다. 이 파라미터는 시큐어 VM(356)에 의해 순서대로 복원되어 출력된다.
단계 S303에서의 테이블 복원 및 데이터 변환 처리 이후의 후속 처리는, 도 11을 참조하여 설명한 처리와 동일하다. 이 후속 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다. 구체적으로, 단계 S304에서의 디멀티플렉싱 처리 및 단계 S305에서의 디코드 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.
제6 컨텐츠 재생 처리에서는, 컨텐츠 전체에 대응하는 변환 테이블의 구성 데이터가 분할되며, 분할된 변환은 상이한 파라미터와 연관된다. 시큐어 VM(356)은 파라미터를 간헐적으로 출력한다. 파라미터가 누출되어도, 컨텐츠의 전체를 복원하는 것은 곤란하다. 그러므로, 보다 견고한 컨텐츠 이용 관리가 실현된다. 이 처리 시퀀스는, 도 10을 참조하여 설명한 처리에서와 마찬가지로, 컨텐츠 재생 및 출력에 영향을 주지않고 리얼 타임으로 실현된다. 컨텐츠 재생 처리에서 부정한 처리가 검출된 경우, 시큐어 VM(356)은 이벤트 핸들러(354)로부터의 부정 처리 검출 정보에 응답하여 그 처리를 중지한다. 변환 데이터의 생성이 중지되어, 부정한 컨텐츠의 재생 처리 및 출력 처리를 그 도중에 종료시키는 것이 가능하게 된다.
제7 컨텐츠 재생 처리에 대하여 도 18을 참조하여 설명한다. 도 18은, 좌측으로부터, 암호화 컨텐츠가 저장된 정보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. MKB(Media Key Block), 타이틀 키 파일 및 이들이 적용된 처리는, 도 6을 참조하여 설명한 제1 컨텐츠 재생 처리와 동일하 므로 생략된다. 도 18에 나타낸 바와 같이, 도 16을 참조하여 전술한 제6 컨텐츠 재생 처리와 마찬가지로, 정보 기록 매체(310)에는, 변환 테이블을 포함하는 암호화 컨텐츠(318)와, 데이터 변환 프로그램(315)이 저장되어 있다. 점선으로 나타낸 블록 "381"의 처리는 리얼 타임으로 실행되고, 점선으로 나타낸 블록 "383"의 처리는 간헐적인 처리로서 실행된다.
도 16을 참조하여 설명한 제6 컨텐츠 재생 처리와 마찬가지로, 변환 테이블은 암호화 컨텐츠의 구성 데이터 내의 특정 패킷에 분산된다. 예컨대, 도 17의 구성에서 나타낸 바와 같이, 변환 테이블은 컨텐츠를 포함하는 트랜스포트 스트림 패킷 내에 저장된다. 이하에서는, 분할된 변환 테이블의 구성에 대하여 도 19를 참조하여 설명한다.
도 19는 분할된 변환 테이블의 데이터 구성을 나열하고 있다. 분할된 변환 테이블은, 변환 테이블의 특정 부분에 대응하는 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)의 데이터 실체와, 그 변환 데이터의 기록 위치 정보를 갖는다. 도 19에 나타낸 변환 테이블의 데이터에는 이하의 데이터가 포함된다:
SP_No: 변환 테이블의 XOR 연산에 사용될 비밀 파라미터(SP)의 식별자(ID)
type_indicator: 타입 식별자, 00b ; 변환 처리없음, 01b ; 변환 처리가 수행됨, 10b 및 11b ; 포렌직 마크를 포함하는 변환 데이터에 의한 변환 처리
FM_ID_bit_position: 식별 마크를 갖는 변환 데이터에 대응하는 플레이어 ID의 식별 비트 위치
relative_SPN: 변환 데이터의 패킷 위치(프로그래머블 맵 테이블(PMT)로부터 의 패킷수)
byte_position: 패킷 내의 변환 데이터 기록 위치
overwrite_value: 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)
relative_SPN_2: 변환 데이터의 제2 패킷 위치(PMT으로부터의 패킷 수)
byte_position_2: 패킷 내의 제2 변환 데이터의 기록 위치
overwrite_value_2: 제2 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)
제2 컨텐츠 재생 처리에서 전술한 바와 마찬가지로, 도 19에 나타낸 변환 테이블은, 도 20의 윗부분에 나타낸 바와 같이 암호화 컨텐츠의 구성 데이터 내의 특정 패킷에 분산된다. 예컨대, 도 20의 윗부분에 나타낸 바와 같이, 변환 테이블은 컨텐츠를 포함하는 트랜스포트 스트림 패킷 내에 저장된다. 도 20의 윗부분은 트랜스포트 스트림(TS) 패킷으로 이루어지는 컨텐츠 데이터의 구성을 나타내고 있다. 트랜스포트 스트림은 소정 바이트 수의 TS 패킷을 포함한다. 변환 테이블은 이들 TS 패킷의 일부의 복수개 패킷에 분할되어 기록된다. 도시된 바와 같이, 변환 테이블은 TS 패킷(501, 502,…)에 기록된다. 변환 테이블을 저장하는 TS 패킷으로서는, 컨텐츠 중에 분산되어 설정되는 PMT(프로그래머블 맵 테이블)를 포함하는 TS 패킷 등이 이용될 수 있다.
분할된 변환 테이블의 데이터는, 도 19를 참조하여 설명한 바와 같이, 복호 컨텐츠에 대하여 치환될 변환 데이터(또는 식별 마크를 갖는 변환 데이터)와, 그 변환 데이터의 기록 위치를 포함한다.
도 19의 변환 테이블은, 컨텐츠 데이터의 일부분에 대해 치환될 변환 데이터와, 이 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 기록한 변환 테이블로서 설정된다. 이 변환 테이블을 적용하여, 컨텐츠 구성 데이터의 치환 처리 명령을 포함하는 데이터 변환 프로그램이 실행되어, 데이터 변환이 행해진다.
변환 테이블에 포함되는 정보 [type_indicator]는, 변환 테이블의 등록 정보가, 브로큰 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터에 관한 등록 정보인지, 또는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식(embedding)하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인지를 식별하는 타입 식별자이다.
변환 테이블의 등록 정보 영역이, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인 경우에는, 테이블 등록 정보로서, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 따라 선택적으로 적용된 변환 데이터, 즉 식별 마크를 갖는 변환 데이터가 등록된다.
변환 테이블의 등록 정보 [FM_ID_bit_position]는, 복수개 비트로 이루어지는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램을 식별하는 식별 정보 중, 처리 모드를 결정하기 위해 참조되어야 하는 비트의 위치 정보이다.
처리 모드를 결정하기 위해 참조해야 할 비트의 비트값이 1인 경우, 식별 마크를 갖는 변환 데이터가 컨텐츠 구성 데이터에 대해 치환된다. 참조해야 할 비트의 비트값이 0인 경우, 치환 처리가 실행되지 않는다. 처리 모드가 이러한 방식으 로 결정되어, 데이터 변환이 실행된다.
이와 달리, 참조 비트가 0인 경우에 변환 처리를 실행하고, 참조 비트가 1인 경우에 변환 처리를 실행하지 않는 것으로 하는 설정도 가능하다. 이와 달리, 참조 비트가 0인 경우의 변환 데이터와 1인 경우의 변환 데이터를 각각 다른 변환 데이터로서 설정하고, 참조 비트의 비트값에 따라, 변환 데이터가 선택적으로 설정되는 구성으로 해도 된다.
변환 테이블은, 컨텐츠의 일부 구성 데이터에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블의 데이터 각각에 대하여 상이한 파라미터를 적용한 연산 처리 또는 암호 처리에 의해 난독화된다.
각 변환 테이블에 기록된 변환 데이터의 기록 위치는, 도 20의 아랫부분에 나타낸 바와 같이, 변환 테이블을 포함하는 TS 패킷의 부근에 설정된다. 예컨대, 변환 데이터의 기록 영역을 각각 갖는 패킷(511, 512)은, 변환 테이블을 포함하는 패킷(501)의 부근에 설정된다. 이들 각 패킷은 1 GOP를 단위로 하여 설정된다.
이와 같은 설정으로 함으로써, 컨텐츠의 복호 및 재생을 리얼 타임으로 실행하는 경우, 변환 데이터에 의한 데이터 치환 처리를 복호 처리 후의 연속 처리로서 실행하는 것이 가능하다. 변환 테이블을 포함하는 TS 패킷의 검출 및 해석 처리에 의해 변환 데이터가 취득되고, 변환 테이블이 기록된 위치에 변환 데이터를 재기입하는 재기입 처리를 효율적으로 실행할 수 있다.
변환 테이블은 비밀 파라미터(SP1, SP2, SP3,…)를 적용한 연산 처리 또는 암호화 처리가 행해지고, 정보 기록 매체(310)에 저장된다.
구체적으로, 각각의 변환 테이블은 상이한 비밀 파라미터(SP1, SP2, SP3,…)를 적용한 배타 논리합(XOR) 연산 처리가 행해져 각 패킷에 저장된다. 비밀 파라미터는 예컨대 128 비트 데이터로 구성된다. 도 18의 시큐어 VM(356)은 명령 코드 정보를 포함하는 암호화 컨텐츠(318)를 정보 기록 매체(310)로부터 판독한다. 시큐어 VM(356)은, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에, 간헐적으로, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여, 정보 기록 매체(310)에 컨텐츠와 함께 기록된 변환 테이블을 평문 변환 테이블로 변환하기 위해 요구된 XOR 비밀 파라미터(SP1, SP2, SP3,…)를 생성하여 출력한다. 출력된 비밀 파라미터(SP1, SP2, SP3,…)는 SP 레지스터(371)에 저장된다. 이 처리는 간헐적으로 차례대로 행해진다.
변환 프로그램(315)에 따라, 도 18에 나타낸 시큐어 VM(356)은, 비밀 파라미터(SP1, SP2, SP3,…) 외에, 각각의 비밀 파라미터의 지정 번호(SPNo.)와, 데이터 변환 프로그램(315)에 응답하여 설정된 식별 마크의 ID(FM_ID)를 생성하여, 이들 값을 출력한다. 이들 값도 SP 레지스터(371)에 저장된다.
리얼 타임 처리 블록(381)에서, 단계 S401에서는 변환 테이블을 포함하는 암호화 컨텐츠(318)가 복호되고, 단계 S402에서는 디멀티플렉싱 처리에 의해 변환 테이블이 디멀티플렉스된다. 리얼 타임 이벤트 핸들러(361)의 제어 하에, 단계 S403에서는 테이블 복원이 실행되고, 단계 S404에서는 데이터 변환 처리가 실행된다. 단계 S403에서의 테이블 복원 및 단계 S404에서의 데이터 변환 처리는, 리얼 타임 이벤트 핸들러(361)가 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 중에 발생할 수 있 는 이벤트를 감시하면서, 행해진다. 부정 처리가 검출된 경우에는 처리가 중지된다.
단계 S403에서는, 시큐어 VM(356)으로부터 간헐적으로 출력되어 SP 레지스터(371)에 저장된 비밀 파라미터(SPn)와, 디멀티플렉서에 의해 컨텐츠로부터 디멀티플렉스된 변환 테이블에 대해, 배타 논리합 연산이 수행되어, 변환 테이블이 취득된다.
또한, 단계 S404에서는, 시큐어 VM(356)로부터 비밀 파라미터(SPn)와 함께 간헐적으로 출력되어 SP 레지스터(371)에 저장된 비밀 파라미터의 지정 번호(SPNo.), 및 식별 마크의 ID(FM_ID)가 취득되고, 이들 값을 참조하여, 변환 테이블을 적용한 처리 모드가 결정된다. 변환 테이블에 기록된 변환 데이터, 즉 변환 데이터 및 식별 마크를 갖는 변환 데이터가, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로, 변환 테이블에 지정된 위치에 기록된다.
비밀 파라미터(SP1, SP2, SP3,…)가 소정의 부분 데이터 단위에 대응하는 변환 데이터를 포함하는 분할된 변환 테이블과의 배타 논리합(XOR) 연산 파라미터인 경우, 단계 S403에서는 다음과 같이 테이블 복원 처리가 실행된다:
[변환 테이블 1] (XOR) [SP1],
[변환 테이블 2] (XOR) [SP2],
[변환 테이블 3] (XOR) [SP3],
이들 배타 논리합 연산 처리를 실행함으로써, 평문 변환 테이블이 취득된다. 상기의 식에서, [A] (XOR) [B]는 A와 B의 배타 논리합 연산을 의미한다.
도 21을 참조하여, 변환 데이터의 기입 동작에 대하여 설명한다. 비밀 파라미터(SP1, SP2, SP3,…)는 컨텐츠의 정상 재생 시간에서 약 10초마다 전환된다. 구체적으로, 1개의 고정적인 비밀 파라미터는 약 10초간의 재생 컨텐츠에만 적용 가능한 파라미터로서 설정된다. 도 21의 각각의 컨텐츠 재생 구간(0∼T, T∼2T, 2T∼3T, …)에는, 동일한 비밀 파라미터가 적용된다.
본 실시예에 따라, 동일한 비밀 파라미터가 적용되는 구간은 정상 재생 모드에서 약 10초이다. 만일 하나의 비밀 파라미터가 누출되어도, 불과 10초의 컨텐츠가 재생될 수 있어, 견고한 컨텐츠 누출 방지가 실현된다.
단계 S403에서의 테이블 복원 이후의 처리 및 단계 S404에서의 데이터 변환 처리 이후의 처리는, 도 16을 참조하여 설명한 처리와 동일하며, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 행해진다. 구체적으로, 단계 S405에서는 디멀티플렉싱 처리가 실행되고, 단계 S406에서는 디코드 처리가 실행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.
도 18의 처리에서는, 단계 S403에서의 테이블 복원 및 단계 S404에서의 데이터 변환 처리를 실행하도록 리얼 타임 이벤트 핸들러(361)를 설정한다. 단계 S403에서의 테이블 복원 및 단계 S404에서의 데이터 변환 처리는, 리얼 타임 이벤트 핸들러(361)가, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 중에 발생할 수 있는 이벤트를 감시하면서, 실행된다. 이와 달리, 데이터 변환 처리는 이벤트 감시를 행하 지 않고 리얼 타임으로 실행될 수도 있다. 이러한 구성에서는, 도 22에 나타낸 바와 같이, 도 18의 리얼 타임 이벤트 핸들러(361)가 생략된다.
제7 컨텐츠 재생 처리에 의하면, 컨텐츠 전체에 대응하는 변환 테이블의 구성 데이터가 분할되며, 분할된 변환 테이블마다 상이한 비밀 파라미터(SPn)를 대응시켜, 상이한 비밀 파라미터가 적용된 분할된 변환 테이블에 대해 배타 논리합 연산이 실행되며, 그 결과가 정보 기록 매체(310)에 저장된다. 시큐어 VM(356)은 이들 비밀 파라미터를 간헐적으로 출력하는 구성으로 하였으므로, 비밀 파라미터의 일부가 누출되어도, 변환 테이블에 저장된 변환 데이터를 모두 취득하는 것은 가능하지 않다. 그 결과, 컨텐츠 전체를 복원하는 것은 불가능하게 되어, 더욱 견고한 컨텐츠 이용 관리가 실현된다.
본 처리 시퀀스는, 도 10을 참조하여 설명한 처리와 마찬가지로, 컨텐츠 재생 및 외부 출력의 처리에 영향을 주지 않고 리얼 타임 처리가 실현된다. 컨텐츠 재생 처리에서 부정한 처리가 검출된 경우, 시큐어 VM(356)은 이벤트 핸들러(354)로부터의 부정 처리 검출 정보에 따라 처리를 중지한다. 변환 데이터의 생성이 중지되고, 부정한 컨텐츠의 재생 또는 외부 출력이 그 중간에 종료된다.
제8 컨텐츠 재생 처리에 대하여 도 23을 참조하여 설명한다. 도 23은, 좌측으로부터, 암호화 컨텐츠가 저장된 정보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. MKB(Media Key Block), 타이틀 키 파일 및 이들이 적용된 처리는 도 6을 참조하여 설명한 제1 컨텐츠 재생 처리와 동일하므로, 본 명세서에서는 생략되어 있다. 정보 기록 매체(310)에는, 암호화 컨텐 츠(313), 변환 테이블(314), 및 데이터 변환 프로그램(315)이 저장되어 있다.
도 23에 나타낸 제8 컨텐츠 재생 처리는, 전술한 제7 컨텐츠 재생 처리에서와 마찬가지로, 비밀 파라미터(SP)를 적용하여, 변환 테이블의 일부분씩을 평문 테이블로 복원하는 처리를 행한다. 그러나, 제7 컨텐츠 재생 처리에서는, 복수 개로 분할된 변환 테이블을, 상이한 비밀 파라미터(SP1, SP2, SP3,…)를 적용한 배타 논리합(XOR) 연산 처리를 가하여 패킷에 저장하였지만, 제8 컨텐츠 재생 처리에서는, 암호화 컨텐츠(313)와 변환 테이블(314)이 별개의 파일로서 정보 기록 매체(310)에 저장되어 있다.
제8 컨텐츠 재생 처리에서, 점선으로 나타낸 블록 "381"의 처리는 리얼 타임으로 실행되고, 점선으로 나타낸 블록 "383"의 처리는 간헐적인 처리로서 실행된다. 즉, 컨텐츠의 재생 동작 또는 컨텐츠 출력 동작에서 시간에 맞도록, 시큐어 VM(356)는 비밀 파라미터(SP)를 간헐적으로 출력한다. 제8 컨텐츠 재생 처리에서, 시큐어 VM(356)은 정보 기록 매체(310)로부터 변환 테이블을 취득하고, 그 변환 테이블을 배타 논리합 연산된(XORed) 테이블 기억부(372)에 대한 저장한다. 시큐어 VM(356)에 의한, 변환 테이블의 배타 논리합 연산된(XORed) 테이블 기억부(372)에 대한 저장 처리는, 출력된 비밀 파라미터(SP)에 대응하는 변환 테이블의 부분 데이터를 배타 논리합 연산된(XORed) 테이블 기억부(372)에 저장하는 단계적 처리(step-by-step process)로서 실행될 수도 있고, 또는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 이전에 변환 테이블을 배타 논리합 연산된(XORed) 테이블 기억부(372)에 저장하는 일괄 처리로서 실행될 수도 있다.
변환 테이블은 1개의 독립된 데이터로서 설정된다. 변환 테이블 파일 내에 복수 개의 변환 테이블 블록(FUT 블록)이 저장된다. 이들 복수 개의 변환 테이블 블록(FUT 블록)은, 저장되기 전에, 상이한 비밀 파라미터(SP1, SP2, SP3,…)를 각각 적용한 배타 논리합(XOR) 연산 처리가 행해진다.
도 24 내지 도 26을 참조하여, 변환 테이블의 데이터 구성에 대하여 설명한다.
도 24는 변환 테이블의 전체 데이터 구성을 나타낸다.
도 25는 변환 테이블 내에 포함된 복수 개의 변환 테이블 블록(FUT 블록) 중의 1개의 변환 테이블 블록(FUT 블록)의 데이터 구성을 나타낸다.
도 26은 변환 테이블 블록(FUT) 내의 변환 데이터 엔트리의 데이터 구성을 나타낸다.
도 24에 나타낸 바와 같이, 변환 테이블에는 이하의 데이터가 포함된다:
Number of FUT blocks: 변환 테이블 블록의 개수
Length of FUT block: 변환 테이블 블록의 바이트 길이
SP_No: 비밀 파라미터(SP) 번호(시큐어 VM(356)에 의해 생성되는 SP에 대응되는)
First SPN for FUT block: 변환 테이블 블록에 대해 할당된 패킷의 위치
FUT block(): 변환 테이블 블록(변환 테이블 블록은 상이한 파라미터로 난독화되어 있음)
변환 테이블에는 복수 개의 변환 테이블 블록(FUT)이 포함되고, 이들 복수 개의 변환 테이블 블록(FUT)은 상이한 비밀 파라미터(SP1, SP2, SP3,…)에 의해 배타 논리합(XOR) 연산 처리가 행해져 저장되어 있다.
도 25은 도 24에 나타낸 변환 테이블에 포함되는 복수의 변환 테이블 블록(FUT 블록) 중 하나에 대한 데이터 구성을 나타내고 있다. 도 25에 나타낸 바와 같이, 변환 테이블 블록(FUT 블록)에는 이하의 데이터가 포함된다:
Number of FixUpEntry in this block: 변환 데이터 유닛의 수(식별 마크를 갖는 변환 데이터 유닛도 포함함)
Base SPN for FixUpEntry: 변환 데이터의 기록 위치의 지표로서 작용하는 베이스 패킷의 위치
FixUpEntry(): 변환 테이블 블록이 비밀 파라미터로 난독화됨
도 26은 도 25의 변환 테이블 블록에 포함되는 변환 데이터 엔트리(FixUpEntry)의 데이터 구성을 나타내고 있다. 도 26에 나타낸 바와 같이, 변환 데이터 엔트리(FixUpEntry)에는 이하의 데이터가 포함된다:
type_indicator: 타입 식별자, 00:변환 처리없음, 01b:변환 처리 실행됨, 10b 및 11b:포렌직 마크를 갖는 변환 데이터에 의한 변환 처리가 실행됨
FM_ID_bit_position: 포렌직 마크를 갖는 변환 데이터에 대응하는 플레이어 ID의 식별 비트 위치
relative_SPN: 변환 데이터의 패킷 위치(프로그래머블 맵 테이블(PMT)로부터의 패킷수)
byte_position: 패킷 내의 변환 데이터 기록 위치
overwrite_value: 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)
relative_SPN_2: 변환 데이터의 제2 패킷 위치(PMT로부터의 패킷수)
byte_position_2: 패킷 내의 제2 변환 데이터의 기록 위치
overwrite_value_2: 제2 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함).
변환 테이블은, 컨텐츠 데이터의 일부에 대해 치환될 변환 데이터와, 이 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블로서 설정된다. 이 변환 테이블을 적용하여, 컨텐츠 구성 데이터의 치환 처리 명령을 포함하는 데이터 변환 프로그램을 실행하여, 데이터 변환이 행해진다.
도 26의 변환 테이블 블록에 포함되는 변환 데이터 엔트리(FixUpEntry)에 포함되는 정보 [type_indicator]는, 변환 테이블의 등록 정보가, 브로큰 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터에 관한 등록 정보인지, 또는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램을 식별하는 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인지를 식별하는 타입 식별자이다.
변환 테이블의 등록 정보 영역이, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보 영역인 경우에는, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 따라 선택적으로 적용된 변환 데이터, 즉 식별 마크를 갖는 변환 데이터가 테이블 등록 정보로서 등록된다.
등록 정보 [FM_ID_bit_position]는, 복수의 비트로 이루어지는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보 중에서, 처리 모드 결정을 위해 참조해야 할 비트의 위치 정보이다. 참조해야 할 비트의 값이 1인 경우, 식별 마크를 갖는 변환 데이터가 컨텐츠 구성 데이터에 대해 치환된다. 참조해야 할 비트의 값이 0인 경우에는, 치환 처리가 실행되지 않는다. 처리 모드는 이러한 방식으로 결정되며, 데이터 변환 처리가 실행된다.
반대로, 참조 비트가 0인 경우에 변환을 실행하고, 참조 비트가 1인 경우에 변환을 실행하지 않는 것으로 하는 설정도 가능하다. 이와 달리, 참조 비트가 0인 경우의 변환 데이터와 1인 경우의 변환 데이터를, 각각 다른 변환 데이터로서 설정하고, 참조 비트의 비트값에 따라, 변환 데이터가 선택적으로 설정되도록 할 수도 있다.
제8 컨텐츠 재생 처리에서, 변환 테이블은 복수의 변환 테이블 블록(FUT)을 포함한다. 이들 복수의 변환 테이블 블록(FUT)은, 저장되기 전에, 각각 상이한 비밀 파라미터(SP1, SP2, SP3,…)에 의해 배타 논리합(XOR) 연산 처리가 행해진다. 변환 테이블은 독립된 파일 데이터로서 정보 기록 매체(310)에 저장되지만, 도 24 내지 도 26을 참조하여 설명한 바와 같이, 변환 테이블은 복수의 변환 테이블 블록(FUT 블록)을 포함하고, 이들 복수의 변환 테이블 블록(FUT 블록)은 각각 상이한 비밀 파라미터(SP1, SP2, SP3,…)로 배타 논리합(XOR) 연산 처리가 행해지고, 그 결과의 값이 정보 기록 매체(310)에 저장된다. 비밀 파라미터는 예컨대 128 비트 데이터로 구성된다.
도 23의 시큐어 VM(356)은 명령 코드 정보를 포함하는 암호화 컨텐츠(318)를 정보 기록 매체(310)로부터 판독한다. 시큐어 VM(356)은, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 또는 처리 실행 중에, 간헐적으로, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여, 정보 기록 매체(310)에 기록된 변환 테이블(314)에 포함되는 변환 테이블 블록(FUT 블록)을 변환하기 위해 요구되는 배타 논리합(XOR) 비밀 파라미터(SP1, SP2, SP3,…)를 생성하여 출력한다. 출력된 비밀 파라미터(SP1, SP2, SP3,…)는 SP 레지스터(371)에 저장된다.
변환 테이블 블록(FUT 블록)은, 제7 컨텐츠 재생 처리를 참조하여 설명한 분할된 변환 테이블과 마찬가지로, 컨텐츠의 일부에 대응하는 변환 데이터와, 그 변환 데이터의 기록 위치 정보를 포함한다. 도 21을 참조하여 설명한 바와 같이, 변환 테이블 블록은 10초 정도의 컨텐츠의 부분에 대응하는 변환 데이터를 포함하고 있다.
도 23에 나타내는 시큐어 VM(356)은, 비밀 파라미터(SP1, SP2, SP3,…) 외에, 각각의 비밀 파라미터의 지정 번호(SPNo.)와, 데이터 변환 프로그램(315)에 따라 설정되는 식별 마크의 ID(FM_ID)를 생성하여, 이들 값을 출력한다. 이들 값 또한 SP 레지스터(371)에 저장된다.
리얼 타임 처리 블록(381)에서, 단계 S451에서는 암호화 컨텐츠(318)의 복호가 실행되고, 단계 S452에서는 배타 논리합 연산된(XORed) 테이블 기억부(372)에 기억된 변환 테이블 블록의 하나가 취득된다. SP 레지스터(371)에 저장된 비밀 파 라미터(SPn)의 배타 논리합(XOR)연산이 실행되고, 평문 데이터로서의 변환 테이블 블록(FUT)이 취득된다.
또한, 단계 S453에서는, 비밀 파라미터(SPn)와 함께 시큐어 VM(356)으로부터 간헐적으로 출력되어 SP 레지스터(371)에 저장된 비밀 파라미터의 지정 번호(SPNo.)와, 식별 마크의 ID(FM_ID)가 취득된다. 이들 값이 참조되어, 변환 테이블이 적용한 처리 모드가 결정된다. 변환 테이블에 기록된 변환 데이터, 즉 변환 데이터 및 식별 마크를 갖는 변환 데이터가, 변환 테이블에 지정된 위치에 기입된다. 이들 처리는, 리얼 타임 이벤트 핸들러(361)의 제어 하에, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다. 리얼 타임 이벤트 핸들러(361)는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 동안에 발생하는 이벤트를 감시하면서, 처리를 제어한다. 예컨대, 부정 처리가 검출된 경우에는 처리가 중지된다.
구체적인 변환 테이블의 이용 처리에 대하여 설명한다. 도 26에 나타낸 변환 테이블 내의 타입 식별자 [type_indicator]가 먼저 확인된다. 이 타입 식별자 [type_indicator]가 식별 마크를 갖는 변환 데이터의 삽입을 나타내고 있는 경우에는(type_indicator=(10b or 11b)), 변환 테이블 내의 [FM_ID_bit_position], 즉 식별 마크를 갖는 변환 데이터의 처리 모드를 결정하는 ID의 비트 위치 정보가 참조된다. 변환 테이블 내에서의 복수의 식별 비트(FM_ID)에 의해 표현된 위치가 식별된다. 타입 식별자 [type_indicator]가 10b이면, FM_ID_bit_position에 0 비트가 가산되고, 타입 식별자 [type_indicator]가 11b이면, FM_ID_bit_position에 64 비 트가 가산된다. 이같이 하여, 보다 적은 수의 비트로도 FM_ID를 나타낼 수 있다. 그 후, 특정된 FM_ID의 비트 위치의 데이터가 취득된다. FM_ID 비트가 1이면, 변환 데이터가 적용된 컨텐츠의 구성 데이터가 변환되며, FM_ID 비트가 0이면, 변환 처리가 수행되지 않는다. 반대로, FM_ID 비트가 1이면, 변환 처리가 수행되지 않고, FM_ID 비트가 0이면, 변환 데이터가 적용된 컨텐츠의 구성 데이터가 변환되도록 하는 것도 가능하다.
이 처리에 의해, 플레이어 ID에 상당하는 데이터가 재생 데이터에 이식된다. 변형 처리가 수행되면, 변환 테이블에 설정된 제1 변환 데이터 [overwrite_value] 및 제2 변환 데이터 [overwrite_value_2]가 2개 위치에 재기입된다. FM_ID 데이터의 제거가 보다 곤란하게 되는 동시에, [overwrite_value]의 설정 제한을 행하는 것보다 재생 장치의 부담을 가볍게 할 수 있다. 타입 식별자 [type_indicator]가 01b인 경우, 변환 데이터는 식별 마크를 갖는 변환 데이터가 아닌 변환 데이터, 즉 브로큰 데이터로 치환될 변환 데이터이므로, 변환 처리를 행하는데 있어서 재생 장치의 FM_ID의 확인을 행할 필요는 없다.
단계 S452에서의 배타 논리합 연산(XOR)에서, 비밀 파라미터(SP1, SP2, SP3,…)가 변환 테이블 블록(FUT 블록)에 대해 설정된 배타 논리합(XOR) 연산 파라미터인 경우, 단계 S452에서의 테이블 복원 처리는 다음과 같이 수행된다:
[FUT 블록 1] (XOR) [SP1],
[FUT 블록 2] (XOR) [SP2],
[FUT 블록 3] (XOR) [SP3],
배타 논리합 연산 처리를 수행함으로써, 평문 변환 테이블 블록 데이터가 취득된다. 상기 식에서 [A] (XOR) [B]는 A와 B의 배타 논리합 연산을 의미한다.
이들 변환 테이블 블록에 따라, 컨텐츠의 구성 데이터의 일부에 대해, 변환 데이터의 기입 동작 및 식별 마크를 갖는 변환 데이터의 기입 동작이 실행된다. 변환 테이블 블록의 컨텐츠 재생 구간은 제7 컨텐츠 재생 처리의 컨텐츠 재생 구간과 동일하여, 도 21의 컨텐츠 재생 구간(0∼T, T∼2T, 2T∼3T)의 각각의 구간이 된다. 각각의 구간에는 동일한 비밀 파라미터가 적용된다.
본 실시예에 의하면, 동일한 비밀 파라미터가 적용되는 구간은 정상적인 재생에서 약 10초이며, 만일 1개의 비밀 파라미터가 누출되어도, 불과 10초의 컨텐츠만이 재생될 수 있으므로, 견고한 컨텐츠 누출 방지가 실현된다.
단계 S453에서의 데이터 변환 처리 이후의 처리는 제7 컨텐츠 재생 처리에서 설명된 것과 동일하며, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 행해진다. 구체적으로, 단계 S454에서는 디멀티플렉싱 처리가 실행되고, 단계 S455에서는 디코드 처리가 실행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.
제8 컨텐츠 재생 처리에서는, 리얼 타임 이벤트 핸들러(361)가, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 동안에 발생할 수도 있는 이벤트를 감시하면서, 단계 S452에서의 테이블 복원 및 단계 S453에서의 데이터 변환 처리를 제어한다. 이와 달리, 데이터 변환 처리는 이와 같은 이벤트 감시를 행하지 않고서 수행될 수도 있 다. 이 경우, 도 27에 나타낸 바와 같이, 도 23의 리얼 타임 이벤트 핸들러(361)가 생략된다.
제8 컨텐츠 재생 처리에서, 컨텐츠 전체에 대응하는 변환 테이블의 구성 데이터를 분할한 변환 데이터 블록(FUT 블록)은, 상이한 비밀 파라미터(SPn)에 대응시켜, 상이한 비밀 파라미터(SPn)에 의한 배타 논리합 연산이 적용된 후에, 정보 기록 매체에 저장된다. 시큐어 VM(356)은 비밀 파라미터 등을 간헐적으로 생성한다. 비밀 파라미터의 일부가 누출되어도, 변환 테이블에 저장된 변환 데이터 전체를 취득하는 것은 가능하지 않게 된다. 그 결과, 컨텐츠의 전체를 복원하는 것은 불가능하게 되고, 더욱 견고한 컨텐츠 이용 관리가 실현된다.
도 10을 참조하여 설명한 처리에서와 마찬가지로, 이 처리 시퀀스는 컨텐츠 재생 및 출력의 처리에 영향을 주지않고 리얼 타임으로 실현된다. 컨텐츠 재생 처리에서 부정한 처리가 검출된 경우, 시큐어 VM(356)가 이벤트 핸들러(354)로부터의 부정 처리 검출 정보에 응답하여 처리를 중지함으로써, 변환 데이터의 생성이 중지되고, 부정한 컨텐츠의 재생 또는 출력 동작을 그 도중에 종료시키는 것이 가능하게 된다.
도 24 내지 도 26을 참조하여 변환 테이블의 구성 데이터의 데이터 구조를 설명하였으나, 변환 테이블은 다양한 데이터 구조로 할 수도 있다. 예컨대, 도 24를 참조하여 설명한 변환 테이블은 도 28에 나타낸 바와 같은 구성으로 해도 된다. 도 28은 도 24의 변환 테이블을 다른 구조로 기록하는 경우의 예이다. 비밀 파라미터(SP) 번호는 변환 테이블 블록의 블록 번호로 대체될 수 있다. [First SPN for FUT block]은 도 25에 정의되어 있는 [FUT block()] 내의 최초의 "Base SPN for FixUpEntry"]의 값으로 대체될 수 있다. "Base SPN for FixUpEntry"]는 비밀 파라미터(SP)와의 배타 논리합(XOR) 연산 처리에 의해 난독화되어 있지 않으며, 비밀 파라미터(SP)가 없는 때에도 랜덤 액세스 동안 [FUT block()]을 판단하기 위해 사용된다. 이와 같이, 도 28에 나타낸 테이블은, 도 24에서보다 단순한 구조로, 도 24의 변환 테이블과 동일한 정보를 제공한다. 전술한 설명에서는 변환 테이블이 패킷에 저장되거나 또는 정보 기록 매체 상에 파일로 저장된다. 이와 달리, 변환 테이블은 패킷에 저장되는 동시에 정보 기록 매체(310) 상에 파일로 저장될 수도 있다. 예컨대, 파일로 저장된 변환 테이블은 많은 메모리 용량과 낮은 처리 속도를 특징으로 하는 장치에서 사용되는 한편, 패킷 내의 변환 테이블은 작은 메모리 용량 및 낮은 처리 속도를 특징으로 하는 장치에서 사용된다.
다음으로, 도 29를 참조하여, 호스트로서의 어플리케이션 프로그램을 실행하는 정보 처리 장치(800)의 하드웨어 구성에 대하여 설명한다. 정보 처리 장치(800)는, 오퍼레이팅 시스템(OS), 컨텐츠 재생 어플리케이션 프로그램, 컨텐츠 기록 어플리케이션 프로그램, 및 상호 인증 처리 프로그램을 등의 각종 프로그램에 따른 데이터 처리를 실행하는 CPU(809)와, 프로그램, 파라미터 등을 저장하는 기억 영역으로서의 ROM(808) 및 메모리(810)와, 디지털 신호를 입력 및 출력하는 입출력 I/F(802)와, 아날로그 신호를 입력 및 출력하는 A/D 변환기 및 D/A 변환기를 가지는 입출력 I/F(804)와, MPEG 데이터의 인코드 및 디코드 처리를 실행하는 MPEG 코덱(803)과, TS(Transport Stream) 및 PS(Program Stream) 처리를 실행하는 TS/PS 프로세서(806)와, 상호 인증 처리 및 암호화 처리를 포함한 각종의 암호화 처리를 실행하는 암호화 프로세서(807)와, 하드 디스크 등의 기록 매체(812)와, 기록 매체(812)를 구동시키고 데이터 기록 및 재생 신호의 입출력을 행하는 드라이브(811)와, 이들 요소를 상호 접속시키는 버스(801)를 포함한다.
정보 처리 장치(호스트 장치)(800)는 AT 어태치먼트 패킷 인터페이스(ATAPI) 버스 등의 버스를 통해 드라이브와 접속된다. 변환 테이블 및 컨텐츠는 디지털 신호용 입출력 I/F(802)를 통하여 입출력된다. 암호화 프로세서(807)는 AES(Advance Encryption Standard) 알고리즘을 이용하여 암호화 처리 및 복호 처리를 실행한다.
컨텐츠 재생 처리 또는 컨텐츠 기록 처리를 실행하기 위한 프로그램은 예컨대 ROM(808) 내에 되어 있고, 프로그램의 실행 동안, 파라미터 및 데이터가 작업 영역(work area)으로서 메모리(810)에 적용된다.
ROM(808) 또는 기록 매체(812)에는, 제어 센터의 공개키, 호스트 대응 비밀키, 호스트 대응하는 공개키 증명서, 및 무효화 리스트로서의 드라이브 CRL이 저장된다.
정보 기록 매체로부터 취득한 데이터 변환 프로그램은 컨텐츠 재생 동작 또는 컨텐츠 출력 동작을 실행하기 위해 사용된다. 암호화 컨텐츠의 복호, 변환 테이블의 복원, 변환 테이블의 저장 데이터에 따른 변환 데이터 기입 처리를 포함한 제1 내지 제8 컨텐츠 재생 처리가 실행된다.
다음에, 정보 기록 매체, 정보 기록 매체 제조 방법, 및 정보 기록 매체 제조 장치에 대하여 설명한다. 정보 기록 매체는 컨텐츠가 기록 및/또는 재생되는 기록 매체이다.
정보 기록 매체 제조 장치는, 도 1을 참조하여 설명한 기록 데이터를 저장하는 정보 기록 매체(100)를 제조하는 장치이다.
정보 기록 매체 제조 장치는, (a) 정당한 컨텐츠 구성 데이터와 상이한 브로큰 데이터를 포함하는 컨텐츠와, (b) 브로큰 데이터의 치환 대상으로 되는 정당한 컨텐츠 구성 데이터인 변환 데이터를 갖고, 이 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블과, (c) 변환 테이블을 적용한 컨텐츠 구성 데이터에 대한 치환 처리에 사용된 실행 명령을 포함하는 데이터 변환 프로그램을 생성하는, 데이터 프로세서, 및 브로큰 데이터를 포함하는 컨텐츠, 변환 테이블, 및 데이터 변환 프로그램을 정보 기록 매체에 기록하는 데이터 레코더를 포함한다.
본 발명의 일실시예의 정보 기록 매체 제조 장치에서, 데이터 프로세서는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 따라 선택적으로 적용되는 변환 데이터를 갖는 변환 테이블을 생성하며, 데이터 레코더는 식별 정보에 따라 선택적으로 적용되는 변환 데이터를 포함하는 변환 테이블을 기록한다. 본 발명의 또 다른 실시예의 정보 기록 매체 제조 장치에서, 데이터 프로세서는, 컨텐츠의 일부 구성 데이터에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호화 처리를 이용하여 난독화된 변환 테이블을 생성하고, 데이터 레코더는 난독화된 변환 테이블을 기록한다.
본 발명의 또 다른 실시예의 정보 기록 매체 제조 장치에서, 데이터 프로세 서는, 브로큰 데이터를 포함하는 컨텐츠의 스트림 패킷 내에 난독화된 변환 테이블이 산재되어 배치되는 컨텐츠 데이터를 생성하며, 데이터 레코더는 난독화된 변환 테이블을 포함하는 컨텐츠 데이터를 기록한다.
도 1을 참조하여 설명한 바와 같이, 이와 같은 제조 장치에 의해 생성된 정보 기록 매체는, (a) 정당한 컨텐츠 구성 데이터와 상이한 브로큰 데이터를 포함하는 컨텐츠와, (b) 브로큰 데이터의 치환 대상으로 되는 정당한 컨텐츠 구성 데이터인 변환 데이터를 가지고, 이 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블과, (c) 변환 테이블을 적용한 컨텐츠 구성 데이터에 대한 치환 처리에 사용되는 실행 명령을 포함하는 데이터 변환 프로그램을 저장한다.
정보 기록 매체에 기록되는 변환 테이블은, 컨텐츠 데이터의 일부분의 치환 대상으로 되는 변환 데이터와, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 포함하는 변환 테이블과, 변환 테이블을 적용한 컨텐츠 구성 데이터에 대한 치환 처리에 사용되는 실행 명령을 포함하는 데이터 변환 프로그램을 포함한다. 변환 테이블의 등록 정보는, 브로큰 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터에 관한 등록 정보인지, 또는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인지를 식별하는 타입 식별자를 포함한다.
변환 테이블의 등록 정보가, 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인 경우에는, 변환 테이블의 등록 정보는, 또한 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 따라 선택적으로 적용되는 변환 데이터를 포함한다. 변환 테이블은, 복수 비트로 이루어지는 재생 장치 또는 재생 어플리케이션 프로그램의 식별 정보 중, 처리 모드를 결정하기 위해 참조해야 할 비트의 위치 정보를 포함한다.
변환 테이블은, 컨텐츠의 일부 구성 데이터에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 이용한다. 예컨대, 정보 기록 매체는, 기록 데이터로서, 브로큰 데이터를 포함하는 컨텐츠의 스트림 패킷 중에 난독화된 변환 테이블이 산재되어 있는 컨텐츠 데이터를 저장한다.
전술한 일련의 처리 단계는 하드웨어, 소프트웨어, 또는 양자의 복합 구성에 의해 실행될 수 있다. 일련의 처리 단계가 소프트웨어에 의해 수행되는 경우, 소프트웨어를 형성하는 프로그램이, 전용의 하드웨어에 내장된 컴퓨터 내의 메모리에 인스톨되거나, 또는 각종 처리를 실행할 수 있는 범용 컴퓨터에 인스톨된다.
프로그램은, 기록 매체로서의 하드 디스크 및 ROM(Read Only Memory)에 미리 기록하여 둘 수 있다. 또는, 프로그램은 플렉서블 디스크, CD-ROM(Compact Disc Read Only Memory), MO(Magneto optical) 디스크, DVD(Digital Versatile Disc), 자기 디스크, 및 반도체 메모리를 포함한 착탈 가능한 기록 매체에 일시적으로 또는 영구적으로 저장될 수 있다. 이와 같은 착탈 가능한 기록 매체는 이른바 패키지 소프트웨어로서 제공할 수 있다.
프로그램은 전술한 바와 같은 기록 매체로부터 컴퓨터에 인스톨될 수 있다. 또한, 프로그램은 다운로드 사이트로부터 컴퓨터에 무선 방식으로 전송되거나, LAN(Local Area Network) 또는 인터넷 등의 네트워크를 통해 무선 또는 유선 방식으로 컴퓨터에 전송될 수 있다. 컴퓨터는 전송된 프로그램을 수신하여, 내장 하드 디스크 등의 기록 매체에 저장할 수 있다.
명세서에 기재된 각종의 처리 단계는 실질적으로 설명한 바대로 시계열로 실행될 수 있을 뿐만 아니라, 병렬적으로 또는 개별적으로 실행되어도 된다. 본 명세서에서, 시스템은 하나 또는 복수의 장치를 지칭한다.
첨부된 특허청구의 범위 또는 그 등가물에서 한정된 바와 같은 본 발명의 요지를 벗어나지 않는 범위에서, 다양한 수정, 조합, 부분 조합 및 변경이 가능하다는 것을 당업자는 충분히 이해할 수 있을 것이다.

Claims (40)

  1. 컨텐츠의 재생 처리를 실행하는 재생 장치로서,
    상기 컨텐츠를 구성하는 컨텐츠 구성 데이터 중 적어도 일부를 변환 데이터로 치환하는 데이터 변환 처리부를 구비하고,
    상기 데이터 변환 처리부는, 변환 테이블의 기록 정보에 따른 데이터 변환 처리를 실행하는 구성이며,
    상기 변환 테이블은,
    (1) 상기 변환 데이터를 포함하는 등록 정보와,
    (2) 상기 등록 정보가,
    (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,
    (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을
    식별하는 타입 식별자와,
    (3) 변환 데이터의 치환 위치 정보
    를 구비하고,
    상기 데이터 변환 처리부는,
    상기 치환 위치 정보가 나타내는 위치에 있는 컨텐츠 구성 데이터의 상기 변환 데이터에 의한 치환 처리를, 상기 타입 식별자에 따라 변경하여 실행하는,
    재생 장치.
  2. 제1항에 있어서,
    상기 데이터 변환 처리부는,
    상기 타입 식별자가, 상기 변환 테이블의 등록 정보가,
    (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보인 것을 나타내고 있는 경우에는,
    컨텐츠 구성 데이터인 정당한 컨텐츠와 다른 비정상 데이터를, 상기 변환 테이블의 등록 정보에 포함되는 정당한 컨텐츠 데이터인 변환 데이터로 치환하는 처리를 실행하는 구성인, 재생 장치.
  3. 제1항에 있어서,
    상기 데이터 변환 처리부는,
    상기 타입 식별자가, 상기 변환 테이블의 등록 정보가,
    (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을 나타내고 있는 경우에는,
    컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보의 구성 비트에 근거하여, 컨텐츠 구성 데이터인 컨텐츠의 일부 영역을, 상기 변환 테이블의 등록 정보에 포함되는 변환 데이터로 치환하거나 또는 치환하지 않는, 재생 장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 데이터 변환 처리부는,
    1 이상의 변환 테이블에 포함되는 복수의 변환 데이터에 대하여, 소정의 재생 단위로 다른 파라미터를 적용한 배타 논리합(XOR) 연산 처리를 실행하고, 치환 데이터인 변환 데이터의 취득 처리를 실행하는 구성인, 재생 장치.
  5. 제4항에 있어서,
    상기 데이터 변환 처리부는,
    상기 다른 파라미터의 산출 처리를, 컨텐츠의 재생 또는 외부 출력에 동기시켜 간헐적인 처리로서 실행하고,
    간헐적으로 순차, 산출하는 다른 파라미터에 근거하는 연산 처리 또는 암호 처리에 따라서, 다른 컨텐츠 구성 데이터에 대응하는 변환 데이터의 취득을 행하는 구성인, 재생 장치.
  6. 제4항에 있어서,
    상기 데이터 변환 처리부는,
    상기 파라미터의 산출 처리를 버추얼 머신(virtual machine)에 의해 실행하는 구성인, 재생 장치.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 데이터 변환 처리부는,
    상기 컨텐츠의 구성 패킷으로 분산하여 분할 기록된 분할 변환 테이블을 순차적으로 취득하여, 해당 분할 변환 테이블로부터, 상기 컨텐츠의 일부 구성 데이터만에 대응하는 치환 데이터인 변환 데이터와, 해당 변환 데이터의 기록 위치 정보를 취득하는 처리를 실행하는 구성인, 재생 장치.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 재생 장치는,
    상기 컨텐츠의 복호 처리를 실행하는 복호 처리부를 더 구비하고,
    상기 데이터 변환 처리부는,
    상기 복호 처리부에서의 복호 컨텐츠의 컨텐츠 구성 데이터를 상기 변환 데이터로 치환하는 처리를 실행하는 구성인, 재생 장치.
  9. 정보 기록 매체 제조 장치로서,
    정당 컨텐츠 구성 데이터와는 다른 비정상 데이터를 포함하는 컨텐츠와,
    상기 비정상 데이터의 치환 대상이 되는 정당 컨텐츠 구성 데이터인 변환 데이터를 가지고, 해당 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 기록한 변환 테이블과,
    상기 변환 테이블을 적용한 컨텐츠 구성 데이터의 치환 처리에 사용되는 데이터 변환 처리 프로그램을 취득하는 데이터 처리부와,
    상기 비정상 데이터를 포함하는 컨텐츠와, 상기 변환 테이블과, 상기 데이터 변환 처리 프로그램을 정보 기록 매체에 기록하는 데이터 기록부
    를 구비하고,
    상기 데이터 처리부가 취득하는 변환 테이블은,
    (1) 상기 변환 데이터를 포함하는 등록 정보와,
    (2) 상기 등록 정보가,
    (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,
    (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을
    식별하는 타입 식별자와,
    (3) 변환 데이터의 치환 위치 정보
    를 구비하는, 정보 기록 매체 제조 장치.
  10. 제9항에 있어서,
    상기 데이터 처리부는,
    컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보에 근거하여 선택적으로 적용하는 변환 데이터를 설정한 변환 테이블을 취득하는 구성이고,
    상기 데이터 기록부는,
    상기 식별 정보에 근거하여 선택적으로 적용하는 변환 데이터를 포함하는 변환 테이블의 기록 처리를 실행하는 구성인, 정보 기록 매체 제조 장치.
  11. 제9항에 있어서,
    상기 데이터 처리부는,
    컨텐츠의 일부 구성 데이터에만 대응하는 변환 데이터를 기록한 부분적인 변환 테이블 데이터 각각에 대하여 다른 파라미터를 적용한 연산 처리 또는 암호 처리에 의한 난독화한 변환 테이블을 취득하고,
    상기 데이터 기록부는,
    상기 난독화한 변환 테이블의 기록 처리를 실행하는 구성인, 정보 기록 매체 제조 장치.
  12. 제11항에 있어서,
    상기 데이터 처리부는,
    상기 비정상 데이터를 포함하는 컨텐츠를 구성 데이터로 하는 스트림 패킷 중에, 상기 난독화한 변환 테이블을 산재시켜 배치한 컨텐츠 데이터를 취득하는 구성이고,
    상기 데이터 기록부는,
    상기 난독화한 변환 테이블을 산재시켜 배치한 컨텐츠 데이터의 기록 처리를 실행하는 구성인, 정보 기록 매체 제조 장치.
  13. 컨텐츠의 재생 처리를 실행하는 재생 장치에서 실행하는 정보 처리 방법으로서,
    데이터 변환 처리부가, 상기 컨텐츠를 구성하는 컨텐츠 구성 데이터 중 적어도 일부를 변환 데이터로 치환하는 데이터 변환 단계를 포함하고,
    상기 데이터 변환 단계는, 변환 테이블의 기록 정보에 따른 데이터 변환 처리를 실행하는 단계이고,
    상기 변환 테이블은,
    (1) 상기 변환 데이터를 포함하는 등록 정보와,
    (2) 상기 등록 정보가,
    (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,
    (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을
    식별하는 타입 식별자와,
    (3) 변환 데이터의 치환 위치 정보
    를 구비하고,
    상기 데이터 변환 단계는,
    상기 치환 위치 정보가 나타내는 위치에 있는 컨텐츠 구성 데이터의 상기 변환 데이터에 의한 치환 처리를, 상기 타입 식별자에 따라 변경하여 실행하는,
    정보 처리 방법.
  14. 정보 기록 매체 제조 장치에서 실행하는 정보 기록 매체 제조 방법으로서,
    상기 정보 기록 매체 제조 장치의 데이터 처리부가, 정당 컨텐츠 구성 데이터와 다른 비정상 데이터를 포함하는 컨텐츠와; 상기 비정상 데이터의 치환 대상이 되는 정당 컨텐츠 구성 데이터인 변환 데이터를 가지고, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 기록한 변환 테이블과; 상기 변환 테이블을 적용한 컨텐츠 구성 데이터의 치환 처리에 사용되는 데이터 변환 처리 프로그램;을 취득하는 데이터 처리 단계와,
    상기 정보 기록 매체 제조 장치의 데이터 기록부가, 상기 비정상 데이터를 포함하는 컨텐츠와, 상기 변환 테이블과, 상기 데이터 변환 처리 프로그램을 정보 기록 매체에 기록하는 데이터 기록 단계를 실행하고,
    상기 데이터 처리 단계에서 취득되는 변환 테이블은,
    (1) 상기 변환 데이터를 포함하는 등록 정보와,
    (2) 상기 등록 정보가,
    (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,
    (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을
    식별하는 타입 식별자와,
    (3) 변환 데이터의 치환 위치 정보
    를 구비하는, 정보 기록 매체 제조 방법.
  15. 컨텐츠의 재생 처리를 실행하는 재생 장치에서 정보 처리를 실행시키는 재생 어플리케이션·프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체로서,
    데이터 변환 처리부에, 상기 컨텐츠를 구성하는 컨텐츠 구성 데이터 중 적어도 일부를 변환 데이터로 치환하여 데이터 변환 단계를 실행시키고,
    상기 데이터 변환 단계는, 변환 테이블의 기록 정보에 따른 데이터 변환 처리를 실행시키는 단계이고,
    상기 변환 테이블은,
    (1) 상기 변환 데이터를 포함하는 등록 정보와,
    (2) 상기 등록 정보가,
    (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,
    (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을
    식별하는 타입 식별자와,
    (3) 변환 데이터의 치환 위치 정보
    를 구비하고,
    상기 데이터 변환 단계에서,
    상기 치환 위치 정보가 나타내는 위치에 있는 컨텐츠 구성 데이터의 상기 변환 데이터에 의한 치환 처리를, 상기 타입 식별자에 따라 변경하여 실행시키는 재생 어플리케이션·프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체.
  16. 오서링 장치로서,
    정당 컨텐츠 구성 데이터와는 다른 비정상 데이터를 포함하는 컨텐츠와,
    상기 비정상 데이터의 치환 대상이 되는 정당 컨텐츠 구성 데이터인 변환 데이터를 가지고, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 기록한 변환 테이블과,
    상기 변환 테이블을 적용한 컨텐츠 구성 데이터의 치환 처리에 사용되는 데이터 변환 처리 프로그램을 생성하는 데이터 처리부
    를 구비하고,
    상기 데이터 처리부가 생성하는 변환 테이블은,
    (1) 상기 변환 데이터를 포함하는 등록 정보와,
    (2) 상기 등록 정보가,
    (2a) 비정상 데이터를 정당 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,
    (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을
    식별하는 타입 식별자와,
    (3) 변환 데이터의 치환 위치 정보
    를 구비하는, 오서링 장치.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020087001134A 2005-07-15 2006-06-27 재생 장치, 정보 기록 매체 제조 장치 및 방법, 기록 매체 및 오서링 장치 KR101278075B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005207852A JP4654806B2 (ja) 2005-07-15 2005-07-15 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JPJP-P-2005-00207852 2005-07-15
PCT/JP2006/313193 WO2007010733A2 (en) 2005-07-15 2006-06-27 Method and apparatus for processing information, method and apparatus for manufacturing information recording medium, information recording medium, and computer program

Publications (2)

Publication Number Publication Date
KR20080027347A KR20080027347A (ko) 2008-03-26
KR101278075B1 true KR101278075B1 (ko) 2013-06-27

Family

ID=36889040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087001134A KR101278075B1 (ko) 2005-07-15 2006-06-27 재생 장치, 정보 기록 매체 제조 장치 및 방법, 기록 매체 및 오서링 장치

Country Status (7)

Country Link
US (1) US7917964B2 (ko)
EP (1) EP1905030A2 (ko)
JP (1) JP4654806B2 (ko)
KR (1) KR101278075B1 (ko)
CN (5) CN102522098B (ko)
TW (2) TW201204053A (ko)
WO (1) WO2007010733A2 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504849B2 (en) * 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
US8601283B2 (en) * 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
WO2007007805A1 (ja) * 2005-07-14 2007-01-18 Matsushita Electric Industrial Co., Ltd. 検証方法、検証プログラム、記録媒体、情報処理装置、集積回路
US8042188B2 (en) 2005-07-15 2011-10-18 Sony Corporation Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, method and computer program
US7965922B2 (en) * 2005-09-16 2011-06-21 Sony Corporation Information processing device, information recording medium manufacturing device, information recording medium, methods thereof, and computer program
JP4655951B2 (ja) * 2006-02-06 2011-03-23 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8245031B2 (en) * 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US20100138652A1 (en) * 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
US8613103B2 (en) * 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8140843B2 (en) * 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US8639939B2 (en) * 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US9729316B2 (en) 2008-02-27 2017-08-08 International Business Machines Corporation Unified broadcast encryption system
KR20100055882A (ko) * 2008-11-18 2010-05-27 삼성전자주식회사 컨텐츠 제어 장치 및 컨텐츠 제어 방법
US9104618B2 (en) * 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
JP5407482B2 (ja) * 2009-03-27 2014-02-05 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US8488793B2 (en) * 2009-07-31 2013-07-16 International Business Machines Corporation Efficient rebinding of partitioned content encrypted using broadcast encryption
CN103164341B (zh) * 2012-07-04 2016-08-03 北京安天电子设备有限公司 快速擦除大容量存储设备中文件的方法及系统
JP2015225329A (ja) * 2014-05-30 2015-12-14 株式会社三菱東京Ufj銀行 サーバおよび端末装置
US20220069981A1 (en) * 2020-09-03 2022-03-03 Google Llc Distribute Encryption Keys Securely and Efficiently
CA3237482A1 (en) 2021-11-03 2023-05-11 The J. David Gladstone Institutes, A Testamentary Trust Established Under The Will Of J. David Gladstone Precise genome editing using retrons
WO2023141602A2 (en) 2022-01-21 2023-07-27 Renagade Therapeutics Management Inc. Engineered retrons and methods of use
WO2024044723A1 (en) 2022-08-25 2024-02-29 Renagade Therapeutics Management Inc. Engineered retrons and methods of use

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002117248A (ja) * 2000-10-11 2002-04-19 Optrom Inc 電子回路を有する記憶媒体及び該記憶媒体を用いた情報管理方法と情報処理システム
US20020076046A1 (en) * 2000-07-28 2002-06-20 Heylen Richard A.A. Copy protection for optical discs
US20030112973A1 (en) * 2001-11-07 2003-06-19 Kyoya Tsutsui Signal processing method and apparatus, and code string generating method and apparatus

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9301093D0 (en) * 1993-01-20 1993-03-10 Rca Thomson Licensing Corp Digital video tape recorder for digital hdtv
US5703867A (en) * 1995-07-21 1997-12-30 Hitachi, Ltd. Optical recording medium having a dummy area at leading and/or trailing positions of recording area
US5953073A (en) * 1996-07-29 1999-09-14 International Business Machines Corp. Method for relating indexing information associated with at least two indexing schemes to facilitate the play-back of user-specified digital video data and a video client incorporating the same
JPH1139200A (ja) 1997-07-24 1999-02-12 Nec Corp 構造型データベースのアクセス処理システム
JP3861392B2 (ja) * 1997-07-30 2006-12-20 ソニー株式会社 データ記録装置および方法、データ再生装置および方法、並びに伝送媒体
CN100481233C (zh) * 1998-07-28 2009-04-22 Lg电子株式会社 光记录介质以及管理光记录介质缺陷区的方法
JP2000057713A (ja) * 1998-08-05 2000-02-25 Mitsubishi Electric Corp 光ディスクの欠陥管理方法、光ディスク装置、及び、光ディスク
JP2999759B1 (ja) * 1998-10-13 2000-01-17 松下電器産業株式会社 デジタル再生信号処理装置
US6968122B2 (en) * 2000-04-17 2005-11-22 Matsushita Electric Industrial Co., Ltd. Recorder and transmitter
JP2002278859A (ja) * 2001-03-16 2002-09-27 Nec Corp コンテンツ配信システム、コンテンツ配信方法及びコンテンツを再生するためのコンテンツ再生装置
WO2002087212A2 (en) * 2001-04-20 2002-10-31 France Telecom Research And Development L.L.C. Replacing commercials according to location and time
US6683241B2 (en) * 2001-11-06 2004-01-27 James W. Wieder Pseudo-live music audio and sound
JP3688628B2 (ja) * 2001-11-09 2005-08-31 株式会社東芝 信号処理方法及び装置、信号再生方法及び装置、記録媒体
JP3941513B2 (ja) * 2002-01-11 2007-07-04 ソニー株式会社 記録方法、記録装置、再生方法及び再生装置
US7062712B2 (en) * 2002-04-09 2006-06-13 Fuji Xerox Co., Ltd. Binding interactive multichannel digital document system
JP2004138933A (ja) * 2002-10-21 2004-05-13 Hitachi Ltd デジタル映像スクランブル装置、デスクランブル装置および該装置を実現するプログラム
US7305711B2 (en) * 2002-12-10 2007-12-04 Intel Corporation Public key media key block
JP2004234736A (ja) * 2003-01-29 2004-08-19 Matsushita Electric Ind Co Ltd 光ディスクコントローラ及び光ディスク装置の制御方法
JP3823925B2 (ja) * 2003-02-05 2006-09-20 ソニー株式会社 情報処理装置、ライセンス情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
WO2005008385A2 (en) * 2003-07-07 2005-01-27 Cryptography Research, Inc. Reprogrammable security for controlling piracy and enabling interactive content
US7406174B2 (en) * 2003-10-21 2008-07-29 Widevine Technologies, Inc. System and method for n-dimensional encryption
US7447917B2 (en) * 2003-11-12 2008-11-04 Microsoft Corporation Obfuscated state store for rights management system and the like
JP4218539B2 (ja) * 2004-01-28 2009-02-04 沖電気工業株式会社 電子透かし埋め込み装置,電子透かし検出装置,電子透かし埋め込み方法,および電子透かし検出方法
JP2006126554A (ja) * 2004-10-29 2006-05-18 Seiko Epson Corp 画像形成装置
BRPI0611366A2 (pt) * 2005-05-23 2011-08-16 Panasonic Corp dispositivo de reprodução, dispositivo de gravação, meio de gravação, método de processamento de dados, programa de processamento de dados, método de gravação de dados, programa de gravação de dados e circuito integrado
US8042188B2 (en) 2005-07-15 2011-10-18 Sony Corporation Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, method and computer program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020076046A1 (en) * 2000-07-28 2002-06-20 Heylen Richard A.A. Copy protection for optical discs
JP2002117248A (ja) * 2000-10-11 2002-04-19 Optrom Inc 電子回路を有する記憶媒体及び該記憶媒体を用いた情報管理方法と情報処理システム
US20030112973A1 (en) * 2001-11-07 2003-06-19 Kyoya Tsutsui Signal processing method and apparatus, and code string generating method and apparatus

Also Published As

Publication number Publication date
TW200720971A (en) 2007-06-01
CN102568518A (zh) 2012-07-11
EP1905030A2 (en) 2008-04-02
CN102522099B (zh) 2014-12-17
CN101223594B (zh) 2012-02-29
CN101223594A (zh) 2008-07-16
TWI357005B (en) 2012-01-21
JP4654806B2 (ja) 2011-03-23
CN102522099A (zh) 2012-06-27
CN102157171A (zh) 2011-08-17
US20080031109A1 (en) 2008-02-07
CN102522098B (zh) 2013-08-28
CN102522098A (zh) 2012-06-27
US7917964B2 (en) 2011-03-29
KR20080027347A (ko) 2008-03-26
TW201204053A (en) 2012-01-16
CN102157171B (zh) 2014-08-13
JP2007026120A (ja) 2007-02-01
WO2007010733A2 (en) 2007-01-25
CN102568518B (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
KR101278075B1 (ko) 재생 장치, 정보 기록 매체 제조 장치 및 방법, 기록 매체 및 오서링 장치
JP4321550B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
KR101313825B1 (ko) 정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록매체
US8510852B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, method, and computer program
US8203730B2 (en) Information processing device, information recording medium manufacturing device, information recording medium, methods therefore, and computer program
JP4140624B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP2007058749A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
KR101327878B1 (ko) 정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록매체, 및 방법, 및 컴퓨터 프로그램
JP4862949B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4862958B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4905585B2 (ja) 情報記録媒体、およびプログラム
JP4862957B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4941607B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法
JP4973818B2 (ja) 情報処理装置、および情報処理方法
JP4905587B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

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
LAPS Lapse due to unpaid annual fee