JP4905566B2 - Information processing apparatus, information recording medium, information processing method, and computer program - Google Patents

Information processing apparatus, information recording medium, information processing method, and computer program Download PDF

Info

Publication number
JP4905566B2
JP4905566B2 JP2010036638A JP2010036638A JP4905566B2 JP 4905566 B2 JP4905566 B2 JP 4905566B2 JP 2010036638 A JP2010036638 A JP 2010036638A JP 2010036638 A JP2010036638 A JP 2010036638A JP 4905566 B2 JP4905566 B2 JP 4905566B2
Authority
JP
Japan
Prior art keywords
processing
data
content
application execution
information processing
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2010036638A
Other languages
Japanese (ja)
Other versions
JP2010146591A (en
Inventor
芳和 高島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2010036638A priority Critical patent/JP4905566B2/en
Publication of JP2010146591A publication Critical patent/JP2010146591A/en
Application granted granted Critical
Publication of JP4905566B2 publication Critical patent/JP4905566B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明は、情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、コンテンツ利用管理の要求される様々なコンテンツに対するデータ変換処理により、不正なコンテンツ利用を排除し、厳格なコンテンツ利用管理を実現し、さらにコンテンツの利用停止状況などのメッセージ提示や、ユーザ確認を可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムに関する。   The present invention relates to an information processing apparatus, an information recording medium, an information processing method, and a computer program. More specifically, data conversion processing for various contents that require content usage management eliminates illegal content usage, realizes strict content usage management, and provides messages such as content usage suspension status. The present invention relates to an information processing apparatus, an information recording medium, an information processing method, and a computer program that enable user confirmation.

音楽等のオーディオデータ、映画等の画像データ、ゲームプログラム、各種アプリケーション・プログラム等、様々なソフトウエアデータ(以下、これらをコンテンツ(Content)と呼ぶ)は、記録メディア、例えば、青色レーザを適用したBlu−rayディスク、あるいはDVD(Digital Versatile Disc)、MD(Mini Disc)、CD(Compact Disc)にデジタルデータとして格納することができる。特に、青色レーザを利用したBlu−rayディスクは、高密度記録可能なディスクであり大容量の映像コンテンツなどを高画質データとして記録することができる。   Audio data such as music, image data such as movies, game programs, various application programs, etc., and various software data (hereinafter referred to as “Content”) are applied to a recording medium such as a blue laser. It can be stored as digital data on a Blu-ray disc, DVD (Digital Versatile Disc), MD (Mini Disc), or 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 volume of video content as high-quality data.

これら様々な情報記録媒体(記録メディア)にデジタルコンテンツが格納され、ユーザに提供される。ユーザは、所有するPC(Personal Computer)、ディスクプレーヤ等の再生装置においてコンテンツの再生、利用を行う。   Digital contents are stored in these various information recording media (recording media) and provided to users. A user plays back and uses content on a playback device such as a personal computer (PC) or disc player.

音楽データ、画像データ等、多くのコンテンツは、一般的にその作成者あるいは販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、コンテンツの利用を許諾し、許可のない複製等が行われないようにする構成をとるのが一般的となっている。   Many contents, such as music data and image data, generally have distribution rights or the like held by the creator or seller. Therefore, when distributing these contents, it is common to adopt a configuration that restricts the use of the contents, that is, permits the use of the contents only to authorized users and prevents unauthorized copying or the like. It is the target.

デジタル記録装置および記録媒体によれば、例えば画像や音声を劣化させることなく記録、再生を繰り返すことが可能であり、不正コピーコンテンツのインターネットを介した配信や、コンテンツをCD−R等にコピーした、いわゆる海賊版ディスクの流通や、PC等のハードディスクに格納したコピーコンテンツの利用が蔓延しているといった問題が発生している。   According to the digital recording device and the recording medium, for example, recording and reproduction can be repeated without deteriorating images and sound, and illegally copied content is distributed via the Internet, and the content is copied to a CD-R or the like. Problems such as the distribution of so-called pirated discs and the use of copy contents stored on hard disks such as PCs have become widespread.

DVD、あるいは近年開発が進んでいる青色レーザを利用した記録媒体等の大容量型記録媒体は、1枚の媒体に例えば映画1本〜数本分の大量のデータをデジタル情報として記録することが可能である。このように映像情報等をデジタル情報として記録することが可能となってくると不正コピーを防止して著作権者の保護を図ることが益々重要な課題となっている。昨今では、このようなデジタルデータの不正なコピーを防ぐため、デジタル記録装置および記録媒体に違法なコピーを防止するための様々な技術が実用化されている。   A large-capacity recording medium such as a DVD or a recording medium using a blue laser that has been developed in recent years can record a large amount of data, for example, one movie to several movies as digital information on one medium. Is possible. As video information and the like can be recorded as digital information in this way, it is an increasingly important issue to prevent unauthorized copying and to protect the copyright holder. 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 put into practical use.

例えば、DVDプレーヤでは、コンテンツ・スクランブルシステム(Content Scramble System)が採用されている。コンテンツ・スクランブルシステムでは、例えばDVD−ROM(Read Only Memory)にビデオデータやオーディオデータ等が暗号化されて記録されている構成において、スクランブルを解除することでコンテンツ再生を可能とするものである。   For example, a DVD player employs a content scramble system. In the content scramble system, for example, in a configuration in which video data, audio data, etc. are encrypted and recorded on a DVD-ROM (Read Only Memory), the content can be reproduced by releasing the scramble.

スクランブル解除処理には、ライセンスを受けたDVDプレーヤに与えられた鍵などの特定データを適用した処理を実行することが必要となる。ライセンスは、不正コピーを行わない等の所定の動作規定に従うように設計されたDVDプレーヤに対して与えられる。従って、ライセンスを受けたDVDプレーヤでは、与えられた鍵などの特定データを利用して、DVD−ROMに記録されたデータのスクランブル解除を行なうことにより、DVD−ROMから画像や音声を再生することができる。   In the descrambling process, it is necessary to execute a process to which specific data such as a key given to the licensed DVD player is applied. The license is given to a DVD player designed to comply with a predetermined operation rule such as not performing illegal copying. Therefore, a licensed DVD player uses a specific data such as a given key to re-scramble the data recorded on the DVD-ROM to reproduce images and sounds from the DVD-ROM. Can do.

一方、ライセンスを受けていないDVDプレーヤは、スクランブル処理されたデータのスクランブル解除に適用する鍵などの特定データを有していないため、DVD−ROMに記録されたデータの再生を行うことができない。このように、コンテンツ・スクランブルシステム構成では、ライセンス時に要求される条件を満たしていないDVDプレーヤは、デジタルデータを記録したDVD−ROMの再生を行なえないことになり、不正コピーが防止されるようになっている。   On the other hand, an unlicensed DVD player does not have specific data such as a key used for descrambling the scrambled data, and therefore cannot reproduce the data recorded on the DVD-ROM. As described above, in the content scramble system configuration, a DVD player that does not satisfy the conditions required at the time of license cannot reproduce a DVD-ROM on which digital data is recorded, so that unauthorized copying is prevented. It has become.

しかし、このようなコンテンツ・スクランブルシステムは、再生処理を実行するユーザデバイスとしての情報処理装置側の処理負荷が高くなるという問題がある。また、既存のスクランブルシステムの中には、既にスクランブル解除手法が解読され解読方法がインターネット等の通信手段を介して流通しているものも多く存在する。このように、一旦スクランブル手法が解読されてしまうと、不正なスクランブル解除処理によってコンテンツが不正に再生され、また複製されるなど、コンテンツの著作権、利用権の侵害という問題が発生する。   However, such a content scramble system has a problem in that the processing load on the information processing apparatus side as a user device that executes reproduction processing increases. In addition, among existing scramble systems, there are many systems in which the descrambling method has already been decoded and the decoding method is distributed via communication means such as the Internet. As described above, once the scramble technique is deciphered, there arises a problem of infringement of the copyright and use right of the content, such as illegal reproduction and copying of the content by an unauthorized descrambling process.

このスクランブル手法以外にも、様々なコンテンツ保護手法によって、正当なコンテンツ利用権のないユーザや再生装置における再生を禁止する構成が提案されている。例えば、特許文献1(特開平10−41934号公報)では、仮想マシンを用いて暗号データを解読するプログラムを実行することにより、暗号アルゴリズムを追加する技術について開示されている。しかし、このようなコンテンツ保護機構に基づいてコンテンツ再生が行なわれない場合、ユーザは、なぜコンテンツの再生ができないのかの理由や、コンテンツを利用するためにはどうすべきかなどの解決法を取得することができず、正当な権限を得てコンテンツを利用したいというユーザの要請に応えるための構成が十分ではないというのが現状である。   In addition to this scramble technique, various content protection techniques have been proposed for prohibiting playback on users and playback devices that do not have a legitimate content usage right. For example, Patent Document 1 (Japanese Patent Laid-Open No. 10-41934) discloses a technique for adding an encryption algorithm by executing a program for decrypting encrypted data using a virtual machine. However, if content playback is not performed based on such a content protection mechanism, the user obtains solutions such as why the content cannot be played back and what should be done to use the content. However, the current situation is that the configuration for responding to the user's request to use the content with proper authority is not sufficient.

また、これまでのコンテンツの保護機構は、特定の映画などの大型コンテンツとしてのAVストリームを中心として保護を行なう構成としたものが多く、例えばJava(登録商標)のようなプログラムによって処理されるコンテンツなど、映画等とは異なる小型のコンテンツについての保護については、あまり、考慮されていなかったという問題がある。   In addition, many of the content protection mechanisms used so far are configured to protect mainly AV streams as large content such as specific movies, and content that is processed by a program such as Java (registered trademark), for example. For example, there is a problem that protection of small contents different from movies and the like has not been considered.

特開平10−41934号公報Japanese Patent Laid-Open No. 10-41934

本発明は、このような状況に鑑みてなされたものであり、コンテンツ保護機構に基づいてコンテンツ再生が行なわれない場合に、例えば、ユーザに対する状況提示や、解決手法の提示、ユーザの確認などを可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とするものである。   The present invention has been made in view of such a situation, and when content reproduction is not performed based on the content protection mechanism, for example, a situation presentation to a user, a presentation of a solution technique, a user confirmation, etc. An object of the present invention is to provide an information processing apparatus, an information recording medium, an information processing method, and a computer program.

さらに、本発明は、映画等のAVストリームデータとは異なる小型のコンテンツについても、AVストリームデータと同様、コンテンツ利用制限を設定し、厳格なコンテンツ保護を実現する情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とするものである。   Furthermore, the present invention also provides an information processing apparatus, an information recording medium, and an information recording medium for setting strict content protection by setting content usage restrictions even for small contents different from AV stream data such as movies. An object of the present invention is to provide an information processing method and a computer program.

本発明の第1の側面は、
情報処理装置であり、
情報記録媒体に格納されたアプリケーションを実行するアプリケーション実行部と、
前記アプリケーション実行部におけるアプリケーション実行または継続に必要なパラメータをレジスタまたはメモリに書き込む処理を実行するセキュリティ情報処理部とを有し、
前記アプリケーション実行部は、前記レジスタまたはメモリから、前記セキュリティ情報処理部が書き込むパラメータを取得し、該パラメータを適用した演算処理または暗号処理によりアプリケーションの実行または継続に必要なデータ処理を実行して、アプリケーションの実行または継続を行なう構成であることを特徴とする情報処理装置にある。
The first aspect of the present invention is:
An information processing device,
An application execution unit for executing an application stored in the information recording medium;
A security information processing unit that executes processing for writing a parameter required for application execution or continuation in the application execution unit to a register or a memory;
The application execution unit obtains a parameter to be written by the security information processing unit from the register or the memory, and executes data processing necessary for execution or continuation of the application by arithmetic processing or cryptographic processing to which the parameter is applied, An information processing apparatus is configured to execute or continue an application.

さらに、本発明の情報処理装置の一実施態様において、前記レジスタまたはメモリは、プレーヤ・ステイタス・レジスタであり、前記セキュリティ情報処理部が書き込み、前記アプリケーション実行部が読み出す第1のプレーヤ・ステイタス・レジスタと、前記アプリケーション実行部が書き込み、前記セキュリティ情報処理部が読み出す第2のプレーヤ・ステイタス・レジスタとを含むことを特徴とする。   Furthermore, in an embodiment of the information processing apparatus of the present invention, the register or memory is a player status register, and the first player status register is written by the security information processing unit and read by the application execution unit. And a second player status register written by the application execution unit and read by the security information processing unit.

さらに、本発明の情報処理装置の一実施態様において、前記セキュリティ情報処理部は、前記レジスタまたはメモリに対して、異なるパラメータを順次、書き込む処理を実行する構成であり、前記アプリケーション実行部は、前記レジスタまたはメモリから、前記セキュリティ情報処理部が、順次書き込む異なるパラメータを、順次取得して、順次異なるパラメータを適用した演算処理または暗号処理を実行して、アプリケーションの実行または継続を行なう構成であることを特徴とする。   Furthermore, in one embodiment of the information processing apparatus of the present invention, the security information processing unit is configured to execute processing for sequentially writing different parameters to the register or the memory, and the application execution unit includes the The security information processing unit sequentially acquires different parameters to be sequentially written from a register or a memory, and executes arithmetic processing or cryptographic processing to which the different parameters are sequentially applied to execute or continue the application. It is characterized by.

さらに、本発明の情報処理装置の一実施態様において、前記アプリケーション実行部は、前記レジスタまたはメモリから取得したパラメータを適用した演算処理または暗号処理によって出力データの生成処理を行う構成であることを特徴とする。   Furthermore, in an embodiment of the information processing apparatus according to the present invention, the application execution unit is configured to perform output data generation processing by arithmetic processing or encryption processing using a parameter acquired from the register or memory. And

さらに、本発明の情報処理装置の一実施態様において、前記アプリケーション実行部は、前記レジスタまたはメモリから取得したパラメータを適用した排他論理和演算処理、または、該パラメータを適用した暗号処理、または、該パラメータを適用した暗号処理によって生成した暗号鍵による復号処理によって出力データの生成処理を行う構成であることを特徴とする。   Furthermore, in one embodiment of the information processing apparatus of the present invention, the application execution unit is configured to apply an exclusive OR operation process using a parameter acquired from the register or the memory, a cryptographic process using the parameter, or the The output data generation process is performed by a decryption process using an encryption key generated by an encryption process to which a parameter is applied.

さらに、本発明の第2の側面は、
情報記録媒体であり、
アプリケーションおよびバーチャルマシンによって実行されるコード情報を含むコンテンツを記録データとして格納し、
前記アプリケーションは、
定期的なレジスタまたはメモリ参照処理の実行ルーチンを含むプログラムであり、
前記コード情報は、
セキュリティチェック結果として取得するエラーコードをレジスタまたはメモリに書き込む処理の実行命令を含む情報として構成されていることを特徴とする情報記録媒体にある。
Furthermore, the second aspect of the present invention provides
An information recording medium,
Stores content including code information executed by applications and virtual machines as recorded data,
The application is
A program that includes a routine for register or memory reference processing
The code information is
The information recording medium is characterized by being configured as information including an execution instruction for writing an error code acquired as a security check result into a register or memory.

さらに、本発明の第3の側面は、
情報処理方法であり、
アプリケーション実行部において、情報記録媒体に格納されたアプリケーションを実行するアプリケーション実行ステップと、
セキュリティ情報処理部において、前記アプリケーション実行部におけるアプリケーション実行または継続に必要なパラメータをレジスタまたはメモリに書き込む処理を実行するパラメータ書き込みステップと、
前記アプリケーション実行部において、前記レジスタまたはメモリから、前記セキュリティ情報処理部が書き込むパラメータを取得し、該パラメータを適用した演算処理または暗号処理によりアプリケーションの実行または継続に必要なデータ処理を実行して、アプリケーションの実行または継続を行なうステップと、
を有することを特徴とする情報処理方法にある。
Furthermore, the third aspect of the present invention provides
An information processing method,
In the application execution unit, an application execution step for executing the application stored in the information recording medium;
In the security information processing unit, a parameter writing step for executing processing for writing a parameter required for application execution or continuation in the application execution unit to a register or a memory;
In the application execution unit, a parameter written by the security information processing unit is acquired from the register or memory, and data processing necessary for execution or continuation of the application is performed by an arithmetic process or a cryptographic process to which the parameter is applied, Running or continuing the application;
There is an information processing method characterized by comprising:

さらに、本発明の情報処理方法の一実施態様において、前記パラメータ書き込みステップは、前記セキュリティ情報処理部において、前記レジスタまたはメモリに対して、異なるパラメータを順次、書き込む処理を実行するステップであり、前記アプリケーション実行部は、前記レジスタまたはメモリから、前記セキュリティ情報処理部が、順次書き込む異なるパラメータを、順次取得して、順次異なるパラメータを適用した演算処理または暗号処理を実行して、アプリケーションの実行または継続を行なうことを特徴とする。   Furthermore, in an embodiment of the information processing method of the present invention, the parameter writing step is a step of executing a process of sequentially writing different parameters to the register or memory in the security information processing unit, The application execution unit sequentially acquires different parameters to be sequentially written by the security information processing unit from the register or the memory, and executes arithmetic processing or cryptographic processing to which the different parameters are sequentially applied to execute or continue the application. It is characterized by performing.

さらに、本発明の情報処理方法の一実施態様において、前記アプリケーション実行部は、前記レジスタまたはメモリから取得したパラメータを適用した演算処理または暗号処理によって出力データの生成処理を行うことを特徴とする。   Furthermore, in an embodiment of the information processing method of the present invention, the application execution unit performs output data generation processing by arithmetic processing or encryption processing to which a parameter acquired from the register or memory is applied.

さらに、本発明の情報処理方法の一実施態様において、前記アプリケーション実行部は、前記レジスタまたはメモリから取得したパラメータを適用した排他論理和演算処理、または、該パラメータを適用した暗号処理、または、該パラメータを適用した暗号処理によって生成した暗号鍵による復号処理によって出力データの生成処理を行うことを特徴とする。   Furthermore, in an embodiment of the information processing method of the present invention, the application execution unit is configured to apply an exclusive OR operation process using a parameter acquired from the register or the memory, a cryptographic process using the parameter, or the Output data generation processing is performed by decryption processing using an encryption key generated by encryption processing to which parameters are applied.

さらに、本発明の第4の側面は、
情報記録媒体に記録されたコンテンツの再生処理を情報処理装置上において実行させるコンピュータ・プログラムであり、
アプリケーション実行部において、情報記録媒体に格納されたアプリケーションを実行するアプリケーション実行ステップと、
セキュリティ情報処理部において、前記アプリケーション実行部におけるアプリケーション実行または継続に必要なパラメータをレジスタまたはメモリに書き込む処理を実行するパラメータ書き込みステップと、
前記アプリケーション実行部において、前記レジスタまたはメモリから、前記セキュリティ情報処理部が書き込むパラメータを取得し、該パラメータを適用した演算処理または暗号処理によりアプリケーションの実行または継続に必要なデータ処理を実行して、アプリケーションの実行または継続を行なうステップと、
を有することを特徴とするコンピュータ・プログラムにある。
Furthermore, the fourth aspect of the present invention provides
A computer program that causes an information processing apparatus to execute reproduction processing of content recorded on an information recording medium,
In the application execution unit, an application execution step for executing the application stored in the information recording medium;
In the security information processing unit, a parameter writing step for executing processing for writing a parameter required for application execution or continuation in the application execution unit to a register or a memory;
In the application execution unit, a parameter written by the security information processing unit is acquired from the register or memory, and data processing necessary for execution or continuation of the application is performed by an arithmetic process or a cryptographic process to which the parameter is applied, Running or continuing the application;
There is a computer program characterized by comprising:

なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。   The computer program of the present invention is, for example, a storage medium or communication medium provided in a computer-readable format to a computer system capable of executing various program codes, such as a CD, FD, or MO. It is a computer program that can be provided by a recording medium or a communication medium such as a network. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer system.

本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings. In this specification, the system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.

本発明の一実施例の構成によれば、情報記録媒体の格納コンテンツ再生において、正当なコンテンツ利用権に基づくコンテンツ利用を許容する構成とし、さらに、セキュリティチェックに基づいて不正なコンテンツ利用であると判定された場合などにおいて、コンテンツ再生の停止された理由などメッセージ表示や、表示メッセージに対するユーザ応答の受領などを可能としたので、ユーザに対して状況を説明する処理や、ユーザからの確認や対処を受け付けることが可能となる。   According to the configuration of one embodiment of the present invention, it is configured that content usage based on a legitimate content usage right is permitted in reproduction of stored content on an information recording medium, and further, illegal content usage is based on a security check. When it is judged, it is possible to display a message such as the reason why the content playback has been stopped, and to receive a user response to the displayed message. Therefore, processing to explain the situation to the user, confirmation from the user and countermeasures Can be accepted.

また、本発明の一実施例構成によれば、Java(登録商標)やHDMVコンテンツなどの小型のコンテンツについても、これらのコンテンツを実行するアプリケーション実行部と、セキュリティ情報処理部としてのセキュアVM間でレジスタやメモリを介してデータを転送することで、コンテンツの利用制御を行なうことが可能となる。   In addition, according to the configuration of an embodiment of the present invention, even for small contents such as Java (registered trademark) and HDMV contents, between an application execution unit that executes these contents and a secure VM as a security information processing unit. It is possible to control content usage by transferring data via a register or memory.

情報記録媒体の格納データおよびドライブ装置、情報処理装置の構成および処理について説明する図である。It is a figure explaining the structure and process of the storage data of an information recording medium, a drive apparatus, and information processing apparatus. 情報記録媒体の格納コンテンツに対して設定するコンテンツ管理ユニットの設定例について説明する図である。It is a figure explaining the example of a setting of the content management unit set with respect to the storage content of an information recording medium. 情報記録媒体の格納コンテンツに対して設定するコンテンツ管理ユニットとユニット鍵との対応について説明する図である。It is a figure explaining a response | compatibility with the content management unit and unit key set with respect to the storage content of an information recording medium. 情報記録媒体の格納コンテンツに対して設定されるディレクトリ構成について説明する図である。It is a figure explaining the directory structure set with respect to the storage content of an information recording medium. 変換テーブルおよびデータ変換処理プログラムのディレクトリ構成について説明する図である。It is a figure explaining the directory structure of a conversion table and a data conversion process program. コンテンツ再生処理の処理例1を示す図である。It is a figure which shows the process example 1 of a content reproduction process. ドライブとホスト間の相互認証処理シーケンスを説明する図である。It is a figure explaining the mutual authentication processing sequence between a drive and a host. コンテンツ再生の際に実行する変換データの適用処理について説明する図である。It is a figure explaining the application process of the conversion data performed in the case of content reproduction. 情報記録媒体に記録されるデータ変換テーブルのデータ構成について説明する図である。It is a figure explaining the data structure of the data conversion table recorded on an information recording medium. コンテンツ再生処理の処理例2を示す図である。It is a figure which shows the process example 2 of a content reproduction process. 表示部に対するメッセージ提示をセキュアVMによって実行する構成を説明する図である。It is a figure explaining the structure which performs the message presentation with respect to a display part by secure VM. メッセージデータファイルのディレクトリ設定例について説明する図である。It is a figure explaining the example of a directory setting of a message data file. OSD機能によるメッセージ表示処理において適用するOSD呼び出し(CALL_OSD)に対応するコマンドの構成について説明する図である。It is a figure explaining the structure of the command corresponding to the OSD call (CALL_OSD) applied in the message display process by an OSD function. 表示部に対するメッセージ表示例を示す図である。It is a figure which shows the example of a message display with respect to a display part. レジスタを利用したメッセージ表示処理、さらに、コンテンツの利用制御処理を実現する基本構成を示す図である。It is a figure which shows the basic composition which implement | achieves the message display process using a register | resistor, and also the utilization control process of a content. レジスタを利用したメッセージ表示処理の処理シーケンスを説明する図である。It is a figure explaining the process sequence of the message display process using a register | resistor. タイトル切り替え処理を適用し、レジスタを利用したメッセージ表示処理の処理シーケンスを説明する図である。It is a figure explaining the processing sequence of the message display process which applied the title switching process and utilized the register | resistor. レジスタを利用したコンテンツの利用制御処理の処理シーケンスを説明する図である。It is a figure explaining the processing sequence of the content use control process using a register | resistor. アプリケーション実行部の使用レジスタの利用によるセキュアVMとアプリケーション実行部間のデータ転送処理構成例を説明する図である。It is a figure explaining the data transfer process structural example between secure VM and application execution part by utilization of the use register of an application execution part. アプリケーション実行部の使用レジスタの利用によるセキュアVMとアプリケーション実行部間のデータ転送処理シーケンスを説明する図である。It is a figure explaining the data transfer processing sequence between secure VM and application execution part by utilization of the use register of an application execution part. セキュアVMと、アプリケーション実行部との間で実行する信頼性確認処理シーケンスについて説明する図である。It is a figure explaining the reliability confirmation process sequence performed between secure VM and an application execution part. アプリケーション実行部の使用レジスタの利用によるセキュアVMとアプリケーション実行部間のデータ転送処理構成例を説明する図である。It is a figure explaining the data transfer process structural example between secure VM and application execution part by utilization of the use register of an application execution part. アプリケーション実行部の使用レジスタの利用によるセキュアVMとアプリケーション実行部間のデータ転送処理シーケンスを説明する図である。It is a figure explaining the data transfer processing sequence between secure VM and application execution part by utilization of the use register of an application execution part. セキュアVMと、アプリケーション実行部との間で実行する信頼性確認処理シーケンスについて説明する図である。It is a figure explaining the reliability confirmation process sequence performed between secure VM and an application execution part. 共有メモリ空間を利用したメッセージ表示処理、さらに、コンテンツの利用制御処理を実現する基本構成を示す図である。It is a figure which shows the basic composition which implement | achieves the message display process using a shared memory space, and also the utilization control process of a content. コンテンツのオーサリングプロセス、情報記録媒体製造プロセスについて説明する図である。It is a figure explaining the authoring process of a content, and an information recording medium manufacturing process. コンテンツのオーサリングプロセス、情報記録媒体製造プロセスについて説明する図である。It is a figure explaining the authoring process of a content, and an information recording medium manufacturing process. ホストとしてのアプリケーションを実行する情報処理装置のハードウェア構成例について説明する図である。FIG. 3 is a diagram for describing a hardware configuration example of an information processing apparatus that executes an application as a host.

以下、図面を参照しながら本発明の情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。なお、説明は、以下の記載項目に従って行う。
1.情報記録媒体の格納データと、ドライブおよびホストにおける処理の概要
2.コンテンツ管理ユニット(CPSユニット)について
3.コンテンツ再生処理
(3.1)コンテンツ再生処理例1
(3.2)コンテンツ再生処理例2
4.メッセージ表示およびコンテンツ利用制御処理
(4.1)UI(ユーザインタフェース)処理部を利用したメッセージ表示
(4.2)レジスタを利用したメッセージ表示およびコンテンツ利用制御
(4.2.1)レジスタを利用したUI機能提供アプリケーションの実行例
(4.2.2)レジスタ利用およびタイトル切り替えによるUI機能提供例
(4.2.3)レジスタ利用によるコンテンツ利用制御処理例
(4.2.4)アプリケーション実行部の使用レジスタの利用による処理例1
(4.2.5)アプリケーション実行部の使用レジスタの利用による処理例2
(4.3)共有メモリ空間を利用したメッセージ表示およびコンテンツ利用制御
(4.4)オーサリングプロセスについて
5.情報処理装置の構成
The details of the information processing apparatus, information recording medium, information processing method, and computer program of the present invention will be described below with reference to the drawings. The description will be made according to the following description items.
1. 1. Outline of data stored in information recording medium and processing in drive and host 2. Content management unit (CPS unit) Content reproduction processing (3.1) Content reproduction processing example 1
(3.2) Content reproduction processing example 2
4). Message display and content usage control processing (4.1) Message display using UI (user interface) processing unit (4.2) Message display and content usage control using register (4.2.1) Register used Example of execution of UI function providing application (4.2.2) Example of providing UI function by register use and title switching (4.2.3) Example of content use control processing by using register (4.2.3) Application execution unit Processing example 1 by using registers
(4.2.5) Processing example 2 by using registers used by application execution unit
(4.3) Message display and content usage control using shared memory space (4.4) About authoring process Configuration of information processing equipment

