JP4561074B2 - 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP4561074B2
JP4561074B2 JP2003353310A JP2003353310A JP4561074B2 JP 4561074 B2 JP4561074 B2 JP 4561074B2 JP 2003353310 A JP2003353310 A JP 2003353310A JP 2003353310 A JP2003353310 A JP 2003353310A JP 4561074 B2 JP4561074 B2 JP 4561074B2
Authority
JP
Japan
Prior art keywords
key
ciphertext
node
information processing
decryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003353310A
Other languages
English (en)
Other versions
JP2005123678A (ja
Inventor
智之 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003353310A priority Critical patent/JP4561074B2/ja
Publication of JP2005123678A publication Critical patent/JP2005123678A/ja
Application granted granted Critical
Publication of JP4561074B2 publication Critical patent/JP4561074B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、マルチリニアマップ(multilinearmap)に階層型木構造を組み合わせた暗号文配信構成を構築することにより、効率的な暗号文送受信および解析を可能とし、生成する暗号文の削減、暗号文を受領し復号するユーザデバイス、受信機等の情報処理装置における計算量の削減を実現する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
昨今、音楽等のオーディオデータ、映画等の画像データ、ゲームプログラム、各種アプリケーションプログラム等、様々なソフトウエアデータ(以下、これらをコンテンツ(Content)と呼ぶ)が、インターネット等のネットワークを介して、あるいはCD(Compact Disc)、DVD(Digital Versatile Disk)、MD(Mini Disk)等の情報記録媒体(メディア)を介して流通している。これらの流通コンテンツは、ユーザの所有するPC(Personal Computer)、CDプレーヤ、DVDプレーヤ、MDプレーヤ等の再生装置、あるいはゲーム機器等の様々な情報処理装置において再生され利用される。
音楽データ、画像データ等、多くのコンテンツは、一般的にその作成者あるいは販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、コンテンツの利用を許諾し、許可のない複製等が行われないようにする構成をとるのが一般的となっている。
特に、近年においては、情報をデジタル的に記録する記録装置や記憶媒体が普及しつつある。このようなデジタル記録装置および記憶媒体によれば、例えば画像や音声を劣化させることなく記録、再生を繰り返すことが可能であり、不正コピーコンテンツのインターネットを介した配信や、CD−R等の記録媒体に対する不正コピーという問題が発生している。
このようなコンテンツの不正利用を防止する1つの方式として、コンテンツあるいは暗号化コンテンツを復号するための鍵を暗号化して提供するシステムがある。例えばブロードキャスト・エンクリプション(Broadcast Encryption)方式の一態様である階層型木構造を適用した暗号化データ提供構成は、提供する暗号化データに含まれる暗号文の設定を適宜変更することで、特定の選択された正規ユーザまたは正規デバイスのみにおいて復号可能な暗号文の提供を行うシステムである。
階層型木構造を適用した暗号鍵等の暗号データ提供処理について、図を参照して説明する。
図1に示す階層型木構造は2分木を用いており、その最下層が葉(リーフ)と呼ばれ、頂点、各分岐部およびリーフを含む部分をノードと称する。なお、頂点をルート、あるいはルートノードと呼ぶ。図1に示す2分木階層型木構造において、リーフは8〜15、ノードは1〜15、ルートは1である。
この2分木階層型木構造におけるリーフ8〜15にコンテンツの利用機器としての再生機、受信機等の情報処理装置を1つずつ割り当てる。
また、木の各ノード(リーフを含む)1〜15にそれぞれノードキーを1つずつ割り当てる。リーフ8〜15に割り当てるノードキーはリーフキーと呼ばれる場合もある。
リーフに対応する各情報処理装置には、対応するリーフからルートまでの経路にあるノードに割り当てられたノードキーが与えられる。図1の構成では、リーフ8から15までに割り当てられた8台の情報処理装置があり、ノード1から15までにそれぞれノードキーが割り当てられており、リーフ8に対応する情報処理装置101には、ノード1,2,4,8に割り当てられた4個のノードキーが与えられる。また、リーフ12に対応する情報処理装置102には、ノード1,3,6,12に割り当てられた4個のノードキーが与えられる。核情報処理装置は、これらのノードキーを安全に保管する。
このノードキーの配布処理を伴うセッティングを用いて、選択した情報処理装置のみが取得可能な情報を送信する方法を図2を参照して説明する。たとえば、特定の音楽、画像データ等のコンテンツの暗号化データをブロードキャスト配信、あるいはDVD等の記録媒体に格納して誰でも取得可能な状態で流通させ、その暗号化コンテンツを復号するための鍵(コンテンツキー:Kc)を特定のユーザ、すなわち正規なコンテンツ利用権を持つユーザまたは情報処理装置のみにおいて取得可能とする構成を実現する。
図2に示すリーフ14に割り当てられた情報処理装置を不正な機器として、排除(リボーク)し、それ以外の情報処理装置が正規な情報処理装置であるとする。この場合、リーフ14に割り当てられた情報処理装置ではコンテンツキーKcを取得できないが、他の情報処理装置ではコンテンツキーKcを取得できる暗号文を生成して、その暗号文をネットワークを介してあるいは記録媒体に格納して配布する。
この場合、リボーク(排除)される情報処理装置が持つノードキー(図2では×印で表現)以外のノードキーのうち、できるだけ多数の情報処理装置に共有されているもの、すなわち木の上部にあるものをいくつか用いて、コンテンツキーを暗号化して送信すればよい。
図2に示す例では、ノード2,6,15のノードキーを用いて、コンテンツキーKcを暗号化した暗号文のセットを生成して提供する。すなわち、
E(NK,Kc),E(NK,Kc),E(NK15,Kc)
の暗号文を生成して、ネットワーク配信あるいは記録媒体に格納して提供する。なお、E(A,B)はデータBを鍵Aで暗号化したデータを意味する。またNKは、図に示す第n番のノードキーを意味する。従って、上記式は、
コンテンツキーKcをノードキーNKで暗号化した暗号化データE(NK,Kc)と、コンテンツキーKcをノードキーNKで暗号化した暗号化データE(NK,Kc)と、コンテンツキーKcをノードキーNK15で暗号化した暗号化データE(NK15,Kc)と、を含む3つの暗号文のセットであることを意味している。
上記3つの暗号文を作り、例えば同報通信路を用いて全情報処理装置に送信すれば、リボーク対象でない情報処理装置(図2示すリーフ8〜13および15に対応する情報処理装置)はいずれかの暗号文を自分が持つノードキーで復号することが可能であり、コンテンツキーKcを得ることができる。しかし、リボーク(排除)されたリーフ14に対応する情報処理装置は、上記の3つの暗号文に適用された3つのノードキーNK、NK、NK15のいずれも保有していないので、この暗号文を受領しても、復号処理を行うことができずコンテンツキーKcを得ることはできない。
上述した処理においては、3つの暗号文E(NK,Kc),E(NK,Kc),E(NK15,Kc)が各情報処理装置に提供されることになる。リボークされていない各情報処理装置は、自分がどの暗号文を復号できるのかを調べ、その復号可能な暗号文を選択して復号処理を行う。上述の例では3つの暗号文の設定であるが、実際には、情報処理装置の数は膨大な数となり、情報処理装置に提供される暗号文の数も大量となる。従って、暗号文の先頭から順次、復号処理を繰り返し実行してみるといった処理は負担が大きくなる。
このため、暗号文の提供時に、各情報処理装置が選択すべき暗号文を知ることが可能な鍵指定コードを暗号文とともに各情報処理装置に提供する構成が提案されている。この構成については、例えば特許文献1に詳細が記述されている。
鍵指定コードを暗号文とともに各情報処理装置に提供する構成について、図3を参照して説明する。図3に示すように、暗号化に用いられたノードキーを木構造を用いて表し、その構造をコード化して鍵指定コードを作り、これを暗号文ブロックとともに同報送信する。情報処理装置は鍵指定コードを受領し、受領した鍵指定コードを解析することで自分がどの暗号文をどのノードキーを用いて復号すればよいかを知り、効率的に復号処理を行うことが可能となる。
鍵指定コードについて、説明する。図3は、先の図2と同様、リボーク(排除)機器をリーフ14に対応する情報処理装置として、3つの暗号文、
E(NK,Kc),E(NK,Kc),E(NK15,Kc)
を送信する場合の例を示している。
まず、図3において、太線で示した部分木は、暗号化に用いられたノードキーが割り当てられたすべてのノード121,122,123をリーフとし、もとの木構造のルート120をルートとする木であり、これを鍵指定木と呼ぶ。
鍵指定木の構造をデータで示すため、各ノードから、左右に枝が出ているかどうかを表す情報を設定する。
1つのノードにつき2ビットの情報(鍵指定情報)[00][01][10][11]のいずれかを用いて表現する。すなわち、あるノードにつけられた鍵指定情報の最初(左側)のビットが[1]ならばそのノードから左に枝が出ている(鍵指定木に左側の子ノードが存在する)ことを示し、[0]ならばそのノードから左に枝は出ていない(左側の子ノードは存在しない)ことを示す。鍵指定情報の最後(右側)は、同様に右側の枝の情報を表す。
すなわち、あるノードの鍵指定情報ビットが[11]であればそのノードから両側に枝が出ていることを示し、[01]であれば左側のみに、[10]であれば右側のみに枝が出ていることを示す。また[00]は枝はいずれも出ておらず、そのノードが鍵指定木のリーフであることを示す。
すなわち、各ノードにおいて、左右に鍵指定木の枝があるか否かを2ビットの情報で示し、枝がある場合を[1]ない場合を[0]として、
左右とも枝ありの場合:[11]
左にのみ枝ありの場合:[10]
右にのみ枝ありの場合:[01]
左右に枝なしの場合 :[00]
として鍵指定情報ビットを設定する。
この鍵指定情報ビットを鍵指定木の上位層から順に、かつ同層については左から順に並べて、鍵指定コードを設定する。図3に示す構成の場合、鍵指定木は、ノードNo.1,2,3,6,7,15によって構成されているので、これらの各ノードの鍵指定情報ビットを順に並べたデータ、すなわち、
[110011000100]
が、鍵指定コードとして設定される。
複数の暗号文からなる暗号文ブロックと、上記の鍵指定コードを受領したユーザデバイスとしての情報処理装置は、鍵指定コードに基づいて、鍵指定木を再構築し、自装置に格納したノードキーによって復号可能な暗号文を選択し、選択した暗号文を複合してコンテンツキーを取得し、取得したコンテンツキーで暗号化されたコンテンツを復号してコンテンツの利用を行なうことが可能となる。
このように同報通信路を用いて、暗号文の提供者としての送信機(送信者)が任意に選択した暗号文の受領者、すなわち受信機(受信者)のグループに安全にコンテンツキーなどの秘密情報を送信する手法は、一般的にリボケーションスキーム(revocation scheme)や、ブロードキャスト・エンクリプション(broadcast encryption scheme)と呼ばれる。
リボケーションスキームや、ブロードキャスト・エンクリプションを実現する各方式の効率を評価する主要項目として、
(1)暗号文を受領して処理を行なうユーザデバイス、受信機等の情報処理装置が安全に保管しなければならない鍵の数(サイズ)
(2)同報通信されるメッセージの数(サイズ)、
(3)暗号文を受領して処理を行なうユーザデバイス、受信機等の情報処理装置が必要とする計算量
の3つの評価項目がある。
上記の3つの評価項目のすべてを小さくする方式、あるいは少なくとも上記項目中の1つまたは2つを小さくする方式が、より優れた方式であるとされるが、これまでに公知となっている各方式では、総受信機数Nや、暗号文の復号許容受信機以外の排除受信機(リボーク受信機)数rに依存していずれかの評価項目が大きくなってしまうという問題があった。
これまでに公知となっている方式のうち、非特許文献1に記載された方式では、Diffie−Hellman inversion assumptionを満たす暗号学的なnマルチリニアマップ(n−multilinear map)が存在するという仮定のもとで、上記の(1)と(2)の評価項目をともに定数とするようなブロードキャスト・エンクリプション方式が提案されている。なお、マルチリニアマップ(n−multilinear map)については、本明細書の[発明を実施するための最良の形態]中において詳細を説明する。
しかしながら、この方式では上記評価項目中の(3)の受信機が必要とする計算量が、総受信者数であるNに比例するものとなってしまう。このため、この計算量を小さくする方式の開発が課題となっている。
特開2001−352322号公報 D.Boneh and A.Silverberg著の論文"Applications of Multilinear Forms to Cryptography"(この論文は、国際暗号研究協会が管理しているウェブサイトのテクニカルレポートとしてhttp://eprint.iacr.org/2002/080/に掲載されているとともに、著者の一人であるProf.Bonehが管理するウェブサイトにhttp://crypto.stanford.edu/~dabo./papers/mlinear.pdfとして掲載されている)
本発明は、このような状況に鑑みてなされたものであり、以下の実施例中において詳細を説明するDiffie−Hellman inversion assumption、またはgeneralized Diffie−Hellman assumptionを満たすマルチリニアマップ(multilinear map)が存在するという前提の下で、マルチリニアマップ(multilinear map)に階層型木構造を組み合わせた暗号文配信構成を構築することにより、効率的な暗号文送受信および解析を可能とし、生成する暗号文の削減、暗号文を受領し復号するユーザデバイス、受信機等の情報処理装置における計算量の削減を実現したものである。
上記論文(非特許文献1)に記載の方式を適用した構成において計算量が大きいのは、必要とするマルチリニアマップがNリニアマップ(Nは総受信機数)であるためである。本発明は、階層木構造を用いることによりこれを大幅に減少させることを可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
暗号文生成処理を実行する情報処理装置であり、
頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号処理部を有し、
前記暗号処理部は、
nマルチリニアマップ(ただし、nは2以上の整数)を適用して暗号鍵を生成するとともに、生成した暗号鍵によって前記暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する構成であることを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記リーフに対応する複数の情報処理装置の各々は、前記ルートから自リーフに至るパス上のノードに対応するノードキーを有し、前記暗号処理部は、前記暗号文復号許容機器の格納ノードキーにおいてのみ復号可能な暗号文の生成処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記暗号処理部は、前記nマルチリニアマップを適用して生成する鍵として、下記定義、
Ks=(Φ,・・・Φα∈G
に基づくセッションキーKsを生成する構成である、
ただし、Gは、Diffie−Hellman inversion assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
αは、α∈[1,p−1],ただし、pはGの位数、
Φは、下記の処理により定められる値、
(1)カウンタjを用意し、j=1とセットする、
(2)カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
(2a)もしi∈Kならば、Φ=gとセットし、jを1増やして次のiの処理に移る、
(3)もしj≦nならば、j≦nの間、下記の処理を繰り返す、
(3a)Φ=gとセットし、jを1増やす、
ただし、Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
nは、nマルチリニアマップの規定数nであり2以上の整数、
Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合であり、
は、ノードiの公開値でありg∈Gを満たす、
gはGの生成元、
であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記暗号処理部は、前記nマルチリニアマップを適用して生成する鍵として、下記定義、
Figure 0004561074
に基づくセッションキーKsを生成する構成である、
ただし、Gは、generalized Diffie−Hellman assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
gは、群Gの生成元であり、
は、階層木構成における各構成ノードiに設定されるノードキーであり、h=gxiが公開値として設定される、
ことを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、
Diffie−Hellman inversion assumptionを満たすnマルチリニアマップを用いる場合、
Figure 0004561074
として設定し、
generalized Diffie−Hellman assumptionを満たすnマルチリニアマップを用いる場合、
Figure 0004561074
として設定する構成、
ただし、
Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
rは、前記暗号文復号許容機器以外のリボーク(排除)機器数、
Figure 0004561074
は、rlog(N/r)以下の最大の整数、
であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、r≦Nの任意のrに対応可能な数n、すなわちrlog(N/r)の最大値に対応する整数値として設定する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、リボーク(排除)機器数rについて、その最大値Rを設定し、r≦Rの任意数に対応可能な数n、すなわち、r=Rとしたときのrlog(N/r)の値に対応する整数値として設定する構成であることを特徴とする。
さらに、本発明の第2の側面は、
頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応して設定された情報処理装置であり、
前記ルートから自リーフに至るパス上のノードに対応するノードキーを格納した記憶部と、
暗号文の復号処理を実行する暗号処理部であり、暗号文の暗号処理鍵であるnマルチリニアマップ(ただし、nは2以上の整数)を適用して生成された暗号鍵の算出処理を、前記ノードキーを適用して実行するとともに、生成した暗号鍵に基づいて暗号文の復号処理を実行する暗号処理部と、
を有することを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記暗号処理部は、下記定義、
Ks=(Φ,・・・Φα∈G
に基づくセッションキーKsによって暗号化された暗号文の復号処理を実行する構成であり、
セッションキーKsの算出処理として、下記処理1〜4、すなわち、
1.カウンタjを用意し、j=1とセットする、
2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
(a)もしi∈Kならば、iとIが一致するかどうかを調べる、
i.もしi=Iならば、Φ=sとセットし、jを1増やして次のiの処理に移る、
ii.もしi≠Iならば、Φ=gとセットし、jを1増やして次のiの処理に移る、
3.もしj≦nならば、j≦nの間、下記の処理を繰り返す、
(a)Φ=gとセットし、jを1増やす、
4.Ks=(φ,・・・,φ)を求める、
ただし、
は、Diffie−Hellman inversion assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
αは、α∈[1,p−1],ただし、pはGの位数、
Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
nは、nマルチリニアマップの規定数nであり2以上の整数、
Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合、
は、ノードiのノードキー、
は、ノードiの公開値、
gはGの生成元,
Iは、部分木ルート集合Kに含まれるノード、
上記処理1〜4を実行してセッションキーKsの算出を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記暗号処理部は、下記定義、
Figure 0004561074
に基づくセッションキーKsによって暗号化された暗号文の復号処理を実行する構成であり、
セッションキーKsの算出処理として、下記処理1〜4、すなわち、
1.カウンタj,lを用意し、j=1,l=2Nとセットする、
2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
(a)もしi∈Kかつi≠IならばΦ=hとセットし、jを1増やして次のiの処理に移る、
3.もしj≦nならばj≦nの間、下記の処理を繰り返す。
(a)Φ=hとセットし、lを1増やし、jを1増やす、
4.セッションキーKsを、
Figure 0004561074
により算出する、
ただし、
は、generalized Diffie−Hellman assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
nは、nマルチリニアマップの規定数nであり2以上の整数、
Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合、
は、階層木構成における各構成ノードiに設定されるノードキーであり、h=gxiが公開値、
Iは、部分木ルート集合Kに含まれるノード、
gは、群Gの生成元、
上記処理1〜4を実行してセッションキーKsの算出を実行する構成であることを特徴とする。
さらに、本発明の第3の側面は、
暗号文を格納した情報記録媒体であり、
頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文を格納し、
前記暗号文は、
nマルチリニアマップ(ただし、nは2以上の整数)を適用して生成した暗号鍵によって暗号化のなされた暗号文であることを特徴とする情報記録媒体にある。
さらに、本発明の情報記録媒体の一実施態様において、前記暗号文は、前記nマルチリニアマップを適用して生成される鍵、すなわち、下記定義、
Ks=(Φ,・・・Φα∈G
に基づくセッションキーKsによって暗号化された暗号文、
ただし、Gは、Diffie−Hellman inversion assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
αは、α∈[1,p−1],ただし、pはGの位数、
Φは、下記の処理により定められる値、
(1)カウンタjを用意し、j=1とセットする、
(2)カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
(2a)もしi∈Kならば、Φ=gとセットし、jを1増やして次のiの処理に移る、
(3)もしj≦nならば、j≦nの間、下記の処理を繰り返す、
(3a)Φ=gとセットし、jを1増やす、
ただし、Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
nは、nマルチリニアマップの規定数nであり2以上の整数、
Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合であり、
は、ノードiの公開値、
gはGの生成元、
であることを特徴とする。
さらに、本発明の情報記録媒体の一実施態様において、前記暗号文は、前記nマルチリニアマップを適用して生成される鍵、すなわち、下記定義、
Figure 0004561074
に基づくセッションキーKsによって暗号化された暗号文、
ただし、Gは、generalized Diffie−Hellman assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
gは、群Gの生成元であり、
は、階層木構成における各構成ノードiに設定されるノードキーであり、h=gxiが公開値として設定される、
であることを特徴とする。
さらに、本発明の第4の側面は、
暗号文生成処理を実行する情報処理方法であり、
頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号処理ステップを有し、
前記暗号処理ステップは、
nマルチリニアマップ(ただし、nは2以上の整数)を適用して暗号鍵を生成する鍵生成ステップと、
生成した暗号鍵によって前記暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号文生成ステップとを有することを特徴とする情報処理方法にある。
さらに、本発明の情報処理方法の一実施態様において、前記リーフに対応する複数の情報処理装置の各々は、前記ルートから自リーフに至るパス上のノードに対応するノードキーを有し、前記暗号処理ステップは、前記暗号文復号許容機器の格納ノードキーにおいてのみ復号可能な暗号文の生成処理を実行することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵生成ステップは、前記nマルチリニアマップを適用して生成する鍵として、下記定義、
Ks=(Φ,・・・Φα∈G
に基づくセッションキーKsを生成するステップである、
ただし、Gは、Diffie−Hellman inversion assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
αは、α∈[1,p−1],ただし、pはGの位数、
Φは、下記の処理により定められる値、
(1)カウンタjを用意し、j=1とセットする、
(2)カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
(2a)もしi∈Kならば、Φ=gとセットし、jを1増やして次のiの処理に移る、
(3)もしj≦nならば、j≦nの間、下記の処理を繰り返す、
(3a)Φ=gとセットし、jを1増やす、
ただし、Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
nは、nマルチリニアマップの規定数nであり2以上の整数、
Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合であり、
は、ノードiの公開値、
gはGの生成元、
であることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵生成ステップは、前記nマルチリニアマップを適用して生成する鍵として、下記定義、
Figure 0004561074
に基づくセッションキーKsを生成するステップである、
ただし、Gは、generalized Diffie−Hellman assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
gは、群Gの生成元であり、
は、階層木構成における各構成ノードiに設定されるノードキーであり、h=gxiが公開値として設定される、
ことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、
Diffie−Hellman inversion assumptionを満たすnマルチリニアマップを用いる場合、
Figure 0004561074
として設定し、
generalized Diffie−Hellman assumptionを満たすnマルチリニアマップを用いる場合、
Figure 0004561074
として設定する構成、
ただし、
Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
rは、前記暗号文復号許容機器以外のリボーク(排除)機器数、
Figure 0004561074
は、rlog(N/r)以下の最大の整数、
を有することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法において、前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、r≦Nの任意のrに対応可能な数n、すなわちrlog(N/r)の最大値に対応する整数値として設定することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法において、前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、リボーク(排除)機器数rについて、その最大値Rを設定し、r≦Rの任意数に対応可能な数n、すなわち、r=Rとしたときのrlog(N/r)の値に対応する整数値として設定することを特徴とする。
さらに、本発明の第5の側面は、
暗号文の復号処理を実行する情報処理方法であり、
nマルチリニアマップ(ただし、nは2以上の整数)を適用して生成された暗号鍵の算出処理を、階層木構成中の頂点ノードとしてのルートから自装置の対応するリーフに至るパス上のノードに設定されたノードキーを適用して実行する鍵算出ステップと、
前記鍵算出ステップにおいて算出した暗号鍵に基づいて暗号文の復号処理を実行する暗号文復号ステップと、
を有することを特徴とする情報処理方法にある。
さらに、本発明の情報処理方法の一実施態様において、前記鍵算出ステップは、下記定義、
Ks=(Φ,・・・Φα∈G
に基づくセッションキーKsの算出処理として、下記処理1〜4、すなわち、
1.カウンタjを用意し、j=1とセットする、
2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
(a)もしi∈Kならば、iとIが一致するかどうかを調べる、
i.もしi=Iならば、Φ=sとセットし、jを1増やして次のiの処理に移る、
ii.もしi≠Iならば、Φ=gとセットし、jを1増やして次のiの処理に移る、
3.もしj≦nならば、j≦nの間、下記の処理を繰り返す、
(a)Φ=gとセットし、jを1増やす、
4.Ks=(φ,・・・,φ)を求める、
ただし、
は、Diffie−Hellman inversion assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
αは、α∈[1,p−1],ただし、pはGの位数、
Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
nは、nマルチリニアマップの規定数nであり2以上の整数、
Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合、
は、ノードiの秘密キー、
は、ノードiの公開キー、
gはGの生成元、
Iは、部分木ルート集合Kに含まれるノード、
上記処理1〜4を実行してセッションキーKsの算出を実行するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵算出ステップは、下記定義、
Figure 0004561074
に基づくセッションキーKsの算出処理として、下記処理1〜4、すなわち、
1.カウンタj,lを用意し、j=1,l=2Nとセットする、
2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
(a)もしi∈Kかつi≠IならばΦ=hとセットし、jを1増やして次のiの処理に移る、
3.もしj≦nならば、j≦nの間、下記の処理を繰り返す。
(a)Φ=hとセットし、lを1増やし、jを1増やす、
4.上記セッションキーKsを算出する、
ただし、
は、generalized Diffie−Hellman assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
nは、nマルチリニアマップの規定数nであり2以上の整数、
Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合、
は、階層木構成における各構成ノードiに設定されるノードキーであり、h=gxiが公開値、
Iは、部分木ルート集合Kに含まれるノード、
gは、群Gの生成元、
上記処理1〜4を実行してセッションキーKsの算出を実行するステップであることを特徴とする。
さらに、本発明の第6の側面は、
暗号文生成処理を実行するコンピュータ・プログラムであり、
頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号処理ステップを有し、
前記暗号処理ステップは、
nマルチリニアマップ(ただし、nは2以上の整数)を適用して暗号鍵を生成する鍵生成ステップと、
生成した暗号鍵によって前記暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号文生成ステップとを有することを特徴とするコンピュータ・プログラムにある。
さらに、本発明の第7の側面は、
暗号文の復号処理を実行するコンピュータ・プログラムであり、
nマルチリニアマップ(ただし、nは2以上の整数)を適用して生成された暗号鍵の算出処理を、階層木構成中の頂点ノードとしてのルートから自装置の対応するリーフに至るパス上のノードに設定されたノードキーを適用して実行する鍵算出ステップと、
前記鍵算出ステップにおいて算出した暗号鍵に基づいて暗号文の復号処理を実行する暗号文復号ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理において、nマルチリニアマップ(ただし、nは2以上の整数)を適用して暗号鍵を生成する構成とすることで、暗号文復号許容機器の格納鍵のみに基づいて復号可能な1つの暗号文として生成することが可能となり、暗号文の受領、復号処理を実行する受信機としてのユーザデバイスにおける計算量が削減され、効率的な処理が実現される。
本発明の構成によれば、Diffie−Hellman inversion assumption、またはgeneralized Diffie−Hellman assumptionを満たすマルチリニアマップ(multilinear map)に階層型木構造を組み合わせた暗号文配信構成を構築することにより、階層木構成中のリーフに対応する複数の情報処理装置から選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文として必要な数を削減することが可能となり、リーフの数の増加、リボーク機器の増加などの要因が発生した場合においても、必要な暗号文数を増加させることのない効率的な暗号文の生成および提供構成が実現される。
以下、図面を参照しながら本発明の情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
実施例1は、Diffie−Hellman inversion assumptionを満たすマルチリニアマップ(multilinear map)が存在するという前提の下で、マルチリニアマップを用いた鍵配信技術に階層木構造を組み合わせることによって、各受信機が必要とする計算量を削減させることを可能とした構成例である。
まず、上記背景技術の欄で説明した非特許文献「D.Boneh and A.Silverberg著の論文"Applications of Multilinear Forms to Cryptography」に基づいて、暗号学的なnマルチリニアマップ(n−multilinear map)について説明する。
nマルチリニアマップe:G →Gとは、下記の条件(1),(2),(3)を満たすものである。
(1)GとGは同じ素数の位数を持つ群である。
(2)下記条件を満足する。
Figure 0004561074
(3)もしg∈GがGの生成元であるならば、e(g,・・・g)はGの生成元である。
そして、暗号学的なnマルチリニアマップ(n−multilinear map)とは、
(1)GおよびG上の群の演算が効率的に行える。
(2)nマルチリニアマップeが効率的に計算可能である。
(3)G上の離散対数問題を解く効率的なアルゴリズムがない。
という3つの条件を満たすようなnマルチリニアマップである。
現在までに、n=2については、Tate paringまたはWeil paringという技術を用いて暗号学的なnマルチリニアマップを構成できると考えられている。
本実施例の説明においては、以下の(a)(b)の態様順に具体的な暗号文配信構成について説明する。
(a)任意数n(n>1)について暗号学的なnマルチリニアマップが存在すると仮定し、そのようなマップであるnマルチリニアマップeを用いたブロードキャスト・エンクリプション方式
(b)n=2とした暗号学的な2マルチリニアマップを用いたブロードキャスト・エンクリプション方式
なお、本実施例において、暗号文の配信処理を実行する送信者は、図4に示すような、葉(リーフ)の数が受信者数Nである階層木を定義し、各ノードiに番号をつけ、各ノードに受信機(またはユーザ)を対応付ける。各リーフは、それぞれ異なる鍵を持つ。これらの詳細構成については後述する。
この階層木構成に基づいて、特定の選択されたリーフを暗号文復号許容リーフとし、その他のリーフをリボーク(排除)リーフとして、暗号文の解読のできないリーフとして設定する。すなわち、暗号文提供者は、暗号文復号許容リーフにおいてのみ、解読可能な暗号文を生成して送信する。
暗号文は、ネットワークを介した通信、あるいはCD,DVD等の情報記録媒体に格納して提供される。この暗号文は、全てのリーフ対応の受信機(ユーザ)が取得可能である。ただし、提供した暗号文は、リボークされた機器に格納された鍵を用いて復号することはできず、リボーク機器以外の機器、すなわち、暗号文復号許容リーフに対応する機器に格納された鍵によってのみ復号できる。
本発明は、このような階層木構造を適用した暗号文提供構成において、nマルチリニアマップを用いたブロードキャスト・エンクリプション方式を適用した処理構成である。
(a)任意数n(n>1)のnマルチリニアマップeを用いたブロードキャスト・エンクリプション方式
まず、任意数n(n>1)のnマルチリニアマップeを用いたブロードキャスト・エンクリプション方式について説明する。
本実施例において説明するブロードキャスト・エンクリプション方式は、
(1)セットアップ、
(2)暗号化および送信、
(3)受信および復号、
の3つのフェーズに分かれている。セットアップフェーズは、システムの立ち上げ時に1度だけ行う。暗号化および送信、受信および復号の各フェーズは、情報の送信を行うたびに繰り返す。
ブロードキャスト・エンクリプション方式を構成するエンティティは、
(a)暗号文の生成および提供処理を行なう情報処理装置としての送信者(送信機)、
(b)暗号文の受領および復号処理を行なう情報処理装置としてのユーザデバイス等の受信機あるいは受信者(ユーザ)
(c)ブロードキャスト・エンクリプション・システムを管理する管理センタ
である。
暗号文の受領および復号処理を行なう情報処理装置またはユーザの総数をNとする。また、システムを管理する管理センタを設ける。上記(1)セットアップ処理は、送信者あるいは管理センタが実行する。
簡単のため、暗号文を受領する情報処理装置またはユーザの総数:Nは2のべき乗の数とする。実際のNが2のべき乗でない場合は、Nより大きな最小の2のべき乗の数をNとして用いても構わない。
(1)セットアップ
以下、暗号文の生成および提供処理を行なうエンティティまたは情報処理装置を送信者または送信機とし、暗号文を受領するエンティティまたは情報処理装置を受信者または受信機として説明する。セットアップ処理は、送信者側、あるいはシステム管理者によって実行されるが、以下では、送信者においてセットアップ処理を行うものとして説明する。
図4に示すように、送信者は葉(リーフ)の数が受信者数Nである2分木を階層木として定義し、各ノードiに番号をつける。すなわち、階層木のルート(頂点ノード)を1とし、それ以降、上位ノードから、また同一レベルのノード内では左のノードから、幅優先(breadth first order)で各ノードにノード識別子としてのノード番号2,3,4,・・・を付与する。
2分木の最下層にあるノードであるリーフ(葉)にはNから2N−1までのリーフ識別子としてのリーフ番号を付与する。
受信機は1つずつ各リーフ(葉)に割り当てる。受信者数N=16である2分木の定義と受信機の割り当てを示したのが図4である。リーフ(葉)にはN=16から2N−1=31までのリーフ番号が付与される。
図5を参照して、暗号文を生成し提供する送信装置等の情報処理装置、暗号文を受領して、暗号文を選択し復号する処理を実行する受信装置等の情報処理装置(階層木構造のリーフに設定される機器)の構成例について説明する。なお、本方式においてディスクなどの記録媒体に暗号文、鍵指定コードを格納して提供する場合は、送信装置はディスク書き込み装置もしくはディスク製造装置、受信機はディスク再生装置などの情報処理装置によって構成される。
一例としての情報処理装置は、図5に示すように、コントローラ301、演算ユニット302、入出力インタフェース303、セキュア記憶部304、メイン記憶部305、大容量記憶部306を備える。
コントローラ301は、例えばコンピュータ・プログラムに従ったデータ処理を実行する制御部としての機能を有するCPUによって構成される。演算ユニット302は、例えば暗号鍵の生成、乱数生成、及び暗号処理のための専用の演算機能を提供する。入出力インタフェース303は、キーボード、マウス等の入力手段からのデータ入力や、外部出力装置に対するデータ出力、ネットワークを介したデータ送受信処理に対応するインタフェースである。
セキュア記憶部304は、例えば暗号鍵としてのノードキー、各種IDなど、安全にまたは秘密に保持すべきデータを保存する記憶部である。メイン記憶部305は、例えばコントローラ301において実行するデータ処理プログラム、その他、一時記憶処理パラメータ、プログラム実行のためのワーク領域等に使用されるメモリ領域である。セキュア記憶部304及びメイン記憶部305は、例えばRAM、ROM等によって構成されるメモリである。大容量記憶部306は、ハードディスク、CD、DVD、MD等の大容量のデータ記録、読み出し可能な記憶部であり暗号化コンテンツなどを記録する。
なお、以下の説明においては、理解を容易にするため、暗号文を提供する情報処理装置を送信機、暗号文を受領する情報処理装置(リーフに対応付けられている)を受信機と称して説明する。ただし、ユーザに対する暗号文の提供は、前述したように、ネットワークを介して、あるいは情報記録媒体に格納して提供することができるものであり、暗号文提供側、受領側においてデータ送受信構成が必ずしも必要な構成ではない。
背景技術の欄において説明したように、本出願人は先に出願済みの特開2001−352322号公報において、例えば図4に示す木の各ノードにノードキーを割り当て、各受信機は自分が割り当てられたリーフ(葉)からルートまでのパス上のノードのノードキーを保持する構成としたブロードキャスト・エンクリプション方式を開示している。
この方式においては、各受信機が持つ鍵の数がlogN+1、同報通信される暗号文数の上限がrlog(N/r)各受信機が必要な計算量は1回の復号処理となる。すなわち、各受信機は、送信機から提供される複数の暗号文から、自装置(受信機)の有するノードキーによって復号可能な暗号文を1つ選択して、選択した暗号文の復号処理を行なう。
ただし、
N:ユーザ(受信機)の総数
r:情報の受信者として選択されない(リボークされる)受信機の数
である。
具体的には、例えば図6の構成を持つ2分木構成、すなわち、リボーク(排除)機器をリーフ14に対応する1つの情報処理装置とした場合は、
総受信機数N=8(No.8〜No.15)
リボーク受信機数r=1(No.14)
となり、
各受信機が持つ鍵の数は、logN+1=log8+1=4
同報通信される暗号文数の上限は、rlog(N/r)=3
となる。
すなわち、リボーク(排除)機器をリーフ14に対応する1つの情報処理装置とした場合には、以下の3つ(rlog(N/r)=3)の暗号文、
E(NK,Kc),E(NK,Kc),E(NK15,Kc)
を送信することが必要となる。
本発明では、上記の従来方式で、最大rlog(N/r)個の暗号文の送信を必要としていたものを、n=rlog(N/r)としたnマルチリニアマップを適用することにより、1つの鍵を導出し、その鍵で暗号化した1つの暗号文を送信するのみで、リボーク機器を除く暗号文復号許容受信機においてのみ復号可能な暗号文提供を可能とした。
システム管理者または暗号文提供者としての送信者はDiffie−Hellman inversion assumptionを満たすnマルチリニアマップを定め、受信機に公開する。
ここで、Diffie−Hellman inversion assumptionを満たすとは、gとg∈Gが与えられたときに、
e(g,・・・g)1/b∈G
を計算することが困難であることを言う。なお、gは、群Gの生成元である。
ただし、nは下記のいずれかの定め方で定める。
(I)総受信機数Nと、リボーク受信機数rの全ての組み合わせから必要なnマルチリニアマップの規定数nを決める。
(II)システムでリボーク受信機数rの上限Rを定め、そこから必要なnマルチリニアマップの規定数nを決める。
暗号鍵の生成処理に適用するnマルチリニアマップの規定数nの算出式は、
Diffie−Hellman inversion assumptionを満たすnマルチリニアマップを用いる場合、例えば、
Figure 0004561074
として設定できる。
ただし、
Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
rは、前記暗号文復号許容機器以外のリボーク(排除)機器数、
Figure 0004561074
は、rlog(N/r)以下の最大の整数である
いま、総受信機数N=16として、リボーク受信機数r=1からr=15までの各値に対する、従来方式における必要最大暗号分数rlog(N/r)の値を求めると下表のようになる。
Figure 0004561074
上述のように、この方式においては、各リボーク受信機数rに対し最悪でもrlog(N/r)個の暗号文を送信すればよいから、上表により、いかなるリボーク受信機数rに対しても最大8個の暗号文を送信すれば充分であり、最大暗号文数=8となる。
本発明では、複数個の暗号文を同報通信する代わりに、nマルチリニアマップ(n−multilinear map)を用いて作られた鍵に基づく1つの暗号文を送信する。
暗号文送信システムに対応して必要なnマルチリニアマップの規定数nの定め方には、上述の(I),(II)があるが、
方式(I)を適用した場合、受信機総数N未満のいずれのリボーク受信機数rにも対応できるように、n=8とする。
また、上記方式(II)を適用した場合には、システムで対応するリボーク受信機数rの上限Rをあらかじめ定める。たとえば、このシステムでは2台までの受信機のリボークに対応する、すなわちR=2とした場合、上表からr=2のときrlog(N/r)=6であるので、n=6と定める。
次に、各ノードi(ただしi=1,2,・・・,2N−1)について、
公開値g∈G
を定める。
はG中のランダムな要素をそれぞれ選んでもよいし、先に定めたマルチリニアマップから別の方法で定めてもよい。各gはノードとの対応とともに公開する。また、ランダムな値α∈[1,p−1]を定め、各iについて、
秘密鍵s=g α
を計算する。
ここでpは群Gの位数である。また受信機u(ただしm=1,・・・,N)に対して、受信機uが割り当てられた葉からルートに至るパス上のノードの秘密鍵sを鍵として秘密に与える。受信機は秘密鍵sを安全に保管する。また送信者は群Gの生成元gを選び公開する。
図4に示した例では、リーフNo.19の受信機uは秘密鍵s,s,s,s,s19を与えられる。
(2)暗号化および送信
送信者は総受信機数N個の受信機のうち、その通信において情報を復号させる受信機の集合、すなわち、情報復号許容受信機集合S⊆{1,・・・,n}を選択する。次に、情報復号許容受信機集合Sに含まれない、すなわちリボークする受信機に割り当てられたリーフ(葉)からルートまでのすべての枝、ノード、そのノードに接する枝を取り除く。すると、1つ以上の切り離された部分木が残るが、それぞれの部分木のルートの集合をKと置く。
図7に、図4のセッティングで受信機u,u11,u12の3台の受信機をリボークする場合の部分木を太線で示す。図に示すように、部分木のルートの集合K={5,7,9,12,16}となる。部分木は、図7に示す構成では、部分木131,132,133,134,135の5つの要素があり、各々は、通信において情報の復号を許容する受信機の集合S={16,18〜19,20〜23,24〜25,28〜30}をリーフとして構成した部分木である。
ここで、上記のnの定め方において方式(I)を採用した場合には、いかなるリボーク機器数rの値に対しても、また方式(II)を採用した場合には、r≦Rなるr、すなわち最大リボーク受信機数R以下のいかなるリボーク受信機数rに対しても、部分木のルートの集合Kの要素数、即ち|K|が高々nになる。|K|は、部分木ルート集合Kの要素数である。図7の構成において、|K|、すなわち、部分木ルート集合K={5,7,9,12,16}の要素数は5である。
そして、その通信におけるセッションキーKsを
Ks=(Φ,・・・,Φα∈G
として計算する。ただし、Φは下記のように定める。
(1)カウンタjを用意し、j=1とセットする。
(2)カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる。
(2a)もしi∈Kならば、Φ=gとセットし、jを1増やして次のiの処理に移る。
(3)もしj≦nならば、j≦nの間、下記の処理を繰り返す。
(3a)Φ=gとセットし、jを1増やす。
上記の処理は、nマルチリニアマップeの入力として、部分木ルート集合Kに含まれるiについてgを使用し、それ以外のn−|K|個の入力についてはg(ダミー)を用い、最後にnマルチリニアマップの出力を(G上で)α乗するものである。|K|は、部分木ルート集合Kの要素数である。
図7のセッティングでn=8の場合、セッションキーKsは、
Ks=(g,g,g,g12,g16,g,g,g)α
となる。
送信者は、送信すべき情報をセッションキーKsを用いて暗号化して、セッションキーKsを作るのに用いられたノードの集合Kを表す情報(たとえば、ノード番号のリスト)とともに同報通信路で受信機に送信する。また、部分木ルート集合Kを表す情報は、背景技術の欄で説明した鍵指定コード等のタグ情報を用いて表してもよい。さらに、情報の暗号化は、セッションキーKsをそのまま使ってもよいし、たとえばセッションキーKsをSHA−1や、MD5等のハッシュ関数に入力して所望のサイズに変換した値を用いてもよい。
たとえば放送アプリケーションの場合には、その通信における情報復号許容受信機集合Sを表す情報を送信した後に放送コンテンツをセッションキーKsで暗号化して送信してもよいし、情報復号許容受信機集合Sを表す情報と、セッションキーKsを用いてコンテンツキーKcを暗号化した暗号文を送信した後に、セッションキーKsで暗号化されたコンテンツを送信してもよい。CDなどの記録メディアのアプリケーションの場合には、放送アプリケーションにおいて放送していた情報をディスクに記録して配布すればよい。
(3)受信および復号
受信機uは、同報通信路から送信された情報を受信し、自分がその通信において情報を復号させる受信機の集合、すなわち情報復号許容受信機集合Sに含まれるかどうかを調べる。
これは、自身が秘密鍵を持つノード(自分が割り当てられた葉からルートまでのパス上のノード)が部分木ルート集合Kに含まれるかどうかを調べることにより実行可能である。もし自分が情報復号許容受信機集合Sに含まれなければ、その通信を復号できないので処理を終了する。自分が情報復号許容受信機集合Sに含まれていれば、下記の処理によりセッションキーKsを求め、これを用いて送信された情報を復号する。もし受信機uが情報復号許容受信機集合Sに含まれていれば、部分木ルート集合Kに含まれるノードのうちのただ1つが、uが秘密鍵を保持しているノードの1つとなる。このノードをIとする。
1.カウンタjを用意し、j=1とセットする。
2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる。
(a)もしi∈Kならば、iとIが一致するかどうかを調べる。
i.もしi=Iならば、Φ=sとセットし、jを1増やして次のiの処理に移る。
ii.もしi≠Iならば、Φ=gとセットし、jを1増やして次のiの処理に移る。
3.もしj≦nならば、j≦nの間下記の処理を繰り返す。
(a)Φ=gとセットし、jを1増やす。
4.Ks=(φ,・・・,φ)を求める。
たとえば図7のセッティングで、受信機uはノード9の秘密鍵s=g αを所持しているので、
Ks=(g,g,s,g12,g16,g,g,g)
によりセッションキーKsを求める。
上記の構成とすることにより、nマルチリニアマップを用いてブロードキャスト・エンクリプション方式を構成可能となる。
本実施例の方式で同報通信される暗号文は1つであり、各受信機が安全に保持する鍵の数はlogN+1個である。また、nはrlog(N/r)を上限として定めることができる。関数の実行量は入力要素数に依存する。上述の論文で提案されている方式は、入力要素数n=Nであったためこのマッピングに要する計算量が大きくなると予想されるが、本発明では入力要素数を小さくすることでこの計算量を削減している。
上述した処理例、すなわち、Diffie−Hellman inversion assumptionを満たすマルチリニアマップ(multilinear map)が存在するという前提の下で、マルチリニアマップを用いた鍵配信技術に階層木構造を組み合わせることによって、各受信機が必要とする計算量を削減させることを可能とした構成例において、暗号文を生成し、提供する情報処理装置において実行する処理シーケンスと、暗号文を受領して復号処理を行なうリーフ対応の例えば受信機等の情報処理装置における処理シーケンスについてフローチャートを参照して説明する。
まず、図8を参照して、暗号文を生成し、提供する情報処理装置において実行する処理シーケンスについて説明する。
暗号文送信側の情報処理装置は、まず、ステップS101において、N個の受信機のうち、その通信において情報を復号させる受信機の集合S⊆{1,・・・,n}を選択する。
ステップS102において、リボーク機器を除く情報を復号させる受信機の集合Sに基づいて決定される部分木のルートの集合Kを決定する。例えば図7の構成においては、部分木のルートの集合K={5,7,9,12,16}となる。
ステップS103において、セッションキーKsを設定する。セッションキーKsを
Ks=(Φ,・・・,Φα∈G
として計算する。
セッションキーKsの具体的計算例を、図9に示す。この図9に示す処理は、前述したとおり、
Ks=(Φ,・・・,Φα∈G
として計算する。ただし、Φは下記のように定める。
(1)カウンタjを用意し、j=1とセットする。
(2)カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる。
(2a)もしi∈Kならば、Φ=gとセットし、jを1増やして次のiの処理に移る。
(3)もしj≦nならば、j≦nの間、下記の処理を繰り返す。
(3a)Φ=gとセットし、jを1増やす。
上記の処理は、マップeの入力として、Kに含まれるiについてgを使用し、それ以外のn−|K|個の入力についてはgを用い、最後にマップの出力を(G上で)α乗するものである。
ステップS104において、
セッションキーKsによってコンテンツキーKcを暗号化し、暗号化コンテンツキー
Enc(Ks,Kc)
を算出する。
ステップS105において、
a.部分木のルート集合Kを示す情報(たとえば、ノード番号のリスト)
b.暗号化コンテンツキーEnc(Ks,Kc)
c.暗号化コンテンツEnc(Kc,Con)
を通信路を介して送信する。あるいは情報記録媒体に書き込み、提供する。
情報記録媒体に格納した情報例を図10に示す。情報記録媒体400は、例えばCD、DVD等の情報記録媒体である。ここに、
部分木のルート集合Kを示す情報(たとえば、ノード番号のリスト)401
暗号化コンテンツキーEnc(Ks,Kc)402
暗号化コンテンツEnc(Kc,Con)403
を格納し、提供する。
階層木構造のリーフに対応するユーザ機器としての情報処理装置は、いずれも同報通信路あるいは情報記録媒体を介して、これらの情報を受領することが可能である。しかし、その通信において情報を復号させる受信機の集合Sに含まれる機器のみが暗号文Enc(Ks,Kc)402に適用したセッションキーKsを自己の保有鍵として保持しており、リポーク機器は、暗号文Enc(Ks,Kc)402に適用したセッションキーKsを保有していないので、受信機の集合Sに含まれる機器のみが暗号文Enc(Ks,Kc)402を復号してコンテンツキーKcを取得し、取得したコンテンツキーKcに基づいて暗号化コンテンツEnc(Kc,Con)403を復号してコンテンツ(Con)を取得できる。
図11を参照して、
a.部分木のルート集合Kを示す情報(たとえば、ノード番号のリスト)
b.暗号化コンテンツキーEnc(Ks,Kc)
c.暗号化コンテンツEnc(Kc,Con)
上記a〜cの各情報を受領したユーザ機器としての情報処理装置における処理手順について説明する。
まず、ステップS201において、部分木のルート集合Kを示す情報(たとえば、ノード番号のリスト)を読み出す。
ステップS202において、自身の装置が、その通信において情報を復号させる受信機の集合、すなわち情報復号許容受信機集合Sに含まれるか否かを判定する。これは、自身が秘密鍵を持つノード(自分が割り当てられた葉からルートまでのパス上のノード)が部分木のルート集合Kに含まれるかどうかを調べることにより実行可能である。もし、情報復号許容受信機集合Sに含まれなければ、その通信を復号できないので処理を終了する。
自分が情報復号許容受信機集合Sに含まれていれば、ステップS203に進み、セッションキーKsを導出する。
セッションキーKsの具体的計算例を、図12に示す。この図12に示す処理は、前述したとおり、以下の処理である。
1.カウンタjを用意し、j=1とセットする。
2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる。
(a)もしi∈Kならば、iとIが一致するかどうかを調べる。
i.もしi=Iならば、Φ=sとセットし、jを1増やして次のiの処理に移る。
ii.もしi≠Iならば、Φ=gとセットし、jを1増やして次のiの処理に移る。
3.もしj≦nならばj≦nの間下記の処理を繰り返す。
(a)Φ=gとセットし、jを1増やす。
4.Ks=(φ,・・・,φ)を求める。
ステップS204において、セッションキーKsを適用して暗号文Enc(Ks,Kc)を復号してコンテンツキーKcを取得し、取得したコンテンツキーKcに基づいて暗号化コンテンツEnc(Kc,Con)を復号してコンテンツ(Con)を取得する。
(b)n=2とした暗号学的な2マルチリニアマップを用いたブロードキャスト・エンクリプション方式
上述の実施例においては、任意のn(n>1)に対する暗号学的なnマルチリニアマップ(n−multilinear map)が存在することを前提としているが、以下、既に実証されているn=2とした暗号学的なnマルチリニアマップ、すなわち2マルチリニアマップにおける具体例を説明する。なお、n=2とした暗号学的なnマルチリニアマップについては、D.Boneh and M.Franklin著の論文"Identity−Based Encryption from the Weil Paring"(この論文は、著者の一人であるProf.Bonehが管理するウェブサイトにhttp://crypto.stanford.edu/~dabo./papers/ibe.pdfとして掲載されている)
前述したように、本出願人は、特開2001−352322号公報において、図4に示す木の各ノードにノードキーを割り当て、各受信機は自分が割り当てられたリーフ(葉)からルートまでのパス上のノードのノードキーを保持する構成としたブロードキャスト・エンクリプション方式を開示している。
従来方式においては、各受信機が持つ鍵の数がlogN+1、同報通信される暗号文数の上限がrlog(N/r)各受信機が必要な計算量は1回の復号処理である。
ただし、
ただし、N:ユーザ(受信機)の総数
r:情報の受信者として選択されない(リボークされる)受信機の数
である。
このような階層木構造の暗号文配信システムでは、リボーク機器数rに応じて、最大nlog(N/r)個の暗号文をすることになるが、2マルチリニアマップを適用することで、最大の暗号文数を、
Figure 0004561074
とすることができる。
以下において説明するブロードキャスト・エンクリプション方式について、上述の任意のnを適用した処理例と同様、
(1)セットアップ、
(2)暗号化および送信、
(3)受信および復号、
の3つのフェーズに区分して説明する。セットアップフェーズは、システムの立ち上げ時に1度だけ行う。暗号化および送信、受信および復号の各フェーズは、情報の送信を行うたびに繰り返す。
ブロードキャスト・エンクリプション方式を構成するエンティティとして、暗号文の生成および提供処理を行なう情報処理装置としての送信者(送信機)と、暗号文の受領および復号処理を行なう情報処理装置としてのユーザデバイス等の受信機あるいは受信者(ユーザ)であり、暗号文の受領および復号処理を行なう情報処理装置またはユーザの総数をNとする。また、システムを管理する管理センタを設ける。上記(1)セットアップ処理は、送信者あるいは管理センタが実行する。
簡単のため、暗号文を受領する情報処理装置またはユーザの総数:Nは2のべき乗の数とする。実際のNが2のべき乗でない場合は、Nより大きな最小の2のべき乗の数をNとして用いても構わない。
(1)セットアップ
以下、暗号文の生成および提供処理を行なうエンティティまたは情報処理装置を送信者または送信機とし、暗号文を受領するエンティティまたは情報処理装置を受信者または受信機として説明する。セットアップ処理は、送信者側、あるいはシステム管理者によって実行されるが、以下では、送信者においてセットアップ処理を行うものとして説明する。
送信者は、Diffie−Hellman inversion assumptionを満たす2マルチリニアマップ(2−multilinear map)を定め、受信機に公開する。
ここで、Diffie−Hellman inversion assumptionを満たすとは、gとg∈Gが与えられたときに、
e(g,・・・g)1/b∈G
を計算することが困難であることを言う。なお、gは、群Gの生成元である。
各ノードi(ただしi=1,2,・・・,2N−1)について、
公開値g∈G
を定める。
はG中のランダムな要素をそれぞれ選んでもよいし、先に定めたマルチリニアマップから別の方法で定めてもよい。各gはノードとの対応とともに公開する。また、ランダムな値α∈[1,p−1]を定め、各iについて、
秘密鍵s=g α
を計算する。
ここでpは群Gの位数である。また受信機u(ただしm=1,・・・,N)に対して、uが割り当てられた葉からルートに至るパス上のノードの秘密鍵sを鍵として秘密に与える。受信機は秘密鍵sを安全に保管する。送信者は群Gの生成元gを選択し公開する。
図4に示した例では、受信機uは秘密鍵s,s,s,s,s19を与えられる。
(2)暗号化および送信
送信者はN個の受信機のうち、その通信において情報を復号させる受信機の集合S⊆{1,・・・,n}を選択する。次に、情報復号許容受信機集合Sに含まれない、すなわちリボークするレシーバに割り当てられたリーフ(葉)からルートまでのすべての枝、ノード、そのノードに接する枝を取り除く。すると、1つ以上の切り離された部分木が残るが、それぞれの部分木のルートの集合をKと置く。
次に、部分木ルート集合Kの要素をその番号iの順に、2つずつ、
Figure 0004561074
個のサブグループSGに分割する。
ただし、
Figure 0004561074
である。
なお、
|K|は、部分木ルート集合Kの要素数を示し、
Figure 0004561074
は、|K|/2以上である最小の整数を表す。
ただし、最後のサブグループ
Figure 0004561074
に部分木のルートの集合Kの要素が1つしか入らない場合には、ノード番号2Nのダミーノードの存在を仮定し、このダミーノードがこのサブグループのもう1つの要素となる。
上述の例と同様、図4に示す2分木構成、すなわち、各受信機が1つずつ各リーフ(葉)に割り当てられ受信者数N=16である2分木構成を想定し、図7に示すように、図4のセッティングでu,u11,u12の3台の受信機をリボークする場合の処理について説明する。
図7に示すように、部分木のルートの集合K={5,7,9,12,16}となる。この場合、サブグループは、
SG={5,7}
SG={9,12}
SG={16,32}
となる。
そして、その通信におけるサブグループSG用のサブグループキーKSGkを、
SGk=e(Φj1,Φj2α∈G
として定める。
なお、Φj1,Φj2はサブグループSGの要素であるノードj,j(j<jとする)に対応する公開鍵gj1およびgj2である。
ただし、jがKの要素ではない。すなわちダミーノードである場合には、
Φj2=gとする。
上記の例では、各サブグループキーKSGkは、下記のように設定される。
SG1=e(g,gα
SG2=e(g,g12α
SG3=e(g16,g)α
である。
次に、その通信における全体のセッションキーKsをランダムに定める。セッションキーKsは通信の内容(たとえば映画などのコンテンツ)を暗号化するための鍵であり、たとえば暗号化アルゴリズムに米国標準のAESの128bit版を用いる際には、セッションキーKsは128bitとなる。
次に、個々のサブグループキーを用いてセッションキーKsを暗号化した暗号文
Figure 0004561074
を、暗号文
CT=E(H(KSGk),Ks)として設定する。
ただし、E(A,B)は鍵Aを用いた平文Bの暗号化を示す。
暗号化アルゴリズムとしてはたとえば米国標準のAESの128bit版を用いる。関数Hは、Gの任意の要素を、使用する暗号化アルゴリズムの鍵長(たとえば128bit)に縮約するハッシュ関数である。暗号化アルゴリズムEとハッシュ関数Hはシステムであらかじめ定めてあり(送信者が定めてもよい)、公開されている。
送信者は、送信すべき情報をセッションキーKを用いて暗号化して、部分木のルートの集合Kを表す情報(たとえば、ノード番号のリスト)と、上記の暗号文、
Figure 0004561074
とを、ともに同報通信路で受信機に送信する。
たとえば放送アプリケーションの場合には、部分木のルートの集合Kを表す情報を送信した後に、暗号文、
Figure 0004561074
を送信し、その後に放送コンテンツをセッションキーKsで暗号化して送信してもよい。
あるいは、通信において情報を復号させる受信機の集合Sを表す情報と、暗号文
Figure 0004561074
と、セッションキーKsで暗号化したコンテンツキーKcを送信した後に、コンテンツキーKcで暗号化されたコンテンツを送信してもよい。CDなどの記録メディアのアプリケーションの場合には、放送アプリケーションにおいて放送していた情報をディスクに記録して配布すればよい。
(3)受信および復号
受信機uは、同報通信路から送信された情報を受信し、自分がその通信において情報を復号させる受信機の集合Sに含まれるかどうかを調べる。これは、自身が秘密鍵を持つノード(自分が割り当てられた葉からルートまでのパス上のノード)がKに含まれるかどうかを調べることにより行える。
もし自分が情報復号許容受信機集合Sに含まれなければ、その通信を復号できないので処理を終了する。自分が情報復号許容受信機集合Sに含まれていれば、自分がどのサブグループの暗号文を復号すべきかを調べる。これは、部分木ルート集合Kの要素を2つずつ区切ったときの何番目に、自分が秘密鍵を持つノードが入るかを探すことで求められる。そして、受信機uは、自分が所有する秘密鍵に対応するサブグループSGのサブグループキーを下記のようにして求める。
SGk=e(s,Φ)∈G (i<jの場合)
SGk=e(Φ,s)∈G (i>jの場合)
ここで、sは、サブグループSGの要素のうち、受信機uが秘密鍵を持つノードiに対応する秘密鍵であり、Φは、iではないほうのノードjに対応する公開情報gである。ただし、jが部分木のルートの集合Kの要素ではない、すなわちダミーノードである場合には、Φ=gとする。
たとえば上記の例で受信機uはノードgの秘密鍵s=g αを所持しているので、
SG2=e(s,Φ12
としてサブグループSGのサブグループキーKSG2を求めることができる。
次に、受信機uは、上で求めたサブグループキーKSGkからハッシュ値H(KSGk)を計算し、これを用いて暗号文CTkを復号してセッションキーKsを求め、これを用いて送信された情報を復号する。
上記のような構成とすることにより、2マルチリニアマップを用いてN個の受信機に鍵(セッションキーKs)を安全に配信できるシステムを構成することが可能となる。上記構成では受信機が安全に保管しなければならない鍵は1つ(x)だけであり、たとえばセッションキーKsを直接コンテンツの暗号化に用いる場合などにおいて、鍵配信のために同報通信されるメッセージの個数は、
Figure 0004561074
となる。
なお、リボークする受信機数をrとしたときに、部分木ルート集合Kの要素数|K|の最大値はrlog(N/r)であることがわかっている。
上記は2マルチリニアマップを用いる方法について詳しく述べたが、この方式は、前述したように、任意の整数n>1に対するnマルチリニアマップを用いる方式にそのまま拡張可能である。nが大きくなると、受信機が保管する鍵数は1のままであるのに対し、同報通信されるメッセージ数が、
Figure 0004561074
となり、上記のn=2の場合に比べてこの面での効率がよくなる。
(変形例)
上述した実施例においては、最後のサブグループ
Figure 0004561074
に部分木ルート集合Kの要素が1つしか入らない場合には、ノード番号2Nのダミーノードを利用していたが、変形例としてはそのサブグループにKの要素が1つしか入らない場合には、そのノードiの秘密鍵sを用いて、セッションキーを暗号化してもよい。
すなわち、暗号文を
Figure 0004561074
として設定してもよい。ここで、H'は、Gの任意の要素を、使用する暗号化アルゴリズムの鍵長(たとえば128bit)に縮約するハッシュ関数であり、公開されているものとする。
上述した処理例、すなわち、Diffie−Hellman inversion assumptionを満たす2マルチリニアマップを用いた鍵配信技術に階層木構造を組み合わせることによって、各受信機が必要とする計算量を削減させることを可能とした構成例において、暗号文を生成し、提供する情報処理装置において実行する処理シーケンスと、暗号文を受領して復号処理を行なうリーフ対応の例えば受信機等の情報処理装置における処理シーケンスについてフローチャートを参照して説明する。
まず、図13を参照して、暗号文を生成し、提供する情報処理装置において実行する処理シーケンスについて説明する。
暗号文送信側の情報処理装置は、まず、ステップS301において、N個の受信機のうち、その通信において情報を復号させる受信機の集合S⊆{1,・・・,n}を選択する。
ステップS302において、リボーク機器を除く情報を復号させる受信機の集合Sに基づいて決定される部分木のルートの集合Kを決定する。例えば図7の構成においては、部分木のルートの集合K={5,7,9,12,16}となる。
ステップS303において、サブグループSG用のサブグループキーKSGkを、
SGk=e(Φj1,Φj2α∈G
として定める。
ステップS304において、その通信における全体のセッションキーKsをランダムに定める。セッションキーKsは通信の内容(たとえば映画などのコンテンツ)を暗号化するための鍵であり、たとえば暗号化アルゴリズムに米国標準のAESの128bit版を用いる際には、セッションキーKsは128bitとなる。
次に、ステップS305において、個々のサブグループキーを用いてセッションキーKsを暗号化した暗号文
CT=E(H(KSGk),Ks)を導出する。
次にステップS306において、セッションキーKsによってコンテンツキーKcを暗号化し、暗号化コンテンツキー
Enc(Ks,Kc)
を算出する。
ステップS307において、
a.部分木のルート集合Kを示す情報(たとえば、ノード番号のリスト)
b.個々のサブグループキーを用いてセッションキーKsを暗号化した暗号文CT=E(H(KSGk),Ks)
c.暗号化コンテンツキーEnc(Ks,Kc)
d.暗号化コンテンツEnc(Kc,Con)
を通信路を介して送信する。あるいは情報記録媒体に書き込み、提供する。
情報記録媒体に格納した情報例を図14に示す。情報記録媒体500は、例えばCD、DVD等の情報記録媒体である。ここに、
部分木のルート集合Kを示す情報(たとえば、ノード番号のリスト)501
個々のサブグループキーを用いてセッションキーKsを暗号化した暗号文CT=E(H(KSGk),Ks)502
暗号化コンテンツキーEnc(Ks,Kc)503
暗号化コンテンツEnc(Kc,Con)504
を格納し、提供する。
階層木構造のリーフに対応するユーザ機器としての情報処理装置は、いずれも同報通信路あるいは情報記録媒体を介して、これらの情報を受領することが可能である。しかし、その通信において情報を復号させる受信機の集合Sに含まれる機器のみが、個々のサブグループキーを用いてセッションキーKsを暗号化した暗号文CT=E(H(KSGk),Ks)502に適用したサブグループキーを導出するための秘密キーを自己の保有鍵として保持しており、リボーク機器は、暗号文CT=E(H(KSGk),Ks)502に適用したサブグループキーを導出するための秘密キーを保有していないので、受信機の集合Sに含まれる機器のみが暗号文CT=E(H(KSGk),Ks)502を復号してセッションキーKsを取得し、さらに、取得したセッションキーKsにより、暗号化コンテンツキーEnc(Ks,Kc)を復号してコンテンツキーKcを取得し、取得したコンテンツキーKcに基づいて暗号化コンテンツEnc(Kc,Con)504を復号してコンテンツ(Con)を取得できる。
図15を参照して、
a.部分木のルート集合Kを示す情報(たとえば、ノード番号のリスト)
b.個々のサブグループキーを用いてセッションキーKsを暗号化した暗号文CT=E(H(KSGk),Ks)
c.暗号化コンテンツキーEnc(Ks,Kc)
d.暗号化コンテンツEnc(Kc,Con)
上記a〜dの各情報を受領したユーザ機器としての情報処理装置における処理手順について説明する。
まず、ステップS401において、部分木のルート集合Kを示す情報(たとえば、ノード番号のリスト)を読み出す。
ステップS402において、自身の装置が、その通信において情報を復号させる受信機の集合、すなわち情報復号許容受信機集合Sに含まれるか否かを判定する。これは、自身が秘密鍵を持つノード(自分が割り当てられた葉からルートまでのパス上のノード)が部分木のルート集合Kに含まれるかどうかを調べることにより実行可能である。もし、情報復号許容受信機集合Sに含まれなければ、その通信を復号できないので処理を終了する。
自分が情報復号許容受信機集合Sに含まれていれば、ステップS403に進み、自分が所有する秘密鍵に対応するサブグループSGのサブグループキーを前述したように、下記のようにして求める。
SGk=e(s,Φ)∈G (i<jの場合)
SGk=e(Φ,s)∈G (i>jの場合)
次に、ステップS404において、サブグループキーKSGkからハッシュ値H(KSGk)を計算し、これを用いてセッションキーの暗号化データである暗号文CT=E(H(KSGk),Ks)を復号してセッションキーKsを求める。
ステップS405において、セッションキーKsを適用して暗号文Enc(Ks,Kc)を復号してコンテンツキーKcを取得し、ステップS406において、取得したコンテンツキーKcに基づいて暗号化コンテンツEnc(Kc,Con)を復号してコンテンツ(Con)を取得する。
以下、本発明の第2実施例について説明する。実施例2は、generalized Diffie−Hellman assumptionを満たすマルチリニアマップ(multilinear map)が存在するという前提の下で、マルチリニアマップを用いた鍵配信技術に階層木構造を組み合わせることによって、各受信機が必要とする計算量を削減させることを可能とした実施例である。
本実施例の説明においても上述の実施例1と同様、以下の(a)(b)の態様別に、順に具体的な暗号文配信構成について説明する。
(a)任意数n(n>1)について暗号学的なnマルチリニアマップが存在すると仮定し、そのようなマップであるnマルチリニアマップeを用いたブロードキャスト・エンクリプション方式
(b)n=2とした暗号学的な2マルチリニアマップを用いたブロードキャスト・エンクリプション方式
(a)任意数n(n>1)のnマルチリニアマップeを用いたブロードキャスト・エンクリプション方式
まず、任意数n(n>1)を設定したnマルチリニアマップeを用いたブロードキャスト・エンクリプション方式について説明する。
以下、本実施例2におけるブロードキャスト・エンクリプション方式について、上述の実施例1と同様、
(1)セットアップ、
(2)暗号化および送信、
(3)受信および復号、
の3つのフェーズに区分して説明する。
セットアップフェーズは、システムの立ち上げ時に1度だけ行う。暗号化および送信、受信および復号の各フェーズは、情報の送信を行うたびに繰り返す。
ブロードキャスト・エンクリプション方式を構成するエンティティとして、暗号文の生成および提供処理を行なう情報処理装置としての送信者(送信機)と、暗号文の受領および復号処理を行なう情報処理装置としてのユーザデバイス等の受信機あるいは受信者(ユーザ)であり、暗号文の受領および復号処理を行なう情報処理装置またはユーザの総数をNとする。また、システムを管理する管理センタを設ける。上記(1)セットアップ処理は、送信者あるいは管理センタが実行する。
簡単のため、暗号文を受領する情報処理装置またはユーザの総数:Nは2のべき乗の数とする。実際のNが2のべき乗でない場合は、Nより大きな最小の2のべき乗の数をNとして用いても構わない。
(1)セットアップ
以下、暗号文の生成および提供処理を行なうエンティティまたは情報処理装置を送信者または送信機とし、暗号文を受領するエンティティまたは情報処理装置を受信者または受信機として説明する。セットアップ処理は、送信者側、あるいはシステム管理者によって実行されるが、以下では、送信者においてセットアップ処理を行うものとして説明する。
送信者は、実施例1と同様に、リーフ(葉)の数がNである2分木を定義し、各ノードiに番号を付与する。受信機は1つずつ各リーフ(葉)に割り当てる。
送信者はgeneralized Diffie−Hellman assumptionを満たすnマルチリニアマップ(n−multilinear map)を定め、受信機に公開する。ただし、nは総受信機数Nに対し、n=N−1と定める。
ここで、generalized Diffie−Hellman assumptionを満たすとは、
Figure 0004561074
と、
n個の受信機{1,・・・,n}のうちの部分集合、情報復号許容受信機集合S⊂{1,・・・,n}に対する
Figure 0004561074
が与えられたときに、
Figure 0004561074
を求めることが困難であることを言う。ここでgは群Gの生成元である。
ただし、nは、実施例1の方法で求めたものマイナス1とする。実施例1においては、nは下記のいずれかの定め方で定めていた。
(I)総受信機数Nと、リボーク受信機数rの全ての組み合わせから必要なnを決める。
(II)システムでリボーク受信機数rの上限Rを定め、そこから必要なnを決める。
暗号鍵の生成処理に適用するnマルチリニアマップの規定数nの算出式は、
generalized Diffie−Hellman assumptionを満たすnマルチリニアマップを用いる場合、例えば、
Figure 0004561074
として設定可能である。
ただし、
Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
rは、前記暗号文復号許容機器以外のリボーク(排除)機器数、
Figure 0004561074
は、rlog(N/r)以下の最大の整数である。
実施例2においては、例えば実施例1と同様にN=16のとき、実施例1の(I)の方法をとった場合にはn=8としたが、実施例2ではn=7とする。同様に(II)の方法をとった場合には実施例1ではn=6としたが、本実施例ではn=5とする。
次に、i=1,2,・・・,2N+n−1の各iに対し、ランダムな値xi∈[1,p−1]を選び、それぞれに対し、
Figure 0004561074
を計算する。ここでpは群Gの位数であり、gはGの生成元である。各hを公開する。
受信機uには、それが割り当てられた葉からルートに至るまでのパス上の各ノードjに対応するlogN+1個のxを与える。受信機はxを安全に保管する。
いま、図4のセッティングで、N=16であり、n=7と決めたとする。すると、2N+n−1=38なので、送信者はx,・・・,x38とh,・・・,h38を用意してhを公開する。例えば、受信機uには、ノード1,2,4,9,19に対応するx,x,x,x,x19を与える。
(2)暗号化および送信
送信者はN個の受信機のうち、その通信において情報を復号させる受信機の集合、すなわち、情報復号許容受信機集合S⊆{1,・・・,n}を選択する。次に、情報復号許容受信機集合Sに含まれない、すなわちリボークするレシーバに割り当てられたリーフ(葉)からルートまでのすべての枝、ノード、そのノードに接する枝を取り除く。
すると、1つ以上の切り離された部分木が残るが、それぞれの部分木のルートの集合をKと置く。図7に、図4のセッティングでu,u11,u12の3台の受信機をリボークする場合の部分木を示す。
図7に示すように、部分木ルート集合K={5,7,9,12,16}となる。ここで、上記のnの定め方において(I)を採用した場合には、いかなるリボーク受信機数rの値に対しても、また(II)を採用した場合には、r≦Rなるr、すなわち最大リボーク受信機数R以下のいかなるリボーク受信機数rに対しても、部分木のルートの集合Kの要素数|K|が高々n+1になる。rは情報の受信者として選択されない(リボークされる)受信機の数である。Rは、システム上のリボーク数rの最大値である。
階層木構造を適用した通信におけるセッションキーKsを下記のようにして導出し、それを用いて情報を暗号化して、Kを表す情報とともに同報送信する。
Figure 0004561074
ここで、部分木ルート集合Kの要素数|K|=n+1の場合には、上式のx2N2N+1・・・x2N+n−|K|の部分は使用されない点に注意されたい。
図7のセッティングでn=7の場合、
Figure 0004561074
となる。
また、Kを表す情報は、背景技術の欄で説明した鍵指定コード等のタグ情報を用いて表してもよい。さらに、情報の暗号化は、セッションキーKsをそのまま使ってもよいし、たとえばセッションキーKsをSHA−1や、MD5等のハッシュ関数に入力して所望のサイズに変換した値を用いてもよい。
たとえば放送アプリケーションの場合には、情報復号許容受信機集合Sを表す情報を送信した後に放送コンテンツをセッションキーKsで暗号化して送信してもよいし、情報復号許容受信機集合Sを表す情報と、セッションキーKsを用いてコンテンツキーKcを暗号化した暗号文を送信した後に、セッションキーKsで暗号化されたコンテンツを送信してもよい。CDなどの記録メディアのアプリケーションの場合には、放送アプリケーションにおいて放送していた情報をディスクに記録して配布すればよい。
ところで、送信者がセッションキーKsを導出する際には、別の方法を用いてもよい。すなわち、i∈Kである部分木ルート集合Kの要素数|K|個のiをピックアップし、さらに2Nから2N+n−|K|までのn+1−|K|個のiをピックアップする。ピックアップされた全部でn+1個のiのうちのn個に対応するhをそれぞれ入力としてマップeの出力を求め、その出力に対し残ったひとつのiに対するx乗(G上で)を行うことにより上記と等しいKsを求めることができる。なお、この求め方は、後述の、受信機uがKsを求める方法と同様である。
(3)受信および復号
受信機uは、同報通信路から送信された情報を受信し、自分がその通信において情報を復号させる受信機の集合、すなわち情報復号許容受信機集合Sに含まれるかどうかを調べる。これは、自身が秘密鍵を持つノード(自分が割り当てられた葉からルートまでのパス上のノード)がKに含まれるかどうかを調べることにより行える。もし自分が情報復号許容受信機集合Sに含まれなければ、その通信を復号できないので処理を終了する。自分が情報復号許容受信機集合Sに含まれていれば、下記の処理によりセッションキーKsを求め、これを用いて送信された情報を復号する。もし受信機uが情報復号許容受信機集合Sに含まれていれば、Kに含まれるノードのうちのただ1つが、uが秘密鍵を保持しているノードの1つとなる。このノードをIとする。
1.カウンタj,lを用意し、j=1,l=2Nとセットする。
2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる。
(a)もしi∈Kかつi≠IならばΦ=hとセットし、jを1増やして次のiの処理に移る。
3.もしj≦nならばj≦nの間、下記の処理を繰り返す。
(a)Φ=hとセットし、lを1増やし、jを1増やす。
4.以下のセッションキーKsを求める。
Figure 0004561074
たとえば図7のセッティングで、受信機uはノード9の秘密鍵xを所持しているので、下式、
Figure 0004561074
によりKsを求める。
上記の構成とすることにより、実施例1と同様、nマルチリニアマップを用いてブロードキャスト・エンクリプション方式を構成可能となる。
本実施例の方式で同報通信される暗号文は1つであり、各受信機が安全に保持する鍵の数はlogN+1個である。また、nはrlog(N/r)−1を上限として定めることができる。関数の実行量は入力要素数に依存する。上述の論文で提案されている方式は、入力要素数n=Nであったためこのマッピングに要する計算量が大きくなると予想されるが、本発明では入力要素数を小さくすることでこの計算量を削減している。
上述した処理例、すなわち、generalized Diffie−Hellman assumptionを満たすマルチリニアマップ(multilinear map)が存在するという前提の下で、マルチリニアマップを用いた鍵配信技術に階層木構造を組み合わせることによって、各受信機が必要とする計算量を削減させることを可能とした構成例において、暗号文を生成し、提供する情報処理装置において実行する処理シーケンスと、暗号文を受領して復号処理を行なうリーフ対応の例えば受信機等の情報処理装置における処理シーケンスは、実施例1において図8を参照して説明した暗号文送信側シーケンスと、図11を参照して説明した暗号文受信側シーケンスと同様のものとなる。
ただし、実施例2においては、暗号文送信側の処理におけるセッションキーKsの算出処理、および、暗号文受信側の処理におけるセッションキーKsの算出処理が異なるものとなる。
すなわち、図8におけるステップS103におけるセッションキーKsは、図16に示す算出処理、すなわち、前述したように、
Figure 0004561074
によって算出する。
一方、暗号文受信側の処理におけるセッションキーKsの算出処理、すなわち、図11におけるステップS203におけるセッションキーKsは、図17に示す算出処理、すなわち、前述したように、以下の処理プロセスに従って、セッションキーKsを求める。
1.カウンタj,lを用意し、j=1,l=2Nとセットする。
2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる。
(a)もしi∈Kかつi≠IならばΦ=hとセットし、jを1増やして次のiの処理に移る。
3.もしj≦nならばj≦nの間、下記の処理を繰り返す。
(a)Φ=hとセットし、lを1増やし、jを1増やす。
4.以下のセッションキーKsを求める。
Figure 0004561074
(b)n=2とした暗号学的な2マルチリニアマップを用いたブロードキャスト・エンクリプション方式
上述の実施例においては、任意のn(n>1)に対する暗号学的なnマルチリニアマップ(n−multilinear map)が存在することを前提としているが、以下、既に実証されているn=2とした暗号学的なnマルチリニアマップ、すなわち2マルチリニアマップにおける具体例を説明する。なお、n=2とした暗号学的なnマルチリニアマップについては、D.Boneh and M.Franklin著の論文"Identity−Based Encryption from the Weil Paring"(この論文は、著者の一人であるProf.Bonehが管理するウェブサイトにhttp://crypto.stanford.edu/~dabo./papers/ibe.pdfとして掲載されている)
以下、n=2とした2マルチリニアマップを適用したブロードキャスト・エンクリプション方式について、上述の例と同様、
(1)セットアップ、
(2)暗号化および送信、
(3)受信および復号、
の3つのフェーズに区分して説明する。
セットアップフェーズは、システムの立ち上げ時に1度だけ行う。暗号化および送信、受信および復号の各フェーズは、情報の送信を行うたびに繰り返す。
ブロードキャスト・エンクリプション方式を構成するエンティティとして、暗号文の生成および提供処理を行なう情報処理装置としての送信者(送信機)と、暗号文の受領および復号処理を行なう情報処理装置としてのユーザデバイス等の受信機あるいは受信者(ユーザ)であり、暗号文の受領および復号処理を行なう情報処理装置またはユーザの総数をNとする。また、システムを管理する管理センタを設ける。上記(1)セットアップ処理は、送信者あるいは管理センタが実行する。
簡単のため、暗号文を受領する情報処理装置またはユーザの総数:Nは2のべき乗の数とする。実際のNが2のべき乗でない場合は、Nより大きな最小の2のべき乗の数をNとして用いても構わない。
(1)セットアップ
以下、暗号文の生成および提供処理を行なうエンティティまたは情報処理装置を送信者または送信機とし、暗号文を受領するエンティティまたは情報処理装置を受信者または受信機として説明する。セットアップ処理は、送信者側、あるいはシステム管理者によって実行されるが、以下では、送信者においてセットアップ処理を行うものとして説明する。
送信者は、実施例1と同様に、リーフ(葉)の数がNである2分木を定義し、各ノードiに番号を付与する。受信機は1つずつ各リーフ(葉)に割り当てる。
送信者はgeneralized Diffie−Hellman assumptionを満たすnマルチリニアマップ(n−multilinear map)を定め、受信機に公開する。ただし、n=2である。
次に、i=1,2,・・・,2N+n−1の各iに対し、ランダムな値xi∈[1,p−1]を選び、それぞれに対し、
Figure 0004561074
を計算する。ただし、n=2であるのでi=1〜2N+1である。また、ここでpは群Gの位数であり、gはGの生成元である。各hを公開する。
なお、x、hは、ノードiに対応するが、ノード番号2Nおよび2N+1のダミーノードの存在を仮定し、x2N,h2Nはノード2Nに、x2N+1,h2N+1はノード2N+1に対応すると考える。
受信機uには、それが割り当てられた葉からルートに至るまでのパス上の各ノードjに対応するlogN+1個のxを与える。受信機はxを安全に保管する。
いま、図4のセッティングで、N=16であり、n=2であるので、2N+n−1=33なので、送信者はx,・・・,x33とh,・・・,h33を用意してhを公開する。例えば、受信機uには、ノード1,2,4,9,19に対応するx,x,x,x,x19を与える。
(2)暗号化および送信
送信者はN個の受信機のうち、その通信において情報を復号させる受信機の集合、すなわち情報復号許容受信機集合S⊆{1,・・・,n}を選択する。次に、情報復号許容受信機集合Sに含まれない、すなわちリボークするレシーバに割り当てられたリーフ(葉)からルートまでのすべての枝、ノード、そのノードに接する枝を取り除く。すると、1つ以上の切り離された部分木が残るが、それぞれの部分木のルートの集合をKと置く。
次に、Kの要素をその番号iの順に、3つずつ、
Figure 0004561074
個のサブグループSGに分割する。
ただし、
Figure 0004561074
である。
なお、
|K|は、部分木ルート集合Kの要素数を示し、
Figure 0004561074
は、|K|/3以上である最小の整数を表す。
ただし、最後のサブグループ
Figure 0004561074
にKの要素が1つしか入らない場合には、ダミー受信機2Nと2N+1もサブグループの要素であるとし、また、
Figure 0004561074
に、部分木のルートの集合Kの要素が2つだけ入る場合には、ダミーの受信機2Nもこのサブグループの要素であるとする。
上述の例と同様、図4に示す2分木構成、すなわち、各受信機が1つずつ各リーフ(葉)に割り当てられ受信者数N=16である2分木構成を想定し、図7に示すように、図4のセッティングでu,u11,u12の3台の受信機をリボークする場合の処理について説明する。
図7に示すように、部分木のルートの集合K={5,7,9,12,16}となる。この場合、サブグループは、
SG={5,7,9}
SG={12,16,32}
となる。
ただし、ノード32はダミーノードである。
そして、その通信におけるサブグループSG用のサブグループキーKSGkを、
Figure 0004561074
として定める。
上記の例では、サブグループSGとサブグループSGのサブグループキーは以下のように示される。
Figure 0004561074
次に、その通信における全体のセッションキーKsをランダムに定める。セッションキーKsは通信の内容(たとえば映画などのコンテンツ)を暗号化するための鍵であり、たとえば暗号化アルゴリズムに米国標準のAESの128bit版を用いる際には、セッションキーKsは128bitとなる。
次に、個々のサブグループキーを用いてセッションキーKsを暗号化した暗号文
Figure 0004561074
を、暗号文
CT=E(H(KSGk),Ks)として設定する。
ただし、E(A,B)は鍵Aを用いた平文Bの暗号化を示す。
暗号化アルゴリズムとしてはたとえば米国標準のAESの128bit版を用いる。関数Hは、Gの任意の要素を、使用する暗号化アルゴリズムの鍵長(たとえば128bit)に縮約するハッシュ関数である。暗号化アルゴリズムEとハッシュ関数Hはシステムであらかじめ定めてあり(送信者が定めてもよい)、公開されている。
送信者は、送信すべき情報をセッションキーKを用いて暗号化して、部分木のルートの集合Kを表す情報(たとえば、ノード番号のリスト)と、上記の暗号文、
Figure 0004561074
とを、ともに同報通信路で受信機に送信する。
たとえば放送アプリケーションの場合には、部分木のルートの集合Kを表す情報を送信した後に、暗号文、
Figure 0004561074
を送信し、その後に放送コンテンツをセッションキーKsで暗号化して送信してもよいし、通信において情報を復号させる受信機の集合、すなわち情報復号許容受信機集合Sを表す情報と、暗号文
Figure 0004561074
と、セッションキーKsで暗号化したコンテンツキーKcを送信した後に、コンテンツキーKcで暗号化されたコンテンツを送信してもよい。CDなどの記録メディアのアプリケーションの場合には、放送アプリケーションにおいて放送していた情報をディスクに記録して配布すればよい。
(3)受信および復号
受信機uは、同報通信路から送信された情報を受信し、自分がその通信において情報を復号させる受信機の集合、すなわち情報復号許容受信機集合Sに含まれるかどうかを調べる。これは、自身が秘密鍵を持つノード(自分が割り当てられた葉からルートまでのパス上のノード)がKに含まれるかどうかを調べることにより行える。
もし自分が情報復号許容受信機集合Sに含まれなければ、その通信を復号できないので処理を終了する。自分が情報復号許容受信機集合Sに含まれていれば、自分がどのサブグループの暗号文を復号すべきかを調べる。これは、部分木のルートの集合Kの要素を3つずつ区切ったときの何番目に、自分が秘密鍵を持つノードが入るかを探すことで求められる。そして、受信機uは、自分が所有する秘密鍵に対応するサブグループSGのサブグループキーを下記のようにして求める。
Figure 0004561074
ここで、xは、サブグループSGの要素のうち、受信機uが秘密鍵を持つノードiに対応する秘密鍵であり、hj1、hj2は、iではないほうのノードj,jに対応する公開情報gである。ただし、iが、サブグループ
Figure 0004561074
の要素であり、このサブグループに部分木のルートの集合Kの要素(実在の要素)が1つしか含まれない場合には、ダミーノード2Nおよび2N+1に対応する公開情報h2N,h2N+1を用い、このサブグループに部分木のルートの集合Kの要素(実在の要素)が2つだけ含まれる場合には、ダミーノード2Nに対応する公開情報h2Nを用いる。
たとえば上記の例で受信機uはノード9の秘密鍵xを所持しているので、
SG1=e(h,hx9
としてサブグループSGのサブグループキーKSG1を求めることができる。
次に、受信機uは、上で求めたサブグループキーKSGkからハッシュ値H(KSGk)を計算し、これを用いて暗号文CTkを復号してセッションキーKsを求め、これを用いて送信された情報を復号する。
上記のような構成とすることにより、2マルチリニアマップを用いてN個の受信機に鍵(セッションキーKs)を安全に配信できるシステムを構成することが可能となる。上記構成では受信機が安全に保管しなければならない鍵は1つ(x)だけであり、たとえばセッションキーKsを直接コンテンツの暗号化に用いる場合などにおいて、鍵配信のために同報通信されるメッセージの個数は、
Figure 0004561074
となる。
なお、リボークする受信機数をrとしたときに、部分木ルート集合Kの要素数|K|の最大値はrlog(N/r)であることがわかっている。
上記は2マルチリニアマップを用いる方法について詳しく述べたが、この方式は、前述したように、任意の整数n>1に対するnマルチリニアマップを用いる方式にそのまま拡張可能である。nが大きくなると、受信機が保管する鍵数は1のままであるのに対し、同報通信されるメッセージ数が、
Figure 0004561074
となり、上記のn=2の場合に比べてこの面での効率がよくなる。
上述した処理例、すなわち、generalized Diffie−Hellman assumptionを満たす2マルチリニアマップを用いた鍵配信技術に階層木構造を組み合わせることによって、各受信機が必要とする計算量を削減させることを可能とした構成例において、暗号文を生成し、提供する情報処理装置において実行する処理シーケンスと、暗号文を受領して復号処理を行なうリーフ対応の例えば受信機等の情報処理装置における処理シーケンスは、先に実施例1において説明した図13(暗号文提供側)、図15(暗号文受領側)と同様の処理シーケンスによって実行される。ただし、それぞれの処理において、サブグループキーの算出処理方法が異なってくる。サブグループキーの算出処理は上述の説明に記載の通りである。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の構成によれば、頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理において、nマルチリニアマップ(ただし、nは2以上の整数)を適用して暗号鍵を生成する構成とすることで、暗号文復号許容機器の格納鍵のみに基づいて復号可能な1つの暗号文として生成することが可能となり、暗号文の受領、復号処理を実行する受信機としてのユーザデバイスにおける計算量が削減され、効率的な処理が実現される。従って、本発明は、階層木構造を適用した暗号文の提供構成において利用可能である。具体的には、暗号文生成、提供、送信を実行する情報処理装置、暗号文の復号、再生を実行するユーザデバイスとしての情報処理装置、暗号化コンテンツ等を格納した情報記録媒体において適用可能である。
本発明の構成によれば、Diffie−Hellman inversion assumption、またはgeneralized Diffie−Hellman assumptionを満たすマルチリニアマップ(multilinear map)に階層型木構造を組み合わせた暗号文配信構成を構築することにより、階層木構成中のリーフに対応する複数の情報処理装置から選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文として必要な数を削減することが可能となり、リーフの数の増加、リボーク機器の増加などの要因が発生した場合においても、必要な暗号文数を増加させることのない効率的な暗号文の生成および提供構成が実現される。従って、本発明は、階層木構造を適用した暗号文の提供構成において利用可能である。具体的には、暗号文生成、提供、送信を実行する情報処理装置、暗号文の復号、再生を実行するユーザデバイスとしての情報処理装置、暗号化コンテンツ等を格納した情報記録媒体において適用可能である。
2分木階層型木構造について説明する図である。 2分木階層型木構造において、選択した情報処理装置のみが取得可能な情報を送信する方法を説明する図である。 鍵指定コードを暗号文とともに各情報処理装置に提供する構成について説明する図である。 本発明の適用可能な葉(リーフ)の数が受信者数Nである階層木構成例を示す図である。 暗号文を生成し提供する送信装置等の情報処理装置、暗号文を受領して情報取得を行なう受信装置等の情報処理装置の構成例を示す図である。 階層木構成に基づいて暗号文を情報処理装置に提供する構成におけるリーフの所有鍵数および提供暗号文数について説明する図である。 リボーク受信機を排除した部分木構成について説明する図である。 暗号文を生成し、提供する情報処理装置において実行する処理シーケンスについて説明するフローチャートである。 暗号文を生成し、提供する情報処理装置において実行するセッションキーKsの具体的計算例を説明する図である。 暗号文を生成し、提供する情報処理装置において生成した情報の情報記録媒体格納例を示す図である。 暗号文を受領し、復号する情報処理装置において実行する処理シーケンスについて説明するフローチャートである。 暗号文を受領し、復号する情報処理装置において実行するセッションキーKsの具体的計算例を説明する図である。 n=2のマルチリニアマップ適用時において、暗号文を生成し、提供する情報処理装置において実行する処理シーケンスについて説明するフローチャートである。 n=2のマルチリニアマップ適用時において、暗号文を生成し、提供する情報処理装置において生成した情報の情報記録媒体格納例を示す図である。 n=2のマルチリニアマップ適用時において、暗号文を受領し、復号する情報処理装置において実行する処理シーケンスについて説明するフローチャートである。 暗号文を生成し、提供する情報処理装置において実行するセッションキーKsの具体的計算例を説明する図である。 暗号文を受領し、復号する情報処理装置において実行するセッションキーKsの具体的計算例を説明する図である。
符号の説明
101,102 情報処理装置
120 ルートノード
121,122,123 ノード
131,132,133,134,135 部分木
301 コントローラ
302 演算ユニット
303 入出力インタフェース
304 セキュア記憶部
305 メイン記憶部
306 大容量記憶部
400 情報記録媒体
401 部分木のルート集合Kを示す情報
402 暗号化コンテンツキーEnc(Ks,Kc)
403 暗号化コンテンツEnc(Kc,Con)
500 情報記録媒体
501 部分木のルート集合Kを示す情報
502 暗号文CT=E(H(KSGk),Ks)
503 暗号化コンテンツキーEnc(Ks,Kc)
504 暗号化コンテンツEnc(Kc,Con)

Claims (24)

  1. 暗号文生成処理を実行する情報処理装置であり、
    頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号処理部を有し、
    前記暗号処理部は、
    nマルチリニアマップ(ただし、nは2以上の整数)を適用して暗号鍵を生成するとともに、生成した暗号鍵によって前記暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する構成であり、
    前記暗号処理部は、
    前記nマルチリニアマップを適用して生成する鍵として、下記定義、
    Ks=(Φ,・・・Φα∈G
    に基づくセッションキーKsを生成する構成である、
    ただし、Gは、Diffie−Hellmaninversion assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
    αは、α∈[1,p−1],ただし、pはGの位数、
    Φは、下記の処理により定められる値、
    (1)カウンタjを用意し、j=1とセットする、
    (2)カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
    (2a)もしi∈Kならば、Φ=gとセットし、jを1増やして次のiの処理に移る、
    (3)もしj≦nならば、j≦nの間、下記の処理を繰り返す、
    (3a)Φ=gとセットし、jを1増やす、
    ただし、Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    nは、nマルチリニアマップの規定数nであり2以上の整数、
    Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合であり、
    は、ノードiの公開値でありg∈Gを満たす、
    gはGの生成元である、
    ことを特徴とする情報処理装置。
  2. 前記情報処理装置は、
    前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、
    Figure 0004561074
    として設定する構成、
    ただし、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    rは、前記暗号文復号許容機器以外のリボーク(排除)機器数、
    Figure 0004561074
    は、rlog(N/r)以下の最大の整数、
    であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、
    前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、
    r≦Nの任意のrに対応可能な数n、すなわちrlog(N/r)の最大値に対応する整数値として設定する構成である
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記情報処理装置は、
    前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、
    リボーク(排除)機器数rについて、その最大値Rを設定し、r≦Rの任意数に対応可能な数n、すなわち、r=Rとしたときのrlog(N/r)の値に対応する整数値として設定する構成であることを特徴とする請求項2に記載の情報処理装置。
  5. 前記リーフに対応する複数の情報処理装置の各々は、前記ルートから自リーフに至るパス上のノードに対応するノードキーを有し、
    前記暗号処理部は、
    前記暗号文復号許容機器の格納ノードキーにおいてのみ復号可能な暗号文の生成処理を実行する構成である
    ことを特徴とする請求項1に記載の情報処理装置。
  6. 暗号文生成処理を実行する情報処理装置であり、
    頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号処理部を有し、
    前記暗号処理部は、
    nマルチリニアマップ(ただし、nは2以上の整数)を適用して暗号鍵を生成するとともに、生成した暗号鍵によって前記暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する構成であり、
    前記暗号処理部は、
    前記nマルチリニアマップを適用して生成する鍵として、下記定義、
    Figure 0004561074
    に基づくセッションキーKsを生成する構成である、
    ただし、Gは、generalizedDiffie−Hellman assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
    gは、群Gの生成元であり、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数であり、
    |K|は、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合Kの要素数であり、
    は、階層木構成における各構成ノードiに設定されるノードキーであり、h=gxiが公開値として設定される、
    ことを特徴とする情報処理装置。
  7. 前記情報処理装置は、
    前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、
    Figure 0004561074
    として設定する構成、
    ただし、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    rは、前記暗号文復号許容機器以外のリボーク(排除)機器数、
    Figure 0004561074
    は、rlog(N/r)以下の最大の整数、
    であることを特徴とする請求項6に記載の情報処理装置。
  8. 前記情報処理装置は、
    前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、
    r≦Nの任意のrに対応可能な数n、すなわちrlog(N/r)の最大値に対応する整数値として設定する構成である
    ことを特徴とする請求項7に記載の情報処理装置。
  9. 前記情報処理装置は、
    前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、
    リボーク(排除)機器数rについて、その最大値Rを設定し、r≦Rの任意数に対応可能な数n、すなわち、r=Rとしたときのrlog(N/r)の値に対応する整数値として設定する構成である
    ことを特徴とする請求項7に記載の情報処理装置。
  10. 前記リーフに対応する複数の情報処理装置の各々は、前記ルートから自リーフに至るパス上のノードに対応するノードキーを有し、
    前記暗号処理部は、
    前記暗号文復号許容機器の格納ノードキーにおいてのみ復号可能な暗号文の生成処理を実行する構成である
    ことを特徴とする請求項6に記載の情報処理装置。
  11. 頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応して設定された情報処理装置であり、
    前記ルートから自リーフに至るパス上のノードに対応するノードキーを格納した記憶部と、
    暗号文の復号処理を実行する暗号処理部であり、暗号文の暗号処理鍵であるnマルチリニアマップ(ただし、nは2以上の整数)を適用して生成された暗号鍵の算出処理を、前記ノードキーを適用して実行するとともに、生成した暗号鍵に基づいて暗号文の復号処理を実行する暗号処理部とを有し、
    前記暗号処理部は、
    下記定義、
    Ks=(Φ,・・・Φα∈G
    に基づくセッションキーKsによって暗号化された暗号文の復号処理を実行する構成であり、
    セッションキーKsの算出処理として、下記処理1〜4、すなわち、
    1.カウンタjを用意し、j=1とセットする、
    2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
    (a)もしi∈Kならば、iとIが一致するかどうかを調べる、
    i.もしi=Iならば、Φ=sとセットし、jを1増やして次のiの処理に移る、
    ii.もしi≠Iならば、Φ=gとセットし、jを1増やして次のiの処理に移る、
    3.もしj≦nならば、j≦nの間、下記の処理を繰り返す、
    (a)Φ=gとセットし、jを1増やす、
    4.Ks=(φ,・・・,φ)を求める、
    ただし、
    は、Diffie−Hellmaninversion assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
    αは、α∈[1,p−1],ただし、pはGの位数、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    nは、nマルチリニアマップの規定数nであり2以上の整数、
    Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合、
    は、ノードiの秘密キー、
    は、ノードiの公開キー、
    Iは、部分木ルート集合Kに含まれるノード、
    gはGの生成元、
    上記処理1〜4を実行してセッションキーKsの算出を実行する構成である
    ことを特徴とする情報処理装置。
  12. 頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応して設定された情報処理装置であり、
    前記ルートから自リーフに至るパス上のノードに対応するノードキーを格納した記憶部と、
    暗号文の復号処理を実行する暗号処理部であり、暗号文の暗号処理鍵であるnマルチリニアマップ(ただし、nは2以上の整数)を適用して生成された暗号鍵の算出処理を、前記ノードキーを適用して実行するとともに、生成した暗号鍵に基づいて暗号文の復号処理を実行する暗号処理部とを有し、
    前記暗号処理部は、
    下記定義、
    Figure 0004561074
    に基づくセッションキーKsによって暗号化された暗号文の復号処理を実行する構成であり、
    セッションキーKsの算出処理として、下記処理1〜4、すなわち、
    1.カウンタj,lを用意し、j=1,l=2Nとセットする、
    2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
    (a)もしi∈Kかつi≠IならばΦ=hとセットし、jを1増やして次のiの処理に移る、
    3.もしj≦nならばj≦nの間、下記の処理を繰り返す。
    (a)Φ=hとセットし、lを1増やし、jを1増やす,
    4.セッションキーKsを、
    Figure 0004561074
    により算出する、
    ただし、
    は、generalized Diffie−Hellman assumptionを満たす
    nマルチリニアマップe:G →Gを定義する群であり、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    nは、nマルチリニアマップの規定数nであり2以上の整数、
    Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合、
    |K|は、部分木ルート集合Kの要素数、
    は、階層木構成における各構成ノードiに設定されるノードキーであり、h=gxiが公開値、
    Iは、部分木ルート集合Kに含まれるノード、
    gは、群Gの生成元、
    上記処理1〜4を実行してセッションキーKsの算出を実行する構成である
    ことを特徴とする情報処理装置。
  13. 暗号文生成処理を実行する情報処理方法であり、
    頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号処理ステップを有し、
    前記暗号処理ステップは、
    nマルチリニアマップ(ただし、nは2以上の整数)を適用して暗号鍵を生成する鍵生成ステップと、
    生成した暗号鍵によって前記暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号文生成ステップとを有し、
    前記鍵生成ステップは、
    前記nマルチリニアマップを適用して生成する鍵として、下記定義、
    Ks=(Φ,・・・Φα∈G
    に基づくセッションキーKsを生成するステップである、
    ただし、Gは、Diffie−Hellmaninversion assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
    αは、α∈[1,p−1],ただし、pはGの位数、
    Φは、下記の処理により定められる値、
    (1)カウンタjを用意し、j=1とセットする、
    (2)カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
    (2a)もしi∈Kならば、Φ=gとセットし、jを1増やして次のiの処理に移る、
    (3)もしj≦nならば、j≦nの間、下記の処理を繰り返す、
    (3a)Φ=gとセットし、jを1増やす、
    ただし、Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    nは、nマルチリニアマップの規定数nであり2以上の整数、
    Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合であり、
    は、ノードiの公開値であり、g∈Gを満たす、
    gはGの生成元である、
    ことを特徴とする情報処理方法。
  14. 前記情報処理方法は、さらに、
    前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、
    Figure 0004561074
    として設定する構成、
    ただし、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    rは、前記暗号文復号許容機器以外のリボーク(排除)機器数、
    Figure 0004561074
    は、rlog(N/r)以下の最大の整数、
    を有することを特徴とする請求項13に記載の情報処理方法。
  15. 前記リーフに対応する複数の情報処理装置の各々は、前記ルートから自リーフに至るパス上のノードに対応するノードキーを有し、
    前記暗号処理ステップは、
    前記暗号文復号許容機器の格納ノードキーにおいてのみ復号可能な暗号文の生成処理を実行することを特徴とする請求項13に記載の情報処理方法。
  16. 暗号文生成処理を実行する情報処理方法であり、
    頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号処理ステップを有し、
    前記暗号処理ステップは、
    nマルチリニアマップ(ただし、nは2以上の整数)を適用して暗号鍵を生成する鍵生成ステップと、
    生成した暗号鍵によって前記暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号文生成ステップとを有し、
    前記鍵生成ステップは、
    前記nマルチリニアマップを適用して生成する鍵として、下記定義、
    Figure 0004561074
    に基づくセッションキーKsを生成するステップである、
    ただし、Gは、generalizedDiffie−Hellman assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
    gは、群Gの生成元であり、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数であり、
    |K|は、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合Kの要素数であり、
    は、階層木構成における各構成ノードiに設定されるノードキーであり、h=gxiが公開値として設定される、
    ことを特徴とする情報処理方法。
  17. 前記情報処理方法は、さらに、
    前記暗号鍵の生成処理に適用するnマルチリニアマップの規定数nを、
    Figure 0004561074
    として設定する構成、
    ただし、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    rは、前記暗号文復号許容機器以外のリボーク(排除)機器数、
    Figure 0004561074
    は、rlog(N/r)以下の最大の整数、
    を有することを特徴とする請求項16に記載の情報処理方法。
  18. 前記リーフに対応する複数の情報処理装置の各々は、前記ルートから自リーフに至るパス上のノードに対応するノードキーを有し、
    前記暗号処理ステップは、
    前記暗号文復号許容機器の格納ノードキーにおいてのみ復号可能な暗号文の生成処理を実行する
    ことを特徴とする請求項16に記載の情報処理方法。
  19. 暗号文の復号処理を実行する情報処理方法であり、
    nマルチリニアマップ(ただし、nは2以上の整数)を適用して生成された暗号鍵の算出処理を、階層木構成中の頂点ノードとしてのルートから自装置の対応するリーフに至るパス上のノードに設定されたノードキーを適用して実行する鍵算出ステップと、
    前記鍵算出ステップにおいて算出した暗号鍵に基づいて暗号文の復号処理を実行する暗号文復号ステップとを有し、
    前記鍵算出ステップは、
    下記定義、
    Ks=(Φ,・・・Φα∈G
    に基づくセッションキーKsの算出処理として、下記処理1〜4、すなわち、
    1.カウンタjを用意し、j=1とセットする、
    2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
    (a)もしi∈Kならば、iとIが一致するかどうかを調べる、
    i.もしi=Iならば、Φ=sとセットし、jを1増やして次のiの処理に移る、
    ii.もしi≠Iならば、Φ=gとセットし、jを1増やして次のiの処理に移る、
    3.もしj≦nならば、j≦nの間、下記の処理を繰り返す、
    (a)Φ=gとセットし、jを1増やす、
    4.Ks=(φ,・・・,φ)を求める、
    ただし、
    は、Diffie−Hellmaninversion assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
    αは、α∈[1,p−1],ただし、pはGの位数、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    nは、nマルチリニアマップの規定数nであり2以上の整数、
    Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合、
    は、ノードiの秘密キー、
    は、ノードiの公開キー、
    gはGの生成元、
    Iは、部分木ルート集合Kに含まれるノード、
    を実行してセッションキーKsの算出を実行するステップである
    ことを特徴とする情報処理方法。
  20. 暗号文の復号処理を実行する情報処理方法であり、
    nマルチリニアマップ(ただし、nは2以上の整数)を適用して生成された暗号鍵の算出処理を、階層木構成中の頂点ノードとしてのルートから自装置の対応するリーフに至るパス上のノードに設定されたノードキーを適用して実行する鍵算出ステップと、
    前記鍵算出ステップにおいて算出した暗号鍵に基づいて暗号文の復号処理を実行する暗号文復号ステップとを有し、
    前記鍵算出ステップは、
    下記定義、
    Figure 0004561074
    に基づくセッションキーKsの算出処理として、下記処理1〜4、すなわち、
    1.カウンタj,lを用意し、j=1,l=2Nとセットする、
    2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
    (a)もしi∈Kかつi≠IならばΦ=hとセットし、jを1増やして次のiの処理に移る、
    3.もしj≦nならば、j≦nの間、下記の処理を繰り返す。
    (a)Φ=hとセットし、lを1増やし、jを1増やす、
    4.上記セッションキーKsを算出する、
    ただし、
    は、generalized Diffie−Hellman assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    nは、nマルチリニアマップの規定数nであり2以上の整数、
    Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合、
    は、階層木構成における各構成ノードiに設定されるノードキーであり、h=gxiが公開値、
    Iは、部分木ルート集合Kに含まれるノード、
    gは、群Gの生成元、
    を実行してセッションキーKsの算出を実行するステップである
    ことを特徴とする情報処理方法。
  21. 暗号文生成処理を実行するコンピュータ・プログラムであり、
    頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号処理ステップを有し、
    前記暗号処理ステップは、
    nマルチリニアマップ(ただし、nは2以上の整数)を適用して暗号鍵を生成する鍵生成ステップと、
    生成した暗号鍵によって前記暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号文生成ステップとを有し、
    前記鍵生成ステップは、
    前記nマルチリニアマップを適用して生成する鍵として、下記定義、
    Ks=(Φ,・・・Φα∈G
    に基づくセッションキーKsを生成するステップである、
    ただし、Gは、Diffie−Hellmaninversion assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
    αは、α∈[1,p−1],ただし、pはGの位数、
    Φは、下記の処理により定められる値、
    (1)カウンタjを用意し、j=1とセットする、
    (2)カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
    (2a)もしi∈Kならば、Φ=gとセットし、jを1増やして次のiの処理に移る、
    (3)もしj≦nならば、j≦nの間、下記の処理を繰り返す、
    (3a)Φ=gとセットし、jを1増やす、
    ただし、Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    nは、nマルチリニアマップの規定数nであり2以上の整数、
    Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合であり、
    は、ノードiの公開値でありg∈Gを満たす、
    gはGの生成元である、
    ことを特徴とするコンピュータ・プログラム。
  22. 暗号文生成処理を実行するコンピュータ・プログラムであり、
    頂点ノードとしてのルートと、最下位ノードであるリーフを連結した構成を持つ階層木構成において、前記リーフに対応する複数の情報処理装置から暗号文の復号を許容する情報処理装置を選択し、選択した暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号処理ステップを有し、
    前記暗号処理ステップは、
    nマルチリニアマップ(ただし、nは2以上の整数)を適用して暗号鍵を生成する鍵生成ステップと、
    生成した暗号鍵によって前記暗号文復号許容機器の格納鍵のみに基づいて復号可能な暗号文の生成処理を実行する暗号文生成ステップとを有し、
    前記鍵生成ステップは、
    前記nマルチリニアマップを適用して生成する鍵として、下記定義、
    Figure 0004561074
    に基づくセッションキーKsを生成するステップである、
    ただし、Gは、generalizedDiffie−Hellman assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
    gは、群Gの生成元であり、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数であり、
    |K|は、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合Kの要素数であり、
    は、階層木構成における各構成ノードiに設定されるノードキーであり、h=gxiが公開値として設定される、
    ことを特徴とするコンピュータ・プログラム。
  23. 暗号文の復号処理を実行するコンピュータ・プログラムであり、
    nマルチリニアマップ(ただし、nは2以上の整数)を適用して生成された暗号鍵の算出処理を、階層木構成中の頂点ノードとしてのルートから自装置の対応するリーフに至るパス上のノードに設定されたノードキーを適用して実行する鍵算出ステップと、
    前記鍵算出ステップにおいて算出した暗号鍵に基づいて暗号文の復号処理を実行する暗号文復号ステップとを有し、
    前記鍵算出ステップは、
    下記定義、
    Ks=(Φ,・・・Φα∈G
    に基づくセッションキーKsの算出処理として、下記処理1〜4、すなわち、
    1.カウンタjを用意し、j=1とセットする、
    2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
    (a)もしi∈Kならば、iとIが一致するかどうかを調べる、
    i.もしi=Iならば、Φ=sとセットし、jを1増やして次のiの処理に移る、
    ii.もしi≠Iならば、Φ=gとセットし、jを1増やして次のiの処理に移る、
    3.もしj≦nならば、j≦nの間、下記の処理を繰り返す、
    (a)Φ=gとセットし、jを1増やす、
    4.Ks=(φ,・・・,φ)を求める、
    ただし、
    は、Diffie−Hellmaninversion assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
    αは、α∈[1,p−1],ただし、pはGの位数、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    nは、nマルチリニアマップの規定数nであり2以上の整数、
    Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合、
    は、ノードiの秘密キー、
    は、ノードiの公開キー、
    gはGの生成元、
    Iは、部分木ルート集合Kに含まれるノード、
    を実行してセッションキーKsの算出を実行するステップである
    ことを特徴とするコンピュータ・プログラム。
  24. 暗号文の復号処理を実行するコンピュータ・プログラムであり、
    nマルチリニアマップ(ただし、nは2以上の整数)を適用して生成された暗号鍵の算出処理を、階層木構成中の頂点ノードとしてのルートから自装置の対応するリーフに至るパス上のノードに設定されたノードキーを適用して実行する鍵算出ステップと、
    前記鍵算出ステップにおいて算出した暗号鍵に基づいて暗号文の復号処理を実行する暗号文復号ステップとを有し、
    前記鍵算出ステップは、
    下記定義、
    Figure 0004561074
    に基づくセッションキーKsの算出処理として、下記処理1〜4、すなわち、
    1.カウンタj,lを用意し、j=1,l=2Nとセットする、
    2.カウンタiを用意し、以下の処理を行いながらiを1から2N−1まで1ずつ増加させる、
    (a)もしi∈Kかつi≠IならばΦ=hとセットし、jを1増やして次のiの処理に移る、
    3.もしj≦nならば、j≦nの間、下記の処理を繰り返す。
    (a)Φ=hとセットし、lを1増やし、jを1増やす、
    4.上記セッションキーKsを算出する、
    ただし、
    は、generalized Diffie−Hellman assumptionを満たすnマルチリニアマップe:G →Gを定義する群であり、
    Nは階層木構成の最下位ノードであるリーフに対応する情報処理装置の総数、
    nは、nマルチリニアマップの規定数nであり2以上の整数、
    Kは、前記階層木構成において、暗号文復号許容機器のみを選択して設定される部分木ルート集合、
    は、階層木構成における各構成ノードiに設定されるノードキーであり、h=gxiが公開値、
    Iは、部分木ルート集合Kに含まれるノード、
    gは、群Gの生成元、
    を実行してセッションキーKsの算出を実行するステップである
    ことを特徴とするコンピュータ・プログラム。
JP2003353310A 2003-10-14 2003-10-14 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Expired - Fee Related JP4561074B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003353310A JP4561074B2 (ja) 2003-10-14 2003-10-14 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003353310A JP4561074B2 (ja) 2003-10-14 2003-10-14 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2005123678A JP2005123678A (ja) 2005-05-12
JP4561074B2 true JP4561074B2 (ja) 2010-10-13

Family

ID=34611627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003353310A Expired - Fee Related JP4561074B2 (ja) 2003-10-14 2003-10-14 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP4561074B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236377A (ja) * 2007-03-20 2008-10-02 Sony Corp 鍵提供システム、鍵提供装置、端末装置、鍵提供方法、及び鍵生成方法
JP5197424B2 (ja) * 2009-02-19 2013-05-15 三菱電機株式会社 通信装置及び通信方法及び通信プログラム
WO2015097834A1 (ja) 2013-12-26 2015-07-02 株式会社東芝 通信制御装置、通信制御方法およびプログラム
WO2016067471A1 (ja) 2014-10-31 2016-05-06 株式会社東芝 通信制御装置、通信制御方法およびプログラム
JP6302109B2 (ja) * 2017-02-21 2018-03-28 株式会社東芝 通信制御装置、通信制御方法、プログラムおよび通信システム
EP3711255A1 (en) * 2017-11-23 2020-09-23 Huawei Technologies Co., Ltd. Device, system and method for secure data communication
JP6472911B2 (ja) * 2018-02-19 2019-02-20 株式会社東芝 通信装置、通信方法、プログラムおよび通信システム
CN112733177B (zh) * 2021-01-26 2024-04-19 中国人民解放军国防科技大学 基于全域哈希的层次标识密码加密方法

Also Published As

Publication number Publication date
JP2005123678A (ja) 2005-05-12

Similar Documents

Publication Publication Date Title
JP4902934B2 (ja) 放送暗号化方法
US7340054B2 (en) Information processing method, decrypting method, information processing apparatus, and computer program
US20070133806A1 (en) Information processing method, decryption method, information processing device, and computer program
JP4162237B2 (ja) 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム
CN1836396A (zh) 用于加密和/或解密数据的可追踪方法和系统,及用于实现该方法的记录介质
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR20090127716A (ko) 브로드캐스트 암호화에서 디바이스 키를 추적하는 방법
JP2010124071A (ja) 通信装置、通信方法及びプログラム
JP2006115464A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP4989293B2 (ja) コンテンツ配信システム
JP2005333242A (ja) 鍵管理システム、及び再生装置
JP2008131072A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法
JP4161859B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
JP2007189597A (ja) 暗号化装置および暗号化方法、並びに復号化装置および復号化方法
JP4576824B2 (ja) 情報処理装置および情報処理方法
JP2004229128A (ja) 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム
JP4635459B2 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2005191805A (ja) 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2007020025A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2009157050A1 (ja) 情報処理装置及びプログラム
JP2005252916A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP5052207B2 (ja) 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体
JP6885325B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム
JP2008131079A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100617

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100706

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100719

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

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees