KR101278075B1 - Playing apparatus, method and apparatus for manufacturing information recording medium, recording medium, and authoring apparatus - Google Patents

Playing apparatus, method and apparatus for manufacturing information recording medium, recording medium, and authoring apparatus 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
Korean (ko)
Other versions
KR20080027347A (en
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/en
Application granted granted Critical
Publication of KR101278075B1 publication Critical patent/KR101278075B1/en

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

변환 테이블, 배타 논리합 연산, 치환 데이터, 브로큰 데이터, 컨텐츠 구성 데이터

An information processing apparatus for reproducing content recorded on an information recording medium includes a data conversion processor that performs a substitution process on content configuration data recorded on the information recording medium. The data conversion processor replaces the content configuration data according to the conversion table having the recording position information of the conversion data using the conversion data as the replacement data.

Figure R1020087001134

Conversion table, exclusive OR operation, replacement data, broken data, content composition data

Description

재생 장치, 정보 기록 매체 제조 장치 및 방법, 기록 매체 및 오서링 장치{PLAYING APPARATUS, METHOD AND APPARATUS FOR MANUFACTURING INFORMATION RECORDING MEDIUM, RECORDING MEDIUM, AND AUTHORING APPARATUS}Reproduction apparatus, information recording medium manufacturing apparatus and method, recording medium and authoring apparatus {PLAYING APPARATUS, METHOD AND APPARATUS FOR MANUFACTURING INFORMATION RECORDING MEDIUM, RECORDING MEDIUM, AND AUTHORING APPARATUS}

본 발명은 정보 처리 방법 및 장치와, 정보 기록 매체 제조 방법 및 장치와, 정보 기록 매체와, 컴퓨터 프로그램에 관한 것으로, 보다 구체적으로는, 이용 및 관리될 다양한 컨텐츠에 대한 데이터 변환 처리에 의해, 부정한 컨텐츠 이용을 배제하고, 엄격한 컨텐츠 이용 및 관리를 실현하는 정보 처리 방법 및 장치와, 정보 기록 매체 제조 방법 및 장치와, 정보 기록 매체와, 컴퓨터 프로그램에 관한 것이다.The present invention relates to an information processing method and apparatus, an information recording medium manufacturing method and apparatus, an information recording medium, and a computer program, and more particularly, by data conversion processing for various contents to be used and managed. An information processing method and apparatus for realizing strict content use and management without using contents, a method and apparatus for manufacturing an information recording medium, an information recording medium, and a computer program.

음악 등의 오디오 데이터, 영화 등의 화상 데이터, 게임 프로그램, 각종 소프트웨어 프로그램을 포함하는 다양한 소프트웨어 데이터(이하, 이들을 컨텐츠로 지칭함)는 청색 레이저를 적용한 블루-레이(Blue-ray) 디스크, DVD, MD(Mini Disc) 및 CD(Compact Disc)를 포함한 기록 매체에 디지털 데이터로 저장될 수 있다. 특히, 청색 레이저를 이용한 블루-레이 디스크는 고밀도 기록이 가능한 디스크이며, 대용량의 영상 컨텐츠 등을 고화질 데이터로서 기록할 수 있다.Audio data such as music, image data such as movies, game programs, various software data including various software programs (hereinafter, these are referred to as contents) include a blue-ray disc using a blue laser, DVD, MD It can be stored as digital data on recording media including (Mini Disc) and CD (Compact Disc). In particular, a Blu-ray disc using a blue laser is a disc capable of high density recording, and can record a large amount of video content and the like as high definition data.

디지털 컨텐츠가 저장된 이러한 다양한 정보 기록 매체는 사용자에게 제공되며, 각각의 사용자는 자신의 개인용 컴퓨터(PC) 및 디스크 플레이어 등의 재생 장치에서 컨텐츠를 재생하여 이용한다.These various information recording media storing digital contents are provided to users, and each user reproduces and uses the contents in a playback device such as a personal computer (PC) and a disc player.

음악 데이터, 화상 데이터 등의 많은 컨텐츠는 일반적으로 그 작성자 또는 판매자에게 반포권이 소유되어 있다. 따라서, 이들 컨텐츠의 배포에 대해서는 일정한 이용 제한, 즉 정규의 사용자에 대하여만 컨텐츠의 이용을 허락하고, 허가되지 않은 복제 등이 행해지지 않도록 하는 구성을 취하는 것이 일반적이다.Many contents, such as music data and image data, are generally owned by the creator or seller. Therefore, for the distribution of these contents, it is common to adopt a configuration that allows certain usage restrictions, that is, the use of the contents only for regular users, and unauthorized copying or the like is not performed.

현재, 디지털 기록 장치 및 기록 매체는 폭넓게 사용되고 있다. 디지털 기록 장치 및 기록 매체는 화상이나 음성을 열화시키지 않고 기록 또는 재생을 반복하는 것이 가능하기 때문에, 부정 카피 컨텐츠의 인터넷을 통한 분배, 컨텐츠를 CD-R 등에 카피한 이른바 해적판 디스크의 유통, PC 등의 하드 디스크에 저장한 불법 복제 컨텐츠의 이용이 만연되고 있다는 문제가 발생하고 있다.Currently, digital recording devices and recording media are widely used. Since the digital recording device and the recording medium can repeat recording or reproducing without deteriorating an image or an audio, distribution of illegal copy contents via the Internet, distribution of so-called pirated discs copying the contents to CD-Rs, PCs, etc. There is a problem that the use of pirated content stored in the hard disk of the.

DVD 또는 최근 개발이 진행되고 있는 청색 레이저를 이용한 기록 매체 등의 대용량형 기록 매체는, 1개의 매체에 예컨대 영화 1개 내지 수개 분의 대량의 데이터를 디지털 정보로서 기록할 수 있다. 이와 같이 영상 정보 등을 디지털 정보로서 기록하는 것이 용이하게 되었다는 점을 감안하여, 불법 카피를 방지함으로써 저작권자의 보호를 도모하는 것이 더욱 중요한 과제로 되고 있다. 최근에서는, 이와 같은 디지털 데이터의 불법 카피를 방지하기 위하여, 디지털 기록 장치 및 기록 매체에 위법한 카피를 방지하기 위한 다양한 기술이 통합되어 있다. 이러한 기술은 일본 특허 출원 번호 11-39220호에 개시되어 있다.A large-capacity recording medium such as a DVD or a recording medium using a blue laser, which has been recently developed, can record a large amount of data of, for example, one to several movies as digital information on one medium. In view of the fact that it is easy to record video information and the like as digital information, it is more important to protect copyright holders by preventing illegal copying. In recent years, in order to prevent such illegal copying of digital data, various techniques for preventing illegal copying in digital recording devices and recording media have been integrated. Such a technique is disclosed in Japanese Patent Application No. 11-39220.

예컨대, DVD 플레이어에서는 컨텐츠 스크램블 시스템(CSS : Content Scramble System)이 사용되고 있다. 컨텐츠 스크램블 시스템에서는, 예컨대, DVD-ROM(Read Only Memory)에 비디오 데이터 또는 오디오 데이터가 암호화되어 기록되어 있기 때문에, 데이터의 스크램블을 해제함으로써 컨텐츠 재생이 가능하게 된다.For example, a content scramble system (CSS) is used in a DVD player. In the content scramble system, since video data or audio data is encrypted and recorded in, for example, a DVD-ROM (Read Only Memory), content reproduction can be performed by releasing data from scramble.

스크램블 해제 처리에서는, 라이센스를 받은 DVD 플레이어에만 암호화된 데이터를 복호화하기 위한 키가 제공된다. 라이센스는 부정 카피를 행하지 않는 등의 소정의 동작 규정을 따르도록 설계된 DVD 플레이어에 부여된다. 따라서, 라이센스를 받은 DVD 플레이어에서는, 주어진 키 등의 특정 데이터를 이용하여, DVD-ROM에 기록된 암호화된 데이터를 복호화함으로써, DVD-ROM으로부터 화상이나 음성을 재생할 수 있다.In the descrambling process, only a licensed DVD player is provided with a key for decrypting the encrypted data. The license is granted to a DVD player designed to comply with certain operating rules, such as not making an illegal copy. Therefore, in a licensed DVD player, it is possible to reproduce images and audio from the DVD-ROM by decrypting the encrypted data recorded on the DVD-ROM using specific data such as a given key.

한편, 라이센스를 받지 못한 DVD 플레이어는, 암호화된 데이터를 복호화하기 위한 키 등의 특정 데이터를 갖고 있지 않으므로, DVD-ROM에 기록된 암호화된 데이터의 재생을 행할 수 없다. 이와 같이, 컨텐츠 스크램블 시스템에서는, 라이센스시에 요구되는 조건을 충족하지 못하는 DVD 플레이어는, DVD-ROM으로부터 디지털 데이터의 재생을 행할 수 없게 되어, 부정 카피가 방지되도록 되어 있다.On the other hand, a DVD player without a license does not have specific data such as a key for decrypting the encrypted data, and thus cannot reproduce the encrypted data recorded on the DVD-ROM. As described above, in the content scramble system, a DVD player that does not meet the conditions required at the time of the license cannot reproduce digital data from the DVD-ROM, thereby preventing unauthorized copying.

그러나, 이와 같은 컨텐츠 스크램블 시스템에서는, 재생 처리를 실행하는 사용자 디바이스로서의 정보 처리 장치측의 처리 부하가 높아진다는 문제가 있다. 또한, 기존의 컨텐츠 스크램블 시스템 중에는, 이미 스크램블 해제 방법이 해독되어 해독 방법이 인터넷 등의 통신 수단을 통하여 유통되고 있는 것도 많이 존재한다. 이와 같이, 일단 스크램블 방법이 해독되어 버리면, 부정한 스크램블 해제 처 리에 의해 컨텐츠가 부정으로 재생 및 복제되어, 컨텐츠의 저작권 및 이용권의 침해라는 문제가 발생한다. 스크램블 방법이 해독되면, 특정한 장치가 무효화(revokation)될 수 있다. 어느 장치를 무효화할지에 관한 정보를 획득하는 것이 필요하다.However, in such a content scramble system, there exists a problem that the processing load on the information processing apparatus side as a user device which performs a reproduction process becomes high. In addition, many existing content scramble systems have already been decoded and the decryption method is distributed through communication means such as the Internet. As described above, once the scramble method is decrypted, the content is unjustly reproduced and copied by an illegal scramble release process, which causes a problem of infringement of copyright and usage rights of the content. If the scramble method is decrypted, then a particular device may be revoked. It is necessary to obtain information about which device to invalidate.

본 발명은, 이와 같은 상황을 감안하여 이루어진 것으로, 데이터 치환을 주로 하는 데이터 변환 처리를 수행하여, 정보 처리 장치측의 부하를 감소시키고, 컨텐츠의 부정 이용을 제어하며, 허가된 이용이 디바이스에 대해 행해지는 경우 그 디바이스를 식별하는 정보 처리 방법 및 장치와, 정보 기록 매체 제조 방법 및 장치와, 정보 기록 매체와, 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in view of such a situation, and performs data conversion processing mainly for data replacement, thereby reducing the load on the information processing apparatus side, controlling the illegal use of content, and allowing authorized use for the device. It is an object of the present invention to provide an information processing method and apparatus for identifying a device, an information recording medium manufacturing method and apparatus, an information recording medium, and a computer program.

본 발명의 일실시예에 따르면, 정보 기록 매체에 기록된 컨텐츠를 재생하는 정보 처리 장치는, 상기 정보 기록 매체에 기록된 컨텐츠 구성 데이터(content member data)에 대해 치환 처리를 실행하는 데이터 변환 프로세서를 포함하며, 상기 데이터 변환 프로세서는, 변환 데이터를 치환 데이터로 하여, 상기 변환 데이터의 기록 위치 정보를 갖는 변환 테이블(fix-up table)에 따라, 상기 컨텐츠 구성 데이터를 치환한다.According to an embodiment of the present invention, an information processing apparatus for reproducing contents recorded on an information recording medium includes a data conversion processor for performing substitution processing on content member data recorded on the information recording medium. And the data conversion processor replaces the content configuration data according to a fix-up table having recorded position information of the converted data, using the converted data as replacement data.

바람직하게는, 상기 데이터 변환 프로세서는, 상기 정보 기록 매체에 기록된 정당한 컨텐츠(authorized content)와 상이한 브로큰 데이터(broken data)를, 정당한 컨텐츠 데이터를 포함하는 변환 데이터로 치환한다.Preferably, the data conversion processor replaces broken data different from the authorized content recorded on the information recording medium with converted data including the legitimate content data.

상기 데이터 변환 프로세서는, 상기 정보 기록 매체에 기록된 컨텐츠의 일부를, 컨텐츠 재생 장치 및 컨텐츠 재생 어플리케이션 프로그램 중의 하나를 식별하는 식별 정보의 구성 비트를 해석하기 위한 데이터를 포함하는 변환 데이터로 치환할 수도 있다.The data conversion processor may replace part of the content recorded on the information recording medium with converted data including data for analyzing a configuration bit of identification information for identifying one of a content reproducing apparatus and a content reproducing application program. have.

상기 데이터 변환 프로세서는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블(partial fix-up table)에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 실행함으로써, 상기 치환 데이터로서의 상기 변환 데이터를 취득할 수도 있다.The data conversion processor executes an arithmetic process or a ciphering process that applies different parameters to a partial fix-up table having conversion data corresponding to only a part of the content configuration data, so as to replace the data as the replacement data. The converted data can also be obtained.

상기 데이터 변환 프로세서는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 배타 논리합(XOR) 연산 처리를 실행함으로써, 상기 치환 데이터로서의 상기 변환 데이터를 취득할 수도 있다.The data conversion processor acquires the converted data as the replacement data by performing an exclusive OR operation which applies different parameters to a partial conversion table having conversion data corresponding to only a part of the content configuration data. You may.

바람직하게는, 상기 데이터 변환 프로세서는, 상기 상이한 파라미터를 산출하는 산출 처리를, 상기 컨텐츠를 재생하는 재생 처리 또는 상기 컨텐츠를 외부에 출력하는 출력 처리에 동기하여, 간헐적인 처리로서 실행하며, 간헐적으로 산출된 상기 상이한 파라미터에 따라 실행되는 연산 처리 또는 암호 처리를 통해, 상이한 컨텐츠 구성 데이터에 대응하는 변환 데이터를 취득한다.Preferably, the data conversion processor executes the calculation process for calculating the different parameter as an intermittent process in synchronization with a reproduction process for reproducing the content or an output process for outputting the content externally. The conversion data corresponding to the different content configuration data is acquired through arithmetic processing or encryption processing executed according to the calculated different parameters.

상기 데이터 변환 프로세서는, 상기 파라미터 산출 처리를 버추얼 머신(virtual machine)에 의해 실행할 수도 있다.The data conversion processor may execute the parameter calculation processing by a virtual machine.

바람직하게는, 상기 데이터 변환 프로세서는, 상기 컨텐츠가 기록되어 있는 상기 정보 기록 매체로부터 상기 변환 테이블을 취득하고, 상기 변환 테이블에 기초하여 상기 치환 데이터로서의 상기 변환 데이터 및 상기 변환 데이터의 기록 위치 정보를 분석한다.Preferably, the data conversion processor acquires the conversion table from the information recording medium on which the content is recorded, and records the converted data as the replacement data and recording position information of the converted data based on the conversion table. Analyze

바람직하게는, 상기 데이터 변환 프로세서는, 상기 정보 기록 매체에 기록되어 있는 상기 컨텐츠의 구성 패킷 내에 분포된 분할 변환 테이블을 연속적으로 취득하며, 상기 분할 변환 테이블로부터, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 상기 치환 데이터로서의 상기 변환 데이터와, 상기 변환 데이터의 기록 위치 정보를 취득한다.Preferably, the data conversion processor continuously acquires a partition conversion table distributed in a configuration packet of the content recorded on the information recording medium, and corresponds to only a part of the content configuration data from the partition conversion table. The conversion data as the replacement data and recording position information of the conversion data are acquired.

상기 정보 처리 장치는, 상기 정보 기록 매체에 기록된 상기 컨텐츠에 대해 복호 처리를 실행하는 복호 프로세서를 더 포함하며, 상기 데이터 변환 프로세서는, 상기 복호 프로세서로부터의 복호된 컨텐츠의 컨텐츠 구성 데이터를 상기 변환 데이터로 치환할 수도 있다.The information processing apparatus further includes a decoding processor that performs decoding processing on the content recorded on the information recording medium, and the data conversion processor converts the content configuration data of the decoded content from the decoding processor. It may be substituted with data.

본 발명의 다른 실시예에 의하면, 정보 기록 매체를 제조하는 장치는, 정당한 컨텐츠 구성 데이터와 상이한 브로큰 데이터를 포함하는 컨텐츠, 상기 브로큰 데이터의 치환 대상으로 되는 상기 정당한 컨텐츠 구성 데이터로서의 변환 데이터를 가지고, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블, 및 상기 변환 테이블이 적용된 컨텐츠 구성 데이터에 대한 치환 처리에서 사용되는 실행 명령을 포함하는 데이터 변환 프로그램을 생성하는 데이터 프로세서, 및 상기 브로큰 데이터를 포함하는 컨텐츠, 상기 변환 테이블, 및 상기 데이터 변환 프로그램을 정보 기록 매체에 기록하는 데이터 레코더를 포함한다.According to another embodiment of the present invention, an apparatus for manufacturing an information recording medium has contents including broken data different from the legitimate contents composition data, and conversion data as the legitimate contents composition data to be substituted for the broken data. A data processor for generating a data conversion program including a conversion table having setting positional information on the contents of said conversion data, and an execution command used in the substitution processing for the content configuration data to which said conversion table is applied, and said broken data. And a data recorder for recording the included contents, the conversion table, and the data conversion program on an information recording medium.

바람직하게는, 상기 데이터 프로세서는, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 갖는 변환 테이블을 생성하며, 상기 데이터 레코더는, 상기 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 갖는 변환 테이블을 기록한다.Preferably, the data processor generates a conversion table having conversion data selectively applied based on identification information of a content reproducing apparatus or a content reproducing application program, and the data recorder is selectively based on the identification information. Record the conversion table with the conversion data applied.

바람직하게는, 상기 데이터 프로세서는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블 데이터에 대해 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 이용하여 난독화되는 변환 테이블을 생성하며, 상기 데이터 레코더는 난독화된 상기 변환 테이블을 기록한다.Advantageously, the data processor generates a translation table that is obfuscated using arithmetic or cryptographic processing that applies different parameters to the partial translation table data having translation data corresponding to only a portion of the content configuration data; The data recorder records the obfuscated conversion table.

바람직하게는, 상기 데이터 프로세서는, 상기 브로큰 데이터를 포함하는 컨텐츠의 스트림 패킷 내에 난독화된 상기 변환 테이블이 산재되어 있는, 컨텐츠 데이터를 생성하며, 상기 데이터 레코더는, 난독화된 상기 변환 테이블이 산재되어 있는 상기 컨텐츠 데이터를 기록한다.Advantageously, said data processor generates content data in which said obfuscated translation table is interspersed in a stream packet of content containing said broken data, and wherein said data recorder is interspersed with said obfuscated translation table. Record the content data.

본 발명의 또 다른 실시예에 의하면, 데이터를 저장하는 정보 기록 매체는, 저장된 상기 데이터의 일부에 대한 치환 대상으로 되는 변환 데이터, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 포함하는 변환 테이블, 및 상기 변환 테이블이 적용된 컨텐츠 구성 데이터에 대한 치환 처리에 사용되는 실행 명령을 포함하는 데이터 변환 프로그램을 저장한다.According to still another embodiment of the present invention, an information recording medium for storing data includes: conversion data including replacement data to be replaced with a part of the stored data; setting table information including setting position information of contents of the conversion data; A data conversion program including an execution command used for a substitution process for content configuration data to which the conversion table is applied is stored.

바람직하게는, 상기 변환 테이블의 등록 정보는, (a) 상기 등록 정보가 브로큰 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터에 관한 것인지, 또는 (b) 상기 등록 정보가 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식(embedding)하기 위한 식별 마크를 갖는 변환 데이터에 관한 것인지를 식별하는 타입 식별자를 포함한다.Preferably, the registration information of the conversion table is (a) the registration information relates to conversion data for converting broken data into legitimate content data, or (b) the registration information is a content reproducing apparatus or a content reproducing application. And a type identifier identifying whether the information relates to transformed data having an identification mark for embedding identification information of the program.

상기 변환 테이블의 등록 정보가, 상기 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인 경우, 상기 변환 테이블의 상기 등록 정보는, 상기 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 더 포함할 수도 있다.When the registration information of the conversion table is registration information about conversion data having an identification mark for porting identification information of the content reproduction device or content reproduction application program, the registration information of the conversion table is the content reproduction device. Alternatively, the method may further include conversion data selectively applied based on the identification information of the content reproduction application.

상기 변환 테이블은, 복수의 비트로 이루어지는 상기 컨텐츠 재생 장치 또는 상기 컨텐츠 재생 어플리케이션 프로그램의 식별 정보 중에서, 처리 모드를 결정하기 위해 참조해야 할 비트의 위치 정보를 포함할 수도 있다.The conversion table may include position information of bits to be referred to in order to determine a processing mode among identification information of the content reproducing apparatus or the content reproducing application program including a plurality of bits.

상기 변환 테이블은, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 이용하여 난독화될 수도 있다.The translation table may be obfuscated using arithmetic or cryptographic processing that applies different parameters to a partial translation table having translation data corresponding only to a portion of the content configuration data.

난독화된 상기 변환 테이블이 상기 브로큰 데이터를 포함하는 컨텐츠의 스트림 패킷 내에 산재되어 있는 컨텐츠 데이터가, 또한 기록 데이터로서 기록되어 있을 수도 있다.Content data in which the obfuscated conversion table is interspersed in a stream packet of content containing the broken data may also be recorded as record data.

본 발명의 또 다른 실시예에 의하면, 컨텐츠 데이터의 일부에 대한 치환 대상으로 되는 변환 데이터와, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블을 포함하는 데이터 구조로서, 상기 변환 테이블의 등록 정보는, (a) 상기 등록 정보가 브로큰 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터에 관한 것인지, 또는 (b) 상기 등록 정보가 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 것인지를 식별하는 타입 식별자를 포함하는, 데이터 구조가 제공된다.According to still another embodiment of the present invention, a data structure including a conversion table having conversion data to be substituted for a part of content data and setting position information for the content of the conversion data, wherein the registration of the conversion table is performed. The information may include (a) whether the registration information relates to conversion data for converting the broken data into legitimate content data, or (b) the registration information identifies for porting identification information of the content reproducing apparatus or the content reproducing application program. A data structure is provided that includes a type identifier that identifies whether the data relates to translated data having a mark.

상기 변환 테이블의 등록 정보가, 상기 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 것인 경우, 상기 변환 테이블의 등록 정보는, 상기 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 포함할 수도 있다.When the registration information of the conversion table relates to conversion data having an identification mark for porting identification information of the content reproduction device or content reproduction application program, the registration information of the conversion table is the content reproduction device or content. It may also include conversion data that is selectively applied based on the identification information of the reproduction application program.

상기 변환 테이블은, 복수의 비트로 이루어지는 상기 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보 중에서 변환 대상 비트를 식별하기 위한 데이터 저장 영역을 포함할 수도 있다.The conversion table may include a data storage area for identifying a conversion target bit among identification information of the content reproducing apparatus or the content reproducing application program composed of a plurality of bits.

상기 변환 테이블은, 컨텐츠의 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블 데이터에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 이용하여 난독화될 수도 있다.The conversion table may be obfuscated using arithmetic processing or encryption processing that applies different parameters to partial conversion table data having conversion data corresponding to only a part of the configuration data of the content.

본 발명의 또 다른 실시예에 의하면, 정보 기록 매체에 기록된 컨텐츠를 재생하는 정보 처리 방법은, 상기 정보 기록 매체에 기록된 컨텐츠 구성 데이터에 대해 치환 처리를 실행하는 데이터 변환 처리 단계를 포함하며, 상기 데이터 변환 처리 단계는, 변환 데이터를 치환 데이터로 하여, 상기 변환 데이터의 위치 정보를 갖는 변환 테이블에 따라, 상기 컨텐츠 구성 데이터를 치환하는 단계를 포함한다.According to still another embodiment of the present invention, an information processing method for reproducing contents recorded on an information recording medium includes a data conversion processing step of performing substitution processing on the content configuration data recorded on the information recording medium, The data conversion processing step includes converting the content configuration data according to a conversion table having position information of the converted data, using the converted data as replacement data.

상기 데이터 변환 처리 단계는, 상기 정보 기록 매체에 기록된 정당한 컨텐츠와 상이한 브로큰 데이터를, 상기 정당한 컨텐츠 데이터를 포함하는 변환 데이터로 치환하는 단계를 더 포함할 수도 있다.The data conversion processing step may further include replacing broken data which is different from the legitimate content recorded on the information recording medium with converted data including the legitimate content data.

상기 데이터 변환 처리 단계는, 상기 정보 기록 매체에 기록된 컨텐츠의 일부분을, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램을 식별하는 식별 정보의 구성 비트를 분석하기 위한 데이터를 포함하는 변환 데이터로 치환하는 단계를 더 포함할 수도 있다.The data conversion processing step includes replacing a part of the content recorded on the information recording medium with converted data including data for analyzing a configuration bit of identification information identifying a content reproducing apparatus or a content reproducing application program. It may further include.

상기 데이터 변환 처리 단계는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 실행함으로써 상기 치환 데이터로서의 상기 변환 데이터를 취득하는 단계를 더 포함할 수도 있다.The data conversion processing step includes: acquiring the converted data as the replacement data by executing an arithmetic processing or an encryption process applying different parameters to a partial conversion table having conversion data corresponding to only a part of the content configuration data. It may further include.

상기 데이터 변환 처리 단계는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 배타 논리합(XOR) 연산 처리를 실행함으로써, 상기 치환 데이터로서의 상기 변환 데이터를 취득하는 단계를 더 포함할 수도 있다.The data conversion processing step executes an exclusive OR operation which applies different parameters to a partial conversion table having conversion data corresponding to only a part of the content configuration data, thereby converting the converted data as the replacement data. The method may further include acquiring.

상기 데이터 변환 처리 단계는, 상기 상이한 파라미터를 산출하는 산출 처리를, 상기 컨텐츠를 재생하는 재생 처리 또는 상기 컨텐츠를 외부에 출력하는 출력 처리에 동기하여, 간헐적인 처리로서 실행하는 단계, 및 간헐적으로 산출된 상기 상이한 파라미터에 따라 실행되는 연산 처리 또는 암호 처리를 통해, 상이한 컨텐츠 구성 데이터에 대응하는 변환 데이터를 취득하는 단계를 더 포함할 수도 있다.In the data conversion processing step, the calculation processing for calculating the different parameters is executed as an intermittent processing in synchronization with a reproduction processing for reproducing the content or an output processing for outputting the content to the outside, and intermittently calculating. The method may further include acquiring the conversion data corresponding to the different content configuration data through arithmetic processing or encryption processing executed according to the different parameters.

상기 데이터 변환 처리 단계는, 상기 파라미터 산출 처리를 버추얼 머신을 이용하여 실행하는 단계를 더 포함할 수도 있다.The data conversion processing step may further include executing the parameter calculation process using a virtual machine.

상기 데이터 변환 처리 단계는, 상기 컨텐츠가 기록되어 있는 상기 정보 기록 매체로부터 상기 변환 테이블을 취득하고, 상기 변환 테이블에 기초하여 상기 치환 데이터로서의 상기 변환 데이터 및 상기 변환 데이터의 기록 위치 정보를 분석하는 단계를 더 포함할 수도 있다.The data conversion processing step includes: acquiring the conversion table from the information recording medium on which the content is recorded, and analyzing the conversion data as the replacement data and recording position information of the conversion data based on the conversion table. It may further include.

상기 데이터 변환 처리 단계는, 상기 정보 기록 매체에 기록되어 있는 상기 컨텐츠의 구성 패킷 내에 분포된 분할 변환 테이블을 연속적으로 취득하며, 상기 분할 변환 테이블로부터, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 상기 치환 데이터로서의 상기 변환 데이터와, 상기 변환 데이터의 기록 위치 정보를 취득하는 단계를 더 포함할 수도 있다.The data conversion processing step successively acquires a division conversion table distributed in a configuration packet of the content recorded on the information recording medium, and replaces the replacement data corresponding to only a part of the content configuration data from the division conversion table. The method may further include acquiring the converted data and recording position information of the converted data.

상기 정보 처리 방법은, 상기 정보 기록 매체에 기록된 상기 컨텐츠에 대해 복호 처리를 실행하는 복호 처리 단계를 더 포함하며, 상기 데이터 변환 처리 단계는, 상기 복호 처리 단계에서 복호된 컨텐츠의 컨텐츠 구성 데이터를 상기 변환 데이터로 치환하는 단계를 더 포함할 수도 있다.The information processing method further includes a decoding processing step of performing a decoding process on the content recorded on the information recording medium, wherein the data conversion processing step includes content configuration data of the content decoded in the decoding processing step. The method may further include the step of substituting the converted data.

본 발명의 또 다른 실시예에 의하면, 정보 기록 매체를 제조하는 방법은, 정당한 컨텐츠 구성 데이터와 상이한 브로큰 데이터를 포함하는 컨텐츠, 상기 브로큰 데이터의 치환 대상으로 되는 상기 정당한 컨텐츠 구성 데이터로서의 변환 데이터를 갖고, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블, 및 상기 변환 테이블이 적용된 컨텐츠 구성 데이터에 대한 치환 처리에서 사용되는 실행 명령을 포함하는 데이터 변환 프로그램을 생성하는 데이터 처리 단계, 및 상기 브로큰 데이터를 포함하는 컨텐츠, 상기 변환 테이블, 및 상기 데이터 변환 프로그램을 정보 기록 매체에 기록하는 데이터 기록 단계를 포함한다.According to still another embodiment of the present invention, a method for manufacturing an information recording medium includes content containing broken data different from legitimate content composition data, and conversion data as the legitimate content composition data to be substituted for the broken data. A data conversion step of generating a data conversion program including a conversion table having setting positional information on the content of the conversion data, and an execution command used in the substitution processing for the content configuration data to which the conversion table is applied; and the broken And a data recording step of recording the content including data, the conversion table, and the data conversion program on an information recording medium.

상기 데이터 처리 단계는, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 갖는 변환 테이블을 생성하는 단계를 포함하며, 상기 데이터 기록 단계는, 상기 식별 정보에 기초하여 선택적으로 적용되는 변환 데이터를 갖는 변환 테이블을 기록하는 단계를 포함할 수도 있다.The data processing step includes generating a conversion table having conversion data selectively applied based on the identification information of the content reproducing apparatus or the content reproducing application program, wherein the data recording step is based on the identification information. And optionally recording the conversion table with the conversion data applied.

상기 데이터 처리 단계는, 상기 컨텐츠 구성 데이터의 일부에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블 데이터에 대해 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 이용하여 난독화되는 변환 테이블을 생성하는 단계를 포함하며, 상기 데이터 기록 단계는 난독화된 상기 변환 테이블을 기록하는 단계를 포함할 수도 있다.The data processing step includes generating a translation table that is obfuscated using arithmetic processing or encryption processing that applies different parameters to partial translation table data having translation data corresponding to only a portion of the content configuration data. The data recording may include recording the obfuscated conversion table.

상기 데이터 처리 단계는, 상기 브로큰 데이터를 포함하는 컨텐츠의 스트림 패킷 내에 난독화된 상기 변환 테이블이 산재되어 있는, 컨텐츠 데이터를 생성하는 단계를 더 포함하며, 상기 데이터 기록 단계는, 난독화된 상기 변환 테이블이 산재되어 있는 상기 컨텐츠 데이터를 기록하는 단계를 더 포함할 수도 있다.The data processing step further includes generating content data in which the obfuscated conversion table is interspersed in the stream packet of content containing the broken data, wherein the data recording step comprises the obfuscated conversion. The method may further include recording the content data in which a table is interspersed.

본 발명의 또 다른 실시예에 의하면, 정보 기록 매체에 기록된 컨텐츠를 정보 처리 장치가 재생할 수 있도록 하는 컴퓨터 프로그램은, 상기 정보 기록 매체에 기록된 컨텐츠 구성 데이터에 대하여 치환 처리를 실행하는 데이터 변환 처리 단계를 실행하기 위한 프로그램 코드를 포함하며, 상기 데이터 변환 처리 단계는, 변환 데이터를 치환 데이터로 하여, 상기 변환 데이터의 기록 위치 정보를 갖는 변환 테이블에 따라, 상기 컨텐츠 구성 데이터를 치환하는 단계를 포함한다.According to still another embodiment of the present invention, a computer program that enables an information processing apparatus to reproduce content recorded on an information recording medium includes: a data conversion process for performing a substitution process on the content configuration data recorded on the information recording medium; And program code for executing the step, wherein the data conversion processing step includes: replacing the content configuration data according to a conversion table having recording position information of the conversion data, using the conversion data as replacement data. do.

그리고, 본 발명의 일실시예의 컴퓨터 프로그램은, 다양한 프로그램 코드를 실행 가능한 범용의 컴퓨터 시스템에 대하여, CD, 플로피 디스크(FD), 광자기 디스크(MO) 등의 컴퓨터 판독 가능한 기록 매체, 또는 네트워크 등의 통신 매체에 의해 제공된다. 컴퓨터 프로그램을 컴퓨터 판독 가능한 형식으로 제공함으로써, 컴퓨터 시스템은 컴퓨터 프로그램에 따른 처리를 수행한다.The computer program of one embodiment of the present invention is a computer-readable recording medium such as a CD, a floppy disk (FD), a magneto-optical disk (MO), a network, or the like for a general-purpose computer system capable of executing various program codes. Is provided by the communication medium. By providing a computer program in a computer readable format, the computer system performs processing in accordance with the computer program.

본 발명의 이러한 특징 및 장점과 기타 다른 특징 및 장점은, 후술하는 본 발명의 상세한 설명 및 첨부 도면으로부터 더욱 명백해 질 것이다. 그리고, 본 명세서에서, 시스템은 복수 개의 장치의 논리적 집합 구성을 지칭하며, 각 구성의 장치가 동일 하우징 내에 있는 것으로 한정되지 않는다.These and other features and advantages of the present invention will become more apparent from the following detailed description of the invention and the accompanying drawings. And, in this specification, the system refers to a logical collective configuration of a plurality of devices, and is not limited to the devices of each configuration in the same housing.

본 발명의 일실시예의 구성에 의하면, 정당한 컨텐츠 구성 데이터(authorized content member data)와 상이한 브로큰 데이터(broken data)를 포함하는 컨텐츠가 정보 기록 매체에 기록되며, 또한 브로큰 데이터의 치환 대상으로 되는 정당한 컨텐츠 구성 데이터인 변환 데이터와, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖고 있는 변환 테이블(fix-up table)이 정보 기록 매체에 기록된다. 컨텐츠 재생 처리 시에, 정보 기록 매체에 기록된 변환 테이블에 따라 컨텐츠 구성 데이터를 변환 데이터로 치환한다. 정보 기록 매체에 기록된 암호화 컨텐츠에 대응하는 암호 키의 누출이 발생한 경우에도, 변환 데이터를 취득할 수 없는 장치에서는 컨텐츠의 재생이 실행되지 않아, 컨텐츠의 부정 이용이 방지된다.According to the configuration of one embodiment of the present invention, the content including the broken data different from the authorized content member data is recorded on the information recording medium, and the legitimate content to be replaced with the broken data. Conversion data which is configuration data and a fix-up table having setting position information for the contents of the conversion data are recorded in the information recording medium. In the content reproduction processing, the content configuration data is replaced with the conversion data according to the conversion table recorded on the information recording medium. Even if a leak of the encryption key corresponding to the encrypted content recorded on the information recording medium occurs, playback of the content is not performed in the apparatus that cannot obtain the converted data, thereby preventing unauthorized use of the content.

또한, 본 발명의 일실시예의 구성에 의하면, 변환 데이터는, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램을 식별하는 식별 정보의 비트를 포함한다. 만일 부정 컨텐츠가 유출된 경우에도, 변환 데이터를 분석함으로써, 부정 컨텐츠의 유출원(source)이 식별된다.Further, according to the configuration of one embodiment of the present invention, the converted data includes bits of identification information for identifying the content reproducing apparatus or the content reproducing application program. Even if the illegal content is leaked, by analyzing the converted data, the source of the illegal content is identified.

또한, 본 발명의 일실시예의 구성에 의하면, 변환 데이터를 유지하는 변환 테이블을 분할한 부분적인 변환 테이블(partial fix-up table)마다 상이한 파라미터를 적용한 연산 처리 또는 암호화 처리를 실행하는 설정으로 하였으므로, 어느 특정의 파라미터의 누출이 발생한 경우에도, 컨텐츠의 일부만의 재생이 허용될 뿐이며, 컨텐츠 전체의 누출이 발생할 가능성을 감소시키는 것이 가능하게 된다.In addition, according to the configuration of one embodiment of the present invention, since the conversion table holding the conversion data is set to perform arithmetic processing or encryption processing with different parameters for each partial fix-up table partitioned, Even when leakage of any particular parameter occurs, only reproduction of a part of the content is allowed, and it is possible to reduce the possibility of occurrence of leakage of the entire content.

도 1은 정보 기록 매체의 저장 데이터의 구조와, 드라이브 및 정보 처리 장치의 구조 및 처리에 대하여 설명하는 도면이다.BRIEF DESCRIPTION OF THE DRAWINGS It is a figure explaining the structure of the storage data of an information recording medium, and the structure and process of a drive and an information processing apparatus.

도 2는 정보 기록 매체의 저장 컨텐츠에 대하여 설정된 컨텐츠 관리 유닛의 설정예에 대하여 설명하는 도면이다.2 is a diagram for explaining a setting example of the content management unit set for the stored content of the information recording medium.

도 3은 정보 기록 매체의 저장 컨텐츠에 대하여 설정하는 컨텐츠 관리 유닛과 유닛 키 간의 대응에 대하여 설명하는 도면이다.FIG. 3 is a diagram for explaining correspondence between a content management unit and a unit key set for the stored content of the information recording medium.

도 4는 정보 기록 매체의 저장 컨텐츠에 대하여 설정되는 디렉토리 구조에 대하여 설명하는 도면이다.4 is a diagram for explaining a directory structure set for the stored contents of the information recording medium.

도 5는 변환 테이블 및 데이터 변환 프로그램의 디렉토리 구조에 대하여 설명하는 도면이다.It is a figure explaining the directory structure of a conversion table and a data conversion program.

도 6은 제1 컨텐츠 재생 처리를 나타낸 도면이다.6 is a diagram illustrating a first content reproduction process.

도 7은 드라이브와 호스트 장치 사이에서 실행되는 상호 인증 시퀀스를 설명하는 도면이다.7 is a diagram illustrating a mutual authentication sequence executed between a drive and a host device.

도 8은 컨텐츠 재생 동안에 실행된 변환 데이터의 적용 처리에 대하여 설명하는 도면이다.8 is a diagram for explaining an application process of converted data executed during content reproduction.

도 9는 정보 기록 매체에 기록된 데이터 변환 테이블의 데이터 구성에 대하여 설명하는 도면이다.9 is a diagram illustrating a data configuration of a data conversion table recorded on an information recording medium.

도 10은 제2 컨텐츠 재생 처리를 나타낸 도면이다.10 is a diagram illustrating second content reproduction processing.

도 11은 제3 컨텐츠 재생 처리를 나타낸 도면이다.11 is a diagram illustrating third content reproduction processing.

도 12는 변환 테이블 블록(FUT 블록) 단위로 난독화 처리가 되어 있는 변환 테이블의 데이터 구성에 대하여 설명하는 도면이다.It is a figure explaining the data structure of the conversion table currently obfuscated in conversion table block (FUT block) unit.

도 13은 변환 테이블 블록(FUT 블록) 단위로 난독화 처리가 되어 있지 않은 변환 테이블의 데이터 구성에 대하여 설명하는 도면이다.It is a figure explaining the data structure of the conversion table which has not been obfuscated in conversion table block (FUT block) unit.

도 14는 제4 컨텐츠 재생 처리를 나타낸 도면이다.14 is a diagram illustrating fourth content reproduction processing.

도 15는 제5 컨텐츠 재생 처리를 나타낸 도면이다.15 is a diagram illustrating a fifth content reproduction process.

도 16은 제6 컨텐츠 재생 처리를 나타낸 도면이다.16 is a diagram illustrating a sixth content reproduction process.

도 17은 컨텐츠를 포함하는 트랜스포트 스트림 패킷 내에 저장되는 변환 테이블의 데이터 구성에 대하여 설명하는 도면이다.It is a figure explaining the data structure of the conversion table stored in the transport stream packet containing content.

도 18은 제7 컨텐츠 재생 처리를 나타낸 도면이다.18 is a diagram illustrating a seventh content reproduction process.

도 19는 분할된 변환 테이블의 데이터 구성에 대하여 설명하는 도면이다.It is a figure explaining the data structure of the partitioned conversion table.

도 20은 암호화 컨텐츠의 구성 데이터 내의 특정 패킷에 분산되어 있는 변환 테이블에 대하여 설명하는 도면이다.It is a figure explaining the conversion table distributed to the specific packet in the configuration data of encrypted content.

도 21은 변환 데이터의 기록 구성에 대하여 설명하는 도면이다.21 is a diagram illustrating a recording configuration of converted data.

도 22는 제7 컨텐츠 재생 처리의 변형예를 나타낸 도면이다.22 is a diagram illustrating a modification of the seventh content reproduction process.

도 23은 제8 컨텐츠 재생 처리를 나타낸 도면이다.23 is a diagram illustrating an eighth content playback process.

도 24는 변환 테이블의 전체 데이터 구성을 나타낸 도면이다.Fig. 24 is a diagram showing the entire data structure of the conversion table.

도 25는 변환 테이블 내에 포함되는 복수의 변환 테이블 블록(FUT 블록) 중 하나의 변환 테이블 블록의 데이터 구성을 나타낸 도면이다.FIG. 25 is a diagram illustrating a data structure of one conversion table block among a plurality of conversion table blocks (FUT blocks) included in the conversion table.

도 26은 변환 테이블 블록(FUT 블록) 내의 변환 데이터 엔트리의 데이터 구성을 나타낸 도면이다.Fig. 26 is a diagram showing the data structure of a conversion data entry in a conversion table block (FUT block).

도 27은 제8 컨텐츠 재생 처리의 변형예를 나타낸 도면이다.27 is a diagram illustrating a modification of the eighth content playback process.

도 28은 변환 테이블의 변형예를 나타낸 도면이다.28 is a diagram illustrating a modification of the conversion table.

도 29는 호스트 장치로서 어플리케이션을 실행하는 정보 처리 장치의 하드웨어 구성에 대하여 설명하는 도면이다.It is a figure explaining the hardware structure of the information processing apparatus which runs an application as a host apparatus.

이하, 도면을 참조하여 본 발명의 정보 처리 방법 및 장치와, 정보 기록 매체 제조 방법 및 장치와, 정보 기록 매체와, 컴퓨터 프로그램에 대하여 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, with reference to drawings, the information processing method and apparatus of this invention, the information recording medium manufacturing method and apparatus, an information recording medium, and a computer program are demonstrated.

먼저, 정보 기록 매체(100)의 저장 데이터와, 정보 기록 매체(100)의 드라이브(120), 및 호스트 어플리케이션(150)의 개요에 대하여 설명한다. 도 1은 정보 기록 매체(100), 드라이브(120) 및 호스트 어플리케이션(150)을 나타낸다. 호스트 어플리케이션(150)은 데이터 재생(또는 기록) 어플리케이션 프로그램이며, 소정의 데이터 처리 시퀀스에 따라 PC 등의 정보 처리 장치의 하드웨어를 이용한 처리를 행한다.First, the outline | summary of the storage data of the information recording medium 100, the drive 120 of the information recording medium 100, and the host application 150 is demonstrated. 1 shows an information recording medium 100, a drive 120, and a host application 150. The host application 150 is a data reproduction (or recording) application program, and performs processing using hardware of an information processing apparatus such as a PC according to a predetermined data processing sequence.

블루-레이(Blu-ray) 디스크, DVD 등의 정보 기록 매체(100)는 정당한 컨텐츠 저작권 또는 반포권의 소유자의 허가 아래에서 디스크 제조 공장에서 제조된 정당한 컨텐츠를 저장하는 정보 기록 매체(ROM 디스크 등), 또는 데이터를 기록할 수 있는 정보 기록 매체(RE 디스크)이다. 그리고, 이하의 실시예에 대한 설명에서는, 정보 기록 매체의 예로서 디스크형의 매체를 설명하지만, 본 발명은 다양한 형태의 정보 기록 매체를 사용한 구성에도 적용할 수 있다.An information recording medium 100, such as a Blu-ray disc, a DVD, or the like, is an information recording medium (ROM disc, etc.) that stores legitimate contents manufactured at a disc manufacturing factory under the permission of the owner of a legitimate content copyright or distribution right. Or an information recording medium (RE disk) capable of recording data. Incidentally, in the description of the following embodiments, the disc-shaped medium is described as an example of the information recording medium, but the present invention can also be applied to a configuration using various types of information recording media.

도 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에 나타낸 데이터는 단지 하나의 예이며, 디스크의 종류 등에 따라 다소 상이할 수 있다. 이하, 이들 각종 정보의 개요에 대하여 설명한다.As shown in Fig. 1, the information recording medium 100 includes a key having a tree structure known as a type of the broadcast content encryption system and an encrypted content 101 on which encryption processing and partial data replacement processing have been performed. A title key composed of a media key block (MKB) 102 as an encryption key block generated according to a distribution method, and data (Encrypted CPS Unit Key) which is an encrypted form of a title key applied to content decryption processing. A conversion in which a file 103, permission information 104 including copy control information (CCI: Copy Control Information) as copy and reproduction control information of content, and converted data corresponding to replacement data of a predetermined area in the content are registered. A data conversion program including a fix-up table 105 and a processing instruction for executing data conversion processing in response to the registered conversion data ( 106). The data shown in FIG. 1 is just one example, and may differ slightly depending on the type of disk and the like. Hereinafter, the outline | summary of these various information is demonstrated.

정보 기록 매체(100)에는 다양한 컨텐츠가 저장된다. 예컨대, 정보 기록 매체(100)는 고선명 동화상 데이터인 HD(High Definition) 무비 컨텐츠 등의 AV(Audio Visual) 스트림, 특정한 규격으로 규정된 게임 프로그램, 화상 파일, 음성 데이터, 텍스트 데이터 등을 포함한 컨텐츠를 저장한다. 이들 컨텐츠는 특정한 AV 데이터 포맷에 따라 저장된 AV 포맷 규격 데이터이다. 구체적으로, 이들 컨텐츠는, 예컨대 블루-레이(Blu-ray) 디스크 ROM 규격 데이터로서, 블루-레이(Blu-ray) 디스크 ROM 규격 포맷으로 따라 저장된다.Various contents are stored in the information recording medium 100. For example, the information recording medium 100 includes contents including audio visual (AV) streams such as high definition (HD) movie contents, which are high definition moving image data, game programs defined by a specific standard, image files, audio data, text data, and the like. Save it. These contents are AV format standard data stored according to a specific AV data format. Specifically, these contents are stored according to a Blu-ray disc ROM standard format, for example, as Blu-ray disc ROM standard data.

또한, 정보 기록 매체(100)는 서비스 데이터로서 게임 프로그램, 화상 파일, 음성 데이터, 및 텍스트 데이터를 저장할 수 있다. 이들 컨텐츠는 특정한 AV 데이터 포맷에 따르지 않는 데이터 포맷을 갖는 데이터로서 저장될 수 있다.In addition, the information recording medium 100 can store a game program, an image file, audio data, and text data as service data. These contents can be stored as data having a data format that does not conform to a particular AV data format.

컨텐츠의 종류로서는, 음악 데이터, 정지 화상 등의 화상 데이터, 게임 프로그램, 및 WEB 컨텐츠가 포함된다. 이들 컨텐츠에는, 정보 기록 매체(100)로부터의 데이터에만 응답하여 이용될 수 있는 컨텐츠 정보와, 정보 기록 매체(100)로부터의 데이터와 네트워크를 통해 서버로부터 제공되는 데이터를 조합하여 이용될 수 있는 컨텐츠 정보 등의 다양한 정보가 포함된다. 정보 기록 매체(100)에 저장되는 컨텐츠는, 구분 컨텐츠마다 상이한 키(CPS(컨텐츠 보호 시스템) 유닛 키, 단순히 유닛 키, 또는 타이틀 키로 지칭됨)가 할당되고, 그 후 암호화된다. 1개의 유닛 키가 할당되는 컨텐츠의 단위를 컨텐츠 관리 유닛(CPS 유닛)으로 지칭한다. 또한, 컨텐 츠는, 구성 데이터의 일부가 정확한 컨텐츠 데이터와 상이한 데이터에 의해 교체되는 브로큰 데이터일 수도 있다. 이러한 컨텐츠는 복호화 처리 만으로는 정확한 컨텐츠 재생이 실행될 수 없고, 재생을 행하는 경우에는, 브로큰 데이터를 변환 테이블에 등록된 데이터로 치환하는 처리를 필요로 한다. 이들 처리는 상세하게 후술될 것이다.Examples of the content include music data, image data such as still images, game programs, and WEB content. These contents may be used by combining content information that can be used only in response to data from the information recording medium 100, data from the information recording medium 100, and data provided from a server via a network. Various information such as information is included. The content stored in the information recording medium 100 is assigned a different key (referred to as a CPS (Content Protection System) unit key, simply a unit key, or a title key) for each divided content, and then encrypted. A unit of content to which one unit key is assigned is referred to as a content management unit (CPS unit). The content may also be broken data in which part of the configuration data is replaced by data different from the correct content data. Such content cannot be reproduced correctly by the decoding process alone, and in the case of reproduction, a process of replacing broken data with data registered in the conversion table is required. These processes will be described later in detail.

MKB(Media Key Block)(102)은 브로드캐스트 인크립션 방식의 한 종류에서의 트리 구조를 갖는 키 분배 방식에 따라 생성되는 암호 키 블록이다. MKB(102)는, 유효한 라이센스를 갖는 사용자의 정보 처리 장치에 저장된 디바이스 키(Kd)에 따른 복호 처리를 통해서만, 컨텐츠의 복호에 필요한 키인 미디어 키(Km)의 취득을 가능하게 한다. MKB(102)는 계층형 트리 구조에 따른 정보 분배 방식으로 분배된다. 사용자 디바이스(정보 처리 장치)가 유효한 라이센스를 가지는 경우에만, 미디어 키(Km)가 취득될 수 있다. 무효화 처리된 사용자 디바이스는 미디어 키(Km)의 취득이 불가능하게 된다.The media key block (MKB) 102 is an encryption key block generated according to a key distribution scheme having a tree structure in one kind of broadcast encryption scheme. The MKB 102 enables the acquisition of the media key Km, which is a key necessary for decrypting the content, only through the decoding process in accordance with the device key Kd stored in the user's information processing apparatus having a valid license. MKB 102 is distributed in an information distribution manner according to a hierarchical tree structure. Only when the user device (information processing apparatus) has a valid license can the media key Km be obtained. The invalidated user device cannot obtain the media key Km.

라이센스 엔티티로서의 제어 센터는 MKB(102)에 저장되는 키 정보의 암호화에 사용하는 디바이스 키를 변경하여, 특정한 사용자 디바이스에 저장된 디바이스 키로는 복호 처리가 수행될 수 없도록 한다. 즉, 제어 센터는 컨텐츠 복호에 필요한 미디어 키를 취득할 수 없는 구성을 갖는 MKB(102)를 생성한다. 따라서, 제어 센터는 임의의 타이밍에서 부정한 디바이스를 배제시키고, 유효한 라이센스를 갖는 디바이스에 대해서만 복호 가능한 암호화 컨텐츠를 제공한다. 컨텐츠의 복호 처리에 대하여는 후술한다.The control center as a license entity changes the device key used for encrypting the key information stored in the MKB 102 so that decryption processing cannot be performed with the device key stored in the specific user device. That is, the control center generates the MKB 102 having a configuration in which the media key required for content decryption cannot be obtained. Thus, the control center excludes unauthorized devices at any timing and provides decryptable encrypted content only for devices having a valid license. The decoding processing of the content will be described later.

전술한 바와 같이, 각각의 컨텐츠 또는 복수의 컨텐츠의 집합은, 컨텐츠의 이용 관리를 위하여, 각각 개별적인 암호 키(타이틀 키 또는 CPS 유닛 키)로 암호화되어 정보 기록 매체(100)에 저장된다. 즉, AV(Audio Visual) 스트림, 음악 데이터, 동영상 및 정지 화상 등의 화상 데이터, 게임 프로그램, 및 WEB 컨텐츠는 컨텐츠 이용의 관리 단위로서의 유닛으로 분할되며, 각각의 분할된 유닛마다 상이한 타이틀 키를 생성하여 복호 처리를 행하는 것이 필요하다. 이 타이틀 키를 생성하기 위한 정보가 타이틀 키 데이터이며, 예컨대, 타이틀 키는 미디어 키 등에 의해 생성된 키로 암호화 타이틀 키를 복호함으로써 생성된다. 타이틀 키 데이터를 적용한 소정의 암호 키 생성 시퀀스에 따라, 각각의 유닛에 대한 타이틀 키가 생성되고, 그 후 컨텐츠의 복호가 실행된다.As described above, each of the contents or a set of the plurality of contents is encrypted with an individual encryption key (title key or CPS unit key) and stored in the information recording medium 100, respectively, for use management of the contents. That is, image data such as AV (Audio Visual) streams, music data, moving images and still images, game programs, and WEB contents are divided into units as management units for content use, and generate different title keys for each divided unit. To perform the decoding process. Information for generating this title key is title key data. For example, a title key is generated by decrypting an encrypted title key with a key generated by a media key or the like. In accordance with a predetermined encryption key generation sequence to which title key data is applied, a title key for each unit is generated, and then the content is decrypted.

사용 허락 정보(104)는 카피 및 재생 제어 정보(CCI)를 포함한다. 보다 구체적으로, 사용 허락 정보(104)는, 정보 기록 매체(100)에 저장된 암호화 컨텐츠(101)의 이용을 제어하기 위한 카피 제어 정보와, 암호화 컨텐츠(101)의 재생을 제어하기 위한 재생 제어 정보를 포함한다. 이 카피 및 재생 제어 정보(CCI)는, 컨텐츠 관리 유닛으로서 설정된 CPS 유닛의 개별 정보로서 설정되는 경우, 또는 복수의 CPS 유닛에 대해 일괄적으로 설정되는 경우 등의 다양한 설정이 가능하다.The usage information 104 includes copy and playback control information (CCI). More specifically, the permission information 104 includes copy control information for controlling the use of the encrypted content 101 stored in the information recording medium 100 and reproduction control information for controlling the reproduction of the encrypted content 101. It includes. This copy and playback control information (CCI) can be set in various ways such as when it is set as individual information of a CPS unit set as a content management unit or when it is set collectively for a plurality of CPS units.

전술한 바와 같이, 정보 기록 매체(100)에 저장된 암호화 컨텐츠(101)는 소정의 암호화 처리로 암호화되는 동시에, 컨텐츠 구성 데이터의 일부가 정확한 데이터와 상이한 브로큰 데이터로 구성되어 있다. 컨텐츠 재생 동작 동안, 이 브로큰 데이터를 정확한 컨텐츠 데이터인 변환 데이터로 치환하는 데이터 재기입 처리가 실행된다. 이 변환 데이터를 등록한 테이블이 변환 테이블(105)이다. 브로큰 데이터는 컨텐츠 중에 다수 산재되어 있다. 컨텐츠 재생 동안, 이들 복수의 브로큰 데이터를 변환 테이블에 등록된 변환 데이터로 재기입(치환)하는 처리가 실행된다. 암호 키가 누출되어 컨텐츠의 복호가 부정으로 행해진 경우에도, 컨텐츠의 복호만으로는 정확한 컨텐츠의 재생이 불가능하게 되어, 부정한 컨텐츠의 이용을 방지할 수 있다.As described above, the encrypted content 101 stored in the information recording medium 100 is encrypted by a predetermined encryption process, and at the same time, a part of the content configuration data is composed of broken data different from the correct data. During the content reproduction operation, a data rewrite process is performed to replace this broken data with converted data that is correct content data. The table in which this converted data is registered is the conversion table 105. Broken data is scattered among the contents. During content reproduction, a process of rewriting (substituting) the plurality of broken data into the conversion data registered in the conversion table is executed. Even if the encryption key is leaked and the decryption of the content is performed illegally, the accurate content cannot be reproduced only by decrypting the content, and the use of the illegal content can be prevented.

변환 테이블(105)은, 통상의 변환 데이터 외에, 컨텐츠 재생 장치 및 컨텐츠 재생 어플리케이션 프로그램 중 하나를 식별 가능하게 하는 식별 정보의 비트를 해석하기 위해 사용되는 데이터를 포함하는 변환 데이터가 포함된다. 구체적으로, 플레이어(호스트 어플리케이션 프로그램을 실행하는 장치)의 식별 데이터로서의 플레이어 ID 또는 플레이어 ID에 따라 생성된 식별 정보를 포함하는 "식별 마크(포렌직 마크(forensic mark))를 포함하는 변환 데이터"가 포함된다. 식별 마크를 포함하는 변환 데이터는, 컨텐츠의 재생에 영향을 주지 않은 범위 내에서 정확한 컨텐츠 데이터의 비트수를 약간 변경한 데이터이다. 이들 변환 데이터를 이용한 처리는 상세히 후술될 것이다.The conversion table 105 includes, in addition to the normal conversion data, conversion data including data used for interpreting bits of identification information for identifying one of the content reproduction device and the content reproduction application program. Specifically, "conversion data including identification mark (forensic mark)" including identification information generated according to the player ID or player ID as identification data of the player (the device executing the host application program) is included. do. The converted data including the identification mark is data obtained by slightly changing the number of bits of the correct content data within a range that does not affect the reproduction of the content. Processing using these converted data will be described later in detail.

도 1은 변환 테이블(105)을 별도의 데이터 파일로서 예시하고 있지만, 변환 테이블(105)을 별도의 파일로 하지 않고, 암호화 컨텐츠(101)의 패킷 중에 산재시켜 포함하게 한 구성으로 해도 된다. 변환 테이블(105)의 구성 및 처리에 대하여는 후술될 것이다.Although FIG. 1 illustrates the conversion table 105 as a separate data file, the conversion table 105 may not be a separate file but may be configured to be interspersed in the packet of the encrypted content 101. The configuration and processing of the conversion table 105 will be described later.

데이터 변환 프로그램(106)은, 변환 테이블(105)의 변환 데이터에 따라 데이 터 변환 처리를 실행하기 위해 사용된다. 컨텐츠 재생을 행하는 호스트 장치가 데이터 변환 프로그램(106)을 수행한다. 보다 구체적으로, 도 1의 호스트 어플리케이션(150)의 데이터 변환 프로세서(154)가 데이터 변환 프로그램(106)을 실행한다.The data conversion program 106 is used to execute data conversion processing in accordance with the conversion data of the conversion table 105. The host apparatus that performs content reproduction executes the data conversion program 106. More specifically, the data conversion processor 154 of the host application 150 of FIG. 1 executes the data conversion program 106.

호스트 어플리케이션(150)에서는, 데이터 변환 처리를 실행하는 버추얼 머신(VM)을 설정하고, 버추얼 머신(VM)은, 정보 기록 매체(100)로부터 판독한 데이터 변환 프로그램(106)을 실행하여, 변환 테이블(105)의 변환 데이터를 적용한다. 버추얼 머신은 복호 컨텐츠에 대하여 그 일부 구성 데이터의 데이터 변환 처리를 실행한다.In the host application 150, a virtual machine VM for executing data conversion processing is set, and the virtual machine VM executes a data conversion program 106 read from the information recording medium 100 to convert the conversion table. The conversion data of 105 is applied. The virtual machine performs a data conversion process of the partial configuration data on the decrypted content.

다음에, 호스트 어플리케이션(150) 및 드라이브(120)의 구성 및 처리의 개요에 대하여 도 1을 참조하여 설명한다. 정보 기록 매체(100)에 저장된 컨텐츠의 재생 처리는, 드라이브(120)를 통하여 호스트 어플리케이션(150)에 데이터를 전송함으로써 실행된다. 컨텐츠의 이용에 앞서, 드라이브(120)와 호스트 어플리케이션(150) 간에는 상호 인증 처리가 실행되며, 드라이브(120)와 호스트 어플리케이션(150)이 서로를 인증한 후, 드라이브(120)가 호스트 어플리케이션(150)에게 암호화 컨텐츠를 전송한다. 호스트 어플리케이션(150)측에서 컨텐츠의 복호 처리가 행해지고, 전술한 변환 테이블(105)에 따라 데이터 변환 처리가 실행되어, 컨텐츠 재생이 행해진다.Next, an outline of the configuration and processing of the host application 150 and the drive 120 will be described with reference to FIG. 1. The reproduction processing of the content stored in the information recording medium 100 is executed by transferring data to the host application 150 via the drive 120. Prior to the use of the content, mutual authentication processing is performed between the drive 120 and the host application 150, and after the drive 120 and the host application 150 authenticate each other, the drive 120 is the host application 150 Send encrypted content to the. The content decoding process is performed on the host application 150 side, the data conversion process is executed in accordance with the above-described conversion table 105, and content reproduction is performed.

호스트 어플리케이션(150)과 드라이브(120) 간에 실행되는 상호 인증 처리에서는, 각각의 기기 또는 어플리케이션이 부정한 기기 또는 어플리케이션으로서 등록되어 있는지를 나타내는 제어 센터가 발행한 무효화 리스트(revocation list)를 참조하여, 상대방에 대한 정당성을 판정한다.In the mutual authentication process executed between the host application 150 and the drive 120, the counterpart is referred to by referring to a revocation list issued by the control center indicating whether each device or application is registered as an illegal device or application. Determine the justification for

드라이브(120)는, 호스트 어플리케이션(150)의 증명서(공개키 증명서)의 무효화 정보를 저장한 호스트 CRL(Certificate Revocation List)를 저장하기 위한 메모리(122)를 갖는다. 호스트 어플리케이션(150)은, 드라이브의 증명서(공개키 증명서)의 무효화 정보를 저장한 드라이브 CRL(Certificate Revocation List)를 저장하기 위한 메모리(152)를 갖는다. 메모리(122, 152)는 비휘발성 메모리(NVRAM)이며, 예컨대, 정보 기록 매체(100)로부터 판독된 CRL이 새로운 버전인 경우에는, 각각의 데이터 프로세서(121, 151)는, 각각 메모리(122, 152)에 새로운 버전의 호스트 CRL 또는 드라이브 CRL를 저장하는 갱신 처리를 행한다.The drive 120 has a memory 122 for storing a host Certificate Revocation List (CRL) that stores invalidation information of a certificate (public key certificate) of the host application 150. The host application 150 has a memory 152 for storing a drive certificate revocation list (CRL) that stores invalidation information of a drive's certificate (public key certificate). The memory 122, 152 is a nonvolatile memory (NVRAM). For example, when the CRL read from the information recording medium 100 is a new version, each of the data processors 121, 151 is a memory 122, respectively. In step 152, an update process for storing a new version of the host CRL or drive CRL is performed.

호스트 CRL 및 드라이브 CRL 등의 CRL은 제어 센터에 의해 연속적으로 갱신된다. 즉 새로운 부정 기기가 발견되었을 경우, 제어 센터는 그 부정 기기에 대하여 발행된 증명서의 ID 또는 기기 ID 등을 신규 엔트리로 추가하여 갱신 CRL를 발행한다. 각각의 CRL에는 버전 번호가 부여되어 있고, 신구 비교가 가능한 구성으로 되어 있다. 예컨대, 드라이브(120)에 장착된 정보 기록 매체로부터 판독된 CRL가, 드라이브(120) 내의 메모리(122)에 저장된 CRL보다 신규의 것인 경우, 드라이브(120)는 CRL의 갱신 처리를 실행한다. 호스트 어플리케이션(150)도 마찬가지로 드라이브 CRL 갱신 처리를 실행한다.CRLs, such as host CRLs and drive CRLs, are continuously updated by the control center. That is, when a new illegal device is found, the control center issues an update CRL by adding the ID or device ID of a certificate issued to the illegal device as a new entry. Each CRL is given a version number, and it is a structure which can compare new and old. For example, when the CRL read from the information recording medium mounted in the drive 120 is newer than the CRL stored in the memory 122 in the drive 120, the drive 120 executes the update processing of the CRL. The host application 150 also executes the drive CRL update process.

드라이브(120)의 데이터 프로세서(121)는, CRL 갱신 처리 외에, 컨텐츠 이용 시의 호스트 어플리케이션(150)과의 인증 처리, 정보 기록 매체(100)로부터의 데이터 판독 처리, 및 호스트 어플리케이션(150)에 데이터를 전송하는 데이터 전송 처 리를 실행한다.In addition to the CRL update process, the data processor 121 of the drive 120 may also process authentication with the host application 150 at the time of use of the content, read data from the information recording medium 100, and the host application 150. Perform data transfer processing to transfer the data.

호스트 어플리케이션(150)은, 전술한 바와 같이, PC 등의 정보 처리 장치에서 실행되는 데이터 재생 및 기록 어플리케이션이며, 소정의 데이터 처리 시퀀스에 따라 PC 등의 정보 처리 장치의 하드웨어를 이용한 처리를 행한다.As described above, the host application 150 is a data reproduction and recording application that is executed in an information processing apparatus such as a PC, and performs processing using hardware of an information processing apparatus such as a PC according to a predetermined data processing sequence.

호스트 어플리케이션(150)은, 드라이브(120)와의 상호 인증 처리 및 데이터 전송 제어 처리를 실행하는 데이터 프로세서(151), 암호화 컨텐츠의 복호 처리를 실행하는 복호 프로세서(153), 전술한 변환 테이블(105)의 등록 데이터에 따른 데이터 변환 처리를 실행하는 데이터 변환 프로세서(154), 및 디코드(예컨대, MPEG 디코드) 처리를 실행하는 디코드 프로세서(155)를 포함한다.The host application 150 includes a data processor 151 that executes mutual authentication processing and data transmission control processing with the drive 120, a decryption processor 153 that performs decryption processing of encrypted content, and the conversion table 105 described above. A data conversion processor 154 that executes data conversion processing in accordance with the registration data of < RTI ID = 0.0 > and < / RTI >

데이터 프로세서(151)는 호스트와 드라이브 간의 인증 처리를 실행하고, 인증 처리 시에는, 비휘발성 메모리(NVRAM)로서의 메모리 "a"(152)에 저장된 드라이브 CRL를 참조하여, 드라이브(120)가 무효화된 드라이브가 아닌지를 확인한다. 호스트 어플리케이션(150)은 메모리 "a"(152)에 새로운 버전의 드라이브 CRL를 저장하는 갱신 처리를 행한다.The data processor 151 performs an authentication process between the host and the drive, and during the authentication process, the drive 120 is invalidated by referring to the drive CRL stored in the memory " a " 152 as a nonvolatile memory (NVRAM). Make sure it is not a drive. The host application 150 performs an update process of storing a new version of the drive CRL in the memory " a "

복호 프로세서(153)는, 메모리 "b"(156)에 저장된 각종 정보, 및 정보 기록 매체(100)로부터의 판독 데이터를 참조하여, 컨텐츠의 복호에 적용되는 키를 생성하고, 암호화 컨텐츠(101)의 복호 처리를 실행한다. 데이터 변환 프로세서(154)는, 정보 기록 매체(100)로부터 취득되는 데이터 변환 프로그램(106)에 따라, 정보 기록 매체(100)로부터 취득되는 변환 테이블(105)에 등록된 변환 데이터를 이용하여 컨텐츠의 구성 데이터에 대한 치환 처리(재기입 처리)를 실행한다. 디코드 프 로세서(155)는 디코드(예컨대, MPEG 디코드) 처리를 실행한다.The decryption processor 153 refers to the various information stored in the memory "b" 156 and the read data from the information recording medium 100, generates a key applied to the decryption of the content, and encrypts the content 101. Decoding processing is performed. The data conversion processor 154 uses the converted data registered in the conversion table 105 obtained from the information recording medium 100 to convert the contents into the data conversion program 106 obtained from the information recording medium 100. Substitution process (rewrite process) is performed on the configuration data. The decode processor 155 performs decode (eg, MPEG decode) processing.

호스트 어플리케이션(150)의 메모리 "b"(156)에는, 디바이스 키(Kd), 상호 인증 처리에 적용 가능한 키 정보, 및 복호 처리에 적용 가능한 키 정보가 저장된다. 그리고, 컨텐츠의 복호 처리에 대해서는 상세히 후술될 것이다. 디바이스 키(Kd)는 MKB(102)의 처리에 적용되는 키이다. MKB(102)는, 유효한 라이센스를 갖는 사용자의 정보 처리 장치에 저장된 디바이스 키(Kd)에 따른 복호 처리를 통해서만, 컨텐츠의 복호에 필요한 키의 획득을 가능하게 한다. MKB(102)는 계층을 이루고 있는 트리 구조의 정보 분배 시스템에 분배된다. 암호화 컨텐츠의 복호 동안, 호스트 어플리케이션(150)은, 메모리 b(156)에 저장된 디바이스 키(Kd)를 적용하여 MKB 처리를 실행하게 된다. 그리고, 컨텐츠의 복호 처리에 대해서는 상세히 후술될 것이다.In the memory " b " 156 of the host application 150, the device key Kd, key information applicable to mutual authentication processing, and key information applicable to decryption processing are stored. The content decoding process will be described later in detail. The device key Kd is a key applied to the processing of the MKB 102. The MKB 102 makes it possible to obtain a key necessary for decrypting content only through a decoding process in accordance with a device key Kd stored in an information processing apparatus of a user having a valid license. The MKB 102 is distributed to a tree-structured information distribution system. During decryption of the encrypted content, the host application 150 applies the device key Kd stored in the memory b 156 to execute MKB processing. The content decoding process will be described later in detail.

전술한 바와 같이, 정보 기록 매체에 저장되는 컨텐츠는, 유닛마다의 상이한 이용 제어를 실현하기 위해, 유닛마다 상이한 키가 할당되고 암호화 처리가 행해져 저장된다. 보다 구체적으로, 컨텐츠는 컨텐츠 관리 유닛(CPS 유닛)으로 분할되고, 개별적인 암호화 처리가 행해져 개별적인 이용 관리가 행해진다.As described above, in order to realize different usage control for each unit, the contents stored in the information recording medium are stored with different keys assigned to each unit and subjected to encryption processing. More specifically, the content is divided into content management units (CPS units), and individual encryption processing is performed to perform individual use management.

컨텐츠 이용 동안, 각 유닛에 할당된 CPS 유닛 키(타이틀 키)를 취득하는 것이 필요하며, 또한 그 외의 필요한 키 및 키 생성 정보를 적용하여 미리 정해진 복호 처리 시퀀스에 따른 데이터 처리를 실행하여 재생을 행한다. 이하에서는, 컨텐츠 관리 유닛(CPS 유닛)의 설정 모드에 대하여 도 2를 참조하여 설명한다.During the use of the content, it is necessary to acquire the CPS unit key (title key) assigned to each unit, and perform reproduction by performing data processing according to a predetermined decoding processing sequence by applying other necessary keys and key generation information. . Hereinafter, the setting mode of the content management unit (CPS unit) will be described with reference to FIG. 2.

도 2에 나타낸 바와 같이, 컨텐츠는, 인덱스(210), 무비 오브젝트(220), 플 레이 리스트(230), 및 클립(240)으로 이루어진 계층 구조를 갖는다. 재생 어플리케이션 프로그램에 의해 액세스되는 타이틀 등의 인덱스를 지정하면, 타이틀에 관련된 재생 프로그램이 지정된다. 지정된 재생 프로그램의 프로그램 정보에 따라, 컨텐츠의 재생 순서를 규정한 플레이 리스트가 선택된다.As shown in FIG. 2, the content has a hierarchical structure composed of an index 210, a movie object 220, a play list 230, and a clip 240. If an index such as a title to be accessed by the playback application program is specified, a playback program associated with the title is specified. According to the program information of the designated playback program, a play list that defines the playback order of the content is selected.

플레이 리스트에는, 재생 데이터 정보로서의 플레이 아이템이 포함된다. 플레이 리스트에 포함되는 플레이 아이템에 의해 규정되는 재생 구간으로서의 클립 정보에 따라, 컨텐츠 데이터로서의 AV 스트림 및 커맨드가 선택적으로 판독되어, AV 스트림의 재생과 커맨드의 실행이 행해진다. 다수의 플레이 리스트 및 플레이 아이템이 존재하며, 각각에 플레이 리스트 ID 및 플레이 아이템 ID가 태그(tag)되어 있다.The play list includes play items as reproduction data information. According to the clip information as the reproduction section defined by the play item included in the play list, the AV stream and the command as the content data are selectively read, and the AV stream is reproduced and the command is executed. There are a number of play lists and play items, each of which is tagged a Play List ID and a Play Item ID.

도 2는 2개의 CPS 유닛을 나타내고 있다. 이들 CPS 유닛은 정보 기록 매체(100)에 저장된 컨텐츠의 일부를 구성하고 있다. CPS 유닛(271, 272)의 각각은 인덱스로서의 타이틀, 재생 프로그램 파일로서의 무비 오브젝트, 플레이 리스트, 및 컨텐츠 데이터로서의 AV 스트림 파일을 포함하는 클립으로 구성되어 있다.2 shows two CPS units. These CPS units constitute a part of the content stored in the information recording medium 100. Each of the CPS units 271 and 272 is composed of a clip including a title as an index, a movie object as a playback program file, a play list, and an AV stream file as content data.

컨텐츠 관리 유닛(CPS 유닛)(271)에는, 타이틀1(211)과 타이틀2(212), 재생 프로그램(221∼223), 플레이 리스트(231, 232), 및 클립(241, 242)이 포함된다. 이들 2개의 클립(241, 242)에 포함되는 컨텐츠의 실질 데이터인 AV 스트림 데이터 파일(261, 262)이 적어도 암호화 데이터이다. 이 데이터는, CPS 유닛(271)에 대응시켜 설정된 암호 키로서의 타이틀 키(Kt1)(CPS 유닛 키로서 지칭됨)를 이용하여 암호화된 데이터이다.The content management unit (CPS unit) 271 includes a title 1 211 and a title 2 212, playback programs 221 to 223, playlists 231 and 232, and clips 241 and 242. . The AV stream data files 261 and 262 which are actual data of the contents included in these two clips 241 and 242 are at least encrypted data. This data is data encrypted using a title key Kt1 (referred to as a CPS unit key) as an encryption key set in correspondence with the CPS unit 271.

컨텐츠 관리 유닛(CPS 유닛)(272)에는, 인덱스로서의 어플리케이션1(213), 재생 프로그램(224), 플레이 리스트(233), 클립(243)이 포함된다. 클립(243)에 포함되는 컨텐츠의 실질 데이터인 AV 스트림 데이터 파일(263)은 컨텐츠 관리 유닛(CPS 유닛)(272)에 대응하여 설정된 암호 키로서의 타이틀 키(Kt2)를 이용하여 암호화된다.The content management unit (CPS unit) 272 includes an application 1 213 as a index, a playback program 224, a play list 233, and a clip 243. The AV stream data file 263, which is the actual data of the content included in the clip 243, is encrypted using the title key Kt2 as the encryption key set corresponding to the content management unit (CPS unit) 272.

예컨대, 사용자가 컨텐츠 관리 유닛(271)에 대응하는 어플리케이션 파일 또는 컨텐츠 재생 처리를 실행하기 위해서는, 컨텐츠 관리 유닛(271)에 대응하여 설정된 암호 키로서의 타이틀 키(Kt1)를 취득하여 복호 처리를 실행하는 것이 필요하다. 컨텐츠 관리 유닛(272)에 대응하는 어플리케이션 파일 또는 컨텐츠 재생 처리를 실행하기 위해서는, 사용자는 컨텐츠 관리 유닛(272)에 대응하여 설정된 암호 키로서의 타이틀 키(Kt2)를 취득하여 복호 처리를 실행하는 것이 필요하다.For example, in order for a user to execute an application file or content reproduction process corresponding to the content management unit 271, the user acquires the title key Kt1 as the encryption key set in correspondence with the content management unit 271 and executes the decoding process. It is necessary. In order to execute the application file or the content reproduction process corresponding to the content management unit 272, the user needs to acquire the title key Kt2 as the encryption key set corresponding to the content management unit 272 and execute the decoding process. Do.

CPS(컨텐츠 보호 시스템) 유닛의 설정 구성, 및 이에 대응하는 타이틀 키를 도 3에 나타낸다. 도 3에 도시된 바와 같이, 정보 기록 매체(100)에 저장되는 암호화 컨텐츠의 이용 관리 단위로서의 CPS 설정 단위는, 대응하는 CPS 유닛에 적용된 타이틀 키에 대응한다. 그리고, 미리 후발 데이터용의 CPS 유닛 및 타이틀 키를 저장하여 설정하여 두는 것도 가능하다. 예컨대, 데이터부(281)가 후발 데이터용의 엔트리이다.The configuration of the CPS (Contents Protection System) unit and the title key corresponding thereto are shown in FIG. As shown in FIG. 3, the CPS setting unit as the usage management unit of the encrypted content stored in the information recording medium 100 corresponds to the title key applied to the corresponding CPS unit. In addition, it is also possible to store and set the CPS unit and title key for later data in advance. For example, the data portion 281 is an entry for late data.

CPS 설정 단위는, 컨텐츠의 타이틀, 어플리케이션, 및 데이터 그룹 등의 여러 가지 요소가 될 수 있다. CPS 유닛 관리 테이블에는, 각각의 CPS 유닛에 대응하는 식별자로서의 CPS 유닛 ID가 나열되어 있다.The CPS setting unit may be various elements such as a title of a content, an application, and a data group. In the CPS unit management table, the CPS unit ID as an identifier corresponding to each CPS unit is listed.

도 3에 도시된 바와 같이, 타이틀 1은 CPS 유닛 1이며, CPS 유닛 1에 속하는 암호화 컨텐츠를 복호하기 위해 타이틀 키(Kt1)가 생성된다. 그러므로, 복호 처리는 생성된 타이틀 키(Kt1)에 따라 실행된다.As shown in Fig. 3, title 1 is CPS unit 1, and a title key Kt1 is generated to decrypt the encrypted content belonging to CPS unit 1. Therefore, the decoding process is executed in accordance with the generated title key Kt1.

이와 같이, 정보 기록 매체(100)에 저장되는 컨텐츠는, 유닛마다의 상이한 제어 처리를 실현하기 위해, 유닛마다 상이한 키가 할당되고 암호화 처리가 행해져 저장된다. CPS 유닛에 대한 개별적인 이용 관리를 위하여, 각각의 CPS 유닛에 대한 사용 허락 정보(UR: Usage Rule)가 설정되어 있다. 사용 허락 정보는, 전술한 바와 같이, 각각의 CPS 유닛에 포함되는 암호화 컨텐츠의 카피 제어 정보 및 재생 제어 정보 등의 카피 및 재생 제어 정보(CCI)를 포함한다.In this manner, the contents stored in the information recording medium 100 are stored with different keys assigned to each unit and an encryption process performed in order to realize different control processing for each unit. In order to manage individual usage of CPS units, usage rules (UR) for each CPS unit are set. The usage permission information includes copy and reproduction control information (CCI) such as copy control information and reproduction control information of the encrypted content included in each CPS unit, as described above.

타이틀 키의 생성에는, 정보 기록 매체(100)에 저장된 다양한 정보를 적용한 데이터 처리가 필요로 된다. 이들 처리의 구체예에 대해서는 상세하게 후술될 것이다.Generation of the title key requires data processing to which various pieces of information stored in the information recording medium 100 are applied. Specific examples of these treatments will be described later in detail.

다음에, 도 4를 참조하여, 도 2에 나타내는 계층 구조를 갖는 컨텐츠에 대응하는 디렉토리의 구성에 대하여 설명한다.Next, with reference to FIG. 4, the structure of the directory corresponding to the content which has a hierarchical structure shown in FIG. 2 is demonstrated.

도 2의 인덱스(210)는 도 4에 나타낸 디렉토리 중의 "index.bdmv" 파일에 대응한다.The index 210 of FIG. 2 corresponds to the "index.bdmv" file in the directory shown in FIG.

도 2의 무비 오브젝트(220)는 도 4의 디렉토리 중의 "MovieObject.bdmv" 파일에 대응한다.The movie object 220 of FIG. 2 corresponds to the "MovieObject.bdmv" file in the directory of FIG.

도 2의 플레이 리스트(230)는 도 4의 디렉토리 중의 "PLAYLIST" 디렉토리 하의 파일에 대응한다.The playlist 230 of FIG. 2 corresponds to files under the "PLAYLIST" directory in the directory of FIG.

도 2의 클립(240)은 도 4의 디렉토리 중의 "CLIPINF" 디렉토리 하의 파일 및 "STREAM" 디렉토리 하의 파일에서 동일한 파일 번호 갖는 파일에 대응하고 있다.The clip 240 of FIG. 2 corresponds to a file having the same file number in a file under the "CLIPINF" directory and a file under the "STREAM" directory in the directory in FIG.

전술한 바와 같이, 정보 기록 매체(100)에 저장되는 컨텐츠는, 컨텐츠의 구성 데이터의 일부가 정확한 컨텐츠 데이터와 상이한 데이터에 의해 치환되는 브로큰 데이터로서 설정된다. 복호 처리 만으로는 정확한 컨텐츠를 재생할 수 없다. 정확한 컨텐츠를 재생하기 위해서는, 브로큰 데이터를 변환 테이블에 등록된 데이터로 치환하는 처리를 필요로 한다. 이 치환 처리에서는, 정보 기록 매체(100)에 저장된 데이터 변환 프로그램(106)을 적용하여, 변환 테이블(105)의 등록 데이터에 의한 데이터 변환 처리를 실행한다.As described above, the content stored in the information recording medium 100 is set as broken data in which part of the configuration data of the content is replaced by data different from the correct content data. Decoding process alone cannot reproduce accurate content. In order to reproduce the correct content, a process of replacing broken data with data registered in the conversion table is required. In this substitution process, the data conversion program 106 stored in the information recording medium 100 is applied, and the data conversion process by the registration data of the conversion table 105 is performed.

전술한 바와 같이, 변환 테이블(105) 및 데이터 변환 프로그램(106)이 정보 기록 매체(100)에 기록된다. 도 5는 도 4의 디렉토리 구조를 갖는 컨텐츠에 대응하는 변환 테이블과, 데이터 변환 프로그램의 디렉토리 구조를 나타낸다. 도 5에 도시된 바와 같이, 도 4의 디렉토리 구조를 가지는 AV 컨텐츠에 대하여 데이터 변환 프로그램(106)이 생성된다.As described above, the conversion table 105 and the data conversion program 106 are recorded in the information recording medium 100. FIG. 5 shows a conversion table corresponding to the content having the directory structure of FIG. 4 and a directory structure of the data conversion program. As shown in FIG. 5, a data conversion program 106 is generated for AV contents having the directory structure of FIG.

도 5의 "ContentCode.svm"이 데이터 변환 프로그램(106)에 대응한다."ContentCode.svm" in FIG. 5 corresponds to the data conversion program 106.

도 5의 "FixUpXXXXX.tbl"은 클립 1개마다 정의되는 변환 테이블에 대응한다. 도 5의 "FixUpXXXXX.tbl"의 "XXXXX"는 대응하는 클립 정보 파일의 파일 번호와 일치한다."FixUpXXXXX.tbl" in FIG. 5 corresponds to a conversion table in which one clip is defined. "XXXXX" in "FixUpXXXXX.tbl" in FIG. 5 corresponds to the file number of the corresponding clip information file.

드라이브(120)와 호스트 어플리케이션(150) 간에는 상호 인증 처리가 실행된다. 상호 인증이 성공적으로 완료되었다는 것을 전제로 하여, 드라이브(120)에 장 착한 정보 기록 매체(100)에 저장된 컨텐츠를 드라이브로부터 호스트 어플리케이션(150)에 전송하여 컨텐츠 재생 처리를 실행하는 경우의 복수의 재생 처리에 대하여 설명한다.The mutual authentication process is executed between the drive 120 and the host application 150. On the premise that mutual authentication has been completed successfully, a plurality of reproductions in the case where contents stored in the information recording medium 100 attached to the drive 120 are transferred from the drive to the host application 150 to execute the content reproduction processing The processing will be described.

제1 컨텐츠 재생 처리를 도 6을 참조하여 설명한다. 도 6에는, 좌측으로부터, 암호화 컨텐츠를 저장하는 정보 기록 매체(310), 정보 기록 매체(310)를 장착하여 데이터의 판독을 실행하는 드라이브(330), 드라이브와 데이터 통신 가능하게 접속되고, 정보 기록 매체(310)에 저장된 컨텐츠를 드라이브(330)를 통하여 취득하여 제1 재생 처리를 실행하는 호스트 어플리케이션(350)을 나타내고 있다. 호스트 어플리케이션(350)은 예컨대 PC 등의 정보 처리 장치에 의해 실행된다.The first content reproduction process will be described with reference to FIG. In Fig. 6, from the left side, an information recording medium 310 for storing encrypted contents, a drive 330 for mounting the information recording medium 310 to read data, and connected to the drive so as to be capable of data communication are recorded. The host application 350 that acquires the content stored in the medium 310 through the drive 330 and executes the first playback process is shown. The host application 350 is executed by an information processing apparatus such as a PC, for example.

정보 기록 매체(310)는, MKB(Media Key Block)(311), 타이틀 키 파일(312), 암호화 컨텐츠(313), 변환 테이블(314), 및 데이터 변환 프로그램(315)이 저장되어 있다. 호스트 어플리케이션(350)은, MKB(311)의 처리에 적용되는 디바이스 키(351)를 유지하고 있다.The information recording medium 310 stores an MKB (Media Key Block) 311, a title key file 312, an encrypted content 313, a conversion table 314, and a data conversion program 315. The host application 350 holds the device key 351 applied to the processing of the MKB 311.

도 6을 참조하여 제1 재생 처리 시퀀스를 설명한다. 제1 재생 처리 시퀀스에서, 어플리케이션(350)은 드라이브(330)를 통하여 정보 기록 매체(310)로부터 저장 컨텐츠를 취득한다. 먼저, 정보 기록 매체(310)의 저장 컨텐츠의 판독에 앞서, 호스트 어플리케이션(350) 및 드라이브(330)는 단계 S101에서 상호 인증 처리를 실행한다. 이 상호 인증 처리에서, 호스트 어플리케이션(350)은 드라이브(330)가 정당한 드라이브인지를 판단하고, 드라이브(330)는 호스트 어플리케이션(350)이 정당한 어플리케이션인지를 판단한다. 이 상호 인증 처리 시퀀스로는 다양한 처리가 적용될 수 있다. 그 일례를 도 7을 참조하여 설명한다.A first playback processing sequence will be described with reference to FIG. In the first reproduction processing sequence, the application 350 acquires the stored content from the information recording medium 310 via the drive 330. First, prior to reading the stored contents of the information recording medium 310, the host application 350 and the drive 330 execute mutual authentication processing in step S101. In this mutual authentication process, the host application 350 determines whether the drive 330 is a legitimate drive, and the drive 330 determines whether the host application 350 is a legitimate application. Various processes can be applied to this mutual authentication process sequence. An example thereof will be described with reference to FIG. 7.

도 7의 상호 인증 처리는 공개키 암호화 방식을 따른다. 먼저, 단계 S121에서, 드라이브(330)가 자신의 메모리(NVRAM)에 저장된 드라이브 공개키 증명서와 임의로 생성한 난수를 호스트 어플리케이션(350)에 송신한다. 단계 S122에서, 호스트 어플리케이션(350)이 자신의 메모리(NVRAM)에 저장된 호스트 공개키 증명서와 임의로 생성한 난수를 드라이브(330)에 송신한다.The mutual authentication process of FIG. 7 follows a public key encryption method. First, in step S121, the drive 330 transmits the drive public key certificate and randomly generated random number stored in its memory (NVRAM) to the host application 350. In step S122, the host application 350 transmits the host public key certificate stored in its memory (NVRAM) and a randomly generated random number to the drive 330.

단계 S123에서, 드라이브(330)는, 호스트 어플리케이션으로부터 수신한 호스트 공개키 증명서의 정당성과 호스트 어플리케이션(350)의 무효화 상황을, 호스트 증명서 무효화 리스트(호스트 CRL: Certificate Revocation list)에 따라 검증한다. 단계 S123에서, 드라이브(330)는 먼저 호스트 공개키 증명서에 설정된 서명을 검증한다. 도 7의 "ECDSA_V"는 타원 곡선 암호체계(elliptic curve cryptosystem)에 따른 서명 검증(Verification)의 실행을 나타내고 있다. 이 서명 검증은, 키 관리 엔티티의 비밀키에 대응하는 공개키를 이용하여 실행된다. 드라이브(330)는, 서명 검증용의 키 관리 엔티티의 공개키를 메모리에 유지하고, 이 공개키를 이용하여 서명 검증을 실행한다. 서명 검증을 통해, 드라이브(330)는 호스트 공개키 증명서가 변조되어 있지 않은 것임을 확인한다. 서명 검증에 의해, 호스트 공개키 증명서가 변조되어 있는 것으로 판명된 경우에는 처리를 중지한다.In step S123, the drive 330 verifies the validity of the host public key certificate received from the host application and the invalidation status of the host application 350 according to the host certificate revocation list (Host CRL: Certificate Revocation list). In step S123, the drive 330 first verifies the signature set in the host public key certificate. "ECDSA_V" in FIG. 7 shows execution of signature verification in accordance with an elliptic curve cryptosystem. This signature verification is performed using the public key corresponding to the private key of the key management entity. The drive 330 holds in the memory the public key of the key management entity for signature verification, and performs signature verification using this public key. Through signature verification, the drive 330 verifies that the host public key certificate is not tampered with. If the signature verification indicates that the host public key certificate has been tampered with, the processing stops.

또한, 호스트 공개키 증명서가 변조되지 않은 것으로 판정된 후, 드라이브(330)는 이 증명서가 무효화되어 있는 것이 아니라는 것을 호스트 CRL를 참조하여 확인한다. 호스트 CRL는, 호스트에 대해 발행된 공개키 증명서에 대하여, 무효 화된 증명서의 ID를 리스트화한 것이다. 호스트 CRL는 드라이브(330) 내의 메모리 또는 정보 기록 매체(310)로부터 취득된다.Further, after it is determined that the host public key certificate has not been tampered with, the drive 330 confirms with reference to the host CRL that the certificate is not invalidated. The host CRL lists IDs of invalidated certificates with respect to the public key certificate issued to the host. The host CRL is obtained from a memory or information recording medium 310 in the drive 330.

드라이브(330)는, 변조가 없는 것으로 판정된 호스트 공개키 증명서로부터 ID를 취득하고, 이 ID가 호스트 CRL에 등록되어 있는 ID와 일치하는지 여부를 판정한다. 호스트 공개키 증명서의 ID와 일치하는 ID가 호스트 CRL에 존재하는 경우, 드라이브(330)는 그 호스트 어플리케이션이 무효화된 어플리케이션인 것으로 판정하고, 이후의 처리를 중지한다. 호스트 공개키 증명서로부터 취득한 ID가 호스트 CRL에 등록되어 있지 않은 경우에는, 드라이브(330)는 호스트 어플리케이션(350)이 무효화된 어플리케이션이 아닌 것으로 판정하고, 처리를 계속한다.The drive 330 acquires an ID from the host public key certificate determined to be free of tampering, and determines whether this ID matches the ID registered in the host CRL. If an ID that matches the ID of the host public key certificate exists in the host CRL, the drive 330 determines that the host application is an invalidated application and stops subsequent processing. If the ID obtained from the host public key certificate is not registered in the host CRL, the drive 330 determines that the host application 350 is not an invalidated application and continues processing.

단계 S124에서, 호스트 어플리케이션(350)은 드라이브(330)로부터 수신한 드라이브 공개키 증명서에 따라 드라이브 공개키 증명서의 정당성을 확인(변조 검증)하고, 드라이브 CRL에 기초하여 드라이브(330)가 무효화된 것인지의 여부를 판정한다. 드라이브의 공개키 증명서가 정당한 것이고, 드라이브(330)가 무효화되어 있지 않은 것이 확인된 경우에만, 처리를 계속한다. 드라이브 CRL는 호스트 어플리케이션(350) 내의 메모리 또는 정보 기록 매체(310)로부터 취득된다.In step S124, the host application 350 verifies (modifies and verifies) the drive public key certificate according to the drive public key certificate received from the drive 330, and determines whether the drive 330 is invalidated based on the drive CRL. Determine whether or not. Processing is continued only when the public key certificate of the drive is valid and it is confirmed that the drive 330 is not invalidated. The drive CRL is obtained from a memory or an information recording medium 310 in the host application 350.

드라이브(330) 및 호스트 어플리케이션(350)은, 각각 인증 결과를 드라이브 응답(drive response)(단계 S125에서)와 호스트 응답(단계 S126에서)으로서 통지한다. 이 인증 결과를 통지하기 위해, 드라이브(330) 및 호스트 어플리케이션(350)은 타원 곡선 암호체계 값으로서의 ECDH(Elliptic Curve Diffie-Hellman) 값을 생성하고, 생성된 값을 상대방에게 통지한다.The drive 330 and the host application 350 notify the authentication result as a drive response (in step S125) and a host response (in step S126), respectively. In order to notify this authentication result, the drive 330 and the host application 350 generate an Elliptic Curve Diffie-Hellman (ECDH) value as an elliptic curve cryptosystem value, and notify the other party of the generated value.

드라이브(330)는, 호스트 어플리케이션(350)으로부터 드라이브 인증 결과와 ECDH의 값을 수신하면, 단계 S127에서 호스트 응답을 검증하여, 드라이브 인증이 성공적으로 완료되었다는 것을 확인한다. 드라이브(330)는 수신한 ECDH의 값을 적용하여 공통 키로서의 세션 키(session key)를 생성한다. 호스트 어플리케이션(350)은, 드라이브(330)로부터 호스트 인증 결과와 ECDH의 값을 수신하면, 단계 S128에서 드라이브 응답을 검증하여, 호스트 인증이 성공적으로 완료되었다는 것을 확인한다. 호스트 어플리케이션(350)은 ECDH의 값에 따라 공통 키로서의 세션 키를 생성한다.Upon receiving the drive authentication result and the ECDH value from the host application 350, the drive 330 verifies the host response in step S127 to confirm that the drive authentication has been completed successfully. The drive 330 generates a session key as a common key by applying the received ECDH value. When the host application 350 receives the host authentication result and the ECDH value from the drive 330, the host application 350 verifies the drive response in step S128 to confirm that host authentication is completed successfully. The host application 350 generates a session key as a common key according to the value of the ECDH.

이와 같은 상호 인증 처리에 의해, 드라이브(330) 및 호스트 어플리케이션(350)은 공통 키로서의 세션 키를 공유한다.By this mutual authentication process, the drive 330 and the host application 350 share a session key as a common key.

도 6으로 복귀하여, 컨텐츠 이용 처리의 시퀀스에 대한 설명을 계속한다. 단계 S101에서, 드라이브(330)와 호스트 어플리케이션(350) 사이의 상호 인증이 실행되며, 세션 키(Ks)가 공유된다. 호스트 어플리케이션(350)은, 단계 S102에서, 정보 기록 매체(310)에 기록된 MKB(311)를 드라이브(330)를 통하여 취득하고, 메모리에 저장된 디바이스 키(351)를 적용한 MKB(311)의 처리를 실행한다. 호스트 어플리케이션(350)은 MKB(311)로부터 미디어 키(Km)를 취득한다.Returning to Fig. 6, the description of the sequence of the content usage processing will continue. In step S101, mutual authentication between the drive 330 and the host application 350 is executed, and the session key Ks is shared. In step S102, the host application 350 acquires the MKB 311 recorded on the information recording medium 310 through the drive 330, and processes the MKB 311 to which the device key 351 stored in the memory is applied. Run The host application 350 obtains the media key Km from the MKB 311.

전술한 바와 같이, MKB(311)은, 브로드캐스트 인크립션 방식으로서 알려진 트리 구조의 키 분배 방식에 따라 생성된다. MKB(311)는, 유효한 라이센스를 갖는 사용자의 정보 처리 장치에 저장된 디바이스 키(Kd)에 따른 복호 처리를 통해서만, 컨텐츠의 복호에 필요한 미디어 키(Km)의 취득을 가능하게 한다.As described above, the MKB 311 is generated according to a key distribution method of a tree structure known as a broadcast encryption method. The MKB 311 enables the acquisition of the media key Km necessary for decrypting the content only through the decoding process in accordance with the device key Kd stored in the user's information processing apparatus having a valid license.

다음에, 단계 S103에서, 단계 S102에서의 MKB 처리로 취득한 미디어 키(Km)를 이용하여, 정보 기록 매체(310)로부터 판독한 타이틀 키 파일이 복호되어, 타이틀 키(Kt)가 취득된다. 정보 기록 매체(310)에 저장된 타이틀 키 파일은 미디어 키(Km)에 의해 암호화된 데이터를 포함하는 파일이다. 미디어 키(Km)를 적용한 처리에 의해 컨텐츠 복호에 적용된 타이틀 키(Kt)를 취득할 수 있다. 그리고, 단계 S103의 복호 처리는 예컨대 AES(Advanced Encryption Standard) 암호 알고리즘이 적용된다.Next, in step S103, the title key file read out from the information recording medium 310 is decoded using the media key Km acquired by the MKB process in step S102, and a title key Kt is obtained. The title key file stored in the information recording medium 310 is a file containing data encrypted by the media key Km. The title key Kt applied to content decoding can be obtained by the process of applying the media key Km. In the decryption process of step S103, for example, an Advanced Encryption Standard (AES) encryption algorithm is applied.

다음에, 호스트 어플리케이션(350)은, 드라이브(330)를 통하여 정보 기록 매체(310)로부터 암호화 컨텐츠(313)를 판독하고, 판독된 컨텐츠를 트랙 버퍼(352)에 저장한다. 단계 S104에서, 호스트 어플리케이션(350)은 트랙 버퍼(352)에 저장된 컨텐츠에 대하여 타이틀 키(Kt)를 적용한 복호 처리를 실행하고, 복호 컨텐츠를 취득한다.Next, the host application 350 reads the encrypted content 313 from the information recording medium 310 through the drive 330, and stores the read content in the track buffer 352. In step S104, the host application 350 executes a decoding process to which the title key Kt is applied to the content stored in the track buffer 352, and acquires the decrypted content.

복호 컨텐츠는, 평문 TS 버퍼(plain TS buffer)(353)에 저장된다. 평문 TS는 평문 트랜스포트 스트림을 의미한다. 여기서, 평문 TS 버퍼(353)에 저장되는 복호 컨텐츠는 전술한 브로큰 데이터를 포함하는 컨텐츠이며, 그 자체로는 재생되지 못하여, 소정의 데이터 변환 처리(재기입에 의한 데이터 치환)를 행할 필요가 있다.The decoded content is stored in a plain TS buffer 353. The plain text TS means a plain text transport stream. Here, the decoded content stored in the plain text TS buffer 353 is the content containing the above-mentioned broken data, and cannot be reproduced by itself, and it is necessary to perform a predetermined data conversion process (replacement of data by rewriting). .

이 데이터 변환 처리를 나타낸 것이 도 6의 블록(371)이다. 도 6의 블록(371)은 도 1에 나타낸 호스트 어플리케이션(150)의 데이터 변환 프로세서(154)의 처리에 대응한다. 이 데이터 변환 처리의 개요에 대하여 도 8을 참조하여 설명 한다.This data conversion process is shown by block 371 in FIG. Block 371 of FIG. 6 corresponds to the processing of the data conversion processor 154 of the host application 150 shown in FIG. An outline of this data conversion process will be described with reference to FIG. 8.

도 6에 나타낸 암호화 컨텐츠(313)는 정보 기록 매체(310)에 저장된 암호화 컨텐츠이며, 이 암호화 컨텐츠는 호스트 어플리케이션(350)의 트랙 버퍼(352)에 저장된다. 암호화 컨텐츠는 도 8에 나타낸 트랙 버퍼 저장 데이터(401)에 대응한다.The encrypted content 313 shown in FIG. 6 is encrypted content stored in the information recording medium 310, which is stored in the track buffer 352 of the host application 350. As shown in FIG. The encrypted content corresponds to the track buffer stored data 401 shown in FIG.

호스트 어플리케이션(350)에서의 복호 처리에 의해, 트랙 버퍼 저장 데이터(401)로서의 암호화 컨텐츠가 복호되어, 복호된 데이터가 평문 TS 버퍼(353)에 저장된다. 이 복호된 데이터가 도 8에 나타낸 복호 데이터(402)에 대응한다.By the decryption processing in the host application 350, the encrypted content as the track buffer storage data 401 is decoded, and the decoded data is stored in the plain text TS buffer 353. This decoded data corresponds to the decoded data 402 shown in FIG.

복호 결과 데이터(402)에는, 정상적인 컨텐츠 구성 데이터와 상이한 브로큰 데이터(403)가 포함된다. 호스트 어플리케이션(350)의 데이터 변환 처리에서는, 이 브로큰 데이터(403)를, 도 6에 나타낸 정보 기록 매체(310)에 기록된 변환 테이블(314)로부터 취득되는 정확한 컨텐츠 구성 데이터로서의 변환 데이터(404)로 치환하는 처리를 실행한다. 이 치환 처리는 평문 TS 버퍼(353)에 기입된 데이터에 대한 일부 데이터의 재기입 처리로서 실행된다.The decryption result data 402 includes broken data 403 which is different from the normal content composition data. In the data conversion processing of the host application 350, the broken data 403 is converted data 404 as accurate content configuration data obtained from the conversion table 314 recorded on the information recording medium 310 shown in FIG. The substituting process is executed. This substitution process is executed as a rewrite process of some data with respect to the data written in the plain text TS buffer 353.

또한, 호스트 어플리케이션(350)에 의해 실행되는 데이터 변환 처리에서는, 브로큰 데이터를 정상적인 컨텐츠 데이터로서의 변환 데이터로 치환하는 처리뿐만 아니라, 도 8에 나타낸 바와 같이 식별 마크(포렌직 마크)를 포함하는 변환 데이터(405)에 의해, 복호 데이터(402)의 일부 구성 데이터를 치환하는 처리를 실행한다.In addition, in the data conversion processing executed by the host application 350, not only processing for replacing broken data with conversion data as normal content data but also conversion data including an identification mark (forensic mark) as shown in FIG. 405 executes a process of replacing part of the configuration data of the decoded data 402.

식별 마크를 이용하여, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션을 식별할 수 있도록 하는 식별 정보의 구성 비트가 분석될 수 있다. 보다 구체적으 로, 식별 마크는, 예컨대, 호스트 어플리케이션(350)을 실행하는 플레이어로서의 정보 처리 장치의 식별 정보(플레이어 ID 등)의 구성 데이터, 또는 플레이어 ID에 따라 생성되는 식별 마크이다. 식별 마크를 포함하는 변환 데이터는, 컨텐츠의 재생에 영향을 주지 않는 범위 내에서 정확한 컨텐츠 데이터의 비트값을 약간 변경한 데이터이다.Using the identification mark, the configuration bits of the identification information for identifying the content reproducing apparatus or the content reproducing application can be analyzed. More specifically, the identification mark is, for example, an identification mark generated according to the configuration data of the identification information (player ID or the like) of the information processing apparatus as the player executing the host application 350 or the player ID. The converted data including the identification mark is data obtained by slightly changing the bit value of the correct content data within a range that does not affect the reproduction of the content.

식별 마크를 포함하는 변환 데이터(405)는 컨텐츠 중에 다수 설정되고, 이들 복수개의 식별 마크를 포함하는 변환 데이터(405)를 모아서 분석함으로써, 예컨대, 플레이어 ID가 판별된다. 식별 마크를 포함하는 변환 데이터(405)는, 컨텐츠가 정상적으로 재생되도록 하는 범위 내에서 정확한 컨텐츠 데이터의 구성 비트를 변경한 데이터이며, MPEG 비트 스트림 해석에 의해 식별 마크 구성 비트의 판별을 가능하게 하는 데이터이다.A plurality of converted data 405 including the identification mark is set in the content, and the player ID is determined by, for example, collecting and analyzing the converted data 405 including the plurality of identification marks. The conversion data 405 including the identification mark is data in which the configuration bits of the correct content data are changed within the range in which the contents are normally reproduced, and the data enabling the identification of the identification mark configuration bits by MPEG bit stream analysis. to be.

정보 기록 매체(30)에 저장되는 변환 테이블에는, 도 8의 변환 데이터(404)와, 식별 마크를 포함하는 변환 데이터(405)가 다수 등록되어 있다. 이 변환 테이블 저장 정보에 따른 데이터 변환 처리를 실행함으로써, 평문 TS 버퍼(353)에 저장된 데이터는, 도 8에 나타낸 변환 데이터(406)가 된다.In the conversion table stored in the information recording medium 30, the conversion data 404 of FIG. 8 and the conversion data 405 including an identification mark are registered. By performing the data conversion process according to this conversion table storage information, the data stored in the plain text TS buffer 353 becomes the conversion data 406 shown in FIG.

도 6으로 복귀하여, 점선 블록 "371" 내의 처리, 즉 호스트 어플리케이션(350)에서의 데이터 변환 처리에 대하여 설명한다. 데이터 변환 처리는, 예컨대, 호스트 어플리케이션(350) 내의 버추얼 머신(VM)으로서 설정되는 시큐어 VM(356)에 의해 실행된다. 시큐어 VM(356)은 중간 언어(intermediate language)를 직접 해석하여 실행하는 가상 컴퓨터이며, 명령 코드 정보를 플랫폼에 의존하지 않 는 중간 언어로 해석하여 실행한다.Returning to FIG. 6, the processing in the dotted line block "371", that is, the data conversion processing in the host application 350 will be described. The data conversion process is executed by the secure VM 356 set, for example, as a virtual machine (VM) in the host application 350. The secure VM 356 is a virtual computer that directly interprets and executes an intermediate language, and interprets and executes command code information in an intermediate language that does not depend on the platform.

시큐어 VM(356)은, 명령 코드 정보를 포함하는 데이터 변환 프로그램(315)을 정보 기록 매체(310)로부터 판독한다. 시큐어 VM(356)은, 이벤트 핸들러(354)에 의해 제어되고, 호스트 어플리케이션을 실행하고 있는 플레이어의 ID 정보 등의 플레이어 정보(355)를 수신한다. 시큐어 VM(356)은 정보 기록 매체(310)로부터 취득한 데이터 변환 프로그램(315)을 실행한다. 시큐어 VM(356)이 데이터 변환 처리를 정확하게 행하고 있는지의 여부를 판정하는 에뮬레이터 체크(emulator check)가 수행된다. 호스트 어플리케이션 또는 호스트 어플리케이션 실행 장치로서의 플레이어(정보 처리 장치)의 처리가 모니터링된다. 처리 에러 및 부정 처리 중의 하나가 검출된 경우에는, 시큐어 VM(356)에 의한 데이터 변환 처리가 중지된다.The secure VM 356 reads the data conversion program 315 containing the command code information from the information recording medium 310. The secure VM 356 is controlled by the event handler 354 and receives player information 355 such as ID information of a player executing a host application. The secure VM 356 executes the data conversion program 315 acquired from the information recording medium 310. An emulator check is performed to determine whether the secure VM 356 is performing data conversion processing correctly. The processing of the player (information processing apparatus) as a host application or host application execution apparatus is monitored. When one of the processing error and the illegal processing is detected, the data conversion processing by the secure VM 356 is stopped.

시큐어 VM(356)은, 정보 기록 매체(310)로부터 판독한 변환 테이블을 이용하여, 도 6의 단계 S105에서의 데이터 변환 처리에서 나타낸 바와 같은 평문 TS 버퍼(353)에 저장된 데이터의 변환 처리를 실행한다. 도 8에 나타낸 복호 데이터(402)에 대하여, 브로큰 데이터(403)를 정당한 컨텐츠 구성 데이터인 변환 데이터(404)로 치환하고, 또한 식별 마크를 포함하는 변환 데이터(405)를 컨텐츠의 일부 데이터와 교체한다. 평문 TS 버퍼(353)의 저장 데이터는 변환 데이터로 갱신된다.The secure VM 356 executes the conversion process of the data stored in the plain text TS buffer 353 as shown in the data conversion process in step S105 of FIG. 6 using the conversion table read from the information recording medium 310. do. For the decoded data 402 shown in Fig. 8, the broken data 403 is replaced with the conversion data 404 which is legitimate content configuration data, and the conversion data 405 including the identification mark is replaced with some data of the content. do. The stored data of the plain text TS buffer 353 is updated with the converted data.

그 후, 변환된 TS(트랜스포트 스트림)는 네트워크를 통해 외부 출력되고, 외부의 재생 장치에서 재생된다. 단계 S106에서의 디멀티플렉싱 처리에 의해, 트랜스포트 스트림(TS)은 엘레멘터리 스트림(ES : Elementary Stream)으로 디멀티플렉 스된다. 엘레멘터리 스트림은, 단계 S107에서 디코드 처리가 행해진 후, 디스플레이 및 스피커에 출력되어 재생된다.Thereafter, the converted TS (transport stream) is externally output through the network and reproduced by an external reproducing apparatus. By the demultiplexing process in step S106, the transport stream TS is demultiplexed into an elementary stream (ES). After the decode process is performed in step S107, the elementary stream is output to the display and the speaker and reproduced.

정보 기록 매체(310)에 기록되는 데이터 변환 테이블의 데이터 구성에 대하여 도 9를 참조하여 설명한다. 정보 기록 매체(310)에 기록되는 데이터 변환 테이블은 예컨대 도 9에 나타낸 구성을 갖는다.The data structure of the data conversion table recorded on the information recording medium 310 will be described with reference to FIG. The data conversion table recorded on the information recording medium 310 has, for example, the configuration shown in FIG.

데이터 변환 테이블은 다음을 포함한다:The data conversion table contains:

Number of Fix-Up Entry : 변환 데이터 엔트리수Number of Fix-Up Entry: Number of Conversion Data Entries

Fix-up Entry Length : 1 변환 엔트리의 바이트 수(Byte Length of one Fix-Up Entry() = (N+6))Fix-up Entry Length: Byte Length of one Fix-Up Entry () = (N + 6)

SPN(소스 패킷 넘버) : 변환 패킷의 AV 스트림 파일의 개시 위치로부터의 패킷 넘버(Absolute Transformed Packet Number from the beginning of AV Stream File)Source Packet Number (SPN): Absolute Transformed Packet Number from the beginning of AV Stream File

Byte Offset : 패킷 내의 변환 데이터의 개시 바이트 위치(Start byte position of transformed data in the packet)Byte Offset: Start byte position of transformed data in the packet

player_id_bit_position : 포렌직 마크에 대한 플레이어 ID의 비트 위치player_id_bit_position: Bit position of the player ID for the forensic mark

Fix-Up Data : 재기입될 값(하나의 TS 패킷에서 N 바이트가 형성됨).Fix-Up Data: The value to be rewritten (N bytes are formed in one TS packet).

1개의 컨텐츠 내에는, 다수의 브로큰 데이터가 산재되어 있고, 이 브로큰 데이터의 위치에 변환 테이블에 기록된 변환 데이터를 재기입한다. 플레이어 ID 등의 식별 마크를 가지는 변환 데이터를 기입하기 위한 다수의 기록 위치가 1개의 컨텐츠 데이터 내에 설정된다. 변환 테이블은, "실제 재기입 데이터로서의 (a)변환 데이터 및 (b)식별 마크를 포함하는 변환 데이터와, 이들 데이터의 기입 위치를 지정하는 정보로서의 테이블을 포함한다.Many broken data are scattered in one content, and the converted data recorded in the conversion table is rewritten at the position of this broken data. A plurality of recording positions for writing converted data having an identification mark such as a player ID are set in one piece of content data. The conversion table includes " conversion data including (a) conversion data and (b) identification marks as actual rewrite data, and a table as information specifying a writing position of these data.

단위 면적당의 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)의 데이터 치환의 발생 빈도와, 또 변환 데이터의 사이즈에 대하여는, 다양한 설정이 가능하지만, 변환 데이터의 사이즈는 데이터 치환의 발생 빈도에 좌우된다. 예컨대, MPEG 컨텐츠의 토대(basis)인 1 GOP(Group Of Pictures)에 대해, 2개의 변환 데이터 또는 식별 마크를 포함하는 2개의 변환 데이터를 설정하는 구성에서는, 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)가 8 바이트인 경우에는, 변환 테이블이 약 400KB의 사이즈로 되고, 16 바이트인 경우에는, 변환 테이블이 약 600KB의 사이즈로 된다.Although the frequency of occurrence of data substitution of the conversion data per unit area (including the conversion data having an identification mark) and the size of the conversion data can be variously set, the size of the conversion data depends on the frequency of occurrence of the data substitution. do. For example, in a configuration in which two converted data including two converted data or identification marks are set for one GOP (Group Of Pictures) which is the basis of MPEG content, the converted data (the converted data having the identification mark is also Is 8 bytes, the conversion table is about 400 KB in size, and when 16 bytes, the conversion table is about 600 KB in size.

예컨대, MPEG 컨텐츠의 토대인 1 GOP(Group Of Pictures)에 대해, 5개의 변환 데이터 또는 식별 마크를 포함하는 변환 데이터를 설정하는 구성에서는, 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)가 8 바이트인 경우에는, 변환 테이블은 약 1 MB의 크기로 되고, 16 바이트인 경우에는, 변환 테이블은 약 1.5 MB의 사이즈로 된다.For example, in a configuration for setting converted data including five converted data or identification marks for one GOP (Group Of Pictures) which is the basis of MPEG content, the converted data (including converted data having identification marks) is eight. In the case of bytes, the conversion table is about 1 MB in size, and in case of 16 bytes, the conversion table is about 1.5 MB in size.

호스트 어플리케이션(350)의 시큐어 VM(356)은, 정보 기록 매체(310)에 기록된 변환 테이블(314)에 의해 지정된 위치에, 변환 데이터 및 식별 마크를 포함하는 변환 데이터를 기입한다. 이 처리에서, 변환 데이터 또는 식별 마크를 포함하는 변환 데이터가 평문 TS 버퍼(353)에 저장된 데이터로 재기입된다. 이 처리의 결과, 평문 TS 버퍼(353) 내의 데이터는 도 8의 (3)의 데이터로 대체된다.The secure VM 356 of the host application 350 writes the conversion data including the conversion data and the identification mark at the position designated by the conversion table 314 recorded on the information recording medium 310. In this process, the conversion data or the conversion data including the identification mark is rewritten into data stored in the plain text TS buffer 353. As a result of this processing, the data in the plain text TS buffer 353 is replaced with the data in Fig. 8 (3).

호스트 어플리케이션을 실장하고 있는 플레이어(정보 처리 장치 등)로부터의 컨텐츠의 출력 처리 또는 재생 처리는, 도 8의 (3)에 나타낸 변환 데이터에 기초하여 실행된다.The output process or the reproduction process of the content from the player (information processing apparatus or the like) that implements the host application is executed based on the conversion data shown in FIG. 8 (3).

변환 데이터는 정확한 컨텐츠 구성 데이터이며, 식별 마크를 포함하는 변환 데이터는 정확한 컨텐츠 데이터의 재생에 적용되는 데이터이다. 그러므로, 정확한 컨텐츠는 이들 데이터에 따른 디코드 처리를 통해 재생된다. 이 컨텐츠가 부정한 방식으로 카피되어, 불법 카피 데이터가 다수 외부 유출된 경우에는, 식별 마크를 포함하는 변환 데이터를 해석함으로써, 플레이어 ID를 취득하는 것이 가능하며, 그러므로 불법 컨텐츠 데이터의 유출원이 식별된다.The converted data is correct content configuration data, and the converted data including the identification mark is data applied to reproduction of the correct content data. Therefore, the correct content is reproduced through the decoding process according to these data. In the case where this content is copied in an illegal manner and a large number of illegal copy data leaks, it is possible to obtain a player ID by analyzing the conversion data including the identification mark, so that the outflow source of the illegal content data is identified. .

제2 컨텐츠 재생 처리에 대하여 도 10을 참조하여 설명한다. 도 10은, 좌측으로부터, 암호화 컨텐츠를 저장하는 정보 기록 매체(310), 정보 기록 매체(310)를 장착하여 데이터의 판독을 실행하는 드라이브(330), 및 드라이브와 데이터 통신 가능하게 접속되고, 정보 기록 매체(310)에 저장된 컨텐츠를 드라이브(330)를 통하여 취득하여 제2 재생 처리를 실행하는 호스트 어플리케이션(350)을 나타내고 있다. 호스트 어플리케이션(350)은 예컨대 PC 등의 정보 처리 장치에 의해 실행된다.The second content reproduction processing will be described with reference to FIG. Fig. 10 shows, from the left side, an information recording medium 310 storing encrypted contents, a drive 330 mounted with an information recording medium 310 to read data, and a data communication connection with the drive. The host application 350 which acquires the content stored in the recording medium 310 via the drive 330 and performs a 2nd reproduction process is shown. The host application 350 is executed by an information processing apparatus such as a PC, for example.

