JP4208678B2 - Key information processing method and apparatus, and program - Google Patents

Key information processing method and apparatus, and program Download PDF

Info

Publication number
JP4208678B2
JP4208678B2 JP2003321420A JP2003321420A JP4208678B2 JP 4208678 B2 JP4208678 B2 JP 4208678B2 JP 2003321420 A JP2003321420 A JP 2003321420A JP 2003321420 A JP2003321420 A JP 2003321420A JP 4208678 B2 JP4208678 B2 JP 4208678B2
Authority
JP
Japan
Prior art keywords
key
matrix
cell
image data
partial image
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
JP2003321420A
Other languages
Japanese (ja)
Other versions
JP2005051727A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2003321420A priority Critical patent/JP4208678B2/en
Priority to CN2004800248340A priority patent/CN1846396B/en
Priority to EP04747412A priority patent/EP1650893A4/en
Priority to PCT/JP2004/009946 priority patent/WO2005018136A1/en
Publication of JP2005051727A publication Critical patent/JP2005051727A/en
Priority to US11/329,037 priority patent/US7706530B2/en
Application granted granted Critical
Publication of JP4208678B2 publication Critical patent/JP4208678B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、鍵管理に関し、鍵生成に要する演算量、及び鍵の配信数に関する負荷を軽減させる方式であり、復号のための複数の鍵を管理する必要があるコンテンツ配信システムやリムーバルメディア制御方式において、好適なものであるに関するものである。   The present invention relates to key management, a method for reducing the load related to the amount of computation required for key generation and the number of key distributions, and a content distribution system and a removable media control method that need to manage a plurality of keys for decryption In the above, it is a thing suitable for.

近年、通信回線やDVDなどの大容量記録メディアを通じて、文書や画像データなどのデジタルコンテンツが流通する機会が増加している。デジタルコンテンツ配信サービスは、特定のユーザに対してコンテンツを流布するサービスであるが、ユーザ以外にはコンテンツが漏洩しない仕組みが要求されている。また、大容量メディアによるコンテンツ配信においても、同様のユーザによるアクセス制御の機構が検討されている。その際には、コンテンツデータに対する暗号化やスクランブル処理などが行われており、正当な鍵情報を持つ、もしくはデスクランブル処理を知っている正当なユーザのみが復号処理を行い、正規の文書や画像データなどのコンテンツを享受できる仕組みが提供されている。   In recent years, opportunities for distributing digital contents such as documents and image data through large-capacity recording media such as communication lines and DVDs are increasing. The digital content distribution service is a service for distributing content to a specific user. However, a mechanism that does not leak content is required for non-users. A similar user access control mechanism is also being studied for content distribution using large-capacity media. At that time, the content data is encrypted, scrambled, etc., and only a legitimate user who has valid key information or knows the descrambling process performs the decryption process to create a legitimate document or image. There is a mechanism to enjoy content such as data.

このようなコンテンツ配信サービスにおいては、コンテンツを配信するコンテンツプロバイダが存在する。コンテンツプロバイダでは、複数のコンテンツのそれぞれに対して異なるアクセス制御情報の設定を行う必要があり、コンテンツごと、ユーザごと、さらにはユーザのアクション(例えば、閲覧、コピーなど)ごとに異なる鍵による暗号化処理を行うことが想定されている。この処理において、鍵生成、鍵保持、鍵配信などの鍵情報に関わるマネージメントはコンテンツプロバイダにおいて非常に負荷がかかることが多い。そこで鍵管理に関して、セキュリティレベルを低下させることなく、より効率的な管理方法に関する研究が行われている。従来の管理方法のいくつかに関して説明を行う。   In such content distribution services, there are content providers that distribute content. Content providers need to set different access control information for each of multiple contents, and encryption with different keys for each content, for each user, and for each user action (for example, browsing, copying, etc.) It is assumed that processing will be performed. In this process, management related to key information such as key generation, key holding, and key distribution is often very burdensome at the content provider. Therefore, research is being conducted on more efficient management methods for key management without lowering the security level. Some of the conventional management methods will be described.

[木構造管理方式]
木構造管理方式はDVDプレイヤーなどのオフラインでのコンテンツ再生機器において利用されており、ユーザの無効化を行うのに適している。この方式では、暗号化データを正当なユーザのみが復号できるように、暗号化に用いた鍵情報と暗号化コンテンツと同時に配信、もしくはメディアに格納しておく。各ユーザに対して適切な組み合わせで鍵情報を事前に配布しておく必要があるが、木構造を用いることで膨大なユーザ鍵情報を効率的に管理することができる。
[Tree structure management method]
The tree structure management method is used in offline content playback devices such as a DVD player, and is suitable for invalidating a user. In this method, the encrypted data is distributed simultaneously with the key information used for encryption and the encrypted content or stored in a medium so that only authorized users can decrypt the encrypted data. Although it is necessary to distribute key information in advance in an appropriate combination to each user, a vast amount of user key information can be efficiently managed by using a tree structure.

この管理方式においては、方式の良し悪しを決定するにあたり次のような指標が存在する。1)コンテンツと同時に配信される鍵情報のデータサイズ、2)ユーザを保持する事前配布された鍵情報のデータサイズ、3)コンテンツプロバイダが管理する必要のある鍵情報のデータサイズの3つの指標がそれにあたる。オンライン型配信サービスの場合にはネットワークトラフィックを左右する1)が重視されるであろうが、コンテンツプロバイダの立場から考えると3)の管理コストが最も重視されることになる。このようにシチュエーションにより指標の重みが変化することに留意しなければならない。   In this management system, there are the following indicators for determining the quality of the system. There are three indicators: 1) the data size of the key information delivered simultaneously with the content, 2) the data size of the pre-distributed key information that holds the user, and 3) the data size of the key information that the content provider needs to manage. That's it. In the case of an online distribution service, 1) which influences network traffic will be emphasized, but from the viewpoint of a content provider, the management cost of 3) will be most important. It should be noted that the weight of the index changes depending on the situation.

木構造管理方式の代表的なものとしては、コンテンツ配信モデルがある(例えば、非特許文献1を参照)。このモデルにおいては、図14のような鍵配布用の木構造を用いており各ノードには異なる鍵が配置される。ユーザ鍵(論文中ではDVDなどのプレイヤーが保持する鍵を想定)は末端のノード(葉)と同一視され、ルートから末端ノードまでのすべての鍵データを保持するものと仮定している。本モデルでは更新が頻繁に起きることを想定しており、このように配置することで鍵無効化の効率を改良している。   A typical tree structure management method is a content distribution model (see, for example, Non-Patent Document 1). In this model, a key distribution tree structure as shown in FIG. 14 is used, and a different key is arranged at each node. It is assumed that the user key (assuming a key held by a player such as a DVD in the paper) is identified with the terminal node (leaf) and holds all key data from the root to the terminal node. In this model, it is assumed that updates occur frequently, and this arrangement improves the efficiency of key revocation.

[階層的鍵管理方式]
一方、階層的鍵管理方式で想定している鍵管理は各ノードに鍵が配置されている点では同様であるが、ユーザは末端ノードだけでなく、ルートを含めたすべてのノードに位置する鍵が配布される点が大きく異なる(例えば、非特許文献2、3を参照)。
[Hierarchical key management method]
On the other hand, the key management assumed in the hierarchical key management method is the same in that the key is arranged in each node, but the user is not limited to the terminal node, but the key located in all nodes including the root. Is greatly different (see, for example, Non-Patent Documents 2 and 3).

また、図14のようなn分木の構造ではなく、図15や図16のようなアクセス構造を想定しており、局所的に見ると図17のような関係になっている箇所が見受けられる。この場合、ノードn1に配置されている鍵とノードn2に配置されているの両者からノードn3の持つべき鍵を生成できるような仕組みが提供されていなければならない。Birgetらの論文によれば、この仕組みを提供する方式として次の2つの方法が提案されている。   In addition, an access structure as shown in FIGS. 15 and 16 is assumed instead of an n-ary tree structure as shown in FIG. 14, and when viewed locally, a portion having a relationship as shown in FIG. 17 can be seen. . In this case, it is necessary to provide a mechanism that can generate a key that the node n3 should have from both the key arranged at the node n1 and the node n2. According to the paper of Birget et al., The following two methods have been proposed as a method for providing this mechanism.

[(1)User multiple keying]
各ノードが複数の鍵を保持する方式であり、親ノードは子ノードのすべての鍵を保持するように構成されている。図18はその1例であり、各ノードに配布される鍵データの集合が記載されている。例えば{k5}が配布されているノードの親ノードには鍵データk5が含まれていることがわかる。同様に他のノードにおいても親ノードには子ノードの鍵データがすべて含まれていることがわかる。
[(1) User multiple keying]
Each node holds a plurality of keys, and the parent node is configured to hold all the keys of the child nodes. FIG. 18 shows an example thereof, in which a set of key data distributed to each node is described. For example, it can be seen that the key data k5 is included in the parent node of the node to which {k5} is distributed. Similarly, in other nodes, it can be seen that the parent node includes all the key data of the child nodes.

[(2)One−way function based keying schemes]Linらの提案を拡張させた方式であり、一方向性ハッシュ関数を用いることで、各ノードが保持する鍵情報を削減することができる。但し、図17のように複数の親ノードの鍵データから子ノードの鍵データを生成する際には、次のような操作が必要である。この操作を図19を用いて説明する。   [(2) One-way function based keying schemes] This is an extended system of Lin et al., And by using a one-way hash function, key information held by each node can be reduced. However, as shown in FIG. 17, when generating key data of a child node from key data of a plurality of parent nodes, the following operation is necessary. This operation will be described with reference to FIG.

図19において、鍵データk1またはk2からk3を生成するには
k3:=F(k1,n3)XOR r13
k3:=F(k2,n3)XOR r23
という演算を行う。ここでXORはビットごとの排他的論理和である。またF()は一方向性ハッシュ関数であり、詳細は後述する。n3は鍵データk3が関連付けられたノードの識別子、r13,r23はそれぞれ、ノードn1(鍵データk1)とノードn3により関連付けられたランダムデータ、ノードn2(鍵データk2)とノードn3により関連付けられたランダムデータであり、共に公開されているデータである。
In FIG. 19, in order to generate k3 from the key data k1 or k2, k3: = F (k1, n3) XOR r13
k3: = F (k2, n3) XOR r23
Perform the operation. Here, XOR is an exclusive OR for each bit. F () is a one-way hash function, details of which will be described later. n3 is an identifier of the node to which the key data k3 is associated, r13 and r23 are respectively the random data associated by the node n1 (key data k1) and the node n3, and the node n2 (key data k2) and the node n3, respectively. It is random data and is data that is open to the public.

