JP4867425B2 - Information processing apparatus, information processing method, and computer program - Google Patents

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

Info

Publication number
JP4867425B2
JP4867425B2 JP2006085811A JP2006085811A JP4867425B2 JP 4867425 B2 JP4867425 B2 JP 4867425B2 JP 2006085811 A JP2006085811 A JP 2006085811A JP 2006085811 A JP2006085811 A JP 2006085811A JP 4867425 B2 JP4867425 B2 JP 4867425B2
Authority
JP
Japan
Prior art keywords
user
information
excluded
header
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.)
Expired - Fee Related
Application number
JP2006085811A
Other languages
Japanese (ja)
Other versions
JP2007266722A5 (en
JP2007266722A (en
Inventor
雅文 草川
智之 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006085811A priority Critical patent/JP4867425B2/en
Publication of JP2007266722A publication Critical patent/JP2007266722A/en
Publication of JP2007266722A5 publication Critical patent/JP2007266722A5/ja
Application granted granted Critical
Publication of JP4867425B2 publication Critical patent/JP4867425B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、特定の契約ユーザのみによる復号を可能とした暗号化コンテンツの配信処理に伴う様々なデータ処理を実行する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a computer program. More specifically, the present invention relates to an information processing apparatus, an information processing method, and a computer program that execute various data processing accompanying encrypted content distribution processing that can be decrypted only by a specific contract user.

近年、PCのみならず、携帯電話やディジタル家電等の普及、発達に伴い、音楽や映像等のコンテンツ配信ビジネスが益々重要になってきている。コンテンツ配信ビジネスとしては、CATVや衛星放送、インターネット等を利用した有料放送、CD、DVD等物理メディアを利用したコンテンツの販売など、様々なルートを利用したコンテンツ提供システムが存在する。このような様々なルートで提供されるデータは一般的に不特定のユーザによって受信、あるいは取得可能である。従って、有料コンテンツや、著作権管理対象コンテンツを提供する場合には、正規な契約者のみにおいてコンテンツの利用を可能とする仕組みを構築する必要がある。   In recent years, with the spread and development of not only PCs but also mobile phones and digital home appliances, content distribution businesses such as music and video have become increasingly important. As content distribution business, there are content providing systems using various routes such as CATV, satellite broadcasting, pay broadcasting using the Internet, and sales of contents using physical media such as CDs and DVDs. Data provided by such various routes is generally received or acquired by unspecified users. Therefore, when providing paid content or content subject to copyright management, it is necessary to construct a mechanism that allows the content to be used only by an authorized contractor.

正規な契約者のみにおいて、コンテンツ利用を可能とする手法の1つが、コンテンツの暗号化である。暗号化方式には、大別して共通鍵方式、公開鍵方式がある。共通鍵方式は、対称暗号方式ともよばれ、発信者、受信者の双方で共通の鍵を保有する。この共通鍵暗号に対して、発信者と受信者の鍵を異なるものとした構成が公開鍵方式または非対称暗号方式である。公開鍵暗号方式では、暗号化、復号化に共通の鍵を用いる共通鍵暗号方式と異なり、秘密に保つ必要のある秘密鍵は、特定の1人が持てばよいため鍵の管理において有利である。公開鍵暗号方式では、不特定多数に公開鍵を使用可能とする構成であり、配布する公開鍵が正当なものであるか否かを証明する証明書、いわゆる公開鍵証明書を使用する方法が多く用いられている。   One of the methods for enabling content use only by a legitimate contractor is content encryption. Encryption methods are roughly classified into a common key method and a public key method. The common key method is also called a symmetric encryption method, and both the sender and the receiver have a common key. The public key system or the asymmetric encryption system is a configuration in which the sender and receiver have different keys for the common key encryption. Unlike the common key cryptosystem that uses a common key for encryption and decryption, the public key cryptosystem is advantageous in key management because the secret key that needs to be kept secret must be held by a specific person. . In the public key cryptosystem, a public key can be used by an unspecified number of people, and there is a method of using a certificate that certifies whether or not a public key to be distributed is valid, a so-called public key certificate. Many are used.

例えば、コンテンツ配信システムでは、システムの管理者(以降、センタという)が予め契約者に対してユーザ鍵(個人秘密鍵)を提供し、コンテンツの配信時に、コンテンツMをセッション鍵sで暗号化した暗号文C(暗号化コンテンツ)と、セッション鍵sを暗号化したヘッダhを配信する。ヘッダhは、契約者のみが保持するユーザ鍵(個人秘密鍵)による復号によりセッション鍵sを得ることができる。この処理構成によって、契約者のみがコンテンツMを取得可能となる。   For example, in a content distribution system, a system administrator (hereinafter referred to as a center) provides a user key (individual secret key) to a contractor in advance, and the content M is encrypted with a session key s during content distribution. The ciphertext C (encrypted content) and the header h obtained by encrypting the session key s are distributed. The header h can obtain the session key s by decryption with a user key (personal private key) held only by the contractor. With this processing configuration, only the contractor can acquire the content M.

しかしながら、このようなコンテンツ配信システムを用いたとしても、契約者が保持するユーザ鍵(個人秘密鍵)が故意または過失により露呈した場合、露呈したユーザ鍵を利用し、正規のユーザ装置である通常の復号器(以降、正規復号器という)と同じ動作を行う不正なコンテンツ保護解除機器(以降、不正復号器という)が生成可能となってしまう。実際、CATVや衛星放送等の有料放送ではこのような不正復号器が多数販売されており、またDVD等の物理メディアを利用したコンテンツ配信においても、契約ベンダーにのみ提供された鍵が露呈した結果、ソフトウェアとしての不正復号器が一般に出回ってしまい、コンテンツ配信ビジネスに多大な損害を与えている。   However, even if such a content distribution system is used, if the user key (personal secret key) held by the contractor is revealed intentionally or negligently, it is a normal user device using the exposed user key. It is possible to generate an illegal content protection release device (hereinafter referred to as an illegal decoder) that performs the same operation as that of the decoder (hereinafter referred to as a regular decoder). Actually, many such illegal decoders are sold in pay broadcasting such as CATV and satellite broadcasting, and the key provided only to the contract vendor is also revealed in content distribution using physical media such as DVD. In general, illegal decoders as software have been circulated, causing a great deal of damage to the content distribution business.

このような契約者による不正行為を防止する有効な手段として、不正者追跡法が存在する。不正者追跡法とは、前述のようなコンテンツ配信システムにおいて、契約者が自身の鍵を提供し不正復号器を構成した場合においても、不正復号器中に含まれる鍵から鍵を提供した契約者(以降、不正者という)を特定する追跡手法である。以下、不正者追跡法の概要について説明する。   There is an illegal person tracking method as an effective means for preventing such an illegal act by a contractor. The fraudster tracking method is a contractor who provided a key from the key contained in the fraudulent decryptor even if the contractor provided his / her own key and configured a fraudulent decryptor in the content distribution system as described above. This is a tracking method for identifying (hereinafter referred to as an unauthorized person). The outline of the fraud tracking method will be described below.

図1に示すように、不正者追跡法では、センタはセキュリティパラメータkを決定した後、k次の秘密多項式f(x)(以降、配信用多項式という)を生成し、契約者iに固有の秘密鍵d(以降、個人秘密鍵という)を予め配布すると同時にセンタ公開鍵eを公開する。 As shown in FIG. 1, in the fraudster tracking method, after the center determines a security parameter k, the center generates a k-th order secret polynomial f (x) (hereinafter referred to as a distribution polynomial) and is unique to the contractor i. A secret key d i (hereinafter referred to as a personal secret key) is distributed in advance, and at the same time, the center public key e is disclosed.

図2に示すように、コンテンツ配信時において、コンテンツ配信者はコンテンツMをセッション鍵sで暗号化した暗号文Cと、契約者のみがセッション鍵sを取得可能とするためのヘッダh(以降、配信用ヘッダという)を生成し、配信する。   As shown in FIG. 2, at the time of content distribution, the content distributor encrypts the content M with the session key s, and the header h (hereinafter, the contract key can be acquired only by the contractor). Generate a distribution header) and distribute it.

契約者iは自身の個人秘密鍵dと公開鍵eおよびヘッダhからセッション鍵sを取得し、暗号文Cを復号することによってコンテンツMを取得する。通常、契約者による復号は、ソフトウェア、ハードウェアもしくはその両方により構成された正規復号器(情報処理装置)を用いる。 Contractor i will get a session key s from its own private secret key d i and a public key e and a header h, to get the content M by decrypting the ciphertext C. Usually, the decryption by the contractor uses a regular decoder (information processing apparatus) configured by software, hardware or both.

正規復号器は、例えば、図3に示すように、一般的なPCと同様のデータ処理機能を持つ情報処理装置10によって構成可能であり、センタから契約者iに提供された固有の個人秘密鍵dを個人秘密鍵格納部11に格納している。 For example, as shown in FIG. 3, the regular decryptor can be configured by an information processing apparatus 10 having a data processing function similar to that of a general PC, and a unique personal secret key provided from the center to the contractor i. d i is stored in the personal secret key storage unit 11.

ここで、契約者iが自身の個人秘密鍵dを情報処理装置10から不正に取り出して、他の情報処理装置に格納することで不正復号器が生成される。例えば、個人秘密鍵dを大量にコピーすることで、大量の不正復号器が生成される。 Here, the contractor i illegally takes out his / her private secret key d i from the information processing apparatus 10 and stores it in another information processing apparatus, thereby generating an illegal decryptor. For example, by copying the private secret key d i a large amount, a large amount of unauthorized decryption unit is generated.

このような事態が発生した場合、不正の検証者は不正復号器を取得し、その中に含まれる個人秘密鍵dから契約者iが不正者であると特定することが可能となる。また、不正復号器から個人秘密鍵を直接取得不可能な場合には、ブラックボックス追跡を実施することにより不正者を特定する。 If this occurs, incorrect verifier acquires the unauthorized decryption unit, contractor i individual secret key d i contained therein it is possible to identify that the fraudster. In addition, when the private secret key cannot be obtained directly from the unauthorized decryptor, the unauthorized person is identified by performing black box tracking.

ブラックボックス追跡とは、不正者を特定するためのヘッダ(以降、追跡用ヘッダという)を不正復号器に入力し、その出力を検証することによって不正者を特定する不正追跡手法である。図4に示すように、不正の検証者は、まず、検証対象となる契約者(以降、容疑者という)を推定し、この容疑者のIDに基づいて追跡用ヘッダhを生成する。   Black box tracking is a fraud tracking technique for identifying an unauthorized person by inputting a header for identifying an unauthorized person (hereinafter referred to as a tracking header) to an unauthorized decoder and verifying its output. As shown in FIG. 4, the unauthorized verifier first estimates a contractor (hereinafter referred to as a suspect) to be verified, and generates a tracking header h based on the suspect's ID.

すなわち、公開鍵eおよび検証対象となる容疑者IDから追跡用ヘッダhを生成し、それを不正復号器に入力し、出力結果を検証する処理、具体的には不正復号器の出力がコンテンツと一致するか否かを確認することで容疑者が不正者であるかどうかを検証する。   That is, a process of generating a tracking header h from a public key e and a suspect ID to be verified, inputting it to an unauthorized decryptor, and verifying the output result, specifically, the output of the unauthorized decryptor is the content and It is verified whether the suspect is an unauthorized person by confirming whether or not they match.

このようなブラックボックス追跡を実現する方法として、例えば非特許文献1および非特許文献2に記載の手法が適用可能である。このような不正者追跡法では、容疑者のみを排除した配信用ヘッダを追跡用ヘッダとして利用し、不正復号器の出力がコンテンツと一致するか否かを確認することによって、正規復号器と同じ復号動作を行い、その際に利用される鍵のみが不正者のものであるような不正復号器に対するブラックボックス追跡を実現することが可能となる。   As a method for realizing such black box tracking, for example, the methods described in Non-Patent Document 1 and Non-Patent Document 2 are applicable. In such a fraudster tracking method, the distribution header that excludes only the suspect is used as a tracking header, and it is the same as the normal decoder by checking whether the output of the illegal decoder matches the content. It is possible to realize black box tracking for an unauthorized decoder in which a decryption operation is performed and only a key used at that time belongs to an unauthorized person.

このようなブラックボックス追跡を実現する効率的な不正者追跡法を示した文献として特許文献1がある。この特許文献1に記載された方式では、契約者集合を複数のサブグループに分割し、各サブグループに対して各々異なるk次の配信用多項式を割り当てると共に、配信時にはサブグループ毎に異なる配信用ヘッダを配信することによって、サブグループ単位での契約者排除を実現している。これにより、前述したような攻撃者にとって最も構成し易い不正復号器のみならず、検証者による追跡を検知した場合には、追跡を回避するような機能を有する不正復号器に対しても、効率的なブラックボックス追跡を実現している。   There is Patent Document 1 as a document showing an efficient fraud tracking method for realizing such black box tracking. In the method described in Patent Document 1, a set of contractors is divided into a plurality of subgroups, and different k-th order distribution polynomials are assigned to the respective subgroups. By distributing the header, it is possible to eliminate contractors in subgroup units. As a result, not only the illegal decoder that is most easily configured by an attacker as described above, but also an illegal decoder having a function of avoiding the tracking when the tracking by the verifier is detected. Realistic black box tracking is realized.

以下、特許文献1に記載されたブラックボックス追跡手法に関して簡単に説明する。特許文献1に記載されたブラックボックス追跡手法では、センタがあらかじめ契約者集合をt個のサブグループに分割し、サブグループ毎に異なるt個のk次の配信用多項式f(x)(z=1,...,t)を生成する。 The black box tracking method described in Patent Document 1 will be briefly described below. In the black box tracking method described in Patent Document 1, the center divides the contractor set into t subgroups in advance, and t k-th order distribution polynomials f Z (x) (z) that differ for each subgroup. = 1, ..., t).

各契約者には、その契約者が所属するサブグループUに対応する配信用多項式f(x)を用いて生成した個人秘密鍵を安全な通信路を用いて配布する。配信者は、セッション鍵および乱数を生成し、これを用いて配信用ヘッダを生成するための共通情報を計算した後、各サブグループU(z=1,...,t)に対応する配信用ヘッダH(z=1,...,t)を生成する。このとき配信者は、サブグループに所属する契約者の排除方法によって配信用ヘッダHの生成方法を変更する。すなわち、サブグループに所属する契約者全員を排除しない場合には、公開鍵および前述の共通情報からヘッダを生成するが、サブグループに所属する契約者全員を排除する場合には、全員を排除しない場合において用いた公開鍵の代わりに乱数情報を用いてヘッダを生成する。 To each contractor, the private secret key generated using the distribution polynomial f Z (x) corresponding to the subgroup U Z to which the contractor belongs is distributed using a secure communication path. The distributor generates a session key and a random number, calculates common information for generating a header for distribution using this, and then corresponds to each subgroup U Z (z = 1,..., T). A distribution header H Z (z = 1,..., T) is generated. In this case the distributor changes the method of generating a distribution header H Z by the method eliminating contractor belonging to subgroups. In other words, if you do not want to exclude all the contractors belonging to the subgroup, the header is generated from the public key and the above-mentioned common information, but if you exclude all the contractors who belong to the subgroup, do not exclude all A header is generated using random number information instead of the public key used in the case.

また、サブグループに所属する契約者の一部のみを排除する場合には、排除されない契約者のIDに対しては0を出力し、排除される契約者のIDに対してはそのIDに対応する0以外の値を出力するようなm'次の多項式(以降、排除用多項式という)F(x)を構成し、前述の共通情報と公開鍵e、および各契約者が自身のIDに対応するF(x)上の点を計算するための情報を用いて配信用ヘッダを生成する。配信者は、上記の各方法により生成した配信用ヘッダH(z=1,...,t)と、コンテンツMをセッション鍵sで暗号化した暗号文Cを配信する。 When only a part of the contractors belonging to the sub group is excluded, 0 is output for the ID of the contractor that is not excluded, and the ID of the contractor that is excluded corresponds to the ID. M′-th order polynomial (hereinafter referred to as exclusion polynomial) F Z (x) that outputs a value other than 0, and the above-mentioned common information, public key e, and each contractor have their IDs A distribution header is generated using information for calculating a corresponding point on F Z (x). The distributor distributes the distribution header H Z (z = 1,..., T) generated by the above methods and the ciphertext C obtained by encrypting the content M with the session key s.

契約者は、まず受信した配信用ヘッダH(z=1,...,t)の中から自身が所属するサブグループに対応するものを選択し、これから自身のIDに対応する配信用多項式f(x)上の点をgの指数部において計算する。次に、個人秘密鍵dと配信用ヘッダに含まれる乱数情報を用いて自身のIDに対応する配信用多項式f(x)上の点をgの指数部において計算し、先ほど計算した値の比をとる。このとき、全員が排除されていないサブグループに所属する契約者は、ヘッダから自身のIDに対応する配信用多項式f(x)上の点をgの指数部において正確に計算することが可能となるため、計算結果がセッション鍵sとなるが、全員が排除されているサブグループに所属する契約者は、ヘッダから自身のIDに対応する配信用多項式f(x)上の点をgの指数部において計算する際、契約者自身のIDに対応するf(x)上の点を計算するための情報の一部が乱数情報に置き換わっているため、正確な値を計算することが不可能となり、セッション鍵sを取得することが不可能となる。 The contractor first selects from the received distribution header H Z (z = 1,..., T) the one corresponding to the subgroup to which the contractor belongs, and from now on, the distribution polynomial corresponding to the own ID A point on f Z (x) is calculated in the exponent part of g. Next, using the personal secret key d i and the random number information included in the distribution header, a point on the distribution polynomial f Z (x) corresponding to its own ID is calculated in the exponent part of g, and the value calculated earlier The ratio of At this time, a contractor who belongs to a subgroup in which all members are not excluded can accurately calculate a point on the distribution polynomial f Z (x) corresponding to the ID from the header in the exponent part of g. Therefore, the calculation result is the session key s, but the contractor who belongs to the subgroup from which all members are excluded determines the point on the distribution polynomial f Z (x) corresponding to the ID from the header g When calculating in the exponent part, a part of the information for calculating a point on f Z (x) corresponding to the contractor's own ID is replaced with random number information, so that an accurate value can be calculated. It becomes impossible to acquire the session key s.

また、一部の契約者のみが排除されているサブグループに所属している場合は、ヘッダから自身のIDに対応する配信用多項式f(x)上の点をgの指数部において計算する際、ヘッダの構成上、同時に自身のIDに対応するF(x)上の点を計算することになる。ここで、契約者が排除されていない場合はF(x)=0となり、全員が排除されていないサブグループに所属する場合と同様、計算結果の比を求めることによりセッション鍵sを取得することが可能となるが、排除されている場合にはF(x)≠0となるため、正しいセッション鍵sを取得することが不可能となる。 If only a part of the contractors belong to the excluded subgroup, a point on the distribution polynomial f Z (x) corresponding to its own ID is calculated in the exponent part of g from the header. At this time, due to the structure of the header, a point on F Z (x) corresponding to its own ID is calculated at the same time. Here, if the contractor is not excluded, F Z (x) = 0, and the session key s is obtained by obtaining the ratio of the calculation results as in the case where all the members belong to the subgroup not excluded. However, if it is excluded, F Z (x) ≠ 0, and it becomes impossible to acquire the correct session key s.

このようにサブグループ単位での契約者排除と、サブグループ内における一部の契約者排除を実現することにより、入力されたヘッダが配信用ヘッダなのか追跡用ヘッダなのかを判断し、追跡用ヘッダであると判断すれば追跡を回避しようと試みる機能を有するような不正復号器に対しても、効率的にブラックボックス追跡を実現可能としている。   In this way, by eliminating subscribers in subgroup units and excluding some subscribers in subgroups, it is possible to determine whether the input header is a header for distribution or a header for tracking, and for tracking purposes. Black box tracking can be efficiently realized even for an illegal decoder having a function of trying to avoid tracking if it is determined to be a header.

しかしながら、通常のコンテンツ配信時において契約者排除を行なう場合には様々な制約条件が存在するため、常に効率的なコンテンツ配信が実現できるとは限らない。特許文献1に記載の方式において、ヘッダサイズやヘッダ生成時に必要となる計算量が最も削減されるのは、排除される契約者がいない、もしくは契約者の排除をサブグループ単位でのみ実現可能である場合である。しかし、現実的なコンテンツ配信を考える場合、不正者と思われる契約者の排除のみならず、契約の正当な解除による契約者の離脱、料金未払いによる視聴制限等、サブグループ内の一部の契約者のみを排除する場合が多く存在すると考えられ、このような場合、特許文献1に記載の方式では、サブグループに所属する一部の契約者のみを排除することが必要となる。   However, when a contractor is excluded at the time of normal content distribution, there are various restrictions, so that efficient content distribution cannot always be realized. In the method described in Patent Document 1, the header size and the amount of calculation required for header generation are most reduced because there is no contractor to be excluded or the contractor can be excluded only in subgroup units. This is the case. However, when considering realistic content distribution, some contracts within the subgroup, such as the withdrawal of contractors due to the legitimate cancellation of contracts, viewing restrictions due to unpaid fees, etc., as well as the exclusion of contractors who are considered fraudulent In such a case, it is necessary to exclude only some contractors who belong to the subgroup.

この場合には、排除用多項式F(x)は、排除されない契約者のIDに基づいて生成することが必要であり、排除されない契約者の数が少なければ少ないほど排除用多項式の次数m'の値が大きくなり、ヘッダサイズおよび計算量が非常に大きくなってしまうという問題点が存在する。また、サブグループは一旦確定すると動的に変更することがその性質上不可能であるため、一度サブグループ内の一部契約者が排除された場合、以降そのサブグループは、サブグループに含まれるすべての契約者が排除されない限り、常に一部の契約者のみを排除する必要が生じる。したがって、契約者の脱退等、頻繁に契約者の排除を実現する現実のコンテンツ配信においては、配信時におけるヘッダサイズおよび計算量のコストが非常にかかるという問題点が存在する。
特開2005−236963号公報 M. Yoshida, T. Fujiwara,"A Subscriber-Excluding and Traitor-Tracing Broadcast Distribution System,"IEICE Trans. Fundamentals,vol. E84-A, No. 1, pp.247--255, 2001. T.Matsushita,"A Flexibly Revocable Key-Distribution Scheme for Efficient Black-Box Tracing,"ICICS '02,LNCS 2513,Springer Verlag,pp.197--208,2002.
In this case, it is necessary to generate the exclusion polynomial F Z (x) based on the ID of the contractor that is not excluded, and the smaller the number of contractors that are not excluded, the lower the order m ′ of the exclusion polynomial. There is a problem that the value of becomes large and the header size and the calculation amount become very large. In addition, once a subgroup is confirmed, it cannot be changed dynamically. Therefore, if some contractors in the subgroup are removed, the subgroup is included in the subgroup. Unless all contractors are excluded, it is always necessary to exclude only some of the contractors. Therefore, in actual content distribution that frequently realizes exclusion of the contractor, such as withdrawal of the contractor, there is a problem that the cost of the header size and the calculation amount at the time of distribution is very high.
JP 2005-236963 A M. Yoshida, T. Fujiwara, "A Subscriber-Excluding and Traitor-Tracing Broadcast Distribution System," IEICE Trans. Fundamentals, vol. E84-A, No. 1, pp.247--255, 2001. T. Matsushita, "A Flexibly Revocable Key-Distribution Scheme for Efficient Black-Box Tracing," ICICS '02, LNCS 2513, Springer Verlag, pp.197--208, 2002.

本発明は、上述の問題点に鑑みてなされたものであり、コンテンツ配信および利用処理において、排除ユーザによるコンテンツ復号鍵の取得を防止可能としたヘッダを生成してユーザに提供する構成として不正なコンテンツ利用を防止するとともに、ヘッダサイズおよびヘッダ生成計算量の削減を図り効率的なコンテンツ配信、利用を実現する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。   The present invention has been made in view of the above-described problems, and is illegal as a configuration for generating and providing a header that can prevent acquisition of a content decryption key by an excluded user in content distribution and use processing. An object of the present invention is to provide an information processing apparatus, an information processing method, and a computer program that prevent content use and reduce the header size and header generation calculation amount to realize efficient content distribution and use.

本発明の第1の側面は、
情報処理装置であり、
暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報の生成処理を実行するデータ処理部を有し、
前記データ処理部は、
ユーザ装置が保持するユーザ固有情報中、排除ユーザ以外の非排除ユーザの保持するユーザ固有情報を適用した場合にのみ前記復号鍵情報の取得を可能としたヘッダ情報の生成処理を実行する構成であり、
前記ユーザ固有情報に含まれるユーザID中、排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を適用した復号鍵算出式を含むヘッダ情報の生成処理を実行する構成であることを特徴とする情報処理装置にある。
The first aspect of the present invention is:
An information processing device,
A data processing unit that executes generation processing of header information including decryption key information applied to decryption of the encrypted content;
The data processing unit
It is a configuration that executes header information generation processing that enables acquisition of the decryption key information only when user-specific information held by a non-excluded user other than the excluded user is applied among user-specific information held by the user device ,
Out of the user IDs included in the user-specific information, 0 is output when an excluded user ID corresponding to an excluded user is assigned, and each ID is assigned when a non-excluded user ID corresponding to a non-excluded user is assigned. An information processing apparatus is characterized in that it performs a generation process of header information including a decryption key calculation formula to which a polynomial F (x) that outputs different values is applied.

さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、ユーザIDに対応するF(x)上の点を計算するためのm個の情報[h1,0,...,h1,m]と、排除ユーザID[x,...,x]と、を含むヘッダ情報の生成処理を実行し、ユーザ装置側において保持するユーザ固有情報としてのユーザIDと、個人秘密鍵と、前記ヘッダ情報に含まれる排除ユーザID[x,...,x]とを適用した演算処理に基づいて、非排除ユーザにおいてのみ前記復号鍵情報の取得を可能としたヘッダ情報の生成処理を実行する構成であることを特徴とする。 Furthermore, in an embodiment of the information processing apparatus of the present invention, the data processing unit includes m pieces of information [h 1,0 ,... For calculating points on F (x) corresponding to the user ID. , H 1, m ] and the excluded user ID [x 1 ,..., X m ], the header information generation process is executed, and the user ID as user specific information held on the user device side; The decryption key information can be obtained only by a non-exclusion user based on a calculation process using the personal secret key and the exclusion user ID [x 1 ,..., X m ] included in the header information. The header information generation process is executed.

さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、さらに、ユーザ装置側において取得可能な管理センタ対応の公開鍵情報と、前記ヘッダに含まれる乱数情報を適用した演算処理に基づいて、非排除ユーザにおいてのみ前記復号鍵情報の取得を可能としたヘッダ情報の生成処理を実行する構成であることを特徴とする。   Furthermore, in an embodiment of the information processing apparatus of the present invention, the data processing unit further applies arithmetic processing that applies public key information corresponding to a management center that can be acquired on the user device side, and random number information included in the header. On the basis of the above, the header information generation process that enables the decryption key information to be obtained only by non-excluded users is performed.

さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記復号鍵情報をセッション鍵sとして生成する構成であり、
p :乗法群の法となる大きな素数、
:乗法群であり、Zかつpと互いに素な整数の集合、
q :q|(p−1)かつq>n+k+1を満たす素数、
g :Z 上の1のq乗根、
の設定として、前記セッション鍵sの算出式を、
s=gmodp
として設定し、上記セッション鍵s算出式に前記多項式F(x)を含める構成としたヘッダ情報の生成処理を実行する構成であることを特徴とする。
Furthermore, in an embodiment of the information processing apparatus of the present invention, the data processing unit is configured to generate the decryption key information as a session key s,
p: a large prime number modulo the multiplicative group,
Z p * : a multiplicative group, a set of integers that are relatively prime to Z p and p,
q: a prime number satisfying q | (p−1) and q> n + k + 1,
g: q root of 1 on Z p *
As a setting of the session key s
s = g r modp
The header information generation process is configured to include the polynomial F (x) in the session key s calculation formula.

さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記セッション鍵sの算出式を、前記多項式F(x)を適用した式[F(x)/r]の逆元[(F(x)/r)−1]を、前記セッション鍵s算出式、
s=gmodp
の指数部rの構成要素とした設定のセッション鍵算出式を生成する構成であることを特徴とする。
Furthermore, in an embodiment of the information processing apparatus according to the present invention, the data processing unit uses an inverse element of an expression [F (x) / r] to which the polynomial F (x) is applied as a calculation expression of the session key s. [(F (x) / r) −1 ] is the session key s calculation formula,
s = g r modp
The configuration is such that a session key calculation formula set as a constituent element of the exponent part r is generated.

さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記指数部rの構成データとして、
ユーザIDをu
排除ユーザに対応する排除ユーザIDをx〜x
としたとき、
{(u−x)・・・(u−x)}−1={(F(x)/r)−1
の関係式を満足するセッション鍵算出式を生成する構成であることを特徴とする。
Furthermore, in one embodiment of the information processing apparatus of the present invention, the data processing unit includes, as configuration data of the exponent part r,
U i ,
Excluded user IDs corresponding to the excluded users are x 1 to x m ,
When
{(U i -x 1 ) ... (u i -x m )} -1 = {(F (x) / r) -1 }
It is the structure which produces | generates the session key calculation formula which satisfies these relational expressions.

さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、さらに、前記ヘッダ情報、および前記暗号化コンテンツの送信処理を実行する通信部を有することを特徴とする。   Furthermore, in an embodiment of the information processing apparatus of the present invention, the information processing apparatus further includes a communication unit that executes transmission processing of the header information and the encrypted content.

さらに、本発明の第2の側面は、
情報処理装置であり、
ユーザIDと個人秘密鍵とを格納した記憶部と、
暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報を入力し、該ヘッダ情報に対して、前記ユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行するデータ処理部とを有し、
前記データ処理部は、
排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含むヘッダ情報に対して、前記ユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行する構成であることを特徴とする情報処理装置にある。
Furthermore, the second aspect of the present invention provides
An information processing device,
A storage unit storing a user ID and a personal secret key;
Acquisition of the decryption key information by inputting header information including decryption key information applied to decryption of the encrypted content, and executing data processing to which the user ID and personal secret key are applied to the header information A data processing unit for executing processing,
The data processing unit
A polynomial F (x) that outputs 0 when the excluded user ID corresponding to the excluded user is substituted, and outputs a different value corresponding to each ID when the non-excluded user ID corresponding to the non-excluded user is substituted. The information processing apparatus is configured to execute a data process to which the user ID and the personal secret key are applied to the header information included therein, and execute the acquisition process of the decryption key information.

さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記ヘッダ情報として、
ユーザIDに対応するF(x)上の点を計算するためのm個の情報[h1,0,...,h1,m]と、
排除ユーザID[x,...,x]と、
を含むヘッダ情報を入力し、前記ユーザIDと個人秘密鍵と、前記ヘッダ情報に含まれる排除ユーザID[x,...,x]とを適用した演算処理に基づいて、前記復号鍵情報の取得処理を実行する構成であることを特徴とする。
Furthermore, in an embodiment of the information processing apparatus of the present invention, the data processing unit includes the header information as
M pieces of information [h 1,0 , ..., h 1, m ] for calculating a point on F (x) corresponding to the user ID;
Excluded user ID [x 1 , ..., x m ],
The decryption key is input based on a calculation process in which the header information including the user ID, the personal secret key, and the excluded user IDs [x 1 ,..., X m ] included in the header information are applied. The information acquisition process is configured to be executed.

さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、さらに、管理センタ対応の公開鍵情報と、前記ヘッダに含まれる乱数情報を適用した演算処理に基づいて、前記復号鍵情報の取得処理を実行する構成であることを特徴とする。   Furthermore, in an embodiment of the information processing apparatus of the present invention, the data processing unit further includes the decryption key based on a calculation process applying public key information corresponding to a management center and random number information included in the header. The information acquisition process is configured to be executed.

さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記復号鍵情報であるセッション鍵sを算出する構成であり、
p :乗法群の法となる大きな素数、
:乗法群であり、Zかつpと互いに素な整数の集合、
q :q|(p−1)かつq>n+k+1を満たす素数、
g :Z 上の1のq乗根、
の設定において、前記セッション鍵sを、下記算出式、
s=gmodp
に従って算出する構成であり、
上記セッション鍵sの算出処理において前記多項式F(x)を適用した演算を実行する構成であることを特徴とする。
Furthermore, in one embodiment of the information processing apparatus of the present invention, the data processing unit is configured to calculate a session key s that is the decryption key information,
p: a large prime number modulo the multiplicative group,
Z p * : a multiplicative group, a set of integers that are relatively prime to Z p and p,
q: a prime number satisfying q | (p−1) and q> n + k + 1,
g: q root of 1 on Z p *
In the setting of, the session key s is expressed by the following calculation formula:
s = g r modp
Is calculated according to
In the calculation process of the session key s, an operation to which the polynomial F (x) is applied is executed.

さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、
前記セッション鍵s算出式、
s=gmodp
の指数部rの算出処理として
前記多項式F(x)を適用した式[F(x)/r]の逆元[(F(x)/r)−1]の演算を実行する構成であることを特徴とする。
Furthermore, in one embodiment of the information processing apparatus of the present invention, the data processing unit is
The session key s calculation formula,
s = g r modp
As the calculation process of the exponent part r, the calculation of the inverse element [(F (x) / r) −1 ] of the formula [F (x) / r] to which the polynomial F (x) is applied is performed. It is characterized by.

さらに、本発明の情報処理装置の一実施態様において、前記式[(F(x)/r)−1]は、
記憶部に格納されたユーザIDをu
排除ユーザに対応する排除ユーザIDをx〜x
としたとき、
{(F(x)/r)−1}={(u−x)・・・(u−x)}−1
の関係を満たしており、
前記データ処理部は、
記憶部に格納されたユーザID:uを上記式{(u−x)・・・(u−x)}−1に代入して、{(F(x)/r)−1}の算出処理を実行する構成であることを特徴とする。
Furthermore, in one embodiment of the information processing apparatus of the present invention, the formula [(F (x) / r) −1 ] is
U i , the user ID stored in the storage unit,
Excluded user IDs corresponding to the excluded users are x 1 to x m ,
When
{(F (x) / r) −1 } = {(u i −x 1 )... (U i −x m )} −1
Satisfy the relationship
The data processing unit
Substituting the user ID: u i stored in the storage unit into the above expression {(u i −x 1 )... (U i −x m )} −1 , and {(F (x) / r) − 1 } is executed. The calculation process of 1 } is performed.

さらに、本発明の第3の側面は、
コンテンツ配信システムであり、
コンテンツ配信側装置において、
暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報として、コンテンツ受信側装置が保持するユーザ固有情報に含まれるユーザID中、排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含むヘッダ情報の生成処理を実行し、生成ヘッダ情報および暗号化コンテンツをコンテンツ受信側装置に提供し、
コンテンツ受信側装置において、
前記多項式F(x)を含むヘッダ情報に対して、ユーザIDと個人秘密鍵とを適用したデータ処理を実行して前記多項式F(x)を適用して取得した0以外の値を利用して前記復号鍵情報の取得処理を実行し、取得した復号鍵を適用して前記暗号化コンテンツの復号処理を実行する構成を有することを特徴とするコンテンツ配信システムにある。
Furthermore, the third aspect of the present invention provides
A content distribution system,
In the content distribution side device,
0 is output when the exclusion user ID corresponding to the exclusion user is substituted in the user ID included in the user-specific information held by the content receiving device as header information including the decryption key information applied to decryption of the encrypted content When a non-exclusion user ID corresponding to a non-exclusion user is substituted, a header information generation process including a polynomial F (x) that outputs a different value corresponding to each ID is executed, and the generation header information and encryption are executed. Providing content to the content receiving device,
In the content receiving device,
For the header information including the polynomial F (x), data processing using a user ID and a private secret key is executed, and a value other than 0 obtained by applying the polynomial F (x) is used. In the content distribution system, the decryption key information acquisition process is executed, and the acquired decryption key is applied to execute the decryption process of the encrypted content.

さらに、本発明の第4の側面は、
情報処理装置において暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報の生成処理を実行する情報処理方法であり、
データ処理部において、
ユーザ装置が保持するユーザ固有情報中、排除ユーザ以外の非排除ユーザの保持するユーザ固有情報を適用した場合にのみ前記復号鍵情報の取得を可能としたヘッダ情報を生成するヘッダ情報生成ステップを有し、
前記データ処理部において実行する前記ヘッダ情報生成ステップは、
前記ユーザ固有情報に含まれるユーザID中、排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含む復号鍵算出式を有するヘッダ情報の生成処理を実行するステップであることを特徴とする情報処理方法にある。
Furthermore, the fourth aspect of the present invention provides
An information processing method for executing generation processing of header information including decryption key information applied to decryption of encrypted content in an information processing device,
In the data processor
There is a header information generation step for generating header information that enables acquisition of the decryption key information only when user specific information held by a non-excluded user other than the excluded user is applied among user specific information held by the user device. And
The header information generation step executed in the data processing unit includes:
Out of the user IDs included in the user-specific information, 0 is output when an excluded user ID corresponding to an excluded user is assigned, and each ID is assigned when a non-excluded user ID corresponding to a non-excluded user is assigned. The information processing method is characterized in that it is a step of executing generation processing of header information having a decryption key calculation formula including a polynomial F (x) that outputs different values.

さらに、本発明の第5の側面は、
情報処理装置において暗号化コンテンツの復号鍵情報をヘッダ情報から取得する処理を実行する情報処理方法であり、
データ処理部において、
前記ヘッダ情報を入力し、該ヘッダ情報に対して記憶部から取得したユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行するヘッダ情報処理ステップを有し、
前記データ処理部において実行する前記ヘッダ情報処理ステップは、
排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含むヘッダ情報に対して、前記ユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行するステップであることを特徴とする情報処理方法にある。
Furthermore, the fifth aspect of the present invention provides
An information processing method for executing processing for acquiring decryption key information of encrypted content from header information in an information processing device,
In the data processor
A header information processing step of inputting the header information, executing a data process in which the user ID and the personal secret key acquired from the storage unit are applied to the header information, and executing the process of acquiring the decryption key information; Have
The header information processing step executed in the data processing unit includes:
A polynomial F (x) that outputs 0 when the excluded user ID corresponding to the excluded user is substituted, and outputs a different value corresponding to each ID when the non-excluded user ID corresponding to the non-excluded user is substituted. The information processing method is a step of executing a data process to which the user ID and the private secret key are applied to the header information including the header information, and executing the acquisition process of the decryption key information.

さらに、本発明の第6の側面は、
情報処理装置において暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報の生成処理を実行させるコンピュータ・プログラムであり、
データ処理部において、
ユーザ装置が保持するユーザ固有情報中、排除ユーザ以外の非排除ユーザの保持するユーザ固有情報を適用した場合にのみ前記復号鍵情報の取得を可能としたヘッダ情報を生成させるヘッダ情報生成ステップを有し、
前記データ処理部において実行させる前記ヘッダ情報生成ステップは、
前記ユーザ固有情報に含まれるユーザID中、排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含む復号鍵算出式を有するヘッダ情報の生成処理を実行させるステップであることを特徴とするコンピュータ・プログラムにある。
Furthermore, the sixth aspect of the present invention provides
A computer program that executes generation processing of header information including decryption key information applied to decryption of encrypted content in an information processing device,
In the data processor
There is a header information generation step for generating header information that enables acquisition of the decryption key information only when user specific information held by a non-excluded user other than the excluded user is applied among user specific information held by the user device. And
The header information generation step to be executed in the data processing unit includes:
Out of the user IDs included in the user-specific information, 0 is output when an excluded user ID corresponding to an excluded user is assigned, and each ID is assigned when a non-excluded user ID corresponding to a non-excluded user is assigned. The present invention resides in a computer program characterized in that it is a step of executing generation processing of header information having a decryption key calculation formula including a polynomial F (x) that outputs different values.

さらに、本発明の第7の側面は、
情報処理装置において暗号化コンテンツの復号鍵情報をヘッダ情報から取得する処理を実行させるコンピュータ・プログラムであり、
データ処理部において、
前記ヘッダ情報を入力し、該ヘッダ情報に対して記憶部から取得したユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行させるヘッダ情報処理ステップを有し、
前記データ処理部において実行させる前記ヘッダ情報処理ステップは、
排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含むヘッダ情報に対して、前記ユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行させるステップであることを特徴とするコンピュータ・プログラムにある。
Furthermore, the seventh aspect of the present invention provides
A computer program for executing processing for acquiring decryption key information of encrypted content from header information in an information processing device,
In the data processor
A header information processing step of inputting the header information, executing data processing to which the user ID and the personal secret key acquired from the storage unit are applied to the header information, and executing the acquisition processing of the decryption key information; Have
The header information processing step to be executed in the data processing unit includes:
A polynomial F (x) that outputs 0 when the excluded user ID corresponding to the excluded user is substituted, and outputs a different value corresponding to each ID when the non-excluded user ID corresponding to the non-excluded user is substituted. The computer program is a step of executing a data process to which the user ID and the personal secret key are applied to the header information including the header information to execute the acquisition process of the decryption key information.

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

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

本発明の一実施例構成によれば、コンテンツ配信および利用処理において、排除ユーザによるコンテンツ復号鍵の取得を防止可能としたヘッダを生成してユーザに提供する構成としたので、不正なコンテンツ利用が防止されるとともに、ヘッダサイズおよびヘッダ生成計算量の削減が図られ効率的なコンテンツ配信、利用が実現される。すなわち、コンテンツ利用者としてのユーザを単一のグループとした上で、排除される契約者IDに対しては0を出力し、それ以外の契約者IDに対しては各々異なる値を出力する多項式を利用したセッション鍵算出式を含むヘッダを構成する。この本発明のヘッダ構成により、コンテンツ配信時におけるヘッダサイズおよびヘッダ生成時に必要となる計算量が削減され、コンテンツ利用者サイドにおけるセッション鍵の取得処理においては、確実に排除ユーザの鍵取得を防止することができる。   According to the configuration of one embodiment of the present invention, in the content distribution and use process, a header that can prevent the content decryption key from being acquired by the excluded user is generated and provided to the user. In addition to being prevented, the header size and header generation calculation amount are reduced, and efficient content distribution and use are realized. That is, after a user as a content user is made into a single group, 0 is output for the excluded contractor ID, and a different value is output for each other contractor ID. A header including a session key calculation formula using is configured. With the header configuration of the present invention, the header size at the time of content distribution and the amount of calculation required at the time of header generation are reduced, and in the session key acquisition process on the content user side, the exclusion user's key acquisition is surely prevented. be able to.

以下、図面を参照しながら、本発明の情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。なお、説明は、以下の項目順に行なう。
1.本発明の概要および特徴
2.本発明の構成の適用可能なシステム構成および記号定義
3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理の詳細
(3.1)鍵生成処理、
(3.2)コンテンツ暗号化処理、
(3.3)コンテンツ復号処理、
(3.4)ブラックボックス追跡処理
(3.5)サブグループ設定に基づく処理における問題点の検証
4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理の詳細
(4.1)鍵生成処理、
(4.2)コンテンツ暗号化処理、
(4.3)コンテンツ復号処理、
(4.4)ブラックボックス追跡処理
5.本発明に従った処理と従来処理との相違点および本発明の処理の優位点
(5.1)鍵生成フェーズの比較
(5.2)暗号化および復号フェーズの比較
(5.3)ブラックボックス追跡フェーズの比較
(5.4)本発明の処理の優位点について
6.情報処理装置の構成例
Details of the information processing apparatus, the information processing method, and the computer program of the present invention will be described below with reference to the drawings. The description will be made in the order of the following items.
1. 1. Outline and features of the present invention 2. System configuration and symbol definition applicable to the configuration of the present invention Details of content distribution and black box tracking processing based on subgroup settings (3.1) Key generation processing,
(3.2) Content encryption processing,
(3.3) Content decryption processing,
(3.4) Black box tracking processing (3.5) Verification of problems in processing based on subgroup setting Details of content distribution and black box tracking processing according to the present invention (4.1) Key generation processing,
(4.2) Content encryption processing,
(4.3) Content decryption processing,
(4.4) Black box tracking process Differences between processing according to the present invention and conventional processing and advantages of processing according to the present invention (5.1) Comparison of key generation phases (5.2) Comparison of encryption and decryption phases (5.3) Black box 5. Comparison of tracking phases (5.4) Advantages of processing of the present invention Configuration example of information processing device

[1.本発明の概要および特徴]
本発明は、公開鍵暗号方式を利用したコンテンツ配信処理構成において、効率的で確実なコンテンツ配信および不正者追跡を可能とした構成である。システムの管理者(センタ)が予め契約者に対してユーザ鍵(個人秘密鍵)を提供し、コンテンツの配信時に、コンテンツMをセッション鍵sで暗号化した暗号文C(暗号化コンテンツ)と、セッション鍵sを暗号化したヘッダhを配信する。ヘッダhは、契約者のみが保持するユーザ鍵(個人秘密鍵)による復号によりセッション鍵sを得ることができる。この処理構成によって、契約者のみがコンテンツMを取得可能となる。
[1. Outline and Features of the Present Invention]
The present invention is a configuration that enables efficient and reliable content distribution and illegal person tracking in a content distribution processing configuration using a public key cryptosystem. A system administrator (center) provides a user key (individual secret key) to the contractor in advance, and a ciphertext C (encrypted content) obtained by encrypting the content M with the session key s when distributing the content; A header h obtained by encrypting the session key s is distributed. The header h can obtain the session key s by decryption with a user key (personal private key) held only by the contractor. With this processing configuration, only the contractor can acquire the content M.

このようなコンテンツ配信システムにおいて、契約者が保持するユーザ鍵(個人秘密鍵)が故意または過失により露呈し、正規のユーザ装置である正規復号器と同じ動作を行う不正復号器が生成可能となる。   In such a content distribution system, a user key (individual secret key) held by a contractor is revealed intentionally or negligently, and an illegal decryptor that performs the same operation as a regular decryptor that is a regular user device can be generated. .

本発明は、コンテンツ配信処理におけるヘッダ生成を効率化し、コンテンツ利用謝におけるコンテンツ復号時の処理を軽減するとともに、不正復号器による不正なコンテンツ利用を排除するための不正者追跡を確実にかつ効率的に実現する。まず、本発明の処理の特徴について説明する。本発明は、以下の特徴を有する。
(1)コンテンツ受領者としての契約者集合を単一のグループとして扱う
(2)k次の配信用多項式とは別にm(≧k)次の排除用多項式を用いることにより,k人以上の契約者排除を実現する
(3)個人秘密鍵および公開鍵を生成するために,センタ(管理センタ)がk次の配信用多項式を構成する
(4)特定の契約者を排除するために,配信者(コンテンツ配信者)が配信毎にm次の排除用多項式を構成する
(5)配信者は,排除したい契約者IDに対しては0を出力し,それ以外の契約者IDに対しては0以外の各々異なる値を出力するように排除用多項式を構成する
(6)排除用多項式を(4)のように構成することにより、既存の方式(上述の特許文献1:特開2005−236963号公報の処理構成)と比較して配信用ヘッダのヘッダサイズおよびヘッダ生成時に必要となる計算量の削減を可能とする
(7)排除用多項式を(4)のように構成することにより、既存の方式(特開2005−236963号公報)と比較して追跡用ヘッダのヘッダサイズおよびヘッダ生成時に必要となる計算量の削減を可能とする
これらの特徴を有するものである。
The present invention improves the efficiency of header generation in content distribution processing, reduces the content decryption processing during content usage, and ensures reliable and efficient tracking of unauthorized persons to eliminate unauthorized content usage by an unauthorized decoder Realize. First, features of the processing of the present invention will be described. The present invention has the following features.
(1) Treating a set of subscribers as content recipients as a single group (2) Contracting more than k people by using m (≧ k) degree exclusion polynomials separately from k order distribution polynomials (3) The center (management center) forms a k-th order distribution polynomial to generate a private secret key and public key. (4) Distributor in order to exclude specific subscribers. (Content distributor) constructs an m-th order exclusion polynomial for each distribution. (5) The distributor outputs 0 for the contractor ID to be excluded, and 0 for other contractor IDs. (6) By constructing the exclusion polynomial as shown in (4), the existing method (the above-mentioned Patent Document 1: Japanese Patent Laid-Open No. 2005-236963) is configured. Compared to the processing configuration of the publication) (7) By configuring the elimination polynomial as shown in (4), the existing method (Japanese Patent Laid-Open No. 2005-236963) and Compared with this, the header size of the tracking header and the amount of calculation required for header generation can be reduced.

[2.本発明の構成の適用可能なシステム構成および記号定義]
次に、本発明の構成の前提条件および記号定義について説明する。本発明は、公開鍵暗号方式を利用したコンテンツ配信処理構成において、効率的なヘッダ生成によるコンテンツ配信、効率的なヘッダ処理によるセッション鍵の取得に基づくコンテンツ復号、さらに、効率的で確実な不正者追跡を行なう。コンテンツは、暗号化コンテンツとして、配信者から不特定多数に提供されるが、特定のコンテンツ利用権を有するユーザ(契約者)に配布された個人秘密鍵を利用した場合にのみ、暗号化コンテンツを復号してコンテンツを利用することが可能となる。
[2. System configuration and symbol definition applicable to the configuration of the present invention]
Next, preconditions and symbol definitions of the configuration of the present invention will be described. The present invention provides a content distribution processing configuration using a public key cryptosystem, content distribution based on efficient header generation, content decryption based on session key acquisition based on efficient header processing, and efficient and reliable unauthorized persons. Follow up. The content is provided to the unspecified majority from the distributor as encrypted content, but the encrypted content is only used when the private secret key distributed to the user (contractor) who has a specific content usage right is used. It is possible to decrypt and use the content.

例えば、正規の個人秘密鍵を正規の情報処理装置から取り出して、コピー処理などによって生成した個人秘密鍵を他の情報処理装置に格納することで不正復号器が生成される。すなわち、不正復号器とは、不正に生成された個人秘密鍵を格納した情報処理装置である。   For example, a fraudulent decoder is generated by taking out a legitimate personal secret key from a legitimate information processing apparatus and storing the personal secret key generated by a copy process or the like in another information processing apparatus. In other words, an unauthorized decryption device is an information processing apparatus that stores an unauthorized private secret key.

不正復号器においては、正規復号器(情報処理装置)と同様の処理を実行することで、コンテンツ配信者の提供するデータを処理して、暗号化コンテンツの復号が可能となる。なお、不正復号器の構成としては、不正コピーなどによって生成した1つの不正な個人秘密鍵を有する構成の他、複数の異なる個人秘密鍵をコピーして保持し、複数の異なる個人秘密鍵を選択的に利用して復号動作を行い、その結果によって不正者追跡が行なわれているか否かを判断してブラックボックス追跡を困難化した装置など、様々な装置が考えられる。   In the unauthorized decryptor, by executing the same process as that of the regular decryptor (information processing apparatus), it is possible to process the data provided by the content distributor and decrypt the encrypted content. In addition, as a configuration of the illegal decoder, in addition to a configuration having one illegal personal secret key generated by illegal copying, a plurality of different personal secret keys are copied and held, and a plurality of different personal secret keys are selected. Various devices are conceivable, such as a device that performs a decoding operation by using it and determines whether or not illegal person tracking is performed based on the result and makes black box tracking difficult.

さらに、個人秘密鍵は、コンテンツの復号、再生などを実行する情報処理装置のメモリに直接格納する構成ばかりでなく、情報処理装置とは異なるディスクなどの記憶媒体に格納したファイルとして配付する構成や、個人秘密鍵データを記録した磁気カード等によって配布する構成もある。このような鍵配布構成では、個人秘密鍵を利用した不正復号器は、個人秘密鍵が格納されたファイルや磁気カードの複製によって容易に生成することが可能となる。本発明は、このような不正復号器に対する効率的で確実な追跡を可能とするものである。   Furthermore, the personal secret key is not only configured to be stored directly in the memory of the information processing apparatus that performs decryption and reproduction of the content, but also distributed as a file stored in a storage medium such as a disk different from the information processing apparatus. There is also a configuration in which personal secret key data is distributed by a magnetic card or the like. In such a key distribution configuration, an illegal decryptor using a personal secret key can be easily generated by copying a file storing the personal secret key or a magnetic card. The present invention enables efficient and reliable tracking for such illegal decoders.

以下の説明において使用する各記号についての定義は、以下の通りである。
n :契約者の総数
:分割されたz番目のサブグループに属する契約者の数
U :契約者全体および契約者に一意に割り当てられる値の集合
:分割されたz番目のサブグループおよびそこに所属する契約者に一意に割り当てられる値の集合
l(エル):排除される契約者の総数
(エルゼット):分割されたz番目のサブグループに属する排除される契約者の数
p :乗法群の法となる大きな素数
:乗法群であり、Zかつpと互いに素な整数の集合
q :q|(p−1)かつq>n+k+1を満たす素数
g :Z 上の1のq乗根
:i番目の契約者のID
e :システムの公開鍵
:i番目の契約者の個人秘密鍵
M :暗号化されていないコンテンツ(平文)
s :セッション鍵
C :平文Mをセッション鍵sで暗号化したときの暗号文(暗号化コンテンツ)
(M):平文Mの鍵sによる暗号化
(C):暗号文Cの鍵sによる復号
Hまたはh:ヘッダであり、暗号化されたセッション鍵sを含む
The definition of each symbol used in the following description is as follows.
n: contractor of the total number n Z: the number of subscribers belonging to the divided z-th subgroup U: the set of values that is uniquely assigned to subscribers across and contractor U Z: divided z-th subgroup And a set of values uniquely assigned to the contractors belonging thereto l (el): the total number of excluded contractors l Z (elzet): the number of excluded contractors belonging to the divided z-th subgroup p: a large prime number modulo the multiplicative group Z p * : a set of integers that are multiplicative and mutually prime with Z p and p q: prime number satisfying q | (p−1) and q> n + k + 1 g: Z p * 1 q root u i above : ID of i-th contractor
e: system public key d i : personal secret key of i-th contractor M: unencrypted content (plaintext)
s: Session key C: Ciphertext (encrypted content) when plaintext M is encrypted with session key s
E S (M): Encryption with plaintext M key s D S (C): Decryption with ciphertext C key s H or h: Header, including encrypted session key s

なお、契約者とは、コンテンツの配信者の提供するコンテンツを利用することを許容されたユーザであり、正規な個人秘密鍵を提供されたユーザである。ただし排除された契約者は、コンテンツの利用が許容されない。コンテンツの利用が許容された契約者は、コンテンツ配信者から受領するヘッダhを自己の保持する個人秘密鍵等を適用して処理することでセッション鍵sを取得することが可能となり、セッション鍵sを適用して暗号文Cを復号してコンテンツ(平文M)を取得することができる。一方、コンテンツの利用が許容されない排除された契約者は、コンテンツ配信者から受領するヘッダhを自己の保持する個人秘密鍵等を適用して処理してもセッション鍵sを取得することができない。従って、セッション鍵sを適用した暗号文Cの復号が不可能であり、コンテンツ(平文M)を取得することができない。コンテンツ配信者は、排除契約者に応じたヘッダを生成して暗号文とともに配信することになる。   The contractor is a user who is permitted to use the content provided by the content distributor, and is a user who is provided with a regular personal secret key. However, the excluded contractor is not allowed to use the content. The contractor permitted to use the content can obtain the session key s by processing the header h received from the content distributor by applying a personal secret key held by the subscriber h. Can be applied to decrypt the ciphertext C to obtain the content (plaintext M). On the other hand, an excluded contractor whose use of the content is not permitted cannot obtain the session key s even if the header h received from the content distributor is processed by applying a personal secret key held by the header h. Therefore, the ciphertext C to which the session key s is applied cannot be decrypted, and the content (plaintext M) cannot be acquired. The content distributor generates a header corresponding to the exclusion contractor and distributes the header together with the ciphertext.

[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理の詳細]
まず、サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理の詳細について説明する。ここでは、先に簡単に説明した特許文献1(特開2005−236963号公報)に記載されたコンテンツ配信およびブラックボックス追跡処理について説明する。
[3. Details of content distribution and black box tracking process based on subgroup settings]
First, details of content distribution and black box tracking processing based on subgroup settings will be described. Here, content distribution and black box tracking processing described in Patent Document 1 (Japanese Patent Laid-Open No. 2005-236963) described briefly above will be described.

特許文献1(特開2005−236963号公報)に記載されたコンテンツ配信およびブラックボックス追跡処理では、すべての契約者を複数のサブグループに分割し、サブグループ単位で個別の契約者排除を実現する構成である。   In the content distribution and black box tracking processing described in Patent Document 1 (Japanese Patent Laid-Open No. 2005-236963), all contractors are divided into a plurality of subgroups, and individual contractor exclusion is realized in units of subgroups. It is a configuration.

サブグループ単位で実行される個別の契約者排除の態様としては、
a.サブグループに含まれる契約者が全員排除されない
b.サブグループに含まれる契約者が全員排除される
c.サブグループに含まれる契約者の一部のみが排除される
これらa〜cの態様があり、各サブグループは上記a〜cのいずれかに分類されることになる。
As an aspect of individual contractor exclusion executed on a sub-group basis,
a. All contractors included in subgroups are not excluded b. All contractors included in the subgroup are excluded c. Only a part of the contractors included in the subgroup is excluded. There are these aspects of a to c, and each subgroup is classified into any one of the above a to c.

特許文献1(特開2005−236963号公報)に記載されたコンテンツ配信およびブラックボックス追跡処理は、
鍵生成処理、
コンテンツ暗号化処理、
コンテンツ復号処理、および
ブラックボックス追跡処理
という四つのフェーズから構成される。鍵生成フェーズはセンタがシステム構成時に一度だけ実行し、暗号化フェーズはコンテンツ配信者、復号フェーズはコンテンツ利用者としての契約者が、各々のコンテンツ配信毎に実行する。また、ブラックボックス追跡フェーズは、不正が発覚した時点で検証者によって実行される。検証者は通常センタとなるが、一切の秘密情報が不必要であるため、センタ以外の第三者であってもよい。以下、各フェーズの処理について説明する。
Content distribution and black box tracking processing described in Patent Document 1 (Japanese Patent Laid-Open No. 2005-236963)
Key generation processing,
Content encryption processing,
It consists of four phases: content decryption processing and black box tracking processing. The key generation phase is executed only once by the center when the system is configured, the encryption phase is executed by the content distributor, and the decryption phase is executed by the contractor as the content user for each content distribution. The black box tracking phase is executed by the verifier at the time when fraud is detected. The verifier is usually the center, but since no secret information is required, it may be a third party other than the center. Hereinafter, the processing of each phase will be described.

(3.1)鍵生成処理
鍵生成処理は、コンテンツ配信システムの管理者であるセンタによって実行される。センタは、図5に示すフローチャートに従った処理を実行して、各契約者の個人秘密鍵および公開鍵を生成する。
(3.1) Key generation processing The key generation processing is executed by a center that is an administrator of the content distribution system. The center executes processing according to the flowchart shown in FIG. 5 to generate the individual private key and public key of each contractor.

図5に示すフローチャートの各処理ステップの処理は、以下の通りである。
STEP01:大きな素数pおよびq|(p−1)かつq>n+k+1を満たす素数qを選択する。(ただし、契約者の総数をn、セキュリティパラメータをkとする)
STEP02:乗法群Z 上の1のq乗根gを選択する。
STEP03:すべての契約者i(i=1,...,n)に対して個別の値u∈Z を選択する。
STEP04:契約者のID集合Uを、共通集合を持たないt個のサブグループU,...,Uに分割する。
STEP05:センタの秘密鍵となるk+t+1個の値a、a,...,a、b、...,b∈Z をランダムに選択し、以下の様に配信用多項式f(x)(z=1,...,t)を構成する。

Figure 0004867425
The processing of each processing step in the flowchart shown in FIG. 5 is as follows.
STEP01: Select a prime number q satisfying large prime numbers p and q | (p−1) and q> n + k + 1. (However, the total number of subscribers is n and the security parameter is k)
STEP 02: Select a qth root g of 1 on the multiplicative group Z p * .
STEP 03: Select individual values u i εZ q * for all subscribers i (i = 1,..., N).
STEP 04: The contractor ID set U is divided into t subgroups U 1 ,..., U t having no common set.
STEP 05: k + t + 1 values a 0 , a 1 ,..., A k , b 1 ,..., B t ∈Z q *, which are the secret keys of the center, are randomly selected and distributed as follows: The polynomial f Z (x) (z = 1,..., T) is constructed.
Figure 0004867425

STEP06:すべての契約者i(i=1 ,...,n)に対して、契約者iが所属するサブグループUに対応する配信用多項式f(x)を利用して契約者iの個人秘密鍵dを以下のように計算し、安全な通信路を用いて配布する。
di=(u,f(u))
STEP07:公開鍵eを以下の様に構成し、公開する。
e=(p,q,g,y0,0,y0,1,...,y0,k,y1,1,...,y1,t
ただし、

Figure 0004867425
とする。 STEP 06: For all contractors i (i = 1,..., N), the contractor i uses the distribution polynomial f Z (x) corresponding to the subgroup U Z to which the contractor i belongs. The private secret key d i is calculated as follows and distributed using a secure communication path.
di = (u i , f Z (u i ))
STEP 07: The public key e is configured and disclosed as follows.
e = (p, q, g, y 0 , 0 , y 0 , 1 , ..., y 0, k , y 1 , 1 , ..., y 1, t )
However,
Figure 0004867425
And

このセンタによる鍵生成によって、図6に示すように、各契約者i(i=1,...,n)に対して個人秘密鍵di=(u,f(u))が提供されることになる。 By the key generation by this center, as shown in FIG. 6, the individual secret key di = (u i , f Z (u i )) is provided to each contractor i (i = 1,..., N). Will be.

(3.2)コンテンツ暗号化処理、
次に、契約者に提供するコンテンツの暗号化処理について説明する。特許文献1(特開2005−236963号公報)に記載された構成では、契約者の集合を複数のサブグループ毎に分割し、その各々に異なる配信用多項式を適当することによって、サブグループ単位での契約者排除を実現している。例えば、図6に示すサブグループ1〜tである。
(3.2) Content encryption processing,
Next, the encryption process of the content provided to the contractor will be described. In the configuration described in Patent Document 1 (Japanese Patent Laid-Open No. 2005-236963), a set of contractors is divided into a plurality of subgroups, and a different distribution polynomial is applied to each of the subgroups. The elimination of contractors is realized. For example, subgroups 1 to t shown in FIG.

コンテンツ配信者は、図7に示すように、上述した鍵生成処理において生成された個人秘密鍵di=(u,f(u))を有する契約者に対して、暗号化コンテンツCと、各サブグループに対応する配信用ヘッダhを生成して配信する。 As shown in FIG. 7, the content distributor sends the encrypted content C and the contractor having the personal secret key di = (u i , f Z (u i )) generated in the above key generation process. Then, a distribution header h corresponding to each subgroup is generated and distributed.

ヘッダhは、暗号化コンテンツCの復号処理に適用するセッション鍵sの暗号化データを含む情報であり、コンテンツの利用を許容された契約者の有する個人秘密鍵による復号処理によってセッション鍵sを取得できる設定とされる。従って、コンテンツ利用の排除者の設定によって、ヘッダhの生成方法は異なってくる。   The header h is information including the encrypted data of the session key s applied to the decryption process of the encrypted content C, and the session key s is obtained by the decryption process using the personal secret key possessed by the contractor permitted to use the content. It can be set as possible. Therefore, the method for generating the header h differs depending on the setting of the content use excluder.

図8〜図11に示すフローチャートを参照して、契約者に提供するデータ(暗号化コンテンツCと、配信用ヘッダh)の生成処理、送信シーケンスについて説明する。   A generation process and transmission sequence of data (encrypted content C and distribution header h) to be provided to the contractor will be described with reference to flowcharts shown in FIGS.

図8は、契約者に提供するデータ(暗号化コンテンツCと、配信用ヘッダh)の生成処理、送信処理の全体シーケンスを示すフローチャートであり、図9は、図8に示す処理フローにおけるステップ15−a、図10は、図8に示す処理フローにおけるステップ15−b、図11は、図8に示す処理フローにおけるステップ15−cにおける詳細シーケンスを示すフローチャートであり、
ステップ15−a(図9)は、サブグループに含まれる契約者が全員排除されない場合の処理、
ステップ15−b(図10)は、サブグループに含まれる契約者が全員排除される場合の処理、
ステップ15−c(図11)は、サブグループに含まれる契約者の一部のみが排除される場合の処理、
以上の各処理に対応する。
FIG. 8 is a flowchart showing the entire sequence of the generation process and transmission process of data (encrypted content C and distribution header h) provided to the contractor, and FIG. 9 shows step 15 in the process flow shown in FIG. -A, FIG. 10 is a flowchart showing the detailed sequence in step 15-b in the processing flow shown in FIG. 8, and FIG. 11 is step 15-c in the processing flow shown in FIG.
Step 15-a (FIG. 9) is a process in the case where all the contractors included in the subgroup are not excluded,
Step 15-b (FIG. 10) is a process when all the contractors included in the subgroup are excluded,
Step 15-c (FIG. 11) is processing when only a part of the contractors included in the subgroup is excluded,
It corresponds to each of the above processes.

まず、図8に示すフローチャートに従って、契約者に提供するデータ(暗号化コンテンツCと、配信用ヘッダh)の生成処理、送信シーケンスについて説明する。図8に示すフローチャートの各処理ステップにおいて実行する処理は、以下の処理となる。   First, generation processing and transmission sequence of data (encrypted content C and distribution header h) provided to the contractor will be described with reference to the flowchart shown in FIG. The processing executed in each processing step of the flowchart shown in FIG. 8 is as follows.

STEP11:セッション鍵s∈Z および乱数r∈Z をランダムに選択する。
STEP12:各サブグループU(z=1,...,t)に対応するヘッダ

Figure 0004867425
を計算するために必要となる情報を以下のように計算する。
Figure 0004867425
STEP 11: A session key sεZ q * and a random number rεZ q * are selected at random.
STEP12: Header corresponding to each subgroup U Z (z = 1,..., T)
Figure 0004867425
Information necessary for calculating is calculated as follows.
Figure 0004867425

STEP13:z=0とする。
STEP14:zにz+1を代入する。
STEP15:
サブグループUに含まれる契約者を全員排除しない場合はSTEP15−aを実行する。
サブグループUに含まれる契約者を全員排除する場合はSTEP15−bを実行する。
サブグループUに含まれる契約者の一部のみを排除する場合はSTEP15−cを実行する。
STEP16:z=tならばSTEP17へ進む。そうでなければSTEP14へ戻る。
STEP17:コンテンツMとセッション鍵sから暗号文Cを生成、すなわち、コンテンツMを、セッション鍵sで暗号化して、暗号文C=E(M)を生成し、各サブグループに対応するヘッダH ,...,Hと共に配信する。
STEP 13: Set z = 0.
STEP14: z + 1 is substituted for z.
STEP15:
If not the subscriber included in the subgroup U Z and all excluded performs STEP 15-a.
If you all eliminated contractor included in the subgroup U Z performs STEP 15-b.
If to eliminate only part of the subscriber included in the subgroup U Z performs STEP 15-c.
STEP16: If z = t, go to STEP17. Otherwise, return to STEP14.
STEP 17: Generate a ciphertext C from the content M and the session key s, that is, encrypt the content M with the session key s to generate a ciphertext C = E S (M), and a header H corresponding to each subgroup 1, ..., to deliver along with the H t.

なお、本処理例では、STEP15において、サブグループに含まれる契約者の排除形態によってヘッダの生成方法が変わる。以下、図9〜図11を参照して、契約者の排除形態毎におけるヘッダの生成方法について説明する。   In this processing example, in STEP 15, the header generation method varies depending on the contractor exclusion form included in the subgroup. Hereinafter, with reference to FIG. 9 to FIG. 11, a header generation method for each contractor exclusion form will be described.

a.サブグループに含まれる契約者が全員排除されない場合
サブグループに含まれる契約者が全員排除されない場合の配信用ヘッダ生成方法に関して、図9に示すフローチャートを参照して説明する。図9に示すフローのステップの処理は、以下の通りである。
STEP15−a1:

Figure 0004867425
a. When all the contractors included in the subgroup are not excluded A distribution header generation method when all the contractors included in the subgroup are not excluded will be described with reference to the flowchart shown in FIG. The processing of the steps in the flow shown in FIG. 9 is as follows.
STEP15-a1:
Figure 0004867425

サブグループに含まれる契約者が全員排除されない場合は、上記ステップ15−a1において生成したヘッダを契約者に配信するヘッダとして設定する。   When all the contractors included in the subgroup are not excluded, the header generated in step 15-a1 is set as a header to be distributed to the contractors.

b.サブグループに含まれる契約者が全員排除される場合
次に、サブグループに含まれる契約者が全員排除される場合の配信用ヘッダ生成方法に関して、図10に示すフローチャートを参照して説明する。図10に示すフローのステップの処理は、以下の通りである。
STEP15−b1:r∈Z をランダムに選択する。
STEP15−b2:

Figure 0004867425
b. When All Contractors Included in Subgroups are Excluded Next, a distribution header generation method when all contractors included in a subgroup are excluded will be described with reference to the flowchart shown in FIG. The processing of the steps in the flow shown in FIG. 10 is as follows.
STEP15-b1: randomly selects r Z ∈Z q *.
STEP15-b2:
Figure 0004867425

サブグループに含まれる契約者が全員排除される場合は、上記ステップ15−b1〜b2において生成したヘッダを契約者に配信するヘッダとして設定する。   When all the contractors included in the subgroup are excluded, the header generated in steps 15-b1 and b2 is set as a header to be distributed to the contractors.

c.サブグループに含まれる契約者の一部のみが排除される場合
次に、サブグループに含まれる契約者の一部のみが排除される場合の配信用ヘッダ生成方法に関して、図11に示すフローチャートを参照して説明する。図11に示すフローのステップの処理は、以下の通りである。
STEP15−c1:排除されないn−l人の契約者ID

Figure 0004867425
を選択する。
STEP15−c2:排除されないn−l人の契約者に対して、d、mを以下のように計算する。
Figure 0004867425
c. When only a part of the contractors included in the subgroup is excluded Next, refer to the flowchart shown in FIG. 11 for the distribution header generation method when only a part of the contractors included in the subgroup is excluded. To explain. The processing of the steps in the flow shown in FIG. 11 is as follows.
STEP 15-c1: n Z -1 Z subscriber IDs not excluded
Figure 0004867425
Select.
STEP 15-c2: against n Z -l Z's subscribers not eliminated, calculates d Z, a m Z as follows.
Figure 0004867425

STEP15―c3:n−l<mならばSTEP15−c4に進む。そうでなければSTEP15−c5に進む。 STEP15-c3: proceed to the n Z -l Z <m Z if STEP15-c4. Otherwise, go to STEP15-c5.

STEP15−c4:

Figure 0004867425
をランダムに選択する。
STEP15−c5:c=1とし、以下の式を満たす
Figure 0004867425
を計算し、以下に示すF(x)を排除用多項式とする。
Figure 0004867425
STEP15-c4:
Figure 0004867425
Select at random.
STEP15-c5: c 0 = 1 and satisfy the following formula
Figure 0004867425
And the following F Z (x) is set as an elimination polynomial.
Figure 0004867425

STEP15−c6:r∈Z をランダムに選択し、

Figure 0004867425
を計算する。 STEP 15-c6: randomly select r ZZ q *
Figure 0004867425
Calculate

STEP15−c7:契約者自身のIDに対応するF(x)上の点をgの指数部で計算するためのm+1個の情報

Figure 0004867425
STEP 15-c7: m Z +1 pieces of information for calculating a point on F Z (x) corresponding to the contractor's own ID in the exponent part of g
Figure 0004867425

サブグループに含まれる契約者の一部のみが排除される場合は、上記ステップ15−c1〜c7において生成したヘッダを契約者に配信するヘッダとして設定する。   When only a part of the contractors included in the subgroup is excluded, the header generated in steps 15-c1 to c7 is set as a header to be distributed to the contractors.

(3.3)コンテンツ復号処理
次に、コンテンツ配信者から、暗号文Cとヘッダhを受信した契約者において実行するコンテンツ復号処理について図12に示すフローチャートを参照して説明する。図12に示すフローのステップの処理は、以下の通りである。
(3.3) Content Decryption Processing Next, content decryption processing executed by the contractor who has received the ciphertext C and the header h from the content distributor will be described with reference to the flowchart shown in FIG. The processing of the steps in the flow shown in FIG. 12 is as follows.

STEP21:契約者iは、自身が含まれるサブグループUに対応するヘッダHより、以下のようにしてセッション鍵sを取得する。ただし、サブグループUに含まれる契約者の排除形態が、
a.サブグループに含まれる契約者が全員排除されない場合、または、
b.サブグループに含まれる契約者が全員排除される場合
これらa,bである場合、m=k、d=0とする。

Figure 0004867425
STEP 21: The contractor i acquires the session key s from the header H Z corresponding to the subgroup U Z in which it is included as follows. However, the exclusion form of the contractor included in the subgroup U Z is
a. If all sub-group contractors are not excluded, or
b. When all the contractors included in the subgroup are excluded When these are a and b, m Z = k and d Z = 0.
Figure 0004867425

STEP22:セッション鍵sを用いて平文Mを以下の様に復号する。
M=D(C)
STEP 22: The plaintext M is decrypted as follows using the session key s.
M = D S (C)

先に、図8〜図11のフローチャートを参照して説明したように、暗号化フェーズのSTEP15において、サブグループに含まれる契約者の排除形態に応じた配信用ヘッダを作成している。しかしながら、復号フェーズにおいては、サブグループを含めて自身が排除されているか否かを確認することなく復号フェーズにおけるSTEP21を実行することにより、排除されていなければ正しいセッション鍵を取得することが可能となる。以下、契約者排除の形態によって異なる復号フェーズのSTEP21におけるセッション鍵sの算出のための演算シーケンスについて説明する。   As described above with reference to the flowcharts of FIGS. 8 to 11, in STEP 15 of the encryption phase, a distribution header is created according to the contractor exclusion form included in the subgroup. However, in the decryption phase, it is possible to acquire a correct session key if it is not excluded by executing STEP 21 in the decryption phase without confirming whether or not itself is excluded including subgroups. Become. Hereinafter, a calculation sequence for calculating the session key s in STEP 21 in the decryption phase that varies depending on the form of contractor exclusion will be described.

a.サブグループに含まれる契約者が全員排除されない場合
まず、サブグループに含まれる契約者が全員排除されない場合におけるSTEP21のセッション鍵s算出処理について説明する。
a. When all contractors included in the subgroup are not excluded First, the session key s calculation process of STEP 21 when all the contractors included in the subgroup are not excluded will be described.

先に、図8および図9を参照して説明したように、[a.サブグループに含まれる契約者が全員排除されない場合]における配信用ヘッダの構成は以下の通りとなる。

Figure 0004867425
As described above with reference to FIGS. 8 and 9, [a. The structure of the distribution header in the case where all the contractors included in the subgroup are not excluded is as follows.
Figure 0004867425

したがって復号フェーズにおけるSTEP21のセッション鍵s算出処理演算は、以下の通りとなる。

Figure 0004867425
Accordingly, the session key s calculation processing operation of STEP 21 in the decryption phase is as follows.
Figure 0004867425

上記演算処理によって、サブグループUに含まれる契約者はヘッダに基づいて正しいセッション鍵を取得可能となる。 By the arithmetic processing, the contractor included in the subgroup U Z becomes possible to obtain the correct session key based on the header.

b.サブグループに含まれる契約者が全員排除される場合
次に、サブグループに含まれる契約者が全員排除される場合におけるSTEP21のセッション鍵s算出処理について説明する。
b. Case where all contractors included in a subgroup are excluded Next, the session key s calculation process of STEP 21 when all contractors included in a subgroup are excluded will be described.

先に、図8および図10を参照して説明したように、[b.サブグループに含まれる契約者が全員排除される場合]における配信用ヘッダの構成は以下の通りとなる。

Figure 0004867425
As described above with reference to FIGS. 8 and 10, [b. The structure of the distribution header in the case where all the contractors included in the subgroup are excluded is as follows.
Figure 0004867425

したがって復号フェーズにおけるSTEP21のセッション鍵s算出処理演算は、以下の通りとなる。

Figure 0004867425
Accordingly, the session key s calculation processing operation of STEP 21 in the decryption phase is as follows.
Figure 0004867425

上記演算式において、先に説明した[a.サブグループに含まれる契約者が全員排除されない場合]におけるセッション鍵s算出処理演算式と比較すると、aの場合には、

Figure 0004867425
であった部分が、[b.サブグループに含まれる契約者が全員排除される場合]のセッション鍵s算出処理演算式では、ランダムな値によって生成された
Figure 0004867425
に置き換えられている。このため、サブグループUに含まれる契約者は、分子におけるgの指数部がrf(u)とならないため、正しいセッション鍵sを取得することが不可能となり、結果としてサブグループUに含まれる契約者全員を排除可能となる。 In the above equation, [a. Compared with the session key s calculation processing formula in the case where all the contractors included in the subgroup are not excluded]
Figure 0004867425
The part that was The session key s calculation processing formula in the case where all the contractors included in the subgroup are excluded] is generated with a random value.
Figure 0004867425
Has been replaced. For this reason, the contractors included in the subgroup U Z cannot obtain the correct session key s because the exponent part of g in the numerator is not rf Z (u i ), and as a result, the subgroup U Z It becomes possible to exclude all the contractors included in.

c.サブグループに含まれる契約者の一部のみが排除される場合
次に、サブグループに含まれる契約者の一部のみが排除される場合におけるSTEP21のセッション鍵s算出処理について説明する。
c. Case where only a part of the contractors included in the subgroup is excluded Next, the session key s calculation process of STEP 21 when only a part of the contractors included in the subgroup is excluded will be described.

先に、図8および図11を参照して説明したように、[c.サブグループに含まれる契約者の一部のみが排除される場合]における配信用ヘッダの構成は以下の通りとなる。

Figure 0004867425
As described above with reference to FIGS. 8 and 11, [c. The structure of the distribution header in the case where only a part of the contractors included in the subgroup is excluded is as follows.
Figure 0004867425

したがって復号フェーズにおけるSTEP21のセッション鍵s算出処理演算は、以下の通りとなる。

Figure 0004867425
Accordingly, the session key s calculation processing operation of STEP 21 in the decryption phase is as follows.
Figure 0004867425

ここで、i番目の契約者uが排除されていない場合はF(u)=0となり、セッション鍵sを取得することが可能であるが、i番目の契約者uが排除されている場合にはF(u)≠0となり、セッション鍵sの取得が不可能となる。結果としてサブグループに含まれる契約者の一部がセッション鍵sの取得が可能となり、一部が、セッション鍵sの取得が不可能となる。 Here, if the i-th contractor u i is not excluded, F Z (u i ) = 0, and the session key s can be acquired, but the i-th contractor u i is excluded. In this case, F Z (u i ) ≠ 0, and the session key s cannot be acquired. As a result, part of the contractors included in the subgroup can acquire the session key s, and part of the contractor cannot acquire the session key s.

(3.4)ブラックボックス追跡処理
次に、上記処理例におけるブラックボックス追跡処理について説明する。上述したコンテンツ配信システムにおいて、契約者が保持するユーザ鍵(個人秘密鍵)が故意または過失により露呈し、正規のユーザ装置である正規復号器と同じ動作を行う不正復号器が生成可能となり、この不正復号器において不正にセッション鍵sが取得されコンテンツが不正に利用される可能性がある。このような不正復号器による不正なコンテンツ利用を排除するための不正者追跡処理としてブラックボックス追跡処理が行なわれる。
(3.4) Black Box Tracking Process Next, the black box tracking process in the above processing example will be described. In the content distribution system described above, the user key (personal secret key) held by the contractor is revealed intentionally or negligently, and an illegal decryptor that performs the same operation as a regular decryptor that is a regular user device can be generated. There is a possibility that the session key s is illegally acquired by the illegal decryptor and the content is illegally used. A black box tracking process is performed as an unauthorized person tracking process for eliminating such unauthorized use of content by an unauthorized decoder.

検証者は、公開鍵eおよび契約者のIDから追跡用ヘッダを生成し、これと暗号文を不正復号器に入力する。また、不正復号器の出力を取得し、その結果から不正者のIDを特定する。検証者の実行するブラックボックス追跡処理シーケンスについて、図13に示すフローチャートを参照して説明する。図13に示すフローチャートの各ステップの処理は以下の通りである。   The verifier generates a tracking header from the public key e and the contractor ID, and inputs this and the ciphertext to the unauthorized decryptor. Further, the output of the unauthorized decoder is acquired, and the ID of the unauthorized person is specified from the result. A black box tracking processing sequence executed by the verifier will be described with reference to a flowchart shown in FIG. The processing of each step in the flowchart shown in FIG. 13 is as follows.

STEP31:j=1とする。
STEP32:Uより容疑者jのID:uを選択する。
STEP33:容疑者jが所属するサブグループに対しては、容疑者jのみを排除したヘッダを生成し、それ以外のサブグループに対しては、排除形態が[a.サブグループに含まれる契約者が全員排除されない]場合のヘッダを生成する。
STEP34:STEP33において生成したヘッダを追跡用ヘッダとし、暗号文Cとともに不正復号器に入力する。
STEP35:不正復号器からの出力であるM'を取得する。
STEP36:M'≠MならばSTEP37に進む。そうでなければSTEP38に進む。
STEP37:容疑者jを不正者として特定する。
STEP38:jにj+1を代入する。
STEP39:j=n+1ならば処理を完了する。そうでなければSTEP32に戻る。
上記処理により、不正復号器から鍵を直接取り出すことなく不正者を特定可能となる。
STEP 31: j = 1.
STEP 32: Select suspect j's ID: u j from U.
STEP 33: For the subgroup to which the suspect j belongs, a header excluding only the suspect j is generated, and for the other subgroups, the exclusion form is [a. Header for all subscribers in a subgroup are not excluded].
STEP 34: The header generated in STEP 33 is used as a tracking header, and is input to the illegal decryptor together with the ciphertext C.
STEP 35: Obtain M ′ that is an output from the illegal decoder.
STEP 36: If M ′ ≠ M, proceed to STEP 37. Otherwise, go to STEP38.
STEP 37: The suspect j is identified as an unauthorized person.
STEP38: j + 1 is substituted for j.
STEP39: If j = n + 1, the process is completed. Otherwise, return to STEP32.
By the above process, an unauthorized person can be identified without directly extracting a key from the unauthorized decryptor.

(3.5)サブグループ設定に基づく処理における問題点の検証
次に、上述したサブグループ設定に基づく処理における問題点について検証する。上述したコンテンツ配信システムにおいて、まず、図5に示すフローチャートを参照して説明した鍵生成フェーズのSTEP04において契約者の集合を複数のサブグループに分割し、STEP05においてサブグループ毎に異なる配信用多項式を生成している。また、STEP06において、各契約者にその契約者が所属しているサブグループに対応する個人秘密鍵を秘密裏に配布している。
(3.5) Verification of problems in processing based on subgroup setting Next, problems in processing based on the above-described subgroup setting will be verified. In the content distribution system described above, first, a set of contractors is divided into a plurality of subgroups in STEP 04 of the key generation phase described with reference to the flowchart shown in FIG. Is generated. Further, in STEP 06, the individual secret key corresponding to the subgroup to which the contractor belongs is secretly distributed to each contractor.

また、コンテンツ配信時には、図8に示すフローチャートを参照して説明したように、STEP12において共通情報を生成した後、STEP15において、各サブグループの排除形態に対応する配信用ヘッダを生成する。   At the time of content distribution, as described with reference to the flowchart shown in FIG. 8, after generating common information in STEP 12, a distribution header corresponding to the exclusion form of each subgroup is generated in STEP 15.

ここで、契約者の排除形態、すなわち、
a.サブグループに含まれる契約者が全員排除されない
b.サブグループに含まれる契約者が全員排除される
c.サブグループに含まれる契約者の一部のみが排除される
これらの各場合において必要となるヘッダサイズおよびヘッダ生成時に必要となる計算量について検証する。
Here, the exclusion form of the contractor, that is,
a. All contractors included in subgroups are not excluded b. All contractors included in the subgroup are excluded c. Only a part of the contractors included in the subgroup is excluded. In each of these cases, the header size required and the amount of calculation required for header generation are verified.

a.サブグループに含まれる契約者が全員排除されない場合
サブグループに含まれる契約者が全員排除されない場合は、図8に示すフローチャートのSTEP12において生成する共通情報、

Figure 0004867425
のうち、図9に示すフローを参照して説明したように、hg(Z)に対応する情報のみを、
Figure 0004867425
に置き換えるため、あるサブグループUがaである場合、Uに対応するヘッダHのヘッダサイズは(k+2)logpとなる。また、ヘッダ生成時に計算する必要のある情報は、
Figure 0004867425
のみであるため、そのヘッダ生成時に必要となる計算量は、
O(logp)
となる。 a. When all the contractors included in the subgroup are not excluded When all the contractors included in the subgroup are not excluded, the common information generated in STEP 12 of the flowchart shown in FIG.
Figure 0004867425
As described with reference to the flow shown in FIG. 9, only information corresponding to h g (Z) is obtained.
Figure 0004867425
Therefore, when a certain subgroup U Z is a, the header size of the header H Z corresponding to U Z is (k + 2) logp. Also, the information that needs to be calculated when generating the header is
Figure 0004867425
Therefore, the amount of calculation required when generating the header is
O (log 3 p)
It becomes.

b.サブグループに含まれる契約者が全員排除される場合
サブグループに含まれる契約者が全員排除される場合は、図8に示すフローチャートのSTEP12において生成する共通情報、

Figure 0004867425
のうち、図10に示すフローを参照して説明したように、hg(Z)に対応する情報のみを、
Figure 0004867425
に置き換えるが、これは、上記の[a.サブグループに含まれる契約者が全員排除されない]場合と同様であり、あるサブグループUの排除形態が[b.サブグループに含まれる契約者が全員排除される]場合、Uに対応するヘッダHのヘッダサイズは(k+2)logp、ヘッダ生成時に必要となる計算量は、
O(logp)
となる。 b. When all the contractors included in the sub group are excluded When all the contractors included in the sub group are excluded, the common information generated in STEP 12 of the flowchart shown in FIG.
Figure 0004867425
As described with reference to the flow shown in FIG. 10, only information corresponding to h g (Z)
Figure 0004867425
Which replaces the above [a. Contractor included in the sub-group is the same as that not all eliminated, eliminating the form of a subgroup U Z is [b. If subscriber included in the sub-group are all eliminated, the header size of the header H Z corresponding to U Z is (k + 2) logp, the amount of computation required during header generation,
O (log 3 p)
It becomes.

c.サブグループに含まれる契約者の一部のみが排除される場合
最後にサブグループに含まれる契約者の一部のみが排除される場合では、先に、図11のフローを参照して説明したように、STEP15−c2においてd、mを決定した後、STEP15−c5において、そのサブグループに対応する排除用多項式F(x)を計算し、さらにSTEP15−c7において、そのサブグループに所属する契約者が排除されている場合にはその契約者のIDに対応する値を出力し、排除されていない場合にはセッション鍵を出力するための情報

Figure 0004867425
を計算することが必要となる。 c. When only a part of the contractors included in the subgroup is excluded Finally, when only a part of the contractors included in the subgroup is excluded, as described above with reference to the flow of FIG. Then, after determining d Z and m Z in STEP 15-c2, calculate the elimination polynomial F Z (x) corresponding to the subgroup in STEP 15-c5, and further belong to the subgroup in STEP 15-c7. If the contracting party to be excluded is excluded, a value corresponding to the contractor's ID is output, and if not excluded, information for outputting the session key
Figure 0004867425
Need to be calculated.

したがってそのヘッダサイズは(m+2)logpとなり、ヘッダ生成時に必要となる計算量は、
O(max(mlogp,m logq))
となる。なお、O(max(mlogp,m logq))はO(mlogp)もしくはO(m logq)のいずれか大きい方を選択する処理を表している。
Therefore, the header size is (m Z +2) logp, and the amount of calculation required for header generation is
O (max (m Z log 3 p, m Z 2 log 2 q))
It becomes. Incidentally, O (max (m Z log 3 p, m Z 2 log 2 q)) represents a process of selecting the larger one of O (m Z log 3 p) or O (m Z 2 log 2 q ) ing.

このように、上述した特許文献1(特開2005−236963号公報)に従ったサブグループ設定に基づくコンテンツ配信処理、およびブラックボックス追跡処理ではサブグループの排除形態によってそのサブグループに対応する配信用ヘッダのヘッダサイズおよびヘッダ生成時に必要となる計算量が異なるが、配信時には全てのサブグループに対するヘッダH ,...,Hと暗号文Cを同時に配信する必要がある。よってそのヘッダサイズはH ,...,Hのヘッダサイズの総和となり、ヘッダ生成時に必要となる計算量はH ,...,H生成時に必要となる計算量のうち最も大きいものとなるが、前述したようにサブグループの排除形態によってこれらの値が異なる。 As described above, in the content distribution processing based on the subgroup setting and the black box tracking processing according to the above-described Patent Document 1 (Japanese Patent Application Laid-Open No. 2005-236963), for the distribution corresponding to the subgroup depending on the subgroup exclusion mode. Although the header size of the header and the calculation amount required for header generation are different, it is necessary to simultaneously distribute the headers H 1 ,..., H Z and the ciphertext C for all the subgroups during distribution. Thus the header size H 1, ..., equal to the total size of the header H Z, the amount of computation required during header generation H 1, ..., the largest of the calculated amount needed when H Z product However, as described above, these values differ depending on the subgroup exclusion mode.

具体的には、配信毎に必要となるヘッダサイズおよび計算量は、排除形態が[c]、すなわち、[c.サブグループに含まれる契約者の一部のみが排除される場合]となるサブグループの数と、このようなサブグループにおいて排除される契約者の数によって大きく異なる。これらの値がとり得る全ての場合に関して述べることは不可能であるため、ここでは簡単に、排除形態が[c]であるサブグループ数をv(1≦v≦t)とし、このようなサブグループにおいて排除される契約者数はl'(エル')であるとする。   Specifically, the header size and calculation amount required for each distribution are set to [c], that is, [c. The case where only a part of the contractors included in the subgroup is excluded] greatly differs depending on the number of contractors excluded in such a subgroup. Since it is impossible to describe all cases that these values can take, here, simply, the number of subgroups whose exclusion form is [c] is v (1 ≦ v ≦ t), and such sub It is assumed that the number of subscribers excluded in the group is l ′ (El ′).

また、各サブグループに所属する契約者数n,...,nは各々異なる値とすることが可能であるが、簡単のため、n'=n=・・・=nとして各サブグループに所属する契約者数を等しいと仮定する。このとき、d'=d、m'=mとなる。以上の過程に基づいて配信毎に必要となるヘッダサイズは算出すると、
ヘッダサイズ={(t−v)(k+2)+v(m'+2)}logp
となり、ヘッダ生成時に必要となる計算量は、
O(max((t−v)logp,vm'logp,vm'logq))
となる。
Moreover, subscribers n 1 belonging to each subgroup, ..., a n Z but is capable of with each different value, for simplicity, n '= n 1 = ··· = n Z Assume that the number of contractors belonging to each subgroup is equal. At this time, d ′ = d Z and m ′ = m Z. Based on the above process, calculating the header size required for each delivery,
Header size = {(t−v) (k + 2) + v (m ′ + 2)} logp
The amount of calculation required when generating the header is
O (max ((t−v) log 3 p, vm′log 3 p, vm ′ 2 log 2 q))
It becomes.

ここで、分割数tおよびセキュリティパラメータkはセンタが鍵生成フェーズにおいて決定する値であり、以降変更されない値である。よって配信時に最も影響するのは、排除形態が[c.サブグループに含まれる契約者の一部のみが排除される場合]のサブグループの数vおよび排除用多項式F(x)の次数m'となる。 Here, the division number t and the security parameter k are values determined by the center in the key generation phase and are not changed thereafter. Therefore, the most significant influence during distribution is that the exclusion form [c. In the case where only a part of the contractors included in the subgroup is excluded], the number of subgroups v and the degree m ′ of the elimination polynomial F Z (x) are obtained.

このサブグループ設定を伴う処理例では、排除用多項式F(x)を、排除されていない契約者のIDに対しては0を出力し、排除された契約者のIDに対してはその値に対応するF(x)上の値を出力するように構成されているため、サブグループにおいて排除される契約者数が少ない場合、排除用多項式F(x)の次数m'が大きくなる。したがって、排除される契約者が複数のサブグループに少しずつ存在するような場合には、vおよびm'の両方ともが大きな値となり、ヘッダサイズおよびヘッダ生成時に必要となる計算量の両方とも大きな値となるという問題点が存在する。 In the processing example with this subgroup setting, the exclusion polynomial F Z (x) is output as 0 for the ID of the contractor who is not excluded, and the value for the ID of the excluded contractor. Since the value on F Z (x) corresponding to is output, if the number of contractors excluded in the subgroup is small, the degree m ′ of the exclusion polynomial F Z (x) increases. . Therefore, when there are a small number of excluded subscribers in a plurality of subgroups, both v and m ′ are large values, and both the header size and the calculation amount required for header generation are large. There is a problem of becoming a value.

また、ブラックボックス追跡においては、一人の容疑者のみを排除した追跡用ヘッダを生成する必要があるが、本処理例では排除用多項式F(x)を排除されない契約者に対しては0を出力するように構成しているため、追跡用ヘッダのヘッダサイズ並びにヘッダ生成時に必要となる計算量も大きくなる。さらに、ブラックボックス追跡はすべての契約者に対して実行されるため、全体として、一人の容疑者を検証するために必要となるヘッダサイズおよびヘッダ生成時に必要となる計算量のn倍となり、不正者の特定に時間が掛かるという問題点が存在する。 In the black box tracking, it is necessary to generate a tracking header that excludes only one suspect. In this processing example, 0 is set for a contractor who cannot exclude the exclusion polynomial F Z (x). Since it is configured to output, the header size of the tracking header and the amount of calculation required when generating the header also increase. In addition, since black box tracking is performed for all subscribers, the overall size of the header required to verify one suspect and the amount of computation required when generating the header is n times, which is illegal. There is a problem that it takes time to specify the person.

このように、サブグループ設定を伴う本処理例では、排除されている契約者が存在しない、もしくは特定少数のサブグループに固まって存在するような場合以外では、ヘッダサイズおよびヘッダ生成時に必要となる計算量が大きくなるという問題点が存在する。これは、コンテンツ配信において、配信毎に非常に大きなデータが必要であり、かつそのデータを作成するために非常に多くの計算が必要であることを意味している。また、ブラックボックス追跡においては、さらに多くのデータと計算が必要となるため、不正者の特定を行なう場合においても非常に多くの処理時間を要することになる。   As described above, in the present processing example with subgroup setting, the header size and the header generation are necessary except when there is no excluded contractor or when there is a fixed number of subgroups. There is a problem that the amount of calculation becomes large. This means that in content distribution, a very large amount of data is required for each distribution, and a great amount of calculations are required to create the data. Further, since more data and calculations are required in black box tracking, a very long processing time is required even when an unauthorized person is specified.

[4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理の詳細]
次に、上記問題点を解決する本発明に従ったコンテンツ配信およびブラックボックス追跡処理の詳細について説明する。本発明のコンテンツ配信およびブラックボックス追跡処理の特徴は、先に説明したように、
(1)コンテンツ受領者である契約者集合を単一のグループとして扱う
(2)k次の配信用多項式とは別にm(≧k)次の排除用多項式を用いることにより,k人以上の契約者排除を実現する
(3)個人秘密鍵および公開鍵を生成するために,センタがk次の配信用多項式を構成する
(4)特定の契約者を排除するために,配信者が配信毎にm次の排除用多項式を構成する
(5)配信者は,排除したい契約者IDに対しては0を出力し,それ以外の契約者IDに対しては0以外の各々異なる値を出力するように排除用多項式を構成する
(6)排除用多項式を(4)のように構成することにより、既存の方式(上述の特許文献1:特開2005−236963号に記載の処理)と比較して配信用ヘッダのヘッダサイズおよびヘッダ生成時に必要となる計算量の削減を可能とする
(7)排除用多項式を(4)のように構成することにより、既存の方式(特開2005−236963号)と比較して追跡用ヘッダのヘッダサイズおよびヘッダ生成時に必要となる計算量の削減を可能とする
これらの特徴を有する。
[4. Details of Content Distribution and Black Box Tracking Processing According to the Present Invention]
Next, details of content distribution and black box tracking processing according to the present invention for solving the above problems will be described. The features of the content distribution and black box tracking process of the present invention are as described above.
(1) Treating a set of subscribers who are content recipients as a single group (2) Contracting more than k people by using m (≧ k) degree exclusion polynomials in addition to k order distribution polynomials (3) The center constructs a k-th order distribution polynomial to generate a private secret key and public key. (4) In order to exclude a specific subscriber, (5) The distributor outputs 0 for the contractor ID to be excluded, and outputs different values other than 0 for the other contractor IDs. (6) By constructing the exclusion polynomial as shown in (4), compared to the existing method (the process described in Patent Document 1: Japanese Patent Laid-Open No. 2005-236963) Required for header size and header generation for delivery header (7) By configuring the elimination polynomial as in (4), the header size of the tracking header and the tracking header can be reduced as compared with the existing method (Japanese Patent Laid-Open No. 2005-236963). These features make it possible to reduce the amount of calculation required when generating headers.

以下、本発明に従ったコンテンツ配信およびブラックボックス追跡処理について、
(4.1)鍵生成処理、
(4.2)コンテンツ暗号化処理、
(4.3)コンテンツ復号処理、
(4.4)ブラックボックス追跡処理
これら4つの処理フェーズに分けて、順次説明する。
Hereinafter, regarding content distribution and black box tracking processing according to the present invention,
(4.1) Key generation processing,
(4.2) Content encryption processing,
(4.3) Content decryption processing,
(4.4) Black box tracking process The black box tracking process will be described in order divided into these four process phases.

鍵生成フェーズはセンタがシステム構成時に一度だけ実行し、暗号化フェーズはコンテンツ配信者、復号フェーズはコンテンツ利用者としての契約者が各々のコンテンツ配信毎に実行する。また、ブラックボックス追跡フェーズは、不正が発覚した時点で検証者によって実行される。検証者は通常センタとなるが、一切の秘密情報が不必要であるため、任意の第三者であってもよい。   The key generation phase is executed once by the center when the system is configured, the encryption phase is executed by the content distributor, and the decryption phase is executed by the contractor as the content user for each content distribution. The black box tracking phase is executed by the verifier at the time when fraud is detected. The verifier is usually a center, but since no secret information is necessary, it may be an arbitrary third party.

(4.1)鍵生成処理、
鍵生成処理は、コンテンツ配信システムの管理者であるセンタによって実行される。センタは、図14に示すフローチャートに従った処理を実行して、各契約者の個人秘密鍵および公開鍵を生成する。
(4.1) Key generation processing,
The key generation process is executed by a center that is an administrator of the content distribution system. The center executes processing according to the flowchart shown in FIG. 14 to generate the individual private key and public key of each contractor.

図14に示すフローチャートの各処理ステップの処理は、以下の通りである。
STEP41:大きな素数pおよびq|(p−1)かつq>n+k+1を満たす素数qを選択する。(契約者の総数をnとし、セキュリティパラメータをkとする)
STEP42:乗法群Z 上の1のq乗根gを選択する。
STEP43:センタの秘密鍵となるk+1個の値a,a,...,a∈Z をランダムに選択し、以下の様に配信用多項式f(x)を構成する。
f(x)=a+ax+・・・+amodq
STEP44:契約者i(i=1 ,...,n)に対して個別の値u∈Z を選択し、個人秘密鍵dを以下の様に構成する。
=(u,f(u))
The processing of each processing step in the flowchart shown in FIG. 14 is as follows.
STEP 41: Select a prime number q satisfying large prime numbers p and q | (p−1) and q> n + k + 1. (The total number of contractors is n, and the security parameter is k)
STEP 42: Select a q-th root g of 1 on the multiplicative group Z p * .
STEP 43: k + 1 values a 0 , a 1 ,..., A k ∈ Z q * which are secret keys of the center are selected at random, and a distribution polynomial f (x) is configured as follows.
f (x) = a 0 + a 1 x +... + a k x k modq
STEP 44: An individual value u i εZ q * is selected for the contractor i (i = 1,..., N), and the private secret key d i is configured as follows.
d i = (u i , f (u i ))

STEP45:契約者i(i=1 ,...,n)に対して、個人秘密鍵dを安全な通信路を用いて配布する。
STEP46:公開鍵eを以下の様に構成し、公開する。
e=(p,q,g,y,y,...,y
ただし、

Figure 0004867425
とする。 STEP45: contractor i (i = 1, ..., n) with respect to, a private secret key d i be distributed using a secure communication channel.
STEP 46: The public key e is configured and disclosed as follows.
e = (p, q, g, y 0 , y 1 , ..., y k )
However,
Figure 0004867425
And

このセンタによる鍵生成によって、図15に示すように、各契約者i(i=1,...,n)に対して個人秘密鍵di=(u,f(u))が提供されることになる。この本発明に従った鍵生成フェーズにおいて、前述の処理例(特許文献1:特開2005−236963号公報に記載の処理例)との主な違いは、契約者を複数のサブグループに分割しているか否かである。 With this key generation by the center, as shown in FIG. 15, a private secret key di = (u i , f (u i )) is provided to each contractor i (i = 1,..., N). Will be. In the key generation phase according to the present invention, the main difference from the above processing example (Patent Document 1: the processing example described in Japanese Patent Laid-Open No. 2005-236963) is that the contractor is divided into a plurality of subgroups. It is whether or not.

前述のサブグループ設定に基づく処理例(特許文献1:特開2005−236963号公報に記載の処理例)では、契約者を複数のサブグループに分割しているため、各サブグループに対応する値であるb(z=1 ,...,t)を生成し、これらの値を利用して、サブグループ毎に異なる配信用多項式f(x)を生成する必要があったが、図14に示すフローチャートに従った本発明の鍵生成処理シーケンスでは、契約者全体を一つのグループとして取り扱うため、上記のような各サブグループに対応する値:b(z=1 ,...,t)を生成する必要がなく、唯一の配信用多項式f(x)を生成するのみでよい。従って、計算量が削減され、効率的な鍵生成が可能となる。 In the processing example based on the above-described subgroup setting (Patent Document 1: processing example described in Japanese Patent Application Laid-Open No. 2005-236963), since the contractor is divided into a plurality of subgroups, a value corresponding to each subgroup. B Z (z = 1,..., T) is generated, and these values are used to generate a different distribution polynomial f Z (x) for each subgroup. In the key generation processing sequence according to the present invention according to the flowchart shown in FIG. 14, since the entire contractor is handled as one group, values corresponding to the respective subgroups as described above: b Z (z = 1,... It is not necessary to generate t), and it is only necessary to generate a single distribution polynomial f (x). Therefore, the amount of calculation is reduced, and efficient key generation becomes possible.

(4.2)コンテンツ暗号化処理
次に、契約者に提供するコンテンツの暗号化処理について説明する。本発明に従った処理例では、コンテンツ配信者は、図16に示すように、上述した鍵生成処理において生成された個人秘密鍵di=(u,f(u))に対して、暗号化コンテンツCと、各サブグループに対応する配信用ヘッダhを生成して配信する。
(4.2) Content Encryption Processing Next, content encryption processing provided to the contractor will be described. In the processing example according to the present invention, the content distributor encrypts the private secret key di = (u i , f (u i )) generated in the above key generation processing as shown in FIG. Content C and a distribution header h corresponding to each subgroup are generated and distributed.

ヘッダhは、暗号化コンテンツCの復号処理に適用するセッション鍵sの暗号化データを含む情報であり、コンテンツの利用を許容された契約者の有する個人秘密鍵による復号処理によってセッション鍵sを取得でき、排除契約者の有する個人秘密鍵による復号処理によってはセッション鍵sを取得できない設定とされる。従って、コンテンツ利用の排除者の設定によって、ヘッダhの生成方法は異なってくる。コンテンツ配信者は、図17に示すフローチャートに従い、ヘッダhおよび暗号文Cを生成して配信する。図17に示すフローチャートを参照して、契約者に提供するデータ(暗号化コンテンツCと、配信用ヘッダh)の生成処理、送信シーケンスについて説明する。   The header h is information including the encrypted data of the session key s applied to the decryption process of the encrypted content C, and the session key s is obtained by the decryption process using the personal secret key possessed by the contractor permitted to use the content. The session key s cannot be obtained by the decryption process using the private secret key of the exclusion contractor. Therefore, the method for generating the header h differs depending on the setting of the content use excluder. The content distributor generates and distributes the header h and the ciphertext C according to the flowchart shown in FIG. With reference to the flowchart shown in FIG. 17, the generation process and transmission sequence of data (encrypted content C and distribution header h) provided to the contractor will be described.

図17に示すフローチャートに従った処理は、コンテンツ配信者の情報処理装置において実行される。情報処理装置の具体的なハードウェア構成については、後段で説明するが、基本的には、コンテンツ配信者の情報処理装置は、データ処理部としてのCPUを有し、以下において説明するフローチャートに従ったデータ処理シーケンスを記述したプログラム、データ処理に必要なパラメータ、鍵情報などを格納した記憶部、暗号処理部、乱数生成部などを構成要素として持つ情報処理装置である。   The process according to the flowchart shown in FIG. 17 is executed in the information processing apparatus of the content distributor. The specific hardware configuration of the information processing apparatus will be described later. Basically, the information processing apparatus of the content distributor has a CPU as a data processing unit, and follows the flowchart described below. This is an information processing apparatus having as constituent elements a program that describes a data processing sequence, a storage unit that stores parameters necessary for data processing, key information, and the like, a cryptographic processing unit, and a random number generation unit.

図17に示すフローチャートの各処理ステップにおいて実行する処理は、以下の処理となる。
STEP51:排除したいl(エル)人の契約者ID:x ,...,x(x1からxエル(l))を選択する。
STEP52:排除したいl(エル)人の契約者に対して、d、mを以下のように計算する。

Figure 0004867425
また、m=d(k+1)+kとする。 The processing executed in each processing step of the flowchart shown in FIG. 17 is the following processing.
STEP 51: Select a subscriber ID of an l person to be excluded: x 1 ,..., X 1 (x1 to xel (l)).
STEP 52: d and m are calculated as follows for l subscribers to be excluded.
Figure 0004867425
Further, m = d (k + 1) + k.

STEP53:l<mならばSTEP54に進む。そうでなければSTEP55に進む。
STEP54:

Figure 0004867425
をランダムに選択する。 STEP53: If l <m, proceed to STEP54. Otherwise, go to STEP55.
STEP54:
Figure 0004867425
Select at random.

STEP55:r∈Z をランダムに選択する。
STEP56:以下の式を満たすc,...,c∈Z を計算し、F(x)を排除用多項式とする。
F(x)=r(x−x)・・・(x−x)modq=c+cx+・・・cmodq=0
STEP 55: rεZ q * is selected at random.
STEP 56: Calculate c 0 ,..., C m εZ q * satisfying the following expression, and let F (x) be an exclusion polynomial.
F (x) = r (x−x 1 )... (Xx m ) modq = c 0 + c 1 x +... C m x m modq = 0

STEP57:R,...,R∈Z をランダムに選択し、h0,0,・・・,h0,dを以下のように計算する。

Figure 0004867425
STEP 57: R 0 ,..., R d εZ q * are selected at random, and h 0,0 ,..., H 0, d are calculated as follows.
Figure 0004867425

STEP58:契約者自身のIDに対応するF(x)上の点をgの指数部で計算するためのm+1個の情報
1,0,・・・,h1,mを以下のように計算する。

Figure 0004867425
STEP58: m + 1 pieces of information for calculating a point on F (x) corresponding to the contractor's own ID in the exponent part of g h 1,0 ,..., H 1, m are calculated as follows: To do.
Figure 0004867425

STEP59:セッション鍵sを以下のように計算し、暗号文C=E(M)を構成する。
s=gmodp
STEP60:ヘッダhを以下のように構成し、暗号文Cと共に送信する。

Figure 0004867425
STEP 59: The session key s is calculated as follows, and the ciphertext C = E S (M) is constructed.
s = g r modp
STEP 60: The header h is configured as follows and transmitted together with the ciphertext C.
Figure 0004867425

契約者に提供するヘッダhは、以下のように設定される。
h=(x,...,x,h1,0,...,h1,m,h0,0,...,h0,d
すなわち、
契約者が自身のIDに対応するF(x)上の点を計算するためのm個の情報[h1,0,...,h1,m]と、
F(x)と比が異なる多項式を構成するための情報として、排除された契約者のID[x,...,x]と、
d+1個の乱数[h0,0,...,h0,d
を持つ設定としている。
The header h provided to the contractor is set as follows.
h = (x 1, ..., x m, h 1,0, ..., h 1, m, h 0,0, ..., h 0, d)
That is,
M pieces of information [h 1,0 , ..., h 1, m ] for the contractor to calculate a point on F (x) corresponding to his / her ID;
As information for constructing a polynomial having a ratio different from F (x), the ID [x 1 ,..., X m ] of the excluded contractor,
d + 1 random numbers [h 0,0 , ..., h 0, d ]
Is set to have.

上述した処理によって、暗号化コンテンツCと、配信用ヘッダhが生成され契約者に対して送信される。先に説明したサブグループ設定に基づく処理例(特許文献1:特開2005−236963号公報に記載の処理例)では、例えば、[c.サブグループに含まれる契約者の一部のみが排除される場合]の処理において、図11に示すフローのSTEP15−c1で排除されない契約者のIDを選択し、STEP15−c5において、これらのIDに対しては0を出力し、それ以外のIDに対してはそのIDに対応する各々異なる値を出力するような排除用多項式F(x)を生成する構成としていた。 Through the above-described processing, the encrypted content C and the distribution header h are generated and transmitted to the contractor. In the processing example based on the subgroup setting described above (Patent Document 1: Processing example described in Japanese Patent Laid-Open No. 2005-236963), for example, [c. In the case where only a part of the contractors included in the subgroup is excluded], the subscriber IDs that are not excluded in STEP15-c1 of the flow shown in FIG. 11 are selected, and these IDs are selected in STEP15-c5. For the other IDs, an exclusion polynomial F Z (x) is generated so that different values corresponding to the IDs are output.

これに対して本発明の処理例では、図17に示すフローのSTEP51において、排除される契約者のIDを選択し、STEP55において、これらのIDに対しては0を出力し、それ以外のIDに対してはそのIDに対応する各々異なる値を出力するような排除用多項式F(x)を生成する構成である。   On the other hand, in the processing example of the present invention, the contractor IDs to be excluded are selected in STEP 51 of the flow shown in FIG. 17, and 0 is output for these IDs in STEP 55, and the other IDs. For this, an exclusion polynomial F (x) that outputs different values corresponding to the IDs is generated.

さらに、前述のサブグループ設定に基づく処理例で生成するヘッダは、契約者が自身のIDに対応する排除用多項式上の点を計算するためのm+1個の情報と乱数情報からなるヘッダであるが、本発明では、契約者に提供するヘッダhは、以下のように設定される。
h=(x,...,x,h1,0,...,h1,m,h0,0,...,h0,d
Furthermore, the header generated in the processing example based on the above-described subgroup setting is a header composed of m Z +1 pieces of information and random number information for the contractor to calculate a point on the exclusion polynomial corresponding to its own ID. However, in the present invention, the header h provided to the contractor is set as follows.
h = (x 1, ..., x m, h 1,0, ..., h 1, m, h 0,0, ..., h 0, d)

すなわち、本発明の全契約者を単一グループとみなす処理例では、排除される契約者のIDに関する情報[x,...,x]と、契約者が自身のIDに対応する排除用多項式上の点を計算するためのm個の情報[h1,0,...,h1,m]、およびd+1個の乱数情報[h0,0,...,h0,d]によりヘッダを構成している。 That is, in the processing example in which the entire subscriber considered as a single group of the present invention, information about the ID of the subscriber to be eliminated [x 1, ..., x m ] and subscribers correspond to its own ID exclusion m pieces of information to calculate a point on use polynomial [h 1,0, ..., h 1 , m], and d + 1 random numbers information [h 0,0, ..., h 0 , d ] Constitutes a header.

本発明におけるコンテンツ配信側の情報処理装置において実行する処理について、まとめて説明する。コンテンツ配信側の情報処理装置は、暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報の生成処理を実行するデータ処理部を有し、データ処理部において、契約者側のユーザ装置が保持するユーザ固有情報中、排除ユーザ以外の非排除ユーザの保持するユーザ固有情報を適用した場合にのみ復号鍵情報の取得を可能としたヘッダ情報の生成処理を実行する。具体的には、ユーザ固有情報に含まれるユーザID中、排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を適用した復号鍵算出式を含むヘッダ情報の生成処理を実行する。   Processing executed in the information processing apparatus on the content distribution side in the present invention will be described collectively. The information processing apparatus on the content distribution side has a data processing unit that executes a process of generating header information including decryption key information applied to decryption of the encrypted content, and is held by the user device on the contractor side in the data processing unit In the user specific information to be executed, header information generation processing that enables acquisition of the decryption key information is executed only when user specific information held by a non-excluded user other than the excluded user is applied. Specifically, among the user IDs included in the user-specific information, 0 is output when the excluded user ID corresponding to the excluded user is substituted, and each when the non-excluded user ID corresponding to the non-excluded user is substituted. A header information generation process including a decryption key calculation formula to which a polynomial F (x) that outputs different values corresponding to IDs is applied is executed.

すなわち、コンテンツ配信側の情報処理装置のデータ処理部は、
ユーザIDに対応するF(x)上の点を計算するためのm個の情報[h1,0,...,h1,m]と、
排除ユーザID[x,...,x]と、
を含むヘッダ情報の生成処理を実行し、
契約者側のユーザ装置側において保持するユーザ固有情報としてのユーザIDと、個人秘密鍵と、ヘッダ情報に含まれる排除ユーザID[x,...,x]と、ユーザ装置側において取得可能な管理センタ対応の公開鍵情報と、ヘッダに含まれる乱数情報を適用した演算処理に基づいて非排除ユーザにおいてのみ復号鍵情報の取得を可能としたヘッダ情報の生成処理を実行する。
That is, the data processing unit of the information processing apparatus on the content distribution side
M pieces of information [h 1,0 , ..., h 1, m ] for calculating a point on F (x) corresponding to the user ID;
Excluded user ID [x 1 , ..., x m ],
Execute header information generation processing including
User ID as user-specific information held on the user device side on the contractor side, personal secret key, excluded user ID [x 1 ,..., X m ] included in the header information, and acquired on the user device side Based on the public key information corresponding to the possible management center and the calculation process using the random number information included in the header, a generation process of header information that enables only the non-exclusion user to acquire the decryption key information is executed.

さらに、具体的には、コンテンツ配信側の情報処理装置のデータ処理部は、復号鍵情報をセッション鍵sとして生成する構成であり、
p :乗法群の法となる大きな素数、
:乗法群であり、Zかつpと互いに素な整数の集合、
q :q|(p−1)かつq>n+k+1を満たす素数、
g :Z 上の1のq乗根、
の設定として、セッション鍵sの算出式を、
s=gmodp
として設定し、セッション鍵s算出式に上述の多項式F(x)を含める構成としたヘッダ情報の生成処理を実行する。
Furthermore, specifically, the data processing unit of the information processing apparatus on the content distribution side is configured to generate the decryption key information as the session key s.
p: a large prime number modulo the multiplicative group,
Z p * : a multiplicative group, a set of integers that are relatively prime to Z p and p,
q: a prime number satisfying q | (p−1) and q> n + k + 1,
g: q root of 1 on Z p *
As the setting of the session key s
s = g r modp
And the header information generation process configured to include the above-described polynomial F (x) in the session key s calculation formula is executed.

すなわち、多項式F(x)を適用した式[F(x)/r]の逆元[(F(x)/r)−1]を、セッション鍵s算出式:s=gmodpの指数部rの構成要素とした設定のセッション鍵算出式を生成する。具体的には、指数部rの構成データとして、
ユーザIDをu
排除ユーザに対応する排除ユーザIDをx〜x
としたとき、
{(u−x)・・・(u−x)}−1={(F(x)/r)−1
の関係式を満足するセッション鍵算出式を生成する。
That is, the inverse element [(F (x) / r) −1 ] of the formula [F (x) / r] to which the polynomial F (x) is applied is expressed as an exponent part of the session key s calculation formula: s = g r modp A session key calculation formula for setting as a component of r is generated. Specifically, as the constituent data of the exponent part r,
U i ,
Excluded user IDs corresponding to the excluded users are x 1 to x m ,
When
{(U i -x 1 ) ... (u i -x m )} -1 = {(F (x) / r) -1 }
A session key calculation formula that satisfies the relational expression is generated.

コンテンツ配信側の情報処理装置は、このような構成を持つヘッダ情報と、暗号化コンテンツを契約者としてのユーザ装置に例えば通信部を介して送信する処理を実行する。   The information processing apparatus on the content distribution side performs processing for transmitting the header information having such a configuration and the encrypted content to the user apparatus as a contractor via, for example, a communication unit.

(4.3)コンテンツ復号処理
次に、コンテンツ配信者から、暗号文Cとヘッダhを受信した契約者において実行するコンテンツ復号処理について図18に示すフローチャートを参照して説明する。
(4.3) Content Decryption Processing Next, content decryption processing executed by the contractor who has received the ciphertext C and the header h from the content distributor will be described with reference to the flowchart shown in FIG.

図18に示すフローチャートに従った処理は、コンテンツ受領者としての契約者(ユーザ)の情報処理装置において実行される。情報処理装置の具体的なハードウェア構成については、後段で説明するが、基本的には、契約者(ユーザ)の情報処理装置は、データ処理部としてのCPUを有し、以下において説明するフローチャートに従ったデータ処理シーケンスを記述したプログラム、データ処理に必要なパラメータ、鍵情報などを格納した記憶部、暗号処理部、乱数生成部などを構成要素として持つ情報処理装置である。記憶部には、ユーザID、個人秘密鍵、センタ公開鍵など、ヘッダ情報の処理や、コンテンツ復号に適用する各種の情報が格納されている。   The process according to the flowchart shown in FIG. 18 is executed in an information processing apparatus of a contractor (user) as a content recipient. The specific hardware configuration of the information processing apparatus will be described later, but basically, the information processing apparatus of the contractor (user) has a CPU as a data processing unit, and is a flowchart described below. The information processing apparatus includes a program that describes a data processing sequence according to the above, a storage unit that stores parameters necessary for data processing, key information, an encryption processing unit, a random number generation unit, and the like as components. The storage unit stores various types of information applied to header information processing and content decryption, such as a user ID, personal secret key, and center public key.

図18に示すフローのステップの処理は、以下の通りである。
STEP61:個人秘密鍵d=(u,f(u))と、
ヘッダh=(x,...,x,h1,0,...,h1,m,h0,0,...,h0,d)と、
公開鍵e=(p,q,g,y,y,...,y)を適用して、以下の計算により、セッション鍵s=gmodpを取得する。

Figure 0004867425
The processing of the steps in the flow shown in FIG. 18 is as follows.
STEP 61: Private secret key d i = (u i , f (u i ))
Header h = (x 1 , ..., x m , h 1,0 , ..., h 1, m , h 0,0 , ..., h 0, d ),
By applying the public key e = (p, q, g, y 0 , y 1 ,..., Y k ), the session key s = g r modp is obtained by the following calculation.
Figure 0004867425

STEP62:セッション鍵sを用いて平文Mを以下の様に復号する。
M=D(C)
STEP 62: The plaintext M is decrypted as follows using the session key s.
M = D S (C)

上記処理によって、ヘッダおよび暗号文を受領した契約者は、ヘッダからセッション鍵sを取得して、取得したセッション鍵sを適用した暗号文Cの復号処理によってコンテンツを取得する。   The contractor who has received the header and the ciphertext through the above processing acquires the session key s from the header, and acquires the content by decrypting the ciphertext C to which the acquired session key s is applied.

本発明の処理例では、先に図17を参照して説明したように、暗号化フェーズにおいて、排除用多項式F(x)を排除された契約者のIDに対しては0を出力し、それ以外の契約者IDに対してはそのIDに対応する各々異なる値を出力するように構成している。   In the processing example of the present invention, as described above with reference to FIG. 17, in the encryption phase, 0 is output for the ID of the contractor from which the exclusion polynomial F (x) is excluded, For different contractor IDs, different values corresponding to the IDs are output.

さらに、契約者に提供するヘッダhは、前述したように以下のように設定される。
h=(x,...,x,h1,0,...,h1,m,h0,0,...,h0,d
すなわち、
契約者が自身のIDに対応するF(x)上の点を計算するためのm個の情報[h1,0,...,h1,m]と、
F(x)と比が異なる多項式[F(x)/r]を構成するための情報として、排除された契約者のID[x,...,x]を持つ設定としている。
Furthermore, the header h provided to the contractor is set as follows as described above.
h = (x 1, ..., x m, h 1,0, ..., h 1, m, h 0,0, ..., h 0, d)
That is,
M pieces of information [h 1,0 , ..., h 1, m ] for the contractor to calculate a point on F (x) corresponding to his / her ID;
As information for forming a polynomial [F (x) / r] having a ratio different from that of F (x), the setting is made to have the excluded contractor IDs [x 1 ,..., X m ].

このため、排除された契約者(u=x〜xl(エル))は、STEP61における計算の指数部が、

Figure 0004867425
となりSTEP61における計算が不可能となり、セッション鍵sを取得することができない。 For this reason, the excluded contractor (u i = x 1 to x 1 (el) ) has an exponent part of calculation in STEP 61,
Figure 0004867425
Thus, the calculation in STEP 61 becomes impossible and the session key s cannot be acquired.

一方、排除されていない契約者(u≠x〜xl(エル))は、

Figure 0004867425
となるため、STEP61における計算が可能となり、正しいセッション鍵sを取得することができる。 On the other hand, non-excluded subscribers (u i ≠ x 1 to x 1 (el) )
Figure 0004867425
Therefore, calculation in STEP 61 becomes possible, and the correct session key s can be acquired.

本発明におけるコンテンツ受信側の情報処理装置において実行する処理について、まとめて説明する。コンテンツ受信側の情報処理装置は、ユーザIDと個人秘密鍵とを格納した記憶部と、データ処理部を有しており、データ処理部では、暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報を入力して、ヘッダ情報に対して、ユーザIDと個人秘密鍵とを適用したデータ処理を実行して、復号鍵情報の取得処理を実行する。すなわち、データ処理部は、排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含むヘッダ情報に対して、ユーザIDと個人秘密鍵とを適用したデータ処理を実行して、復号鍵情報の取得処理を実行する。   Processing executed in the information processing apparatus on the content receiving side in the present invention will be described collectively. The information processing apparatus on the content receiving side includes a storage unit storing a user ID and a personal secret key, and a data processing unit, and the data processing unit includes decryption key information applied to decryption of the encrypted content. The header information is input, the data processing in which the user ID and the personal secret key are applied to the header information is executed, and the decryption key information acquisition processing is executed. That is, the data processing unit outputs 0 when the excluded user ID corresponding to the excluded user is substituted, and outputs a different value corresponding to each ID when the non-excluded user ID corresponding to the non-excluded user is substituted. For the header information including the polynomial F (x) to be performed, the data processing using the user ID and the personal secret key is executed, and the decryption key information acquisition processing is executed.

具体的には、コンテンツ利用を行なうユーザ側の情報処理装置のデータ処理部は、ユーザIDに対応するF(x)上の点を計算するためのm個の情報[h1,0,...,h1,m]と、排除ユーザID[x,...,x]とを含むヘッダ情報を入力し、ユーザIDと個人秘密鍵と、ヘッダ情報に含まれる排除ユーザID[x,...,x]、さらに、管理センタ対応の公開鍵情報と、ヘッダに含まれる乱数情報を適用した演算処理に基づいて、復号鍵情報の取得処理を実行する。 Specifically, the data processing unit of the information processing apparatus on the user side that uses the content uses m pieces of information [h 1,0 ,... For calculating points on F (x) corresponding to the user ID. ., H 1, m ] and excluded user ID [x 1 ,..., X m ] are input, and the user ID, personal secret key, and excluded user ID [x included in the header information] 1 ,..., X m ], and further, decryption key information acquisition processing is executed based on arithmetic processing that applies public key information corresponding to the management center and random number information included in the header.

より、具体的には、コンテンツ利用を行なうユーザ側の情報処理装置のデータ処理部は、復号鍵情報であるセッション鍵sを算出する構成であり、
p :乗法群の法となる大きな素数、
:乗法群であり、Zかつpと互いに素な整数の集合、
q :q|(p−1)かつq>n+k+1を満たす素数、
g :Z 上の1のq乗根、
の設定において、セッション鍵sを、下記算出式、
s=gmodp
に従って算出する。
More specifically, the data processing unit of the information processing apparatus on the user side that uses the content is configured to calculate a session key s that is decryption key information.
p: a large prime number modulo the multiplicative group,
Z p * : a multiplicative group, a set of integers that are relatively prime to Z p and p,
q: a prime number satisfying q | (p−1) and q> n + k + 1,
g: q root of 1 on Z p *
In the setting of, the session key s is calculated by the following formula:
s = g r modp
Calculate according to

セッション鍵sの算出処理においては、多項式F(x)を適用した演算を実行する。すなわち、セッション鍵s算出式:s=gmodpの指数部rの算出処理として多項式F(x)を適用した式[F(x)/r]の逆元[(F(x)/r)−1]の演算を実行する。[(F(x)/r)−1]は、
記憶部に格納されたユーザIDをu
排除ユーザに対応する排除ユーザIDをx〜x
としたとき、
{(F(x)/r)−1}={(u−x)・・・(u−x)}−1
の関係を満たしており、コンテンツ利用を行なうユーザ側の情報処理装置のデータ処理部は、記憶部に格納されたユーザID:uを上記式{(u−x)・・・(u−x)}−1に代入して、{(F(x)/r)−1}の算出処理を実行する。
In the process of calculating the session key s, an operation applying the polynomial F (x) is executed. That is, an inverse element [(F (x) / r) of the expression [F (x) / r] to which the polynomial F (x) is applied as the calculation process of the exponent part r of the session key s: s = g r modp −1 ] is executed. [(F (x) / r) −1 ] is
U i , the user ID stored in the storage unit,
Excluded user IDs corresponding to the excluded users are x 1 to x m ,
When
{(F (x) / r) −1 } = {(u i −x 1 )... (U i −x m )} −1
The data processing unit of the information processing apparatus on the user side who uses the content uses the user ID: u i stored in the storage unit as expressed by the above expression {(u i −x 1 ) (u i −x m )} −1 and the calculation process of {(F (x) / r) −1 } is executed.

この処理によって、セッション鍵を取得できるのは、非排除ユーザのみとなり、結果としてセッション鍵を取得した非排除ユーザのみがセッション鍵sを適用してコンテンツを復号し、コンテンツを利用することができる。   By this process, only the non-exclusion user can acquire the session key, and as a result, only the non-exclusion user who acquired the session key can decrypt the content by using the session key s and use the content.

(4.4)ブラックボックス追跡処理
次に、上記した本発明に従った処理例におけるブラックボックス追跡処理について説明する。上述したコンテンツ配信システムにおいて、契約者が保持するユーザ鍵(個人秘密鍵)が故意または過失により露呈し、正規のユーザ装置である正規復号器と同じ動作を行う不正復号器が生成可能となり、この不正復号器において不正にセッション鍵sが取得されコンテンツが不正に利用される可能性がある。このような不正復号器による不正なコンテンツ利用を排除するための不正者追跡処理としてブラックボックス追跡処理が行なわれる。
(4.4) Black Box Tracking Process Next, the black box tracking process in the process example according to the present invention described above will be described. In the content distribution system described above, the user key (personal secret key) held by the contractor is revealed intentionally or negligently, and an illegal decryptor that performs the same operation as a regular decryptor that is a regular user device can be generated. There is a possibility that the session key s is illegally acquired by the illegal decryptor and the content is illegally used. A black box tracking process is performed as an unauthorized person tracking process for eliminating such unauthorized use of content by an unauthorized decoder.

検証者は、公開鍵eおよび契約者のIDを利用して追跡用ヘッダを生成し、これを不正復号器に入力する。また、不正復号器の出力から不正者のIDを特定する。検証者の実行するブラックボックス追跡処理シーケンスについて、図19に示すフローチャートを参照して説明する。   The verifier uses the public key e and the contractor ID to generate a tracking header and inputs it to the unauthorized decryptor. Further, the ID of the unauthorized person is specified from the output of the unauthorized decoder. A black box tracking processing sequence executed by the verifier will be described with reference to a flowchart shown in FIG.

図19に示すフローチャートに従った処理は、検証者の情報処理装置において実行される。情報処理装置の具体的なハードウェア構成については、後段で説明するが、基本的には、検証者の情報処理装置は、データ処理部としてのCPUを有し、以下において説明するフローチャートに従ったデータ処理シーケンスを記述したプログラム、データ処理に必要なパラメータ、鍵情報などを格納した記憶部、暗号処理部、乱数生成部などを構成要素として持つ情報処理装置である。データ処理部は、具体的にはヘッダ情報の生成処理を実行するヘッダ情報生成部と、ユーザ装置に対してヘッダおよび暗号化コンテンツを入力してその処理結果に基づいて不正者の特定を実行する不正者判定部とによって構成される。いずれもCPUにおいて以下において説明するフローチャートに従ったデータ処理シーケンスを記述したプログラムに従って処理が実行される。   The process according to the flowchart shown in FIG. 19 is executed in the information processing apparatus of the verifier. The specific hardware configuration of the information processing apparatus will be described later, but basically, the verifier's information processing apparatus has a CPU as a data processing unit and follows the flowchart described below. This is an information processing apparatus having a program describing a data processing sequence, a storage unit storing parameters necessary for data processing, key information, an encryption processing unit, a random number generation unit, and the like as components. Specifically, the data processing unit inputs a header and encrypted content to the user device, and executes identification of an unauthorized person based on the processing result. It is comprised by an unauthorized person determination part. In either case, the CPU executes processing according to a program describing a data processing sequence according to the flowchart described below.

図19に示すフローチャートの各ステップの処理は以下の通りである。
STEP71:j=1とする。
STEP72:Uより容疑者jのID:uを選択する。
STEP73:容疑者jのみを排除したヘッダを生成する。
STEP74:STEP73において生成したヘッダを追跡用ヘッダとし、暗号文Cとともに不正復号器に入力する。
STEP75:不正復号器からの出力であるM'を取得する。
STEP76:M'≠MならばSTEP77に進む。そうでなければSTEP78に進む。
STEP77:容疑者jを不正者として特定する。
STEP78:jにj+1を代入する。
STEP79:j=n+1ならば処理を完了する。そうでなければSTEP72に戻る。
これらの処理により、不正復号器から鍵を直接取り出すことなく不正者を特定可能となる。
The processing of each step in the flowchart shown in FIG. 19 is as follows.
STEP 71: j = 1.
STEP 72: Select suspect j's ID: u j from U.
STEP 73: A header from which only the suspect j is excluded is generated.
STEP 74: The header generated in STEP 73 is set as a tracking header, and is input to the illegal decryptor together with the ciphertext C.
STEP 75: Obtain M ′ which is an output from the illegal decoder.
STEP76: If M ′ ≠ M, proceed to STEP77. Otherwise, go to STEP78.
STEP 77: The suspect j is identified as an unauthorized person.
STEP 78: j + 1 is substituted for j.
STEP79: If j = n + 1, the process is completed. Otherwise, return to STEP72.
Through these processes, it is possible to identify an unauthorized person without directly extracting the key from the unauthorized decryptor.

本発明におけるブラックボックス追跡を実行する検証者の情報処理装置において実行する処理について、まとめて説明する。検証者の情報処理装置は、暗号化コンテンツの復号を実行するユーザ装置を検証して不正者特定処理を実行する情報処理装置であり、ヘッダ情報生成処理を実行するヘッダ情報生成部と、ヘッダ情報と暗号化コンテンツのユーザ装置における処理結果を検証する不正者判定部とを有する。   Processing executed in the information processing apparatus of the verifier that performs black box tracking in the present invention will be described together. The verifier information processing apparatus is an information processing apparatus that verifies a user device that executes decryption of encrypted content and executes an unauthorized person identification process, and includes a header information generation unit that executes header information generation processing, and header information And an unauthorized person determination unit that verifies the processing result of the encrypted content in the user device.

ヘッダ情報生成部は、暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報であり、不正者として推定される容疑者を排除ユーザとして、該排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を適用した復号鍵算出式を含むヘッダ情報を生成する。   The header information generation unit is header information including decryption key information applied to decryption of the encrypted content, and when the suspect suspected as an unauthorized person is excluded as an excluded user, an excluded user ID corresponding to the excluded user is substituted When 0 is output to and a non-exclusion user ID corresponding to a non-exclusion user is substituted, header information including a decryption key calculation formula applying a polynomial F (x) that outputs a different value corresponding to each ID is generated. To do.

不正者判定部は、ヘッダ情報生成部において生成したヘッダ情報と暗号化コンテンツをユーザ装置に入力し、該ユーザ装置に格納されたユーザIDを含むユーザ固有情報を適用したヘッダ情報および暗号化コンテンツの処理結果を検証し、復号コンテンツが取得されない場合に、容疑者を不正者と判定する処理を実行する。   The fraudster determination unit inputs the header information and the encrypted content generated by the header information generation unit to the user device, and applies the header information and the encrypted content to which the user specific information including the user ID stored in the user device is applied. The processing result is verified, and when the decrypted content is not acquired, processing for determining the suspect as an unauthorized person is executed.

ヘッダ情報生成部は、
ユーザIDに対応するF(x)上の点を計算するためのm個の情報[h1,0,...,h1,m]と、
排除ユーザID[x,...,x]と、
を含むヘッダ情報の生成処理を実行し、
ユーザ装置側において保持するユーザ固有情報としてのユーザIDと、個人秘密鍵と、前記ヘッダ情報に含まれる排除ユーザID[x,...,x]と、ユーザ装置側において取得可能な管理センタ対応の公開鍵情報と、ヘッダに含まれる乱数情報を適用した演算処理に基づいて、非排除ユーザにおいてのみ復号鍵情報の取得を可能としたヘッダ情報の生成処理を実行する。
The header information generator
M pieces of information [h 1,0 , ..., h 1, m ] for calculating a point on F (x) corresponding to the user ID;
Excluded user ID [x 1 , ..., x m ],
Execute header information generation processing including
User ID as user-specific information held on the user device side, personal secret key, excluded user ID [x 1 ,..., X m ] included in the header information, and management obtainable on the user device side Based on the calculation process that applies the public key information corresponding to the center and the random number information included in the header, a generation process of header information that enables only the non-exclusion user to acquire the decryption key information is executed.

また、ヘッダ情報生成部は、復号鍵情報をセッション鍵sとして生成する構成であり、
p :乗法群の法となる大きな素数、
:乗法群であり、Zかつpと互いに素な整数の集合、
q :q|(p−1)かつq>n+k+1を満たす素数、
g :Z 上の1のq乗根、
の設定として、前記セッション鍵sの算出式を、
s=gmodp
として設定し、
上記セッション鍵s算出式に前記多項式F(x)を含める構成としたヘッダ情報の生成処理を実行する。
The header information generation unit is configured to generate the decryption key information as the session key s.
p: a large prime number modulo the multiplicative group,
Z p * : a multiplicative group, a set of integers that are relatively prime to Z p and p,
q: a prime number satisfying q | (p−1) and q> n + k + 1,
g: q root of 1 on Z p *
As a setting of the session key s
s = g r modp
Set as
A header information generation process is performed in which the polynomial F (x) is included in the session key s calculation formula.

具体的には、ヘッダ情報生成部は、セッション鍵sの算出式を、多項式F(x)を適用した式[F(x)/r]の逆元[(F(x)/r)−1]を、前記セッション鍵s算出式、
s=gmodp
の指数部rの構成要素とした設定のセッション鍵算出式を生成する。具体的には、指数部rの構成データとして、ユーザIDをu
排除ユーザに対応する排除ユーザIDをx〜x
としたとき、
{(u−x)・・・(u−x)}−1={(F(x)/r)−1
の関係式を満足するセッション鍵算出式を生成する。
Specifically, the header information generation unit converts the formula for calculating the session key s into the inverse element [(F (x) / r) −1 of the formula [F (x) / r] to which the polynomial F (x) is applied. ] For calculating the session key s,
s = g r modp
A session key calculation formula that is set as a constituent element of the exponent part r is generated. Specifically, as the configuration data of the exponent part r, the user ID is u i ,
Excluded user IDs corresponding to the excluded users are x 1 to x m ,
When
{(U i -x 1 ) ... (u i -x m )} -1 = {(F (x) / r) -1 }
A session key calculation formula that satisfies the relational expression is generated.

ブラックボックス追跡を実行する検証者の情報処理装置は、このような構成を持つヘッダ情報と、暗号化コンテンツをユーザ装置に入力して、正規のコンテンツMが得られなければ、容疑者=排除ユーザであると判定し、容疑者が不正者であるとの結論を得る。   The verifier's information processing device that performs black box tracking inputs the header information having such a configuration and the encrypted content to the user device, and if the normal content M cannot be obtained, the suspect = exempt user And conclude that the suspect is a fraudster.

[5.本発明に従った処理と従来処理との相違点および本発明の処理の優位点]
次に、上述した各処理例、すなわち、
[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]と、
[4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理]
これら2つの処理の相違点および本発明の処理の優位点について説明する。
[5. Difference between processing according to the present invention and conventional processing and advantages of the processing of the present invention]
Next, each processing example described above, that is,
[3. Content distribution and black box tracking process based on subgroup settings]
[4. Content distribution and black box tracking process according to the present invention]
Differences between these two processes and advantages of the process of the present invention will be described.

(5.1)鍵生成フェーズの比較
まず鍵生成フェーズにおける相違点について述べる。鍵生成フェーズにおける主な違いは、契約者をサブグループに分割するか否かによって発生する違いである。[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]においては、先に説明したように、契約者を複数のサブグループに分割し、サブグループ毎に異なる配信用多項式を割り当てることによって、サブグループ単位での排除を実現している。
(5.1) Comparison of Key Generation Phase First, the differences in the key generation phase will be described. The main difference in the key generation phase is the difference that occurs depending on whether or not the contractor is divided into subgroups. [3. In the content distribution and black box tracking process based on the subgroup setting], as described above, the contractor is divided into a plurality of subgroups, and different distribution polynomials are assigned to the subgroups. Is eliminated.

このサブグループ単位の処理として、たとえば、先に、図5を参照して説明した鍵生成シーケンスのSTEP04において、契約者集合をt個のサブグループに分割し、さらにSTEP05において、各々のサブグループに対応する値b(z=1,...,t)を生成した後、サブグループ毎に異なる配信用多項式f(x)を生成する処理が必要となる。これに対して本発明の処理では、契約者集合を一つのグループとして取り扱うため、このような作業が発生しない。 As the processing in units of subgroups, for example, in STEP 04 of the key generation sequence described above with reference to FIG. 5, the set of contractors is divided into t subgroups, and in STEP05, each subgroup is divided. After generating the corresponding value b Z (z = 1,..., T), it is necessary to generate a different distribution polynomial f Z (x) for each subgroup. On the other hand, in the processing of the present invention, since the set of contractors is handled as one group, such work does not occur.

(5.2)暗号化および復号フェーズの比較
次に暗号化および復号フェーズにおける相違点ついて説明する。なお、[4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理]においては、任意の契約者排除を実現しているため、[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]における排除形態中の[c]、すなわち、[c.サブグループに含まれる契約者の一部のみが排除される]場合に相当する機能を有している。したがって以下では、[4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理]と、[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]における排除形態中の[c.サブグループに含まれる契約者の一部のみが排除される]場合との比較を行い、その相違点に関して説明する。
(5.2) Comparison of Encryption and Decryption Phase Next, differences in the encryption and decryption phases will be described. In addition, [4. In the content distribution and black box tracking process according to the present invention, since arbitrary contractor exclusion is realized, [3. [C] in the exclusion form in [Content distribution based on subgroup setting and black box tracking processing], that is, [c. Only a part of the contractors included in the subgroup is excluded]. Therefore, in the following, [4. Content distribution and black box tracking process according to the present invention] and [3. [C. Content distribution based on subgroup setting and black box tracking processing] in the exclusion form [c. Compared to the case where only a part of the contractors included in the subgroup is excluded], the difference will be explained.

[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]においては、図11のフローチャートを参照して説明した暗号化フェーズのSTEP15−c1において、排除されない契約者のIDを選択し、STEP15−c5において、これらのIDに対しては0を出力し、排除された契約者のIDに対してはそのIDに対応する各々異なる値を出力するように排除用多項式F(x)を構成している。 [3. In the content distribution and black box tracking process based on subgroup setting], in step 15-c1 of the encryption phase described with reference to the flowchart of FIG. 11, the ID of the contractor that is not excluded is selected, and in step 15-c5, The exclusion polynomial F Z (x) is configured so that 0 is output for these IDs, and different values corresponding to the IDs are output for the excluded contractor IDs.

[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]において契約者に提供されるヘッダhは、契約者が自身のIDに対応するF(x)の値を計算するためのm+1個の情報と乱数情報からなり、これを配信用ヘッダとして生成し、契約者に提供する構成である。 [3. The header h provided to the contractor in the content distribution and black box tracking process based on the subgroup setting] is m z +1 pieces for the contractor to calculate the value of F z (x) corresponding to his / her ID. It consists of information and random number information, which is generated as a distribution header and provided to the contractor.

[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]においては、このような排除用多項式F(x)および配信用ヘッダh構成を持ち、契約者は、復号フェーズにおいて、図12に示すフローチャートのSTEP21に示す算出式に従ってセッション鍵sを算出する。すなわち、

Figure 0004867425
を計算する。 [3. Content distribution based on subgroup setting and black box tracking processing] has such an exclusion polynomial F Z (x) and distribution header h configuration, and the contractor has the flowchart of FIG. The session key s is calculated according to the calculation formula shown in STEP 21. That is,
Figure 0004867425
Calculate

上記のセッション鍵算出式による演算において、契約者が排除されていなければF(u)=0よりセッション鍵sを取得可能となるが、排除されている場合にはF(u)≠0となりセッション鍵sを取得不可能となる。即ち、排除されない契約者は復号時に余分な値を削除可能であるが、排除された契約者はその値を削除不可能となるように排除用多項式、配信用ヘッダ、および復号時の計算方法を構成し、任意の契約者排除を実現している。 In the calculation based on the above session key calculation formula, if the contractor is not excluded, the session key s can be acquired from F Z (u i ) = 0, but if it is excluded, F Z (u i ) ≠ 0 and session key s cannot be acquired. That is, a contractor who is not excluded can delete an extra value at the time of decryption, but an excluded contractor uses an exclusion polynomial, a distribution header, and a calculation method at the time of decryption so that the value cannot be deleted. Configure and realize any contractor exclusion.

これに対して本発明の処理では、先に、図17のフローチャートを参照して説明したように、暗号化フェーズのSTEP51において、排除される契約者のIDを選択し、STEP55において、これらのIDに対しては0を出力し、排除されていない契約者のIDに対してはそのIDに対応する各々異なる値を出力するように排除用多項式F(x)を構成している。このように排除用多項式を構成することにより、排除される契約者数l(エル)が小さくなればなるほど、d、mの値が小さくなり、ヘッダサイズおよびヘッダ生成時に必要となる計算量が小さくなる。   On the other hand, in the processing of the present invention, as described above with reference to the flowchart of FIG. 17, the contractor IDs to be excluded are selected in STEP 51 of the encryption phase, and these IDs are selected in STEP 55. The exclusion polynomial F (x) is configured so that 0 is output for the ID of the contractor and different values corresponding to the ID are output for the IDs of the contractors that are not excluded. By constructing the exclusion polynomial in this way, the smaller the number of contracted parties l (el), the smaller the values of d and m, and the smaller the header size and the amount of calculation required for header generation. Become.

しかし、[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]と同様の配信用ヘッダおよび復号時の計算方法ではいかなる契約者も正しいセッション鍵を取得不可能となる。よって本発明ではこれを回避するために、STEP60におけるヘッダ設定処理において、ヘッダhを、以下のように設定している。
h=(x,...,x,h1,0,...,h1,m,h0,0,...,h0,d
すなわち、
契約者が自身のIDに対応するF(x)上の点を計算するためのm個の情報[h1,0,...,h1,m]と、
F(x)と比が異なる多項式を構成するための情報として、排除された契約者のID[x,...,x]と、
d+1個の乱数[h0,0,...,h0,d
を持つ設定としている。
However, [3. With the same distribution header and decryption calculation method as in the content distribution and black box tracking process based on subgroup setting, any contractor cannot obtain a correct session key. Therefore, in the present invention, in order to avoid this, the header h is set as follows in the header setting process in STEP60.
h = (x 1, ..., x m, h 1,0, ..., h 1, m, h 0,0, ..., h 0, d)
That is,
M pieces of information [h 1,0 , ..., h 1, m ] for the contractor to calculate a point on F (x) corresponding to his / her ID;
As information for constructing a polynomial having a ratio different from F (x), the ID [x 1 ,..., X m ] of the excluded contractor,
d + 1 random numbers [h 0,0 , ..., h 0, d ]
Is set to have.

さらに、契約者におけるヘッダhの処理、すなわち、コンテンツ復号のために行なわれるヘッダからのセッション鍵sの取得の計算を、図18に示すフローチャートのSTEP61に示す処理によって行なう構成としている。   Furthermore, the processing of the header h in the contractor, that is, the calculation for acquiring the session key s from the header performed for content decryption is performed by the processing shown in STEP 61 of the flowchart shown in FIG.

STEP61に示す本発明に従ったヘッダhからのセッション鍵sの取得計算に適用する式は、[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]において図12を参照して説明したSTEP21の計算結果に、契約者が自身のID[U]とヘッダに含まれる排除された契約者のID[x,...,x]から、排除用多項式F(x)と比だけが異なる多項式[F(x)/r]の逆元[(F(x)/r)−1]をべき乗した算出式である。この算出式に従ってセッション鍵sを計算する。 The expression applied to the acquisition calculation of the session key s from the header h according to the present invention shown in STEP 61 is [3. In the content distribution based on subgroup setting and black box tracking processing], the calculation result of STEP 21 described with reference to FIG. 12 includes the contractor's own ID [U i ] and the excluded contractor ID included in the header. From [x 1 ,..., X m ], an inverse element [(F (x) / r) −1 ] of a polynomial [F (x) / r] that differs only in the ratio from the exclusion polynomial F (x). This is a power calculation formula. The session key s is calculated according to this calculation formula.

このように排除用多項式F(x)と配信用ヘッダh、および復号時の計算方法を構成することにより、[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]とは逆に、排除された契約者(u=x〜xl(エル))はF(u)=0となるために、最終的にセッション鍵sを算出することができない。 Thus, by configuring the exclusion polynomial F (x), the distribution header h, and the calculation method at the time of decoding, [3. Contrary to the content distribution and black box tracking process based on the subgroup setting], the excluded subscribers (u i = x 1 to x 1 (el) ) have F (u i ) = 0, so Thus, the session key s cannot be calculated.

一方、排除されていない契約者(u≠x〜xl(エル))はF(u)≠0となるため、ヘッダから自身のIDに対応するF(u)上の点を計算し、さらに契約者が自身のIDとヘッダに含まれる排除された契約者のIDから、F(u)上の点と比だけが異なる多項式の逆元をべき乗することによって、正しいセッション鍵sを取得可能となる。 On the other hand, since the contractor (u i ≠ x 1 to x l (El) ) that has not been excluded becomes F (u i ) ≠ 0, the point on F (u i ) corresponding to its own ID is determined from the header. The correct session key is calculated by further calculating the power of the inverse element of the polynomial that differs only in the point and ratio on F (u i ) from the calculated contractor's own ID and the excluded contractor ID included in the header. s can be acquired.

本発明における配信用ヘッダのヘッダサイズは(2m+d+2)logpとなり、ヘッダ生成時に必要となる計算量はO(max(mlogp,mlogq))となる。 Header size of the distribution header in the present invention will become (2m + d + 2) logp next, the amount of calculation needed when the header generation O (max (mlog 3 p, m 2 log 2 q)).

(5.3)ブラックボックス追跡フェーズの比較
最後に、ブラックボックス追跡についての比較を行なう。ブラックボックス追跡フェーズでは、
[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]において、図13を参照して説明したブラックボックス追跡処理と、
[4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理]において、図19を参照して説明したブラックボックス追跡処理の両方とも、容疑者のみ排除された配信用ヘッダを追跡用ヘッダとして用いることによってブラックボックス追跡を実現している。
(5.3) Comparison of black box tracking phase Finally, a comparison is made regarding black box tracking. In the black box tracking phase,
[3. Content distribution based on subgroup setting and black box tracking process], the black box tracking process described with reference to FIG.
[4. In the content distribution and black box tracking process according to the present invention], both the black box tracking process described with reference to FIG. 19 uses the distribution header from which only the suspect is excluded as the tracking header. Tracking is realized.

これらの2つの処理において、手順として異なるのは[3]のブラックボックス追跡フェーズにおける図13のフローのSTEP33と、本発明[4]のブラックボックス追跡フェーズにおける図19のSTEP73である。ただし、[3]では容疑者が所属するサブグループを、排除形態が[c.サブグループに含まれる契約者の一部のみが排除される]のサブグループとし、それ以外のサブグループを排除形態が[a.サブグループに含まれる契約者が全員排除されない]サブグループとして追跡用ヘッダを生成する必要があるが、本発明では、サブグループごとの設定は不要であり、容疑者のみを排除した配信用ヘッダを追跡用ヘッダとして利用するのみでよい。   In these two processes, the procedure differs in STEP 33 of the flow of FIG. 13 in the black box tracking phase of [3] and STEP 73 of FIG. 19 in the black box tracking phase of the present invention [4]. However, in [3], the subgroup to which the suspect belongs belongs to the exclusion form [c. Only a part of the contractors included in the subgroup is excluded] and other subgroups are excluded [a. It is necessary to generate a tracking header as a subgroup. However, in the present invention, setting for each subgroup is not necessary, and a distribution header that excludes only suspects is required. It only needs to be used as a tracking header.

また、追跡用ヘッダの生成方法としても、[3]では排除されない契約者のIDに対しては0を出力するような排除用多項式を構成するのに対して、本発明では排除された契約者のIDに対して0を出力するような排除用多項式を構成しているため、その詳細な手順は暗号化フェーズにおける違いと同様の違いが生じる。   In addition, as a method for generating a tracking header, an exclusion polynomial that outputs 0 for a contractor ID that is not excluded in [3] is configured, whereas a contractor excluded in the present invention is used. Since the exclusion polynomial that outputs 0 for the ID of the ID is configured, the detailed procedure is similar to the difference in the encryption phase.

(5.4)本発明の処理の優位点について
次に、上述した比較に基づいて導きだされる本発明のコンテンツ配信およびブラックボックス追跡処理における優位点について説明する。[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]では、契約者集合を複数のサブグループに分割することによってサブグループ単位での契約者排除を実現すると共に、サブグループに含まれる一部の契約者排除には、排除されない契約者のIDに対しては0を出力し、排除される契約者のIDに対しては、そのIDに対応した各々異なる値を出力するような排除用多項式を利用することにより契約者排除を実現している。
(5.4) Advantages of the processing of the present invention Next, the advantages of the content distribution and black box tracking processing of the present invention derived from the above comparison will be described. [3. Content distribution based on sub-group settings and black box tracking processing] divides the contractor group into multiple subgroups, thereby eliminating contractors on a subgroup basis, and some contracts included in the subgroups For the exclusion of the contractor, an exclusion polynomial that outputs 0 for the ID of the contractor that is not excluded and outputs a different value corresponding to the ID for the ID of the contractor that is excluded is used. By doing so, the contractor is eliminated.

この処理構成によって効率のよいブラックボックス追跡を実現している。しかしながら、実際のコンテンツ配信時においては、契約者による契約の解除等、個々の契約者を排除する場合が多々存在するため、一部の契約者のみが排除されるサブグループが複数存在するという設定が最も発生しやすい。従って、ヘッダサイズならびにヘッダ生成時に必要となる計算量が増大し、効率の低下は避けられないことになる。   This processing configuration realizes efficient black box tracking. However, at the time of actual content distribution, there are many cases where individual contractors are excluded, such as cancellation of contracts by contractors, so there are multiple subgroups where only some contractors are excluded Is most likely to occur. Therefore, the header size and the amount of calculation required at the time of header generation increase, and a reduction in efficiency is inevitable.

さらに[3.サブグループ設定に基づく処理]では、一部の契約者のみが排除されるサブグループにおいて、排除されない契約者のIDを利用して排除用多項式を構成しているため、排除される契約者が多い場合でない限り、排除用多項式の次数m'が大きな値となり、ヘッダサイズおよびヘッダ生成時に必要となる計算量が増加するという問題点が存在する。   Furthermore, [3. In the processing based on the subgroup setting], in the subgroup in which only some contractors are excluded, since the exclusion polynomial is configured using the IDs of the contractors that are not excluded, there are many contractors that are excluded. Unless this is the case, there is a problem that the degree m ′ of the exclusion polynomial becomes a large value and the header size and the amount of calculation required for header generation increase.

これに対して[4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理]では、契約者集合を一つのグループとして扱っているため、排除される契約者が契約者集合のなかでどのように分布していても、排除される契約者数が同一であれば、ヘッダサイズおよびヘッダ生成時に必要となる計算量は同一となる。また、契約者排除には、排除される契約者のIDに対しては0を出力し、それ以外の契約者IDに対しては各々異なる値を出力するような排除用多項式を利用しているため、排除される契約者数が少ない場合にはヘッダサイズおよびヘッダ生成時に必要となる計算量が少なくなり、効率的にコンテンツを配信可能である。   On the other hand, [4. In the content distribution and black box tracking process according to the present invention], since the contractor set is treated as one group, it is excluded regardless of how distributed contractors are distributed in the contractor set. If the number of contracted subscribers is the same, the header size and the calculation amount required when generating the header are the same. In addition, for exclusion of contractors, an exclusion polynomial is used that outputs 0 for the contractor IDs to be excluded and outputs different values for the other contractor IDs. Therefore, when the number of contractors to be excluded is small, the header size and the amount of calculation required when generating the header are reduced, and the content can be distributed efficiently.

[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]と、[4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理]の各々における配信用ヘッダのヘッダサイズおよびヘッダ生成時において必要となる計算量について、以下の表1に示す。

Figure 0004867425
[3. Content distribution and black box tracking process based on subgroup setting], [4. Table 1 below shows the header size of the distribution header and the amount of calculation required when generating the header in each of the content distribution and black box tracking processing according to the present invention].
Figure 0004867425

さらに、[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]と、[4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理]の各々における追跡用ヘッダのヘッダサイズおよびヘッダ生成時において必要となる計算量について、以下の表2に示す。

Figure 0004867425
Furthermore, [3. Content distribution and black box tracking process based on subgroup setting], [4. Table 2 below shows the header size of the tracking header and the amount of calculation required when generating the header in each of the content distribution and black box tracking processing according to the present invention].
Figure 0004867425

まず、配信用ヘッダに関して、[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]と、[4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理]とを比較する。表1からも理解される通り、[4.本発明の処理]と[3.サブグループ設定処理]のヘッダサイズおよびヘッダ生成時に必要となる計算量では、セキュリティパラメータkのみならず、分割数t、一部の契約者のみが排除されるサブグループの数v、サブグループに含まれる契約者数n'、および一部の契約者のみが排除されるサブグループにおいて排除される契約者数l'(エル')の値によって、排除される契約者の総数l(エル)の条件が大きく異なる。   First, regarding the distribution header, [3. Content distribution and black box tracking process based on subgroup setting], [4. Content distribution and black box tracking process according to the present invention]. As understood from Table 1, [4. Processing of the present invention] and [3. In the subgroup setting processing] header size and calculation amount required for header generation, not only the security parameter k but also the division number t, the number v of subgroups in which only some contractors are excluded, and included in the subgroup The condition of the total number of contractors to be excluded l (el) by the value of the number of contractors n ′ to be excluded and the number of contractors to be excluded l ′ (el ′) in the subgroup in which only some contractors are excluded Are very different.

よって以下では、簡単のため、分割数t、サブグループに含まれる契約者数n'、および一部の契約者のみが排除されるサブグループにおいて排除される契約者数l'(エル')の値を固定し、一部の契約者のみが排除されるサブグループの数vの変化に伴う条件の変化に関して述べる。具体的には、
n=10000、
k=500、
t=10
とし、契約者の一部のみが排除されるサブグループに関しては、サブグループに含まれる一人の契約者のみが排除される、即ちl'(エル')=1とする。また、[3.サブグループ設定処理]において最も効率よく配信可能となる排除形態、すなわち、[b.サブグループに含まれる契約者が全員排除される]設定となるサブグループも必ず一つ存在するものとする。
Therefore, in the following, for the sake of simplicity, the division number t, the number of contractors n ′ included in the subgroup, and the number of contractors l ′ (el ′) excluded in the subgroup in which only some contractors are excluded A description will be given of a change in conditions accompanying a change in the number v of subgroups in which the value is fixed and only some contractors are excluded. In particular,
n = 10000,
k = 500,
t = 10
For the subgroup from which only a part of the contractors is excluded, only one contractor included in the subgroup is excluded, that is, l ′ (el ′) = 1. [3. In the subgroup setting process], the most efficient delivery is possible, that is, [b. It is assumed that there is always one subgroup that is set so that all contractors included in the subgroup are excluded.

このような条件の下で、サブグループの数v=1,...,10とした場合における[4.本発明の処理]と[3.サブグループ設定処理]とのヘッダサイズの比較データを図20に、ヘッダ生成時の計算量の比較データを図21に各々示す。   Under such conditions, the number of subgroups v = 1,. Processing of the present invention] and [3. FIG. 20 shows comparison data of the header size with the subgroup setting process], and FIG. 21 shows comparison data of the calculation amount at the time of header generation.

まず、図20について説明する。図20は、[3.サブグループ設定処理]におけるヘッダサイズと[4.本発明の処理]におけるヘッダサイズが等しくなる場合、即ち、{(t−v)(k+2)+v(m'+2)}−(2m+d+2)=0となる場合のv及びl(エル)の関係を表したものであり、その横軸及び縦軸は、それぞれサブグループの数v及び排除される契約者の総数l(エル)である。図20より、あるvの値において、排除される契約者の総数l(エル)がそのvの値における直線上のl(エル)の値よりも少ない場合には、[3.サブグループ設定処理]よりも、[4.本発明の処理]の方がヘッダサイズが少なくなることが分かる。また、vの値が増加するにつれ、排除される契約者数が少なければ少ないほど、本発明の方がヘッダサイズを少なくすることが可能であることがわかる。これは、コンテンツ配信時において、[3.サブグループ設定処理]よりも、[4.本発明の処理]の方がより少ないデータ量でコンテンツを配信可能であることを示している。   First, FIG. 20 will be described. FIG. 20 shows [3. Header size in [subgroup setting processing] and [4. When the header sizes in the processing of the present invention are equal, that is, {(t−v) (k + 2) + v (m ′ + 2)} − (2m + d + 2) = 0. The abscissa and ordinate represent the number v of subgroups and the total number of contractors to be excluded (el), respectively. As shown in FIG. 20, when the total number l (el) of contractors to be excluded is smaller than the value of l (el) on the straight line at the value v, [3. [4. Subgroup setting process]. It can be seen that the header size is smaller in the process of the present invention. It can also be seen that as the value of v increases, the smaller the number of contractors excluded, the smaller the header size can be in the present invention. This is because [3. [4. Subgroup setting process]. The processing of the present invention indicates that the content can be distributed with a smaller amount of data.

次に図21について説明する。図21は、[3.サブグループ設定処理]におけるヘッダ生成時に必要となる計算量と本発明におけるヘッダ生成時に必要となる計算量が等しくなる場合のv及びl(エル)の関係を表したものであり、その横軸及び縦軸は、それぞれサブグループの数v及び排除される契約者の総数l(エル)である。ただし、表1に示したように、[3.サブグループ設定処理]及び[4.本発明の処理]におけるヘッダ生成時に必要となる計算量は、p、q、m、m'、v及びtの値によって変動するため、ここでは一例として[3.サブグループ設定処理]及び[4.本発明の処理]におけるヘッダ生成時に必要となる計算量が、vm'logp及びmlogpとなる場合に関して、vm'−m=0となる場合の直線を示している。図21においても、ヘッダサイズの場合と同様に、あるvの値において、排除される契約者の総数l(エル)がそのvの値における直線上のl(エル)の値よりも少ない場合には、[3.サブグループ設定処理]よりも、[4.本発明の処理]の方がヘッダ生成時に必要となる計算量が少なくなることが分かる。また、vの値が増加するにつれ、排除される契約者数が少なければ少ないほど、本発明の方がヘッダ生成時に必要となる計算量を少なくすることが可能であることがわかる。これは、コンテンツ配信時において、配信者がより高速にヘッダを生成可能であることを示している。   Next, FIG. 21 will be described. FIG. 21 shows [3. The relationship between v and l (el) when the calculation amount required at the time of header generation in the subgroup setting process] and the calculation amount required at the time of header generation in the present invention are equal. The vertical axis represents the number v of subgroups and the total number of contractors to be excluded 1 (el). However, as shown in Table 1, [3. Subgroup setting process] and [4. The amount of calculation required for header generation in the processing of the present invention varies depending on the values of p, q, m, m ′, v, and t. Subgroup setting process] and [4. The straight line in the case of vm′−m = 0 is shown in the case where the calculation amount required at the time of header generation in the processing of the present invention is vm′logp and mlogp. In FIG. 21, as in the case of the header size, when the total number l (el) of contractors to be excluded is smaller than the value of l (el) on the straight line in the value v, as in the case of the header size. [3. [4. Subgroup setting process]. It can be seen that the processing according to the present invention requires less calculation amount when generating the header. It can also be seen that as the value of v increases, the smaller the number of contractors excluded, the smaller the amount of calculation required by the present invention for header generation. This indicates that the distributor can generate the header at a higher speed during content distribution.

次に、ブラックボックス追跡に関して比較する。表2からも分かる通り、攻撃者にとって最も構成しやすい不正復号器に対するブラックボックス追跡では、追跡用ヘッダに関するヘッダサイズおよびヘッダ生成時に必要となる計算量が配信用ヘッダに関するもののn倍となり、さらに[3]に関してはv=1となる。これは、全ての契約者に対して、契約者が容疑者であった場合についてのブラックボックス追跡を実施する必要があるためである。したがって、配信用ヘッダに関するヘッダサイズおよびヘッダ生成時に必要となる計算量の差が大きければ大きいほど、ブラックボックス追跡に必要となる追跡用ヘッダのヘッダサイズおよびヘッダ生成時に必要となる計算量の差が大きくなる。ただしこの場合においても、パラメータの設定次第で各値が大きく変化するため、配信用ヘッダに関する場合と同様に各パラメータを設定し、[3]と本発明との比較を行なう。   Next, a comparison will be made regarding black box tracking. As can be seen from Table 2, in the black box tracking for the illegal decoder that is most easily configured by the attacker, the header size related to the tracking header and the amount of calculation required at the time of header generation are n times that related to the distribution header. 3], v = 1. This is because it is necessary to carry out black box tracking for all contractors when the contractor is a suspect. Therefore, the larger the difference between the header size related to the header for delivery and the amount of calculation required at the time of header generation, the larger the difference between the header size of the header for tracking required for black box tracking and the amount of calculation required for header generation. growing. However, even in this case, since each value changes greatly depending on the parameter setting, each parameter is set as in the case of the distribution header, and [3] is compared with the present invention.

まずヘッダサイズに関しては、[3]において
n{(t−1)(k+2)+m'+2}=55210000
となるのに対して、本発明では
n(2m+d+2)=10020000
となり、[3]よりも非常に少ないデータ量でブラックボックス追跡を実現可能となることが分かる。
First, regarding the header size, in [3], n {(t−1) (k + 2) + m ′ + 2} = 55210000
In contrast, in the present invention, n (2m + d + 2) = 10020000
Thus, it is understood that black box tracking can be realized with a data amount much smaller than that in [3].

次にヘッダ生成時に必要となる計算量に関しては、[3]において
nm'=10010000、nm'=10020010000
となるのに対して、本発明では
nm=5000000、nm=2500000000
となり、これに関しても[3]より高速にブラックボックス追跡を実現可能であることが分かる。
Next, regarding the calculation amount required at the time of header generation, in [3], nm ′ = 10010000, nm ′ 2 = 10020010000
In contrast, in the present invention, nm = 5000000, nm 2 = 2,500,000,000
In this regard, it is understood that black box tracking can be realized at a higher speed than [3].

このように、[4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理]では、[3.サブグループ設定に基づくコンテンツ配信およびブラックボックス追跡処理]と比較して、より効率的なコンテンツ配信が実現されるとともに、効率的なブラックボックス追跡が実現される。   Thus, [4. In the content distribution and black box tracking process according to the present invention], [3. Compared with the content distribution and black box tracking processing based on the subgroup setting], more efficient content distribution is realized and efficient black box tracking is realized.

[6.情報処理装置の構成例]
次に、上述した[4.本発明に従ったコンテンツ配信およびブラックボックス追跡処理]において、鍵生成処理を実行するセンタの情報処理装置、ヘッダ生成、暗号文生成を伴うコンテンツ配信処理を実行する配信者の情報処理装置、ヘッダ、暗号文を受領して、セッション鍵の生成、暗号文の復号を実行する契約者の情報処理装置、およびブラックボックス追跡処理を実行する検証者の情報処理装置の装置構成例について、図22を参照して説明する。
[6. Configuration example of information processing apparatus]
Next, [4. In the content distribution and black box tracking process according to the present invention], the information processing apparatus of the center that executes the key generation process, the header information generation apparatus, the information processing apparatus of the distributor that executes the content distribution process with ciphertext generation, the header, FIG. 22 shows a configuration example of a contractor information processing apparatus that receives a ciphertext and generates a session key and decrypts the ciphertext, and a verifier information processing apparatus that executes a black box tracking process. To explain.

これらの情報処理装置は、例えば、PCなどの一般的なデータ処理装置において実現可能であり、それぞれの処理に対応した処理プログラムをメモリに格納し、CPU等の制御部において各処理プログラムを実行することで、それぞれの処理が実行される。   These information processing apparatuses can be realized in, for example, a general data processing apparatus such as a PC, store processing programs corresponding to the respective processes in a memory, and execute each processing program in a control unit such as a CPU. Thus, each process is executed.

すなわち、上述の実施例で述べた各処理は、ハードウェア、ソフトウェアの組み合わせにより実行可能な処理であり、汎用のコンピュータや、マイクロコンピュータにプログラムを実行させることにより行うことが可能である。各データ処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、例えば汎用のコンピュータや1チップのマイクロコンピュータ等にインストールされる。図22は、上述したデータ処理を実行するプログラムがインストールされるコンピュータの一実施形態としての構成例を示している。   That is, each process described in the above embodiment is a process that can be executed by a combination of hardware and software, and can be performed by causing a general-purpose computer or microcomputer to execute a program. When each data processing is performed by software, a program constituting the software is installed in, for example, a general-purpose computer or a one-chip microcomputer. FIG. 22 shows a configuration example as an embodiment of a computer in which a program for executing the data processing described above is installed.

図22に示す情報処理装置構成例は1つの例であり、各エンティティにおける情報処理装置は、ここに示すべての機能を必ずしも備えることが要求されるものではない。図22に示すCPU(Central processing Unit)501は、各種プログラムや、OS(Operating System)を実行するプロセッサである。ROM(Read-Only-Memory)502は、CPU501が実行するプログラム、あるいは演算パラメータとしての固定データを格納する。RAM(Random Access Memory)503は、CPU501の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。   The information processing apparatus configuration example shown in FIG. 22 is one example, and the information processing apparatus in each entity is not necessarily required to have all the functions shown here. A CPU (Central processing Unit) 501 shown in FIG. 22 is a processor that executes various programs and an OS (Operating System). A ROM (Read-Only-Memory) 502 stores a program executed by the CPU 501 or fixed data as calculation parameters. A RAM (Random Access Memory) 503 is used as a storage area and work area for programs executed in the processing of the CPU 501 and parameters that change as appropriate in the program processing.

HDD504はハードディスクの制御を実行し、ハードディスクに対する各種データ、プログラムの格納処理および読み出し処理を実行する。暗号処理手段505は、送信データの暗号処理、復号処理等を実行する暗号処理部あるいは復号処理部として機能する。なお、ここでは、暗号処理手段を個別モジュールとした例を示したが、このような独立した暗号処理モジュールを設けず、例えば暗号処理プログラムをROM502に格納し、CPU501がROM格納プログラムを読み出して実行するように構成してもよい。   The HDD 504 executes hard disk control, and executes various data and program storage processing and read processing for the hard disk. The encryption processing unit 505 functions as an encryption processing unit or a decryption processing unit that executes transmission data encryption processing, decryption processing, and the like. Although an example in which the cryptographic processing means is an individual module is shown here, such an independent cryptographic processing module is not provided, for example, a cryptographic processing program is stored in the ROM 502, and the CPU 501 reads and executes the ROM stored program. You may comprise.

メモリ(セキュアモジュール)506は例えば耐タンパ構造を持つメモリとして構成され、暗号処理に必要な鍵データ、非三津に保持すべきパラメータなどの格納領域として使用可能である。例えば、ユーザ側(契約者)の情報処理装置であれば、秘密鍵dを格納する記憶部として設定される。なお、データの一部は、他のメモリ領域、記憶媒体に格納することも可能であり、例えば公開鍵等の秘密に保持することの要求されないデータは、ハードディスク等に格納しても問題ない。 The memory (secure module) 506 is configured as a memory having a tamper-resistant structure, for example, and can be used as a storage area for key data necessary for cryptographic processing, parameters to be held in non-Mitsu, and the like. For example, if the information processing apparatus on the user side (subscriber), is set as a storage unit for storing a secret key d i. Part of the data can be stored in another memory area or storage medium. For example, data that is not required to be kept secret, such as a public key, can be stored in a hard disk or the like.

バス521はPCI(Peripheral Component Internet/Interface)バス等により構成され、各モジュール、入出力インタフェース122を介した各入手力装置とのデータ転送を可能にしている。   The bus 521 is constituted by a PCI (Peripheral Component Internet / Interface) bus or the like, and enables data transfer with each module and each available power device via the input / output interface 122.

入力部511は、例えばキーボード、ポインティングデバイス等によって構成され、CPU501に各種のコマンド、データを入力するためにユーザにより操作される。出力部512は、例えばCRT、液晶ディスプレイ等であり、各種情報をテキストまたはイメージ等により表示する。   The input unit 511 includes, for example, a keyboard, a pointing device, and the like, and is operated by a user to input various commands and data to the CPU 501. The output unit 512 is a CRT, a liquid crystal display, or the like, for example, and displays various types of information as text or images.

通信部513はシステムの接続したエンティティ、例えば暗号データの通信エンティティとの通信処理を実行し、CPU501の制御の下に、各記憶部から供給されたデータ、あるいはCPU501によって処理されたデータ、暗号化されたデータ等を送信したり、他エンティティからのデータを受信する処理を実行する。   The communication unit 513 executes communication processing with an entity connected to the system, for example, encryption data communication entity. Under the control of the CPU 501, data supplied from each storage unit, data processed by the CPU 501, or encryption Processing to transmit the received data or the like, or to receive data from other entities.

ドライブ514は、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体515の記録再生を実行するドライブであり、各リムーバブル記録媒体515からのプログラムまたはデータ再生、リムーバブル記録媒体515に対するプログラムまたはデータ格納を実行する。   The drive 514 is a drive that performs recording and reproduction of a removable recording medium 515 such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto optical) disc, a DVD (Digital Versatile Disc), a magnetic disc, and a semiconductor memory. The program or data playback from each removable recording medium 515 and the storage of the program or data in the removable recording medium 515 are executed.

各記憶媒体に記録されたプログラムまたはデータを読み出してCPU501において実行または処理を行なう場合は、読み出したプログラム、データは入出力インタフェース522、バス521を介して例えば接続されているRAM503に供給される。   When a program or data recorded in each storage medium is read and executed or processed by the CPU 501, the read program or data is supplied to, for example, the connected RAM 503 via the input / output interface 522 and the bus 521.

先に各フロー図を参照した説明内に含まれる処理を実行するためのプログラムは例えばROM502に格納されてCPU501によって処理されるか、あるいはハードディスクに格納されHDD504を介してCPU501に供給されて実行される。   A program for executing the processing included in the description with reference to each flowchart is stored in the ROM 502 and processed by the CPU 501 or stored in the hard disk and supplied to the CPU 501 via the HDD 504 and executed. The

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

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

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

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

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

以上、説明したように、本発明の一実施例構成によれば、コンテンツ配信および利用処理において、排除ユーザによるコンテンツ復号鍵の取得を防止可能としたヘッダを生成してユーザに提供する構成としたので、不正なコンテンツ利用が防止されるとともに、ヘッダサイズおよびヘッダ生成計算量の削減が図られ効率的なコンテンツ配信、利用が実現される。すなわち、コンテンツ利用者としてのユーザを単一のグループとした上で、排除される契約者IDに対しては0を出力し、それ以外の契約者IDに対しては各々異なる値を出力する多項式を利用したセッション鍵算出式を含むヘッダを構成する。この本発明のヘッダ構成により、コンテンツ配信時におけるヘッダサイズおよびヘッダ生成時に必要となる計算量が削減され、コンテンツ利用者サイドにおけるセッション鍵の取得処理においては、確実に排除ユーザの鍵取得を防止することができる。   As described above, according to the configuration of one embodiment of the present invention, in the content distribution and use process, a header that can prevent acquisition of the content decryption key by the excluded user is generated and provided to the user. Therefore, unauthorized use of content is prevented, and the header size and header generation calculation amount are reduced, thereby realizing efficient content distribution and use. That is, after a user as a content user is made into a single group, 0 is output for the excluded contractor ID, and a different value is output for each other contractor ID. A header including a session key calculation formula using is configured. With the header configuration of the present invention, the header size at the time of content distribution and the amount of calculation required at the time of header generation are reduced, and in the session key acquisition process on the content user side, the exclusion user's key acquisition is surely prevented. be able to.

不正者追跡処理について説明する図である。It is a figure explaining an unauthorized person tracking process. コンテンツ配信処理について説明する図である。It is a figure explaining a content delivery process. コンテンツの利用を行なう装置構成について説明する図である。It is a figure explaining the apparatus structure which uses a content. 不正追跡処理の処理手順について説明する図である。It is a figure explaining the process sequence of a fraud tracking process. サブグループ設定に基づくコンテンツ配信構成において、各契約者の個人秘密鍵および公開鍵を生成して提供する鍵生成処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the key production | generation process sequence which produces | generates and provides the individual private key and public key of each contractor in the content delivery structure based on a subgroup setting. サブグループ設定に基づくコンテンツ配信構成において、各契約者の個人秘密鍵および公開鍵を生成して提供する鍵生成処理について説明する図である。It is a figure explaining the key generation process which produces | generates and provides the individual private key and public key of each contractor in the content delivery structure based on subgroup setting. サブグループ設定に基づくコンテンツ配信構成におけるコンテンツ配信処理について説明する図である。It is a figure explaining the content delivery process in the content delivery structure based on a subgroup setting. サブグループ設定に基づくコンテンツ配信構成におけるヘッダ、暗号文生成を伴うコンテンツ暗号化処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the content encryption processing sequence accompanying the header in a content delivery structure based on subgroup setting, and a ciphertext production | generation. サブグループ設定に基づくコンテンツ配信構成において、サブグループに含まれる契約者が全員排除されない場合の処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the process sequence when not all the contractors contained in a subgroup are excluded in the content delivery structure based on a subgroup setting. サブグループ設定に基づくコンテンツ配信構成において、サブグループに含まれる契約者が全員排除される場合の処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the process sequence in case all the contractors contained in a subgroup are excluded in the content delivery structure based on a subgroup setting. サブグループ設定に基づくコンテンツ配信構成において、サブグループに含まれる契約者の一部のみが排除される場合の処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining a process sequence in case only the one part of contractor contained in a subgroup is excluded in the content delivery structure based on a subgroup setting. サブグループ設定に基づくコンテンツ配信構成におけるコンテンツ復号処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the content decoding process sequence in the content delivery structure based on a subgroup setting. サブグループ設定に基づくコンテンツ配信構成におけるブラックボックス追跡処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the black box tracking process sequence in the content delivery structure based on a subgroup setting. 本発明に従ったコンテンツ配信構成において、各契約者の個人秘密鍵および公開鍵を生成して提供する鍵生成処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the key production | generation process sequence which produces | generates and provides the individual private key and public key of each contractor in the content delivery structure according to this invention. 本発明に従ったコンテンツ配信構成において、各契約者の個人秘密鍵および公開鍵を生成して提供する鍵生成処理について説明する図である。It is a figure explaining the key generation process which produces | generates and provides the individual private key and public key of each contractor in the content delivery structure according to this invention. 本発明に従ったコンテンツ配信構成におけるコンテンツ配信処理について説明する図である。It is a figure explaining the content delivery process in the content delivery structure according to this invention. 本発明に従ったコンテンツ配信構成におけるコンテンツ配信処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the content delivery processing sequence in the content delivery structure according to this invention. 本発明に従ったコンテンツ配信構成におけるコンテンツ復号処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the content decoding process sequence in the content delivery structure according to this invention. 本発明に従ったコンテンツ配信構成におけるブラックボックス追跡処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the black box tracking process sequence in the content delivery structure according to this invention. 本発明に従ったコンテンツ配信構成と、サブグループ設定に基づくコンテンツ配信構成におけるヘッダサイズの比較データを示す図である。It is a figure which shows the comparison data of the header size in the content delivery structure according to this invention, and the content delivery structure based on a subgroup setting. 本発明に従ったコンテンツ配信構成と、サブグループ設定に基づくコンテンツ配信構成におけるヘッダ生成時の計算量の比較データを示す図である。It is a figure which shows the comparison data of the computational complexity at the time of the header production | generation in the content delivery structure according to this invention, and the content delivery structure based on a subgroup setting. 本発明に従ったコンテンツ配信処理およびブラックボックス追跡における各処理において適用される情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus applied in each process in the content delivery process and black box tracking according to this invention.

符号の説明Explanation of symbols

10 情報処理装置
11 個人秘密鍵格納部
501 CPU
502 ROM
503 RAM
504 HDD
505 暗号処理手段
506 メモリ
511 入力部
512 出力部
513 通信部
514 リムーバブル記憶媒体
521 バス
522 入出力インタフェース
DESCRIPTION OF SYMBOLS 10 Information processing apparatus 11 Private secret key storage part 501 CPU
502 ROM
503 RAM
504 HDD
505 Encryption processing unit 506 Memory 511 Input unit 512 Output unit 513 Communication unit 514 Removable storage medium 521 Bus 522 I / O interface

Claims (18)

情報処理装置であり、
暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報の生成処理を実行するデータ処理部を有し、
前記データ処理部は、
ユーザ装置が保持するユーザ固有情報中、排除ユーザ以外の非排除ユーザの保持するユーザ固有情報を適用した場合にのみ前記復号鍵情報の取得を可能としたヘッダ情報の生成処理を実行する構成であり、
前記ユーザ固有情報に含まれるユーザID中、排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を適用した復号鍵算出式を含むヘッダ情報の生成処理を実行する構成であることを特徴とする情報処理装置。
An information processing device,
A data processing unit that executes generation processing of header information including decryption key information applied to decryption of the encrypted content;
The data processing unit
It is a configuration that executes header information generation processing that enables acquisition of the decryption key information only when user-specific information held by a non-excluded user other than the excluded user is applied among user-specific information held by the user device ,
Out of the user IDs included in the user-specific information, 0 is output when an excluded user ID corresponding to an excluded user is assigned, and each ID is assigned when a non-excluded user ID corresponding to a non-excluded user is assigned. An information processing apparatus having a configuration for executing header information generation processing including a decryption key calculation formula to which a polynomial F (x) that outputs different values is applied.
前記データ処理部は、
ユーザIDに対応するF(x)上の点を計算するためのm個の情報[h1,0,...,h1,m]と、
排除ユーザID[x,...,x]と、
を含むヘッダ情報の生成処理を実行し、
ユーザ装置側において保持するユーザ固有情報としてのユーザIDと、個人秘密鍵と、前記ヘッダ情報に含まれる排除ユーザID[x,...,x]とを適用した演算処理に基づいて、非排除ユーザにおいてのみ前記復号鍵情報の取得を可能としたヘッダ情報の生成処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
The data processing unit
M pieces of information for calculating a point on F (x) corresponding to the user ID [h 1 , 0,. . . , H 1, m ],
Excluded user IDs [x 1 ,. . . , X m ],
Execute header information generation processing including
The user ID as user-specific information held on the user device side, the personal secret key, and the excluded user IDs [x 1 ,. . . , X m ] based on the calculation process applied, the header information generation process that enables the non-excluded user to obtain the decryption key information is executed. Information processing device.
前記データ処理部は、さらに、
ユーザ装置側において取得可能な管理センタ対応の公開鍵情報と、前記ヘッダに含まれる乱数情報を適用した演算処理に基づいて、非排除ユーザにおいてのみ前記復号鍵情報の取得を可能としたヘッダ情報の生成処理を実行する構成であることを特徴とする請求項2に記載の情報処理装置。
The data processing unit further includes:
Based on the public key information corresponding to the management center that can be acquired on the user device side and the arithmetic processing that applies the random number information included in the header, The information processing apparatus according to claim 2, wherein the information processing apparatus is configured to execute generation processing.
前記データ処理部は、
前記復号鍵情報をセッション鍵sとして生成する構成であり、
p :乗法群の法となる大きな素数、
:乗法群であり、Zかつpと互いに素な整数の集合、
q :q|(p−1)かつq>n+k+1を満たす素数、
g :Z 上の1のq乗根、
の設定として、前記セッション鍵sの算出式を、
s=gmodp
として設定し、
上記セッション鍵s算出式に前記多項式F(x)を含める構成としたヘッダ情報の生成処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
The data processing unit
The decryption key information is generated as a session key s,
p: a large prime number modulo the multiplicative group,
Z p * : a multiplicative group, a set of integers that are relatively prime to Z p and p,
q: a prime number satisfying q | (p−1) and q> n + k + 1,
g: q root of 1 on Z p *
As a setting of the session key s
s = g r modp
Set as
The information processing apparatus according to claim 1, wherein the information processing apparatus is configured to execute a header information generation process including the polynomial F (x) in the session key s calculation formula.
前記データ処理部は、
前記セッション鍵sの算出式を、前記多項式F(x)を適用した式[F(x)/r]の逆元[(F(x)/r)−1]を、前記セッション鍵s算出式、
s=gmodp
の指数部rの構成要素とした設定のセッション鍵算出式を生成する構成であることを特徴とする請求項4に記載の情報処理装置。
The data processing unit
The session key s is calculated from the inverse [[F (x) / r) −1 ] of the formula [F (x) / r] to which the polynomial F (x) is applied. ,
s = g r modp
The information processing apparatus according to claim 4, wherein a session key calculation formula set as a constituent element of the exponent part r is generated.
前記データ処理部は、
前記指数部rの構成データとして、
ユーザIDをu
排除ユーザに対応する排除ユーザIDをx〜x
としたとき、
{(u−x)・・・(u−x)}−1={(F(x)/r)−1
の関係式を満足するセッション鍵算出式を生成する構成であることを特徴とする請求項5に記載の情報処理装置。
The data processing unit
As constituent data of the exponent part r,
U i ,
Excluded user IDs corresponding to the excluded users are x 1 to x m ,
When
{(U i -x 1 ) ... (u i -x m )} -1 = {(F (x) / r) -1 }
6. The information processing apparatus according to claim 5, wherein a session key calculation formula that satisfies the relational expression is generated.
前記情報処理装置は、さらに、
前記ヘッダ情報、および前記暗号化コンテンツの送信処理を実行する通信部を有することを特徴とする請求項1から6いずれかに記載の情報処理装置。
The information processing apparatus further includes:
The information processing apparatus according to claim 1, further comprising: a communication unit that executes transmission processing of the header information and the encrypted content.
情報処理装置であり、
ユーザIDと個人秘密鍵とを格納した記憶部と、
暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報を入力し、該ヘッダ情報に対して、前記ユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行するデータ処理部とを有し、
前記データ処理部は、
排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含むヘッダ情報に対して、前記ユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行する構成であることを特徴とする情報処理装置。
An information processing device,
A storage unit storing a user ID and a personal secret key;
Acquisition of the decryption key information by inputting header information including decryption key information applied to decryption of the encrypted content, and executing data processing to which the user ID and personal secret key are applied to the header information A data processing unit for executing processing,
The data processing unit
A polynomial F (x) that outputs 0 when the excluded user ID corresponding to the excluded user is substituted, and outputs a different value corresponding to each ID when the non-excluded user ID corresponding to the non-excluded user is substituted. An information processing apparatus having a configuration in which a data process to which the user ID and a private secret key are applied is executed on header information including the header information, and the acquisition process of the decryption key information is executed.
前記データ処理部は、
前記ヘッダ情報として、
ユーザIDに対応するF(x)上の点を計算するためのm個の情報[h1,0,...,h1,m]と、
排除ユーザID[x,...,x]と、
を含むヘッダ情報を入力し、
前記ユーザIDと個人秘密鍵と、前記ヘッダ情報に含まれる排除ユーザID[x,...,x]とを適用した演算処理に基づいて、前記復号鍵情報の取得処理を実行する構成であることを特徴とする請求項8に記載の情報処理装置。
The data processing unit
As the header information,
M pieces of information for calculating a point on F (x) corresponding to the user ID [h 1 , 0,. . . , H 1, m ],
Excluded user IDs [x 1 ,. . . , X m ],
Enter header information including
The user ID, the private secret key, and the excluded user ID [x 1 ,. . . , X m ], the information processing apparatus according to claim 8, wherein the decryption key information acquisition process is executed based on an arithmetic process to which
前記データ処理部は、さらに、
管理センタ対応の公開鍵情報と、前記ヘッダに含まれる乱数情報を適用した演算処理に基づいて、前記復号鍵情報の取得処理を実行する構成であることを特徴とする請求項9に記載の情報処理装置。
The data processing unit further includes:
10. The information according to claim 9, wherein the decryption key information acquisition process is executed based on a calculation process using public key information corresponding to a management center and random number information included in the header. Processing equipment.
前記データ処理部は、
前記復号鍵情報であるセッション鍵sを算出する構成であり、
p :乗法群の法となる大きな素数、
:乗法群であり、Zかつpと互いに素な整数の集合、
q :q|(p−1)かつq>n+k+1を満たす素数、
g :Z 上の1のq乗根、
の設定において、前記セッション鍵sを、下記算出式、
s=gmodp
に従って算出する構成であり、
上記セッション鍵sの算出処理において前記多項式F(x)を適用した演算を実行する構成であることを特徴とする請求項8に記載の情報処理装置。
The data processing unit
A configuration for calculating a session key s which is the decryption key information;
p: a large prime number modulo the multiplicative group,
Z p * : a multiplicative group, a set of integers that are relatively prime to Z p and p,
q: a prime number satisfying q | (p−1) and q> n + k + 1,
g: q root of 1 on Z p *
In the setting of, the session key s is expressed by the following calculation formula:
s = g r modp
Is calculated according to
The information processing apparatus according to claim 8, wherein the calculation process using the polynomial F (x) is performed in the session key s calculation process.
前記データ処理部は、
前記セッション鍵s算出式、
s=gmodp
の指数部rの算出処理として
前記多項式F(x)を適用した式[F(x)/r]の逆元[(F(x)/r)−1]の演算を実行する構成であることを特徴とする請求項11に記載の情報処理装置。
The data processing unit
The session key s calculation formula,
s = g r modp
As the calculation process of the exponent part r, the calculation of the inverse element [(F (x) / r) −1 ] of the formula [F (x) / r] to which the polynomial F (x) is applied is performed. The information processing apparatus according to claim 11.
前記式[(F(x)/r)−1]は、
記憶部に格納されたユーザIDをu
排除ユーザに対応する排除ユーザIDをx〜x
としたとき、
{(F(x)/r)−1}={(u−x)・・・(u−x)}−1
の関係を満たしており、
前記データ処理部は、
記憶部に格納されたユーザID:uを上記式{(u−x)・・・(u−x)}−1に代入して、{(F(x)/r)−1}の算出処理を実行する構成であることを特徴とする請求項12に記載の情報処理装置。
The formula [(F (x) / r) −1 ] is
U i , the user ID stored in the storage unit,
Excluded user IDs corresponding to the excluded users are x 1 to x m ,
When
{(F (x) / r) −1 } = {(u i −x 1 )... (U i −x m )} −1
Satisfy the relationship
The data processing unit
Substituting the user ID: u i stored in the storage unit into the above expression {(u i −x 1 )... (U i −x m )} −1 , and {(F (x) / r) The information processing apparatus according to claim 12, wherein the information processing apparatus is configured to execute a calculation process of 1 }.
コンテンツ配信システムであり、
コンテンツ配信側装置において、
暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報として、コンテンツ受信側装置が保持するユーザ固有情報に含まれるユーザID中、排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含むヘッダ情報の生成処理を実行し、生成ヘッダ情報および暗号化コンテンツをコンテンツ受信側装置に提供し、
コンテンツ受信側装置において、
前記多項式F(x)を含むヘッダ情報に対して、ユーザIDと個人秘密鍵とを適用したデータ処理を実行して前記多項式F(x)を適用して取得した0以外の値を利用して前記復号鍵情報の取得処理を実行し、取得した復号鍵を適用して前記暗号化コンテンツの復号処理を実行する構成を有することを特徴とするコンテンツ配信システム。
A content distribution system,
In the content distribution side device,
0 is output when the exclusion user ID corresponding to the exclusion user is substituted in the user ID included in the user-specific information held by the content receiving device as header information including the decryption key information applied to decryption of the encrypted content When a non-exclusion user ID corresponding to a non-exclusion user is substituted, a header information generation process including a polynomial F (x) that outputs a different value corresponding to each ID is executed, and the generation header information and encryption are executed. Providing content to the content receiving device,
In the content receiving device,
For the header information including the polynomial F (x), data processing using a user ID and a private secret key is executed, and a value other than 0 obtained by applying the polynomial F (x) is used. A content distribution system having a configuration for executing the process of obtaining the decryption key information and executing the process of decrypting the encrypted content by applying the obtained decryption key.
情報処理装置において暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報の生成処理を実行する情報処理方法であり、
データ処理部において、
ユーザ装置が保持するユーザ固有情報中、排除ユーザ以外の非排除ユーザの保持するユーザ固有情報を適用した場合にのみ前記復号鍵情報の取得を可能としたヘッダ情報を生成するヘッダ情報生成ステップを有し、
前記データ処理部において実行する前記ヘッダ情報生成ステップは、
前記ユーザ固有情報に含まれるユーザID中、排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含む復号鍵算出式を有するヘッダ情報の生成処理を実行するステップであることを特徴とする情報処理方法。
An information processing method for executing generation processing of header information including decryption key information applied to decryption of encrypted content in an information processing device,
In the data processor
There is a header information generation step for generating header information that enables acquisition of the decryption key information only when user specific information held by a non-excluded user other than the excluded user is applied among user specific information held by the user device. And
The header information generation step executed in the data processing unit includes:
Out of the user IDs included in the user-specific information, 0 is output when an excluded user ID corresponding to an excluded user is assigned, and each ID is assigned when a non-excluded user ID corresponding to a non-excluded user is assigned. An information processing method, which is a step of executing generation processing of header information having a decryption key calculation formula including a polynomial F (x) that outputs different values.
情報処理装置において暗号化コンテンツの復号鍵情報をヘッダ情報から取得する処理を実行する情報処理方法であり、
データ処理部において、
前記ヘッダ情報を入力し、該ヘッダ情報に対して記憶部から取得したユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行するヘッダ情報処理ステップを有し、
前記データ処理部において実行する前記ヘッダ情報処理ステップは、
排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含むヘッダ情報に対して、前記ユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行するステップであることを特徴とする情報処理方法。
An information processing method for executing processing for acquiring decryption key information of encrypted content from header information in an information processing device,
In the data processor
A header information processing step of inputting the header information, executing a data process in which the user ID and the personal secret key acquired from the storage unit are applied to the header information, and executing the process of acquiring the decryption key information; Have
The header information processing step executed in the data processing unit includes:
A polynomial F (x) that outputs 0 when the excluded user ID corresponding to the excluded user is substituted, and outputs a different value corresponding to each ID when the non-excluded user ID corresponding to the non-excluded user is substituted. An information processing method, comprising: performing a data process using the user ID and the personal secret key on the header information, and performing a process for obtaining the decryption key information.
情報処理装置において暗号化コンテンツの復号に適用する復号鍵情報を含むヘッダ情報の生成処理を実行させるコンピュータ・プログラムであり、
データ処理部において、
ユーザ装置が保持するユーザ固有情報中、排除ユーザ以外の非排除ユーザの保持するユーザ固有情報を適用した場合にのみ前記復号鍵情報の取得を可能としたヘッダ情報を生成させるヘッダ情報生成ステップを有し、
前記データ処理部において実行させる前記ヘッダ情報生成ステップは、
前記ユーザ固有情報に含まれるユーザID中、排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含む復号鍵算出式を有するヘッダ情報の生成処理を実行させるステップであることを特徴とするコンピュータ・プログラム。
A computer program that executes generation processing of header information including decryption key information applied to decryption of encrypted content in an information processing device,
In the data processor
There is a header information generation step for generating header information that enables acquisition of the decryption key information only when user specific information held by a non-excluded user other than the excluded user is applied among user specific information held by the user device. And
The header information generation step to be executed in the data processing unit includes:
Out of the user IDs included in the user-specific information, 0 is output when an excluded user ID corresponding to an excluded user is assigned, and each ID is assigned when a non-excluded user ID corresponding to a non-excluded user is assigned. A computer program characterized in that it is a step of executing a generation process of header information having a decryption key calculation formula including a polynomial F (x) that outputs different values.
情報処理装置において暗号化コンテンツの復号鍵情報をヘッダ情報から取得する処理を実行させるコンピュータ・プログラムであり、
データ処理部において、
前記ヘッダ情報を入力し、該ヘッダ情報に対して記憶部から取得したユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行させるヘッダ情報処理ステップを有し、
前記データ処理部において実行させる前記ヘッダ情報処理ステップは、
排除ユーザに対応する排除ユーザIDを代入した場合に0を出力し、非排除ユーザに対応する非排除ユーザIDを代入した場合には各IDに対応する異なる値を出力する多項式F(x)を含むヘッダ情報に対して、前記ユーザIDと個人秘密鍵とを適用したデータ処理を実行して、前記復号鍵情報の取得処理を実行させるステップであることを特徴とするコンピュータ・プログラム。
A computer program for executing processing for acquiring decryption key information of encrypted content from header information in an information processing device,
In the data processor
A header information processing step of inputting the header information, executing data processing to which the user ID and the personal secret key acquired from the storage unit are applied to the header information, and executing the acquisition processing of the decryption key information; Have
The header information processing step to be executed in the data processing unit includes:
A polynomial F (x) that outputs 0 when the excluded user ID corresponding to the excluded user is substituted, and outputs a different value corresponding to each ID when the non-excluded user ID corresponding to the non-excluded user is substituted. A computer program characterized in that it is a step of executing data processing to which the user ID and the personal secret key are applied to the header information that is included, and executing the acquisition processing of the decryption key information.
JP2006085811A 2006-03-27 2006-03-27 Information processing apparatus, information processing method, and computer program Expired - Fee Related JP4867425B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006085811A JP4867425B2 (en) 2006-03-27 2006-03-27 Information processing apparatus, information processing method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006085811A JP4867425B2 (en) 2006-03-27 2006-03-27 Information processing apparatus, information processing method, and computer program

Publications (3)

Publication Number Publication Date
JP2007266722A JP2007266722A (en) 2007-10-11
JP2007266722A5 JP2007266722A5 (en) 2009-04-23
JP4867425B2 true JP4867425B2 (en) 2012-02-01

Family

ID=38639317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006085811A Expired - Fee Related JP4867425B2 (en) 2006-03-27 2006-03-27 Information processing apparatus, information processing method, and computer program

Country Status (1)

Country Link
JP (1) JP4867425B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009171384A (en) * 2008-01-18 2009-07-30 Nippon Hoso Kyokai <Nhk> Encryption information generation device and its program, secret key generation device and its program, and content decryption apparatus and its program
JP5911289B2 (en) * 2011-12-16 2016-04-27 セコム株式会社 Key management system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3620138B2 (en) * 1996-02-05 2005-02-16 松下電器産業株式会社 Key sharing system
JP2868759B1 (en) * 1998-03-17 1999-03-10 株式会社高度移動通信セキュリティ技術研究所 Key update method
JP2002217890A (en) * 2001-01-22 2002-08-02 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd Method of finding replicated terminal
JP2002314532A (en) * 2001-04-11 2002-10-25 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd Method for discovering replica terminal
JP3917507B2 (en) * 2002-01-28 2007-05-23 株式会社東芝 Content providing system, user system, tracking system, content providing method, encrypted content decrypting method, unauthorized user specifying method, encrypting device, decrypting device, and program
JP4630826B2 (en) * 2006-01-27 2011-02-09 株式会社東芝 Decryption key generation method, content provider side system, user side system, tracking system, content provision method, encrypted content decryption method, program, encryption device, and decryption device

Also Published As

Publication number Publication date
JP2007266722A (en) 2007-10-11

Similar Documents

Publication Publication Date Title
US7978848B2 (en) Content encryption schema for integrating digital rights management with encrypted multicast
TW453089B (en) Protecting information in a system
US7536016B2 (en) Encrypted content data structure package and generation thereof
CN103348623A (en) Terminal device, verification device, key distribution device, content playback method, key distribution method, and computer program
EP2797255B1 (en) Information processing device, information storage device, information processing system, and information processing method, as well as program
JP4673302B2 (en) Traceable method and system for encrypting and / or decrypting data and recording medium implementing the method
US20190362054A1 (en) User-protected license
CN112784284B (en) Encryption processing system, encryption processing method, and recording medium
JP2010124071A (en) Communication device, communication method, and program
JP4867425B2 (en) Information processing apparatus, information processing method, and computer program
US20220407690A1 (en) Key ladder generating a device public key
JP4452105B2 (en) Decryption information generation device and program thereof, distribution content generation device and program thereof, and content decryption device and program thereof
JP2007266723A (en) Information processing apparatus, information processing method, and computer program
JP4598437B2 (en) Decryption information generation device and program thereof, distribution content generation device and program thereof, and content decryption device and program thereof
JP4875481B2 (en) Encrypted information generating device and program thereof, secret key generating device and program thereof, distribution content generating device and program thereof, and content decrypting device and program thereof
JP5142361B2 (en) Validity verification device
JP2004221800A (en) Illegitimate entity tracing method in encryption processing system, encryption processing system, and illegitimate entity tracing processing apparatus and computer program
JP5557707B2 (en) Encrypted information generating device and program thereof, secret key generating device and program thereof, distribution content generating device and program thereof, content decrypting device and program thereof, and user specifying device and program thereof
JP4133364B2 (en) ENCRYPTION DEVICE AND ITS PROGRAM, DECRYPTION DEVICE AND ITS PROGRAM, CONTENT DISTRIBUTION SERVER, AND CONTENT DECRYPTION TERMINAL
JP2009171384A (en) Encryption information generation device and its program, secret key generation device and its program, and content decryption apparatus and its program
JP4807785B2 (en) Execution authority distribution method and system
JP2009171016A (en) Encrypted information generation device, its program, content generation device for distribution, its program, and content decoding device, and its program
JP5357785B2 (en) Encrypted information generating device and program thereof, secret key generating device and program thereof, distribution content generating device and program thereof, content decrypting device and program thereof, and user specifying device and program thereof
JP2004159043A (en) Encryption communication system, information processor, method, and computer program
JP5268413B2 (en) Disclosure restriction processing apparatus, data processing system, and program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090306

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090306

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: 20111018

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: 20111031

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

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees