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

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

Info

Publication number
JP2005086747A
JP2005086747A JP2003319590A JP2003319590A JP2005086747A JP 2005086747 A JP2005086747 A JP 2005086747A JP 2003319590 A JP2003319590 A JP 2003319590A JP 2003319590 A JP2003319590 A JP 2003319590A JP 2005086747 A JP2005086747 A JP 2005086747A
Authority
JP
Japan
Prior art keywords
information
key
ciphertext
subset
bit
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.)
Granted
Application number
JP2003319590A
Other languages
English (en)
Other versions
JP2005086747A5 (ja
JP4161859B2 (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 JP2003319590A priority Critical patent/JP4161859B2/ja
Priority to US10/939,035 priority patent/US8290155B2/en
Publication of JP2005086747A publication Critical patent/JP2005086747A/ja
Publication of JP2005086747A5 publication Critical patent/JP2005086747A5/ja
Application granted granted Critical
Publication of JP4161859B2 publication Critical patent/JP4161859B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 木構造を適用した暗号文提供構成において、様々な分割サブセットを設定して暗号文を生成し提供可能とする。
【解決手段】 分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が、暗号文ブロック中に含むか否かのサブセット分割識別情報(パーティションビット)を、鍵指定コードの構成データである鍵指定情報中に含める構成とした。本構成により、分割サブセットに対応するサブセットキーを適用した暗号文を生成して情報処理装置に送信することが可能となり、暗号文および鍵指定コードを受領した情報処理装置側においては、受領した暗号文が、分割サブセットに対応するサブセットキーを適用した暗号文であるか否かを判別して、鍵指定コードに基づいて、自己の復号対象の暗号文を選択することが可能となる。
【選択図】 図10

Description

本発明は、情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、木構造を適用した情報配信構成において、様々なサブセット、すなわち、ユーザデバイスとしての情報処理装置の集合を規定した様々なタイプのサブセットを設定した情報配信を可能とするとともに、情報処理装置側で効率的に自己の複合可能な暗号文を選択することを可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムに関する。
昨今、音楽等のオーディオデータ、映画等の画像データ、ゲームプログラム、各種アプリケーションプログラム等、様々なソフトウエアデータ(以下、これらをコンテンツ(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で暗号化したデータを意味する。またNKnは、図に示す第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]
が、鍵指定コードとして設定される。
上述した例は、2分木ツリー構成における例であるが、3分木等、任意の分木数(a)を持つa分木ツリーなどの多分木構成の場合についても、同様の鍵指定コードの設定が行われる。
図4にa分木ツリーの構成例として3分木構成を示す。3分木のリーフに受信機、再生機、PCなどのコンテンツ利用機器としての情報処理装置を1つずつ割り当てる。図4に示す例は、分木数a=3、総情報処理装置数N=27の例である。
各情報処理装置は、それが割り当てられたリーフ番号jを用いて、uとして表現する。ただしj=14,15,・・・40である。また、木の各内部ノード(リーフ以外のノード)kについて、以下の2−2個のサブセットを定める。
Figure 2005086747
以下、簡潔に説明するため、b・・・bをBと表す。
a=3の例では、2−2=6であり、各内部ノードkについて、
k,100,Sk,010,Sk,001,Sk,110,Sk,101,Sk,001
の6個のサブセットを定める。
さらにルート(ノード1)についてのみ、サブセットS1,111を定める。
各サブセット
Figure 2005086747
は、ノードkの子ノードのうち左からi番目のものの子孫である情報処理装置を構成要素とする集合である。たとえば図4の例では、ノード1に規定される7つのサブセットS1,111,S1,100,S1,010,S1,001,S1,110,S1,101,S1,001中、の2つを例とすると、
1,111={u14,15,・・・u40
1,100={u14,15,・・・u22
である。
すなわち、S1,111は、すべてのリーフを含む集合である。
1,100は、ルートノードの左端の枝に属するリーフを含む集合である。
また、ノード5に規定される6つのサブセットS5,100,S5,010,S5,001,S5,110,S5,101,S5,001中、の1つを例とすると、
5,101={u14,16
である。
すなわち、S5,101は、ノード5の左端および右端の枝に属するリーフを含む集合である。
それぞれのサブセットSk,Bに対して、サブセットキー[SKk,B]がひとつずつ割り当てられ、各情報処理装置は自分が所属するサブセットのサブセットキーを与えられ、秘密に保管する。
たとえば、図4の例において、情報処理装置u14は、S1,100,S1,110,S1,101,S1,111,S2,100,S2,110,S2,101,S5,100,S5,110,S5,101の10個のサブセットに所属するので、それぞれのサブセットキーを与えられる。
すなわち、10個のサブセットS1,100,S1,110,S1,101,S1,111,S2,100,S2,110,S2,101,S5,100,S5,110,S5,101に対応する10個のサブセットキーSK1,100,SK1,110,SK1,101,SK1,111,SK2,100,SK2,110,SK2,101,SK5,100,SK5,110,SK5,101を情報処理装置にセキュアに格納している。
このサブセットキーの情報処理装置に対する配布を伴うセッティングの後、例えばコンテンツ管理者等が選択した情報処理装置のみが取得可能な情報、例えばコンテンツキーを提供する方法を図5を参照して説明する。
いま、情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図5中の×印)をリボークし、それ以外の情報処理装置に情報(たとえば、コンテンツキーKc)を送信するものとする。この場合、リボークされる情報処理装置が割り当てられたリーフからルートへの枝をすべて消すと、1つ以上の、それぞれ分離した部分木(図で太線で示す)が残る。それぞれの部分木には、その部分木のルートにおいて定義された1つのサブセットが対応しており、そのサブセットに対応するサブセットキーを用いてコンテンツキーを暗号化して暗号文ブロックを構成し同報送信する。
図5の構成を持つ部分木は、図に示すように、部分木131,132,133,134,135の5つの部分木であり、これら5つの部分木のルートは、ノード(1,3,9,11,12)である。従って、図5の例では、コンテンツキーの提供者としての送信者は、これらの部分木のルートにおいて定義された各部分木に対応する1つのサブセットに対応するサブセットキーを適用して暗号文ブロックを生成する。
すなわち、図5の例では、コンテンツキーの提供者としての送信者は、
E(SK1,100,Kc),E(SK3,101,Kc),E(SK9,100,Kc),E(SK11,101,Kc),E(SK12,100,Kc)
の5つの暗号文をノードの番号順に並べたものを暗号文ブロックとし、送信する。この5つの暗号文の暗号化に適用したサブセットキー、すなわち、
SK1,100,SK3,101,SK9,100,SK11,101,SK12,100,のいずれかを保有する情報処理装置のみが、暗号文を復号してコンテンツキーKcを取得できることになる。
図5に示す例では、部分木131,132,133,134,135の5つの部分木に属する情報処理装置の各々は、サブセットキーSK1,100,SK3,101,SK9,100,SK11,101,SK12,100,のいずれかを保持しており、コンテンツキーKcを取得することができる。
すなわち、
(1)部分木131に属するu14〜u22は、サブセットキーSK1,100を有しており、暗号文E(SK1,100,Kc)を復号してコンテンツキーKcを取得できる。
(2)部分木132に属するu23〜u25、u29〜u31はサブセットキーSK3,101を有しており、暗号文E(SK3,101,Kc)を復号してコンテンツキーKcを取得できる。
(3)部分木133に属するu26は、サブセットキーSK9,100を有しており、暗号文E(SK9,100,Kc)を復号してコンテンツキーKcを取得できる。
(4)部分木134に属するu32、u34は、サブセットキーSK11,101を有しており、暗号文E(SK11,101,Kc)を復号してコンテンツキーKcを取得できる。
(5)部分木135に属するu35は、サブセットキーSK12,100を有しており、暗号文E(SK12,100,Kc)を復号してコンテンツキーKcを取得できる。
一方、リボークされた情報処理装置u27,u28,u33,u36,u37,u38,u39,u40(図5中の×印)は、サブセットキーSK1,100,SK3,101,SK9,100,SK11,101,SK12,100,のいずれも保持しておらず、コンテンツキーKcを取得できない。
ところで、上述の処理においても、リボークされていない情報処理装置は、自分がどの暗号文を復号すべきかを知る必要があり、前述の2分木構成と同様の鍵指定コードを作り、これを暗号文ブロックとともに同報送信する。情報処理装置は鍵指定コードを受信し、それを解析することで自分がどの暗号文をどのノードキーを用いて復号すればよいかを知り、復号処理を行う。
3分木構成における鍵指定コードについて、図6を参照して説明する。図6において、太線で示された木は、鍵指定木であり、暗号化に用いられたサブセットキーに対応するサブセットが定義されたすべてのノード(1,3,9,11,12)を接続し、もとの木構造のルート(1)をルートとして設定し、これが鍵指定木となる。
鍵指定木の構造を、そのルートから、左からi番目の子に対して枝が出ているかどうかを表す1つのノードにつき3ビットの情報(チャイルドビット:Child bit)と、そのノードで定義されたサブセットキーが暗号化に用いられている場合にその種類を示す3ビットの情報(鍵指定ビット:Key Specify Bit)から成る、合計6ビットの鍵指定情報を用いて表現する。
あるノードにつけられた鍵指定情報の最初の3ビット(チャイルドビット)は、
[1]ならばそのノードからそのビットの位置に対応する子ノードに対して枝が出ている(鍵指定木に対応する子ノードが存在する)ことを示し、
[0]ならばそのノードから対応する子ノードに対して枝は出ていない(対応する子ノードは存在しない)ことを示す。
例えば、あるノードの情報が、
[111]であれば、すべての子ノードに対して枝が出ている。
[100]であれば、一番左側の子ノードにのみ枝が出ている。
[110]であれば、一番左と中央の子ノードに枝が出ている。
[000]であれば、枝はいずれも出ておらず、そのノードが鍵指定木のリーフ(葉)であることを示す。
また、鍵指定情報の最後の3ビット(鍵指定ビット)は、そのノードに定義されたどのサブセットに対応するサブセットキーが、上記の暗号文ブロック中の暗号文を作るために用いられているかを示す。
すなわち、あるノードkの鍵指定ビット情報が、
[100]であればサブセットキーSKk,100が適用された暗号文が含まれている。
[110]であればサブセットキーSKk,110が適用された暗号文が含まれている。
[000]であれば、そのノードに対して定義されたサブセットに対応するサブセットキーは使用されていないことを示す。
図6に示すように、鍵指定木の各ノードにつけられた6ビットの鍵指定情報を、ノードの番号順に並べたものが鍵指定コードとなる。
図6の構成では、鍵指定木は、ノードNo.1,3,4,9,11,12によって構成されているので、これらの各ノードの鍵指定情報ビットを順に並べたデータ、すなわち、
[011100010101110000000100000101000100]
が、鍵指定コードとして設定される。
しかし、このような鍵指定コードは、構成ビットが長くなるという欠点を有する。上述の構成では、鍵指定木は、ノードNo.1,3,4,9,11,12の6ノードによって構成され、各ノード毎に6ビットの情報を持つので、鍵指定コードは6×6=36ビットとなる。鍵指定コードは、リーフ数の増加や、鍵指定木の構成の複雑化に伴い、さらに多くのビット数が必要になる。
そこで、鍵指定コードの情報量を削減する構成が提案された。図7を参照してその構成について説明する。図7に示す処理は、上述した6ビットの鍵指定コード中、前半の3ビットのチャイルドビットを1ビットのリーフビットcとして置き換えたものである。
図7に示す鍵指定木の各ノード(1,3,4,9,11,12,13)には、3ビットのチャイルドビットの代わりに1ビットのリーフビットcが設定される。
リーフビットは、
[1]であるとき、鍵指定木のリーフであることを示す。
[0]であるとき、リーフ以外のノードであることを示す。
図7に示す例において鍵指定木中のリーフノードはノード(9,11,12,13)であり、これらのノードのリーフビットは、[1]に設定される。それ以外のノード(1,3,4)のノードのリーフビットは、[0]に設定される。
リーフビットc=1の場合には、そのノードは、部分木のリーフであり、そのノードから鍵指定木の枝は出ていない、また、リーフビットc=0の場合には、そのノードは、部分木のリーフではなく、そのノードから鍵指定木の枝が出ている。どの枝が出ているかは、後半3ビットの鍵指定ビット情報によって判定される。すなわち、鍵指定ビット情報[d,d,d]中、d=0として設定されたビットに対応する子ノードに枝がでている。
リーフビット=c、鍵指定ビット=dddとしたとき、例えばあるノードkの鍵指定情報が、
c,ddd=0,001であれば、そのノードkから左と中央の子ノードに対して枝が出ており、また、サブセットキーSKk,001が暗号化に適用されていることを示す。
c,ddd=0,110であれば、そのノードkから右の子ノードに対して枝が出ており、また、サブセットキーSKk,110が暗号化に適用されていることを示す。
リーフビットc=1の場合には、そのノードkから枝が出ていないことを示す。暗号化に適用されているサブセットキーについての意味は同様であり、サブセットキーSKk,dddが暗号化に適用されていることを示す。
図7に示す例、すなわち情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図7中の×印)をリボークし、それ以外の情報処理装置に情報(たとえば、コンテンツキーKc)を送信するものとする。
この場合、図7に示すように、サブセットが定義されるノード、すなわち、ノード1,3,9,11,12,および,そのノードがルートとなる部分木に属する葉がすべてリボークされているノードのうち、他の同様の部分木の中間ノードになっていないノード、すなわち、ノード13を連結した鍵指定木が設定され、設定された鍵指定木を構成する各ノード(1,3,4,9,11,12,13)にリーフビット=c、鍵指定ビット=dddが以下のように設定される。
ノード1:(0,100)
ノード3:(0,101)
ノード4:(0,000)
ノード9:(1,100)
ノード11:(1,101)
ノード12:(1,100)
ノード13:(1,000)
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
[0100010100001100110111001000]
となり、28ビット情報となる。
このように、リーフビットを適用することにより、先に図6を参照して説明した3ビットのチャイルドビットを適用した例では36ビットの情報量となっていた鍵指定コードを28ビットまで削減することができる。
なお、リボークする情報処理装置がない場合、全情報処理装置が保有するサブセットキーSK1,111が用いられた暗号文が提供されるが、これを表現するためにはルートの鍵指定情報を1,111とすればよい。
ところで、このブロードキャストエンクリプションシステムに対する攻撃を考えてみる。たとえば、攻撃者が、ある情報処理装置をリバースエンジニアリングして、その情報処理装置が持つサブセットキーを取り出し、また情報処理装置の複製を製造して、取り出したサブセットキーをその複製情報処理装置において使うという状況がある。複製情報処理装置は、当然ながら海賊版業者などが作ったライセンス対象外の情報処理装置であり、ライセンス機器であれば行わない不正コピーや再生コンテンツのインターネットへの再配信などを行う可能性がある。そして、この複製情報処理装置がブラックマーケットで売買されるような状況を考える。また、そのサブセットキーを用いて攻撃者が受信ソフトウェアを作成し、インターネット上で配布するような状況も考えられる。
複製情報処理装置を入手できた場合、リバースエンジニアリングか、または非特許文献1に記載の方法を用いて、その複製情報処理装置で用いられているサブセットキーを特定することができる。
ここで、複製情報処理装置でリーフを1つだけ含むサブセットに対するサブセットキーが用いられていれば、そのサブセットキーを持つ正当な情報処理装置は1台しかないので、それ以降においてその情報処理装置をリボークすればよい。
しかし、複製情報処理装置が、そのようなサブセットキーを持たず、複数のリーフ(葉)を構成要素とするサブセットに対応するサブセットキー(たとえば、木の上位のノードに対して定義されたサブセットのサブセットキー)のみを格納し、そのサブセットキーを適用した処理を行っているとすると、そのサブセットキーは複数のリーフ(葉)に対応する複数の情報処理装置に共通に格納されているサブセットキーであるため、どの情報処理装置からサブセットキーが盗まれたかを特定することができない。
たとえば、図7の例、すなわち、情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図7中の×印)がリボークされている状態において、現在はリボークされていない情報処理装置u23,u24,u25,u29,u30,u31のいずれかが攻撃者によりリバースエンジニアリングされ、その情報処理装置が持つサブセットキーが露呈したが、攻撃者はそのうちのノード3において定義されたサブセットS3,101に対応するサブセットキーSK3,101のみを使って複製情報処理装置を製造したとする。
この場合、ノード3において定義されたサブセットS3,101に対応するサブセットキーSK3,101は、情報処理装置u23,u24,u25,u29,u30,u31のいずれにも共通に格納されたサブセットキーであるため、これらの情報処理装置中、どの情報処理装置が攻撃、すなわち不正に利用されたのか特定できないという問題が発生し、不正な情報処理装置を特定したリボーク処理ができなくなるという問題がある。
特開2001−352322号公報 D.Naor,M.Naor and J.Lotspiech著,"Revocation and Tracing Schemes for Stateless Receivers,"Advances in Cryptology−Crypto 2001,Lecture Notes in Computer Science 2139,Springer,pp.41−62,2001
本発明は、このような状況に鑑みてなされたものであり、木構造を用いた情報配信方式を適用した暗号文送信構成において、攻撃者による様々な攻撃が行なわれた場合、効率的にリボーク対象としてのリーフに対応する情報処理装置の特定を可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
より、具体的には鍵指定コードの構成情報として新たな情報を付加することで、様々なサブセットを設定した暗号文の提供を可能とし、暗号文を受領するユーザデバイスとしての情報処理装置において、本発明に従った鍵指定情報からなる鍵指定コードに基づいて、自己の保有するサブセットキーによって復号可能な暗号文を効率的に選択することを可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
暗号文生成処理を実行する情報処理装置であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを、情報処理装置に対する提供情報として生成する処理を実行する構成を有し、
前記鍵指定コードは、前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含み、該鍵指定情報は、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を含む構成であることを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを含む構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記多分木は3分木構成であり、前記サブセット分割識別情報は、前記鍵指定木の構成ノードに対応して設定される1ビット情報であり、前記サブセット分割識別ビット情報0または1によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する1つのサブセットキーを適用した暗号文を持つかを示す構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、さらに、前記分割サブセットの分割態様を示す分割法指定情報を含む構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記多分木は3分木構成であり、前記分割法指定情報は、前記鍵指定木の構成ノードに対応して設定される2ビット情報であり、前記分割法指定情報としてのビット情報00〜11によって、前記ノードに設定された枝a,b,cの分割態様として、abとc、acとb、aとbc、またはaとbとcのいずれの分割態様であるかを示す情報として設定する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、a.前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、b.該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、c.前記分割サブセットの分割態様を示す分割法指定情報ビット、上記、a.鍵指定ビット、b.パーティションビット、c.分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記多分木は3分木構成であり、前記鍵指定情報は、3ビットの鍵指定ビットと、1ビットのパーティションビットと、2ビットの分割法指定情報ビットの計6ビットを含み、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データとして構成した情報であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示す1ビットのリーフビットと、前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データと、から構成される5ビットの情報であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成を有することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記符号化データは、前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報として設定した構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記暗号文ブロックと、前記鍵指定コードと、さらに、前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を情報処理装置に対する提供情報として生成する処理を実行する構成であることを特徴とする。
さらに、本発明の第2の側面は、
暗号文復号処理を実行する情報処理装置であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力し、
前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得し、
該取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロック中に含まれるか否かのサブセット分割識別情報としてのパーティションビットとを含み、前記リーフビット、前記鍵指定ビット、および前記パーティションビットに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記多分木は3分木構成であり、前記サブセット分割識別情報は、前記鍵指定木の構成ノードに対応して設定される1ビット情報であり、前記情報処理装置は、前記サブセット分割識別ビット情報が0であるか1であるかによって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する1つのサブセットキーを適用した暗号文を持つかを判定する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記鍵指定情報の情報態様と各態様に対応する暗号文態様とを対応付けたテーブルを有し、該テーブルおよび前記取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、さらに、前記分割サブセットの分割態様を示す分割法指定情報を含み、前記情報処理装置は、前記分割法指定情報に基づいて、分割サブセットの分割態様を判別し、該判別情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記多分木は3分木構成であり、前記分割法指定情報は、前記鍵指定木の構成ノードに対応して設定される2ビット情報であり、前記情報処理装置は、前記分割法指定情報としてのビット情報00〜11によって、前記ノードに設定された枝a,b,cの分割態様が、abとc、acとb、aとbc、またはaとbとcのいずれの分割態様であるかを識別する処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記鍵指定情報は、a.前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、b.該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、c.前記分割サブセットの分割態様を示す分割法指定情報ビット、上記、a.鍵指定ビット、b.パーティションビット、c.分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であり、前記情報処理装置は、
前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記符号化データのデータ態様と各態様に対応する暗号文態様とを対応付けたテーブルを有し、該テーブルおよび前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記多分木は3分木構成であり、前記鍵指定情報は、3ビットの鍵指定ビットと、1ビットのパーティションビットと、2ビットの分割法指定情報ビットの計6ビットに基づく符号化データを含み、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データであり、前記情報処理装置は、前記4ビット符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記暗号文ブロックと、前記鍵指定コードと、さらに、前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を入力し、前記鍵指定情報エンコード方法識別情報に基づいて、前記鍵指定コードのエンコード方法を識別し、該識別結果に基づく鍵指定コードの解析により、前記暗号文ブロックに含まれる暗号文から復号処理対象としての暗号文の選択処理を実行する構成を有することを特徴とする。
さらに、本発明の第3の側面は、
情報記録媒体であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックと、
前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードと、
を格納し、
前記鍵指定コードは、前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含み、該鍵指定情報は、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を含む構成であることを特徴とする情報記録媒体にある。
さらに、本発明の情報記録媒体の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを含む構成であることを特徴とする。
さらに、本発明の情報記録媒体の一実施態様において、前記多分木は3分木構成であり、前記サブセット分割識別情報は、前記鍵指定木の構成ノードに対応して設定される1ビット情報であり、前記サブセット分割識別ビット情報0または1によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する1つのサブセットキーを適用した暗号文を持つかを示す構成であることを特徴とする。
さらに、本発明の情報記録媒体の一実施態様において、前記鍵指定情報は、さらに、前記分割サブセットの分割態様を示す分割法指定情報を含む構成であることを特徴とする。
さらに、本発明の情報記録媒体の一実施態様において、前記多分木は3分木構成であり、前記分割法指定情報は、前記鍵指定木の構成ノードに対応して設定される2ビット情報であり、前記分割法指定情報としてのビット情報00〜11によって、前記ノードに設定された枝a,b,cの分割態様として、abとc、acとb、aとbc、またはaとbとcのいずれの分割態様であるかを示す情報であることを特徴とする。
さらに、本発明の情報記録媒体の一実施態様において、前記鍵指定情報は、a.前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、b.該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、c.前記分割サブセットの分割態様を示す分割法指定情報ビット、上記、a.鍵指定ビット、b.パーティションビット、c.分割法指定情報ビットの組み合わせを識別可能な符号化データであることを特徴とする。
さらに、本発明の情報記録媒体の一実施態様において、前記多分木は3分木構成であり、前記鍵指定情報は、3ビットの鍵指定ビットと、1ビットのパーティションビットと、2ビットの分割法指定情報ビットの計6ビットから成り、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データであることを特徴とする。
さらに、本発明の情報記録媒体の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示す1ビットのリーフビットと、前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データと、から構成される5ビットの情報であることを特徴とする。
さらに、本発明の情報記録媒体の一実施態様において、前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成を有することを特徴とする。
さらに、本発明の情報記録媒体の一実施態様において、前記符号化データは、前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報であることを特徴とする。
さらに、本発明の情報記録媒体の一実施態様において、前記情報記録媒体は、前記暗号文ブロックと、前記鍵指定コードと、さらに、前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を格納した構成であることを特徴とする。
さらに、本発明の第4の側面は、
暗号文生成処理を実行する情報処理方法であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックの生成ステップと、
前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを生成する鍵指定コード生成ステップとを有し、
前記鍵指定コード生成ステップは、
前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報として、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を設定するサブセット分割識別情報設定ステップを含むことを特徴とする情報処理方法にある。
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップは、前記鍵指定情報として、前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを設定するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記多分木は3分木構成であり、前記鍵指定コード生成ステップは、前記鍵指定情報に設定する前記サブセット分割識別情報を、前記鍵指定木の構成ノードに対応して設定される1ビット情報として設定し、前記サブセット分割識別ビット情報0または1によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する1つのサブセットキーを適用した暗号文を持つかを示す情報ビットとして設定することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップは、前記鍵指定情報として、さらに、前記分割サブセットの分割態様を示す分割法指定情報を設定するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記多分木は3分木構成であり、前記鍵指定コード生成ステップは、前記鍵指定情報に設定する前記分割法指定情報として、前記鍵指定木の構成ノードに対応して設定される2ビット情報として設定し、前記分割法指定情報としてのビット情報00〜11によって、前記ノードに設定された枝a,b,cの分割態様として、abとc、acとb、aとbc、またはaとbとcのいずれの分割態様であるかを示す情報として設定することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップは、a.前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、b.該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、c.前記分割サブセットの分割態様を示す分割法指定情報ビット、上記、a.鍵指定ビット、b.パーティションビット、c.分割法指定情報ビットの組み合わせを識別可能な符号化データを前記鍵指定情報として生成する処理を含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記多分木は3分木構成であり、前記鍵指定コード生成ステップは、3ビットの鍵指定ビットと、1ビットのパーティションビットと、2ビットの分割法指定情報ビットの計6ビットから成り、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データとして前記鍵指定情報を生成するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップは、前記鍵指定木の構成ノードがリーフに対応するか否かを示す1ビットのリーフビットと、前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データと、から構成される5ビットの情報を生成するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップにおいて、前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成として設定することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード生成ステップにおいて、前記符号化データは、前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報として設定することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、前記暗号文ブロックと、前記鍵指定コードと、さらに、前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を情報処理装置に対する提供情報として生成するステップを有することを特徴とする。
さらに、本発明の第5の側面は、
暗号文復号処理を実行する情報処理方法であり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力するステップと、
前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得する鍵指定コード解析ステップと、
前記鍵指定コード解析ステップにおいて取得した取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行するステップと、
を有することを特徴とする情報処理方法にある。
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定情報は、前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロック中に含まれるか否かのサブセット分割識別情報としてのパーティションビットとを含み、前記鍵指定コード解析ステップは、前記リーフビット、前記鍵指定ビット、および前記パーティションビットに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報の取得処理を実行するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記多分木は3分木構成であり、前記サブセット分割識別情報は、前記鍵指定木の構成ノードに対応して設定される1ビット情報であり、前記鍵指定コード解析ステップは、前記サブセット分割識別ビット情報が0であるか1であるかによって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する1つのサブセットキーを適用した暗号文を持つかを判定するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード解析ステップは、前記鍵指定情報の情報態様と各態様に対応する暗号文態様とを対応付けたテーブルに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定情報は、さらに、前記分割サブセットの分割態様を示す分割法指定情報を含み、前記鍵指定コード解析ステップは、前記分割法指定情報に基づいて、分割サブセットの分割態様を判別し、該判別情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記多分木は3分木構成であり、前記分割法指定情報は、前記鍵指定木の構成ノードに対応して設定される2ビット情報であり、前記鍵指定コード解析ステップは、前記分割法指定情報としてのビット情報00〜11によって、前記ノードに設定された枝a,b,cの分割態様が、abとc、acとb、aとbc、またはaとbとcのいずれの分割態様であるかを識別する処理を実行するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定情報は、a.前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、b.該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、c.前記分割サブセットの分割態様を示す分割法指定情報ビット、上記、a.鍵指定ビット、b.パーティションビット、c.分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であり、前記鍵指定コード解析ステップは、前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記鍵指定コード解析ステップは、前記符号化データのデータ態様と各態様に対応する暗号文態様とを対応付けたテーブルに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記多分木は3分木構成であり、前記鍵指定情報は、3ビットの鍵指定ビットと、1ビットのパーティションビットと、2ビットの分割法指定情報ビットの計6ビットに基づく符号化データを含み、

前記分割法指定情報は、3ビットの鍵指定ビットと、1ビットのパーティションビットと、2ビットの分割法指定情報ビットの計6ビットから成り、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データであり、前記鍵指定コード解析ステップは、前記4ビットデータに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を入力するステップと、前記鍵指定情報エンコード方法識別情報に基づいて、前記鍵指定コードのエンコード方法を識別し、該識別結果に基づいて前記鍵指定コードの解析を実行するステップと、を含むことを特徴とする。
さらに、本発明の第6の側面は、
暗号文生成処理を実行するコンピュータ・プログラムであり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックの生成ステップと、
前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを生成する鍵指定コード生成ステップとを有し、
前記鍵指定コード生成ステップは、
前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報として、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を設定するサブセット分割識別情報設定ステップを含むことを特徴とするコンピュータ・プログラムにある。
さらに、本発明の第7の側面は、
暗号文復号処理を実行するコンピュータ・プログラムであり、
多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力するステップと、
前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得する鍵指定コード解析ステップと、
前記鍵指定コード解析ステップにおいて取得した取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを、情報処理装置に対する提供情報として生成し、鍵指定コードの構成データである鍵指定木ノード毎の鍵指定情報中に、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を暗号文ブロック中に含むか否かのサブセット分割識別情報(パーティションビット)を含める構成としたので、分割サブセットに対応するサブセットキーを適用した暗号文を生成して情報処理装置に送信することが可能となり、暗号文および鍵指定コードを受領した情報処理装置側においては、受領した暗号文が、分割サブセットに対応するサブセットキーを適用した暗号文であるか否かを判別して、鍵指定コードに基づいて、自己の復号対象の暗号文を選択することが可能となる。
本発明の構成によれば、木構造を用いた情報配信方式を適用した暗号文送信構成において、様々な分割サブセットを設定した暗号文の提供が可能となるので、攻撃者による様々な攻撃が行なわれた場合、効率的にリボーク対象としてのリーフに対応する情報処理装置の特定が可能となる。
さらに、本発明の構成によれば、分割態様が複数あるサブセットにおいても、分割態様を示す分割法指定ビットを設定した構成としたので、例えば3分木構成において2つの枝と1つの枝の様々な組み合わせや3つの枝毎の分割サブセットの設定など任意の分割態様の設定が可能となる。暗号文ブロックからの暗号文選択および復号処理を行う情報処理装置では、鍵指定コードに含まれる鍵指定情報に含まれる分割法指定ビットを解析することにより、復号対象の暗号文を選択することができる。
さらに、本発明の構成において、鍵指定ビット、パーティションビット、分割法指定ビットのビット情報を符号化した構成によれば、鍵指定コードの情報量を削減することが可能となる。
以下、図面を参照しながら本発明の情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
背景技術の欄において説明したように、多分木構成を用いて、特定の情報処理装置においてのみ取得可能な情報としての暗号文を設定し、かつ、各情報処理装置において、どの暗号文を選択すべきかを示す鍵指定コードを暗号文と併せて送付することにより、暗号文を受信した情報処理装置側では、鍵指定コードに基づいて、自装置において復号可能な暗号文を選択して、効率的に復号することが可能となる。
前述したように、鍵指定コードは、鍵指定木の構成情報と、どのノードのキーが適用されているかを示す情報によって構成される。先に図7を参照して説明した多分木構成においては、リーフビットを適用することで、鍵指定コードの情報量を削減する構成としている。
しかし、図7に示す構成において、情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図7中の×印)がリボークされている状態において、現在はリボークされていない情報処理装置u23,u24,u25,u29,u30,u31のいずれかが攻撃者によりリバースエンジニアリングされ、その情報処理装置が持つサブセットキーが露呈し、攻撃者が情報処理装置u23,u24,u25,u29,u30,u31に共通に格納されたサブセットキー、すなわち、ノード3において定義されたサブセットS3,101に対応するサブセットキーSK3,101を、多数の機器にコピーして、不正機器を大量に製造したと想定する。
この様な場合、システム管理者が、不正機器を入手し、不正に利用されているサブセットキーが、サブセットキーSK3,101であることを解明しても、サブセットキーSK3,101は、情報処理装置u23,u24,u25,u29,u30,u31の全てに共通に格納されたキーであり、情報処理装置u23,u24,u25,u29,u30,u31のいずれが不正に利用されたかを特定することができない。
その結果、情報処理装置u23,u24,u25,u29,u30,u31のいずれかを選択的にリボーク(排除)することができないということになる。サブセットキーSK3,101を使った暗号文の提供を停止すると、情報処理装置u23,u24,u25,u29,u30,u31のすべてをまとめてリボーク(排除)することになってしまい、正当な機器も排除されてしまうという問題が発生する。
このような場合、図8に示す部分木中のノード3,201において定義されたサブセットS3,101に対応するサブセットキーSK3,101の適用をやめて、ノード3,201において定義された他のサブセットS3,100に対応するサブセットキーSK3,100と、サブセットS3,001に対応するサブセットキーSK3,001とを用いるようにすれば、上記のような、サブセットキーSK3,101のみを格納した不正機器では、暗号文の復号ができず、不正機器によるコンテンツ利用等を排除することができる。
すなわち、図9に示すように、部分木を分割して複数の部分木として再設定する。図9(1)に示す部分木211はサブセットS3,101によって定義される部分木であり、対応するサブセットキーSK3,101を適用した暗号文とした場合、すなわち、
E(SK3,101,Kc)を設定した場合、サブセットS3,101に属する情報処理装置、u23,u24,u25,u29,u30,u31の全てが共通に有するサブセットキーSK3,101を適用して共通に復号可能な暗号文となる。
これを図9(2)に示す部分木211Aと211Bに分割する。部分木211AはサブセットS3,100によって定義される部分木であり、部分木211BはサブセットS3,001によって定義される部分木であり、それぞれ対応するサブセットキーSK3,100、SK3,001を適用した暗号文を構成する。すなわち、
E(SK3,100,Kc)と、
E(SK3,001,Kc)と、
を設定する。サブセットS3,100に属する情報処理装置u23,u24,u25は、暗号文E(SK3,100,Kc)を選択して復号しコンテンツキーを取得し、サブセットS3,001に属する情報処理装置u29,u30,u31は、暗号文E(SK3,001,Kc)を選択して復号しコンテンツキーを取得することが必要となる。
このように、情報処理装置に提供する暗号文ブロックを下記(1)から(2)に変更する。
(1)暗号文ブロック=E(SK1,100,Kc),E(SK3,101,Kc),E(SK9,100,Kc),E(SK11,101,Kc),E(SK12,100,Kc)
(2)暗号文ブロック=E(SK1,100,Kc),E(SK3,100,Kc),E(SK3,001,Kc),E(SK9,100,Kc),E(SK11,101,Kc),E(SK12,100,Kc)
このような処理により、サブセットキーSK3,101のみを格納した不正機器では、暗号文の復号ができず、サブセットキーSK3,101のみを格納した不正機器によるコンテンツの不正利用を排除することができる。
攻撃者は、さらに、情報処理装置u23,u24,u25,u29,u30,u31のいずれかから取得したサブセットS3,100に対応するサブセットキーSK3,100と、サブセットS3,001に対応するサブセットキーSK3,001とを格納した不正機器を製造することも可能であるが、その不正機器を入手し解析することにより、適用している新たなサブセットキーが判明する。この処理を繰り返すことにより最終的には攻撃された、すなわち不正な鍵情報取得処理の対象となった唯一の情報処理装置を特定することが可能となる。
このように唯一の情報処理装置が特定されれば、その情報処理装置のみを対象としたリボーク処理が可能となり、鍵情報の漏洩していない他の情報処理装置に対する影響を及ぼすことなく、1つの情報処理装置のリボークのみで、全ての不正機器、すなわちリボークされた情報処理装置に格納された鍵情報のコピー情報を持つ不正機器による配信情報(コンテンツキーKcなど)の不正取得を排除できる。
このような情報処理装置の特定処理を行う場合、例えば図8に示すノード3,201に対して、複数の枝202,203に対応するサブセットS3,101が選択された場合に、
a.許容サブセット(複数の枝に対応するサブセット)全体に対応するサブセットキーを用いて暗号文を作るか、すなわち、
E(SK3,101,Kc)
それとも、
b.許容サブセット(複数の枝に対応するサブセット)を分割した複数のサブセットに対応する複数のサブセットキーを用いて複数の暗号文を作るか、すなわち、
E(SK3,100,Kc),E(SK3,001,Kc)
とするか、
いずれをも選択的に実行できるようにすることが必要である。
また、上記のような処理を行う場合、従来の鍵指定コード、すなわち、背景技術の欄で説明した1ビットのリーフビットと、3ビットの鍵指定ビット構成では、上記、a,bのいずれの態様を持つ暗号文が含まれているかを判別することはできない。
以下、本実施例の構成として、特定のノードに対して、複数の枝に対応するサブセットが選択された場合に、
a.許容サブセット(複数の枝に対応するサブセット)全体に対応するサブセットキーを用いた暗号文を有するか、
それとも、
b.許容サブセット(複数の枝に対応するサブセット)を分割した複数のサブセットに対応する複数のサブセットキーを用いた複数の暗号文を有するか、
a、bいずれの情報を持つ暗号文であるかを識別するための情報ビット(パーティションビット)を、鍵指定コード中に付加した構成とした実施例を説明する。
図10以下を参照して、本実施例に係る鍵指定コードの構成、処理例の詳細について説明する。
図10には、情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図10中の×印)がリボークされている状態における鍵指定木301を太線で示している。
図10に示すように、鍵指定木301を構成する各ノード(1,3,4,9,11,12,13)には鍵指定情報が設定される。鍵指定情報は、
リーフビットc:1ビット
鍵指定ビットd:3ビット
パーティションビットe:1ビット
のビット構成を持つ(c,ddd,e)の計5ビットの鍵指定情報として設定される。
なお、リーフビットcは、
[1]であるとき、鍵指定木のリーフであることを示し、
[0]であるとき、リーフ以外のノードであることを示す。
鍵指定ビット、3ビットdddは、そのノードに定義されたどのサブセットに対応するサブセットキーが、上記の暗号文ブロック中の暗号文を作るために用いられているかを示す。すなわち、あるノードkの鍵指定ビット情報が、
[100]であればサブセットキーSKk,100が適用された暗号文が含まれている。
[110]であればサブセットキーSKk,110が適用された暗号文が含まれている、ただし、これは、後述するように、パーティションビットe=0の場合であり、パーティションビットe=1の場合には、サブセットキーSKk,100が適用された暗号文と、サブセットキーSKk,010が適用された暗号文の2つの分割された暗号文が含まれている。
[000]であれば、そのノードに対して定義されたサブセットに対応するサブセットキーは使用されていないことを示す。
リーフビットc、鍵指定ビット3ビットdddは、パーティションビットe=0の場合は、従来のルールと同様であるが、パーティションビットe=1として設定されている場合は、リーフビットcの意味は変化しないが、鍵指定ビット3ビットdddはその意味が変化する場合がある。
パーティションビットeは、鍵指定ビットdddの重みが2以上、すなわちビットの(ddd)中、1であるビットの個数が2以上であるときにのみ有効である。鍵指定ビットdddの重みとは、ビットdddの3つのビット中の1の数を言う。パーティションビットeは、鍵指定ビットdddの重みが2以上の場合にのみ有効となる。具体的には、鍵指定ビットddd=(011)、(101)、(110)、(111)の場合にのみ有効である。
それ以外の場合はe=0でもe=1でも構わないが、簡潔のためデフォルトをe=0とする。すなわち、パーティションビットe=0の場合は、パーティションビットが存在しない従来技術と同様、リーフビットと、鍵指定ビット情報のみからなる鍵指定コードとして解釈される。
パーティションビットe=1の場合は、そのノードkに定義されたサブセットに対応する複数のサブセットキーが個別に適用された暗号文を持つことを意味する。
ノードkに定義されるサブセットは、Sk,100,Sk,010,Sk,001,Sk,110,Sk,101,Sk,001の6個のサブセットである。ただし、ルート(ノード1)についてのみ、サブセットS1,111が含まれる。これらの複数のサブセットに対応するサブセットキーは、SKk,100,SKk,010,SKk,001,SKk,110,SKk,101,SKk,001であり、ルート(ノード1)のみ、サブセットキーSK1,111を含む。
例えば、ノードkにおいて、
鍵指定ビットddd=(110)であり、かつ、
パーティションビットe=1の場合には、
サブセットキーSKk,100と、SKk,010を用いた2つの暗号文が存在していることを意味する。
パーティションビットe=0の場合には、
サブセットキーSKk,110を用いた1つの暗号文が存在していることを意味する。
また、ノードkにおいて、
鍵指定ビットddd=(111)であり、かつ、
パーティションビットe=1の場合には、
サブセットキーSKk,100と、SKk,010と、SKk,001を用いた3つの暗号文が存在していることを意味する。
パーティションビットe=0の場合には、
サブセットキーSKk,111を用いた1つの暗号文が存在していることを意味する。
リボークする受信機がない場合、サブセットキーSK1,111を用いるのであればルートの鍵指定情報は、パーティションビットe=0として、
(c,ddd,e)=(1,111,0)
とすればよい。これは、従来のリーフビットc:1ビット、鍵指定ビットd:3ビットの鍵指定情報と同様の情報である。
一方、サブセットキーSK1,111を用いずに、個別に3つのサブセットキーSKk,100と、SKk,010と、SKk,001を用いる場合には、ルートの鍵指定情報は、パーティションビットe=1として、
(c,ddd,e)=(1,111,1)
とすればよい。
図10に示す例は、情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図10中の×印)がリボークされている状態における鍵指定木を太線で示した図である。情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図10中の×印)をリボークし、それ以外の情報処理装置に情報(たとえば、コンテンツキーKc)を送信するものとする。
この場合、鍵指定木は、ノード(1,3,4,9,11,12,13)を構成ノードとして、リーフノードをノード(9,11,12,13)として設定される。この構成を持つ鍵指定木構成ノードにリーフビット=c、鍵指定ビット=ddd、パーティションビットeが、図に示すように、以下の如く設定される。
ノード1:(0,100,0)
ノード3:(0,101,1)
ノード4:(0,000,0)
ノード9:(1,100,0)
ノード11:(1,101,0)
ノード12:(1,100,0)
ノード13:(1,000,0)
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
[01000010110000011000110101100010000]
となる。
上記設定において、ノード3の鍵指定情報が、
(c,ddd,e)=(0,101,1)
であり、パーティションビットe=1である。
鍵指定ビットは、ddd=(101)であるので、これは、上述の鍵指定コードに対応して設定される暗号文ブロックには、
サブセットキーSK3,100と、SK3,001を用いた2つの暗号文が存在していることを意味する。すなわち、
暗号文ブロック=・・・E(SK3,100,Kc),E(SK3,001,Kc)・・・
として構成されていることを意味する。
もし、ノード3の鍵指定情報が、
(c,ddd,e)=(0,101,0)
であり、パーティションビットe=0の場合は、
サブセットキーSK3,101のみを用いた暗号文が存在していることを意味する。すなわち、
暗号文ブロック=・・・E(SK3,101,Kc)・・・
として構成されていることを意味する。
任意のノードiにおいて、鍵指定ビット(ddd)と、パーティションビット(e)の組み合わせ(ddd,e)が取りうる値と、そのときに暗号文ブロックに含まれる暗号文の対応を示した対応テーブルを図11に示す。
この対応テーブルを用いて、各情報処理装置は、鍵指定コードから、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを知ることができる。なお、暗号文ブロックにおいて暗号文が並べられる順番であるが、まずその暗号化に用いられたサブセットキーに対応するサブセットが定義されるノード番号の若い順が一番プライオリティが高く(すなわち、サブセットキーSK2,xxxとSK3,yyyを用いた暗号文では必ず前者が先に置かれる)、ノード番号が同一のものの間では、SKk,zzzのzzzを2進数で表された数として見たときに、大きい順で置かれる(すなわち、サブセットキーSKk,101とSKk,010を用いた暗号文では必ず前者が先に置かれる)、というようにルールを決めておけば、暗号文の順番は一意に定まり、暗号文および鍵指定コードを受領する情報処理装置はどの暗号文を復号すればよいかを求めることができる。
暗号文ブロックと、鍵指定コードを受領する各情報処理装置は、図11に示す対応テーブルを記憶部に格納するか、あるいは、対応テーブルに対応する鍵指定コードの解釈アルゴリズムを実行するプログラムを記憶部に格納し、対応テーブルを参照して、あるいは、鍵指定コードの解釈アルゴリズムを実行するプログラムに従って、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを判定する。なお、対応テーブル、または鍵指定コードの解釈アルゴリズムを実行するプログラムは、暗号文ブロックや鍵指定コードの提供時に各情報処理装置に提供する構成としてもよい。
このように、本実施例において、鍵指定コードは、選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含み、鍵指定情報は、鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットを含むコードとして設定される。
暗号文ブロックと、鍵指定コードを受領したユーザデバスとしての情報処理装置は、鍵指定コードの解析を実行し、鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が、暗号文ブロック中に含まれるか否かを判定して、その判定に基づいて、暗号文ブロックから、自装置に格納されたサブセットキーを適用して復号することが可能な暗号文を選択する。
図12は、図8で示した例に加えて、さらに、サブセットキーSK1,100をサブセットキーSK2,100、SK2,010、SK2,001の3つに分割した部分木の構成を示している。
前述したように、ルートノード(ノードNo.1)以外のノードkは、サブセットSk,111を有していない。すなわち、あるノードの子ノードを全指定するサブセットは、そのノードの上位ノードによって指定可能であるからである。従って、図12に示す情報処理装置u14〜u22を指定するサブセットは、S2,111ではなく、S1,100によって指定される。
この場合、サブセットS1,100に対応するサブセットキーSK1,100による暗号文は、
E(SK1,100,Kc)となるが、これを、
情報処理装置{u14,u15,u16}を含むサブセットS2,100と、
情報処理装置{u17,u18,u19}を含むサブセットS2,010と、
情報処理装置{u20,u21,u22}を含むサブセットS2,001と、
の3つのサブセットに分割して、それぞれのサブセット毎に取得可能な暗号文を設定する場合、サブセットキーSK1,100を、サブセットキーSK2,100、SK2,010、SK2,001の3つに分割し、暗号文として、
E(SK2,100,KC)
E(SK2,010,KC)
E(SK2,001,KC)
の3つを設定する。
これは、すなわち、図13に示すように、部分木を分割して複数の部分木として再設定する処理である。図13(1)に示す部分木311はサブセットS1,100によって定義される部分木であり、対応するサブセットキーSK1,100を適用した暗号文とした場合、すなわち、
E(SK1,100,Kc)を設定した場合、サブセットS1,100に属する情報処理装置、u14,〜u22の全てが共通に有するサブセットキーSK1,100を適用して共通に復号可能な暗号文となる。
これを図13(2)に示す部分木311Aと311Bと311Cに分割する。部分木311AはサブセットS2,100によって定義される部分木、部分木311BはサブセットS2,010によって定義される部分木、部分木311CはサブセットS2,001によって定義される部分木となる。
それぞれ対応するサブセットキーSK2,100、S2,010、SK2,001を適用した暗号文を構成する。すなわち、
E(SK2,100,KC)
E(SK2,010,KC)
E(SK2,001,KC)
の3つを設定する。
サブセットS2,100に属する情報処理装置u14,u15,u16は、暗号文E(SK2,100,Kc)を選択して復号しコンテンツキーを取得し、サブセットS2,010に属する情報処理装置u17,u18,u19は、暗号文E(SK2,010,Kc)を選択して復号しコンテンツキーを取得し、サブセットS2,001に属する情報処理装置u20,u21,u22は、暗号文E(SK2,001,Kc)を選択して復号しコンテンツキーを取得することが必要となる。
上記の設定とした場合の鍵指定木の各ノードにおける鍵指定情報(c,ddd,e)は図14に示すとおりとなる。
図14は、情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図14中の×印)がリボークされている状態における鍵指定木321を太線で示した図である。情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図14中の×印)をリボークし、それ以外の情報処理装置に情報(たとえば、コンテンツキーKc)を送信するものとする。
この場合、鍵指定木は、ノード(1,2,3,4,9,11,12,13)を構成ノードとして、リーフノードをノード(2,9,11,12,13)として設定される。この構成を持つ鍵指定木構成ノードにリーフビット=c、鍵指定ビット=ddd、パーティションビットeが、例えば以下のように設定される。
ノード1:(0,000,0)
ノード2:(1,111,1)
ノード3:(0,101,1)
ノード4:(0,000,0)
ノード9:(1,100,0)
ノード11:(1,101,0)
ノード12:(1,100,0)
ノード13:(1,000,0)
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
[0000011111010110000011000110101100010000]
となる。
上記設定において、ノード2の鍵指定情報が、
(c,ddd,e)=(1,111,1)
であり、パーティションビットe=1である。
鍵指定ビットは、ddd=(111)であるので、上述の鍵指定コードに対応して設定される暗号文ブロックには、
サブセットキーSK2,100と、SK2,010と、SK2,001を用いた3つの暗号文が存在していることを意味する。すなわち、
暗号文ブロック=・・・E(SK2,100,Kc),E(SK2,010,Kc),E(SK3,001,Kc)・・・
として構成されていることを意味する。
上述のように、本実施例によれば、任意のノードにおいて、1つのサブセットで定義可能な集合を複数の分割サブセットに区別して、設定し、それぞれの分割サブセットに対応するサブセットキーを適用した暗号文を生成して情報処理装置に送信することができるとともに、パーティションビットを設定した鍵指定情報を設定した鍵指定コードを生成し提供する構成とした。
従って、暗号文および鍵指定コードを受領した情報処理装置は、受領した暗号文が、分割サブセットを設定し、分割サブセットに対応するサブセットキーを適用した暗号文である場合も、分割サブセットを用いない構成である場合も、鍵指定コードに基づいて、自己の復号対象の暗号文を選択することが可能となる。
上述した実施例においては、例えば、サブセットキーSK3,101を、
SK3,100,SK3,001に分割したり、あるいは、
サブセットキーSK1,100を、
SK2,100,SK2,010,SK2,001に分割する例を説明した。すなわち、あるサブセットキーを分割する場合には、必ずただひとつの方法で、サブセットキーをSKx,yyyと表したときのyyy部分の重み(1であるビットの個数)が1になるように分割していた。
しかし、分木数が3以上の場合には、分割態様は、様々な態様が可能となる。たとえば図15に示すように、ノード1に対応して設定されるサブセットS1,100を、ノード2に対応して設定される2つのサブセットS2,101と、S2,010の2つに分割し、2つのサブセットS2,101と、S2,010の対応サブセットキーSK2,101と、SK2,010を適用した暗号文を送付したいという場合がある。
各ノードに設定される鍵指定情報のうち、鍵指定ビットdddの重みが2ビット(1の数が2)のときは分割する方法は1通りであり、重みが3ビットの場合(ddd=111のとき)は、4通りの分割方法がある。すなわち、
(1)(100),(010),(001)
(2)(100),(011)
(3)(010),(101)
(4)(001),(110)
の4通りである。
このような多種類の分割態様がある場合、これらの分割態様のどの態様で分割が実行されたかを判別する情報が必要となる。この情報を分割法指定ビット(Partition Specify Bit )と呼ぶ。
この分割法指定ビットを鍵指定木の鍵指定情報の構成ビットとして2ビット(ff)を新たに付加する。3分木構成の場合、分割態様は最大で、上記4通りであるので、鍵指定情報の構成ビットとして2ビット(ff)を新たに付加する。
図16に、鍵指定木を構成するノードiに設定される鍵指定情報中の、鍵指定ビットddd、パーティションビットe、分割法指定ビットffのパターンについて示す。分割法指定ビットffは、鍵指定ビットddd、パーティションビットeが、(ddd,e)=(111,1)のときのみ有効である。その他の場合は、分割法指定ビットff=00として設定され、上述の実施例1に従った解釈がなされる。
図16に示す4つのエントリのみが、鍵指定ビットddd、パーティションビットeが、(ddd,e)=(111,1)であり、これらの場合、分割法指定ビットffに基づいて、暗号文の解釈が行われることになる。
(1)(ddd,e,ff)=(111,1,00)の場合、
3つのサブセットキー:SKi,100、SKi,010、SKi,001を適用して、
3つの暗号文:E(SKi,100,Kc),E(SKi,010,Kc),E(SKi,001,Kc)を設定することを示す。
(2)(ddd,e,ff)=(111,1,01)の場合、
2つのサブセットキー:SKi,100、SKi,011を適用して、
2つの暗号文:E(SKi,100,Kc),E(SKi,011,Kc)を設定することを示す。
(3)(ddd,e,ff)=(111,1,10)の場合、
2つのサブセットキー:SKi,101、SKi,010を適用して、
2つの暗号文:E(SKi,101,Kc),E(SKi,010,Kc)を設定することを示す。
(4)(ddd,e,ff)=(111,1,11)の場合、
2つのサブセットキー:SKi,110、SKi,001を適用して、
2つの暗号文:E(SKi,110,Kc),E(SKi,001,Kc)を設定することを示す。
各情報処理装置は、図16に示す対応テーブルを用いて、鍵指定コードから、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを知ることができる。
暗号文ブロックと、鍵指定コードを受領する各情報処理装置は、図16に示す対応テーブルを記憶部に格納するか、あるいは、対応テーブルに対応する鍵指定コードの解釈アルゴリズムを実行するプログラムを記憶部に格納し、対応テーブルを参照して、あるいは、鍵指定コードの解釈アルゴリズムを実行するプログラムに従って、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを判定する。なお、対応テーブル、あるいは、鍵指定コードの解釈アルゴリズムを実行するプログラムは、暗号文ブロックや鍵指定コードの提供時に各情報処理装置に提供する構成としてもよい。
なお、暗号文ブロックにおいて暗号文が並べられる順番であるが、まずその暗号化に用いられたサブセットキーに対応するサブセットが定義されるノード番号の若い順が一番プライオリティが高く(すなわち、サブセットキーSK2,xxxとSK3,yyyを用いた暗号文では必ず前者が先に置かれる)、ノード番号が同一のものの間では、SKk,zzzのzzzを2進数で表された数として見たときに、大きい順で置かれる(すなわち、サブセットキーSKk,101とSKk,010を用いた暗号文では必ず前者が先に置かれる)、というようにルールを決めておけば、暗号文の順番は一意に定まり、暗号文および鍵指定コードを受領する情報処理装置はどの暗号文を復号すればよいかを求めることができる。
分割法指定ビットffを含む鍵指定情報、すなわち、
リーフビット:c
鍵指定ビット:ddd
パーティションビット:e
分割法指定ビット:ff
からなる(c,ddd,e,ff)の計7ビット構成を持つ鍵指定情報を鍵指定木の各構成ノードに設定した例を図17に示す。
図17は、情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図17中の×印)がリボークされている状態における鍵指定木401を太線で示した図である。情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図17中の×印)をリボークし、それ以外の情報処理装置に情報(たとえば、コンテンツキーKc)を送信するものとする。
この場合、鍵指定木は、ノード(1,2,3,4,9,11,12,13)を構成ノードとして、リーフノードをノード(2,9,11,12,13)として設定される。この構成を持つ鍵指定木構成ノードにリーフビット=c、鍵指定ビット=ddd、パーティションビットe、分割法指定ビットffが、例えば以下のように設定される。
ノード1:(0,000,0,00)
ノード2:(1,111,1,10)
ノード3:(0,101,0,00)
ノード4:(0,000,0,00)
ノード9:(1,100,0,00)
ノード11:(1,101,0,00)
ノード12:(1,100,0,00)
ノード13:(1,000,0,00)
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
[00000001111110010100000000001100000110100011000001000000]
となる。
上記設定において、ノード2の鍵指定情報が、
(c,ddd,e,ff)=(1,111,1,10)
であり、鍵指定情報、パーティションビット(ddd,e)=(111,1)である。
分割法指定ビット(ff)=(10)であるので、
これは、上述の鍵指定コードに対応して設定される暗号文ブロックには、
サブセットキーSK2,101と、SK2,010とを用いた2つの暗号文が存在していることを意味する。すなわち、
暗号文ブロック=・・・E(SK2,101,Kc),E(SK2,010,Kc)・・・
として構成されていることを意味する。
図17の例において、リボークする受信機がなく、全受信機を構成要素とするサブセットS1,111に対応するサブセットキーで暗号化した暗号文1つだけを送信する場合には、ルートの鍵指定情報を(c,ddd,e,ff)=(1,111,0,00)として鍵指定コードを構成すればよい。この指定情報は、リーフビットcと鍵指定ビットdddのみの情報構成の場合と同様の解釈となる。
上述のように、本実施例によれば、任意のノードにおいて、1つのサブセットで定義可能な集合を複数の分割サブセットに区別して、設定し、それぞれの分割サブセットに対応するサブセットキーを適用した暗号文を生成して情報処理装置に送信することができるとともに、パーティションビットを設定し、かつ分割法指定ビットを設定したことにより、様々な分割態様を区別した分割サブセットの設定が可能となり、様々な分割態様を区別した分割サブセットに対応するサブセットキーを適用した暗号文の生成が可能となる。
暗号文および鍵指定コードを受領した情報処理装置は、受領した暗号文が、分割サブセットを設定し、分割サブセットに対応するサブセットキーを適用した暗号文である場合、分割法指定ビットに基づいて、分割態様を判別することが可能となり、自己の復号対象の暗号文を選択することが可能となる。
先に、図16を参照して説明した鍵指定情報(ddd,e,ff)、すなわち、
鍵指定ビット;ddd
パーティションビット:e
分割法指定ビット:ff
の(ddd,e,ff)の5ビットからなる情報に対応して設定される暗号文ブロックに含まれる暗号文のパターンは、図16に示すように、「暗号文なし」も含めて全部で15通りである。
実施例2では、(ddd,e,ff)の6ビットを用いてこの15通りのデータを表しているが、15通りのデータは4ビットで表現することが可能であるので、図18に示すように、(ddd,e,ff)の6ビットの値を符号化(エンコード)した4ビットの値(gggg)または(hhhh)を用いることにより、鍵指定情報に必要なビット数を減らすことが可能である。
図18の(gggg)は、テーブルの上から12段目までの(1)〜(12)のデータエントリは、(gggg)=(ddd,e)とし、一番下の3段の(13)〜(15)のエントリは、(ddd,e)の組み合わせに残りのビット構成を割り当てた構成となっている。
このため、エンコードされた(gggg)とエンコード前の(ddd,e)との対応を求めるのが容易になっている。
(ddd,e,ff)のかわりにエンコードビット(gggg)の4ビットを用いて、鍵指定情報を、
リーフビット:c
エンコードビット:gggg
の(c,gggg)5ビット構成とした場合の鍵指定木と各ノードに設定される鍵指定情報、および鍵指定コードの構成を図19に示す。
図19は、情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図19中の×印)がリボークされている状態における鍵指定木421を太線で示した図である。情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図19中の×印)をリボークし、それ以外の情報処理装置に情報(たとえば、コンテンツキーKc)を送信するものとする。
この場合、鍵指定木は、ノード(1,2,3,4,9,11,12,13)を構成ノードとして、リーフノードをノード(2,9,11,12,13)として設定される。この構成を持つ鍵指定木構成ノードにリーフビット=c、鍵指定ビット=ddd、パーティションビットe、分割法指定ビットffの設定と、リーフビット=cと、エンコードビット=ggggの(c,gggg)5ビットとした設定の対応を以下に示す。
ノード1:(0,000,0,00)→(0,0000)
ノード2:(1,111,1,10)→(1,0101)
ノード3:(0,101,0,00)→(0,1010)
ノード4:(0,000,0,00)→(0,0000)
ノード9:(1,100,0,00)→(1,1000)
ノード11:(1,101,0,00)→(1,1010)
ノード12:(1,100,0,00)→(1,1000)
ノード13:(1,000,0,00)→(1,0000)
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
[0000010101010100000011000110101100010000]
となる。
リーフビット=c、鍵指定ビット=ddd、パーティションビットe、分割法指定ビットffの設定の7ビットの鍵指定情報を各ノードに設定した場合、上述のように鍵指定木の構成ノードが8つの場合8×7=56ビットとなるが、リーフビット=cと、エンコードビット=ggggの(c,gggg)5ビットとした場合、8×5=40ビットとなリ情報量が5/7に削減される。
なお、図19の例において、リボークする受信機がなく、全受信機を構成要素とするサブセットS1,111に対応するサブセットキーで暗号化した暗号文1つだけを送信する場合には、ルートの鍵指定情報を(c,gggg)=(1,1110)として鍵指定コードを構成すればよい。この指定情報は、リーフビット=c、鍵指定ビット=ddd、パーティションビットe、分割法指定ビットffの設定の7ビットの鍵指定情報にデコードすると、
(c,ddd,e,ff)=(1,111,0,00)
となり、リーフビットcと鍵指定ビットdddのみの情報構成の場合と同様の解釈となる。
図18に示すエンコードビット(hhhh)の4ビットは、(gggg)の4ビットのうちの上位3ビットの重みが2(すなわち、110または101または011)であるものの最下位ビットをビット反転させたものとなっている。このコード化方法のメリットは、コードhhhhの重みを調べることにより、そのノードに対し何個の暗号文が暗号文ブロックに存在するかを調べるのが容易であるということである。
すなわち、図18(B)に示すように、hhhhの重みが0であれば暗号文はなく、重みが1か3であれば暗号文は1つだけ存在し、重み2であれば2つの暗号文が、重み4であれば3つの暗号文が存在するようになっている。ある受信機は、自分が復号すべき暗号文に用いられたサブセットキーに対応するサブセットが定義されたノード以外のノードのサブセットキーを用いて作られた暗号文の並びの詳細を知る必要はなく、自分が復号すべき暗号文を得るためにはそれぞれのノードで何個の暗号文があり、自分が復号すべき暗号文が全体で何番目に存在するかを知ればよいので、エンコードビット(hhhh)の重みを調べることで暗号文ブロックに含まれる個数が簡単にわかることは、受信機の処理の負荷の軽減につながる。
(ddd,e,ff)のかわりにエンコードビット(hhhh)の4ビットを用いて、鍵指定情報を、
リーフビット:c
エンコードビット:hhhh
の(c,hhhh)5ビット構成とした場合の鍵指定木と各ノードに設定される鍵指定情報、および鍵指定コードの構成を図20に示す。
図20は、情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図20中の×印)がリボークされている状態における鍵指定木431を太線で示した図である。情報処理装置u14〜u40の中から、u27,u28,u33,u36,u37,u38,u39,u40(図20中の×印)をリボークし、それ以外の情報処理装置に情報(たとえば、コンテンツキーKc)を送信するものとする。
この場合、鍵指定木は、ノード(1,2,3,4,9,11,12,13)を構成ノードとして、リーフノードをノード(2,9,11,12,13)として設定される。この構成を持つ鍵指定木構成ノードにリーフビット=c、鍵指定ビット=ddd、パーティションビットe、分割法指定ビットffの設定と、リーフビット=cと、エンコードビット=hhhhの(c,hhhh)5ビットとした設定の対応を以下に示す。
ノード1:(0,000,0,00)→(0,0000)
ノード2:(1,111,1,10)→(1,0101)
ノード3:(0,101,0,00)→(0,1011)
ノード4:(0,000,0,00)→(0,0000)
ノード9:(1,100,0,00)→(1,1000)
ノード11:(1,101,0,00)→(1,1011)
ノード12:(1,100,0,00)→(1,1000)
ノード13:(1,000,0,00)→(1,0000)
この結果、鍵指定コードは、上記各ビットを順に並べた値、すなわち、
[0000010101010110000011000110111100010000]
となる。
リーフビット=c、鍵指定ビット=ddd、パーティションビットe、分割法指定ビットffの設定の7ビットの鍵指定情報を各ノードに設定した場合、上述のように鍵指定木の構成ノードが8つの場合8×7=56ビットとなるが、リーフビット=cと、エンコードビット=hhhhの(c,hhhh)5ビットとした場合、8×5=40ビットとなリ情報量が5/7に削減される。
なお、図20の例において、リボークする受信機がなく、全受信機を構成要素とするサブセットS1,111に対応するサブセットキーで暗号化した暗号文1つだけを送信する場合には、ルートの鍵指定情報を(c,hhhh)=(1,1110)として鍵指定コードを構成すればよい。この指定情報は、リーフビット=c、鍵指定ビット=ddd、パーティションビットe、分割法指定ビットffの設定の7ビットの鍵指定情報にデコードすると、
(c,ddd,e,ff)=(1,111,0,00)
となり、リーフビットcと鍵指定ビットdddのみの情報構成の場合と同様の解釈となる。
なお、各情報処理装置は、図18に示す対応テーブルを用いて、鍵指定コードから、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを知ることができる。
暗号文ブロックと、鍵指定コードを受領する各情報処理装置は、図18に示す対応テーブルを記憶部に格納するか、あるいは、対応テーブルに対応する鍵指定コードの解釈アルゴリズムを実行するプログラムを記憶部に格納し、対応テーブルを参照して、あるいは、鍵指定コードの解釈アルゴリズムを実行するプログラムに従って、暗号文ブロックにおいて暗号文が並ぶ順番を判別し、自分が何番目の暗号文を復号すればよいかを判定する。なお、対応テーブル、あるいは、鍵指定コードの解釈アルゴリズムを実行するプログラムは、暗号文ブロックや鍵指定コードの提供時に各情報処理装置に提供する構成としてもよい。
上述のように、本実施例によれば、情報量を大幅に削減した鍵指定コードの生成、提供が可能となる。ところで、図19および20で説明した実施例3では、鍵指定情報(c,ddd,e,ff)のうちc以外の6ビットを4ビットのggggまたはhhhhにエンコードする方法を示したが、cも含めた7ビットをエンコードして5ビットの鍵指定情報にする構成としてもよい。たとえば、cとggggあるいはcとhhhhを連結した5ビットを新たな鍵指定情報とすることも可能である。
次に、上述した各実施例を実行する情報処理装置、すなわち暗号文、鍵指定コードを生成し提供する送信装置等の情報処理装置、暗号文、鍵指定コードを受領して、暗号文を選択し復号してコンテンツキー等の情報取得を行なう受信装置等の情報処理装置(木構造のリーフに設定される機器)の構成例について図21を参照して説明する。なお、本方式においてディスクなどの記録媒体に暗号文、鍵指定コードを格納して提供する場合は、送信装置はディスク書き込み装置もしくはディスク製造装置、受信機はディスク再生装置などの情報処理装置によって構成される。図21中、点線で囲った部分はオプションであり、必ずしも具備されない。たとえば通信路が記録媒体でない場合には、必ずしもメディアインタフェースは必要ではない。
一例としての情報処理装置は、図21に示すように、コントローラ501、演算ユニット502、入出力インタフェース503、セキュア記憶部504、メイン記憶部505、ディスプレイ装置506、メディアインタフェース507を備える。
コントローラ501は、例えばコンピュータ・プログラムに従ったデータ処理を実行する制御部としての機能を有するCPUによって構成される。演算ユニット502は、例えば暗号鍵の生成、乱数生成、及び暗号処理のための専用の演算機能を提供する。入出力インタフェース503は、キーボード、マウス等の入力手段からのデータ入力や、外部出力装置に対するデータ出力、ネットワークを介したデータ送受信処理に対応するインタフェースである。
セキュア記憶部504は、例えば暗号鍵としてのノードキー、各種ID、前述した対応テーブルなど、安全にまたは秘密に保持すべきデータを保存する記憶部である。メイン記憶部505は、例えばコントローラ501において実行するデータ処理プログラム、その他、一時記憶処理パラメータ、プログラム実行のためのワーク領域等に使用されるメモリ領域である。セキュア記憶部504及びメイン記憶部505は、例えばRAM、ROM等によって構成されるメモリである。ディスカプレイは復号コンテンツの出力等に利用される。メディアインタフェース507は、CD、DVD、MD等のメディアに対する読出/書込機能を提供する。
図22に、DVD等の記録媒体に暗号化コンテンツを格納し、さらに、暗号化コンテンツの暗号鍵であるコンテンツキーKcを複数のサブセットキーで暗号化した暗号文ブロックと、鍵指定コードを格納した情報記録媒体の構成例を示す。
情報記録媒体600には、コンテンツキーKcを用いて暗号化された暗号化コンテンツ620のほかに、正当なコンテンツ利用権を有するデバイス(リーフ設定情報処理装置)がコンテンツキーを取得するための暗号鍵ブロック情報としてのEKB(Enabling Key Block)610が記録されている。
暗号鍵ブロック情報としてのEKB(Enabling Key Block)610には、前述のように鍵指定木の構成ノードにおいて設定される様々なサブセットキーによってコンテンツキーを暗号化した1つ以上の暗号文を含む暗号文ブロック612と鍵指定コード611から構成される。
また、暗号鍵ブロック情報としてのEKB(Enabling Key Block)610には、一例として、そのEKBの新旧を表すバージョン番号や、EKBに含まれる情報が正当なエンティティにより作られ、改ざんされていないことを証明するためのデジタル署名等の認証コードなどを構成要素としてもよい。
図23に、ユーザデバイスとしての情報処理装置に提供する暗号文ブロックと鍵指定コードから構成される暗号鍵ブロック情報としてのEKBを生成する情報処理装置におけるEKBを生成処理フローを示す。
暗号文生成処理を実行する情報処理装置は、多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを、情報処理装置に対する提供情報として生成する処理を実行する。
生成する鍵指定コードは、前述した実施例において説明したように、選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含むデータである。
鍵指定情報は、鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、分割サブセットの分割態様を示す分割法指定情報ビット等を含む情報として設定される。
なお、図23の処理フローにおいては、コンテンツキーで暗号化されたコンテンツが既に準備されているということを前提としている。まず、ステップS101において、リボーク対象となる受信機、再生機等、リーフに設定されるリボーク情報処理装置を決定する。
このリボーク機器決定結果に基づいて、ステップS102では、先の実施例で説明した、部分木、鍵指定木が設定され、鍵指定木に従って暗号化に用いるサブセットキーを決定する。
ステップS103では、どのタイプの鍵指定情報のエンコード処理を実行するかを判定する。すなわち、
(1)従来技術として説明した鍵指定コード、すなわち、
リーフビット:c
鍵指定ビット:ddd
の(c,ddd)のビット構成とする方法。
(2)実施例1で説明した鍵指定コード、すなわち、
リーフビット:c
鍵指定ビット:ddd
パーティションビット:e
の(c,ddd,e)のビット構成とする方法。
(3)実施例2で説明した鍵指定コード、すなわち、
リーフビット:c
鍵指定ビット:ddd
パーティションビット:e
分割法指定ビット:ff
の(c,ddd,e,ff)のビット構成とする方法。
(4)実施例3で説明した鍵指定コード、すなわち、
リーフビット:c
エンコードビット:gggg
の(c,gggg)のビット構成とする方法。
(5)実施例3で説明した鍵指定コード、すなわち、
リーフビット:c
エンコードビット:hhhh
の(c,hhhh)のビット構成とする方法。
これらの各エンコード方法のどの方法を適用するかを決定する。
エンコード処理方法が決定すると、ステップS104において鍵指定木の構成ノードの鍵指定情報を決定方法に従ってエンコードを実行する。なお、どのエンコード方法を適用するかは、設定した鍵指定木の構成に基づいて判断する、あるいは実際に各エンコードを実行して、ビット長を比較して、より短いビット長となるエンコードを行なうとするなどの判定を行なって決定してもよい。
次に、ステップS105では、鍵指定情報を連結した鍵指定コードを生成する。
次に、ステップS106において、暗号文ブロックを生成する。これは、ステップS102において決定したサブセットキーを適用して送信情報、例えばコンテンツキーKcを暗号化する処理である。なお、暗号文ブロックは、サブセットキーのノード番号順に並べ、かつ、同一ノードに対する複数の暗号文がある場合には前述のルール、すなわち、SKk,zzzのZZZを2進数で表現した正数とみた場合に、大きい順に並べる。
ステップS107では、ステップS105で生成した鍵指定コードと、ステップS106で生成した暗号文ブロックをパッケージとした暗号鍵ブロック(EKB)を生成する。
ステップS108では、暗号鍵ブロック(EKB)とコンテンツキーKcで暗号化した暗号化コンテンツをネットワークを介して送信、あるいは情報記録媒体に格納する。なお、ステップS103で決定したエンコード方法についての識別情報も併せてネットワークを介して送信、あるいは情報記録媒体に格納する構成としてもよい。具体例については後述する。
次に、図24を参照して、暗号文ブロックと鍵指定コードから構成される暗号鍵ブロック情報としてのEKBと暗号化コンテンツを受領し、コンテンツ再生処理を行うユーザデバイスとしての情報処理装置における処理手順について説明する。
暗号文復号処理を実行する情報処理装置は、多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力して、鍵指定コードから選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、鍵指定情報から各種の情報取得を行い、暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する。また、エンコード方法についての識別情報も入力する構成としてもよい。
鍵指定情報には、前述の実施例において説明したように、鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、分割サブセットの分割態様を示す分割法指定情報ビット等を含んでおり、これらの鍵指定情報に基づいて、暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する。
ステップS201において、エンコード方法識別情報を入力する。暗号鍵ブロックとしてのEKBには、図25に示すように、鍵指定コードのエンコード態様を示す情報が格納される。
図25に示す例は、情報記録媒体700に暗号鍵ブロックとしてのEKB710を格納した例である。
情報記録媒体700には、コンテンツキーKcを用いて暗号化された暗号化コンテンツのほかに、正当なコンテンツ利用権を有するデバイス(リーフ設定情報処理装置)がコンテンツキーを取得するための暗号鍵ブロック情報としてのEKB(Enabling Key Block)710が記録され、EKB(Enabling Key Block)710には、前述のように鍵指定木の構成ノードにおいて設定される様々なサブセットキーによってコンテンツキーを暗号化した1つ以上の暗号文を含む暗号文ブロック713と鍵指定コード712、さらに、鍵指定コードのエンコード態様を示す情報としての鍵指定情報エンコード方法識別値711が格納されている。鍵指定情報エンコード方法識別値711の具体例については後述する。
なお、ネットワーク配信によりEKBを送信する場合にも同様の情報が送信される。
図24に戻り、ユーザデバイスとしての情報処理装置における処理についての説明を続ける。ステップS202では、ステップS201で入力したエンコード方法識別情に基づいてエンコード方法を判別する。
ステップS203では、鍵指定コードを入力する。なお、エンコード方法識別情報、鍵指定コードは、ネットワークを介して受信する場合、情報記録媒体から読み取る場合がある。
ステップS204において、エンコード情報に基づく鍵指定コード解釈を実行する。
次に、ステップS205において、リボークされているか否かを判定する。これは、鍵指定コードに基づいて、自装置が復号可能な暗号文が選択できれば、リボークされていないことになり、選択できなければリボークされていると判定する。鍵指定コードを用いて鍵指定木の全部または一部を再構築して判定することができる。
リボークされている場合は、暗号文ブロック中に含まれるどの暗号文も自装置に格納したサブセットキーを適用して復号できないので、コンテンツ復号、再生を実行することなく処理を終了する。
リボークされていない場合は、ステップS206において、自己のサブセットキーで復号できる暗号文を暗号文ブロックから選択する。選択処理は、鍵指定コードに基づいて選択する。
暗号文ブロックには、すべての鍵指定情報で指定された暗号文がノード番号順、さらに1つのノードに対し複数の暗号文が存在するときには前述の順に並んでいるので、復号すべき暗号文も一意に決定できる。たとえば図17の例で、情報処理装置u17は、リーフ17からルートへのパス上にあるノード2を見つけ、その鍵指定情報が、
(c,ddd,e,ff)=(1,111,1,10)なので、このノードにおいて定義されている、情報処理装置u17を構成要素とするサブセットS2,010に対応するサブセットキーSK2,010を用いた暗号文が暗号文ブロックに存在することがわかる。
そして、この暗号文は、ノード2において定義されたサブセットのサブセットキーを用いて作られた暗号文の2つめに置かれていることもわかる。さらにそれ以外のノードの鍵指定情報も見てみると、ノード2より番号が若いノードで対応するサブセットキーが用いられているものはないから、サブセットキーSK2,010を用いた暗号文は暗号文ブロック全体の2番目の暗号文であることがわかるので、これを上記のサブセットキーを用いて復号すべきであることがわかる。
いま、図17の例について説明したが、他の例でも同様に、リボークされていない受信機は復号すべき暗号文および復号に使用するサブセットキーを一意に特定できる。
ステップS207では、選択した暗号文を入力し、自己の保有するサブセットキーを適用して復号処理を実行してコンテンツキーKcを取得する。
ステップS208において、取得したコンテンツツキーKcを適用して暗号化コンテンツを復号しコンテンツを取得し、再生処理を行なう。
図25を参照して説明したように、暗号文と鍵指定コードを格納した暗号鍵ブロック(EKB)には鍵指定情報エンコード方法識別値711が識別情報として格納されている。
鍵指定情報エンコード方法識別値711の具体例について説明する。上述した実施例1〜3において説明したように鍵指定コードの設定態様は様々な態様があり、このどのコードを適用するかは鍵指定コードの生成側が決定できる。
例えば、
(1)従来技術として説明した鍵指定コード、すなわち、
リーフビット:c
鍵指定ビット:ddd
の(c,ddd)のビット構成とする方法。
(2)実施例1で説明した鍵指定コード、すなわち、
リーフビット:c
鍵指定ビット:ddd
パーティションビット:e
の(c,ddd,e)のビット構成とする方法。
(3)実施例2で説明した鍵指定コード、すなわち、
リーフビット:c
鍵指定ビット:ddd
パーティションビット:e
分割法指定ビット:ff
の(c,ddd,e,ff)のビット構成とする方法。
(4)実施例3で説明した鍵指定コード、すなわち、
リーフビット:c
エンコードビット:gggg
の(c,gggg)のビット構成とする方法。
(5)実施例3で説明した鍵指定コード、すなわち、
リーフビット:c
エンコードビット:hhhh
の(c,hhhh)のビット構成とする方法。
これらの各エンコード方法のどの方法が適用されたかを鍵指定情報エンコード方法711に識別情報として設定する。
例えば、
(1)の方法:000
(2)の方法:001
(3)の方法:010
(4)の方法:011
(5)の方法:100
などのように、予め情報コードを定め、コンテンツ再生を行なう情報処理装置は、これらの鍵指定情報エンコード方法識別値711に設定された識別情報に基づいて、鍵指定コードがどの種類のものであるかを判別する。
このように、鍵指定情報エンコード方法識別値を設けることで、複数の技術のうち効率のよい方法を選択して用いることが可能となる。用いられる可能性のある鍵指定情報のルール(エンコード方法)がこれ以上ある場合でも、同様の「鍵指定情報エンコード方法」の値により指定するようにすれば対応可能である。
さて、上記の実施例では、コンテンツの利用を行う情報処理装置、たとえば図17に示すリーフu14に対応する情報処理装置は、ノード1において定義されたサブセットのうち、S1,100,S1,110,S1,101,S1,111の4つのサブセットに対応する4つのサブセットキーを持つことになる。他の情報処理装置でも、組み合わせは変わるが4つのサブセットキーを持つことは同様である。
ここで、システムで使用するサブセットキーSx,yyyのうちyyyの部分の重み(1であるビットの個数)をたとえば、最大で2とし、それ以下のもののみ使用する、ということにすれば、情報処理装置は、サブセットキーSK1,111を持たなくてよくなる。もしリボークする機器がなく、通常はSK1,111を暗号化に用いたい場合には、上記のいずれかの手法によりこれを分割して、たとえばSK1,100、SK1,011の2つのサブセットキーを用いた2つの暗号文を暗号化ブロックにて送信する。
このようにすることにより、暗号文ブロックのサイズは増加する可能性があるが、コンテンツ利用側の情報処理装置の持つ鍵数を減らせるというメリットがある。
これは、上記の3分木の例よりも、4分木、もしくはそれ以上の多分木を用いた場合に大きな効果が期待される。
なお、上述した実施例においては、3分木を中心として説明してきたが、本発明の構成は、4分木、もしくはそれ以上の他分木においても適用できる技術である。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の構成によれば、多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを、情報処理装置に対する提供情報として生成し、鍵指定コードの構成データである鍵指定木ノード毎の鍵指定情報中に、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を暗号文ブロック中に含むか否かのサブセット分割識別情報(パーティションビット)を含める構成としたので、分割サブセットに対応するサブセットキーを適用した暗号文を生成して情報処理装置に送信することが可能となり、暗号文および鍵指定コードを受領した情報処理装置側においては、受領した暗号文が、分割サブセットに対応するサブセットキーを適用した暗号文であるか否かを判別して、鍵指定コードに基づいて、自己の復号対象の暗号文を選択することが可能となり、本発明は、木構造を適用した暗号文の提供構成において利用可能である。具体的には、暗号文生成、提供、送信を実行する情報処理装置、暗号文の復号、再生を実行するユーザデバイスとしての情報処理装置、暗号化コンテンツ等を格納した情報記録媒体において適用可能である。
本発明の構成によれば、木構造を用いた情報配信方式を適用した暗号文送信構成において、様々な分割サブセットを設定した暗号文の提供が可能となるので、攻撃者による様々な攻撃が行なわれた場合、効率的にリボーク対象としてのリーフに対応する情報処理装置の特定が可能となるので、リボーク対象の特定処理の必要な、木構造を適用した暗号文の提供構成において利用可能である。具体的には、暗号文生成、提供、送信を実行する情報処理装置、暗号文の復号、再生を実行するユーザデバイスとしての情報処理装置、暗号化コンテンツ等を格納した情報記録媒体において適用可能である。
さらに、本発明の構成によれば、分割態様が複数あるサブセットにおいても、分割態様を示す分割法指定ビットを設定した構成としたので、例えば3分木構成において2つの枝と1つの枝の様々な組み合わせや3つの枝毎の分割サブセットの設定など任意の分割態様の設定が可能となる。暗号文ブロックからの暗号文選択および復号処理を行う情報処理装置では、鍵指定コードに含まれる鍵指定情報に含まれる分割法指定ビットを解析することにより、復号対象の暗号文を選択することができる。さらに、本発明の構成において、鍵指定ビット、パーティションビット、分割法指定ビットのビット情報を符号化した構成によれば、鍵指定コードの情報量を削減することが可能となる。従って、本発明は、木構造を適用した暗号文の提供構成において利用可能である。具体的には、暗号文生成、提供、送信を実行する情報処理装置、暗号文の復号、再生を実行するユーザデバイスとしての情報処理装置、暗号化コンテンツ等を格納した情報記録媒体において適用可能である。
2分木階層型木構造について説明する図である。 2分木階層型木構造において、選択した情報処理装置のみが取得可能な情報を送信する方法を説明する図である。 鍵指定コードを暗号文とともに各情報処理装置に提供する構成について説明する図である。 a分木ツリーの構成例として3分木構成を示す図である。 3分木構成において、例えばコンテンツ管理者等が選択した情報処理装置のみが取得可能な情報、例えばコンテンツキーを提供する方法を説明する図である。 3分木構成における鍵指定コードについて説明する図である。 リーフビットにより鍵指定コードの情報量を削減した構成について説明する図である。 サブセットの分割構成について説明する図である。 サブセットの分割構成について説明する図である。 実施例1に係る鍵指定コードの構成、処理例の詳細について説明する鍵指定木を示した図である。 実施例1に係る構成において、任意のノードiにおいて、鍵指定ビット(ddd)と、パーティションビット(e)の組み合わせ(ddd,e)が取りうる値と、そのときに暗号文ブロックに含まれる暗号文の対応を示した対応テーブルを示した図である。 図8で示した例に加えて、さらに、サブセットキーSK1,100をサブセットキーSK2,100、SK2,010、SK2,001の3つに分割した部分木の構成を示した図である。 部分木を分割して複数の部分木として再設定する処理を説明する図である。 実施例1における鍵指定木の各ノードにおける鍵指定情報(c,ddd,e)を示す図である。 分木数が3以上の場合の分割態様について説明する図である。 実施例2における鍵指定木を構成するノードiに設定される鍵指定情報中の、鍵指定ビットddd、パーティションビットe、分割法指定ビットffのパターンについて示す図である。 実施例2に係る鍵指定情報(c,ddd,e,ff)の計7ビット構成を持つ鍵指定情報を鍵指定木の各構成ノードに設定した例を示す図である。 (ddd,e,ff)の5ビットの値を符号化(エンコード)した4ビットの値(gggg)または(hhhh)として設定した例を説明する図である。 (c,gggg)5ビット構成とした場合の鍵指定木と各ノードに設定される鍵指定情報、および鍵指定コードの構成を示した図である。 (c,hhhh)5ビット構成とした場合の鍵指定木と各ノードに設定される鍵指定情報、および鍵指定コードの構成を示した図である。 暗号文、鍵指定コードを生成し提供する送信装置等の情報処理装置、暗号文、鍵指定コードを受領して、暗号文を選択し復号してコンテンツキー等の情報取得を行なう受信装置等の情報処理装置の構成例を示す図である。 DVD等の記録媒体に暗号化コンテンツを格納し、さらに、暗号化コンテンツの暗号鍵であるコンテンツキーKcを複数のサブセットキーで暗号化した暗号文ブロックと、鍵指定コードを格納した情報記録媒体の構成例を示す図である。 ユーザデバイスとしての情報処理装置に提供する暗号文ブロックと鍵指定コードから構成される暗号鍵ブロック情報としてのEKBを生成する情報処理装置におけるEKBを生成処理フローを示す図である。 暗号文ブロックと鍵指定コードから構成される暗号鍵ブロック情報としてのEKBと暗号化コンテンツを受領し、コンテンツ再生処理を行うユーザデバイスとしての情報処理装置における処理手順について説明する図である。 鍵指定コードのエンコード態様を示す情報が格納した鍵情報ブロック(EKB)構成を説明する図である。
符号の説明
101 情報処理装置
120 ルートノード
121,122,123 ノード
131,132,133,134,135 部分木
201 ノード
211 部分木
301 鍵指定木
311 部分木
321 鍵指定木
351,352 部分木
401 鍵指定木
421 鍵指定木
431 鍵指定木
500 情報処理装置
501 コントローラ
502 演算ユニット
503 入出力インタフェース
504 セキュア記憶部
505 メイン記憶部
506 ディスプレイ装置
507 メディアインタフェース
600 情報記録媒体
610 暗号鍵ブロック情報(EKB)
611 鍵指定コード
612 暗号文ブロック
620 暗号化コンテンツ
700 情報記録媒体
710 暗号鍵ブロック情報(EKB)
711 鍵指定情報エンコード方法識別値
712 鍵指定コード
713 暗号文ブロック

Claims (55)

  1. 暗号文生成処理を実行する情報処理装置であり、
    多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを、情報処理装置に対する提供情報として生成する処理を実行する構成を有し、
    前記鍵指定コードは、前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含み、該鍵指定情報は、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を含む構成であることを特徴とする情報処理装置。
  2. 前記鍵指定情報は、
    前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、
    前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、
    前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを含む構成であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記多分木は3分木構成であり、
    前記サブセット分割識別情報は、
    前記鍵指定木の構成ノードに対応して設定される1ビット情報であり、
    前記サブセット分割識別ビット情報0または1によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する1つのサブセットキーを適用した暗号文を持つかを示す構成であることを特徴とする請求項1に記載の情報処理装置。
  4. 前記鍵指定情報は、さらに、
    前記分割サブセットの分割態様を示す分割法指定情報を含む構成であることを特徴とする請求項1に記載の情報処理装置。
  5. 前記多分木は3分木構成であり、
    前記分割法指定情報は、
    前記鍵指定木の構成ノードに対応して設定される2ビット情報であり、
    前記分割法指定情報としてのビット情報00〜11によって、前記ノードに設定された枝a,b,cの分割態様として、
    abとc、acとb、aとbc、またはaとbとcのいずれの分割態様であるかを示す情報として設定する構成であることを特徴とする請求項4に記載の情報処理装置。
  6. 前記鍵指定情報は、
    a.前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、
    b.該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、
    c.前記分割サブセットの分割態様を示す分割法指定情報ビット、
    上記、a.鍵指定ビット、b.パーティションビット、c.分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であることを特徴とする請求項1に記載の情報処理装置。
  7. 前記多分木は3分木構成であり、
    前記鍵指定情報は、
    3ビットの鍵指定ビットと、1ビットのパーティションビットと、2ビットの分割法指定情報ビットの計6ビットを含み、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データとして構成した情報であることを特徴とする請求項6に記載の情報処理装置。
  8. 前記鍵指定情報は、
    前記鍵指定木の構成ノードがリーフに対応するか否かを示す1ビットのリーフビットと、
    前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データと、
    から構成される5ビットの情報であることを特徴とする請求項7に記載の情報処理装置。
  9. 前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成を有することを特徴とする請求項6に記載の情報処理装置。
  10. 前記符号化データは、
    前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報として設定した構成であることを特徴とする請求項6に記載の情報処理装置。
  11. 前記情報処理装置は、
    前記暗号文ブロックと、前記鍵指定コードと、さらに、
    前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を情報処理装置に対する提供情報として生成する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  12. 暗号文復号処理を実行する情報処理装置であり、
    多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力し、
    前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得し、
    該取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする情報処理装置。
  13. 前記鍵指定情報は、
    前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、
    前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、
    前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロック中に含まれるか否かのサブセット分割識別情報としてのパーティションビットとを含み、
    前記リーフビット、前記鍵指定ビット、および前記パーティションビットに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項12に記載の情報処理装置。
  14. 前記多分木は3分木構成であり、
    前記サブセット分割識別情報は、
    前記鍵指定木の構成ノードに対応して設定される1ビット情報であり、
    前記情報処理装置は、
    前記サブセット分割識別ビット情報が0であるか1であるかによって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する1つのサブセットキーを適用した暗号文を持つかを判定する構成であることを特徴とする請求項12に記載の情報処理装置。
  15. 前記情報処理装置は、
    前記鍵指定情報の情報態様と各態様に対応する暗号文態様とを対応付けたテーブルを有し、該テーブルおよび前記取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項12に記載の情報処理装置。
  16. 前記鍵指定情報は、さらに、
    前記分割サブセットの分割態様を示す分割法指定情報を含み、
    前記情報処理装置は、
    前記分割法指定情報に基づいて、分割サブセットの分割態様を判別し、該判別情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項12に記載の情報処理装置
  17. 前記多分木は3分木構成であり、
    前記分割法指定情報は、
    前記鍵指定木の構成ノードに対応して設定される2ビット情報であり、
    前記情報処理装置は、
    前記分割法指定情報としてのビット情報00〜11によって、前記ノードに設定された枝a,b,cの分割態様が、abとc、acとb、aとbc、またはaとbとcのいずれの分割態様であるかを識別する処理を実行する構成であることを特徴とする請求項16に記載の情報処理装置。
  18. 前記鍵指定情報は、
    a.前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、
    b.該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、
    c.前記分割サブセットの分割態様を示す分割法指定情報ビット、
    上記、a.鍵指定ビット、b.パーティションビット、c.分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であり、
    前記情報処理装置は、
    前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項12に記載の情報処理装置。
  19. 前記情報処理装置は、
    前記符号化データのデータ態様と各態様に対応する暗号文態様とを対応付けたテーブルを有し、該テーブルおよび前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項18に記載の情報処理装置。
  20. 前記多分木は3分木構成であり、
    前記鍵指定情報は、
    3ビットの鍵指定ビットと、1ビットのパーティションビットと、2ビットの分割法指定情報ビットの計6ビットに基づく符号化データを含み、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データであり、
    前記情報処理装置は、
    前記4ビット符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項18に記載の情報処理装置。
  21. 前記情報処理装置は、
    前記暗号文ブロックと、前記鍵指定コードと、さらに、
    前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を入力し、
    前記鍵指定情報エンコード方法識別情報に基づいて、前記鍵指定コードのエンコード方法を識別し、該識別結果に基づく鍵指定コードの解析により、前記暗号文ブロックに含まれる暗号文から復号処理対象としての暗号文の選択処理を実行する構成を有することを特徴とする請求項12に記載の情報処理装置。
  22. 情報記録媒体であり、
    多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックと、
    前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードと、
    を格納し、
    前記鍵指定コードは、前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を含み、該鍵指定情報は、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を含む構成であることを特徴とする情報記録媒体。
  23. 前記鍵指定情報は、
    前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、
    前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、
    前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを含む構成であることを特徴とする請求項22に記載の情報記録媒体。
  24. 前記多分木は3分木構成であり、
    前記サブセット分割識別情報は、
    前記鍵指定木の構成ノードに対応して設定される1ビット情報であり、
    前記サブセット分割識別ビット情報0または1によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する1つのサブセットキーを適用した暗号文を持つかを示す構成であることを特徴とする請求項22に記載の情報記録媒体。
  25. 前記鍵指定情報は、さらに、
    前記分割サブセットの分割態様を示す分割法指定情報を含む構成であることを特徴とする請求項22に記載の情報記録媒体。
  26. 前記多分木は3分木構成であり、
    前記分割法指定情報は、
    前記鍵指定木の構成ノードに対応して設定される2ビット情報であり、
    前記分割法指定情報としてのビット情報00〜11によって、前記ノードに設定された枝a,b,cの分割態様として、
    abとc、acとb、aとbc、またはaとbとcのいずれの分割態様であるかを示す情報であることを特徴とする請求項25に記載の情報記録媒体。
  27. 前記鍵指定情報は、
    a.前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、
    b.該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、
    c.前記分割サブセットの分割態様を示す分割法指定情報ビット、
    上記、a.鍵指定ビット、b.パーティションビット、c.分割法指定情報ビットの組み合わせを識別可能な符号化データであることを特徴とする請求項22に記載の情報記録媒体。
  28. 前記多分木は3分木構成であり、
    前記鍵指定情報は、
    3ビットの鍵指定ビットと、1ビットのパーティションビットと、2ビットの分割法指定情報ビットの計6ビットから成り、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データであることを特徴とする請求項27に記載の情報記録媒体。
  29. 前記鍵指定情報は、
    前記鍵指定木の構成ノードがリーフに対応するか否かを示す1ビットのリーフビットと、
    前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データと、
    から構成される5ビットの情報であることを特徴とする請求項28に記載の情報記録媒体。
  30. 前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成を有することを特徴とする請求項27に記載の情報記録媒体。
  31. 前記符号化データは、
    前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報であることを特徴とする請求項27に記載の情報記録媒体。
  32. 前記情報記録媒体は、
    前記暗号文ブロックと、前記鍵指定コードと、さらに、
    前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を格納した構成であることを特徴とする請求項22に記載の情報記録媒体。
  33. 暗号文生成処理を実行する情報処理方法であり、
    多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックの生成ステップと、
    前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを生成する鍵指定コード生成ステップとを有し、
    前記鍵指定コード生成ステップは、
    前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報として、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を設定するサブセット分割識別情報設定ステップを含むことを特徴とする情報処理方法。
  34. 前記鍵指定コード生成ステップは、
    前記鍵指定情報として、
    前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、
    前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、
    前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビットとを設定するステップを含むことを特徴とする請求項33に記載の情報処理方法。
  35. 前記多分木は3分木構成であり、
    前記鍵指定コード生成ステップは、
    前記鍵指定情報に設定する前記サブセット分割識別情報を、
    前記鍵指定木の構成ノードに対応して設定される1ビット情報として設定し、
    前記サブセット分割識別ビット情報0または1によって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する1つのサブセットキーを適用した暗号文を持つかを示す情報ビットとして設定することを特徴とする請求項33に記載の情報処理方法。
  36. 前記鍵指定コード生成ステップは、
    前記鍵指定情報として、さらに、
    前記分割サブセットの分割態様を示す分割法指定情報を設定するステップを含むことを特徴とする請求項33に記載の情報処理方法。
  37. 前記多分木は3分木構成であり、
    前記鍵指定コード生成ステップは、
    前記鍵指定情報に設定する前記分割法指定情報として、
    前記鍵指定木の構成ノードに対応して設定される2ビット情報として設定し、
    前記分割法指定情報としてのビット情報00〜11によって、前記ノードに設定された枝a,b,cの分割態様として、
    abとc、acとb、aとbc、またはaとbとcのいずれの分割態様であるかを示す情報として設定することを特徴とする請求項36に記載の情報処理方法。
  38. 前記鍵指定コード生成ステップは、
    a.前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、
    b.該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、
    c.前記分割サブセットの分割態様を示す分割法指定情報ビット、
    上記、a.鍵指定ビット、b.パーティションビット、c.分割法指定情報ビットの組み合わせを識別可能な符号化データを前記鍵指定情報として生成する処理を含むことを特徴とする請求項33に記載の情報処理方法。
  39. 前記多分木は3分木構成であり、
    前記鍵指定コード生成ステップは、
    3ビットの鍵指定ビットと、1ビットのパーティションビットと、2ビットの分割法指定情報ビットの計6ビットから成り、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データとして前記鍵指定情報を生成するステップを含むことを特徴とする請求項38に記載の情報処理方法。
  40. 前記鍵指定コード生成ステップは、
    前記鍵指定木の構成ノードがリーフに対応するか否かを示す1ビットのリーフビットと、
    前記前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データと、
    から構成される5ビットの情報を生成するステップを含むことを特徴とする請求項39に記載の情報処理方法。
  41. 前記鍵指定コード生成ステップにおいて、
    前記分割サブセットの分割態様の識別不要な鍵指定情報に対応する前記符号化データは、鍵指定ビットとパーティションビットの組み合わせと共通のビット構成として設定することを特徴とする請求項38に記載の情報処理方法。
  42. 前記鍵指定コード生成ステップにおいて、
    前記符号化データは、
    前記暗号文ブロックに含まれる暗号文数を識別可能なビット情報として設定することを特徴とする請求項38に記載の情報処理方法。
  43. 前記情報処理方法は、
    前記暗号文ブロックと、前記鍵指定コードと、さらに、
    前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を情報処理装置に対する提供情報として生成するステップを有することを特徴とする請求項33に記載の情報処理方法。
  44. 暗号文復号処理を実行する情報処理方法であり、
    多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力するステップと、
    前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得する鍵指定コード解析ステップと、
    前記鍵指定コード解析ステップにおいて取得した取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行するステップと、
    を有することを特徴とする情報処理方法。
  45. 前記鍵指定情報は、
    前記鍵指定木の構成ノードがリーフに対応するか否かを示すリーフビット、
    前記ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビットと、
    前記ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロック中に含まれるか否かのサブセット分割識別情報としてのパーティションビットとを含み、
    前記鍵指定コード解析ステップは、
    前記リーフビット、前記鍵指定ビット、および前記パーティションビットに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報の取得処理を実行するステップであることを特徴とする請求項44に記載の情報処理方法。
  46. 前記多分木は3分木構成であり、
    前記サブセット分割識別情報は、
    前記鍵指定木の構成ノードに対応して設定される1ビット情報であり、
    前記鍵指定コード解析ステップは、
    前記サブセット分割識別ビット情報が0であるか1であるかによって、前記暗号文ブロック中に、前記ノードに定義された分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を含むか、分割可能なサブセットに対応する1つのサブセットキーを適用した暗号文を持つかを判定するステップを含むことを特徴とする請求項44に記載の情報処理方法。
  47. 前記鍵指定コード解析ステップは、
    前記鍵指定情報の情報態様と各態様に対応する暗号文態様とを対応付けたテーブルに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする請求項44に記載の情報処理方法。
  48. 前記鍵指定情報は、さらに、
    前記分割サブセットの分割態様を示す分割法指定情報を含み、
    前記鍵指定コード解析ステップは、
    前記分割法指定情報に基づいて、分割サブセットの分割態様を判別し、該判別情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする請求項44に記載の情報処理方法。
  49. 前記多分木は3分木構成であり、
    前記分割法指定情報は、
    前記鍵指定木の構成ノードに対応して設定される2ビット情報であり、
    前記鍵指定コード解析ステップは、
    前記分割法指定情報としてのビット情報00〜11によって、前記ノードに設定された枝a,b,cの分割態様が、abとc、acとb、aとbc、またはaとbとcのいずれの分割態様であるかを識別する処理を実行するステップを含むことを特徴とする請求項48に記載の情報処理方法。
  50. 前記鍵指定情報は、
    a.前記鍵指定木の構成ノードに定義されるサブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かを示す鍵指定ビット、
    b.該構成ノードにおいて定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報としてのパーティションビット、
    c.前記分割サブセットの分割態様を示す分割法指定情報ビット、
    上記、a.鍵指定ビット、b.パーティションビット、c.分割法指定情報ビットの組み合わせを識別可能な符号化データとして構成した情報であり、
    前記鍵指定コード解析ステップは、
    前記符号化データに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする請求項44に記載の情報処理方法。
  51. 前記鍵指定コード解析ステップは、
    前記符号化データのデータ態様と各態様に対応する暗号文態様とを対応付けたテーブルに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択に必要な情報を取得する処理を実行するステップを含むことを特徴とする請求項50に記載の情報処理方法。
  52. 前記多分木は3分木構成であり、
    前記鍵指定情報は、
    3ビットの鍵指定ビットと、1ビットのパーティションビットと、2ビットの分割法指定情報ビットの計6ビットに基づく符号化データを含み、前記符号化データは、前記鍵指定ビット、パーティションビット、分割法指定情報ビットの組み合わせを識別可能な4ビットの符号化データであり、
    前記鍵指定コード解析ステップは、
    前記4ビットデータに基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行する構成を有することを特徴とする請求項50に記載の情報処理方法。
  53. 前記情報処理方法は、さらに、
    前記鍵指定コードに含まれる鍵指定情報のエンコード方法を識別可能とした鍵指定情報エンコード方法識別情報を入力するステップと、
    前記鍵指定情報エンコード方法識別情報に基づいて、前記鍵指定コードのエンコード方法を識別し、該識別結果に基づいて前記鍵指定コードの解析を実行するステップと、
    を含むことを特徴とする請求項44に記載の情報処理方法。
  54. 暗号文生成処理を実行するコンピュータ・プログラムであり、
    多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロックの生成ステップと、
    前記暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを生成する鍵指定コード生成ステップとを有し、
    前記鍵指定コード生成ステップは、
    前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報として、前記鍵指定木の構成ノードにおいて特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文を前記暗号文ブロック中に含むか否かのサブセット分割識別情報を設定するサブセット分割識別情報設定ステップを含むことを特徴とするコンピュータ・プログラム。
  55. 暗号文復号処理を実行するコンピュータ・プログラムであり、
    多分木構成の最下位ノードであるリーフに対応する複数の情報処理装置から暗号文提供対象として抽出した選択情報処理装置にのみ格納された鍵に基づく復号処理によって取得可能な暗号文からなる暗号文ブロック、および該暗号文ブロックを構成する暗号文に適用した暗号鍵情報としての鍵指定コードを入力するステップと、
    前記鍵指定コードから前記選択情報処理装置をリーフとした鍵指定木の構成ノード毎の鍵指定情報を取得し、前記鍵指定情報から、特定リーフの集合として定義される分割可能なサブセットを複数に分割した分割サブセットに対応するサブセットキーを適用した暗号文が前記暗号文ブロックに含まれるか否かのサブセット分割識別情報を取得する鍵指定コード解析ステップと、
    前記鍵指定コード解析ステップにおいて取得した取得情報に基づいて、前記暗号文ブロックに含まれる暗号文から復号処理対象の暗号文選択処理を実行するステップと、
    を有することを特徴とするコンピュータ・プログラム。
JP2003319590A 2003-09-11 2003-09-11 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム Expired - Fee Related JP4161859B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003319590A JP4161859B2 (ja) 2003-09-11 2003-09-11 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US10/939,035 US8290155B2 (en) 2003-09-11 2004-09-10 Information processing apparatus, information recording medium, information processing method and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003319590A JP4161859B2 (ja) 2003-09-11 2003-09-11 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム

Publications (3)

Publication Number Publication Date
JP2005086747A true JP2005086747A (ja) 2005-03-31
JP2005086747A5 JP2005086747A5 (ja) 2005-08-11
JP4161859B2 JP4161859B2 (ja) 2008-10-08

Family

ID=34418496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003319590A Expired - Fee Related JP4161859B2 (ja) 2003-09-11 2003-09-11 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム

Country Status (2)

Country Link
US (1) US8290155B2 (ja)
JP (1) JP4161859B2 (ja)

Cited By (3)

* 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 ブロードキャスト暗号の生成方法およびプログラム
JP2009124193A (ja) * 2007-11-09 2009-06-04 Sony Corp 情報処理装置、鍵設定方法、及びプログラム
JP2009284220A (ja) * 2008-05-22 2009-12-03 Kddi Corp 3分木型sd法およびプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244695A1 (en) * 2000-06-01 2008-10-02 Jong-Sung Lee Total system for preventing information outflow from inside
CA2410788C (en) * 2000-06-01 2009-01-20 Safa Soft Co. Ltd Total system for preventing information outflow from inside
US8332661B2 (en) * 2008-09-11 2012-12-11 Mostovych Andrew N Method and apparatus for prevention of tampering, unauthorized use, and unauthorized extraction of information from microdevices
KR101252549B1 (ko) * 2008-11-21 2013-04-08 한국전자통신연구원 보안 도메인 환경에서의 암/복호화 프로그램 및 대칭키의 안전 배포 방법 및 이를 위한 데이터 분할 및 주입 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4622064B2 (ja) 2000-04-06 2011-02-02 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
US7505599B2 (en) * 2000-04-06 2009-03-17 Sony Corporation Information processing system and method for managing encrypted data with tag information
US7010125B2 (en) 2001-01-26 2006-03-07 Interntional Business Machines Corporation Method for tracing traitor receivers in a broadcast encryption system
JP4199472B2 (ja) 2001-03-29 2008-12-17 パナソニック株式会社 暗号化を施すことによりデータを保護するデータ保護システム

Cited By (3)

* 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 ブロードキャスト暗号の生成方法およびプログラム
JP2009124193A (ja) * 2007-11-09 2009-06-04 Sony Corp 情報処理装置、鍵設定方法、及びプログラム
JP2009284220A (ja) * 2008-05-22 2009-12-03 Kddi Corp 3分木型sd法およびプログラム

Also Published As

Publication number Publication date
US20050105737A1 (en) 2005-05-19
US8290155B2 (en) 2012-10-16
JP4161859B2 (ja) 2008-10-08

Similar Documents

Publication Publication Date Title
US7272229B2 (en) Digital work protection system, key management apparatus, and user apparatus
KR101219618B1 (ko) 정보 처리 장치, 정보 기록 매체, 컨텐츠 관리 시스템 및 데이터 처리 방법과 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
US7746738B2 (en) Data processing method, information recording medium manufacturing management system, recording data generation apparatus and method, and computer program
US7876895B2 (en) System, method, and service for performing unified broadcast encryption and traitor tracing for digital content
EP1732260A1 (en) Information processing method, decryption method, information processing device, and computer program
US20080049934A1 (en) Management Server Device, Content Repoduction Device, and Recording Medium
US20040076404A1 (en) Region restrictive playback system
JP2004320719A (ja) 著作物保護システム、鍵データ生成装置及び端末装置
US20050273618A1 (en) Information recording medium, information recording device, information reproduction device, information delivery device, their methods, their programs, and recording medium recording programs thereon
KR101485460B1 (ko) 브로드캐스트 암호화에서 디바이스 키를 추적하는 방법
KR20090089313A (ko) 정보처리 장치
JP2008131076A (ja) 情報処理装置、端末装置、情報処理方法、鍵生成方法、及びプログラム
JP4161859B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP2008131072A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008092514A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20050169481A1 (en) Method of assigning user keys for broadcast encryption
JP4635459B2 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP4583069B2 (ja) 鍵管理システム、及び再生装置
JP2005191805A (ja) 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008131079A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法
JP2005252916A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
WO2009157050A1 (ja) 情報処理装置及びプログラム
JP2004248272A (ja) コンテンツ再生のための鍵を管理する方法
JP2005123679A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050316

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080522

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: 20080701

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: 20080714

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

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees