JP2007020225A - Image data encryption apparatus and control method thereof - Google Patents

Image data encryption apparatus and control method thereof Download PDF

Info

Publication number
JP2007020225A
JP2007020225A JP2006275732A JP2006275732A JP2007020225A JP 2007020225 A JP2007020225 A JP 2007020225A JP 2006275732 A JP2006275732 A JP 2006275732A JP 2006275732 A JP2006275732 A JP 2006275732A JP 2007020225 A JP2007020225 A JP 2007020225A
Authority
JP
Japan
Prior art keywords
key
data
image data
key information
encryption
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.)
Pending
Application number
JP2006275732A
Other languages
Japanese (ja)
Other versions
JP2007020225A5 (en
Inventor
Keiichi Iwamura
恵市 岩村
Yuji Suga
祐治 須賀
Junichi Hayashi
淳一 林
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 JP2006275732A priority Critical patent/JP2007020225A/en
Publication of JP2007020225A publication Critical patent/JP2007020225A/en
Publication of JP2007020225A5 publication Critical patent/JP2007020225A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image data encryption technique which facilitates management of access keys in encrypting image data having a hierarchical structure in which the data of each layer can be specified by at least two parameters, and is also resistant against exchange of access keys between a plurality of users. <P>SOLUTION: In encrypting image data having a hierarchical structure in which a layer is specified by layer and resolution level, an access key K for the highest resolution and highest layer is set. Access keys are generated by using a one-way function in a direction which the level becomes low. At such a time, the access key for a given layer can be generated from either of the access keys of layer and resolution located at the higher level. The data of each layer are encrypted in accordance with a corresponding access key. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は画像データの暗号化技術に関するものである。   The present invention relates to image data encryption technology.

画像データなどを秘匿して伝送するために、画像データ全体の暗号化やスクランブルなどが行なうことが行われている。これは、予め画像データ全体に対して暗号鍵を用いて暗号化し、この暗号鍵に対応する復号鍵の情報を有するコンピュータだけが正しく復号可能とする技術でもある。   In order to conceal and transmit image data and the like, the entire image data is encrypted and scrambled. This is also a technique in which the entire image data is previously encrypted using an encryption key, and only a computer having information on a decryption key corresponding to the encryption key can correctly decrypt the image data.

一方、画像データが複数のタイルから構成される場合、タイル毎に再生の可否を制御する目的で、タイル毎に異なる暗号鍵を用いて暗号化処理が行われる。   On the other hand, when the image data is composed of a plurality of tiles, encryption processing is performed using a different encryption key for each tile for the purpose of controlling whether or not reproduction is possible for each tile.

また、階層構造を有する画像データの場合、その階層構造に応じて画像データの再生を制御する目的で、階層構造毎に異なる暗号鍵を用いて暗号化処理が行われる。   Also, in the case of image data having a hierarchical structure, encryption processing is performed using a different encryption key for each hierarchical structure for the purpose of controlling the reproduction of the image data according to the hierarchical structure.

ただし、その階層は複数のパラメータによって定まる場合がある。例えば、ISO/IEC JTC 1/SC29/WG1にて標準化されているJPEG2000規格と呼ばれる技術においては、1つのタイルに対して、その解像度、及びビットプレーン毎の符号の集合であるレイヤ、色成分などを表すコンポーネント、タイルにおける位置を表すプレシンクトの4つのパラメータが決まることによって1つの階層構造データが定義される(非特許文献1))。更に、これらを合わせた場合として、複数のタイルから構成され、更に夫々のタイルが階層構造を有する画像データの場合、タイルと階層構造に応じた画像データの再生を制御する目的で、タイル中の階層構造に対して異なる暗号鍵を用いて暗号化処理が行われる。   However, the hierarchy may be determined by a plurality of parameters. For example, in the technology called JPEG2000 standard standardized by ISO / IEC JTC 1 / SC29 / WG1, the resolution, the layer that is a set of codes for each bit plane, color components, etc. for one tile One hierarchical structure data is defined by determining the four parameters of the component representing the position and the precinct representing the position in the tile (Non-Patent Document 1)). Furthermore, when these are combined, the image data is composed of a plurality of tiles, and each tile has a hierarchical structure. For the purpose of controlling the reproduction of the image data according to the tile and the hierarchical structure, Encryption processing is performed using different encryption keys for the hierarchical structure.

このように、タイル、及び階層構造に対して異なる暗号鍵を用いて暗号化することによりタイル、及び階層構造毎に画像データの再生を制御することが可能である。しかしながら、暗号化された画像データの所定のタイル、及び階層構造を復号処理するためには、暗号化処理に用いた暗号鍵をすべて管理すると共に、復号処理の際に適当な復号鍵を供給する必要があり、暗号化する側及び復号する側のそれぞれの鍵情報の管理が繁雑となり易い。   As described above, it is possible to control the reproduction of image data for each tile and hierarchical structure by encrypting the tiles and the hierarchical structure using different encryption keys. However, in order to decrypt a predetermined tile and hierarchical structure of the encrypted image data, all the encryption keys used for the encryption process are managed, and an appropriate decryption key is supplied during the decryption process. It is necessary to manage the key information on the encryption side and the decryption side easily.

それに対して、鍵情報の管理を容易にするためにタイル、コンポーネント、プレシンクトに関する鍵を独立に生成し、解像度とレイヤに関する鍵は前後の解像度及びレイヤの鍵に依存して生成する手法がある。これは、タイルやコンポーネント、プレシンクトはランダムにアクセスされる可能性が高いので、各パラメータを識別する識別子に応じて鍵を生成し、解像度やレイヤに関しては高解像度または高レイヤの画像を再現するためには必ず低解像度または低レイヤの画像データへのアクセスが必要なため、高解像度または高レイヤのデータを暗号化する鍵から1つ下の低解像度または低レイヤのデータを暗号化する鍵を生成することにより管理すべき鍵を削減するという手法である。   On the other hand, there is a technique in which keys for tiles, components, and precincts are generated independently to facilitate management of key information, and keys for resolution and layer are generated depending on the preceding and following resolutions and layer keys. This is because tiles, components, and precincts are likely to be accessed at random, so a key is generated according to an identifier that identifies each parameter, and high resolution or high layer images are reproduced with respect to resolution and layer. Always requires access to low-resolution or low-layer image data, so a key for encrypting low-resolution or low-layer data one key lower than the key for encrypting high-resolution or high-layer data is generated. This is a technique for reducing the key to be managed.

この手法では、1つの画像に関するマスター鍵をKとしたとき各タイル、コンポーネント、プレシンクト毎の鍵Kiが一方向性関数を用いて、下記のように生成される。ここで、一方向性関数とはy=H(x)においてxからyを求めることは容易であるが、yからxを求めることは困難な関数である。一方向性関数としてはMD5 (Message Digest 5), SHA−1 (Secure Hash Algorithm 1) 等のハッシュ関数やDES(Data Encryption Standard)やAES(Advanced Encryption Standard)等の暗号化関数が知られている。
Ki=H(K||i) (1)
ここで、H()は一方向性関数を、x||yはxとyの連接を表し、iは各タイル、コンポーネント、プレシンクトを識別するための値(識別情報)である。
In this method, when the master key for one image is K, a key Ki for each tile, component, and precinct is generated as follows using a one-way function. Here, the one-way function is a function in which it is easy to obtain y from x in y = H (x), but it is difficult to obtain x from y. As one-way functions, hash functions such as MD5 (Message Digest 5) and SHA-1 (Secure Hash Algorithm 1) and encryption functions such as DES (Data Encryption Standard) and AES (Advanced Encryption Standard) are known. .
Ki = H (K || i) (1)
Here, H () represents a one-way function, x || y represents a concatenation of x and y, and i is a value (identification information) for identifying each tile, component, and precinct.

また、各解像度及びレイヤに対する鍵Kiは下記のように生成される。
Ki=H(Ki-1) (2)
ここで、iは対象となる解像度またはレイヤを表す値であり、Ki-1は1段階前の解像度(注目している解像度よりも高い解像度)または1段階前のレイヤ(注目しているレイヤよりも高いレイヤ)に対して用いた鍵である。
The key Ki for each resolution and layer is generated as follows.
Ki = H (Ki-1) (2)
Here, i is a value representing a target resolution or layer, and Ki-1 is a previous resolution (a resolution higher than the current resolution) or a previous previous layer (from the target layer). Is a key used for higher layers).

よって、指定されたタイル及び階層化データに対する暗号鍵Ktcprlとし、指定されたタイル、コンポーネント、プレシンクト、解像度、レイヤに対する鍵をKT、KC、KP、KR、KLと表現すると、
Ktcprl=H(KT||KC||KP||KR||KL) (3)
として生成される。
Therefore, if the encryption key Ktcprl for the specified tile and layered data is represented and the keys for the specified tile, component, precinct, resolution, layer are expressed as KT, KC, KP, KR, KL,
Ktcprl = H (KT || KC || KP || KR || KL) (3)
Is generated as

以上から、対象となるタイル、及び階層構造に異なる暗号鍵を用いて暗号化することによりタイル、及び階層構造に対して画像データの再生を制御することが可能となる。
標準勧告書(ISO/IEC 15444−1)
From the above, it is possible to control the reproduction of image data for tiles and hierarchical structures by performing encryption using different encryption keys for the target tiles and hierarchical structures.
Standard Recommendation (ISO / IEC 15444-1)

しかし、このようにタイル、及び階層構造に対して異なる暗号鍵を用いて暗号化した場合、解像度及びレイヤに関しては以下のユーザの結託による鍵の漏洩という問題が発生する。   However, when encryption is performed using different encryption keys for tiles and hierarchical structures in this way, the following problem of key leakage due to user collusion occurs with respect to resolution and layer.

例えば、図1に示すようにユーザAに最高解像度に対する鍵KRnと最低レイヤに対する鍵KL0を渡し、ユーザBに最低解像度に対する鍵KR0と最高レイヤに対する鍵KLmを渡す。通常、ユーザAは式(2)の関係からKL0以上の高レイヤデータにはアクセスできず、ユーザBはKR0以上の高解像度データにはアクセスできない。   For example, as shown in FIG. 1, the key KRn for the highest resolution and the key KL0 for the lowest layer are given to the user A, and the key KR0 for the lowest resolution and the key KLm for the highest layer are given to the user B. Normally, user A cannot access high-layer data of KL0 or higher, and user B cannot access high-resolution data of KR0 or higher because of the relationship of equation (2).

すなわち、図1ではユーザAはR0L0,R1L0,・・・,RnL0しかアクセス(暗号復号)できず、ユーザBはR0L0,R0L1,・・・,R0Lmしかアクセスできない。   That is, in FIG. 1, user A can access (encryption / decryption) only R0L0, R1L0,..., RnL0, and user B can access only R0L0, R0L1,.

ところが、もしユーザA,Bが互いに鍵KLnとKRnを教えあうと、各々の鍵はそれ以下の解像度またはレイヤの鍵全てを生成できるので、結局のところ、ユーザA,Bは互いに全ての解像度とレイヤの画像を再現できることになる。すなわち、図1ではR0L0からRnLmまでの全ての範囲をアクセスできることになる。   However, if users A and B teach each other the keys KLn and KRn, each key can generate all keys of lower resolutions or layers. The layer image can be reproduced. That is, in FIG. 1, the entire range from R0L0 to RnLm can be accessed.

上記例は極端な例かもしれないが、インターネットという不特定多数のユーザが互いに通信できる環境にある場合、上記のような不測の事態がおこり得ると言わねばならない。   Although the above example may be an extreme example, it must be said that such an unexpected situation can occur when an unspecified number of users such as the Internet are in an environment where they can communicate with each other.

本発明はかかる問題点に鑑みなされたものであり、少なくとも2つのパラメータでもって各階層のデータを特定できる階層構造を有する画像データを暗号化する際に、アクセス鍵の管理を容易にしつつ、複数のユーザによるアクセス鍵の交換に対しても耐性の高い画像データの暗号化技術を提供しようとするものである。   The present invention has been made in view of such a problem, and when encrypting image data having a hierarchical structure that can specify data of each hierarchy with at least two parameters, it is possible to manage a plurality of access keys while facilitating management of access keys. It is an object of the present invention to provide an image data encryption technique that is highly resistant to exchange of access keys by users.

この課題を解決するため、例えば本発明の画像データ暗号化の制御方法は以下の工程を備える。すなわち、
画像データを鍵情報を用いて暗号化する画像データ暗号化装置の制御方法であって、
階層的な構造を持ち、各階層のデータが少なくとも2つのパラメータで特定でき、且つ、それぞれのパラメータが多段階のレベルで表現される画像データを入力する入力工程と、
入力した画像データに対し、前記2つのパラメータが共に最大レベルで特定される階層のデータに対する鍵情報を起源とし、前記2つのパラメータで特定される階層のデータ用の鍵情報を、当該階層のデータより1つ高位に位置する階層内の2つのデータ用の鍵情報のいずれからも生成可能な、一方向性の所定の関数を用いて鍵情報を生成する生成工程と、
前記設定工程で設定された鍵情報、及び、前記生成工程で生成された鍵情報に従い、前記入力工程で入力した該当する階層のデータを暗号化する暗号化工程とを備える。
In order to solve this problem, for example, the image data encryption control method of the present invention includes the following steps. That is,
A control method for an image data encryption device that encrypts image data using key information,
An input process for inputting image data having a hierarchical structure, in which data of each hierarchy can be specified by at least two parameters, and each parameter is expressed in multiple levels;
For the input image data, the key information for the data of the hierarchy specified by the two parameters originates from the key information for the data of the hierarchy specified by the two parameters at the maximum level. A generation step of generating key information using a predetermined one-way function that can be generated from any of the two pieces of key information for data in the hierarchy located one level higher;
An encryption step for encrypting the data of the corresponding layer input in the input step according to the key information set in the setting step and the key information generated in the generation step.

本発明によれば、少なくとも2つのパラメータでもって各階層のデータを特定できる階層構造を有する画像データを暗号化する際に、アクセス鍵の管理を容易にしつつ、複数のユーザによるアクセス鍵の交換に対しても耐性の高い画像データの暗号化技術が提供できるようになる。   According to the present invention, when encrypting image data having a hierarchical structure that can specify data of each hierarchy with at least two parameters, access keys can be exchanged by a plurality of users while facilitating access key management. In contrast, it is possible to provide image data encryption technology having high tolerance.

以下、添付図面に従って本発明に係る実施形態を説明する。   Embodiments according to the present invention will be described below with reference to the accompanying drawings.

<全体構成の説明>
実施形態におけるシステム概要例を図6に示す。図中、60はインターネットであって、61は例えばデジタルカメラやイメージスキャナ、フィルムスキャナ等で撮像した画像データを圧縮符号化&暗号化処理を行う装置である。62は画像データを受信し、復号する装置、63は復号する際に必要となる暗号化解除鍵を記憶している認証サーバある。装置61乃至63はパーソナルコンピュータ等の汎用装置で構わない。処理の流れを簡単に説明すると、次の通りである。
<Description of overall configuration>
FIG. 6 shows an example of a system outline in the embodiment. In the figure, 60 is the Internet, and 61 is a device that performs compression coding and encryption processing on image data captured by a digital camera, an image scanner, a film scanner, or the like. 62 is a device that receives and decrypts image data, and 63 is an authentication server that stores an decryption key necessary for decryption. The devices 61 to 63 may be general-purpose devices such as personal computers. The flow of processing will be briefly described as follows.

装置61では、所望とする画像データを圧縮符号化及び暗号化処理を行い、インターネット60を介して配布する。配布するのは装置61が直接行ってもよいし、適当なサーバを介して配布しても構わない。ただし、暗号化されている関係で、その解除するために必要な鍵情報を、その画像データを特定する情報(例えばID)と共に認証サーバ63が有するDBに登録しておく。画像復号装置62は所望とする画像を受信し、復号を行ない閲覧するものであるが、暗号化されている画像データを閲覧するには、認証サーバ63にその画像を特定する情報を通知して、暗号化解除鍵情報を要求する。この結果、暗号化解除鍵情報が認証サーバ63より受信するので、それを用いて暗号化を解除し、復号再生する。   The apparatus 61 performs compression encoding and encryption processing on desired image data, and distributes it via the Internet 60. Distribution may be performed directly by the device 61 or may be distributed via an appropriate server. However, the key information necessary for the cancellation is registered in the DB of the authentication server 63 together with information (for example, ID) for specifying the image data because of the encrypted relationship. The image decryption device 62 receives a desired image, decrypts it, and browses it. To view the encrypted image data, notify the authentication server 63 of information specifying the image. Request decryption key information. As a result, since the decryption key information is received from the authentication server 63, the decryption is decrypted using the received decryption key information, and decryption is performed.

実施形態では説明を簡単なものとするため、暗号化対象の画像(ファイル)はISO/IEC JTC1/SC29/WG110918−1において標準化されている、通称JPEG2000と呼ばれる圧縮符号化方式によって符号化されたデータであるものとして説明するが、JPEG2000に本発明が限定されることなく、JPEGなど種々の圧縮符号化の方式を適応可能であることは以下の説明から明らかになるであろう。   In the embodiment, in order to simplify the description, the image (file) to be encrypted is encoded by a compression encoding method called JPEG2000, which is standardized in ISO / IEC JTC1 / SC29 / WG110918-1. Although described as data, the present invention is not limited to JPEG 2000, and it will be apparent from the following description that various compression encoding methods such as JPEG can be applied.

ここで、装置61の構成について説明する。   Here, the configuration of the device 61 will be described.

装置61は上記の通り、パーソナルコンピュータ等の汎用情報処理装置で良いが、その具体的な構成例は例えば図3に示す通りである。   As described above, the device 61 may be a general-purpose information processing device such as a personal computer, but a specific configuration example is as shown in FIG.

図中、302は装置全体の制御を司るMPUであり、303は主記憶装置(MPU302のワークエリア及びOS、実施形態における暗号化処理プログラムをロードするRAM、及び、ブートプログラムやBIOS等を記憶しているROMで構成される)である。304はOS、暗号化処理プログラムをはじめ、各種ファイルを記憶するハードディスク装置(HDD)である。305はビデオメモリ、MPU302の制御に従ってそのメモリに描画するコントローラ、並びに表示装置であるモニタ306にメモリに描画されたデータをビデオ信号として出力するビデオコントローラである。モニタ306は装置に一体となっていても構わないが、外付けでも構わない。307はシステムバスである。   In the figure, 302 is an MPU that controls the entire apparatus, and 303 stores a main storage device (a work area and an OS of the MPU 302, a RAM for loading an encryption processing program in the embodiment, a boot program, a BIOS, and the like). It is composed of ROM. A hard disk device (HDD) 304 stores various files including an OS and an encryption processing program. Reference numeral 305 denotes a video memory, a controller that draws data in the memory according to the control of the MPU 302, and a video controller that outputs data drawn in the memory as a video signal to the monitor 306 serving as a display device. The monitor 306 may be integrated with the apparatus or may be externally attached. Reference numeral 307 denotes a system bus.

308はプリンタ316を接続するためのインタフェースであり、309はCDROMドライブ、310はDVDドライブ、311はフロッピー(登録商標)ドライブである。312はマウス等のポインティングデバイス313、キーボード314を接続するためのインタフェースであり、315はイメージスキャナ317を接続するためのインタフェースである。更に、318はインターネット60に接続するためのネットワークインタフェースである。   308 is an interface for connecting the printer 316, 309 is a CDROM drive, 310 is a DVD drive, and 311 is a floppy (registered trademark) drive. Reference numeral 312 denotes an interface for connecting a pointing device 313 such as a mouse and a keyboard 314, and reference numeral 315 denotes an interface for connecting an image scanner 317. Reference numeral 318 denotes a network interface for connecting to the Internet 60.

上記構成において、実施形態では、例えばスキャナ317で原稿を読取り暗号化を行ない、先に説明したように、その結果を配布するものである。但し、暗号化対象はイメージスキャナ317に限らず、CDROM等の記憶媒体から読出した画像データや、或いは、デジタルカメラを接続し、それで撮像した画像でも構わない。要するに暗号化対象の画像データは如何なる手段で入力したものでも良い。   In the above configuration, in the embodiment, for example, the original is read and encrypted by the scanner 317, and the result is distributed as described above. However, the encryption target is not limited to the image scanner 317, but may be image data read from a storage medium such as a CDROM, or an image captured by connecting a digital camera. In short, the image data to be encrypted may be input by any means.

<暗号鍵の説明>
上記構成において、実施形態では、暗号化対象となる画像データは、ISO/IEC JTC 1/SC29/WG1にて標準化されているJPEG2000規格と呼ばれる技術でもって圧縮符号化された画像データファイルに対して行うものとする。この圧縮技術そのものは、公知であるので、その詳述は省略するものとする。
<Description of encryption key>
In the above configuration, in the embodiment, image data to be encrypted is an image data file compressed and encoded by a technique called JPEG2000 standard standardized by ISO / IEC JTC 1 / SC29 / WG1. Assumed to be performed. Since this compression technique itself is publicly known, detailed description thereof will be omitted.

JPEG2000においては、1つのタイルに対して、その解像度、及びビットプレーン毎の符号の集合であるレイヤ、色成分などを表すコンポーネント、タイルにおける位置を表すプレシンクトの4つのパラメータが決まることによって1つの階層構造データが定義される。本実施形態では、このような階層構造を持った圧縮画像データに対して暗号化するものである。   In JPEG2000, one layer is determined by determining four parameters of a resolution, a layer that is a set of codes for each bit plane, a component that represents a color component, and a precinct that represents a position in the tile. Structural data is defined. In the present embodiment, the compressed image data having such a hierarchical structure is encrypted.

図7は或るタイルに対して2回ウェーブレット変換を行ったときの周波数成分を示している。1回目のウェーブレット変換を行った際、HL1、HH1、LH1そしてLL1の4つのサブバンドのデータが得られるが、2回めではLL1に対して同様の処理を行う。LL成分は常に1つしか発生しないため、添え字は付けないで表現することが多い。ここで、LL成分のデータは低周波成分のデータであり、もともとのタイルサイズに対して縦横それぞれ1/4の画像でもある。つまり、図示のLL成分はタイルで示された画像の1/4の解像度(最低解像度)のデータであると言える。このLL成分のデータに対し、{HL2+HH2+LH2}のデータを用いて復号することで、1段階高い解像度の画像が再現でき、更に{HL1+HH1+LH1}で示されるデータを用いて再現することで元々のタイルサイズと同じ最も高い解像度の画像を再現できる。すなわち、LL、{HL2+HH2+LH2}、{HL1+HH1+LH1}の順に解像度が徐々に高いデータとなっていると言える。実際には、このウェーブレット変換後、量子化処理を行ない、個々の成分内の値を少ないビット数に変換し、そしてエントロピー符号化を行うことになる。   FIG. 7 shows frequency components when a wavelet transform is performed twice on a certain tile. When the first wavelet transform is performed, data of four subbands HL1, HH1, LH1, and LL1 are obtained. In the second time, the same processing is performed on LL1. Since only one LL component is always generated, it is often expressed without a subscript. Here, the data of the LL component is data of a low frequency component, and is also an image that is 1/4 each of the vertical and horizontal directions with respect to the original tile size. That is, it can be said that the illustrated LL component is data having a resolution (minimum resolution) of ¼ of the image indicated by the tile. By decoding the data of the LL component using {HL2 + HH2 + LH2} data, an image with a resolution higher by one step can be reproduced, and further, the original tile size can be reproduced by using the data represented by {HL1 + HH1 + LH1}. The same highest resolution image can be reproduced. That is, it can be said that the resolution is gradually higher in the order of LL, {HL2 + HH2 + LH2}, {HL1 + HH1 + LH1}. Actually, after the wavelet transform, quantization processing is performed, values in individual components are converted into a small number of bits, and entropy coding is performed.

図8はその量子化後のデータを示している。図示では簡単にするため、量子化後のデータとして4×4のデータを示している。この例では、量子化インデックスが3個存在しており、それぞれ+13、−6、+3の値を持っている。エントロピ符号化では、この中の最大値MAXを求め、次式により最大の量子化インデックスを表現するために必要なビット数Sを計算する。
S = ceil(log2( abs(MAX) ))
ここでceil(x)はx以上の整数の中で最も小さい整数値を表す関数である。
FIG. 8 shows the data after the quantization. In the figure, for simplification, 4 × 4 data is shown as data after quantization. In this example, there are three quantization indexes, which have values of +13, −6, and +3, respectively. In entropy coding, the maximum value MAX is obtained, and the number of bits S required to express the maximum quantization index is calculated by the following equation.
S = ceil (log2 (abs (MAX)))
Here, ceil (x) is a function representing the smallest integer value among integers greater than or equal to x.

図8では、最大の係数値は13であるのでSは4であり、シーケンス中の16個の量子化インデックスは同図(b)に示すように4つのビットプレーンを単位として処理が行われる。最初にエントロピ符号化部114は最上位ビットプレーン(同図MSBで表す)の各ビットをエントロピ符号化(本実施の形態では2値算術符号化)し、ビットストリームとして出力する。次にビットプレーンを1レベル下げ、以下同様に対象ビットプレーンが最下位ビットプレーン(同図LSBで表す)に至るまで、ビットプレーン内の各ビットを符号化し符号出力部に出力する。なお上記エントロピ符号化時において、各量子化インデックスの符号は、上位から下位へのビットプレーン走査において最初(最上位)に符号化されるべき非0ビットが検出されるとそのすぐ後に当該量子化インデックスの正負符号を示す1ビットを続けて2値算術符号化することとする。これにより、0以外の量子化インデックスの正負符号は効率良く符号化される。   In FIG. 8, since the maximum coefficient value is 13, S is 4, and the 16 quantization indexes in the sequence are processed in units of four bit planes as shown in FIG. First, the entropy encoding unit 114 performs entropy encoding (binary arithmetic encoding in the present embodiment) on each bit of the most significant bit plane (represented by MSB in the figure), and outputs the result as a bit stream. Next, the bit plane is lowered by one level, and similarly, each bit in the bit plane is encoded and output to the code output unit until the target bit plane reaches the least significant bit plane (denoted by LSB in the figure). At the time of the entropy encoding, the code of each quantization index is determined immediately after the non-zero bit to be encoded first (most significant) is detected in the bit-plane scan from upper to lower. It is assumed that binary arithmetic coding is performed by continuing 1 bit indicating the sign of the index. Thereby, the positive / negative sign of the quantization index other than 0 is efficiently encoded.

図示の場合、ビット0乃至3の4つのプレーンが生成されるが、高位のビットプレーンほど支配的であることがわかる。これは、ちょうど最高位(図示ではビット3のプレーン)が先に示した低解像度のデータに対応し、ビット0のプレーンが最高解像度のデータを再現するために利用されるものに対応している。このように、エントロピ符号化されたエントロピ符号を所定の符号量となるように集めた処理単位(ビットプレーン)をレイヤと呼ぶ。複数のレイヤを構成することにより、復号時に種々の符号量に対応した画像を再生することが可能となる。   In the illustrated case, four planes of bits 0 to 3 are generated, but it can be seen that the higher-order bit plane is more dominant. This corresponds to the highest resolution (bit 3 plane in the figure) corresponding to the low resolution data previously shown, and the bit 0 plane corresponding to what is used to reproduce the highest resolution data. . A processing unit (bit plane) in which entropy-encoded entropy codes are collected to have a predetermined code amount is called a layer. By configuring a plurality of layers, it is possible to reproduce images corresponding to various code amounts at the time of decoding.

さて、JPEG2000による圧縮符号化データのコードストリームは、先ず、メインヘッダがあって、上記の解像度やレイヤ、更には色成分などを表すコンポーネント、プレシンクトの4つのパラメータで示される1以上のタイルパートと呼ばれるデータが後続することになる。タイルパートは、更にタイルパートヘッダと少なくとも1以上のコードブロックを内包する。   A code stream of JPEG 2000-compressed encoded data has a main header, and includes one or more tile parts indicated by the above four parameters of the resolution, the layer, the component representing the color component, and the precinct. The data called will follow. The tile part further includes a tile part header and at least one code block.

本実施形態でのコードブロックは、それがどの解像度レベルであって、どのレイヤであるかを示す情報がタイルパートヘッダに示されており、これを参照して利用する暗号化鍵情報を特定し、暗号化を行う。   In the code block in this embodiment, information indicating which resolution level it is and which layer is indicated in the tile part header, and the encryption key information to be used is specified by referring to this. Encrypt.

図2においては、KRLijは、所定の解像度とレイヤに対応する階層化データを表すRiLjへのアクセス鍵情報を表わすものとする。ある解像度とレイヤに対応するアクセス鍵KRLijに対して、以下のように鍵は更新される。
KRLi-1,j=F(a,KRLij) (4)
KRLi,j-1=F(b,KRLij) (5)
ただし、F()は鍵aまたはbを用いる一方向性関数であり、
F(a,F(b,K))=F(b,F(a,K)) (6)
という関係が成り立つものである。
In FIG. 2, KRLij represents access key information to RiLj representing hierarchized data corresponding to a predetermined resolution and layer. For the access key KRLij corresponding to a certain resolution and layer, the key is updated as follows.
KRLi-1, j = F (a, KRLij) (4)
KRLi, j-1 = F (b, KRLij) (5)
Where F () is a one-way function using the key a or b,
F (a, F (b, K)) = F (b, F (a, K)) (6)
This relationship holds.

以上の関係式(6)は、前述したMD5 (Message Digest 5), SHA−1 (Secure Hash Algorithm 1) 等のハッシュ関数やDES(Data Encryption Standard)やAES(Advanced Encryption Standard)等の暗号化関数では実現されない。   The above relational expression (6) is a hash function such as MD5 (Message Digest 5) or SHA-1 (Secure Hash Algorithm 1) described above, or an encryption function such as DES (Data Encryption Standard) or AES (Advanced Encryption Standard). Is not realized.

そこで、この関係を満足させるため、下記演算によって実現した。ここで、N=(p−1)(q−1)(p,qは素数)であり、a,bは公開されているとする。
(K^b)^a mod N=(K^a)^b mod N (7)
ここで「x^y」はxのy乗を示し、「x mod y」 はxをyで除算した際の余りを返す関数である(「^」は「mod」よりも演算結合強度が強い)。
Therefore, in order to satisfy this relationship, it was realized by the following calculation. Here, N = (p−1) (q−1) (p and q are prime numbers), and a and b are open to the public.
(K ^ b) ^ a mod N = (K ^ a) ^ b mod N (7)
Here, “x ^ y” represents x raised to the power of y, and “x mod y” is a function that returns the remainder when x is divided by y (“^” has a stronger operational coupling strength than “mod”. ).

式(7)はRSA暗号と同じ原理であり、a,bが公開されていても、その秘密鍵に相当するa’,b’がわからなければ逆演算はできず一方向性が保証されるものである。   Equation (7) is the same principle as RSA cryptography, and even if a and b are made public, if a 'and b' corresponding to the secret key are not known, the inverse operation cannot be performed and one-way is guaranteed. Is.

これにより、従来方式の課題である下記の問題が解決される。   Thereby, the following problem which is a problem of the conventional method is solved.

i.最高解像度かつ最低レイヤのデータにアクセスできるユーザAにアクセス鍵KRLn0を渡す。ユーザAは公開鍵aを用いて式(4)からアクセス鍵 KRLn-1,0〜KRL00を生成できる。しかし、もう1つの公開鍵bを用いて式(5)を実行してもレイヤ方向の逆演算はF()の一方向性から実現できず、より高レイヤのアクセス鍵を得ることはできない。   i. The access key KRLn0 is passed to the user A who can access the data of the highest resolution and the lowest layer. User A can generate access keys KRLn-1,0 to KRL00 from equation (4) using public key a. However, even if Expression (5) is executed using another public key b, the reverse computation in the layer direction cannot be realized from the one-way property of F (), and a higher layer access key cannot be obtained.

ii.また、最低解像度かつ最高レイヤのデータにアクセスできるユーザBにアクセス鍵KRL0mを渡す。ユーザBは公開されている鍵bを用いて式(5)からアクセス鍵KRL0,m-1〜KRL00を生成できる。また同様に、F()の一方向性からユーザBは高解像度に対するアクセス鍵は生成できない。   ii. Further, the access key KRL0m is passed to the user B who can access the data of the lowest resolution and the highest layer. User B can generate access keys KRL0, m-1 to KRL00 from equation (5) using the public key b. Similarly, user B cannot generate an access key for high resolution due to the unidirectionality of F ().

iii.ここで、ユーザAとユーザBが結託し、互いのアクセス鍵KRLn0とKRL0mを教えたとする。しかし、KRLn0とKRL0mは前述した範囲の鍵を生成できるのみであり、他の鍵を生成することはできない。以上の原理を式(7)を用いて図示すると図4のようになる。   iii. Here, it is assumed that user A and user B have collaborated and taught each other's access keys KRLn0 and KRL0m. However, KRLn0 and KRL0m can only generate keys in the above-described range, and cannot generate other keys. The above principle is illustrated using equation (7) as shown in FIG.

図4は、次のような意味である。或るタイルの最大解像度、最高レイヤ(ビット0のプレーン)に対しアクセス鍵Kを設定する。このアクセス鍵Kを起源として、図示矢印方向(一方向性)のアクセス鍵情報を生成していく。   FIG. 4 has the following meaning. An access key K is set for the maximum resolution and the highest layer (bit 0 plane) of a certain tile. Using this access key K as the origin, access key information in the direction of the arrow shown (one-way) is generated.

この結果、例えばユーザAが鍵「K^mb」(最大解像度、最低レイヤ(MSBのビットプレーン)を取得し、ユーザBが鍵「K^nb」を取得し、互いにその鍵情報を交換したとしても、鍵Kを生成すること実質的に不可能とすることができる。図1で説明した従来技術に対して遥かに、複数ユーザの結託に対して高い強度が保持されるのがわかる。   As a result, for example, user A acquires the key “K ^ mb” (maximum resolution, lowest layer (MSB bit plane), user B acquires the key “K ^ nb”, and exchanges the key information with each other. However, it can be substantially impossible to generate the key K. It can be seen that a high strength is maintained against the collusion of a plurality of users, far from the prior art described in FIG.

上記処理を解像度をレイヤに関するアクセス鍵の生成及び暗号化部は図5に示す構成で実現できる。なお、同図の各処理部はソフトウェアの機能として読み替えることができることに注意されたい。   The above-described processing can be realized by the configuration shown in FIG. Note that each processing unit in the figure can be read as a software function.

ここでは簡単のためタイルやコンポーネントなどの部分は階層化されていないとする。   Here, for simplicity, it is assumed that tiles and components are not hierarchized.

まず、画像データ500が入力されると階層化部501において、画像500は、解像度とレイヤに関して図2に示すような高解像度から低解像度、高レイヤから低レイヤの種々のデータに階層化される。ここでは上から順にRnLm,Rn-1Lm,RnLm-1,Rn-2Lm,・・・が出力されるとする。   First, when the image data 500 is input, the hierarchization unit 501 hierarchizes the image 500 into various data from high resolution to low resolution and from high layer to low layer as shown in FIG. . Here, it is assumed that RnLm, Rn-1Lm, RnLm-1, Rn-2Lm,.

一方、最高解像度かつ最高レイヤの階層化データRnLmに対するアクセス鍵情報をKとする。この鍵はK=KRLnmであり、それを用いてRnLmを暗号化部502において暗号化する。暗号化部502で用いる暗号化手法はここでは限定しないが、DESやAESなど種種の暗号化手法を利用することができる。その結果RnLmを暗号化したCRnLmが出力される(CRiLjはRiLjを暗号化したデータであることを示す)。   On the other hand, the access key information for the hierarchized data RnLm of the highest resolution and highest layer is K. This key is K = KRLnm, and the encryption unit 502 encrypts RnLm using the key. The encryption method used in the encryption unit 502 is not limited here, but various encryption methods such as DES and AES can be used. As a result, CRnLm obtained by encrypting RnLm is output (CRiLj indicates data obtained by encrypting RiLj).

鍵KはR鍵変換部503において式(4)による解像度方向の鍵の更新が行われ、L鍵変換部504において式(5)によるレイヤ方向の鍵の更新が行われる。よって、鍵K=KRLnmからR鍵変換部においてKRLn-1,m=K^aが計算され出力される。同様に、鍵K=KRLnmからL鍵変換部においてKRLn,m-1=K^bが計算され出力される。ただし、a,bはあらかじめ変換部503、504に設定されているとする。これを用いて、階層化部501から出力されたRn-1Lm,RnLm-1の符号化データに対して暗号化部502において暗号化が行われる。   The key K is updated in the resolution direction by the equation (4) in the R key conversion unit 503, and the key in the layer direction is updated by the equation (5) in the L key conversion unit 504. Therefore, KRLn-1, m = K ^ a is calculated and output from the key K = KRLnm in the R key conversion unit. Similarly, KRLn, m-1 = K ^ b is calculated and output from the key K = KRLnm in the L key conversion unit. However, it is assumed that a and b are set in the conversion units 503 and 504 in advance. Using this, the encryption unit 502 encrypts the encoded data of Rn-1Lm and RnLm-1 output from the hierarchizing unit 501.

以降、解像度方向には前の解像度に対する鍵を入力としてR鍵変換部において式(4)の演算が、レイヤ方向には前のレイヤに対する鍵を入力としてL鍵変換部において式(5)の演算が実行され、鍵が更新される。その更新された鍵を用いて以降の階層化構造データに対して暗号化が行われる。ただし、斜め方向のデータに対する鍵の計算、例えばKRLn-1,m-1に相当する図4におけるK^(a+b)の計算は、前の解像度方向の鍵K^bを入力としてR鍵変換部で計算しても、前のレイヤ方向の鍵K^aを入力としてL鍵変換部で計算しても同じ結果が得られるのでどちらでも良い。   Thereafter, in the resolution direction, the key for the previous resolution is input, and the calculation of Equation (4) is performed in the R key conversion unit. Is executed and the key is updated. Using the updated key, the subsequent hierarchical structure data is encrypted. However, the calculation of the key for the data in the oblique direction, for example, the calculation of K ^ (a + b) in FIG. 4 corresponding to KRLn-1, m-1 is performed by using the key K ^ b in the previous resolution direction as an input. The same result can be obtained even if the calculation is performed by the above-described method and the L key conversion unit calculates the key K ^ a in the previous layer direction as an input.

これに対する復号処理は、図5の暗号化部502を用いた暗号手法に対する復号手段である復号化部に置き換えた構成によって実現できることは明らかである。   It is obvious that the decryption process for this can be realized by a configuration in which the decryption unit is a decryption unit for the encryption method using the encryption unit 502 of FIG.

上記実施形態では簡単のためタイルやプレシンクト、コンポーネントは階層化されていないとしたが、タイルやプレシンクト、コンポーネントに対して階層化されていても式(1)によって各アクセス鍵KT,KC,KPが生成され、式(3)に代わって下記の式によって全体のアクセス鍵が生成できる。
Ktcprl=H(KT||KC||KP||KRL) (8)
ここで、KRLは本実施形態で示した解像度とレイヤに対する鍵である。
In the above embodiment, the tiles, precincts, and components are not hierarchized for the sake of simplicity. However, even if the tiles, precincts, and components are hierarchized, the access keys KT, KC, and KP are represented by Expression (1) The entire access key can be generated by the following formula instead of formula (3).
Ktcprl = H (KT || KC || KP || KRL) (8)
Here, KRL is a key for the resolution and layer shown in the present embodiment.

また、タイルやプレシンクト、コンポーネントなどの他の成分に対しても相関を持たせる場合、タイルやプレシンクト、コンポーネントに対して各々鍵c,d,eを定め、多次元の階層化データとして同様の手法によりユーザの結託を防止することもできる。   In addition, when correlating other components such as tiles, precincts, and components, a key c, d, and e are set for each of the tiles, precincts, and components, and the same technique is used as multidimensional hierarchical data. This can also prevent user collusion.

また、実施形態では式(4)〜(6)の関係を成り立たせる手法として式(7)を示したが、それに限らないことは明らかである。例えば、楕円曲線状のべき乗剰余演算などでも良い。   In the embodiment, the expression (7) is shown as a method for establishing the relations of the expressions (4) to (6), but it is obvious that the present invention is not limited to this. For example, an elliptic curve-like power residue calculation may be used.

また、第1の実施形態では解像度とレイヤに対するアクセス鍵の更新を公開鍵a,bによって示したが、
KRLi-1,j=E(KRLij) (9)
KRLi,j-1=G(KRLij) (10)
E(G(K))=G(E(K)) (11)
の関係を満たすものでも良い。
In the first embodiment, the update of the access key for the resolution and layer is indicated by the public keys a and b.
KRLi-1, j = E (KRLij) (9)
KRLi, j-1 = G (KRLij) (10)
E (G (K)) = G (E (K)) (11)
It may satisfy the relationship.

以上説明したように本実施形態によれば、複数のタイル及び階層構造を有する画像データに対して、タイル及び階層構造毎に異なる暗号鍵を用いて暗号化した場合にも、複数ユーザによる鍵情報の交換による漏洩、或いは、不正アクセスが解決され、かつ複数の鍵を管理する必要がないようにできることになる。   As described above, according to the present embodiment, even when image data having a plurality of tiles and a hierarchical structure is encrypted using different encryption keys for each tile and the hierarchical structure, key information by a plurality of users is obtained. Thus, it is possible to solve the leakage due to the exchange or the unauthorized access and eliminate the need to manage a plurality of keys.

なお、実施形態では、図4に示す2軸に対し、解像度、レイヤを適用した例を説明したが、一方の軸、或いは、両方に対し、タイル、プレシンクト、コンポーネントを割り当てても構わない。但し、タイルやプレシンクトの場合には、多段階レベルは、その位置情報として扱うことになろう。   In the embodiment, the example in which the resolution and the layer are applied to the two axes shown in FIG. 4 has been described. However, tiles, precincts, and components may be assigned to one axis or both. However, in the case of tiles and precincts, the multistage level will be treated as position information.

<第2の実施形態>
通信回線やDVDなどの大容量記録メディアを通じて、文書や画像データなどのデジタルコンテンツが流通する機会が増加している。このようなコンテンツ配信サービスにおいては、コンテンツを配信するコンテンツプロバイダが存在する。コンテンツプロバイダでは、複数のコンテンツのそれぞれに対して異なるアクセス制御情報の設定を行う必要があり、コンテンツごと、ユーザごと、さらにはユーザのアクション(例えば、閲覧、コピーなど)ごとに異なる鍵による暗号化処理を行うことが想定されている。この処理において、鍵生成、鍵保持、鍵配信などの鍵情報に関わるマネージメントはコンテンツプロバイダにおいて非常に負荷がかかることが多い。そこで鍵管理に関して、セキュリティレベルを低下させることなく、より効率的な管理方法に関する研究が行われている。そのいくつかに関して説明を行う。特に、第1の実施形態はハッシュ関数を用いない場合を説明したが、本実施形態では一方向性関数としてハッシュ関数を用いる手法に関し説明を行う。
<Second Embodiment>
Opportunities for the distribution of digital content such as documents and image data through large-capacity recording media such as communication lines and DVDs are increasing. In such content distribution services, there are content providers that distribute content. The content provider needs to set different access control information for each of a plurality of contents, and encryption with different keys for each content, each user, and 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 in content providers. Therefore, research is being conducted on more efficient management methods for key management without lowering the security level. Some of them will be explained. In particular, the first embodiment has described the case where the hash function is not used, but in the present embodiment, a method using the hash function as a one-way function 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 method, there are the following indicators for determining the quality of the method: 1) the data size of the key information distributed simultaneously with the content, 2) the pre-distributed key information held by the user Data size, 3) The data size of key information that the content provider needs to manage, and the above three indicators correspond to it. In the case of an online distribution service, the index 1) that influences network traffic will be emphasized, but from the standpoint of the content provider, the management cost of the index 3) will be the most important. It should be noted that the weight of the index changes depending on the situation.

木構造管理方法の代表的なものとしては、コンテンツ配信モデルがある(例えば、「デジタルコンテンツ保護用管理方式」SCIS2001, pp.213-218)。このモデルにおいては、図22のような鍵配布用の木構造を用いており各ノードには異なる鍵が配置される。ユーザ鍵(論文中ではDVDなどのプレイヤーが保持する鍵を想定)は末端のノード(葉ノード)と同一視され、ルートから末端ノードまでのすべての鍵データを保持するものと仮定している。本モデルでは更新が頻繁に起きることを想定しており、このように配置することで鍵無効化の効率を改良している。   As a typical tree structure management method, there is a content distribution model (for example, “Digital Content Protection Management Method” SCIS2001, pp.213-218). In this model, a key distribution tree structure as shown in FIG. 22 is used, and different keys are 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 end node (leaf node) and holds all key data from the root to the end node. In this model, it is assumed that updates occur frequently, and this arrangement improves the efficiency of key revocation.

[階層的鍵管理方式]
一方、階層的鍵管理方法で想定している鍵管理は各ノードに鍵が配置されている点では同様であるが、ユーザは末端ノードだけでなく、ルートを含めたすべてのノードに位置する鍵が配布される点が大きく異なる(例えば、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, June 2001等)。
[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 significantly different (for example, CH Lin. “Dynamic key management schemes for access control in a hierarchy” Computer Communications, 20: 1381-1385, 1997, or J.-C. Birget, X. Zou, G. Noubir, B. Ramamurthy, “Hierarchy-Based Access Control in Distributed Environments” in the Proceedings of IEEE ICC, June 2001, etc.).

また、図22のようなn分木の構造ではなく、図23や図24のようなアクセス構造を想定しており、局所的に見ると図25のような関係になっている箇所が見受けられる。この場合、ノードn1に配置されている鍵とノードn2に配置されているの両者からノードn3の持つべき鍵を生成できるような仕組みが提供されていなければならない。この仕組みを提供する方式として次の2つの方法が提案されている。   In addition, an access structure as shown in FIGS. 23 and 24 is assumed instead of the n-ary tree structure as shown in FIG. 22, and when viewed locally, a portion having a relationship as shown in FIG. 25 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. The following two methods have been proposed as a method for providing this mechanism.

[(1) User multiple keying]
各ノードが複数の鍵を保持する方式であり、親ノードは子ノードのすべての鍵を保持するように構成されている。図26はその一例であり、各ノードに配布される鍵データの集合が記載されている。例えば{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. 26 shows an example of this, which describes a set of key data distributed to each node. 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 らの提案を拡張させた方式であり、一方向性ハッシュ関数を用いることで、各ノードが保持する鍵情報を削減することができる。但し、図25のように複数の親ノードの鍵データから子ノードの鍵データを生成する際には、次のような操作が必要である。この操作を図27を用いて説明する。
[(2) One-way function based keying schemes]
This is an extended version of Lin et al.'S proposal. By using a one-way hash function, the key information held by each node can be reduced. However, when generating key data of a child node from key data of a plurality of parent nodes as shown in FIG. 25, the following operation is necessary. This operation will be described with reference to FIG.

図27において、鍵データ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. 27, to generate k3 from key data k1 or k2.
k3: = F (k1, n3) XOR r13
k3: = F (k2, n3) XOR r23
Perform the operation. Here, XOR is a bitwise exclusive OR. F () is a one-way hash function, and details will be described later. n3 is the identifier of the node to which the key data k3 is associated, r13 and r23 are 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 を満たすように生成される。   The function F () consists 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), and r12 and r13 above are F (k1, n3) XOR r13 = F (k2, n3) is generated so as to satisfy XOR r23.

前述したように、階層的鍵管理方式において局所的に親ノードが2つ以上存在する場合(図25は2つの親ノードが存在している例である)においては、異なる親ノードから同じ鍵データを生成するのが、先に説明した第1の実施形態である。   As described above, when there are two or more parent nodes locally in the hierarchical key management method (FIG. 25 is an example in which two parent nodes exist), the same key data from different parent nodes. Is generated in the first embodiment described above.

しかし、(1)User multiple keyingにおいては、各ノードが多くの鍵を持ち合わせていなければならず、階層が深くなるにつれて、つまり全体ノード数に比例して保持すべき鍵データが増加する問題が存在し、(2)One-way function based keying schemes においては、一方向性ハッシュ関数を用いることで各ノードが保持する鍵データ量を減らしているが、r12,r13 などの公開ランダムデータを別途保持する必要があり、(1)と同様に階層が深くなるにつれて保持すべきデータが増加するという問題が存在する。   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 in proportion to the total number of nodes as the hierarchy becomes deeper. However, in (2) One-way function based keying schemes, the amount of key data held by each node is reduced by using a one-way hash function, but public random data such as r12 and r13 is held separately. As in (1), there is a problem that data to be held increases as the hierarchy becomes deeper.

さらに、(2)においては、一方向性ハッシュ関数にべき乗演算が用いられている。落とし戸付きハッシュ関数による構成も考えられるが、いずれにせよ、べき乗演算が必要な演算が含まれており、計算コストが膨大である。特にPDAなどの演算リソースの少ないデバイスにおいては鍵計算に多くの時間を費やすこととなり、結果としてデータ復号時にインタラクティブな処理ができなくなる可能性がある。   Further, 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 at the time of data decryption.

そこで、本第2の実施形態では、この問題点に鑑み、階層的鍵管理方法と同様のアクセス構造を持つ鍵管理方式を少ない計算量で安全に構成することを可能にする例を説明する。   In view of this problem, the second embodiment will explain an example in which a key management method having an access structure similar to the hierarchical key management method can be configured safely with a small amount of calculation.

図9は、本発明の第2の実施形態に係る鍵情報処理装置の構成を概略的に示すブロック図である。   FIG. 9 is a block diagram schematically showing the configuration of the key information processing apparatus according to the second embodiment of the present invention.

なお、本発明の実現にあたって、図9に示される全ての機能を使用することは必須ではない。   Note that it is not essential to use all the functions shown in FIG. 9 in realizing the present invention.

図9において、鍵情報処理装置100は、公衆回線等のモデム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を介して互いに通信可能に接続されている。   9, a key 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, a DVD (Digital Video Disk or Digital Versatile Disk) 110, an interface (I / F) 117 of the printer 115, and an interface (I / F) 111 such as a mouse 112 or a keyboard 113 as an operation unit. These are connected to each other via a bus 116 so as to communicate with each other.

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

鍵情報処理装置100での各種情報(文字情報や画像情報等)は、プリンタ115により印刷出力できるようになされている。   Various information (character information, image information, etc.) in the key 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全体を制御する。特に、本第2の実施形態では、CPU103は、HD106等から、鍵生成を実現する処理プログラムを読み出して実行することで、後述する情報処理を実施する。   The CPU 103 controls operation of the entire key 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 second 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.

[鍵生成概要]
まず、本第2の実施形態における階層的鍵管理方法における各ノードのノード鍵の生成に関する説明から行う。
[Key generation overview]
First, a description will be given of generation of node keys for each node in the hierarchical key management method according to the second embodiment.

本第2の実施形態では図10や図28のように階層関係がループおよびサイクルを持たない有向グラフで表現されていることを前提とする。図36のノードn1とn2のように、複数の異なるノードがお互いに有向グラフで接続されている箇所が存在するとき、これらのノードをまとめて一つのノードとして扱うことで、このような双方向の接続関係を持つノードがない場合に帰着することができる。図37はn1とn2をn1’というひとつのノードと同一視した有向グラフである。以降、このような双方向の接続関係を持つノードがないと仮定する。   In the second embodiment, it is assumed that the hierarchical relationship is expressed as a directed graph having no loops and cycles as shown in FIGS. When there are places where a plurality of different nodes are connected to each other in a directed graph, such as nodes n1 and n2 in FIG. 36, by handling these nodes as one node, It can be reduced when there is no node with connection relation. FIG. 37 is a directed graph in which n1 and n2 are identified with one node n1 '. Hereinafter, it is assumed that there is no node having such a bidirectional connection relationship.

説明の便宜上、本実施の形態では図10に示すような2つの階層を持った格子グラフを取り扱う。図11及び図12においてそれぞれのセルに記載されている3つの数字は3つの初期鍵x,y,zに対して施すハッシュ関数の回数が表現されている。例えば[2,2,N]と記されているセルでは、ノード鍵としてH(H(x))とH(H(y))を保持するとする。Nは“なし”を意味し、初期鍵zに関する情報は全く持たないことを意味する。今後、ハッシュ演算をn度施す場合にはH^n()と略記して表現するものとする。この表記法に基づけば、[2,2,N]と記されているセルはH^2(x)とH^2(y)の2つのノード鍵を持つこととなる。階層的鍵管理方式における木構造を図12に示すような行列と置き換えて説明することもできる。図11は9個のノードを有する木構造の例であり、図11の各ノードに記された数字と、図12の各セルに記された数字は、同じ対応関係であることを示す。   For convenience of explanation, the present embodiment handles a lattice graph having two layers as shown in FIG. In FIG. 11 and FIG. 12, three numbers described in each cell represent the number of hash functions to be applied to the three initial keys x, y, and z. For example, in a cell marked [2, 2, N], it is assumed that H (H (x)) and H (H (y)) are held as node keys. N means “none” and means that no information about the initial key z is held. In the future, when a hash operation is performed n times, it will be expressed as H ^ n (). Based on this notation, a cell written as [2, 2, N] has two node keys H ^ 2 (x) and H ^ 2 (y). The tree structure in the hierarchical key management method can also be described by replacing it with a matrix as shown in FIG. FIG. 11 shows an example of a tree structure having nine nodes. The numbers written in each node in FIG. 11 and the numbers written in each cell in FIG. 12 indicate the same correspondence.

まず、図11に示したような木構造において、ルートノード(図中[0,0,0]で示されるノード)を行列における一番右上のセルに対応付ける。そして、木構造における各ノードの子ノードのうち左に位置するノード、及び右に位置するノードを、夫々、行列の左のセル、及び下のセルに対応付ける。この対応付けを全てのノード、及びセルに対して順に行うことにより、図11に示した木構造は図12に示した行列に置き換えることができる。   First, in the tree structure as shown in FIG. 11, the root node (the node indicated by [0, 0, 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, respectively. By performing this association for all nodes and cells in order, the tree structure shown in FIG. 11 can be replaced with the matrix shown in FIG.

次に、図11または図12に示される鍵生成用データの生成方法について説明する。   Next, a method for generating key generation data shown in FIG. 11 or 12 will be described.

[ノードの分割]
鍵生成用データを生成するために、与えられた鍵配布グラフGにおいて、次の条件を満たすようにノードの分割を行う。ここで、ノード全体の集合をNode (G)、部分集合の組の大きさをN、分割された部分集合をSubG_1, SubG_2, …, SubG_Nという表記方法を使うこととする。
[Split Node]
In order to generate key generation data, nodes are divided so as to satisfy the following condition in a given key distribution graph G. Here, the notation method of Node G is used as the set of all nodes, the size of the set of subsets is N, and the divided subsets are SubG_1, SubG_2,..., SubG_N.

・SubG_1∪ SubG_2∪…∪ SubG_N = Node(G),
つまり部分集合全体は全ノードを網羅する。
・ SubG_1∪ SubG_2∪… ∪ SubG_N = Node (G),
That is, the entire subset covers all nodes.

・SubG_iに含まれる任意の2つの異なるノードn_a,n_bは、
n_a < n_b 又は n_a > n_b
が成立する。つまりn_a,n_bには子孫関係が存在し、一方が必ずもう一方の子孫ノードである。
Any two different nodes n_a, n_b included in SubG_i are
n_a <n_b or n_a> n_b
Is established. That is, n_a and n_b have a descendant relationship, and one is always the other descendant node.

この分割された部分集合の数Nを鍵配布グラフGの鍵配布オーダーと呼びOrd(G)と表記する。   The number N of the divided subsets is called a key distribution order of the key distribution graph G and is denoted as Ord (G).

[ノード鍵の割り当て]
部分集合SubG_iに対して1つずつ初期鍵K_iを計算し、ルートノードのノード鍵として割り当てる。ルートノードの配下にある子孫ノードは次のような法則でノード鍵が割り当てられる。
[Assign Node Key]
One initial key K_i is calculated for each subset SubG_i and assigned as the node key of the root node. Descendant nodes under the root node are assigned node keys according to the following rules.

i)各ノードはN個の初期鍵K_i(1≦i≦N)に関連付けられた番号が振られる。この番号は初期鍵K_iに対し一方向性関数を実行する回数であり、“なし”を意味する“N”が振られることもある。初期鍵K_iの当該番号が“N”のときは、初期鍵K_iに関連した鍵を保有しないことを意味する。   i) Each node is assigned a number associated with N initial keys K_i (1 ≦ i ≦ N). This number is the number of times the one-way function is executed for the initial key K_i, and “N” meaning “none” may be assigned. When the number of the initial key K_i is “N”, it means that the key related to the initial key K_i is not held.

ii)SubG_iに含まれるノードをそれぞれの集合内で有向グラフ上での子孫関係に従って降順にソートし、0から1つずつ増加させた番号を割り付けする。この番号は初期鍵K_iに関連付けられた番号である。   ii) The nodes included in SubG_i are sorted in descending order according to the descendant relationship on the directed graph in each set, and numbers incremented by one from 0 are assigned. This number is a number associated with the initial key K_i.

iii)SubG_iに含まれるノードの初期鍵K_j(i≠j)に関連付けられた番号は、(初期鍵K_jに対する部分集合である)SubG_jに含まれるノードの祖先ノードではない場合には当該番号をN(なし)とし、祖先ノードであるノードの当該番号は子孫ノードとしてSubG_jに含まれるノードのうち割り当てされた番号の最小値とする。   iii) The number associated with the initial key K_j (i ≠ j) of the node included in SubG_i is N if it is not an ancestor node of the node included in SubG_j (which is a subset of the initial key K_j). (None), and the number of the node that is the ancestor node is the minimum value of the assigned numbers among the nodes included in SubG_j as descendant nodes.

図19は上記のノード鍵割り当て処理をフローチャートにしたものである。以降、図119の説明を行う。ここでは、すでに全ノード集合は互いに素であり、空ではない部分集合{SubG_i}(1≦i≦N)に分割されており、それぞれの部分集合に対する初期鍵K_iが計算されているものとする。また、部分集合 SubG_iに含まれるノード数を#N(i)と記述し、部分集合SubG_iに含まれるノードは、有向グラフ上での子孫関係に従って降順にソートされ SubG_i={n(i,1),n(i,2),...,n(i,#N(i))}と記述することとする。さらにノードn(i,j)に対するノード鍵は初期鍵K_k(1≦k≦N)に一方向性ハッシュ関数を規定回数施したものであるが、この規定回数をh(i,j,k)と表記する。   FIG. 19 is a flowchart of the above node key assignment processing. Hereinafter, the description of FIG. 119 will be given. Here, it is assumed that all node sets are already prime and are divided into non-empty subsets {SubG_i} (1 ≦ i ≦ N), and initial keys K_i for the respective subsets are calculated. . Further, the number of nodes included in the subset SubG_i is described as #N (i), and the nodes included in the subset SubG_i are sorted in descending order according to the descendant relationship on the directed graph, and SubG_i = {n (i, 1), n (i, 2),. . . , N (i, #N (i))}. Further, the node key for the node n (i, j) is obtained by applying a one-way hash function to the initial key K_k (1 ≦ k ≦ N) a specified number of times, and this specified number of times is h (i, j, k). Is written.

ステップS1101は1からNまで変動する変数iのループ、ステップS1102は1からNまで変動する変数jのループ、ステップS1103は1から#N(i)まで変動する変数kのループである。ステップS1104は変数iと変数kが一致するかどうか評価し、一致する場合には処理をステップS1105に進め、一致しない場合には処理をステップS1106に進める。ステップS1105はh(i,j,k)にj−1を代入し、ループ処理に戻る。ステップS1106はn(k,m)<n(i,j),つまりn(i,j)はn(k,m)の祖先ノードであることを満たすmが存在するか評価し、存在しない場合には処理をステップS1107に進め、存在する場合には処理をステップS1108に進める。ステップS1107はh(i,j,k)に“N”を代入し、ループ処理に戻る。   Step S1101 is a variable i loop that varies from 1 to N, step S1102 is a variable j loop that varies from 1 to N, and step S1103 is a variable k loop that varies from 1 to #N (i). In step S1104, it is evaluated whether or not the variable i matches the variable k. If they match, the process proceeds to step S1105, and if they do not match, the process proceeds to step S1106. In step S1105, j-1 is substituted for h (i, j, k), and the process returns to the loop process. Step S1106 evaluates whether n (k, m) <n (i, j), that is, n (i, j) is an ancestor node of n (k, m), and if not, If not, the process proceeds to step S1108. In step S1107, “N” is substituted for h (i, j, k), and the process returns to the loop process.

ステップS1108はh(i,j,k)にmin{h(k,m,k)|n(k,m)<n(i,j)}、つまりn(i,j)がn(k,m)の祖先ノードであるノードのうちh(k,m,k)の最小値を代入し、ループ処理に戻る。   In step S1108, h (i, j, k) is changed to min {h (k, m, k) | n (k, m) <n (i, j)}, that is, n (i, j) is n (k, Among the nodes that are ancestor nodes of m), the minimum value of h (k, m, k) is substituted, and the process returns to the loop processing.

以下、具体例を図13から図16、図17から図18、および、図28から図34を用いて説明する。   Specific examples will be described below with reference to FIGS. 13 to 16, FIGS. 17 to 18, and FIGS. 28 to 34.

図13は、図10に示す鍵生成グラフにおけるノード分割の例であり、3つの部分集合SubG_ 1からSubG_ 3に分割している。つまり、SubG_ 1={n0, n2, n5},SubG_ 2={n1, n4, n7},SubG_ 3={n3, n6, n8}である。このとき、h(i,j,i)のみを表示したものが図14である。たとえば{h(1,1,1),h(1,2,1),h(1,3,1)}={0,1,2}であり、これはステップS1104およびS1105に対応する。さらにノードの子孫関係から“N”となる箇所を記載したものが図15である。たとえばh(1,1,3)=“N”であるが、これはn(3,m)<n(1,1)=n3となるmは存在しないことに起因する。実際n(3,1)= n0,n(3,2)=n2,n(3,3)=n5でありこのことが確認できるが、これはステップS1106およびS1107に対応する。さらにn(3,m)<n(i,j)を満たすすべてのi,jでチェックして反映した結果が図16である。たとえばh(2,1,1)=0であるが、これはn(1,m)<n(2,1)=n1となるmには1,2,3の可能性があるが、h(1,1,1)=0,h(1,2,1)=1,h(1,3,1)=2のうち最小値である0が選択される。さらにn(2,m)<n(i,j)を満たすすべてのi,jでチェックし,最終的には図12を得る。   FIG. 13 is an example of node division in the key generation graph shown in FIG. 10 and is divided into three subsets SubG_1 to SubG_3. That is, SubG_1 = {n0, n2, n5}, SubG_2 = {n1, n4, n7}, SubG_3 = {n3, n6, n8}. FIG. 14 shows only h (i, j, i) displayed at this time. For example, {h (1, 1, 1), h (1, 2, 1), h (1, 3, 1)} = {0, 1, 2}, which corresponds to steps S1104 and S1105. Further, FIG. 15 shows a part that becomes “N” from the descendant relationship of the node. For example, h (1,1,3) = “N”, but this is because there is no m satisfying n (3, m) <n (1,1) = n3. Actually, n (3,1) = n0, n (3,2) = n2, n (3,3) = n5 and this can be confirmed, which corresponds to steps S1106 and S1107. FIG. 16 shows the result of checking and reflecting all i, j satisfying n (3, m) <n (i, j). For example, h (2,1,1) = 0. This is because m (n, 1, m) <n (2,1) = n1 may be 1,2,3. Of (1,1,1) = 0, h (1,2,1) = 1, and h (1,3,1) = 2, 0 which is the minimum value is selected. Further, checking is performed with all i, j satisfying n (2, m) <n (i, j), and finally FIG. 12 is obtained.

また、図13とは異なる図17に記載のノード分割による構成方法は、図19のフローチャートにより図12と同様に構成でき、図18を得る。図12と図18では、総ハッシュ演算量が図18の場合が多くなる。   Further, the configuration method by node division shown in FIG. 17 different from FIG. 13 can be configured in the same manner as FIG. 12 by the flowchart of FIG. 12 and FIG. 18, the total hash calculation amount increases in FIG.

次に図28に示す鍵生成グラフにおけるノード鍵の構成方法について説明する。図29は、図28に示す鍵生成グラフにおけるノード分割の例であり、3つの部分集合SubG_ 1からSubG_ 3に分割している。つまりSubG_ 1={n0, n1, n4, n7},SubG_ 2={n3, n6},SubG_ 3={n2, n5}である。このとき図19に記載のフローチャートに基づき構成したノード鍵は図30のとおりである。以下、図30に至るまでの構成を説明する。まず、h(i,j,i)のみを表示したものが図31である。たとえば{h(1,1,1),h(1,2,1),h(1,3,1),h(1,4,1)}={0,1,2,3}であり、これはステップS1104およびS1105に対応する。さらにノードの子孫関係から“N”となる箇所を記載したものが図32である。たとえばh(1,2,3)=“N”であるが、これはn(3,m)<n(1,2)=n1となるmは存在しないことに起因する。実際n(3,1)= n3,n(3,2)= n6でありこのことが確認できるが、これはステップS1106およびS1107に対応する。さらにn(1,m)<n(i,j)をすべてのi,jでチェックして反映した結果が図33である。たとえばh(2,1,1)=2であるが、これはn(1,m)<n(2,1)=n3となるmには3,4の可能性があるが、h(1,3,1)=2,h(1,4,1)=3のうち最小値である2が選択される。同様にしてn(2,m)<n(i,j)をすべてのi,jでチェックして反映した結果が図34であり、最終的には図30を得る。   Next, a node key configuration method in the key generation graph shown in FIG. 28 will be described. FIG. 29 shows an example of node division in the key generation graph shown in FIG. 28, in which three subsets SubG_1 to SubG_3 are divided. That is, SubG_1 = {n0, n1, n4, n7}, SubG_2 = {n3, n6}, SubG_3 = {n2, n5}. At this time, the node keys configured based on the flowchart shown in FIG. 19 are as shown in FIG. The configuration up to FIG. 30 will be described below. First, FIG. 31 shows only h (i, j, i). For example, {h (1, 1, 1), h (1, 2, 1), h (1, 3, 1), h (1, 4, 1)} = {0, 1, 2, 3} This corresponds to steps S1104 and S1105. Further, FIG. 32 shows a part that becomes “N” from the descendant relationship of the node. For example, h (1,2,3) = “N”, but this is because there is no m satisfying n (3, m) <n (1,2) = n1. Actually, n (3,1) = n3, n (3,2) = n6 and this can be confirmed, which corresponds to steps S1106 and S1107. Further, FIG. 33 shows a result of checking and reflecting n (1, m) <n (i, j) with all i, j. For example, h (2,1,1) = 2, which is 3 or 4 in m where n (1, m) <n (2,1) = n3, but h (1 , 3, 1) = 2, and h (1,4,1) = 3, 2 which is the minimum value is selected. Similarly, the result of checking and reflecting n (2, m) <n (i, j) with all i, j is FIG. 34 and finally FIG. 30 is obtained.

さらに、終端ノードに鍵を配布しない場合を考える。これは画像データにおけるサムネイル画像など、制限なしにデータアクセス可能な状態を作ることができる。図35はその例であり、終端ノードは[N, N, N]と記載されているようにノード鍵が存在しないことを意味する。これは、終端ノードのみをノード分割時nどの部分集合にも含めない状態から図19のフローチャートに適用することで得ることができる。ここでは終端ノードのひとつのみに対しノード鍵を配布しない例を示したが、複数ノードにした場合でも同様に構成できることは明らかである。   Further, consider a case where a key is not distributed to a terminal node. This can create a state where data can be accessed without limitation, such as a thumbnail image in image data. FIG. 35 shows an example of this, and the end node means that there is no node key as described as [N, N, N]. This can be obtained by applying to the flowchart of FIG. 19 from a state where only the terminal node is not included in any subset at the time of node division. Although an example in which the node key is not distributed to only one terminal node is shown here, it is obvious that the same configuration can be achieved even when a plurality of nodes are used.

[生成された鍵の満たすべき条件]
上記の鍵生成方式は次の条件を満たすように構成されている。
[Conditions to be satisfied by the generated key]
The above key generation method is configured to satisfy the following conditions.

a. 生成可能性:対象ノードはその孫ノードの鍵を生成できること
b. 結託攻撃回避性:(一方向性関数が脆弱にならない限り)任意の二つ以上のノードに位置するエンティティが結託しても、夫々のノードより上位に位置する祖先ノードの鍵は生成できないこと
これらの条件により、安全に鍵生成と鍵配布を行うことができる階層的鍵管理方式が実現できる。
a. Generation possibility: The target node can generate keys of its grandchild nodes.
b. Collusion attack avoidance: Even if an entity located at any two or more nodes is collocated (unless the one-way function becomes weak), the key of the ancestor node located above each node cannot be generated. Under these conditions, a hierarchical key management system that can securely generate and distribute keys can be realized.

[鍵配布]
ルート鍵配布者(ルートノードのエンティティ)による各ノードへの鍵配布方法と、ルート鍵配布者以外の個別鍵を保持するエンティティによる下位ノードへの鍵配布方法とについて、それぞれ説明する。まずルート鍵配布者は、鍵配布グラフGに応じて決まる鍵配布オーダーOrd(G)個のパラメータ{x_i}(1≦i≦Ord(G))をランダムに且つ安全に生成し、それらを自身の個別鍵とする。さらに前述した鍵生成手順により各ノードに複数の鍵を配置する。ルート鍵配布者は各ノードに位置するエンティティに対して、各ノードの鍵を安全に配布する。また、鍵配布グラフを公開し、各エンティティに対して、配布された鍵がグラフのどの位置の鍵であるかを識別できるデータを配布する。このデータは例えば、格子グラフを鍵配布グラフとする場合には、行列表記したときの座標により構成するようにすれば良い。
[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 the key distribution order Ord (G) parameters {x_i} (1 ≦ i ≦ Ord (G)) determined according to the key distribution graph G at random and securely, and generates the parameters themselves. As an individual key. Further, a plurality of keys are arranged at each node by the key generation procedure described above. The root key distributor securely distributes the key of each node to the entity located at each node. Also, the key distribution graph is made public, and data that can identify the location of the distributed key in the graph is distributed to each entity. For example, when the grid graph is a key distribution graph, this data may be constituted by coordinates when expressed in a matrix.

[情報処理装置における鍵生成・配布処理]
前記情報処理装置100において以上の鍵生成・配布処理を行う手順について説明する。画像などの管理対象データをCD108もしくはネットワークのネットワーク接続部107を通して取得しHD106に格納するか、もしくはHD106に既に格納されているデータの中から選択する。ここで、ユーザはモニタ102に表示した一覧からマウス112もしくはキーボード113などを使って選択する。
[Key generation / distribution processing in information processing equipment]
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の実施形態>
第2の実施形態における鍵配布方式により生成された階層的な構造を持つ鍵データを用いたアクセス制御の好適例を説明する。図10で表現されている格子鍵生成グラフは2つの階層軸を持っている。このうち1つ(左下方向)を解像度、もう片方(右下方向)を画像領域とした場合の例を図20に示す。
<Third Embodiment>
A preferred example of access control using key data having a hierarchical structure generated by the key distribution method in the second embodiment will be described. The lattice key generation graph represented in FIG. 10 has two hierarchical axes. FIG. 20 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または図12に則った鍵配布を行う場合を例として、鍵配布方法および画像暗号化方法を説明する。対象画像データ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 as an example the case of performing key distribution according to FIG. 11 or FIG. 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つのデータをルートノードと同様に連結して暗号鍵を生成し、図21に記載のデータを暗号化する。   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 way 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 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 a part or all of the actual processing performed by the CPU or the like is also included in the scope of the present invention.

従来技術における解像度とレイヤにおける鍵情報の問題点を説明するための図である。It is a figure for demonstrating the problem of the key information in the resolution and a layer in a prior art. 第1の実施形態における解像度とレイヤにおける鍵情報の相関を示す図である。It is a figure which shows the correlation of the resolution in 1st Embodiment, and the key information in a layer. 第1の実施形態における装置の構成例を示す図である。It is a figure which shows the structural example of the apparatus in 1st Embodiment. 第1の実施形態におけるRSA暗号を用いた場合の鍵の相関を示す図である。It is a figure which shows the correlation of the key at the time of using the RSA encryption in 1st Embodiment. 第1の実施形態における暗号化及び鍵生成に係る構成例を示す図である。It is a figure which shows the structural example which concerns on encryption and key generation in 1st Embodiment. 実施形態が適用するシステム構成例を示す図である。It is a figure which shows the system configuration example which embodiment applies. ウェーブレット変換の例を示す図である。It is a figure which shows the example of wavelet transformation. エントロピー符号化する際のレイヤを説明するための図である。It is a figure for demonstrating the layer at the time of entropy encoding. 本第2、第3の実施形態に係る鍵情報処理装置の構成を概略的に示すブロック図である。It is a block diagram which shows roughly the structure of the key information processing apparatus which concerns on this 2nd, 3rd embodiment. 第2の実施形態に係る有向グラフの例を説明する図である。It is a figure explaining the example of the directed graph which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布グラフの例を示す図である。It is a figure which shows the example of the key distribution graph which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布行列の例を示す図である。It is a figure which shows the example of the key distribution matrix which concerns on 2nd Embodiment. 第2の実施形態に係る図10に記載の鍵配布グラフにおけるノード分割の例を説明する図である。It is a figure explaining the example of the node division | segmentation in the key distribution graph of FIG. 10 which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列を示す図である。It is a figure which shows the key distribution matrix showing the state of the middle stage which comprises the key distribution matrix which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列を示す図である。It is a figure which shows the key distribution matrix showing the state of the middle stage which comprises the key distribution matrix which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列を示す図である。It is a figure which shows the key distribution matrix showing the state of the middle stage which comprises the key distribution matrix which concerns on 2nd Embodiment. 第2の実施形態に係る図10に記載の鍵配布グラフにおけるノード分割の別例を示す図である。It is a figure which shows another example of the node division | segmentation in the key distribution graph of FIG. 10 which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布行列の例を示す図である。It is a figure which shows the example of the key distribution matrix which concerns on 2nd Embodiment. 第2の実施形態に係るノード鍵生成手順を表すフローチャートである。It is a flowchart showing the node key production | generation procedure which concerns on 2nd Embodiment. 第3の実施形態に係る階層型アクセス構造を説明する概念図である。It is a conceptual diagram explaining the hierarchical access structure which concerns on 3rd Embodiment. 第3の実施形態に係る各ノードが暗号化すべき画像リストを表わすテーブルを示す図である。It is a figure which shows the table showing the image list which each node which concerns on 3rd 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. 第2の実施形態に係る有向グラフの例を示す図である。It is a figure which shows the example of the directed graph which concerns on 2nd Embodiment. 第2の実施形態に係る図10に記載の鍵配布グラフにおけるノード分割の例を説明する図である。It is a figure explaining the example of the node division | segmentation in the key distribution graph of FIG. 10 which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布グラフの例を示す図である。It is a figure which shows the example of the key distribution graph which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列を示す図である。It is a figure which shows the key distribution matrix showing the state of the middle stage which comprises the key distribution matrix which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列を示す図である。It is a figure which shows the key distribution matrix showing the state of the middle stage which comprises the key distribution matrix which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列を示す図である。It is a figure which shows the key distribution matrix showing the state of the middle stage which comprises the key distribution matrix which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列を示す図である。It is a figure which shows the key distribution matrix showing the state of the middle stage which comprises the key distribution matrix which concerns on 2nd Embodiment. 第2の実施形態に係る鍵配布グラフの例を示す図である。It is a figure which shows the example of the key distribution graph which concerns on 2nd Embodiment. 第2の実施形態に係る双方向に接続関係を持つノードが存在する有向グラフの例を示す図である。It is a figure which shows the example of the directed graph with which the node which has a bidirectional connection relation which concerns on 2nd Embodiment exists. 第2の実施形態に係る図36に記載の有向グラフにおいて、双方向に接続関係を持つノードが存在しないように変更した有向グラフの例を示す図である。FIG. 37 is a diagram illustrating an example of a directed graph that is changed so that a node having a bidirectional connection relationship does not exist in the directed graph illustrated in FIG. 36 according to the second embodiment.

Claims (10)

画像データを鍵情報を用いて暗号化する画像データ暗号化装置の制御方法であって、
階層的な構造を持ち、各階層のデータが少なくとも2つのパラメータで特定でき、且つ、それぞれのパラメータが多段階のレベルで表現される画像データを入力する入力工程と、
入力した画像データに対し、前記2つのパラメータが共に最大レベルで特定される階層のデータに対する鍵情報を起源とし、前記2つのパラメータで特定される階層のデータ用の鍵情報を、当該階層のデータより1つ高位に位置する階層内の2つのデータ用の鍵情報のいずれからも生成可能な、一方向性の所定の関数を用いて鍵情報を生成する生成工程と、
前記設定工程で設定された鍵情報、及び、前記生成工程で生成された鍵情報に従い、前記入力工程で入力した該当する階層のデータを暗号化する暗号化工程と
を備えることを特徴とする画像データ暗号化装置の制御方法。
A control method for an image data encryption device that encrypts image data using key information,
An input process for inputting image data having a hierarchical structure, in which data of each hierarchy can be specified by at least two parameters, and each parameter is expressed in multiple levels;
For the input image data, the key information for the data of the hierarchy specified by the two parameters originates from the key information for the data of the hierarchy specified by the two parameters at the maximum level. A generation step of generating key information using a predetermined one-way function that can be generated from any of the two pieces of key information for data in the hierarchy located one level higher;
An encryption step for encrypting the data of the corresponding hierarchy input in the input step according to the key information set in the setting step and the key information generated in the generation step. Control method of data encryption apparatus.
前記入力工程で入力する画像データはJPEG2000による圧縮符号化データであって、前記パラメータには、タイル、プレシンクト、コンポーネント、解像度、レイヤが含まれることを特徴とする請求項1に記載の画像データ暗号化装置の制御方法。   The image data encryption according to claim 1, wherein the image data input in the input step is JPEG 2000 compression encoded data, and the parameters include tile, precinct, component, resolution, and layer. Control method. 前記生成工程は、公開鍵暗号化方法に従って前記鍵情報を生成されることを特徴とする請求項1又は2に記載の画像データ暗号化装置の制御方法。   The method of controlling an image data encryption apparatus according to claim 1, wherein in the generation step, the key information is generated according to a public key encryption method. 前記生成工程は、楕円曲線状の剰余乗算によって前記鍵情報を生成することを特徴とする請求項1又は2に記載の画像データ暗号化装置の制御方法。   The method of controlling an image data encryption apparatus according to claim 1, wherein the generating step generates the key information by elliptic multiplication. 前記生成工程で用いられる一方向性の関数は、ハッシュ関数であることを特徴とする請求項1又は2に記載の画像データ暗号化装置の制御方法。   The method for controlling an image data encryption apparatus according to claim 1, wherein the one-way function used in the generation step is a hash function. 画像データを鍵情報を用いて暗号化する画像データ暗号化装置であって、
階層的な構造を持ち、各階層のデータが少なくとも2つのパラメータで特定でき、且つ、それぞれのパラメータが多段階のレベルで表現される画像データを入力する入力手段と、
入力した画像データに対し、前記2つのパラメータが共に最大レベルで特定される階層のデータに対する鍵情報を起源とし、前記2つのパラメータで特定される階層のデータ用の鍵情報を、当該階層のデータより1つ高位に位置する階層内の2つのデータ用の鍵情報のいずれからも生成可能な、一方向性の所定の関数を用いて鍵情報を生成する生成手段と、
前記設定手段で設定された鍵情報、及び、前記生成手段で生成された鍵情報に従い、前記入力手段で入力した該当する階層のデータを暗号化する暗号化手段と
を備えることを特徴とする画像データ暗号化装置。
An image data encryption device that encrypts image data using key information,
Input means for inputting image data having a hierarchical structure, in which data of each hierarchy can be specified by at least two parameters, and each parameter is expressed in multiple levels;
For the input image data, the key information for the data of the hierarchy specified by the two parameters originates from the key information for the data of the hierarchy specified by the two parameters at the maximum level. Generating means for generating key information using a predetermined one-way function that can be generated from any of the two pieces of key information for data in the hierarchy located one level higher;
An encryption unit configured to encrypt data of a corresponding layer input by the input unit in accordance with the key information set by the setting unit and the key information generated by the generation unit. Data encryption device.
前記入力手段で入力される画像データはJPEG2000による圧縮符号化データであって、前記パラメータには、タイル、プレシンクト、コンポーネント、解像度、レイヤが含まれることを特徴とする請求項6に記載の画像データ暗号化装置。   The image data according to claim 6, wherein the image data input by the input unit is JPEG 2000 compression encoded data, and the parameters include tile, precinct, component, resolution, and layer. Encryption device. 前記生成手段で用いられる一方向性の関数は、ハッシュ関数であることを特徴とする請求項6又は7に記載の画像データ暗号化装置。   The image data encryption apparatus according to claim 6 or 7, wherein the one-way function used in the generation unit is a hash function. 請求項6乃至8の何れか1項に記載の画像データ暗号化装置の各手段をコンピュータに機能させるためのコンピュータプログラム。   A computer program for causing a computer to function each unit of the image data encryption device according to any one of claims 6 to 8. 請求項9に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。   A computer-readable storage medium storing the computer program according to claim 9.
JP2006275732A 2003-03-07 2006-10-06 Image data encryption apparatus and control method thereof Pending JP2007020225A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006275732A JP2007020225A (en) 2003-03-07 2006-10-06 Image data encryption apparatus and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003061864 2003-03-07
JP2006275732A JP2007020225A (en) 2003-03-07 2006-10-06 Image data encryption apparatus and control method thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004035546A Division JP2004297778A (en) 2003-03-07 2004-02-12 Image data encryption method and apparatus, computer program, and computer-readable storage medium

Publications (2)

Publication Number Publication Date
JP2007020225A true JP2007020225A (en) 2007-01-25
JP2007020225A5 JP2007020225A5 (en) 2007-03-29

Family

ID=37756873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006275732A Pending JP2007020225A (en) 2003-03-07 2006-10-06 Image data encryption apparatus and control method thereof

Country Status (1)

Country Link
JP (1) JP2007020225A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107862652A (en) * 2017-11-22 2018-03-30 北京星球时空科技有限公司 One kind gets a bird's eye view drawing generating method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107862652A (en) * 2017-11-22 2018-03-30 北京星球时空科技有限公司 One kind gets a bird's eye view drawing generating method and device
CN107862652B (en) * 2017-11-22 2021-04-27 北京星球时空科技有限公司 Aerial view generation method and device

Similar Documents

Publication Publication Date Title
JP2004297778A (en) Image data encryption method and apparatus, computer program, and computer-readable storage medium
US7457419B2 (en) Information processing method and apparatus for encrypting encoded data
CN100576916C (en) Media data encoding device
US7463736B2 (en) Data process apparatus and method therefor
US7739492B2 (en) Encrypted communication for selectively delivering a message to multiple decrypting devices
CN100584014C (en) Media data transcoding devices
JP2004140667A (en) Information processing method
US20080152133A1 (en) Information encryption apparatus and controlling method of the same, computer program and computer readable storage medium
JP2010004518A (en) Method and apparatus for protecting scalable video encoded content
CN100571388C (en) The scalable data sequence of encrypting is gradually carried out the method for stretching
JP2004274358A (en) Method and device for encrypting and converting image data, computer program, and computer-readable storage medium
JP2005286959A (en) Information processing method, decoding processing method, information processor and computer program
US7356149B2 (en) Information processing method and apparatus, computer program, and computer-readable storage medium
JP4181802B2 (en) Information processing apparatus, information processing method, program, and storage medium
WO2005018136A1 (en) Key information processing method, device thereof, and program
US7522724B2 (en) System and method of transmission of generalized scalable bit-streams
CN1748209A (en) Method and equipment thereof that the numerical data of encrypting is duplicated and deciphered
JP4136812B2 (en) Image encryption method, image encryption / decryption method and apparatus thereof, and computer program and computer-readable storage medium
JP2010160235A (en) Retrieval system, terminal device, database device, retrieval method, and program
JP2007020225A (en) Image data encryption apparatus and control method thereof
JP2010145691A (en) Content encrypting apparatus, content decrypting apparatus, and data conversion method
JP2007189597A (en) Encryption device, encryption method, decoding device, and decoding method
JP2005123678A (en) Information processing apparatus, information recording medium and information processing method, and computer program
Varalakshmi et al. An enhanced encryption algorithm for video based on multiple Huffman tables
JP2005109753A (en) Method and apparatus for processing key information, and program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070406

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070803