[1.情報記録媒体の格納データと、ドライブおよびホストにおける処理の概要]
まず、情報記録媒体の格納データと、ドライブおよびホストにおける処理の概要について説明する。図1に、コンテンツの格納された情報記録媒体100、ドライブ120およびホスト150の構成を示す。ホスト150は、例えばPC等の情報処理装置で実行されるデータ再生(または記録)アプリケーションであり、所定のデータ処理シーケンスに従ってPC等の情報処理装置のハードウェアを利用した処理を行なう。
[1. Overview of data stored in information recording medium and processing in drive and host]
First, data stored in the information recording medium and an outline of processing in the drive and the host will be described. FIG. 1 shows the configuration of the information recording medium 100, the drive 120, and the host 150 in which content is stored. The host 150 is a data reproduction (or recording) application executed by an information processing apparatus such as a PC, and performs processing using hardware of the information processing apparatus such as a PC in accordance with a predetermined data processing sequence.

情報記録媒体100は、例えば、Blu−rayディスク、DVDなどの情報記録媒体であり、正当なコンテンツ著作権、あるいは頒布権を持ついわゆるコンテンツ権利者の許可の下にディスク製造工場において製造された正当なコンテンツを格納した情報記録媒体(ROMディスクなど)、あるいはデータ記録可能な情報記録媒体(REディスクなど)である。なお、以下の実施例では、情報記録媒体の例としてディスク型の媒体を例として説明するが、本発明は様々な態様の情報記録媒体を用いた構成において適用可能である。   The information recording medium 100 is, for example, an information recording medium such as a Blu-ray disc, a DVD, and the like, which is a legitimate content manufactured at a disc manufacturing factory with the permission of a so-called content right holder having a copyright or distribution right An information recording medium (ROM disk or the like) storing various contents or an information recording medium (RE disk or the like) capable of recording data. In the following embodiments, a disk-type medium will be described as an example of the information recording medium. However, the present invention can be applied to configurations using information recording media of various modes.

図1に示すように、情報記録媒体100には、暗号化処理および一部データの置き換え処理の施された暗号化コンテンツ101と、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックとしてのMKB(Media Key Block)102、コンテンツ復号処理に適用するタイトル鍵を暗号化したデータ(Encrypted CPS Unit Key)等から構成されるタイトル鍵ファイル103、コンテンツのコピー・再生制御情報としてのCCI(Copy Control Information)等を含む使用許諾情報104、コンテンツ中の所定領域の置き換えデータに対応する変換データを登録した変換テーブル(Fix−up Table)105、変換テーブル(Fix−up Table)105の登録データによるデータ変換処理を実行するための処理命令を含むデータ変換処理プログラム106、エラーメッセージなど、たとえばコンテンツ再生が停止された場合に、ディスプレイに提示するメッセージデータなどの表示データを格納したメッセージデータファイル107が格納される。なお、図に示すデータ例は一例であり、格納データは、ディスクの種類などによって多少異なる。以下、これらの各種情報の概要について説明する。   As shown in FIG. 1, an information recording medium 100 includes an encrypted content 101 that has been subjected to encryption processing and partial data replacement processing, and a tree-structured key distribution method known as one aspect of the broadcast encryption method. MKB (Media Key Block) 102 as an encryption key block generated based on the content key, title key file 103 composed of data (Encrypted CPS Unit Key) encrypted title key applied to content decryption processing, etc. Use permission information 104 including CCI (Copy Control Information) as copy / playback control information, a conversion table (Fix-up Table) 105 in which conversion data corresponding to replacement data of a predetermined area in the content is registered, a conversion table ( (Fix-up Table) 105 registered data A data conversion processing program 106 including a processing instruction for executing the message, a message data file 107 storing display data such as message data to be displayed on the display when content reproduction is stopped, such as an error message, is stored. . The data example shown in the figure is an example, and the stored data differs slightly depending on the type of disk. Hereinafter, an overview of these various types of information will be described.

(1)暗号化コンテンツ101
情報記録媒体100には、様々なコンテンツが格納される。例えば高精細動画像データであるHD(High Definition)ムービーコンテンツなどの動画コンテンツのAV(Audio Visual)ストリームや特定の規格で規定された形式のゲームプログラム、画像ファイル、音声データ、テキストデータなどからなるコンテンツである。これらのコンテンツは、特定のAVフォーマット規格データであり、特定のAVデータフォーマットに従って格納される。具体的には、例えばBlu−rayディスクROM規格データとして、Blu−rayディスクROM規格フォーマットに従って格納される。
(1) Encrypted content 101
Various contents are stored in the information recording medium 100. For example, it consists of an AV (Audio Visual) stream of moving image content such as HD (High Definition) movie content which is high-definition moving image data, a game program of a format defined by a specific standard, an image file, audio data, text data, etc. Content. These contents are specific AV format standard data and are stored according to a specific AV data format. Specifically, for example, it is stored as Blu-ray disc ROM standard data according to the Blu-ray disc ROM standard format.

さらに、例えばサービスデータとしてのゲームプログラムや、画像ファイル、音声データ、テキストデータなどが格納される場合もある。これらのコンテンツは、特定のAVデータフォーマットに従わないデータフォーマットを持つデータとして格納される場合もある。   Furthermore, for example, a game program as service data, an image file, audio data, text data, or the like may be stored. These contents may be stored as data having a data format that does not conform to a specific AV data format.

コンテンツの種類としては、音楽データ、動画、静止画等の画像データ、ゲームプログラム、WEBコンテンツなど、様々なコンテンツが含まれ、これらのコンテンツには、情報記録媒体100からのデータのみによって利用可能なコンテンツ情報と、情報記録媒体100からのデータと、ネットワーク接続されたサーバから提供されるデータとを併せて利用可能となるコンテンツ情報など、様々な態様の情報が含まれる。情報記録媒体に格納されるコンテンツは、区分コンテンツ毎の異なる利用制御を実現するため、区分コンテンツ毎に異なる鍵(CPSユニット鍵またはユニット鍵(あるいはタイトル鍵と呼ぶ場合もある))が割り当てられ暗号化されて格納される。1つのユニット鍵を割り当てる単位をコンテンツ管理ユニット(CPSユニット)と呼ぶ。さらに、コンテンツは、構成データの一部が、正しいコンテンツデータと異なるデータによって置き換えられたブロークンデータとして設定され、復号処理のみでは正しいコンテンツ再生が実行されず、再生を行なう場合は、ブロークンデータを変換テーブルに登録されたデータに置き換える処理が必要となる。これらの処理は後段で詳細に説明する。   The content types include various contents such as music data, image data such as moving images and still images, game programs, and WEB contents, and these contents can be used only by data from the information recording medium 100. Various types of information such as content information that can be used in combination with content information, data from the information recording medium 100, and data provided from a network-connected server are included. The content stored in the information recording medium is encrypted by assigning a different key (CPS unit key or unit key (or sometimes called a title key)) to each divided content in order to realize different usage control for each divided content. And stored. A unit for assigning one unit key is called a content management unit (CPS unit). Furthermore, the content is set as broken data in which a part of the configuration data is replaced with data different from the correct content data. The correct content playback is not executed only by the decryption process. If playback is performed, the broken data is converted. Processing to replace the data registered in the table is required. These processes will be described in detail later.

(2)MKB
MKB(Media Key Block)102は、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックである。MKB102は有効なライセンスを持つユーザの情報処理装置に格納されたデバイス鍵[Kd]に基づく処理(復号)によってのみ、コンテンツの復号に必要なキーであるメディア鍵[Km]の取得を可能とした鍵情報ブロックである。これはいわゆる階層型木構造に従った情報配信方式を適用したものであり、ユーザデバイス(情報処理装置)が有効なライセンスを持つ場合にのみ、メディア鍵[Km]の取得を可能とし、無効化(リボーク処理)されたユーザデバイスにおいては、メディア鍵[Km]の取得が不可能となる。
(2) MKB
An MKB (Media Key Block) 102 is an encryption key block generated based on a tree-structured key distribution method known as one aspect of the broadcast encryption method. The MKB 102 can acquire the media key [Km], which is a key necessary for content decryption, only by processing (decryption) based on the device key [Kd] stored in the information processing apparatus of the user having a valid license. This is a key information block. This is an application of an information distribution method in accordance with a so-called hierarchical tree structure, which makes it possible to acquire and invalidate a media key [Km] only when the user device (information processing apparatus) has a valid license. In the revoked user device, the media key [Km] cannot be acquired.

ライセンスエンティテイとしての管理センタはMKBに格納する鍵情報の暗号化に用いるデバイス鍵の変更により、特定のユーザデバイスに格納されたデバイス鍵では復号できない、すなわちコンテンツ復号に必要なメディア鍵を取得できない構成を持つMKBを生成することができる。従って、任意タイミングで不正デバイスを排除(リボーク)して、有効なライセンスを持つデバイスに対してのみ復号可能な暗号化コンテンツを提供することが可能となる。コンテンツの復号処理については後述する。   The management center as a license entity cannot be decrypted with a device key stored in a specific user device due to a change in the device key used for encrypting key information stored in the MKB, that is, a media key necessary for content decryption cannot be obtained. An MKB having a configuration can be generated. Accordingly, it is possible to provide an encrypted content that can be decrypted only to a device having a valid license by removing (revoking) an unauthorized device at an arbitrary timing. The content decryption process will be described later.

(3)タイトル鍵ファイル
前述したように各コンテンツまたは複数コンテンツの集合は、コンテンツの利用管理のため、各々、個別の暗号鍵(タイトル鍵(CPSユニット鍵))を適用した暗号化がなされて情報記録媒体100に格納される。すなわち、コンテンツを構成するAV(Audio Visual)ストリーム、音楽データ、動画、静止画等の画像データ、ゲームプログラム、WEBコンテンツなどは、コンテンツ利用の管理単位としてのユニットに区分され、区分されたユニット毎に異なるタイトル鍵を生成して、復号処理を行なうことが必要となる。このタイトル鍵を生成するための情報がタイトル鍵データであり、例えばメディア鍵等によって生成された鍵で暗号化タイトル鍵を復号することによってタイトル鍵を得る。タイトル鍵データを適用した所定の暗号鍵生成シーケンスに従って、各ユニット対応のタイトル鍵が生成され、コンテンツの復号が実行される。
(3) Title Key File As described above, each content or a set of a plurality of contents is encrypted by applying an individual encryption key (title key (CPS unit key)) for content usage management. It is stored in the recording medium 100. That is, AV (Audio Visual) stream, image data such as music data, moving image, still image, game program, WEB content, etc. constituting the content are divided into units as management units for content use. It is necessary to generate a different title key and perform decryption processing. Information for generating the title key is title key data. For example, the title key is obtained by decrypting the 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 the title key data is applied, a title key corresponding to each unit is generated and the content is decrypted.

(4)使用許諾情報
使用許諾情報には、例えばコピー・再生制御情報(CCI)が含まれる。すなわち、情報記録媒体100に格納された暗号化コンテンツ101に対応する利用制御のためのコピー制限情報や、再生制限情報である。このコピー・再生制御情報(CCI)は、コンテンツ管理ユニットとして設定されるCPSユニット個別の情報として設定される場合や、複数のCPSユニットに対応して設定される場合など、様々な設定が可能である。
(4) Use Permission Information The use permission information includes, for example, copy / playback control information (CCI). That is, the copy restriction information for use control corresponding to the encrypted content 101 stored in the information recording medium 100 and the reproduction restriction information. This copy / playback control information (CCI) can be set in various ways, for example, when it is set as individual CPS unit information set as a content management unit, or when it is set corresponding to a plurality of CPS units. is there.

(5)変換テーブル
前述したように、情報記録媒体100に格納された暗号化コンテンツ101は、所定の暗号化が施されているとともに、コンテンツ構成データの一部が、正しいデータと異なるブロークンデータによって構成されている。コンテンツ再生に際しては、このブロークンデータを正しいコンテンツデータである変換データに置き換えるデータ上書き処理が必要となる。この変換データを登録したテーブルが変換テーブル(Fix−up Table)105である。ブロークンデータはコンテンツ中に散在して多数設定され、コンテンツ再生に際しては、これらの複数のブロークンデータを変換テーブルに登録された変換データに置き換える(上書き)する処理が必要となる。この変換データを適用することにより、例えば、暗号鍵が漏洩しコンテンツの復号が不正に行なわれた場合であっても、コンテンツの復号のみでは、置き換えデータの存在によって正しいコンテンツの再生が不可能となり、不正なコンテンツ利用を防止することができる。
(5) Conversion Table As described above, the encrypted content 101 stored in the information recording medium 100 is subjected to predetermined encryption, and part of the content configuration data is based on broken data different from the correct data. It is configured. When reproducing the content, a data overwriting process is required to replace the broken data with conversion data that is correct content data. A table in which the conversion data is registered is a conversion table (Fix-up Table) 105. A large number of pieces of broken data are scattered and set in the content, and when reproducing the content, it is necessary to replace (overwrite) the plurality of broken data with the conversion data registered in the conversion table. By applying this conversion data, for example, even when the encryption key is leaked and the content is decrypted illegally, the content cannot be reproduced by the presence of the replacement data only by decrypting the content. Unauthorized use of content can be prevented.

なお、変換テーブル105には、通常の変換データに加え、コンテンツ再生装置またはコンテンツ再生アプリケーションを識別可能とした識別情報の構成ビットを解析可能としたデータを含む変換データが含まれる。具体的には、例えば、プレーヤ(ホストアプリケーションを実行する装置)の識別データとしてのプレーヤIDあるいはプレーヤIDに基づいて生成された識別情報が記録された「識別マークを含む変換データ」が含まれる。識別マークを含む変換データは、コンテンツの再生に影響を与えないレベルで、正しいコンテンツデータのビット値をわずかに変更したデータである。これらの変換データを利用した処理についての詳細は、後段で説明する。   The conversion table 105 includes conversion data including data that makes it possible to analyze the constituent bits of the identification information that can identify the content playback apparatus or the content playback application, in addition to the normal conversion data. Specifically, for example, a player ID as identification data of a player (an apparatus that executes a host application) or “conversion data including an identification mark” in which identification information generated based on the player ID is recorded is included. The conversion data including the identification mark is data in which the bit value of the correct content data is slightly changed at a level that does not affect the reproduction of the content. Details of processing using these conversion data will be described later.

なお、図1には、変換テーブル105を独立したデータファイルとして設定した例を示しているが、変換テーブルを独立ファイルとせずに、暗号化コンテンツ101の構成パケット中に散在させて含ませる構成としてもよい。これらの構成および処理については後段で説明する。   Although FIG. 1 shows an example in which the conversion table 105 is set as an independent data file, the conversion table is not included as an independent file, but is included in the configuration packet of the encrypted content 101 in a scattered manner. Also good. These configurations and processes will be described later.

(6)データ変換処理プログラム
データ変換処理プログラム106は、変換テーブル(Fix−up Table)105の登録データによるデータ変換処理を実行するための処理命令を含むプログラムであり、コンテンツ再生を実行するホストによって利用される。図1におけるホスト100のデータ変換処理部154において実行される。
(6) Data Conversion Processing Program The data conversion processing program 106 is a program including processing instructions for executing data conversion processing based on registered data in the conversion table (Fix-up Table) 105, and is executed by a host that executes content reproduction. Used. It is executed in the data conversion processing unit 154 of the host 100 in FIG.

ホストでは、データ変換処理を実行するバーチャルマシン(VM)を設定し、バーチャルマシン(VM)において、情報記録媒体100から読み出したデータ変換処理プログラム106を実行して、変換テーブル(Fix−up Table)105の登録データを適用して、復号コンテンツに対して、その一部構成データのデータ変換処理を実行する。これらの処理の詳細については後述する。   In the host, a virtual machine (VM) that executes data conversion processing is set, the data conversion processing program 106 read from the information recording medium 100 is executed in the virtual machine (VM), and a conversion table (Fix-up Table) is executed. The registration data 105 is applied, and the data conversion process of the partial configuration data is executed on the decrypted content. Details of these processes will be described later.

(7)メッセージデータファイル
メッセージデータファイルは、エラーメッセージなど、たとえばコンテンツ再生が停止された場合に、ディスプレイに提示するメッセージデータなどの表示データを格納したファイルであり、エラー内容や、言語に応じた複数のデータを有している。たとえばセキュリティ上の問題によって、コンテンツ再生が停止された場合などにおいて、メッセージデータファイルから適切なメッセージデータを選択して、ディスプレイに定時する。ユーザはディスプレイに表示された情報に基づいて、エラー状況や対処情報などを確認することができる。なお、これらの処理の詳細については、後段の[4.メッセージ表示およびコンテンツ利用制御処理]の項目において説明する。
(7) Message data file A message data file is a file that stores display data such as an error message, such as message data to be displayed on the display when content playback is stopped. It has multiple data. For example, when content reproduction is stopped due to security problems, appropriate message data is selected from the message data file and scheduled on the display. Based on the information displayed on the display, the user can check the error status and the handling information. For details of these processes, see [4. The message display and content usage control process] will be described.

次に、ホスト150とドライブ120の構成、処理の概要について、図1を参照して説明する。情報記録媒体100に格納されたコンテンツの再生処理は、ドライブ120を介してホスト150にデータが転送されて実行される。コンテンツの利用に先立ち、ドライブ120と、ホスト150間では相互認証処理が実行され、この認証処理の成立によって双方の正当性が確認された後、ドライブからホストに暗号化コンテンツが転送され、ホスト側でコンテンツの復号処理が行なわれ、さらに上述の変換テーブルによるデータ変換処理が実行されてコンテンツ再生が行なわれる。   Next, configurations of the host 150 and the drive 120 and an outline of processing will be described with reference to FIG. The reproduction processing of the content stored in the information recording medium 100 is executed by transferring data to the host 150 via the drive 120. Prior to the use of the content, mutual authentication processing is executed between the drive 120 and the host 150. After the validity of both is confirmed by the establishment of this authentication processing, the encrypted content is transferred from the drive to the host, and the host side Then, the content is decrypted, and further the data conversion processing based on the above-described conversion table is executed to reproduce the content.

ホスト150と、ドライブ120間において実行する相互認証においては、各機器またはアプリケーションが不正な機器またはアプリケーションとして登録されていないかを示す管理センタの発行したリボケーション(無効化)リストを参照して、正当性を判定する処理を実行する。   In the mutual authentication executed between the host 150 and the drive 120, refer to a revocation (invalidation) list issued by the management center indicating whether each device or application is registered as an unauthorized device or application. A process for determining validity is executed.

ドライブ120は、ホストの証明書(公開鍵証明書)のリボーク(無効化)情報を格納したホストCRL(Certificate Revocation List)を格納するためのメモリ122を有する。一方、ホスト150は、ドライブの証明書(公開鍵証明書)のリボーク(無効化)情報を格納したドライブCRL(Certificate Revocation List)を格納するためのメモリ152を有する。メモリは不揮発性メモリ(NVRAM)であり、例えば、情報記録媒体100から読み出されるCRLがより新しいバージョンである場合には、それぞれのデータ処理部121,151は、メモリ122.152に新しいバージョンのホストCRLまたはドライブCRLを格納する更新処理を行なう。   The drive 120 has a memory 122 for storing a host CRL (Certificate Revocation List) storing revocation (invalidation) information of a host certificate (public key certificate). On the other hand, the host 150 has a memory 152 for storing a drive CRL (Certificate Revocation List) storing revocation (invalidation) information of a drive certificate (public key certificate). The memory is a non-volatile memory (NVRAM). For example, when the CRL read from the information recording medium 100 is a newer version, each data processing unit 121, 151 stores a new version host in the memory 122.152. Update processing for storing the CRL or the drive CRL is performed.

ホストCRL、ドライブCRL等のCRLは管理センタが逐次更新する。すなわち新たな不正機器が発覚した場合、その不正機器に対して発行された証明書のIDまたは機器IDなどを新規エントリとし追加した更新CRLを発行する。各CRLにはバージョン番号が付与されており、新旧比較が可能な構成となっている。例えばドライブが装着した情報記録媒体から読み出されたCRLが、ドライブ内のメモリ122に格納されたCRLより新しい場合、ドライブは、CRLの更新処理を実行する。ホスト150も同様に、ドライブCRLの更新を実行する。   The management center sequentially updates CRLs such as the host CRL and the drive CRL. That is, when a new unauthorized device is detected, an updated CRL is issued by adding a certificate ID or device ID issued to the unauthorized device as a new entry. Each CRL is assigned a version number, and can be compared with the old and new. For example, when the CRL read from the information recording medium loaded in the drive is newer than the CRL stored in the memory 122 in the drive, the drive executes a CRL update process. Similarly, the host 150 updates the drive CRL.

ドライブ120のデータ処理部121は、このCRLの更新処理の他、コンテンツ利用に際して実行されるホストとの認証処理、さらに、情報記録媒体からのデータ読み出し、ホストヘのデータ転送処理などを実行する。   In addition to the CRL update process, the data processing unit 121 of the drive 120 executes an authentication process with the host that is executed when the content is used, a data read process from the information recording medium, and a data transfer process to the host.

ホスト150は、前述したように、例えばPC等の情報処理装置で実行されるデータ再生(または記録)アプリケーションであり、所定のデータ処理シーケンスに従ってPC等の情報処理装置のハードウェアを利用した処理を行なう。   As described above, the host 150 is a data reproduction (or recording) application executed by an information processing apparatus such as a PC, and performs processing using hardware of the information processing apparatus such as a PC in accordance with a predetermined data processing sequence. Do.

ホスト150は、ドライブ120との相互認証処理や、データ転送制御などを実行するデータ処理部151、暗号化コンテンツの復号処理を実行する復号処理部153、前述の変換テーブル105の登録データに基づくデータ変換処理を実行するデータ変換処理部154、デコード(例えばMPEGデコード)処理を実行するデコード処理部155を有する。   The host 150 includes a data processing unit 151 that performs mutual authentication processing with the drive 120, data transfer control, and the like, a decryption processing unit 153 that performs decryption processing of the encrypted content, and data based on the registration data of the conversion table 105 described above. A data conversion processing unit 154 that executes conversion processing and a decoding processing unit 155 that executes decoding (for example, MPEG decoding) processing are included.

データ処理部151は、ホスト−ドライブ間の認証処理を実行し、認証処理においては、不揮発性メモリ(NVRAM)としてのメモリa152に格納されたドライブCRLを参照して、ドライブがリボークされたドライブでないことを確認する。ホストも、また、メモリa152に新しいバージョンのドライブCRLを格納する更新処理を行なう。   The data processing unit 151 executes a host-drive authentication process. In the authentication process, the drive is not a revoked drive with reference to the drive CRL stored in the memory a152 as a nonvolatile memory (NVRAM). Make sure. The host also performs an update process for storing a new version of the drive CRL in the memory a152.

復号処理部153では、メモリb156に格納された各種情報、および、情報記録媒体100からの読み取りデータを適用して、コンテンツの復号に適用する鍵を生成し、暗号化コンテンツ101の復号処理を実行する。データ変換処理部154は、情報記録媒体100から取得されるデータ変換処理プログラムに従って、情報記録媒体100から取得される変換テーブルに登録された変換データを適用してコンテンツの構成データの置き換え処理(上書き)を実行する。デコード処理部155は、デコード(例えばMPEGデコード)処理を実行する。   The decryption processing unit 153 applies various information stored in the memory b 156 and data read from the information recording medium 100 to generate a key to be applied to content decryption, and executes decryption processing of the encrypted content 101. To do. The data conversion processing unit 154 applies the conversion data registered in the conversion table acquired from the information recording medium 100 according to the data conversion processing program acquired from the information recording medium 100, and replaces the content configuration data (overwrite) ). The decoding processing unit 155 executes decoding (for example, MPEG decoding) processing.

情報処理装置150のメモリb156には、デバイス鍵:Kdや、相互認証処理に適用する鍵情報や復号に適用する鍵情報などが格納される。なお、コンテンツの復号処理の詳細については後述する。デバイス鍵:Kdは、先に説明したMKBの処理に適用する鍵である。MKBは有効なライセンスを持つユーザの情報処理装置に格納されたデバイス鍵[Kd]に基づく処理(復号)によってのみ、コンテンツの復号に必要なキーであるメディア鍵[Km]の取得を可能とした鍵情報ブロックであり、暗号化コンテンツの復号に際して、情報処理装置150は、メモリb156に格納されたデバイス鍵:Kdを適用してMKBの処理を実行することになる。なお、コンテンツの復号処理の詳細については後述する。   The memory b156 of the information processing apparatus 150 stores a device key: Kd, key information applied to mutual authentication processing, key information applied to decryption, and the like. The details of the content decryption process will be described later. The device key: Kd is a key applied to the MKB process described above. The MKB can acquire the media key [Km], which is a key necessary for content decryption, only by processing (decryption) based on the device key [Kd] stored in the information processing apparatus of the user having a valid license. When decrypting the encrypted content, the information processing apparatus 150 executes the MKB process by applying the device key: Kd stored in the memory b156. The details of the content decryption process will be described later.

[2.コンテンツ管理ユニット(CPSユニット)について]
前述したように、情報記録媒体に格納されるコンテンツは、ユニット毎の異なる利用制御を実現するため、ユニット毎に異なる鍵が割り当てられ暗号化処理がなされて格納される。すなわち、コンテンツはコンテンツ管理ユニット(CPSユニット)に区分されて、個別の暗号化処理がなされ、個別の利用管理がなされる。
[2. About content management unit (CPS unit)]
As described above, the content stored in the information recording medium is stored after being encrypted by being assigned a different key for each unit in order to realize different usage control for each unit. That is, the content is divided into content management units (CPS units), subjected to individual encryption processing, and individual usage management.

コンテンツ利用に際しては、まず、各ユニットに割り当てられたCPSユニット鍵(タイトル鍵とも呼ばれる)を取得することが必要であり、さらに、その他の必要な鍵、鍵生成情報等を適用して予め定められた復号処理シーケンスに基づくデータ処理を実行して再生を行う。コンテンツ管理ユニット(CPSユニット)の設定態様について、図2を参照して説明する。   When using content, it is necessary to obtain a CPS unit key (also referred to as a title key) assigned to each unit. In addition, other necessary keys, key generation information, etc. are applied in advance. Playback is performed by executing data processing based on the decoding processing sequence. A setting mode of the content management unit (CPS unit) will be described with reference to FIG.

