説明

情報暗号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体

【課題】 コンテンツ情報を連続する複数の部分コンテンツで構成されるものとし、各部分コンテンツの暗号化を別々な鍵で暗号化したとしても、1つの鍵情報のみを記憶管理するだけにする。
【解決手段】 1つのコンテンツ情報が4つの部分コンテンツで構成される、もしくは、4つの部分コンテンツに分割する場合、最上位のルートの鍵から4段階の演算を経て4つの各ノード位置の鍵を生成する。このとき、第i層のj番目のノード鍵をP(i,j)(j=1,2,…,i)と表現した場合、両端のノード鍵P(i,1)及びP(i,i)については、上位の第i-1層のノード鍵P(i-1,1),P(i-1,i-1)から一方向関数に従って生成し、ノード鍵P(i,m)(m=2,3,…,i-1)については、上位の第i-1層中のノード鍵P(i-1,m-1),P(i-1,m)のいずれからも生成可能な一方向関数で生成する。そして、末端層に生成された鍵情報で各部分コンテンツを暗号化する。この結果、ルートの鍵だけ保持しておけば、連続している部分コンテンツの範囲について1つの暗号化鍵をいつでも生成することが可能になる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、配信対象コンテンツ情報を暗号化する技術に関するものである。
【背景技術】
【0002】
近年、通信回線の転送速度向上、並びに、DVDなどの大容量記録メディアを通じて、文書や画像データなどのデジタルコンテンツが流通する機会が増加している。デジタルコンテンツ配信サービスは、特定のユーザに対してコンテンツを流布するサービスであるが、当然、ユーザ以外にはコンテンツが漏洩しない仕組みが要求されている。また、大容量メディアによるコンテンツ配信においても、同様のユーザによるアクセス制御の機構が検討されている。その際には、コンテンツデータに対する暗号化やスクランブル処理などが行われており、正当な鍵情報を持つ、もしくはデスクランブル処理を知っている正当なユーザのみが復号処理を行い、正規の文書や画像データなどのコンテンツを享受できる仕組みが提供されている。
【0003】
このようなコンテンツ配信サービスにおいては、コンテンツを配信するコンテンツプロバイダが存在する。コンテンツプロバイダでは、複数のコンテンツのそれぞれに対して異なるアクセス制御情報の設定を行う必要があり、コンテンツごと、ユーザごと、さらにはユーザのアクション(例えば、閲覧、コピーなど)ごとに異なる鍵による暗号化処理を行うことが想定されている。この処理において、鍵生成、鍵保持、鍵配信などの鍵情報に関わるマネージメントはコンテンツプロバイダにおいて非常に負荷がかかることが多い。そこで鍵管理に関して、セキュリティレベルを低下させることなく、より効率的な管理方法に関する研究が行われている。以下、従来の管理方法のいくつかに関して説明を行う。
【0004】
[木構造管理方式]
木構造管理方式はDVDプレイヤーなどのオフラインでのコンテンツ再生機器において利用されており、ユーザの無効化を行うのに適している。この方式では、暗号化データを正当なユーザのみが復号できるように、暗号化に用いた鍵情報と暗号化コンテンツと同時に配信、もしくはメディアに格納しておく。各ユーザに対して適切な組み合わせで鍵情報を事前に配布しておく必要があるが、木構造を用いることで膨大なユーザ鍵情報を効率的に管理することができる。
【0005】
この管理方式においては、方式の良し悪しを決定するにあたり次のような指標が存在する。
1)コンテンツと同時に配信される鍵情報のデータサイズ、
2)ユーザを保持する事前配布された鍵情報のデータサイズ、
3)コンテンツプロバイダが管理する必要のある鍵情報のデータサイズ
の3つの指標がそれにあたる。
【0006】
オンライン型配信サービスの場合にはネットワークトラフィックを左右する1)が重視されるであろうが、コンテンツプロバイダの立場から考えると3)の管理コストが最も重視されることになる。このようにシチュエーションにより指標の重みが変化することに留意しなければならない。
【0007】
木構造管理方式の代表的なものとしては、コンテンツ配信モデルがある(例えば、非特許文献1)。このモデルにおいては、図14のような鍵配布用の木構造を用いており各ノードには異なる鍵が配置される。ユーザ鍵(論文中ではDVDなどのプレイヤーが保持する鍵を想定)は末端のノード(葉ノード)と同一視され、ルートから末端ノードまでのすべての鍵データを保持するものと仮定している。本モデルでは更新が頻繁に起きることを想定しており、このように配置することで鍵無効化の効率を改良している。
【0008】
[階層的鍵管理方式]
一方、階層的鍵管理方式で想定している鍵管理は各ノードに鍵が配置されている点では同様であるが、ユーザには末端ノードだけでなく、ルートを含めたすべてのノードに位置する鍵が配布される点が大きく異なる(例えば、非特許文献2、3を参照)。
【0009】
また、図14のようなn分木の構造ではなく、図15や図16のようなアクセス構造を想定しており、局所的に見ると図17のような関係になっている箇所が見受けられる。この場合、ノードn1に配置されている鍵とノードn2に配置されているの両者からノードn3の持つべき鍵を生成できるような仕組みが提供されていなければならない。Birgetらの論文(非特許文献3)によれば、この仕組みを提供する方式として次の2つの方法が提案されている。
【0010】
[(1) User multiple keying]
各ノードが複数の鍵を保持する方式であり、親ノードは子ノードのすべての鍵を保持するように構成されている。図18はその一例であり、各ノードに配布される鍵データの集合が記載されている。例えば{k5}が配布されているノードの親ノードには 鍵データk5が含まれていることがわかる。同様に他のノードにおいても親ノードには子ノードの鍵データがすべて含まれていることがわかる。
【0011】
[(2) One-way function based keying schemes]
Lin らの提案(非特許文献2)を拡張させた方式であり、一方向性ハッシュ関数を用いることで、各ノードが保持する鍵情報を削減することができる。但し、図17のように複数の親ノードの鍵データから子ノードの鍵データを生成する際には、次のような操作が必要である。この操作を図19を用いて説明する。
【0012】
図19において、鍵データk1またはk2からk3を生成するには
k3:=F(k1,n3) XOR r13
k3:=F(k2,n3) XOR r23
という演算を行う。ここでXORはビットごとの排他的論理和である。また F() は一方向性ハッシュ関数であり、詳細は後述する。n3は鍵データk3が関連付けられたノードの識別子、r13、r23はそれぞれ、ノードn1(鍵データk1)とノードn3により関連付けられたランダムデータ、 ノードn2(鍵データk2)とノードn3により関連付けられたランダムデータであり、共に公開されているデータである。
【0013】
関数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
を満たすように生成される。
【0014】
[時系列映像コンテンツの配信]
前述の鍵生成方式の応用例としては、コンテンツ作成側で、時系列で連続する複数のフレーム画像により構成される映像等のコンテンツデータを暗号化してから送信し、利用側では送信されてきたコンテンツデータを復号して再生する映像暗号化/復号システムが考えられる(たとえば特許文献1などに記載)。
【0015】
図7は時系列コンテンツが、単位ごとに暗号化される場合を表す模式図である。コンテンツ作成側では、対象コンテンツ701は暗号化コンテンツ702に暗号化される。このときコンテンツ701はM1からM4に分割され、それぞれコンテンツ鍵703(k1)〜706(k4)で暗号化され、暗号化後のデータc1〜c4を得る。一方、利用者側では、コンテンツ鍵k1からk4のすべて、もしくは一部を秘密裏に受信し、コンテンツ鍵にあった暗号化部分を復号する。コンテンツ鍵703〜706は、暗号化コンテンツ702と同時に配信されることもあるが、配信者とは異なる第3者であるライセンスサーバから別途、非同期に配信される場合も考えられる。
【0016】
このとき、時系列コンテンツの作成者は、同じ鍵で暗号化するコンテンツの最小単位を定め、その単位で区切られた単位コンテンツごとに鍵を生成する必要がある。また、受信者に対して、どの範囲を開示するかを定め、その範囲にあった鍵を配信する必要がある。あるひとつのコンテンツに対し単位コンテンツを細かいメッシュで設定する場合、管理すべき鍵情報は膨大になり、また、鍵配信コストも膨大となる。
【0017】
この特許文献1に記載の鍵管理方式によると、ユーザごとに見せる範囲を異なるように配信制御を行う目的で異なる鍵で単位コンテンツを暗号化しているのではない点に注意する。つまり、ある正規の鍵を持つか、持たないかが、全コンテンツを享受するか、しないかに依存し、異なる複数の鍵を用いることで、部分的なアクセス制御を行っているわけではない。
【非特許文献1】「デジタルコンテンツ保護用管理方式」暗号と情報セキュリティシンポジウムSCIS2001, pp.213-218
【非特許文献2】C. H. Lin. “Dynamic key management schemes for access control in a hierarchy” Computer Communications, 20:1381-1385, 1997
【非特許文献3】J.-C. Birget, X. Zou, G. Noubir, B. Ramamurthy, “Hierarchy-Based Access Control in Distributed Environments”in the Proceedings of IEEE ICC, June 2001
【特許文献1】特開2002−156905公報
【発明の開示】
【発明が解決しようとする課題】
【0018】
上記のように、時系列コンテンツの作成者は、同じ鍵で暗号化するコンテンツの最小単位を定め、その単位で区切られた単位コンテンツごとに鍵を生成してそれぞれの鍵で暗号化することにより、より細かい単位での配信制御を行うことができる。しかし単位コンテンツを細かいメッシュで設定する場合、管理すべき鍵情報は膨大になり、また、鍵配信コストも膨大となる。
【0019】
本発明は上述の問題点に鑑み、コンテンツ情報を幾つかの部分コンテンツに分けて、各々を異なる鍵情報に従って暗号化する場合であっても、鍵情報の管理を容易にする技術を提供しようとするものである。
【課題を解決するための手段】
【0020】
この課題を解決するため、例えば本発明の情報暗号化装置は以下の構成を備える。すなわち、
所定軸に沿って並んだ部分コンテンツで構成されるコンテンツ情報を暗号化する情報暗号化装置であって、
前記コンテンツ情報のルート鍵情報を生成するルート鍵生成手段と、
第i層のi個の鍵を、上位の第i-1層のi-1個の鍵に基づき生成し、末端位置に前記部分コンテンツの数分の鍵情報を生成する生成する階層鍵生成手段と、
ここで、当該階層鍵生成手段は、第i層のj番目のノード鍵をP(i,j)(j=1,2,…,i)と表現した場合、両端のノード鍵P(i,1)及びP(i,i)については、上位の第i-1層のノード鍵P(i-1,1),P(i-1,i-1)から一方向関数に従って生成し、ノード鍵P(i,m)(m=2,3,…,i-1)については、上位の第i-1層中のノード鍵P(i-1,m-1),P(i-1,m)のいずれからも生成可能な一方向関数で生成する;
前記階層鍵生成手段で生成された末端層の鍵情報を用いて、各部分コンテンツを暗号化する暗号化手段と、
該暗号化手段で暗号化した部分コンテンツで構成される暗号化済みのコンテンツ情報と、前記ルート鍵情報、並びに、各部分コンテンツの区切り位置を特定する情報を記憶する記憶手段とを備える。
【発明の効果】
【0021】
本発明によれば、コンテンツ情報は、連続する複数の部分コンテンツで構成されるものとし、各部分コンテンツの暗号化を別々な鍵で暗号化したとしても、1つの鍵情報のみを記憶しておけば良くなり、鍵の管理が容易になる。
【発明を実施するための最良の形態】
【0022】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0023】
<第1の実施形態>
図1は本発明に係る実施形態の情報処理装置のブロック構成図である。なお、本発明の実現にあたって、図1に示される全ての機能を使用することは必須ではない。
【0024】
情報処理装置100は、図1に示すように、公衆回線等のモデム118、表示部としてのモニタ102、CPU103、ROM104、RAM105、HD(ハードディスク)106、ネットワークのネットワーク接続部107、CDドライブ108、FD(フレキシブルディスク)ドライブ109、DVD(デジタル・ビデオ・ディスク、またはDigital Versatile Disk)ドライブ110、プリンタ115のインターフェース(I/F)117、及び操作部としてのマウス(登録商標)等のポインティングデバイス112やキーボード113等のインターフェース(I/F)111が、バス116を介して互いに通信可能に接続されて構成されている。
【0025】
ポインティングデバイス112及びキーボード113は、情報処理装置100に対する各種指示等をユーザが入力するための操作部である。この操作部を介して入力された情報(操作情報)は、インターフェース111を介して、情報処理装置100内に取り込まれる。
【0026】
情報処理装置100での各種情報(文字情報や画像情報等)は、プリンタ115により印刷出力できるようになされている。
【0027】
モニタ102は、ユーザへの各種指示情報や、文字情報或いは画像情報等の各種情報の表示を行う。
【0028】
CPU103は、情報処理装置100全体の動作制御を司るものであり、HD(ハードディスク)106等から処理プログラム(OS及び各種アプリケーションプログラム)を読み出して実行することで、情報処理装置100全体を制御する。特に、本実施の形態では、CPU103は、HDD106等から、鍵生成を実現する処理プログラム(実施形態におけるソフトウェアに相当する)を読み出して実行することで、後述する情報処理を行う。なお、HDD106には、鍵生成のための処理プログラムや、プログラム内で用いられる各種データ(鍵生成用グラフなど)等が記憶されている。
【0029】
ROM104には、BIOS及びブートプログラムが格納されている。RAM105は、CPU103での各種処理のために、一時的に処理プログラムや処理対象の情報を格納するための作業用エリア等として使用される。
【0030】
HD106は、大容量記憶装置の一例としての構成要素であり、OS、各種アプリケーションプログラムファイル(実施形態における処理プログラムも含まれる)、データファイル、あるいは各種処理の実行時にRAM105等へ転送される情報変換処理等のための処理プログラム等を保存する。
【0031】
CD(CDドライブ)108は、外部記憶媒体の一例としてのCD(CD−R)に記憶されたデータを読み込み、また、当該CDへデータを書き出す機能を有する。
【0032】
FD(フロッピー(登録商標)(R)ディスクドライブ)109は、CD108と同様に、外部記憶媒体の一例としてのFD109に記憶されたデータを読み出す。また、種々のデータを上記FD109へ書き込む機能を有している。
【0033】
DVD(デジタル・ビデオ・ディスク)110は、CD108やFD109と同様に、外部記憶媒体の一例としてのDVD110に記憶されたデータを読み出し、また、上記DVD110へデータを書き込む機能を有している。
【0034】
なお、CD108、FD109、DVD110等の外部記憶媒体に対して、例えば、編集用のプログラム或いはプリンタドライバが記憶されている場合には、これらのプログラムをHD106へインストールしておき、必要に応じて、RAM105へ転送するように構成してもよい。
【0035】
インターフェース(I/F)111は、ポインティングデバイス112或いはキーボード113によるユーザからの入力を受け付けるためのものである。
【0036】
モデム118は、通信モデムであり、インターフェース(I/F)119を介して、例えば、公衆回線等を通じて外部のネットワークに接続される。
【0037】
ネットワーク接続部107は、インターフェース(I/F)114を介して、外部のネットワークに接続される。
【0038】
上述した装置構成における鍵の生成・管理について以下に説明する。
【0039】
[ハッシュ鍵管理方式]
従来技術である階層的鍵管理方式のうち(1)「User multiple keying」においては、各ノードが多くの鍵を持ち合わせていなければならず、階層が深くなるにつれて、つまり全体ノード数に比例して保持すべき鍵データが増加する問題が存在する。
【0040】
また、(2)「One-way function based keying schemes」においては、一方向性ハッシュ関数を用いることで各ノードが保持する鍵データ量を減らしている。しかし、r12、r13などの公開ランダムデータを別途保持する必要があり、(1)と同様に階層が深くなるにつれて保持すべきデータが増加するという問題が存在する。さらに(2)においては一方向性ハッシュ関数にべき乗演算が用いられている。落とし戸付きハッシュ関数による構成も考えられるが、いずれにせよ、べき乗演算が必要な演算が含まれており、計算量が膨大である。特にPDAなどの演算リソースの少ないデバイスにおいては鍵計算に多くの時間を費やすこととなり、結果としてデータ復号時にインタラクティブな処理ができなくなる可能性がある。これらの問題に対し、より計算量の少ない方式で、同様のアクセス構造を持つ鍵管理方式が必要とされている。
【0041】
[鍵生成概要]
ハッシュ鍵管理方式における各ノードのノード鍵の生成は以下のとおりである。鍵管理の対象となるアクセス構造は、図3で記載されているように階層関係がループおよびサイクルを持たない有向グラフで表現されているとする。
[ノードの分割]
鍵生成用データの生成するために、与えられた鍵配布グラフGにおいて、次の条件を満たすようにノードの分割を行う。ここで、ノード全体の集合をNode(G)、部分集合の組の大きさをN、分割された部分集合をSubG_1, SubG_2, …, SubG_Nという表記方法を使うこととする。
・SubG_1∪ SubG_2∪…∪ SubG_N = Node(G)、
つまり部分集合全体は全ノードを網羅する。
・SubG_iに含まれる任意の2つの異なるノードn_a,n_bは、n_a < n_b 又は n_a > n_bが成立する。つまりn_a,n_bには子孫関係が存在し、一方が必ずもう一方の子孫ノードである。
【0042】
この分割された部分集合の数Nを鍵配布グラフGの鍵配布オーダーと呼び、Ord(G)と表記する。
【0043】
[ノード鍵の割り当て]
部分集合SubG_i(1≦i≦N)に対して1つずつ初期鍵K_iを計算し、ルートノードのノード鍵として割り当てる。ルートノードの配下にある子孫ノードは次のような法則でノード鍵が割り当てられる。
i)各ノードはN個の初期鍵K_i(1≦i≦N)に関連付けられた番号が振られる。この番号は初期鍵K_iに対し一方向性関数を実行する回数であり、“なし”を意味する“N”が振られることもある。初期鍵K_iの当該番号が“N”のときは、初期鍵K_iに関連した鍵を保有しないことを意味する。
ii)SubG_iに含まれるノードをそれぞれの集合内で有向グラフ上での子孫関係に従って降順にソートし、0から1つずつ増加させた番号を割り付けする。この番号は初期鍵K_iに関連付けられた番号である。
iii)SubG_iに含まれるノードの初期鍵K_j(i≠j)に関連付けられた番号は、(初期鍵K_jに対する部分集合である)SubG_jに含まれるノードの祖先ノードではない場合には当該番号を“N”とし、祖先ノードであるノードの当該番号は子孫ノードとしてSubG_jに含まれるノードのうち割り当てされた番号の最小値とする。
【0044】
図2は上記のノード鍵割り当て処理をフローチャートにしたものである。ここでは、すでに全ノード集合は互いに素であり、空ではない部分集合{SubG_i}(1≦i≦N)に分割されており、それぞれの部分集合に対する初期鍵K_iが計算されているものとする。
【0045】
また、部分集合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)と表記する。
【0046】
ステップS201は1からNまで変動する変数iのループ、ステップS202は1からNまで変動する変数jのループ、ステップS203は1から#N(i)まで変動する変数kのループである。
【0047】
ステップS204は変数iと変数kが一致するかどうか評価し、一致する場合には処理をステップS205に進め、一致しない場合には処理をステップS206に進める。ステップS205はh(i、j、k)にj−1を代入し、ループ処理に戻る。
【0048】
ステップS206はn(k、m)<n(i、j)、つまりn(i、j)はn(k、m)の祖先ノードであることを満たすmが存在するか評価し、存在しない場合には処理をステップS207に進め、存在する場合には処理をステップS208に進める。ステップS207はh(i、j、k)に“N”を代入し、ループ処理に戻る。
【0049】
また、ステップS208は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)の最小値を代入し、ループ処理に戻る。
【0050】
この鍵生成方式は次の2つの要件を満たすように構成されている。
a)生成可能性:対象ノードはその孫ノードの鍵を生成できる。
b)結託攻撃回避性:(一方向性関数が脆弱にならない限り)任意の二つ以上のノードに位置するエンティティが結託しても、夫々のノードより上位に位置する祖先ノードの鍵は生成できない。
【0051】
これらの条件により、安全に鍵生成と鍵配布を行うことができる階層的鍵管理方式が実現できる。例としては図3の有向グラフに対して図4のようなノード鍵が構成される。図4における各ノードのベクトルは、4つの初期鍵x、y、z, tに対して施すハッシュ関数の回数が表現されている。例えば[2,2,N,N]と記されているセルでは、ノード鍵としてH(H(x))とH(H(y))を保持するとする。“N”は“なし”を意味し、初期鍵zおよびtに関する情報は全く持たないことを意味とする。今後ハッシュ演算をn度施す場合にはH^n()と略記して表現するものとする。この表記法に基づけば、[2,2,N,N]と記されているセルはH^2(x)とH^2(y)の2つのノード鍵を持つこととなる。
【0052】
[鍵配布]
ルート鍵配布者(ルートノードのエンティティ)による各ノードへの鍵配布方法と、ルート鍵配布者以外の個別鍵を保持するエンティティによる下位ノードへの鍵配布方法とについて、それぞれ説明する。
【0053】
まずルート鍵配布者は、鍵配布グラフGに応じて決まる鍵配布オーダーOrd(G)個のパラメータ{x_i}(1≦i≦Ord(G))をランダムに且つ安全に生成し、それらを自身の個別鍵とする。さらに前述した鍵生成手順により各ノードに複数の鍵を配置する。ルート鍵配布者は各ノードに位置するエンティティに対して、各ノードの鍵を安全に配布する。また、鍵配布グラフを公開し、各エンティティに対して、配布された鍵がグラフのどの位置の鍵であるかを識別できるデータを配布する。
【0054】
さらに効率的なハッシュ鍵配布方法の亜種として枝切り方式がある。
【0055】
[枝切り方式概要]
有向グラフGに対しノード分割{SubG_i}(1≦i≦m)を与えたとき、鍵生成を表すノード鍵割り当て表M(G)を算出するアルゴリズムは前述のとおり従来技術であるハッシュ鍵生成方式を用いる。この算出アルゴリズムをΓ:G→ M(G)と表記することとする。M(G)は各ノードに対するノード鍵情報が記載されており、ノード分割{SubG_i}(1≦i≦m)の大きさであるm個のベクトルでそれぞれのノード鍵が表現されている。表現形式は前述のとおり、初期鍵に対し何度ハッシュ関数を施した値であるかが書かれている。
【0056】
ここで、与えられた有向グラフGを分割し、分割されたサブグラフG_iごとにΓに施しΓ(G_i)=M(G_i)を得る。分割の際には次の条件を満たすように分割する。
1)それぞれのサブグラフのルートノードは1つである。
2)あるサブグラフのルートノードが元のグラフGのルートではないとき、異なる別のサブグラフのノードである。
【0057】
上記の処理をフローチャートにすると図5のとおりである。ステップS501でアクセス構造が表現された有向グラフGを入力する。ステップS502でグラフ分割を行い、{G_i}(1≦i≦m)を得る。ステップS503で得られた各サブグラフG_iに対してアルゴリズムΓを施し、それぞれのノード鍵割り当て表M(G_i)を計算する。最後にステップS504でM(G_i)をマージしてM(G)を得る。M(G)は従来のノード鍵割り当て表と同様に表現できるが、サブグラフごとにベクトルの大きさが異なることと、上下をつなぐノードを認識するラベルが必要であることが相違点である。
【0058】
本方式を図3記載の有向グラフに適用させた場合、図6が得られる。図4に比べ初期鍵をひとつ削減しており、計算コスト、通信コストともに下げていることがわかる。図6に記載のK1、K2は初期鍵から派生する鍵そのものが与えられるのではなく、それぞれ[2,2,2]のノード、[N,N,0]のノードが持つ鍵情報からのみ生成される。たとえばK1はH(H^2(x)|| H^2(y)||H^2(z)) などとすればよい。K2の生成に関しては、初期鍵xに対してのみハッシュ関数を施すだけでは他ノードの攻撃によりK2生成が可能であるため、全ノードが共通に持つ補正値Rをハッシュ対象データに持つことで回避する。たとえばK2= H(z||R)などとすればよい。ここで記号「||」はデータの連結を意味する。
【0059】
[系列コンテンツにおける鍵派生方式]
前述した図7は時系列コンテンツが、単位ごとに暗号化される場合を表す模式図であり、ここでは管理対象コンテンツがM1、M2、M3、M4の4つに分割されている例を示している。このときそれぞれの単位コンテンツごとにコンテンツ鍵k1、k2、k3、k4を利用して管理対象コンテンツが暗号化されている。
【0060】
このとき隣り合う複数の単位コンテンツのみを復号できるレンジ鍵k(i、j)(ただしi≦jとする)を考察する。
【0061】
レンジ鍵k(i、j)は単位コンテンツMiからMjに対するコンテンツ鍵kiからkjを生成可能とする鍵である。図8は、図7におけるすべてのレンジ鍵を階層的に表現した図である。最も下位に位置する円で記載されるノードはコンテンツ鍵である。コンテンツ鍵Kiはレンジ鍵K(i、i)と同一視することが可能である。三角で示される各ノードはレンジ鍵であり、ノードの位置として下位に存在するレンジ鍵およびコンテンツ鍵を生成することができる鍵である。ルートに位置するレンジ鍵はK(1、4)であり、4つの単位コンテンツのすべてを復号することが可能なレンジ鍵である。
【0062】
このようにn個の管理対象コンテンツM1からMnに対して、それぞれにコンテンツ鍵k1からknを割り当てるとき、すべてのレンジ(Mi、Mj)(ただしi<jとする)に対するレンジ鍵K(i、j)を階層的に有向グラフとして配置することができる。このように有向グラフを生成し、従来例であるハッシュ鍵管理方式に適用することで各ノードに鍵を割り当てることができる。図8に対しては、図4または図6に記載の鍵を割り当てることができる。このように、各レンジ鍵を有向グラフのノードとして取り扱うことでハッシュ鍵管理方式を利用して鍵生成を行うことができる。
【0063】
<コンテンツの配布>
以上レンジ鍵の割り当てについて説明を行った。次に、コンテンツの再配布について説明する。
【0064】
図13は本実施形態における配信システムである。第1次配信者1301は第1次受信者1302に対し、上記のように構成した暗号化コンテンツ1303とそれを解くためのレンジ鍵1304を配信する。ここでレンジ鍵1304は第1次配信者1301からではなく、ライセンスサーバのような第3者機関から別途配布されてもよい。このとき第1次受信者1302はレンジ鍵1304を用いて暗号化コンテンツ1303の一部を復号することができる。ここで、第1次受信者1302はコンテンツを再配布することができる。つまり第1次受信者1302は第2次配信者として第2次受信者としての役割を持ち、第2次受信者1305に同じ暗号化コンテンツ1306を配信する。このときレンジ鍵1304の下位に位置する別のレンジ鍵1307を算出して送信することができる。
【0065】
具体的には、レンジ鍵1304を図8におけるK(1、3)としたとき、その下位にある図8におけるK(1、2)とする例が挙げられる。第1次受信者1302はレンジ鍵1304であるK(1、3)を受領していることからコンテンツM1、M2、M3を得られる。このうち、M1とM2だけに制限して復号できるようにレンジ鍵1307を構成して、すなわちK(1、2)を算出して、第2次受信者1303に再配布している。このように再配布時に、自ら権限委譲された箇所よりも開示範囲を狭めてコンテンツを再配布することができる。これはコンテンツ受信者がコンテンツ配布者としての役割も持つことができることを意味しており、さらにコンテンツ受信者が自由に自分の裁量で鍵を再構成することができる機能を持ち合わせている。
【0066】
上記をより具体的に適用した例を以下に説明する。ここでは、第1次配信者1301が、図1に示す装置上で、HDドライブ106に配布しようとするコンテンツ、例えば動画像データファイルが格納されているものとする。
【0067】
図23は、実施形態における暗号化処理用のアプリケーションプログラム(HDドライブ106に格納されている)の処理手順を示している。
【0068】
先ず、ステップS2301にて、暗号化しようとするファイルを指定する。指定方法は該当する動画像ファイルのパスつきファイル名をキーボードより入力する、或いは、ファイル指定のためのダイアログウインドウを表示し、ドライブ、ディレクトリとたどって目的とするファイルを指定する等で良い。
【0069】
次いで、ステップS2302にて、指定したコンテンツの分割位置、すなわち、暗号化単位を入力する。分割位置の入力方法としては、動画像の区切り位置を時間で指定する方法、或いは、チャプターが設定されていればそれに従っても構わない。場合によっては、同じ時間長の単位で分割するため、等分割数を入力しても構わない。いずれにしても、暗号化対象の動画像ファイル(コンテンツ)の分割位置を指定することで、幾つの暗号化単位が設定されたか判明するので、その数をLとして設定する。なお、各分割位置間のデータを部分コンテンツと呼ぶことにする。
【0070】
次いで、ステップS2303に進んで、分割数Lに基づく数の鍵パラメータをキーボードより入力、或いは予め鍵パラメータファイルとして格納しておき、それに基づき、ルート鍵を生成する。この後、ステップS2304に進んで、先に説明した手順に従って、L個の末端ノードの鍵(コンテンツ鍵)K1、K2、…KLを生成する。
【0071】
ステップS2305では、初期変数iに1を代入する。この変数iは暗号化しようとする部分コンテンツを特定すると共に、使用する鍵を特定するためのものである。
【0072】
ステップS2306では、i番目の部分コンテンツについて、鍵Kiを用いて暗号化する。そして、ステップS2307にて、i<Lの関係を満たしている、すなわち、未暗号化の部分コンテンツがあると判定した場合には、ステップS2308にて変数iを“1”だけ増加させ、ステップS2306の処理を行う。
【0073】
こうして、全部分コンテンツについての暗号化が完了したと判定した場合、処理はステップS2309に進み、暗号化後のコンテンツ(ここでは暗号化動画像ファイル)、ルート鍵、並びに、暗号化コンテンツの分割位置(分割個数でもある)を示す分割情報をHDD106に格納する。
【0074】
次に、暗号化コンテンツの配信処理について説明する。なお、先に説明したが、暗号化コンテンツの配信は、それ専用のサーバで行うことが望ましいが、ここでは、第1次配信者の装置が配信装置Webサーバ、FTPサーバとしても機能するものとして説明する。図24のフローチャートは、サーバプログラムの一部に組み込まれる処理手順を示している。
【0075】
先ず、ステップS2401により、ネットワークを介してコンテンツの要求があったか否かを判定する。コンテンツの要求があった場合には、ステップS2402に進み、認証処理を行う。そして、ステップS2403にて、認証結果に基づき、対象コンテンツのどの範囲(連続する部分コンテンツの開始位置と終了位置)の復号を許可するかを決定する。
【0076】
次いで、ステップS2404に進んで、復号範囲に対応するノードの全てが子ノードとなるノードのうち最下位に位置するノードの鍵情報を、サーバが保持するコンテンツ全体のルート鍵に基づいて生成する。例えば、図8において、2番目、3番目の部分コンテンツの復号を許可する場合には、鍵K2、K3が生成できれば良いから、それらを子ノードとして持つノードのうち最下位に位置する鍵鍵K(2,3)を生成することを意味する。
【0077】
次いで、ステップS2405に進んで、復号関連情報を生成する。復号関連情報は、例えば図25に示すようなもので良い。すなわち、ステップS2404で生成した親鍵情報と、その親鍵情報から幾つの子鍵情報を生成するかを示す子鍵数、そして、コンテンツ分割情報(図23で既に説明した)、そして、復号範囲を示す情報である。
【0078】
そして、ステップS2406にて、生成した復号関連情報並びに暗号化済みのコンテンツ情報を要求元の第1次受信者の端末に向けて送信する。
【0079】
暗号化済みのコンテンツ情報については、別途送信しても良いし、インターネットを介して独立して配信されても構わないので、ステップS2406では、復号関連情報のみを送信するようにしても良い。
【0080】
以上の結果、第1次受信者(の端末)は、復号関連情報から、受信した親鍵情報から何回、子鍵を生成すれば良いかは勿論、生成した子鍵が暗号化されたコンテンツのどの部分コンテンツに対する鍵であるかが特定できることになり、その対象となる部分コンテンツについて復号し、再生することが可能になる。
【0081】
なお、上記例では、暗号化対象のコンテンツとして動画像を例にしたが、音響データでも構わないし、文書ファイルでも構わない。文書ファイルの場合には、その文書を構成するページを部分コンテンツと見なして処理すればよい。ただし、この場合には文書ファイルのファイル構造が公開されているものになるであろう。このような文書ファイルの代表的なものとしては、PDFファイルが挙げられよう。
【0082】
以上説明したように本実施形態によれば、配信対象のコンテンツを構成するデータ列を所望とする位置で区切り、その区切り位置で挟まれる各部分コンテンツを、ルート鍵から派生する鍵で暗号化することで、配信側が管理する鍵は1つで良くなり、管理が容易になると共に、所望とする連続する部分コンテンツ範囲についてのみ復号するための鍵情報を生成することも可能になる。また、暗号化コンテンツを受信する側でも、1つの鍵情報を管理すれば良いことになる。
【0083】
<第2の実施形態>
上記の実施形態ではレンジ鍵を任意の範囲で構成可能な場合を取り上げた。本実施形態では、レンジ鍵に制限を設けることで鍵管理コストを下げる方法について説明する。
【0084】
図8は図7におけるすべてのレンジ鍵を階層的に表現しているが、配信者の意図により、すべてのレンジ鍵を必要としない場合が考えられる。図9はその例であり、K(1、4)、K(1、3)およびK(3、4)のみをレンジ鍵として扱う場合であり、それ以外のK(2、4)、K(1、2)およびK(2、3)というレンジ鍵で鍵配布することがないことが事前にわかっている場合を意味している。図9をハッシュ鍵生成方式に適用させた場合、図6では初期鍵が3であったが、図9で表される有向グラフは、枝切り可能なノードを除くと鍵配布オーダーが2であることから、初期鍵は2で済むことがわかる。このようにレンジ鍵を制限することで有向グラフのノードを削除することで、鍵データ量と鍵生成計算量を削減することができる。
【0085】
このように管理対象コンテンツのレンジをあらかじめ特定することで、コンテンツを分割のメッシュを通常の単位と異なるように構成することでコンテンツ鍵の総数を削減し、鍵管理コストを削減することができる。
【0086】
<第3の実施形態>
第2の実施形態においては、コンテンツの最小単位ごとにコンテンツ鍵を対応付ける方式を説明したが、本実施形態では、レンジ鍵を制限したあとで、コンテンツ分割を行うことで鍵管理コストを削減する方式を説明する。
【0087】
図9で示したレンジ鍵に制限した場合、図10は、図9に呼応するコンテンツにおける復号対象範囲を表現している。管理対象コンテンツ1000はM1からM4で構成され、レンジ鍵1001から1003はそれぞれレンジ(M1、M4)、(M1、M3)および(M3、M4)に対応している。このとき、それぞれのレンジを構成する最小コンテンツ単位を考えると、図11のように、M1からM4で構成される管理対象コンテンツ1100は、1101のように3つの構成で十分であることがわかる。つまりM1とM2を集約して単位コンテンツM1’とし、コンテンツ鍵の総数を4から3に削減することができる。このときのレンジ鍵の階層構成を表したものが図12である。
【0088】
<第4の実施形態>
第2の実施形態においては、コンテンツの最小単位ごとにコンテンツ鍵を対応付ける方式を説明し、図8で表される有向グラフから図9で表される有向グラフを生成した。図9では2つのレンジ鍵K(1、3)とK(3、4)が共有するコンテンツ鍵は1つ(k3)であった。
【0089】
一方、図20のようにコンテンツ鍵が5つの場合を考える。このとき、配信者の意図により、図21のように、K(1、5)、K(1、4)およびK(2、5)のみをレンジ鍵として扱う場合を考える。このとき、K(1、4)およびK(2、5)が共有するコンテンツ鍵はk2、k3、k4の3つ存在する。図21記載の有向グラフは枝切り可能なノードを除くと鍵配布オーダーが3であることから、初期鍵は3となる。レンジ鍵は2つであるにも関わらず、2つのレンジ鍵が共有するコンテンツ鍵が3つとなってしまうため効率が悪いと考えることができる。そこで、レンジ鍵が共有するコンテンツ鍵をまとめるレンジ鍵を配布可能性のあるレンジ鍵として扱うことで初期鍵数を削減する方式を説明する。
【0090】
図22はK(2、4)も追記した有向グラフである。この有向グラフにおいて枝切り可能なノードを除くと鍵配布オーダーが2であることから、初期鍵は2となる。このようにコンテンツ鍵の総数を削減し、鍵管理コストを削減することができる。
【0091】
以上、第2乃至第4の実施形態を説明した。第2乃至第4の実施形態の装置の構成及び処理手順は、第1の実施形態とほぼ同様である。また、第1の実施形態で説明したように、本発明の対象となるコンテンツは、動画像などの時系列コンテンツのみを対象とするものではなく通常のドキュメントにおけるページ番号、通し節番号など、1次元の管理軸を持ったコンテンツであれば適用可能であるのは明らかである。そのため、何からの評価軸に基づいてコンテンツを複数のサブコンテンツに分解して順序付けることができるコンテンツは本発明の範疇に含まれる。
【0092】
なお、実施形態で説明した鍵情報は、暗号化及び復号の両方で使用する鍵として説明したが、秘密鍵、公開鍵の如く、暗号化と復号で別々な鍵を用いるようにしても構わない。
【0093】
また、本発明は上記実施の形態を実現するための装置及び方法及び実施の形態で説明した方法を組み合わせて行う方法のみに限定されるものではなく、上記システムまたは装置内のコンピュータ(CPUあるいはMPU)に、上記実施の形態を実現するためのソフトウェアのプログラムコードを供給し、このプログラムコードに従って上記システムあるいは装置のコンピュータが上記各種デバイスを動作させることにより上記実施の形態を実現する場合も本発明の範疇に含まれる。
【0094】
また、コンピュータプログラムは、通常、CD−ROM等のコンピュータ可読記憶媒体をコンピュータにセットし、システムにコピーもしくはインストールすることで実行可能になるわけであるから、当然、このようなコンピュータ可読記憶媒体も本発明の範疇に含まれる。
【図面の簡単な説明】
【0095】
【図1】実施形態に係る処理装置の構成を示すブロック図である。
【図2】ハッシュ鍵生成方式に係るノード鍵生成手順を表すフローチャートである。
【図3】アクセス構造が表現された有向グラフの例を説明する図である。
【図4】図3に対するノード鍵割り当て表の例を示す図である。
【図5】枝切り方式に係るノード鍵生成手順を表すフローチャートである。
【図6】図3に対するノード鍵割り当て表の例を示す図である。
【図7】実施形態に係る、時系列コンテンツが単位ごとに暗号化される場合を表す模式図である。
【図8】実施形態に係る、図7におけるすべてのレンジ鍵を階層的に表現した図である。
【図9】第2の実施形態に係る、図7における一部のレンジ鍵を階層的に表現した図である。
【図10】第2の実施形態に係る、図9において制限したレンジ鍵のコンテンツにおける復号対象範囲を表現した図である。
【図11】第3の実施形態に係る、図10において制限したレンジ鍵のコンテンツにおける復号対象範囲を表現した図である。
【図12】第3の実施形態に係る、図7における一部のレンジ鍵を階層的に表現した図である。
【図13】実施形態に係る、コンテンツ配信システムを表現した図である。
【図14】木構造管理方式における2分木アクセス構造を説明する概念図である。
【図15】階層的なアクセス制御方式におけるアクセス構造を説明する概念図である。
【図16】階層的なアクセス制御方式におけるアクセス構造を説明する概念図である。
【図17】階層的なアクセス制御方式における局所的構造を説明する概念図である。
【図18】User multiple keyingの例を説明する図である。
【図19】One-way function based keying schemesを説明する図である。
【図20】第4の実施形態に係る、5つのコンテンツ鍵に対するすべてのレンジ鍵を階層的に表現した図である。
【図21】第4の実施形態に係る、図20における一部のレンジ鍵を階層的に表現した図である。
【図22】第4の実施形態に係る、図20における一部のレンジ鍵を階層的に表現した図である。
【図23】実施形態における暗号化処理手順を示すフローチャートである。
【図24】実施形態における暗号化コンテンツの復号情報の配信処理手順を示すフローチャートである。
【図25】復号情報のデータ構造を示す図である。

【特許請求の範囲】
【請求項1】
所定軸に沿って並んだ部分コンテンツで構成されるコンテンツ情報を暗号化する情報暗号化装置であって、
前記コンテンツ情報のルート鍵情報を生成するルート鍵生成手段と、
第i層のi個の鍵を、上位の第i-1層のi-1個の鍵に基づき生成し、末端位置に前記部分コンテンツの数分の鍵情報を生成する生成する階層鍵生成手段と、
ここで、当該階層鍵生成手段は、第i層のj番目のノード鍵をP(i,j)(j=1,2,…,i)と表現した場合、両端のノード鍵P(i,1)及びP(i,i)については、上位の第i-1層のノード鍵P(i-1,1),P(i-1,i-1)から一方向関数に従って生成し、ノード鍵P(i,m)(m=2,3,…,i-1)については、上位の第i-1層中のノード鍵P(i-1,m-1),P(i-1,m)のいずれからも生成可能な一方向関数で生成する;
前記階層鍵生成手段で生成された末端層の鍵情報を用いて、各部分コンテンツを暗号化する暗号化手段と、
該暗号化手段で暗号化した部分コンテンツで構成される暗号化済みのコンテンツ情報と、前記ルート鍵情報、並びに、各部分コンテンツの区切り位置を特定する情報を記憶する記憶手段と
を備えることを特徴とする情報暗号化装置。
【請求項2】
前記ルート鍵生成手段は、前記部分コンテンツの数に応じた個数のデータを入力する入力手段を含み、当該入力手段で入力されたデータに基づいてルート鍵情報を生成することを特徴とする請求項1に記載の情報暗号化装置。
【請求項3】
更に、前記コンテンツ情報から、各部分コンテンツの区切り位置を指定する指定手段とを備えることを特徴とする請求項1に記載の情報暗号化装置。
【請求項4】
前記コンテンツ情報は、動画情報、音響情報、文書情報を含むことを特徴とする請求項1乃至3のいずれか1つに記載の情報暗号化装置。
【請求項5】
更に、コンテンツ情報の区切り位置を指定する指定手段を備え、
前記部分コンテンツは、前記指定手段で指定された区切り位置間、或いは前記コンテンツの端部と最寄りの区切り位置間で決定されることを特徴とする請求項1に記載の情報暗号化装置。
【請求項6】
請求項1に記載の情報暗号化装置で暗号化されたコンテンツを復号するための鍵情報を配信する情報配信装置であって、
復号する部分コンテンツの範囲を決定する決定手段と、
前記記憶手段で記憶されたルート鍵情報に基づき、階層化して復号用の鍵情報を階層化して生成する第2の階層鍵生成手段と、
ここで、第2の階層鍵生成手段は、第i層のj番目のノード鍵をP(i,j)(j=1,2,…,i)と表現した場合、両端のノード鍵P(i,1)及びP(i,i)については、上位の第i-1層のノード鍵P(i-1,1),P(i-1,i-1)から一方向関数に従って生成し、ノード鍵P(i,m)(m=2,3,…,i-1)については、上位の第i-1層中のノード鍵P(i-1,m-1),P(i-1,m)のいずれからも生成可能な一方向関数で生成する;
前記決定手段で決定した部分コンテンツの範囲に対応する末端位置のノードの全てが子ノードとなるノードのうち最下位に位置するノードの鍵情報と、少なくとも前記部分コンテンツの範囲内の各部分コンテンツの区切り位置を示す情報で構成される復号情報を配信する配信手段と
を備えることを特徴とする情報配信装置。
【請求項7】
所定軸に沿って並んだ部分コンテンツで構成されるコンテンツ情報を暗号化する情報暗号化装置の制御方法であって、
前記コンテンツ情報のルート鍵情報を生成するルート鍵生成工程と、
第i層のi個の鍵を、上位の第i-1層のi-1個の鍵に基づき生成し、末端位置に前記部分コンテンツの数分の鍵情報を生成する生成する階層鍵生成工程と、
ここで、階層鍵生成工程は、第i層のj番目のノード鍵をP(i,j)(j=1,2,…,i)と表現した場合、両端のノード鍵P(i,1)及びP(i,i)については、上位の第i-1層のノード鍵P(i-1,1),P(i-1,i-1)から一方向関数に従って生成し、ノード鍵P(i,m)(m=2,3,…,i-1)については、上位の第i-1層中のノード鍵P(i-1,m-1),P(i-1,m)のいずれからも生成可能な一方向関数で生成する;
前記階層鍵生成工程で生成された末端層の鍵情報を用いて、各部分コンテンツを暗号化する暗号化工程と、
該暗号化工程で暗号化した部分コンテンツで構成される暗号化済みのコンテンツ情報と、前記ルート鍵情報、並びに、各部分コンテンツの区切り位置を特定する情報を所定の記憶に格納する格納工程と
を備えることを特徴とする情報暗号化装置の制御方法。
【請求項8】
請求項1に記載の情報暗号化装置で暗号化されたコンテンツを復号するための鍵情報を配信する情報配信装置の制御方法であって、
復号する部分コンテンツの範囲を決定する決定工程と、
前記記憶手段で記憶されたルート鍵情報に基づき、階層化して復号用の鍵情報を階層化して生成する第2の階層鍵生成工程と、
ここで、第i層のj番目のノード鍵をP(i,j)(j=1,2,…,i)と表現した場合、両端のノード鍵P(i,1)及びP(i,i)については、上位の第i-1層のノード鍵P(i-1,1),P(i-1,i-1)から一方向関数に従って生成し、ノード鍵P(i,m)(m=2,3,…,i-1)については、上位の第i-1層中のノード鍵P(i-1,m-1),P(i-1,m)のいずれからも生成可能な一方向関数で生成する;
前記決定工程で決定した部分コンテンツの範囲に対応する末端位置のノードの全てが子ノードとなるノードのうち最下位に位置するノードの鍵情報と、少なくとも前記部分コンテンツの範囲内の各部分コンテンツの区切り位置を示す情報で構成される復号情報を配信する配信工程と
を備えることを特徴とする情報配信装置の制御方法。
【請求項9】
コンピュータが読み込み実行することで、所定軸に沿って並んだ部分コンテンツで構成されるコンテンツ情報を暗号化する情報暗号化装置として機能するコンピュータプログラムであって、
前記コンテンツ情報のルート鍵情報を生成するルート鍵生成手段と、
第i層のi個の鍵を、上位の第i-1層のi-1個の鍵に基づき生成し、末端位置に前記部分コンテンツの数分の鍵情報を生成する生成する階層鍵生成手段と、
ここで、階層鍵生成手段は、第i層のj番目のノード鍵をP(i,j)(j=1,2,…,i)と表現した場合、両端のノード鍵P(i,1)及びP(i,i)については、上位の第i-1層のノード鍵P(i-1,1),P(i-1,i-1)から一方向関数に従って生成し、ノード鍵P(i,m)(m=2,3,…,i-1)については、上位の第i-1層中のノード鍵P(i-1,m-1),P(i-1,m)のいずれからも生成可能な一方向関数で生成する;
前記階層鍵生成手段で生成された末端層の鍵情報を用いて、各部分コンテンツを暗号化する暗号化手段と、
該暗号化手段で暗号化した部分コンテンツで構成される暗号化済みのコンテンツ情報と、前記ルート鍵情報、並びに、各部分コンテンツの区切り位置を特定する情報を記憶する記憶手段
として機能することを特徴とするコンピュータプログラム。
【請求項10】
コンピュータが読み込み、請求項1に記載の情報暗号化装置で暗号化されたコンテンツの復号するための鍵情報を配信する情報配信装置として機能するコンピュータプログラムであって、
復号する部分コンテンツの範囲を決定する決定手段と、
前記記憶手段で記憶されたルート鍵情報に基づき、階層化して復号用の鍵情報を階層化して生成する第2の階層鍵生成手段と、
ここで、第2の階層鍵生成手は、段第i層のj番目のノード鍵をP(i,j)(j=1,2,…,i)と表現した場合、両端のノード鍵P(i,1)及びP(i,i)については、上位の第i-1層のノード鍵P(i-1,1),P(i-1,i-1)から一方向関数に従って生成し、ノード鍵P(i,m)(m=2,3,…,i-1)については、上位の第i-1層中のノード鍵P(i-1,m-1),P(i-1,m)のいずれからも生成可能な一方向関数で生成する;
前記決定手段で決定した部分コンテンツの範囲に対応する末端位置のノードの全てが子ノードとなるノードのうち最下位に位置するノードの鍵情報と、少なくとも前記部分コンテンツの範囲内の各部分コンテンツの区切り位置を示す情報で構成される復号情報を配信する配信手段
として機能することを特徴とするコンピュータプログラム。
【請求項11】
請求項9又は10に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2006−74392(P2006−74392A)
【公開日】平成18年3月16日(2006.3.16)
【国際特許分類】
【出願番号】特願2004−254681(P2004−254681)
【出願日】平成16年9月1日(2004.9.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】