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

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

Info

Publication number
JP2004320183A
JP2004320183A JP2003108558A JP2003108558A JP2004320183A JP 2004320183 A JP2004320183 A JP 2004320183A JP 2003108558 A JP2003108558 A JP 2003108558A JP 2003108558 A JP2003108558 A JP 2003108558A JP 2004320183 A JP2004320183 A JP 2004320183A
Authority
JP
Japan
Prior art keywords
node
information processing
node key
key
secret
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003108558A
Other languages
English (en)
Other versions
JP2004320183A5 (ja
Inventor
Tomoyuki Asano
智之 浅野
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 JP2003108558A priority Critical patent/JP2004320183A/ja
Publication of JP2004320183A publication Critical patent/JP2004320183A/ja
Publication of JP2004320183A5 publication Critical patent/JP2004320183A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】階層型木構造を適用した暗号鍵等の暗号データ提供処理において、ルートから自己の属するリーフまでのパス上の各ノードに対応するノードキーを算出するための計算処理を軽減することを可能とした情報処理装置および方法を提供する。
【解決手段】階層型木構造を適用した暗号データ提供処理において、a分木(HKT)における各ノードキーの算出処理および設定処理に落とし戸つき一方向置換Fと、逆置換F−1 を適用し、各デバイスにおけるノードキーの算出において、最大でも木の高さの回数だけの落とし戸付き一方向置換Fを実行すればノードキー算出を完了する構成とした。デバイスに保持するキーを用いて、繰り返し、落とし戸付き一方向置換Fを実行することで、順次、上位ノードのノードキーが算出される。
【選択図】 図5

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、CD、DVD、MD等、各種のコンテンツ記録媒体に、記録媒体識別子を格納し、不正記録媒体のリストとしてのリボケーションリストに基づくコンテンツ利用制御を行うことにより、不正コピーコンテンツを格納したCD−Rディスク等の氾濫、利用の防止を実現する情報記録媒体、情報処理装置、情報記録媒体製造装置、および方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
昨今、音楽等のオーディオデータ、映画等の画像データ、ゲームプログラム、各種アプリケーションプログラム等、様々なソフトウエアデータ(以下、これらをコンテンツ(Content)と呼ぶ)が、インターネット等のネットワークを介して、あるいはCD(Compact Disc)、DVD(Digital Versatile Disk)、MD(Mini Disk)等の情報記録媒体(メディア)を介して流通している。これらの流通コンテンツは、ユーザの所有するPC(Personal Computer)、CDプレーヤ、DVDプレーヤ、MDプレーヤ等の再生装置、あるいはゲーム機器等において再生され利用される。
【0003】
音楽データ、画像データ等、多くのコンテンツは、一般的にその作成者あるいは販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、コンテンツの利用を許諾し、許可のない複製等が行われないようにする構成をとるのが一般的となっている。
【0004】
特に、近年においては、情報をデジタル的に記録する記録装置や記憶媒体が普及しつつある。このようなデジタル記録装置および記憶媒体によれば、例えば画像や音声を劣化させることなく記録、再生を繰り返すことが可能であり、不正コピーコンテンツのインターネットを介した配信や、コンテンツをCD−R等にコピーした、いわゆる海賊版ディスクが大量に流通しているという問題がある。
【0005】
このようなコンテンツの不正利用を防止する1つの方式として、コンテンツあるいは暗号化コンテンツを復号するための鍵を暗号化して配布し、特定の正規ユーザまたは正規デバイスのみが、配布データを復号することを可能としたシステムがある。例えばブロードキャストエンクリプション(Broadcast Encryption)方式の一態様である階層型木構造を適用した構成が知られている。
【0006】
階層型木構造を適用した暗号鍵等の暗号データ提供処理について、図を参照して説明する。図1の最下段に示すナンバ0〜15が、例えばコンテンツ利用を行なう情報処理装置としてのユーザデバイスである。すなわち図1に示す階層ツリー(木)構造の各葉(リーフ:leaf)がそれぞれのデバイスに相当する。
【0007】
各デバイス0〜15は、製造時あるいは出荷時、あるいはその後において、図1に示す階層ツリー(木)構造における自分のリーフからルートに至るまでのノードに割り当てられた鍵(ノードキー)および各リーフのリーフキーからなるキーセット(デバイスノードキー(DNK:Device Node Key))をメモリに格納する。図1の最下段に示すK0000〜K1111が各デバイス0〜15にそれぞれ割り当てられたリーフキーであり、最上段のKR(ルートキー)から、最下段から2番目の節(ノード)に記載されたキー:KR〜K111をノードキーとする。
【0008】
図1に示す木構造において、例えばデバイス0はリーフキーK0000と、ノードキー:K000、K00、K0、KRを所有する。デバイス5はK0101、K010、K01、K0、KRを所有する。デバイス15は、K1111、K111、K11、K1、KRを所有する。なお、図1のツリーにはデバイスが0〜15の16個のみ記載され、ツリー構造も4段構成の均衡のとれた左右対称構成として示しているが、さらに多くのデバイスがツリー中に構成され、また、ツリーの各部において異なる段数構成を持つことが可能である。
【0009】
また、図1のツリー構造に含まれる各デバイスには、様々な記録媒体、例えば、デバイス埋め込み型あるいはデバイスに着脱自在に構成されたDVD、CD、MD、フラッシュメモリ等を使用する様々なタイプのデバイスが含まれている。さらに、様々なアプリケーションサービスが共存可能である。このような異なるデバイス、異なるアプリケーションの共存構成の上に図1に示すコンテンツあるいは鍵配布構成である階層ツリー構造が適用される。
【0010】
これらの様々なデバイス、アプリケーションが共存するシステムにおいて、例えば図1の点線で囲んだ部分、すなわちデバイス0,1,2,3を同一の記録媒体を用いる1つのグループとして設定する。例えば、この点線で囲んだグループ内に含まれるデバイスに対しては、まとめて、共通のコンテンツを暗号化してプロバイダからネットワークまたはCD等の情報記録媒体に格納して提供したり、各デバイス共通に使用するコンテンツ鍵を送付したり、あるいは各デバイスからプロバイダあるいは決済機関等にコンテンツ料金の支払データをやはり暗号化して出力するといった処理が実行される。コンテンツサーバ、ライセンスサーバ、あるいはショップサーバ等、各デバイスとのデータ送受信を行なうエンティテイは、図1の点線で囲んだ部分、すなわちデバイス0,1,2,3を1つのグループとして一括してデータを送付する処理を実行可能となる。このようなグループは、図1のツリー中に複数存在する。
【0011】
なお、ノードキー、リーフキーは、ある1つの鍵管理センタ機能を持つ管理システムによって統括して管理してもよいし、各グループに対する様々なデータ送受信を行なうプロバイダ、決済機関等のメッセージデータ配信手段によってグループごとに管理する構成としてもよい。これらのノードキー、リーフキーは例えばキーの漏洩等の場合に更新処理が実行され、この更新処理は鍵管理センタ機能を持つ管理システム、プロバイダ、決済機関等が実行可能である。
【0012】
このツリー構造において、図1から明らかなように、1つのグループに含まれる3つのデバイス0,1,2,3はデバイスノードキー(DNK:Device Node Key)として共通のキーK00、K0、KRを含むデバイスノードキー(DNK:Device Node Key)を保有する。このノードキー共有構成を利用することにより、例えば共通のキーをデバイス0,1,2,3のみに提供することが可能となる。たとえば、共通に保有するノードキーK00は、デバイス0,1,2,3に共通する保有キーとなる。また、新たなキーKnewをノードキーK00で暗号化した値Enc(K00,Knew)を、ネットワークを介してあるいは記録媒体に格納してデバイス0,1,2,3に配布すれば、デバイス0,1,2,3のみが、それぞれのデバイスにおいて保有する共有ノードキーK00を用いて暗号Enc(K00,Knew)を解いて新たなキーKnewを得ることが可能となる。なお、Enc(Ka,Kb)はKbをKaによって暗号化したデータであることを示す。
【0013】
また、ある時点tにおいて、デバイス3の所有する鍵:K0011,K001,K00,K0,KRが攻撃者(ハッカー)により解析されて露呈したことが発覚した場合、それ以降、システム(デバイス0,1,2,3のグループ)で送受信されるデータを守るために、デバイス3をシステムから切り離す必要がある。そのためには、ノードキー:K001,K00,K0,KRをそれぞれ新たな鍵K(t)001,K(t)00,K(t)0,K(t)Rに更新し、デバイス0,1,2にその更新キーを伝える必要がある。ここで、K(t)aaaは、鍵Kaaaの世代(Generation):tの更新キーであることを示す。
【0014】
更新キーの配布処理ついて説明する。キーの更新は、例えば、図2(A)に示す有効化キーブロック(EKB:Enabling Key Block)と呼ばれるブロックデータによって構成されるテーブルをたとえばネットワーク、あるいは記録媒体に格納してデバイス0,1,2に供給することによって実行される。なお、有効化キーブロック(EKB)は、図1に示すようなツリー構造を構成する各リーフに対応するデバイスに新たに更新されたキーを配布するための暗号化キーによって構成される。有効化キーブロック(EKB)は、キー更新ブロック(KRB:Key Renewal Block)と呼ばれることもある。
【0015】
図2(A)に示す有効化キーブロック(EKB)には、ノードキーの更新の必要なデバイスのみが更新可能なデータ構成を持つブロックデータとして構成される。図2の例は、図1に示すツリー構造中のデバイス0,1,2において、世代tの更新ノードキーを配布することを目的として形成されたブロックデータである。図1から明らかなように、デバイス0,デバイス1は、更新ノードキーとしてK(t)00、K(t)0、K(t)Rが必要であり、デバイス2は、更新ノードキーとしてK(t)001、K(t)00、K(t)0、K(t)Rが必要である。
【0016】
図2(A)のEKBに示されるようにEKBには複数の暗号化キーが含まれる。最下段の暗号化キーは、Enc(K0010,K(t)001)である。これはデバイス2の持つリーフキーK0010によって暗号化された更新ノードキーK(t)001であり、デバイス2は、自身の持つリーフキーによってこの暗号化キーを復号し、K(t)001を得ることができる。また、復号により得たK(t)001を用いて、図2(A)の下から2段目の暗号化キーEnc(K(t)001,K(t)00)を復号可能となり、更新ノードキーK(t)00を得ることができる。以下順次、図2(A)の上から2段目の暗号化キーEnc(K(t)00,K(t)0)を復号し、更新ノードキーK(t)0、図2(A)の上から1段目の暗号化キーEnc(K(t)0,K(t)R)を復号しK(t)Rを得る。一方、デバイスK0000.K0001は、ノードキーK000は更新する対象に含まれておらず、更新ノードキーとして必要なのは、K(t)00、K(t)0、K(t)Rである。デバイスK0000.K0001は、図2(A)の上から3段目の暗号化キーEnc(K000,K(t)00)を復号しK(t)00、を取得し、以下、図2(A)の上から2段目の暗号化キーEnc(K(t)00,K(t)0)を復号し、更新ノードキーK(t)0、図2(A)の上から1段目の暗号化キーEnc(K(t)0,K(t)R)を復号しK(t)Rを得る。このようにして、デバイス0,1,2は更新した鍵K(t)Rを得ることができる。なお、図2(A)のインデックスは、復号キーとして使用するノードキー、リーフキーの絶対番地を示す。
【0017】
図1に示すツリー構造の上位段のノードキー:K(t)0,K(t)Rの更新が不要であり、ノードキーK00のみの更新処理が必要である場合には、図2(B)の有効化キーブロック(EKB)を用いることで、更新ノードキーK(t)00をデバイス0,1,2に配布することができる。
【0018】
図2(B)に示すEKBは、例えば特定のグループにおいて共有する新たなコンテンツ鍵を配布する場合に利用可能である。具体例として、図1に点線で示すグループ内のデバイス0,1,2,3がある記録媒体を用いており、新たな共通のコンテンツ鍵K(t)conが必要であるとする。このとき、デバイス0,1,2,3の共通のノードキーK00を更新したK(t)00を用いて新たな共通の更新コンテンツ鍵:K(t)conを暗号化したデータEnc(K(t)00,K(t)con)を図2(B)に示すEKBとともに配布する。この配布により、デバイス4など、その他のグループの機器においては復号されないデータとしての配布が可能となる。
【0019】
すなわち、デバイス0,1,2はEKBを処理して得たK(t)00を用いて上記暗号文を復号すれば、t時点でのキー、例えばコンテンツの暗号化復号化に適用するコンテンツ鍵K(t)conを得ることが可能になる。
【0020】
図3に、t時点でのキー、例えばコンテンツの暗号化復号化に適用するコンテンツ鍵K(t)conをEKBの処理によって取得する処理例を示す。EKBには、K(t)00を用いてコンテンツ鍵K(t)conを暗号化したデータEnc(K(t)00,K(t)con)と図2(B)に示すデータとが格納されているとする。ここでは、デバイス0の処理例を示す。
【0021】
図3に示すように、デバイス0は、記録媒体に格納されている世代:t時点のEKBと自分があらかじめ格納しているノードキーK000を用いて上述したと同様のEKB処理により、ノードキーK(t)00を生成する。さらに、復号した更新ノードキーK(t)00を用いて暗号化データEnc(K(t)00,K(t)con)を復号して更新コンテンツ鍵K(t)conを取得する。さらに、デバイスは、後にそれを使用するために自分だけが持つリーフキーK0000で暗号化して格納してもよい。
【0022】
また、別の例としてツリー構造のノードキーの更新は不必要で、時点tでのコンテンツ鍵K(t)conのみを必要な機器が得られればよいという場合もある。この場合、下記のような方式とすることができる。
【0023】
いま、図6の例と同様にデバイス0,1,2にのみコンテンツ鍵K(t)conを送りたいとする。このときEKBは、
バージョン(Version):t
インデックス 暗号化キー
000 Enc(K000, K(t)con)
0010 Enc(K0010,K(t)con)
となる。
【0024】
デバイス0,1はK000を用いて、またデバイス2はK0010を用いて上記EKBのうちの1つの暗号文を復号することによりコンテンツ鍵を得ることができる。このようにすることにより、ノードキーの更新は行えないものの必要な機器にコンテンツ鍵を与える方法をより効率よく(すなわち、EKBに含まれる暗号文数を減らしてEKBのサイズを小さくするとともに管理センタでの暗号化およびデバイスでの復号処理の回数を減らせる)することができる。
【0025】
【発明が解決しようとする課題】
上述の方法では、各デバイスは木の高さ分、すなわちlogN個のノードキーを安全に保持する必要がある。階層が増加すればノード数も増加し、リーフにあるデバイスは、増加したノード数に対応する多数のノードキーの保持を強いられることになる。
【0026】
本発明は、上述の問題点に鑑みてなされたものであり、階層型木構造を適用した暗号鍵等、暗号データ提供処理において、各デバイスが保持すべき鍵の数が1つとすることを可能とし、また、その1つの鍵から、ルートから自己の属するリーフまでのパス上の各ノードに対応するノードキーを算出する処理を効率的に実行することを可能とした情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【0027】
【課題を解決するための手段】
本発明の第1の側面は、
暗号データ生成処理を実行する情報処理装置であり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する構成を有し、
前記送信秘密情報の暗号化に適用するノードキーは、前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定されたノードキーであることを特徴とする情報処理装置にある。
【0028】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記送信秘密情報の暗号化に適用する選択した各ノードキーを用いて秘密情報を暗号化した暗号文セットを生成するとともに、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用したノードキーとの対応を示す表現コードを生成し、前記暗号文セットおよび前記表現コードとをデバイスに対して送信する処理を実行する構成であることを特徴とする。
【0029】
さらに、本発明の情報処理装置の一実施態様において、前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用したノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする。
【0030】
さらに、本発明の情報処理装置の一実施態様において、前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応するノードキーNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする。
【0031】
さらに、本発明の情報処理装置の一実施態様において、前記送信秘密情報の暗号化に適用するノードキーの選択処理は、前記階層型木構造の最下位ノードに対応するデバイス中、前記選択された限定デバイス以外の排除デバイスに対応する前記階層型木構造の葉からルートにいたるパス上のノード以外のノードによって構成される部分木の頂点ノードに対応するノードキー選択処理として実行する構成であることを特徴とする。
【0032】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする。
【0033】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換Fは、異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする。
【0034】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換F、および逆置換F−1 は、
【数13】
Figure 2004320183
ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、であることを特徴とする。
【0035】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、ノードキーNKを適用した送信秘密情報の暗号化処理による暗号文生成に際し、ハッシュ関数を適用し、暗号文のビット長変更処理を実行する構成であることを特徴とする。
【0036】
さらに、本発明の第2の側面は、
暗号データ生成処理を実行する情報処理装置であり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された公開ノードキーPubNKを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する構成を有し、
前記送信秘密情報の暗号化に適用する公開ノードキーは、前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された秘密ノードキーに対応して設定された公開ノードキーであることを特徴とする情報処理装置にある。
【0037】
さらに、本発明の情報処理装置の一実施態様において、前記送信秘密情報の暗号化に適用する公開ノードキーPubNKは、
PubNK=gPriNKkmodq
ただし、qは大きな素数、gは巡回群Zの生成元、
によって算出される公開ノードキーであることを特徴とする。
【0038】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、公開ノードキーPubNKを適用した送信秘密情報Iの暗号化処理による暗号文CTの生成を、
【数14】
Figure 2004320183
ただし、xは、区間[1,q−1]からランダムに選択した値、
によって実行する構成であることを特徴とする。
【0039】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記送信秘密情報の暗号化に適用する選択した各公開ノードキーを用いて秘密情報を暗号化した暗号文セットを生成するとともに、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用した公開ノードキーとの対応を示す表現コードを生成し、前記暗号文セットおよび前記表現コードとをデバイスに対して送信する処理を実行する構成であることを特徴とする。
【0040】
さらに、本発明の情報処理装置の一実施態様において、前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用した公開ノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする。
【0041】
さらに、本発明の情報処理装置の一実施態様において、前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応する秘密ノードキーPriNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする。
【0042】
さらに、本発明の情報処理装置の一実施態様において、前記送信秘密情報の暗号化に適用する公開ノードキーの選択処理は、前記階層型木構造の最下位ノードに対応するデバイス中、前記選択された限定デバイス以外の排除デバイスに対応する前記階層型木構造の葉からルートにいたるパス上のノード以外のノードによって構成される部分木の頂点ノードに対応する公開ノードキー選択処理として実行する構成であることを特徴とする。
【0043】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする。
【0044】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換Fは、異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする。
【0045】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換F、および逆置換F−1 は、
【数15】
Figure 2004320183
ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
であることを特徴とする。
【0046】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、公開ノードキーPubNKを適用した送信秘密情報の暗号化処理による暗号文生成に際し、ハッシュ関数を適用し、暗号文のビット長変更処理を実行する構成であることを特徴とする。
【0047】
さらに、本発明の第3の側面は、
暗号データ復号処理を実行する情報処理装置であり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した暗号データの復号処理を実行する構成を有し、
前記a分木構成を持つ階層型木構造のノードキーの設定構成は、
前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定された構成であり、
前記情報処理装置は、
情報処理装置対応ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用するノードキーの算出処理を実行する構成を有することを特徴とする情報処理装置にある。
【0048】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、複数のノードキーを用いて秘密情報を暗号化した複数の暗号文から構成される暗号文セット中から、前記情報処理装置対応ノードキーに基づいて算出可能なノードキーを適用して復号可能な暗号文の検出処理を実行する構成を有し、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用したノードキーとの対応を示す表現コードに基づいて前記検出処理を実行する構成であることを特徴とする。
【0049】
さらに、本発明の情報処理装置の一実施態様において、前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用したノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする。
【0050】
さらに、本発明の情報処理装置の一実施態様において、前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応するノードキーNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする。
【0051】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする。
【0052】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換Fは、異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする。
【0053】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換F、および逆置換F−1 は、
【数16】
Figure 2004320183
ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
であることを特徴とする。
【0054】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、秘密ノードキーPriNKを適用した送信秘密情報の復号処理に際し、ハッシュ関数を適用し、復号に適用する鍵のビット長変更処理を実行する構成であることを特徴とする。
【0055】
さらに、本発明の第4の側面は、
暗号データ復号処理を実行する情報処理装置であり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された秘密ノードキーを選択的に適用して、前記秘密ノードキーに対応する公開ノードキーによって暗号化された暗号データの復号処理を実行する構成を有し、
前記a分木構成を持つ階層型木構造の各ノードに対応する秘密ノードキーの設定構成は、
前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された構成であり、
前記情報処理装置は、
情報処理装置対応秘密ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用する秘密ノードキーの算出処理を実行する構成を有することを特徴とする情報処理装置にある。
【0056】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、秘密ノードキーPriNKを適用した暗号文CTの復号による秘密情報Iの取得を、
【数17】
Figure 2004320183
ただし、gmodqは、既知の値、
によって実行する構成であることを特徴とする。
【0057】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記a分木構成における複数の異なるノードの公開ノードキーを用いて秘密情報を暗号化した複数の暗号文から構成される暗号文セット中から、前記情報処理装置対応秘密ノードキーに基づいて算出可能な秘密ノードキーを適用して復号可能な暗号文の検出処理を実行する構成を有し、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用した公開ノードキーとの対応を示す表現コードに基づいて前記検出処理を実行する構成であることを特徴とする。
【0058】
さらに、本発明の情報処理装置の一実施態様において、前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用した公開ノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする。
【0059】
さらに、本発明の情報処理装置の一実施態様において、前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応する秘密ノードキーPriNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする。
【0060】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする。
【0061】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換Fは、異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする。
【0062】
さらに、本発明の情報処理装置の一実施態様において、前記落とし戸つき一方向置換F、および逆置換F−1 は、
【数18】
Figure 2004320183
ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
であることを特徴とする。
【0063】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、秘密ノードキーPriNKを適用した秘密情報の復号処理に際し、ハッシュ関数を適用する構成であることを特徴とする。
【0064】
さらに、本発明の第5の側面は、
暗号データ生成処理を実行する情報処理方法であり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する暗号処理ステップを有し、
前記暗号処理に適用するノードキーは、前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定されたノードキーであることを特徴とする情報処理方法にある。
【0065】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記送信秘密情報の暗号化に適用する選択した各ノードキーを用いて秘密情報を暗号化した暗号文セットを生成するとともに、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用したノードキーとの対応を示す表現コードを生成し、前記暗号文セットおよび前記表現コードとをデバイスに対して送信する処理を実行するステップを有することを特徴とする。
【0066】
さらに、本発明の情報処理方法の一実施態様において、前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用したノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする。
【0067】
さらに、本発明の情報処理方法の一実施態様において、前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応するノードキーNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする。
【0068】
さらに、本発明の情報処理方法の一実施態様において、前記送信秘密情報の暗号化に適用するノードキーの選択処理は、前記階層型木構造の最下位ノードに対応するデバイス中、前記選択された限定デバイス以外の排除デバイスに対応する前記階層型木構造の葉からルートにいたるパス上のノード以外のノードによって構成される部分木の頂点ノードに対応するノードキー選択処理として実行することを特徴とする。
【0069】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする。
【0070】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換Fは、異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする。
【0071】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換F、および逆置換F−1 は、
【数19】
Figure 2004320183
ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、であることを特徴とする。
【0072】
さらに、本発明の情報処理方法の一実施態様において、前記暗号処理ステップは、ノードキーNKを適用した送信秘密情報の暗号化処理による暗号文生成に際し、ハッシュ関数を適用し、暗号文のビット長変更処理を実行することを特徴とする。
【0073】
さらに、本発明の第6の側面は、
暗号データ生成処理を実行する情報処理方法であり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された公開ノードキーPubNKを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する暗号処理ステップを有し、
前記暗号処理に適用する公開ノードキーは、前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された秘密ノードキーに対応して設定された公開ノードキーであることを特徴とする情報処理方法にある。
【0074】
さらに、本発明の情報処理方法の一実施態様において、前記送信秘密情報の暗号化に適用する公開ノードキーPubNKは、
PubNK=gPriNKkmodq
ただし、qは大きな素数、gは巡回群Zの生成元、
によって算出される公開ノードキーであることを特徴とする。
【0075】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、公開ノードキーPubNKを適用した送信秘密情報Iの暗号化処理による暗号文CTの生成を、
【数20】
Figure 2004320183
ただし、xは、区間[1,q−1]からランダムに選択した値、
によって実行する構成であることを特徴とする。
【0076】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記送信秘密情報の暗号化に適用する選択した各公開ノードキーを用いて秘密情報を暗号化した暗号文セットを生成するとともに、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用した公開ノードキーとの対応を示す表現コードを生成し、前記暗号文セットおよび前記表現コードとをデバイスに対して送信する処理を実行するステップを有することを特徴とする。
【0077】
さらに、本発明の情報処理方法の一実施態様において、前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用した公開ノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする。
【0078】
さらに、本発明の情報処理方法の一実施態様において、前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応する秘密ノードキーPriNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする。
【0079】
さらに、本発明の情報処理方法の一実施態様において、前記送信秘密情報の暗号化に適用する公開ノードキーの選択処理は、前記階層型木構造の最下位ノードに対応するデバイス中、前記選択された限定デバイス以外の排除デバイスに対応する前記階層型木構造の葉からルートにいたるパス上のノード以外のノードによって構成される部分木の頂点ノードに対応する公開ノードキー選択処理として実行することを特徴とする。
【0080】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする。
【0081】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換Fは、異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする。
【0082】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換F、および逆置換F−1 は、
【数21】
Figure 2004320183
ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
であることを特徴とする。
【0083】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、公開ノードキーPubNKを適用した送信秘密情報の暗号化処理による暗号文生成に際し、ハッシュ関数を適用し、暗号文のビット長変更処理を実行する構成であることを特徴とする。
【0084】
さらに、本発明の第7の側面は、
暗号データ復号処理を実行する情報処理方法であり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した暗号データの復号処理を実行する復号処理ステップを有し、
前記a分木構成を持つ階層型木構造のノードキーの設定構成は、
前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定された構成であり、
前記情報処理方法は、
情報処理装置対応ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用するノードキーの算出処理を実行するステップを有することを特徴とする情報処理方法にある。
【0085】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、複数のノードキーを用いて秘密情報を暗号化した複数の暗号文から構成される暗号文セット中から、前記情報処理装置対応ノードキーに基づいて算出可能なノードキーを適用して復号可能な暗号文の検出処理を実行するステップを有し、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用したノードキーとの対応を示す表現コードに基づいて前記検出処理を実行することを特徴とする。
【0086】
さらに、本発明の情報処理方法の一実施態様において、前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用したノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする。
【0087】
さらに、本発明の情報処理方法の一実施態様において、前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応するノードキーNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする。
【0088】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする。
【0089】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換Fは、異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする。
【0090】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換F、および逆置換F−1 は、
【数22】
Figure 2004320183
ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
であることを特徴とする。
【0091】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、ノードキーNKを適用した送信秘密情報の復号処理に際し、ハッシュ関数を適用し、復号に適用する鍵のビット長変更処理を実行することを特徴とする。
【0092】
さらに、本発明の第8の側面は、
暗号データ復号処理を実行する情報処理方法であり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された秘密ノードキーを選択的に適用して、前記秘密ノードキーに対応する公開ノードキーによって暗号化された暗号データの復号処理を実行する復号処理ステップを有し、
前記a分木構成を持つ階層型木構造の各ノードに対応する秘密ノードキーの設定構成は、
前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された構成であり、
前記情報処理方法は、
情報処理装置対応秘密ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用する秘密ノードキーの算出処理を実行するステップを有することを特徴とする情報処理方法にある。
【0093】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、秘密ノードキーPriNKを適用した暗号文CTの復号による秘密情報Iの取得を、
【数23】
Figure 2004320183
ただし、gmodqは、既知の値、
によって実行することを特徴とする。
【0094】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、前記a分木構成における複数の異なるノードの公開ノードキーを用いて秘密情報を暗号化した複数の暗号文から構成される暗号文セット中から、前記情報処理装置対応秘密ノードキーに基づいて算出可能な秘密ノードキーを適用して復号可能な暗号文の検出処理を実行するステップを有し、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用した公開ノードキーとの対応を示す表現コードに基づいて前記検出処理を実行することを特徴とする。
【0095】
さらに、本発明の情報処理方法の一実施態様において、前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用した公開ノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする。
【0096】
さらに、本発明の情報処理方法の一実施態様において、前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応する秘密ノードキーPriNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする。
【0097】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする。
【0098】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換Fは、異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする。
【0099】
さらに、本発明の情報処理方法の一実施態様において、前記落とし戸つき一方向置換F、および逆置換F−1 は、
【数24】
Figure 2004320183
ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
であることを特徴とする。
【0100】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、秘密ノードキーPriNKを適用した秘密情報の復号処理に際し、ハッシュ関数を適用する構成であることを特徴とする。
【0101】
さらに、本発明の第9の側面は、
暗号データ生成処理を実行するコンピュータ・プログラムであり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する暗号処理ステップを有し、
前記暗号処理に適用するノードキーは、前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定されたノードキーであることを特徴とするコンピュータ・プログラムにある。
【0102】
さらに、本発明の第10の側面は、
暗号データ生成処理を実行するコンピュータ・プログラムであり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された公開ノードキーPubNKを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する暗号処理ステップを有し、
前記暗号処理に適用する公開ノードキーは、前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された秘密ノードキーに対応して設定された公開ノードキーであることを特徴とするコンピュータ・プログラムにある。
【0103】
さらに、本発明の第11の側面は、
暗号データ復号処理を実行するコンピュータ・プログラムであり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した暗号データの復号処理を実行する復号処理ステップを有し、
前記a分木構成を持つ階層型木構造のノードキーの設定構成は、
前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定された構成であり、
前記コンピュータ・プログラムは、
情報処理装置対応ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用するノードキーの算出処理を実行するステップを有することを特徴とするコンピュータ・プログラムにある。
【0104】
さらに、本発明の第12の側面は、
暗号データ復号処理を実行するコンピュータ・プログラムであり、
上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された秘密ノードキーを選択的に適用して、前記秘密ノードキーに対応する公開ノードキーによって暗号化された暗号データの復号処理を実行する復号処理ステップを有し、
前記a分木構成を持つ階層型木構造の各ノードに対応する秘密ノードキーの設定構成は、
前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された構成であり、
前記情報処理方法は、
情報処理装置対応秘密ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用する秘密ノードキーの算出処理を実行するステップを有することを特徴とするコンピュータ・プログラムにある。
【0105】
【作用】
本発明の構成に従えば、階層型木構造を適用した暗号鍵等の暗号データ提供処理において、リーフの保持する鍵の数を1つのみとすることが可能となり、その保持する鍵に基づいてルートから自己の属するリーフまでのパス上の各ノードに対応するノードキーの算出を効率的に行い、暗号文の復号処理を少ない保持鍵に基づいて効率的に実行することが可能となる。具体的には、各デバイスは高々logN回、すなわち最大でも木の高さの回数だけ一方向置換を実行すれば、自分が与えられた葉に対応するノードキーから、その葉からルートまでのパス上に存在する任意のノードキーを導出することが可能となる。
【0106】
さらに、本実施例の構成に従えば、階層型木構造を適用した暗号データ提供処理において、a分木(HKT)における各ノードキーの算出処理および設定処理に落とし戸つき一方向置換Fと、逆置換F−1 を適用し、各デバイスにおけるノードキーの算出において、最大でも木の高さの回数だけの一方向置換Fを実行すればノードキー算出を完了する構成としたので、各デバイスにおける暗号文の復号プロセスにおける処理負荷が軽減される。
【0107】
さらに、本実施例の構成に従えば、リボークデバイスの排除処理に基づいて構成される部分木の頂点ノードを選択し、頂点ノードに基づいて構成される表現木を設定し、表現木の葉、すなわち部分木の頂点ノードに対応するノードキーを用いて送信する秘密情報(I)を暗号化して生成した暗号文を送信することで、部分木のルートとなるノードに対応するノードキーを導出することができるリボークされていないデバイスのみが、自己において導出可能なノードキーを用いた暗号文の復号により秘密情報の取得が可能となり、限定ユーザを特定した暗号化データの配信が可能となる。
【0108】
さらに、本発明の構成によれば、信頼性の必ずしも保証されない任意のエンティテイが、信頼センタの公開するノード対応の公開ノードキー情報を取得して、公開ノードキーを用いた秘密情報の暗号化処理を実行することで、秘密情報(I)を特定のリボークされないデバイスにのみ選択的に送信することが可能となり、本構成においても、それぞれのデバイスは高々logN回、すなわち最大でも木の高さの回数だけ一方向置換を実行すれば、自分が与えられた葉に対応する秘密ノードキーから、その葉からルートまでのパス上に存在する任意の秘密ノードキーを導出することが可能となり、導出した秘密ノードキーを用いて暗号文を復号することによって秘密情報を取得することが可能となる。
【0109】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0110】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0111】
【発明の実施の形態】
以下、本発明の情報処理装置、および情報処理方法、並びにコンピュータ・プログラムについて詳細に説明する。
【0112】
本発明は、木構造(ツリー構造)を用いた鍵配信方式において、用いる木構造の1つのノード(節点)に対する子ノードの数をaとして設定したa分岐構造の木構造(ツリー構造)を用いた鍵配信方式において、a個の落とし戸つき一方向置換を用いることにより、リーフに設定されるデバイスが保管すべき鍵の数を1個として、デバイスが必要とする計算量を最大logN回の落とし戸つき一方向置換の実行の計算量に抑えることを可能としたものである。ただし、Nは、木構造(ツリー構造)を用いた鍵配信方式において鍵配信処理対象となる全デバイス数である。以下、本発明の実施例について説明する。
【0113】
なお、以下に説明する実施例では、木構造(ツリー構造)を用いた鍵配信方式において適用する木構造を1つのノード(節点)に対する子ノードの数をaとして設定したa分木構造とし、木構造(ツリー構造)のリーフとしての全デバイス数をNとする。ただしa,Nは2以上の自然数である。ここでは、簡単のため、デバイス数Nを正整数aのべき乗の数とする。
【0114】
実施例では、a分木(Hierarchical Key Tree:HKTと呼ぶ)構造において、例えば暗号鍵等の秘密情報(I)を暗号化した暗号文を受信し、暗号文の復号により、秘密情報(I)を取得するユーザデバイス、例えば各ユーザの受信機はHKTのリーフにそれぞれ割り当てられる。また、木構造(ツリー構造)を用いた暗号データ配信システムの管理者を信頼できるものとし、信頼センタ(Trusted Center:TC)とする。
【0115】
[実施例1:基本方式]
実施例1では信頼センタTCが、暗号化鍵情報、暗号化データ等、各種の秘密情報(I)の送信者となる例を説明する。以下、処理手順に従って、次の(1)〜(3)の処理フェーズ、すなわち、
(1)秘密情報(I)の送信を行うための木構造を形成する各ノードに対するノードキーの割り当て等の処理を実行するセットアップ処理。
(2)セットアップ後の木構造を用いた暗号化秘密情報の送信処理。
(3)木構造のリーフに設定されたデバイスにおける暗号化秘密情報の受信および復号処理。
の3つの処理について、順次説明する。
【0116】
(1)セットアップ処理
信頼センタTCは、図4に示すような各ノードにa個の子ノードまたはリーフを持つa分木構造を持ち、デバイスを設定するリーフとしてのN個の葉を持つa分木(HKT)を定義し、その構成を公開する。図4に示すa分木(HKT)の最上位ノードであるルート101をルートvとし、それ以降は幅方向優先の順番で各ノードに番号付けをし、各ノードをv,v,v,v,・・とする。図4に示すa分木(HKT)は、a=3、N=27の場合のa分木(HKT)である。
【0117】
N個の受信機等のデバイスをa分木(HKT)のそれぞれ異なる葉に割り当て、この割り当てを公開する。デバイスは、信頼センタから暗号鍵情報等の暗号化秘密情報を受信し、復号して利用するデバイスである。a分木(HKT)のそれぞれ異なる葉に割り当てたデバイスをu,u,u,u,・・u27とする。
【0118】
さらに、信頼センタTCは、a分木(HKT)のそれぞれ異なるノードに設定するノードキーを生成するために適用するa個の落とし戸つき一方向置換F…Fを作成し公開する。なお、以下の説明においては、a分木(HKT)のルートからデバイスの設定された葉に至るまでの全てのルート、ノード、リーフ(葉)の全体を含めてノードと総称し、ルート、ノード、リーフ(葉)に割り当てるキーをノードキーと総称して説明する。
【0119】
信頼センタTCが、ノードキーを生成するために適用する落とし戸つき一方向置換F()とは、入力xが与えられたときにy=F(x)を計算するのは容易であるが、yが与えられたときにy=F(x)を満たすようなxを見つけること(すなわち逆置換F−1 (y)を行うこと)はF()を作成したときに用いた秘密を知るものだけが容易に行え、秘密を知らないものはxを見つけることが計算量的に困難であるような置換である。
【0120】
本発明で適用可能な落とし戸つき一方向置換の具体例について説明する。一般に、落とし戸つき一方向置換としてよく知られているものに、RSA関数が挙げられる。落とし戸つき一方向置換としてのRSA関数の解説は、たとえばO.Goldreich著、岡本龍明、藤崎英一郎訳、「現代暗号・確率的証明・擬似乱数」、シュプリンガー・フェアラーク、2001年、pp.168−169に記されている。
【0121】
落とし戸つき一方向置換としてのRSA関数を用いて、落とし戸つき一方向置換Fとその逆置換F−1 を下記のように定めることができる。
【0122】
【数25】
Figure 2004320183
【0123】
上記式において、Mは2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数である。e、dは、iが異なるときに異なる値となるように設定される。つまり、iとjが等しくないとき、eとeが、またdとdが等しくならないように設定する。
【0124】
またcはiが異なるとき、異なる整数となるように設定される。つまり、iとjが等しくないとき、cとcが等しくならない整数である。ここで、p,qとdは信頼センタTCが秘密に保管し、Fを実現するのに必要なMとeとcは全デバイスに公開する。
【0125】
このようにすることにより、各置換の定義域および値域がすべて等しく、また異なるi,jについてF(F(x))とF(F(x))が等しくならない置換、あるいは、等しくなる確率が無視できるほど小さい置換を構成することが可能である。
【0126】
また、一例として、デバイスのプログラムコードサイズを減少させるために、eとcを独立に選ぶのではなく、たとえばeはある値(たとえば216=65536)を超える、i番目の奇数とする、cはc=iとする、など、規則性を持たせる設定としてもよい。
【0127】
逆置換F−1 …F−1 は信頼センタTCが秘密に保管する。ただし、本実施例においてはF…Fはすべて定義域および値域がすべて等しく、また異なるi、jについてF(F(x))とF(F(x))が等しくならない(あるいは、等しくなる確率が無視できるほど小さい)置換である。
【0128】
次に信頼センタTCはルートvに対応するノードキーNKを、置換F()の定義域の中からランダムに選択する。そして、それ以外のノードvに対応するノードキーNKを、下記の手順で再帰的に生成する。
【0129】
すなわち、あるノードvに対応するノードキーをNKとするとき、vの子ノードのうち、左端の子ノードのノードキーをF−1 (NK)とし、左からi番目の子ノードのノードキーをF−1 (NK)とし、右端のもののノードキーをF−1 (NK)とする。信頼センタTCはこの手法を用いて、まずルートの子ノードのノードキーを作り、さらにそれらのノードの子ノードのノードキーを作る、というようにしてa分木(HKT)のすべてのノード(葉も含む)に対応するノードキーを作成する。
【0130】
図5に、ルートv101のノードキーをSと置いたときの各ノードのノードキーの設定例を示す。図4、図5において、ノードV102のノードキーNKはF−1 (S)であり、ノードV11103のノードキーNK11はF−1 (F−1 (S))であり、ノードV23104のノードキーNK23はF−1 (F−1 (F−1 (S)))である。これらの各ノードキーは、すべてルートに設定したノードキーSから逆置換F−1 を用いて算出される。
【0131】
信頼センタTCは、a分木(HKT)中の葉に対応するノードキーを、その葉に割り当てられたデバイスに秘密裏に与える。
【0132】
図4、図5において、葉であるノードV14105のノードキーNK14、すなわち値としてはF−1 (F−1 (F−1 (S)))がその葉に割り当てられたデバイスu1に与えられ、葉であるノードV23104のノードキーNK23、すなわち値としてはF−1 (F−1 (F−1 (S)))がその葉に割り当てられたデバイスu10に与えられる。
【0133】
これらの葉に割り当てられたデバイスに与えられるノードキーは、たとえばデバイスの製造時にデバイスに格納される。デバイスはそれを外部に漏らさないように秘密に格納する。
【0134】
上述した木構造におけるルートからリーフに至る全ノードに対するノードキーの設定により、セットアップ処理が終了する。このセットアップ処理は、システム運用開始時に一度だけ行えばよく、その後は以下の秘密情報の送信を繰り返し行うことができる。
【0135】
(2)秘密情報の送信
次に、信頼センタTCが秘密情報を、選択したデバイスにのみ提供する方法について説明する。まず、信頼センタTCは秘密情報の取得を認めないデバイス、すなわちa分木(HKT)のそれぞれ異なる葉に割り当てたデバイスu,u,u,u,・・u27から秘密情報の取得を認めないデバイス(排除(リボーク)デバイス)を決定する。以下、秘密情報の取得を認めないデバイスをリボークデバイスと呼ぶ。リボークデバイス以外のデバイスは、信頼センタTCが送信する秘密情報を取得可能な限定された正規デバイスである。
【0136】
図6において、リボークデバイスをX印で表す。図6の例ではデバイスu、u13、u14、u22、u23、u24、u27がリボークデバイスである。
【0137】
信頼センタTCは、これら排除されるデバイスに割り当てられた葉からルートにいたるまでのパス上のすべてのノードを選択する。図6では黒丸でマークされたノードが選択ノードである。
【0138】
黒丸でマークされた選択ノードに対応するノードキーは、後述のように排除されたデバイスが持つノードキーから導出することができるので、これらのノードキーは使用することができない。
【0139】
黒丸でマークされなかったノードに注目すると、これらは1つ以上の部分木を構成している。例えば部分木201は、頂点ノードvをルートとし、3つの葉v17、v18、v19を子ノードとした部分木201である。部分木202のように、ノードが1つ(v28)のものもあるが、これも部分木として考える。信頼センタTCはこれらの部分木のルートとなるノード、すなわち頂点ノードに対応するノードキーを用いて送信する秘密情報(I)を暗号化して生成した暗号文を同報通信路を用いて送信する。
【0140】
黒丸でマークされた選択ノードに対応するノードキーは、リボークデバイスが持つノードキーから導出することができるノードキーであり、これらのノードキーを使用しない暗号文をデバイスに送信することで、リボークデバイス(×印)は、自己において導出可能なノードキーを用いた暗号文の復号により秘密情報の取得ができないことになる。
【0141】
部分木のルートとなるノード、すなわち頂点ノードに対応するノードキーを用いて送信する秘密情報(I)を暗号化した暗号文のセットを同報通信路を用いて送信することで、部分木のルートとなるノードに対応するノードキーを導出することができるリボークされていないデバイスのみが、暗号文セットから、自己において導出可能なノードキーを用いて暗号化された暗号文を選択し、選択暗号文を自己において導出可能なノードキーを用いて復号することにより秘密情報の取得が可能となる。
【0142】
図6の例では、部分木のルートとなっているのは図6において四角マークで示したv、v、v、v10、v11、v14、v16、v28、v38、v39であり、それぞれのノードに対応するノードキーを用いて、秘密情報(I)を暗号化して送信する。すなわち、秘密情報(I)を複数のノードキーでそれぞれ暗号化した複数の暗号文のセットが生成されて、送信される。
【0143】
暗号化のひとつの手法としては、たとえばFIPS197で定められた米国暗号標準であるAES(Advanced Encryption Standard)など安全と考えられる既存の暗号化アルゴリズムを用いることができる。この場合、AESの鍵サイズのひとつである128ビット長のブロック暗号化処理を適用するために、ノードキーを128ビットの値を出力するハッシュ関数に入力し、その出力を鍵としてAESアルゴリズムを用いて秘密情報(I)を暗号化するのが具体的構成の一例である。AESアルゴリズムについては、例えば、http://csrc.nist.gov/CryptoToolkit/aes/に詳細が記述されている。
【0144】
128ビットの値を出力するハッシュ関数としては、ハッシュ関数として知られたMD5を適用することが可能である。MD5についての詳細は、例えば「1997年,CRC プレス社,A. J. Menezes, P. C. van Oorschot, S. A. Vanstone 著,「Handbook of Applied Cryptography」 p. 347」に記述されている。
【0145】
暗号文とそれを暗号化するのに用いられたノードキーとの対応を明示するためには、たとえば表現木を用いる。表現木は、a分木(HKT)の最上位ノードであるルートと、そこから暗号文を作るのに用いられたノードキーに対応するノードまでのa分木(HKT)のパスを結んだものである。
【0146】
図7に、本実施例における表現木を示す。全体の木(a分木(HKT))に対して、太線で表されている部分木が表現木となる。
【0147】
図6に示したように、暗号化に用いられるノードキーに対応するノードはv、v、v、v10、v11、v14、v16、v28、v38、v39であり、これらのノードからルートまでのa分木(HKT)のパスを集めたものが表現木になる。
【0148】
表現木の各ノードは、もとのa分木(HKT)のノードの子ノードの数aに対応するaビットの情報を持つ。aビット中のそれぞれのビットは、対応する子ノードが表現木中に存在するか、否かを表す。存在する場合は1、存在しない場合は0とする。
【0149】
図7の例においては、表現木のルートvの横に(1、1、1)が書かれているが、これはvの子ノードv、v、vがいずれも表現木中に存在することを表している。これに対して、ノードvの横に示す値は(1、0、1)である。これは、a分木(HKT)におけるこのノードvの子ノードv14、v15、v16のうち、左端のノードv14と右端のノードv16は表現木中に存在するが、中央のノードv15は表現木中に存在しないことを表している。暗号文を作成するのに使われたノードキーに対応するノードが表現木の葉になっている場合、葉に対する子ノードは存在しないので、値としてすべて0、すなわち(0、0、0)を持つ。表現木の構造を表すのには、表現コードを用いる。
【0150】
表現コードは、表現木に含まれるすべてのノードの値を、ルートから幅優先順序で並べたものである。図7の例では、表現木に含まれるノードはv、v、v、v、v、v、v、v、v、v10、v11、v13、v14、v16、v28、v38、v39であり、それぞれのノードは(1、1、1)、(1、1、1)、(1、1、1)、(1、0、1)、(1、0、1)、(0、0、0)、(0、0、0)、(0、0、0)、(0、0、1)、(0、0、0)、(0、0、0)、(1、1、0)、(0、0、0)、(0、0、0)、(0、0、0)、(0、0、0)、(0、0、0)の値を持つ。
【0151】
これらの値をシーケンシャルに並べたaビットのビット列、[111111111101101000000000001000000110000000000000000]が表現コードとなる。
【0152】
信頼センタTCは表現コードを秘密情報(I)を含む暗号文の送信に先立って、あるいは、秘密情報(I)を含む暗号文と一緒に、同報通信路を用いて送信する。また、暗号文は、暗号化に用いられたノードキー毎に、秘密情報を暗号化した暗号文を複数持つ暗号文セットであり、その順番は、暗号化に用いられたノードキーに対応するノードの番号が小さい順に設定される。
【0153】
図6に示したように、暗号化に用いられるノードキーに対応するノードはv、v、v、v10、v11、v14、v16、v28、v38、v39であり、これらのノードに対応するノードキーによって秘密情報(I)が暗号化されて暗号文が生成された場合、ノードv、の対応ノードキーで秘密情報を暗号化した暗号文をEnc(v,I)とした場合、デバイスに送信される暗号文は、
Enc(v,I),Enc(v,I),Enc(v,I),Enc(v10,I),Enc(v11,I),Enc(v14,I),Enc(v16,I),Enc(v28,I),Enc(v38,I),Enc(v39,I)
となる。
【0154】
この暗号文と、前述の表現コード[111111111101101000000000001000000110000000000000000]がデバイスに送信される。
【0155】
(3)受信、復号
次に、上述した表現コードと暗号文を受信したデバイスがどのようにして送信された秘密情報(I)を取得するかについて、説明する。
【0156】
まず、デバイスは、セットアップ処理において信頼センタの公開したa分木(HKT)の構成情報を用いて、受信した表現コードを表現木のノードに対応する値、すなわち(1、1、1)、(1、1、1)、(1、1、1)、(1、0、1)、(1、0、1)、(0、0、0)、(0、0、0)、(0、0、0)、(0、0、1)、(0、0、0)、(0、0、0)、(1、1、0)、(0、0、0)、(0、0、0)、(0、0、0)、(0、0、0)、(0、0、0)に分離する。
【0157】
デバイスは、これらの値に基づき、幅優先順の探索を行って表現木内における子ノードの有無を判定する。たとえば、最初の値(1、1、1)は、ルートvに対応し、ルートの3つの子ノードv、v、vすべてが表現木に存在することを示している。次の値(1、1、1)は、ノードvに対応し、その3つの子ノードv、v、vすべてが表現木に存在することを示している。
【0158】
デバイスは、a分木(HKT)におけるデバイスのノードから根までのパス上のノードに対応する葉のノードを検出するまで、(例えば、幅優先順検索法を用いて)再構築された表現木を検索する(ここで、表現木のノードvは、a分木(HKT)のノードvに対応する)。
【0159】
たとえば、図7において、デバイスu301は、ノードv14を、デバイスu302はノードv16を、デバイスu、u、u303は、ノードvを表現木の葉として認識する。a分木(HKT)におけるデバイスのノードからルートまでのパス上のノードに対応する葉のノードが見付からない場合、デバイスは、自らが無効にされ、有効なノードキーを導出することができないと判断する。
【0160】
例えば、デバイスu311は、無効(リボーク)にされており、したがって、デバイスu311のノードから根までのパス上に葉を検出することができない。すなわち、デバイスu311は、ノードv15に対応し、ノードv15からルート(ノードv)までのパスには、ノードv15、v、v、vが含まれるが、これらのノードv15、v、v、vは、いずれも表現木の葉に対応していない。なお、デバイスは、例えば、ネットワーク接続を介して、管理センタと通信することにより、デバイスが無効にされたことを確認することができる。管理センタは、リボークされたデバイスのリスト、すなわちリボークリストを有し、ノードからの問い合わせに応答し、また信頼センタ(TS)に対してリボークリストに基づくリボーク情報を提供する。信頼センタ(TS)は、リボーク情報に基づいて上述した表現木を生成する。
【0161】
a分木(HKT)において自身の葉からルートまでのパス上に、表現木の葉となるノードが存在した場合、デバイスは、信頼センタ(TS)から送信されてきた暗号文の中から、自デバイスにおいて処理すべき暗号文を選択する。
【0162】
信頼センタ(TS)は、暗号文を、一例として上述のルール、すなわち暗号化に用いられたノードキーに対応するノードの番号が小さい順に従ったシーケンスに並べて送信する。これにより、各デバイスが、自デバイスにおいて処理可能な暗号文をノードの番号と暗号文の送信される順番により求めることができる。
【0163】
デバイスは、選択した暗号文をそのノードに対応して設定されたノードキーを用いて復号する。この際、デバイスが与えられた鍵、すなわちデバイスが割り当てられたa分木(HKT)の葉に対応するノードキーから、その暗号文の暗号化に用いられたa分木(HKT)の葉、もしくは内部ノードのノードキーを下記のように導出する。
【0164】
もしa分木(HKT)においてデバイスが割り当てられた葉が表現木の葉と一致するときは、デバイスが与えられたノードキーを用いて暗号化がなされているので、直接これを用いて暗号文を復号する。
【0165】
もし表現木の葉が、a分木(HKT)の内部ノードであるときは、デバイスはあらかじめ与えられたa分木(HKT)の葉のノードキーから内部ノードのノードキーを導出する。まず、a分木(HKT)において、デバイスが割り当てられた葉がその親ノードの左から数えて何番目の子であるかを調べる。これをi番目とおくと、その与えられたノードキーNKに対して、公開されている一方向置換Fを適用した結果のF(NK)が親ノードのノードキーとなる。
【0166】
たとえば図7において、ノードv18304は、その親ノードv305の左から2番目の子ノードであるから、ノードv18304に対応するデバイスu306は、与えられたノードv18304のノードキーNK18と、公開されている一方向置換Fを用いてノードv305のノードキーNK=F(NK18)を導出することができる。
【0167】
これは、図5において、ノードキーNKとしてF−1 (F−1 (S))が定義され、デバイスuが割り当てられた葉v18のノードキーNK18としてF−1 (F−1 (F−1 (S)))が定義されているので、F(NK18)=F(F−1 (F−1 (F−1 (S))))=F−1 (F−1 (S))=NKとなることからも確かめられる。
【0168】
もしデバイスがさらに上位のノードのノードキーを必要としていれば、デバイスはこの処理を繰り返すことでさらに上位のノードのノードキーを導出できる。すなわち、デバイスがこれまでに導出したノードキーNKに対応するノードがその親ノードの左からi番目の子ノードであるとき、親ノードのノードキーはF(NK)となる。デバイスは必要なノードキーを導出するまであるノードキーから親ノードのノードキーを導出する処理を繰り返す。たとえば、排除されるデバイスがひとつもないときは、ルートのノードキーが暗号化に用いられ、ただ1つの暗号文が送信される。この暗号文を復号するために、デバイスuはルートのノードキーをF(F(F(NK21)))として求めることができる。
【0169】
先に述べた暗号化の例に准ずれば、必要なノードキーを導出したら、デバイスはそれをハッシュ関数に入力し、その出力をAESの鍵として暗号文の復号を行う。
【0170】
本実施例の構成を用いれば、それぞれのデバイスは高々logN回、すなわち最大でも木の高さの回数だけ一方向置換を実行すれば、自分が与えられた葉に対応するノードキーから、その葉からルートまでのパス上に存在する任意のノードキーを導出することが可能となる。
【0171】
図8に、本実施例全体の流れと信頼センタTCおよびデバイスの処理を示す。
【0172】
処理は、上述した説明から明らかなように、
(1)セットアップ処理
(2)信頼センタによるリボークおよび暗号文送信
(3)デバイスによる暗号文受信、復号
の3フェーズによって構成される。
【0173】
(1)のセットアップ処理は1回、実行すればよく、セットアッサプされた後のリボーク処理、暗号文送信処理、暗号文受信および復号処理は繰り返し実行可能となる。
【0174】
セットアップ処理では信頼センタTCが、ステップS101において、以下の処理を実行する。
(a)a分木(HKT)の生成、a分木(HKT)構成情報の公開処理
(b)落とし戸つき一方向置換Fとその逆置換F−1 を設定し、一方向置換Fを公開する処理
【0175】
(c)ルートvに対応するノードキーNKを、置換F()の定義域の中からランダムに選択し、a分木(HKT)のルートv以外のノードvに対応するノードキーNKを、下記の手順で再帰的に生成する処理。すなわち、あるノードvに対応するノードキーをNKとするとき、vの子ノードのうち、左端のもののノードキーをF−1 (NK)とし、左からi番目の子ノードのノードキーをF−1 (NK)とし、右端のもののノードキーをF−1 (NK)とする。信頼センタTCはこの手法を用いて、まずルートの子ノードのノードキーを作り、さらにそれらのノードの子ノードのノードキーを作る、というようにしてa分木(HKT)のすべてのノード(葉も含む)に対応するノードキーを作成する。
【0176】
(d)葉のノードキーを各受信機へ送信する処理。これらの(a)〜(d)の処理を信頼センタが実行する。
【0177】
一方、デバイスは、ステップS201において以下の処理を実行する。すなわち、上述した信頼センタTCのセットアップ処理において公開または提供される以下の情報、
(e)a分木(HKT)構成情報
(f)落とし戸つき一方向置換F
(g)自己ノードである葉のノードキー
の各情報を取得する。
【0178】
これらのセットアップ処理の後、(2)信頼センタによるリボークおよび暗号文送信処理が実行される。
【0179】
信頼センタTCは、ステップS102において、以下の処理を実行する。
(h)リボークデバイスの選択
(i)暗号化用ノードキーの選択
(j)表現コード生成
(k)暗号文生成
(l)表現コード、暗号文送信
の各処理である。
【0180】
(h)リボークデバイスの選択は、図6を参照して説明したように、秘密情報の取得を認めないデバイスを選択する処理である。例えば、図6の例では、a分木(HKT)のそれぞれ異なる葉に割り当てたデバイスu,u,u,u,・・u27を秘密情報の取得を認めないデバイス(排除(リボーク)デバイス)として決定している。
【0181】
(i)暗号化用ノードキーの選択は、リボークデバイスに割り当てられた葉からルートにいたるまでのパス上のノード(図6の黒丸ノード)以外のノードによって構成される部分木のルート(頂点ノード)となるノード(図6の四角ノード)に対応するノードキーの選択処理として実行される。
【0182】
これらのノードキーによって送信する秘密情報(I)を暗号化した暗号文のセットを送信することで、リボークされていないデバイスは、部分木のルートとなるノードに対応するノードキーのいずれかを導出することができるので、受信暗号文セットから、自己において導出可能なノードキーによって暗号化された暗号文を選択して復号することにより秘密情報の取得が可能となる。暗号文のセット中には、リボークデバイスが持つノードキーから導出することができるノードキーによって暗号化された暗号文が含まれないため、リボークデバイス(×印)は、秘密情報の取得ができないことになる。
【0183】
(j)表現コード生成は、デバイスに送信する暗号文のセットと、暗号化に用いたノードキーとの対応を明示するためのコードデータであり、a分木(HKT)の最上位ノードであるルートと、そこから暗号文を作るのに用いられたノードキーに対応するノードまでのa分木(HKT)のパスを結んだ表現木(図7参照)構成を示すコードデータである。
【0184】
デバイスは、暗号文のセットと、表現コードとを対応付けて、自デバイスにおいて算出可能なノードキーを用いて、秘密情報(I)を暗号化した暗号文を選択することが可能となり、選択暗号文の復号により秘密情報(I)を取得できる。
【0185】
(k)暗号文生成処理は、上述した(i)暗号化用ノードキーの選択において選択したノードキー、すなわち、リボークデバイスに割り当てられた葉からルートにいたるまでのパス上のノード(図6の黒丸ノード)以外のノードによって構成される部分木のルート(頂点ノード)となるノード(図6の四角ノード)に対応するノードキーによって秘密情報(I)を暗号化する処理である。
【0186】
(l)表現コード、暗号文送信処理は、上述の(j)表現コード生成処理で生成した表現コードと、上述の(k)暗号文生成処理において生成した暗号文のセットをデバイスに対して送信する処理である。例えば同報通信路を介したデータ送信として実行され、データ受信は、いずれのデバイスも可能である。ただし、上述したように、リボークされたデバイス以外のデバイスのみが導出可能なノードキーのみを用いて暗号化した暗号文のみが含まれるので、リボークデバイスは暗号文を受信しても復号することができず、リボークされていないデバイスのみが、暗号文を復号して秘密情報(I)を取得することが可能となる。
【0187】
次に、(3)デバイスによる暗号文受信、復号の処理として、デバイスは、ステップS202において、
(m)表現コード、暗号文受信
(n)表現木再構築
(o)ノード、暗号文特定
(p)ノードキー導出
(q)暗号文復号
の各処理を実行する。
【0188】
(m)表現コード、暗号文受信は、信頼センタTCの送信する表現コード、暗号文を受信する処理である。
【0189】
(n)表現木再構築は、信頼センタTCから受信した表現コードに基づいて、表現木を再構築する処理である。表現コードは、デバイスが受信した暗号文のセットと、暗号化に用いたノードキーとの対応を明示するためのコードデータであり、a分木(HKT)の最上位ノードであるルートと、そこから暗号文を作るのに用いられたノードキーに対応するノードまでのa分木(HKT)のパスを結んだ表現木(図7参照)構成を示すコードデータである。デバイスは、セットアップ処理時に信頼センタの公開したa分木(HKT)の構成情報と、信頼センタTCから受信した表現コードに基づいて、暗号文を作るのに用いられたノードキーに対応するノードまでのa分木(HKT)のパスを結んだ表現木(図7参照)構成を再構築する。
【0190】
(o)ノード、暗号文特定処理は、信頼センタTCから受信した表現コードに基づいて再構築した表現木から、自デバイスにおいて導出可能なノードキーを持つノードを特定し、そのノードに対応するノードキーを用いて暗号化した暗号文を信頼センタTCから受信した暗号文のセットから特定する処理である。a分木(HKT)において自身の葉からルートまでのパス上に、表現木の葉となるノードが存在した場合、表現木の葉となるノードに対応するノードキーを用いて暗号化された暗号文が、信頼センタTCから受信した暗号文のセットに含まれることになる。
【0191】
暗号文は、複数の暗号文のセットにより構成され、その順番は、前述したように、暗号化に用いられたノードキーに対応するノードの番号が小さい順に設定されたものであり、デバイスは、a分木(HKT)において自身の葉からルートまでのパス上に、表現木の葉となるノードが存在した場合、表現木の葉となるノードに対応するノードキーを用いて暗号化された暗号文を選択することができる。
【0192】
デバイスは、このように、暗号文のセットと、表現コードとを対応付けて、自デバイスにおいて算出可能なノードキーを用いて、秘密情報(I)を暗号化した暗号文を選択することが可能となる。
【0193】
(p)ノードキー導出処理は、以下のように実行する。もしa分木(HKT)においてデバイスが割り当てられた葉が表現木の葉と一致するときは、デバイスが与えられたノードキーを用いて暗号化がなされているので、直接これを用いて暗号文を復号する。もし表現木の葉が、a分木(HKT)の内部ノードであるときは、デバイスはあらかじめ与えられたa分木(HKT)の葉のノードキーから内部ノードのノードキーを導出する。まず、a分木(HKT)において、デバイスが割り当てられた葉がその親ノードの左から数えて何番目の子であるかを調べる。これをi番目とおくと、その与えられたノードキーNKに対して、公開されている一方向置換Fを適用した結果のF(NK)が親ノードのノードキーとなる。
【0194】
たとえば図7において、ノードv18304は、その親ノードv305の左から2番目の子ノードであるから、ノードv18304に対応するデバイスu306は、与えられたノードv18304のノードキーNK18と、公開されている一方向置換Fを用いてノードv305のノードキーNK=F(NK18)を導出することができる。
【0195】
もしデバイスがさらに上位のノードのノードキーを必要としていれば、デバイスはこの処理を繰り返すことでさらに上位のノードのノードキーを導出できる。すなわち、デバイスがこれまでに導出したノードキーNKに対応するノードがその親ノードの左からi番目の子ノードであるとき、親ノードのノードキーはF(NK)となる。デバイスは必要なノードキーを導出するまであるノードキーから親ノードのノードキーを導出する処理を繰り返す。たとえば、排除されるデバイスがひとつもないときは、ルートのノードキーが暗号化に用いられ、ただ1つの暗号文が送信される。例えば、この暗号文を復号するために、デバイスuはルートのノードキーをF(F(F(NK21)))として求めることができる。
【0196】
(q)暗号文復号処理は、上述の(p)ノードキー導出処理によって取得したノードキーを用いて、上述の(o)ノード、暗号文特定処理において特定した処理対象の暗号文を復号する処理として実行する。例えば、AESアルゴリズムに従ってノードキー導出処理によって取得したノードキーを用いて復号処理を実行することで、秘密情報(I)を取得する。
【0197】
このように、本実施例の構成を用いれば、それぞれのデバイスは高々logN回、すなわち最大でも木の高さの回数だけ一方向置換を実行すれば、自分が与えられた葉に対応するノードキーから、その葉からルートまでのパス上に存在する任意のノードキーを導出することが可能となり、導出したノードキーを用いて暗号文を復号することによって秘密情報を取得することが可能となる。
【0198】
上述したように、本実施例の構成では、信頼センタが、a分木(HKT)を設定し、リボークデバイスの排除処理に基づいて構成される部分木の頂点ノードを選択し、頂点ノードに基づいて構成される表現木を設定し、表現木の葉、すなわち部分木の頂点ノードに対応するノードキーを用いて送信する秘密情報(I)を暗号化して同報通信路を用いて暗号文を送信することで、部分木のルートとなるノードに対応するノードキーを導出することができるリボークされていないデバイスのみが、自己において導出可能なノードキーを用いた暗号文の復号により秘密情報の取得が可能となり、デバイスにおいてノードキー算出に必要な計算量の削減が可能となる。
【0199】
[実施例2:公開鍵バージョン]
実施例2では、実施例1の基本方式に対して公開鍵バージョンを構成し、必ずしも信頼性の保障されない任意のエンティテイが秘密情報の送信者になれるようにした構成例である。
【0200】
実施例2では、a分木(HKT)の各ノードに秘密ノードキー公開ノードキーとを設定し、公開ノードキーを公開して、公開ノードキーによって暗号文を生成し、受信デバイスにおいて、秘密ノードキーを導出して暗号文の復号を実行する構成である。
【0201】
図9を参照して、本実施例全体の流れと信頼センタTC、秘密情報送信者、およびデバイスの処理を示す。秘密情報送信者は、必ずしも信頼性の保障されない任意のエンティテイである。
【0202】
処理は、上述した実施例1と同様、
(1)セットアップ処理
(2)信頼センタによるリボークおよび暗号文送信
(3)デバイスによる暗号文受信、復号
の3フェーズによって構成される。
【0203】
(1)のセットアップ処理は1回、実行すればよく、セットアッサプされた後のリボーク処理、暗号文送信処理、暗号文受信および復号処理は繰り返し実行可能となる。
【0204】
セットアップ処理では信頼センタTCが、ステップS311において、以下の処理を実行する。
(a)a分木(HKT)の生成、a分木(HKT)構成情報の公開処理
(b)落とし戸つき一方向置換Fとその逆置換F−1 を設定し、一方向置換Fを公開する処理
これらの処理は、上述の実施例1と同様の処理である。
【0205】
(c)a分木(HKT)のルートvに対応する秘密ノードキーPriNKと、公開ノードキーPubNKを以下の手順で生成する。
【0206】
信頼センタTCは、大きな素数qと巡回群Zの生成元gを公開する。実施例1のセットアップで作成したa分木(HKT)の各ノードに対応するノードキーを、秘密ノードキーPriNKとして定義する。
【0207】
すなわち、ルートvに対応する秘密ノードキーPriNKを、落とし戸つき一方向置換F()の定義域の中からランダムに選択し、a分木(HKT)のルートv以外のノードvに対応する秘密ノードキーPriNKを、下記の手順で再帰的に生成する処理。すなわち、あるノードvに対応する秘密ノードキーをPriNKとするとき、vの子ノードのうち、左端のものの秘密ノードキーをF−1 (PriNK)とし、左からi番目の子ノードの秘密ノードキーをF−1 (PriNK)とし、右端のものの秘密ノードキーをF−1 (PriNK)とする。信頼センタTCはこの手法を用いて、まずルートの子ノードの秘密ノードキーを作り、さらにそれらのノードの子ノードの秘密ノードキーを作る、というようにしてa分木(HKT)のすべてのノード(葉も含む)に対応する秘密ノードキーを作成する。
【0208】
さらに、a分木(HKT)の各ノードに対応する秘密ノードキーPriNKに対応する公開ノードキーPubNKを、
PubNK=gPriNKkmodq
として定め、
a分木(HKT)の各ノードに対応するノード番号vと公開ノードキーPubNKとの対応データを公開鍵ファイルとして公開する。
【0209】
このように、信頼センタTCは、a分木(HKT)の各ノードに対応する秘密ノードキーPriNKと公開ノードキーPubNKを設定し、各ノードに対応するノード番号vと公開ノードキーPubNKとの対応データを公開鍵ファイルとして公開する処理をセットアップ処理として実行する。
【0210】
ステップS311の(d)公開ノードキーの公開処理は、上述したa分木(HKT)の各ノードに対応するノード番号vと公開ノードキーPubNKとの対応データを公開鍵ファイルとして公開する処理である。
【0211】
ステップS311の(e)葉の秘密ノードキーを各受信機へ送信する処理は、デバイスの設定されるa分木(HKT)のノード(葉)に対応する秘密ノードキーを各デバイスに送信する処理である。この処理は、セキュアな通信路を確保して実行する。
【0212】
一方、デバイスは、ステップS331において以下の処理を実行する。すなわち、上述した信頼センタTCのセットアップ処理において公開または提供される以下の情報、
(g)a分木(HKT)構成情報
(h)落とし戸つき一方向置換F
(i)自己ノードである葉の秘密ノードキー
の各情報を取得する。
【0213】
さらに、任意のエンティテイによって構成される秘密情報(I)の送信処理を実行する秘密情報送信者は、ステップS321において、
(f)公開ノードキー取得
を実行する。
これは、信頼センタTCがステップS311の処理(d)公開ノードキーの公開処理で実行した各ノードに対応するノード番号vと公開ノードキーPubNKとの対応データ、すなわち、公開鍵ファイルを取得する処理である。
【0214】
これらのセットアップ処理の後、(2)秘密情報送信者によるリボークおよび暗号文送信処理が実行される。
【0215】
秘密情報送信者は、ステップS322において、以下の処理を実行する。
(j)リボークデバイスの選択
(k)暗号化用ノードキーの選択
(l)表現コード生成
(m)暗号文生成
(n)表現コード、暗号文送信
の各処理である。
【0216】
(j)リボークデバイスの選択は、図6を参照して説明したように、秘密情報の取得を認めないデバイスを選択する処理である。例えば、図6の例では、a分木(HKT)のそれぞれ異なる葉に割り当てたデバイスu,u,u,u,・・u27を秘密情報の取得を認めないデバイス(排除(リボーク)デバイス)として決定している。
【0217】
(k)暗号化用公開ノードキーの選択は、リボークデバイスに割り当てられた葉からルートにいたるまでのパス上のノード(図6の黒丸ノード)以外のノードによって構成される部分木のルート(頂点ノード)となるノード(図6の四角ノード)に対応する公開ノードキーの選択処理として実行される。
【0218】
これらの公開ノードキーによって送信する秘密情報(I)を暗号化した暗号文のセットを送信することで、リボークされていないデバイスは、部分木のルートとなるノードに対応する秘密ノードキーのいずれかを導出することができるので、受信暗号文セットから、自己において導出可能な秘密ノードキーを適用して、対応する公開ノードキーで暗号化された暗号文を選択して復号することにより秘密情報の取得が可能となる。暗号文のセット中には、リボークデバイスが持つ秘密ノードキーから導出することができる秘密ノードキーに対応する公開ノードキーによって暗号化された暗号文が含まれないため、リボークデバイス(×印)は、秘密情報の取得ができないことになる。
【0219】
(l)表現コード生成は、デバイスに送信する暗号文のセットと、暗号化に用いた公開ノードキーとの対応を明示するためのコードデータであり、a分木(HKT)の最上位ノードであるルートと、そこから暗号文を作るのに用いられた公開ノードキーに対応するノードまでのa分木(HKT)のパスを結んだ表現木(図7参照)構成を示すコードデータである。
【0220】
デバイスは、暗号文のセットと、表現コードとを対応付けて、自デバイスにおいて算出可能な秘密ノードキーを用いて、その秘密ノードキーに対応する公開ノードキーで秘密情報(I)を暗号化した暗号文を選択することが可能となり、選択暗号文の復号により秘密情報(I)を取得できる。
【0221】
(m)暗号文生成処理は、上述した(i)暗号化用公開ノードキーの選択において選択した公開ノードキー、すなわち、リボークデバイスに割り当てられた葉からルートにいたるまでのパス上のノード(図6の黒丸ノード)以外のノードによって構成される部分木のルート(頂点ノード)となるノード(図6の四角ノード)に対応する公開ノードキーによって秘密情報(I)を暗号化する処理である。
【0222】
暗号化はたとえば下記のように行う。送信者は区間[1、q−1]から数xをランダムに選び、これと公開ノードキーPubNKを用いて秘密情報(I)を下記のように暗号化してノードv用の暗号文CTを生成する。
【0223】
【数26】
Figure 2004320183
【0224】
送信者は、表現コードと暗号文CTを生成する。なお、生成する暗号文は、選択した公開ノードキーPubNKの数に応じた複数の暗号文のセットとなる。さらに、上記式に対応する暗号文とともに、gmodqを生成し、暗号文とともに、同報通信路を用いてデバイスに対して送信する。
【0225】
(n)表現コード、暗号文送信処理は、上述の(l)表現コード生成処理で生成した表現コードと、上述の(m)暗号文生成処理において生成した暗号文セット、およびgmodqをデバイスに対して送信する処理である。例えば同報通信路を介したデータ送信として実行され、データ受信は、いずれのデバイスも可能である。ただし、上述したように、リボークされたデバイス以外のデバイスのみが導出可能な秘密ノードキーに対応する公開ノードキーのみを用いて暗号化した暗号文のみが含まれるので、リボークデバイスは暗号文を受信しても復号することができず、リボークされていないデバイスのみが、暗号文を復号して秘密情報(I)を取得することが可能となる。
【0226】
次に、(3)デバイスによる暗号文受信、復号の処理として、デバイスは、ステップS332において、
(o)表現コード、暗号文受信
(p)表現木再構築
(q)ノード、暗号文特定
(r)秘密ノードキー導出
(s)暗号文復号
の各処理を実行する。
【0227】
(o)表現コード、暗号文受信は、信頼センタTCの送信する表現コード、暗号文を受信する処理である。
【0228】
(p)表現木再構築は、信頼センタTCから受信した表現コードに基づいて、表現木を再構築する処理である。表現コードは、デバイスが受信した暗号文のセットと、暗号化に用いた公開ノードキーとの対応を明示するためのコードデータであり、a分木(HKT)の最上位ノードであるルートと、そこから暗号文を作るのに用いられた公開ノードキーに対応するノードまでのa分木(HKT)のパスを結んだ表現木(図7参照)構成を示すコードデータである。デバイスは、セットアップ処理時に信頼センタの公開したa分木(HKT)の構成情報と、信頼センタTCから受信した表現コードに基づいて、暗号文を作るのに用いられた公開ノードキーに対応するノードまでのa分木(HKT)のパスを結んだ表現木(図7参照)構成を再構築する。
【0229】
(q)ノード、暗号文特定処理は、信頼センタTCから受信した表現コードに基づいて再構築した表現木から、自デバイスにおいて導出可能な秘密ノードキーを持つノードを特定し、そのノードに対応する公開ノードキーを用いて暗号化した暗号文を信頼センタTCから受信した暗号文のセットから特定する処理である。a分木(HKT)において自身の葉からルートまでのパス上に、表現木の葉となるノードが存在した場合、表現木の葉となるノードに対応する公開ノードキーを用いて暗号化された暗号文が、信頼センタTCから受信した暗号文のセットに含まれることになる。
【0230】
暗号文は、複数の暗号文のセットにより構成され、その順番は、前述したように、暗号化に用いられた公開ノードキーに対応するノードの番号が小さい順に設定されたものであり、デバイスは、a分木(HKT)において自身の葉からルートまでのパス上に、表現木の葉となるノードが存在した場合、表現木の葉となるノードに対応する公開ノードキーを用いて暗号化された暗号文を選択することができる。
【0231】
デバイスは、このように、暗号文のセットと、表現コードとを対応付けて、自デバイスにおいて算出可能な秘密ノードキーに対応する公開ノードキーを用いて、秘密情報(I)を暗号化した暗号文を選択することが可能となる。
【0232】
(r)秘密ノードキー導出処理は、公開ノードキーを用いて秘密情報(I)を暗号化した暗号文の復号に適用する秘密ノードキーを導出する処理である。秘密ノードキー導出処理は、以下のように実行する。もしa分木(HKT)においてデバイスが割り当てられた葉が表現木の葉と一致するときは、デバイスがセットアップ処理のステップS311(i)の処理で信頼センタTCから付与された秘密ノードキーを用いて暗号化がなされているので、直接これを用いて暗号文を復号する。
【0233】
もし表現木の葉が、a分木(HKT)の内部ノードであるときは、デバイスはステップS311(i)の処理で信頼センタTCから付与された秘密ノードキーから内部ノードのノードキーを導出する。まず、a分木(HKT)において、デバイスが割り当てられた葉がその親ノードの左から数えて何番目の子であるかを調べる。これをi番目とおくと、その与えられた秘密ノードキーPriNKに対して、公開されている一方向置換Fを適用した結果のF(PriNK)が親ノードの秘密ノードキーとなる。
【0234】
たとえば図7において、ノードv18304は、その親ノードv305の左から2番目の子ノードであるから、ノードv18304に対応するデバイスu306は、与えられたノードv18304の秘密ノードキーPriNK18と、公開されている一方向置換Fを用いてノードv305の秘密ノードキーPriNK=F(PriNK18)を導出することができる。
【0235】
もしデバイスがさらに上位のノードの秘密ノードキーを必要としていれば、デバイスはこの処理を繰り返すことでさらに上位のノードの秘密ノードキーを導出できる。すなわち、デバイスがこれまでに導出した秘密ノードキーPriNKに対応するノードがその親ノードの左からi番目の子ノードであるとき、親ノードの秘密ノードキーはF(PriNK)となる。デバイスは必要な秘密ノードキーを導出するまである秘密ノードキーから親ノードの秘密ノードキーを導出する処理を繰り返す。たとえば、排除されるデバイスがひとつもないときは、ルートの秘密ノードキーに対応する公開ノードキーが暗号化に用いられ、ただ1つの暗号文が送信される。例えば、この暗号文を復号するために、デバイスuはルートの秘密ノードキーをF(F(F(PriNK21)))として求めることができる。
【0236】
(q)暗号文復号処理は、上述の(p)秘密ノードキー導出処理によって取得した秘密ノードキーを用いて、上述の(o)ノード、暗号文特定処理において特定した処理対象の暗号文を復号する処理として実行する。例えば、AESアルゴリズムに従って、秘密ノードキー導出処理によって取得した秘密ノードキーを用いて復号処理を実行することで、秘密情報(I)を取得する。
【0237】
デバイスは、前述の(o)ノード、暗号文特定処理において、表現コードを用いて自分に対応するノードvと暗号文CTを特定する。そして、上述の(p)秘密ノードキー導出処理によって、自身に与えられた葉の秘密ノードキーからノードvの秘密ノードキーPriNKを導出する。最後に、次式により暗号文CTを復号して秘密情報Iを得る。
【0238】
【数27】
Figure 2004320183
【0239】
このように、本実施例の構成を用いれば、信頼性の必ずしも保証されない任意のエンティテイが、信頼センタの公開するノード対応の公開ノードキー情報を取得して、公開ノードキーを用いた秘密情報の暗号化処理を実行することで、秘密情報(I)を特定のリボークされないデバイスにのみ選択的に送信することが可能となる。本実施例の構成においても、それぞれのデバイスは高々logN回、すなわち最大でも木の高さの回数だけ一方向置換を実行すれば、自分が与えられた葉に対応する秘密ノードキーから、その葉からルートまでのパス上に存在する任意の秘密ノードキーを導出することが可能となり、導出した秘密ノードキーを用いて暗号文を復号することによって秘密情報を取得することが可能となる。
【0240】
なお、公開ノードキーを用いた暗号化および秘密ノードキーを用いた復号処理は、上述した処理に限られるものでなく、例えば、下記式に従って実行する構成としてもよい。
【0241】
【数28】
Figure 2004320183
【0242】
上記式において、Hは長さ|q|の任意の値を、長さ|I|のランダムな値にマッピングするハッシュ関数である。たとえば、Iの長さが128ビットであれば、前述のハッシュ関数MD5をHとして用いることができる。この手法を用いれば、個々の暗号文の長さを|I|に変換して送信することが可能となる。
【0243】
[情報処理装置構成例]
次に、上述した各実施例において説明したデバイス、信頼センタ、秘密情報送信者、各エンティテイを構成する情報処理装置の構成例を図10を参照して説明する。デバイス、信頼センタ、秘密情報送信者、各エンティテイを構成する情報処理装置は、例えばPC、情報処理サーバ等の汎用的な情報処理装置によって構成可能であり、デバイスは、さらに、暗号化コンテンツを再生する再生装置に暗号処理部を備えた様々な機器構成によっても実現可能である。以下、図10を参照して、上述した各実施例において説明したデバイス、信頼センタ、秘密情報送信者、各エンティテイを構成する情報処理装置の構成例について説明する。
【0244】
CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されている各種プログラム、あるいは、記憶部508に格納され、RAM(Random Access Memory)503にロードされたプログラムに従って各種処理を実行する。タイマ500は計時処理を行ない、クロック情報をCPU501に供給する。
【0245】
ROM(Read Only Memory)502は、CPU501が使用するプログラムや演算用のパラメータ、固定データ等を格納する。RAM(Random Access Memory)503は、CPU501の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これら各素子はバス511により相互に接続されている。
【0246】
暗号化復号部504は、上述したノードキー、秘密ノードキー、公開ノードキーによる暗号化、復号化等の暗号処理、例えばAES暗号化アルゴリズムを適用した暗号処理等を実行する。
【0247】
入出力インタフェース512には、キーボード、マウス等の入力部506、CRT、LCD等のディスプレイ、スピーカ等からなる出力部507、ハードディスク等の記憶部508、通信部509が接続される。通信部509は、例えばインターネット等の通信網を介したデータ送受信を行ない、上述した暗号文の通信処理を実行する。
【0248】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0249】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0250】
例えば、プログラムは記憶媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0251】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記憶媒体にインストールすることができる。
【0252】
また、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0253】
【発明の効果】
以上、説明したように、本発明の構成によれば、階層型木構造を適用した暗号鍵等の暗号データ提供処理において、リーフの保持する鍵の数を1つのみとすることが可能となり、その保持する鍵に基づいてルートから自己の属するリーフまでのパス上の各ノードに対応するノードキーの算出を効率的に行い、暗号文の復号処理を少ない保持鍵に基づいて効率的に実行することが可能となる。具体的には、各デバイスは高々logN回、すなわち最大でも木の高さの回数だけ一方向置換を実行すれば、自分が与えられた葉に対応するノードキーから、その葉からルートまでのパス上に存在する任意のノードキーを導出することが可能となる。
【0254】
さらに、本実施例の構成によれば、階層型木構造を適用した暗号データ提供処理において、a分木(HKT)における各ノードキーの算出処理および設定処理に落とし戸つき一方向置換Fと、逆置換F−1 を適用し、各デバイスにおけるノードキーの算出において、最大でも木の高さの回数だけの一方向置換Fを実行すればノードキー算出を完了する構成としたので、各デバイスにおける暗号文の復号プロセスにおける処理負荷が軽減される。
【0255】
さらに、本発明の構成においては、リボークデバイスの排除処理に基づいて構成される部分木の頂点ノードを選択し、頂点ノードに基づいて構成される表現木を設定し、表現木の葉、すなわち部分木の頂点ノードに対応するノードキーを用いて送信する秘密情報(I)を暗号化して生成した暗号文を送信することで、部分木のルートとなるノードに対応するノードキーを導出することができるリボークされていないデバイスのみが、自己において導出可能なノードキーを用いた暗号文の復号により秘密情報の取得が可能となり、限定ユーザを特定した暗号化データの配信が可能となる。
【0256】
さらに、本発明の構成によれば、信頼性の必ずしも保証されない任意のエンティテイが、信頼センタの公開するノード対応の公開ノードキー情報を取得して、公開ノードキーを用いた秘密情報の暗号化処理を実行することで、秘密情報(I)を特定のリボークされないデバイスにのみ選択的に送信することが可能となり、本構成においても、それぞれのデバイスは高々logN回、すなわち最大でも木の高さの回数だけ一方向置換を実行すれば、自分が与えられた葉に対応する秘密ノードキーから、その葉からルートまでのパス上に存在する任意の秘密ノードキーを導出することが可能となり、導出した秘密ノードキーを用いて暗号文を復号することによって秘密情報を取得することが可能となる。
【図面の簡単な説明】
【図1】各種キー、データの暗号化処理、配布処理に適用される階層型木構造を説明する図である。
【図2】各種キー、データの配布に使用される有効化キーブロック(EKB)の例を示す図である。
【図3】コンテンツ鍵の有効化キーブロック(EKB)を使用した配布例と復号処理例を示す図である。
【図4】各ノードにa個の子ノードまたはリーフを持つa分木構造におけるノード、デバイスを説明する図である。
【図5】ルートvのノードキーをSと置いたときの各ノードのノードキーの設定令を説明する図である。
【図6】リボークデバイスの設定について説明する図である。
【図7】表現木の構成について説明する図である。
【図8】実施例1に対応する処理の流れと信頼センタTCおよびデバイスの処理を説明する図である。
【図9】実施例2に対応する処理の流れと信頼センタTCおよびデバイスの処理を説明する図である。
【図10】実施例において説明したデバイス、信頼センタ、秘密情報送信者、各エンティテイを構成する情報処理装置の構成例を示す図である。
【符号の説明】
101 ルート
102〜105 ノード
201,202 部分木
301〜306 デバイス
500 タイマ
501 CPU(Central processing Unit)
502 ROM(Read−Only−Memory)
503 RAM(Random Access Memory)
504 暗号化復号部
506 入力部
507 出力部
508 記憶部
509 通信部
510 ドライブ
511 バス
512 入出力インタフェース
521 リムーバブル記録媒体

Claims (78)

  1. 暗号データ生成処理を実行する情報処理装置であり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する構成を有し、
    前記送信秘密情報の暗号化に適用するノードキーは、前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定されたノードキーであることを特徴とする情報処理装置。
  2. 前記情報処理装置は、
    前記送信秘密情報の暗号化に適用する選択した各ノードキーを用いて秘密情報を暗号化した暗号文セットを生成するとともに、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用したノードキーとの対応を示す表現コードを生成し、前記暗号文セットおよび前記表現コードとをデバイスに対して送信する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用したノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする請求項2に記載の情報処理装置。
  4. 前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応するノードキーNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする請求項1に記載の情報処理装置。
  5. 前記送信秘密情報の暗号化に適用するノードキーの選択処理は、
    前記階層型木構造の最下位ノードに対応するデバイス中、前記選択された限定デバイス以外の排除デバイスに対応する前記階層型木構造の葉からルートにいたるパス上のノード以外のノードによって構成される部分木の頂点ノードに対応するノードキー選択処理として実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  6. 前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする請求項1に記載の情報処理装置。
  7. 前記落とし戸つき一方向置換Fは、
    異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする請求項1に記載の情報処理装置。
  8. 前記落とし戸つき一方向置換F、および逆置換F−1 は、
    Figure 2004320183
    ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
    であることを特徴とする請求項1に記載の情報処理装置。
  9. 前記情報処理装置は、
    ノードキーNKを適用した送信秘密情報の暗号化処理による暗号文生成に際し、ハッシュ関数を適用し、暗号文のビット長変更処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  10. 暗号データ生成処理を実行する情報処理装置であり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された公開ノードキーPubNKを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する構成を有し、
    前記送信秘密情報の暗号化に適用する公開ノードキーは、前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された秘密ノードキーに対応して設定された公開ノードキーであることを特徴とする情報処理装置。
  11. 前記送信秘密情報の暗号化に適用する公開ノードキーPubNKは、
    PubNK=gPriNKkmodq
    ただし、qは大きな素数、gは巡回群Zの生成元、
    によって算出される公開ノードキーであることを特徴とする請求項10に記載の情報処理装置。
  12. 前記情報処理装置は、
    公開ノードキーPubNKを適用した送信秘密情報Iの暗号化処理による暗号文CTの生成を、
    Figure 2004320183
    ただし、xは、区間[1,q−1]からランダムに選択した値、
    によって実行する構成であることを特徴とする請求項11に記載の情報処理装置。
  13. 前記情報処理装置は、
    前記送信秘密情報の暗号化に適用する選択した各公開ノードキーを用いて秘密情報を暗号化した暗号文セットを生成するとともに、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用した公開ノードキーとの対応を示す表現コードを生成し、前記暗号文セットおよび前記表現コードとをデバイスに対して送信する処理を実行する構成であることを特徴とする請求項10に記載の情報処理装置。
  14. 前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用した公開ノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする請求項13に記載の情報処理装置。
  15. 前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応する秘密ノードキーPriNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする請求項10に記載の情報処理装置。
  16. 前記送信秘密情報の暗号化に適用する公開ノードキーの選択処理は、
    前記階層型木構造の最下位ノードに対応するデバイス中、前記選択された限定デバイス以外の排除デバイスに対応する前記階層型木構造の葉からルートにいたるパス上のノード以外のノードによって構成される部分木の頂点ノードに対応する公開ノードキー選択処理として実行する構成であることを特徴とする請求項10に記載の情報処理装置。
  17. 前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする請求項10に記載の情報処理装置。
  18. 前記落とし戸つき一方向置換Fは、
    異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする請求項10に記載の情報処理装置。
  19. 前記落とし戸つき一方向置換F、および逆置換F−1 は、
    Figure 2004320183
    ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
    であることを特徴とする請求項10に記載の情報処理装置。
  20. 前記情報処理装置は、
    公開ノードキーPubNKを適用した送信秘密情報の暗号化処理による暗号文生成に際し、ハッシュ関数を適用し、暗号文のビット長変更処理を実行する構成であることを特徴とする請求項10に記載の情報処理装置。
  21. 暗号データ復号処理を実行する情報処理装置であり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した暗号データの復号処理を実行する構成を有し、
    前記a分木構成を持つ階層型木構造のノードキーの設定構成は、
    前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定された構成であり、
    前記情報処理装置は、
    情報処理装置対応ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用するノードキーの算出処理を実行する構成を有することを特徴とする情報処理装置。
  22. 前記情報処理装置は、
    複数のノードキーを用いて秘密情報を暗号化した複数の暗号文から構成される暗号文セット中から、前記情報処理装置対応ノードキーに基づいて算出可能なノードキーを適用して復号可能な暗号文の検出処理を実行する構成を有し、
    前記暗号文セットを構成する各暗号文と、該暗号文生成に適用したノードキーとの対応を示す表現コードに基づいて前記検出処理を実行する構成であることを特徴とする請求項21に記載の情報処理装置。
  23. 前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用したノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする請求項22に記載の情報処理装置。
  24. 前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応するノードキーNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする請求項21に記載の情報処理装置。
  25. 前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする請求項21に記載の情報処理装置。
  26. 前記落とし戸つき一方向置換Fは、
    異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする請求項21に記載の情報処理装置。
  27. 前記落とし戸つき一方向置換F、および逆置換F−1 は、
    Figure 2004320183
    ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
    であることを特徴とする請求項21に記載の情報処理装置。
  28. 前記情報処理装置は、
    秘密ノードキーPriNKを適用した送信秘密情報の復号処理に際し、ハッシュ関数を適用し、復号に適用する鍵のビット長変更処理を実行する構成であることを特徴とする請求項21に記載の情報処理装置。
  29. 暗号データ復号処理を実行する情報処理装置であり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された秘密ノードキーを選択的に適用して、前記秘密ノードキーに対応する公開ノードキーによって暗号化された暗号データの復号処理を実行する構成を有し、
    前記a分木構成を持つ階層型木構造の各ノードに対応する秘密ノードキーの設定構成は、
    前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された構成であり、
    前記情報処理装置は、
    情報処理装置対応秘密ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用する秘密ノードキーの算出処理を実行する構成を有することを特徴とする情報処理装置。
  30. 前記情報処理装置は、
    秘密ノードキーPriNKを適用した暗号文CTの復号による秘密情報Iの取得を、
    Figure 2004320183
    ただし、gmodqは、既知の値、
    によって実行する構成であることを特徴とする請求項29に記載の情報処理装置。
  31. 前記情報処理装置は、
    前記a分木構成における複数の異なるノードの公開ノードキーを用いて秘密情報を暗号化した複数の暗号文から構成される暗号文セット中から、前記情報処理装置対応秘密ノードキーに基づいて算出可能な秘密ノードキーを適用して復号可能な暗号文の検出処理を実行する構成を有し、
    前記暗号文セットを構成する各暗号文と、該暗号文生成に適用した公開ノードキーとの対応を示す表現コードに基づいて前記検出処理を実行する構成であることを特徴とする請求項29に記載の情報処理装置。
  32. 前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用した公開ノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする請求項31に記載の情報処理装置。
  33. 前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応する秘密ノードキーPriNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする請求項29に記載の情報処理装置。
  34. 前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする請求項29に記載の情報処理装置。
  35. 前記落とし戸つき一方向置換Fは、
    異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする請求項29に記載の情報処理装置。
  36. 前記落とし戸つき一方向置換F、および逆置換F−1 は、
    Figure 2004320183
    ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
    であることを特徴とする請求項29に記載の情報処理装置。
  37. 前記情報処理装置は、
    秘密ノードキーPriNKを適用した秘密情報の復号処理に際し、ハッシュ関数を適用する構成であることを特徴とする請求項29に記載の情報処理装置。
  38. 暗号データ生成処理を実行する情報処理方法であり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する暗号処理ステップを有し、
    前記暗号処理に適用するノードキーは、前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定されたノードキーであることを特徴とする情報処理方法。
  39. 前記情報処理方法は、さらに、
    前記送信秘密情報の暗号化に適用する選択した各ノードキーを用いて秘密情報を暗号化した暗号文セットを生成するとともに、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用したノードキーとの対応を示す表現コードを生成し、前記暗号文セットおよび前記表現コードとをデバイスに対して送信する処理を実行するステップを有することを特徴とする請求項38に記載の情報処理方法。
  40. 前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用したノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする請求項39に記載の情報処理方法。
  41. 前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応するノードキーNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする請求項38に記載の情報処理方法。
  42. 前記送信秘密情報の暗号化に適用するノードキーの選択処理は、
    前記階層型木構造の最下位ノードに対応するデバイス中、前記選択された限定デバイス以外の排除デバイスに対応する前記階層型木構造の葉からルートにいたるパス上のノード以外のノードによって構成される部分木の頂点ノードに対応するノードキー選択処理として実行することを特徴とする請求項38に記載の情報処理方法。
  43. 前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする請求項38に記載の情報処理方法。
  44. 前記落とし戸つき一方向置換Fは、
    異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする請求項38に記載の情報処理方法。
  45. 前記落とし戸つき一方向置換F、および逆置換F−1 は、
    Figure 2004320183
    ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
    であることを特徴とする請求項38に記載の情報処理方法。
  46. 前記暗号処理ステップは、
    ノードキーNKを適用した送信秘密情報の暗号化処理による暗号文生成に際し、ハッシュ関数を適用し、暗号文のビット長変更処理を実行することを特徴とする請求項38に記載の情報処理方法。
  47. 暗号データ生成処理を実行する情報処理方法であり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された公開ノードキーPubNKを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する暗号処理ステップを有し、前記暗号処理に適用する公開ノードキーは、前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された秘密ノードキーに対応して設定された公開ノードキーであることを特徴とする情報処理方法。
  48. 前記送信秘密情報の暗号化に適用する公開ノードキーPubNKは、
    PubNK=gPriNKkmodq
    ただし、qは大きな素数、gは巡回群Zの生成元、
    によって算出される公開ノードキーであることを特徴とする請求項47に記載の情報処理方法。
  49. 前記情報処理方法は、
    公開ノードキーPubNKを適用した送信秘密情報Iの暗号化処理による暗号文CTの生成を、
    Figure 2004320183
    ただし、xは、区間[1,q−1]からランダムに選択した値、
    によって実行する構成であることを特徴とする請求項48に記載の情報処理方法。
  50. 前記情報処理方法は、さらに、
    前記送信秘密情報の暗号化に適用する選択した各公開ノードキーを用いて秘密情報を暗号化した暗号文セットを生成するとともに、前記暗号文セットを構成する各暗号文と、該暗号文生成に適用した公開ノードキーとの対応を示す表現コードを生成し、前記暗号文セットおよび前記表現コードとをデバイスに対して送信する処理を実行するステップを有することを特徴とする請求項47に記載の情報処理方法。
  51. 前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用した公開ノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする請求項50に記載の情報処理方法。
  52. 前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応する秘密ノードキーPriNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする請求項47に記載の情報処理方法。
  53. 前記送信秘密情報の暗号化に適用する公開ノードキーの選択処理は、
    前記階層型木構造の最下位ノードに対応するデバイス中、前記選択された限定デバイス以外の排除デバイスに対応する前記階層型木構造の葉からルートにいたるパス上のノード以外のノードによって構成される部分木の頂点ノードに対応する公開ノードキー選択処理として実行することを特徴とする請求項47に記載の情報処理方法。
  54. 前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする請求項47に記載の情報処理方法。
  55. 前記落とし戸つき一方向置換Fは、
    異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする請求項47に記載の情報処理方法。
  56. 前記落とし戸つき一方向置換F、および逆置換F−1 は、
    Figure 2004320183
    ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
    であることを特徴とする請求項47に記載の情報処理方法。
  57. 前記情報処理方法は、さらに、
    公開ノードキーPubNKを適用した送信秘密情報の暗号化処理による暗号文生成に際し、ハッシュ関数を適用し、暗号文のビット長変更処理を実行する構成であることを特徴とする請求項47に記載の情報処理方法。
  58. 暗号データ復号処理を実行する情報処理方法であり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した暗号データの復号処理を実行する復号処理ステップを有し、
    前記a分木構成を持つ階層型木構造のノードキーの設定構成は、
    前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定された構成であり、
    前記情報処理方法は、
    情報処理装置対応ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用するノードキーの算出処理を実行するステップを有することを特徴とする情報処理方法。
  59. 前記情報処理方法は、さらに、
    複数のノードキーを用いて秘密情報を暗号化した複数の暗号文から構成される暗号文セット中から、前記情報処理装置対応ノードキーに基づいて算出可能なノードキーを適用して復号可能な暗号文の検出処理を実行するステップを有し、
    前記暗号文セットを構成する各暗号文と、該暗号文生成に適用したノードキーとの対応を示す表現コードに基づいて前記検出処理を実行することを特徴とする請求項58に記載の情報処理方法。
  60. 前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用したノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする請求項59に記載の情報処理方法。
  61. 前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応するノードキーNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする請求項58に記載の情報処理方法。
  62. 前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする請求項58に記載の情報処理方法。
  63. 前記落とし戸つき一方向置換Fは、
    異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする請求項58に記載の情報処理方法。
  64. 前記落とし戸つき一方向置換F、および逆置換F−1 は、
    Figure 2004320183
    ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
    であることを特徴とする請求項58に記載の情報処理方法。
  65. 前記情報処理方法は、さらに、
    ノードキーNKを適用した送信秘密情報の復号処理に際し、ハッシュ関数を適用し、復号に適用する鍵のビット長変更処理を実行することを特徴とする請求項58に記載の情報処理方法。
  66. 暗号データ復号処理を実行する情報処理方法であり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された秘密ノードキーを選択的に適用して、前記秘密ノードキーに対応する公開ノードキーによって暗号化された暗号データの復号処理を実行する復号処理ステップを有し、
    前記a分木構成を持つ階層型木構造の各ノードに対応する秘密ノードキーの設定構成は、
    前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された構成であり、
    前記情報処理方法は、
    情報処理装置対応秘密ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用する秘密ノードキーの算出処理を実行するステップを有することを特徴とする情報処理方法。
  67. 前記情報処理方法は、
    秘密ノードキーPriNKを適用した暗号文CTの復号による秘密情報Iの取得を、
    Figure 2004320183
    ただし、gmodqは、既知の値、
    によって実行することを特徴とする請求項66に記載の情報処理方法。
  68. 前記情報処理方法は、
    前記a分木構成における複数の異なるノードの公開ノードキーを用いて秘密情報を暗号化した複数の暗号文から構成される暗号文セット中から、前記情報処理装置対応秘密ノードキーに基づいて算出可能な秘密ノードキーを適用して復号可能な暗号文の検出処理を実行するステップを有し、
    前記暗号文セットを構成する各暗号文と、該暗号文生成に適用した公開ノードキーとの対応を示す表現コードに基づいて前記検出処理を実行することを特徴とする請求項66に記載の情報処理方法。
  69. 前記表現コードは、前記a分木の最上位ノードであるルートと暗号文生成に適用した公開ノードキーに対応するノードまでのa分木のパスを結んだ表現木構成を示すコードデータであることを特徴とする請求項68に記載の情報処理方法。
  70. 前記a分木構成を持つ階層型木構造において、最上位ノードであるルートvに対応する秘密ノードキーPriNKは、落とし戸つき一方向置換Fの定義域の中からの選択値Sとして設定された値であることを特徴とする請求項66に記載の情報処理方法。
  71. 前記落とし戸つき一方向置換Fは、RSA関数に基づくことを特徴とする請求項66に記載の情報処理方法。
  72. 前記落とし戸つき一方向置換Fは、
    異なるi,jについてF(F(x))とF(F(x))が等しくなる確率の低い置換を構成する落とし戸つき一方向置換であることを特徴とする請求項66に記載の情報処理方法。
  73. 前記落とし戸つき一方向置換F、および逆置換F−1 は、
    Figure 2004320183
    ただし、Mは、2つの大きな素数p、qの積であり、eは(p−1)(q−1)と互いに素になるような整数、dは(p−1)(q−1)を法としたときのeの逆数であり、e、dは、iが異なるときに異なる値として設定される値、cはiが異なるとき、異なる整数となるように設定される値、
    であることを特徴とする請求項66に記載の情報処理方法。
  74. 前記情報処理方法は、
    秘密ノードキーPriNKを適用した秘密情報の復号処理に際し、ハッシュ関数を適用する構成であることを特徴とする請求項66に記載の情報処理方法。
  75. 暗号データ生成処理を実行するコンピュータ・プログラムであり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する暗号処理ステップを有し、
    前記暗号処理に適用するノードキーは、前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定されたノードキーであることを特徴とするコンピュータ・プログラム。
  76. 暗号データ生成処理を実行するコンピュータ・プログラムであり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された公開ノードキーPubNKを選択的に適用した送信秘密情報の暗号化により、前記階層型木構造の最下位ノードに対応するデバイス中、選択された限定デバイスのみが復号可能な暗号データを生成する処理を実行する暗号処理ステップを有し、
    前記暗号処理に適用する公開ノードキーは、前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された秘密ノードキーに対応して設定された公開ノードキーであることを特徴とするコンピュータ・プログラム。
  77. 暗号データ復号処理を実行するコンピュータ・プログラムであり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定されたノードキーを選択的に適用した暗号データの復号処理を実行する復号処理ステップを有し、
    前記a分木構成を持つ階層型木構造のノードキーの設定構成は、
    前記階層型木構造における上位ノードvに対応するノードキーがNKであるとき、該ノードvに対応するa個の子ノードのノードキーが、前記ノードキーNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (NK)〜F−1 (NK)として設定された構成であり、
    前記コンピュータ・プログラムは、
    情報処理装置対応ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用するノードキーの算出処理を実行するステップを有することを特徴とするコンピュータ・プログラム。
  78. 暗号データ復号処理を実行するコンピュータ・プログラムであり、
    上位ノードに対応してa個の子ノードを持つa分木構成を持つ階層型木構造(HKT:Hierarchical Key Tree)を構成する各ノードに対して設定された秘密ノードキーを選択的に適用して、前記秘密ノードキーに対応する公開ノードキーによって暗号化された暗号データの復号処理を実行する復号処理ステップを有し、
    前記a分木構成を持つ階層型木構造の各ノードに対応する秘密ノードキーの設定構成は、
    前記階層型木構造における上位ノードvに対応する秘密ノードキーがPriNKであるとき、該ノードvに対応するa個の子ノードの秘密ノードキーが、前記秘密ノードキーPriNKに対して、落とし戸つき一方向置換F(ただし、i=1〜a)の逆置換F−1 を適用して算出されるa個の値F−1 (PriNK)〜F−1 (PriNK)として設定された構成であり、
    前記情報処理方法は、
    情報処理装置対応秘密ノードキーに基づいて、前記落とし戸つき一方向置換Fを実行し、前記暗号データの復号処理に適用する秘密ノードキーの算出処理を実行するステップを有することを特徴とするコンピュータ・プログラム。
JP2003108558A 2003-04-14 2003-04-14 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Pending JP2004320183A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2004320183A true JP2004320183A (ja) 2004-11-11
JP2004320183A5 JP2004320183A5 (ja) 2006-06-08

Family

ID=33469983

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2004320183A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009044516A (ja) * 2007-08-09 2009-02-26 Kddi Corp ブロードキャスト暗号の生成方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009044516A (ja) * 2007-08-09 2009-02-26 Kddi Corp ブロードキャスト暗号の生成方法およびプログラム

Similar Documents

Publication Publication Date Title
US7757082B2 (en) Efficient revocation of receivers
ES2334109T3 (es) Metodo para la codificacion de transmisiones.
US20070133806A1 (en) Information processing method, decryption method, information processing device, and computer program
JP2001352321A (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
JP2001358707A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP2002152187A (ja) 情報処理装置、および情報処理方法、並びにプログラム記憶媒体
JP2002198948A (ja) 情報処理システム、情報処理方法、情報処理装置、および情報記録媒体、並びにプログラム記録媒体
WO2001099331A1 (en) System and method for processing information using encryption key block
JP2002077131A (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
JP2006086568A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2004320719A (ja) 著作物保護システム、鍵データ生成装置及び端末装置
KR20090127716A (ko) 브로드캐스트 암호화에서 디바이스 키를 추적하는 방법
JP2004295373A (ja) 情報記録媒体、情報処理装置、情報記録媒体製造装置、および方法、並びにコンピュータ・プログラム
JP2006115464A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2004229128A (ja) 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム
JP4161859B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP2001358705A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP2008092514A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2007189597A (ja) 暗号化装置および暗号化方法、並びに復号化装置および復号化方法
JP2004320183A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4635459B2 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2005191805A (ja) 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4576824B2 (ja) 情報処理装置および情報処理方法
JP2007020025A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091208