図2に示すように、コンテンツは、(A)インデックス210、(B)ムービーオブジェクト220、(C)プレイリスト230、(D)クリップ240の階層構成を有する。再生アプリケーションによってアクセスされるタイトルなどのインデックスを指定すると、例えばタイトルに関連付けられた再生プログラムが指定され、指定された再生プログラムのプログラム情報に従ってコンテンツの再生順等を規定したプレイリストが選択される。   As shown in FIG. 2, the content has a hierarchical structure of (A) an index 210, (B) a movie object 220, (C) a playlist 230, and (D) a clip 240. When an index such as a title accessed by the playback application is specified, for example, a playback program associated with the title is specified, and a playlist that defines the playback order of contents is selected according to the program information of the specified playback program.

プレイリストには、再生対象データ情報としてのプレイアイテムが含まれる。プレイリストに含まれるプレイアイテムによって規定される再生区間としてのクリップ情報によって、コンテンツ実データとしてのAVストリームあるいはコマンドが選択的に読み出されて、AVストリームの再生、コマンドの実行処理が行われる。なお、プレイリスト、プレイアイテムは多数、存在し、それぞれに識別情報としてのプレイリストID、プレイアイテムIDが対応付けられている。   The play list includes play items as reproduction target data information. The AV stream or the command as the actual content data is selectively read out by the clip information as the playback section defined by the play item included in the playlist, and the AV stream playback and command execution processing are performed. There are a large number of playlists and play items, and a playlist ID and play item ID as identification information are associated with each.

図2には、2つのCPSユニットを示している。これらは、情報記録媒体に格納されたコンテンツの一部を構成している。CPSユニット1,271、CPSユニット2,272の各々は、インデックスとしてのタイトルと、再生プログラムファイルとしてのムービーオブジェクトと、プレイリストと、コンテンツ実データとしてのAVストリームファイルを含むクリップを含むユニットとして設定されたCPSユニットである。   FIG. 2 shows two CPS units. These constitute a part of the content stored in the information recording medium. Each of CPS units 1 and 271 and CPS units 2 and 272 is set as a unit including a clip including a title as an index, a movie object as a playback program file, a playlist, and an AV stream file as content actual data. CPS unit.

コンテンツ管理ユニット(CPSユニット)1,271には、タイトル1,211とタイトル2,212、再生プログラム221,222、プレイリスト231,232、クリップ241、クリップ242が含まれ、これらの2つのクリップ241,242に含まれるコンテンツの実データであるAVストリームデータファイル261,262が、少なくとも暗号化対象データであり、原則的にコンテンツ管理ユニット(CPSユニット)1,271に対応付けて設定される暗号鍵であるタイトル鍵(Kt1)(CPSユニット鍵とも呼ばれる)を適用して暗号化されたデータとして設定される。   The content management units (CPS units) 1 and 271 include titles 1 and 211 and titles 2 212, playback programs 221 and 222, playlists 231 and 232, clips 241 and clips 242, and these two clips 241. , 242, AV stream data files 261, 262, which are actual data of content, are at least encryption target data, and in principle are encryption keys set in association with the content management units (CPS units) 1, 271. Is set as data encrypted by applying a title key (Kt1) (also called a CPS unit key).

コンテンツ管理ユニット(CPSユニット)2,272には、インデックスとしてアプリケーション1,213、再生プログラム224、プレイリスト233、クリップ243が含まれ、クリップ243に含まれるコンテンツの実データであるAVストリームデータファイル263がコンテンツ管理ユニット(CPSユニット)2,272に対応付けて設定される暗号鍵である暗号鍵であるタイトル鍵(Kt2)適用して暗号化される。   The content management units (CPS units) 2, 272 include applications 1, 213, a playback program 224, a playlist 233, and a clip 243 as indexes, and an AV stream data file 263 that is actual data of the content included in the clip 243. Is encrypted by applying a title key (Kt2) that is an encryption key that is an encryption key set in association with the content management units (CPS units) 2 and 272.

例えば、ユーザがコンテンツ管理ユニット1,271に対応するアプリケーションファイルまたはコンテンツ再生処理を実行するためには、コンテンツ管理ユニット(CPSユニット)1,271に対応付けて設定された暗号鍵としてのタイトル鍵:Kt1を取得して復号処理を実行することが必要となる。コンテンツ管理ユニット2,272に対応するアプリケーションファイルまたはコンテンツ再生処理を実行するためには、コンテンツ管理ユニット(CPSユニット)2,272に対応付けて設定された暗号鍵としてのタイトル鍵:Kt2を取得して復号処理を実行することが必要となる。   For example, in order for the user to execute an application file or content reproduction process corresponding to the content management units 1 and 271, a title key as an encryption key set in association with the content management units (CPS units) 1 and 271: It is necessary to acquire Kt1 and execute the decoding process. In order to execute the application file or content reproduction process corresponding to the content management unit 2 272, the title key: Kt 2 as an encryption key set in association with the content management unit (CPS unit) 2 272 is acquired. Therefore, it is necessary to execute the decoding process.

CPSユニットの設定構成、およびタイトル鍵の対応例を図3に示す。図3には、情報記録媒体に格納される暗号化コンテンツの利用管理単位としてのCPSユニット設定単位と、各CPSユニットに適用するタイトル鍵(CPSユニット鍵)の対応を示している。なお、予め後発データ用のCPSユニットおよびタイトル鍵を格納して設定しておくことも可能である。例えばデータ部281が後発データ用のエントリである。   FIG. 3 shows a setting configuration of the CPS unit and a correspondence example of title keys. FIG. 3 shows a correspondence between CPS unit setting units as usage management units of encrypted content stored in the information recording medium and title keys (CPS unit keys) applied to each CPS unit. It is also possible to store and set a CPS unit for subsequent data and a title key in advance. For example, the data portion 281 is an entry for subsequent data.

CPSユニット設定単位は、コンテンツのタイトル、アプリケーション、データグループなど、様々であり、CPSユニット管理テーブルには、それぞれのCPSユニットに対応する識別子としてのCPSユニットIDが設定される。   There are various CPS unit setting units such as content titles, applications, data groups, and the like, and a CPS unit ID as an identifier corresponding to each CPS unit is set in the CPS unit management table.

図3において、例えばタイトル1はCPSユニット1であり、CPSユニット1に属する暗号化コンテンツの復号に際しては、タイトル鍵Kt1を生成し、生成したタイトル鍵Kt1に基づく復号処理を行なうことが必用となる。   In FIG. 3, for example, title 1 is CPS unit 1, and when decrypting encrypted content belonging to CPS unit 1, it is necessary to generate title key Kt1 and perform decryption processing based on the generated title key Kt1. .

このように、情報記録媒体100に格納されるコンテンツは、ユニット毎の異なる利用制御を実現するため、ユニット毎に異なる鍵が割り当てられ暗号化処理がなされて格納される。各コンテンツ管理ユニット(CPSユニット)に対する個別の利用管理のために、各コンテンツ管理ユニット(CPSユニット)に対する使用許諾情報(UR:Usage Rule)が設定されている。使用許諾情報は、前述したように、コンテンツに対する例えばコピー・再生制御情報(CCI)を含む情報であり、各コンテンツ管理ユニット(CPSユニット)に含まれる暗号化コンテンツのコピー制限情報や、再生制限情報である。   As described above, the content stored in the information recording medium 100 is stored after being encrypted by being assigned a different key for each unit in order to realize different usage control for each unit. For individual usage management for each content management unit (CPS unit), usage permission information (UR: Usage Rule) for each content management unit (CPS unit) is set. As described above, the use permission information is information including, for example, copy / reproduction control information (CCI) for content, and copy restriction information and reproduction restriction information of encrypted content included in each content management unit (CPS unit). It is.

なお、タイトル鍵の生成には、情報記録媒体に格納された様々な情報を適用したデータ処理が必要となる。これらの処理の具体例についは、後段で詳細に説明する。   Note that the generation of the title key requires data processing using various information stored in the information recording medium. Specific examples of these processes will be described in detail later.

次に、図4を参照して、図2に示す階層構造を持つコンテンツに対応するディレクトリ構成について説明する。
(A)図2におけるインデックス210は、図4に示すディレクトリ中のindex.bdmvファイル
(B)図2におけるムービーオブジェクト220は図4に示すディレクトリ中のMovieObject.bdmvファイル
(C)図2におけるプレイリスト230は図4に示すディレクトリ中のPLAYLISTディレクトリ下のファイル、
(D)図2におけるクリップ240は図4に示すディレクトリ中のCLIPINFディレクトリ下のファイルとSTREAMディレクトリ下のファイルで同じファイル番号持つものの対に対応している。
Next, with reference to FIG. 4, the directory structure corresponding to the content having the hierarchical structure shown in FIG. 2 will be described.
(A) Index 210 in FIG. 2 is an index.bdmv file in the directory shown in FIG. 4 (B) Movie object 220 in FIG. 2 is a MovieObject.bdmv file in the directory shown in FIG. 4 (C) Playlist in FIG. 230 is a file under the PLAYLIST directory in the directory shown in FIG.
(D) The clip 240 in FIG. 2 corresponds to a pair of files under the CLIPINF directory and files under the STREAM directory having the same file number in the directory shown in FIG.

情報記録媒体に格納されるコンテンツは、前述したように、コンテンツの構成データの一部が、正しいコンテンツデータと異なるデータによって置き換えられたブロークンデータとして設定され、復号処理のみでは正しいコンテンツ再生が実行されず、再生を行なう場合は、ブロークンデータを変換テーブルに登録されたデータに置き換える処理が必要となる。この置き換え処理には、情報記録媒体に格納されたデータ変換処理プログラム106を適用して、変換テーブル(Fix−up Table)105の登録データによるデータ変換処理を実行する。   As described above, the content stored in the information recording medium is set as broken data in which part of the content data is replaced with data different from the correct content data, and correct content playback is executed only by the decryption process. In the case of reproduction, it is necessary to replace the broken data with the data registered in the conversion table. For this replacement process, the data conversion process program 106 stored in the information recording medium is applied, and the data conversion process based on the registered data in the conversion table (Fix-up Table) 105 is executed.

前述したように、変換テーブル105、データ変換処理プログラム106を情報記録媒体に記録されている。図4に示すディレクトリ構成を持つコンテンツに対応する変換テーブルと、データ変換処理プログラムのディレクトリ構成を図5に示す。図5は、図4のディレクトリ構造を持つAVコンテンツに対して作成されるデータ変換処理プログラム、および変換テーブルのディレクトリ構成である。
図5に示す[ContentCode.svm]がデータ変換処理プログラムであり、
図5に示す[FixUpXXXXX.tbl]はクリップ1つごとに定義される変換テーブルである。(XXXXXはクリップ情報ファイルのファイル番号と一致している)
As described above, the conversion table 105 and the data conversion processing program 106 are recorded on the information recording medium. FIG. 5 shows the conversion table corresponding to the content having the directory structure shown in FIG. 4 and the directory structure of the data conversion processing program. FIG. 5 shows the directory structure of the data conversion processing program created for the AV content having the directory structure of FIG. 4 and the conversion table.
[ContentCode.svm] shown in FIG. 5 is a data conversion processing program,
[FixUpXXXXX.tbl] shown in FIG. 5 is a conversion table defined for each clip. (XXXXX matches the file number of the clip information file)

[3.コンテンツ再生処理]
以下、ドライブとホスト間の相互認証処理を実行し、認証の成立を条件として、ドライブに装着した情報記録媒体に格納されたコンテンツをドライブからホストに転送してコンテンツ再生処理を実行する場合の複数の処理例について説明する。
[3. Content playback processing]
A plurality of cases in which mutual authentication processing between the drive and the host is executed, and content reproduction processing is executed by transferring content stored in the information recording medium attached to the drive from the drive to the host on the condition that authentication is established An example of the process will be described.

(3.1)コンテンツ再生処理例1
まずコンテンツ再生処理例1について、図6を参照して説明する。図6には、左から暗号化コンテンツの格納された情報記録媒体310、情報記録媒体310をセットし、データの読み取りを実行するドライブ330、ドライブとデータ通信可能に接続され、情報記録媒体310に格納されたコンテンツをドライブ330を介して取得して再生処理を実行する再生アプリケーションを実行するホスト350を示している。ホスト350は、例えばPC等の情報処理装置において実行される。
(3.1) Content playback processing example 1
First, content reproduction processing example 1 will be described with reference to FIG. In FIG. 6, the information recording medium 310 storing the encrypted content and the information recording medium 310 are set from the left, and the drive 330 for executing data reading is connected to the information recording medium 310 so as to be capable of data communication with the drive. A host 350 that executes a playback application that acquires stored content via a drive 330 and executes playback processing is shown. The host 350 is executed in an information processing apparatus such as a PC.

情報記録媒体310には、MKB(Media Key Block)311、タイトル鍵ファイル312、暗号化コンテンツ313、変換テーブル314、データ変換処理プログラム315が格納されている。ホスト350は、MKBの処理に適用するデバイス鍵351を保持している。   The information recording medium 310 stores an MKB (Media Key Block) 311, a title key file 312, encrypted content 313, a conversion table 314, and a data conversion processing program 315. The host 350 holds a device key 351 applied to MKB processing.

図6に示すホスト350がドライブ330を介して情報記録媒体310の格納コンテンツを取得して再生する処理シーケンスについて説明する。まず、情報記録媒体310の格納コンテンツの読み出しに先立ち、ホスト350とドライブ330は、ステップS101において、相互認証を実行する。この相互認証は、ホストおよびドライブがそれぞれ正当な機器またはアプリケーションソフトであるかを確認する処理である。この相互認証処理シーケンスとしては、様々な処理が適用可能である。その一例を図7を参照して説明する。   A processing sequence in which the host 350 shown in FIG. 6 acquires and reproduces the content stored in the information recording medium 310 via the drive 330 will be described. First, prior to reading the stored contents of the information recording medium 310, the host 350 and the drive 330 execute mutual authentication in step S101. This mutual authentication is a process for confirming whether the host and the drive are valid devices or application software. Various processes can be applied as the mutual authentication processing sequence. One example will be described with reference to FIG.

図7は、公開鍵暗号方式に従った相互認証シーケンスの1例である。まず、ステップS121において、ドライブ330は、自己のメモリ(NVRAM)に格納されたドライブ公開鍵証明書と、任意に生成した乱数をホストに送信する。ステップS122において、ホスト350も、自己のメモリ(NVRAM)に格納されたホスト公開鍵証明書と、任意に生成した乱数をドライブに送信する。   FIG. 7 is an example of a mutual authentication sequence according to the public key cryptosystem. First, in step S121, the drive 330 transmits a drive public key certificate stored in its own memory (NVRAM) and a randomly generated random number to the host. In step S122, the host 350 also transmits the host public key certificate stored in its own memory (NVRAM) and a randomly generated random number to the drive.

ステップS123において、ドライブ330は、ホストから受信したホスト公開鍵証明書の正当性と、ホストのリボーク状況をホスト証明書リボケーションリスト(ホストCRL:Certificate Revocation list)に基づいて検証する。ステップS123において、ドライブ330は、まず、ホスト公開鍵証明書に設定された署名検証を実行する。図7に示すECDSA_Vは、楕円曲線暗号に基づく署名検証(Verification)の実行を示している。この署名検証は、鍵管理エンティテイの秘密鍵に対応する公開鍵を適用して実行する。ドライブは、署名検証用の鍵管理エンティテイの公開鍵をメモリ(NVRAM)に保持しており、これを適用して署名検証を実行する。署名検証によって、ホスト公開鍵証明書が改ざんされていないものであることを確認する。署名検証によって、ホスト公開鍵証明書が改ざんされていることが判明した場合は処理を中止する。   In step S123, the drive 330 verifies the validity of the host public key certificate received from the host and the revocation status of the host based on the host certificate revocation list (host CRL: Certificate Revocation list). In step S123, the drive 330 first executes signature verification set in the host public key certificate. ECDSA_V shown in FIG. 7 indicates execution of signature verification (Verification) based on elliptic curve cryptography. This signature verification is executed by applying a public key corresponding to the secret key of the key management entity. The drive holds a public key of a key management entity for signature verification in a memory (NVRAM), and executes signature verification by applying this. The signature verification verifies that the host public key certificate has not been tampered with. If the signature verification reveals that the host public key certificate has been tampered with, the processing is stopped.

さらに、ドライブ330は、改ざんのないことが明確になったホスト公開鍵証明書に基づいて、この証明書がリボーク(無効化)されているものでないことを、ホストCRLを参照して確認する。ホストCRLは、ホストに対して発行済みの公開鍵証明書について、無効化された証明書のIDをリスト化したものである。ホストCRLはドライブ内のメモリまたは情報記録媒体から取得する。   Furthermore, the drive 330 confirms with reference to the host CRL that this certificate has not been revoked based on the host public key certificate that has been clearly determined not to be falsified. The host CRL is a list of revoked certificate IDs for public key certificates issued to the host. The host CRL is acquired from a memory in the drive or an information recording medium.

ドライブ330は、改ざんのないことが明確になったホスト公開鍵証明書からIDを取得し、このIDがホストCRLに登録されているIDと一致するか否かを判定する。一致するIDがホストCRLに存在する場合、そのホストは、リボーク(無効化)されたホストであると判定し、以降の処理を中止する。ホスト公開鍵証明書から取得したIDが、ホストCRLに記録されていない場合は、正当なリボークのなされていないホストであると判定して、処理を続ける。   The drive 330 obtains an ID from the host public key certificate that has been clarified that it has not been tampered with, and determines whether or not this ID matches the ID registered in the host CRL. When the matching ID exists in the host CRL, it is determined that the host is a revoked (invalidated) host, and the subsequent processing is stopped. If the ID acquired from the host public key certificate is not recorded in the host CRL, it is determined that the host is not properly revoked, and the processing is continued.

一方、ホスト350においても、ステップS124において、ドライブ330から受領したドライブ公開鍵証明書に基づいて、ドライブ公開鍵証明書の正当性の確認(改ざん検証)と、ドライブCRLを適用したドライブのリボークの有無判定を実行する。ドライブの公開鍵証明書が正当なものであり、リボークされていないことが確認された場合にのみ、処理を継続する。ドライブCRLはホスト内のメモリまたは情報記録媒体から取得する。   On the other hand, also in the host 350, based on the drive public key certificate received from the drive 330 in step S124, the validity of the drive public key certificate (tampering verification) and the revocation of the drive to which the drive CRL is applied are confirmed. Perform presence / absence determination. The processing is continued only when it is confirmed that the drive public key certificate is valid and has not been revoked. The drive CRL is acquired from a memory in the host or an information recording medium.

次に、ドライブ330、ホスト350は、それぞれの認証結果をドライブレスポンス(S125)、ホストレスポンス(S126)として通知する。この認証結果の通知に際して、双方では、楕円曲線暗号を適用した値としてのECDH(Elliptic Curve Diffie Hellman)の値を生成して、双方に通知しあう。   Next, the drive 330 and the host 350 notify the respective authentication results as a drive response (S125) and a host response (S126). When notifying the authentication result, both sides generate an ECDH (Elliptic Curve Diffie Hellman) value as a value to which the elliptic curve cryptography is applied, and notify each other.

ドライブ330は、ホスト350からのドライブ認証結果とECDHの値を受信すると、ステップS127において、ホストのレスポンスを検証し、ドライブ認証の成立を確認して、受信したECDHの値を適用して共通鍵としてのセッション鍵を生成する。ホスト350においても、ドライブ330からのホスト認証結果とECDHの値を受信すると、ステップS128において、ドライブレスポンスを検証し、ホスト認証の成立を確認して、ECDHの値に基づいて共通鍵としてのセッション鍵を生成する。   When the drive 330 receives the drive authentication result and the ECDH value from the host 350, the drive 330 verifies the host response in step S127, confirms the establishment of the drive authentication, and applies the received ECDH value to the common key. Generate a session key as. Also in the host 350, when the host authentication result and the ECDH value are received from the drive 330, in step S128, the drive response is verified, the establishment of the host authentication is confirmed, and a session as a common key is determined based on the ECDH value. Generate a key.

このような相互認証処理によって、ドライブ330とホスト350は共通鍵としてのセッション鍵を共有する。   Through such mutual authentication processing, the drive 330 and the host 350 share a session key as a common key.

図6に戻り、コンテンツ利用処理のシーケンスについての説明を続ける。ステップS101において、ホストドライブ間の相互認証が実行され、セッション鍵(Ks)を共有した後、ホスト350は、ステップS102において、情報記録媒体310に記録されたMKB311を、ドライブを介して取得して、メモリに格納されたデバイス鍵351を適用したMKB311の処理を実行して、MKBからメディア鍵(Km)を取得する。   Returning to FIG. 6, the description of the sequence of content use processing will be continued. In step S101, mutual authentication between the host drives is performed and the session key (Ks) is shared. Then, in step S102, the host 350 acquires the MKB 311 recorded on the information recording medium 310 via the drive. Then, the processing of the MKB 311 to which the device key 351 stored in the memory is applied is executed, and the media key (Km) is acquired from the MKB.

前述したように、MKB(Media Key Block)311は、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックであり、有効なライセンスを持つ装置に格納されたデバイス鍵(Kd)に基づく処理(復号)によってのみ、コンテンツの復号に必要なキーであるメディア鍵(Km)の取得を可能とした鍵情報ブロックである。   As described above, the MKB (Media Key Block) 311 is an encryption key block generated based on a tree-structured key distribution method known as one aspect of the broadcast encryption method, and is stored in a device having a valid license. This is a key information block that makes it possible to obtain a media key (Km) that is a key necessary for decrypting content only by processing (decryption) based on the device key (Kd).

次に、ステップS103において、ステップS102におけるMKB処理で取得したメディア鍵(Km)を適用して、情報記録媒体310から読み取ったタイトル鍵ファイルの復号を実行して、タイトル鍵(Kt)を取得する。情報記録媒体310に格納されるタイトル鍵ファイルはメディア鍵によって暗号化されたデータを含むファイルであり、メディア鍵を適用した処理によってコンテンツ復号に適用するタイトル鍵(Kt)を取得することができる。なお、ステップS103の復号処理は、例えばAES暗号アルゴリズムが適用される。   Next, in step S103, the media key (Km) acquired in the MKB process in step S102 is applied, the title key file read from the information recording medium 310 is decrypted, and the title key (Kt) is acquired. . The title key file stored in the information recording medium 310 is a file including data encrypted by a media key, and a title key (Kt) to be applied to content decryption can be acquired by processing using the media key. For example, an AES encryption algorithm is applied to the decryption process in step S103.

次に、ホスト350は、ドライブ330を介して情報記録媒体310に格納された暗号化コンテンツ313を読み出して、トラックバッファ352に読み出しコンテンツを格納し、このバッファ格納コンテンツについて、ステップS104において、タイトル鍵(Kt)を適用した復号処理を実行し、復号コンテンツを取得する。   Next, the host 350 reads the encrypted content 313 stored in the information recording medium 310 via the drive 330, stores the read content in the track buffer 352, and the title key is stored in step S104 in step S104. A decryption process to which (Kt) is applied is executed to obtain decrypted content.

復号コンテンツは、平文TSバッファ353に格納する。(Plain TS)は復号された平文トランスポートストリームを意味する。ここで、平文TSバッファ353に格納される復号コンテンツは、前述したブロークンデータを含むコンテンツであり、このままでは再生できず、所定のデータ変換(上書きによるデータ置き換え)を行なう必要がある。   The decrypted content is stored in the plaintext TS buffer 353. (Plain TS) means a decrypted plaintext transport stream. Here, the decrypted content stored in the plaintext TS buffer 353 is content including the above-described broken data, and cannot be reproduced as it is, and it is necessary to perform predetermined data conversion (data replacement by overwriting).

このデータ変換処理を示すのが、図6のブロック371である。図6のブロック371は図1に示したホスト150のデータ変換処理部154の処理に相当する。このデータ変換処理の概要について、図8を参照して説明する。   This data conversion process is indicated by block 371 in FIG. A block 371 in FIG. 6 corresponds to the process of the data conversion processing unit 154 of the host 150 shown in FIG. An outline of the data conversion process will be described with reference to FIG.

図6に示す暗号化コンテンツ313は、情報記録媒体に格納された暗号化コンテンツであり、この暗号化コンテンツが、一旦、ホスト側のトラックバッファ352に格納される。図8(1)に示すトラックバッファ格納データ401である。   The encrypted content 313 shown in FIG. 6 is encrypted content stored in the information recording medium, and this encrypted content is temporarily stored in the track buffer 352 on the host side. This is the track buffer storage data 401 shown in FIG.

ホスト側の復号処理によって、トラックバッファ格納データ401としての暗号化コンテンツの復号が実行されて、復号結果データが平文TSバッファ353に格納される。図8(2)に示す復号結果データ402である。   By decryption processing on the host side, decryption of the encrypted content as the track buffer storage data 401 is executed, and decryption result data is stored in the plaintext TS buffer 353. This is the decoding result data 402 shown in FIG.

復号結果データ402には、正常なコンテンツ構成データではない、ブロークンデータ403が含まれる。ホストのデータ変換処理部は、このブロークンデータ403を、図6に示す情報記録媒体310に記録された変換テーブル314から取得される正しいコンテンツ構成データとしての変換データ404に置き換える処理を実行する。この置き換え処理は、例えば平文TSバッファ353に書き込み済みのデータに対する一部データの再書き込み(上書き)処理として実行される。   The decryption result data 402 includes broken data 403 that is not normal content configuration data. The host data conversion processing unit executes a process of replacing the broken data 403 with converted data 404 as correct content configuration data acquired from the conversion table 314 recorded in the information recording medium 310 shown in FIG. This replacement process is executed, for example, as a rewrite (overwrite) process of a part of the data already written in the plaintext TS buffer 353.

さらに、ホストの実行するデータ変換処理は、ブロークンデータを正常なコンテンツデータである変換データに置き換える処理のみならず、図8に示すように、識別マークを含む変換データ405によって、復号結果データ402の一部構成データを置き換える処理を実行する。   Further, the data conversion process executed by the host is not only the process of replacing the broken data with the conversion data that is normal content data, but also the conversion data 405 including the identification mark as shown in FIG. A process of replacing some configuration data is executed.

識別マークとは、コンテンツ再生装置またはコンテンツ再生アプリケーションを識別可能とした識別情報の構成ビットを解析可能としたデータである。具体的には例えば、ホストアプリケーションを実行するプレーヤとしての情報処理装置の識別情報(プレーヤID)の構成データまたは、プレーヤIDに基づいて生成される識別マークである。識別マークを含む変換データは、コンテンツの再生に影響を与えないレベルで、正しいコンテンツデータのビット値をわずかに変更したデータである。   The identification mark is data that makes it possible to analyze the constituent bits of the identification information that makes it possible to identify the content playback apparatus or content playback application. Specifically, for example, configuration information of identification information (player ID) of an information processing apparatus as a player executing a host application, or an identification mark generated based on the player ID. The conversion data including the identification mark is data in which the bit value of the correct content data is slightly changed at a level that does not affect the reproduction of the content.

識別マークを含む変換データ405は、コンテンツ中に多数設定され、これら複数の識別マークを含む変換データ405を集積して解析することで、例えばプレーヤIDが判別される。識別マークを含む変換データ405は、コンテンツとして通常再生可能なレベルで正常コンテンツデータの構成ビットを変更したデータであり、MPEGビットストリーム解析によりビット(識別マーク構成ビット)判別が可能なデータである。   A large number of pieces of conversion data 405 including identification marks are set in the content, and, for example, the player ID is determined by collecting and analyzing the conversion data 405 including the plurality of identification marks. The conversion data 405 including the identification mark is data in which the constituent bits of the normal content data are changed at a level that can be normally reproduced as the content, and the bit (identification mark constituent bits) can be determined by MPEG bit stream analysis.