関数F()はF(k_i,n_j)=g^{k_i+n_j}mod p(ただしpは素数、gは原始元)で構成されており、上記r12,r13はF(k1,n3)XOR r13=F(k2,n3)XOR r23を満たすように生成される。
「デジタルコンテンツ保護用管理方式」SCIS2001,pp.213−218 C.H.Lin.“Dynamic key management schemes for access control in a hierarchy”Computer Communications,20:1381−1385,1997 J.−C.Birget,X.Zou,G.Noubir,B.Ramamurthy,“Hierarchy−Based Access Control in Distributed Environments”in the Proceedings of IEEE ICC,June2001
The function F () is composed of F (k_i, n_j) = g ^ {k_i + n_j} mod p (where p is a prime number and g is a primitive element). It is generated so as to satisfy F (k2, n3) XOR r23.
“Digital Content Protection Management Method” SCIS2001, pp. 213-218 C. H. Lin. “Dynamic key management schemes for access control in a hierarchy”, Computer Communications, 20: 1381-1385, 1997. J. et al. -C. Biget, X. et al. Zou, G. et al. Neubir, B.M. Ramamthy, “Hierarchy-Based Access Control in Distributed Environments” in the Processing of IEEE ICC, June 2001.

前述したように、階層的鍵管理方式において局所的に親ノードが2つ存在する場合(図17参照)においては、異なる親ノードから同じ鍵データを生成するための方式がすでに提案されている。しかし1)User multiple keyingにおいては、各ノードが多くの鍵を持ち合わせていなければならず、階層が深くなるにつれて保持すべき鍵データが等比級数的に増加する問題が存在し、2)One−way function based keying schemesにおいては、一方向性ハッシュ関数を用いることで各ノードが保持する鍵データ量を減らしているが、r12,r13などの公開ランダムデータを別途保持する必要あり、1)と同様に階層が深くなるにつれて保持すべきデータが増加するという問題が存在する。   As described above, when there are two parent nodes locally in the hierarchical key management method (see FIG. 17), a method for generating the same key data from different parent nodes has already been proposed. However, in 1) User multiple keying, each node must have many keys, and there is a problem that the key data to be held increases geometrically as the hierarchy deepens. 2) One- In the way function based keying schemes, the amount of key data held by each node is reduced by using a one-way hash function, but it is necessary to separately hold public random data such as r12, r13, etc. However, there is a problem that data to be held increases as the hierarchy becomes deeper.

さらに2)においては一方向性ハッシュ関数にべき乗演算が用いられている。落とし戸付きハッシュ関数による構成も考えられるが、いずれにせよ、べき乗演算が必要な演算が含まれており、計算コストが膨大である。特にPDAなどの演算リソースの少ないデバイスにおいては鍵計算に多くの時間を費やすこととなり、結果としてデータ復号時にインタラクティブな処理ができなくなる可能性がある。   Furthermore, in 2), a power operation is used for the one-way hash function. Although a configuration using a hash function with a trapdoor is conceivable, in any case, an operation requiring a power operation is included, and the calculation cost is enormous. In particular, a device such as a PDA with a small amount of calculation resources spends a lot of time for key calculation, and as a result, there is a possibility that interactive processing cannot be performed during data decryption.

そこで、本発明は上述の問題点に鑑み、階層構造を有する部分画像データに対する鍵生成において、より計算量の少ない方式で、かつ、たとえ結託しても上位階層の部分画像データの個別鍵は生成できないことを可能にすることを目的とする。   Therefore, in view of the above-described problems, the present invention generates a key for a partial image data having a hierarchical structure by a method with a smaller calculation amount and generates an individual key for partial image data in a higher layer even if collusion is performed. The goal is to make things impossible.

上記課題を解決するために、本発明によれば、情報処理装置の制御方法は、設定手段が、画像データの画質、解像度、画像領域のいずれか2つからなる階層関係を持つ複数の部分画像データの各部分画像データに対して、第1の鍵と第2の鍵それぞれに対するハッシュ関数の回数の組を設定する設定工程と、鍵生成手段が、前記各部分画像データにつき、前記第1の鍵と前記第2の鍵のそれぞれに当該部分画像データに対して設定された前記回数の組の対応する回数に応じて前記ハッシュ関数を実行した値として、当該部分画像データに対する個別鍵を生成する鍵生成工程を有し、前記設定工程において、前記第1の鍵に関しては、行列に最右上のセルが原点(0,0)、及び水平左方向にx座標が1ずつ増加し、垂直下方向にy座標が1ずつ増加するような座標軸を定義し、大きさがNx*Nyである行列の座標(i,j)のセルに対する前記回数の組(x_ij,y_ij)として、j=0の場合、x_ij=i、j≠0の場合、x_ij=Nx+j−1とし、且つ、i=0の場合、y_ij=j、j≠0の場合、y_ij=Ny+i−1と設定し、前記第2の鍵に関しては、行列に最右上のセルが原点(0,0)、及び水平左方向にx座標が1ずつ増加し、垂直下方向にy座標が1ずつ増加するような座標軸を定義し、大きさが(Nx−2)*(Ny−2)である行列における座標(i’,j’)のセルに対する前記回数の組を(u’_i’j’,v’_i’j’)とした場合、大きさがNx*Nyである行列における座標(i,j)のセルに対する前記回数の組(u_ij,v_ij)として、i=0、且つj=0の場合、u_ij=0、及びv_ij=0とし、i=Nx−1、或いはj=Ny−1の場合、u_ij,及びv_ijとして、前記第2の鍵が存在しないことを示す情報とし、i=0、且つj≠0の場合、u_ij=u’_i(j−1)、及びv_ij=v’_i(j−1)とし、j=0、且つi≠0の場合の場合、u_ij=u’_(i−1)j、及びv_ij=v’_(i−1)jとし、上記以外の場合、u_ij=u’_(i−1)(j−1)、及びv_ij=v’_(i−1)(j−1)と設定し、前記大きさが(Nx−2)*(Ny−2)である行列における各セルの実行回数の組を、前記第1の鍵と同じ設定で設定することを特徴とする。   In order to solve the above-described problem, according to the present invention, the control method of the information processing apparatus includes a plurality of partial images having a hierarchical relationship in which the setting unit includes any two of image data quality, resolution, and image area. For each partial image data, a setting step for setting a set of hash function counts for each of the first key and the second key, and a key generation means, for each partial image data, An individual key for the partial image data is generated as a value obtained by executing the hash function according to the number of times corresponding to the set of the number of times set for the partial image data for each of the key and the second key. A key generation step, and in the setting step, for the first key, the upper right cell in the matrix is the origin (0, 0), and the x coordinate is incremented by 1 in the horizontal left direction, and the vertical downward direction The y coordinate is not 1 Define an increasing coordinate axis, and if j = 0, then set x_ij = i, j as the set of times (x_ij, y_ij) for the cell of coordinates (i, j) of the matrix whose size is Nx * Ny If ≠ 0, x_ij = Nx + j-1 is set, and if i = 0, y_ij = j, and if j ≠ 0, y_ij = Ny + i-1 are set. The upper right cell is the origin (0, 0), and the coordinate axis is defined such that the x coordinate increases by 1 in the horizontal left direction and the y coordinate increases by 1 in the vertical downward direction, and the size is (Nx-2) * When the set of the number of times for the cell at coordinates (i ′, j ′) in the matrix (Ny−2) is (u′_i′j ′, v′_i′j ′), the size is Nx * The set of times (u_ij) for the cell at coordinates (i, j) in the matrix Ny v_ij), when i = 0 and j = 0, u_ij = 0 and v_ij = 0, and when i = Nx-1, or j = Ny-1, u_ij and v_ij Information indicating that the key does not exist, and when i = 0 and j ≠ 0, u_ij = u′_i (j−1) and v_ij = v′_i (j−1), j = 0, and When i ≠ 0, u_ij = u ′ _ (i−1) j and v_ij = v ′ _ (i−1) j. Otherwise, u_ij = u ′ _ (i−1) ( j-1) and v_ij = v ′ _ (i−1) (j−1), and the number of execution times of each cell in the matrix whose size is (Nx−2) * (Ny−2) The set is set with the same setting as the first key.

また、他の態様によれば、情報処理装置は、画像データの画質、解像度、画像領域のいずれか2つからなる階層関係を持つ複数の部分画像データの各部分画像データに対して、第1の鍵と第2の鍵それぞれに対するハッシュ関数の回数の組を設定する設定手段と、鍵生成手段が、前記各部分画像データにつき、前記第1の鍵と前記第2の鍵のそれぞれに当該部分画像データに対して設定された前記回数の組の対応する回数に応じて前記ハッシュ関数を実行した値として、当該部分画像データに対する個別鍵を生成する鍵生成手段を有し、前記設定手段において、前記第1の鍵に関しては、行列に最右上のセルが原点(0,0)、及び水平左方向にx座標が1ずつ増加し、垂直下方向にy座標が1ずつ増加するような座標軸を定義し、大きさがNx*Nyである行列の座標(i,j)のセルに対する前記回数の組(x_ij,y_ij)として、j=0の場合、x_ij=i、j≠0の場合、x_ij=Nx+j−1とし、且つ、i=0の場合、y_ij=j、j≠0の場合、y_ij=Ny+i−1と設定し、前記第2の鍵に関しては、行列に最右上のセルが原点(0,0)、及び水平左方向にx座標が1ずつ増加し、垂直下方向にy座標が1ずつ増加するような座標軸を定義し、大きさが(Nx−2)*(Ny−2)である行列における座標(i’,j’)のセルに対する前記回数の組を(u’_i’j’,v’_i’j’)とした場合、大きさがNx*Nyである行列における座標(i,j)のセルに対する前記回数の組(u_ij,v_ij)として、i=0、且つj=0の場合、u_ij=0、及びv_ij=0とし、i=Nx−1、或いはj=Ny−1の場合、u_ij,及びv_ijとして、前記第2の鍵が存在しないことを示す情報とし、i=0、且つj≠0の場合、u_ij=u’_i(j−1)、及びv_ij=v’_i(j−1)とし、j=0、且つi≠0の場合の場合、u_ij=u’_(i−1)j、及びv_ij=v’_(i−1)jとし、上記以外の場合、u_ij=u’_(i−1)(j−1)、及びv_ij=v’_(i−1)(j−1)と設定し、前記大きさが(Nx−2)*(Ny−2)である行列における各セルの実行回数の組を、前記第1の鍵と同じ設定で設定することを特徴とする。   Further, according to another aspect, the information processing apparatus performs the first processing on each partial image data of a plurality of partial image data having a hierarchical relationship including any two of image quality, resolution, and image area of the image data. A setting unit that sets a set of the number of times of the hash function for each of the key and the second key, and a key generation unit, for each partial image data, for each of the first key and the second key A key generation unit that generates an individual key for the partial image data as a value obtained by executing the hash function according to the number of times corresponding to the set of the number of times set for the image data; For the first key, the upper right cell in the matrix has an origin (0, 0), and a coordinate axis in which the x coordinate is incremented by 1 in the horizontal left direction and the y coordinate is incremented by 1 in the vertical downward direction. Define and size x_ij = i when j = 0, x_ij = Nx + j-1 when j = 0, and x_ij = i when j = 0 for the cell of coordinates (i, j) of the matrix of x * Ny, When i = 0, y_ij = j, and j ≠ 0, y_ij = Ny + i−1. For the second key, the upper right cell in the matrix is the origin (0, 0), and A coordinate axis is defined such that the x coordinate is incremented by 1 in the horizontal left direction and the y coordinate is incremented by 1 in the vertical downward direction, and the coordinates in the matrix having a size of (Nx−2) * (Ny−2) ( When the set of the number of times for the cell of i ′, j ′) is (u′_i′j ′, v′_i′j ′), the coordinates (i, j) of the matrix whose size is Nx * Ny As a set (u_ij, v_ij) of the number of times for the cell, i = 0 and j = 0 If u_ij = 0 and v_ij = 0, and i = Nx-1 or j = Ny-1, then u_ij and v_ij are information indicating that the second key does not exist, and i = 0 When j ≠ 0, u_ij = u′_i (j−1) and v_ij = v′_i (j−1), and when j = 0 and i ≠ 0, u_ij = u′_ (I-1) j and v_ij = v ′ _ (i−1) j, and in other cases, u_ij = u ′ _ (i−1) (j−1) and v_ij = v ′ _ (i -1) Set as (j-1), and set the number of execution times of each cell in the matrix whose size is (Nx-2) * (Ny-2) with the same setting as the first key It is characterized by doing.