도 10에는 정보 기록 매체(310)에 기록되어 있는 MKB 및 타이틀 키 파일이 도시되어 있지 않다. 호스트 어플리케이션(350)은, 정보 기록 매체(310)에 기록되어 있는 MKB를 산출하고, 타이틀 키 파일을 이용하여 도 6을 참조하여 설명한 것과 동일한 처리를 적용함으로써 타이틀 키(Kt)를 산출한다. 이들 처리 또한 도 10에는 생략되어 있다. 정보 기록 매체(310)에는, 또한 암호화 컨텐츠(313), 변환 테 이블(314), 데이터 변환 프로그램(315)이 저장되어 있다.10 does not show the MKB and title key files recorded on the information recording medium 310. The host application 350 calculates the MKB recorded in the information recording medium 310 and calculates the title key Kt by applying the same processing as described with reference to FIG. 6 using the title key file. These processes are also omitted in FIG. The information recording medium 310 further stores the encrypted content 313, the conversion table 314, and the data conversion program 315.

도 10의 제2 컨텐츠 재생 처리에서는, 점선 박스로 나타낸 블록 "381"의 처리를 리얼 타임으로 실행하고, 블록 "382"의 처리를 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 전의 일괄 처리로서 실행한다. 구체적으로, 시큐어 VM(356)은, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 전에, 명령 정보를 포함하는 데이터 변환 프로그램(315)을 정보 기록 매체(310)로부터 판독하고, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여 정보 기록 매체(310)로부터 판독한 변환 테이블(314)에 따라 복호 처리 등을 실행한다.In the second content reproduction processing in Fig. 10, the processing of block " 381 " represented by the dotted line box is executed in real time, and the processing of block " 382 " is executed as a batch processing before the content reproduction operation or the content output operation. Specifically, the secure VM 356 reads the data conversion program 315 including the command information from the information recording medium 310 before the content reproduction operation or the content output operation, and under the control of the event handler 354, In response to the input of the player information 355, a decoding process or the like is executed in accordance with the conversion table 314 read from the information recording medium 310.

정보 기록 매체(310)에 기록된 변환 테이블(314)은, 예컨대, AES 암호화 또는 배타 논리합(XOR) 연산 등의 연산에 의해 난독화 처리가 행해진다. 시큐어 VM(356)은, 데이터 변환 프로그램(315)에 따라, 복호 처리 또는 소정의 연산 처리를 실행하여, 평문 데이터로서의 변환 테이블을 출력한다. 여기까지의 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작의 이전에 일괄 처리로서 실행된다.The conversion table 314 recorded on the information recording medium 310 is subjected to obfuscation processing by, for example, an operation such as an AES encryption or an exclusive OR (XOR) operation. The secure VM 356 performs decoding processing or predetermined arithmetic processing in accordance with the data conversion program 315 to output a conversion table as plain text data. The processing up to this point is executed as a batch processing before the content reproduction operation or the content output operation.

그 후의 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다. 구체적으로, 단계 S201에서는 컨텐츠 복호 처리가 수행되고, 단계 S202에서는 데이터 변환 처리가 수행된다. 즉, 정보 기록 매체(310)에 기록된 변환 테이블(314)에 등록된 변환 데이터 및 식별 마크를 포함하는 변환 데이터가, 변환 테이블(314)에 지정된 위치에 기입된다. 변환된 TS(트랜스포트 스트림)의 외부 출력 처리가 실행된다. 단계 S203에서는, 디멀티플렉서 처리, 즉 트랜스포트 스트림(TS)을 엘레멘터리 스트림(ES)으로 디멀티플렉스하는 디멀티플렉싱 처 리가 수행된다. 단계 S204에서는 디코드 처리가 수행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.Subsequent processing is executed in real time in parallel with the content reproduction operation or the content output operation. Specifically, the content decoding process is performed in step S201, and the data conversion process is performed in step S202. In other words, the conversion data including the conversion data and the identification mark registered in the conversion table 314 recorded on the information recording medium 310 is written in the position specified in the conversion table 314. External output processing of the converted TS (transport stream) is executed. In step S203, a demultiplexer process, that is, a demultiplexing process of demultiplexing the transport stream TS into the elementary stream ES is performed. In step S204, decoding processing is performed. These processes are executed in real time in parallel with the content reproduction operation or the content output operation.

이러한 처리 시퀀스는, 시큐어 VM(356)에 의한 변환 테이블(314)의 처리에 시간이 소요되는 경우에도, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작에 영향을 주지않고 리얼 타임으로 실현된다.This processing sequence is realized in real time without affecting the content reproduction operation or the content output operation, even when the processing of the conversion table 314 by the secure VM 356 takes time.

제3 컨텐츠 재생 처리에 대하여 도 11을 참조하여 설명한다. 도 10에서와 마찬가지로, 도 11은, 좌측으로부터, 암호화 컨텐츠를 저장하는 정보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. 도 11에 도시된 바와 같이, 도 10과 마찬가지로, MKB(Media Key Block), 타이틀 키 파일, 및 MKB와 타이틀 키 파일을 적용한 처리는, 도 6을 참조하여 설명한 제1 컨텐츠 재생 처리에서와 동일하므로, 본 명세서에서는 생략되어 있다.The third content reproduction processing will be described with reference to FIG. As in FIG. 10, FIG. 11 shows, from the left side, an information recording medium 310, a drive 330, and a host application 350 that store encrypted content. As shown in FIG. 11, similarly to FIG. 10, the process of applying the MKB (Media Key Block), the title key file, and the MKB and the title key file is the same as in the first content reproduction process described with reference to FIG. Is omitted in the present specification.