情報記録媒体に格納される変換テーブルには、図8に示す変換データ404、識別マークを含む変換データ405が多数登録されており、さらに、これらの書き込み位置情報についても登録されている。この変換テーブル格納情報に基づくデータ変換処理を実行することで、平文TSバッファ353に格納されたデータは、図8(3)に示す変換処理済みデータ406に置き換えられることになる。   In the conversion table stored in the information recording medium, a large number of conversion data 404 and conversion data 405 including identification marks shown in FIG. 8 are registered, and the writing position information is also registered. By executing the data conversion process based on the conversion table storage information, the data stored in the plaintext TS buffer 353 is replaced with the converted data 406 shown in FIG. 8 (3).

図6に戻り、点線ブロック371内の処理、すなわちホスト側のデータ変換処理について説明する。データ変換処理は、例えば、ホスト内にバーチャルマシンとして設定されるセキュアVM356によって実行される。バーチャルマシン(VM)は中間言語を直接解釈して実行する仮想コンピュータであり、プラットホームに依存しない中間言語での命令コード情報を解釈して実行する。   Returning to FIG. 6, processing in the dotted line block 371, that is, data conversion processing on the host side will be described. The data conversion process is executed by, for example, the secure VM 356 set as a virtual machine in the host. A virtual machine (VM) is a virtual computer that directly interprets and executes an intermediate language, and interprets and executes instruction code information in an intermediate language that does not depend on the platform.

セキュアVM356は、命令コード情報を含むデータ変換処理プログラム315を情報記録媒体310から読み出して処理を実行する。セキュアVM356は、イベントハンドラ354による処理制御がなされ、また、ホストアプリケーションを実行しているプレーヤ(情報処理装置)のID情報などをプレーヤ情報355として入力して、情報記録媒体310から取得したデータ変換処理プログラム315を実行する。イベントハンドラ354は、処理監視を実行する。セキュアVM356によって実行される処理が正しく行なわれているか否かのエミュレータチェックや、その他のホストアプリケーションや、ホストアプリケーション実行機器としてのプレーヤ(情報処理装置)の処理、状態を監視し、処理エラー、不正処理などが検出された場合には、セキュアVM356によるデータ変換処理を中止させる。   The secure VM 356 reads the data conversion processing program 315 including the instruction code information from the information recording medium 310 and executes the processing. The secure VM 356 is controlled by the event handler 354 and converts the data obtained from the information recording medium 310 by inputting the ID information of the player (information processing apparatus) executing the host application as the player information 355. The processing program 315 is executed. The event handler 354 executes process monitoring. Emulator check to determine whether the process executed by the secure VM 356 is correctly performed, monitor the process and status of other host applications and the player (information processing apparatus) as the host application execution device, and process errors and fraud If processing or the like is detected, the data conversion processing by the secure VM 356 is stopped.

セキュアVM356は、情報記録媒体310から読み出した変換テーブルを適用して、平文TSバッファ353に格納されたデータの変換処理を実行する。すなわち図6に示すステップS105のデータ変換処理であり、図8に示す復号結果データ402に対して、ブロークンデータ403を正当なコンテンツ構成データである変換データ404に置き換え、さらに、識別マークを含む変換データ405をコンテンツの一部データと入れ替えるデータ上書き処理を実行して、平文TSバッファ353の格納データを変換処理済みデータ406に変更する。   The secure VM 356 applies the conversion table read from the information recording medium 310 and executes the conversion process of the data stored in the plaintext TS buffer 353. That is, in the data conversion process in step S105 shown in FIG. 6, the broken data 403 is replaced with the conversion data 404 which is valid content configuration data for the decryption result data 402 shown in FIG. A data overwriting process for replacing the data 405 with the partial data of the content is executed to change the data stored in the plaintext TS buffer 353 to the converted data 406.

その後、変換済みのTS(トランスポートストリーム)は、ネットワークなどを介して外部出力され、外部の再生機器において再生される。あるいは、ステップS106において、デマルチプレクサによる処理によって、トランスポートストリーム(TS)からエレメンタリストリーム(ES)への変換が実行され、さらに、デコード処理(ステッブS107)が行なわれた後、ディスプレイおよびスピーカを介して再生される。   Thereafter, the converted TS (transport stream) is output to the outside via a network or the like and is played back on an external playback device. Alternatively, in step S106, conversion from the transport stream (TS) to the elementary stream (ES) is performed by processing by the demultiplexer, and further, after the decoding processing (step S107) is performed, the display and the speaker are turned on. Played through.

情報記録媒体に記録されるデータ変換テーブルのデータ構成について、図9を参照して説明する。情報記録媒体に記録されるデータ変換テーブルは、例えば図9に示すデータ構成を持つ。すなわち、
Number of Fix-Up Entry:変換データエントリ数(Number of Fix-Up Entry)
Fix-Up Entry Length:1変換データエントリのバイト数(Byte Length of one Fix-Up Entry()=(N+6))
SPN(ソースパケットナンバー):変換データ書き込みパケットのAVストリームファイルの開始位置からのパケットナンバー(Absolute Transformed Packet Number from the beginning of AV Stream File)
Byte Offset:SPNで指定されたパケット中の変換データ書き込み開始位置を示すバイトオフセット(Start byte position of transformed data in the packet)
player_id_bit_position:識別マーク(プレーヤIDなど)のビット位置(Indicate bit position of Player ID for forensic)
Fix-Up Data:変換上書きデータ(Value to be overwritten (N byte is transformed in one TS Packet))
これらのデータを持つ。
The data structure of the data conversion table recorded on the information recording medium will be described with reference to FIG. The data conversion table recorded on the information recording medium has a data configuration shown in FIG. 9, for example. That is,
Number of Fix-Up Entry: Number of converted data entries (Number of Fix-Up Entry)
Fix-Up Entry Length: Number of bytes of conversion data entry (Byte Length of one Fix-Up Entry () = (N + 6))
SPN (Source Packet Number): Absolute Transformed Packet Number from the beginning of AV Stream File
Byte Offset: Byte offset indicating the start position of writing the converted data in the packet specified by SPN (Start byte position of transformed data in the packet)
player_id_bit_position: Indicate bit position of Player ID for forensic
Fix-Up Data: Value to be overwritten (N byte is transformed in one TS Packet)
Have these data.

1つのコンテンツ中には、多数のブロークンデータが散在して配置されており、このブロークンデータの位置に変換テーブルに記録された変換データを上書きする。また、プレーヤIDなどの識別マークを持つ変換データについても、1つのコンテンツデータ中に多数の書き込み位置が設定される。変換テーブルは、これらの
(a)変換データ
(b)識別マーク入り変換データ
の実体データとしての「変換上書きデータ」と、
これらのデータの書き込み位置の指定情報を記録したテーブルとして設定される。
In one content, a lot of broken data is scattered and the conversion data recorded in the conversion table is overwritten at the position of the broken data. In addition, for conversion data having an identification mark such as a player ID, a large number of writing positions are set in one content data. The conversion table includes (a) conversion data (b) “conversion overwrite data” as entity data of conversion data with an identification mark,
These are set as a table in which the designation information of the writing position of these data is recorded.

なお、どの程度の頻度で、変換データ(識別マーク入り変換データも含む)の置き換え領域を設定するか、また変換データのサイズについては、様々な設定が可能であるが、各設定により変換テーブルサイズは異なるサイズとなる。例えばMPEGコンテンツを構成する1GOP(Group Of Pictures)あたり、2つの変換データまたは識別マーク入り変換データを設定する構成においては、変換データ(識別マーク入り変換データも含む)が8バイトである場合、約400KB程度のテーブル、16バイトである場合、約600KB程度のテーブルサイズとなる。   It should be noted that how often the replacement area for conversion data (including conversion data including identification marks) is set and the size of the conversion data can be set in various ways. Are different sizes. For example, in a configuration in which two conversion data or conversion data with an identification mark is set per 1 GOP (Group Of Pictures) constituting MPEG content, if the conversion data (including conversion data with an identification mark) is 8 bytes, about In the case of a table of about 400 KB and 16 bytes, the table size is about 600 KB.

また、MPEGコンテンツを構成する1GOP(Group Of Pictures)あたり、5つの変換データまたは識別マーク入り変換データを設定する構成においては、変換データ(識別マーク入り変換データも含む)が8バイトである場合、約1MB程度のテーブル、16バイトである場合、約1,5MB程度のテーブルサイズとなる。   Further, in a configuration in which five conversion data or conversion data with an identification mark is set per 1 GOP (Group Of Pictures) constituting the MPEG content, when the conversion data (including conversion data with an identification mark) is 8 bytes, When the table is about 1 MB and 16 bytes, the table size is about 1.5 MB.

ホスト350のセキュアVMは、情報記録媒体310に記録された変換テーブル314に従って、
(a)変換データ
(b)識別マーク入り変換データ
を変換テーブルの指定位置に書き込む処理を実行する。データ書き込みは、平文TSバッファ253に格納されたデータに対する変換データ、または識別マーク入り変換データの上書き処理として実行され、この処理の結果、平文TSバッファ253に格納されたデータは、先に説明した図8(3)のデータに置き換えられることになる。
The secure VM of the host 350 follows the conversion table 314 recorded on the information recording medium 310.
(A) Conversion data (b) Processing for writing identification mark-containing conversion data at a specified position in the conversion table. The data writing is executed as the overwriting process of the conversion data for the data stored in the plaintext TS buffer 253 or the conversion data with the identification mark. As a result of this processing, the data stored in the plaintext TS buffer 253 is described above. The data shown in FIG. 8 (3) is replaced.

ホストを実装しているプレーヤ(PCなどの情報処理装置)からのコンテンツの外部出力、あるいはコンテンツ再生は、この図8(3)に示す変換処理済みデータに基づく処理として実行される。   External output of content or content playback from a player (information processing apparatus such as a PC) equipped with a host is executed as processing based on the converted data shown in FIG.

変換データは正しいコンテンツ構成データであり、また識別マーク入り変換データも、正しいコンテンツの再生に適用されるデータであるので、これらのデータに基づくデコード再生によって正しいコンテンツ再生が可能となる。また、このコンテンツが、例えば不正にコピーされ、コピーデータが多数外部流出した場合には、識別マーク入り変換データを解析することで、プレーヤIDを取得することが可能であり、不正コンテンツデータの流出源を特定することが可能となる。   Since the conversion data is correct content configuration data, and the conversion data with an identification mark is also data that is applied to playback of the correct content, correct content playback is possible by decoding playback based on these data. In addition, for example, when this content is illegally copied and a large amount of copy data is leaked to the outside, it is possible to obtain the player ID by analyzing the conversion data with the identification mark, and the illegal content data is leaked. The source can be specified.

(3.2)コンテンツ再生処理例2
次に、コンテンツ再生処理例2について、図10を参照して説明する。図10は、左から暗号化コンテンツの格納された情報記録媒体310、情報記録媒体310をセットし、データの読み取りを実行するドライブ330、ドライブとデータ通信可能に接続され、情報記録媒体310に格納されたコンテンツをドライブ330を介して取得して再生処理を実行する再生アプリケーションを実行するホスト350を示している。ホスト350は、例えばPC等の情報処理装置において実行される。
(3.2) Content reproduction processing example 2
Next, content reproduction processing example 2 will be described with reference to FIG. FIG. 10 shows, from the left, an information recording medium 310 in which encrypted content is stored, an information recording medium 310 that is set, and a drive 330 that executes data reading. It shows a host 350 that executes a playback application that acquires the recorded content via the drive 330 and executes playback processing. The host 350 is executed in an information processing apparatus such as a PC.

図10には、情報記録媒体310に記録されているMKB(Media Key Block)と、タイトル鍵ファイルは省略してある。ホスト350は、MKBの処理に適用するデバイス鍵を保持し、情報記録媒体310に記録されているMKB(Media Key Block)と、タイトル鍵ファイルを適用して、図6を参照して説明したと全く同様の処理を実行してタイトル鍵(Kt)を算出する。これらの処理についても、図10においては省略してある。情報記録媒体には、さらに、暗号化コンテンツ313、変換テーブル314、データ変換処理プログラム315が格納されている。   In FIG. 10, an MKB (Media Key Block) recorded on the information recording medium 310 and a title key file are omitted. The host 350 holds a device key to be applied to the MKB processing, applies an MKB (Media Key Block) recorded on the information recording medium 310 and a title key file, and has been described with reference to FIG. The title key (Kt) is calculated by executing exactly the same processing. These processes are also omitted in FIG. The information recording medium further stores an encrypted content 313, a conversion table 314, and a data conversion processing program 315.

図10に示すコンテンツ再生処理例2では、点線枠で示すブロック381の処理をリアルタイム処理として実行し、ブロック382の処理を、コンテンツ再生あるいは出力前の一括処理として実行する点が特徴である。すなわち、セキュアVM356は、コンテンツの再生やコンテンツの外部出力の開始前などに、命令コード情報を含むデータ変換処理プログラム315を情報記録媒体310から読み出し、イベントハンドラ354の制御、プレーヤ情報355の入力に基づいて、情報記録媒体310から読み出した変換テーブル314の復号処理などを実行する。   The content reproduction processing example 2 shown in FIG. 10 is characterized in that the processing of the block 381 indicated by the dotted frame is executed as real-time processing, and the processing of the block 382 is executed as batch processing before content reproduction or output. That is, the secure VM 356 reads the data conversion processing program 315 including the instruction code information from the information recording medium 310 before starting the reproduction of the content or the external output of the content, and controls the event handler 354 and inputs the player information 355. Based on this, the decoding process of the conversion table 314 read from the information recording medium 310 is executed.

情報記録媒体310に記録された変換テーブル314は、例えばAES暗号や、排他論理和演算などの演算によって難読化処理が施されており、セキュアVM356は、データ変換処理プログラム315に従って、復号処理、あるいは所定の演算処理を実行して、平文データとしての変換テーブルを取得する。ここまでの処理は、コンテンツの再生やコンテンツの外部出力の開始前などに一括して実行する。   The conversion table 314 recorded in the information recording medium 310 is obfuscated by an operation such as AES encryption or exclusive OR operation, and the secure VM 356 performs decryption processing or data conversion according to the data conversion processing program 315, or A predetermined calculation process is executed to obtain a conversion table as plain text data. The processing up to this point is executed in a lump before starting the reproduction of the content or the external output of the content.

その後の処理は、コンテンツ再生やコンテンツ外部出力処理に並行して実行するリアルタイム処理として実行する。すなわち、ステップS201におけるコンテンツ復号処理、ステップS202におけるデータ変換処理、すなわち、情報記録媒体310に記録された変換テーブル314に登録された変換データ、すなわち、
(a)変換データ
(b)識別マーク入り変換データ
を、変換テーブル314に記録された指定位置に書き込むデータ変換処理、さらに、変換済みのTS(トランスポートストリーム)の外部出力処理、あるいは、ステップS203におけるデマルチプレクサ処理、すなわちトランスポートストリーム(TS)からエレメンタリストリーム(ES)への変換処理、ステップS204におけるデコード処理、これらの処理は、コンテンツ再生または外部出力に並行したリアルタイム処理として実行する。
Subsequent processing is executed as real-time processing executed in parallel with content reproduction and content external output processing. That is, the content decryption process in step S201, the data conversion process in step S202, that is, the conversion data registered in the conversion table 314 recorded in the information recording medium 310, that is,
(A) Conversion data (b) Data conversion processing for writing conversion data with an identification mark at a designated position recorded in the conversion table 314, and further, external output processing of converted TS (transport stream), or step S203 The demultiplexer processing in FIG. 1, that is, the conversion processing from the transport stream (TS) to the elementary stream (ES), the decoding processing in step S204, and these processing are executed as real-time processing in parallel with content reproduction or external output.

このような処理シーケンスとすることで、セキュアVM356による変換テーブル314の処理に時間がかかる場合であっても、コンテンツ再生、外部出力の処理に影響を与えることのないリアルタイム処理が実現される。   By adopting such a processing sequence, real-time processing that does not affect content reproduction and external output processing is realized even when the processing of the conversion table 314 by the secure VM 356 takes time.

[4.メッセージ表示およびコンテンツ利用制御処理]
上述したように、正当コンテンツ構成データと異なるブロークンデータを含むコンテンツを情報記録媒体に記録し、さらに、ブロークンデータの置き換え対象となる正当コンテンツ構成データである変換データと、変換データのコンテンツに対する設定位置情報を記録した変換テーブルを情報記録媒体に格納する構成とし、コンテンツ再生処理に際して、情報記録媒体に記録された変換テーブルに従って、コンテンツ構成データを変換データに置き換える処理を行なう構成によって、情報記録媒体に記録された暗号化コンテンツに対応する暗号鍵の漏洩が発生した場合でも、変換データの取得ができない装置においてはコンテンツの再生が実行されず、コンテンツの不正利用が防止される。
[4. Message display and content usage control process]
As described above, content including broken data different from the valid content configuration data is recorded on the information recording medium, and further, the conversion data that is the valid content configuration data to be replaced with the broken data, and the set position of the conversion data with respect to the content The information recording medium has a configuration in which a conversion table in which information is recorded is stored in the information recording medium, and the content reproduction data is replaced with the conversion data in accordance with the conversion table recorded in the information recording medium in the content reproduction processing. Even when the encryption key corresponding to the recorded encrypted content is leaked, the content cannot be reproduced in an apparatus that cannot obtain the converted data, and unauthorized use of the content is prevented.

また、変換データとして、コンテンツ再生装置またはコンテンツ再生アプリケーションを識別可能とした識別情報の構成ビットを解析可能としたデータを含む変換データを適用したので、万が一不正コンテンツが流出した場合でも、変換データの解析によって、不正コンテンツの流出源を特定することが可能となる。   In addition, since the conversion data including the data that can analyze the constituent bits of the identification information that can identify the content reproduction device or the content reproduction application is applied as the conversion data, even if illegal content leaks, Through analysis, it is possible to identify the source of unauthorized content.

このように、厳格なコンテンツの利用制限が実現されることになる。しかし、一方、コンテンツを再生、利用しようとするユーザは、上述のコンテンツ保護機能によって、再生が禁止された場合、コンテンツが再生されない理由を知ることができず、また再生するための解決方法についても知ることができない。ユーザは機器の故障、あるいはディスクが不良品であるなどと判断する可能性もある。   In this way, strict use restrictions of content are realized. However, on the other hand, the user who wants to play and use the content cannot know the reason why the content is not played back when the playback is prohibited by the above-described content protection function, and there is also a solution for playback. I can't know. There is also a possibility that the user determines that the device is faulty or the disk is defective.

また、上述したデータ変換処理を適用したコンテンツの保護機構は、特定の映画などの大型コンテンツとしてのAVストリームを中心とした保護機構として構成したものであり、このような大型コンテンツではない例えばJava(登録商標)のようなプログラムによって処理される小型のコンテンツについては変換データを設定するといった処理は負担が大きくなるという問題がある。   Further, the content protection mechanism to which the above-described data conversion processing is applied is configured as a protection mechanism centered on an AV stream as a large content such as a specific movie, and is not a large content such as Java ( For small contents processed by a program such as (registered trademark), there is a problem that the processing of setting conversion data increases the burden.

以下では、このような問題を解決する構成として、コンテンツの再生禁止処理が実行された場合の処置として、ユーザに対するメッセージ提示、ユーザからの確認入力を可能とした構成例、および例えばJava(登録商標)などによって処理される小型のコンテンツについての簡易なコンテンツ利用制限構成について説明する。   In the following, as a configuration for solving such a problem, a configuration example in which a message can be presented to the user and a confirmation input from the user can be input as a measure when the content reproduction prohibiting process is executed, and for example, Java (registered trademark) A simple content use restriction configuration for small content processed by the above method will be described.

(4.1)UI(ユーザインタフェース)処理部を利用したメッセージ表示
まず、UI(ユーザインタフェース)処理部を利用したメッセージの表示処理例について説明する。図11は、左から暗号化コンテンツの格納された情報記録媒体310、情報記録媒体310をセットし、データの読み取りを実行するドライブ330、ドライブとデータ通信可能に接続され、情報記録媒体310に格納されたコンテンツをドライブ330を介して取得して再生処理を実行する再生アプリケーションを実行するホスト350を示している。ホスト350は、例えばPC等の情報処理装置において実行される。
(4.1) Message Display Using UI (User Interface) Processing Unit First, an example of message display processing using a UI (user interface) processing unit will be described. In FIG. 11, the information recording medium 310 storing the encrypted content from the left, the information recording medium 310 is set, and the drive 330 that executes data reading is connected to the drive so that data communication is possible, and the information recording medium 310 is stored. It shows a host 350 that executes a playback application that acquires the recorded content via the drive 330 and executes playback processing. The host 350 is executed in an information processing apparatus such as a PC.

図11は、先に、図6を参照して説明したコンテンツ再生処理構成例に、メッセージ表示処理機能を追加した図である。すなわち、図6との相違点は、情報記録媒体310にメッセージデータファイル316が格納され、ホスト350側のセキュアVM356において、UI(ユーザインタフェース)処理部391を利用して表示部392にメッセージ表示を行なう構成とした点である。   FIG. 11 is a diagram in which a message display processing function is added to the content reproduction processing configuration example described above with reference to FIG. That is, the difference from FIG. 6 is that a message data file 316 is stored in the information recording medium 310, and a message is displayed on the display unit 392 using the UI (user interface) processing unit 391 in the secure VM 356 on the host 350 side. It is the point which made the structure to perform.

正当なコンテンツ利用権を有するホストは、暗号化コンテンツ313の復号に成功し、変換テーブル314から取得する変換データを適用したデータ変換によって正常なコンテンツ再生が実行されることになる。また、正当なコンテンツ利用権を持たないホストは、コンテンツの復号処理、あるいは変換データに基づくデータ変換処理の少なくいずれかの処理に失敗し、正常なコンテンツ再生が不可能となる。これらの処理は、先に、図6を参照して説明した処理と同様の処理である。   A host having a legitimate content usage right succeeds in decrypting the encrypted content 313, and normal content reproduction is executed by data conversion to which the conversion data acquired from the conversion table 314 is applied. In addition, a host that does not have a valid content usage right fails in at least one of content decryption processing or data conversion processing based on conversion data, and normal content reproduction becomes impossible. These processes are similar to the processes described above with reference to FIG.

本実施例では、セキュアVM356は、セキュリティ情報処理部として機能し、コンテンツ再生シーケンスにおけるセキュリティチェック情報に基づいて出力メッセージを決定し、出力メッセージの選択情報を伴うメッセージ出力命令をUI(ユーザインタフェース)処理部391に出力する。   In this embodiment, the secure VM 356 functions as a security information processing unit, determines an output message based on security check information in the content playback sequence, and performs a UI (user interface) process on a message output command accompanied by output message selection information. To the unit 391.

UI(ユーザインタフェース)処理部391は、セキュリティ情報処理部としてのセキュアVM356から入力する選択情報に基づくメッセージ情報を情報記録媒体310のメッセージデータファイル316から取得して、ホストを実行するPC等のディスプレイである表示部392に出力(表示)する。表示部392は、UI(ユーザインタフェース)処理部391の出力するメッセージの表示を行なう。この表示は、例えば再生コンテンツに重畳した表示として実行される。   A UI (user interface) processing unit 391 acquires message information based on selection information input from the secure VM 356 as a security information processing unit from the message data file 316 of the information recording medium 310, and displays a display such as a PC that executes the host. Is output (displayed) to the display unit 392. The display unit 392 displays a message output from the UI (user interface) processing unit 391. This display is executed as a display superimposed on the reproduction content, for example.

UI(ユーザインタフェース)処理部391は、例えば、OSD(オンスクリーン・ディスプレイ)機能を適用した構成とすることができる。OSDは、表示部392に表示された表示情報に重畳して、警告メッセージや、ディスプレイ調整画面などを割り込み表示させる機能を有する。ホスト350の処理と独立して並列に処理を行い、表示部392にメッセージ表示を実行し、また図示しない入力部を介したユーザ入力を受信することができる。本実施例では、このユーザ入力は、UI(ユーザインタフェース)処理部391からセキュアVM356に入力される。   The UI (user interface) processing unit 391 may be configured to apply, for example, an OSD (On Screen Display) function. The OSD has a function of interrupting and displaying a warning message, a display adjustment screen, or the like, superimposed on display information displayed on the display unit 392. Processing can be performed in parallel with the processing of the host 350, message display can be executed on the display unit 392, and user input via an input unit (not shown) can be received. In this embodiment, this user input is input from the UI (user interface) processing unit 391 to the secure VM 356.

具体的な処理例について説明する。セキュアVM356は、コンテンツ再生シーケンスにおけるセキュリティチェック情報に基づいて出力メッセージを決定し、出力メッセージの選択情報を伴うメッセージ出力命令をUI(ユーザインタフェース)処理部391に出力する。UI(ユーザインタフェース)処理部391は、選択情報に基づくメッセージ情報を情報記録媒体310のメッセージデータファイル316から取得して、ホストを実行するPC等のディスプレイである表示部392に出力(表示)する。   A specific processing example will be described. The secure VM 356 determines an output message based on the security check information in the content playback sequence, and outputs a message output command with output message selection information to a UI (user interface) processing unit 391. A UI (user interface) processing unit 391 acquires message information based on the selection information from the message data file 316 of the information recording medium 310, and outputs (displays) the message information to a display unit 392 that is a display such as a PC executing the host. .

図12は、情報記録媒体に記録されたメッセージデータファイル401〜404を含むディレクトリを示した図である。図12に示すように、情報記録媒体には、様々な内容、言語のメッセージデータファイル401〜404が格納されている。   FIG. 12 is a diagram showing a directory including message data files 401 to 404 recorded on the information recording medium. As shown in FIG. 12, message data files 401 to 404 of various contents and languages are stored in the information recording medium.

前述したように、セキュアVM356は、ホストアプリケーションを実行しているプレーヤ(情報処理装置)のID情報などをプレーヤ情報355として入力し、また、イベントハンドラ354からの監視情報を入力する。イベントハンドラ354は、セキュアVM356によって実行される処理が正しく行なわれているか否かのエミュレータチェックや、その他のホストアプリケーションや、ホストアプリケーション実行機器としてのプレーヤ(情報処理装置)の処理、状態を監視し、処理エラー、不正処理などが検出された場合には、セキュアVM356に監視情報を入力し、必要に応じて、例えばデータ変換処理を中止させる。   As described above, the secure VM 356 inputs ID information and the like of the player (information processing apparatus) that is executing the host application as the player information 355, and inputs monitoring information from the event handler 354. The event handler 354 monitors the processing and status of an emulator check whether or not the processing executed by the secure VM 356 is correctly performed, other host applications, and a player (information processing apparatus) as a host application execution device. When a processing error, illegal processing, or the like is detected, monitoring information is input to the secure VM 356, and the data conversion processing is stopped as necessary, for example.

セキュアVM356は、例えば、プレーヤ情報355に基づいて、出力するメッセージの言語を特定し、また、イベントハンドラ354からの監視情報に基づいて出力するメッセージの内容を決定する処理を実行する。このようにして決定した言語および内容を持つメッセージデータファイルに対応するメッセージ選択情報を決定してUI(ユーザインタフェース)処理部391に出力する。   For example, the secure VM 356 specifies the language of the message to be output based on the player information 355, and executes processing for determining the content of the message to be output based on the monitoring information from the event handler 354. Message selection information corresponding to the message data file having the language and content determined in this way is determined and output to the UI (user interface) processing unit 391.

UI(ユーザインタフェース)処理部391は、この選択情報に基づいて、情報記録媒体310のメッセージデータファイル316から選択して取得し、メッセージデータを、ホストを実行するPC等のディスプレイである表示部392に出力(表示)する。   A UI (user interface) processing unit 391 selects and acquires from the message data file 316 of the information recording medium 310 based on the selection information, and displays the message data as a display unit 392 such as a PC that executes the host. Output (display).

UI(ユーザインタフェース)処理部391として、OSD(オンスクリーン・ディスプレイ)機能を適用した場合、セキュリティ情報処理部としてのセキュアVM356からUI(ユーザインタフェース)処理部391に対するメッセージ選択情報を伴うメッセージ表示命令には、OSD呼び出し(CALL_OSD)機能が利用される。OSD呼び出し(CALL_OSD)機能は、
(a)メッセージデータファイルを指定するナンバー指定情報(num)、
(b)ユーザ入力情報を指定するオペレーションID(opID)、
これら(a),(b)の各指定情報を持つコマンドとして定義される。
When an OSD (on-screen display) function is applied as the UI (user interface) processing unit 391, a message display command accompanied by message selection information from the secure VM 356 serving as the security information processing unit to the UI (user interface) processing unit 391 is used. The OSD call (CALL_OSD) function is used. OSD call (CALL_OSD) function is
(A) Number designation information (num) for designating a message data file,
(B) an operation ID (opID) designating user input information;
These are defined as commands having the designation information of (a) and (b).

具体的なOSD呼び出し(CALL_OSD)を利用したメッセージ表示処理例について、図13を参照して説明する。例えば、OSD呼び出し(CALL_OSD)に対応するコマンド411には、
(a)メッセージデータファイルを指定するナンバー指定情報(num)、
(b)ユーザ入力情報を指定するオペレーションID(opID)、
の各指定情報が設定される。
A message display processing example using a specific OSD call (CALL_OSD) will be described with reference to FIG. For example, the command 411 corresponding to the OSD call (CALL_OSD) includes:
(A) Number designation information (num) for designating a message data file,
(B) an operation ID (opID) designating user input information;
Each specified information is set.

ナンバー指定情報(num)は、先に、図13を参照して説明したジヨウホウ記録媒体に格納されたメッセージデータファイルの指定情報として利用される。また、オペレーションID(opID)は、14に示すように、各IDに応じて、ユーザの入力部として、
[OK]のみを表示、
[OK],[Cancel]を表示、
[Yes],[No]を表示、
[Yes],[No]、[Cancel]を表示、
これら、ユーザ入力部を表示する設定や、あるいは単にメッセージのみを表示し続ける設定などの設定情報として利用される。
The number designation information (num) is used as designation information for the message data file stored in the medium described above with reference to FIG. In addition, as shown in 14, the operation ID (opID) is as a user input unit according to each ID.
Display [OK] only,
[OK] and [Cancel] are displayed.
[Yes] and [No] are displayed.
[Yes], [No], and [Cancel] are displayed.
These are used as setting information such as settings for displaying the user input section or settings for continuing to display only the message.

ユーザ入力部として[OK]のみを表示したメッセージ表示例を図14に示す。UI(ユーザインタフェース)処理部391として、OSD(オンスクリーン・ディスプレイ)機能を適用した場合、例えば図14に示すようなメッセージデータが、表示部392の前面に表示されることになる。   FIG. 14 shows a message display example in which only [OK] is displayed as the user input unit. When an OSD (on-screen display) function is applied as the UI (user interface) processing unit 391, for example, message data as illustrated in FIG. 14 is displayed on the front surface of the display unit 392.

ユーザは、この表示メッセージの[OK]ボタンを例えばマウスを適用してクリックすることで入力情報はOSDによって検出され、セキュアVM356に入力される。なお、表示メッセージに例えばコンテンツ提供サーバあるいはコンテンツ管理サーバなどのURLを提示し、URLのリックによって、各サーバに対するアクセスを可能とした設定としてもよい。   When the user clicks the [OK] button of this display message by applying a mouse, for example, the input information is detected by the OSD and input to the secure VM 356. For example, a URL such as a content providing server or a content management server may be presented in the display message, and the URL may be set to enable access to each server.

このように、メッセージの提示を行なうことで、例えばコンテンツ復号や、正常なデータ変換ができず、正常なコンテンツ再生ができない場合であっても、セキュアVMは、その状況に応じて、適切なメッセージを表示部に出力することが可能となり、ユーザは状況を把握することができ、また、コンテンツ再生に必要な手続きなどの情報を提供することも可能となる。   Thus, by presenting a message, for example, even when content decryption or normal data conversion cannot be performed and normal content reproduction cannot be performed, the secure VM can select an appropriate message according to the situation. Can be output to the display unit, the user can grasp the situation, and can also provide information such as procedures necessary for content reproduction.

また、ユーザの入力情報としては、図13、図14を参照して説明した[OK],[Cancel]、[Yes],[No]の単純データではなく、例えば特定のパスワードなどの番号や文字列を入力させて、この入力値をセキュアVM356が受け取り、パスワード確認処理によって、再生条件が満足されるか否かの判定を行ない、再生条件を満足すると判定した場合には、再生可能とするなどの処理を行なう構成としてもよい。   The user input information is not the simple data of [OK], [Cancel], [Yes], [No] described with reference to FIGS. 13 and 14, but a number or character such as a specific password. When the secure VM 356 receives the input value by inputting a column and determines whether or not the playback condition is satisfied by the password confirmation process, if it is determined that the playback condition is satisfied, the playback is enabled. It is good also as a structure which performs this process.

(4.2)レジスタを利用したメッセージ表示およびコンテンツ利用制御
次に、レジスタを利用したメッセージ表示処理、さらに、コンテンツの利用制御処理例について説明する。
(4.2) Message Display and Content Usage Control Using Register Next, an example of message display processing using a register and a content usage control process will be described.

図15にレジスタを利用したメッセージ表示処理、さらに、コンテンツの利用制御処理を実現する基本構成を示す。図15に示すセキュアVM356は、図6、図10および図11を参照して説明したセキュアVM356と同様のセキュアVM356である。すなわち、データ変換処理を実行するホスト内にバーチャルマシンとして設定されるセキュアVM356であり、セキュリティ情報処理部として機能する。   FIG. 15 shows a basic configuration for realizing message display processing using a register and further content usage control processing. A secure VM 356 illustrated in FIG. 15 is a secure VM 356 similar to the secure VM 356 described with reference to FIGS. 6, 10, and 11. That is, the secure VM 356 is set as a virtual machine in the host that executes the data conversion process, and functions as a security information processing unit.

セキュリティ情報処理部として機能するセキュアVM356は、図6他を参照して説明したように、命令コード情報を含むデータ変換処理プログラム315を情報記録媒体310から読み出してデータ変換処理を実行する。さらに、セキュアVM356は、ホストアプリケーションを実行しているプレーヤ(情報処理装置)のID情報などをプレーヤ情報355として入力し、また、イベントハンドラ354からの監視情報を入力する。イベントハンドラ354は、セキュアVM356によって実行される処理が正しく行なわれているか否かのエミュレータチェックや、その他のホストアプリケーションや、ホストアプリケーション実行機器としてのプレーヤ(情報処理装置)の処理、状態を監視し、処理エラー、不正処理などが検出された場合には、セキュアVM356に監視情報を入力し、必要に応じて、例えばデータ変換処理を中止させる。   As described with reference to FIG. 6 and others, the secure VM 356 functioning as the security information processing unit reads the data conversion processing program 315 including the instruction code information from the information recording medium 310 and executes the data conversion processing. Further, the secure VM 356 inputs ID information and the like of the player (information processing apparatus) executing the host application as player information 355 and inputs monitoring information from the event handler 354. The event handler 354 monitors the processing and status of an emulator check whether or not the processing executed by the secure VM 356 is correctly performed, other host applications, and a player (information processing apparatus) as a host application execution device. When a processing error, illegal processing, or the like is detected, monitoring information is input to the secure VM 356, and the data conversion processing is stopped as necessary, for example.

本処理例では、このセキュリティ情報処理部として機能するセキュアVM356と、アプリケーション実行部501の間でレジスタを利用してメッセージやコマンド、あるいはパラメータ、データ等を転送する。アプリケーション実行部501は、アプリケーションレイヤ(またはAVレイヤとも呼ばれる)でのデータ処理実行部であり、このアプリケーション実行部501で実行されるアプリケーションには、様々なデータ処理を実行するアプリケーション・プログラムが含まれる。   In this processing example, a message, command, parameter, data, or the like is transferred between the secure VM 356 functioning as the security information processing unit and the application execution unit 501 using a register. The application execution unit 501 is a data processing execution unit in an application layer (also referred to as an AV layer), and applications executed by the application execution unit 501 include application programs that execute various data processing. .

図6、図10および図11を参照して説明したホスト350によるコンテンツ再生処理を実行するPC等の情報処理装置においては、様々なアプリケーション・プログラムが実行される。例えば、先に、項目(4.1)において説明したと同様、PC等の情報処理装置の表示部に、各種のメッセージ表示を実行しユーザ入力を受領するUI機能を提供するUI機能提供プログラムや、あるいは、情報記録媒体に格納された例えばJava(登録商標)やHDMV対応のコンテンツを実行するアプリケーション・プログラムなどが実行される。なお、このアプリケーション・プログラムは、情報処理装置がハードディスクなどに記憶して予め保持していたプログラム、あるいは情報記録媒体から読み出されたプログラムのいずれでもよい。   Various application programs are executed in an information processing apparatus such as a PC that executes content reproduction processing by the host 350 described with reference to FIGS. 6, 10, and 11. For example, as described above in item (4.1), a UI function providing program for providing a UI function for displaying various messages and receiving user input on a display unit of an information processing apparatus such as a PC, Alternatively, for example, an application program for executing Java (registered trademark) or HDMV compatible content stored in the information recording medium is executed. The application program may be either a program stored in advance in the information processing apparatus on a hard disk or the like, or a program read from an information recording medium.

情報記録媒体には、例えば映画等のAVストリームが格納されるとともに、例えばサーピスコンテンツ、おまけコンテンツなどの設定などでゲームや映像、動画コンテンツなどの小型コンテンツが併せて記録されることがある。これらのコンテンツの多くはJava(登録商標)やHDMV対応のコンテンツとして記録される。これらの小型のコンテンツは、前述した暗号化処理やデータ変換処理の施されるAVコンテンツとは異なり、暗号化処理やデータ変換処理のようなコンテンツ保護が施されることは少ない。   In the information recording medium, for example, an AV stream such as a movie is stored, and a small content such as a game, a video, and a moving image content may be recorded together with settings such as service content and bonus content. Many of these contents are recorded as Java (registered trademark) or HDMV compatible contents. These small contents are rarely subjected to content protection such as encryption processing and data conversion processing, unlike the AV content subjected to encryption processing and data conversion processing described above.

しかし、このような小型のコンテンツであっても、不正にコピーされ利用されることは好ましくない。本処理例では、このようなコンテンツについて、図15に示すレジスタを利用した構成を適用してコンテンツの利用制御を実現する。   However, it is not preferable that such small contents are illegally copied and used. In this processing example, content usage control is realized for such content by applying the configuration using the register shown in FIG.

図15に示すように、セキュアVM356と、アプリケーション実行部501の間では、レジスタ511,512を利用してメッセージやコマンド、あるいはパラメータ、データ等が転送される。図15に示す例では、セキュアVM356の書き込みレジスタおよびアプリケーション実行部501の読み出しレジスタとしてレジスタ(PSR)511を使用し、セキュアV356の読み出しレジスタおよびアプリケーション実行部501の書き込みレジスタとしてレジスタ(GPR)512を使用した例を示している。レジスタ(PSR)511は、プレイヤ・ステータスレジスタ、レジスタ(GPR)512は、ジェネラル・パーパスレジスタであり既存のレジスタを利用した構成となっている。なお、レジスタの使用構成は、一例を示しているにすぎず、セキュアVM356と、アプリケーション実行部501の間でデータのやり取りが可能なレジスタを適用すればよい。   As illustrated in FIG. 15, messages, commands, parameters, data, and the like are transferred between the secure VM 356 and the application execution unit 501 using registers 511 and 512. In the example illustrated in FIG. 15, the register (PSR) 511 is used as the write register of the secure VM 356 and the read register of the application execution unit 501, and the register (GPR) 512 is used as the write register of the secure V356 and the application execution unit 501. The example used is shown. A register (PSR) 511 is a player status register, and a register (GPR) 512 is a general purpose register, which uses an existing register. Note that the use configuration of the register is merely an example, and a register that can exchange data between the secure VM 356 and the application execution unit 501 may be applied.

(4.2.1)レジスタを利用したUI機能提供アプリケーションの実行例
まず、図15に示すレジスタ利用構成において、アプリケーションレイヤにおいて実行するアプリケーションをUI機能提供アプリケーションとして設定した場合の処理例について図16を参照して説明する。
(4.2.1) Example of Executing UI Function Providing Application Using Register First, in the register using configuration shown in FIG. 15, an example of processing when an application to be executed in the application layer is set as a UI function providing application is shown in FIG. Will be described with reference to FIG.

アプリケーションレイヤにおいて通常実行されるアプリケーションは、情報記録媒体に格納された例えばJava(登録商標)やHDMV対応のコンテンツを実行するアプリケーション・プログラムである。本処理例では、これらのアプリケーションにUI機能を実行させる。すなわち、アプリケーションレイヤにおいて実行されるアプリケーションをUI機能提供アプリケーション実行部521として設定する。   An application that is normally executed in the application layer is an application program that executes, for example, Java (registered trademark) or HDMV compatible content stored in an information recording medium. In this processing example, these applications are caused to execute a UI function. That is, the application executed in the application layer is set as the UI function providing application execution unit 521.

図16には、セキュリティ情報処理部として機能するセキュアVM356と、UI機能提供アプリケーション実行部521と、レジスタ511,512を示しており、セキュアVM356と、UI機能提供アプリケーション実行部521が実行する処理シーケンスを処理ステップS201〜S207として示してある。各処理ステップについて説明する。   FIG. 16 shows a secure VM 356 functioning as a security information processing unit, a UI function providing application execution unit 521, and registers 511 and 512, and a processing sequence executed by the secure VM 356 and the UI function providing application execution unit 521 Are shown as processing steps S201 to S207. Each processing step will be described.

まず、ステップS201において、セキュアVM356が、コンテンツ再生処理において、何らかのセキュリティ問題を検出したとする。先に図6他を参照して説明したように、セキュアVM356は、イベントハンドラ354からの監視情報を受け取り、処理エラー、不正処理などが検出された場合には、セキュアVM356にこれらの情報が入力される。   First, in step S201, it is assumed that the secure VM 356 detects some security problem in the content reproduction process. As described above with reference to FIG. 6 and others, the secure VM 356 receives monitoring information from the event handler 354, and when a processing error, illegal processing, or the like is detected, these information are input to the secure VM 356. Is done.

コンテンツ再生処理において、何らかのセキュリティ問題などエラーが検出された場合、セキュアVM356は、ステップS202において、予め各エラーに対応して設定されたエラーコードをレジスタ(PSR)511に書き込む。   If an error such as a security problem is detected in the content reproduction process, the secure VM 356 writes an error code set in advance corresponding to each error in the register (PSR) 511 in step S202.

次に、ステップS203において、UI機能提供アプリケーション実行部521は、レジスタ(PSR)511に書き込まれたエラーコードを取得する。UI機能提供アプリケーション実行部521は、例えば予め設定される間隔で定期的にレジスタ(PSR)511を参照する処理を実行する。UI機能提供アプリケーション実行部521は、レジスタ(PSR)511に書き込まれたエラーコードを取得した後、ステップS204において、取得エラーコードに対応して設定されたメッセージを表示部に出力する。   In step S <b> 203, the UI function providing application execution unit 521 acquires the error code written in the register (PSR) 511. The UI function providing application execution unit 521 executes a process of periodically referring to the register (PSR) 511 at, for example, a preset interval. After acquiring the error code written in the register (PSR) 511, the UI function providing application execution unit 521 outputs a message set corresponding to the acquired error code to the display unit in step S204.

表示部に表示されるメッセージデータは、たとえば、先に図14を参照して説明したようなメッセージおよびユーザ入力部が設定された表示データなどである。UI機能提供アプリケーション実行部521は、ステップS205において、ユーザ入力を検出すると、ステップS206において、ユーザ入力情報をレジスタ(GPR)512に書き込む。さらに、ステップS207において、セキュアVM356は、レジスタ(GPR)512に書き込まれたユーザ入力情報を取得する。セキュアVM356は、定期的にレジスタ(GPR)512をチェックし、書き込み情報が得られるまで、あるいは所定のタイムアウト時間に至るまでレジスタチェックを繰り返し実行する。   The message data displayed on the display unit is, for example, a message as described above with reference to FIG. 14 and display data in which the user input unit is set. When the UI function providing application execution unit 521 detects the user input in step S205, the UI function providing application execution unit 521 writes the user input information in the register (GPR) 512 in step S206. Further, in step S207, the secure VM 356 acquires the user input information written in the register (GPR) 512. The secure VM 356 periodically checks the register (GPR) 512 and repeatedly executes the register check until write information is obtained or a predetermined timeout time is reached.

この図16に示す処理構成は、セキュアVM356と、UI機能提供アプリケーション実行部521がレジスタを介した情報入出力を行なうことで、表示部を適用したユーザに対するメッセージ提示とユーザ入力の検出を可能とした構成である。このように、メッセージの提示を行なうことで、例えばコンテンツ復号や、正常なデータ変換ができず、正常なコンテンツ再生ができない場合であっても、セキュアVMは、レジスタおよびアプリケーションを介してその状況に応じて、適切なメッセージを表示部に出力することが可能となり、ユーザは状況を把握することができ、また、コンテンツ再生に必要な手続きなどの情報を提供することも可能となる。   The processing configuration shown in FIG. 16 enables the secure VM 356 and the UI function providing application execution unit 521 to input and output information via a register, thereby enabling message presentation to the user to which the display unit is applied and detection of user input. This is the configuration. Thus, by presenting the message, for example, even when content decryption or normal data conversion cannot be performed and normal content reproduction cannot be performed, the secure VM can be in the situation via the register and the application. Accordingly, an appropriate message can be output to the display unit, the user can grasp the situation, and can provide information such as a procedure necessary for content reproduction.

(4.2.2)レジスタ利用およびタイトル切り替えによるUI機能提供例
次に、セキュリティ情報処理部として機能するセキュアVM356が、タイトル切り替えコマンドをアプリケーションレイヤに出力して、アプリケーションレイヤで実行中のプログラムのタイトルを切り替えて、メッセージ提示などのUI機能提供アプリケーションに切り替えて、メッセージ提示やユーザ入力を受領する処理例について、図17を参照して説明する。
(4.2.2) UI Function Providing Example Using Register Usage and Title Switching Next, the secure VM 356 functioning as a security information processing unit outputs a title switching command to the application layer, and the program being executed in the application layer A processing example of switching the title and switching to a UI function providing application such as message presentation to receive message presentation or user input will be described with reference to FIG.

図17には、セキュリティ情報処理部として機能するセキュアVM356と、アプリケーション実行部522と、レジスタ511,512を示している。本処理例では、セキュアVM356が、タイトル切り替えコマンドをアプリケーション実行部522に出力して、アプリケーション実行部522で実行中のプログラムのタイトルを切り替えて、メッセージ提示などのUI機能提供アプリケーションに切り替える処理を実行する。従って、アプリケーション実行部522は、UI機能提供アプリケーション以外のアプリケーションAやUI機能提供アプリケーションなど様々なアプリケーション・プログラムが実行されるアプリケーションレイヤを示している。   FIG. 17 illustrates a secure VM 356 functioning as a security information processing unit, an application execution unit 522, and registers 511 and 512. In this processing example, the secure VM 356 outputs a title switching command to the application execution unit 522, switches the title of the program being executed by the application execution unit 522, and executes processing for switching to a UI function providing application such as message presentation. To do. Accordingly, the application execution unit 522 indicates an application layer in which various application programs such as application A and UI function providing application other than the UI function providing application are executed.

セキュアVM356と、アプリケーション実行部522において実行される処理シーケンスを処理ステップS211〜S219として示してある。各処理ステップについて説明する。   Processing sequences executed by the secure VM 356 and the application execution unit 522 are shown as processing steps S211 to S219. Each processing step will be described.

まず、ステップS211において、セキュアVM356が、コンテンツ再生処理において、何らかのセキュリティ問題を検出する。先に図6他を参照して説明したように、セキュアVM356は、イベントハンドラ354からの監視情報を受け取り、処理エラー、不正処理などが検出された場合には、セキュアVM356にこれらの情報が入力される。コンテンツ再生処理において、何らかのセキュリティ問題などエラーが検出された場合、セキュアVM356は、ステップS212において、予め各エラーに対応して設定されたエラーコードをレジスタ(PSR)511に書き込む。   First, in step S211, the secure VM 356 detects some security problem in the content reproduction process. As described above with reference to FIG. 6 and others, the secure VM 356 receives monitoring information from the event handler 354, and when a processing error, illegal processing, or the like is detected, these information are input to the secure VM 356. Is done. If an error such as some security problem is detected in the content reproduction process, the secure VM 356 writes an error code set in advance corresponding to each error in the register (PSR) 511 in step S212.

次に、ステップS213において、セキュアVM356はアプリケーション実行部522に対して、タイトル切り替え指示を出力する。このタイトル切り替え指示は、アプリケーション実行部522において実行中のプログラムのタイトルを切り替えて、メッセージ提示などのUI機能提供アプリケーションに切り替える指示コマンドである。ステップS214において、アプリケーション実行部522は、セキュアVM356からのタイトル切り替えコマンドに従って、実行中のアプリケーションのタイトル切り替え処理を実行し、UI機能提供アプリケーションを実行する。   Next, in step S213, the secure VM 356 outputs a title switching instruction to the application execution unit 522. This title switching instruction is an instruction command for switching the title of a program being executed in the application execution unit 522 to switch to a UI function providing application such as message presentation. In step S214, the application execution unit 522 executes the title switching process of the application being executed in accordance with the title switching command from the secure VM 356, and executes the UI function providing application.

その後の処理は、先に図16を参照して説明したと同様の処理であり、ステップS215において、アプリケーション実行部522におけるUI機能提供アプリケーションは、レジスタ(PSR)511に書き込まれたエラーコードを取得し、ステップS216において、取得エラーコードに対応して設定済みのメッセージを表示部に出力する。   The subsequent processing is the same processing as described above with reference to FIG. 16, and in step S215, the UI function providing application in the application execution unit 522 acquires the error code written in the register (PSR) 511. In step S216, a message that has been set corresponding to the acquisition error code is output to the display unit.

さらに、ステップS217において、ユーザ入力を検出すると、ステップS218において、ユーザ入力情報をレジスタ(GPR)512に書き込む。さらに、ステップS219において、セキュアVM356は、レジスタ(GPR)512に書き込まれたユーザ入力情報を取得する。   Further, when a user input is detected in step S217, user input information is written in the register (GPR) 512 in step S218. In step S219, the secure VM 356 acquires the user input information written in the register (GPR) 512.

この図17に示す処理構成は、セキュリティ情報処理部として機能するセキュアVM356が、アプリケーション実行部522において実行されるアプリケーションを切り替える権限を有し、このアプリケーション切り替えによって、UI機能提供アプリケーションをアプリケーションレイヤにおいて実行させ、レジスタを介してユーザに対するメッセージ提示とユーザ入力の検出を可能とした構成である。   In the processing configuration illustrated in FIG. 17, the secure VM 356 functioning as the security information processing unit has an authority to switch an application executed in the application execution unit 522, and the UI function providing application is executed in the application layer by the application switching. In this configuration, it is possible to present a message to a user and detect a user input via a register.

本構成においては、UI機能提供アプリケーションにおいてのみレジスタチェックなどの処理を実行させ、その他の通常のアプリケーションにおいては、レジスタチェックを行なう設定とする必要がなく、アプリケーションレイヤで実行される一般のアプリケーションについての変更は必要としないという利点がある。   In this configuration, processing such as register check is executed only in the UI function providing application, and in other normal applications, it is not necessary to set the register check, and a general application executed in the application layer is not required. There is an advantage that no change is required.

(4.2.3)レジスタ利用によるコンテンツ利用制御処理例
次に、レジスタ利用によるコンテンツ利用制御処理例について、図18を参照して説明する。先に説明したデータ変換処理を適用したコンテンツの保護機構は、前述したように、特定の映画などの大型コンテンツとしてのAVストリームを中心とした保護機構として構成したものであり、このような大型コンテンツではない例えばJava(登録商標)のようなプログラムによって処理される小型のコンテンツについては変換データを設定するといった処理は負担が大きくなるという問題がある。以下では、例えばJava(登録商標)やHDMVなどによって処理される小型のコンテンツについて、レジスタを利用して実行するコンテンツ利用制御構成について説明する。
(4.2.3) Content Usage Control Processing Example Using Registers Next, a content usage control processing example using registers will be described with reference to FIG. The content protection mechanism to which the data conversion processing described above is applied is configured as a protection mechanism centered on an AV stream as a large content such as a specific movie as described above. However, there is a problem that the processing of setting conversion data for a small content processed by a program such as Java (registered trademark) increases the burden. Hereinafter, a content usage control configuration that uses a register for small content processed by, for example, Java (registered trademark) or HDMV will be described.

図18には、セキュリティ情報処理部として機能するセキュアVM356と、例えばJava(登録商標)やHDMVなどによって処理される小型のコンテンツを実行するアプリケーション実行部523と、レジスタ511,512を示している。アプリケーション実行部523は、図に示すようにAVコンテンツとともに情報記録媒体550に格納されたJava(登録商標)やHDMVなどによって処理される小型のコンテンツ551である。   FIG. 18 shows a secure VM 356 that functions as a security information processing unit, an application execution unit 523 that executes small content processed by, for example, Java (registered trademark) or HDMV, and registers 511 and 512. The application execution unit 523 is small content 551 that is processed by Java (registered trademark), HDMV, or the like stored in the information recording medium 550 together with AV content as shown in the figure.

情報記録媒体550から読み出されたJava(登録商標)やHDMVなどによって処理される小型のコンテンツ551は、利用制御を実現するため、コンテンツの実行に必要な特定の処理パラメータを有し、セキュアVM356は、このパラメータを取得する。アプリケーション実行部523は、処理パラメータを含まないJava(登録商標)やHDMVなどによって構成されるコンテンツ実体を取得して再生処理を実行する。ただし、コンテンツの再生処理には、処理パラメータをセキュアVM356から取得することが必要となる。   The small content 551 processed by Java (registered trademark), HDMV, or the like read from the information recording medium 550 has specific processing parameters necessary for the execution of the content in order to realize usage control, and the secure VM 356. Get this parameter. The application execution unit 523 acquires a content entity configured by Java (registered trademark), HDMV, or the like that does not include a processing parameter, and executes a reproduction process. However, it is necessary to acquire processing parameters from the secure VM 356 for content playback processing.

処理パラメータは、例えば、一定のコンテンツ再生区間毎にセキュアVM356が、アプリケーション実行部523にレジスタ(PSR)511を介して提供し、セキュアVM356において、何らかのセキュリティ問題が検出された場合は、パラメータの提供を停止する。このパラメータ提供停止によって、アプリケーション実行部523はコンテンツ再生が不可能となりコンテンツ再生が停止される。本処理例では、このような構成によって、コンテンツの利用制御を実現する。   For example, the secure VM 356 provides the processing parameter to the application execution unit 523 via the register (PSR) 511 for each fixed content playback section. If any security problem is detected in the secure VM 356, the processing parameter is provided. To stop. By stopping the parameter provision, the application execution unit 523 cannot reproduce the content and the content reproduction is stopped. In this processing example, content usage control is realized by such a configuration.

アプリケーション実行部523において実行されるアプリケーション(コンテンツ551)は、例えばJava(登録商標)やHDMVなどのアプリケーションであり、これらのアプリケーシッョンは、アプリケーションの開始前や実行中に間欠的にアプリケーションの実行または継続に必要なパラメータ(P1,P2,P3・・・)をレジスタ(PSR)511を介して取得する。   The application (content 551) executed in the application execution unit 523 is, for example, an application such as Java (registered trademark) or HDMV, and these applications are intermittently displayed before or during the start of the application. Parameters (P1, P2, P3...) Necessary for execution or continuation are acquired via a register (PSR) 511.

例えば、アプリケーション実行部523は、レジスタ(PSR)511から取得したパラメータを適用した排他論理和演算処理、または、パラメータを適用した暗号処理、または、パラメータを適用した暗号処理によって生成した暗号鍵による復号処理によって表示コンテンツデータの生成を行う。   For example, the application execution unit 523 decrypts the encryption key generated by the exclusive OR operation process to which the parameter acquired from the register (PSR) 511 is applied, the encryption process to which the parameter is applied, or the encryption process to which the parameter is applied. Display content data is generated by the processing.

パラメータP1,P2,P3・・・はアプリケーション実行部523において実行されるアプリケーション(コンテンツ551)の所定のプログラム実行単位またはコンテンツの提示単位毎に設定される異なるパラメータであり、アプリケーションの開始時や実行中、所定間隔毎にアプリケーション実行部523は、レジスタ(PSR)511から順次、パラメータP1,P2,P3を取得し、これらの取得パラメータを適用した演算あるいは暗号処理を実行する。   The parameters P1, P2, P3,... Are different parameters set for each predetermined program execution unit or content presentation unit of the application (content 551) executed in the application execution unit 523, and are set when the application is started or executed. Among these, the application execution unit 523 sequentially acquires the parameters P1, P2, and P3 from the register (PSR) 511 at predetermined intervals, and executes an operation or encryption process using these acquired parameters.

例えば、パラメータP1,P2,P3は、アプリケーション実行部523において実行されるアプリケーションによって提示されるコンテンツを表示時間単位で区分した部分コンテンツの暗号化パラメータや、演算パラメータとして設定される。たとえば、コンテンツの提示時間毎に、
時間t1〜t2の部分コンテンツの提示には、パラメータP1を適用した演算処理またはコンテンツ復号処理を必要とする。
時間t2〜t3の部分コンテンツの提示には、パラメータP2を適用した演算処理またはコンテンツ復号処理を必要とする。
時間t3〜t4の部分コンテンツの提示には、パラメータP3を適用した演算処理またはコンテンツ復号処理を必要とする。
などのように、コンテンツの提示には、異なるパラメータを順次、レジスタ(PSR)511から取得して処理を実行することが必要となる設定とされている。
For example, the parameters P1, P2, and P3 are set as encryption parameters for partial content obtained by dividing the content presented by the application executed by the application execution unit 523 in units of display time, or as operation parameters. For example, every time content is presented,
Presentation of partial content at times t1 and t2 requires arithmetic processing or content decoding processing to which the parameter P1 is applied.
Presentation of partial content at times t2 to t3 requires arithmetic processing or content decoding processing to which parameter P2 is applied.
Presentation of partial content at times t3 to t4 requires arithmetic processing or content decoding processing to which parameter P3 is applied.
As described above, in order to present content, it is necessary to acquire different parameters sequentially from the register (PSR) 511 and execute processing.

例えばコンテンツ551の構成データとパラメータ(P1,P2,P3・・)の排他論理和(XOR)演算によって、正しいコンテンツが取得される。あるいはパラメータ(P1,P2,P3・・)を適用した処理によって、異なる復号鍵が、順次、生成され、これらの復号鍵を適用して、部分コンテンツの復号を順次、実行してコンテンツ提示を継続することが可能な設定とされる。   For example, the correct content is acquired by the exclusive OR (XOR) operation of the configuration data of the content 551 and the parameters (P1, P2, P3,...). Alternatively, different decryption keys are sequentially generated by applying the parameters (P1, P2, P3,...), And by applying these decryption keys, partial content is sequentially decrypted and content presentation is continued. It is set to be possible.

セキュアVM356は、アプリケーション実行部523において実行される所定のコンテンツ再生区間毎に異なるパラメータ(P1,P2,P3・・・)を順次、レジスタ(PSR)511に格納し、アプリケーション実行部523において実行中のアプリケーション、例えばJava(登録商標)、HDMVプログラムは、定期的にレジスタ(PSR)511からパラメータ(P1,P2,P3・・・)を取得して、アプリケーションの実行や継続に必要な演算あるいは暗号処理を、取得パラメータを適用して実行する。   The secure VM 356 sequentially stores different parameters (P1, P2, P3...) For each predetermined content playback section executed in the application execution unit 523 in the register (PSR) 511 and is being executed in the application execution unit 523. Applications such as Java (registered trademark) and HDMV programs periodically obtain the parameters (P1, P2, P3...) From the register (PSR) 511, and perform operations or encryption necessary for executing or continuing the application. The process is executed by applying acquisition parameters.

セキュアVM356において、何らかのセキュリティ問題が検出された場合は、パラメータの提供を停止する。このパラメータ提供停止によって、アプリケーション実行部523はコンテンツ再生が不可能となりコンテンツ再生が停止される。本処理例では、このような構成によって、コンテンツの利用制御を実現する。   If any security problem is detected in the secure VM 356, the provision of parameters is stopped. By stopping the parameter provision, the application execution unit 523 cannot reproduce the content and the content reproduction is stopped. In this processing example, content usage control is realized by such a configuration.

なお、アプリケーション実行部523は、定期的に、レジスタ512(GPR)を介してセキュアVM356にメッセージを送る構成とし、例えば新たなパラメータの取得が必要となるタイミング毎にレジスタ512(GPR)にパラメータ要求メッセージかを書き込み、セキュアVM356がレジスタ512(GPR)に書き込まれたパラメータ要求に応じてレジスタ(PSR)511に対してパラメータ書き込みを行なう設定としてもよい。   The application execution unit 523 periodically sends a message to the secure VM 356 via the register 512 (GPR). For example, a parameter request is sent to the register 512 (GPR) at each timing when a new parameter needs to be acquired. The message may be written, and the secure VM 356 may be set to write parameters to the register (PSR) 511 in response to the parameter request written to the register 512 (GPR).

図18を参照して、コンテンツ利用制御処理シーケンスについて説明する。セキュアVM356と、アプリケーション実行部523において実行される処理シーケンスを処理ステップS221〜S224として示してある。各処理ステップについて説明する。   With reference to FIG. 18, the content usage control processing sequence will be described. Processing sequences executed by the secure VM 356 and the application execution unit 523 are shown as processing steps S221 to S224. Each processing step will be described.

まず、ステップS221において、セキュリティ情報処理部として機能するセキュアVM356が、セキュリティ問題の有無を判定する。先に図6他を参照して説明したように、セキュアVM356は、イベントハンドラ354からの監視情報を受け取り、処理エラー、不正処理などが検出された場合には、セキュアVM356にこれらの情報が入力される。特にセキュリティ問題が検出されない場合、セキュアVM356は、レジスタ(PSR)511に、アプリケーションの実行に必要となるパラメータを書き込む。   First, in step S221, the secure VM 356 functioning as a security information processing unit determines whether there is a security problem. As described above with reference to FIG. 6 and others, the secure VM 356 receives monitoring information from the event handler 354, and when a processing error, illegal processing, or the like is detected, these information are input to the secure VM 356. Is done. In particular, when a security problem is not detected, the secure VM 356 writes a parameter necessary for executing the application in the register (PSR) 511.

次に、ステップS223において、アプリケーション実行部523は、レジスタ(PSR)511に書き込まれたパラメータを取得し、ステップS224において、レジスタ読み取り値を適用してアプリケーションを実行する。   Next, in step S223, the application execution unit 523 acquires the parameter written in the register (PSR) 511, and executes the application by applying the register read value in step S224.

セキュアVM356によるレジスタ(PSR)511に対するパラメータ書き込みは、定期的に実行され、アプリケーション実行部523は、レジスタ(PSR)511に書き込まれたパラメータを定期的に取得し、取得したパラメータを利用したアプリケーション実行を行なう。   The parameter writing to the register (PSR) 511 by the secure VM 356 is periodically executed, and the application execution unit 523 periodically acquires the parameter written in the register (PSR) 511 and executes the application using the acquired parameter. To do.

例えば、セキュアVM356は、アプリケーション実行部523において実行される所定のコンテンツ再生区間毎に異なるパラメータ(P1,P2,P3・・・)を順次、レジスタ(PSR)511に格納する。アプリケーション実行部523において実行中のアプリケーション、例えばJava(登録商標)、HDMVプログラムは、定期的にレジスタ(PSR)511からパラメータ(P1,P2,P3・・・)を取得して、アプリケーションの実行や継続に必要な演算あるいは暗号処理などを、レジスタ(PSR)511から取得したパラメータを適用して実行する。   For example, the secure VM 356 sequentially stores different parameters (P1, P2, P3...) For each predetermined content playback section executed by the application execution unit 523 in the register (PSR) 511. An application being executed in the application execution unit 523, such as a Java (registered trademark) or HDMV program, periodically acquires parameters (P1, P2, P3...) From the register (PSR) 511, An operation necessary for continuation or cryptographic processing is executed by applying the parameters acquired from the register (PSR) 511.

セキュアVM356において、不正処理などセキュリティ問題が検出された場合には、セキュアVM356は、レジスタ(PSR)511に対するパラメータの書き込み処理を停止する。このパラメータ書き込み停止によって、アプリケーション実行部523は、レジスタ(PSR)511からのパラメータ取得に失敗し、パラメータを利用したアプリケーション実行が不可能となり、コンテンツ再生は停止される。   When a security problem such as an unauthorized process is detected in the secure VM 356, the secure VM 356 stops the parameter writing process to the register (PSR) 511. By stopping the parameter writing, the application execution unit 523 fails to acquire the parameter from the register (PSR) 511, the application execution using the parameter becomes impossible, and the content reproduction is stopped.

このように、本処理例では、上述した暗号化やデータ変換のようなコンテンツ保護機能を持たない例えば、Java(登録商標)やHDMVなどによって処理される小型のコンテンツについても、簡易な構成、すなわちセキュアVMからアプリケーションに対するパラメータの提供という簡易な構成で、コンテンツの利用制御が実現される。   As described above, in this processing example, even a small content processed by, for example, Java (registered trademark) or HDMV, which does not have a content protection function such as encryption or data conversion described above, has a simple configuration, Content usage control is realized with a simple configuration of providing parameters to the application from the secure VM.

なお、本処理例において、セキュリティ問題が発生し、コンテンツの再生が停止された場合には、先に、説明したメッセージ提示処理によって、ユーザにコンテンツ再生の停止理由などの通知を行なうことができる。   In this processing example, when a security problem occurs and content reproduction is stopped, the user can be notified of the reason for stopping the content reproduction by the previously described message presentation processing.

(4.2.4)アプリケーション実行部の使用レジスタの利用による処理例1
次に、アプリケーション実行部が使用するレジスタの一部をセキュリティ情報処理部として機能するセキュアVM356が利用して読み書き可能な構成とすることで、メッセージ提示やユーザ入力の受領、さらに、セキュアVM356とアプリケーション実行部との間の信頼性確認処理を可能とした構成例について、図19を参照して説明する。
(4.2.4) Processing Example 1 by Using Registers Used by Application Execution Unit
Next, the secure VM 356 functioning as the security information processing unit uses a part of the register used by the application execution unit so as to be readable and writable so that message presentation and user input can be received, and the secure VM 356 and application A configuration example that enables the reliability confirmation process with the execution unit will be described with reference to FIG.

図19には、セキュリティ情報処理部として機能するセキュアVM356と、例えば、AV−Layerに設定されるアプリケーション実行部524と、3つのレジスタX(PSR−X)571,レジスタY(PSR−Y)572,レジスタZ(PSR−Z)573を示している。   FIG. 19 shows a secure VM 356 functioning as a security information processing unit, an application execution unit 524 set in, for example, AV-Layer, three registers X (PSR-X) 571, and a register Y (PSR-Y) 572. , Register Z (PSR-Z) 573.

レジスタX(PSR−X)571は、セキュアVM356が書き込み(Write)を実行し、アプリケーション実行部524が読み取り(Read)を実行するレジスタである。レジスタX(PSR−X)571に対して、セキュアVM356が書き込み(Write)を実行すると、レジスタX(PSR−X)571の変化に基づくイベント通知が、アプリケーション実行部524になされ、アプリケーション実行部524は、レジスタX(PSR−X)571に対する書き込み(Write)が実行されたことを知ることができる。   The register X (PSR-X) 571 is a register in which the secure VM 356 executes writing (Write) and the application execution unit 524 executes reading (Read). When the secure VM 356 writes (Write) to the register X (PSR-X) 571, an event notification based on the change in the register X (PSR-X) 571 is made to the application execution unit 524, and the application execution unit 524 Can know that writing to the register X (PSR-X) 571 has been executed.

例えばメッセージ提示や、Java(登録商標)やHDMVなどのアプリケーションを実行するアプリケーション実行部524は、レジスタX(PSR−X)571に対する書き込み(Write)が実行されたことの通知を受け取ったらレジスタX(PSR−X)571をチェックし、値に応じて警告メッセージを表示するなどの処理を行う。   For example, the application execution unit 524 that executes message presentation or an application such as Java (registered trademark) or HDMV receives the notification that the write (Write) to the register X (PSR-X) 571 has been executed. PSR-X) 571 is checked, and a warning message is displayed according to the value.

また、レジスタY(PSR−Y)572は、アプリケーション実行部524が書き込み(Write)を実行し、セキュアVM356が読み取り(Read)を実行するレジスタである。メッセージ提示や、Java(登録商標)やHDMVなどのアプリケーションを実行するアプリケーション実行部524は、セキュアVM356に対して通知する内容に対応する値をレジスタY(PSR−Y)572に書き込む。   A register Y (PSR-Y) 572 is a register in which the application execution unit 524 executes writing (Write) and the secure VM 356 executes reading (Read). The application execution unit 524 that executes message presentation or an application such as Java (registered trademark) or HDMV writes a value corresponding to the content notified to the secure VM 356 in the register Y (PSR-Y) 572.

レジスタY(PSR−Y)572にデータが書き込まれると、セキュアVM356に対して通知(INTRP:interrupt)がなされる。セキュアVM356は、レジスタY(PSR−Y)572に書き込まれた値に応じた処理を行う。レジスタY(PSR−Y)572には、例えば、アプリケーション実行部524が実行したメッセージ表示に対するユーザ入力値が書き込まれる。   When data is written to the register Y (PSR-Y) 572, the secure VM 356 is notified (INTRP: interrupt). The secure VM 356 performs processing according to the value written in the register Y (PSR-Y) 572. In the register Y (PSR-Y) 572, for example, a user input value for a message display executed by the application execution unit 524 is written.

レジスタZ(PSR−Z)573は、セキュアVM356、およびアプリケーション実行部524の双方が書き込み(Write)および読み取り(Read)を実行可能なレジスタである。このレジスタZ(PSR−Z)573は、セキュアVM356、およびアプリケーション実行部524相互間の処理状況通知用レジスタとして利用される。   The register Z (PSR-Z) 573 is a register in which both the secure VM 356 and the application execution unit 524 can execute write (Write) and read (Read). The register Z (PSR-Z) 573 is used as a processing status notification register between the secure VM 356 and the application execution unit 524.

本構成を利用したメッセージ提示およびユーザ入力受領処理シーケンスについて、図20を参照して説明する。図20には、セキュリティ情報処理部として機能するセキュアVM356と、アプリケーション実行部524と、3つのレジスタX(PSR−X)571,レジスタY(PSR−Y)572,レジスタZ(PSR−Z)573を示している。   A message presentation and user input reception processing sequence using this configuration will be described with reference to FIG. 20 shows a secure VM 356 functioning as a security information processing unit, an application execution unit 524, three registers X (PSR-X) 571, a register Y (PSR-Y) 572, and a register Z (PSR-Z) 573. Is shown.

アプリケーション実行部524において通常実行されるアプリケーションは、情報記録媒体に格納された例えばJava(登録商標)やHDMV対応のコンテンツを実行するアプリケーション・プログラムである。図20には、セキュアVM356と、アプリケーション実行部524が実行する処理シーケンスを処理ステップS231〜S237として示してある。各処理ステップについて説明する。   The application that is normally executed in the application execution unit 524 is an application program that executes, for example, Java (registered trademark) or HDMV compatible content stored in the information recording medium. In FIG. 20, the processing sequence executed by the secure VM 356 and the application execution unit 524 is shown as processing steps S231 to S237. Each processing step will be described.

まず、ステップS231において、セキュアVM356が、コンテンツ再生処理において、何らかのセキュリティ問題を検出したとする。先に図6他を参照して説明したように、セキュアVM356は、イベントハンドラ354からの監視情報を受け取り、処理エラー、不正処理などが検出された場合には、セキュアVM356にこれらの情報が入力される。   First, in step S231, it is assumed that the secure VM 356 detects some security problem in the content reproduction process. As described above with reference to FIG. 6 and others, the secure VM 356 receives monitoring information from the event handler 354, and when a processing error, illegal processing, or the like is detected, these information are input to the secure VM 356. Is done.

コンテンツ再生処理において、何らかのセキュリティ問題などエラーが検出された場合、セキュアVM356は、ステップS232において、予め各エラーに対応して設定されたエラーコードをレジスタX(PSR−X)571に書き込む。このレジスタ書き込みによって、レジスタX(PSR−X)571の変化に基づくイベント通知が、アプリケーション実行部524になされ、アプリケーション実行部524は、レジスタX(PSR−X)571に対する書き込み(Write)が実行されたことを知ることができる。   If an error such as some security problem is detected in the content reproduction process, the secure VM 356 writes an error code set in advance corresponding to each error in the register X (PSR-X) 571 in step S232. By this register write, an event notification based on the change of the register X (PSR-X) 571 is made to the application execution unit 524, and the application execution unit 524 executes write (Write) to the register X (PSR-X) 571. I can know that.

ステップS233において、アプリケーション実行部524は、イベント通知によって、レジスタ書き込み発生を検知し、レジスタX(PSR−X)571に書き込まれたエラーコードを取得する。アプリケーション実行部524は、レジスタX(PSR−X)571に書き込まれたエラーコードを取得した後、ステップS234において、取得エラーコードに対応して設定されたメッセージを表示部に出力する。   In step S233, the application execution unit 524 detects the occurrence of register write by event notification, and acquires the error code written in the register X (PSR-X) 571. After obtaining the error code written in the register X (PSR-X) 571, the application execution unit 524 outputs a message set corresponding to the obtained error code to the display unit in step S234.

表示部に表示されるメッセージデータは、たとえば、先に図14を参照して説明したようなメッセージおよびユーザ入力部が設定された表示データなどである。アプリケーション実行部524は、ステップS235において、ユーザ入力を検出すると、ステップS236において、ユーザ入力情報をレジスタY(PSR−Y)572に書き込む。   The message data displayed on the display unit is, for example, a message as described above with reference to FIG. 14 and display data in which the user input unit is set. When the application execution unit 524 detects a user input in step S235, the application execution unit 524 writes the user input information in the register Y (PSR-Y) 572 in step S236.

レジスタY(PSR−Y)572にデータが書き込まれると、セキュアVM356に対して通知(INTRP:interrupt)がなされる。セキュアVM356は、レジスタY(PSR−Y)572に書き込まれたことを通知(INTRP:interrupt)によって検出すると、ステップS237において、レジスタY(PSR−Y)572の書き込みデータ、例えば、アプリケーション実行部524が実行したメッセージ表示に対するユーザ入力値を取得し、ユーザ入力値に対応した処理を実行する。   When data is written to the register Y (PSR-Y) 572, the secure VM 356 is notified (INTRP: interrupt). When the secure VM 356 detects that it has been written to the register Y (PSR-Y) 572 by a notification (INTRP: interrupt), in step S237, the secure VM 356 writes data in the register Y (PSR-Y) 572, for example, the application execution unit 524. The user input value for the message display executed by is acquired, and processing corresponding to the user input value is executed.

なお、以上説明した処理シーケンスにおいては、レジスタZ(PSR−Z)573の利用が示されていないが、レジスタZ(PSR−Z)573は、前述したように、セキュアVM356、およびアプリケーション実行部524の双方が書き込み(Write)および読み取り(Read)を実行可能なレジスタであり、セキュアVM356、およびアプリケーション実行部524相互間の処理状況通知用レジスタとして利用される。   In the processing sequence described above, the use of the register Z (PSR-Z) 573 is not shown. However, as described above, the register Z (PSR-Z) 573 includes the secure VM 356 and the application execution unit 524. Both are registers that can execute writing and reading, and are used as processing status notification registers between the secure VM 356 and the application execution unit 524.

例えば、初期状態で、PSR−Zの設定値=0として設定され、セキュアVM356の処理が終了し、アプリケーション実行部524の処理手順になった場合にPSR−Zの設定値=1として設定し、次に、アプリケーション実行部524の処理が終了し、セキュアVM356の処理手順になった場合にPSR−Zの設定値=2として設定するなどによって、双方の処理手順に応じてプロセスの進み具合に応じた値を設定し、双方が処理シーケンスの進行度を確認可能とすることができる。なお、処理の終了や、中断の場合には、PSR−Zの設定値=0として初期値に戻す設定とする。   For example, in the initial state, when the setting value of PSR-Z = 0 is set, and when the processing of the secure VM 356 ends and the processing procedure of the application execution unit 524 is reached, the setting value of PSR-Z = 1 is set, Next, when the processing of the application execution unit 524 is completed and the processing procedure of the secure VM 356 is reached, the setting value of PSR-Z is set to 2 or the like. It is possible for both parties to confirm the progress of the processing sequence. In the case of the end of processing or interruption, the setting value of PSR-Z is set to 0 to return to the initial value.

このように、セキュアVM356、およびアプリケーション実行部524は、レジスタZ(PSR−Z)573をセキュアVM356、およびアプリケーション実行部524相互間の処理状況通知用レジスタとして利用することで、処理シーケンスに従った確実な処理の実行が可能となる。   In this way, the secure VM 356 and the application execution unit 524 follow the processing sequence by using the register Z (PSR-Z) 573 as a register for processing status notification between the secure VM 356 and the application execution unit 524. Certain processing can be executed.

さらに、図19に示すセキュアVM356、およびアプリケーション実行部524の双方が利用可能な3つのレジスタX(PSR−X)571,レジスタY(PSR−Y)572,レジスタZ(PSR−Z)573を利用することで、セキュアVM356と、アプリケーション実行部524との間での信頼性確認処理を実行することができる。   Further, three registers X (PSR-X) 571, register Y (PSR-Y) 572, and register Z (PSR-Z) 573 that can be used by both the secure VM 356 and the application execution unit 524 shown in FIG. As a result, the reliability check process between the secure VM 356 and the application execution unit 524 can be executed.

図21を参照して、セキュアVM356と、アプリケーション実行部524との間での信頼性確認処理シーケンスについて説明する。図21は、セキュアVM356と、アプリケーション実行部524との間でチャレンジ/レスポンス処理を行うことにより、お互いに正常に動作していることを確認する処理のシーケンスを説明する図である。核ステップについて説明する。   A reliability confirmation processing sequence between the secure VM 356 and the application execution unit 524 will be described with reference to FIG. FIG. 21 is a diagram for explaining a sequence of processes for confirming that the secure VM 356 and the application execution unit 524 are operating normally by performing a challenge / response process. The nuclear step will be described.

まず、ステップS241−aにおいて、アプリケーション実行部524は、適当な値(例えば乱数)を生成し、レジスタY(PSR−Y)572に書き込む。さらに、ステップS241−bにおいて、レジスタZ(PSR−Z)573に状態値(例えば2)を書き込む。   First, in step S241-a, the application execution unit 524 generates an appropriate value (for example, a random number) and writes it in the register Y (PSR-Y) 572. Further, in step S241-b, a state value (for example, 2) is written in the register Z (PSR-Z) 573.

セキュアVM356は、レジスタY(PSR−Y)572にデータが書き込まれたことを通知(INTRP_PresentationLayer)により検出し、ステップS242において、レジスタY(PSR−Y)572の書き込みデータを読み取る。   The secure VM 356 detects that data has been written to the register Y (PSR-Y) 572 by notification (INTRP_PresentationLayer), and reads the write data of the register Y (PSR-Y) 572 in step S242.

さらに、セキュアVM356は、レジスタY(PSR−Y)572からの読み取り値(乱数)に対して予め定められたデータ処理、例えば演算処理あるいは暗号処理などを実行し、ステップS243−aにおいて、この結果値をレジスタX(PSR−X)571に書き込む。セキュアVM356は、この処理に際してステップS243−bにおいて、レジスタZ(PSR−Z)573に状態値(例えば1)を書き込む。   Further, the secure VM 356 executes predetermined data processing such as arithmetic processing or encryption processing on the read value (random number) from the register Y (PSR-Y) 572, and in step S243-a, the result is obtained. The value is written to the register X (PSR-X) 571. In this process, the secure VM 356 writes a state value (for example, 1) in the register Z (PSR-Z) 573 in step S243-b.

ステップS244において、アプリケーション実行部524は、レジスタX(PSR−X)571の書き込みデータを読み取り、ステップS245において、読み取りデータの検証を実行する。例えば、アプリケーション実行部524によって生成し、セキュアVM356に通知した乱数に基づいて自ら演算あるいは暗号処理を実行した結果と比較照合を実行し、レジスタX(PSR−X)571からの読み取り値と一致すれば、セキュアVM356は、正当な処理を実行しているセキュアVM356であると判断する。なお、セキュアVM356と、アプリケーション実行部524が乱数に対して実行する演算処理あるいは暗号処理は共有する秘密情報に基づく処理を行なう設定とすることが好ましい。   In step S244, the application execution unit 524 reads the write data in the register X (PSR-X) 571, and executes verification of the read data in step S245. For example, the result of comparison or comparison with the result of self-calculation or cryptographic processing based on the random number generated by the application execution unit 524 and notified to the secure VM 356 is executed, and the read value from the register X (PSR-X) 571 is matched. For example, the secure VM 356 determines that the secure VM 356 is executing a legitimate process. Note that it is preferable that the calculation process or encryption process executed by the secure VM 356 and the application execution unit 524 with respect to the random number is set to perform a process based on shared secret information.

なお、図21に示す信頼性確認処理は、複数回繰り返し実行してもよく、また、乱数発行をセキュアVM356が実行する構成としてもよい。この信頼性確認機能を有することによって、アプリケーション実行部524において実行されるアプリケーションについての信頼性確認が可能となるため、アプリケーションレイヤ(AVレイヤ)のロバストネス(Robustness)に特に制限を設けることなく、従来通りの実装で良い点が非常に大きな利点となる。   Note that the reliability confirmation process illustrated in FIG. 21 may be repeatedly executed a plurality of times, or a random number may be issued by the secure VM 356. By having this reliability confirmation function, it is possible to confirm the reliability of the application executed in the application execution unit 524. Therefore, the application layer (AV layer) robustness (Robustness) is not particularly limited, Good points in the street implementation is a huge advantage.

アプリケーション実行部524としてのAVレイヤにおいて実行されるアプリケーションは、通常のCPUで処理されることが多く、高度なロバストネス(Robustness)が要求されると実装コストが非常に高くなってしまうが、本処理例の如く、セキュアVM356と、アプリケーション実行部524との間での信頼性確認を実行可能としたことで、プリケーション実行部524において実行されるアプリケーションに対して高度なロバストネス(Robustness)が要求することのない設定が可能となる。   An application executed in the AV layer as the application execution unit 524 is often processed by a normal CPU, and when high robustness is required, the implementation cost becomes very high. As in the example, since the reliability check between the secure VM 356 and the application execution unit 524 can be executed, a high robustness (Robustness) is required for the application executed in the application execution unit 524. It is possible to set without any problems.

(4.2.5)アプリケーション実行部の使用レジスタの利用による処理例2
次に、アプリケーション実行部が使用するレジスタの一部をセキュリティ情報処理部として機能するセキュアVM356が利用して読み書き可能なもう1つの構成例について図22を参照して説明する。本処理例も、メッセージ提示やユーザ入力の受領、さらに、セキュアVM356とアプリケーション実行部との間の信頼性確認処理を可能とした構成を持つ。
(4.2.5) Processing example 2 by using registers used by application execution unit
Next, another configuration example in which a part of a register used by the application execution unit can be read and written by using the secure VM 356 functioning as the security information processing unit will be described with reference to FIG. This processing example also has a configuration that enables message presentation, user input reception, and reliability confirmation processing between the secure VM 356 and the application execution unit.

図22には、セキュリティ情報処理部として機能するセキュアVM356と、例えば、AV−Layerに設定されるアプリケーション実行部525と、2つのレジスタX(PSR−X)581,レジスタY(PSR−Y)582を示している。本構成は、先に図19を参照して説明した構成からレジスタZ(PSR−Z)を省略した構成である。   FIG. 22 shows a secure VM 356 functioning as a security information processing unit, an application execution unit 525 set to, for example, AV-Layer, two registers X (PSR-X) 581, and register Y (PSR-Y) 582. Is shown. In this configuration, the register Z (PSR-Z) is omitted from the configuration described above with reference to FIG.

レジスタX(PSR−X)581は、セキュアVM356が書き込み(Write)を実行し、アプリケーション実行部525が読み取り(Read)を実行するレジスタである。レジスタX(PSR−X)581に対して、セキュアVM356が書き込み(Write)を実行すると、レジスタX(PSR−X)581の変化に基づくイベント通知が、アプリケーション実行部525になされ、アプリケーション実行部525は、レジスタX(PSR−X)581に対する書き込み(Write)が実行されたことを知ることができる。   The register X (PSR-X) 581 is a register in which the secure VM 356 executes writing (Write) and the application execution unit 525 executes reading (Read). When the secure VM 356 writes (Write) to the register X (PSR-X) 581, an event notification based on the change in the register X (PSR-X) 581 is made to the application execution unit 525, and the application execution unit 525. Can know that writing to the register X (PSR-X) 581 has been executed.

例えばメッセージ提示や、Java(登録商標)やHDMVなどのアプリケーションを実行するアプリケーション実行部525は、レジスタX(PSR−X)581に対する書き込み(Write)が実行されたことの通知を受け取ったらレジスタX(PSR−X)581をチェックし、値に応じて警告メッセージを表示するなどの処理を行う。   For example, when the application execution unit 525 that executes message presentation or an application such as Java (registered trademark) or HDMV receives a notification that writing to the register X (PSR-X) 581 has been executed, the register X ( PSR-X) 581 is checked, and a warning message is displayed according to the value.

また、レジスタY(PSR−Y)582は、アプリケーション実行部525が書き込み(Write)を実行し、セキュアVM356が読み取り(Read)を実行するレジスタである。メッセージ提示や、Java(登録商標)やHDMVなどのアプリケーションを実行するアプリケーション実行部525は、セキュアVM356に対して通知する内容に対応する値をレジスタY(PSR−Y)582に書き込む。   A register Y (PSR-Y) 582 is a register in which the application execution unit 525 executes writing (Write) and the secure VM 356 performs reading (Read). The application execution unit 525 that executes message presentation or an application such as Java (registered trademark) or HDMV writes a value corresponding to the content notified to the secure VM 356 in the register Y (PSR-Y) 582.

レジスタY(PSR−Y)582にデータが書き込まれると、セキュアVM356に対して通知(INTRP:interrupt)がなされる。セキュアVM356は、レジスタY(PSR−Y)582に書き込まれた値に応じた処理を行う。レジスタY(PSR−Y)582には、例えば、アプリケーション実行部525が実行したメッセージ表示に対するユーザ入力値が書き込まれる。   When data is written to the register Y (PSR-Y) 582, the secure VM 356 is notified (INTRP: interrupt). The secure VM 356 performs processing according to the value written in the register Y (PSR-Y) 582. In the register Y (PSR-Y) 582, for example, a user input value for a message display executed by the application execution unit 525 is written.

本構成では、先に図19を参照して説明したレジスタZ、すなわち、セキュアVM356、およびアプリケーション実行部525相互間の処理状況通知用レジスタが設定されていない。本処理例では、セキュアVM356、およびアプリケーション実行部525相互間の処理状況通知に、レジスタX(PSR−X)581と、レジスタY(PSR−Y)582の書き込み値を利用する。   In this configuration, the register Z described above with reference to FIG. 19, that is, the register for processing status notification between the secure VM 356 and the application execution unit 525 is not set. In this processing example, the write values of the register X (PSR-X) 581 and the register Y (PSR-Y) 582 are used for processing status notification between the secure VM 356 and the application execution unit 525.

図に示すように、セキュアVM356が書き込み(Write)を実行し、アプリケーション実行部525が読み取り(Read)を実行するレジスタX(PSR−X)581に対して、セキュアVM356が書き込み(Write)を実行する際、レジスタ書き込みデータ591のように、セキュアVM356は、通知内容対応値の他に処理状況ビットをレジスタX(PSR−X)581に書き込む処理を実行する。この処理状況ビットをアプリケーション実行部525が読み取り、処理状況を知ることができる。   As shown in the figure, the secure VM 356 executes writing (Write), and the application executing unit 525 executes writing (Write) to the register X (PSR-X) 581 that executes reading (Read). At this time, like the register write data 591, the secure VM 356 executes a process of writing a processing status bit in the register X (PSR-X) 581 in addition to the notification content corresponding value. The application execution unit 525 can read the processing status bit to know the processing status.

また、アプリケーション実行部525が書き込み(Write)を実行し、セキュアVM356が読み取り(Read)を実行するレジスタY(PSR−Y)582に対して、アプリケーション実行部525が書き込み(Write)を実行する際、レジスタ書き込みデータ592のように、アプリケーション実行部525は、通知内容対応値の他に処理状況ビットをレジスタY(PSR−Y)582に書き込む処理を実行する。この処理状況ビットをセキュアVM356525が読み取り、処理状況を知ることができる。   When the application execution unit 525 executes writing (Write) and the secure VM 356 executes writing (Write) with respect to the register Y (PSR-Y) 582 that executes reading (Read). As in the register write data 592, the application execution unit 525 executes a process of writing the processing status bit in the register Y (PSR-Y) 582 in addition to the notification content corresponding value. The secure VM 356525 can read this processing status bit to know the processing status.

このように本構成では、レジスタX(PSR−X)581とレジスタY(PSR−Y)582に対するデータ書き込みの際に、処理状況ビットを併せて書き込むことで、セキュアVM356、およびアプリケーション実行部524相互間の処理状況通知を実現している。   As described above, in this configuration, when the data is written to the register X (PSR-X) 581 and the register Y (PSR-Y) 582, the processing status bits are written together, thereby allowing the secure VM 356 and the application execution unit 524 to interact with each other. Processing status notification is realized.

本構成を利用したメッセージ提示およびユーザ入力受領処理シーケンスについて、図23を参照して説明する。図23には、セキュリティ情報処理部として機能するセキュアVM356と、アプリケーション実行部525と、2つのレジスタX(PSR−X)581,レジスタY(PSR−Y)582を示している。   A message presentation and user input reception processing sequence using this configuration will be described with reference to FIG. FIG. 23 shows a secure VM 356 functioning as a security information processing unit, an application execution unit 525, and two registers X (PSR-X) 581 and a register Y (PSR-Y) 582.

アプリケーション実行部525において通常実行されるアプリケーションは、情報記録媒体に格納された例えばJava(登録商標)やHDMV対応のコンテンツを実行するアプリケーション・プログラムである。図23には、セキュアVM356と、アプリケーション実行部525が実行する処理シーケンスを処理ステップS241〜S247として示してある。各処理ステップについて説明する。   The application that is normally executed by the application execution unit 525 is an application program that executes, for example, Java (registered trademark) or HDMV compatible content stored in the information recording medium. FIG. 23 shows processing sequences executed by the secure VM 356 and the application execution unit 525 as processing steps S241 to S247. Each processing step will be described.

まず、ステップS241において、セキュアVM356が、コンテンツ再生処理において、何らかのセキュリティ問題を検出したとする。先に図6他を参照して説明したように、セキュアVM356は、イベントハンドラ354からの監視情報を受け取り、処理エラー、不正処理などが検出された場合には、セキュアVM356にこれらの情報が入力される。   First, in step S241, it is assumed that the secure VM 356 detects some security problem in the content reproduction process. As described above with reference to FIG. 6 and others, the secure VM 356 receives monitoring information from the event handler 354, and when a processing error, illegal processing, or the like is detected, these information are input to the secure VM 356. Is done.

コンテンツ再生処理において、何らかのセキュリティ問題などエラーが検出された場合、セキュアVM356は、ステップS242において、予め各エラーに対応して設定されたエラーコードをレジスタX(PSR−X)581に書き込む。このレジスタX(PSR−X)581に対するデータ書き込みに際しては、所定の状況通知ビットを併せて書き込む。   When an error such as some security problem is detected in the content reproduction process, the secure VM 356 writes an error code set in advance corresponding to each error in the register X (PSR-X) 581 in step S242. When writing data to the register X (PSR-X) 581, a predetermined status notification bit is also written.

このレジスタ書き込みによって、レジスタX(PSR−X)581の変化に基づくイベント通知が、アプリケーション実行部525になされ、アプリケーション実行部525は、レジスタX(PSR−X)581に対する書き込み(Write)が実行されたことを知ることができる。   By this register write, an event notification based on the change of the register X (PSR-X) 581 is made to the application execution unit 525, and the application execution unit 525 executes write (Write) to the register X (PSR-X) 581. I can know that.

ステップS243において、アプリケーション実行部525は、イベント通知によって、レジスタ書き込み発生を検知し、レジスタX(PSR−X)581に書き込まれたエラーコードと状況通知ビットを取得する。アプリケーション実行部525は、レジスタX(PSR−X)581に書き込まれたエラーコードを取得した後、ステップS244において、取得エラーコードに対応して設定されたメッセージを表示部に出力する。   In step S243, the application execution unit 525 detects the occurrence of register writing by event notification, and acquires the error code and status notification bit written in the register X (PSR-X) 581. After acquiring the error code written in the register X (PSR-X) 581, the application execution unit 525 outputs a message set corresponding to the acquired error code to the display unit in step S244.

表示部に表示されるメッセージデータは、たとえば、先に図14を参照して説明したようなメッセージおよびユーザ入力部が設定された表示データなどである。アプリケーション実行部525は、ステップS245において、ユーザ入力を検出すると、ステップS246において、ユーザ入力情報をレジスタY(PSR−Y)582に書き込む。このレジスタY(PSR−Y)582に対するデータ書き込みに際しては、所定の状況通知ビットを併せて書き込む。   The message data displayed on the display unit is, for example, a message as described above with reference to FIG. 14 and display data in which the user input unit is set. When the application execution unit 525 detects a user input in step S245, the application execution unit 525 writes the user input information to the register Y (PSR-Y) 582 in step S246. When writing data to the register Y (PSR-Y) 582, a predetermined status notification bit is also written.

レジスタY(PSR−Y)582にデータが書き込まれると、セキュアVM356に対して通知(INTRP:interrupt)がなされる。セキュアVM356は、レジスタY(PSR−Y)582に書き込まれたことを通知(INTRP:interrupt)によって検出すると、ステップS247において、レジスタY(PSR−Y)582の書き込みデータ、例えば、アプリケーション実行部524が実行したメッセージ表示に対するユーザ入力値を取得し、ユーザ入力値に対応した処理を実行する。なお、この際にセキュアVM356レジスタY(PSR−Y)582に書き込まれた状況通知ビットも併せて読み取り、処理状況を確認する。   When data is written to the register Y (PSR-Y) 582, the secure VM 356 is notified (INTRP: interrupt). When the secure VM 356 detects that it has been written to the register Y (PSR-Y) 582 by a notification (INTRP: interrupt), in step S247, the secure VM 356 writes the write data of the register Y (PSR-Y) 582, for example, the application execution unit 524. The user input value for the message display executed by is acquired, and processing corresponding to the user input value is executed. At this time, the status notification bit written in the secure VM 356 register Y (PSR-Y) 582 is also read to check the processing status.

なお、各レジスタに書き込む状況ビットは、先に図20を参照して説明したPSR−Zの設定値の例と同様の設定態様が可能である。例えば初期値としては、状況ビット設定値=0として設定され、セキュアVM356の処理が終了し、アプリケーション実行部525の処理手順になった場合に状況ビット設定値=1として設定し、次に、アプリケーション実行部525の処理が終了し、セキュアVM356の処理手順になった場合に状況ビット設定値=2として設定するなどによって、双方の処理手順に応じてプロセスの進み具合に応じた値を設定し、双方が処理シーケンスの進行度を確認可能とすることができる。なお、処理の終了や、中断の場合には、状況ビットの設定値=0として初期値に戻す設定とする。   The status bits to be written in each register can be set in the same manner as the example of the setting value of PSR-Z described above with reference to FIG. For example, as the initial value, the status bit setting value = 0 is set, and when the processing of the secure VM 356 ends and the processing procedure of the application execution unit 525 is reached, the status bit setting value = 1 is set. When the processing of the execution unit 525 is completed and the processing procedure of the secure VM 356 is reached, a value corresponding to the progress of the process is set according to both processing procedures, such as by setting the status bit setting value = 2. Both can confirm the progress of the processing sequence. In the case of the end of processing or interruption, the setting value of the status bit = 0 is set to return to the initial value.

このように、セキュアVM356、およびアプリケーション実行部525は、レジスタX(PSR−X)581と、レジスタY(PSR−Y)582を利用して相互間の処理状況通知を行い、処理シーケンスに従った確実な処理の実行を実現する。   As described above, the secure VM 356 and the application execution unit 525 notify each other of the processing status using the register X (PSR-X) 581 and the register Y (PSR-Y) 582, and follow the processing sequence. Realize reliable processing execution.

さらに、本構成においても、セキュアVM356、およびアプリケーション実行部525の双方が利用可能なレジスタX(PSR−X)581,レジスタY(PSR−Y)582を利用することで、セキュアVM356と、アプリケーション実行部525との間での信頼性確認処理を実行することができる。   Further, in this configuration, the secure VM 356 and the application execution unit 525 can use both the secure VM 356 and the application execution by using the register X (PSR-X) 581 and the register Y (PSR-Y) 582 that can be used by both. A reliability confirmation process with the unit 525 can be executed.

図24を参照して、セキュアVM356と、アプリケーション実行部525との間での信頼性確認処理シーケンスについて説明する。図24は、セキュアVM356と、アプリケーション実行部525との間でチャレンジ/レスポンス処理を行うことにより、お互いに正常に動作していることを確認する処理のシーケンスを説明する図である。核ステップについて説明する。   With reference to FIG. 24, a reliability confirmation processing sequence between the secure VM 356 and the application execution unit 525 will be described. FIG. 24 is a diagram for explaining a processing sequence for confirming that the secure VM 356 and the application execution unit 525 are operating normally by performing a challenge / response process. The nuclear step will be described.

まず、ステップS251において、アプリケーション実行部525は、適当な値(例えば乱数)を生成し、レジスタY(PSR−Y)582に書き込む。この際、アプリケーション実行部525は、レジスタY(PSR−Y)582に対して処理状態を示す状況ビットを併せて書き込む。   First, in step S251, the application execution unit 525 generates an appropriate value (for example, a random number) and writes it in the register Y (PSR-Y) 582. At this time, the application execution unit 525 writes a status bit indicating the processing state in the register Y (PSR-Y) 582 together.

セキュアVM356は、レジスタY(PSR−Y)582にデータが書き込まれたことを通知(INTRP_PresentationLayer)により検出し、ステップS252において、レジスタY(PSR−Y)582の書き込みデータを読み取る。この読み取りに際して、状況ビットの読み取りも実行し、処理状況の確認を行う。   The secure VM 356 detects that data has been written in the register Y (PSR-Y) 582 by notification (INTRP_PresentationLayer), and reads the write data in the register Y (PSR-Y) 582 in step S252. At the time of reading, the status bit is also read to check the processing status.

次に、セキュアVM356は、レジスタY(PSR−Y)582からの読み取り値(乱数)に対して予め定められたデータ処理、例えば演算処理あるいは暗号処理などを実行し、ステップS253において、この結果値をレジスタX(PSR−X)581に書き込む。セキュアVM356は、この処理に際して、セキュアVM356は、レジスタX(PSR−X)581に対して処理状態を示す状況ビットを併せて書き込む。   Next, the secure VM 356 performs predetermined data processing such as arithmetic processing or encryption processing on the read value (random number) from the register Y (PSR-Y) 582, and in step S253, the result value Is written in the register X (PSR-X) 581. In this process, the secure VM 356 writes a status bit indicating a processing state in the register X (PSR-X) 581 together.

ステップS254において、アプリケーション実行部525は、レジスタX(PSR−X)581の書き込みデータを読み取る。この読み取りに際して、状況ビットの読み取りも実行し、処理状況の確認を行う。   In step S254, the application execution unit 525 reads the write data in the register X (PSR-X) 581. At the time of reading, the status bit is also read to check the processing status.

次に、ステップS255において、アプリケーション実行部525は、読み取りデータの検証を実行する。例えば、アプリケーション実行部525によって生成し、セキュアVM356に通知した乱数に基づいて自ら演算あるいは暗号処理を実行した結果と比較照合を実行し、レジスタX(PSR−X)581からの読み取り値と一致すれば、セキュアVM356は、正当な処理を実行しているセキュアVM356であると判断する。なお、セキュアVM356と、アプリケーション実行部525が乱数に対して実行する演算処理あるいは暗号処理は共有する秘密情報に基づく処理を行なう設定とすることが好ましい。   Next, in step S255, the application execution unit 525 executes verification of the read data. For example, the result of comparison or comparison with the result of self-calculation or encryption processing based on the random number generated by the application execution unit 525 and notified to the secure VM 356 is executed, and the read value from the register X (PSR-X) 581 is matched. For example, the secure VM 356 determines that the secure VM 356 is executing a legitimate process. Note that it is preferable that the calculation process or encryption process executed by the secure VM 356 and the application execution unit 525 with respect to the random number is set to perform a process based on shared secret information.

なお、図24に示す信頼性確認処理は、複数回繰り返し実行してもよく、また、乱数発行をセキュアVM356が実行する構成としてもよい。この信頼性確認機能を有することによって、先に説明した(4.2.4)アプリケーション実行部の使用レジスタの利用による処理例1と同様、アプリケーション実行部525において実行されるアプリケーションについての信頼性確認が可能となるため、アプリケーションレイヤ(AVレイヤ)のロバストネス(Robustness)に特に制限を設けることなく、従来通りの実装で良い点が非常に大きな利点となる。   Note that the reliability confirmation process illustrated in FIG. 24 may be repeatedly executed a plurality of times, or the random number issuance may be performed by the secure VM 356. By having this reliability check function, the reliability check for the application executed in the application execution unit 525 is performed in the same manner as in the processing example 1 using the use register of the application execution unit described above (4.2.4). Therefore, there is a great advantage in that the conventional implementation is not required without particularly restricting the robustness of the application layer (AV layer).

(4.3)共有メモリ空間を利用したメッセージ表示およびコンテンツ利用制御
次に、共有メモリ空間を利用したメッセージ表示およびコンテンツ利用制御処理について説明する。
(4.3) Message Display and Content Usage Control Using Shared Memory Space Next, message display and content usage control processing using the shared memory space will be described.

図25に共有メモリ空間を利用したメッセージ表示処理、さらに、コンテンツの利用制御処理を実現する基本構成を示す。図25に示すセキュアVM356は、図6、図10および図11を参照して説明したセキュアVM356と同様のセキュアVM356である。すなわち、データ変換処理を実行するホスト内にバーチャルマシンとして設定されるセキュリティ情報処理部として機能するセキュアVM356である。   FIG. 25 shows a basic configuration for realizing message display processing using the shared memory space and further content usage control processing. The secure VM 356 illustrated in FIG. 25 is a secure VM 356 similar to the secure VM 356 described with reference to FIGS. 6, 10, and 11. That is, the secure VM 356 functions as a security information processing unit set as a virtual machine in a host that executes data conversion processing.

セキュリティ情報処理部として機能するセキュアVM356は、図6他を参照して説明したように、命令コード情報を含むデータ変換処理プログラム315を情報記録媒体310から読み出してデータ変換処理を実行する。さらに、セキュアVM356は、ホストアプリケーションを実行しているプレーヤ(情報処理装置)のID情報などをプレーヤ情報355として入力し、また、イベントハンドラ354からの監視情報を入力する。イベントハンドラ354は、セキュアVM356によって実行される処理が正しく行なわれているか否かのエミュレータチェックや、その他のホストアプリケーションや、ホストアプリケーション実行機器としてのプレーヤ(情報処理装置)の処理、状態を監視し、処理エラー、不正処理などが検出された場合には、セキュアVM356に監視情報を入力し、必要に応じて、例えばデータ変換処理を中止させる。   As described with reference to FIG. 6 and others, the secure VM 356 functioning as the security information processing unit reads the data conversion processing program 315 including the instruction code information from the information recording medium 310 and executes the data conversion processing. Further, the secure VM 356 inputs ID information and the like of the player (information processing apparatus) executing the host application as player information 355 and inputs monitoring information from the event handler 354. The event handler 354 monitors the processing and status of an emulator check whether or not the processing executed by the secure VM 356 is correctly performed, other host applications, and a player (information processing apparatus) as a host application execution device. When a processing error, illegal processing, or the like is detected, monitoring information is input to the secure VM 356, and the data conversion processing is stopped as necessary, for example.

本処理例では、このセキュリティ情報処理部として機能するセキュアVM356と、アプリケーション実行部601の間で共有するメモリ空間612をメモリ611に設定し、共有メモリ空間612を利用してメッセージやコマンド、あるいはパラメータ、データ等を転送する。アプリケーション実行部601で実行するアプリケーションは、様々なデータ処理を実行するアプリケーション・プログラムであり、例えば図6、図10および図11を参照して説明したホスト350によるコンテンツ再生処理が実行されるPC等の情報処理装置において実行される様々なアプリケーション・プログラムである。   In this processing example, a memory space 612 shared between the secure VM 356 functioning as the security information processing unit and the application execution unit 601 is set in the memory 611, and a message, command, or parameter is set using the shared memory space 612. Transfer data, etc. The application executed by the application execution unit 601 is an application program that executes various data processing, such as a PC on which content reproduction processing by the host 350 described with reference to FIGS. 6, 10, and 11 is executed. Various application programs executed in the information processing apparatus.

アプリケーション・プログラムは、例えば、先に、説明した各種のメッセージ表示を実行しユーザ入力を受領するUI機能を提供するUI機能提供プログラムや、あるいは、情報記録媒体に格納された例えばJava(登録商標)やHDMV対応のコンテンツを実行するアプリケーション・プログラムなどである。なお、このアプリケーション・プログラムは、情報処理装置がハードディスクなどに記憶して予め保持していたプログラム、あるいは情報記録媒体から読み出されたプログラムのいずれでもよい。   The application program is, for example, a UI function providing program that provides a UI function for executing the various message displays described above and receiving user input, or a Java (registered trademark) stored in an information recording medium, for example. Or an application program that executes HDMV compatible content. The application program may be either a program stored in advance in the information processing apparatus on a hard disk or the like, or a program read from an information recording medium.

図25に示す共有メモリ空間612は、セキュアVM356と、アプリケーション実行部601の双方が書き込み、読み取り可能なメモリ空間として利用される。従って、図15〜図24を参照して説明した各種の処理と同様の処理が、レジスタの代わりにメモリ空間を適用することで実現される。すなわち、先にレジスタ適用処理として説明した以下の各種の処理、
(a)図16を参照して説明したレジスタを利用したUI機能提供アプリケーションの実行
(b)図17を参照して説明したレジスタ利用およびタイトル切り替えによるUI機能提供
(c)図18を参照して説明したレジスタ利用によるコンテンツ利用制御処理
(d)図19〜図24を参照して説明したレジスタ利用処理
これらの処理を、共有メモリ空間612を介してメッセージやコマンド、あるいはパラメータ、データをセキュアVM356と、アプリケーション実行部601間で転送することで実現される。
A shared memory space 612 shown in FIG. 25 is used as a memory space in which both the secure VM 356 and the application execution unit 601 can write and read. Therefore, the same processing as the various processing described with reference to FIGS. 15 to 24 is realized by applying the memory space instead of the register. That is, the following various processes described above as the register application process,
(A) Execution of UI function providing application using register described with reference to FIG. 16 (b) UI function providing by register use and title switching described with reference to FIG. 17 (c) Refer to FIG. Content Usage Control Processing by Using Registers as described (d) Register usage processing described with reference to FIGS. 19 to 24 These processes are performed by using the shared memory space 612 to send messages, commands, parameters or data to the secure VM 356. This is realized by transferring between the application execution units 601.

メモリ空間をデータ書き込み領域として利用することで、レジスタを利用する場合に比較して、書き込みデータサイズを大きく設定でき、利用範囲が広がるというメリットがある。例えばセキュアVM356が生成したデータを共有メモリに書き込むことで、アプリケーション実行部601に提供することも可能であり、逆にアプリケーション実行部601の生成データをセキュアVM356に渡す処理も容易に実現され、セキュアVM356の処理と、アプリケーション実行部601の処理との共同のデータ処理を行なうこともできる。   By using the memory space as a data writing area, there is an advantage that the write data size can be set larger than in the case of using a register, and the use range is expanded. For example, the data generated by the secure VM 356 can be provided to the application execution unit 601 by writing the data generated in the shared memory. Conversely, the process of passing the generated data of the application execution unit 601 to the secure VM 356 can be easily realized. It is also possible to perform joint data processing between the processing of the VM 356 and the processing of the application execution unit 601.

(4.4)オーサリングプロセスについて
上述したレジスタまたはメモリ空間を適用して、セキュアVMとアプリケーション間においてデータやパラメータの入出力を行なう構成を実現するためには、アプリケーションレイヤにおいて実行するアプリケーションは、定期的なレジスタ参照あるいはメモリ参照処理を実行する処理ルーチンを予め設定したプログラムとして編集(オーサリング)することが好ましい。
(4.4) About the authoring process In order to realize a configuration in which data and parameters are input / output between the secure VM and the application by applying the above-described register or memory space, an application executed in the application layer is It is preferable to edit (author) a processing routine for executing a typical register reference or memory reference process as a preset program.

先に、図17を参照して説明したセキュアVMによるタイトル変更を許容した構成とする場合には、セキュアVMによって指定されるタイトルを持つアプリケーションのみが、定期的なレジスタ参照あるいはメモリ参照を実行するプログラムとすればよいが、セキュアVMによるタイトル変更を許容しない構成では、アプリケーションレイヤで実行するすべてのアプリケーションは、基本的にすべて定期的なレジスタ参照あるいはメモリ参照処理を実行する処理ルーチンを予め設定したプログラムとして編集(オーサリング)することが必要となる。   In the case of the configuration in which the title change by the secure VM described above with reference to FIG. 17 is allowed, only the application having the title specified by the secure VM performs periodic register reference or memory reference. In the configuration that does not allow the title change by the secure VM, all applications executed in the application layer are basically set in advance with processing routines for executing regular register reference or memory reference processing. It is necessary to edit (authoring) as a program.

前述したように、アプリケーションレイヤにおいて実行されるプログラムは、情報記録媒体に記録された例えばJava(登録商標)やHDMV対応のコンテンツを実行するアプリケーション・プログラムであり、これらのコンテンツについて、定期的なレジスタ参照あるいはメモリ参照処理を実行する処理ルーチンを予め設定したプログラムとして編集(オーサリング)することで、上記の処理が可能となる。   As described above, the program executed in the application layer is an application program that executes, for example, Java (registered trademark) or HDMV-compatible content recorded in the information recording medium. The above-described processing can be performed by editing (authoring) a processing routine for executing reference or memory reference processing as a preset program.

これらのコンテンツのオーサリングプロセスおよび情報記録媒体製造プロセスについて、図26、図27を参照して説明する。図26は、セキュアVMによるタイトル切り替えが許容されない場合のコンテンツ編集(オーサリング)プロセスについて説明する図である。   The content authoring process and information recording medium manufacturing process will be described with reference to FIGS. FIG. 26 is a diagram for explaining a content editing (authoring) process when title switching by the secure VM is not allowed.

アプリケーションは、アプリケーションレイヤにおいて実行されるJava(登録商標)やHDMV対応のコンテンツとしてのアプリケーション・プログラムと、セキュアVMが読み取って実行する命令コード情報としてのコンテンツコードを含むコンテンツとして生成される。ステップS301は、このアプリケーションおよびコンテンツコードの開発・検証プロセスである。   The application is generated as content including an application program as Java (registered trademark) or HDMV compatible content executed in the application layer, and content code as instruction code information read and executed by the secure VM. Step S301 is a process for developing / verifying the application and content code.

このステップS301において生成されるアプリケーションは、定期的なレジスタ参照あるいはメモリ参照処理を実行する処理ルーチンを予め設定したプログラムとして編集(オーサリング)される。またコンテンツコードは、セキュアVMによるメッセージ出力や、定期的なパラメータ出力の実行を定義した命令コードを含むものとして設定される。   The application generated in step S301 is edited (authored) as a program in which a processing routine for executing periodic register reference or memory reference processing is set in advance. The content code is set to include an instruction code defining execution of message output by the secure VM and periodic parameter output.

このステップS301において生成されたアプリケーションおよびコンテンツコードは、ステップS302において、必要に応じて暗号化が施された後、ステップS303においてディスクに書き込まれディスクが製造される。ステップS303のディスク製造プロセスは、ディスク原盤の製造およびスタンパプロセスを含んでいる。   The application and content code generated in step S301 are encrypted as necessary in step S302, and then written on the disk in step S303 to manufacture the disk. The disk manufacturing process in step S303 includes a disk master manufacturing and stamper process.

これらの処理によって、情報記録媒体に記録されるコンテンツは、アプリケーション・プログラムおよびバーチャルマシンによって実行されるコード情報を含むコンテンツとなり、アプリケーション・プログラムは、定期的なレジスタまたはメモリ参照処理の実行ルーチンを含むプログラムとして設定され、コード情報は、セキュリティチェック結果として取得するエラーコードをレジスタまたはメモリに書き込む処理の実行命令を含む情報として構成される。   By these processes, the content recorded in the information recording medium becomes a content including code information executed by the application program and the virtual machine, and the application program includes a routine for executing a regular register or memory reference process. Code information is set as a program, and is configured as information including an execution instruction for processing to write an error code acquired as a security check result to a register or a memory.

このような情報記録媒体格納コンテンツは、図15〜図25を参照して説明した各種の処理を実行可能なコンテンツとされる。   Such information recording medium storage content is content that can execute various processes described with reference to FIGS. 15 to 25.

図27は、セキュアVMによるタイトル切り替えを許容した場合のコンテンツオーサリングプロセスを示している。図17を参照して説明したセキュアVMによるタイトル変更を許容した構成とする場合には、セキュアVMによって指定されるタイトルを持つアプリケーションのみが、定期的なレジスタ参照あるいはメモリ参照を実行するプログラムとすればよい。   FIG. 27 shows a content authoring process when title switching by the secure VM is allowed. In the case of a configuration in which the title change by the secure VM described with reference to FIG. 17 is allowed, only an application having a title specified by the secure VM can be a program that performs periodic register reference or memory reference. That's fine.

従って、通常のアプリケーションについては、定期的なレジスタ参照あるいはメモリ参照を実行するルーチンを含ませたプログラムとして設定する必要がなく、自由にアプリケーションを開発することができる。特定のアプリケーションのみについて、定期的なレジスタ参照あるいはメモリ参照を実行するルーチンを含ませたプログラムとして設定すればよい。   Therefore, it is not necessary to set a normal application as a program including a routine for executing regular register reference or memory reference, and the application can be freely developed. Only a specific application may be set as a program including a routine for performing periodic register reference or memory reference.

図27に示すように、ステップS321におけるアプリケーションの開発・検証プロセスとステップS322におけるコンテンツコードの開発・検証プロセスを分離し、基本的に、アプリケーションの開発・検証プロセスは、コンテンツコードにとらわれることなく、自由に開発することができる。セキュアVMによるタイトル切り替え先のアプリケーションのみを、図26に示すプロセスに従って編集すればよい。   As shown in FIG. 27, the application development / verification process in step S321 and the content code development / verification process in step S322 are separated. Basically, the application development / verification process is not bound by the content code. It can be developed freely. Only the title switching destination application by the secure VM needs to be edited according to the process shown in FIG.

図27のプロセスでは、ステップS321におけるアプリケーションの開発・検証プロセスの後に、ステップS322において、コンテンツコードの開発・検証プロセスを実行することができる。その後、ステップS323において、必要に応じて暗号化が施された後、ステップS324においてディスクに書き込まれディスクが製造される。ステップS324のディスク製造プロセスは、ディスク原盤の製造およびスタンパプロセスを含んでいる。   In the process of FIG. 27, after the application development / verification process in step S321, the content code development / verification process can be executed in step S322. Thereafter, in step S323, encryption is performed as necessary, and then in step S324, the disc is written and manufactured. The disk manufacturing process in step S324 includes manufacturing of a disk master and a stamper process.

アプリケーションの開発・検証プロセスと、コンテンツコードの開発・検証プロセスは、運用上、分かれていることが多く、現実的には、図27に示すプロセスに従う構成とすることが好ましく、セキュアVMによるタイトル切り替えを許容した構成として、特定のアプリケーションのみを定期的なレジスタ参照あるいはメモリ参照を実行するルーチンを含ませたプログラムとして設定することで、その他の通常アプリケーションについては、自由な開発を可能とすることができる。   The application development / verification process and the content code development / verification process are often separated in terms of operation. In practice, it is preferable to adopt a configuration according to the process shown in FIG. By configuring only a specific application as a program that includes a routine that performs periodic register reference or memory reference, it is possible to freely develop other normal applications. it can.

[5.情報処理装置の構成]
次に、図28を参照して、ホストとしてのアプリケーションを実行する情報処理装置のハードウェア構成例について説明する。情報処理装置800は、OSやコンテンツ再生または記録アプリケーション・プログラム、相互認証処理プログラムなどの各種プログラムに従ったデータ処理を実行するCPU809、プログラム、パラメータ等の記憶領域としてのROM808、メモリ810、デジタル信号を入出力する入出力I/F802、アナログ信号を入出力し、A/D,D/Aコンバータ805を持つ入出力I/F804、MPEGデータのエンコード、デコード処理を実行するMPEGコーデック803、TS(Transport Stream)・PS(Program Stream)処理を実行するTS・PS処理手段806、相互認証、暗号化コンテンツの復号処理など各種の暗号処理を実行する暗号処理手段807、ハードディスクなどの記録媒体812、記録媒体812の駆動、データ記録再生信号の入出力を行なうドライブ811を有し、バス801に各ブロックが接続されている。
[5. Configuration of information processing apparatus]
Next, a hardware configuration example of an information processing apparatus that executes an application as a host will be described with reference to FIG. The information processing apparatus 800 includes a CPU 809 that executes data processing in accordance with various programs such as an OS, a content reproduction or recording application program, and a mutual authentication processing program, a ROM 808 as a storage area for programs, parameters, and the like, a memory 810, and a digital signal Input / output I / F 802, an analog signal input / output I / F 804 having an A / D / D / A converter 805, MPEG data encoding / decoding processing MPEG codec 803, TS ( TS / PS processing means 806 for executing Transport Stream) / PS (Program Stream) processing, encryption processing means 807 for executing various encryption processing such as mutual authentication and decryption processing of encrypted content, recording medium 812 such as a hard disk, recording Drive media 812, re-record data It has a drive 811 for performing input and output of signals, each block being connected to a bus 801.

情報処理装置(ホスト)800は、例えばATAPI−BUS等の接続バスによってドライブと接続されている。変換テーブル、コンテンツなどをデジタル信号用入出力I/F802を介して入出力される。暗号化処理、復号処理は、暗号化処理手段807によって、例えば、AESアルゴリズムなどを適用して実行される。   The information processing apparatus (host) 800 is connected to the drive by a connection bus such as ATAPI-BUS. A conversion table, content, and the like are input / output via the digital signal input / output I / F 802. The encryption process and the decryption process are executed by the encryption processing unit 807 by applying, for example, an AES algorithm.

なお、コンテンツ再生あるいは記録処理を実行するプログラムは例えばROM808内に保管されており、プログラムの実行処理中は必要に応じて、パラメータ、データの保管、ワーク領域としてメモリ810を使用する。   Note that a program for executing content reproduction or recording processing is stored in, for example, the ROM 808, and a memory 810 is used as a parameter, data storage, and work area as needed during execution of the program.

ROM808または記録媒体812には、例えば、管理センタの公開鍵、ホスト対応秘密鍵、ホスト対応の公開鍵証明書、さらに、リボケーションリストとしてのドライブCRLなどが格納される。   The ROM 808 or the recording medium 812 stores, for example, a management center public key, a host-compatible secret key, a host-compatible public key certificate, and a drive CRL as a revocation list.

コンテンツ再生処理に際しては、前述したセキュアVM356が取得したセキュリティチェック情報に基づいて、様々なメッセージ表示が実行される。   In the content reproduction process, various message displays are executed based on the security check information acquired by the secure VM 356 described above.

以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。   The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims should be taken into consideration.

なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。   The series of processes described in the specification can be executed by hardware, software, or a combined configuration of both. When executing processing by software, the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run.

例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。   For example, the program can be recorded in advance on a hard disk or ROM (Read Only Memory) as a recording medium. Alternatively, the program is temporarily or permanently stored on a removable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, or a semiconductor memory. It can be stored (recorded). Such a removable recording medium can be provided as so-called package software.

なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。   The program is installed on the computer from the removable recording medium as described above, or is wirelessly transferred from the download site to the computer, or is wired to the computer via a network such as a LAN (Local Area Network) or the Internet. The computer can receive the program transferred in this manner and install it on a recording medium such as a built-in hard disk.

なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Note that the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Further, in this specification, the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.

以上、説明したように、本発明の一実施例の構成によれば、情報記録媒体の格納コンテンツ再生において、正当なコンテンツ利用権に基づくコンテンツ利用を許容する構成とし、さらに、セキュリティチェックに基づいて不正なコンテンツ利用であると判定された場合などにおいて、コンテンツ再生の停止された理由などメッセージ表示や、表示メッセージに対するユーザ応答の受領などを可能としたので、ユーザに対して状況を説明する処理や、ユーザからの確認や対処を受け付けることが可能となる。   As described above, according to the configuration of the embodiment of the present invention, the content usage based on the legitimate content usage right is permitted in the reproduction of the stored content of the information recording medium, and further, based on the security check. Since it is possible to display messages such as the reason why content playback has been stopped and to receive user responses to displayed messages when it is determined that the content has been used illegally, It becomes possible to receive confirmation and countermeasures from the user.

また、本発明の一実施例構成によれば、Java(登録商標)やHDMVコンテンツなどの小型のコンテンツについても、これらのコンテンツを実行するアプリケーション実行部と、セキュリティ情報処理部としてのセキュアVM間でレジスタやメモリを介してデータを転送することで、コンテンツの利用制御を行なうことが可能となる。   In addition, according to the configuration of an embodiment of the present invention, even for small contents such as Java (registered trademark) and HDMV contents, between an application execution unit that executes these contents and a secure VM as a security information processing unit. It is possible to control content usage by transferring data via a register or memory.

100 情報記録媒体
101 暗号化コンテンツ
102 MKB
103 タイトル鍵ファイル
104 使用許諾情報
105 変換テーブル
106 データ変換処理プログラム
107 メッセージデータファイル
120 ドライブ
121 データ処理部
122 メモリ
150 ホスト
151 データ処理部
152 メモリa
153 復号処理部
154 データ変換処理部
155 デコード処理部
156 メモリb
210 インデックス
220 ムービーオブジェクト
230 プレイリスト
240 クリップ
261,262,263 AVストリーム
271,272 コンテンツ管理ユニット(CPSユニット)
281 データ部
310 情報記録媒体
311 MKB
312 タイトル鍵ファイル
313 暗号化コンテンツ
314 変換テーブル
315 データ変換処理プログラム
330 ドライブ
350 ホスト
351 デバイス鍵
352 トラックバッファ
353 平文TSバッファ
354 イベントハンドラ
355 プレーヤ情報
356 セキュアVM
391 UI処理部
392 表示部
401〜404 メッセージデータファイル
411 コマンド
501 アプリケーション
511,512 レジスタ
521 UI機能提供アプリケーション実行部
522 アプリケーション実行部
523 アプリケーション実行部
524 アプリケーション実行部
525 アプリケーション実行部
571〜573 レジスタ(PSR)
581〜582 レジスタ(PSR)
601 アプリケーション
800 情報処理装置
801 バス
802 入出力I/F
803 MPEGコーデック
804 入出力I/F
805 A/D,D/Aコンバータ
806 TS・PS処理手段
807 暗号処理手段
808 ROM
809 CPU
810 メモリ
811 ドライブ
812 記録媒体
100 Information recording medium 101 Encrypted content 102 MKB
103 Title Key File 104 License Information 105 Conversion Table 106 Data Conversion Processing Program 107 Message Data File 120 Drive 121 Data Processing Unit 122 Memory 150 Host 151 Data Processing Unit 152 Memory a
153 Decoding processing unit 154 Data conversion processing unit 155 Decoding processing unit 156 Memory b
210 Index 220 Movie object 230 Playlist 240 Clip 261, 262, 263 AV stream 271, 272 Content management unit (CPS unit)
281 Data section 310 Information recording medium 311 MKB
312 Title key file 313 Encrypted content 314 Conversion table 315 Data conversion processing program 330 Drive 350 Host 351 Device key 352 Track buffer 353 Plain text TS buffer 354 Event handler 355 Player information 356 Secure VM
391 UI processing unit 392 display unit 401-404 message data file 411 command 501 application 511, 512 register 521 UI function providing application execution unit 522 application execution unit 523 application execution unit 524 application execution unit 525 application execution unit 571-573 register (PSR) )
581-582 Register (PSR)
601 Application 800 Information processing device 801 Bus 802 Input / output I / F
803 MPEG codec 804 I / O I / F
805 A / D, D / A converter 806 TS / PS processing means 807 Cryptographic processing means 808 ROM
809 CPU
810 Memory 811 Drive 812 Recording medium

Claims (9)

情報処理装置であり、
情報記録媒体に格納されたアプリケーションを実行するアプリケーション実行部と、
前記アプリケーション実行部におけるアプリケーション実行または継続に必要なパラメータを第1プレーヤ・ステイタス・レジスタに書き込む処理を実行するセキュリティ情報処理部と、
前記セキュリティ情報処理部が書き込み、前記アプリケーション実行部が読み出す前記第1プレーヤ・ステイタス・レジスタと、
前記アプリケーション実行部が書き込み、前記セキュリティ情報処理部が読み出す第2プレーヤ・ステイタス・レジスタを有し、
前記アプリケーション実行部は、前記第1プレーヤ・ステイタス・レジスタから、前記セキュリティ情報処理部が書き込むパラメータを取得し、該パラメータを適用した演算処理または暗号処理によりアプリケーションの実行または継続に必要なデータ処理を実行して、アプリケーションの実行または継続を行なう構成であることを特徴とする情報処理装置。
An information processing device,
An application execution unit for executing an application stored in the information recording medium;
A security information processing unit that executes a process of writing parameters necessary for executing or continuing an application in the application execution unit to the first player status register ;
The first player status register written by the security information processing unit and read by the application execution unit;
A second player status register written by the application execution unit and read by the security information processing unit ;
The application execution unit, the first player status register or et al., Supra acquires the security information processing unit writes parameter data processing required by the applied processing or encryption processing the parameters to run the application or continuation An information processing apparatus that is configured to execute or continue an application.
前記セキュリティ情報処理部は、
前記第1プレーヤ・ステイタス・レジスタに対して、異なるパラメータを順次、書き込む処理を実行する構成であり、
前記アプリケーション実行部は、前記第1プレーヤ・ステイタス・レジスタから、前記セキュリティ情報処理部が、順次書き込む異なるパラメータを、順次取得して、順次異なるパラメータを適用した演算処理または暗号処理を実行して、アプリケーションの実行または継続を行なう構成であることを特徴とする請求項1に記載の情報処理装置。
The security information processing unit
The first player status register is configured to execute a process of sequentially writing different parameters to the first player status register .
The application execution unit sequentially acquires different parameters that the security information processing unit sequentially writes from the first player status register , and executes arithmetic processing or encryption processing that sequentially applies the different parameters, The information processing apparatus according to claim 1, wherein the information processing apparatus is configured to execute or continue an application.
前記アプリケーション実行部は、
前記第1プレーヤ・ステイタス・レジスタから取得したパラメータを適用した演算処理または暗号処理によって出力データの生成処理を行う構成であることを特徴とする請求項1に記載の情報処理装置。
The application execution unit
2. The information processing apparatus according to claim 1, wherein output data generation processing is performed by arithmetic processing or encryption processing using a parameter acquired from the first player status register .
前記アプリケーション実行部は、
前記第1プレーヤ・ステイタス・レジスタから取得したパラメータを適用した排他論理和演算処理、または、該パラメータを適用した暗号処理、または、該パラメータを適用した暗号処理によって生成した暗号鍵による復号処理によって出力データの生成処理を行う構成であることを特徴とする請求項1に記載の情報処理装置。
The application execution unit
Output by exclusive OR operation processing using parameters obtained from the first player status register , encryption processing using the parameters, or decryption processing using an encryption key generated by encryption processing using the parameters The information processing apparatus according to claim 1, wherein the information processing apparatus is configured to perform data generation processing.
情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
アプリケーション実行部と、セキュリティ情報処理部と、
前記セキュリティ情報処理部が書き込み、前記アプリケーション実行部が読み出す前記第1プレーヤ・ステイタス・レジスタと、
前記アプリケーション実行部が書き込み、前記セキュリティ情報処理部が読み出す第2プレーヤ・ステイタス・レジスタを有し、
前記アプリケーション実行部において、情報記録媒体に格納されたアプリケーションを実行するアプリケーション実行ステップと、
セキュリティ情報処理部において、前記アプリケーション実行部におけるアプリケーション実行または継続に必要なパラメータを前記第1プレーヤ・ステイタス・レジスタに書き込む処理を実行するパラメータ書き込みステップと、
前記アプリケーション実行部において、前記第1プレーヤ・ステイタス・レジスタから、前記セキュリティ情報処理部が書き込むパラメータを取得し、該パラメータを適用した演算処理または暗号処理によりアプリケーションの実行または継続に必要なデータ処理を実行して、アプリケーションの実行または継続を行なうステップと、
を有することを特徴とする情報処理方法。
An information processing method executed in an information processing apparatus ,
The information processing apparatus includes:
An application execution unit, a security information processing unit,
The first player status register written by the security information processing unit and read by the application execution unit;
A second player status register written by the application execution unit and read by the security information processing unit;
In the application execution unit, an application execution step of executing an application stored in an information recording medium;
In the security information processing unit, a parameter writing step for executing processing for writing a parameter necessary for application execution or continuation in the application execution unit to the first player status register ;
In the application execution unit, a parameter to be written by the security information processing unit is acquired from the first player status register , and data processing necessary for execution or continuation of the application is performed by arithmetic processing or encryption processing using the parameter. Executing to run or continue the application;
An information processing method characterized by comprising:
前記パラメータ書き込みステップは、
前記セキュリティ情報処理部において、前記第1プレーヤ・ステイタス・レジスタに対して、異なるパラメータを順次、書き込む処理を実行するステップであり、
前記アプリケーション実行部は、前記第1プレーヤ・ステイタス・レジスタから、前記セキュリティ情報処理部が、順次書き込む異なるパラメータを、順次取得して、順次異なるパラメータを適用した演算処理または暗号処理を実行して、アプリケーションの実行または継続を行なうことを特徴とする請求項に記載の情報処理方法。
The parameter writing step includes:
In the security information processing unit, executing a process of sequentially writing different parameters to the first player status register ;
The application execution unit sequentially acquires different parameters that the security information processing unit sequentially writes from the first player status register , and executes arithmetic processing or encryption processing that sequentially applies the different parameters, 6. The information processing method according to claim 5 , wherein the application is executed or continued.
前記アプリケーション実行部は、
前記第1プレーヤ・ステイタス・レジスタから取得したパラメータを適用した演算処理または暗号処理によって出力データの生成処理を行うことを特徴とする請求項に記載の情報処理方法。
The application execution unit
6. The information processing method according to claim 5 , wherein output data generation processing is performed by arithmetic processing or encryption processing using a parameter acquired from the first player status register .
前記アプリケーション実行部は、
前記第1プレーヤ・ステイタス・レジスタから取得したパラメータを適用した排他論理和演算処理、または、該パラメータを適用した暗号処理、または、該パラメータを適用した暗号処理によって生成した暗号鍵による復号処理によって出力データの生成処理を行うことを特徴とする請求項に記載の情報処理方法。
The application execution unit
Output by exclusive OR operation processing using parameters obtained from the first player status register , encryption processing using the parameters, or decryption processing using an encryption key generated by encryption processing using the parameters 6. The information processing method according to claim 5 , wherein a data generation process is performed.
情報記録媒体に記録されたコンテンツの再生処理を情報処理装置上において実行させるコンピュータ・プログラムであり、
前記情報処理装置は、
アプリケーション実行部と、セキュリティ情報処理部と、
前記セキュリティ情報処理部が書き込み、前記アプリケーション実行部が読み出す前記第1プレーヤ・ステイタス・レジスタと、
前記アプリケーション実行部が書き込み、前記セキュリティ情報処理部が読み出す第2プレーヤ・ステイタス・レジスタを有し、
前記コンピュータ・プログラムは、
前記アプリケーション実行部において、情報記録媒体に格納されたアプリケーションを実行するアプリケーション実行ステップと、
前記セキュリティ情報処理部において、前記アプリケーション実行部におけるアプリケーション実行または継続に必要なパラメータを前記第1プレーヤ・ステイタス・レジスタに書き込む処理を実行するパラメータ書き込みステップと、
前記アプリケーション実行部において、前記第1プレーヤ・ステイタス・レジスタから、前記セキュリティ情報処理部が書き込むパラメータを取得し、該パラメータを適用した演算処理または暗号処理によりアプリケーションの実行または継続に必要なデータ処理を実行して、アプリケーションの実行または継続を行なうステップと、
を実行させることを特徴とするコンピュータ・プログラム。
A computer program that causes an information processing apparatus to execute reproduction processing of content recorded on an information recording medium,
The information processing apparatus includes:
An application execution unit, a security information processing unit,
The first player status register written by the security information processing unit and read by the application execution unit;
A second player status register written by the application execution unit and read by the security information processing unit;
The computer program is
In the application execution unit, an application execution step of executing an application stored in an information recording medium;
In the security information processing unit, a parameter writing step for executing processing for writing a parameter necessary for application execution or continuation in the application execution unit to the first player status register ;
In the application execution unit, a parameter to be written by the security information processing unit is acquired from the first player status register , and data processing necessary for execution or continuation of the application is performed by arithmetic processing or encryption processing using the parameter. Executing to run or continue the application;
A computer program for executing
JP2010036638A 2010-02-22 2010-02-22 Information processing apparatus, information recording medium, information processing method, and computer program Active JP4905566B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010036638A JP4905566B2 (en) 2010-02-22 2010-02-22 Information processing apparatus, information recording medium, information processing method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010036638A JP4905566B2 (en) 2010-02-22 2010-02-22 Information processing apparatus, information recording medium, information processing method, and computer program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005245943A Division JP4765485B2 (en) 2005-08-26 2005-08-26 Information processing apparatus, information recording medium, information processing method, and computer program

Publications (2)

Publication Number Publication Date
JP2010146591A JP2010146591A (en) 2010-07-01
JP4905566B2 true JP4905566B2 (en) 2012-03-28

Family

ID=42566880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010036638A Active JP4905566B2 (en) 2010-02-22 2010-02-22 Information processing apparatus, information recording medium, information processing method, and computer program

Country Status (1)

Country Link
JP (1) JP4905566B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001285820A (en) * 2000-03-29 2001-10-12 Matsushita Electric Ind Co Ltd System and method for storage/reproduction/charging
US20050033972A1 (en) * 2003-06-27 2005-02-10 Watson Scott F. Dual virtual machine and trusted platform module architecture for next generation media players

Also Published As

Publication number Publication date
JP2010146591A (en) 2010-07-01

Similar Documents

Publication Publication Date Title
US8516600B2 (en) Information processing device, information recording medium, information processing method, and computer program
JP4654806B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
US8190910B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, and information recording medium
JP4655951B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
JP4321550B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
JP4899442B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
US8625967B2 (en) Information processing device, information recording medium manufacturing device, information recording medium, methods thereof, and computer program
JP4765485B2 (en) Information processing apparatus, information recording medium, information processing method, and computer program
JP4140624B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
JP4862949B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
JP2008198272A (en) Information processor, information processing method, and computer program
JP4905566B2 (en) Information processing apparatus, information recording medium, information processing method, and computer program
JP4905587B2 (en) Information processing apparatus, information processing method, and computer program
JP2007025913A (en) Information processor, information storage medium manufacturing device, information storage medium, 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
JP4941611B2 (en) Information processing apparatus and method, and computer program
JP2012094177A (en) Information processor, and information processing method

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20111027

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20111108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111226

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4905566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250