以上説明したように、本発明によれば、階層構造を有する部分画像データに対する鍵生成において、より計算量の少ない方式で、かつ、たとえ結託しても上位階層の部分画像データの個別鍵は生成できないことが可能となる。   As described above, according to the present invention, in generating keys for partial image data having a hierarchical structure, an individual key for higher-level partial image data is generated by a method with a smaller calculation amount and even when collated. It becomes possible not to be able to.

以下、図面を参照して、本発明の好適な実施形態を説明する。   Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.

<第1の実施形態>
図1は本発明に係る各実施形態を実現する情報処理装置の電気的構成を説明するための図である。なお、本発明の実現にあたって、図1に示される全ての機能を使用することは必須ではない。
<First Embodiment>
FIG. 1 is a diagram for explaining an electrical configuration of an information processing apparatus for realizing each embodiment according to the present invention. Note that, in realizing the present invention, it is not essential to use all the functions shown in FIG.

情報処理装置100は、図1に示すように、公衆回線等のモデム118、表示部としてのモニタ102、CPU103、ROM104、RAM105、HD(ハードディスク)106、ネットワークのネットワーク接続部107、CD108、FD(フレキシブルディスク)109、DVD(デジタル・ビデオ・ディスク、またはDigital Versatile Disk)110、プリンタ115のインターフェース(I/F)117、及び操作部としてのマウス112やキーボード113等のインターフェース(I/F)111が、バス116を介して互いに通信可能に接続されて構成されている。   As shown in FIG. 1, the information processing apparatus 100 includes a modem 118 such as a public line, a monitor 102 as a display unit, a CPU 103, a ROM 104, a RAM 105, an HD (hard disk) 106, a network connection unit 107, a CD 108, and an FD ( Flexible disk) 109, DVD (Digital Video Disk or Digital Versatile Disk) 110, interface (I / F) 117 of the printer 115, and interface (I / F) 111 such as a mouse 112 and a keyboard 113 as an operation unit. Are communicably connected to each other via a bus 116.

マウス112及びキーボード113は、情報処理装置100に対する各種指示等をユーザが入力するための操作部である。この操作部を介して入力された情報(操作情報)は、インターフェース111を介して、情報処理装置100内に取り込まれる。   The mouse 112 and the keyboard 113 are operation units for the user to input various instructions to the information processing apparatus 100. Information (operation information) input via the operation unit is taken into the information processing apparatus 100 via the interface 111.

情報処理装置100での各種情報(文字情報や画像情報等)は、プリンタ115により印刷出力できるようになされている。   Various information (character information, image information, etc.) in the information processing apparatus 100 can be printed out by the printer 115.

モニタ102は、ユーザへの各種指示情報や、文字情報或いは画像情報等の各種情報の表示を行う。   The monitor 102 displays various instruction information to the user and various information such as character information or image information.

CPU103は、情報処理装置100全体の動作制御を司るものであり、HD(ハードディスク)106等から処理プログラム(ソフトウェアプログラム)を読み出して実行することで、情報処理装置100全体を制御する。特に、本実施の形態では、CPU103は、HD106等から、鍵生成を実現する処理プログラムを読み出して実行することで、後述する情報処理を実施する。   The CPU 103 controls operation of the entire information processing apparatus 100, and controls the entire information processing apparatus 100 by reading and executing a processing program (software program) from the HD (hard disk) 106 or the like. In particular, in the present embodiment, the CPU 103 reads out and executes a processing program that realizes key generation from the HD 106 or the like, thereby performing information processing to be described later.

ROM104は、鍵生成のための処理プログラムや、プログラム内で用いられる各種データ(鍵生成用グラフなど)等を記憶する。   The ROM 104 stores a processing program for key generation, various data (such as a key generation graph) used in the program, and the like.

RAM105は、CPU103での各種処理のために、一時的に処理プログラムや処理対象の情報を格納するための作業用エリア等として使用される。   The RAM 105 is used as a work area or the like for temporarily storing a processing program and information to be processed for various processes in the CPU 103.

HD106は、大容量記憶装置の一例としての構成要素であり、各種データ、あるいは各種処理の実行時にRAM105等へ転送される情報変換処理等のための処理プログラム等を保存する。   The HD 106 is a component as an example of a large-capacity storage device, and stores various data or a processing program for information conversion processing that is transferred to the RAM 105 or the like when various processing is executed.

CD(CDドライブ)108は、外部記憶媒体の一例としてのCD(CD−R)に記憶されたデータを読み込み、また、当該CDへデータを書き出す機能を有する。   The CD (CD drive) 108 has a function of reading data stored in a CD (CD-R) as an example of an external storage medium and writing data to the CD.

FD(フロッピー(R)ディスクドライブ)109は、CD108と同様に、外部記憶媒体の一例としてのFD109に記憶されたデータを読み出す。また、種々のデータを上記FD109へ書き込む機能を有している。   Similar to the CD 108, the FD (floppy (R) disk drive) 109 reads data stored in the FD 109 as an example of an external storage medium. It also has a function of writing various data to the FD 109.

DVD(デジタル・ビデオ・ディスク)110は、CD108やFD109と同様に、外部記憶媒体の一例としてのDVD110に記憶されたデータを読み出し、また、上記DVD110へデータを書き込む機能を有している。   Similar to the CD 108 and the FD 109, the DVD (digital video disk) 110 has a function of reading data stored in the DVD 110 as an example of an external storage medium and writing data to the DVD 110.

なお、CD108、FD109、DVD110等の外部記憶媒体に対して、例えば、編集用のプログラム或いはプリンタドライバが記憶されている場合には、これらのプログラムをHD106へインストールしておき、必要に応じて、RAM105へ転送するように構成してもよい。   For example, when an editing program or a printer driver is stored in an external storage medium such as CD 108, FD 109, or DVD 110, these programs are installed in the HD 106, and if necessary, You may comprise so that it may transfer to RAM105.

インターフェース(I/F)111は、マウス112或いはキーボード113によるユーザからの入力を受け付けるためのものである。   An interface (I / F) 111 is used to receive input from the user via the mouse 112 or the keyboard 113.

モデム118は、通信モデムであり、インターフェース(I/F)119を介して、例えば、公衆回線等を通じて外部のネットワークに接続される。   The modem 118 is a communication modem, and is connected to an external network through an interface (I / F) 119 through, for example, a public line.

ネットワーク接続部107は、インターフェース(I/F)114を介して、外部のネットワークに接続される。   The network connection unit 107 is connected to an external network via an interface (I / F) 114.

以下、上述した装置による鍵の生成・管理について説明する。   Hereinafter, key generation / management by the above-described apparatus will be described.

[鍵生成概要]
まず、階層的鍵管理方式における各ノードの個別鍵の生成に関する説明から行う。
[Key generation overview]
First, a description will be given of generation of individual keys for each node in the hierarchical key management method.

尚、以降では、便宜上、図2に示すように、階層的鍵管理方式における木構造を行列と置き換えて説明する。図2の(A)は、7つの階層から構成され、16個のノードを有する木構造の例を示す。また、図2の(B)は、図2の(A)に示した木構造を行列に置き換えた例を示す。図2の(A)の各ノードに記された数字と、図2の(B)の各セルに記された数字は、同じ対応関係であることを示す。   In the following, for the sake of convenience, as shown in FIG. 2, the tree structure in the hierarchical key management method will be replaced with a matrix. FIG. 2A shows an example of a tree structure composed of seven hierarchies and having 16 nodes. FIG. 2B shows an example in which the tree structure shown in FIG. 2A is replaced with a matrix. The numbers written in each node in FIG. 2A and the numbers written in each cell in FIG. 2B indicate the same correspondence.

まず、図2の(A)に示したような木構造において、ルートノード(図中、”0”で示されるノード)を行列における一番右上のセルに対応付ける。そして、木構造における各ノードの子ノードのうち左に位置するノード、及び右に位置するノードを、夫々、行列のセルの左のセル、及び下のセルに対応付ける。この対応付けを全てのノード、及びセルに対して順に行うことにより、図2の(A)に示した木構造は図2の(B)に示した行列に置き換えることができる。   First, in the tree structure as shown in FIG. 2A, the root node (the node indicated by “0” in the figure) is associated with the upper right cell in the matrix. Then, the node located on the left and the node located on the right among the child nodes of each node in the tree structure are associated with the left cell and the lower cell of the matrix cell, respectively. By performing this association for all nodes and cells in order, the tree structure shown in FIG. 2A can be replaced with the matrix shown in FIG.

次に、本実施形態における鍵生成について説明する。鍵生成は、図3及び4に示される鍵生成用行列、及びグラフに従って行われる。   Next, key generation in the present embodiment will be described. Key generation is performed according to the key generation matrix and graph shown in FIGS.

各要素、及びノードごとの個別鍵は、木構造において、全ノードに共通した2つのオリジナル鍵からハッシュ関数を施して得られるタイプA鍵と、葉ノード(子ノードを有さないノード)以外のノードのみ得られるタイプB鍵の2つの種類に分けられる。   Individual keys for each element and each node other than a type A key obtained by applying a hash function from two original keys common to all nodes and leaf nodes (nodes having no child nodes) in the tree structure There are two types of type B keys that can be obtained only by nodes.

また、木構造においては、同階層に存在するノードの集合として「ランク」と呼ばれるグループを便宜上定義する。ルートノードをランク1とし、ランク番号は階層を経るごとに1ずつ増加することとする(図2の(A)参照)。   In the tree structure, a group called “rank” is defined for convenience as a set of nodes existing in the same hierarchy. The root node is assumed to be rank 1, and the rank number is incremented by 1 every time a hierarchy is passed (see FIG. 2A).

更に、行列においては、各セルの座標を示すために、最も右上の要素が原点(0,0)、そして水平左方向にx座標が増加し、垂直下方向にy座標が増加するような座標軸を定義する。この定義によれば、例えば、図2の(B)の”4”と記されている要素の座標は(1,1)、また”14”と記されている要素の座標は(2,3)と表現される(図2の(B)参照)。   Further, in the matrix, in order to show the coordinates of each cell, the coordinate axis is such that the uppermost element is the origin (0, 0), the x coordinate increases in the horizontal left direction, and the y coordinate increases in the vertical downward direction. Define According to this definition, for example, the coordinates of the element marked “4” in FIG. 2B are (1, 1), and the coordinates of the element marked “14” are (2, 3). ) (See FIG. 2B).

また、以降の説明では、行列の水平方向のセル数をNx、垂直方向のセル数をNyとする。   In the following description, the number of cells in the horizontal direction of the matrix is Nx, and the number of cells in the vertical direction is Ny.

[タイプA鍵]
タイプA鍵の例として図3の(A)及び図4の(A)を用いて説明する。図3の(A)はNx=4、Ny=4であるタイプA鍵の行列、そして図4の(A)はNx=5,Ny=5であるタイプA鍵の行列の例を示す。すべてのタイプA鍵が生成される元となる2つのオリジナル鍵をそれぞれx,yとする。図3の(A)及び図4の(A)においてそれぞれのセルに記載されている2つの数字はx,yに対して施すハッシュ関数の回数が表現されている。例えば[1,4]と記されているセルでは、タイプA鍵としてH(x)とH(H(H(H(y))))を保持するとする。今後ハッシュ演算をn度施す場合にはH^n()と略記して表現するものとする。この表記法に基づけば、[1,4]と記されているセルはH(x)とH^4(y)の2つのタイプA鍵を持つこととなる。
[Type A key]
An example of the type A key will be described with reference to FIG. 3A and FIG. 3A shows an example of a type A key matrix with Nx = 4 and Ny = 4, and FIG. 4A shows an example of a type A key matrix with Nx = 5 and Ny = 5. Let two original keys from which all type A keys are generated be x and y, respectively. In FIG. 3A and FIG. 4A, the two numbers described in each cell represent the number of hash functions to be applied to x and y. For example, in a cell marked [1, 4], it is assumed that H (x) and H (H (H (H (y)))) are held as type A keys. When a hash operation is performed n times in the future, it will be expressed as H ^ n (). Based on this notation, a cell marked [1,4] has two type A keys, H (x) and H ^ 4 (y).

[タイプB鍵]
タイプB鍵の例として図3の(B)及び図4の(B)を用いて説明する。図3の(B)及び図4の(B)は、それぞれ図3の(A)及び図4の(A)と同じサイズの行列を持っていることに注意する。行列における、最下行、及び最左列ではこれらの鍵は存在しない。鍵が存在しないことを示すために、以下では記号’N’を用いるものとする。また、最左列、最右列、最下行、及び最上行以外のセルには、サイズがNx−2、及びNy−2であるタイプA鍵の値がそのまま適応される。更に、これら以外の最上行のセルにはそのひとつ下のセルの値、そして最右行のセルにはその一つ左のセルの値が、夫々そのまま適応される。
[Type B key]
An example of a type B key will be described with reference to FIGS. 3B and 4B. Note that FIG. 3B and FIG. 4B have matrices of the same size as FIG. 3A and FIG. 4A, respectively. These keys do not exist in the bottom row and the leftmost column in the matrix. The symbol 'N' is used below to indicate that no key exists. In addition, the value of the type A key whose size is Nx-2 and Ny-2 is directly applied to the cells other than the leftmost column, the rightmost column, the lowermost row, and the uppermost row. Further, the value of the cell immediately below it is applied to the cells in the uppermost row other than these, and the value of the cell to the left is applied to the cells in the rightmost row as they are.

すべてのタイプA鍵が生成される元となる2つのオリジナル鍵をそれぞれu,vとする。タイプA鍵と同様に、図3の(B)、及び図4の(B)において夫々のセルに付加されている2つの数字はu,vに対して施すハッシュ関数の回数が表現されている。   Let u and v be two original keys from which all type A keys are generated, respectively. Similar to the type A key, two numbers added to the respective cells in FIGS. 3B and 4B represent the number of hash functions to be applied to u and v. .

更に、図4の(C)に示したように、タイプB鍵の行列のサイズのうち大きい方のサイズが5以上である場合には、図4の(C)に示すようにサイズがNx−2,及びNy−2である融合鍵が適応される。融合鍵についての詳細は後述する。   Furthermore, as shown in FIG. 4C, when the larger size of the type B key matrix is 5 or more, the size is Nx− as shown in FIG. 2 and Ny-2 fusion keys are applied. Details of the fusion key will be described later.

[融合鍵]
本実施形態では、以上説明したようなタイプA鍵、及びタイプB鍵を融合して用いる。以降では、タイプA鍵、及びタイプB鍵を融合した鍵を融合鍵と呼ぶ。図5に、図3に示したようなNx=4、Ny=4である場合の融合鍵の行列(図5(A))を示す。図5に示すように、同じセルに位置するタイプA鍵、及びタイプB鍵が融合され、対応する融合鍵が生成される。例えば、図5(A)において、セル(1,2)は、H^5(x)、H^4(y)、H^2(u)、及びH(v)という融合鍵を保持することを意味する。
[Fusion key]
In the present embodiment, the type A key and the type B key as described above are fused and used. Hereinafter, a key obtained by fusing the type A key and the type B key is referred to as a fused key. FIG. 5 shows a fusion key matrix (FIG. 5A) when Nx = 4 and Ny = 4 as shown in FIG. As shown in FIG. 5, the type A key and the type B key located in the same cell are fused to generate a corresponding fused key. For example, in FIG. 5A, cell (1, 2) holds fusion keys H ^ 5 (x), H ^ 4 (y), H ^ 2 (u), and H (v). Means.

尚、前述したように、以上説明したような本実施形態における鍵行列は、木構造としても表現できる。図5(A)に示した行列を木構造で表現した場合の例を、図5(B)に示す。   As described above, the key matrix in the present embodiment as described above can also be expressed as a tree structure. FIG. 5B shows an example of the case where the matrix shown in FIG. 5A is expressed by a tree structure.

[鍵生成用グラフの生成方法]
次に、図6を用いて、本実施形態における融合鍵を生成する処理方法について説明する。
[Key Generation Graph Generation Method]
Next, a processing method for generating a fusion key in this embodiment will be described with reference to FIG.

図6に示すように、まず、ステップS601は、融合鍵行列の水平方向、及び垂直方向のセル数を示す変数Nx,及びNyを初期化する。これは、アクセス制御を行う対象の数に応じて適当な値を設定するようにすればよい。例えば、6つの解像度と5つの画質を有する画像データに対して、解像度、及び画質に応じたアクセス制御を行うような場合には、Nx=6、及びNy=5のように設定する。しかしながら、本発明はこれに限定されることなく、種々のアクセス制御に対して適応可能である。更に、処理レベルを示す変数PLが0に初期化される。   As shown in FIG. 6, first, in step S601, variables Nx and Ny indicating the number of cells in the horizontal direction and the vertical direction of the fusion key matrix are initialized. An appropriate value may be set according to the number of objects to be subjected to access control. For example, when performing access control according to resolution and image quality for image data having 6 resolutions and 5 image quality, settings are made such that Nx = 6 and Ny = 5. However, the present invention is not limited to this, and can be applied to various access controls. Further, a variable PL indicating the processing level is initialized to 0.

次に、ステップS602は、融合鍵行列の各セルに格納される要素の数を初期化する。本実施形態においては、後述する融合鍵生成処理により生成される一つのセルに格納されるべき融合鍵の数が要素数として設定される。本実施形態における融合鍵生成処理においては、ひとつのセルに対してMin(Nx,Ny)個の融合鍵が生成されるため、要素数をMin(Nx,Ny)に設定する。尚、Min(a,b)はa,及びbのうち小さな値を選択する演算である。例えば、前述したようにNx=6,及びNy=5であるような場合は、一つのセルに格納される要素数を5に初期化する。   Next, step S602 initializes the number of elements stored in each cell of the fusion key matrix. In the present embodiment, the number of fusion keys to be stored in one cell generated by the fusion key generation process described later is set as the number of elements. In the fusion key generation process in this embodiment, since Min (Nx, Ny) fusion keys are generated for one cell, the number of elements is set to Min (Nx, Ny). Min (a, b) is an operation for selecting a smaller value from a and b. For example, if Nx = 6 and Ny = 5 as described above, the number of elements stored in one cell is initialized to 5.

ステップS603は、処理レベルPLにおけるサイズNx*Nyの融合鍵行列を生成する。本実施形態における融合鍵生成処理についての詳細は後述する。   Step S603 generates a fusion key matrix of size Nx * Ny at the processing level PL. Details of the fusion key generation process in this embodiment will be described later.

そして、ステップS604は、生成された夫々の処理レベルPLにおける融合鍵をひとつの融合鍵行列に融合する。本実施形態においては、処理レベルPL=0のタイプA鍵と処理レベルPL=0のタイプB鍵を融合し、更に、それ以降の(処理レベルPL1以上の)全ての生成されたタイプB鍵を融合する。   In step S604, the generated fusion key at each processing level PL is merged into one fusion key matrix. In the present embodiment, the type A key with the processing level PL = 0 and the type B key with the processing level PL = 0 are merged, and all the generated type B keys (after the processing level PL1) after that are merged. To merge.

以上、本実施形態における融合鍵を生成する処理方法について説明した。   The processing method for generating the fusion key in the present embodiment has been described above.

次に、本実施形態における融合鍵生成処理について図7を用いて説明する。図7は、本実施形態における融合鍵生成処理を説明するフローチャートである。   Next, the fusion key generation process in this embodiment will be described with reference to FIG. FIG. 7 is a flowchart for explaining the fusion key generation process in this embodiment.

図7に示すように、まず、ステップS701はMax(Nx,Ny)が2以下であるか否かを判定する。尚、Max(a,b)はa,及びbのうち大きな値を選択する演算子である。値が2以下である場合には処理をステップS702に進める。さもなければ、処理をステップS703に進める。   As shown in FIG. 7, first, in step S701, it is determined whether Max (Nx, Ny) is 2 or less. Note that Max (a, b) is an operator that selects a large value from a and b. If the value is 2 or less, the process proceeds to step S702. Otherwise, the process proceeds to step S703.

ステップS702は、処理レベルPLにおけるサイズNx*NyのタイプA鍵行列を生成し、タイプA鍵行列を生成した後、融合鍵生成処理を終了する。   A step S702 generates a type A key matrix of size Nx * Ny at the processing level PL, generates a type A key matrix, and then ends the fusion key generation process.

一方、ステップS703は、処理レベルPL+1におけるサイズ(Nx−2)*(Ny−2)の融合鍵行列を生成する。更に、融合鍵行列を生成した後、ステップS704は、処理レベルPLにおけるNx*NyのタイプB鍵行列を生成し、融合鍵生成処理を終了する。   On the other hand, step S703 generates a fusion key matrix of size (Nx-2) * (Ny-2) at the processing level PL + 1. Further, after generating the fusion key matrix, step S704 generates an Nx * Ny type B key matrix at the processing level PL, and ends the fusion key generation process.

以上説明したように、本実施形態においては、処理レベルPLにおけるサイズNx*Nyの融合鍵行列を生成するために、処理レベルPLにおけるサイズ(Nx−2)*(Ny−2)である融合鍵行列が再帰的に生成される。即ち、よりサイズの小さな融合鍵行列を用いて、より大きな融合鍵行列が順に生成される。   As described above, in the present embodiment, in order to generate a fusion key matrix having a size Nx * Ny at the processing level PL, a fusion key having a size (Nx-2) * (Ny-2) at the processing level PL. A matrix is generated recursively. That is, a larger fusion key matrix is sequentially generated using a smaller fusion key matrix.

次に、タイプA鍵の行列の生成方法について図8のフローチャートを用いて説明する。   Next, a method of generating a type A key matrix will be described with reference to the flowchart of FIG.

まず、ステップS801は、変数i、及びjを0に設定する。変数i、及びjは夫々行列の水平方向、及び垂直方向の座標を示すインデックスである。   First, in step S801, variables i and j are set to zero. Variables i and j are indices indicating the horizontal and vertical coordinates of the matrix, respectively.

そして、ステップS802は変数Nyの値を評価する。もしNyが1であれば処理をステップS814に進める。さもなければ、処理をステップS803に進める。   In step S802, the value of the variable Ny is evaluated. If Ny is 1, the process proceeds to step S814. Otherwise, the process proceeds to step S803.

ステップS803は変数jの値を評価する。もしjが0であれば処理をステップS804に進める。さもなければ、処理をステップS805に進める。そして、ステップS804は、セル(i,j)のx鍵x_(i,j)に値iを代入する。一方、ステップS805は、セル(i,j)のx鍵x_(i,j)に値Nx+j−1を代入する。その後、処理をステップS814に進める。   In step S803, the value of the variable j is evaluated. If j is 0, the process proceeds to step S804. Otherwise, the process proceeds to step S805. In step S804, the value i is assigned to the x key x_ (i, j) of the cell (i, j). On the other hand, step S805 substitutes the value Nx + j−1 for the x key x_ (i, j) of the cell (i, j). Thereafter, the process proceeds to step S814.

ステップS814は変数Nxの値を評価する。もしNxが1であれば処理をステップS809に進める。さもなければ、処理をステップS806に進める。   In step S814, the value of the variable Nx is evaluated. If Nx is 1, the process proceeds to step S809. Otherwise, the process proceeds to step S806.

ステップS806は変数iの値を評価する。もしiが0であれば処理をステップS807に進める。さもなければ、処理をステップS808に進める。そして、ステップS807は、セル(i,j)のy鍵y_(i,j)に値jを代入する。一方、ステップS808は、セル(i,j)のy鍵y_(i,j)に値Ny+i−1を代入する。その後、処理をステップS809に進める。   In step S806, the value of the variable i is evaluated. If i is 0, the process proceeds to step S807. Otherwise, the process proceeds to step S808. In step S807, the value j is substituted into the y key y_ (i, j) of the cell (i, j). On the other hand, step S808 substitutes the value Ny + i−1 for the y key y_ (i, j) of the cell (i, j). Thereafter, the process proceeds to step S809.

ステップS809は変数iを1だけ増やし、処理をステップS810に進める。そして、ステップS810において変数iの値が評価される。もしiがNxより小さい場合には処理をステップS803に進める。さもなければ、処理をステップS813に進め、変数iを0に初期化した後、処理をステップS811に進める。   In step S809, the variable i is increased by 1, and the process proceeds to step S810. In step S810, the value of the variable i is evaluated. If i is smaller than Nx, the process proceeds to step S803. Otherwise, the process proceeds to step S813, the variable i is initialized to 0, and the process proceeds to step S811.

ステップS811は変数jを1だけ増やし、処理をステップS812に進める。そして、ステップS812において変数jの値が評価される。もしjがNyより小さい場合には処理をステップS803に進める。さもなければ、タイプA鍵生成処理を終了する。   In step S811, the variable j is incremented by 1, and the process proceeds to step S812. In step S812, the value of the variable j is evaluated. If j is smaller than Ny, the process proceeds to step S803. Otherwise, the type A key generation process is terminated.

以上、本実施形態におけるタイプA鍵の行列の生成方法について説明した。以上説明したような方法により、Nx=4、Ny=4の場合、図3の(A)に記載したタイプA鍵の行列を生成することができる。また、Nx=5,Ny=5の場合には、同様に図4の(A)に記載したタイプA鍵の行列を生成することができる。   The type A key matrix generation method in the present embodiment has been described above. By the method described above, when Nx = 4 and Ny = 4, the type A key matrix described in FIG. 3A can be generated. When Nx = 5 and Ny = 5, the type A key matrix described in FIG. 4A can be generated in the same manner.

次に、タイプB鍵の行列の生成方法について図9のフローチャートを用いて説明する。まず、ステップS902は、変数i、及びjを0に設定する。変数i、及びjは夫々行列の水平方向、及び垂直方向の座標を示すインデックスである。   Next, a method for generating a type B key matrix will be described with reference to the flowchart of FIG. First, in step S902, variables i and j are set to zero. Variables i and j are indices indicating the horizontal and vertical coordinates of the matrix, respectively.

そして、ステップS903は変数i,及びjの値を評価する。もしi,及びjが共に0である場合には、処理をステップS904に進める。さもなければ、処理をステップS905に進める。ステップS904では、セル(i,j)のu鍵u_(i,j)、及びセル(i,j)のv鍵v_(i,j)に共に0を代入する。その後、処理をステップS911に進める。尚、Nx=3の場合はu鍵u_(i,j)は生成せず、Ny=3の場合は、v鍵v_(i,j)は生成しない。   In step S903, the values of the variables i and j are evaluated. If i and j are both 0, the process proceeds to step S904. Otherwise, the process proceeds to step S905. In step S904, 0 is assigned to both the u key u_ (i, j) of the cell (i, j) and the v key v_ (i, j) of the cell (i, j). Thereafter, the process proceeds to step S911. Note that the u key u_ (i, j) is not generated when Nx = 3, and the v key v_ (i, j) is not generated when Ny = 3.

ステップS905は変数i,及びjの値を評価する。もしiがNx−1、或いはjがNy−1に等しければ、処理をステップS906に進める。さもなければ、処理をステップS907に進める。ステップS906は、セル(i,j)のu鍵u_(i,j)、及びセル(i,j)のv鍵v_(i,j)に共に’N’を代入する。尚、前述したように’N’は鍵を設定しないことを示す符号である。その後、処理をステップS911に進める。尚、Nx=3の場合はu鍵u_(i,j)は生成せず、Ny=3の場合は、v鍵v_(i,j)は生成しない。   In step S905, the values of the variables i and j are evaluated. If i is equal to Nx-1, or j is equal to Ny-1, the process proceeds to step S906. Otherwise, the process proceeds to step S907. In step S906, 'N' is assigned to both the u key u_ (i, j) of the cell (i, j) and the v key v_ (i, j) of the cell (i, j). As described above, 'N' is a code indicating that no key is set. Thereafter, the process proceeds to step S911. Note that the u key u_ (i, j) is not generated when Nx = 3, and the v key v_ (i, j) is not generated when Ny = 3.

ステップS907は変数iの値を評価する。もしiが0なら、処理をステップS908に進める。さもなければ、処理をステップS909に進める。ステップS908は、セル(i,j)のu鍵u_(i,j)にu’_(0,j−1)を、また、セル(i,j)のv鍵v_(i,j)にv’_(0,j−1)を代入する。ここで、u’、及びv’は処理レベルがPL+1、即ち、行列のサイズが(Nx−2)*(Ny−2)であるタイプA鍵を表している。処理レベルがPL+1であるタイプA鍵は、タイプB鍵生成処理(図7におけるステップS704)の前段において、融合鍵生成処理(図7におけるステップS703)中で予め生成されている。その後、処理をステップS911に進める。尚、Nx=3の場合はu鍵u_(i,j)は生成せず、Ny=3の場合は、v鍵v_(i,j)は生成しない。   In step S907, the value of the variable i is evaluated. If i is 0, the process proceeds to step S908. Otherwise, the process proceeds to step S909. In step S908, u ′ _ (0, j−1) is assigned to the u key u_ (i, j) of the cell (i, j) and v key v_ (i, j) of the cell (i, j). Substitute v ′ _ (0, j−1). Here, u ′ and v ′ represent a type A key whose processing level is PL + 1, that is, whose matrix size is (Nx−2) * (Ny−2). The type A key whose processing level is PL + 1 is generated in advance in the fusion key generation process (step S703 in FIG. 7) before the type B key generation process (step S704 in FIG. 7). Thereafter, the process proceeds to step S911. Note that the u key u_ (i, j) is not generated when Nx = 3, and the v key v_ (i, j) is not generated when Ny = 3.

ステップS909は変数jの値を評価する。もしjが0なら、処理をステップS910に進める。さもなければ処理をステップS915に進める。ステップS910は、セル(i,j)のu鍵u_(i,j)にu’_(i−1,0)を、また、セル(i,j)のv鍵v_(i,j)にv’_(i−1,0)を代入する。一方、ステップS915は、(i,j)のu鍵u_(i,j)にu’_(i−1,j−1)を、また、セル(i,j)のv鍵v_(i,j)にv’_(i−1,j−1)を代入する。その後、処理をステップS911に進める。尚、Nx=3の場合はu鍵u_(i,j)は生成せず、Ny=3の場合は、v鍵v_(i,j)は生成しない。   In step S909, the value of the variable j is evaluated. If j is 0, the process proceeds to step S910. Otherwise, the process proceeds to step S915. In step S910, u ′ _ (i−1,0) is assigned to the u key u_ (i, j) of the cell (i, j), and v key v_ (i, j) of the cell (i, j). Substitute v '_ (i-1, 0). On the other hand, in step S915, u ′ _ (i−1, j−1) is assigned to the u key u_ (i, j) of (i, j), and the v key v_ (i, j, of cell (i, j)). Substitute v ′ _ (i−1, j−1) for j). Thereafter, the process proceeds to step S911. Note that the u key u_ (i, j) is not generated when Nx = 3, and the v key v_ (i, j) is not generated when Ny = 3.

ステップS911は変数iを1だけ増やし、処理をステップS912に進める。そして、ステップS912において変数iの値が評価される。もしiがNxより小さい場合には処理をステップS903に進める。さもなければ、処理をステップS915に進め、変数iを0に初期化した後、処理をステップS913に進める。   In step S911, the variable i is increased by 1, and the process proceeds to step S912. In step S912, the value of the variable i is evaluated. If i is smaller than Nx, the process proceeds to step S903. Otherwise, the process proceeds to step S915, the variable i is initialized to 0, and the process proceeds to step S913.

ステップS913は変数jを1だけ増やし、処理をステップS914に進める。そして、ステップS914において変数jの値が評価される。もしjがNyより小さい場合には処理をステップS903に進める。さもなければ、タイプB鍵生成処理を終了する。   In step S913, the variable j is increased by 1, and the process proceeds to step S914. In step S914, the value of the variable j is evaluated. If j is smaller than Ny, the process proceeds to step S903. Otherwise, the type B key generation process is terminated.

以上、本実施形態におけるタイプB鍵の行列の生成方法について説明した。以上説明したような方式により、Nx=4,Ny=4の場合、図3(B)に記載したタイプB鍵の行列を生成することが出来る。また、Nx=5,Ny=5の場合には、同様に図4(A)に記載したタイプB鍵の行列を生成することができる。   The type B key matrix generation method in the present embodiment has been described above. By the method described above, when Nx = 4 and Ny = 4, the type B key matrix shown in FIG. 3B can be generated. When Nx = 5 and Ny = 5, the type B key matrix shown in FIG. 4A can be generated in the same manner.

[鍵生成の正当性]
上記のグラフ生成方式は次の条件を満たすように生成されている。
・ノードはその孫ノードの鍵だけを生成できること
・子ノードの鍵情報からは(一方向性関数が脆弱にならない限り)親ノードの鍵は生成できないこと
・任意の二つ以上のエンティティが結託しても、夫々のエンティティより上位に位置するノードの鍵は生成できないこと
これらの条件により、安全に鍵生成と鍵配布を行うことができる階層的鍵管理方式が実現できる。
[Validity of key generation]
The above graph generation method is generated so as to satisfy the following conditions.
-A node can only generate keys for its grandchild nodes-It cannot generate keys for its parent node from the key information of child nodes (unless the one-way function becomes weak)-Any two or more entities can collaborate However, it is impossible to generate a key for a node located above each entity. With these conditions, a hierarchical key management system capable of securely generating and distributing keys can be realized.

[鍵配布]
ルート鍵配布者(ルートノードのエンティティ)による各ノードへの鍵配布方法と、ルート鍵配布者以外の個別鍵を保持するエンティティによる下位ノードへの鍵配布方法とについて、それぞれ説明する。まずルート鍵配布者は、鍵x,y,u,vをランダムに且つ安全に生成し、それらを自身の個別鍵とする。さらに前述した鍵生成手順により各ノードに複数の鍵を配置する。ルート鍵配布者は各ノードに位置するエンティティに対して、各ノードの鍵を安全に配布する。また、図3及び4に示されているような鍵配布グラフを公開し、各エンティティに対して、配布された鍵がグラフのどの位置の鍵であるかを識別できるデータを配布する。このデータは例えば、木構造におけるランク番号と、同一ランク内の何番目かを示すランク内識別番号とにより構成したり、或いは行列における座標により構成したりするようにすれば良い。
[Key distribution]
A key distribution method to each node by the root key distributor (entity of the root node) and a key distribution method to lower nodes by an entity holding an individual key other than the root key distributor will be described. First, the root key distributor generates keys x, y, u, and v randomly and securely, and sets them as their own individual keys. Further, a plurality of keys are arranged at each node by the above-described key generation procedure. The root key distributor securely distributes the key of each node to the entity located at each node. Also, a key distribution graph as shown in FIGS. 3 and 4 is made public, and data that can identify the position of the distributed key in the graph is distributed to each entity. For example, this data may be constituted by a rank number in a tree structure and an in-rank identification number indicating the number within the same rank, or may be constituted by coordinates in a matrix.

次に、ルート鍵配布者以外の個別鍵を保持するエンティティによる鍵配布方法について説明する。個別鍵と鍵配布グラフにおける鍵の位置を示す識別データから、子ノードもしくは、孫ノードに対する鍵データを生成する。例えば図5の(A)において、融合鍵としてx’,y’,u’,v’を持ち、これが行列においてセル(1,1)、即ちグラフ上の位置でランク3の2番目であるとすると、[4,4,0,0]に対応する。このエンティティは、セル(2,1)、即ちランク4の2番目にある子ノードに対して、H^4(x)=H^0(H^4(x))=x’、H^5(y)=H^1(H^4(y))=H^1(y’)、H(u)=H^1(H^0(u))=H^1(u’)、及びH^2(v)=H^2(H^0(v))=H^2(v’)であるから、セル(2,1)の鍵として、H^4(x’)、H(y’)、H^1(u’)、及びH^2(v’)を配布することができる。同様に別の子ノードや孫ノードに対する鍵も生成できることは明らかである。   Next, a key distribution method by an entity holding an individual key other than the root key distributor will be described. Key data for the child node or grandchild node is generated from the identification data indicating the position of the key in the individual key and the key distribution graph. For example, in FIG. 5A, it has x ′, y ′, u ′, v ′ as a fusion key, and this is the cell (1, 1) in the matrix, that is, the second rank 3 at the position on the graph. Then, it corresponds to [4, 4, 0, 0]. This entity is H ^ 4 (x) = H ^ 0 (H ^ 4 (x)) = x ', H ^ 5 for cell (2,1), the second child node in rank 4 (Y) = H ^ 1 (H ^ 4 (y)) = H ^ 1 (y '), H (u) = H ^ 1 (H ^ 0 (u)) = H ^ 1 (u'), and Since H ^ 2 (v) = H ^ 2 (H ^ 0 (v)) = H ^ 2 (v '), H ^ 4 (x'), H ( y ′), H 1 (u ′), and H 2 (v ′) can be distributed. It is clear that keys for other child nodes and grandchild nodes can be generated in the same manner.

[情報処理装置における鍵生成・配布処理]
前記情報処理装置100において以上の鍵生成・配布処理を行う手順について説明する。画像などの管理対象データをCD108もしくはネットワークのネットワーク接続部107を通して取得しHD106に格納するか、もしくはHD106に既に格納されているデータの中から選択する。ここで、ユーザはモニタ102に表示した一覧からマウス112もしくはキーボード113などを使って選択する。
[Key generation / distribution processing in information processing devices]
A procedure for performing the above key generation / distribution processing in the information processing apparatus 100 will be described. Data to be managed such as images is acquired through the CD 108 or the network connection unit 107 of the network and stored in the HD 106 or selected from data already stored in the HD 106. Here, the user selects from the list displayed on the monitor 102 using the mouse 112 or the keyboard 113.

管理対象データに対して何階層の階層軸を持たせるかなどのアクセス制御構造を同様の方法を用いてユーザが選択すると、その構造に応じた鍵生成用グラフをCPU103を用いて計算を行い、RAM105やHD106などに格納する。   When the user selects an access control structure such as how many hierarchy axes to have for the management target data using a similar method, a key generation graph corresponding to the structure is calculated using the CPU 103, The data is stored in the RAM 105, the HD 106, or the like.

ROM104やRAM105やHD106もしくはマウス112の動作などのデータからランダムデータを生成し、そのランダムデータを用いて、複数のオリジナル鍵を生成し、RAM105やHD106などに格納する。さらに鍵生成用グラフにおける各ノードの個別鍵をオリジナル鍵から演算し、RAM105やHD106などに格納する。   Random data is generated from data such as the operation of the ROM 104, RAM 105, HD 106, or mouse 112, and a plurality of original keys are generated using the random data and stored in the RAM 105, HD 106, or the like. Further, the individual key of each node in the key generation graph is calculated from the original key and stored in the RAM 105, HD 106, or the like.

他の情報処理装置に対して、RAM105やHD106などに格納された個別鍵を読み出して、ネットワーク接続部107を通じてネットワークを介して配布を行う。   The individual keys stored in the RAM 105, HD 106, etc. are read out to other information processing apparatuses and distributed via the network through the network connection unit 107.

[階層軸ごとに異なるレベル数の階層的アクセス構造]
図3及び4ではNx,及びNyが等しい場合の例のみを取り上げた(図3ではNx=Ny=4、図4ではNx=Ny=5あった)が、Nx,及びNyが異なる場合も同様の方法で生成できることを、タイプA鍵について図10の(A)に示し、タイプB鍵について図10の(B)に示す。図10では、Nx=3,Ny=4であるが、図8および図9に記載のフローチャートに基づき正常に処理することができることがわかる。
[Hierarchical access structure with different number of levels for each hierarchy axis]
3 and 4 only illustrate the case where Nx and Ny are equal (Nx = Ny = 4 in FIG. 3 and Nx = Ny = 5 in FIG. 4), but the same applies when Nx and Ny are different. FIG. 10A shows a type A key and FIG. 10B shows a type B key that can be generated by this method. In FIG. 10, Nx = 3 and Ny = 4, but it can be seen that normal processing can be performed based on the flowcharts shown in FIGS.

<第2の実施形態>
第1の実施形態における鍵配布方式により生成された階層的な構造を持つ鍵データを用いたアクセス制御の好適例を説明する。図3及び図4で表現されている鍵生成用グラフは2つの階層軸を持っている。このうち1つ(左下方向)を解像度、もう片方(右下方向)を画像領域とした場合の例を図12に示す。
<Second Embodiment>
A preferred example of access control using key data having a hierarchical structure generated by the key distribution method in the first embodiment will be described. The key generation graphs represented in FIGS. 3 and 4 have two hierarchical axes. FIG. 12 shows an example in which one of the resolutions (lower left direction) is the resolution and the other (lower right direction) is the image area.

解像度には高、中、低の3つのレベルがあり、取得できる画像の解像度を示す。画像領域にも3つのレベルがあり、すべての領域、サブ領域A、(サブ領域Aよりも狭い)サブ領域B、の閲覧の権限が与えられるとする。このときルートに位置する権限の最も大きいノードには(解像度=高、画像領域=すべて)が割り当てられ、最下位のノードには(解像度=低、画像領域=領域B)が割り当てられている。   There are three levels of resolution, high, medium, and low, which indicate the resolution of the image that can be acquired. There are also three levels in the image area, and the authority to view all areas, sub-area A, and sub-area B (narrower than sub-area A) is given. At this time, the node having the highest authority located in the root is assigned (resolution = high, image region = all), and the lowest node is assigned (resolution = low, image region = region B).

図11に則った鍵配布を行う場合を例として、鍵配布方法および画像暗号化方法を説明する。図11はNx=3,Ny=3である場合のタイプA鍵(図11の(A))、及びタイプB鍵(図11の(B))の例である。対象画像データIMGは領域Bの画像データIMG1、領域A差分データをIMG_2、すべての画像データを得るための差分データをIMG_3とする。つまりIMG=IMG_1+IMG_2+IMG_3である。また、それぞれのIMG_iは低解像度データをIMG_i(L)、中解像度差分データをIMG_i(M)、高解像度差分データをIMG_i(H)とする。つまりIMG_i=IMG_i(L)+IMG_i(M)+IMG_i(H)である。   The key distribution method and the image encryption method will be described by taking the case of performing key distribution according to FIG. 11 as an example. FIG. 11 is an example of a type A key ((A) in FIG. 11) and a type B key ((B) in FIG. 11) when Nx = 3 and Ny = 3. The target image data IMG is image data IMG1 of region B, region A difference data is IMG_2, and difference data for obtaining all image data is IMG_3. That is, IMG = IMG_1 + IMG_2 + IMG_3. Each IMG_i is defined as IMG_i (L) for low resolution data, IMG_i (M) for medium resolution difference data, and IMG_i (H) for high resolution difference data. That is, IMG_i = IMG_i (L) + IMG_i (M) + IMG_i (H).

まずルート鍵配布者はランダムにオリジナル鍵x,y,uを生成する。暗号化に使う鍵Key(<High,All>):=H(x||y||u)とし、この鍵でIMG_3(H)を暗号化する。ただし||はデータの連結とする。それぞれの子ノードでは取得した3つのデータをルートノードと同様に連結して暗号鍵を生成し、図13に記載のデータを暗号化する。   First, the root key distributor randomly generates original keys x, y, and u. Key Key (<High, All>) used for encryption: = H (x || y || u), and IMG — 3 (H) is encrypted with this key. However, || is data concatenation. Each child node concatenates the acquired three data in the same manner as the root node to generate an encryption key, and encrypts the data shown in FIG.

例えば、<Mid,All>ノードでは、鍵データとしてH(x),H^3(y),uが与えられているが、暗号鍵Key(<Mid,All>):=H(H(x)||H^3(y)||u)とし、この鍵でIMG_3(M)を暗号化する。暗号化されたデータを復号する際には、同様の処理を行って暗号鍵を計算し復号処理をして適切な画像データを取得する。   For example, in the <Mid, All> node, H (x), H ^ 3 (y), u are given as key data, but the encryption key Key (<Mid, All>): = H (H (x ) || H ^ 3 (y) || u), and IMG — 3 (M) is encrypted with this key. When decrypting the encrypted data, the same processing is performed to calculate the encryption key, and decryption processing is performed to obtain appropriate image data.

本実施形態では、暗号鍵の生成方式として鍵を連結してハッシュする方式を採用したが、その他の鍵連結方式(複数の鍵データから1つの鍵を計算する方式)に従ってもかまわない。   In this embodiment, a method of concatenating and hashing keys is used as a method for generating an encryption key, but other key concatenation methods (methods for calculating one key from a plurality of key data) may be used.

また、本実施形態では解像度と画像領域を階層軸として取り上げたが、本発明はこれに限定されることなく、画質や時間軸や利用制御情報などアクセス制御の対象とすべき階層の中から、任意の二つ以上の階層を選択して利用することも可能である。   Further, in the present embodiment, the resolution and the image area are taken as a hierarchical axis, but the present invention is not limited to this, and from the hierarchy that should be subject to access control such as image quality, time axis, and usage control information, It is also possible to select and use any two or more hierarchies.

<ソフトウエアなどによる他の実施の形態>
本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタ等)から構成されるシステムの一部として適用しても、ひとつの機器(たとえば複写機、ファクシミリ装置)からなるものの一部に適用してもよい。
<Other embodiments using software, etc.>
Even if the present invention is applied as a part of a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), a part of a device composed of a single device (for example, a copying machine, a facsimile machine). You may apply to.

また、本発明は上記実施の形態を実現するための装置及び方法及び実施の形態で説明した方法を組み合わせて行う方法のみに限定されるものではなく、上記システムまたは装置内のコンピュータ(CPUあるいはMPU)に、上記実施の形態を実現するためのソフトウエアのプログラムコードを供給し、このプログラムコードに従って上記システムあるいは装置のコンピュータが上記各種デバイスを動作させることにより上記実施の形態を実現する場合も本発明の範疇に含まれる。   Further, the present invention is not limited to the apparatus and method for realizing the above-described embodiment and the method performed by combining the methods described in the embodiment, but is not limited to the computer (CPU or MPU) in the system or apparatus. This is also the case when the above-described embodiment is realized by supplying software program code for realizing the above-described embodiment and causing the computer of the system or apparatus to operate the various devices according to the program code. It is included in the category of the invention.

またこの場合、前記ソフトウエアのプログラムコード自体が上記実施の形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、具体的には上記プログラムコードを格納した記憶媒体は本発明の範疇に含まれる。   In this case, the program code of the software itself realizes the function of the above embodiment, and the program code itself and means for supplying the program code to the computer, specifically, the program code Is included in the scope of the present invention.

この様なプログラムコードを格納する記憶媒体としては、例えばフロッピー(R)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。   As a storage medium for storing such a program code, for example, a floppy (R) disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.

また、上記コンピュータが、供給されたプログラムコードのみに従って各種デバイスを制御することにより、上記実施の形態の機能が実現される場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して上記実施の形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。   The computer controls various devices according to only the supplied program code so that the functions of the above-described embodiments are realized, and the OS (operating system) on which the program code is running on the computer is also provided. Such program code is also included in the scope of the present invention even when the above embodiment is realized in cooperation with a system) or other application software.

更に、この供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施の形態が実現される場合も本発明の範疇に含まれる。   Further, after the supplied program code is stored in the memory of the function expansion board of the computer or the function expansion unit connected to the computer, the program code is stored in the function expansion board or function storage unit based on the instruction of the program code. The case where the above-described embodiment is realized by performing a part or all of the actual processing and the processing is included in the scope of the present invention.

本発明の実施の形態に係る処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the processing apparatus which concerns on embodiment of this invention. 第1の実施形態に係る木構造と行列の対応関係を説明する図である。It is a figure explaining the correspondence of the tree structure and matrix which concern on 1st Embodiment. 第1の実施形態に係る鍵生成用グラフの例を示す図である。It is a figure which shows the example of the graph for key generation which concerns on 1st Embodiment. 第1の実施形態に係る鍵生成用グラフの他の例を示す図である。It is a figure which shows the other example of the graph for key generation concerning 1st Embodiment. 第1の実施形態に係る融合鍵を説明する図である。It is a figure explaining the fusion key which concerns on 1st Embodiment. 第1の実施形態に係る融合鍵を生成するフローチャートである。It is a flowchart which produces | generates the fusion key which concerns on 1st Embodiment. 第1の実施形態に係るサイズがNx*Nyの融合鍵を生成するフローチャートである。It is a flowchart which produces | generates the fusion key whose size which concerns on 1st Embodiment is Nx * Ny. 第1の実施形態に係るタイプAの鍵を生成する手順を示すフローチャートである。It is a flowchart which shows the procedure which produces | generates the type A key which concerns on 1st Embodiment. 第1の実施形態に係るタイプBの鍵を生成する手順を示すフローチャートである。It is a flowchart which shows the procedure which produces | generates the type B key which concerns on 1st Embodiment. 階層軸ごとにレベル数が異なる鍵生成用グラフの他の例を示す図である。It is a figure which shows the other example of the graph for key generation from which a number of levels differs for every hierarchy axis | shaft. 第2の実施形態に係る鍵生成用グラフの例を示す図である。It is a figure which shows the example of the graph for key generation concerning 2nd Embodiment. 第2の実施形態に係る階層型アクセス構造を説明する概念図である。It is a conceptual diagram explaining the hierarchical access structure which concerns on 2nd Embodiment. 第2の実施形態に係る各ノードが暗号化すべき画像リストを表わす表である。It is a table | surface showing the image list which each node which concerns on 2nd Embodiment should encrypt. 木構造管理方式における2分木アクセス構造を説明する概念図である。It is a conceptual diagram explaining the binary tree access structure in a tree structure management system. 階層的なアクセス制御方式におけるアクセス構造を説明する概念図である。It is a conceptual diagram explaining the access structure in a hierarchical access control system. 階層的なアクセス制御方式におけるアクセス構造を説明する概念図である。It is a conceptual diagram explaining the access structure in a hierarchical access control system. 階層的なアクセス制御方式における局所的構造を説明する概念図である。It is a conceptual diagram explaining the local structure in a hierarchical access control system. User multiple keyingの例を説明する図である。It is a figure explaining the example of User multiple keying. One−way function based keying schemesを説明する図である。It is a figure explaining One-way function based keying schemes.

符号の説明Explanation of symbols

100 情報処理装置
102 モニタ
103 CPU
104 ROM
105 RAM
106 HD
107 ネットワーク接続部
108 CDドライブ
109 FDドライブ
110 DVDドライブ
111 インターフェース
112 マウス
113 キーボード
114 インターフェース
115 プリンタ
116 バス
117 インターフェース
118 モデム
119 インターフェース
100 Information processing apparatus 102 Monitor 103 CPU
104 ROM
105 RAM
106 HD
107 Network Connection Unit 108 CD Drive 109 FD Drive 110 DVD Drive 111 Interface 112 Mouse 113 Keyboard 114 Interface 115 Printer 116 Bus 117 Interface 118 Modem 119 Interface

Claims (4)

