(57)【要約】    【課題】  階層的鍵管理方式と同様のアクセス構造を持つ鍵管理方式を少ない計算量で安全に構成することができる鍵情報処理方法及びその装置、並びにプログラムを提供する。    【解決手段】  各ノードにおける鍵を親ノードから生成することのできる鍵配布方式において、Ｎ個の鍵を算出する初期鍵生成工程と、各ノードは前記Ｎ個の初期鍵のうちＭ個（Ｍ≦Ｎ）に実行規定に応じて一方向性関数を規定回数実行した値を当該ノードに対するＭ個のノード鍵として生成するノード鍵生成工程とを備える。【選択図】      図１１
2005109753.tif 000002
【特許請求の範囲】
【請求項１】
サイクルを持たない有向グラフで表現された階層関係に基づいて、各ノードにおける鍵を親ノードから生成して鍵配布を行う鍵情報処理方法において、
最上位に位置するルートノードでＮ個の鍵を算出する初期鍵生成工程と、
各ノードで前記Ｎ個の初期鍵のうちＭ個（Ｍ≦Ｎ）に実行規定に応じて一方向性関数を規定回数実行した値を当該ノードに対するＭ個のノード鍵として生成するノード鍵生成工程と、 
を有することを特徴とする鍵情報処理方法。
【請求項２】
前記各ノードから子ノードに対するノード鍵を配布する鍵配布工程を有することを特徴とする請求項１に記載の鍵情報処理方法。
【請求項３】
前記各ノードから子孫ノードに対するノード鍵を配布する鍵配布工程を有することを特徴とする請求項１または２に記載の鍵情報処理方法。
【請求項４】
前記有向グラフが、複数の異なるノードがお互いに有向グラフで接続されている箇所が存在するとき、これらのノードをまとめて一つのノードとして扱うことを特徴とする請求項１から３のいずれか１項に記載の鍵情報処理方法。
【請求項５】
前記有向グラフの構造から初期鍵の個数Ｎを算出する初期鍵数算出工程を有することを特徴とする請求項１から４のいずれか１項に記載の鍵情報処理方法。
【請求項６】
前記初期鍵数算出工程において、全ノードを網羅するようにノードの部分集合の組を生成するノード分割工程と、
前記部分集合は、同一部分集合に含まれる任意のノードが必ず子孫関係にあることを満たすことをチェックする工程と、
前記部分集合の組の大きさを前記初期鍵の個数Ｎとする初期鍵数算出工程と、
を有することを特徴とする請求項１から５のいずれか１項に記載の鍵情報処理方法。
【請求項７】
前記ノード分割工程において、全ノードを互いに素な部分集合に分割することを特徴とする請求項６に記載の鍵情報処理方法。
【請求項８】
前記実行規定は、前記ノード分割工程によって得られた部分集合の組ごとに、異なる初期鍵を関連付ける初期鍵関連付け工程と、
前記部分集合をそれぞれの集合内で有向グラフ上での子孫関係に従って降順にソートし、０から１つずつ番号を割り付けするナンバリング工程と、
ナンバリングされた数値は、前記初期鍵に対し一方向性関数を実行する回数であることを特徴とする請求項１から７のいずれか１項に記載の鍵情報処理方法。
【請求項９】
前記初期鍵関連付け工程において、初期鍵Ｋに関連付けが為されなかった他の部分集合に含まれるノードに対して当該番号（一方向性関数を実行する回数）を割り当てるとき、前記初期鍵Ｋに関連付けされた部分集合Gに含まれるノードの祖先ノードではないノードの当該番号をN（なし）とし、祖先ノードであるノードの当該番号は子孫ノードとして前記部分集合Gに含まれるノードのうち割り当てされた番号の最小値をとることを特徴とする請求項８に記載の鍵情報処理方法。
【請求項１０】
前記ノード鍵生成工程において、最下位ノードにはノード鍵を配布しないことを特徴とする請求項１から９のいずれか１項に記載の鍵情報処理方法。
【請求項１１】
前記ノード鍵生成工程において、複数の指定ノードの子孫ノードにはノード鍵を配布しないことを特徴とする請求項１０に記載の鍵情報処理方法。
【請求項１２】
前記ノード分割工程において、ノード鍵を配布しないノードを前記部分集合に含めないことを特徴とする請求項１０または１１に記載の鍵情報処理方法。
【請求項１３】
前記有向グラフは２つの階層軸を持つ格子状の階層関係を表す格子ノードであることを特徴とする請求項１から１２のいずれか１項に記載の鍵情報処理方法。
【請求項１４】
前記ノード鍵設定工程の設定内容を表わすノード鍵設定データを前記各ノードに公開する公開工程と、
前記各ノードに、当該ノードの前記ノード鍵設定データ上での位置を表わす識別データを配布する識別データ配布工程とを有することを特徴とする請求項１から１３に記載の鍵情報処理方法。
【請求項１５】
前記２つの階層軸はそれぞれ画像の２つのパラメータの階層レベルに対応付けられており、各要素の個別鍵は、当該２つのパラメータについて当該要素の属する階層レベルに対応する画像へのアクセスを可能とすることを特徴とする請求項１４に記載の鍵情報処理方法。
【請求項１６】
前記２つのパラメータは、画像の領域及び解像度であることを特徴とする請求項１５に記載の鍵情報処理方法。
【請求項１７】
前記２つのパラメータは、画像の画質及び解像度であることを特徴とする請求項１５に記載の鍵情報処理方法。
【請求項１８】
前記画像は動画であり、前記２つのパラメータは、動画の時間領域及び画質であることを特徴とする請求項１５に記載の鍵情報処理方法。
【請求項１９】
前記初期鍵生成工程において、前記Ｎ個の初期鍵は、１つのオリジナル鍵から生成されることを特徴とする請求項１に記載の情報処理方法。
【請求項２０】
前記初期鍵生成工程において、前記Ｎ個の初期鍵は、前記オリジナル鍵から一方向性関数を用いて算出されることを特徴とする請求項１９に記載の鍵情報処理方法。
【請求項２１】
サイクルを持たない有向グラフで表現された階層関係に基づいて、各ノードにおける鍵を親ノードから生成することのできる鍵情報処理装置において、
最上位に位置するルートノードはＮ個の鍵を算出する初期鍵生成手段と、
各ノードは前記Ｎ個の初期鍵のうちＭ個（Ｍ≦Ｎ）に実行規定に応じて一方向性関数を規定回数実行した値を当該ノードに対するＭ個のノード鍵として生成するノード鍵生成手段とを有することを特徴とする鍵情報処理装置。
【請求項２２】
コンピュータにより読み取り可能なプログラムであって、サイクルを持たない有向グラフで表現された階層関係に基づいて、各ノードにおける鍵を親ノードから生成することのできる鍵情報処理方法において、
最上位に位置するルートノードはＮ個の鍵を算出する初期鍵生成工程と、
各ノードは前記Ｎ個の初期鍵のうちＭ個（Ｍ≦Ｎ）に実行規定に応じて一方向性関数を規定回数実行した値を当該ノードに対するＭ個のノード鍵として生成するノード鍵生成工程とを有する鍵情報処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵情報処理方法及びその装置、並びにプログラムに関し、復号のための複数の鍵を管理する必要があるコンテンツ配信システムやリムーバルメディア制御方式において、鍵生成に要する演算量、及び鍵の配信数に関する負荷を軽減させるのに好適な鍵情報処理方法及びその装置、並びにプログラムに関する。
【背景技術】
【０００２】
近年、通信回線やDVDなどの大容量記録メディアを通じて、文書や画像データなどのデジタルコンテンツが流通する機会が増加している。デジタルコンテンツ配信サービスは、特定のユーザに対してコンテンツを流布するサービスであるが、ユーザ以外にはコンテンツが漏洩しない仕組みが要求されている。また、大容量メディアによるコンテンツ配信においても、同様のユーザによるアクセス制御の機構が検討されている。その際には、コンテンツデータに対する暗号化やスクランブル処理などが行われており、正当な鍵情報を持つ、もしくはデスクランブル処理を知っている正当なユーザのみが復号処理を行い、正規の文書や画像データなどのコンテンツを享受できる仕組みが提供されている。
【０００３】
このようなコンテンツ配信サービスにおいては、コンテンツを配信するコンテンツプロバイダが存在する。コンテンツプロバイダでは、複数のコンテンツのそれぞれに対して異なるアクセス制御情報の設定を行う必要があり、コンテンツごと、ユーザごと、さらにはユーザのアクション（例えば、閲覧、コピーなど）ごとに異なる鍵による暗号化処理を行うことが想定されている。この処理において、鍵生成、鍵保持、鍵配信などの鍵情報に関わるマネージメントはコンテンツプロバイダにおいて非常に負荷がかかることが多い。そこで鍵管理に関して、セキュリティレベルを低下させることなく、より効率的な管理方法に関する研究が行われている。従来の管理方法のいくつかに関して説明を行う。
【０００４】
[木構造管理方式]
木構造管理方式はDVDプレイヤーなどのオフラインでのコンテンツ再生機器において利用されており、ユーザの無効化を行うのに適している。この方式では、暗号化データを正当なユーザのみが復号できるように、暗号化に用いた鍵情報と暗号化コンテンツと同時に配信、もしくはメディアに格納しておく。各ユーザに対して適切な組み合わせで鍵情報を事前に配布しておく必要があるが、木構造を用いることで膨大なユーザ鍵情報を効率的に管理することができる。
【０００５】
この管理方式においては、方式の良し悪しを決定するにあたり次のような指標が存在する、１）コンテンツと同時に配信される鍵情報のデータサイズ、２）ユーザを保持する事前配布された鍵情報のデータサイズ、３）コンテンツプロバイダが管理する必要のある鍵情報のデータサイズ、以上の３つの指標がそれにあたる。オンライン型配信サービスの場合にはネットワークトラフィックを左右する１）の指標が重視されるであろうが、コンテンツプロバイダの立場から考えると３）の指標の管理コストが最も重視されることになる。このようにシチュエーションにより指標の重みが変化することに留意しなければならない。
【０００６】
木構造管理方式の代表的なものとしては、コンテンツ配信モデルがある（例えば、非特許文献１を参照）。このモデルにおいては、図１４のような鍵配布用の木構造を用いており各ノードには異なる鍵が配置される。ユーザ鍵（論文中ではＤＶＤなどのプレイヤーが保持する鍵を想定）は末端のノード（葉ノード）と同一視され、ルートから末端ノードまでのすべての鍵データを保持するものと仮定している。本モデルでは更新が頻繁に起きることを想定しており、このように配置することで鍵無効化の効率を改良している。
【０００７】
[階層的鍵管理方式]
一方、階層的鍵管理方式で想定している鍵管理は各ノードに鍵が配置されている点では同様であるが、ユーザは末端ノードだけでなく、ルートを含めたすべてのノードに位置する鍵が配布される点が大きく異なる（例えば、非特許文献２、３を参照）。
【０００８】
また、図１４のようなｎ分木の構造ではなく、図１５や図１６のようなアクセス構造を想定しており、局所的に見ると図１７のような関係になっている箇所が見受けられる。この場合、ノードｎ１に配置されている鍵とノードｎ２に配置されているの両者からノードｎ３の持つべき鍵を生成できるような仕組みが提供されていなければならない。Birgetらの論文（非特許文献３）によれば、この仕組みを提供する方式として次の２つの方法が提案されている。
【０００９】
[(1) User multiple keying]
各ノードが複数の鍵を保持する方式であり、親ノードは子ノードのすべての鍵を保持するように構成されている。図１８はその1例であり、各ノードに配布される鍵データの集合が記載されている。例えば{k5}が配布されているノードの親ノードには 鍵データk5が含まれていることがわかる。同様に他のノードにおいても親ノードには子ノードの鍵データがすべて含まれていることがわかる。
【００１０】
[(2) One-way function based keying schemes]Lin らの提案（非特許文献２）を拡張させた方式であり、一方向性ハッシュ関数を用いることで、各ノードが保持する鍵情報を削減することができる。但し、図１７のように複数の親ノードの鍵データから子ノードの鍵データを生成する際には、次のような操作が必要である。この操作を図１９を用いて説明する。
【００１１】
図１９において、鍵データ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により関連付けられたランダムデータであり、共に公開されているデータである。
【００１２】
関数 F(  ) は F(k_i, n_j) = g^{k_i+n_j} mod p (ただし、p は素数， gは原始元) で構成されており、上記r12,r13はF(k1,n3) XOR r13 = F(k2,n3) XOR r23 を満たすように生成される。
【非特許文献１】「デジタルコンテンツ保護用管理方式」SCIS2001, pp.213-218
【非特許文献２】C. H. Lin. “Dynamic key management schemes for access control in a hierarchy” Computer Communications, 20:1381-1385, 1997
【非特許文献３】J.-C. Birget, X. Zou, G. Noubir, B. Ramamurthy, “Hierarchy-Based Access Control in Distributed Environments ” in the Proceedings of IEEE ICC, June 2001
【発明の開示】
【発明が解決しようとする課題】
【００１３】
前述したように、階層的鍵管理方式において局所的に親ノードが２つ以上存在する場合（図１７は2つの親ノードが存在している例である）においては、異なる親ノードから同じ鍵データを生成するための方式がすでに提案されている。しかし、（１）User multiple keyingにおいては、各ノードが多くの鍵を持ち合わせていなければならず、階層が深くなるにつれて、つまり全体ノード数に比例して保持すべき鍵データが増加する問題が存在し、（２）One-way function based keying schemes においては、一方向性ハッシュ関数を用いることで各ノードが保持する鍵データ量を減らしているが、r12,r13 などの公開ランダムデータを別途保持する必要があり、（１）と同様に階層が深くなるにつれて保持すべきデータが増加するという問題が存在する。
【００１４】
さらに、（２）においては、一方向性ハッシュ関数にべき乗演算が用いられている。落とし戸付きハッシュ関数による構成も考えられるが、いずれにせよ、べき乗演算が必要な演算が含まれており、計算コストが膨大である。特にＰＤＡなどの演算リソースの少ないデバイスにおいては鍵計算に多くの時間を費やすこととなり、結果としてデータ復号時にインタラクティブな処理ができなくなる可能性がある。
【００１５】
そこで、本発明は、上述の問題点に鑑み、階層的鍵管理方式と同様のアクセス構造を持つ鍵管理方式を少ない計算量で安全に構成することができる鍵情報処理方法及びその装置、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の目的を達成するために、請求項１に記載の鍵情報処理方法は、サイクルを持たない有向グラフで表現された階層関係に基づいて、各ノードにおける鍵を親ノードから生成して鍵配布を行う鍵情報処理方法において、最上位に位置するルートノードでＮ個の鍵を算出する初期鍵生成工程と、各ノードで前記Ｎ個の初期鍵のうちＭ個（Ｍ≦Ｎ）に実行規定に応じて一方向性関数を規定回数実行した値を当該ノードに対するＭ個のノード鍵として生成するノード鍵生成工程とを有することを特徴とする。
【００１７】
請求項２に記載の鍵情報処理方法は、請求項１に記載の鍵情報処理方法において、前記各ノード鍵から子ノードに対するノード鍵を配布する鍵配布工程を有することを特徴とする。
【００１８】
請求項３に記載の鍵情報処理方法は、請求項１または２に記載の鍵情報処理方法において、前記各ノード鍵から子孫ノードに対するノード鍵を配布する鍵配布工程を有することを特徴とする。
【００１９】
請求項４に記載の鍵情報処理方法は、請求項１から３のいずれか１項に記載の鍵情報処理方法において、前記有向グラフが、複数の異なるノードがお互いに有向グラフで接続されている箇所が存在するとき、これらのノードをまとめて一つのノードとして扱うことを特徴とする。
【００２０】
請求項５に記載の鍵情報処理方法は、請求項１から４のいずれか１項に記載の鍵情報処理方法において、前記有向グラフの構造から初期鍵の個数Ｎを算出する初期鍵数算出工程を有することを特徴とする。
【００２１】
請求項６に記載の鍵情報処理方法は、請求項１から５のいずれか１項に記載の鍵情報処理方法において、前記初期鍵数算出工程において、全ノードを網羅するようにノードの部分集合の組を生成するノード分割工程と、前記部分集合は、同一部分集合に含まれる任意のノードが必ず子孫関係にあることを満たすことをチェックする工程と、前記部分集合の組の大きさを前記初期鍵の個数Ｎとする初期鍵数算出工程とを有することを特徴とする。
【００２２】
請求項７に記載の鍵情報処理方法は、請求項６に記載の鍵情報処理方法において、前記ノード分割工程において、全ノードを互いに素な部分集合に分割することを特徴とする。
【００２３】
請求項８に記載の鍵情報処理方法は、請求項１から７のいずれか１項に記載の鍵情報処理方法において、前記実行規定は、前記ノード分割工程によって得られた部分集合の組ごとに、異なる初期鍵を関連付ける初期鍵関連付け工程と、前記部分集合をそれぞれの集合内で有向グラフ上での子孫関係に従って降順にソートし、０から１つずつ番号を割り付けするナンバリング工程と、ナンバリングされた数値は、前記初期鍵に対し一方向性関数を実行する回数であることを特徴とする。
【００２４】
請求項９に記載の鍵情報処理方法は、請求項８に記載の鍵情報処理方法において、前記初期鍵関連付け工程において、初期鍵Ｋに関連付けが為されなかった他の部分集合に含まれるノードに対して当該番号（一方向性関数を実行する回数）を割り当てるとき、前記初期鍵Ｋに関連付けされた部分集合Gに含まれるノードの祖先ノードではないノードの当該番号をN（なし）とし、祖先ノードであるノードの当該番号は子孫ノードとして前記部分集合Gに含まれるノードのうち割り当てされた番号の最小値をとることを特徴とする。
【００２５】
請求項１０に記載の鍵情報処理方法は、請求項１から９のいずれか１項に記載の鍵情報処理方法において、前記ノード鍵生成工程において、最下位ノードにはノード鍵を配布しないことを特徴とする。
【００２６】
請求項１１に記載の鍵情報処理方法は、請求項１０に記載の鍵情報処理方法において、前記ノード鍵生成工程において、複数の指定ノードの子孫ノードにはノード鍵を配布しないことを特徴とする。
【００２７】
請求項１２に記載の鍵情報処理方法は、請求項１０または１１に記載の鍵情報処理方法において、前記ノード分割工程において、ノード鍵を配布しないノードを前記部分集合に含めないことを特徴とする。
【００２８】
請求項１３に記載の鍵情報処理方法は、請求項１から１２のいずれか１項に記載の鍵情報処理方法において、前記有向グラフは２つの階層軸を持つ格子状の階層関係を表す格子ノードであることを特徴とする。
【００２９】
請求項１４に記載の鍵情報処理方法は、請求項１から１３のいずれか１項に記載の鍵情報処理方法において、前記ノード鍵設定工程の設定内容を表わすノード鍵設定データを前記各ノードに公開する公開工程と、前記各ノードに、当該ノードの前記ノード鍵設定データ上での位置を表わす識別データを配布する識別データ配布工程とを有することを特徴とする。
【００３０】
請求項１５に記載の鍵情報処理方法は、請求項１４に記載の鍵情報処理方法において、前記２つの階層軸はそれぞれ画像の２つのパラメータの階層レベルに対応付けられており、各要素の個別鍵は、当該２つのパラメータについて当該要素の属する階層レベルに対応する画像へのアクセスを可能とすることを特徴とする。
【００３１】
請求項１６に記載の鍵情報処理方法は、請求項１５に記載の鍵情報処理方法において、前記２つのパラメータは、画像の領域及び解像度であることを特徴とする。
【００３２】
請求項１７に記載の鍵情報処理方法は、請求項１５に記載の鍵情報処理方法において、前記２つのパラメータは、画像の画質及び解像度であることを特徴とする。
【００３３】
請求項１８に記載の鍵情報処理方法は、請求項１５に記載の鍵情報処理方法において、前記画像は動画であり、前記２つのパラメータは、動画の時間領域及び画質であることを特徴とする。
【００３４】
請求項１９に記載の鍵情報処理方法は、請求項１に記載の鍵情報処理方法において、前記初期鍵生成工程において、前記Ｎ個の初期鍵は、１つのオリジナル鍵から生成されることを特徴とする。
【００３５】
請求項２０に記載の鍵情報処理方法は、請求項１９に記載の鍵情報処理方法において、前記初期鍵生成工程において、前記Ｎ個の初期鍵は、前記オリジナル鍵から一方向性関数を用いて算出されることを特徴とする。
【００３６】
請求項２１に記載の鍵情報処理装置は、サイクルを持たない有向グラフで表現された階層関係に基づいて、各ノードにおける鍵を親ノードから生成することのできる鍵情報処理装置において、最上位に位置するルートノードはＮ個の鍵を算出する初期鍵生成手段と、各ノードは前記Ｎ個の初期鍵のうちＭ個（Ｍ≦Ｎ）に実行規定に応じて一方向性関数を規定回数実行した値を当該ノードに対するＭ個のノード鍵として生成するノード鍵生成手段とを有することを特徴とする。
【００３７】
請求項２２に記載のプログラムは、コンピュータにより読み取り可能なプログラムであって、サイクルを持たない有向グラフで表現された階層関係に基づいて、各ノードにおける鍵を親ノードから生成することのできる鍵情報処理方法において、最上位に位置するルートノードはＮ個の鍵を算出する初期鍵生成工程と、各ノードは前記Ｎ個の初期鍵のうちＭ個（Ｍ≦Ｎ）に実行規定に応じて一方向性関数を規定回数実行した値を当該ノードに対するＭ個のノード鍵として生成するノード鍵生成工程とを有する鍵情報処理方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００３８】
以上説明したように、本発明の請求項１に記載の鍵情報処理方法、請求項２１に記載の鍵情報処理装置及び請求項２２に記載のプログラムによれば、復号のための複数の鍵を管理する必要があるコンテンツ配信システムやリムーバルメディア制御方式において、鍵生成における計算量の削減により、鍵管理の負荷を軽減させる方式を提供することができるという効果がある。
【発明を実施するための最良の形態】
【００３９】
以下、図面を参照して、本発明の好適な実施形態を説明する。
【００４０】
＜第１の実施形態＞
図１は、本発明の各実施形態に係る鍵情報処理装置の構成を概略的に示すブロック図である。
【００４１】
なお、本発明の実現にあたって、図１に示される全ての機能を使用することは必須ではない。
【００４２】
図１において、鍵情報処理装置１００は、公衆回線等のモデム１１８、表示部としてのモニタ１０２、ＣＰＵ１０３、ＲＯＭ１０４、ＲＡＭ１０５、ＨＤ（ハードディスク）１０６、ネットワークのネットワーク接続部１０７、ＣＤ１０８、ＦＤ（フレキシブルディスク）１０９、ＤＶＤ（デジタル・ビデオ・ディスク、またはDigital Versatile Disk）１１０、プリンタ１１５のインターフェース（Ｉ／Ｆ）１１７、及び操作部としてのマウス１１２やキーボード１１３等のインターフェース（Ｉ／Ｆ）１１１を備え、これらは、バス１１６を介して互いに通信可能に接続されている。
【００４３】
マウス１１２及びキーボード１１３は、鍵情報処理装置１００に対する各種指示等をユーザが入力するための操作部である。この操作部を介して入力された情報（操作情報）は、インターフェース１１１を介して、鍵情報処理装置１００内に取り込まれる。
【００４４】
鍵情報処理装置１００での各種情報（文字情報や画像情報等）は、プリンタ１１５により印刷出力できるようになされている。
【００４５】
モニタ１０２は、ユーザへの各種指示情報や、文字情報或いは画像情報等の各種情報の表示を行う。
【００４６】
ＣＰＵ１０３は、鍵情報処理装置１００全体の動作制御を司るものであり、ＨＤ（ハードディスク）１０６等から処理プログラム（ソフトウェアプログラム）を読み出して実行することで、情報処理装置１００全体を制御する。特に、本実施の形態では、ＣＰＵ１０３は、ＨＤ１０６等から、鍵生成を実現する処理プログラムを読み出して実行することで、後述する情報処理を実施する。
【００４７】
ＲＯＭ１０４は、鍵生成のための処理プログラムや、プログラム内で用いられる各種データ（鍵生成用グラフなど）等を記憶する。
【００４８】
ＲＡＭ１０５は、ＣＰＵ１０３での各種処理のために、一時的に処理プログラムや処理対象の情報を格納するための作業用エリア等として使用される。
【００４９】
ＨＤ１０６は、大容量記憶装置の一例としての構成要素であり、各種データ、あるいは各種処理の実行時にＲＡＭ１０５等へ転送される情報変換処理等のための処理プログラム等を保存する。
【００５０】
ＣＤ（ＣＤドライブ）１０８は、外部記憶媒体の一例としてのＣＤ（ＣＤ−Ｒ）に記憶されたデータを読み込み、また、当該ＣＤへデータを書き出す機能を有する。
【００５１】
ＦＤ（フロッピー（Ｒ）ディスクドライブ）１０９は、ＣＤ１０８と同様に、外部記憶媒体の一例としてのＦＤ１０９に記憶されたデータを読み出す。また、種々のデータを上記ＦＤ１０９へ書き込む機能を有している。
【００５２】
ＤＶＤ（デジタル・ビデオ・ディスク）１１０は、ＣＤ１０８やＦＤ１０９と同様に、外部記憶媒体の一例としてのＤＶＤ１１０に記憶されたデータを読み出し、また、上記ＤＶＤ１１０へデータを書き込む機能を有している。
【００５３】
なお、ＣＤ１０８、ＦＤ１０９、ＤＶＤ１１０等の外部記憶媒体に対して、例えば、編集用のプログラム或いはプリンタドライバが記憶されている場合には、これらのプログラムをＨＤ１０６へインストールしておき、必要に応じて、ＲＡＭ１０５へ転送するように構成してもよい。
【００５４】
インターフェース（Ｉ／Ｆ）１１１は、マウス１１２或いはキーボード１１３によるユーザからの入力を受け付けるためのものである。
【００５５】
モデム１１８は、通信モデムであり、インターフェース（Ｉ／Ｆ）１１９を介して、例えば、公衆回線等を通じて外部のネットワークに接続される。
【００５６】
ネットワーク接続部１０７は、インターフェース（Ｉ／Ｆ）１１４を介して、外部のネットワークに接続される。
【００５７】
以下、上述した装置による鍵の生成・管理について説明する。
【００５８】
[鍵生成概要]
まず、階層的鍵管理方式における各ノードのノード鍵の生成に関する説明から行う。
【００５９】
本発明では図２や図２０のように階層関係がループおよびサイクルを持たない有向グラフで表現されていることを前提とする。図２８のノードn1とn2のように、複数の異なるノードがお互いに有向グラフで接続されている箇所が存在するとき、これらのノードをまとめて一つのノードとして扱うことで、このような双方向の接続関係を持つノードがない場合に帰着することができる。図２９はn1とn2をn1’というひとつのノードと同一視した有向グラフである。以降、このような双方向の接続関係を持つノードがないと仮定する。
【００６０】
説明の便宜上、本実施の形態では図２に示すような２つの階層を持った格子グラフを取り扱う。図３及び図４においてそれぞれのセルに記載されている３つの数字は３つの初期鍵ｘ，ｙ，ｚに対して施すハッシュ関数の回数が表現されている。例えば［２，２，N］と記されているセルでは、ノード鍵としてH(Ｈ（ｘ）)とＨ（H（ｙ））を保持するとする。Nは“なし”を意味し、初期鍵ｚに関する情報は全く持たないことを意味する。今後、ハッシュ演算をｎ度施す場合にはＨ＾ｎ（  ）と略記して表現するものとする。この表記法に基づけば、［２，２，N］と記されているセルはＨ＾２（ｘ）とＨ＾２（ｙ）の２つのノード鍵を持つこととなる。階層的鍵管理方式における木構造を図４に示すような行列と置き換えて説明することもできる。図３は９個のノードを有する木構造の例であり、図３の各ノードに記された数字と、図４の各セルに記された数字は、同じ対応関係であることを示す。
【００６１】
まず、図３に示したような木構造において、ルートノード（図中[0,0,0]で示されるノード）を行列における一番右上のセルに対応付ける。そして、木構造における各ノードの子ノードのうち左に位置するノード、及び右に位置するノードを、夫々、行列の左のセル、及び下のセルに対応付ける。この対応付けを全てのノード、及びセルに対して順に行うことにより、図３に示した木構造は図４に示した行列に置き換えることができる。
【００６２】
次に、図３または４に示される鍵生成用データの生成方法について説明する。 
【００６３】
[ノードの分割]
鍵生成用データを生成するために、与えられた鍵配布グラフGにおいて、次の条件を満たすようにノードの分割を行う。ここで、ノード全体の集合をNode(G)、部分集合の組の大きさをN、分割された部分集合をSubG_1, SubG_2, …, SubG_Nという表記方法を使うこととする。
【００６４】
・SubG_1∪ SubG_2∪…∪ SubG_N = Node(G)，
つまり部分集合全体は全ノードを網羅する。
【００６５】
・SubG_ｉに含まれる任意の２つの異なるノードn_a,n_bは n_a < n_b 
または n_a > n_bが成立する。つまりn_a,n_bには子孫関係が存在し、一方が必ずもう一方の子孫ノードである。
【００６６】
この分割された部分集合の数Nを鍵配布グラフＧの鍵配布オーダーと呼びＯｒｄ（Ｇ）と表記する。
【００６７】
[ノード鍵の割り当て]
部分集合SubG_ｉに対して１つずつ初期鍵Ｋ_ｉを計算し、ルートノードのノード鍵として割り当てる。ルートノードの配下にある子孫ノードは次のような法則でノード鍵が割り当てられる。
【００６８】
あ）各ノードはＮ個の初期鍵Ｋ_ｉ（１≦ｉ≦N）に関連付けられた番号が振られる。この番号は初期鍵Ｋ_ｉに対し一方向性関数を実行する回数であり、“なし”を意味する“N”が振られることもある。初期鍵Ｋ_ｉの当該番号が“Ｎ”のときは、初期鍵Ｋ_ｉに関連した鍵を保有しないことを意味する。
【００６９】
い）SubG_ｉに含まれるノードをそれぞれの集合内で有向グラフ上での子孫関係に従って降順にソートし、０から１つずつ増加させた番号を割り付けする。この番号は初期鍵Ｋ_ｉに関連付けられた番号である。
【００７０】
う）SubG_ｉに含まれるノードの初期鍵Ｋ_ｊ（ｉ≠ｊ）に関連付けられた番号は、（初期鍵Ｋ_ｊに対する部分集合である）SubG_ｊに含まれるノードの祖先ノードではない場合には当該番号をN（なし）とし、祖先ノードであるノードの当該番号は子孫ノードとしてSubG_ｊに含まれるノードのうち割り当てされた番号の最小値とする。
【００７１】
図１１は上記のノード鍵割り当て処理をフローチャートにしたものである。以降、図１１の説明を行う。ここでは、すでに全ノード集合は互いに素であり、空ではない部分集合｛SubG_ｉ｝（１≦ｉ≦N）に分割されており、それぞれの部分集合に対する初期鍵Ｋ_ｉが計算されているものとする。また、部分集合SubG_ｉに含まれるノード数を＃Ｎ（ｉ）と記述し、部分集合SubG_ｉに含まれるノードは、有向グラフ上での子孫関係に従って降順にソートされSubG_ｉ＝｛ｎ（ｉ，１），ｎ（ｉ，２），．．．，ｎ（ｉ，＃Ｎ（ｉ））｝と記述することとする。さらにノードｎ（ｉ，ｊ）に対するノード鍵は初期鍵Ｋ_ｋ（１≦ｋ≦N）に一方向性ハッシュ関数を規定回数施したものであるが、この規定回数をｈ（ｉ，ｊ，ｋ）と表記する。
【００７２】
ステップＳ１１０１は１からＮまで変動する変数ｉのループ、ステップＳ１１０２は１からＮまで変動する変数ｊのループ、ステップＳ１１０３は１から＃Ｎ（ｉ）まで変動する変数ｋのループである。ステップＳ１１０４は変数ｉと変数ｋが一致するかどうか評価し、一致する場合には処理をステップＳ１１０５に進め、一致しない場合には処理をステップＳ１１０６に進める。ステップＳ１１０５はｈ（ｉ，ｊ，ｋ）にｊ−１を代入し、ループ処理に戻る。ステップＳ１１０６はｎ（ｋ，ｍ）＜ｎ（ｉ，ｊ），つまりｎ（ｉ，ｊ）はｎ（ｋ，ｍ）の祖先ノードであることを満たすｍが存在するか評価し、存在しない場合には処理をステップＳ１１０７に進め、存在しない場合には処理をステップＳ１１０８に進める。ステップＳ１１０７はｈ（ｉ，ｊ，ｋ）に“Ｎ”を代入し、ループ処理に戻る。
【００７３】
ステップＳ１１０８はｈ（ｉ，ｊ，ｋ）にｍｉｎ｛ｈ（ｋ，ｍ，ｋ）|ｎ（ｋ，ｍ）＜ｎ（ｉ，ｊ）｝、つまりｎ（ｉ，ｊ）がｎ（ｋ，ｍ）の祖先ノードであるノードのうちｈ（ｋ，ｍ，ｋ）の最小値を代入し、ループ処理に戻る。
【００７４】
以下、具体例を図５から図８、図９から図１０、および、図２０から図２６を用いて説明する。
【００７５】
図５は、図２に示す鍵生成グラフにおけるノード分割の例であり、３つの部分集合SubG_ 1からSubG_ 3に分割している。つまり、SubG_ 1={n0, n2, n5}，SubG_ 2={n1, n4, n7}，SubG_ 3={n3, n6, n8}である。このとき、ｈ（ｉ，ｊ，ｉ）のみを表示したものが図６である。たとえば｛ｈ（１，１，１），ｈ（１，２，１），ｈ（１，３，１）｝＝｛０，１，２｝であり、これはステップＳ１１０４およびＳ１１０５に対応する。さらにノードの子孫関係から“Ｎ”となる箇所を記載したものが図７である。たとえばｈ（１，１，３）＝“Ｎ”であるが、これはｎ（３，ｍ）＜ｎ（１，１）＝n3となるmは存在しないことに起因する。実際ｎ（３，１）=n0，ｎ（３，２）=n2，ｎ（３，３）=n5でありこのことが確認できるが、これはステップＳ１１０６およびＳ１１０７に対応する。さらにｎ（３，ｍ）＜ｎ（ｉ，ｊ）を満たすすべてのｉ，ｊでチェックして反映した結果が図８である。たとえばｈ（２，１，１）＝０であるが、これはｎ（１，ｍ）＜ｎ（２，１）＝n1となるmには１，２，３の可能性があるが、ｈ（１，１，１）＝０，ｈ（１，２，１）＝１，ｈ（１，３，１）＝２のうち最小値である０が選択される。さらにｎ（２，ｍ）＜ｎ（ｉ，ｊ）を満たすすべてのｉ，ｊでチェックし，最終的には図４を得る。
【００７６】
また、図５とは異なる図９に記載のノード分割による構成方法は、図１１のフローチャートにより図４と同様に構成でき、図１０を得る。図４と図１０では、総ハッシュ演算量が図１０の場合が多くなる。
【００７７】
次に図２０に示す鍵生成グラフにおけるノード鍵の構成方法について説明する。図２１は、図２０に示す鍵生成グラフにおけるノード分割の例であり、３つの部分集合SubG_ 1からSubG_ 3に分割している。つまりSubG_ 1={n0, n1, n4, n7}，SubG_ 2={n3, n6}，SubG_ 3={n2, n5}である。このとき図１１に記載のフローチャートに基づき構成したノード鍵は図２２のとおりである。以下、図２２に至るまでの構成を説明する。まず、ｈ（ｉ，ｊ，ｉ）のみを表示したものが図２３である。たとえば｛ｈ（１，１，１），ｈ（１，２，１），ｈ（１，３，１），ｈ（１，４，１）｝＝｛０，１，２，３｝であり、これはステップＳ１１０４およびＳ１１０５に対応する。さらにノードの子孫関係から“Ｎ”となる箇所を記載したものが図２４である。たとえばｈ（１，２，３）＝“Ｎ”であるが、これはｎ（３，ｍ）＜ｎ（１，２）＝n1となるmは存在しないことに起因する。実際ｎ（３，１）=n3，ｎ（３，２）= n6でありこのことが確認できるが、これはステップＳ１１０６およびＳ１１０７に対応する。さらにｎ（１，ｍ）＜ｎ（ｉ，ｊ）をすべてのｉ，ｊでチェックして反映した結果が図２５である。たとえばｈ（２，１，１）＝２であるが、これはｎ（１，ｍ）＜ｎ（２，１）＝n3となるmには３，４の可能性があるが、ｈ（１，３，１）＝２，ｈ（１，４，１）＝３のうち最小値である２が選択される。同様にしてｎ（２，ｍ）＜ｎ（ｉ，ｊ）をすべてのｉ，ｊでチェックして反映した結果が図２６であり、最終的には図２２を得る。
【００７８】
さらに、終端ノードに鍵を配布しない場合を考える。これは画像データにおけるサムネイル画像など、制限なしにデータアクセス可能な状態を作ることができる。図２７はその例であり、終端ノードは[N, N, N]と記載されているようにノード鍵が存在しないことを意味する。これは、終端ノードのみをノード分割時ｎどの部分集合にも含めない状態から図１１のフローチャートに適用することで得ることができる。ここでは終端ノードのひとつのみに対しノード鍵を配布しない例を示したが、複数ノードにした場合でも同様に構成できることは明らかである。
【００７９】
[生成された鍵の満たすべき条件]
上記の鍵生成方式は次の条件を満たすように構成されている。
・a.生成可能性：対象ノードはその孫ノードの鍵を生成できること
・b.結託攻撃回避性：（一方向性関数が脆弱にならない限り）任意の二つ以上のノードに位置するエンティティが結託しても、夫々のノードより上位に位置する祖先ノードの鍵は生成できないこと
これらの条件により、安全に鍵生成と鍵配布を行うことができる階層的鍵管理方式が実現できる。
【００８０】
[鍵配布]
ルート鍵配布者（ルートノードのエンティティ）による各ノードへの鍵配布方法と、ルート鍵配布者以外の個別鍵を保持するエンティティによる下位ノードへの鍵配布方法とについて、それぞれ説明する。まずルート鍵配布者は、鍵配布グラフＧに応じて決まる鍵配布オーダーＯｒｄ（Ｇ）個のパラメータ｛ｘ＿ｉ｝（１≦ｉ≦Ｏｒｄ（Ｇ））をランダムに且つ安全に生成し、それらを自身の個別鍵とする。さらに前述した鍵生成手順により各ノードに複数の鍵を配置する。ルート鍵配布者は各ノードに位置するエンティティに対して、各ノードの鍵を安全に配布する。また、鍵配布グラフを公開し、各エンティティに対して、配布された鍵がグラフのどの位置の鍵であるかを識別できるデータを配布する。このデータは例えば、格子グラフを鍵配布グラフとする場合には、行列表記したときの座標により構成するようにすれば良い。
【００８１】
[情報処理装置における鍵生成・配布処理]
前記情報処理装置１００において以上の鍵生成・配布処理を行う手順について説明する。画像などの管理対象データをＣＤ１０８もしくはネットワークのネットワーク接続部１０７を通して取得しＨＤ１０６に格納するか、もしくはＨＤ１０６に既に格納されているデータの中から選択する。ここで、ユーザはモニタ１０２に表示した一覧からマウス１１２もしくはキーボード１１３などを使って選択する。
【００８２】
管理対象データに対して何階層の階層軸を持たせるかなどのアクセス制御構造を同様の方法を用いてユーザが選択すると、その構造に応じた鍵生成用グラフをＣＰＵ１０３を用いて計算を行い、ＲＡＭ１０５やＨＤ１０６などに格納する。
【００８３】
ＲＯＭ１０４やＲＡＭ１０５やＨＤ１０６もしくはマウス１１２の動作などのデータからランダムデータを生成し、そのランダムデータを用いて、複数のオリジナル鍵を生成し、ＲＡＭ１０５やＨＤ１０６などに格納する。さらに鍵生成用グラフにおける各ノードの個別鍵をオリジナル鍵から演算し、ＲＡＭ１０５やＨＤ１０６などに格納する。
【００８４】
他の情報処理装置に対して、ＲＡＭ１０５やＨＤ１０６などに格納された個別鍵を読み出して、ネットワーク接続部１０７を通じてネットワークを介して配布を行う。
【００８５】
＜第２の実施形態＞
第１の実施形態における鍵配布方式により生成された階層的な構造を持つ鍵データを用いたアクセス制御の好適例を説明する。図２で表現されている格子鍵生成グラフは２つの階層軸を持っている。このうち１つ（左下方向）を解像度、もう片方（右下方向）を画像領域とした場合の例を図１２に示す。
【００８６】
解像度には高、中、低の３つのレベルがあり、取得できる画像の解像度を示す。画像領域にも３つのレベルがあり、すべての領域、サブ領域Ａ、（サブ領域Ａよりも狭い）サブ領域Ｂ、の閲覧の権限が与えられるとする。このときルートに位置する権限の最も大きいノードには（解像度＝高、画像領域＝すべて）が割り当てられ、最下位のノードには（解像度＝低、画像領域＝領域Ｂ）が割り当てられている。
【００８７】
図３または図４に則った鍵配布を行う場合を例として、鍵配布方法および画像暗号化方法を説明する。対象画像データＩＭＧは領域Ｂの画像データＩＭＧ１、領域Ａ差分データをＩＭＧ＿２、すべての画像データを得るための差分データをＩＭＧ＿３とする。つまりＩＭＧ＝ＩＭＧ＿１＋ＩＭＧ＿２＋ＩＭＧ＿３である。また、それぞれのＩＭＧ＿ｉは低解像度データをＩＭＧ＿ｉ（Ｌ）、中解像度差分データをＩＭＧ＿ｉ（Ｍ）、高解像度差分データをＩＭＧ＿ｉ（Ｈ）とする。つまりＩＭＧ＿ｉ＝ＩＭＧ＿ｉ（Ｌ）＋ＩＭＧ＿ｉ（Ｍ）＋ＩＭＧ＿ｉ（Ｈ）である。
【００８８】
まずルート鍵配布者はランダムにオリジナル鍵ｘ，ｙ，ｕを生成する。暗号化に使う鍵Ｋｅｙ（＜Ｈｉｇｈ，Ａｌｌ＞）：＝Ｈ（ｘ｜｜ｙ｜｜ｕ）とし、この鍵でＩＭＧ＿３（Ｈ）を暗号化する。ただし｜｜はデータの連結とする。それぞれの子ノードでは取得した３つのデータをルートノードと同様に連結して暗号鍵を生成し、図１３に記載のデータを暗号化する。
【００８９】
例えば、＜Ｍｉｄ，Ａｌｌ＞ノードでは、鍵データとしてＨ（ｘ），Ｈ＾３（ｙ），ｕが与えられているが、暗号鍵Ｋｅｙ（＜Ｍｉｄ，Ａｌｌ＞）：＝Ｈ（Ｈ（ｘ）｜｜Ｈ＾３（ｙ）｜｜ｕ）とし、この鍵でＩＭＧ＿３（Ｍ）を暗号化する。暗号化されたデータを復号する際には、同様の処理を行って暗号鍵を計算し復号処理をして適切な画像データを取得する。
【００９０】
本実施形態では、暗号鍵の生成方式として鍵を連結してハッシュする方式を採用したが、その他の鍵連結方式（複数の鍵データから１つの鍵を計算する方式）に従ってもかまわない。
【００９１】
また、本実施形態では解像度と画像領域を階層軸として取り上げたが、本発明はこれに限定されることなく、画質や時間軸や利用制御情報などアクセス制御の対象とすべき階層の中から、任意の二つ以上の階層を選択して利用することも可能である。
【００９２】
＜ソフトウエアなどによる他の実施の形態＞
本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタ等）から構成されるシステムの一部として適用しても、ひとつの機器（たとえば複写機、ファクシミリ装置）からなるものの一部に適用してもよい。
【００９３】
また、本発明は上記実施の形態を実現するための装置及び方法及び実施の形態で説明した方法を組み合わせて行う方法のみに限定されるものではなく、上記システムまたは装置内のコンピュータ（ＣＰＵあるいはＭＰＵ）に、上記実施の形態を実現するためのソフトウエアのプログラムコードを供給し、このプログラムコードに従って上記システムあるいは装置のコンピュータが上記各種デバイスを動作させることにより上記実施の形態を実現する場合も本発明の範疇に含まれる。
【００９４】
またこの場合、前記ソフトウエアのプログラムコード自体が上記実施の形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、具体的には上記プログラムコードを格納した記憶媒体は本発明の範疇に含まれる。
【００９５】
この様なプログラムコードを格納する記憶媒体としては、例えばフロッピー（Ｒ）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００９６】
また、上記コンピュータが、供給されたプログラムコードのみに従って各種デバイスを制御することにより、上記実施の形態の機能が実現される場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているＯＳ(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して上記実施の形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。
【００９７】
更に、この供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上記実施の形態が実現される場合も本発明の範疇に含まれる。
【図面の簡単な説明】
【００９８】
【図１】本発明の各実施の形態に係る鍵情報処理装置の構成を概略的に示すブロック図である。
【図２】第１の実施形態に係る有向グラフの例を説明する図である。
【図３】第１の実施形態に係る鍵配布グラフの例を示す図である。
【図４】第１の実施形態に係る鍵配布行列の例を示す図である。
【図５】第１の実施形態に係る図２に記載の鍵配布グラフにおけるノード分割の例を説明する図である。
【図６】第１の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列である。
【図７】第１の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列である。
【図８】第１の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列である。
【図９】第１の実施形態に係る図２に記載の鍵配布グラフにおけるノード分割の別例である。
【図１０】第１の実施形態に係る鍵配布行列の例である。
【図１１】第１の実施形態に係るノード鍵生成手順を表すフローチャートである。
【図１２】第２の実施形態に係る階層型アクセス構造を説明する概念図である。
【図１３】第２の実施形態に係る各ノードが暗号化すべき画像リストを表わす表である。
【図１４】木構造管理方式における２分木アクセス構造を説明する概念図である。
【図１５】階層的なアクセス制御方式におけるアクセス構造を説明する概念図である。
【図１６】階層的なアクセス制御方式におけるアクセス構造を説明する概念図である。
【図１７】階層的なアクセス制御方式における局所的構造を説明する概念図である。
【図１８】User multiple keyingの例を説明する図である。
【図１９】One-way function based keying schemesを説明する図である。
【図２０】第１の実施形態に係る有向グラフの例を示す図である。
【図２１】第１の実施形態に係る図２に記載の鍵配布グラフにおけるノード分割の例を説明する図である。
【図２２】第１の実施形態に係る鍵配布グラフの例を示す図である。
【図２３】第１の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列である。
【図２４】第１の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列である。
【図２５】第１の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列である。
【図２６】第１の実施形態に係る鍵配布行列を構成する途中段階の状態を表す鍵配布行列である。
【図２７】第１の実施形態に係る鍵配布グラフの例を示す図である。
【図２８】第１の実施形態に係る双方向に接続関係を持つノードが存在する有向グラフの例を示す図である。
【図２９】第１の実施形態に係る図２８に記載の有向グラフにおいて、双方向に接続関係を持つノードが存在しないように変更した有向グラフの例を示す図である。
【符号の説明】
【００９９】
１００  情報処理装置
１０２  モニタ
１０３  ＣＰＵ
１０４  ＲＯＭ
１０５  ＲＡＭ
１０６  ＨＤ
１０７  ネットワーク接続部
１０８  ＣＤドライブ
１０９  ＦＤドライブ
１１０  ＤＶＤドライブ
１１１  インターフェース
１１２  マウス
１１３  キーボード
１１４  インターフェース
１１５  プリンタ
１１６  バス
１１７  インターフェース
１１８  モデム
１１９  インターフェース
【図１】
2005109753.tif 000003
【図２】
2005109753.tif 000004
【図３】
2005109753.tif 000005
【図４】
2005109753.tif 000006
【図５】
2005109753.tif 000007
【図６】
2005109753.tif 000008
【図７】
2005109753.tif 000009
【図８】
2005109753.tif 000010
【図９】
2005109753.tif 000011
【図１０】
2005109753.tif 000012
【図１１】
2005109753.tif 000013
【図１２】
2005109753.tif 000014
【図１３】
2005109753.tif 000015
【図１４】
2005109753.tif 000016
【図１５】
2005109753.tif 000017
【図１６】
2005109753.tif 000018
【図１７】
2005109753.tif 000019
【図１８】
2005109753.tif 000020
【図１９】
2005109753.tif 000021
【図２０】
2005109753.tif 000022
【図２１】
2005109753.tif 000023
【図２２】
2005109753.tif 000024
【図２３】
2005109753.tif 000025
【図２４】
2005109753.tif 000026
【図２５】
2005109753.tif 000027
【図２６】
2005109753.tif 000028
【図２７】
2005109753.tif 000029
【図２８】
2005109753.tif 000030
【図２９】
2005109753.tif 000031