도 11의 제3 컨텐츠 재생 처리에서는, 점선 박스로 나타낸 블록 "381"의 처리가 리얼 타임으로 실행되고, 블록 "383"의 처리가, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에 저빈도 처리로서 간헐적으로 실행된다. 시큐어 VM(356)은, 명령 코드 정보를 포함하는 데이터 변환 프로그램(315)을 판독하여, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 동안에, 간헐적으로, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 따라 정보 기록 매체(310)로부터 판독한 변환 테이블(314)의 복호 처리 등을 실행한다.In the third content reproduction processing of FIG. 11, the processing of block "381" indicated by a dotted line box is executed in real time, and the processing of block "383" is low frequency before and during the content reproduction operation or the content output operation processing. It is executed intermittently as a process. The secure VM 356 reads the data conversion program 315 including the command code information, and intermittently, under the control of the event handler 354, before the content playback operation or the content output operation processing and during the processing execution. In accordance with the input of the information 355, decoding processing of the conversion table 314 read from the information recording medium 310 is executed.

정보 기록 매체(310)에 기록된 변환 테이블(314)은, 변환 테이블(314)의 변환 테이블 블록(FUT 블록) 단위로 AES 암호화 또는 배타 논리합 연산 등의 연산에 의해 난독화 처리된다. 시큐어 VM(356)은, 데이터 변환 프로그램(315)에 따라, 각 변환 테이블 블록(FUT 블록) 단위로 복호 처리 또는 소정의 연산 처리를 실행하여, 평문 데이터로서의 블록 단위의 변환 테이블을 출력하며, 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에 간헐적으로 실행된다.The conversion table 314 recorded on the information recording medium 310 is obfuscated by an operation such as AES encryption or an exclusive OR operation in units of conversion table blocks (FUT blocks) of the conversion table 314. The secure VM 356 performs decoding processing or predetermined arithmetic processing in units of conversion table blocks (FUT blocks) in accordance with the data conversion program 315, and outputs conversion tables in block units as plain text data. The processing is executed intermittently before and during the content reproduction operation or the content output operation processing.

변환 테이블 블록(FUT 블록) 단위로 난독화 처리된 변환 테이블의 데이터 구성을 도 12 및 도 13을 참조하여 설명한다. 정보 기록 매체(310)에 기록되는 데이터 변환 테이블은 예컨대 도 12에 나타내는 데이터 구성을 갖는다. 데이터 FUT는 다음을 포함한다:The data structure of the conversion table obfuscated in units of conversion table blocks (FUT blocks) will be described with reference to FIGS. 12 and 13. The data conversion table recorded on the information recording medium 310 has a data structure shown in FIG. 12, for example. The data FUT includes:

Number of FUT blocks: 변환 테이블 블록수Number of FUT blocks: Number of conversion table blocks

Length of FUT block: 하나의 변환 테이블 블록의 바이트 수Length of FUT block: Number of bytes in one conversion table block

Number of Fix-Up Entry in FUT block: 1개의 FUT 블록 내의 변환 데이터 엔트리수(Number of Fix-Up Entry)Number of Fix-Up Entry in FUT block: Number of Fix-Up Entry in one FUT block

Length of one Fix-Up Entry: 하나의 변환 데이터 엔트리의 바이트 수Length of one Fix-Up Entry: Number of bytes in one conversion data entry

First SPN for FUT block: 각 변환 테이블 블록의 제1 엔트리의 데이터 기록 위치로서의 패킷 넘버First SPN for FUT block: Packet number as the data recording position of the first entry of each conversion table block.

FUT block: 개별적으로 암호화 또는 연산 처리가 행해짐으로써 난독화된 부분적인 변환 테이블으로서의 변환 테이블 블록(FUT 블록).FUT block: A conversion table block (FUT block) as a partial conversion table that is obfuscated by being individually encrypted or computed.

부분적인 변환 테이블로서의 변환 테이블 블록(FUT 블록)의 데이터 구조를 도 13에 나타낸다. 테이블 블록은 이하의 데이터를 포함한다:13 shows a data structure of a conversion table block (FUT block) as a partial conversion table. The table block contains the following data:

SPN: 변환 데이터 기록 패킷의 AV 스트림 파일의 개시 위치로부터의 패킷 수(Absolute Transformed Packet Number from the beginning of AV Stream File)SPN: Absolute Transformed Packet Number from the beginning of AV Stream File

Byte Offset: 패킷 내의 변환 데이터의 기록 개시 위치를 나타내는 바이트 오프셋(Start byte position of transformed data in the packet)Byte Offset: Start byte position of transformed data in the packet

FM_flag: 식별 마크를 갖는 변환 데이터에 대해 변환 처리를 행하는지의 여부를 설정한 플래그, 플래그 0은 모든 플레이어에서 변환을 실행, 플래그 1은 플레이어 ID의 해당하는 비트 위치의 비트값이 1인 경우에만 변환을 실행 등의 설정으로 된다.FM_flag: A flag that sets whether or not to perform conversion processing on conversion data having an identification mark, flag 0 performs conversion in all players, and flag 1 converts only when the bit value of the corresponding bit position of the player ID is 1 Will be set to execute.

player_id_bit_position: 포렌직 마크(플레이어 ID 등)에 대한 플레이어 ID의 비트 위치(indicating bit position of Player ID for forensic mark), 및player_id_bit_position: indicating bit position of Player ID for forensic mark, and forensic mark (such as player ID), and

Fix-Up Data: 변환 데이터를 재기입(overwritting value(N bytes are transformed in one TS Packet))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)을 취득한다. 이들 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에 간헐적으로 실행된다.The FUT of FIG. 13 is set as individually encrypted or computed data. The secure VM 356 in FIG. 11 reads the data conversion program 315 including the command code information from the information recording medium 310, and before and during the content reproduction operation or the content output operation processing, the event handler ( Under the control of 354, in response to the input of the player information 355, according to the conversion table 314 read out from the information recording medium 310, decoding processing or arithmetic processing is intermittently executed in units of FUT blocks. Secure VM 356 obtains a partial conversion table (FUT) as plain text data. These processes are intermittently executed before and during the content reproduction operation or content output operation processing.

그 후의 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리와 병행하여 리얼 타임으로 실행된다. 보다 구체적으로, 단계 S201에서는 컨텐츠 복호 처리가 실행되고, 단계 S202에서는 데이터 변환 처리가 실행된다. 즉, 정보 기록 매체(310)에 기록된 변환 테이블(314)에 등록된 변환 데이터 및 식별 마크를 포함하는 변환 데이터가, 변환 테이블(314)에 지정된 위치에 따라 기입된다. 변환된 TS(트랜스포트 스트림)의 외부 출력 처리가 수행된다. 단계 S203에서는, 디멀티플렉싱 처리, 즉 트랜스포트 스트림(TS)을 엘레멘터리 스트림(ES)으로 디멀티플렉스하는 처리가 수행되고, 단계 S204에는 디코드 처리가 수행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리와 병행하여 리얼 타임으로 실행된다.Subsequent processing is executed in real time in parallel with the content reproduction operation or the content output operation processing. More specifically, the content decoding process is executed in step S201, and the data conversion process is executed in step S202. In other words, the conversion data registered in the conversion table 314 recorded in the information recording medium 310 and the conversion data including the identification mark are written in accordance with the position specified in the conversion table 314. External output processing of the converted TS (transport stream) is performed. In step S203, a demultiplexing process, that is, a process of demultiplexing the transport stream TS into the elementary stream ES, is performed, and in step S204, a decode process is performed. These processes are executed in real time in parallel with the content reproduction operation or the content output operation processing.

시큐어 VM(356)에 의한 변환 테이블(314)의 처리에 시간이 소요되는 경우에도, 이와 같은 처리 시퀀스는, 도 10의 제2 컨텐츠 재생 프로세스를 참조하여 앞서 설명한 바와 같은 컨텐츠 재생 동작 또는 컨텐츠 출력 동작에 영향을 주지않고 리얼 타임으로 실행된다. 시큐어 VM(356)은, 컨텐츠 재생 동작 및 컨텐츠 출력 동작에 필요한 변환 데이터를 동시에 생성하지 않고, 컨텐츠 부분 데이터의 일부에 대응하는 변환 데이터를 순서대로 생성한다. 컨텐츠 재생 처리에서 부정한 처리가 검출된 경우, 시큐어 VM(356)은 이벤트 핸들러(354)의 부정 처리 검출 정보에 응답하여 처리를 중지한다. 변환 데이터의 생성이 중지되고, 부정한 컨텐츠 재생 동작 또는 출력 동작을 그 도중에 종료시키는 것이 가능하게 된다.Even when the processing of the conversion table 314 by the secure VM 356 takes time, such a processing sequence is performed by the content reproduction operation or the content output operation as described above with reference to the second content reproduction process of FIG. Runs in real time without affecting The secure VM 356 generates the conversion data corresponding to a part of the content part data in order without generating the conversion data necessary for the content reproduction operation and the content output operation at the same time. When an illegal process is detected in the content reproduction process, the secure VM 356 stops the process in response to the illegal process detection information of the event handler 354. The generation of the converted data is stopped, and it becomes possible to end the illegal content reproduction operation or the output operation in the middle.

다음에, 제4 컨텐츠 재생 처리예에 대하여 도 14를 참조하여 설명한다. 도 10 및 도 11과 마찬가지로, 도 14는, 좌측으로부터, 암호화 컨텐츠를 저장하는 정 보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. MKB(Media Key Block), 타이틀 키 파일 및 이들이 적용되는 처리는, 도 6을 참조하여 설명한 제1 컨텐츠 재생 처리에서와 동일하므로 생략되어 있다. 정보 기록 매체(310)는 암호화 컨텐츠(313), 변환 테이블(314), 및 데이터 변환 프로그램(315)을 저장한다.Next, a fourth example of content reproduction processing will be described with reference to FIG. As in Figs. 10 and 11, Fig. 14 shows an information recording medium 310, a drive 330, and a host application 350 that store encrypted content from the left side. The media key block (MKB), the title key file, and the processing to which they are applied are the same as in the first content reproduction processing described with reference to FIG. The information recording medium 310 stores the encrypted content 313, the conversion table 314, and the data conversion program 315.

도 14의 제4 컨텐츠 재생 처리에서, 점선으로 나타낸 블록 "381"의 처리는 리얼 타임으로 실행되고, 점선으로 나타낸 블록 "382"의 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전의 일괄 처리로서 실행된다. 시큐어 VM(356)은, 명령 정보를 포함하는 데이터 변환 프로그램(315)을 정보 기록 매체(310)로부터 판독하고, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여, 정보 기록 매체(310)로부터 판독된 변환 테이블(314)의 복호 처리를 실행한다.In the fourth content reproduction processing of Fig. 14, the processing of the block "381" indicated by the dotted lines is executed in real time, and the processing of the block "382" indicated by the dotted lines is executed as a batch processing before the content reproduction operation or the content output operation processing. do. The secure VM 356 reads the data conversion program 315 including the command information from the information recording medium 310, and, under the control of the event handler 354, responds to the input of the player information 355. The decoding process of the conversion table 314 read out from the recording medium 310 is executed.

시큐어 VM(356)은, 데이터 변환 프로그램(315)에 따라 복호 처리 또는 소정의 연산 처리를 실행하여, 평문 데이터로서의 변환 테이블을 취득한다. 이 처리의 결과, 취득한 평문 변환 테이블은 테이블 기억부(362)에 저장된다.The secure VM 356 performs decoding processing or predetermined arithmetic processing in accordance with the data conversion program 315 to obtain a conversion table as plain text data. As a result of this processing, the acquired plain text conversion table is stored in the table storage unit 362.

단계 S202에서의 데이터 변환 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 실시간 이벤트 핸들러(361)의 제어 하에 리얼 타임으로 실행된다. 실시간 이벤트 핸들러(361)의 제어 하에서, 테이블 기억부(362)에 평문 데이터로서 등록된 변환 데이터, 즉 변환 데이터 및 식별 마크를 포함하는 변환 데이터가, 변환 테이블(FUT)에 지정된 위치에 기입된다.The data conversion processing in step S202 is executed in real time under the control of the real time event handler 361 in parallel with the content reproduction operation or the content output operation. Under the control of the real-time event handler 361, the conversion data registered as the plain text data in the table storage unit 362, that is, the conversion data including the conversion data and the identification mark, is written at the position designated in the conversion table FUT.

제4 컨텐츠 재생 처리의 처리 시퀀스는 도 10의 제2 컨텐츠 재생 처리의 처 리 시퀀스와 동일하다. 구체적으로, 단계 S201에서는 컨텐츠 복호 처리가 실행되고, 단계 S202에서는 데이터 변환 처리가 실행되며, 단계 S203에서는 디멀티플렉싱 처리가 실행되고, 단계 S204에서는 디코드 처리가 실행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.The processing sequence of the fourth content reproduction processing is the same as the processing sequence of the second content reproduction processing of FIG. Specifically, the content decoding process is executed in step S201, the data conversion process is executed in step S202, the demultiplexing process is executed in step S203, and the decode process is executed in step S204. These processes are executed in real time in parallel with the content playback operation or the content output operation.

도 10을 참조하여 설명한 제2 컨텐츠 재생 처리와 마찬가지로, 이 처리 시퀀스는, 시큐어 VM(356)에 의한 변환 테이블(314)의 처리에 시간이 소요되는 경우에도, 컨텐츠 재생 동작 및 컨텐츠 출력 동작에 영향을 주지않고 리얼 타임으로 실현된다.Similar to the second content reproduction processing described with reference to FIG. 10, this processing sequence affects the content reproduction operation and the content output operation even when the processing of the conversion table 314 by the secure VM 356 takes time. It is realized in real time without giving.

제5 컨텐츠 재생 처리예에 대하여 도 15를 참조하여 설명한다. 도 15는, 좌측으로부터, 암호화 컨텐츠가 저장된 정보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. MKB(Media Key Block), 타이틀 키 파일 및 이들이 적용된 처리는, 도 6의 제1 컨텐츠 재생 처리에서와 동일하므로 생략되어 있다.A fifth content reproduction processing example will be described with reference to FIG. 15. 15 shows an information recording medium 310, a drive 330, and a host application 350 in which encrypted contents are stored, from the left side. The media key block (MKB), the title key file, and the processing to which they are applied are the same as those in the first content reproduction processing in FIG.

도 15의 제5 컨텐츠 재생 처리에서, 점선으로 표시된 블록 "381"의 처리는 리얼 타임으로 실행되고, 점선으로 나타낸 블록 "383"의 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 중에 낮은 빈도로 간헐적으로 실행된다. 시큐어 VM(356)은, 명령 정보를 포함하는 데이터 변환 프로그램(315)을 정보 기록 매체(310)로부터 판독하며, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여 정보 기록 매체(310)로부터 판독된 변환 테이블(314)의 복호 처리를 부분적으로 및 간헐적으로 실행한다.In the fifth content reproduction processing of FIG. 15, the processing of the block "381" indicated by the dotted lines is executed in real time, and the processing of the block "383" indicated by the dotted lines is lower than before and during the content reproduction operation or the content output operation processing. It is run intermittently with frequency. The secure VM 356 reads the data conversion program 315 including the command information from the information recording medium 310 and records the information in response to the input of the player information 355 under the control of the event handler 354. The decoding process of the conversion table 314 read out from the medium 310 is executed partially and intermittently.

변환 테이블(314)은, 호스트 어플리케이션(350) 내의 프리-로드(pre-load) 테이블 기억부(364)에 일시적으로 저장된다. 시큐어 VM(356)은, 프리-로드 테이블 기억부(364)에 저장된 테이블 데이터를 취득하고, 데이터 변환 프로그램(315)에 따라 복호 처리 또는 소정의 연산 처리를 실행하여, 평문 데이터로서의 변환 테이블을 부분적으로 및 순서대로 생성한다.The conversion table 314 is temporarily stored in the pre-load table storage unit 364 in the host application 350. The secure VM 356 acquires the table data stored in the pre-load table storage unit 364 and performs decoding processing or predetermined arithmetic processing in accordance with the data conversion program 315 to partially convert the conversion table as plain text data. And in order.

시큐어 VM(356)은, 컨텐츠 데이터의 일부분에 적용하는 변환 데이터를 포함하는 변환 테이블의 일부 구성 데이터만을 복호하여, 데이터의 일부분으로서의 평문 변환 테이블을 간헐적으로 생성한다. 이 처리의 결과로 취득된 평문 부분적인 변환 테이블이 부분 테이블 기억부(363)에 저장된다.The secure VM 356 decodes only a part of the configuration data of the conversion table including the conversion data applied to a part of the content data, and intermittently generates the plain text conversion table as part of the data. The plain text partial conversion table obtained as a result of this processing is stored in the partial table storage unit 363.

단계 S202에서의 데이터 변환 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임 이벤트 핸들러(361)의 제어 하에 실행된다. 리얼 타임 이벤트 핸들러(361)의 제어 하에, 부분 테이블 기억부(363)에 평문 데이터로서 등록된 변환 데이터, 즉 변환 데이터 및 식별 마크를 포함하는 변환 데이터가, 변환 테이블에 지정된 위치에 기입된다. 데이터 변환 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.The data conversion process in step S202 is executed under the control of the real time event handler 361 in parallel with the content reproduction operation or the content output operation. Under the control of the real-time event handler 361, the conversion data registered as the plain text data in the partial table storage unit 363, that is, the conversion data including the conversion data and the identification mark, is written at the position specified in the conversion table. The data conversion process is executed in real time in parallel with the content reproduction operation or the content output operation.

제5 컨텐츠 재생 처리의 처리 시퀀스는 도 11을 참조하여 설명한 처리 시퀀스와 동일하다. 구체적으로, 단계 S201에서는 컨텐츠 복호 처리가 실행되고, 단계 S202에서는 데이터 변환 처리가 실행되며, 단계 S203에서는 디멀티플렉싱 처리가 실행되고, 단계 S204에서는 디코드 처리가 실행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.The processing sequence of the fifth content reproduction processing is the same as the processing sequence described with reference to FIG. Specifically, the content decoding process is executed in step S201, the data conversion process is executed in step S202, the demultiplexing process is executed in step S203, and the decode process is executed in step S204. These processes are executed in real time in parallel with the content reproduction operation or the content output operation.

도 11을 참조하여 설명한 제3 컨텐츠 재생 처리와 마찬가지로, 본 처리 시퀀는, 시큐어 VM(356)에 의한 변환 테이블(314)의 처리에 시간이 소요되는 경우에도, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작의 처리에 영향을 주지않고 리얼 타임으로 실행된다. 시큐어 VM(356)은 컨텐츠 재생 동작 또는 컨텐츠 출력 동작에 필요한 변환 데이터를 동시에 생성하지 않고 컨텐츠 부분 데이터의 일부분에 대응하는 변환 데이터를 순서대로 생성한다. 컨텐츠 재생 처리에서 부정한 처리가 검출된 경우, 시큐어 VM(356)은 이벤트 핸들러(354)로부터의 부정 처리 검출 정보에 응답하여 그 처리를 중지한다. 변환 데이터의 생성이 중지되고, 부정한 컨텐츠의 컨텐츠 재생 동작 및 컨텐츠 출력 동작이 그 도중에 종료된다.Similar to the third content reproduction processing described with reference to FIG. 11, this processing sequence is the processing of the content reproduction operation or the content output operation even when the processing of the conversion table 314 by the secure VM 356 takes time. Runs in real time without affecting The secure VM 356 generates converted data corresponding to a part of the content portion data in order without simultaneously generating the conversion data required for the content reproduction operation or the content output operation. When an illegal process is detected in the content reproduction process, the secure VM 356 stops the process in response to the illegal process detection information from the event handler 354. The generation of the conversion data is stopped, and the content reproduction operation and the content output operation of illegal content are terminated in the middle.

제6 컨텐츠 재생 처리에 대하여 도 16을 참조하여 설명한다. 도 16은, 좌측으로부터, 암호화 컨텐츠가 저장된 정보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. MKB(Media Key Block), 타이틀 키 파일 및 이들이 적용된 처리는 도 6의 제1 컨텐츠 재생 처리에서와 동일하므로 생략된다. 도 16에 나타낸 바와 같이, 정보 기록 매체(310)는, 변환 테이블을 포함하는 암호화 컨텐츠(318)와, 데이터 변환 프로그램(315)이 저장되어 있다. 점선으로 나타낸 블록 "381"의 처리는 리얼 타임으로 실행되고, 점선으로 나타낸 블록 "383"의 처리는 간헐적인 처리로서 실행된다.The sixth content reproduction process will be described with reference to FIG. 16 shows an information recording medium 310, a drive 330, and a host application 350 in which encrypted contents are stored, from the left side. The media key block (MKB), the title key file, and the processing to which they are applied are the same as in the first content reproduction processing in FIG. As shown in FIG. 16, the information recording medium 310 stores an encrypted content 318 including a conversion table, and a data conversion program 315. The processing of the block "381" indicated by the dotted lines is executed in real time, and the processing of the block "383" indicated by the dotted lines is executed as an intermittent process.

변환 테이블(FUT)은 암호화 컨텐츠의 구성 데이터 내의 특정 패킷 내에 분산된다. 도 17에 나타낸 바와 같이, 예컨대, 변환 테이블은 컨텐츠를 포함하는 트랜스포트 스트림 패킷 내에 저장된다. 도 17의 윗부분은 컨텐츠 데이터의 구성을 나 타낸다. 도시된 바와 같이, 컨텐츠 데이터는 TS(트랜스포트 스트림) 패킷들로 이루어진다. TS는 소정 바이트 수의 TS 패킷으로 구성되어 있다. 이들 TS 패킷의 일부의 복수 개 패킷에 변환 테이블이 분할되어 기록된다. 도면에 나타낸 바와 같이, TS 패킷(391, 392, …)에 기록된다. 변환 테이블을 저장하는 TS 패킷으로는, 컨텐츠 중에 분산되어 설정되는 PMT(프로그램 맵 테이블)를 포함하는 TS 패킷 등이 이용될 수 있다.The translation table (FUT) is distributed within a particular packet in the configuration data of the encrypted content. As shown in Fig. 17, for example, a translation table is stored in a transport stream packet containing content. The upper part of Fig. 17 shows the structure of the content data. As shown, the content data consists of TS (transport stream) packets. The TS is composed of TS packets of a predetermined byte number. Conversion tables are divided and recorded in a plurality of packets of some of these TS packets. As shown in the figure, they are recorded in TS packets 391, 392,... As the TS packet for storing the conversion table, a TS packet including a PMT (program map table) that is distributed and set in the content may be used.

분할된 변환 테이블의 데이터는 도 13을 참조하여 설명한 변환 테이블 블록(FUT 블록)과 동일한 구성을 갖는다. 변환 테이블에는, 복호 컨텐츠에 대하여 치환될 변환 데이터(또는 식별 마크를 포함하는 변환 데이터)와 그 변환 데이터의 기록 위치가 기록되어 있다.The data of the partitioned conversion table has the same configuration as the conversion table block (FUT block) described with reference to FIG. 13. In the conversion table, the conversion data (or conversion data including an identification mark) to be replaced with respect to the decoded content and the recording position of the conversion data are recorded.

도 17의 아랫부분에 나타낸 바와 같이, 변환 테이블에 기록된 변환 데이터의 기록 위치는, 변환 테이블을 포함하는 TS 패킷의 부근으로 설정된다. 예컨대, 변환 데이터의 기록 영역을 각각 갖는 패킷(394, 395)은 변환 테이블을 포함하는 패킷(391)의 부근에 설정된다. 이와 같은 설정으로 함으로써, 컨텐츠의 복호 및 재생을 리얼 타임으로 실행하는 경우, 변환 데이터에 의한 데이터 치환 처리를 복호 처리 후의 연속 처리로서 실행하는 것이 가능하며, 변환 테이블이 기록된 TS 패킷의 검출 및 해석 처리에 의해 변환 데이터가 취득되며, 테이블에 기록된 위치에 대하여 변환 데이터를 재기입하는 재기입 처리를 효율적으로 실행할 수 있다.As shown in the lower part of FIG. 17, the recording position of the conversion data recorded in the conversion table is set in the vicinity of the TS packet including the conversion table. For example, packets 394 and 395 each having a recording area of the conversion data are set in the vicinity of the packet 391 including the conversion table. With this setting, when the content is decoded and reproduced in real time, it is possible to perform data replacement processing by the converted data as continuous processing after the decoding processing, and to detect and analyze the TS packet in which the conversion table is recorded. The conversion data is acquired by the processing, and the rewriting process of rewriting the conversion data with respect to the position recorded in the table can be efficiently executed.

도 16의 제6 컨텐츠 재생 처리에서, 점선으로 나타낸 블록 "381"의 처리는 리얼 타임으로 실행되고, 블록 "383"의 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에 낮은 빈도로 간헐적으로 실행된다.In the sixth content reproduction process of Fig. 16, the processing of the block "381 " represented by the dotted lines is executed in real time, and the processing of the block " 383 " Is executed.

시큐어 VM(356)은 명령 코드 정보를 포함하는 데이터 변환 프로그램(315)을 정보 기록 매체(310)로부터 판독한다. 시큐어 VM(356)은 정보 기록 매체(310)에 컨텐츠와 함께 기록된 변환 테이블을 평문 변환 테이블로 변환하기 위해 요구되는 파라미터(P1, P2, P3,…)를 생성하고, 그 결과의 평문 변환 테이블을 출력한다. 시큐어 VM(356)은, 이러한 처리를, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 및 처리 실행 중에, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여 간헐적으로 실행한다.The secure VM 356 reads the data conversion program 315 including the command code information from the information recording medium 310. The secure VM 356 generates the parameters P1, P2, P3, ... required for converting the conversion table recorded with the contents on the information recording medium 310 into the plain text conversion table, and the resulting plain text conversion table. Outputs The secure VM 356 performs this process intermittently in response to the input of the player information 355 under the control of the event handler 354 before and during the content reproduction operation or the content output operation process.

파라미터(P1, P2, P3,…)는, 소정의 컨텐츠 데이터 단위에 의해 분할되고 컨텐츠에 분산되어 기록된 변환 테이블 1, 변환 테이블 2, 변환 테이블 3 등등에 각각 적용되는 연산 처리 파라미터 또는 암호화 처리 파라미터이다. 변환 테이블 1, 변환 테이블 2, 변환 테이블 3 등은 각각 상이한 파라미터(P1, P2, P3,…)를 적용한 연산 처리 또는 암호화 처리가 행해진다.The parameters P1, P2, P3, ... are arithmetic processing parameters or encryption processing parameters respectively applied to the conversion table 1, the conversion table 2, the conversion table 3, and the like, which are divided by predetermined content data units and distributed and recorded in the content. to be. The conversion table 1, the conversion table 2, the conversion table 3, and the like are subjected to arithmetic processing or encryption processing to which different parameters P1, P2, P3, ... are applied.

구체적으로, 파라미터(P1, P2, P3,…)는 분할된 변환 테이블 1, 변환 테이블 2, 변환 테이블 3에 각각 적용되는 배타 논리합(XOR) 연산 파라미터이다. 시큐어 VM(356)은, 데이터 변환 프로그램(315)에 따라, 변환 테이블(314)을 평문 변환 테이블로 변환하기 위해 요구되는 파라미터(P1, P2, P3,…)를 간헐적으로 생성하여 출력한다.Specifically, the parameters P1, P2, P3,... Are exclusive logical OR (XOR) arithmetic parameters applied to the partitioned conversion table 1, the conversion table 2, and the conversion table 3, respectively. The secure VM 356 intermittently generates and outputs the parameters P1, P2, P3, ... required for converting the conversion table 314 into the plain text conversion table in accordance with the data conversion program 315.

리얼 타임 처리 블록(381)에서, 단계 S301에서는 변환 테이블을 포함하는 암호화 컨텐츠(318)의 복호가 실행되고, 단계 S302에서는 디멀티플렉싱 처리에 의해 변환 테이블이 디멀티플렉스된다. 단계 S303에서는 리얼 타임 이벤트 핸들러(361)의 제어 하에 테이블 복원 및 데이터 변환 처리가 실행된다. 리얼 타임 이벤트 핸들러(361)의 제어 하에, 시큐어 VM(356)으로부터 간헐적으로 출력되는 파라미터(P1, P2, P3,…)를 적용하여 변환 테이블의 복호 또는 연산을 실행하고, 평문 변환 테이블을 취득한다. 취득된 부분적인 변환 테이블에 등록된 변환 데이터, 즉 변환 데이터 및 식별 마크를 포함하는 변환 데이터는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로, 변환 테이블에서 지정된 위치에 기입된다.In real-time processing block 381, the decryption of the encrypted content 318 including the conversion table is executed in step S301, and the conversion table is demultiplexed by the demultiplexing process in step S302. In step S303, table restoration and data conversion processing are executed under the control of the real-time event handler 361. Under the control of the real-time event handler 361, the parameters P1, P2, P3, ... that are intermittently output from the secure VM 356 are applied to decode or perform a conversion table to obtain a plain text conversion table. . The conversion data registered in the obtained partial conversion table, that is, the conversion data including the conversion data and the identification mark, is written to the position specified in the conversion table in real time in parallel with the content reproduction operation or the content output operation.

파라미터(P1, P2, P3,…)가 컨텐츠 부분 데이터 단위에 대응하는 변환 데이터의 배타 논리합(XOR) 연산 파라미터인 경우, 단계 S303에서는 다음과 같이 수행된다:If the parameters P1, P2, P3, ... are exclusive OR operations (XOR) calculation parameters of the transform data corresponding to the content part data unit, then in step S303, the following is performed:

[변환 테이블 1] (XOR) [P1],[Conversion Table 1] (XOR) [P1],

[변환 테이블 2] (XOR) [P2],[Conversion table 2] (XOR) [P2],

[변환 테이블 3] (XOR) [P3],[Conversion table 3] (XOR) [P3],

...

이들 배타 논리합 연산 처리를 실행함으로써, 평문 변환 테이블이 취득된다. 상기 식에서, [A] (XOR) [B]는 A와 B의 배타 논리합 연산을 의미한다.By executing these exclusive OR operations, the plain text conversion table is obtained. In the above formula, [A] (XOR) [B] means an exclusive OR operation of A and B.

정보 기록 매체(310)에 기록된 암호화 컨텐츠(318)에 포함되는 변환 테이블은, 컨텐츠의 일부분에 대응하는 변환 데이터와, 변환 데이터 위치 정보를 갖는 변환 테이블로 분할된다. 고유의 파라미터(P1, P2, P3,…)로 배타 논리합 연산된 변 환 테이블은 저장되어 있다. 이 파라미터는 시큐어 VM(356)에 의해 순서대로 복원되어 출력된다.The conversion table included in the encrypted content 318 recorded on the information recording medium 310 is divided into conversion data corresponding to a part of the content and a conversion table having conversion data position information. The conversion table exclusively ORed with the unique parameters P1, P2, P3, ... is stored. This parameter is restored and output in order by the secure VM 356.

단계 S303에서의 테이블 복원 및 데이터 변환 처리 이후의 후속 처리는, 도 11을 참조하여 설명한 처리와 동일하다. 이 후속 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다. 구체적으로, 단계 S304에서의 디멀티플렉싱 처리 및 단계 S305에서의 디코드 처리는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.Subsequent processing after the table restoration and data conversion processing in step S303 is the same as the processing described with reference to FIG. 11. This subsequent processing is executed in real time in parallel with the content reproduction operation or the content output operation. Specifically, the demultiplexing process in step S304 and the decode process in step S305 are executed in real time in parallel with the content reproduction operation or the content output operation.

제6 컨텐츠 재생 처리에서는, 컨텐츠 전체에 대응하는 변환 테이블의 구성 데이터가 분할되며, 분할된 변환은 상이한 파라미터와 연관된다. 시큐어 VM(356)은 파라미터를 간헐적으로 출력한다. 파라미터가 누출되어도, 컨텐츠의 전체를 복원하는 것은 곤란하다. 그러므로, 보다 견고한 컨텐츠 이용 관리가 실현된다. 이 처리 시퀀스는, 도 10을 참조하여 설명한 처리에서와 마찬가지로, 컨텐츠 재생 및 출력에 영향을 주지않고 리얼 타임으로 실현된다. 컨텐츠 재생 처리에서 부정한 처리가 검출된 경우, 시큐어 VM(356)은 이벤트 핸들러(354)로부터의 부정 처리 검출 정보에 응답하여 그 처리를 중지한다. 변환 데이터의 생성이 중지되어, 부정한 컨텐츠의 재생 처리 및 출력 처리를 그 도중에 종료시키는 것이 가능하게 된다.In the sixth content reproduction process, the configuration data of the conversion table corresponding to the entire content is divided, and the divided conversion is associated with different parameters. The secure VM 356 intermittently outputs the parameter. Even if parameters are leaked, it is difficult to restore the entire contents. Therefore, more robust content usage management is realized. This processing sequence is realized in real time without affecting content reproduction and output as in the processing described with reference to FIG. When an illegal process is detected in the content reproduction process, the secure VM 356 stops the process in response to the illegal process detection information from the event handler 354. The generation of the converted data is stopped, and it is possible to terminate the reproduction processing and the output processing of the illegal content in the middle.

제7 컨텐츠 재생 처리에 대하여 도 18을 참조하여 설명한다. 도 18은, 좌측으로부터, 암호화 컨텐츠가 저장된 정보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. MKB(Media Key Block), 타이틀 키 파일 및 이들이 적용된 처리는, 도 6을 참조하여 설명한 제1 컨텐츠 재생 처리와 동일하 므로 생략된다. 도 18에 나타낸 바와 같이, 도 16을 참조하여 전술한 제6 컨텐츠 재생 처리와 마찬가지로, 정보 기록 매체(310)에는, 변환 테이블을 포함하는 암호화 컨텐츠(318)와, 데이터 변환 프로그램(315)이 저장되어 있다. 점선으로 나타낸 블록 "381"의 처리는 리얼 타임으로 실행되고, 점선으로 나타낸 블록 "383"의 처리는 간헐적인 처리로서 실행된다.A seventh content reproduction process will be described with reference to FIG. 18 shows an information recording medium 310, a drive 330, and a host application 350 in which encrypted contents are stored, from the left side. The MKB (Media Key Block), the title key file, and the processing to which they are applied are the same as the first content reproduction processing described with reference to FIG. As shown in FIG. 18, similarly to the sixth content reproduction processing described above with reference to FIG. 16, the information recording medium 310 stores the encrypted content 318 including the conversion table and the data conversion program 315. It is. The processing of the block "381" indicated by the dotted lines is executed in real time, and the processing of the block "383" indicated by the dotted lines is executed as an intermittent process.

도 16을 참조하여 설명한 제6 컨텐츠 재생 처리와 마찬가지로, 변환 테이블은 암호화 컨텐츠의 구성 데이터 내의 특정 패킷에 분산된다. 예컨대, 도 17의 구성에서 나타낸 바와 같이, 변환 테이블은 컨텐츠를 포함하는 트랜스포트 스트림 패킷 내에 저장된다. 이하에서는, 분할된 변환 테이블의 구성에 대하여 도 19를 참조하여 설명한다.Similar to the sixth content reproduction process described with reference to FIG. 16, the conversion table is distributed to specific packets in the configuration data of the encrypted content. For example, as shown in the configuration of FIG. 17, the translation table is stored in a transport stream packet containing the content. Hereinafter, the configuration of the divided conversion table will be described with reference to FIG. 19.

도 19는 분할된 변환 테이블의 데이터 구성을 나열하고 있다. 분할된 변환 테이블은, 변환 테이블의 특정 부분에 대응하는 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)의 데이터 실체와, 그 변환 데이터의 기록 위치 정보를 갖는다. 도 19에 나타낸 변환 테이블의 데이터에는 이하의 데이터가 포함된다:19 lists the data structure of the partitioned conversion table. The partitioned conversion table has a data entity of the conversion data (including the conversion data having the identification mark) corresponding to a specific portion of the conversion table, and recording position information of the conversion data. The data of the conversion table shown in FIG. 19 includes the following data:

SP_No: 변환 테이블의 XOR 연산에 사용될 비밀 파라미터(SP)의 식별자(ID)SP_No: identifier (ID) of the secret parameter (SP) to be used in the XOR operation of the conversion table

type_indicator: 타입 식별자, 00b ; 변환 처리없음, 01b ; 변환 처리가 수행됨, 10b 및 11b ; 포렌직 마크를 포함하는 변환 데이터에 의한 변환 처리type_indicator: type identifier, 00b; No conversion treatment, 01b; Conversion processing is performed, 10b and 11b; Conversion processing by conversion data containing forensic marks

FM_ID_bit_position: 식별 마크를 갖는 변환 데이터에 대응하는 플레이어 ID의 식별 비트 위치FM_ID_bit_position: Identification bit position of player ID corresponding to conversion data with identification mark

relative_SPN: 변환 데이터의 패킷 위치(프로그래머블 맵 테이블(PMT)로부터 의 패킷수)relative_SPN: Packet location of the transformed data (number of packets from the programmable map table (PMT))

byte_position: 패킷 내의 변환 데이터 기록 위치byte_position: The position of the translation data recording in the packet

overwrite_value: 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)overwrite_value: conversion data (including conversion data with identification marks)

relative_SPN_2: 변환 데이터의 제2 패킷 위치(PMT으로부터의 패킷 수)relative_SPN_2: Second packet position of transformed data (number of packets from PMT)

byte_position_2: 패킷 내의 제2 변환 데이터의 기록 위치byte_position_2: the recording position of the second translation data in the packet

overwrite_value_2: 제2 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)overwrite_value_2: second conversion data (also includes conversion data with identification marks)

제2 컨텐츠 재생 처리에서 전술한 바와 마찬가지로, 도 19에 나타낸 변환 테이블은, 도 20의 윗부분에 나타낸 바와 같이 암호화 컨텐츠의 구성 데이터 내의 특정 패킷에 분산된다. 예컨대, 도 20의 윗부분에 나타낸 바와 같이, 변환 테이블은 컨텐츠를 포함하는 트랜스포트 스트림 패킷 내에 저장된다. 도 20의 윗부분은 트랜스포트 스트림(TS) 패킷으로 이루어지는 컨텐츠 데이터의 구성을 나타내고 있다. 트랜스포트 스트림은 소정 바이트 수의 TS 패킷을 포함한다. 변환 테이블은 이들 TS 패킷의 일부의 복수개 패킷에 분할되어 기록된다. 도시된 바와 같이, 변환 테이블은 TS 패킷(501, 502,…)에 기록된다. 변환 테이블을 저장하는 TS 패킷으로서는, 컨텐츠 중에 분산되어 설정되는 PMT(프로그래머블 맵 테이블)를 포함하는 TS 패킷 등이 이용될 수 있다.As described above in the second content reproduction processing, the conversion table shown in FIG. 19 is distributed to specific packets in the configuration data of the encrypted content as shown in the upper portion of FIG. For example, as shown in the upper portion of FIG. 20, the translation table is stored in a transport stream packet containing the content. The upper part of FIG. 20 shows the structure of the content data which consists of a transport stream (TS) packet. The transport stream contains a predetermined number of TS packets. The conversion table is divided into a plurality of packets of some of these TS packets and recorded. As shown, the conversion table is recorded in TS packets 501, 502,... As the TS packet for storing the conversion table, a TS packet including a PMT (programmable map table) that is distributed and set in the content may be used.

분할된 변환 테이블의 데이터는, 도 19를 참조하여 설명한 바와 같이, 복호 컨텐츠에 대하여 치환될 변환 데이터(또는 식별 마크를 갖는 변환 데이터)와, 그 변환 데이터의 기록 위치를 포함한다.As described with reference to Fig. 19, the divided conversion table data includes conversion data (or conversion data having an identification mark) to be replaced with the decoded content, and a recording position of the conversion data.

도 19의 변환 테이블은, 컨텐츠 데이터의 일부분에 대해 치환될 변환 데이터와, 이 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 기록한 변환 테이블로서 설정된다. 이 변환 테이블을 적용하여, 컨텐츠 구성 데이터의 치환 처리 명령을 포함하는 데이터 변환 프로그램이 실행되어, 데이터 변환이 행해진다.The conversion table in FIG. 19 is set as a conversion table in which conversion data to be replaced with respect to a part of the content data and setting position information for the content of the conversion data are recorded. By applying this conversion table, a data conversion program including a substitution processing instruction for the content configuration data is executed to perform data conversion.

변환 테이블에 포함되는 정보 [type_indicator]는, 변환 테이블의 등록 정보가, 브로큰 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터에 관한 등록 정보인지, 또는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식(embedding)하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인지를 식별하는 타입 식별자이다.The information [type_indicator] included in the conversion table indicates whether the registration information of the conversion table is registration information for conversion data for converting the broken data into legitimate content data, or the identification information of the content reproduction device or content reproduction application program is ported. It is a type identifier for identifying whether the registration information is related to the conversion data having an identification mark for embedding.

변환 테이블의 등록 정보 영역이, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인 경우에는, 테이블 등록 정보로서, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 따라 선택적으로 적용된 변환 데이터, 즉 식별 마크를 갖는 변환 데이터가 등록된다.If the registration information area of the conversion table is registration information relating to conversion data having an identification mark for porting identification information of the content reproducing apparatus or the content reproducing application program, the content reproducing apparatus or the content reproducing application program is used as the table registration information. The conversion data selectively applied according to the identification information of, i.e., the conversion data having the identification mark is registered.

변환 테이블의 등록 정보 [FM_ID_bit_position]는, 복수개 비트로 이루어지는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램을 식별하는 식별 정보 중, 처리 모드를 결정하기 위해 참조되어야 하는 비트의 위치 정보이다.The registration information [FM_ID_bit_position] of the conversion table is position information of bits to be referred to for determining the processing mode among the identification information for identifying the content reproduction apparatus or content reproduction application program consisting of a plurality of bits.

처리 모드를 결정하기 위해 참조해야 할 비트의 비트값이 1인 경우, 식별 마크를 갖는 변환 데이터가 컨텐츠 구성 데이터에 대해 치환된다. 참조해야 할 비트의 비트값이 0인 경우, 치환 처리가 실행되지 않는다. 처리 모드가 이러한 방식으 로 결정되어, 데이터 변환이 실행된다.When the bit value of the bit to be referred to for determining the processing mode is 1, the conversion data having the identification mark is substituted for the content configuration data. If the bit value of the bit to be referred to is 0, the substitution process is not performed. The processing mode is determined in this way so that data conversion is performed.

이와 달리, 참조 비트가 0인 경우에 변환 처리를 실행하고, 참조 비트가 1인 경우에 변환 처리를 실행하지 않는 것으로 하는 설정도 가능하다. 이와 달리, 참조 비트가 0인 경우의 변환 데이터와 1인 경우의 변환 데이터를 각각 다른 변환 데이터로서 설정하고, 참조 비트의 비트값에 따라, 변환 데이터가 선택적으로 설정되는 구성으로 해도 된다.Alternatively, it is also possible to set the conversion process to be executed when the reference bit is 0 and not to perform the conversion process when the reference bit is 1. Alternatively, the conversion data when the reference bit is 0 and the conversion data when 1 may be set as different conversion data, respectively, and the conversion data may be selectively set according to the bit value of the reference bit.

변환 테이블은, 컨텐츠의 일부 구성 데이터에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블의 데이터 각각에 대하여 상이한 파라미터를 적용한 연산 처리 또는 암호 처리에 의해 난독화된다.The conversion table is obfuscated by arithmetic processing or encryption processing that applies different parameters to each of the data of the partial conversion table having the conversion data corresponding to only some configuration data of the content.

각 변환 테이블에 기록된 변환 데이터의 기록 위치는, 도 20의 아랫부분에 나타낸 바와 같이, 변환 테이블을 포함하는 TS 패킷의 부근에 설정된다. 예컨대, 변환 데이터의 기록 영역을 각각 갖는 패킷(511, 512)은, 변환 테이블을 포함하는 패킷(501)의 부근에 설정된다. 이들 각 패킷은 1 GOP를 단위로 하여 설정된다.The recording position of the conversion data recorded in each conversion table is set near the TS packet including the conversion table as shown in the lower part of FIG. For example, packets 511 and 512 each having a recording area of the conversion data are set in the vicinity of the packet 501 including the conversion table. Each of these packets is set in units of 1 GOP.

이와 같은 설정으로 함으로써, 컨텐츠의 복호 및 재생을 리얼 타임으로 실행하는 경우, 변환 데이터에 의한 데이터 치환 처리를 복호 처리 후의 연속 처리로서 실행하는 것이 가능하다. 변환 테이블을 포함하는 TS 패킷의 검출 및 해석 처리에 의해 변환 데이터가 취득되고, 변환 테이블이 기록된 위치에 변환 데이터를 재기입하는 재기입 처리를 효율적으로 실행할 수 있다.By setting it as such, when decoding and reproducing the content in real time, it is possible to execute data replacement processing by the converted data as a continuous processing after the decoding processing. By the detection and analysis processing of the TS packet including the conversion table, the conversion data is acquired, and the rewriting process of rewriting the conversion data in the position where the conversion table is recorded can be efficiently executed.

변환 테이블은 비밀 파라미터(SP1, SP2, SP3,…)를 적용한 연산 처리 또는 암호화 처리가 행해지고, 정보 기록 매체(310)에 저장된다.The conversion table is subjected to arithmetic processing or encryption processing to which the secret parameters SP1, SP2, SP3, ... are applied, and is stored in the information recording medium 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)에 저장된다. 이 처리는 간헐적으로 차례대로 행해진다.Specifically, each conversion table is subjected to an exclusive OR operation applying different secret parameters SP1, SP2, SP3, ..., and stored in each packet. The secret parameter consists of 128 bit data, for example. The secure VM 356 in FIG. 18 reads out the encrypted content 318 including the command code information from the information recording medium 310. The secure VM 356 intermittently, under the control of the event handler 354, in response to the input of the player information 355 before and during the content reproduction operation or the content output operation processing, the information recording medium 310. Generate and output the XOR secret parameters (SP1, SP2, SP3, ...) required for converting the conversion table recorded with the contents into the plain text conversion table. The output secret parameters SP1, SP2, SP3, ... are stored in the SP register 371. This process is performed intermittently in order.

변환 프로그램(315)에 따라, 도 18에 나타낸 시큐어 VM(356)은, 비밀 파라미터(SP1, SP2, SP3,…) 외에, 각각의 비밀 파라미터의 지정 번호(SPNo.)와, 데이터 변환 프로그램(315)에 응답하여 설정된 식별 마크의 ID(FM_ID)를 생성하여, 이들 값을 출력한다. 이들 값도 SP 레지스터(371)에 저장된다.According to the conversion program 315, the secure VM 356 shown in FIG. 18, in addition to the secret parameters SP1, SP2, SP3, ..., designates the number (SPNo.) Of each secret parameter and the data conversion program 315. ), The ID (FM_ID) of the set identification mark is generated and these values are output. These values are also stored in the SP register 371.

리얼 타임 처리 블록(381)에서, 단계 S401에서는 변환 테이블을 포함하는 암호화 컨텐츠(318)가 복호되고, 단계 S402에서는 디멀티플렉싱 처리에 의해 변환 테이블이 디멀티플렉스된다. 리얼 타임 이벤트 핸들러(361)의 제어 하에, 단계 S403에서는 테이블 복원이 실행되고, 단계 S404에서는 데이터 변환 처리가 실행된다. 단계 S403에서의 테이블 복원 및 단계 S404에서의 데이터 변환 처리는, 리얼 타임 이벤트 핸들러(361)가 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 중에 발생할 수 있 는 이벤트를 감시하면서, 행해진다. 부정 처리가 검출된 경우에는 처리가 중지된다.In real time processing block 381, the encrypted content 318 including the conversion table is decoded in step S401, and in step S402 the conversion table is demultiplexed by the demultiplexing process. Under the control of the real time event handler 361, table restoration is executed in step S403, and data conversion processing is executed in step S404. The table restoration in step S403 and the data conversion processing in step S404 are performed while the real-time event handler 361 monitors an event that may occur during the content reproduction operation or the content output operation. If the negative processing is detected, the processing is stopped.

단계 S403에서는, 시큐어 VM(356)으로부터 간헐적으로 출력되어 SP 레지스터(371)에 저장된 비밀 파라미터(SPn)와, 디멀티플렉서에 의해 컨텐츠로부터 디멀티플렉스된 변환 테이블에 대해, 배타 논리합 연산이 수행되어, 변환 테이블이 취득된다.In step S403, an exclusive OR operation is performed on the conversion parameter intermittently output from the secure VM 356 and stored in the SP register 371 and demultiplexed from the contents by the demultiplexer, and the conversion table is performed. The table is obtained.

또한, 단계 S404에서는, 시큐어 VM(356)로부터 비밀 파라미터(SPn)와 함께 간헐적으로 출력되어 SP 레지스터(371)에 저장된 비밀 파라미터의 지정 번호(SPNo.), 및 식별 마크의 ID(FM_ID)가 취득되고, 이들 값을 참조하여, 변환 테이블을 적용한 처리 모드가 결정된다. 변환 테이블에 기록된 변환 데이터, 즉 변환 데이터 및 식별 마크를 갖는 변환 데이터가, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로, 변환 테이블에 지정된 위치에 기록된다.Further, in step S404, the designated number SPNo. Of the secret parameter and the identification mark ID FM_ID of the secret parameter which are intermittently output from the secure VM 356 together with the secret parameter SPn and stored in the SP register 371 are obtained. The processing mode to which the conversion table is applied is determined by referring to these values. The conversion data recorded in the conversion table, that is, the conversion data having the conversion data and the identification mark, is recorded in the real time in parallel with the content reproduction operation or the content output operation at the position specified in the conversion table.

비밀 파라미터(SP1, SP2, SP3,…)가 소정의 부분 데이터 단위에 대응하는 변환 데이터를 포함하는 분할된 변환 테이블과의 배타 논리합(XOR) 연산 파라미터인 경우, 단계 S403에서는 다음과 같이 테이블 복원 처리가 실행된다:If the secret parameters SP1, SP2, SP3, ... are exclusive OR operations with the divided conversion table containing the conversion data corresponding to the predetermined partial data unit, the table restoration processing is performed in step S403 as follows. Is executed:

[변환 테이블 1] (XOR) [SP1],[Conversion Table 1] (XOR) [SP1],

[변환 테이블 2] (XOR) [SP2],[Conversion table 2] (XOR) [SP2],

[변환 테이블 3] (XOR) [SP3],[Conversion Table 3] (XOR) [SP3],

...

이들 배타 논리합 연산 처리를 실행함으로써, 평문 변환 테이블이 취득된다. 상기의 식에서, [A] (XOR) [B]는 A와 B의 배타 논리합 연산을 의미한다.By executing these exclusive OR operations, the plain text conversion table is obtained. In the above formula, [A] (XOR) [B] means an exclusive OR operation of A and B.

도 21을 참조하여, 변환 데이터의 기입 동작에 대하여 설명한다. 비밀 파라미터(SP1, SP2, SP3,…)는 컨텐츠의 정상 재생 시간에서 약 10초마다 전환된다. 구체적으로, 1개의 고정적인 비밀 파라미터는 약 10초간의 재생 컨텐츠에만 적용 가능한 파라미터로서 설정된다. 도 21의 각각의 컨텐츠 재생 구간(0∼T, T∼2T, 2T∼3T, …)에는, 동일한 비밀 파라미터가 적용된다.Referring to Fig. 21, the writing operation of the conversion data will be described. The secret parameters SP1, SP2, SP3, ... are switched about every 10 seconds from the normal playback time of the content. Specifically, one fixed secret parameter is set as a parameter applicable only to the playback content for about 10 seconds. The same secret parameter is applied to each content reproduction section (0 to T, T to 2T, 2T to 3T, ...) in FIG.

본 실시예에 따라, 동일한 비밀 파라미터가 적용되는 구간은 정상 재생 모드에서 약 10초이다. 만일 하나의 비밀 파라미터가 누출되어도, 불과 10초의 컨텐츠가 재생될 수 있어, 견고한 컨텐츠 누출 방지가 실현된다.According to this embodiment, the section to which the same secret parameter is applied is about 10 seconds in the normal playback mode. Even if one secret parameter is leaked, only 10 seconds of content can be played back, so that solid content leak prevention is realized.

단계 S403에서의 테이블 복원 이후의 처리 및 단계 S404에서의 데이터 변환 처리 이후의 처리는, 도 16을 참조하여 설명한 처리와 동일하며, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 행해진다. 구체적으로, 단계 S405에서는 디멀티플렉싱 처리가 실행되고, 단계 S406에서는 디코드 처리가 실행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.Processing after table restoration in step S403 and processing after data conversion processing in step S404 are the same as those described with reference to FIG. 16, and are performed in real time in parallel with the content reproduction operation or the content output operation. Specifically, the demultiplexing process is executed in step S405, and the decode process is executed in step S406. These processes are executed in real time in parallel with the content reproduction operation or the content output operation.

도 18의 처리에서는, 단계 S403에서의 테이블 복원 및 단계 S404에서의 데이터 변환 처리를 실행하도록 리얼 타임 이벤트 핸들러(361)를 설정한다. 단계 S403에서의 테이블 복원 및 단계 S404에서의 데이터 변환 처리는, 리얼 타임 이벤트 핸들러(361)가, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 중에 발생할 수 있는 이벤트를 감시하면서, 실행된다. 이와 달리, 데이터 변환 처리는 이벤트 감시를 행하 지 않고 리얼 타임으로 실행될 수도 있다. 이러한 구성에서는, 도 22에 나타낸 바와 같이, 도 18의 리얼 타임 이벤트 핸들러(361)가 생략된다.In the process of Fig. 18, the real time event handler 361 is set to execute the table restoration in step S403 and the data conversion process in step S404. The table restoration in step S403 and the data conversion process in step S404 are executed while the real-time event handler 361 monitors an event that may occur during the content reproduction operation or the content output operation. Alternatively, the data conversion process may be executed in real time without performing event monitoring. In this structure, as shown in FIG. 22, the real-time event handler 361 of FIG. 18 is omitted.

제7 컨텐츠 재생 처리에 의하면, 컨텐츠 전체에 대응하는 변환 테이블의 구성 데이터가 분할되며, 분할된 변환 테이블마다 상이한 비밀 파라미터(SPn)를 대응시켜, 상이한 비밀 파라미터가 적용된 분할된 변환 테이블에 대해 배타 논리합 연산이 실행되며, 그 결과가 정보 기록 매체(310)에 저장된다. 시큐어 VM(356)은 이들 비밀 파라미터를 간헐적으로 출력하는 구성으로 하였으므로, 비밀 파라미터의 일부가 누출되어도, 변환 테이블에 저장된 변환 데이터를 모두 취득하는 것은 가능하지 않다. 그 결과, 컨텐츠 전체를 복원하는 것은 불가능하게 되어, 더욱 견고한 컨텐츠 이용 관리가 실현된다.According to the seventh content reproduction process, the configuration data of the conversion table corresponding to the entire content is divided, and different secret parameters SPn are mapped to each divided conversion table, and the exclusive logical sum is applied to the divided conversion tables to which different secret parameters are applied. The operation is executed and the result is stored in the information recording medium 310. Since the secure VM 356 is configured to output these secret parameters intermittently, even if a part of the secret parameters leaks, it is not possible to acquire all of the converted data stored in the conversion table. As a result, it is impossible to restore the entire content, and more robust content use management is realized.

본 처리 시퀀스는, 도 10을 참조하여 설명한 처리와 마찬가지로, 컨텐츠 재생 및 외부 출력의 처리에 영향을 주지 않고 리얼 타임 처리가 실현된다. 컨텐츠 재생 처리에서 부정한 처리가 검출된 경우, 시큐어 VM(356)은 이벤트 핸들러(354)로부터의 부정 처리 검출 정보에 따라 처리를 중지한다. 변환 데이터의 생성이 중지되고, 부정한 컨텐츠의 재생 또는 외부 출력이 그 중간에 종료된다.In this processing sequence, similar to the processing described with reference to FIG. 10, real-time processing is realized without affecting the processing of content reproduction and external output. When an illegal process is detected in the content reproduction process, the secure VM 356 stops the process according to the illegal process detection information from the event handler 354. The generation of the converted data is stopped, and the reproduction or external output of the illegal content ends in the middle.

제8 컨텐츠 재생 처리에 대하여 도 23을 참조하여 설명한다. 도 23은, 좌측으로부터, 암호화 컨텐츠가 저장된 정보 기록 매체(310), 드라이브(330), 및 호스트 어플리케이션(350)을 나타내고 있다. MKB(Media Key Block), 타이틀 키 파일 및 이들이 적용된 처리는 도 6을 참조하여 설명한 제1 컨텐츠 재생 처리와 동일하므로, 본 명세서에서는 생략되어 있다. 정보 기록 매체(310)에는, 암호화 컨텐 츠(313), 변환 테이블(314), 및 데이터 변환 프로그램(315)이 저장되어 있다.An eighth content reproduction process will be described with reference to FIG. 23 shows an information recording medium 310, a drive 330, and a host application 350 in which encrypted contents are stored, from the left side. Since the MKB (Media Key Block), the title key file, and the processing to which they are applied are the same as the first content reproduction processing described with reference to FIG. 6, they are omitted here. In the information recording medium 310, an encrypted content 313, a conversion table 314, and a data conversion program 315 are stored.

도 23에 나타낸 제8 컨텐츠 재생 처리는, 전술한 제7 컨텐츠 재생 처리에서와 마찬가지로, 비밀 파라미터(SP)를 적용하여, 변환 테이블의 일부분씩을 평문 테이블로 복원하는 처리를 행한다. 그러나, 제7 컨텐츠 재생 처리에서는, 복수 개로 분할된 변환 테이블을, 상이한 비밀 파라미터(SP1, SP2, SP3,…)를 적용한 배타 논리합(XOR) 연산 처리를 가하여 패킷에 저장하였지만, 제8 컨텐츠 재생 처리에서는, 암호화 컨텐츠(313)와 변환 테이블(314)이 별개의 파일로서 정보 기록 매체(310)에 저장되어 있다.As in the seventh content reproduction processing described above, the eighth content reproduction processing shown in FIG. 23 applies a secret parameter SP to perform a process of restoring a portion of the conversion table to the plain text table. In the seventh content reproduction process, however, the conversion table divided into plural numbers is stored in a packet by applying an exclusive OR operation applying different secret parameters SP1, SP2, SP3, ... to the packet. In the above, the encrypted content 313 and the conversion table 314 are stored in the information recording medium 310 as separate files.

제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)에 저장하는 일괄 처리로서 실행될 수도 있다.In the eighth content reproduction process, the process of the block "381" indicated by the dotted line is executed in real time, and the process of the block "383" indicated by the dotted line is executed as the intermittent process. That is, the secure VM 356 intermittently outputs the secret parameter SP so as to meet the time in the content reproduction operation or the content output operation. In the eighth content reproduction process, the secure VM 356 obtains a conversion table from the information recording medium 310, and stores the conversion table for the exclusive-OR operation (XORed) table storage unit 372. The storage processing for the exclusive OR operation of the conversion table (XORed) by the secure VM 356 is performed by performing an exclusive OR operation on the partial data of the conversion table corresponding to the output secret parameter SP. (XORed) The table storage unit may be executed as a step-by-step process for storing in the table storage unit 372 or the OROR table is exclusively ORed before the content playback operation or the content output operation. It may also be executed as a batch process to be stored at 372.

변환 테이블은 1개의 독립된 데이터로서 설정된다. 변환 테이블 파일 내에 복수 개의 변환 테이블 블록(FUT 블록)이 저장된다. 이들 복수 개의 변환 테이블 블록(FUT 블록)은, 저장되기 전에, 상이한 비밀 파라미터(SP1, SP2, SP3,…)를 각각 적용한 배타 논리합(XOR) 연산 처리가 행해진다.The conversion table is set as one independent data. A plurality of conversion table blocks (FUT blocks) are stored in the conversion table file. Before the plurality of conversion table blocks (FUT blocks) are stored, an exclusive OR (XOR) arithmetic operation to which different secret parameters SP1, SP2, SP3, ... are applied is performed.

도 24 내지 도 26을 참조하여, 변환 테이블의 데이터 구성에 대하여 설명한다.With reference to FIGS. 24-26, the data structure of a conversion table is demonstrated.

도 24는 변환 테이블의 전체 데이터 구성을 나타낸다.24 shows the overall data structure of the conversion table.

도 25는 변환 테이블 내에 포함된 복수 개의 변환 테이블 블록(FUT 블록) 중의 1개의 변환 테이블 블록(FUT 블록)의 데이터 구성을 나타낸다.FIG. 25 shows the data structure of one conversion table block (FUT block) among a plurality of conversion table blocks (FUT blocks) included in the conversion table.

도 26은 변환 테이블 블록(FUT) 내의 변환 데이터 엔트리의 데이터 구성을 나타낸다.Fig. 26 shows the data structure of the conversion data entry in the conversion table block (FUT).

도 24에 나타낸 바와 같이, 변환 테이블에는 이하의 데이터가 포함된다:As shown in Fig. 24, the conversion table includes the following data:

Number of FUT blocks: 변환 테이블 블록의 개수Number of FUT blocks: Number of conversion table blocks

Length of FUT block: 변환 테이블 블록의 바이트 길이Length of FUT block: The byte length of the conversion table block

SP_No: 비밀 파라미터(SP) 번호(시큐어 VM(356)에 의해 생성되는 SP에 대응되는)SP_No: secret parameter (SP) number (corresponding to the SP generated by the secure VM 356)

First SPN for FUT block: 변환 테이블 블록에 대해 할당된 패킷의 위치First SPN for FUT block: location of allocated packet for translation table block

FUT block(): 변환 테이블 블록(변환 테이블 블록은 상이한 파라미터로 난독화되어 있음)FUT block (): conversion table block (the conversion table block is obfuscated with different parameters)

변환 테이블에는 복수 개의 변환 테이블 블록(FUT)이 포함되고, 이들 복수 개의 변환 테이블 블록(FUT)은 상이한 비밀 파라미터(SP1, SP2, SP3,…)에 의해 배타 논리합(XOR) 연산 처리가 행해져 저장되어 있다.The conversion table includes a plurality of conversion table blocks (FUTs), and the plurality of conversion table blocks (FUTs) are stored by being subjected to exclusive OR (XOR) arithmetic processing by different secret parameters SP1, SP2, SP3, ... have.

도 25은 도 24에 나타낸 변환 테이블에 포함되는 복수의 변환 테이블 블록(FUT 블록) 중 하나에 대한 데이터 구성을 나타내고 있다. 도 25에 나타낸 바와 같이, 변환 테이블 블록(FUT 블록)에는 이하의 데이터가 포함된다:FIG. 25 shows a data structure of one of a plurality of conversion table blocks (FUT blocks) included in the conversion table shown in FIG. 24. As shown in FIG. 25, the conversion table block (FUT block) includes the following data:

Number of FixUpEntry in this block: 변환 데이터 유닛의 수(식별 마크를 갖는 변환 데이터 유닛도 포함함)Number of FixUpEntry in this block: Number of transform data units (including transform data units with identification marks)

Base SPN for FixUpEntry: 변환 데이터의 기록 위치의 지표로서 작용하는 베이스 패킷의 위치Base SPN for FixUpEntry: the location of the base packet serving as an indicator of the recording location of the translation data

FixUpEntry(): 변환 테이블 블록이 비밀 파라미터로 난독화됨FixUpEntry (): Translation table block is obfuscated with secret parameter

도 26은 도 25의 변환 테이블 블록에 포함되는 변환 데이터 엔트리(FixUpEntry)의 데이터 구성을 나타내고 있다. 도 26에 나타낸 바와 같이, 변환 데이터 엔트리(FixUpEntry)에는 이하의 데이터가 포함된다:FIG. 26 shows the data structure of the conversion data entry FixUpEntry included in the conversion table block of FIG. As shown in Fig. 26, the conversion data entry FixUpEntry includes the following data:

type_indicator: 타입 식별자, 00:변환 처리없음, 01b:변환 처리 실행됨, 10b 및 11b:포렌직 마크를 갖는 변환 데이터에 의한 변환 처리가 실행됨type_indicator: type identifier, 00: no conversion processing, 01b: conversion processing is executed, 10b and 11b: conversion processing by conversion data having a forensic mark is executed

FM_ID_bit_position: 포렌직 마크를 갖는 변환 데이터에 대응하는 플레이어 ID의 식별 비트 위치FM_ID_bit_position: Identification bit position of player ID corresponding to converted data with forensic mark

relative_SPN: 변환 데이터의 패킷 위치(프로그래머블 맵 테이블(PMT)로부터의 패킷수)relative_SPN: Packet location of the transformed data (number of packets from the programmable map table (PMT))

byte_position: 패킷 내의 변환 데이터 기록 위치byte_position: The position of the translation data recording in the packet

overwrite_value: 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함)overwrite_value: conversion data (including conversion data with identification marks)

relative_SPN_2: 변환 데이터의 제2 패킷 위치(PMT로부터의 패킷수)relative_SPN_2: second packet position of the converted data (the number of packets from the PMT)

byte_position_2: 패킷 내의 제2 변환 데이터의 기록 위치byte_position_2: the recording position of the second translation data in the packet

overwrite_value_2: 제2 변환 데이터(식별 마크를 갖는 변환 데이터도 포함함).overwrite_value_2: second transform data (including transform data with identification marks).

변환 테이블은, 컨텐츠 데이터의 일부에 대해 치환될 변환 데이터와, 이 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블로서 설정된다. 이 변환 테이블을 적용하여, 컨텐츠 구성 데이터의 치환 처리 명령을 포함하는 데이터 변환 프로그램을 실행하여, 데이터 변환이 행해진다.The conversion table is set as a conversion table having conversion data to be substituted for a part of the content data and setting positional information for the content of the conversion data. By applying this conversion table, a data conversion program including a replacement processing instruction for content configuration data is executed to perform data conversion.

도 26의 변환 테이블 블록에 포함되는 변환 데이터 엔트리(FixUpEntry)에 포함되는 정보 [type_indicator]는, 변환 테이블의 등록 정보가, 브로큰 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터에 관한 등록 정보인지, 또는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램을 식별하는 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인지를 식별하는 타입 식별자이다.The information [type_indicator] included in the conversion data entry (FixUpEntry) included in the conversion table block of FIG. 26 indicates whether the registration information of the conversion table is registration information relating to conversion data for converting the broken data into valid content data, or It is a type identifier for identifying whether it is registration information about conversion data having an identification mark for porting identification information for identifying a content reproducing apparatus or a content reproducing application program.

변환 테이블의 등록 정보 영역이, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보 영역인 경우에는, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 따라 선택적으로 적용된 변환 데이터, 즉 식별 마크를 갖는 변환 데이터가 테이블 등록 정보로서 등록된다.If the registration information area of the conversion table is a registration information area relating to conversion data having an identification mark for porting identification information of the content reproducing apparatus or the content reproducing application program, the identification information of the content reproducing apparatus or the content reproducing application program is used. The conversion data selectively applied according to this, that is, conversion data having an identification mark is registered as table registration information.

등록 정보 [FM_ID_bit_position]는, 복수의 비트로 이루어지는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보 중에서, 처리 모드 결정을 위해 참조해야 할 비트의 위치 정보이다. 참조해야 할 비트의 값이 1인 경우, 식별 마크를 갖는 변환 데이터가 컨텐츠 구성 데이터에 대해 치환된다. 참조해야 할 비트의 값이 0인 경우에는, 치환 처리가 실행되지 않는다. 처리 모드는 이러한 방식으로 결정되며, 데이터 변환 처리가 실행된다.The registration information [FM_ID_bit_position] is position information of bits to be referred to for determining a processing mode among identification information of a content reproducing apparatus or a content reproducing application program composed of a plurality of bits. When the value of the bit to be referred to is 1, converted data having an identification mark is substituted for the content configuration data. If the value of the bit to be referred to is 0, no substitution is performed. The processing mode is determined in this way, and data conversion processing is executed.

반대로, 참조 비트가 0인 경우에 변환을 실행하고, 참조 비트가 1인 경우에 변환을 실행하지 않는 것으로 하는 설정도 가능하다. 이와 달리, 참조 비트가 0인 경우의 변환 데이터와 1인 경우의 변환 데이터를, 각각 다른 변환 데이터로서 설정하고, 참조 비트의 비트값에 따라, 변환 데이터가 선택적으로 설정되도록 할 수도 있다.Conversely, it is also possible to set the conversion to be executed when the reference bit is 0 and not to perform the conversion when the reference bit is 1. Alternatively, the conversion data when the reference bit is 0 and the conversion data when 1 are set as different conversion data, respectively, and the conversion data may be selectively set in accordance with the bit value of the reference bit.

제8 컨텐츠 재생 처리에서, 변환 테이블은 복수의 변환 테이블 블록(FUT)을 포함한다. 이들 복수의 변환 테이블 블록(FUT)은, 저장되기 전에, 각각 상이한 비밀 파라미터(SP1, SP2, SP3,…)에 의해 배타 논리합(XOR) 연산 처리가 행해진다. 변환 테이블은 독립된 파일 데이터로서 정보 기록 매체(310)에 저장되지만, 도 24 내지 도 26을 참조하여 설명한 바와 같이, 변환 테이블은 복수의 변환 테이블 블록(FUT 블록)을 포함하고, 이들 복수의 변환 테이블 블록(FUT 블록)은 각각 상이한 비밀 파라미터(SP1, SP2, SP3,…)로 배타 논리합(XOR) 연산 처리가 행해지고, 그 결과의 값이 정보 기록 매체(310)에 저장된다. 비밀 파라미터는 예컨대 128 비트 데이터로 구성된다.In the eighth content reproduction process, the conversion table includes a plurality of conversion table blocks (FUTs). These multiple conversion table blocks FUT are each subjected to an exclusive OR operation with different secret parameters SP1, SP2, SP3, ... before being stored. The conversion table is stored in the information recording medium 310 as independent file data, but as described with reference to Figs. 24 to 26, the conversion table includes a plurality of conversion table blocks (FUT blocks), and the plurality of conversion tables Each block (FUT block) is subjected to an exclusive OR operation with different secret parameters SP1, SP2, SP3, ..., and the result value is stored in the information recording medium 310. The secret parameter consists of 128 bit data, for example.

도 23의 시큐어 VM(356)은 명령 코드 정보를 포함하는 암호화 컨텐츠(318)를 정보 기록 매체(310)로부터 판독한다. 시큐어 VM(356)은, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 처리 이전 또는 처리 실행 중에, 간헐적으로, 이벤트 핸들러(354)의 제어 하에, 플레이어 정보(355)의 입력에 응답하여, 정보 기록 매체(310)에 기록된 변환 테이블(314)에 포함되는 변환 테이블 블록(FUT 블록)을 변환하기 위해 요구되는 배타 논리합(XOR) 비밀 파라미터(SP1, SP2, SP3,…)를 생성하여 출력한다. 출력된 비밀 파라미터(SP1, SP2, SP3,…)는 SP 레지스터(371)에 저장된다.The secure VM 356 in FIG. 23 reads from the information recording medium 310 the encrypted content 318 including the command code information. The secure VM 356 intermittently under the control of the event handler 354 before or during the content reproduction operation or the content output operation processing, in response to the input of the player information 355, the information recording medium 310. An exclusive logical OR (XOR) secret parameter SP1, SP2, SP3, ... required for converting the conversion table block (FUT block) included in the conversion table 314 recorded in " The output secret parameters SP1, SP2, SP3, ... are stored in the SP register 371.

변환 테이블 블록(FUT 블록)은, 제7 컨텐츠 재생 처리를 참조하여 설명한 분할된 변환 테이블과 마찬가지로, 컨텐츠의 일부에 대응하는 변환 데이터와, 그 변환 데이터의 기록 위치 정보를 포함한다. 도 21을 참조하여 설명한 바와 같이, 변환 테이블 블록은 10초 정도의 컨텐츠의 부분에 대응하는 변환 데이터를 포함하고 있다.The conversion table block (FUT block) includes conversion data corresponding to a part of the content and recording position information of the conversion data, similarly to the divided conversion table described with reference to the seventh content reproduction process. As described with reference to FIG. 21, the conversion table block includes conversion data corresponding to a portion of content of about 10 seconds.

도 23에 나타내는 시큐어 VM(356)은, 비밀 파라미터(SP1, SP2, SP3,…) 외에, 각각의 비밀 파라미터의 지정 번호(SPNo.)와, 데이터 변환 프로그램(315)에 따라 설정되는 식별 마크의 ID(FM_ID)를 생성하여, 이들 값을 출력한다. 이들 값 또한 SP 레지스터(371)에 저장된다.In addition to the secret parameters SP1, SP2, SP3, ..., the secure VM 356 shown in FIG. 23 has a designation number (SPNo.) Of each secret parameter and an identification mark set in accordance with the data conversion program 315. ID (FM_ID) is generated and these values are output. These values are also stored in the SP register 371.

리얼 타임 처리 블록(381)에서, 단계 S451에서는 암호화 컨텐츠(318)의 복호가 실행되고, 단계 S452에서는 배타 논리합 연산된(XORed) 테이블 기억부(372)에 기억된 변환 테이블 블록의 하나가 취득된다. SP 레지스터(371)에 저장된 비밀 파 라미터(SPn)의 배타 논리합(XOR)연산이 실행되고, 평문 데이터로서의 변환 테이블 블록(FUT)이 취득된다.In the real time processing block 381, the decryption of the encrypted content 318 is executed in step S451, and in step S452 one of the conversion table blocks stored in the exclusive-OR operation (XORed) table storage unit 372 is obtained. . An exclusive OR (XOR) operation of the secret parameter SPn stored in the SP register 371 is executed, and a conversion table block FUT as plain text data is obtained.

또한, 단계 S453에서는, 비밀 파라미터(SPn)와 함께 시큐어 VM(356)으로부터 간헐적으로 출력되어 SP 레지스터(371)에 저장된 비밀 파라미터의 지정 번호(SPNo.)와, 식별 마크의 ID(FM_ID)가 취득된다. 이들 값이 참조되어, 변환 테이블이 적용한 처리 모드가 결정된다. 변환 테이블에 기록된 변환 데이터, 즉 변환 데이터 및 식별 마크를 갖는 변환 데이터가, 변환 테이블에 지정된 위치에 기입된다. 이들 처리는, 리얼 타임 이벤트 핸들러(361)의 제어 하에, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다. 리얼 타임 이벤트 핸들러(361)는, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 동안에 발생하는 이벤트를 감시하면서, 처리를 제어한다. 예컨대, 부정 처리가 검출된 경우에는 처리가 중지된다.In step S453, the secret number SPn is intermittently output from the secure VM 356 and stored in the SP register 371, and the designated number SPNo. Of the secret parameter and the ID FM_ID of the identification mark are obtained. do. These values are referenced to determine the processing mode applied by the conversion table. The conversion data recorded in the conversion table, that is, the conversion data having the conversion data and the identification mark is written at the position designated in the conversion table. These processes are executed in real time in parallel with the content reproduction operation or the content output operation under the control of the real time event handler 361. The real time event handler 361 controls the processing while monitoring an event occurring during the content reproduction operation or the content output operation. For example, if a negative process is detected, the process is stopped.

구체적인 변환 테이블의 이용 처리에 대하여 설명한다. 도 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이면, 변환 데이터가 적용된 컨텐츠의 구성 데이터가 변환되도록 하는 것도 가능하다.The use processing of the concrete conversion table is demonstrated. The type identifier [type_indicator] in the conversion table shown in FIG. 26 is first checked. If this type identifier [type_indicator] indicates the insertion of the conversion data having an identification mark (type_indicator = (10b or 11b)), it is determined that the processing mode of the conversion data having the identification mark is [FM_ID_bit_position] in the conversion table. The bit position information of the ID is referred to. The position represented by the plurality of identification bits FM_ID in the conversion table is identified. If the type identifier [type_indicator] is 10b, 0 bits are added to FM_ID_bit_position, and if the type identifier [type_indicator] is 11b, 64 bits are added to FM_ID_bit_position. In this way, the FM_ID can be represented with fewer bits. Then, data of the bit position of the identified FM_ID is obtained. If the FM_ID bit is 1, the configuration data of the content to which the converted data is applied is converted. If the FM_ID bit is 0, the conversion process is not performed. Conversely, if the FM_ID bit is 1, no conversion processing is performed, and if the FM_ID bit is 0, it is also possible to convert the configuration data of the content to which the converted data is applied.

이 처리에 의해, 플레이어 ID에 상당하는 데이터가 재생 데이터에 이식된다. 변형 처리가 수행되면, 변환 테이블에 설정된 제1 변환 데이터 [overwrite_value] 및 제2 변환 데이터 [overwrite_value_2]가 2개 위치에 재기입된다. FM_ID 데이터의 제거가 보다 곤란하게 되는 동시에, [overwrite_value]의 설정 제한을 행하는 것보다 재생 장치의 부담을 가볍게 할 수 있다. 타입 식별자 [type_indicator]가 01b인 경우, 변환 데이터는 식별 마크를 갖는 변환 데이터가 아닌 변환 데이터, 즉 브로큰 데이터로 치환될 변환 데이터이므로, 변환 처리를 행하는데 있어서 재생 장치의 FM_ID의 확인을 행할 필요는 없다.By this process, data corresponding to the player ID is transplanted into the reproduction data. When the transformation process is performed, the first conversion data [overwrite_value] and the second conversion data [overwrite_value_2] set in the conversion table are rewritten in two positions. The removal of the FM_ID data becomes more difficult, and the burden on the playback apparatus can be lighter than the restriction of setting [overwrite_value]. When the type identifier [type_indicator] is 01b, the conversion data is not conversion data having an identification mark, that is, conversion data to be replaced with broken data, so it is necessary to confirm the FM_ID of the playback device in performing the conversion process. none.

단계 S452에서의 배타 논리합 연산(XOR)에서, 비밀 파라미터(SP1, SP2, SP3,…)가 변환 테이블 블록(FUT 블록)에 대해 설정된 배타 논리합(XOR) 연산 파라미터인 경우, 단계 S452에서의 테이블 복원 처리는 다음과 같이 수행된다:In the exclusive logical OR operation (XOR) in step S452, if the secret parameters SP1, SP2, SP3, ... are exclusive logical OR (XOR) calculation parameters set for the conversion table block (FUT block), the table is restored in step S452. The processing is performed as follows:

[FUT 블록 1] (XOR) [SP1],[FUT block 1] (XOR) [SP1],

[FUT 블록 2] (XOR) [SP2],[FUT block 2] (XOR) [SP2],

[FUT 블록 3] (XOR) [SP3],[FUT block 3] (XOR) [SP3],

...

배타 논리합 연산 처리를 수행함으로써, 평문 변환 테이블 블록 데이터가 취득된다. 상기 식에서 [A] (XOR) [B]는 A와 B의 배타 논리합 연산을 의미한다.By performing the exclusive-OR operation, the plain text conversion table block data is obtained. [A] (XOR) [B] in the above formula means an exclusive OR operation of A and B.

이들 변환 테이블 블록에 따라, 컨텐츠의 구성 데이터의 일부에 대해, 변환 데이터의 기입 동작 및 식별 마크를 갖는 변환 데이터의 기입 동작이 실행된다. 변환 테이블 블록의 컨텐츠 재생 구간은 제7 컨텐츠 재생 처리의 컨텐츠 재생 구간과 동일하여, 도 21의 컨텐츠 재생 구간(0∼T, T∼2T, 2T∼3T)의 각각의 구간이 된다. 각각의 구간에는 동일한 비밀 파라미터가 적용된다.According to these conversion table blocks, a write operation of the conversion data and a write operation of the conversion data having an identification mark are performed on a part of the configuration data of the content. The content reproduction section of the conversion table block is the same as the content reproduction section of the seventh content reproduction process, and becomes each section of the content reproduction sections 0 to T, T to 2T, and 2T to 3T in FIG. The same secret parameter applies to each section.

본 실시예에 의하면, 동일한 비밀 파라미터가 적용되는 구간은 정상적인 재생에서 약 10초이며, 만일 1개의 비밀 파라미터가 누출되어도, 불과 10초의 컨텐츠만이 재생될 수 있으므로, 견고한 컨텐츠 누출 방지가 실현된다.According to this embodiment, the section to which the same secret parameter is applied is about 10 seconds in normal playback, and even if only one secret parameter is leaked, only 10 seconds of content can be played back, so that robust content leakage prevention is realized.

단계 S453에서의 데이터 변환 처리 이후의 처리는 제7 컨텐츠 재생 처리에서 설명된 것과 동일하며, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 행해진다. 구체적으로, 단계 S454에서는 디멀티플렉싱 처리가 실행되고, 단계 S455에서는 디코드 처리가 실행된다. 이들 처리는 컨텐츠 재생 동작 또는 컨텐츠 출력 동작과 병행하여 리얼 타임으로 실행된다.Processing after the data conversion processing in step S453 is the same as that described in the seventh content reproduction processing, and is performed in real time in parallel with the content reproduction operation or the content output operation. Specifically, the demultiplexing process is executed in step S454, and the decode process is executed in step S455. These processes are executed in real time in parallel with the content reproduction operation or the content output operation.

제8 컨텐츠 재생 처리에서는, 리얼 타임 이벤트 핸들러(361)가, 컨텐츠 재생 동작 또는 컨텐츠 출력 동작 동안에 발생할 수도 있는 이벤트를 감시하면서, 단계 S452에서의 테이블 복원 및 단계 S453에서의 데이터 변환 처리를 제어한다. 이와 달리, 데이터 변환 처리는 이와 같은 이벤트 감시를 행하지 않고서 수행될 수도 있 다. 이 경우, 도 27에 나타낸 바와 같이, 도 23의 리얼 타임 이벤트 핸들러(361)가 생략된다.In the eighth content reproduction process, the real time event handler 361 controls the table restoration in step S452 and the data conversion process in step S453 while monitoring the events that may occur during the content reproduction operation or the content output operation. Alternatively, the data conversion process may be performed without performing such event monitoring. In this case, as shown in FIG. 27, the real time event handler 361 of FIG. 23 is omitted.

제8 컨텐츠 재생 처리에서, 컨텐츠 전체에 대응하는 변환 테이블의 구성 데이터를 분할한 변환 데이터 블록(FUT 블록)은, 상이한 비밀 파라미터(SPn)에 대응시켜, 상이한 비밀 파라미터(SPn)에 의한 배타 논리합 연산이 적용된 후에, 정보 기록 매체에 저장된다. 시큐어 VM(356)은 비밀 파라미터 등을 간헐적으로 생성한다. 비밀 파라미터의 일부가 누출되어도, 변환 테이블에 저장된 변환 데이터 전체를 취득하는 것은 가능하지 않게 된다. 그 결과, 컨텐츠의 전체를 복원하는 것은 불가능하게 되고, 더욱 견고한 컨텐츠 이용 관리가 실현된다.In the eighth content reproduction process, the conversion data block (FUT block) obtained by dividing the configuration data of the conversion table corresponding to the entire content is subjected to an exclusive OR operation using different secret parameters SPn in correspondence with different secret parameters SPn. After this is applied, it is stored in the information recording medium. The secure VM 356 intermittently generates secret parameters and the like. Even if some of the secret parameters are leaked, it is not possible to obtain the entire converted data stored in the conversion table. As a result, it becomes impossible to restore the entire content, and more robust content usage management is realized.

도 10을 참조하여 설명한 처리에서와 마찬가지로, 이 처리 시퀀스는 컨텐츠 재생 및 출력의 처리에 영향을 주지않고 리얼 타임으로 실현된다. 컨텐츠 재생 처리에서 부정한 처리가 검출된 경우, 시큐어 VM(356)가 이벤트 핸들러(354)로부터의 부정 처리 검출 정보에 응답하여 처리를 중지함으로써, 변환 데이터의 생성이 중지되고, 부정한 컨텐츠의 재생 또는 출력 동작을 그 도중에 종료시키는 것이 가능하게 된다.As in the processing described with reference to Fig. 10, this processing sequence is realized in real time without affecting the processing of content reproduction and output. When an illegal process is detected in the content reproduction process, the secure VM 356 stops the process in response to the illegal process detection information from the event handler 354, so that generation of the converted data is stopped, and reproduction or output of the illegal content is stopped. It is possible to end the operation in the meantime.

도 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) 상에 파일로 저장될 수도 있다. 예컨대, 파일로 저장된 변환 테이블은 많은 메모리 용량과 낮은 처리 속도를 특징으로 하는 장치에서 사용되는 한편, 패킷 내의 변환 테이블은 작은 메모리 용량 및 낮은 처리 속도를 특징으로 하는 장치에서 사용된다.Although the data structure of the configuration data of the conversion table has been described with reference to FIGS. 24 to 26, the conversion table may have various data structures. For example, the conversion table described with reference to FIG. 24 may be configured as shown in FIG. 28. FIG. 28 shows an example of recording the conversion table of FIG. 24 in another structure. The secret parameter (SP) number may be replaced with the block number of the translation table block. [First SPN for FUT block] may be replaced with the value of the first " Base SPN for FixUpEntry " in [FUT block ()] defined in FIG. "Base SPN for FixUpEntry"] is not obfuscated by the exclusive OR operation with the secret parameter (SP), and to determine [FUT block ()] during random access even when there is no secret parameter (SP). Used. Thus, the table shown in FIG. 28 has the simpler structure than that shown in FIG. 24 and provides the same information as the conversion table of FIG. In the above description, the conversion table is stored in a packet or in a file on an information recording medium. Alternatively, the conversion table may be stored in a packet and stored in a file on the information recording medium 310. For example, a translation table stored as a file is used in a device characterized by a large memory capacity and a low processing rate, while a translation table in a packet is used in a device characterized by a small memory capacity and a low processing speed.

다음으로, 도 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)를 포함한다.Next, with reference to FIG. 29, the hardware structure of the information processing apparatus 800 which runs an application program as a host is demonstrated. The information processing apparatus 800 includes a CPU 809 for executing data processing according to various programs such as an operating system (OS), a content reproduction application program, a content recording application program, and a mutual authentication processing program, and a program and a parameter. ROM 808 and memory 810 as a storage area for storing the data, an input / output I / F 802 for inputting and outputting digital signals, and an A / D converter and a D / A converter for inputting and outputting analog signals. Input / output I / F (804) having the same function, MPEG codec (803) for encoding and decoding MPEG data, and TS / PS processor (806) for executing TS (Transport Stream) and PS (Program Stream) processing. ), An encryption processor 807 for executing various encryption processes including mutual authentication processing and encryption processing, a recording medium 812 such as a hard disk, and a recording medium 812 to drive data recording and reproduction scenes. A drive 811 for performing call input and output, and a bus 801 for interconnecting these elements.

정보 처리 장치(호스트 장치)(800)는 AT 어태치먼트 패킷 인터페이스(ATAPI) 버스 등의 버스를 통해 드라이브와 접속된다. 변환 테이블 및 컨텐츠는 디지털 신호용 입출력 I/F(802)를 통하여 입출력된다. 암호화 프로세서(807)는 AES(Advance Encryption Standard) 알고리즘을 이용하여 암호화 처리 및 복호 처리를 실행한다.The information processing apparatus (host apparatus) 800 is connected to the drive via a bus such as an AT attachment packet interface (ATAPI) bus. The conversion table and contents are input and output via the digital signal input / output I / F 802. The encryption processor 807 executes encryption processing and decryption processing using an Advance Encryption Standard (AES) algorithm.

컨텐츠 재생 처리 또는 컨텐츠 기록 처리를 실행하기 위한 프로그램은 예컨대 ROM(808) 내에 되어 있고, 프로그램의 실행 동안, 파라미터 및 데이터가 작업 영역(work area)으로서 메모리(810)에 적용된다.A program for executing the content reproduction process or the content recording process is, for example, in the ROM 808, and during execution of the program, parameters and data are applied to the memory 810 as a work area.

ROM(808) 또는 기록 매체(812)에는, 제어 센터의 공개키, 호스트 대응 비밀키, 호스트 대응하는 공개키 증명서, 및 무효화 리스트로서의 드라이브 CRL이 저장된다.The ROM 808 or the recording medium 812 stores a public key of the control center, a host corresponding secret key, a host corresponding public key certificate, and a drive CRL as an invalidation list.

정보 기록 매체로부터 취득한 데이터 변환 프로그램은 컨텐츠 재생 동작 또는 컨텐츠 출력 동작을 실행하기 위해 사용된다. 암호화 컨텐츠의 복호, 변환 테이블의 복원, 변환 테이블의 저장 데이터에 따른 변환 데이터 기입 처리를 포함한 제1 내지 제8 컨텐츠 재생 처리가 실행된다.The data conversion program acquired from the information recording medium is used to perform the content reproduction operation or the content output operation. The first to eighth content reproduction processes including decryption of the encrypted content, restoration of the conversion table, and conversion data writing process corresponding to the stored data of the conversion table are executed.

다음에, 정보 기록 매체, 정보 기록 매체 제조 방법, 및 정보 기록 매체 제조 장치에 대하여 설명한다. 정보 기록 매체는 컨텐츠가 기록 및/또는 재생되는 기록 매체이다.Next, an information recording medium, an information recording medium manufacturing method, and an information recording medium manufacturing apparatus will be described. An information recording medium is a recording medium on which content is recorded and / or reproduced.

정보 기록 매체 제조 장치는, 도 1을 참조하여 설명한 기록 데이터를 저장하는 정보 기록 매체(100)를 제조하는 장치이다.The information recording medium manufacturing apparatus is an apparatus for manufacturing the information recording medium 100 for storing the record data described with reference to FIG.

정보 기록 매체 제조 장치는, (a) 정당한 컨텐츠 구성 데이터와 상이한 브로큰 데이터를 포함하는 컨텐츠와, (b) 브로큰 데이터의 치환 대상으로 되는 정당한 컨텐츠 구성 데이터인 변환 데이터를 갖고, 이 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블과, (c) 변환 테이블을 적용한 컨텐츠 구성 데이터에 대한 치환 처리에 사용된 실행 명령을 포함하는 데이터 변환 프로그램을 생성하는, 데이터 프로세서, 및 브로큰 데이터를 포함하는 컨텐츠, 변환 테이블, 및 데이터 변환 프로그램을 정보 기록 매체에 기록하는 데이터 레코더를 포함한다.The information recording medium manufacturing apparatus has (a) content containing broken data different from the legitimate content composition data, and (b) converted data which is legitimate content composition data to be replaced with the broken data. A data processor for generating a data conversion program including a conversion table having setting position information for the data, and (c) an execution instruction used for substitution processing for content configuration data to which the conversion table is applied; A conversion table, and a data recorder for recording the data conversion program on the information recording medium.

본 발명의 일실시예의 정보 기록 매체 제조 장치에서, 데이터 프로세서는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 따라 선택적으로 적용되는 변환 데이터를 갖는 변환 테이블을 생성하며, 데이터 레코더는 식별 정보에 따라 선택적으로 적용되는 변환 데이터를 포함하는 변환 테이블을 기록한다. 본 발명의 또 다른 실시예의 정보 기록 매체 제조 장치에서, 데이터 프로세서는, 컨텐츠의 일부 구성 데이터에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호화 처리를 이용하여 난독화된 변환 테이블을 생성하고, 데이터 레코더는 난독화된 변환 테이블을 기록한다.In the information recording medium manufacturing apparatus of an embodiment of the present invention, the data processor generates a conversion table having conversion data selectively applied according to the identification information of the content reproduction apparatus or the content reproduction application program, and the data recorder according to the identification information. Record a conversion table containing conversion data that is optionally applied. In the information recording medium manufacturing apparatus of another embodiment of the present invention, the data processor obfuscates using arithmetic processing or encryption processing that applies different parameters to a partial conversion table having conversion data corresponding to only partial configuration data of the content. Create a converted conversion table, and the data recorder records the obfuscated conversion table.

본 발명의 또 다른 실시예의 정보 기록 매체 제조 장치에서, 데이터 프로세 서는, 브로큰 데이터를 포함하는 컨텐츠의 스트림 패킷 내에 난독화된 변환 테이블이 산재되어 배치되는 컨텐츠 데이터를 생성하며, 데이터 레코더는 난독화된 변환 테이블을 포함하는 컨텐츠 데이터를 기록한다.In the information recording medium manufacturing apparatus of another embodiment of the present invention, the data processor generates the content data in which the obfuscated conversion table is interspersed in the stream packet of the content including the broken data, and the data recorder is obfuscated. The content data including the converted conversion table.

도 1을 참조하여 설명한 바와 같이, 이와 같은 제조 장치에 의해 생성된 정보 기록 매체는, (a) 정당한 컨텐츠 구성 데이터와 상이한 브로큰 데이터를 포함하는 컨텐츠와, (b) 브로큰 데이터의 치환 대상으로 되는 정당한 컨텐츠 구성 데이터인 변환 데이터를 가지고, 이 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 갖는 변환 테이블과, (c) 변환 테이블을 적용한 컨텐츠 구성 데이터에 대한 치환 처리에 사용되는 실행 명령을 포함하는 데이터 변환 프로그램을 저장한다.As described with reference to Fig. 1, an information recording medium generated by such a manufacturing apparatus includes (a) content containing broken data different from legitimate content configuration data, and (b) legitimate object to be replaced with broken data. A data conversion program having conversion data that is content configuration data, and having a conversion table having setting positional information on the content of the conversion data, and (c) an execution command used for substitution processing for content configuration data to which the conversion table is applied. Save it.

정보 기록 매체에 기록되는 변환 테이블은, 컨텐츠 데이터의 일부분의 치환 대상으로 되는 변환 데이터와, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 포함하는 변환 테이블과, 변환 테이블을 적용한 컨텐츠 구성 데이터에 대한 치환 처리에 사용되는 실행 명령을 포함하는 데이터 변환 프로그램을 포함한다. 변환 테이블의 등록 정보는, 브로큰 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터에 관한 등록 정보인지, 또는 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인지를 식별하는 타입 식별자를 포함한다.The conversion table recorded on the information recording medium includes conversion data for which a part of the content data is to be replaced, a conversion table including setting position information on the content of the conversion data, and replacement of the content configuration data to which the conversion table is applied. It includes a data conversion program including an execution instruction used for processing. The registration information of the conversion table is registration information about conversion data for converting the broken data into legitimate content data, or registration about conversion data having an identification mark for porting identification information of the content reproduction device or content reproduction application program. It includes a type identifier that identifies whether the information.

변환 테이블의 등록 정보가, 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보를 이식하기 위한 식별 마크를 갖는 변환 데이터에 관한 등록 정보인 경우에는, 변환 테이블의 등록 정보는, 또한 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션 프로그램의 식별 정보에 따라 선택적으로 적용되는 변환 데이터를 포함한다. 변환 테이블은, 복수 비트로 이루어지는 재생 장치 또는 재생 어플리케이션 프로그램의 식별 정보 중, 처리 모드를 결정하기 위해 참조해야 할 비트의 위치 정보를 포함한다.When the registration information of the conversion table is registration information about conversion data having an identification mark for porting identification information of the reproduction device or the content reproduction application program, the registration information of the conversion table further includes the content reproduction device or the content reproduction application. It includes conversion data that is selectively applied according to the identification information of the program. The conversion table includes position information of bits to be referred to for determining the processing mode among the identification information of the reproduction device or reproduction application program composed of a plurality of bits.

변환 테이블은, 컨텐츠의 일부 구성 데이터에만 대응하는 변환 데이터를 갖는 부분적인 변환 테이블에 대하여 상이한 파라미터를 적용하는 연산 처리 또는 암호 처리를 이용한다. 예컨대, 정보 기록 매체는, 기록 데이터로서, 브로큰 데이터를 포함하는 컨텐츠의 스트림 패킷 중에 난독화된 변환 테이블이 산재되어 있는 컨텐츠 데이터를 저장한다.The conversion table utilizes arithmetic processing or cryptographic processing to apply different parameters to the partial conversion table having the conversion data corresponding only to the partial configuration data of the content. For example, the information recording medium stores, as record data, content data in which an obfuscated conversion table is interspersed in a stream packet of content containing broken data.

전술한 일련의 처리 단계는 하드웨어, 소프트웨어, 또는 양자의 복합 구성에 의해 실행될 수 있다. 일련의 처리 단계가 소프트웨어에 의해 수행되는 경우, 소프트웨어를 형성하는 프로그램이, 전용의 하드웨어에 내장된 컴퓨터 내의 메모리에 인스톨되거나, 또는 각종 처리를 실행할 수 있는 범용 컴퓨터에 인스톨된다.The series of processing steps described above can be executed by hardware, software, or a combination of both. When a series of processing steps are performed by software, a program forming the software is installed in a memory in a computer built in dedicated hardware or in a general-purpose computer capable of executing various processes.

프로그램은, 기록 매체로서의 하드 디스크 및 ROM(Read Only Memory)에 미리 기록하여 둘 수 있다. 또는, 프로그램은 플렉서블 디스크, CD-ROM(Compact Disc Read Only Memory), MO(Magneto optical) 디스크, DVD(Digital Versatile Disc), 자기 디스크, 및 반도체 메모리를 포함한 착탈 가능한 기록 매체에 일시적으로 또는 영구적으로 저장될 수 있다. 이와 같은 착탈 가능한 기록 매체는 이른바 패키지 소프트웨어로서 제공할 수 있다.The program can be recorded in advance in a hard disk and a ROM (Read Only Memory) as a recording medium. Alternatively, the program may be temporarily or permanently stored on a removable recording medium including a flexible disk, a compact disc read only memory (CD-ROM), a magneto optical (MO) disk, a digital versatile disc (DVD), a magnetic disk, and a semiconductor memory. Can be stored. Such a removable recording medium can be provided as so-called package software.

프로그램은 전술한 바와 같은 기록 매체로부터 컴퓨터에 인스톨될 수 있다. 또한, 프로그램은 다운로드 사이트로부터 컴퓨터에 무선 방식으로 전송되거나, LAN(Local Area Network) 또는 인터넷 등의 네트워크를 통해 무선 또는 유선 방식으로 컴퓨터에 전송될 수 있다. 컴퓨터는 전송된 프로그램을 수신하여, 내장 하드 디스크 등의 기록 매체에 저장할 수 있다.The program can be installed in the computer from the recording medium as described above. In addition, the program may be transmitted from the download site to the computer in a wireless manner, or may be transmitted to the computer in a wireless or wired manner through a network such as a local area network (LAN) or the Internet. The computer can receive the transferred program and store it in a recording medium such as an internal hard disk.

명세서에 기재된 각종의 처리 단계는 실질적으로 설명한 바대로 시계열로 실행될 수 있을 뿐만 아니라, 병렬적으로 또는 개별적으로 실행되어도 된다. 본 명세서에서, 시스템은 하나 또는 복수의 장치를 지칭한다.The various processing steps described in the specification can be executed not only in time series as substantially described, but also in parallel or separately. In this specification, a system refers to one or a plurality of devices.

첨부된 특허청구의 범위 또는 그 등가물에서 한정된 바와 같은 본 발명의 요지를 벗어나지 않는 범위에서, 다양한 수정, 조합, 부분 조합 및 변경이 가능하다는 것을 당업자는 충분히 이해할 수 있을 것이다.Those skilled in the art will fully appreciate that various modifications, combinations, partial combinations and changes may be made without departing from the spirit of the invention as defined in the appended claims or equivalents thereof.

Claims (40)

컨텐츠의 재생 처리를 실행하는 재생 장치로서,A reproduction apparatus for performing reproduction processing of content, 상기 컨텐츠를 구성하는 컨텐츠 구성 데이터 중 적어도 일부를 변환 데이터로 치환하는 데이터 변환 처리부를 구비하고,A data conversion processing unit for replacing at least a part of content configuration data constituting the content with converted data, 상기 데이터 변환 처리부는, 변환 테이블의 기록 정보에 따른 데이터 변환 처리를 실행하는 구성이며,The data conversion processing unit is configured to execute data conversion processing according to recording information of a conversion table, 상기 변환 테이블은,The conversion table, (1) 상기 변환 데이터를 포함하는 등록 정보와,(1) registration information including the conversion data; (2) 상기 등록 정보가,(2) the registration information, (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,(2a) is registered information including conversion data for converting abnormal data into legitimate content data, or (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을 (2b) registration information including conversion data for planting identification information of the playback apparatus or the content playback application. 식별하는 타입 식별자와,The type identifier to identify, (3) 변환 데이터의 치환 위치 정보(3) Substitution position information of the conversion data 를 구비하고,And, 상기 데이터 변환 처리부는,Wherein the data conversion processing unit comprises: 상기 치환 위치 정보가 나타내는 위치에 있는 컨텐츠 구성 데이터의 상기 변환 데이터에 의한 치환 처리를, 상기 타입 식별자에 따라 변경하여 실행하는,Changing and executing the substitution processing by the converted data of the content configuration data at the position indicated by the substitution position information according to the type identifier, 재생 장치.Playback device. 제1항에 있어서,The method of claim 1, 상기 데이터 변환 처리부는,Wherein the data conversion processing unit comprises: 상기 타입 식별자가, 상기 변환 테이블의 등록 정보가,The type identifier, the registration information of the conversion table, (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보인 것을 나타내고 있는 경우에는,(2a) in the case of indicating that it is registered information including conversion data for converting abnormal data into legitimate content data, 컨텐츠 구성 데이터인 정당한 컨텐츠와 다른 비정상 데이터를, 상기 변환 테이블의 등록 정보에 포함되는 정당한 컨텐츠 데이터인 변환 데이터로 치환하는 처리를 실행하는 구성인, 재생 장치.And a processing for replacing the legitimate content that is the content configuration data with abnormal data that is different from the legitimate content data included in the registration information of the conversion table. 제1항에 있어서,The method of claim 1, 상기 데이터 변환 처리부는,Wherein the data conversion processing unit comprises: 상기 타입 식별자가, 상기 변환 테이블의 등록 정보가,The type identifier, the registration information of the conversion table, (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을 나타내고 있는 경우에는,(2b) when it is indicated that it is registered information including conversion data for planting identification information of a playback device or a content playback application, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보의 구성 비트에 근거하여, 컨텐츠 구성 데이터인 컨텐츠의 일부 영역을, 상기 변환 테이블의 등록 정보에 포함되는 변환 데이터로 치환하거나 또는 치환하지 않는, 재생 장치.And a part of the content, which is the content configuration data, with or without the conversion data included in the registration information of the conversion table, based on the configuration bits of the identification information of the content reproducing apparatus or the content reproducing application. 제1항 내지 제3항 중 어느 한 항에 있어서,4. The method according to any one of claims 1 to 3, 상기 데이터 변환 처리부는,Wherein the data conversion processing unit comprises: 1 이상의 변환 테이블에 포함되는 복수의 변환 데이터에 대하여, 소정의 재생 단위로 다른 파라미터를 적용한 배타 논리합(XOR) 연산 처리를 실행하고, 치환 데이터인 변환 데이터의 취득 처리를 실행하는 구성인, 재생 장치.A reproducing apparatus configured to execute an exclusive-OR operation (XOR) calculation process to which different parameters are applied in a predetermined reproducing unit to a plurality of conversion data included in one or more conversion tables, and to acquire a conversion data that is replacement data. . 제4항에 있어서,5. The method of claim 4, 상기 데이터 변환 처리부는,Wherein the data conversion processing unit comprises: 상기 다른 파라미터의 산출 처리를, 컨텐츠의 재생 또는 외부 출력에 동기시켜 간헐적인 처리로서 실행하고,The calculation process of the other parameter is executed as an intermittent process in synchronization with the reproduction or external output of the content, 간헐적으로 순차, 산출하는 다른 파라미터에 근거하는 연산 처리 또는 암호 처리에 따라서, 다른 컨텐츠 구성 데이터에 대응하는 변환 데이터의 취득을 행하는 구성인, 재생 장치.A reproducing apparatus, which is configured to acquire converted data corresponding to other content configuration data in accordance with arithmetic processing or encryption processing based on other parameters that are sequentially and sequentially calculated. 제4항에 있어서,5. The method of claim 4, 상기 데이터 변환 처리부는,Wherein the data conversion processing unit comprises: 상기 파라미터의 산출 처리를 버추얼 머신(virtual machine)에 의해 실행하는 구성인, 재생 장치.A reproducing apparatus, which is configured to execute a calculation process of the parameter by a virtual machine. 제1항 내지 제3항 중 어느 한 항에 있어서,4. The method according to any one of claims 1 to 3, 상기 데이터 변환 처리부는,Wherein the data conversion processing unit comprises: 상기 컨텐츠의 구성 패킷으로 분산하여 분할 기록된 분할 변환 테이블을 순차적으로 취득하여, 해당 분할 변환 테이블로부터, 상기 컨텐츠의 일부 구성 데이터만에 대응하는 치환 데이터인 변환 데이터와, 해당 변환 데이터의 기록 위치 정보를 취득하는 처리를 실행하는 구성인, 재생 장치.The divided conversion table distributed and divided into the configuration packet of the content is sequentially obtained, and the conversion data, which is replacement data corresponding to only partial configuration data of the content, and the recording position information of the converted data, are sequentially obtained from the divided conversion table. A reproducing apparatus, configured to perform a process of acquiring a message. 제1항 내지 제3항 중 어느 한 항에 있어서,4. The method according to any one of claims 1 to 3, 상기 재생 장치는, The playback device, 상기 컨텐츠의 복호 처리를 실행하는 복호 처리부를 더 구비하고,A decoding processing unit which performs decoding processing of the contents, 상기 데이터 변환 처리부는,Wherein the data conversion processing unit comprises: 상기 복호 처리부에서의 복호 컨텐츠의 컨텐츠 구성 데이터를 상기 변환 데이터로 치환하는 처리를 실행하는 구성인, 재생 장치.A reproduction device according to the present invention, wherein the decoding processing unit executes a process of replacing content configuration data of decoded content with the converted data. 정보 기록 매체 제조 장치로서,An information recording medium manufacturing apparatus, 정당 컨텐츠 구성 데이터와는 다른 비정상 데이터를 포함하는 컨텐츠와,Content containing abnormal data different from party content composition data, 상기 비정상 데이터의 치환 대상이 되는 정당 컨텐츠 구성 데이터인 변환 데이터를 가지고, 해당 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 기록한 변환 테이블과,A conversion table having conversion data which is party content configuration data to be replaced with the abnormal data, and which records setting position information on the content of the conversion data; 상기 변환 테이블을 적용한 컨텐츠 구성 데이터의 치환 처리에 사용되는 데이터 변환 처리 프로그램을 취득하는 데이터 처리부와,A data processing unit for acquiring a data conversion processing program used for the substitution processing of the content configuration data to which the conversion table is applied; 상기 비정상 데이터를 포함하는 컨텐츠와, 상기 변환 테이블과, 상기 데이터 변환 처리 프로그램을 정보 기록 매체에 기록하는 데이터 기록부A data recording unit for recording the contents including the abnormal data, the conversion table, and the data conversion processing program on an information recording medium. 를 구비하고,And, 상기 데이터 처리부가 취득하는 변환 테이블은,The conversion table obtained by the data processing unit, (1) 상기 변환 데이터를 포함하는 등록 정보와,(1) registration information including the conversion data; (2) 상기 등록 정보가,(2) the registration information, (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,(2a) is registered information including conversion data for converting abnormal data into legitimate content data, or (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을 (2b) registration information including conversion data for planting identification information of the playback apparatus or the content playback application. 식별하는 타입 식별자와,The type identifier to identify, (3) 변환 데이터의 치환 위치 정보(3) Substitution position information of the conversion data 를 구비하는, 정보 기록 매체 제조 장치.An information recording medium manufacturing apparatus having a. 제9항에 있어서,10. The method of claim 9, 상기 데이터 처리부는,The data processing unit, 컨텐츠 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보에 근거하여 선택적으로 적용하는 변환 데이터를 설정한 변환 테이블을 취득하는 구성이고,A conversion table for setting conversion data selectively applied based on identification information of the content reproducing apparatus or the content reproducing application, 상기 데이터 기록부는,The data recording unit, 상기 식별 정보에 근거하여 선택적으로 적용하는 변환 데이터를 포함하는 변환 테이블의 기록 처리를 실행하는 구성인, 정보 기록 매체 제조 장치.An information recording medium manufacturing apparatus, comprising: a structure for executing a recording process of a conversion table including conversion data selectively applied based on the identification information. 제9항에 있어서,10. The method of claim 9, 상기 데이터 처리부는,The data processing unit, 컨텐츠의 일부 구성 데이터에만 대응하는 변환 데이터를 기록한 부분적인 변환 테이블 데이터 각각에 대하여 다른 파라미터를 적용한 연산 처리 또는 암호 처리에 의한 난독화한 변환 테이블을 취득하고,Acquiring the obfuscated conversion table by arithmetic processing or encryption processing with different parameters for each of the partial conversion table data in which the conversion data corresponding to only partial configuration data of the content is recorded, 상기 데이터 기록부는,The data recording unit, 상기 난독화한 변환 테이블의 기록 처리를 실행하는 구성인, 정보 기록 매체 제조 장치.An information recording medium manufacturing apparatus, comprising: a structure for executing a recording process of the obfuscated conversion table. 제11항에 있어서,12. The method of claim 11, 상기 데이터 처리부는,The data processing unit, 상기 비정상 데이터를 포함하는 컨텐츠를 구성 데이터로 하는 스트림 패킷 중에, 상기 난독화한 변환 테이블을 산재시켜 배치한 컨텐츠 데이터를 취득하는 구성이고,In a stream packet having the content including the abnormal data as configuration data, the content data obtained by scattering and arranging the obfuscated conversion table is obtained; 상기 데이터 기록부는,The data recording unit, 상기 난독화한 변환 테이블을 산재시켜 배치한 컨텐츠 데이터의 기록 처리를 실행하는 구성인, 정보 기록 매체 제조 장치.An information recording medium manufacturing apparatus, which is configured to execute a recording process of content data arranged by scattering the obfuscated conversion table. 컨텐츠의 재생 처리를 실행하는 재생 장치에서 실행하는 정보 처리 방법으로서,An information processing method to be executed in a playback device that executes playback processing of content, 데이터 변환 처리부가, 상기 컨텐츠를 구성하는 컨텐츠 구성 데이터 중 적어도 일부를 변환 데이터로 치환하는 데이터 변환 단계를 포함하고,A data conversion step of converting, by the data conversion processing unit, at least a part of the content configuration data constituting the content into converted data; 상기 데이터 변환 단계는, 변환 테이블의 기록 정보에 따른 데이터 변환 처리를 실행하는 단계이고,The data conversion step is a step of performing a data conversion process according to the recording information of the conversion table, 상기 변환 테이블은,The conversion table, (1) 상기 변환 데이터를 포함하는 등록 정보와,(1) registration information including the conversion data; (2) 상기 등록 정보가,(2) the registration information, (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,(2a) is registered information including conversion data for converting abnormal data into legitimate content data, or (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을 (2b) registration information including conversion data for planting identification information of the playback apparatus or the content playback application. 식별하는 타입 식별자와,The type identifier to identify, (3) 변환 데이터의 치환 위치 정보(3) Substitution position information of the conversion data 를 구비하고,And, 상기 데이터 변환 단계는,The data conversion step, 상기 치환 위치 정보가 나타내는 위치에 있는 컨텐츠 구성 데이터의 상기 변환 데이터에 의한 치환 처리를, 상기 타입 식별자에 따라 변경하여 실행하는,Changing and executing the substitution processing by the converted data of the content configuration data at the position indicated by the substitution position information according to the type identifier, 정보 처리 방법.Information processing method. 정보 기록 매체 제조 장치에서 실행하는 정보 기록 매체 제조 방법으로서,An information recording medium manufacturing method performed by an information recording medium manufacturing apparatus, 상기 정보 기록 매체 제조 장치의 데이터 처리부가, 정당 컨텐츠 구성 데이터와 다른 비정상 데이터를 포함하는 컨텐츠와; 상기 비정상 데이터의 치환 대상이 되는 정당 컨텐츠 구성 데이터인 변환 데이터를 가지고, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 기록한 변환 테이블과; 상기 변환 테이블을 적용한 컨텐츠 구성 데이터의 치환 처리에 사용되는 데이터 변환 처리 프로그램;을 취득하는 데이터 처리 단계와,A data processing unit of the information recording medium manufacturing apparatus includes: content including abnormal content data different from party content configuration data; A conversion table having conversion data which is party content configuration data to be replaced with said abnormal data, and setting setting position information on the content of said conversion data; A data conversion step of acquiring a data conversion processing program used for the substitution processing of the content configuration data to which the conversion table is applied; 상기 정보 기록 매체 제조 장치의 데이터 기록부가, 상기 비정상 데이터를 포함하는 컨텐츠와, 상기 변환 테이블과, 상기 데이터 변환 처리 프로그램을 정보 기록 매체에 기록하는 데이터 기록 단계를 실행하고,The data recording unit of the information recording medium manufacturing apparatus executes a data recording step of recording the contents including the abnormal data, the conversion table, and the data conversion processing program on an information recording medium, 상기 데이터 처리 단계에서 취득되는 변환 테이블은,The conversion table obtained in the data processing step, (1) 상기 변환 데이터를 포함하는 등록 정보와,(1) registration information including the conversion data; (2) 상기 등록 정보가,(2) the registration information, (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,(2a) is registered information including conversion data for converting abnormal data into legitimate content data, or (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을 (2b) registration information including conversion data for planting identification information of the playback apparatus or the content playback application. 식별하는 타입 식별자와,The type identifier to identify, (3) 변환 데이터의 치환 위치 정보(3) Substitution position information of the conversion data 를 구비하는, 정보 기록 매체 제조 방법.An information recording medium manufacturing method comprising: 컨텐츠의 재생 처리를 실행하는 재생 장치에서 정보 처리를 실행시키는 재생 어플리케이션·프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체로서,A computer-readable recording medium having recorded thereon a playback application / program for executing information processing in a playback device that executes a playback process of content, 데이터 변환 처리부에, 상기 컨텐츠를 구성하는 컨텐츠 구성 데이터 중 적어도 일부를 변환 데이터로 치환하여 데이터 변환 단계를 실행시키고,The data conversion processing unit replaces at least a part of content configuration data constituting the content with conversion data to execute a data conversion step, 상기 데이터 변환 단계는, 변환 테이블의 기록 정보에 따른 데이터 변환 처리를 실행시키는 단계이고,The data conversion step is a step of executing a data conversion process according to the recording information of the conversion table, 상기 변환 테이블은,The conversion table, (1) 상기 변환 데이터를 포함하는 등록 정보와,(1) registration information including the conversion data; (2) 상기 등록 정보가,(2) the registration information, (2a) 비정상 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,(2a) is registered information including conversion data for converting abnormal data into legitimate content data, or (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을 (2b) registration information including conversion data for planting identification information of the playback apparatus or the content playback application. 식별하는 타입 식별자와,The type identifier to identify, (3) 변환 데이터의 치환 위치 정보(3) Substitution position information of the conversion data 를 구비하고,And, 상기 데이터 변환 단계에서,In the data conversion step, 상기 치환 위치 정보가 나타내는 위치에 있는 컨텐츠 구성 데이터의 상기 변환 데이터에 의한 치환 처리를, 상기 타입 식별자에 따라 변경하여 실행시키는 재생 어플리케이션·프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체.A computer-readable recording medium having recorded thereon a reproducing application / program which changes and executes the substitution processing by the converted data of the content configuration data at the position indicated by the substitution position information according to the type identifier. 오서링 장치로서,As an authoring device, 정당 컨텐츠 구성 데이터와는 다른 비정상 데이터를 포함하는 컨텐츠와,Content containing abnormal data different from party content composition data, 상기 비정상 데이터의 치환 대상이 되는 정당 컨텐츠 구성 데이터인 변환 데이터를 가지고, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 기록한 변환 테이블과,A conversion table having conversion data which is party content configuration data to be the target of replacement of said abnormal data, and recording setting position information on the content of said conversion data; 상기 변환 테이블을 적용한 컨텐츠 구성 데이터의 치환 처리에 사용되는 데이터 변환 처리 프로그램을 생성하는 데이터 처리부Data processing unit for generating a data conversion processing program used for the substitution processing of the content configuration data to which the conversion table is applied 를 구비하고,And, 상기 데이터 처리부가 생성하는 변환 테이블은,The conversion table generated by the data processing unit, (1) 상기 변환 데이터를 포함하는 등록 정보와,(1) registration information including the conversion data; (2) 상기 등록 정보가,(2) the registration information, (2a) 비정상 데이터를 정당 컨텐츠 데이터로 변환하기 위한 변환 데이터를 포함하는 등록 정보이거나, 또는,(2a) is registration information including conversion data for converting abnormal data into legitimate content data, or (2b) 재생 장치 또는 컨텐츠 재생 어플리케이션의 식별 정보를 심기 위한 변환 데이터를 포함하는 등록 정보인 것을(2b) registration information including conversion data for planting identification information of the playback apparatus or the content playback application. 식별하는 타입 식별자와,The type identifier to identify, (3) 변환 데이터의 치환 위치 정보(3) Substitution position information of the conversion data 를 구비하는, 오서링 장치.An authoring apparatus, comprising. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020087001134A 2005-07-15 2006-06-27 Playing apparatus, method and apparatus for manufacturing information recording medium, recording medium, and authoring apparatus KR101278075B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005207852A JP4654806B2 (en) 2005-07-15 2005-07-15 Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
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 (en) 2008-03-26
KR101278075B1 true KR101278075B1 (en) 2013-06-27

Family

ID=36889040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087001134A KR101278075B1 (en) 2005-07-15 2006-06-27 Playing apparatus, method and apparatus for manufacturing information recording medium, recording medium, and authoring apparatus

Country Status (7)

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

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8504849B2 (en) * 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US8281362B2 (en) * 2005-07-14 2012-10-02 Panasonic Corporation Verification method, verification program, recording medium, information processor, and integrated circuit
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 (en) 2006-02-06 2011-03-23 ソニー株式会社 Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
US8245031B2 (en) * 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US8140843B2 (en) * 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US8613103B2 (en) * 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8639939B2 (en) * 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US20100138652A1 (en) * 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
US9729316B2 (en) 2008-02-27 2017-08-08 International Business Machines Corporation Unified broadcast encryption system
KR20100055882A (en) * 2008-11-18 2010-05-27 삼성전자주식회사 Apparauts and method for controlling contents
US9104618B2 (en) * 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
JP5407482B2 (en) * 2009-03-27 2014-02-05 ソニー株式会社 Information processing apparatus, information processing method, and program
US8488793B2 (en) * 2009-07-31 2013-07-16 International Business Machines Corporation Efficient rebinding of partitioned content encrypted using broadcast encryption
CN103164341B (en) * 2012-07-04 2016-08-03 北京安天电子设备有限公司 The quickly method and system of file in erasing mass-memory unit
JP2015225329A (en) * 2014-05-30 2015-12-14 株式会社三菱東京Ufj銀行 Server and terminal device
US20220069981A1 (en) * 2020-09-03 2022-03-03 Google Llc Distribute Encryption Keys Securely and Efficiently
WO2023081756A1 (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 (en) * 2000-10-11 2002-04-19 Optrom Inc Storage medium having electronic circuit and information managing method and information processing system using the storage medium
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 (en) 1997-07-24 1999-02-12 Nec Corp Access processing system of structured type database
JP3861392B2 (en) * 1997-07-30 2006-12-20 ソニー株式会社 Data recording apparatus and method, data reproducing apparatus and method, and transmission medium
EP1365404A2 (en) * 1998-07-28 2003-11-26 Lg Electronics Inc. Method and apparatus of recording data in the optical recording medium
JP2000057713A (en) * 1998-08-05 2000-02-25 Mitsubishi Electric Corp Method for managing defect of optical disk and optical disk device and optical disk
JP2999759B1 (en) * 1998-10-13 2000-01-17 松下電器産業株式会社 Digital playback signal processor
US6968122B2 (en) * 2000-04-17 2005-11-22 Matsushita Electric Industrial Co., Ltd. Recorder and transmitter
JP2002278859A (en) * 2001-03-16 2002-09-27 Nec Corp Contents distribution system, contents distribution method and contents reproducing device for reproducing contents
EP1380159A4 (en) * 2001-04-20 2008-01-09 France Telecom Res And Dev L L Systems for selectively associating cues with stored video frames and methods of operating the same
US6683241B2 (en) * 2001-11-06 2004-01-27 James W. Wieder Pseudo-live music audio and sound
JP3688628B2 (en) * 2001-11-09 2005-08-31 株式会社東芝 Signal processing method and apparatus, signal reproduction method and apparatus, and recording medium
JP3941513B2 (en) * 2002-01-11 2007-07-04 ソニー株式会社 Recording method, recording apparatus, reproducing method, and reproducing apparatus
US7062712B2 (en) * 2002-04-09 2006-06-13 Fuji Xerox Co., Ltd. Binding interactive multichannel digital document system
JP2004138933A (en) * 2002-10-21 2004-05-13 Hitachi Ltd Digital image scrambling system, descrambling system, and program realizing the system
US7305711B2 (en) * 2002-12-10 2007-12-04 Intel Corporation Public key media key block
JP2004234736A (en) * 2003-01-29 2004-08-19 Matsushita Electric Ind Co Ltd Optical disk controller and method for controlling optical disk device
JP3823925B2 (en) * 2003-02-05 2006-09-20 ソニー株式会社 Information processing apparatus, license information recording medium, information processing method, and computer program
CN101241735B (en) * 2003-07-07 2012-07-18 罗威所罗生股份有限公司 Method for replaying encrypted video and audio 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 (en) * 2004-01-28 2009-02-04 沖電気工業株式会社 Digital watermark embedding device, digital watermark detection device, digital watermark embedding method, and digital watermark detection method
JP2006126554A (en) * 2004-10-29 2006-05-18 Seiko Epson Corp Image forming apparatus
CN101853678B (en) * 2005-05-23 2012-05-09 松下电器产业株式会社 Recording device and recording method
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 (en) * 2000-10-11 2002-04-19 Optrom Inc Storage medium having electronic circuit and information managing method and information processing system using the storage medium
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
CN101223594A (en) 2008-07-16
CN101223594B (en) 2012-02-29
WO2007010733A2 (en) 2007-01-25
US20080031109A1 (en) 2008-02-07
US7917964B2 (en) 2011-03-29
CN102568518B (en) 2013-12-18
CN102522098A (en) 2012-06-27
TWI357005B (en) 2012-01-21
JP4654806B2 (en) 2011-03-23
TW200720971A (en) 2007-06-01
TW201204053A (en) 2012-01-16
CN102522098B (en) 2013-08-28
CN102522099A (en) 2012-06-27
CN102568518A (en) 2012-07-11
CN102157171A (en) 2011-08-17
CN102157171B (en) 2014-08-13
JP2007026120A (en) 2007-02-01
EP1905030A2 (en) 2008-04-02
CN102522099B (en) 2014-12-17
KR20080027347A (en) 2008-03-26

Similar Documents

Publication Publication Date Title
KR101278075B1 (en) Playing apparatus, method and apparatus for manufacturing information recording medium, recording medium, and authoring apparatus
JP4321550B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
KR101313825B1 (en) Information processing apparatus, information recording medium manufacturing apparatus, and information recording medium
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 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
JP2007058749A (en) Information processing apparatus, information recording medium, information processing method, and computer program
KR101327878B1 (en) Information processing device, information recording medium manufacturing device, information recording medium, methods thereof, and computer program
JP4862949B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
JP4862958B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
JP4905585B2 (en) Information recording medium and program
JP4862957B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
JP4941607B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, and method
JP4973818B2 (en) Information processing apparatus and information processing method
JP4905587B2 (en) Information processing apparatus, information processing method, and computer program

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