情報処理装置の制御方法であって、
設定手段が、画像データの画質、解像度、画像領域のいずれか2つからなる階層関係を持つ複数の部分画像データの各部分画像データに対して、第1の鍵と第2の鍵それぞれに対するハッシュ関数の回数の組を設定する設定工程と、
鍵生成手段が、前記各部分画像データにつき、前記第1の鍵と前記第2の鍵のそれぞれに当該部分画像データに対して設定された前記回数の組の対応する回数に応じて前記ハッシュ関数を実行した値として、当該部分画像データに対する個別鍵を生成する鍵生成工程を有し、
前記設定工程において、前記第1の鍵に関しては、行列に最右上のセルが原点(0,0)、及び水平左方向にx座標が1ずつ増加し、垂直下方向にy座標が1ずつ増加するような座標軸を定義し、大きさがNx*Nyである行列の座標(i,j)のセルに対する前記回数の組(x_ij,y_ij)として、
j=0の場合、x_ij=i、
j≠0の場合、x_ij=Nx+j−1とし、且つ、
i=0の場合、y_ij=j、
j≠0の場合、y_ij=Ny+i−1と設定し、
前記第2の鍵に関しては、行列に最右上のセルが原点(0,0)、及び水平左方向にx座標が1ずつ増加し、垂直下方向にy座標が1ずつ増加するような座標軸を定義し、大きさが(Nx−2)*(Ny−2)である行列における座標(i',j')のセルに対する前記回数の組を(u'_i'j',v'_i'j')とした場合、大きさがNx*Nyである行列における座標(i,j)のセルに対する前記回数の組(u_ij,v_ij)として、
i=0、且つj=0の場合、u_ij=0、及びv_ij=0とし、
i=Nx−1、或いはj=Ny−1の場合、u_ij,及びv_ijとして、前記第2の鍵が存在しないことを示す情報とし、
i=0、且つj≠0の場合、u_ij=u’_i(j−1)、及びv_ij=v’_i(j−1)とし、
j=0、且つi≠0の場合の場合、u_ij=u’_(i−1)j、及びv_ij=v’_(i−1)jとし、
上記以外の場合、u_ij=u’_(i−1)(j−1)、及びv_ij=v’_(i−1)(j−1)と設定し、
前記大きさが(Nx−2)*(Ny−2)である行列における各セルの実行回数の組を、前記第1の鍵と同じ設定で設定することを特徴とする情報処理装置の制御方法。
A method for controlling an information processing apparatus,
The setting means hashes each of the first key and the second key with respect to each partial image data of a plurality of partial image data having a hierarchical relationship consisting of any two of image quality, resolution, and image area of the image data. A setting process for setting a set of the number of functions;
For each partial image data, the key generation means is configured to select the hash function according to the number of times corresponding to the set of the number of times set for the partial image data for each of the first key and the second key. A key generation step for generating an individual key for the partial image data as a value obtained by executing
In the setting step, for the first key, the upper right cell in the matrix is the origin (0, 0), the x coordinate is incremented by 1 in the horizontal left direction, and the y coordinate is incremented by 1 in the vertical downward direction. As a set (x_ij, y_ij) of the number of times for a cell of coordinates (i, j) of a matrix whose size is Nx * Ny
if j = 0, x_ij = i,
If j ≠ 0, then x_ij = Nx + j-1 and
if i = 0, y_ij = j,
If j ≠ 0, set y_ij = Ny + i-1
For the second key, the upper right cell in the matrix is the origin (0, 0), and the coordinate axis is such that the x coordinate increases by 1 in the horizontal left direction and the y coordinate increases by 1 in the vertical downward direction. Define the set of times for the cell at coordinates (i ′, j ′) in the matrix of size (Nx−2) * (Ny−2) (u′_i′j ′, v′_i′j )), The set (u_ij, v_ij) of the number of times for the cell at coordinates (i, j) in the matrix of size Nx * Ny
If i = 0 and j = 0, then u_ij = 0 and v_ij = 0,
When i = Nx−1 or j = Ny−1, u_ij and v_ij are information indicating that the second key does not exist,
When i = 0 and j ≠ 0, u_ij = u′_i (j−1) and v_ij = v′_i (j−1)
When j = 0 and i ≠ 0, u_ij = u ′ _ (i−1) j and v_ij = v ′ _ (i−1) j,
Otherwise, set u_ij = u ′ _ (i−1) (j−1) and v_ij = v ′ _ (i−1) (j−1),
A method for controlling an information processing apparatus, wherein a set of the number of times of execution of each cell in a matrix having a size of (Nx-2) * (Ny-2) is set with the same setting as the first key. .
さらに、鍵配布手段が、前記個別鍵を配布する鍵配布工程を有することを特徴とした請求項1に記載の情報処理装置の制御方法。   The information processing apparatus control method according to claim 1, further comprising a key distribution step in which the key distribution unit distributes the individual key. 画像データの画質、解像度、画像領域のいずれか2つからなる階層関係を持つ複数の部分画像データの各部分画像データに対して、第1の鍵と第2の鍵それぞれに対するハッシュ関数の回数の組を設定する設定手段と、
前記各部分画像データにつき、前記第1の鍵と前記第2の鍵のそれぞれに当該部分画像データに対して設定された前記回数の組の対応する回数に応じて前記ハッシュ関数を実行した値として、当該部分画像データに対する個別鍵を生成する鍵生成手段を有し、
前記設定手段において、前記第1の鍵に関しては、行列に最右上のセルが原点(0,0)、及び水平左方向にx座標が1ずつ増加し、垂直下方向にy座標が1ずつ増加するような座標軸を定義し、大きさがNx*Nyである行列の座標(i,j)のセルに対する前記回数の組(x_ij,y_ij)として、
j=0の場合、x_ij=i、
j≠0の場合、x_ij=Nx+j−1とし、且つ、
i=0の場合、y_ij=j、
j≠0の場合、y_ij=Ny+i−1と設定し、
前記第2の鍵に関しては、行列に最右上のセルが原点(0,0)、及び水平左方向にx座標が1ずつ増加し、垂直下方向にy座標が1ずつ増加するような座標軸を定義し、大きさが(Nx−2)*(Ny−2)である行列における座標(i',j')のセルに対する前記回数の組を(u'_i'j',v'_i'j')とした場合、大きさがNx*Nyである行列における座標(i,j)のセルに対する前記回数の組(u_ij,v_ij)として、
i=0、且つj=0の場合、u_ij=0、及びv_ij=0とし、
i=Nx−1、或いはj=Ny−1の場合、u_ij,及びv_ijとして、前記第2の鍵が存在しないことを示す情報とし、
i=0、且つj≠0の場合、u_ij=u’_i(j−1)、及びv_ij=v’_i(j−1)とし、
j=0、且つi≠0の場合の場合、u_ij=u’_(i−1)j、及びv_ij=v’_(i−1)jとし、
上記以外の場合、u_ij=u’_(i−1)(j−1)、及びv_ij=v’_(i−1)(j−1)と設定し、
前記大きさが(Nx−2)*(Ny−2)である行列における各セルの実行回数の組を、前記第1の鍵と同じ設定で設定することを特徴とする情報処理装置。
For each partial image data of a plurality of partial image data having a hierarchical relationship composed of any two of image quality, resolution, and image area, the number of times of the hash function for each of the first key and the second key A setting means for setting a pair;
For each partial image data, a value obtained by executing the hash function according to the number of times corresponding to the number of times set for the partial image data in each of the first key and the second key. , Having key generation means for generating an individual key for the partial image data,
In the setting means, for the first key, the upper right cell in the matrix is the origin (0, 0), the x coordinate is incremented by 1 in the horizontal left direction, and the y coordinate is incremented by 1 in the vertical downward direction. As a set (x_ij, y_ij) of the number of times for a cell of coordinates (i, j) of a matrix whose size is Nx * Ny
if j = 0, x_ij = i,
If j ≠ 0, then x_ij = Nx + j-1 and
if i = 0, y_ij = j,
If j ≠ 0, set y_ij = Ny + i-1
For the second key, the upper right cell in the matrix is the origin (0, 0), and the coordinate axis is such that the x coordinate increases by 1 in the horizontal left direction and the y coordinate increases by 1 in the vertical downward direction. Define the set of times for the cell at coordinates (i ′, j ′) in the matrix of size (Nx−2) * (Ny−2) (u′_i′j ′, v′_i′j )), The set (u_ij, v_ij) of the number of times for the cell at coordinates (i, j) in the matrix of size Nx * Ny
If i = 0 and j = 0, then u_ij = 0 and v_ij = 0,
When i = Nx−1 or j = Ny−1, u_ij and v_ij are information indicating that the second key does not exist,
When i = 0 and j ≠ 0, u_ij = u′_i (j−1) and v_ij = v′_i (j−1)
When j = 0 and i ≠ 0, u_ij = u ′ _ (i−1) j and v_ij = v ′ _ (i−1) j,
Otherwise, set u_ij = u ′ _ (i−1) (j−1) and v_ij = v ′ _ (i−1) (j−1),
An information processing apparatus, wherein a set of the number of execution times of each cell in a matrix whose size is (Nx−2) * (Ny−2) is set with the same setting as the first key.
コンピュータに、請求項3に記載の情報処理装置の機能を実現させるためのプログラム。   The program for making a computer implement | achieve the function of the information processing apparatus of Claim 3.
JP2003321420A 2003-07-11 2003-09-12 Key information processing method and apparatus, and program Expired - Fee Related JP4208678B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003321420A JP4208678B2 (en) 2003-07-11 2003-09-12 Key information processing method and apparatus, and program
CN2004800248340A CN1846396B (en) 2003-07-11 2004-07-12 Key information processing method, device thereof
EP04747412A EP1650893A4 (en) 2003-07-11 2004-07-12 Key information processing method, device thereof, and program
PCT/JP2004/009946 WO2005018136A1 (en) 2003-07-11 2004-07-12 Key information processing method, device thereof, and program
US11/329,037 US7706530B2 (en) 2003-07-11 2006-01-11 Key information processing method, device thereof, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003195729 2003-07-11
JP2003321420A JP4208678B2 (en) 2003-07-11 2003-09-12 Key information processing method and apparatus, and program

Publications (2)

Publication Number Publication Date
JP2005051727A JP2005051727A (en) 2005-02-24
JP4208678B2 true JP4208678B2 (en) 2009-01-14

Family

ID=34277270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003321420A Expired - Fee Related JP4208678B2 (en) 2003-07-11 2003-09-12 Key information processing method and apparatus, and program

Country Status (1)

Country Link
JP (1) JP4208678B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4179563B2 (en) 2006-09-21 2008-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーション Technology for managing cryptographic keys for cryptographic communications
US8634553B2 (en) 2007-11-05 2014-01-21 Sumitomo Electric Industries, Ltd. Encryption key generation device
JP5268413B2 (en) * 2008-04-22 2013-08-21 三菱電機株式会社 Disclosure restriction processing apparatus, data processing system, and program
CN102415049B (en) * 2009-04-28 2014-08-06 住友电气工业株式会社 Encryption key generation device

Also Published As

Publication number Publication date
JP2005051727A (en) 2005-02-24

Similar Documents

Publication Publication Date Title
US7706530B2 (en) Key information processing method, device thereof, and program
US8000472B2 (en) Information encryption apparatus and controlling method of the same, computer program and computer readable storage medium
Ghazvini et al. A modified method for image encryption based on chaotic map and genetic algorithm
US7792867B2 (en) Information processing method and information processing apparatus
US7739492B2 (en) Encrypted communication for selectively delivering a message to multiple decrypting devices
US7961871B2 (en) Encryption process, encryption device, and computer-readable medium storing encryption program
JP2004297778A (en) Image data encryption method and apparatus, computer program, and computer-readable storage medium
US8861723B2 (en) Storage device, access device, and program product
JP2006086568A (en) Information processing method, decryption processing method, information processing apparatus, and computer program
JP2005286959A (en) Information processing method, decoding processing method, information processor and computer program
JP4771504B2 (en) Distributed image generating apparatus, distributed image generating method, and computer-readable storage medium
KR101485460B1 (en) Method of tracing device keys for broadcast encryption
JP4208678B2 (en) Key information processing method and apparatus, and program
Patil et al. Pixel co-ordinate-based secret image sharing scheme with constant size shadow images
JP2006115464A (en) Information processing method, decoding method, information processing device, and computer program
JP2004229128A (en) Encryption data distribution system, information processor and information processing method, and computer program
JP2008092514A (en) Information processing apparatus, information processing method, and computer program
JP2005109753A (en) Method and apparatus for processing key information, and program
JP4635459B2 (en) Information processing method, decoding processing method, information processing apparatus, and computer program
CN115361237B (en) Data encryption transmission method and system for cloud terminal interaction
WO2023243141A1 (en) Associative learning system and associative learning method
JP2005191805A (en) Encryption message distribution method, information processing device, information processing method, and computer program
JP2007020025A (en) Information processing device, information processing method, and computer program
JP2007020225A (en) Image data encryption apparatus and control method thereof
WO2009157050A1 (en) Information processing device and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080725

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees