JP2007249999A - Information processor and method, program storage medium, and program - Google Patents
Information processor and method, program storage medium, and program Download PDFInfo
- Publication number
- JP2007249999A JP2007249999A JP2007124123A JP2007124123A JP2007249999A JP 2007249999 A JP2007249999 A JP 2007249999A JP 2007124123 A JP2007124123 A JP 2007124123A JP 2007124123 A JP2007124123 A JP 2007124123A JP 2007249999 A JP2007249999 A JP 2007249999A
- Authority
- JP
- Japan
- Prior art keywords
- usage
- client
- content
- usage right
- key
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、情報処理装置および方法、プログラム格納媒体、並びにプログラムに関し、特に、ユーザに負担をかけることなく、より細かく分割された内容の使用権をユーザに提供することができるようにした、情報処理装置および方法、プログラム格納媒体、並びにプログラムに関する。 The present invention relates to an information processing apparatus and method, a program storage medium, and a program, and in particular, information that can provide a user with a right to use more finely divided content without imposing a burden on the user. The present invention relates to a processing apparatus and method, a program storage medium, and a program.
最近、インターネットに代表されるネットワークが普及し、各種のネットワークを介して、オーディオ、あるいはビデオなどのコンテンツが配布されるようになってきた。ユーザ(クライアント)は、ネットワークを介してサーバにアクセスし、コンテンツをダウンロードする。 Recently, networks typified by the Internet have become widespread, and contents such as audio or video have been distributed through various networks. A user (client) accesses a server via a network and downloads content.
また、コンテンツとそのコンテンツを利用する利用権を独立のものとすることが提案されている。このような場合、ユーザは、コンテンツ以外に、その利用権を別途取得する必要がある。そして、通常、コンテンツは暗号化されて、ユーザに提供され、その暗号を解く鍵は、通常、その利用権に含まれている。あるいはコンテンツに復号鍵が含まれていて、コンテンツの復号処理がタンパーレジスタントソフトウェア等でそのアルゴリズムを知られることなく行われる構成とするものもある。 Also, it has been proposed that the content and the right to use the content are independent. In such a case, the user needs to acquire the usage right separately from the content. Usually, the content is encrypted and provided to the user, and the key for decrypting the content is usually included in the usage right. Alternatively, the content may include a decryption key, and the content may be decrypted by tamper resistant software or the like without knowing the algorithm.
このようにすることで、コンテンツをより容易に配布することが可能となる。 By doing so, it becomes possible to distribute the content more easily.
ところで、利用権は、支払い状況に応じて、内容が変化するような場合がある。例えば、登録時、200円を支払うと、10曲まで1ヶ月間利用することができるが、追加で1曲毎に50円を支払うと、その曲を所有することができ(期間の制限がなくなり)、さらに追加で100円を支払うと、ポータブル機器にその曲をチェックアウトすることができるといった内容の場合がある。 By the way, the usage rights may change depending on the payment status. For example, if you pay 200 yen at the time of registration, you can use up to 10 songs for a month, but if you pay 50 yen for each additional song, you can own that song (there is no time limit) ) If you pay an additional 100 yen, you may be able to check out the song on a portable device.
利用権の内容がこのように複雑である場合、利用権を取得したクライアントは、その利用権の状態がいずれの状態にあるのかを、自分自身で管理する必要がある。すなわち、その利用権の現在の状態が200円を支払っただけの状態であるのか、その後、さらに50円を1曲毎に支払ったのであるのか、支払ったのであるとすると、どの曲に対して支払ったのであるのか、さらには、その後、追加で100円を支払い、ポータブル機器にチェックアウトすることができる状態にあるのかといったことを、クライアント自身が管理している必要がある。クライアントにこのような管理を行なわせることは、クライアントにとって大きな負荷となる。 When the content of the usage right is complicated as described above, the client that has acquired the usage right needs to manage by itself which state the usage right is in. In other words, if the current state of the usage right is a state in which only 200 yen has been paid, or if 50 yen has been paid for each song after that, It is necessary for the client itself to manage whether he / she has paid, or whether he / she has paid an additional 100 yen and is ready to check out the portable device. Allowing the client to perform such management is a heavy load on the client.
また、クライアントにこのような管理を行わせると、悪意のユーザが利用権を改竄する恐れがあり、安全性の面からも好ましくない。 In addition, if the client performs such management, a malicious user may tamper with the usage right, which is not preferable from the viewpoint of safety.
本発明は、このような状況に鑑みてなされたものであり、クライアントに負担をかけることなく、利用権を安全に管理することができるようにするものである。 The present invention has been made in view of such a situation, and makes it possible to manage usage rights safely without placing a burden on the client.
本発明の一側面の情報処理装置は、コンテンツの使用条件を規定する利用権を送信する情報処理装置であって、前記コンテンツを利用するクライアントから利用権送信要求を受信する受信手段と、前記クライアント毎に利用権に対応する使用状態を記憶する使用状態記憶手段と、前記受信手段が受信した利用権送信要求がサブスクリプションサービスの利用権の送信要求であるときは前記使用状態記憶手段に記憶された使用状態を要求された利用権に付加する制御手段と、前記制御手段により使用状態が付加された利用権を前記クライアントに送信する送信手段とを含む。 An information processing apparatus according to an aspect of the present invention is an information processing apparatus that transmits a usage right that defines usage conditions of content, a receiving unit that receives a usage right transmission request from a client that uses the content, and the client The usage status storage means for storing the usage status corresponding to the usage right for each time, and when the usage right transmission request received by the receiving means is a transmission request for the usage right of the subscription service, is stored in the usage status storage means. Control means for adding the usage state to the requested usage right, and transmission means for transmitting the usage right to which the usage state is added by the control means to the client.
前記制御手段には、サブスクリプションサービスの利用権要求であるとき、AKE(Authentication Key Exchange)処理を前記クライアントに要求させるようにすることができる。 The control means may request the client to make an AKE (Authentication Key Exchange) process when the subscription service usage right is requested.
前記受信手段には、前記クライアントから前記クライアントで使用する利用権に対応する使用状態と前記クライアントの識別情報、コンテンツ情報を受信させるようにすることができ、前記制御手段には、受信した前記コンテンツ情報、前記クライアントの識別情報に基づいて利用権に対応する使用状態に基づいて前記使用状態記憶手段に記憶された使用状態を更新させるようにすることができ、前記使用状態記憶手段には、更新された使用状態を記憶させるようにすることができる。 The receiving means can receive a usage state corresponding to a usage right used by the client, identification information of the client, and content information from the client, and the control means receives the received content Information, the usage status stored in the usage status storage means based on the usage status corresponding to the usage right based on the identification information of the client, and the usage status storage means can be updated. The used state of use can be stored.
前記受信手段には、前記クライアントから前記クライアントで前記コンテンツを使用する処理が実行されるごとに使用状態を受信させるようにすることができる。 The receiving unit may receive a usage state each time processing for using the content is executed by the client from the client.
前記送信手段には、前記制御手段で更新された使用状態を前記クライアントへ送信させるようにすることができる。 The transmission unit may cause the client to transmit the usage state updated by the control unit.
本発明の一側面の情報処理方法は、コンテンツの使用条件を規定する利用権を送信する情報処理方法であって、前記コンテンツを利用するクライアントから利用権送信要求を受信する受信ステップと、前記クライアント毎に利用権に対応する使用状態を記憶する使用状態記憶ステップと、前記受信ステップの処理が受信した利用権送信要求がサブスクリプションサービスの利用権の送信要求であるときは前記使用状態記憶ステップの処理で記憶された使用状態を要求された利用権に付加する制御ステップと、前記制御ステップの処理により使用状態が付加された利用権を前記クライアントに送信する送信ステップとを含む。 An information processing method according to an aspect of the present invention is an information processing method for transmitting a usage right that defines usage conditions of content, a reception step of receiving a usage right transmission request from a client that uses the content, and the client A usage state storage step for storing a usage state corresponding to the usage right for each time, and when the usage right transmission request received by the processing in the reception step is a transmission request for a usage right for a subscription service, the usage state storage step A control step of adding the usage state stored in the process to the requested usage right; and a transmission step of transmitting the usage right to which the usage state has been added by the process of the control step to the client.
本発明の一側面のコンテンツの使用条件を規定する利用権を送信する情報処理装置を制御するコンピュータに、前記コンテンツを利用するクライアントから利用権送信要求を受信する受信ステップと、前記クライアント毎に利用権に対応する使用状態を記憶する使用状態記憶ステップと、前記受信ステップの処理が受信した利用権送信要求がサブスクリプションサービスの利用権の送信要求であるときは前記使用状態記憶ステップの処理で記憶された使用状態を要求された利用権に付加する制御ステップと、前記制御ステップの処理により使用状態が付加された利用権を前記クライアントに送信する送信ステップとを含むことを特徴とする。 A reception step of receiving a usage right transmission request from a client that uses the content to a computer that controls an information processing apparatus that transmits a usage right that defines usage conditions of the content according to one aspect of the present invention; A usage state storage step for storing a usage state corresponding to the right, and when the usage right transmission request received by the processing of the reception step is a transmission request for the usage right of the subscription service, the processing is stored by the processing of the usage state storage step. A control step of adding the used state to the requested usage right, and a transmission step of transmitting the usage right to which the usage state has been added by the processing of the control step to the client.
本発明の一側面のプログラム格納媒体のプログラムは、コンテンツの使用条件を規定する利用権を配布する情報処理装置のプログラムであって、前記コンテンツを利用するクライアントから利用権送信要求を受信する受信ステップと、前記クライアント毎に利用権に対応する使用状態を記憶する使用状態記憶ステップと、前記受信ステップの処理が受信した利用権送信要求がサブスクリプションサービスの利用権の送信要求であるときは前記使用状態記憶ステップの処理で記憶された使用状態を要求された利用権に付加する制御ステップと、前記制御ステップの処理により使用状態が付加された利用権を前記クライアントに送信する送信ステップとを含むことを特徴とする。 The program of the program storage medium according to one aspect of the present invention is a program of an information processing apparatus that distributes a usage right that defines a usage condition of content, and receives a usage right transmission request from a client that uses the content. A usage state storage step for storing a usage state corresponding to a usage right for each client; and when the usage right transmission request received by the processing of the reception step is a transmission request for a usage right for a subscription service, A control step of adding the usage state stored in the processing of the state storage step to the requested usage right; and a transmission step of transmitting the usage right to which the usage state has been added by the processing of the control step to the client. It is characterized by.
本発明の一側面の情報処理装置および方法、プログラム格納媒体、並びにプログラムにおいては、コンテンツを利用するクライアントから利用権送信要求が受信され、前記クライアント毎に利用権に対応する使用状態が記憶され、受信した利用権送信要求がサブスクリプションサービスの利用権の送信要求であるときは記憶された使用状態が要求された利用権に付加され、使用状態が付加された利用権が前記クライアントに送信される。 In the information processing apparatus and method, the program storage medium, and the program according to one aspect of the present invention, a usage right transmission request is received from a client that uses content, and a usage state corresponding to the usage right is stored for each client. When the received usage right transmission request is a subscription service usage right transmission request, the stored usage state is added to the requested usage right, and the usage right with the usage state added is transmitted to the client. .
本発明によれば、よりセキュアな状態での利用権の配布を望まないユーザに必要以上の負担をかけることなく、利用権を配布することが可能となる。また、セキュアな環境下での利用権の取得を希望するユーザに対しては、より安全に利用権を配布することが可能となる。その結果、利用権が第3者に盗用されるようなことが防止することが可能となる。 According to the present invention, it is possible to distribute a usage right without imposing a burden more than necessary on a user who does not want to distribute the usage right in a more secure state. In addition, it is possible to distribute the usage right more safely to a user who wishes to obtain the usage right in a secure environment. As a result, it is possible to prevent the usage right from being stolen by a third party.
図1は、本発明を適用したコンテンツ提供システムの構成を示している。インターネット2には、クライアント1−1,1−2(以下、これらのクライアントを個々に区別する必要がない場合、単にクライアント1と称する)が接続されている。この例においては、クライアントが2台のみ示されているが、インターネット2には、任意の台数のクライアントが接続される。
FIG. 1 shows a configuration of a content providing system to which the present invention is applied. Connected to the Internet 2 are clients 1-1 and 1-2 (hereinafter simply referred to as
また、インターネット2には、クライアント1に対してコンテンツを提供するコンテンツサーバ3、コンテンツサーバ3が提供するコンテンツを利用するのに必要な利用権をクライアント1に対して付与するライセンスサーバ4、およびクライアント1が利用権を受け取った場合に、そのクライアント1に対して課金処理を行う課金サーバ5が接続されている。
The Internet 2 includes a
コンテンツサーバ3とライセンスサーバ4には、コンテンツホルダサーバ6がさらに接続されている。コンテンツホルダサーバ6は、コンテンツサーバ3に対してコンテンツを提供するとともに、ライセンスサーバ4に対してコンテンツに関するプロダクト情報を提供する。
A
これらのコンテンツサーバ3、ライセンスサーバ4、課金サーバ5、およびコンテンツホルダ6も、任意の台数設けられ、必要に応じてインターネット2に接続される。
Any number of these
図2はライセンスサーバ4の構成を表している。
FIG. 2 shows the configuration of the
図2において、CPU(Central Processing Unit)21は、ROM(Read Only Memory)22に記憶されているプログラム、または記憶部28からRAM(Random Access Memory)23にロードされたプログラムに従って各種の処理を実行する。タイマ20は、計時動作を行い、時刻情報をCPU21に供給する。RAM23にはまた、CPU21が各種の処理を実行する上において必要なデータなども適宜記憶される。
In FIG. 2, a CPU (Central Processing Unit) 21 executes various processes according to a program stored in a ROM (Read Only Memory) 22 or a program loaded from a
暗号化復号部24は、コンテンツデータを暗号化するとともに、既に暗号化されているコンテンツデータを復号する処理を行う。コーデック部25は、例えば、ATRAC(Adaptive Transform Acoustic Coding)3方式などでコンテンツデータをエンコードし、入出力インタフェース32を介してドライブ30に接続されている半導体メモリ44に供給し、記録させる。あるいはまた、コーデック部25は、ドライブ30を介して半導体メモリ44より読み出した、エンコードされているデータをデコードする。
The encryption /
半導体メモリ44は、例えば、メモリースティック(商標)などにより構成される。
The
CPU21、ROM22、RAM23、暗号化復号部24、およびコーデック部25は、バス31を介して相互に接続されている。このバス31にはまた、入出力インタフェース32も接続されている。
The
入出力インタフェース32には、キーボード、マウスなどよりなる入力部26、CRT、LCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部27、ハードディスクなどより構成される記憶部28、モデム、ターミナルアダプタなどより構成される通信部29が接続されている。通信部29は、インターネット2を介しての通信処理を行う。通信部29はまた、他のクライアントとの間で、アナログ信号またはデジタル信号の通信処理を行う。
The input /
入出力インタフェース32にはまた、必要に応じてドライブ30が接続され、磁気ディスク41、光ディスク42、光磁気ディスク43、或いは半導体メモリ44などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部28にインストールされる。
A
なお、図示は省略するが、クライアント1、コンテンツサーバ3、課金サーバ5も、図2に示したライセンスサーバ4と基本的に同様の構成を有するコンピュータにより構成される。そこで、以下の説明においては、図2の構成は、クライアント1、コンテンツサーバ3、課金サーバ5などの構成としても引用される。
Although illustration is omitted, the
なお、図示は省略するが、PD(Portable Device)も、図2に示したライセンスサーバ4と基本的に同様の構成を有するコンピュータにより構成される。
Although illustration is omitted, a PD (Portable Device) is also configured by a computer having basically the same configuration as the
次に、図3のフローチャートを参照して、クライアント1がコンテンツサーバ3からコンテンツの提供を受ける処理について説明する。
Next, a process in which the
ユーザが、入力部26を操作することでコンテンツサーバ3に対するアクセスを指令すると、CPU21は、ステップS1において、通信部29を制御し、インターネット2を介してコンテンツサーバ3にアクセスさせる。ステップS2において、ユーザが、入力部26を操作して、提供を受けるコンテンツを指定すると、CPU21は、この指定情報を受け取り、通信部29から、インターネット2を介してコンテンツサーバ3に、指定されたコンテンツのコンテンツIDを通知する。図4のフローチャートを参照して後述するように、この通知を受けたコンテンツサーバ3は、暗号化されたコンテンツデータを含むコンテンツを送信してくるので、ステップS3において、CPU21は、通信部29を介して、このコンテンツデータを受信すると、ステップS4において、その暗号化されているコンテンツデータを記憶部28を構成するハードディスクに供給し、記憶させる。
When the user commands access to the
次に、図4のフローチャートを参照して、クライアント1の以上の処理に対応するコンテンツサーバ3のコンテンツ提供処理について説明する。なお、以下の説明において、図2のライセンスサーバ4の構成は、コンテンツサーバ3の構成としても引用される。
Next, content providing processing of the
ステップS21において、コンテンツサーバ3のCPU21は、インターネット2から通信部29を介してクライアント1よりアクセスを受けるまで待機し、アクセスを受けたと判定したとき、ステップS22に進み、クライアント1から送信されてきたコンテンツIDを取り込む。このコンテンツIDは、クライアント1が、図3のステップS2において通知してきた情報である。
In step S21, the
ステップS23において、コンテンツサーバ3のCPU21は、記憶部28に記憶されているコンテンツの中から、ステップS22の処理で取り込まれたコンテンツIDで指定されたコンテンツデータを読み出す。CPU21は、ステップS24において、記憶部28から読み出されたコンテンツデータを、暗号化復号部24に供給し、コンテンツキーKcを用いて暗号化させる。
In step S23, the
記憶部28に記憶されているコンテンツデータは、コーデック部25により、既にATRAC3方式によりエンコードされているので、このエンコードされているコンテンツデータが暗号化されることになる。
Since the content data stored in the
なお、もちろん、記憶部28に予め暗号化した状態でコンテンツデータを記憶させることができる。この場合には、ステップS24の処理は省略することが可能である。
Of course, the content data can be stored in the
次に、ステップS25において、コンテンツサーバ3のCPU21は、暗号化したコンテンツデータを伝送するフォーマットを構成するヘッダに、暗号化されているコンテンツを復号するのに必要なキー情報(図5を参照して後述するEKBとKEKBC(Kc))を付加する。そして、ステップS26において、コンテンツサーバ3のCPU21は、ステップS24の処理で暗号化したコンテンツと、ステップS25の処理でキー情報を付加したヘッダとをフォーマット化したデータを、通信部29から、インターネット2を介して、アクセスしてきたクライアント1に送信する。
Next, in step S25, the
図5は、このようにして、コンテンツサーバ3からクライアント1にコンテンツが供給される場合のフォーマットの構成を表している。同図に示されるように、このフォーマットは、ヘッダ(Header)とデータ(Data)とにより構成される。
FIG. 5 shows a format configuration when content is supplied from the
ヘッダには、コンテンツ情報(Content information)、URL(Uniform Resource Locator)、イネーブリングキーブロック(有効化キーブロック)(EKB(Enabling Key Block))、EKBから生成されたキーKEKBCを用いて暗号化されたコンテンツキーKcとしてのデータKEKBC(Kc)、コンテンツの属性(Attributes)、および署名(Signatures)が配置されている。なお、EKBについては、図13および図14を参照して後述する。 The header is encrypted using the content information, URL (Uniform Resource Locator), enabling key block (Enabling Key Block) (EKB (Enabling Key Block)), and key K EKBC generated from EKB. Data K EKBC (Kc) as content key Kc, content attributes (Attributes), and signatures (Signatures) are arranged. The EKB will be described later with reference to FIGS. 13 and 14.
コンテンツ情報には、データとしてフォーマット化されているコンテンツデータを識別するための識別情報としてのコンテンツID(CID)、そのコンテンツのコーデックの方式などの情報が含まれている。 The content information includes content ID (CID) as identification information for identifying content data formatted as data, information such as the codec method of the content.
URLは、そのコンテンツを利用するために必要な利用権を取得するときアクセスするアドレス情報であり、図1のシステムの場合、具体的には、利用権を受けるために必要なライセンスサーバ4のアドレスである。
The URL is address information that is accessed when a usage right necessary to use the content is acquired. In the case of the system of FIG. 1, specifically, the address of the
コンテンツの属性は、コンテンツの関する情報であり、コンテンツの属性には、コンテンツID、コンテンツの提供者を識別するための識別情報としてのレコードカンパニーID、アーティストを識別するための識別情報としてのアーティストIDなどが含まれる。本実施の形態では、属性は利用権の対象となるコンテンツを特定するために用いられる。 The content attribute is information related to the content. The content attribute includes a content ID, a record company ID as identification information for identifying the content provider, and an artist ID as identification information for identifying the artist. Etc. are included. In the present embodiment, the attribute is used to specify the content that is the target of the usage right.
署名は、コンテンツの属性に対応する電子署名である。 The signature is an electronic signature corresponding to the content attribute.
データは、任意の数の暗号化ブロック(Encryption Block)により構成される。各暗号化ブロックは、イニシャルベクトル(IV(Initial Vector))、シード(Seed)、およびコンテンツデータをキーK'cで暗号化したデータEK'c(data)により構成されている。 The data is composed of an arbitrary number of encryption blocks. Each encrypted block includes an initial vector (IV (Initial Vector)), a seed (Seed), and data E K′c (data) obtained by encrypting content data with a key K′c.
キーK'cは、次式により示されるように、コンテンツキーKcと、乱数で設定される値Seedをハッシュ関数に適用して演算された値により構成される。 As shown by the following equation, the key K′c includes a content key Kc and a value calculated by applying a value Seed set by a random number to a hash function.
K'c=Hash(Kc, Seed) K'c = Hash (Kc, Seed)
イニシャルベクトルIVとシードSeedは、各暗号化ブロック毎に異なる値に設定される。 The initial vector IV and the seed Seed are set to different values for each encrypted block.
この暗号化は、コンテンツのデータを8バイト単位で区分して、8バイト毎に行われる。後段の8バイトの暗号化は、前段の8バイトの暗号化の結果を利用して行われるCBC(Cipher Block Chaining)モードで行われる。 This encryption is performed every 8 bytes by dividing the content data in units of 8 bytes. The subsequent 8-byte encryption is performed in a CBC (Cipher Block Chaining) mode that is performed using the result of the previous 8-byte encryption.
CBCモードの場合、最初の8バイトのコンテンツデータを暗号化するとき、その前段の8バイトの暗号化結果が存在しないため、最初の8バイトのコンテンツデータを暗号化するときは、イニシャルベクトルIVを初期値として暗号化が行われる。 In the CBC mode, when encrypting the first 8-byte content data, there is no previous 8-byte encryption result. Therefore, when encrypting the first 8-byte content data, the initial vector IV is set to Encryption is performed as an initial value.
このCBCモードによる暗号化を行うことで、1つの暗号化ブロックが解読されたとしても、その影響が、他の暗号化ブロックにおよぶことが抑制される。 By performing encryption in the CBC mode, even if one encrypted block is decrypted, the influence is suppressed from affecting other encrypted blocks.
また、暗号方式についてはこれに限らない。 Further, the encryption method is not limited to this.
以上のようにして、クライアント1は、コンテンツサーバ3からコンテンツを無料で、自由に取得することができる。従って、コンテンツそのものは、大量に、配布することが可能となる。
As described above, the
しかしながら、各クライアント1は、取得したコンテンツを利用するとき、そのコンテンツの利用が許可されていることを示す利用権を保持している必要がある。そこで、図6を参照して、クライアント1がコンテンツを再生する場合の処理について説明する。
However, each
ステップS41において、クライアント1のCPU21は、ユーザが入力部26を操作することで指示したコンテンツの識別情報(CID)を取得する。この識別情報は、例えば、コンテンツのタイトルや、記憶されている各コンテンツ毎に付与されている番号などにより構成される。
In step S <b> 41, the
そして、CPU21は、コンテンツが指示されると、そのコンテンツの属性(Attributes)を読み取る。この属性(Attributes)は、図5に示されるように、コンテンツのヘッダに記述されているものである。
Then, when the content is instructed, the
次に、ステップS42に進み、CPU21は、ステップS41で読み取られた属性(Attributes)が各利用権に含まれているコンテンツ条件を満たすような利用権が、クライアント1により既に取得され、記憶部28に記憶されているか否かを判定する。まだ、利用権が取得されていない場合には、ステップS43に進み、CPU21は、利用権取得処理を実行する。この利用権取得処理の詳細は、図7のフローチャートを参照して後述する。
Next, proceeding to step S42, the
ステップS42において、利用権が既に取得されていると判定された場合、または、ステップS43において、利用権取得処理が実行された結果、利用権が取得された場合、ステップS44に進み、CPU21は、取得されている利用権は有効期限内のものであるか否かを判定する。利用権が有効期限内のものであるか否かは、利用権の内容として規定されている期限(後述する図8参照)と、タイマ20により計時されている現在日時と比較することで判断される。利用権の有効期限が既に満了していると判定された場合、CPU21は、ステップS45に進み、利用権更新処理を実行する。
If it is determined in step S42 that the usage right has already been acquired, or if the usage right is acquired as a result of executing the usage right acquisition process in step S43, the process proceeds to step S44, and the
ステップS44において、利用権はまだ有効期限内であると判定された場合、または、ステップS45において、利用権が更新された場合、ステップS46に進み、CPU21は記憶部28に記憶されている、利用権に含まれる使用条件及び使用状態(後述する)を読み出し、再生の条件を満たしているかどうかを判定する。
If it is determined in step S44 that the usage right is still within the expiration date, or if the usage right is updated in step S45, the process proceeds to step S46, and the
ステップS46において、利用権に含まれる使用条件、及び使用状態に基づき、再生が許可されると判断された場合には、ステップS47に進み、CPU21は、暗号化されているコンテンツデータを記憶部28から読み出し、RAM23に格納させる。そして、ステップS48において、CPU21は、RAM23に記憶された暗号化コンテンツデータを、図5のデータに配置されている暗号化ブロック単位で、暗号化復号部24に供給し、コンテンツキーKcを用いて復号させる。
If it is determined in step S46 that reproduction is permitted based on the usage conditions and usage status included in the usage right, the process proceeds to step S47, and the
コンテンツキーKcを得る方法の具体例は、図13および図14を参照して後述するが、デバイスノードキー(DNK)を用いて、EKB(図5)に含まれるキーKEKBCを得ることができ、そのキーKEKBCを用いて、データKEKBC(Kc)(図5)から、コンテンツキーKcを得ることができる。 A specific example of the method for obtaining the content key Kc will be described later with reference to FIG. 13 and FIG. 14, but the key K EKBC included in the EKB (FIG. 5) can be obtained using the device node key (DNK). The content key Kc can be obtained from the data K EKBC (Kc) (FIG. 5) using the key K EKBC .
CPU21は、さらに、ステップS49において、暗号化復号部24により復号されたコンテンツデータをコーデック部25に供給し、デコードさせる。そして、コーデック部25によりデコードされたデータを、CPU21は、入出力インタフェース32から出力部27に供給し、D/A変換させ、スピーカから出力させる。
Further, in step S49, the
ステップS46において、利用権に含まれる使用条件、及び使用状態に基づき、再生が許可されないと判断された場合、コンテンツを出力しないで、処理は終了する。 If it is determined in step S46 that reproduction is not permitted based on the usage conditions and usage status included in the usage right, the processing ends without outputting the content.
次に、図7のフローチャートを参照して、図6のステップS43で行われる利用権取得処理の詳細について説明する。 Next, details of the usage right acquisition process performed in step S43 of FIG. 6 will be described with reference to the flowchart of FIG.
クライアント1は、事前にライセンスサーバに登録することにより、リーフID、DNK(Device Node Key)、クライアント1の秘密鍵・公開鍵のペア、ライセンスサーバの公開鍵、及び各公開鍵の証明書を含むサービスデータを取得しておく。
By registering with the license server in advance, the
リーフIDは、クライアント毎に割り当てられた識別情報を表し、DNKは、コンテンツに含まれるEKB(有効化キーブロック)によって暗号化されているコンテンツキーKcを復号するのに必要なデバイスノードキーである(図10を参照して後述する)。 The leaf ID represents identification information assigned to each client, and the DNK is a device node key necessary for decrypting the content key Kc encrypted by the EKB (validation key block) included in the content. (It will be described later with reference to FIG. 10).
最初にステップS61において、CPU21は、コンテンツのヘッダに記述されているURLを取得する。上述したように、このURLは、そのコンテンツを利用するために必要な利用権を取得するときアクセスすべきアドレスである。そこで、ステップS62において、CPU21は、ステップS61で取得したURLにアクセスする。具体的には、通信部29によりインターネット2を介してライセンスサーバ4にアクセスが行われる。このとき、ライセンスサーバ4は、クライアント1に対して、利用権のリストを送信するとともに、購入する利用権(コンテンツを使用するのに必要な利用権)を指定する利用権指定情報、並びにユーザIDとパスワードの入力を要求してくる(後述する図9のステップS102)。CPU21は、この要求を出力部27の表示部に表示させる。ユーザは、この表示に基づいて、入力部26を操作して、利用権指定情報、ユーザID、およびパスワードを入力する。なお、このユーザIDとパスワードは、クライアント1のユーザが、インターネット2を介してライセンスサーバ4にアクセスし、事前に取得しておいたものである。
First, in step S61, the
CPU21は、ステップS63,S64において、入力部26から入力された利用権指定情報を取り込むとともに、ユーザIDとパスワードを取り込む。CPU21は、ステップS65において、通信部29を制御し、入力されたユーザIDとパスワードを、利用権指定情報及びサービスデータ(後述する)に含まれるリーフIDを含む利用権要求をインターネット2を介してライセンスサーバ4に送信させる。
In steps S63 and S64, the
ライセンスサーバ4は、図9を参照して後述するように、ユーザIDとパスワード、並びに利用権指定情報に基づいて利用権を送信してくる(ステップS109)か、または、条件が満たされない場合には、利用権を送信してこない(ステップS112)。
As will be described later with reference to FIG. 9, the
ステップS66において、CPU21は、ライセンスサーバ4から利用権が送信されてきたか否かを判定し、利用権が送信されてきた場合には、ステップS67に進み、その利用権を記憶部28に供給し、記憶させる。
In step S66, the
ステップS66において、利用権が送信されて来ないと判定した場合、CPU21は、ステップS68に進み、エラー処理を実行する。具体的には、CPU21は、コンテンツを利用するための利用権が得られないので、コンテンツの再生処理を禁止する。
If it is determined in step S66 that the usage right has not been transmitted, the
以上のようにして、各クライアント1は、コンテンツを利用するために必要な利用権を取得して、初めて、そのコンテンツを使用することが可能となる。
As described above, each
なお、図7の利用権取得処理は、各ユーザがコンテンツを取得する前に、予め行っておくようにすることも可能である。 Note that the usage right acquisition process in FIG. 7 may be performed in advance before each user acquires content.
クライアント1に提供される利用権は、例えば、図8に示されるように、使用条件、リーフIDおよび電子署名などを含んでいる。
The usage right provided to the
バージョンは、メジャーバージョンおよびマイナーバージョンをドットで区切って、利用権のバージョンを記述する情報である。 The version is information describing the version of the usage right by separating the major version and the minor version with dots.
プロファィルは、10進の整数値から記述され、利用権の記述方法に対する制限を規定する情報である。 The profile is described from a decimal integer value, and is information that defines restrictions on the usage right description method.
利用権IDは、16進定数で記述される、利用権を識別するための識別情報である。 The usage right ID is identification information described by a hexadecimal constant for identifying the usage right.
作成日時は、利用権が作成された日時を示す。 The creation date / time indicates the date / time when the usage right was created.
有効期限は、利用権の有効期限を示す。9999年23時59分59秒である有効期限は、有効期限に制限がないことを示す。 The expiration date indicates the expiration date of the usage right. An expiration date of 23:59:59 of 9999 indicates that there is no limit on the expiration date.
使用条件には、その利用権に基づいて、コンテンツを使用することが可能な使用期限、その利用権に基づいて、コンテンツを再生することが可能な再生期限、コンテンツの最大再生回数、その利用権に基づいて、コンテンツをコピーすることが可能な回数(許されるコピー回数)、最大チェックアウト回数、その利用権に基づいて、コンテンツをCD-Rに記録することができるか否か、PD(Portable Device)にコピーすることが可能な回数、利用権の移動の可否、使用ログをとる義務の有無等を示す情報が含まれる。 The usage conditions include an expiration date for using the content based on the usage rights, a playback expiration date for reproducing the content based on the usage rights, a maximum number of times the content can be played, and the usage rights. Based on the number of times the content can be copied (allowed number of copies), the maximum number of checkouts, and whether or not the content can be recorded on a CD-R based on its usage rights, PD (Portable Device) includes information indicating the number of times that copying can be performed, whether usage rights can be transferred, whether or not there is an obligation to take a usage log, and the like.
使用条件の電子署名は、使用条件に対応する、電子署名である。 The electronic signature of the use condition is an electronic signature corresponding to the use condition.
定数は、使用条件または使用状態で参照される定数である。 The constant is a constant referred to in the use condition or use state.
リーフIDは、クライアントを識別するための識別情報である。 The leaf ID is identification information for identifying the client.
電子署名は、利用権全体に対応する、電子署名である。 The electronic signature is an electronic signature corresponding to the entire usage right.
証明書は、ライセンスサーバの公開鍵を含む証明書である。 The certificate is a certificate including the public key of the license server.
また、クライアント1の記憶部28には、利用権の使用条件とあわせて、コンテンツや利用権の状態を表す情報である使用状態が記憶される。使用状態には、対応する利用権に基づいてコンテンツを再生した回数、コンテンツをコピーした回数、コンテンツをチェックアウトした回数、コンテンツを初めて再生した日時、コンテンツをCD-Rに記録した回数、その他コンテンツあるいは利用権に関する履歴情報等を示す情報が含まれる。
In addition, the
図6のステップS46の再生の条件の判定は、利用権に含まれる使用条件と、記憶部28に利用権と共に記憶されている使用状態とを基に行われる。例えば、使用状態に記憶されているコンテンツを再生した回数が、使用条件に含まれるコンテンツ最大再生回数より少ない場合には、再生の条件が満たされていると判定される。
The determination of the reproduction condition in step S46 in FIG. 6 is performed based on the usage conditions included in the usage right and the usage state stored in the
次に、図9のフローチャートを参照して、図7のクライアント1の利用権取得処理に対応して実行されるライセンスサーバ4の利用権提供処理について説明する。
Next, the usage right providing process of the
ステップS101において、ライセンスサーバ4のCPU21は、クライアント1よりアクセスを受けるまで待機し、アクセスを受けたとき、ステップS102に進み、アクセスしてきたクライアント1に対して、各利用権に関する情報を含む利用権のリストを送信するとともに、ユーザIDとパスワード、並びに、利用権指定情報の送信を要求する。上述したようにして、クライアント1から、図7のステップS65の処理で、ユーザIDとパスワード、リーフID並びに利用権指定情報(利用権IDであってもよい)が送信されてきたとき、ライセンスサーバ4のCPU21は、通信部29を介してこれを受信し、取り込む処理を実行する。
In step S101, the
そして、ライセンスサーバ4のCPU21は、ステップS103において、通信部29から課金サーバ5にアクセスし、ユーザIDとパスワードに対応するユーザの与信処理を要求する。課金サーバ5は、インターネット2を介してライセンスサーバ4から与信処理の要求を受けると、そのユーザIDとパスワードに対応するユーザの過去の支払い履歴などを調査し、そのユーザが、過去に利用権の対価の不払いの実績があるか否かなどを調べ、そのような実績がない場合には、利用権の付与を許容する与信結果を送信し、不払いの実績などがある場合には、利用権付与の不許可の与信結果を送信する。
Then, in step S103, the
ステップS104において、ライセンスサーバ4のCPU21は、課金サーバ5からの与信結果が、利用権を付与することを許容する与信結果であるか否かを判定し、利用権の付与が許容されている場合には、ステップS105に進み、ステップS102の処理で取り込まれた利用権指定情報に対応する利用権を、記憶部28に記憶されている利用権の中から取り出す。記憶部28に記憶されている利用権は、あらかじめ利用権ID、バージョン、作成日時、有効期限等の情報が記述されている。ステップS106において、CPU21は、その利用権に受信したリーフIDを付加する。さらに、ステップS107において、CPU21は、ステップS105で選択された利用権に対応づけられている使用条件を選択する。あるいはまた、ステップS102の処理で、ユーザから使用条件が指定された場合には、その使用条件が必要に応じて、予め用意されている使用条件に付加される。CPU21は、選択された使用条件を利用権に付加する。使用条件は利用権にあらかじめ付加されていてもよい。
In step S104, the
ステップS108において、CPU21はライセンスサーバの秘密鍵により利用権に署名し、ライセンスサーバの公開鍵を含む証明書を利用権に添付し、これにより、図8に示されるような構成の利用権が生成される。
In step S108, the
次に、ステップS109に進み、ライセンスサーバ4のCPU21は、その利用権(図8に示される構成を有する)を、通信部29からインターネット2を介してクライアント1に送信させる。
In step S109, the
ステップS110においてライセンスサーバ4のCPU21は、ステップS109の処理で、いま送信した利用権(使用条件、リーフIDを含む)を、ステップS102の処理で取り込まれたユーザIDとパスワードに対応して、記憶部28に記憶させる。さらに、ステップS111において、CPU21は、課金処理を実行する。具体的には、CPU21は、通信部29から課金サーバ5に、そのユーザIDとパスワードに対応するユーザに対する課金処理を要求する。課金サーバ5は、この課金の要求に基づいて、そのユーザに対する課金処理を実行する。上述したように、この課金処理に対して、そのユーザが支払いを行わなかったような場合には、以後、そのユーザは、利用権の付与を要求したとしても、利用権を受けることができないことになる。
In step S110, the
すなわち、この場合には、課金サーバ5から利用権の付与を不許可とする与信結果が送信されてくるので、ステップS104からステップS112に進み、CPU21は、エラー処理を実行する。具体的には、ライセンスサーバ4のCPU21は、通信部29を制御してアクセスしてきたクライアント1に対して、利用権を付与することができない旨のメッセージを送信し、処理を終了させる。
That is, in this case, the charging
この場合、上述したように、そのクライアント1は利用権を受けることができないので、そのコンテンツを利用すること(暗号化されたコンテンツデータを復号し、再生すること)ができないことになる。
In this case, as described above, since the
本発明においては、図10に示されるように、ブロードキャストインクリプション(Broadcast Encryption)方式の原理に基づいて、デバイスとキーが管理される。キーは、階層ツリー構造とされ、最下段のリーフ(leaf)が個々のデバイス固有のキーに対応する。本発明のシステムに用いられる階層ツリー構造鍵管理については特許公開2001-352321号公報に記載されている。図10の例の場合、番号0から番号15までの16個のデバイスに対応するキーが生成される。
In the present invention, as shown in FIG. 10, devices and keys are managed based on the principle of the broadcast encryption method. The keys have a hierarchical tree structure, and the bottom leaf corresponds to a key unique to each device. Hierarchical tree structure key management used in the system of the present invention is described in Japanese Patent Publication No. 2001-352321. In the case of the example of FIG. 10, keys corresponding to 16 devices from
各キーは、図中丸印で示されるツリー構造の各ノードに対応して規定される。この例では、最上段のルートノードに対応してルートキーKRが、2段目のノードに対応してキーK0,K1が、3段目のノードに対応してキーK00乃至K11が、第4段目のノードに対応してキーK000乃至キーK111が、それぞれ対応されている。そして、最下段のノードとしてのリーフ(デバイスノード)に、キーK0000乃至K1111が、それぞれ対応されている。 Each key is defined corresponding to each node of the tree structure indicated by a circle in the figure. In this example, the root key KR corresponds to the root node at the top level, the keys K0 and K1 correspond to the second level node, the keys K00 to K11 correspond to the fourth level node, and the fourth key. Corresponding to the nodes in the tier, keys K000 to K111 are respectively associated. Keys K0000 to K1111 correspond to leaves (device nodes) as the lowermost nodes.
階層構造とされているため、例えば、キーK0010とキー0011の上位のキーは、K001とされ、キーK000とキーK001の上位のキーは、K00とされている。以下同様に、キーK00とキーK01の上位のキーは、K0とされ、キーK0とキーK1の上位のキーは、KRとされている。 Because of the hierarchical structure, for example, the upper key of the key K0010 and the key 0011 is K001, and the upper key of the key K000 and the key K001 is K00. Similarly, the upper key of the keys K00 and K01 is K0, and the upper key of the keys K0 and K1 is KR.
コンテンツを利用するキーは、最下段のデバイスノード(リーフ)から、最上段のルートノードまでの1つのパスの各ノードに対応するキーで管理される。例えば、番号3のリーフに対応するデバイスにおいて、コンテンツを利用するためのキーは、キーK0011,K001,K00,K0,KRを含むパスの各キーで管理される。
Keys that use content are managed by keys corresponding to the nodes of one path from the lowest device node (leaf) to the highest root node. For example, in the device corresponding to the leaf of
本発明のシステムにおいては、図11に示されるように、図10の原理に基づいて構成されるキーシステムで、デバイスのキーとコンテンツのキーの管理が行われる。図11の例では、8+24+32段のノードがツリー構造とされ、ルートノードから下位の8段までの各ノードにカテゴリが対応される。ここにおけるカテゴリとは、例えばメモリースティックなどの半導体メモリを使用する機器のカテゴリ、デジタル放送を受信する機器のカテゴリといったカテゴリを意味する。そして、このカテゴリノードのうちの1つのノードに、ライセンスを管理するシステムとして本システム(Tシステムと称する)が対応する。 In the system of the present invention, as shown in FIG. 11, the key of the device and the key of the content are managed by the key system configured based on the principle of FIG. In the example of FIG. 11, nodes of 8 + 24 + 32 levels have a tree structure, and categories correspond to the nodes from the root node to the lower 8 levels. The category here means a category such as a category of a device that uses a semiconductor memory such as a memory stick and a category of a device that receives a digital broadcast. This system (referred to as a T system) corresponds to one of the category nodes as a system for managing licenses.
すなわち、このTシステムのノードよりさらに下の階層の24段のノードに対応するキーにより、サービスプロバイダ、あるいはサービスプロバイダが提供するサービスが対応される。この例の場合、これにより、224(約16メガ)のサービスプロバイダあるいはサービスを規定することができる。さらに、最も下側の32段の階層により、232(約4ギガ)のユーザ(あるいはクライアント1)を規定することができる。最下段の32段のノードからTシステムのノードまでのパス上の各ノードに対応するキーが、DNK(Device Node Key)を構成し、最下段のリーフに対応するIDがリーフIDとされる。 That is, a service provider or a service provided by a service provider is associated with a key corresponding to a node of 24 levels in a lower hierarchy than the node of the T system. In this example, this would define 224 (about 16 mega) service providers or services. Furthermore, 232 (about 4 giga) users (or clients 1) can be defined by the lowest 32 levels. The key corresponding to each node on the path from the lowest 32 nodes to the T system node constitutes a DNK (Device Node Key), and the ID corresponding to the lowest leaf is the leaf ID.
コンテンツを暗号化したコンテンツキーは更新されたルートキーKR'によって暗号化され、上位の階層の更新ノードキーは、その直近の下位の階層の更新ノードキーを用いて暗号化され、EKB(図13および図14を参照して後述する)内に配置される。EKBにおける末端から1つ上の段の更新ノードキーはEKBの末端のノードキーあるいはリーフキーによって暗号化され、EKB内に配置される。クライアント1は、サービスデータに記述されているDNKのいずれかのキーを用いて、コンテンツデータとともに配布されるEKB(図13および図14)内に記述されている直近の上位の階層の更新ノードキーを復号し、復号して得たキーを用いて、EKB内に記述されているさらにその上の階層の更新ノードキーを復号する。以上の処理を順次行うことで、クライアント1は、更新ルートキーKR'を得ることができる。
The content key obtained by encrypting the content is encrypted by the updated root key KR ′, and the update node key of the upper hierarchy is encrypted using the update node key of the immediately lower hierarchy, and EKB (FIG. 13 and FIG. 14 will be described later with reference to FIG. The update node key one level above the end in the EKB is encrypted by the node key or leaf key at the end of the EKB, and placed in the EKB. Using one of the DNK keys described in the service data, the
図12に階層ツリー構造のカテゴリの分類の具体的な例を示す。図12において、階層ツリー構造の最上段には、ルートキーKR2301が設定され、以下の中間段にはノードキー2302が設定され、最下段には、リーフキー2303が設定される。各デバイスは個々のリーフキーと、リーフキーからルートキーに至る一連のノードキー、ルートキーからなるデバイスノードキー(DNK)を保有する。
FIG. 12 shows a specific example of category classification of a hierarchical tree structure. In FIG. 12, a root key KR2301 is set at the top level of the hierarchical tree structure, a
最上段から第M段目(図11の例では、M=8)の所定のノードがカテゴリノード2304として設定される。すなわち第M段目のノードの各々が特定カテゴリのデバイス設定ノードとされる。第M段の1つのノードを頂点としてM+1段以下のノード、リーフは、そのカテゴリに含まれるデバイスに関するノードおよびリーフとされる。
A predetermined node from the top level to the M-th level (M = 8 in the example of FIG. 11) is set as the
例えば図12の第M段目の1つのノード2305にはカテゴリ[メモリースティック(商標)]が設定され、このノード以下に連なるノード、リーフはメモリステッイクを使用した様々なデバイスを含むカテゴリ専用のノードまたはリーフとして設定される。すなわち、ノード2305以下が、メモリースティックのカテゴリに定義されるデバイスの関連ノード、およびリーフの集合として定義される。
For example, the category [Memory Stick (trademark)] is set in one
さらに、M段から数段分下位の段をサブカテゴリノード2306として設定することができる。図12の例では、カテゴリ[メモリースティック]ノード2305の2段下のノードに、メモリースティックを使用したデバイスのカテゴリに含まれるサブカテゴリノードとして、[再生専用器]のノード2306が設定されている。さらに、サブカテゴリノードである再生専用器のノード2306以下に、再生専用器のカテゴリに含まれる音楽再生機能付き電話のノード2307が設定され、さらにその下位に、音楽再生機能付き電話のカテゴリに含まれる[PHS]ノード2308と、[携帯電話]ノード2309が設定されている。
Furthermore, a stage that is several stages lower than the M stage can be set as the subcategory node 2306. In the example of FIG. 12, a node 2306 of “reproduction-only device” is set as a subcategory node included in the category of the device using the memory stick in a node two steps below the category [memory stick]
さらに、カテゴリ、サブカテゴリは、デバイスの種類のみならず、例えばあるメーカー、コンテンツプロバイダ、決済機関等が独自に管理するノード、すなわち処理単位、管轄単位、あるいは提供サービス単位等、任意の単位(これらを総称して以下、エンティティと呼ぶ)で設定することが可能である。例えば1つのカテゴリノードをゲーム機器メーカーの販売するゲーム機器XYZ専用の頂点ノードとして設定すれば、メーカーの販売するゲーム機器XYZに、その頂点ノード以下の下段のノードキー、リーフキーを格納して販売することが可能となり、その後、暗号化コンテンツの配信、あるいは各種キーの配信、更新処理を、その頂点ノードキー以下のノードキー、リーフキーによって構成される有効化キーブロック(EKB)を生成して配信し、頂点ノード以下のデバイスに対してのみ利用可能なデータが配信可能となる。 Furthermore, categories and subcategories are not limited to device types, for example, nodes managed independently by a certain manufacturer, content provider, payment institution, etc., that is, arbitrary units such as processing units, jurisdiction units, or service units provided (these are (Hereinafter collectively referred to as an entity). For example, if one category node is set as a vertex node dedicated to the game device XYZ sold by the game device manufacturer, the lower node key and leaf key below the vertex node are stored and sold in the game device XYZ sold by the manufacturer. After that, the distribution of encrypted contents or the distribution and update processing of various keys is performed by generating and distributing an enabling key block (EKB) composed of node keys and leaf keys below the vertex node key, and the vertex node Data that can be used only for the following devices can be distributed.
このように、1つのノードを頂点として、以下のノードをその頂点ノードに定義されたカテゴリ、あるいはサブカテゴリの関連ノードとして設定する構成とすることにより、カテゴリ段、あるいはサブカテゴリ段の1つの頂点ノードを管理するメーカー、コンテンツプロバイダ等がそのノードを頂点とする有効化キーブロック(EKB)を独自に生成して、頂点ノード以下に属するデバイスに配信する構成が可能となり、頂点ノードに属さない他のカテゴリのノードに属するデバイスには全く影響を及ぼさずにキー更新を実行することができる。 In this way, by setting one node as a vertex and setting the following nodes as related nodes in the category or subcategory defined in the vertex node, one vertex node in the category stage or subcategory stage is set. It becomes possible for the manufacturer, content provider, etc. to manage to create an enabling key block (EKB) with the node as a vertex and distribute it to devices belonging to the vertex node or lower, and other categories that do not belong to the vertex node The key update can be executed without affecting the devices belonging to this node.
また、ある時点tにおいて、デバイス3の所有する鍵K0011,K001,K00,K0,KRが攻撃者(ハッカー)により解析されて露呈したことが発覚した場合、それ以降、システム(デバイス0,1,2,3のグループ)で送受信されるデータを守るために、デバイス3をシステムから切り離す必要がある。そのためには、ノードキーK001,K00,K0,KRを、それぞれ新たな鍵K(t)001,K(t)00,K(t)0,K(t)Rに更新し、デバイス0,1,2にその更新キーを伝える必要がある。ここで、K(t)aaaは、鍵Kaaaの世代(Generation)tの更新キーであることを示す。
Further, at a certain point in time t, when it is discovered that the keys K0011, K001, K00, K0, KR owned by the
更新キーの配布処理ついて説明する。キーの更新は、例えば、図13に示す有効化キーブロック(EKB:Enabling Key Block)と呼ばれるブロックデータによって構成されるテーブルを、ネットワークを介して、あるいは記録媒体に格納してデバイス0,1,2に供給することによって実行される。なお、有効化キーブロック(EKB)は、図10に示されるようなツリー構造を構成する各リーフ(最下段のノード)に対応するデバイスに、新たに更新されたキーを配布するための暗号化キーによって構成される。有効化キーブロック(EKB)は、キー更新ブロック(KRB:Key Renewal Block)と呼ばれることもある。 The update key distribution process will be described. The key update is performed by, for example, storing a table composed of block data called an enabling key block (EKB) shown in FIG. 2 is executed. The enabling key block (EKB) is an encryption for distributing a newly updated key to devices corresponding to each leaf (bottom node) constituting the tree structure as shown in FIG. Consists of keys. The enabling key block (EKB) is sometimes called a key renewal block (KRB).
図13に示す有効化キーブロック(EKB)は、ノードキーの更新の必要なデバイスのみが更新可能なデータ構成を持つブロックデータとして構成される。図13の例は、図10に示すツリー構造中のデバイス0,1,2において、世代tの更新ノードキーを配布することを目的として形成されたブロックデータである。図10から明らかなように、デバイス0,デバイス1は、更新ノードキーとしてK(t)00、K(t)0、K(t)Rが必要であり、デバイス2は、更新ノードキーとしてK(t)001、K(t)00、K(t)0、K(t)Rが必要である。
The enabling key block (EKB) shown in FIG. 13 is configured as block data having a data configuration that can be updated only by a device that needs to update the node key. The example of FIG. 13 is block data formed for the purpose of distributing generation t update node keys in the
図13のEKBに示されるように、EKBには複数の暗号化キーが含まれる。図13の最下段の暗号化キーは、Enc(K0010,K(t)001)である。これはデバイス2の持つリーフキーK0010によって暗号化された更新ノードキーK(t)001であり、デバイス2は、自身の持つリーフキーK0010によってこの暗号化キーを復号し、更新ノードキーK(t)001を得ることができる。また、復号により得た更新ノードキーK(t)001を用いて、図13の下から2段目の暗号化キーEnc(K(t)001,K(t)00)が復号可能となり、更新ノードキーK(t)00を得ることができる。
As shown in the EKB of FIG. 13, the EKB includes a plurality of encryption keys. The lowermost encryption key in FIG. 13 is Enc (K0010, K (t) 001). This is an update node key K (t) 001 encrypted with the leaf key K0010 of the
以下順次、図13の上から2段目の暗号化キーEnc(K(t)00,K(t)0)を復号することで、更新ノードキーK(t)0が得られ、これを用いて、図13の上から1段目の暗号化キーEnc(K(t)0,K(t)R)を復号することで、更新ルートキーK(t)Rが得られる。 Subsequently, the update node key K (t) 0 is obtained by sequentially decrypting the encryption key Enc (K (t) 00, K (t) 0) in the second stage from the top in FIG. The updated root key K (t) R is obtained by decrypting the encryption key Enc (K (t) 0, K (t) R) in the first stage from the top in FIG.
一方、ノードキーK000は更新する対象に含まれておらず、ノード0,1が、更新ノードキーとして必要なのは、K(t)00、K(t)0、K(t)Rである。ノード0,1は、デバイスキーK0000,K0001を用いて、図13の上から3段目の暗号化キーEnc(K000,K(t)00)を復号することで更新ノードキーK(t)00を取得し、以下順次、図13の上から2段目の暗号化キーEnc(K(t)00,K(t)0)を復号することで、更新ノードキーK(t)0を得、図13の上から1段目の暗号化キーEnc(K(t)0,K(t)R)を復号することで、更新ルートキーK(t)Rを得る。このようにして、デバイス0,1,2は更新したキーK(t)Rを得ることができる。
On the other hand, the node key K000 is not included in the update target, and the
なお、図13のインデックスは、図の右側の暗号化キーを復号するための復号キーとして使用するノードキー、リーフキーの絶対番地を示す。 The index in FIG. 13 indicates the absolute address of the node key and leaf key used as the decryption key for decrypting the encryption key on the right side of the diagram.
図10に示すツリー構造の上位段のノードキーK(t)0,K(t)Rの更新が不要であり、ノードキーK00のみの更新処理が必要である場合には、図14の有効化キーブロック(EKB)を用いることで、更新ノードキーK(t)00をデバイス0,1,2に配布することができる。
When it is not necessary to update the node keys K (t) 0 and K (t) R in the upper level of the tree structure shown in FIG. 10 and only the node key K00 needs to be updated, the activation key block shown in FIG. By using (EKB), the updated node key K (t) 00 can be distributed to the
図14に示すEKBは、例えば特定のグループにおいて共有する新たなコンテンツキーを配布する場合に利用可能である。具体例として、図10に点線で示すグループ内のデバイス0,1,2,3がある記録媒体を用いており、新たな共通のコンテンツキーK(t)conが必要であるとする。このとき、デバイス0,1,2,3の共通のノードキーK00を更新したK(t)00を用いて新たな共通の更新コンテンツキーK(t)conを暗号化したデータEnc(K(t)00,K(t)con)が、図14に示されるEKBとともに配布される。この配布により、デバイス4など、その他のグループの機器が復号することができないデータとしての配布が可能となる。
The EKB shown in FIG. 14 can be used, for example, when a new content key shared in a specific group is distributed. As a specific example, it is assumed that a recording
すなわち、デバイス0,1,2はEKBを処理して得たキーK(t)00を用いて暗号文を復号すれば、t時点でのコンテンツキーK(t)conを得ることが可能になる。
That is, if the
図15に、t時点でのコンテンツキーK(t)conを得る処理例として、K(t)00を用いて新たな共通のコンテンツキーK(t)conを暗号化したデータEnc(K(t)00,K(t)con)と、図14に示すEKBとを記録媒体を介して受領したデバイス0の処理を示す。すなわちこの例は、EKBによる暗号化メッセージデータをコンテンツキーK(t)conとした例である。 In FIG. 15, as an example of processing for obtaining the content key K (t) con at time t, data Enc (K (t (t)) is obtained by encrypting a new common content key K (t) con using K (t) 00. ) 00, K (t) con) and EKB shown in FIG. 14 through the recording medium. That is, this example is an example in which the encrypted message data by EKB is the content key K (t) con.
図15に示すように、デバイス0は、記録媒体に格納されている世代t時点のEKBと、自分があらかじめ格納しているノードキーK000を用いて、上述したと同様のEKB処理により、ノードキーK(t)00を生成する。さらに、デバイス0は、復号した更新ノードキーK(t)00を用いて、更新コンテンツキーK(t)conを復号して、後にそれを使用するために自分だけが持つリーフキーK0000で暗号化して格納する。
As shown in FIG. 15, the
図16に有効化キーブロック(EKB)のフォーマット例を示す。バージョン601は、有効化キーブロック(EKB)のバージョンを示す識別子である。なお、バージョンは、最新のEKBを識別する機能と、コンテンツとの対応関係を示す機能を持つ。デプスは、有効化キーブロック(EKB)の配布先のデバイスに対する階層ツリーの階層数を示す。データポインタ603は、有効化キーブロック(EKB)中のデータ部606の位置を示すポインタであり、タグポインタ604はタグ部607の位置、署名ポインタ605は署名608の位置を示すポインタである。
FIG. 16 shows a format example of the enabling key block (EKB). The
データ部606は、例えば更新するノードキーを暗号化したデータを格納する。例えば図15に示すような更新されたノードキーに関する各暗号化キー等を格納する。
The
タグ部607は、データ部606に格納された暗号化されたノードキー、リーフキーの位置関係を示すタグである。このタグの付与ルールを図18を用いて説明する。
A
図17では、データとして先に図13で説明した有効化キーブロック(EKB)を送付する例を示している。この時のデータは、図17のBで示す表に示すようになる。このときの暗号化キーに含まれるトップノードのアドレスをトップノードアドレスとする。この例の場合は、ルートキーの更新キーK(t)Rが含まれているので、トップノードアドレスはKRとなる。このとき、例えば最上段のデータEnc(K(t)0,K(t)R)は、図17のAで示す階層ツリーに示す位置P0に対応する。次の段のデータは、Enc(K(t)00,K(t)0)であり、ツリー上では前のデータの左下の位置P00に対応する。ツリー構造の所定の位置から見て、その下に、データがある場合は、タグが0、ない場合はタグが1に設定される。タグは{左(L)タグ,右(R)タグ}として設定される。表Bの最上段のデータEnc(K(t)0,K(t)R)に対応する位置POの左下の位置POOにはデータがあるので、Lタグ=0、右にはデータがないので、Rタグ=1となる。以下、すべてのデータにタグが設定され、図17のCで示すデータ列、およびタグ列が構成される。 FIG. 17 shows an example in which the enabling key block (EKB) described above with reference to FIG. 13 is sent as data. The data at this time is as shown in the table indicated by B in FIG. The top node address included in the encryption key at this time is set as the top node address. In this example, since the root key update key K (t) R is included, the top node address is KR. At this time, for example, the uppermost data Enc (K (t) 0, K (t) R) corresponds to the position P0 indicated in the hierarchical tree indicated by A in FIG. The next stage data is Enc (K (t) 00, K (t) 0), and corresponds to the lower left position P00 of the previous data on the tree. When there is data below the predetermined position of the tree structure, the tag is set to 0, and when there is no data, the tag is set to 1. The tags are set as {left (L) tag, right (R) tag}. Since there is data at the lower left position POO of the position PO corresponding to the uppermost data Enc (K (t) 0, K (t) R) in Table B, L tag = 0, there is no data on the right. R tag = 1. Hereinafter, tags are set for all data, and a data string and a tag string indicated by C in FIG. 17 are configured.
タグは、対応するデータEnc(Kxxx,Kyyy)が、ツリー構造のどこに位置しているのかを示すために設定されるものである。データ部606に格納されるキーデータEnc(Kxxx,Kyyy)・・・は、単純に暗号化されたキーの羅列データに過ぎないが、上述したタグによってデータとして格納された暗号化キーのツリー上の位置が判別可能となる。上述したタグを用いずに、先の図15で説明した構成のように、暗号化データに対応させたノード・インデックスを用いて、例えば、
0:Enc(K(t)0,K(t)R)
00:Enc(K(t)00,K(t)0)
000:Enc(K((t)000,K(t)00)
・・・のようなデータ構成とすることも可能であるが、このようなインデックスを用いた構成とすると、冗長なデータとなりデータ量が増大し、ネットワークを介する配信等においては好ましくない。これに対し、上述したタグをキー位置を示す索引データとして用いることにより、少ないデータ量でキー位置の判別が可能となる。
The tag is set to indicate where in the tree structure the corresponding data Enc (Kxxx, Kyyy) is located. The key data Enc (Kxxx, Kyyy)... Stored in the
0: Enc (K (t) 0, K (t) R)
00: Enc (K (t) 00, K (t) 0)
000: Enc (K ((t) 000, K (t) 00)
However, if such an index is used, redundant data is generated and the amount of data increases, which is not preferable in distribution via a network. On the other hand, by using the above-described tag as index data indicating the key position, the key position can be determined with a small amount of data.
図16に戻って、EKBフォーマットについてさらに説明する。署名(Signature)608は、有効化キーブロック(EKB)を発行した例えば鍵管理センタ(ライセンスサーバ4)、コンテンツロバイダ(コンテンツサーバ3)、決済機関(課金サーバ5)等が実行する電子署名である。EKBを受領したデバイスは、署名検証によって正当な有効化キーブロック(EKB)発行者が発行した有効化キーブロック(EKB)であることを確認する。 Returning to FIG. 16, the EKB format will be further described. The signature (Signature) 608 is an electronic signature executed by, for example, the key management center (license server 4), content provider (content server 3), settlement organization (billing server 5), etc., which issued the enabling key block (EKB). . The device that has received the EKB confirms that it is an activation key block (EKB) issued by a valid issuer of an activation key block (EKB) by signature verification.
以上のようにして、ライセンスサーバ4から供給された利用権に基づいて、コンテンツサーバ3から供給されたコンテンツを利用する処理をまとめると、図18に示されるようになる。
As described above, the process of using the content supplied from the
すなわち、コンテンツサーバ3からクライアント1に対してコンテンツが提供されるとともに、ライセンスサーバ4からクライアント1にライセンスが与えられる。クライアント1をライセンスサーバ4に登録した際に供給されるサービスデータと、特定のコンテンツの利用を許可する情報である利用権との組み合わせをライセンスと呼ぶ。コンテンツは、コンテンツキーKcにより、暗号化されており(Enc(Kc,Content))、コンテンツキーKcは、更新ルートキーKR'(EKBから得られるキーであって、図5におけるキーKEKBCに対応する)で暗号化され(Enc(KR',Kc))、EKBとともに、暗号化されたコンテンツに付加されてクライアント1に提供される。
That is, content is provided from the
図18の例におけるEKBには、例えば、図21に示されるように、DNKで復号可能な更新ルートキーKR'が含まれている(Enc(DNK,KR'))。従って、クライアント1は、サービスデータに含まれるDNKを利用して、EKBから更新ルートキーKR'を得ることができる。さらに、更新ルートキーKR'を用いて、Enc(KR',Kc)からコンテンツキーKcを復号することができ、コンテンツキーKcを用いて、Enc(Kc,Content)からコンテンツを復号することができる。
For example, as shown in FIG. 21, the EKB in the example of FIG. 18 includes an update root key KR ′ that can be decrypted by DNK (Enc (DNK, KR ′)). Therefore, the
このように、クライアント1にDNKを各デバイスに割り当てることにより、図10と図15を参照して説明した原理に従って、個々のクライアント1のリボーク(revoke)が可能になる。
Thus, by assigning the DNK to each device to the
また、ライセンスリーフIDを付加して配布することにより、クライアント1において、サービスデータと利用権の対応付けが行われることになり、利用権の不正コピーを防止することが可能になる。
Further, by distributing the license leaf ID with the license leaf ID, the service data and the usage right are associated with each other in the
また、クライアント用の証明書と秘密鍵をサービスデータとして配信するようにすることで、エンドユーザも、これらを用いて不正コピーを防止可能なコンテンツを作成することが可能になる。 Also, by distributing the client certificate and private key as service data, the end user can also create content that can prevent unauthorized copying using these.
本発明においては、図11を参照して説明したように、カテゴリノードにライセンスを管理するTシステムと、各種のコンテンツを利用するデバイスのカテゴリが対応づけられるので、複数のDNKを同一のデバイスに持たせることができる。その結果、異なるカテゴリのコンテンツを1つのデバイスで管理することが可能となる。 In the present invention, as described with reference to FIG. 11, the T system that manages licenses is associated with category nodes and the categories of devices that use various contents, so that a plurality of DNKs can be assigned to the same device. You can have it. As a result, different categories of content can be managed by one device.
図22は、この関係の一例を表している。すなわち、デバイスD1には、Tシステムに基づいて、DNK1が割り当てられており、EKBを含むコンテンツ1を再生することができる。同様に、このデバイスD1には、例えば、DNK2が割り当てられており、メモリースティックにCDからリッピングしたコンテンツ2を記録することができる。この場合、デバイスD1は、コンテンツ1とコンテンツ2という、異なるシステム(Tシステムとデバイス管理システム)により配信されたコンテンツを同時に扱うことが可能となる。新たなDNKを割り当てるとき、既に割り当てられているDNKを削除するなどして、デバイスに1個のDNKだけを対応させるようにした場合、このようなことはできない。
FIG. 22 shows an example of this relationship. That is, DNK1 is allocated to the device D1 based on the T system, and the
このように、本発明においては、カテゴリ毎に独立したキー管理が可能になる。 Thus, in the present invention, independent key management is possible for each category.
また、DNKを、機器やメディアに予め埋め込むのではなく、ライセンスサーバ4により、登録処理を行う際に、各機器やメディアにダウンロードするようにすることで、ユーザによるキーの購入が可能なシステムを実現することができる。
In addition, a system that allows the user to purchase a key by downloading the DNK to each device or medium when the registration process is performed by the
コンテンツとその利用権を別々に配布するシステムにおいては、コンテンツは、それが作成された後、どのような使われ方をされようとも、その使われ方に関わりなく、全ての用途において、使用可能であるのが望ましい。例えば、異なるコンテンツ配信サービス、あるいは用途が異なる場合においても、同一のコンテンツが使えることが望ましい。本発明においては、このため、上述したように、各ユーザ(クライアント1)に、認証局としてのライセンスサーバ4から秘密鍵と、それに対応する公開鍵の証明書(certificates)が配布される。各ユーザは、その秘密鍵を用いて、署名(signature)を作成し、コンテンツに付加して、コンテンツの真正さ(integrity)を保証し、かつコンテンツの改竄防止を図ることができる。
In a system that distributes content and usage rights separately, the content can be used for all purposes, regardless of how it is used, regardless of how it is used after it is created. It is desirable that For example, it is desirable that the same content can be used even when different content distribution services or uses are different. Therefore, in the present invention, as described above, the private key and the corresponding public key certificate are distributed to each user (client 1) from the
クライアント1は、コンテンツを利用する前に、ライセンスサーバ4にアクセスし、利用権を取得する必要がある。ライセンスサーバ4は、クライアント1からアクセスを受けたとき、利用権を提供するのであるが、その前にコンテンツホルダサーバ6からコンテンツに関するプロダクト情報を取得する必要がある。次に、図21と図22のフローチャートを参照して、この場合の処理について説明する。
Before using the content, the
コンテンツホルダサーバ6のCPU21は、ステップS201において、コンテンツのプロダクト情報を作成する。ステップS202において、CPU21は、ステップS201で作成したプロダクト情報を、通信部29を介してライセンスサーバ4に送信する。
In step S201, the
以上のコンテンツホルダサーバ6の処理に対応して、ライセンスサーバ4は、図22のフローチャートに示される処理を実行する。
Corresponding to the processing of the
すなわち、ステップS301において、ライセンスサーバ4のCPU21は、コンテンツホルダサーバ6から送信されてきた(図21のステップS202の処理で送信されてきた)プロダクト情報を受信する。ステップS302において、CPU21は、ステップS301の処理で受信したプロダクト情報を記憶部28に供給し、記憶させる。その後、ステップS303において、CPU21は、ステップS302の処理で登録したプロダクト情報(使用条件)を分割する処理を実行する。
That is, in step S301, the
例えば、コンテンツホルダサーバ6から送信されてきたプロダクト情報が図23に示されるような内容であったとする。図23の例においては、ユーザが350円の対価を支払った場合には、対応するコンテンツを、回数と期間の制限なく、再生することが可能となる。
For example, assume that the product information transmitted from the
これに対して、ユーザが100円の対価を支払った場合には、回数は制限ないが、期間は1ヶ月のみとされ、その間、ユーザはコンテンツを再生することが許容される。 On the other hand, when the user pays a value of 100 yen, the number of times is not limited, but the period is only one month, and during that time, the user is allowed to reproduce the content.
ユーザは、さらに50円を追加的に支払った場合には、3回だけチェックアウトが許容される。さらに50円の対価が支払われた場合には、1回だけ、10日間の間、コピーをすることが許容される。この場合におけるコピー先での再生は、対価の支払いは必要ないが(対価は0円であるが)、回数は10回に限られ、期間は1日に限られている。 If the user pays an additional 50 yen, checkout is allowed only three times. In addition, if a consideration of 50 yen is paid, copying is allowed only once for 10 days. The reproduction at the copy destination in this case does not require payment of the consideration (the consideration is 0 yen), but the number of times is limited to 10 times and the period is limited to 1 day.
ライセンスサーバ4は、図23に示されるようなプロダクト情報をコンテンツホルダサーバ6から受け取ったとき、このプロダクト情報を、例えば、図24に示されるように分割する。
When the
図24の例においては、プロダクト情報は3つに分割されている。第1のプロダクト情報は、ユーザが350円の対価を支払った場合のものであり、その内容は、再生回数と再生期間が無限とされている。 In the example of FIG. 24, the product information is divided into three. The first product information is for the case where the user pays a value of 350 yen, and the content is the number of reproductions and the reproduction period are infinite.
第2のプロダクト情報は、ユーザが150円の対価を支払った場合のものであり、再生回数は無限であるが、再生期間は、YY年MM月DD日までとされ、チェックアウトの回数は3回まで許容される内容となっている。 The second product information is for the case where the user pays a value of 150 yen, and the number of playbacks is infinite, but the playback period is up to the MM month DD day of YY, and the number of checkouts is 3 The content is allowed up to once.
第3番目のプロダクト情報は、対価は0円とされ、その内容はコピー先の使用条件を規定するものであり、再生回数は10回とされ、再生期間は1日とされている。 The third product information has a consideration of 0 yen, its contents define the use conditions of the copy destination, the number of reproductions is 10, and the reproduction period is 1 day.
この第3番目のプロダクト情報は0円であるので、第2番目のプロダクト情報に付随して配布される。 Since the third product information is 0 yen, it is distributed along with the second product information.
このように、ライセンスサーバ4は、コンテンツホルダサーバ6から許容されたプロダクト情報に記載されている使用条件の範囲内において、その使用条件を複数の使用条件に分割し、分割された使用条件を含む利用権として、クライアント1に対して提供することができる。
In this way, the
次に、図25のフローチャートを参照して、図22のステップS303のプロダクト情報(使用条件)分割処理の具体的な例について説明する。 Next, a specific example of the product information (use condition) dividing process in step S303 in FIG. 22 will be described with reference to the flowchart in FIG.
なお、図25の処理は、コンテンツホルダサーバ6から提供され、ライセンスサーバ4の記憶部28に記憶されているプロダクト情報に含まれる使用条件が、例えば、図26に示されるような内容である場合において、この使用条件から、再生だけを許容する使用条件として分割する処理の例を表している。
Note that the processing in FIG. 25 is performed when the usage conditions included in the product information provided from the
図26の例においては、再生回数は3回とされ、チェックアウト回数も3回とされている。そして、再生開始日は2001年12月1日とされ、終了日は2002年2月28日とされている。 In the example of FIG. 26, the number of reproductions is three and the number of checkouts is also three. The reproduction start date is December 1, 2001, and the end date is February 28, 2002.
ステップS321において、CPU21は、コンテンツホルダサーバ6から受信し、記憶部28に記憶したプロダクト情報のXML(Extensible Markup Language)で記述されているRule部から、「playback」の要素を検索する。
In step S <b> 321, the
次に、ステップS322において、CPU21は、「playback」が存在したか否かを判定する。「playback」が存在した場合には、ステップS323に進み、CPU21は、期間制限オプション(timespan_id)から期間を抽出する。図26の例においては、2001年12月1日から2002年2月28日までの期間が抽出される。
Next, in step S322, the
次に、ステップS324において、CPU21は、ステップS323の処理で抽出された期間のdate_start(開始日)とdate_end(終了日)を、それぞれ再生可能開始日を表す変数resp及び再生可能終了日を表すreepに代入する。
Next, in step S324, the
ステップS325において、CPU21は、ステップS324の処理に基づいて生成されたデータに基づいて、分割された使用条件を作成する。これにより、例えば、図27に示されるような使用条件が作成される。
In step S325, the
図27の例においては、2001年12月1日から2002年2月28日までの期間、コンテンツが使用可能とされている。 In the example of FIG. 27, the content can be used during the period from December 1, 2001 to February 28, 2002.
ステップS326において、CPU21は、ステップS325の処理で作成した使用条件と、プロダクト情報に含まれるコンテンツ条件、利用権ID等を組み合わせ、バージョン、有効期限等を追加した利用権を生成し、生成された利用権を記憶部28に登録する。
In step S326, the
ステップS322において、「playback」のテキストが存在しないと判定された場合には、ステップS323乃至ステップS326の処理はスキップされる。 If it is determined in step S322 that the text “playback” does not exist, the processing in steps S323 to S326 is skipped.
次に、図28のフローチャートを参照して、図22のステップS303の使用条件分割処理の他の例について説明する。 Next, another example of the use condition dividing process in step S303 in FIG. 22 will be described with reference to the flowchart in FIG.
この例は、図26に示されるような使用条件がコンテンツホルダサーバ6からライセンスサーバ4に提供された場合において、再生の使用条件と、チェックアウトの使用条件の、合計2つの使用条件を分割、生成する場合の処理例を表している。
In this example, when the usage conditions as shown in FIG. 26 are provided from the
ステップS341乃至S345において、図25のステップS321乃至ステップS325における場合と同様の処理が実行される。これにより、上述したように、再生の使用条件を含む利用権が分割、生成される。 In steps S341 to S345, the same processing as in steps S321 to S325 of FIG. 25 is executed. Thereby, as described above, the usage right including the use condition for reproduction is divided and generated.
なお、ステップS342において、「PLAYBACK」の要素が検索されなかったと判定された場合、ステップS343乃至ステップS345の処理はスキップされ、処理はステップS346に進む。 If it is determined in step S342 that the element “PLAYBACK” has not been searched, the processes in steps S343 to S345 are skipped, and the process proceeds to step S346.
次に、ステップS346において、CPU21は、XMLで記述されたRule部(図26)から「checkout」の要素を検索する。ステップS347において、CPU21は、「checkout」が存在したか否かを判定し、存在した場合には、ステップS348に進み、XMLのRule部から回数を読み出す。図26の例の場合、回数として3回が読み出される。
Next, in step S346, the
ステップS349において、CPU21は、ステップS348で読み出された回数を、最大チェックアウト回数を表す変数reccに代入する。そして、ステップS350において、CPU21は、ステップS349の処理で生成されたデータを元に、分割された使用条件を作成する。ステップS351において、CPU21は、ステップS345またはステップS350で作成された使用条件を含む利用権を生成し、記憶部28に登録する処理を実行する。
In step S349, the
ステップS347において、「checkout」が存在しないと判定された場合、ステップS348乃至ステップS350の処理はスキップされる。 If it is determined in step S347 that “checkout” does not exist, the processing in steps S348 to S350 is skipped.
このようにして、図29に示されるような再生の使用条件を含む利用権とチェックアウト回数が3回である使用条件を含む利用権が生成される。 In this way, the usage right including the usage condition for reproduction as shown in FIG. 29 and the usage right including the usage condition for which the number of checkouts is three are generated.
以上のようにして、ライセンスサーバ4がコンテンツホルダサーバ6から提供を受けた使用条件を、分割、管理するようにすることで、クライアント1は、大きな使用条件を取り扱う負担を強いられることなく、利用権を容易に管理することが可能となる。
As described above, the usage conditions provided by the
また、利用権に含まれている使用条件をアップグレードさせることができる。この場合の処理について、図30を参照して説明する。 In addition, the usage conditions included in the usage right can be upgraded. Processing in this case will be described with reference to FIG.
すなわち、図30の例においては、コンテンツホルダサーバ6が生成したコンテンツに対する利用権として、そのコンテンツの再生、チェックアウト、および購入を規定する1つの利用権を生成し、これをライセンスサーバ4に提供する。
That is, in the example of FIG. 30, as the usage right for the content generated by the
ライセンスサーバ4は、この1つの利用権を、再生だけができる利用権、並びに再生とチェックアウトができる利用権の2つの利用権に分割する。
The
クライアント1は、例えば、10円を支払うことにより、再生だけの利用権を取得することができる。そして、その後、クライアント1は、さらに30円を支払うことにより、再生だけでなく、さらにチェックアウトの権利が付加された利用権を取得することができる。すなわち、再生だけの利用権から、再生とチェックアウトを含む利用権に、クライアント1は利用権をアップグレードすることができる。
For example, the
この場合において、クライアント1は、利用権の状態が、10円を支払った状態と、さらに30円を支払った状態とがあるということを管理している必要はない。クライアント1は、ただ単に、新たな利用権を購入するだけでよい。換言すれば、クライアント1から見れば、再生の利用権と、再生とチェックアウトの利用権とは、全く独立した別の利用権として取り扱えばよいことになる。
In this case, it is not necessary for the
この場合の処理を、さらに図31と図32を参照して説明する。図31は、ライセンスサーバ4がコンテンツホルダサーバ6から提供を受けたプロダクト情報の使用条件の概要を表している。この例では、Usage Rule IDが1とされ、10円の支払いが行われた場合、再生が許容されるルールと、20円の支払いがなされた場合には、再生とチェックアウトが許容されるルールが記述されている。
The processing in this case will be further described with reference to FIGS. FIG. 31 shows an outline of the usage conditions of the product information provided by the
このような場合において、ライセンスサーバ4が図31に示される1つの使用条件を、再生だけの使用条件と、再生とチェックアウトを許容する使用条件の2つに分割し、それぞれに対応する利用権を生成したとする。
In such a case, the
この場合、図32に示されるように、クライアント1がステップS371で、ライセンスサーバ4に対して10円を支払った場合、(なお、詳細な説明は省略するが、具体的な課金処理は、課金サーバ5により行われる。以下同様)ステップS372において、ライセンスサーバ4は、クライアント1に対して再生の利用権(Usage Right)を付与する。この場合の処理は、購入処理と同様となる。
In this case, as shown in FIG. 32, when the
その後、ステップS373において、クライアント1がライセンスサーバ4に対して、さらに20円の支払いを許諾する情報を送信し、ステップS374において、クライアント1のリーフIDと、ステップS372で取得した利用権のIDを、ライセンスサーバ4に対して送信すると、ステップS375において、ライセンスサーバ4は、再生とチェックアウトの内容を含む利用権を、クライアント1に配布する。この処理は、アップグレード処理である。
Thereafter, in step S373, the
なお、ステップS372でクライアント1に付与される利用権IDと、ステップS375の処理でクライアント1に付与される利用権IDは、同一である。すなわち、この利用権IDは、図31に示されるライセンスサーバ4がコンテンツホルダサーバ6から提供を受けた利用権のIDと対応している。
Note that the usage right ID given to the
換言すれば、分割されてはいるが、2つの利用権は同一のプロダクト情報に含まれる使用条件から派生したものである。 In other words, although divided, the two usage rights are derived from the usage conditions included in the same product information.
図33は、クライアント1がライセンスサーバ4から利用権を取得する場合における表示例を表している。ステップS391において、クライアント1がリーフIDをライセンスサーバ4に送信するとともに、既に利用権を取得している場合には、そのIDをライセンスサーバ4に送信する。
FIG. 33 shows a display example when the
ライセンスサーバ4は、クライアント1に対して、購入可能な権利のリストと対応する値段が記述されたドキュメントを、クライアント1に送信する。クライアント1のCPU21は、これを通信部29を介してこれを受信すると、出力部27のモニタに出力し、表示させる。
The
図33の例においては、購入可能な権利として、3回のチェックアウトを可能にする100円の利用権、既に取得されているコンテンツを自分のものにする150円の利用権、並びに既に取得している利用権を他人にコピーしてあげる10円の利用権の、3種類の利用権が表示されている。 In the example of FIG. 33, as a right that can be purchased, a usage right of 100 yen that enables three checkouts, a usage right of 150 yen that makes an already acquired content own, and an already acquired right Three types of usage rights are displayed, a 10-yen usage right that copies the usage right to others.
クライアント1が保持する利用権は、クライアント1が支払った対価に応じて、変化するのであるが、いま、ライセンスサーバ4にアクセスしてきたクライアント1が、いずれの状態の利用権を取得しているのかは、ライセンスサーバ4が管理している。従って、クライアント1のリーフIDとクライアント1が保持している利用権のIDに基づいて、ライセンスサーバ4のCPU21は、アクセスしてきたクライアント1に対応するメニュー(購入可能な権利の内容)を表示させることができる。
The usage right held by the
なお、図33の表示例においては、「佐藤さん、いらっしゃいませ。」のメッセージも同時に表示されている。アクセスしてきたクライアント1のユーザが誰であるのかは、ユーザを登録する処理を行った場合に、ユーザ名を登録しているので、リーフIDに対応するユーザの氏名をデータベースから検索することで、表示することが可能となる。
In the display example of FIG. 33, the message “Mr. Sato, welcome” is also displayed. Who is the user of the
あるいは、また、cookieを利用して氏名を表示させるようにすることも可能である。 Alternatively, the name can be displayed using a cookie.
ステップS392で、クライアント1が、メニュー表示に従い利用権の購入手続を行い、利用権に対する対価の支払の処理を行うと、ステップS393において、ライセンスサーバ4からクライアント1に、対価に対応する利用権(Usage Right)が配布される。
In step S392, when the
次に、図34を参照して、ライセンスサーバ4において行われる購入履歴の管理について説明する。
Next, with reference to FIG. 34, purchase history management performed in the
図34の例においては、コンテンツホルダサーバ6が1つのプロダクト情報をライセンスサーバ4に供給する。このプロダクト情報は、200円の対価によって取得することが可能なUsage Rules1、さらに100円を支払って取得することが可能なUsage Rules2、さらに50円を支払うことにより取得可能なUsage Rules3、並びにUsage Rules2を有するユーザがさらに30円を支払うことにより取得することが可能なUsage Rules4、により構成されている。
In the example of FIG. 34, the
ライセンスサーバ4は、コンテンツホルダサーバ6からこのプロダクト情報を取得すると、Usage Rules1乃至Usage Rules4を分割する。そして、ライセンスサーバ4は、状態テーブルとして、Usage Rules1乃至Usage Rules4に対応した利用権購入状態のレコードをLeafID、利用権ごとに生成、管理する。
When the
すなわち、このテーブルでは、Usage Rules1乃至Usage Rules4をそれぞれ有する状態が、状態1乃至状態4とされ、これらのいずれをも有していない状態が状態0とされる。
That is, in this table, states having
このように、利用権所持の状態は、ライセンスサーバ4により管理されているので、クライアント1が管理する必要はない。従って、クライアント1の負荷が軽減される。
In this way, since the license right 4 is managed by the
すなわち、クライアント1は、Usage Rules1乃至Usage Rules4のうちのいずれか1つを適宜購入するだけでよい。
In other words, the
例えば、クライアント1のユーザは、200円を支払うことで、Usage Rules1を含む利用権を取得することができ、さらに100円を追加的に支払うことで、Usage Rules2を含む利用権を取得することができる。
For example, the user of the
クライアント1がいずれの利用権を取得する場合においても、同一のプロトコルを使用することが可能であるが、利用権の内容に応じて、使用するプロトコルを変更することも可能である。次に、この使用権に応じて、プロトコルを変更する例について説明する。
The same protocol can be used when the
この実施の形態では、図35に示されるように、ライセンスサーバ4からクライアント1に対して、利用権を配布するプロトコルには、簡易購入プロトコルと権利更新プロトコルの2種類が用意される。簡易購入プロトコルは、特殊な認証が不要とされるプロトコルであり、権利更新プロトコルは、特殊な認証が必要とされるプロトコルである。すなわち、権利更新プロトコルは、簡易購入プロトコルに比べて、よりセキュアな環境化での通信が行われるものである。
In this embodiment, as shown in FIG. 35, two types of protocols, a simple purchase protocol and a right update protocol, are prepared as a protocol for distributing usage rights from the
簡易購入プロトコルにおいては、利用権は、ライセンスサーバ4からクライアント1に対して、単にダウンロードされる。これに対して、権利更新プロトコルにおいては、ライセンスサーバ4がクライアント1が有する利用権を更新する処理を実行するため認証処理が行われる。
In the simple purchase protocol, the usage right is simply downloaded from the
次に、図36のフローチャートを参照して、クライアント1がライセンスサーバ4から、利用権の内容に応じて、異なるプロトコルで利用権を取得する処理について説明する。
Next, with reference to the flowchart of FIG. 36, processing in which the
ステップS461において、クライアント1のCPU21は、ライセンスサーバ4にアクセスする。ステップS412において、CPU21は、ユーザからの指令に基づいて、ユーザが希望する利用権に関する情報を通信部29を介してライセンスサーバ4に送信する。
In step S461, the
図37のフローチャートを参照して後述するように、クライアント1が希望するのが、サブスクリプションサービスの利用権である場合には、ライセンスサーバ4からAKE(Authentication Key Exchange)処理が要求されてくる(図37のステップS448)。これに対して、取得する利用権がサブスクリプションサービスの利用権ではない場合(買い取り用、または試聴用である場合)には、AKE処理が要求されてこない。そこで、ステップS413において、CPU21は、ライセンスサーバ4からAKE処理が要求されたか否かを判定し、AKE処理が要求されてこない場合には、ステップS414に進み、記憶部28に記憶されているリーフIDを読み出し、通信部29を介してライセンスサーバ4に送信させる。
As will be described later with reference to the flowchart of FIG. 37, when the
このとき、ライセンスサーバ4は、クライアント1が希望した利用権に、それに対応するデジタル署名を付加してクライアント1に送信してくる(図37のステップS447)。そこで、ステップS415において、クライアント1のCPU21は、クライアントサーバ4から送信されてきた利用権とデジタル署名を受信する。ステップS416において、CPU21は、ステップS415で受信したデジタル署名をライセンスサーバ4の公開鍵SPで復号する。このライセンスサーバの公開鍵SPは、リーフIDとともに、登録処理において、取得され、記憶部28に記憶されているものである(図6のステップS53)。
At this time, the
ステップS417において、CPU21は、ステップS415の処理で受信した利用権は、ステップS416の処理でデジタル署名を復号して得られた利用権と一致するか否かを判定する。両者が一致する場合には、適正な(改竄されていない)利用権であるので、CPU21は、ステップS418において、その利用権を記憶部28に記憶させる。
In step S417, the
それに対して、2つの利用権が一致しない場合には、正しい利用権ではないので、ステップS426に進み、CPU21は、エラー処理を実行する。
On the other hand, if the two usage rights do not match, the right usage rights are not correct, so the process proceeds to step S426, and the
一方、ステップS413において、AKE処理が要求されたと判定された場合、ステップS419に進み、CPU21は、ライセンスサーバ4との間でAKE処理を実行する。すなわち、これにより、よりセキュアな通信路を確保する処理が実行され、セッション鍵が共有される。
On the other hand, if it is determined in step S413 that the AKE process has been requested, the process proceeds to step S419, and the
ステップS420において、CPU21は、AKE処理により、SAC(Secure Authentication Channel)が形成できたか否か(セキュアな通信路が確保できたか否か)を判定する。SACが形成できたと判定された場合には、ステップS421において、CPU21は、記憶部28に記憶されているリーフIDを、AKE処理により確保されたセッション鍵で暗号化して、通信部29からインターネット2を介して、ライセンスサーバ4に送信する。
In step S420, the
この場合、ライセンスサーバ4からセッション鍵で暗号化された使用鍵とデジタル署名が、クライアント1に送信されてくる(後述する図37のステップS454)。そこで、ステップS422において、クライアント1のCPU21は、セッション鍵で暗号化されている利用権とデジタル署名を受信し、ステップS423において、暗号化された利用権を、ステップS419のAKE処理で取得したセッション鍵で復号する。
In this case, the use key and the digital signature encrypted with the session key are transmitted from the
ステップS424において、CPU21は、ステップS422の処理で受信したデジタル署名を、ライセンスサーバ4の公開鍵SPで復号する。ステップS425において、CPU21は、ステップS423の処理で復号して得られた利用権と、ステップS424の処理で復号して得られた利用権とが、一致するか否かを判定する。両者が一致する場合には、正しい利用権であることが確認できたので、ステップS418に進み、CPU21は、得られた利用権を記憶部28に記憶する。
In step S424, the
ステップS425の処理において、2つの利用権が一致しないと判定された場合、得られた利用権が正しいものではない(例えば、改竄されたものである)恐れがあるので、ステップS420において、SACが形成できなかったと判定された場合と同様に、ステップS426に進み、エラー処理が実行される。 If it is determined in step S425 that the two usage rights do not match, the obtained usage rights may not be correct (for example, they have been tampered with). Similarly to the case where it is determined that the image could not be formed, the process proceeds to step S426, and error processing is executed.
以上のクライアント1の利用権取得処理に対応して実行されるライセンスサーバ4の利用権配布処理について、図37のフローチャートを参照して説明する。
The usage right distribution process of the
ステップS441において、ライセンスサーバ4のCPU21は、クライアント1からのアクセスを受け付ける。ステップS442において、CPU21は、クライアント1からの利用権に関する情報を受信する。この利用権に関する情報は、図36のステップS412の処理により、クライアント1から送信されてきたものである。
In step S441, the
ステップS434において、ライセンスサーバ4のCPU21は、クライアント1が希望するサービスに対応する利用権の情報を記憶部28から取得する。
In step S <b> 434, the
ステップS444において、CPU21は、クライアント1が希望している利用権は、サブスクリプションサービスの利用権のものであるか否かを判定する。利用権がサブスクリプションサービスの利用権でない場合(買い取り用または試聴用のものである場合)には、特に、セキュアな環境化で通信を行う必要がない。このとき、クライアント1からリーフIDが送信されてくる(図36のステップS414)。そこで、ステップS445において、ライセンスサーバ4のCPU21は、クライアント1から送信されてきたリーフIDを受信し、そのリーフIDをクライアント1が希望する利用権に挿入する。
In step S444, the
ステップS446において、CPU21は、ライセンスサーバ4の秘密鍵を用いて、ステップS445の処理でリーフIDを挿入した利用権のデジタル署名を作成する。
In step S446, the
次に、ステップS447において、CPU21は、ステップS445の処理でリーフIDを挿入した利用権と、ステップS446の処理で作成したデジタル署名とを、クライアント1に送信する。
Next, in step S447, the
このようにして、送信した利用権とデジタル署名が、図36のステップS415において、クライアント1により受信されることになる。
In this way, the transmitted usage right and digital signature are received by the
一方、ステップS444において、クライアント1が希望している利用権がサブスクリプションサービスの利用権である(買い取り用または試聴用ではない)と判定された場合、よりセキュアな環境化で通信を行う必要がある。そこで、ステップS448に進み、CPU21は、クライアント1に対してAKE処理を要求し、AKE処理を実行する。
On the other hand, if it is determined in step S444 that the usage right desired by the
ステップS449において、CPU21は、SACが形成できたか否かを判定する。SACが形成できた場合には、ステップS451に進み、CPU21は、クライアント1が希望する利用権に使用状態(Usage Status)を付加する。ステップS452において、CPU21は、クライアント1が希望する利用権にリーフIDを挿入し、ステップS448のAKE処理で得られたセッション鍵で暗号化する。
In step S449, the
ステップS453において、CPU21は、自分自身の秘密鍵を用いて、ステップS452の処理でリーフIDが挿入され、セッション鍵で暗号化された利用権のデジタル署名を作成する。
In step S453, the
ステップS454において、CPU21は、ステップS452の処理でセッション鍵で暗号化された利用権と、ステップS453の処理で作成されたデジタル署名とを、クライアント1に送付する。
In step S454, the
このようにして、送付された利用権とデジタル署名は、上述したように、クライアント1により、ステップS422において受信される。
In this way, the sent usage right and digital signature are received by the
ステップS449において、SACが形成できなかったと判定された場合には、セキュアな通信路が確保できなかったので、ステップS450に進み、エラー処理が実行される。 If it is determined in step S449 that the SAC could not be formed, a secure communication path could not be secured, so the process proceeds to step S450 and error processing is executed.
すなわち、この場合には、利用権は、クライアント1に対して配布されないことになる。
That is, in this case, the usage right is not distributed to the
よりセキュアな状態での利用権の配布を望まないユーザは、そのための機能を設ける必要がないので、ユーザに必要以上の負担をかけることなく、利用権を配布することが可能となる。また、セキュアな環境下での利用権の取得を希望するユーザに対しては、より安全に利用権を配布することが可能となる。その結果、利用権が第3者に盗用されるようなことが防止される。 A user who does not want to distribute the usage right in a more secure state does not need to be provided with a function for that purpose, and thus the usage right can be distributed without imposing a burden on the user more than necessary. In addition, it is possible to distribute the usage right more safely to a user who wishes to obtain the usage right in a secure environment. As a result, the usage right is prevented from being stolen by a third party.
以上のようにして、コンテンツと利用権を得たクライアント1は、利用権に基づいて、コンテンツを使用する(例えば、再生する)処理を実行する。
As described above, the
次に、この場合の処理について、図38のフローチャートを参照して説明する。 Next, the processing in this case will be described with reference to the flowchart of FIG.
ステップS471において、クライアント1のCPU21は、ライセンスサーバ4にアクセスする。ステップS472において、CPU21は、ライセンスサーバ4との間でAKE処理を実行する。
In step S471, the
ステップS473において、CPU21は、SACが形成できたか否かを判定する。SACが形成できた場合には、ライセンスサーバ4から使用状態、リーフID、およびコンテンツ情報の送信を要求してくる(後述する図39のステップS495)。
In step S473, the
そこで、ステップS475において、クライアント1のCPU21は、ライセンスサーバ4からのこの要求を受信する。この要求は、ステップS472のAKE処理で得られたセッション鍵で暗号化されている。そこで、CPU21は、ステップS472のAKE処理で得られたセッション鍵を用いて、この要求を復号する。
Therefore, in step S475, the
ステップS476において、CPU21は、この要求に基づいて、これから使用する利用権に対応する使用状態、リーフID、およびコンテンツ情報を、セッション鍵で暗号化して、ライセンスサーバ4に送信する。
In step S476, based on this request, the
この送信に対応して、ライセンスサーバ4から更新した使用状態を、セッション鍵で暗号化して送信してくる(図39のステップS498)。
In response to this transmission, the usage state updated from the
そこで、ステップS477において、クライアント1のCPU21は、ライセンスサーバ4から送信されてきた、更新された使用状態を受信し、セッション鍵で復号し、記憶部28に記憶する。例えば、利用権に使用回数の条件が含まれているような場合、クライアント1がこれからコンテンツを再生するので、使用回数は1回インクリメントされた値に更新されていることになる。そして、ステップS478において、CPU21は、コンテンツを再生する処理を実行する。
Therefore, in step S477, the
このように、使用状態がクライアント1ではなく、ライセンスサーバ4により管理されるので、利用権がクライアント1において改竄され、コンテンツが不正に利用されるようなことが防止される。
As described above, since the usage state is managed by the
また、ライセンスサーバ4は、必要に応じて、使用状態を適宜書き換えることで、所定のユーザに対して、コンテンツの利用を適宜禁止させたり、柔軟なサービスの提供を行うことが可能となる。
Further, the
また、ライセンスサーバ4からクライアント1が保持する利用権の使用状態を制御することができるため、使用を許可する回数の増減、コンテンツ毎の無効化、サービス自体の停止などを、ライセンスサーバ4が適宜行うことが可能となる。
In addition, since the usage state of the usage rights held by the
ステップS473において、SACが形成できなかったと判定された場合、ステップS474に進み、エラー処理が実行される。 If it is determined in step S473 that the SAC could not be formed, the process proceeds to step S474 and error processing is executed.
以上のクライアント1の利用権使用処理に対応して実行されるライセンスサーバ4の処理について、図39のフローチャートを参照して説明する。
The processing of the
ステップS491において、ライセンスサーバ4のCPU21は、クライアント1からのアクセスを受け付ける。ステップS492において、CPU21は、クライアント1との間でAKE処理を実行する。ステップS493において、CPU21は、AKE処理の結果、SACが形成できたか否かを判定する。
In step S491, the
SACが形成できた場合には、ステップS495に進み、CPU21は、クライアント1に対して、使用状態、リーフID、およびコンテンツ情報の送信を要求する。この要求は、ステップS492のAKE処理で得られたセッション鍵で暗号化して、クライアント1に送信される。上述したように、この要求は、クライアント1において、ステップS475の処理で受信され、ステップS476の処理でその要求に対応した情報がクライアント1から送信されてくる。
If the SAC can be formed, the process proceeds to step S495, and the
そこで、ステップS496において、ライセンスサーバ4のCPU21は、クライアント1から送信されてきた使用状態、リーフID、およびコンテンツ情報を受信する。これらの情報は、セッション鍵で暗号化されているので、CPU21は、ステップS492のAKE処理で得られたセッション鍵を用いて、これらの情報を復号する。
Therefore, in step S496, the
ステップS497において、CPU21は、クライアント1から送信されてきた使用状態をコンテンツ情報に基づいて更新する。例えば、これからコンテンツが使用される場合には、その使用回数を1回だけインクリメントした値に変更させる。あるいは、そのコンテンツを以後使用禁止にする場合には、CPU21は、使用回数をもはや使用できない回数に変更する。
In step S497, the
ステップS498において、CPU21は、ステップS497の処理で更新した使用状態をセッション鍵で暗号化して、クライアント1に送信する。
In step S498, the
この使用状態が上述したように、クライアント1において、ステップS477において、受信される。
As described above, this usage state is received by the
ステップS493の処理でSACが形成できなかったと判定された場合には、ステップS494に進み、エラー処理が実行される。 If it is determined in step S493 that the SAC cannot be formed, the process proceeds to step S494, and error processing is executed.
使用条件を記述する場合、フラグや値のみで記述すると、その値の意味をクライアント1が全て知っている必要がある。このため、条件項目をライセンスサーバ4が追加することが困難になる。
When describing the use conditions, if only the flags and values are described, it is necessary for the
また、逆に、使用条件をフレキシブルに記述することを許容すると、クライアント1において、ユーザに対して、使用条件をどのように表現するか難しくなる。
Conversely, if it is allowed to flexibly describe the usage conditions, it becomes difficult for the
そこで、コンテンツの使用条件を、関係式と論理式のみからなる条件式で記述することにより、クライアント1において、各項目のフォーマットをあらかじめ規定しておく必要がなく、様々な使用条件の記述に対応することができるようにすることができる。このため、クライアント1における実装によらずに、使用条件を記述することが可能となる。
Therefore, by describing the content usage conditions with conditional expressions consisting only of relational expressions and logical expressions, it is not necessary for the
また、クライアント1の処理能力等によって、Usage Rulesの記述に制限を設けるようにすることで、クライアント1において、容易にルールの意味を解釈できるようにすることができる。以下、この例について説明する。
Further, by limiting the description of Usage Rules depending on the processing capability of the
Usage Rulesは、コンテンツの使用条件を規定するものであり、上述したように、ユーザ(クライアント1)が購入する利用権(Usage Right)に含まれる。Usage Rulesで規定できるものには、以下のようなものがある。 Usage Rules prescribes usage conditions for content, and is included in the usage right (Usage Right) purchased by the user (client 1) as described above. The following can be specified by Usage Rules.
コンテンツの再生回数
コンテンツの使用期限
コンテンツのチェックアウト回数
その他
Content playback count Content expiration date Content checkout count Others
これらの条件は、専用の記述言語で記述し、バイトコードにコンパイルして、Usage Rightに格納される。 These conditions are described in a dedicated description language, compiled into byte code, and stored in Usage Right.
基本的な記述方法は、図40に示されるような形式となる。すなわち、各ドメイン、つまりコンテンツの利用形態のカテゴリ、に対して、Usage Ruleが記述される。 The basic description method has a format as shown in FIG. In other words, Usage Rules are described for each domain, that is, the category of content usage.
1つのUsage Ruleは、図41に示されるような形式で記述される。 One Usage Rule is described in a format as shown in FIG.
1つのUsage Ruleは、先頭に記述するdomain_idで、それを適用するドメインを規定する。さらに、それに続く'{'・・・'}'内に、各種ルールが規定されるが、その中は、ルールセクション、invariablesセクション、およびoverhead partの3つのセクションに分かれる。 One Usage Rule is a domain_id described at the top and defines a domain to which it is applied. Furthermore, various rules are defined in the following '{'... '}', Which is divided into three sections: a rule section, an invariables section, and an overhead part.
ルールセクションは、'{'・・・'}'の先頭で、複数のdomain_ruleを記述することができる。invariablesセクションは、ルールセクションに続き、キーワード'invariables:'によって始まる部分である。overhead partは、invariablesセクションに続く部分であり、'over_head_part:'によって始まる。 In the rule section, a plurality of domain_rules can be described at the head of “{”... The invariables section follows the rule section and begins with the keyword 'invariables:'. The overhead part is the part following the invariables section and starts with 'over_head_part:'.
domain_idは、ドメインを示す名称であり、以下の文字列のうちのいずれかである。 domain_id is a name indicating a domain, and is one of the following character strings.
drm
renderer
ripper
burner
lcm_1
lcm_2
lcm_3
drm
renderer
ripper
burner
lcm_1
lcm_2
lcm_3
rendererドメインはコンテンツの再生、表示等の利用形態のカテゴリ、ripperドメインはCDのコンテンツの読み出しの利用形態のカテゴリ、burnerドメインはコンテンツのCD-Rへの記録の利用形態のカテゴリ、drmドメインは全ての利用形態のカテゴリをそれぞれ表している。 The renderer domain is the usage category for content playback and display, the ripper domain is the usage category for reading CD content, the burner domain is the usage category for recording content on CD-R, and the drm domain is all Each category of usage form is represented.
domain_ruleは、
'{'<条件式>'}'の形式で記述される。
domain_rule is
It is described in the form of '{'<conditionalexpression>'}'.
各ルールの前には、以下の形式でルール番号を指定することができる。 Before each rule, a rule number can be specified in the following format.
'['<ルール番号>']'{'<条件式>'}' '[' <Rule number> ']' {'<conditional expression>'} '
ルール番号を指定する場合には、次のように、複数の番号を指定することが可能である。 When specifying a rule number, it is possible to specify a plurality of numbers as follows.
[1]'{'<条件式#1>'}'
[2]'{'<条件式#2>'}'
[1] '{'<
[2] '{'<
条件式は、各ドメインの状態変数や定数などを参照するためのChars Code(CC)に対して、比較演算を施したものである。その記述例は、例えば、次のようになる。 The conditional expression is obtained by performing a comparison operation on Chars Code (CC) for referring to the state variables and constants of each domain. An example of the description is as follows.
!'ee' and !'pp'
!'ee' and ('cid > 'pp')
! 'ee' and! 'pp'
! 'ee' and ('cid>' pp ')
利用できる演算子には、図42に示されるようなものあがる。 Available operators are as shown in FIG.
図42における2項演算子の演算優先順位は、弱い順に、or, and,その他の演算子となる。どの演算子も左結合である。 The operation priorities of the binary operators in FIG. 42 are or, and, and other operators in ascending order. All operators are left associative.
invariablesセクションは、各種定数を記述する部分であり、次の形式でChars Codeに値を定義する。 The invariables section is a part that describes various constants, and defines values in Chars Code in the following format.
<Chars Code>'=' <値>';' <Chars Code> '=' <value> ';'
複数のinvariablesを定義する場合には、次に示されるように、','で区切って記述が行われる。 When multiple invariables are defined, they are described by separating them with ',' as shown below.
<Chars Code>'='<値>','<Chars Code>'='<値>・・・';' <Chars Code> '=' <value> ',' <Chars Code> '=' <value> ... ';'
<Chars Code>は、その名称と意味があらかじめ規定されている。 <Chars Code> has a predetermined name and meaning.
overhead partは、各ドメイン毎の独自のルールを記述する部分である。 The overhead part is a part describing a unique rule for each domain.
Char CodeはUsage Rulesのinvariablesセクション内で定義される以外に、利用権、コンテンツ、使用状態等の中で定義されていても良い。 In addition to being defined in the invariables section of Usage Rules, Char Code may be defined in usage rights, content, usage status, and the like.
以上のルール記述言語で記載された例が図43に示されている。 An example described in the above rule description language is shown in FIG.
なお、上述したコンテンツサーバ3、ライセンスサーバ4、課金サーバ5、並びにコンテンツホルダサーバ6のいずれか2つ以上は、必要に応じて実質的に1つのサーバに統合させることも可能である。
Note that any two or more of the above-described
また、本実施の形態では、暗号化されたコンテンツを復号するための鍵情報はコンテンツに含まれているが、利用権に鍵情報を含む、あるいはコンテンツに含まれる鍵情報と利用権に含まれる鍵情報とを組み合わせることで復号可能となるようにしても良い。 Further, in this embodiment, the key information for decrypting the encrypted content is included in the content, but the usage right includes the key information or is included in the key information and the usage right included in the content. Decryption may be possible by combining with key information.
本発明が適用されるクライアントは、いわゆるパーソナルコンピュータ以外に、PDA(Personal Digital Assistants)、携帯電話機、ゲーム端末機などとすることができる。 Clients to which the present invention is applied can be PDAs (Personal Digital Assistants), mobile phones, game terminals, etc., in addition to so-called personal computers.
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。 When a series of processing is executed by software, a program constituting the software executes various functions by installing a computer incorporated in dedicated hardware or various programs. For example, a general-purpose personal computer is installed from a network or a recording medium.
この記録媒体は、図2に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク41(フレキシブルディスクを含む)、光ディスク42(CD-ROM(Compact Disk - Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク43(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ44などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM22や、記憶部28に含まれるハードディスクなどで構成される。
As shown in FIG. 2, the recording medium is distributed to provide a program to the user separately from the main body of the apparatus, and includes a magnetic disk 41 (including a flexible disk) on which the program is recorded, an optical disk 42 ( CD-ROM (compact disk-including read-only memory), DVD (digital versatile disk)), magneto-optical disk 43 (including MD (mini-disk) (trademark)), or package media including
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
また、セキュリティに関連する処理を実行させるプログラムは、その処理を解析されるのを防ぐため、そのプログラム自体が暗号化されているのが望ましい。例えば、暗号処理などを行う処理については、そのプログラムをタンパーレジスタントモジュールとして構成することができる。 In addition, it is desirable that a program for executing a process related to security is encrypted in order to prevent the process from being analyzed. For example, for processing that performs cryptographic processing or the like, the program can be configured as a tamper resistant module.
また、上記実施の形態では、コンテンツを利用するために必要な利用権を特定するためにコンテンツの属性と利用権のコンテンツ条件を用いたが、これに限らない。例えば、コンテンツに、該コンテンツを利用するために必要な利用権の利用権IDを含むようにしても良く、この場合、コンテンツを指定すればそれを利用するために必要な利用権は一意に決まるため、両者のマッチングを決定する処理を行う必要はない。 In the above embodiment, the content attribute and the content condition of the usage right are used to specify the usage right necessary for using the content. However, the present invention is not limited to this. For example, the content may include a usage right ID of a usage right necessary to use the content. In this case, if the content is specified, the usage right necessary to use the content is uniquely determined. There is no need to perform a process for determining the matching between the two.
1−1,1−2 クライアント, 2 インターネット, 3 コンテンツサーバ, 4 ライセンスサーバ, 5 課金サーバ,6 コンテンツホルダサーバ, 20 タイマ, 21 CPU, 24 暗号化復号部, 25 コーデック部, 26 入力部, 27 出力部, 28 記憶部, 29 通信部 1-1, 1-2 client, 2 Internet, 3 content server, 4 license server, 5 charging server, 6 content holder server, 20 timer, 21 CPU, 24 encryption / decryption unit, 25 codec unit, 26 input unit, 27 Output unit, 28 storage unit, 29 communication unit
Claims (8)
前記コンテンツを利用するクライアントから利用権送信要求を受信する受信手段と、
前記クライアント毎に利用権に対応する使用状態を記憶する使用状態記憶手段と、
前記受信手段が受信した利用権送信要求がサブスクリプションサービスの利用権の送信要求であるときは前記使用状態記憶手段に記憶された使用状態を要求された利用権に付加する制御手段と、
前記制御手段により使用状態が付加された利用権を前記クライアントに送信する送信手段と
を含む情報処理装置。 In an information processing apparatus that transmits a usage right that defines the usage conditions of content,
Receiving means for receiving a usage right transmission request from a client using the content;
Usage state storage means for storing a usage state corresponding to a usage right for each client;
When the usage right transmission request received by the receiving means is a subscription service usage right transmission request, control means for adding the usage state stored in the usage state storage means to the requested usage right;
An information processing apparatus comprising: a transmission unit that transmits a usage right to which the usage state is added by the control unit to the client.
請求項1に記載の情報処理装置。 2. The information processing apparatus according to claim 1, wherein the control unit requests an AKE (Authentication Key Exchange) process from the client when the right to use a subscription service is requested.
前記制御手段は、受信した前記コンテンツ情報、前記クライアントの識別情報に基づいて利用権に対応する使用状態に基づいて前記使用状態記憶手段に記憶された使用状態を更新し、
前記使用状態記憶手段は、更新された使用状態を記憶する
請求項1に記載の情報処理装置。 The receiving means receives a usage state corresponding to a usage right used by the client, identification information of the client, and content information from the client,
The control means updates the use state stored in the use state storage means based on the use state corresponding to the use right based on the received content information and identification information of the client,
The information processing apparatus according to claim 1, wherein the usage state storage unit stores the updated usage state.
請求項3に記載の情報処理装置。 The information processing apparatus according to claim 3, wherein the reception unit receives a usage state every time processing for using the content is executed by the client from the client.
請求項3に記載の情報処理装置。 The information processing apparatus according to claim 3, wherein the transmission unit transmits the usage state updated by the control unit to the client.
前記コンテンツを利用するクライアントから利用権送信要求を受信する受信ステップと、
前記クライアント毎に利用権に対応する使用状態を記憶する使用状態記憶ステップと、
前記受信ステップの処理が受信した利用権送信要求がサブスクリプションサービスの利用権の送信要求であるときは前記使用状態記憶ステップの処理で記憶された使用状態を要求された利用権に付加する制御ステップと、
前記制御ステップの処理により使用状態が付加された利用権を前記クライアントに送信する送信ステップと
を含む情報処理方法。 In an information processing method for transmitting a usage right that stipulates the usage conditions of content,
A receiving step of receiving a usage right transmission request from a client using the content;
A use state storage step for storing a use state corresponding to a usage right for each client;
A control step of adding the usage state stored in the processing of the usage state storage step to the requested usage right when the usage right transmission request received by the processing of the reception step is a transmission request for the usage right of the subscription service When,
A transmission step of transmitting a usage right to which the usage state is added by the processing of the control step to the client.
前記コンテンツを利用するクライアントから利用権送信要求を受信する受信ステップと、
前記クライアント毎に利用権に対応する使用状態を記憶する使用状態記憶ステップと、
前記受信ステップの処理が受信した利用権送信要求がサブスクリプションサービスの利用権の送信要求であるときは前記使用状態記憶ステップの処理で記憶された使用状態を要求された利用権に付加する制御ステップと、
前記制御ステップの処理により使用状態が付加された利用権を前記クライアントに送信する送信ステップと
を含むことを特徴とするプログラム。 To a computer that controls an information processing device that transmits a usage right that defines the usage conditions of content,
A receiving step of receiving a usage right transmission request from a client using the content;
A use state storage step for storing a use state corresponding to a usage right for each client;
A control step of adding the usage state stored in the processing of the usage state storage step to the requested usage right when the usage right transmission request received by the processing of the reception step is a transmission request for the usage right of the subscription service When,
And a transmission step of transmitting a usage right to which the usage state is added by the processing of the control step to the client.
前記コンテンツを利用するクライアントから利用権送信要求を受信する受信ステップと、
前記クライアント毎に利用権に対応する使用状態を記憶する使用状態記憶ステップと、
前記受信ステップの処理が受信した利用権送信要求がサブスクリプションサービスの利用権の送信要求であるときは前記使用状態記憶ステップの処理で記憶された使用状態を要求された利用権に付加する制御ステップと、
前記制御ステップの処理により使用状態が付加された利用権を前記クライアントに送信する送信ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが格納されているプログラム格納媒体。 A program for an information processing apparatus that distributes usage rights that define usage conditions of content,
A receiving step of receiving a usage right transmission request from a client using the content;
A use state storage step for storing a use state corresponding to a usage right for each client;
A control step of adding the usage state stored in the processing of the usage state storage step to the requested usage right when the usage right transmission request received by the processing of the reception step is a transmission request for the usage right of the subscription service When,
A program storage medium storing a computer-readable program, comprising: a transmission step of transmitting, to the client, a usage right to which a usage state is added by the process of the control step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007124123A JP4640374B2 (en) | 2007-05-09 | 2007-05-09 | Information processing apparatus and method, program storage medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007124123A JP4640374B2 (en) | 2007-05-09 | 2007-05-09 | Information processing apparatus and method, program storage medium, and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002111927A Division JP4447821B2 (en) | 2002-04-15 | 2002-04-15 | Information processing apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007249999A true JP2007249999A (en) | 2007-09-27 |
JP4640374B2 JP4640374B2 (en) | 2011-03-02 |
Family
ID=38594132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007124123A Expired - Fee Related JP4640374B2 (en) | 2007-05-09 | 2007-05-09 | Information processing apparatus and method, program storage medium, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4640374B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123753A (en) * | 2010-12-10 | 2012-06-28 | Toyota Motor Corp | License information management system and license information management method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07231309A (en) * | 1994-02-17 | 1995-08-29 | Hitachi Ltd | Information distribution system |
JP2001034558A (en) * | 1999-07-26 | 2001-02-09 | Nippon Telegr & Teleph Corp <Ntt> | Content use condition changing method and content distribution system |
JP2002084523A (en) * | 2000-07-06 | 2002-03-22 | Hitachi Ltd | Receiving method |
JP2003345451A (en) * | 2002-05-22 | 2003-12-05 | Seiko Epson Corp | Module management system, module management terminal, data structure of program for terminal and module with use restrictions, and module management method |
-
2007
- 2007-05-09 JP JP2007124123A patent/JP4640374B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07231309A (en) * | 1994-02-17 | 1995-08-29 | Hitachi Ltd | Information distribution system |
JP2001034558A (en) * | 1999-07-26 | 2001-02-09 | Nippon Telegr & Teleph Corp <Ntt> | Content use condition changing method and content distribution system |
JP2002084523A (en) * | 2000-07-06 | 2002-03-22 | Hitachi Ltd | Receiving method |
JP2003345451A (en) * | 2002-05-22 | 2003-12-05 | Seiko Epson Corp | Module management system, module management terminal, data structure of program for terminal and module with use restrictions, and module management method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123753A (en) * | 2010-12-10 | 2012-06-28 | Toyota Motor Corp | License information management system and license information management method |
Also Published As
Publication number | Publication date |
---|---|
JP4640374B2 (en) | 2011-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4447821B2 (en) | Information processing apparatus and method | |
JP3818505B2 (en) | Information processing apparatus and method, and program | |
JP3818504B2 (en) | Information processing apparatus and method, and program | |
US7765604B2 (en) | Information processing method, information processing apparatus and recording medium | |
JP4326186B2 (en) | Information processing apparatus and method | |
KR100983982B1 (en) | Information processing apparatus and information processing method and computer readable recording medium | |
KR101028176B1 (en) | Information recording medium, information processing device, information processing method, and computer-readable recording medium having computer program stored thereon | |
EP1538543A1 (en) | License management device, license management method, and computer program | |
EP1453240A1 (en) | Information processing apparatus and method | |
JP4391056B2 (en) | Information management apparatus and method, recording medium, and program | |
JP2004227282A (en) | Contents distribution system, information processor or information processing method and computer program | |
KR20060026000A (en) | Information device, information server, information processing system, information processing method, and information processing program | |
JP4151274B2 (en) | Information processing apparatus and method, license server, and program | |
JP3818503B2 (en) | Information processing apparatus and method, and program | |
JP4640374B2 (en) | Information processing apparatus and method, program storage medium, and program | |
JP4479698B2 (en) | Content provision system | |
KR100608849B1 (en) | Security method for digital contents of network device | |
JP2006320018A (en) | Information processing apparatus, information processing method, recording medium, and program | |
JP4697152B2 (en) | Information management apparatus, information management method, recording medium, and program | |
KR20050116786A (en) | Security method for digital contents of network device | |
KR20050109417A (en) | Play back control method for digital contents | |
KR20060056294A (en) | Play back control method for digital contents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100810 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101004 |
|
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: 20101102 |
|
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: 20101115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131210 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |