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

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

Info

Publication number
JP2005286959A
JP2005286959A JP2004102039A JP2004102039A JP2005286959A JP 2005286959 A JP2005286959 A JP 2005286959A JP 2004102039 A JP2004102039 A JP 2004102039A JP 2004102039 A JP2004102039 A JP 2004102039A JP 2005286959 A JP2005286959 A JP 2005286959A
Authority
JP
Japan
Prior art keywords
label
subset
node
special
information processing
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.)
Abandoned
Application number
JP2004102039A
Other languages
English (en)
Other versions
JP2005286959A5 (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 JP2004102039A priority Critical patent/JP2005286959A/ja
Priority to CNA2005800003329A priority patent/CN1774886A/zh
Priority to EP05710513A priority patent/EP1732260A1/en
Priority to KR1020057022453A priority patent/KR20060129934A/ko
Priority to US10/557,707 priority patent/US20070133806A1/en
Priority to PCT/JP2005/002787 priority patent/WO2005099167A1/ja
Priority to TW094107403A priority patent/TW200610344A/zh
Publication of JP2005286959A publication Critical patent/JP2005286959A/ja
Publication of JP2005286959A5 publication Critical patent/JP2005286959A5/ja
Abandoned 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • H04L2209/601Broadcast encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

【課題】 SD方式に基づく木構造を適用した暗号文提供構成において、暗号文復号を行なう機器に格納すべき情報量を削減可能とした構成を提供する。
【解決手段】 SD方式やLSD方式に基づいて設定するサブセット各々に対応するラベル中、特別サブセット対応のラベルを演算により算出可能とした中間ラベルを設定し、1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルを算出可能とした。受信機は、特別サブセット非対応のラベルと1つの中間ラベルを提供する。受信機は保持する中間ラベルに対する落とし戸つき一方向性置換Fの実行により他の中間ラベルを算出し、全ての必要なラベルを算出できる。
【選択図】 図19

Description

本発明は、情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラムに関する。さらに、詳細には、階層木構造を適用したブロードキャストエンクリプション方式において現在知られているSubset Difference(SD)方式、およびLayered Subset Difference(LSD)方式において、受信機が安全に保持する必要のあるラベルなどの秘密情報の量を削減し効率的でセキュアな情報配信を実現する情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラムに関する。
昨今、音楽等のオーディオデータ、映画等の画像データ、ゲームプログラム、各種アプリケーションプログラム等、様々なソフトウエアデータ(以下、これらをコンテンツ(Content)と呼ぶ)が、インターネット等のネットワークを介して、あるいはCD(Compact Disc)、DVD(Digital Versatile Disk)、MD(Mini Disk)等の情報記録媒体(メディア)を介して流通している。これらの流通コンテンツは、ユーザの所有するPC(Personal Computer)やプレーヤ、あるいはゲーム機器等、様々な情報処理装置において再生され利用される。
音楽データ、画像データ等、多くのコンテンツは、一般的にその作成者あるいは販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、コンテンツの利用を許諾し、許可のない複製等が行われないようにする構成をとるのが一般的となっている。
特に、近年においては、情報をデジタル的に記録する記録装置や記憶媒体が普及しつつある。このようなデジタル記録装置および記憶媒体によれば、例えば画像や音声を劣化させることなく記録、再生を繰り返すことが可能であり、不正コピーコンテンツのインターネットを介した配信や、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を得ることはできない。
上述のブロードキャストエンクリプション(Broadcast Encryption)方式は、Complete Subtree方式と呼ばれる。このような木構造を用いて情報配信を行なう場合、リーフに対応する情報処理装置(ユーザ機器)が増大すると同報送信すべきメッセージが増大し、また各情報処理装置(ユーザ機器)において安全に格納すべきノードキーなどの鍵情報も増大してしまうという問題がある。
このような問題を解決する手法として、これまでに提案されている方式として、Subset Difference(SD)方式、および、その改良版であるLayered Subset Difference(LSD)方式がある。SD方式については、例えば非特許文献1に記載され、LSD方式については、例えば非特許文献2に記載されている。
いずれの方式も、ブロードキャストエンクリプションシステムの全受信機(受信者)数をNとし、そのうち排除(リボーク)される、即ち、同報通信される秘密情報を受け取ることができない受信機の数をrとしたときに、同報通信すべきメッセージ(暗号文)の数がO(r)であり、これは上述したComplete Subtree方式などの他方式に比べて小さく、優れている。
しかし、各受信機が安全なメモリに保持すべき鍵(ラベル)の数が、SD方式ではO(logN)、LSD方式では、O(log1+εN)となる。ここでεは任意の正の数である。この鍵の数は、Complete Subtree方式などの他方式に比べて多く、これを減らすことが課題となっている。なお、本明細書においては、特に断りのない限りlogの底は2である。
Advances in Cryptography−Crypto 2001, Lecture Notes in Computer Science 2139,Springer,2001 pp.41−62「D.Naor,M.Naor and J.Lotspiech著"Revocation and Tracing Schemes for Stateless Receivers"」 Advances in Cryptography−Crypto 2002, Lecture Notes in Computer Science 2442,Springer,2002,pp47−60「D.Halevy and A.Shamir著"The LSD Broadcast Encryption Scheme"」
本発明は、このような状況に鑑みてなされたものであり、ブロードキャストエンクリプション(Broadcast Encryption)方式の一態様である階層型木構造を適用した情報配信構成において比較的に効率的な構成であるとされているSubset Difference(SD)方式、およびLayered Subset Difference(LSD)方式に対して、以下において説明する1つの落とし戸つき一方向性置換に基づく一方向性置換木を適用することにより受信機が安全に保持する必要のあるラベルなどの秘密情報の量を削減し効率的でセキュアな情報配信を実現する情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の提供処理に適用する階層木を生成する情報処理方法であり、
階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルの値を演算処理により算出可能な値として設定した中間ラベル(IL)であり、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な値を持つ中間ラベルを生成する中間ラベル生成ステップと、
前記中間ラベルに基づく演算処理により、前記特別サブセット対応のラベルを生成し、さらに該生成ラベルに基づく演算により特別サブセット非対応のラベルを生成するラベル生成ステップと、
前記階層木の末端ノード対応の受信機に対する提供ラベルを決定するステップであり、
前記特別サブセットに対応しない特別サブセット非対応ラベルと、
演算処理によって前記特別サブセットに対応するラベルを算出可能とした中間ラベルと、
を受信機に対する提供ラベルとして決定する提供ラベル決定ステップと、
を有することを特徴とする情報処理方法にある。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記ラベル生成ステップにおいて生成したサブセット対応の各ラベルから導出されるサブセットキーを選択的に適用して暗号化処理を実行して暗号文を生成し、前記受信機に提供する暗号文生成ステップを有することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記ラベル生成ステップは、中間ラベルに対するハッシュ算出処理により、特別サブセットに対応するラベルの値を算出するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記ラベル生成ステップは、特別サブセットに対応するラベルの値に対する擬似乱数生成処理により、他のラベルを生成するステップを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記中間ラベル生成ステップは、ノード数2N−1の階層木において、値x∈Z をランダムに選択し、iをカウンタとして、i=2〜2N−1までiを1つずつ増加させながら、落とし戸つき一方向性置換Fの逆置換F−1を適用した演算式である下記式、
Figure 2005286959
または、下記式、
Figure 2005286959
ただし、M、dは、暗号パラメータとしての法Mおよび秘密指数d、
上記式のいずれかを適用して、ノード数2N−1の階層木におけるノード対応値x〜x2N−1を算出し、これを、特別サブセット対応ラベルを算出可能な中間ラベル(IL)の値として設定するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記中間ラベル生成ステップにおいて選択する特別サブセットは、階層木において、ノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセットと、階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセットと、の少なくともいずれかであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記提供ラベル決定ステップは、前記階層木の末端ノード対応の受信機に提供する1つの中間ラベルを前記第1特別サブセットを構成するサブセットSi,j中、最下層のサブセットに対応する中間ラベルとするステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記中間ラベル生成ステップは、階層木中に設定した1つの特別レベルによって分離したレイヤ別のサブセット管理構成を持つベーシックLSD(Basic Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記中間ラベル生成ステップは、階層木中に設定した複数の特別レベルによって分離したレイヤ別のサブセット管理構成を持つ一般化LSD(General Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定するステップであることを特徴とする。
さらに、本発明の第2の側面は、
階層木構成に基づくブロードキャストエンクリプション方式であるSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーによって暗号化された暗号文の復号処理を実行する復号処理方法であり、
前記暗号文から、自己の保持するラベル、または自己の保持する中間ラベルから算出可能なラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーを適用して生成した暗号文を選択する暗号文選択ステップと、
暗号文の適用サブセットキーが、保持ラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーでない場合に、保持中間ラベルに対する演算処理を実行して特別サブセット対応のラベルを算出するラベル算出ステップと、
保持ラベルまたは算出ラベルに基づく擬似乱数生成処理によってサブセットキーを生成するステップと、
生成サブセットキーを適用して暗号文の復号処理を実行する復号ステップと、
を有することを特徴とする復号処理方法にある。
さらに、本発明の復号処理方法の一実施態様において、前記ラベル算出ステップは、保持中間ラベルに対する落とし戸つき一方向性置換Fの実行より他の中間ラベルを算出するステップを含むことを特徴とする。
さらに、本発明の復号処理方法の一実施態様において、前記ラベル算出ステップは、保持中間ラベル、または、保持中間ラベルに対する落とし戸つき一方向性置換Fの実行より算出した他の中間ラベルに対するハッシュ演算によるラベル算出を実行するステップを含むことを特徴とする。
さらに、本発明の復号処理方法の一実施態様において、前記ラベル算出ステップは、暗号文の適用サブセットキーが、階層木においてノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセット、または、階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセット、のいずれかの特別サブセット対応のラベルに基づく擬似乱数生成処理により算出可能なサブセットキーであり、前記特別サブセット対応のラベルを保持していない場合に、保持している中間ラベルに対する演算処理により前記特別サブセット対応のラベルを算出するステップであることを特徴とする。
さらに、本発明の復号処理方法の一実施態様において、前記ラベル算出ステップは、前記階層木において、復号処理を実行する受信機の設定ノードからルートに至るパス上のノードを包含する特別サブセットに対応するラベルの算出を保持中間ラベルに対する演算処理により算出するステップであることを特徴とする。
さらに、本発明の第3の側面は、
階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の生成処理を実行する情報処理方法であり、
階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーを選択的に適用して暗号化処理を実行して暗号文を生成する暗号文生成ステップを有し、
暗号文生成ステップにおいて適用するサブセットキーは、
サブセット各々に対応するラベル(LABEL)から算出可能なサブセットキーであり、選択された一部の特別サブセットに対応するラベルの値が、中間ラベル(IL)に基づく演算処理により算出可能であり、前記中間ラベルは、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な設定であることを特徴とする情報処理方法にある。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、サブセットキーを生成するサブセットキー生成ステップを有し、前記サブセットキー生成ステップは、サブセット各々に対応するラベル(LABEL)に基づく擬似乱数生成処理によりサブセットキーを生成する処理であることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、サブセットキーを生成するサブセットキー生成ステップを有し、前記サブセットキー生成ステップは、値x∈Z と、暗号パラメータとしての法Mおよび秘密指数dとを適用した落とし戸つき一方向性置換Fの逆置換F−1を適用した演算式に基づいて、前記特別サブセットに対応する中間ラベルを生成する中間ラベル生成ステップと、前記中間ラベルに基づく演算処理により、前記特別サブセット対応のラベルを生成し、さらに該生成ラベルに基づく演算により特別サブセット非対応のラベルを生成するラベル生成ステップと、前記ラベルに基づく演算処理によりサブセットキーを算出するステップとを含むことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記中間ラベル生成ステップにおいて選択する特別サブセットは、階層木において、ノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセットと、階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセットとの少なくともいずれかであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記中間ラベル生成ステップは、階層木中に設定した1つの特別レベルによって分離したレイヤ別のサブセット管理構成を持つベーシックLSD(Basic Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記中間ラベル生成ステップは、階層木中に設定した複数の特別レベルによって分離したレイヤ別のサブセット管理構成を持つ一般化LSD(General Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定するステップであることを特徴とする。
さらに、本発明の第4の側面は、
階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の提供処理に適用する階層木を生成する情報処理装置であり、
階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルの値を演算処理により算出可能な値として設定した中間ラベル(IL)であり、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な値を持つ中間ラベルを生成する中間ラベル生成手段と、
前記中間ラベルに基づく演算処理により、前記特別サブセット対応のラベルを生成し、さらに該生成ラベルに基づく演算により特別サブセット非対応のラベルを生成するラベル生成手段と、
前記階層木の末端ノード対応の受信機に対する提供ラベルを決定する提供ラベル決定手段であり、
前記特別サブセットに対応しない特別サブセット非対応ラベルと、
演算処理によって前記特別サブセットに対応するラベルを算出可能とした中間ラベルと、
を受信機に対する提供ラベルとして決定する提供ラベル決定手段と、
を有することを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、さらに、前記ラベル生成手段において生成したサブセット対応の各ラベルから導出されるサブセットキーを選択的に適用して暗号化処理を実行して暗号文を生成し、前記受信機に提供する暗号文生成手段を有することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記ラベル生成手段は、中間ラベルに対するハッシュ算出処理により、特別サブセットに対応するラベルの値を算出する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記ラベル生成手段は、特別サブセットに対応するラベルの値に対する擬似乱数生成処理により、他のラベルを生成する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記中間ラベル生成手段は、ノード数2N−1の階層木において、値x∈Z をランダムに選択し、iをカウンタとして、i=2〜2N−1までiを1つずつ増加させながら、落とし戸つき一方向性置換Fの逆置換F−1を適用した演算式である下記式、
Figure 2005286959
または、下記式、
Figure 2005286959
ただし、M、dは、暗号パラメータとしての法Mおよび秘密指数d、
上記式のいずれかを適用して、ノード数2N−1の階層木におけるノード対応値x〜x2N−1を算出し、これを、特別サブセット対応ラベルを算出可能な中間ラベル(IL)の値として設定する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記中間ラベル生成手段において選択する特別サブセットは、階層木において、ノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセットと、階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセットと、の少なくともいずれかであることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記提供ラベル決定手段は、前記階層木の末端ノード対応の受信機に提供する1つの中間ラベルを前記第1特別サブセットを構成するサブセットSi,j中、最下層のサブセットに対応する中間ラベルとすることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記中間ラベル生成手段は、階層木中に設定した1つの特別レベルによって分離したレイヤ別のサブセット管理構成を持つベーシックLSD(Basic Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定する手段であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記中間ラベル生成手段は、階層木中に設定した複数の特別レベルによって分離したレイヤ別のサブセット管理構成を持つ一般化LSD(General Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定する手段であることを特徴とする。
さらに、本発明の第5の側面は、
階層木構成に基づくブロードキャストエンクリプション方式であるSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーによって暗号化された暗号文の復号処理を実行する情報処理装置であり、
前記暗号文から、自己の保持するラベル、または自己の保持する中間ラベルから算出可能なラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーを適用して生成した暗号文を選択する暗号文選択手段と、
暗号文の適用サブセットキーが、保持ラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーでない場合に、保持中間ラベルに対する演算処理を実行して特別サブセット対応のラベルを算出するラベル算出手段と、
保持ラベルまたは算出ラベルに基づく擬似乱数生成処理によってサブセットキーを生成するサブセットキー生成手段と、
生成サブセットキーを適用して暗号文の復号処理を実行する復号手段と、
を有することを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記ラベル算出手段は、保持中間ラベルに対する落とし戸つき一方向性置換Fの実行より他の中間ラベルを算出する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記ラベル算出手段は、保持中間ラベル、または、保持中間ラベルに対する落とし戸つき一方向性置換Fの実行より算出した他の中間ラベルに対するハッシュ演算によるラベル算出を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記ラベル算出手段は、暗号文の適用サブセットキーが、階層木においてノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセット、または、階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセット、のいずれかの特別サブセット対応のラベルに基づく擬似乱数生成処理により算出可能なサブセットキーであり、前記特別サブセット対応のラベルを保持していない場合に、保持している中間ラベルに対する演算処理により前記特別サブセット対応のラベルを算出する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記ラベル算出手段は、前記階層木において、復号処理を実行する受信機の設定ノードからルートに至るパス上のノードを包含する特別サブセットに対応するラベルの算出を保持中間ラベルに対する演算処理により算出する構成であることを特徴とする。
さらに、本発明の第6の側面は、
階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の生成処理を実行する情報処理装置であり、
階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーを選択的に適用して暗号化処理を実行して暗号文を生成する暗号文生成手段を有し、
暗号文生成手段において適用するサブセットキーは、
サブセット各々に対応するラベル(LABEL)から算出可能なサブセットキーであり、選択された一部の特別サブセットに対応するラベルの値が、中間ラベル(IL)に基づく演算処理により算出可能であり、前記中間ラベルは、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な設定であることを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、さらに、サブセットキーを生成するサブセットキー生成手段を有し、前記サブセットキー生成手段は、サブセット各々に対応するラベル(LABEL)に基づく擬似乱数生成処理によりサブセットキーを生成する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、さらに、サブセットキーを生成するサブセットキー生成手段を有し、前記サブセットキー生成手段は、値x∈Z と、暗号パラメータとしての法Mおよび秘密指数dとを適用した落とし戸つき一方向性置換Fの逆置換F−1を適用した演算式に基づいて、前記特別サブセットに対応する中間ラベルを生成し、前記中間ラベルに基づく演算処理により、前記特別サブセット対応のラベルを生成し、さらに該生成ラベルに基づく演算により特別サブセット非対応のラベルを生成し、生成ラベルに基づく演算処理によりサブセットキーを算出する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記特別サブセットは、階層木において、ノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセットと、階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセットと、の少なくともいずれかであることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記サブセットは、階層木中に設定した1つの特別レベルによって分離したレイヤ別のサブセット管理構成を持つベーシックLSD(Basic Layered Subset Difference)方式に従って設定するサブセットであることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記サブセットは、階層木中に設定した複数の特別レベルによって分離したレイヤ別のサブセット管理構成を持つ一般化LSD(General Layered Subset Difference)方式に従って設定するサブセットであることを特徴とする。
さらに、本発明の第7の側面は、
階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の提供処理に適用する階層木を生成するコンピュータ・プログラムであり、
階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルの値を演算処理により算出可能な値として設定した中間ラベル(IL)であり、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な値を持つ中間ラベルを生成する中間ラベル生成ステップと、
前記中間ラベルに基づく演算処理により、前記特別サブセット対応のラベルを生成し、さらに該生成ラベルに基づく演算により特別サブセット非対応のラベルを生成するラベル生成ステップと、
前記階層木の末端ノード対応の受信機に対する提供ラベルを決定するステップであり、
前記特別サブセットに対応しない特別サブセット非対応ラベルと、
演算処理によって前記特別サブセットに対応するラベルを算出可能とした中間ラベルと、
を受信機に対する提供ラベルとして決定する提供ラベル決定ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
さらに、本発明の第8の側面は、
階層木構成に基づくブロードキャストエンクリプション方式であるSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーによって暗号化された暗号文の復号処理を実行するコンピュータ・プログラムであり、
前記暗号文から、自己の保持するラベル、または自己の保持する中間ラベルから算出可能なラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーを適用して生成した暗号文を選択する暗号文選択ステップと、
暗号文の適用サブセットキーが、保持ラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーでない場合に、保持中間ラベルに対する演算処理を実行して特別サブセット対応のラベルを算出するラベル算出ステップと、
保持ラベルまたは算出ラベルに基づく擬似乱数生成処理によってサブセットキーを生成するステップと、
生成サブセットキーを適用して暗号文の復号処理を実行する復号ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
さらに、本発明の第9の側面は、
階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の生成処理を実行するコンピュータ・プログラムであり、
階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーを選択的に適用して暗号化処理を実行して暗号文を生成する暗号文生成ステップを有し、
暗号文生成ステップにおいて適用するサブセットキーは、
サブセット各々に対応するラベル(LABEL)から算出可能なサブセットキーであり、選択された一部の特別サブセットに対応するラベルの値が、中間ラベル(IL)に基づく演算処理により算出可能であり、前記中間ラベルは、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な設定であることを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、ブロードキャストエンクリプション(Broadcast Encryption)方式の一態様である階層型木構造を適用した情報配信構成において比較的に効率的な構成であるとされているSubset Difference(SD)方式、およびLayered Subset Difference(LSD)方式に対して、さらに1つの落とし戸つき一方向性置換に基づく一方向性置換木を適用することにより、各受信機(情報処理装置)が安全に保持すべき情報量を削減することが可能となる。
さらに、本発明の構成においては、SD方式やLSD方式に基づいて設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルの値を演算処理により算出可能な値として設定した中間ラベル(IL)を生成し、この中間ラベルについて、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な値を持つ構成とした。受信機には、特別サブセット非対応のラベルに加えて、特別サブセット対応のラベルを導出可能な1つの中間ラベルのみを提供する構成としたので、従来のSD方式やLSD方式において受信機に提供されるラベルの数を、削減することが可能となる。削減したラベルについては、受信機側で保持する中間ラベルに対する落とし戸つき一方向性置換Fの実行により他の中間ラベルを算出可能であり、従来のSD方式やLSD方式に基づいて設定可能なサブセットの全てに対応する処理が可能である。このように本発明の構成を適用することにより、各受信機が安全に保持すべき情報量(ラベル)の削減が実現する。
以下、図面を参照しながら本発明の情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラムの詳細について説明する。
なお、説明は、以下の項目に従って行なう。
1.Complete Subtree(CS)方式の概要
2.Subset Difference(SD)方式の概要
3.一方向性置換木を用いたSD方式のラベル数削減構成
4.一方向性置換木の構成方法例
5.一方向性置換木を適用した情報配信処理例
6.Basic Layered Subset Difference(ベーシックLSD)方式の概要
7.一方向性置換木を用いたベーシックLSD方式のラベル数削減構成
8.General Layered Subset Difference(一般化LSD)方式の概要
9.一方向性置換木を用いた一般化LSD方式のラベル数削減構成
[1.Complete Subtree(CS)方式の概要]
まず既存の階層型木構造を適用したブロードキャストエンクリプション(Broadcast Encryption)方式として知られているComplete Subtree(CS)方式の概要について説明する。
なお、以下の説明においては、簡単のために、階層型木構造のリーフに対応して設定される情報処理装置(受信機)の総数Nは2のべき乗の数であるとする。また、以下の説明において、関数logの底はすべて2である。なお、階層型木構造のリーフに対応する機器は、以下に説明する秘密情報の復号処理を実行可能であれば、様々な機器、例えばPC、携帯端末など、様々な情報処理装置の設定が可能である。ここでは、これらを総称して受信機として説明する。また、本発明における暗号文配信処理とは、通信ネットワークを介した通信による提供処理のみならず、記録媒体に格納した暗号文の提供処理も含むものである。
なお、以下の説明においては、下記の記号を用いて説明する。
P(i):ノードiの親ノードおよびそのノード番号
S(i):ノードiの兄弟(sibling)であるノード(すなわち、iと異なるノードで、iと同じ親を持つノード)およびそのノード番号
LC(i):ノードiの左側の子ノードおよびそのノード番号
RC(i):ノードiの右側の子ノードおよびそのノード番号
(1)Complete Subtree(CS)方式
Complete Subtree(CS)方式は、基本的に背景技術の欄において説明した構成に相当し、図3に示すように、階層型木構造として各ノードが2つに分岐する形を持つ2分木を用いる。図3は、受信機数N=16の例である。この2分木の各リーフ(葉)に各受信機を割り当てる(図3におけるu1〜u16)。また、木の各ノード(節)を用いて、「そのノードを頂点とする部分木のリーフ(葉)に割り当てられた受信機からなる集合」を表す。図3におけるノードi201は、受信機u5とu6からなる集合を表す。
そして、図3に示す2分木の各構成ノードに鍵(ノードキー)が定義される。各受信機には、各受信機が割り当てられているリーフ(葉)から木のルート(頂点)に至るパス上のノードに割り当てられたノードキーが与えられ、受信機はこれらのノードキーを安全なメモリに保持する。木の定義やノードキーの定義、受信機の割り当てやノードキーの配布などは、Trusted Center(TC)と呼ばれる信頼される管理センタが行なう。
図4に示すように、階層木には16台の受信機u1〜u16が割り当てられ、ノードは1〜31の31個、存在する。受信機u4には、ノード1,2,4,9,19に割り当てられた5個のノードキーが与えられる。すなわち、全受信機数をNとした場合には、各受信機はlogN+1個のノードキーを保持することになる。
図5を用いて、このセッティングを用いて秘密情報(たとえば、暗号化されたコンテンツを復号するためのコンテンツキー)をどのようにリボークされない受信機に送信するかについて説明する。ここでは、管理センタ(TC)が秘密情報の送信者になるとする。いま、受信機u2,u11,u12がリボークされる受信機とする。すなわち、受信機u2,u11,u12を不正な機器として排除(リボーク)し、それ以外の受信機においてのみ安全に情報を受領、すなわち同報配信される暗号文に基づく復号を行なうことを可能とする。
管理センタ(TC)が秘密情報の送信を行なう場合、リボーク受信機u2,u11,u12が割り当てられているリーフ(葉)から木のルートに至るパス上のノードに割り当てられたノードキーを暗号鍵として使用せず、暗号文のセットを生成して同報送信する。
リボーク受信機u2,u11,u12が割り当てられているリーフ(葉)から木のルートに至るパス上のリーフまたはノードに割り当てられたノードキーを使用すると、これらは、リボークすべき受信機が持つキーであるため、リボーク機器において秘密情報を入手できてしまう。従って、これらのキーを用いずに暗号文のセットを生成して同報送信する。
リボーク受信機u2,u11,u12が割り当てられているリーフ(葉)から木のルートに至るパス上のノードおよびパスを木から除外すると、1つ以上の部分木が残る。例えば、ノード5を頂点とする部分木、あるいはノード12を頂点とする部分木などである。
秘密情報の送信者は、それぞれの部分木の頂点に最も近いノード、すなわち、図5に示す例では、ノード5,7,9,12,16に割り当てられたノードキーを用いて秘密情報を暗号化した暗号文のセットを送信する。例えば送信秘密情報を暗号化コンテンツの復号に適用するコンテンツキーKcであるとし、ノード5,7,9,12,16に割り当てられたノードキーをNK5,NK7,NK9,NK12,NK16とすると、秘密情報の送信者は、
E(NK5,Kc),E(NK7,Kc),E(NK9,Kc),E(NK12,Kc),E(NK16,Kc)
の暗号文セットを生成して、ネットワーク配信あるいは記録媒体に格納して提供する。なお、E(A,B)はデータBを鍵Aで暗号化したデータを意味する。
上記暗号文セットは、リボーク受信機u2,u11,u12のみが復号することができず、その他の受信機では復号可能である。このような暗号文セットを生成し送信することで、効率的で安全な秘密情報の伝送が行える。
受信機は、伝送された暗号文のうち、自分が復号できるもの、すなわち、自身が割り当てられたリーフ(葉)からルートに至るまでのパス上のノードに対応するノードキーを用いて暗号化されたものを復号して秘密情報を得ることができる。上記の例では、受信機u4はノード9のノードキーを保持しているので、これを用いて暗号化された暗号文E(NK9,Kc)を復号することができる。このように、リボークされていない受信機が復号できる暗号文は受信した暗号文セット中に必ずひとつ存在する。
[2.Subset Difference(SD)方式]
上記のように、Complete Subtree(CS)方式においては、階層木の各ノード(節)を用いて、「そのノードを頂点とする部分木のリーフ(葉)に割り当てられた受信機からなる集合」を表していた。これに対し、Subset Difference(SD)方式においては、階層木の2つのノードi,j(ただしiはjの先祖であるノード)を用いて、「(ノードiを頂点とする部分木のリーフ(葉)からなる集合)から(ノードjを頂点とする部分木のリーフ(葉)からなる集合)を引いた集合」を表す。
たとえば図6のノードi231,とノードj232で定義される集合Si,jは、受信機u1〜u8の集合からu5,u6を除いたものであり、すなわち、Si,j={u1,u2,u3,u4,u7,u8}である。ノードiがノードjの先祖である(すなわち、ノードjはノードiと同一ではなく、ノードjからルートへのパス上にノードiが存在する)すべてのノードの組についてこのような集合を定義する。
サブセットSi,jに対応する鍵としてサブセットキーSKi,jが設定される。サブセットキーSKi,jは、u1〜u8の集合からu5,u6を除いたサブセットSi,j={u1,u2,u3,u4,u7,u8}が共通に保有する鍵として設定され、サブセットキーSKi,jを暗号鍵として秘密情報を暗号化した情報を送信することにより、サブセットSi,j={u1,u2,u3,u4,u7,u8}においてのみ復号可能となり、u5,u6をリボーク(排除)することができる。
このようなセッティングでは、ひとつの受信機が所属する集合の個数は、下式によって示される数O(N)となる。
Figure 2005286959
従って、それぞれの集合(サブセット)に鍵(サブセットキー)を独立に割り当てたのでは、各受信機がO(N)個のサブセットキーを安全に保持する必要がある。しかし、これは、総受信機数Nの増大に伴い飛躍的に増大し、これらの大量の情報を各機器に安全に保管させることは現実的に困難である。
このため、Subset Difference(SD)方式では以下に述べる工夫を用いている。前述したComplete Subtree(CS)方式と同様に、管理センタ(TC)が階層木の定義やサブセットの定義、鍵の定義、配布などを行うものとする。
まず、図7(A)に示すように、管理センタ(TC)は、ある内部ノード(すなわち、リーフ(葉)でないノード)iに注目し、そのノードiのラベルをLABELiとしてCビットの値Sをランダムに選択する。
次に、図7(B)の図に示すように、LABELi=Sを、Cビット入力、3Cビット出力の擬似乱数生成器Gに入力する。この出力を左から(最上位ビット側から)Cビットずつに区切り、それぞれG(S),G(S),G(S)とする。そして、G(S)を、図7(A)に示すノードiの左側の子ノードkのラベルとし、またG(S)をノードiの右側の子ノードのラベルとする。
いま、この処理により、図7においてノードiの左側の子であるノードkについて、ノードiを始点にした場合のノードkのラベルLABELi,kは、LABELi,k=G(S)となった。これをTとおく。次に、今度はノードkのラベルLABELi,k=G(S)=Tを、図7(B)に示す擬似乱数生成器Gに入力し、その出力を左からCビットずつに区切った、G(T),G(T),G(T)を、それぞれ以下のように設定する。
(T)=ノードiを始点にした場合のノードkの左側の子ノードLC(k)のラベルLABELi,LC(k)
(T)=ノードiを始点にした場合のノードkの鍵(これを集合Si,kに対応するサブセットキーSKi,kとする)
(T)=ノードiを始点にした場合のノードiの右側の子ノードRC(k)のラベルLABELi,RC(k)
この処理を繰り返すことにより、ノードiを始点とした場合の、その子孫となるすべてのノードに対応するラベルを作り出す。なお、上記の定義によれば集合Si,iは空集合であり、ノードiを始点とした場合に、ノードiの鍵というものは不要であるため、LABELを擬似乱数生成器Gに入力した出力の中央部分であるG(S)は使われないことに注意されたい。
図7(A)の例で示すと、始点であるノードiのラベルSが定められ、G(S)がノードiを始点とした場合のiの右の子ノードのラベルとなり、さらにそれを擬似乱数生成器Gに入力して得られたG(G(S))が、ノードiを始点とした場合のノードjのラベルLABELi,jとなる。ノードiを始点とした場合の、その子孫となるすべてのノードに対応するラベルを作り出す処理を、すべての内部ノードiに対して行う。
これらの処理はシステムのセットアップ時に、管理センタ(TC)によって行われるが、擬似乱数生成器(あるいは擬似乱数生成関数)Gは、管理センタ(TC)によって定められ公開されており、これを用いることによって、LABELi,jを与えられた受信機は、ノードiを始点とした場合の、ノードjの子孫となるすべてのノードnのラベルLABELi,nを計算することおよび、ノードiを始点とした場合の、ノードjおよびその子孫ノードnのサブセットキーSKi,nを計算することが可能となる。
このような設定により、図8(A)に示すように、ある受信機uは、それが割り当てられたリーフ(葉)から木の頂点へのパス上のそれぞれの内部ノードiについて、ノードiを始点として、このリーフ(葉)uからiへのパスから直接枝分かれしているノードであるノードa,b,cのラベルのみを保持しておけばよいことになる。
これらのノードa,b,cおよびその子孫となるノードの、ノードiを始点としたサブセットキーを作り出すことが可能となる。図8(A)では、ノードiに注目したときに、uからiへのパスから直接枝分かれしているノードはa,b,cの3つであり、受信機uはこれら3つのラベルをシステムのセットアップ時に、管理センタ(TC)から与えられて保持する。
リーフuは、ノードaのラベルLABELi,aに基づく擬似乱数生成器Gの処理によって、サブセットSi,aに対応するサブセットキーSKi,aを求ることができる。すなわち、
(LABELi,a)=SKi,aとなる。
サブセットSi,aは、図8(a)に示すように、ノードaを頂点とした部分木のリーフをリボーク機器として設定したサブセットであり、ノードiを頂点とした部分木のリーフのうちノードaを頂点とした部分木のリーフ以外のリーフのみを情報配信対象として設定されるサブセットである。
また、リーフuは、ノードbのラベルLABELi,bに基づく擬似乱数生成器Gの処理によって、サブセットSi,bに対応するサブセットキーSKi,bを求めることができる。すなわち、
(LABELi,b)=SKi,bとなる。
サブセットSi,bは、図8(b)に示すように、ノードbを頂点とした部分木のリーフをリボーク機器として設定したサブセットであり、ノードiを頂点とした部分木のリーフのうちノードbを頂点とした部分木のリーフ以外のリーフのみを情報配信対象として設定されるサブセットである。
また、リーフuは、ノードcのラベルLABELi,cに基づく擬似乱数生成器Gの処理によって、サブセットSi,cに対応するサブセットキーSKi,cを求ることができる。すなわち、
(LABELi,c)=SKi,cとなる。
サブセットSi,cは、図8(c)に示すように、ノードc(リーフc)をリボーク機器として設定したサブセットであり、ノードiを頂点とした部分木のリーフのうちリーフc以外のリーフのみを情報配信対象として設定されるサブセットである。
iを始点とする階層木において、リーフu以外のリーフをリボークする構成は、これら3つ以外にも様々設定可能である。例えば図8(a)のリーフd251のみをリボーク対象とする場合は、サブセットSi,dを設定し、サブセットキーSKi,dを適用することが必要である。しかし、各ノード、リーフに対応する鍵、すなわちサブセットキーは、上位のラベルに基づく擬似乱数生成処理により生成可能である。従って、リーフuは、リーフd251のリボークに対応するサブセットキーSKi,dを、リーフuが保有するノードaのラベルLABELi,aに基づいて生成可能となる。
その他のサブセット構成についても同様であり、図8(A)に示すように、ある受信機uは、それが割り当てられたリーフ(葉)から木の頂点へのパス上のそれぞれの内部ノードiについて、ノードiを始点として、このリーフ(葉)uからiへのパスから直接枝分かれしているノードであるノードa,b,cのラベルのみを保持しておけばよいことになる。
図9は全受信機数N=16の設定の場合に各受信機が保持すべきラベルを示す図である。いま、受信機u4を考えると、それが割り当てられたリーフ(葉)であるノード19から頂点1へのパス上の内部ノード1,2,4,9が始点(ノードi)となる。ノード1を始点とすると、ノード19からノード1へのパスから直接枝分かれしているノードは3,5,8,18の4つであるため、受信機u4は4つのラベル、すなわち、
LABEL1,3
LABEL1,5
LABEL1,8
LABEL1,18
を保持する。
同様に、ノード2を始点とした場合には、
LABEL2,5
LABEL2,8
LABEL2,18
の3つのラベルを保持する。
ノード4を始点とした場合には、
LABEL4,8
LABEL4,18
の2つのラベルを保持する。
ノード9を始点とした場合には、
LABEL9,18
の1つのラベルを保持する。
また、リボークすべき受信機がないという特別な場合に使用する全受信機を含む集合(これをサブセットS1,φと表すことにする)に対応するラベル
LABEL1,φ
を1つ保持する。
すなわち、図9の構成においてu4が持つLABELをまとめると、図9にも記載しているように、
i=1に対してj=3,5,8,18の4つのラベル
i=2に対してj=5,8,18の3つのラベル
i=4に対してj=8,18の2つのラベル
i=9に対してj=18の1つのラベル
リボークなしの場合用のLABELを1つ
の計11個のラベルとなる。
ただし、ここでは説明を統一するため、サブセットS1,φに対応するラベルとしているが、ラベルではなくサブセットS1,φに対応するに対応するサブセットキーを直接保持してもよい。
上記のように、各受信機は、リーフ(葉)からルートへのパス上の各内部ノードについて、その内部ノードの高さ分だけのラベルと特別な1つのラベルを保持する必要があるから、送受信機数をNとした場合に各受信機が保持するラベル数は、下記式によって算出される数となる。
Figure 2005286959
各受信機は、上記式によって示される数のラベルを保持し、公開されている擬似乱数生成関数Gを用いることにより必要とするサブセットキーを作り出すことができる。受信機はこれらのラベルを安全に保持する必要がある。
[3.一方向性置換木を用いたSD方式のラベル数削減構成]
次に、本発明に係る一方向性置換木を用いたSubset Difference(SD)方式のラベル数の削減構成について説明する。上述したSubset Difference(SD)方式を観察すると、以下のことがわかる。
すなわち、ラベルLABELi,jは、
(A)受信機に直接、管理センタ(TC)から与えられる場合と、
(B)受信機がそれ以外のラベルから擬似乱数生成器Gを用いて導出する場合と、
があるが、
ノードiとノードjが親子の関係(距離1、すなわち連続する階層にある)であるラベルについては、上記の(B)の場合は存在せず、すべて、(A)受信機に直接、管理センタ(TC)から与えられる場合しかありえない。
これは、ある受信機がLABELi,jを擬似乱数生成器Gを用いて作り出すためには、ノードjの先祖となるノードkを用いたLABELi,kを知る必要があるが、ノードi,jが親子関係であるため、ノードjの先祖であり、ノードiの子孫となるようなノードkは存在せず、また、LABELはどの受信機にも与えられていないためである。
図10の構成例を参照して説明する。LABEL2,8は、受信機u4には直接、管理センタ(TC)から与えられるが、受信機u5には直接は与えられず、受信機u5は、管理センタ(TC)から与えられたLABEL2,4から擬似乱数生成器Gを用いてG(LABEL2,4)を計算することによりLABEL2,8を導出する。
これに対し、図11に示すように、ノード2とノード5が親子関係になるLABEL2,5は、サブセットS2,5に属している受信機u1,u2,u3,u4には直接与えられ、これ以外の受信機はその集合に属していないため、計算で導出することもできない。すなわち、このようなラベルは受信機に対し直接、管理センタ(TS)から与えられるだけで、擬似乱数生成器Gを用いて導出されることはない。
また、SD方式において、あるノードiが異なる2つのノードj,kの親ノードであり、ノードjがそれらとは別のノードnの親ノードであるとき、サブセットSj,nに属する受信機は必ずサブセットSi,kにも所属することがわかる。
たとえば図12に示すように、サブセットS9,18に属している受信機U4は、サブセットS4,8、サブセットS2,5、サブセットS1,3のいずれにも属している。すなわち、
9,18={u4}
4,8={u3,u4}
2,5={u1,u2,u3,u4}
1,3={u1,u2,u3,u4,u5,u6,u7,u8}
である。
またサブセットS4,8に属する受信機u4以外の受信機である受信機u3も、サブセットS2,5、サブセットS1,3のいずれにも属している。
本発明では、ノードiとノードjが親子関係になるラベルLABELi,jと、リボークすべき受信機がないという特別な場合に使用する全受信機を含む集合であるサブセットS1,φに対応するラベルであるLABEL1,φに対して、落とし戸つき一方向性置換を適用した鍵の木構造、すなわち一方向性置換木を適用することにより受信機が保持するラベル数を削減する。
上述したSubset Difference(SD)方式においては各受信機は、ノードiとノードjが親子関係になるラベルLABELi,jを、受信機が割り当てられたリーフ(葉)から木の頂点へのパス上の内部ノード1つにつき1つずつ、合計logN個保持している。本発明では、一方向性置換木を適用することにより、これらのラベルと、リボークすべき受信機がないという特別な場合に使用する全受信機を含む集合であるサブセットS1,φに対応するラベルであるLABEL1,φの合計logN+1個のラベルを1つの値から導出可能な設定とすることで、受信機の保持すべきラベル数を削減する。
オリジナルのSD方式では、図9を参照して説明したように、受信機u4は計11個のラベル、すなわち、
i=1に対してj=3,5,8,18の4つのラベル
LABEL1,3
LABEL1,5
LABEL1,8
LABEL1,18
i=2に対してj=5,8,18の3つのラベル
LABEL2,5
LABEL2,8
LABEL2,18
i=4に対してj=8,18の2つのラベル
LABEL4,8
LABEL4,18
i=9に対してj=18の1つのラベル
LABEL9,18
リボークなしの場合用のLABELを1つ
LABEL1,φ
計11のラベルを安全に保持する必要があったが、本発明の構成を適用することにより、ノードi,jが親子関係になるラベル、すなわち、
LABEL1,3
LABEL2,5
LABEL4,8
LABEL9,18
さらに、リボークなしの場合用のLABELである
LABEL1,φ
これらのラベルを、受信機は保持することが必要であるが、本発明では、一方向性置換木を適用することにより、これらのラベルと、リボークすべき受信機がないという特別な場合に使用する全受信機を含む集合であるサブセットS1,φに対応するラベルであるLABEL1,φの合計logN+1個のラベルを1つの値から導出可能な設定とすることで、受信機の保持すべきラベル数を削減する。
なお、本発明において適用する落とし戸つき一方向性置換とは、xからyを計算するのは簡単であるが、その逆の計算、すなわちyからxを計算する処理は、ある秘密情報(落とし戸)を知っているものだけが実行でき、この秘密情報(落とし戸)を知らないものにとっては困難(ほぼ不可能)である置換処理y=F(x)である。
[4.一方向性置換木の構成例]
以下、本発明にかかる一方向性置換木を用いた階層木構成に基づく情報配信構成について説明する。なお、本明細書の説明において用いている「一方向性置換木」とは、一般的な用語ではなく本発明の説明のために用いる言葉であり、ある特性を持つ木構造を定義した言葉である。
「一方向性置換木」の定義について説明する。
N個の葉を持つ完全2分木が一方向性置換木であるとは、図13に示すように、最上位のノードであるルートを1、それ以降のノードを上位の左から順に2,3,...,2N−1と幅優先(breadth first order)で各ノードにノード番号を設定した場合に、ノードiに対応する値、すなわちノード対応値として値x(i=1,2,...,2N−1)を設定し、i=1,2,...,N−1について、下記式
Figure 2005286959
・・・(数式1)
が成り立つ木構造を一方向性置換木というものとする。上記式において、
−1は、落とし戸つき一方向性置換Fの逆置換である。
なお、落とし戸つき一方向性置換の例として、RSA暗号が挙げられる。RSA暗号はパラメータとして法M、公開指数e、秘密指数dを用い、
(公開)置換F=xmodM
(秘密)逆置換F−1=xmodM
を用いる暗号方式である。RSA暗号の解説は、たとえばA.J.Menezes,P.C.van Oorschot and S.A.Vanstone著,"Handbook of Applied Cryptography,"CRC Press,1996に紹介されている.
また、別の例として、上記式(数式1)の代わりに、ハッシュ関数等の一方向性関数hを適用した例として、下記式
Figure 2005286959
・・・(数式2)
が成り立つ木構造を一方向性置換木としてもよい。
関数hは、任意長の入力に対し一定の長さの出力を出す関数であり、xからyを計算するのは簡単だが、その逆計算は、困難であるような関数y=H(x)である。このような関数は一方向性関数またはハッシュ関数と呼ばれ、例えばMD4、MD5や,160ビットの出力を出すSHA−1などが有名である。これらの関数も上述の"Handbook of Applied Cryptography"に紹介されている。
一方向性置換木を構成する各ノードiに対応して設定されるノード対応値xと、各ノード対応値の算出に適用する置換Fに対応する演算(f)と、逆置換F−1に対応する演算(f−1)との設定関係を図で表すと、図13のようになる。
図に示すように、あるノードの値からその親ノードの値を計算することは、落とし戸つき一方向置換の順方向置換Fを用いた計算fによって行え、逆にあるノードの値からその子ノードの値を計算することは逆置換F−1を用いた計算f−1によって行える。ここで、逆置換を計算することは落とし戸(秘密)を知っているものだけが現実的に行え、それを知らないものには困難であることに注意されたい。
落とし戸つき一方向性置換のひとつであるRSA暗号を用いて、葉がN個である2分木の一方向性置換木を構成するアルゴリズムについて、図14を参照して説明する。
まず、ステップS101において、数x∈Z をランダムに選択する。なお、x∈Z は、xが、巡回群Z の生成元であることを意味する。
次にステップS102〜S105において、iをカウンタとして、i=2〜2N−1まで、iを1つずつ増加させながら、下記式(数式3)に従ってノード対応値xを算出する。
Figure 2005286959
・・・(数式3)
上記式(数式3)は、図13における逆置換に相当する演算f−1を上位ノードから順に算出している処理に相当する。
ステップS102〜S105において、iをカウンタとして、i=2〜2N−1まで、iを1つずつ増加させながら、上記式(数式3)に従ってノード対応値xが算出されると、ステップS106において、2N−1個の|M|ビットの数x,x,...,x2N−1を出力して終了する。値xが一方向置換木のノードiに対応する値、すなわちノード対応値となる。ここで、葉の数がNである完全2分木のノードの総数は2N−1である点に注意されたい。
なお、図14に示す処理フローにおけるステップ10において適用したノード対応値の算出のための演算は、ハッシュ関数hを適用し、下記式(数式4)を適用して実行する構成としてもよい。
Figure 2005286959
・・・(数式4)
[5.一方向性置換木を適用した情報配信処理例]
次に、上述した一方向性置換木を適用した情報配信処理例について説明する。以下、
(5−1)セットアップ処理
(5−2)情報配信処理
(5−3)受信および復号処理
の各処理について順次、説明する。
(5−1)セットアップ処理
セットアップ処理はシステムの立ち上げ時に1度だけ行う。これ以降の情報配信および受信と復号の処理は、送信すべき情報が生じる毎に実行する。たとえば新しいコンテンツを格納したDVDディスクなどのコンテンツ格納記録媒体が作成され、ユーザに対して配布される毎、あるいはインターネットを介して暗号化コンテンツが配信される毎に繰り返し行う。
セットアップ処理は、以下のステップ1〜4の処理によって実行する。各ステップについて説明する。
a.ステップ1
まず、管理センタ(TC)は、2分木でありN個のリーフ(葉)を持つ階層木を定義する。なお、この階層木は、上述の一方向性置換木とは別である。階層木中の各ノードに対応する識別子として、k(k=1,2,・・・,2N−1)を設定する。ただしルートを1とし、以下、下層ノードについて順次、幅優先(breadth first order)で、識別子(番号)付与を行う。すなわち、図15に示すようなノード番号(y)の設定を行なう。この処理により2分木中の各ノードにy=1〜2N−1のノード番号が設定される。
受信機um(m=1,2,...,N)を木の各葉(リーフ)に割り当てる。図15の例では、ノード番号y=16〜31に受信機u1〜u16の16台の受信機が割り当てられる。
次に、各内部ノードi(i=1,2,・・・,N−1)について、ノードiの子孫であるノードjに対応するサブセットSi,jを定義する。さらに、上で定義されたすべてのサブセットSi,jの中で、ノードiとノードjが親子関係になっているものを第1の特別なサブセット(スペシャルサブセット:Special Subset)SSi,jと表すことにする。ここで、木のルートを除く各ノードは、それぞれ唯一の親ノードを持つので、SSi,jのjには、j=2,3,・・・,2N−1なるjがただ1度ずつ使用されることに注意されたい。さらに、リボークする受信機がひとつもない場合に使用する、全受信機を含む第2の特別なサブセットSS'1,φを定義する。
b.ステップ2
管理センタ(TC)は、RSA暗号のパラメータである法M、公開指数e、秘密指数dを生成し、法Mと公開指数eを公開する。ここで、法Mのサイズを|M|ビットとする。例えば、|M|ビット=1024ビットである。さらに、擬似乱数生成器GおよびCビット(例えば128ビット)出力のハッシュ関数Hを選択して公開する。擬似乱数生成器Gは、先に図7を参照して説明した擬似乱数生成器Gであり、Cビット入力に対して3Cビットの擬似乱数を出力するものであり、前述のSD方式において適用されているNoarらの論文において説明されている擬似乱数生成器と同様のものである。
次に、
葉(リーフ)の数=N、
RSA暗号のパラメータである法M、秘密指数d
を入力して、先に図14のフローを参照して説明したアルゴリズムに従って葉がN個である2分木の一方向性置換木を生成し、各ノードiの対応値xを算出する。なお、ここで、各ノードiの対応値xの算出においては、前述の式(数式3)または式(数式4)のいずれかを適用する。
管理センタ(TC)は、上述の処理において定めた値xを、リボークする受信機がひとつもない場合に使用する全受信機を含む第2の特別なサブセットSS'1,φのラベルLABEL1,φの生成元データとしての中間ラベル(Intermediate Label,IL)として設定する。すなわち、
IL1,φ=x
とする。
第2の特別なサブセットSS'1,φのラベルをLABEL1,φとし、LABEL1,φは、上記の中間ラベルIL1,φに対するハッシュ(H)によって算出する値とする。すなわち、
LABEL1,φ=H(IL1,φ
である。
さらに、すべてのサブセットSi,jの中で、ノードiとノードjが親子関係になっている第1の特別なサブセットSSi,j(ただし、上述のようにj=2,3,・・・,2N−1である)に対応するラベルの生成元データとしての中間ラベルILi,jを下記のように定める。すなわち、前述の処理(図14参照)によってノード1から2N−1に対応する値として設定したxからx2N−1の中のルート対応値xを除くx(y=2,3,・・・,2N−1)をノードyの兄弟ノードと親ノードで指定される第1の特別なサブセットSSP(y),S(y)に対応する中間ラベルILP(y),S(y)とする。すなわち、
=ILP(y),S(y)
とする。
なお、P(i)はノードiの親ノードであり、S(i)はノードiの兄弟ノードである。
図16に具体的な例を示す。図16において、ノードy301にはノード対応値としてのxが割り当てられる。なお、xを含むすべてのノード対応値は前述の式(式1)を満足する値であり、
=ILP(y),S(y)
である。
ノードy301の親ノードは、P(y)302であり、兄弟ノードはS(y)303である。ノードy301の兄弟ノードS(y)303と親ノードP(y)302で指定される第1の特別なサブセットSSP(y),S(y)は、図16に示すサブセットSSP(y),S(y)310である。
このとき、サブセットSSP(y),S(y)310に対応するラベルは、LABELP(y),S(y)となるが、
LABELP(y),S(y)を、中間ラベルILP(y),S(y)(これはノードy301のノード対応値xに等しい)に基づくハッシュ値として設定する。すなわち、
LABELP(y),S(y)=H(ILP(y),S(y)
である。
上記式は、
LABELP(y),S(y)=H(x
と等価である。
一般式として示すと、すべてのサブセットSi,jの中で、ノードiとノードjが親子関係になっている第1の特別なサブセットSSi,j(ただし、上述のようにj=2,3,・・・,2N−1である)に対応するラベルLABELi,jは、中間ラベルILi,jに基づくハッシュ値、すなわち、
LABELi,j=H(ILi,j
として算出する。
なお、前述したように、リボークする受信機がひとつもない場合に使用する全受信機を含む第2の特別なサブセットSS'1,φのラベルLABEL1,φについても中間ラベルIL1,φに対するハッシュ(H)によって算出可能、すなわち、
LABEL1,φ=H(IL1,φ
である。
なお、本例では、中間ラベルに基づくラベルの算出処理にハッシュを適用した例を説明しているが、ハッシュ以外の演算処理によって算出する構成としてもよい。ただし、一方向性関数であることが望ましい。
管理センタは、ステップ2において、
(a)リボークする受信機がひとつもない場合に使用する全受信機を含む全体木に対応する第2の特別なサブセットSS'1,φのラベルLABEL1,φと、
(b)ノードiとノードjが親子関係になっている第1の特別なサブセットSSi,j(ただし、上述のようにj=2,3,・・・,2N−1である)に対応するラベルLABELi,jと、
上記(a),(b)の特別なサブセット対応のラベルを、それぞれ
中間ラベルILi,φのハッシュ値、
中間ラベルILi,jのハッシュ値
として設定する処理を実行する。
なお、中間ラベルの値は、ノード対応値xの値であり、先に図14を参照して説明したアルゴリズムに従って算出された値であり、前述の式(数式3または数式4)を満足する値である。すなわち、
IL1,φ=x
また、y=1,2,・・・,N−1に対して、
ILy,2y=x2y+1
ILy,2y+1=x2y
となる。
図17に、(a)リボークする受信機がひとつもない場合に使用する全受信機を含む全体木に対応する第2の特別なサブセットSS'1,φのラベルLABEL1,φと、(b)ノードiとノードjが親子関係になっている第1の特別なサブセットSSi,j(ただし、上述のようにj=2,3,・・・,2N−1である)に対応するラベルLABELi,jとの生成元データである中間ラベル(IL)としてのノード対応値xの設定処理例を示す。
図17において[i x j]は、
=ILi,j
を示す。ただしiはjの先祖である。
例えば[1 x 2]は、
=IL1,2
であることを示している。
このように、ノード対応値xは、上述の第1の特別なサブセットSSi,と、第2の特別なサブセットSS'1,φのラベルを算出可能な中間ラベルに対応する値として設定される。
管理センタ(TC)は、設定した中間ラベルに基づいて、ハッシュ値を算出し、(a)リボークする受信機がひとつもない場合に使用する全受信機を含む第2の特別なサブセットSS'1,φのラベルLABEL1,φと、(b)ノードiとノードjが親子関係になっている第1の特別なサブセットSSi,j(ただし、上述のようにj=2,3,・・・,2N−1である)に対応するラベルLABELi,jを決定する。
図18に、先に説明した図16に対応する具体例を示す。ノードy301を図に示すように、ノード番号8であるとする。ノードy301にはノード対応値としてのxが割り当てられる。ノードy301の親ノードは、P(y)302でありノード番号4、兄弟ノードS(y)303のノード番号は9である。ノードy301の兄弟ノードS(y)303と親ノードP(y)302で指定される第1の特別なサブセットSSP(y),S(y)は、図16に示すサブセットSS4,9310である。このとき、SS4,9310に対応するラベルの生成元データとしての中間ラベルは、
=ILP(y),S(y)
=IL4,9
である。
サブセットSS4,9310に対応するラベルは、LABEL4,9であり、LABEL4,9を、中間ラベルIL4,9(これはノードy301のノード対応値xに等しい)に基づくハッシュ値として設定する。すなわち、
LABEL4,9=H(IL4,9
である。
上記式は、
LABEL4,9=H(x
と等価である。
管理センタは、上述したように、ステップ2において、
(a)リボークする受信機がひとつもない場合に使用する全受信機を含む全体木に対応する第2の特別なサブセットSS'1,φのラベルLABEL1,φと、
(b)ノードiとノードjが親子関係になっている第1の特別なサブセットSSi,j(ただし、上述のようにj=2,3,・・・,2N−1である)に対応するラベルLABELi,jと、
を決定する。各ラベルは、ノード対応値に等しい中間ラベルのハッシュ値によって算出する。
c.ステップ3
次に、管理センタ(TC)は、ノードiとノードjが親子関係になっている第1の特別なサブセットSSi,jのラベルLABELi,jを擬似乱数生成器Gに入力し、ノードiを始点とした、ノードjの子ノードのラベルLABELi,LC(j)と、LABELi,RC(j)を求める。
すなわち、ビット数CのLABELi,jを擬似乱数生成器Gに入力して得られる3Cビットの擬似乱数の上位CビットであるG(LABELi,j)を、ノードiを始点とした、ノードjの左の子ノードLC(j)に対応する(特別でない)サブセットSi,LC(j)のラベルLABELi,LC(j)として設定し、さらに、ビット数CのLABELi,jを擬似乱数生成器Gに入力して得られる3Cビットの擬似乱数の下位CビットであるG(LABELi,j)を、ノードiを始点とした、ノードjの右の子ノードRC(j)に対応する(特別でない)サブセットSi,RC(j)のラベルLABELi,RC(j)として設定する。すなわち、
LABELi,LC(j)=G(LABELi,j
LABELi,RC(j)=G(LABELi,j
として、各ラベルを設定する。
さらにこれらの出力(ラベル)を擬似乱数生成器Gに繰り返し入力することで、ノードiを始点とした、ノードjの子孫であるすべてのノードに対応するラベルを求める。これをすべての特別なサブセットSSi,jのラベルに対して行い、ステップ1で定義したすべてのサブセットSi,jのラベルを求める。
d.ステップ4
次に管理センタ(TC)は、受信機umに対して提供するラベル、すなわち、受信機umが保管すべきラベルを決定する。
まず、オリジナルのSD方式において受信機umに対して与えるラベルを仮選択ラベルとして選択する。これは、受信機umが割り当てられたリーフ(葉)からルートに至るパスm(path−m)上の内部ノードiを始点とし、このリーフ(葉)からiまでのパスから直接枝分かれしたノードjに対応するサブセットSi,jのラベルLABELi,jと、上記の第2の特別なサブセットSS'1,φに対応するラベルLABEL1,φである。
図19以下を参照して受信機に提供するラベルの決定処理について説明する。例えば、図19のノード番号19に対応する受信機u4に対する仮選択ラベルとして、
LABEL1,3、LABEL1,5、LABEL1,8、LABEL1,18、LABEL2,5、LABEL2,8、LABEL2,18、LABEL4,8、LABEL4,18、LABEL9,18、LABEL1,φの11個のラベルが選択される。
管理センタ(TC)は、これらの仮選択ラベルの中から、受信機umに提供するラベルの再選択を行なう。なお、上記の11個の仮選択ラベル中、ノードiとノードjが親子関係になっている第1の特別なサブセットSSi,jのラベルは、LABEL1,3、LABEL2,5、LABEL4,8、LABEL9,18の4つである。
管理センタ(TC)は、これらの仮選択ラベルのうち、前述した第1および第2の特別なサブセットに対応するものを除外したラベルを受信機u4に対する最終選択ラベルすなわち提供ラベルとする。
さらに、管理センタ(TC)は、受信機に、その受信機が割り当てられているリーフ(葉)jの親ノードP(j)を始点とし、jの兄弟ノードS(j)に対応する特別なサブセットSSP(j),S(j)の中間ラベルILP(j),S(j)を与える。上記の例では、管理センタ(TC)は、受信機u4に、IL9,18を与える。受信機は与えられたラベルと中間ラベルを
安全に保管する。
すなわち、まず、受信機u4が持つ必要のあるラベル(LABEL)として、LABELi,jのi,jの組を以下のものとしたラベルを仮選択ラベルとする。
i=1に対してj=3,5,8,18
i=2に対してj=5,8,18
i=4に対してj=8,18
i=9に対してj=18
リボークなしの場合用のLABELを1つ
次に、上記の11個の仮選択ラベルから、前述した第1および第2の特別なサブセットに対応するものを除外したラベルと、1つの中間ラベルを受信機u4に対する最終選択ラベルすなわち提供ラベルとする。すなわち、LABELi,jのi,jの組を以下のものとしたラベルを提供ラベルとする。
i=1に対してj=5,8,18
i=2に対してj=8,18
i=4に対してj=18
中間ラベルIL9,18
以上、6つのラベルと1つの中間ラベルを提供ラベルとする。
なお、上記例で示した受信機u4以外の他の受信機umにおいても、与えられるラベルと中間ラベルの組み合わせは変わるものの、N=16の設定構成においては、各受信機umに対してそれぞれ6個のラベルと1個の中間ラベルが与えられる。
なお、受信機umに対する提供ラベルとして設定される1つの中間ラベルは、階層木において、受信機umに最も近い祖先によって定義される第1の特別なサブセット、すなわち、ノードiとノードjが親子関係になっている第1の特別なサブセットSSi,j(ただし、上述のようにj=2,3,・・・,2N−1である)に対応する中間ラベルILi,jとなる。すなわち、階層木のリーフ(葉)対応の受信機に提供する1つの中間ラベルは、前述の第1特別サブセットを構成するサブセットSi,j中、最下層の特別サブセットに対応する中間ラベルである。
図20に、上記のセットアップで、管理センタ(TC)が行う処理のフローを示す。まず、ステップS201において、階層木(HKT)の構成を定義する。ステップS202において、設定した階層木に対応してサブセットの定義を行なう。サブセット定義は、必ずしも全てのリーフを個別にリボーク可能とする設定に限らず、配信情報に応じて、例えば特定のリーフの集合をまとめてリボーク単位としたサブセットなど、任意の設定が可能である。
次に、ステップS203において、パラメータの設定、一方向性置換木の生成を行なう。ここでは、パラメータとして、葉(リーフ)の数=N、RSA暗号のパラメータである法M、秘密指数dを入力して、先に図14のフローを参照して説明したアルゴリズムに従って葉がN個である2分木の一方向性置換木を生成し、各ノードiの対応値xを算出する。なお、ここで、各ノードiの対応値xの算出においては、前述の式(数式3)または式(数式4)のいずれかを適用する。
ステップS204において、ノード対応値xを中間ラベルの値として設定し、中間ラベル(IL)に基づいて、特別サブセット対応のラベルを算出する。すなわち、
IL1,φ=x
また、y=1,2,・・・,N−1に対して、
ILy,2y=x2y+1
ILy,2y+1=x2y
とする。
なお、ここで求める中間ラベルは、
(a)リボークする受信機がひとつもない場合に使用する全受信機を含む第2の特別なサブセットSS'1,φと、
(b)ノードiとノードjが親子関係になっている第1の特別なサブセットSSi,j(ただし、上述のようにj=2,3,・・・,2N−1である)と、
に対応する中間ラベルである。
さらに、これらの中間ラベルに基づいて、特別サブセット対応のラベルを算出する。特別サブセット対応のラベルは、中間ラベルのハッシュ値によって算出される。
次にステップS205において、特別サブセット対応のラベルに基づいて特別サブセット非対応のラベルを算出する。例えば、第1の特別なサブセットSSi,jのラベルLABELi,jを擬似乱数生成器Gに入力し、ノードiを始点とした、ノードjの子ノードのラベルLABELi,LC(j)と、LABELi,RC(j)を求め、これらの処理を繰り返し実行して、設定したサブセット対応のラベルを全て算出する。
次に、ステップS206においてパラメータを公開する。公開対象のパラメータは、例えば、RSA暗号のパラメータである法M、公開指数eである。さらに、ステップS207において擬似乱数生成器関数Gと、ハッシュ関数Hを公開する。また、ステップS204で(数式4)を用いた場合にはハッシュ関数hも公開する。
ステップS208において、階層木のリーフに対応して設定される各受信機へ提供するラベルおよび中間ラベルを選択する。この処理は、前述したように仮選択ラベルの選択と提供ラベルの選択の2段階処理として実行される。
すなわち、まず、受信機umが持つ必要のあるラベル(LABEL)として,オリジナルのSD方式において与えるラベル、すなわち受信機umが割り当てられたリーフ(葉)からルートに至るパスm(path−m)上の内部ノードiを始点とし、このリーフ(葉)からiまでのパスから直接枝分かれしたノードjに対応するサブセットSi,jのラベルLABELi,jと、上記の第2の特別なサブセットSS'1,φに対応するラベルLABEL1,φを仮選択ラベルとして選択する。その後、仮選択ラベルから、前述した第1および第2の特別なサブセットに対応するものを除外したラベルLABELi,jと、1つの中間ラベルが提供ラベルとして設定される。
なお、提供ラベルとして設定される1つの中間ラベルは、階層木において、受信機umが割り当てられた葉nの親ノードと兄弟ノードによって定義される第1の特別なサブセット、すなわち、ノードiが葉nの親ノードであり,ノードjが葉nの兄弟ノードであるような第1の特別なサブセットSSi,j(ただし、jは葉であるためj=N,N+1,・・・,2N−1である)に対応する中間ラベルILi,jとなる。例えば、図19に示すノード番号19の設定された受信機u4に対して提供する中間ラベルは、中間ラベルIL9,18となる。
ステップS209において、ステップS208で決定した受信機に対する提供ラベルを受信機に提供し、処理を終了する。なお、ラベルの提供は、予め受信機の製造時に耐タンパ型のメモリに格納するか、あるいは、情報漏れの発生しないセキュアな通信路、あるいは媒体などの手段を適用して行なう。なお、図20に示す処理フローの各ステップは、必ずしもこの順番である必要はない。
(5−2)情報配信処理
次に、上述のセットアップ処理後に実行する秘密情報の送信処理の詳細について説明する。情報配信、すなわち秘密情報の送信は、管理センタ(TC)が1つ以上の暗号文を同報送信することによってなされる。それぞれの暗号文は、秘密情報をサブセットキーの1つを用いて暗号化したものである。例えば、管理センタが送信する秘密情報は、同じ送信秘密情報を異なるサブセットキーを用いて暗号化した複数の暗号文のセットとして構成される。
例えば秘密情報を暗号化コンテンツの複合に適用する鍵:コンテンツキーKcとした場合、コンテンツキーKcを複数のサブセットキーで暗号化した暗号文のセットを生成して提供する。例えば、
E(SKa,b,Kc),E(SKc,d,Kc),E(SKe,f,Kc)
の暗号文を生成して、ネットワーク配信あるいは記録媒体に格納して提供する。なお、E(A,B)はデータBを鍵Aで暗号化したデータを意味する。上記例は3つの異なるサブセットキーを適用して暗号化した3つの暗号文からなる暗号文セットである。
サブセットキーSKa,b、サブセットキーSKc,d、サブセットキーSKe,fのそれぞれは、特定の機器をリボーク機器として設定するために管理センタ(TC)において選択されたサブセットに対応するサブセットキーである。
リボーク対象以外の受信機が、暗号文の暗号化に適用されたサブセットキーのいずれかを、受信機の保有するラベル(ラベルおよび中間ラベル)に基づいて生成可能であり、リボーク機器以外の正当な選択された受信機のみが、
E(SKa,b,Kc),E(SKc,d,Kc),E(SKe,f,Kc)
に含まれるいずれかの暗号文の復号によってコンテンツキーKcを取得することができる。
図21に総受信機数N=16に設定した階層木構成において、受信機u5,u11,u12をリボークする際に用いるサブセットを示す。受信機u5,u11,u12をリボークする際に用いるサブセットは、図21に示す2つのサブセットS2,20とS3,13である。
リボークされない受信機は2つのサブセットS2,20とS3,13のいずれかに含まれ、リボークされる受信機u5,u11,u12はそのいずれにも含まれないので、これらのサブセットに対応するサブセットキーSK2,20とSK3,13を用いて秘密情報を暗号化して送信すれば、リボークされない受信機のみが暗号文を復号して秘密情報を得ることができる。
情報配信処理の処理手順について、図22に示すフローを参照して説明する。図22に示すフロー中の各ステップについて説明する。
まず管理センタ(TC)は、ステップS301において、リボーク受信機、すなわち送信秘密情報の提供対象外とする排除機器を選択する。なお、すべての受信機は、階層木構成のリーフに対応して設定されている。
次にステップS302において、決定したリボーク受信機に対応する階層木のリーフ位置に基づいて、秘密情報の配信名の際に適用するサブセットを決定する。例えば図21の例では、リボーク受信機として受信機u5,u11,u12を選択しており、適用するサブセットは2つのサブセットS2,20とS3,13となる。
ステップS303において、決定したサブセットに対応するサブセットキーを選択する。管理センタ(TC)は、予めサブセットに対応するサブセットキーを保持している。例えば図21の例では、2つのサブセットS2,20とS3,13とに対応する2つのサブセットキーSK2,20とSK3,13とが選択される。
次に、ステップS304において、ステップS303で選択したサブセットキーを用いて秘密情報を暗号化して暗号文セットを生成する。例えば図21の例では、2つのサブセットキーSK2,20とSK3,13を用いて秘密情報を暗号化して暗号文セットを生成する。例えば図21の例では、2つのサブセットキーSK2,20とSK3,13とを用いて秘密情報(例えばコンテンツキーKc)を暗号化して、以下の暗号文セット、
E(SK2,20,Kc),E(SK3,13,Kc)
を生成する。
ステップS305では、ステップS304において生成した暗号文セットを受信機に向けて送信(同報送信)する。送信される暗号文セットは、リボーク機器以外の受信機においてのみ復号可能な暗号文のみから構成され、リボーク機器においては復号できず、安全な情報配信が可能となる。
なお、暗号文セットの送信に際しては、暗号文に含まれる各サブセット対応の暗号文の配列情報としてのサブセット指定情報を併せて送信してもよい。受信機は、この指定情報に基づいて、自装置で生成可能なサブセットキーを適用した暗号文を容易に抽出可能となる。この具体手な方式としては、例えば、特開2001−352322号公報に示されている鍵指定コードを利用する構成が適用可能である。
なお、暗号化に利用するサブセットキーは、管理センタ(TC)がセットアップフェイズにおいて作成して保管しておいたものを使用するようにしてもよいし、セットアップフェイズにおいて作成して保管しておいた各サブセットごとのラベルから擬似乱数生成器Gを用いて導出してもよい。
また、セットアップフェイズにおいてx,M,dを保管しておき、これを用いてその都度必要なラベルおよびサブセットキーを導出してもよい。すなわち、サブセットキー生成処理として、管理センターから公開されている値である、値x∈Z と、暗号パラメータとしての法Mおよび秘密指数dとを適用した落とし戸つき一方向性置換Fの逆置換F−1を適用した演算式に基づいて、特別サブセットに対応する中間ラベルを算出し、中間ラベルに基づく演算処理により、特別サブセット対応のラベルを生成し、さらに該生成ラベルに基づく演算により特別サブセット非対応のラベルを生成するラベル生成し、これらのラベルに基づく演算処理によりサブセットキーを算出してサブセットキーを導出してもよい。
なお、リボークする受信機がない場合には、前述の第2の特別なサブセットSS'1,φのサブセットキーSK1,φを用いて秘密情報の暗号化に用いる。
(5−3)受信および復号処理
リボークされない受信機は、上記のサブセットのいずれかただ1つに属しているので、そのサブセットに対応するサブセットキーを用いて作られた暗号文を復号すれば秘密情報を得ることができる。受信機が復号すべき暗号文を見つけるためには、前述のサブセット指定情報を用いればよい。暗号文を特定した後、受信機は所有するラベルまたは中間ラベルからサブセットキーを導出し、これを用いて暗号文を復号する。サブセットキーを導出する方法を以下に述べる。
受信機umはまず、暗号文の復号処理に適用する求めるべきサブセットキーSKi,jに対応するサブセットSi,jのノードjが、下記(A),(B)のいずれであるかを判定する。
(A)受信機が直接ラベルLABELi,kを持つノードkの子孫である(ただしj=kの場合を含む)か、
(B)ノードiの子ノードのうち、受信機が割り当てられたリーフ(葉)nからルートへのパス上にないほうのノード(つまり、パス上にあるノードiの子ノードの兄弟であるノード)kと一致するかその子孫であるか、(すなわち、ノードjが、SD方式において受信機umにラベルが与えられたサブセットのうち、第1の特別なサブセットSSi,kを構成するノードkの子孫であるか)を判断する。
なお、リボークする受信機がなく、第2の特別なサブセットSS'1,φのサブセットキーSK1,φが秘密情報の暗号化に用いられている場合には(B)であるとみなす。
(B)の場合には、下記のように、受信機に与えられている中間ラベルILP(n),S(n)から特別なサブセットSSi,kの中間ラベルを導出する。
まず、i=P(n),j=k=S(n)である場合には、受信機はすでにこの中間ラベルを持っているので特に何もする必要はない。そうでない場合は、受信機は中間ラベルILP(n),S(n)に対し公開されている置換関数F、すなわち落とし戸つき一方向性置換Fを適用することで、上位のサブセットに対応する中間ラベルを順次計算していく。受信機が持つ中間ラベルILP(n),S(n)に対し、受信機が割り当てられたリーフ(葉)nの親ノードP(n)のさらに親ノードP(P(n))を始点とし、ノードP(n)の兄弟ノードS(P(n))に対応する特別なサブセットSSP(P(n)),S(P(n))の中間ラベルILP(P(n)),S(P(n))は、
ILP(P(n)),S(P(n))=((ILP(n),S(n)−n)modM
・・・(数式5)
によって求められる。
これは、上述した一方向性置換木の性質に基づくものであり、ノード対応値算出において、前述の式(数式3)を適用した結果として、一方向性置換木の各ノード対応値xiについて、下式が成立することに基づいている。
Figure 2005286959
なお、一方向性置換木の生成時に、ノード対応値算出においてハッシュ関数を用いた前述の式(数式4)を適用した場合は、特別なサブセットSSP(P(n)),S(P(n))の中間ラベルILP(P(n)),S(P(n))は、
ILP(P(n)),S(P(n))=((ILP(n),S(n)−h(n))modM
・・・(数式6)
によって求められる。
これらの出力にさらに公開パラメータとしてのRSA暗号における法M、公開指数eとノード番号iを用いた演算を繰り返していくことにより、受信機はサブセットSS1,2またはSS1,3まで、SD方式において自身がラベルを保持すべきサブセットのうち第1の特別なサブセットのすべての中間ラベルを求めることができる。すなわち、あるノードyとその親ノードP(y)があるとき、ノードP(y)の親ノードP(P(y))を始点とし、ノードP(y)の兄弟ノードS(P(y))に対応する特別なサブセットSSP(P(y)),S(P(y))の中間ラベルILP(P(y)),S(P(y))は、
ILP(P(y)),S(P(y))=((ILP(y),S(y)−y)modM
・・・(数式7)
によって求められる。
なお、一方向性置換木の生成時に、ノード対応値算出においてハッシュ関数を用いた前述の式(数式4)を適用した場合は、特別なサブセットSSP(P(y)),S(P(y))の中間ラベルILP(P(y)),S(P(y))は、
ILP(P(y)),S(P(y))=((ILP(y),S(y)−h(y))modM
・・・(数式8)
によって求められる。
なおここで、ノードyは受信機が割り当てられたリーフ(葉)からルートへのパス上に存在するノードである。
また、中間ラベルIL1,2、または、中間ラベルIL1,3に対して、下式、
IL1,φ=((IL1,2−3)modM ・・・(数式9)
IL1,φ=((IL1,3−2)modM ・・・(数式10)
によって、第2の特別なサブセットSS'1,φに対応する中間ラベルIL1,φ=Kを求めることができる。
この場合も同様に、一方向性置換木の生成時に、ノード対応値算出においてハッシュ関数を用いた前述の式(数式4)を適用した場合は、中間ラベルIL1,2、または、中間ラベルIL1,3に対して、下式、
IL1,φ=((IL1,2−h(3))modM ・・・(数式11)
IL1,φ=((IL1,3−h(2))modM ・・・(数式12)
によって、第2の特別なサブセットSS'1,φに対応する中間ラベルIL1,φ=Kを求めることができる。
受信機によって実行する具体的な中間ラベル取得処理について、図21を参照して説明する。リーフ(葉)19に割り当てられた受信機u4は中間ラベルIL9,18を保持している。公開パラメータとしてのRSA暗号における法M、公開指数eとノード番号iを用いた演算により、ノード9の親ノード4と兄弟ノード8で決定されるサブセットS4,8の中間ラベルIL4,8を、
IL4,8=((IL9,18−19)modM
として求めることができる。
同様に、ノード4の親ノード2と兄弟ノード5で決定されるサブセットS2,5の中間ラベルIL2,5を、
IL2,5=((IL4,8−9)modM
として求めることができる。
この処理を繰り返していくことにより、受信機u4は、IL1,3、およびIL1,φを求めることができる。
上記のようにして、サブセットSi,kに対応する中間ラベルILi,kを導出したら、受信機はラベルLABELi,kを、
LABELi,k=H(ILi,k)として求める。
それから、先に図7を用いて説明したように、擬似乱数生成器Gを用いて必要なサブセットSi,jのラベルLABELi,jを求め、さらにそのサブセットのサブセットキーSKi,j
SKi,j=G(LABELi,j
により求め、このサブセットキーSKi,jを用いて暗号文を復号する。
具体的なサブセットキーの導出処理例について、図23を参照して説明する。図23に示すように、受信機u2,u11,u12がリボークされ、サブセットS2,17およびサブセットS3,13に対応するサブセットキーで暗号化された暗号文が同報配信されたとする。
受信機u4は、LABEL1,5,LABEL1,8,LABEL1,18,LABEL2,8,LABEL2,18,LABEL4,18,の6個のラベルと、IL1,φ,IL1,3,IL2,5,IL4,8を導出できる中間ラベルIL9,18を保持している。受信機u4は上記の(A)である。すなわち、受信機u4はサブセットS2,17に対し、ノード17の先祖であるノード8を用いたラベルLABEL2,8を直接保持しているため、これに擬似乱数生成器Gを必要な回数だけ適用することでサブセットキーSK2,17を得ることができる。
また、同じセッティングで、受信機u5は、LABEL1,4,LABEL1,11,LABEL1,21,LABEL2,11,LABEL2,21,LABEL5,21の6個のラベルと、IL1,φ,IL1,3,IL2,4,IL5,11を導出できる中間ラベルIL10,21を保持している。受信機u5は上記の(B)である。すなわち、受信機u5はサブセットS2,17に対し、ノード17の先祖であるノードkを用いたラベルLABEL2,kを直接保持していない。このため、保持している中間ラベルIL10,21から、ノード17の先祖であるノード4に対応した中間ラベルIL2,4を先に述べた手法でまず導出し、その後にラベルLABEL2,4を求め、これに擬似乱数生成器Gを必要な回数だけ適用することでサブセットキーSK2,17を得ることができる。
もし、リボークすべき受信機が1台もなく、サブセットとして第2の特別なサブセットSS'1,φが使用されていた場合、受信機umは、上記の処理により中間ラベルIL1,φを求め、これを用いてラベルLABEL1,φを、
ラベルLABEL1,φ=H(IL1,φ)として計算し、
それを擬似乱数生成器Gに入力して出力の中央部分のCビットを求める、すなわち、
SK1,φ=G(LABEL1,φ
によりサブセットS1,φに対応するサブセットキーSK1,φを求め、これを暗号文の復号に用いる。
受信機によって実行する暗号文受領からサブセットキーの取得、復号処理の手順を図24のフローチャートを参照して説明する。
ステップS401において、まず受信機は、複数の暗号文からなる暗号文セットの中で自身が復号するものを決定する。これは、自身が生成可能なサブセットキーによって暗号化された暗号文を抽出する処理である。ここで、受信機が復号すべき暗号を決定できないということは、その受信機がリボークされていることを意味している。この暗号文選択処理は、例えば暗号文とともに送付されるサブセット指定情報に基づいて実行される。
暗号文を決定したら、ステップS402において、受信機は、その暗号文の暗号化に用いられたサブセットキーを上記の手法で導出する。
サブセットキーの導出処理の詳細手順について、図25を参照して説明する。ステップS501において、受信機はまず、暗号文の復号処理に適用する求めるべきサブセットキーSKi,jに対応するサブセットSi,jのノードjが、
(A)受信機が直接ラベルLABELi,kを持つノードkの子孫である(ただしj=kの場合を含む)か、
(B)ノードiの子ノードのうち、受信機が割り当てられたリーフ(葉)nからルートへのパス上にないほうのノード(つまり、パス上にあるノードiの子ノードの兄弟であるノード)kと一致するかその子孫であるか(すなわち、ノードjが、SD方式において受信機umにラベルが与えられたサブセットのうち、第1の特別なサブセットSSi,kを構成するノードkの子孫であるか)
を判断する。なお、リボークする受信機がなく、第2の特別なサブセットSS'1,φのサブセットキーSK1,φが秘密情報の暗号化に用いられている場合には、(B)であるとみなす。
(A)の場合には、ステップS503に進み、受信機が持つラベルに基づいて擬似乱数生成器Gを必要な回数適用して必要なサブセットキーを求める。
(B)の場合には、ステップS504に進み、受信機に与えられている中間ラベルILP(n),S(n)に基づいて、前述した式(数式5)または式(数式6)を適用して必要な特別サブセット対応の中間ラベルを算出する。さらに、ステップS505において、算出した中間ラベルのハッシュ計算によって、そのサブセットに対応するラベルLABELを算出し、ステップS506において算出ラベルLABELに基づいて擬似乱数生成器Gを適用して必要なサブセットキーを求める。
図24のフローに戻る。上記処理によってサブセットキーを導出した受信機は、ステップS404において、ステップS402で、暗号文セットから選択した暗号文を導出したサブセットキーで復号し、送信された秘密情報を得る。秘密情報はたとえばテレビ放送システムの暗号化コンテンツを復号するためのコンテンツキーであり、この場合には受信機は暗号化コンテンツを受信し、コンテンツキーを用いて復号して出力する。
次に、図26、図27を参照してラベルの設定処理、暗号文の生成処理を実行する情報処理装置、および暗号文の復号処理を実行する受信機としての情報処理装置の機能構成について説明する。
まず、図26を参照してラベルの設定処理、暗号文の生成処理を実行する情報処理装置の構成について説明する。情報処理装置410は、中間ラベルおよびラベル生成手段411、提供ラベル決定手段412、暗号文生成手段413、暗号文提供手段414を有する。
情報処理装置410は、階層木構成に基づくブロードキャストエンクリプション方式を適用し、排除(リボーク)機器を除く特定の選択機器にのみ復号可能とした暗号文の提供処理に適用する階層木を生成する情報処理装置であり、中間ラベルおよびラベル生成手段411は、階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するラベル(LABEL)中、特別サブセットに対応するラベルの値を、中間ラベルに基づくハッシュ値として設定する。ハッシュ関数としては、MD4またはMD5またはSHA−1などが適用可能である。
中間ラベルおよびラベル生成手段411において選択する特別サブセットは、
階層木において、ノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセットと、
階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセットと、
の少なくともいずれかである。
中間ラベルおよびラベル生成手段411は、SD(Subset Difference)方式に基づいて設定するサブセット各々に対応するラベル(LABEL)中、特別サブセットに対応するラベルをハッシュ関数Hにより導出可能とした中間ラベルを一方向性置換木のノード対応値として生成する。
具体的には、先に図14のフローを参照して説明したアルゴリズムに従ってN個の値:x〜x2N−1を決定しこれを中間ラベルとする。すなわち、末端ノード数Nの2分木構成を持つ階層木において、まず、数x∈Z をランダムに選択し、iをカウンタとして、i=2〜2N−1まで、iを1つずつ増加させながら、前述した式(数式3)または式(数式4)に従ってノード対応値xを算出して、N個の値:x〜x2N−1を決定し、このノード対応値xを、上述の第1特別サブセットSSi,と、第2特別サブセットSS'1,φのラベルを算出可能な中間ラベルとする。
さらに、中間ラベルに基づくハッシュ算出により特別サブセットのラベルを算出し、その後、これらの特別サブセット対応のラベルに対して擬似乱数生成器Gを適用した演算により、順次各サブセット対応のラベルを算出する。これらの処理は、先に、図20を参照して説明した処理である。
提供ラベル決定手段412は、階層木の末端ノード対応の受信機に対する提供ラベルを決定する処理を実行する。提供ラベル決定手段412は、特別サブセットに対応しない特別サブセット非対応ラベルと、特別サブセットに対応するラベルを算出可能な中間ラベルとを受信機に対する提供ラベルとして決定する。
提供ラベル決定手段412の具体的処理は以下の通りである。まず、受信機umが割り当てられたリーフ(葉)からルートに至るパスm(path−m)上の内部ノードiを始点とし、このリーフ(葉)からiまでのパスから直接枝分かれしたノードjに対応するサブセットSi,jのラベルLABELi,jと、リボーク受信機がない場合に使用する全受信機を含む全体木に対応するサブセットSS1,φに対応するラベルLABEL1,φとを仮選択ラベルとし、この仮選択ラベルから特別サブセットに対応しない特別サブセット非対応ラベルを提供ラベルとし、さらに、特別サブセットに対応するラベルを算出可能な中間ラベルを選択して、これらを受信機umに対する最終提供ラベルとして決定する。
暗号文生成手段413は、中間ラベルおよびラベル生成手段411の生成したラベルから導出可能なサブセットキーを選択的に適用して暗号化処理を実行して暗号文を生成する。暗号文提供手段414は、このようにして生成された暗号文をネットワークまたは媒体に格納して提供する。
次に、図27を参照して暗号文の復号処理を実行する受信機としての情報処理装置の機能構成について説明する。
暗号文の復号処理を実行する受信機としての情報処理装置420は、暗号文選択手段421、ラベル算出手段422、サブセットキー生成手段423、復号手段424、ラベルメモリ425を有する。
暗号文の復号処理を実行する受信機としての情報処理装置420は、階層木構成に基づくブロードキャストエンクリプション方式であるSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーによって暗号化された暗号文の復号処理を実行する情報処理装置420であり、暗号文選択手段421は、処理対象の暗号文から、自己のラベルメモリ425に保持するラベル、または自己の保持する中間ラベルから算出可能なラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーを適用して生成した暗号文を選択する。
ラベル算出手段422は、暗号文の適用サブセットキーが、保持ラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーでない場合に、受信機に与えられている中間ラベルILP(n),S(n)に基づく演算処理を実行して、必要な特別サブセット対応の中間ラベルを算出する。
具体的には、受信機に与えられ、ラベルメモリ425に格納されている中間ラベルILP(n),S(n)に基づいて、前述した式(数式5)または式(数式6)を適用して必要な特別サブセット対応の中間ラベルを算出する。さらに、算出した中間ラベルのハッシュ計算によって、そのサブセットに対応するラベルLABELを算出する。
サブセットキー生成手段423は、ラベルメモリ425に格納されているラベル、あるいは、ラベル算出手段422において中間ラベルから算出されたラベルLABELに基づいて擬似乱数生成器Gを適用して必要なサブセットキーを求める。
復号手段424は、サブセットキー生成手段423において算出したサブセットキーに基づいて、暗号文の復号処理を実行する。
図28に、ラベルの設定処理、暗号文生成処理を実行する情報処理装置、および暗号文復号処理を実行する受信機としての情報処理装置500のハードウェア構成例を示す。図中で点線で囲われたブロックは必ずしも備わっているわけではない。たとえばメディアインタフェース507は、受信機500が光ディスクプレーヤ等である場合に装備する。入出力インタフェース503は、受信機500が他の機器と情報のやりとりをしたり、アンテナからの信号を受信したりする場合に装備される。重要なのは、セキュア記憶部504であり、セットアップフェイズにおいて、管理センタ(TC)から与えられたラベルが安全に保管される。
情報処理装置500は、図28に示すように、コントローラ501、演算ユニット502、入出力インタフェース503、セキュア記憶部504、メイン記憶部505、ディスプレイ装置506、メディアインタフェース507を備える。
コントローラ501は、例えばコンピュータ・プログラムに従ったデータ処理を実行する制御部としての機能を有するCPUによって構成される。演算ユニット502は、例えば暗号鍵の生成、乱数生成、及び暗号処理のための専用の演算部および暗号処理部として機能する。ラベルおよび中間ラベルの算出処理、ラベルに基づくサブセットキー算出処理を実行する。さらに、情報処理装置500が受信機としての情報処理装置である場合、サブセットキーに基づく暗号文の復号処理を実行する。
入出力インタフェース503は、キーボード、マウス等の入力手段からのデータ入力や、外部出力装置に対するデータ出力、ネットワークを介したデータ送受信処理に対応するインタフェースである。
情報処理装置500が受信機としての情報処理装置である場合、セキュア記憶部504に、例えばセットアップフェイズにおいて、管理センタ(TC)から与えられたラベル、中間ラベル、各種IDなど、安全にまたは秘密に保持すべきデータが保存される。
セキュア記憶部504には、サブセットから選択された特別サブセット対応のラベル(LABEL)を生成可能な中間ラベルと、特別サブセット非対応のラベル(LABEL)とが格納される。
情報処理装置500が受信機としての情報処理装置である場合、セキュア記憶部504に格納される中間ラベルに基づいて生成されるラベルは、特別サブセット対応のラベル(LABEL)であり、具体的には、
(a)階層木において、ノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセット、
(b)階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセット、
上記(a),(b)の特別サブセット対応のラベルである。
メイン記憶部505は、例えばコントローラ501において実行するデータ処理プログラム、その他、一時記憶処理パラメータ、プログラム実行のためのワーク領域等に使用されるメモリ領域である。セキュア記憶部504及びメイン記憶部505は、例えばRAM、ROM等によって構成されるメモリである。ディスプレイ装置506は復号コンテンツの出力等に利用される。メディアインタフェース507は、CD、DVD、MD等のメディアに対する読出/書込機能を提供する。
[6.Basic Layered Subset Difference(ベーシックLSD)方式の概要]
次に、Basic Layered Subset Difference(ベーシックLSD)方式の概要について説明する。
前述の背景技術の欄で説明した[非特許文献2: Advances in Cryptography−Crypto 2002, Lecture Notes in Computer Science 2442,Springer,2002,pp47−60「D.Halevy and A.Shamir著"The LSD Broadcast Encryption Scheme"」]には、SD方式を改良したLayered Subset Difference方式が提案されている。LSD方式には、Basic(基本)方式と、その拡張であるGeneral(一般化)方式がある。ここではBasic方式について説明する。
LSD方式はSD方式の拡張であり、レイヤという新たな概念を取り入れたものである。SD方式における木構造の中で、特定の高さを特別レベル(Special Level)として定義する。ベーシックLSD方式においては特別レベルは、1種類だけであるが、一般化LSD方式においては重要度の異なる複数の特別レベルを用いる。
いま、簡単のため、log1/2Nを整数であるとする。ベーシックLSD方式では、図29に示すように、木のルートからリーフ(葉)に至るまでのそれぞれのレベル(階)のうち、ルートとリーフ(葉)のレベルを含むlog1/2Nごとのレベルを特別レベルであると決める。そして、隣り合う2つの特別レベルに挟まれた階層(両端の特別レベルを含む)を、レイヤと呼ぶ。図29の例では、ルートのレベル、ノードkを含むレベル、リーフ(葉)のレベルが特別レベルであり、ルートのレベルとノードiを含むレベルとノードkを含むレベルが1つのレイヤを構成する。またノードkを含むレベルとノードjを含むレベルとリーフ(葉)を含むレベルが別のレイヤを構成する。
ベーシックLSD方式においては、SD方式において定義されたサブセットSi,jのうち、(1)ノードiとノードjが同一レイヤにあるか、もしくは(2)ノードiが特別レベルにあるか,少なくとも一方の条件を満たすものだけを定義する。このようにすると、SD方式において用いられたサブセットのうちのいくつかはベーシックLSD方式では定義されなくなってしまうが、このサブセットはベーシックLSD方式で定義されたサブセットの高々2つの和集合で表すことができる。たとえば図29の例では、サブセットSi,jは、ベーシックLSD方式では定義されないが、ノードiからノードjへのパス上の、ノードiに最も近い特別レベル上のノード(ノードk)を用いて、
i,j=Si,k∪Sk,j
と表すことができる。
つまり、SD方式においてはサブセットSi,kに対応するサブセットキーSKi,kを用いて暗号化した1つの暗号文の代わりに、ベーシックLSD方式においてはサブセットSi,kとSk,jに対応するサブセットキーSKi,kとSKk,jを用いて暗号化した2つの暗号文を送信する。
この工夫により、送信される暗号文の数はSD方式の高々2倍に増加するのみであり、一方、各受信機が保持するラベルの数は、上述したSD方式よりも減らすことができる。
先に図9を参照して、SD方式において各受信機が保持するラベルの数の説明を行なったが、同じセッティングの場合のベーシックLSD方式における各受信機が保持するラベルの数について、図30を参照して説明する。図30中の受信機u4は、i,jが同一レイヤにあるか、iが特別レベルにあるラベルLABELi,jのみ保持しておけばよい。すなわち、受信機u4が保持するラベルは、LABEL1,3,LABEL1,5,LABEL1,8,LABEL1,18,LABEL2,5,LABEL4,8,LABEL4,18,LABEL9,18となる。さらに、SD方式と同様に、リボークする受信機がない場合に用いる特別なラベルも保持する必要がある。
総受信機数をNとしたときに、各受信機が保持しておくラベルの総数は下記のように求められる。まず、レイヤ1つあたりのラベル数は、ノードiを決めるとラベル内でのiの高さ分だけノードjが存在するので、下式によって算出される数となる。
Figure 2005286959
となる。
階層木にレイヤは、log1/2N個あるから、階層木全体のレイヤでのラベル数は下式によって算出される数となる。
Figure 2005286959
である。
次にノードiが特別レベルであるものを考えると、階層木全体におけるiの高さ分だけノードjが存在するので、ノードiが特別レベルであるものを含む階層木全体のラベル数は下式によって算出される数となる。
Figure 2005286959
である。
いま、ノードiが特別レベルにあり、ノードjが同一レイヤにあるものは重複して数えたので、その分を引く必要がある。この組み合わせは、1つのレイヤにつきlog1/2N個あるので全体ではlogN個である。これらと、リボークする受信機がない場合のための特別な1つを加えると、ベーシックLSD方式において各受信機が保持するラベルの総数は、下式によって与えられる数となる。
Figure 2005286959
である。
[7.一方向性置換木を用いたベーシックLSD方式のラベル数削減構成]
次に、一方向性置換木を用いたベーシックLSD方式のラベル数削減構成について説明する。前述のSD方式を基にした本発明では、ノードiがノードjの親である場合のサブセットSi,jのラベルLABELi,jを求めるための中間ラベルILi,jを導出できる特定の中間ラベルを1つだけ持つようにすることで、各受信機が持つラベルの数を減らした。この手法は、ベーシックLSD方式についても同様に適用することができる。
具体的な構成方法は、前述の本発明の実施例とほぼ同じである。ただ、セットアップ時に、管理センタ(TC)が擬似乱数生成器Gを用いてラベルLABELi,jを次々と作成していく際に、ノードiが特別レベルにない場合、iの直下の特別レベルよりも下のノードをjとするラベルは利用されないので、その特別レベルまででラベルの生成を止めることができる。また、作られたラベルを各受信機に配布する際も、上述の条件を満たす
ラベルのみが作成されているので、それだけを受信機に配布すればよい。
図30を参照して説明したと同様のセッティングとして、一方向性置換木を用いたベーシックLSD方式のラベル数削減構成の具体例を図31を参照して説明する。ベーシックLSD方式において、受信機u4が保持するラベルは、図30を参照して説明したように、LABEL1,3,LABEL1,5,LABEL1,8,LABEL1,18,LABEL2,5,LABEL4,8,LABEL4,18,LABEL9,18と、さらに、SD方式と同様の、リボークする受信機がない場合に用いる特別なラベルの合計9個のラベルを保持しておく必要があった。これに対し、本発明のようにノードi,jが親子関係となるものと、リボークする受信機がない場合に使われる特別なサブセットに対応する中間ラベルILi,jおよびIL1,φを導出できる中間ラベルIL9,18を持つようにすると、4個のラベルLABEL1,5,LABEL1,8,LABEL1,18,LABEL4,18と、1つのと中間ラベルIL9,18の合計5個を保持すればよい。
総受信機数をNとした場合に本発明により削減できるラベルの個数を考える。本発明を適用しないベーシックLSD方式において、ノードi,jが親子関係になるようなラベルLABELi,jを各受信機がいくつ保持すべきかを考える。
ノードi,jが親子関係になっているときには、以下の3つの場合が考えられる。
(A)ノードiが特別レベルにある。
(B)ノードjが特別レベルにある。
(C)ノードiもjも特別レベルにない。
これらのいずれの場合も、ノードi,jが親子関係にある(つまり、隣り合っている)場合には、iとjは同一レイヤに存在する。すなわち、サブセットSi,jはベーシックLSD方式で定義されるための条件を満たしている。つまり、このようなサブセットはベーシックLSD方式で定義され使用されるため、受信機はそれに対応するLEBELi,jを保持しておく必要がある。
ある受信機に対してこのようなノードi,jは、iの取り方が木の高さ分(すなわち、受信機が割り当てられたリーフ(葉)からルートへのパス上の、リーフ(葉)を除くノードすべて)あり、iを決めればjがただ1つ決まる(iの子で、上記のパス上にないノード)ため、木の高さ分、すなわちlogN個だけ存在する。
本発明を用いて、これらのlogN個のラベルと1つの特別なラベルを、1つの中間ラベルから作り出すようにすることにより、受信機が保持するラベルの数を、
logN+1−1=logN
だけ削減することが可能となる。
上述のように、ベーシックLSD方式では受信機が保持するラベルの総数は、
log3/2N+1
であったため、本発明を適用することによりこれを、
log3/2N−logN+1
に削減することができる。
[8.General Layered Subset Difference(一般化LSD)方式の概要]
次に、General Layered Subset Difference(一般化LSD)方式の概要について説明する。
ベーシックLSD方式では、1種類の特別レベルを用いていたが、General Layered Subset Difference(一般化LSD)方式では、重要度の異なる複数の特別レベルを用いる。
LSD方式を提案した論文と同様に、階層木において、ルートからノードiを経てノードjに至るパスを1本のグラフとして考える。木のルートとノードjが端点となり、木のノードがグラフのノードとなり、端点以外のノードのひとつがノードiとなっている。このグラフでは、各ノードはルートからの距離で表される。この距離は、d桁のb進数(ただしb=(log1/dN))で表される。たとえば、ルートは0...00と表され、その隣のノード(階層木構造で、ルートの子ノードであるノード)は0...01と表される。
サブセットSi,jは、定義された変換(ノードからノードへの遷移)を組み合わせての、ノードiからノードjへの最終的な遷移であると考える。定義された変換は定義されたサブセットを表し、最終的な遷移に要する個々の遷移が、サブセットSi,jを分割して表すのに必要な定義されたサブセットを示す。もとの論文にあるように、ノードi,k,k,・・・,kd−1,jがこの順で木のパス上に存在するときには、SD方式におけるサブセットSi,jは一般化LSD方式においては、下式によって示される。
Figure 2005286959
すなわち、SD方式におけるサブセットSi,jは一般化LSD方式においては、高々d個のサブセットの和集合で表される。
一般化LSD方式では、ノードiが上記のグラフで[x](→)a[0](→)(ただしaは非ゼロの数字のうち一番右にある数字、[x](→)は任意の数字列、[0](→)はゼロの列である)と表されるとき、[x+1](→)0[0](→)、もしくは、[x](→)a'[y](→)(ただしa'>aであり、[y](→)は[0](→)と同じ長さの任意の数字列)のいずれかで表されるノードjへの遷移をすべて定義する。すなわち,そのようなi,jの組で表されるサブセットSi,jをすべて定義する.
このようにすると、ベーシックLSD方式は、一般化LSD方式においてd=2で、(一番右の)最終桁が0である2桁の数字で表されるレベルが特別レベルであるものと考えることができる。一般化LSD方式では、ノードiを表す数字における一番右のゼロの列の桁数が、そのレベルの重要度を表し、ノードjはi+1からiよりも重要度の高い最初のノードまでのいずれのノード(両端のノードを含む)にもなる可能性がある。このようなセッティングで、たとえばi=825917,j=864563とすると、iからjへの遷移、すなわちSD方式におけるサブセットSi,jは、
825917→825920→826000→830000→864563
という一般化LSD方式で定義された4つの遷移によって表すことができる。
すなわち、k=825920,k=826000,k=830000とおけば、サブセットSi,jは下式によって示される。すなわち、
Figure 2005286959
となる。
SD方式の上記のサブセットSi,jに属する受信機に秘密情報を伝送するためには、一般化LSD方式においては、下式によって示されるサブセット、
Figure 2005286959
に対応するサブセットキーで暗号化した4つの暗号文を送信する。
一般化LSD方式で各受信機が保持すべきラベル数は、パラメータdを大きくしていくことにより減少していき、最終的には、
O(log1+εN)
を得る。ただしε=1/dである。またこのとき、送信すべき暗号文数の上限は、
d(2r−1)
となる。詳細については上記の論文を参照されたい。
[9.一方向性置換木を用いた一般化LSD方式のラベル数削減構成]
次に、一方向性置換木を用いた一般化LSD方式のラベル数削減構成について説明する。前述の、ベーシックLSD方式に一方向性置換木を用いて受信機が保持すべきラベル数を削減する手法は、一般化LSD方式についても適用できる。具体的には、ベーシックLSD方式と一般化LSD方式は定義されるサブセットが満たすべき条件が違うのみであり、一方向性置換木を利用する部分に違いはない。
一般化LSD方式においても、受信機umは、SD方式において定義され受信機umに与えられるラベルのうち、ノードi,jが親子関係になっているサブセットSi,jに対応するラベルLABELi,jをすべて保持しておく必要がある。これは、ノードiとしてどんな値をとっても、その子ノードj(すなわちi+1)への遷移は、上述の定義される遷移の条件に当てはまるためである。すなわち、ベーシックLSD方式と同様に、ある受信機にとって、保持すべきラベルのうちノードi,jが親子関係になっているものはlogN個ある。これらのラベルと特別なラベルを1つの中間ラベルから作り出すようにすることにより、logN個のラベルの削減が可能となる。もともと一般化LSD方式で各受信機が保持しておくべきラベルの数は、
O(log1+εN)
(ただしεは任意の正数)であったため、ここからlogN個のラベルを削減できることになる。
もともと一般化LSD方式で各受信機が保持しておくべきラベルの数は、SD方式やベーシックLSD方式に比較すると少ない設定であり、この設定からさらにSD方式やベーシックLSD方式と同様の数のラベル数削減が可能となる意味で、削減の効果がさらに顕著となる。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の構成によれば、ブロードキャストエンクリプション(Broadcast Encryption)方式の一態様である階層型木構造を適用した情報配信構成において比較的に効率的な構成であるとされているSubset Difference(SD)方式、およびLayered Subset Difference(LSD)方式に対して、さらに1つの落とし戸つき一方向性置換に基づく一方向性置換木を適用することにより、各受信機(情報処理装置)が安全に保持すべき情報量を削減することが可能となる。
さらに、本発明の構成においては、SD方式やLSD方式に基づいて設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルの値を演算処理により算出可能な値として設定した中間ラベル(IL)を生成し、この中間ラベルについて、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な値を持つ構成とした。受信機には、特別サブセット非対応のラベルに加えて、特別サブセット対応のラベルを導出可能な1つの中間ラベルのみを提供する構成としたので、従来のSD方式やLSD方式において受信機に提供されるラベルの数を、削減することが可能となる。削減したラベルについては、受信機側で保持する中間ラベルに対する落とし戸つき一方向性置換Fの実行により他の中間ラベルを算出可能であり、従来のSD方式やLSD方式に基づいて設定可能なサブセットの全てに対応する処理が可能である。このように本発明の構成を適用することにより、各受信機が安全に保持すべき情報量(ラベル)の削減が実現する。
2分木階層型木構造について説明する図である。 2分木階層型木構造において、選択した情報処理装置のみが取得可能な情報を送信する方法を説明する図である。 Complete Subtree(CS)方式において適用するノードが2つに分岐する階層型木構造を説明する図である。 Complete Subtree(CS)方式においてリーフ対応の受信機の持つノードキーについて説明する図である。 CS方式において秘密情報をリボークされない受信機のみに選択的に提供するかについて説明する図である。 Subset Difference(SD)方式におけるサブセットの定義について説明する図である。 Subset Difference(SD)方式におけるラベルの設定および構成について説明する図である。 Subset Difference(SD)方式におけるサブセットの設定について説明する図である。 SD方式において、全受信機数N=16の設定の場合に各受信機が保持すべきラベルを示す図である。 SD方式において、各受信機が保持すべきラベルの詳細について説明する図である。 SD方式において、各受信機が保持すべきラベルの詳細について説明する図である。 SD方式において、特定の受信機u4が属するサブセットの詳細について説明する図である。 一方向性置換木の構成について説明する図である。 一方向性置換木のノードに対応する2N−1個のノード対応値を設定するアルゴリズムを説明するフロー図である。 ルートを1とし、以下、下層ノードについて順次、幅優先(breadth first order)で、識別子(番号)を付与したノード番号設定例について説明する図である。 ノードが親子関係になっている第1の特別なサブセットSSP(y),S(y)の構成例について説明する図である。 特別なサブセット対応のラベルと、図14を参照して説明したアルゴリズムによって算出した2N−1個の中間ラベルとして利用される値x,x,...,x2N−1との対応を示す図である。 図16に対応するサブセットにおける中間ラベル、ラベルの対応について説明する図である。 受信機に提供するラベルの決定処理について説明する図である。 セットアップ処理のフローを示す図である。 総受信機数N=16に設定した階層木構成において、受信機u5,u11,u12をリボークする際に用いるサブセットを示す図である。 情報配信処理の処理手順について説明するフローを示す図である。 具体的なサブセットキーの導出処理例について説明する図である。 受信機によって実行する暗号文受領からサブセットキーの取得、復号処理の手順を説明するフローチャートを示す図である。 一方向性置換木を適用したSD方式において、受信機におけるサブセットキー導出処理の詳細手順について説明するフロー図である。 ラベルの決定処理、暗号文の生成処理を実行する情報処理装置の構成について説明する図である。 暗号文の復号処理を実行する受信機としての情報処理装置の機能構成について説明する図である。 情報処理装置のハードウェア構成例としてのブロック図を示す図である。 ベーシックLSD方式について説明する図である。 ベーシックLSD方式における各受信機が保持するラベルの数について説明する図である。 一方向性置換木を用いたベーシックLSD方式のラベル数削減構成について説明する図である。
符号の説明
101 情報処理装置
201 ノード
231,232 ノード
251 リーフ
301 ノード
302 親ノードP(i)
303 兄弟ノードS(i)
310 サブセットSSP(y),S(y)
410 情報処理装置
411 中間ラベルおよびラベル生成手段
412 提供ラベル決定手段
413 暗号文生成手段
414 暗号文提供手段
420 情報処理装置
421 暗号文選択手段
422 ラベル算出手段
423 復号手段
424 ラベルメモリ
500 情報処理装置
501 コントローラ
502 演算ユニット
503 入出力インタフェース
504 セキュア記憶部
505 メイン記憶部
506 ディスプレイ装置
507 メディアインタフェース

Claims (43)

  1. 階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の提供処理に適用する階層木を生成する情報処理方法であり、
    階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルの値を演算処理により算出可能な値として設定した中間ラベル(IL)であり、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な値を持つ中間ラベルを生成する中間ラベル生成ステップと、
    前記中間ラベルに基づく演算処理により、前記特別サブセット対応のラベルを生成し、さらに該生成ラベルに基づく演算により特別サブセット非対応のラベルを生成するラベル生成ステップと、
    前記階層木の末端ノード対応の受信機に対する提供ラベルを決定するステップであり、
    前記特別サブセットに対応しない特別サブセット非対応ラベルと、
    演算処理によって前記特別サブセットに対応するラベルを算出可能とした中間ラベルと、
    を受信機に対する提供ラベルとして決定する提供ラベル決定ステップと、
    を有することを特徴とする情報処理方法。
  2. 前記情報処理方法は、さらに、
    前記ラベル生成ステップにおいて生成したサブセット対応の各ラベルから導出されるサブセットキーを選択的に適用して暗号化処理を実行して暗号文を生成し、前記受信機に提供する暗号文生成ステップを有することを特徴とする請求項1に記載の情報処理方法。
  3. 前記ラベル生成ステップは、
    中間ラベルに対するハッシュ算出処理により、特別サブセットに対応するラベルの値を算出するステップを含むことを特徴とする請求項1に記載の情報処理方法。
  4. 前記ラベル生成ステップは、
    特別サブセットに対応するラベルの値に対する擬似乱数生成処理により、他のラベルを生成するステップを含むことを特徴とする請求項1に記載の情報処理方法。
  5. 前記中間ラベル生成ステップは、
    ノード数2N−1の階層木において、値x∈Z をランダムに選択し、iをカウンタとして、i=2〜2N−1までiを1つずつ増加させながら、落とし戸つき一方向性置換Fの逆置換F−1を適用した演算式である下記式、
    Figure 2005286959
    または、下記式、
    Figure 2005286959
    ただし、M、dは、暗号パラメータとしての法Mおよび秘密指数d、
    上記式のいずれかを適用して、ノード数2N−1の階層木におけるノード対応値x〜x2N−1を算出し、これを、特別サブセット対応ラベルを算出可能な中間ラベル(IL)の値として設定するステップであることを特徴とする請求項1に記載の情報処理方法。
  6. 前記中間ラベル生成ステップにおいて選択する特別サブセットは、
    階層木において、ノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセットと、
    階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセットと、
    の少なくともいずれかであることを特徴とする請求項1に記載の情報処理方法。
  7. 前記提供ラベル決定ステップは、
    前記階層木の末端ノード対応の受信機に提供する1つの中間ラベルを前記第1特別サブセットを構成するサブセットSi,j中、最下層のサブセットに対応する中間ラベルとするステップであることを特徴とする請求項1に記載の情報処理方法。
  8. 前記中間ラベル生成ステップは、
    階層木中に設定した1つの特別レベルによって分離したレイヤ別のサブセット管理構成を持つベーシックLSD(Basic Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定するステップであることを特徴とする請求項1乃至7いずれかに記載の情報処理方法。
  9. 前記中間ラベル生成ステップは、
    階層木中に設定した複数の特別レベルによって分離したレイヤ別のサブセット管理構成を持つ一般化LSD(General Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定するステップであることを特徴とする請求項1乃至7いずれかに記載の情報処理方法。
  10. 階層木構成に基づくブロードキャストエンクリプション方式であるSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーによって暗号化された暗号文の復号処理を実行する復号処理方法であり、
    前記暗号文から、自己の保持するラベル、または自己の保持する中間ラベルから算出可能なラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーを適用して生成した暗号文を選択する暗号文選択ステップと、
    暗号文の適用サブセットキーが、保持ラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーでない場合に、保持中間ラベルに対する演算処理を実行して特別サブセット対応のラベルを算出するラベル算出ステップと、
    保持ラベルまたは算出ラベルに基づく擬似乱数生成処理によってサブセットキーを生成するステップと、
    生成サブセットキーを適用して暗号文の復号処理を実行する復号ステップと、
    を有することを特徴とする復号処理方法。
  11. 前記ラベル算出ステップは、
    保持中間ラベルに対する落とし戸つき一方向性置換Fの実行より他の中間ラベルを算出するステップを含むことを特徴とする請求項10に記載の復号処理方法。
  12. 前記ラベル算出ステップは、
    保持中間ラベル、または、保持中間ラベルに対する落とし戸つき一方向性置換Fの実行より算出した他の中間ラベルに対するハッシュ演算によるラベル算出を実行するステップを含むことを特徴とする請求項10に記載の復号処理方法。
  13. 前記ラベル算出ステップは、
    暗号文の適用サブセットキーが、
    階層木においてノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセット、または、階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセット、
    のいずれかの特別サブセット対応のラベルに基づく擬似乱数生成処理により算出可能なサブセットキーであり、前記特別サブセット対応のラベルを保持していない場合に、保持している中間ラベルに対する演算処理により前記特別サブセット対応のラベルを算出するステップであることを特徴とする請求項10に記載の復号処理方法。
  14. 前記ラベル算出ステップは、
    前記階層木において、復号処理を実行する受信機の設定ノードからルートに至るパス上のノードを包含する特別サブセットに対応するラベルの算出を保持中間ラベルに対する演算処理により算出するステップであることを特徴とする請求項10に記載の復号処理方法。
  15. 階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の生成処理を実行する情報処理方法であり、
    階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーを選択的に適用して暗号化処理を実行して暗号文を生成する暗号文生成ステップを有し、
    暗号文生成ステップにおいて適用するサブセットキーは、
    サブセット各々に対応するラベル(LABEL)から算出可能なサブセットキーであり、選択された一部の特別サブセットに対応するラベルの値が、中間ラベル(IL)に基づく演算処理により算出可能であり、前記中間ラベルは、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な設定であることを特徴とする情報処理方法。
  16. 前記情報処理方法は、さらに、
    サブセットキーを生成するサブセットキー生成ステップを有し、
    前記サブセットキー生成ステップは、
    サブセット各々に対応するラベル(LABEL)に基づく擬似乱数生成処理によりサブセットキーを生成する処理であることを特徴とする請求項15に記載の情報処理方法。
  17. 前記情報処理方法は、さらに、
    サブセットキーを生成するサブセットキー生成ステップを有し、
    前記サブセットキー生成ステップは、
    値x∈Z と、暗号パラメータとしての法Mおよび秘密指数dとを適用した落とし戸つき一方向性置換Fの逆置換F−1を適用した演算式に基づいて、前記特別サブセットに対応する中間ラベルを生成する中間ラベル生成ステップと、
    前記中間ラベルに基づく演算処理により、前記特別サブセット対応のラベルを生成し、さらに該生成ラベルに基づく演算により特別サブセット非対応のラベルを生成するラベル生成ステップと、
    前記ラベルに基づく演算処理によりサブセットキーを算出するステップと、
    を含むことを特徴とする請求項15に記載の情報処理方法。
  18. 前記中間ラベル生成ステップにおいて選択する特別サブセットは、
    階層木において、ノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセットと、
    階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセットと、
    の少なくともいずれかであることを特徴とする請求項17に記載の情報処理方法。
  19. 前記中間ラベル生成ステップは、
    階層木中に設定した1つの特別レベルによって分離したレイヤ別のサブセット管理構成を持つベーシックLSD(Basic Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定するステップであることを特徴とする請求項18に記載の情報処理方法。
  20. 前記中間ラベル生成ステップは、
    階層木中に設定した複数の特別レベルによって分離したレイヤ別のサブセット管理構成を持つ一般化LSD(General Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定するステップであることを特徴とする請求項18に記載の情報処理方法。
  21. 階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の提供処理に適用する階層木を生成する情報処理装置であり、
    階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルの値を演算処理により算出可能な値として設定した中間ラベル(IL)であり、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な値を持つ中間ラベルを生成する中間ラベル生成手段と、
    前記中間ラベルに基づく演算処理により、前記特別サブセット対応のラベルを生成し、さらに該生成ラベルに基づく演算により特別サブセット非対応のラベルを生成するラベル生成手段と、
    前記階層木の末端ノード対応の受信機に対する提供ラベルを決定する提供ラベル決定手段であり、
    前記特別サブセットに対応しない特別サブセット非対応ラベルと、
    演算処理によって前記特別サブセットに対応するラベルを算出可能とした中間ラベルと、
    を受信機に対する提供ラベルとして決定する提供ラベル決定手段と、
    を有することを特徴とする情報処理装置。
  22. 前記情報処理装置は、さらに、
    前記ラベル生成手段において生成したサブセット対応の各ラベルから導出されるサブセットキーを選択的に適用して暗号化処理を実行して暗号文を生成し、前記受信機に提供する暗号文生成手段を有することを特徴とする請求項21に記載の情報処理装置。
  23. 前記ラベル生成手段は、
    中間ラベルに対するハッシュ算出処理により、特別サブセットに対応するラベルの値を算出する構成であることを特徴とする請求項21に記載の情報処理装置。
  24. 前記ラベル生成手段は、
    特別サブセットに対応するラベルの値に対する擬似乱数生成処理により、他のラベルを生成する構成であることを特徴とする請求項21に記載の情報処理装置。
  25. 前記中間ラベル生成手段は、
    ノード数2N−1の階層木において、値x∈Z をランダムに選択し、iをカウンタとして、i=2〜2N−1までiを1つずつ増加させながら、落とし戸つき一方向性置換Fの逆置換F−1を適用した演算式である下記式、
    Figure 2005286959
    または、下記式、
    Figure 2005286959
    ただし、M、dは、暗号パラメータとしての法Mおよび秘密指数d、
    上記式のいずれかを適用して、ノード数2N−1の階層木におけるノード対応値x〜x2N−1を算出し、これを、特別サブセット対応ラベルを算出可能な中間ラベル(IL)の値として設定する構成であることを特徴とする請求項21に記載の情報処理装置。
  26. 前記中間ラベル生成手段において選択する特別サブセットは、
    階層木において、ノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセットと、
    階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセットと、
    の少なくともいずれかであることを特徴とする請求項15に記載の情報処理装置。
  27. 前記提供ラベル決定手段は、
    前記階層木の末端ノード対応の受信機に提供する1つの中間ラベルを前記第1特別サブセットを構成するサブセットSi,j中、最下層のサブセットに対応する中間ラベルとすることを特徴とする請求項21に記載の情報処理装置。
  28. 前記中間ラベル生成手段は、
    階層木中に設定した1つの特別レベルによって分離したレイヤ別のサブセット管理構成を持つベーシックLSD(Basic Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定する手段であることを特徴とする請求項21乃至27いずれかに記載の情報処理装置。
  29. 前記中間ラベル生成手段は、
    階層木中に設定した複数の特別レベルによって分離したレイヤ別のサブセット管理構成を持つ一般化LSD(General Layered Subset Difference)方式に従って設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルを、該特別サブセット対応の中間ラベル(IL)から算出可能な値として設定する手段であることを特徴とする請求項21乃至27いずれかに記載の情報処理装置。
  30. 階層木構成に基づくブロードキャストエンクリプション方式であるSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーによって暗号化された暗号文の復号処理を実行する情報処理装置であり、
    前記暗号文から、自己の保持するラベル、または自己の保持する中間ラベルから算出可能なラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーを適用して生成した暗号文を選択する暗号文選択手段と、
    暗号文の適用サブセットキーが、保持ラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーでない場合に、保持中間ラベルに対する演算処理を実行して特別サブセット対応のラベルを算出するラベル算出手段と、
    保持ラベルまたは算出ラベルに基づく擬似乱数生成処理によってサブセットキーを生成するサブセットキー生成手段と、
    生成サブセットキーを適用して暗号文の復号処理を実行する復号手段と、
    を有することを特徴とする情報処理装置。
  31. 前記ラベル算出手段は、
    保持中間ラベルに対する落とし戸つき一方向性置換Fの実行より他の中間ラベルを算出する構成であることを特徴とする請求項30に記載の情報処理装置。
  32. 前記ラベル算出手段は、
    保持中間ラベル、または、保持中間ラベルに対する落とし戸つき一方向性置換Fの実行より算出した他の中間ラベルに対するハッシュ演算によるラベル算出を実行する構成であることを特徴とする請求項30に記載の情報処理装置。
  33. 前記ラベル算出手段は、
    暗号文の適用サブセットキーが、
    階層木においてノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセット、または、階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセット、
    のいずれかの特別サブセット対応のラベルに基づく擬似乱数生成処理により算出可能なサブセットキーであり、前記特別サブセット対応のラベルを保持していない場合に、保持している中間ラベルに対する演算処理により前記特別サブセット対応のラベルを算出する構成であることを特徴とする請求項30に記載の情報処理装置。
  34. 前記ラベル算出手段は、
    前記階層木において、復号処理を実行する受信機の設定ノードからルートに至るパス上のノードを包含する特別サブセットに対応するラベルの算出を保持中間ラベルに対する演算処理により算出する構成であることを特徴とする請求項30に記載の情報処理装置。
  35. 階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の生成処理を実行する情報処理装置であり、
    階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーを選択的に適用して暗号化処理を実行して暗号文を生成する暗号文生成手段を有し、
    暗号文生成手段において適用するサブセットキーは、
    サブセット各々に対応するラベル(LABEL)から算出可能なサブセットキーであり、選択された一部の特別サブセットに対応するラベルの値が、中間ラベル(IL)に基づく演算処理により算出可能であり、前記中間ラベルは、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な設定であることを特徴とする情報処理装置。
  36. 前記情報処理装置は、さらに、
    サブセットキーを生成するサブセットキー生成手段を有し、
    前記サブセットキー生成手段は、
    サブセット各々に対応するラベル(LABEL)に基づく擬似乱数生成処理によりサブセットキーを生成する構成であることを特徴とする請求項35に記載の情報処理装置。
  37. 前記情報処理装置は、さらに、
    サブセットキーを生成するサブセットキー生成手段を有し、
    前記サブセットキー生成手段は、
    値x∈Z と、暗号パラメータとしての法Mおよび秘密指数dとを適用した落とし戸つき一方向性置換Fの逆置換F−1を適用した演算式に基づいて、前記特別サブセットに対応する中間ラベルを生成し、前記中間ラベルに基づく演算処理により、前記特別サブセット対応のラベルを生成し、さらに該生成ラベルに基づく演算により特別サブセット非対応のラベルを生成し、生成ラベルに基づく演算処理によりサブセットキーを算出する構成であることを特徴とする請求項35に記載の情報処理装置。
  38. 前記特別サブセットは、
    階層木において、ノードiを頂点とする部分木からノードiより下層のノードjを頂点とする部分木を除く集合として定義されたサブセットSi,j中、ノードiおよびノードjが階層木において直結された親子関係にある第1特別サブセットと、
    階層木のすべてのリーフを含むルートを頂点とする全体木の集合として定義されたサブセットS1,φである第2特別サブセットと、
    の少なくともいずれかであることを特徴とする請求項35に記載の情報処理装置。
  39. 前記サブセットは、階層木中に設定した1つの特別レベルによって分離したレイヤ別のサブセット管理構成を持つベーシックLSD(Basic Layered Subset Difference)方式に従って設定するサブセットであることを特徴とする請求項35に記載の情報処理装置。
  40. 前記サブセットは、階層木中に設定した複数の特別レベルによって分離したレイヤ別のサブセット管理構成を持つ一般化LSD(General Layered Subset Difference)方式に従って設定するサブセットであることを特徴とする請求項35に記載の情報処理装置。
  41. 階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の提供処理に適用する階層木を生成するコンピュータ・プログラムであり、
    階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するラベル(LABEL)中、選択された一部の特別サブセットに対応するラベルの値を演算処理により算出可能な値として設定した中間ラベル(IL)であり、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な値を持つ中間ラベルを生成する中間ラベル生成ステップと、
    前記中間ラベルに基づく演算処理により、前記特別サブセット対応のラベルを生成し、さらに該生成ラベルに基づく演算により特別サブセット非対応のラベルを生成するラベル生成ステップと、
    前記階層木の末端ノード対応の受信機に対する提供ラベルを決定するステップであり、
    前記特別サブセットに対応しない特別サブセット非対応ラベルと、
    演算処理によって前記特別サブセットに対応するラベルを算出可能とした中間ラベルと、
    を受信機に対する提供ラベルとして決定する提供ラベル決定ステップと、
    を有することを特徴とするコンピュータ・プログラム。
  42. 階層木構成に基づくブロードキャストエンクリプション方式であるSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーによって暗号化された暗号文の復号処理を実行するコンピュータ・プログラムであり、
    前記暗号文から、自己の保持するラベル、または自己の保持する中間ラベルから算出可能なラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーを適用して生成した暗号文を選択する暗号文選択ステップと、
    暗号文の適用サブセットキーが、保持ラベルに基づく擬似乱数生成処理によって導出可能なサブセットキーでない場合に、保持中間ラベルに対する演算処理を実行して特別サブセット対応のラベルを算出するラベル算出ステップと、
    保持ラベルまたは算出ラベルに基づく擬似乱数生成処理によってサブセットキーを生成するステップと、
    生成サブセットキーを適用して暗号文の復号処理を実行する復号ステップと、
    を有することを特徴とするコンピュータ・プログラム。
  43. 階層木構成に基づくブロードキャストエンクリプション方式により特定選択機器のみの復号を可能とした暗号文の生成処理を実行するコンピュータ・プログラムであり、
    階層木を適用したSD(Subset Difference)方式に基づいて設定するサブセット各々に対応するサブセットキーを選択的に適用して暗号化処理を実行して暗号文を生成する暗号文生成ステップを有し、
    暗号文生成ステップにおいて適用するサブセットキーは、
    サブセット各々に対応するラベル(LABEL)から算出可能なサブセットキーであり、選択された一部の特別サブセットに対応するラベルの値が、中間ラベル(IL)に基づく演算処理により算出可能であり、前記中間ラベルは、少なくとも1つの中間ラベルの値に基づく落とし戸つき一方向性置換Fの適用により他の中間ラベルの値を算出可能な設定であることを特徴とするコンピュータ・プログラム。
JP2004102039A 2004-03-31 2004-03-31 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム Abandoned JP2005286959A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2004102039A JP2005286959A (ja) 2004-03-31 2004-03-31 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
CNA2005800003329A CN1774886A (zh) 2004-03-31 2005-02-22 信息处理方法,解密处理方法,信息处理设备和计算机程序
EP05710513A EP1732260A1 (en) 2004-03-31 2005-02-22 Information processing method, decryption method, information processing device, and computer program
KR1020057022453A KR20060129934A (ko) 2004-03-31 2005-02-22 정보 처리 방법, 복호 처리 방법 및 정보 처리 장치와컴퓨터 프로그램
US10/557,707 US20070133806A1 (en) 2004-03-31 2005-02-22 Information processing method, decryption method, information processing device, and computer program
PCT/JP2005/002787 WO2005099167A1 (ja) 2004-03-31 2005-02-22 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
TW094107403A TW200610344A (en) 2004-03-31 2005-03-11 Information processing method, decryption method, information processing device, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004102039A JP2005286959A (ja) 2004-03-31 2004-03-31 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2005286959A true JP2005286959A (ja) 2005-10-13
JP2005286959A5 JP2005286959A5 (ja) 2006-12-14

Family

ID=35125436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004102039A Abandoned JP2005286959A (ja) 2004-03-31 2004-03-31 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム

Country Status (7)

Country Link
US (1) US20070133806A1 (ja)
EP (1) EP1732260A1 (ja)
JP (1) JP2005286959A (ja)
KR (1) KR20060129934A (ja)
CN (1) CN1774886A (ja)
TW (1) TW200610344A (ja)
WO (1) WO2005099167A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006253822A (ja) * 2005-03-08 2006-09-21 Toshiba Corp 復号装置、復号方法、及びプログラム
JP2008535440A (ja) * 2005-04-06 2008-08-28 サムスン エレクトロニクス カンパニー リミテッド 廃棄キーを決定する方法及び装置と、それを利用して復号化する方法及び装置
JP2009044516A (ja) * 2007-08-09 2009-02-26 Kddi Corp ブロードキャスト暗号の生成方法およびプログラム
JP2018509855A (ja) * 2015-03-27 2018-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メディア鍵ブロック・ベースのブロードキャスト暗号化方法
JP2018510575A (ja) * 2015-03-27 2018-04-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ブロードキャスト暗号化方式のランタイム・インスタンス化のための方法およびコンピュータ・プログラム
CN112052875A (zh) * 2020-07-30 2020-12-08 华控清交信息科技(北京)有限公司 一种训练树模型的方法、装置和用于训练树模型的装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005033285C5 (de) 2005-07-15 2019-11-07 Institut für Rundfunktechnik GmbH Consumer-Electronic-Gerät
DE102005033836B4 (de) * 2005-07-20 2009-11-19 Institut für Rundfunktechnik GmbH Verfahren zum Weiterleiten von Nutzungsberechtigungsinformationen
US8042151B2 (en) * 2005-12-20 2011-10-18 Microsoft Corporation Application context based access control
US7693948B2 (en) * 2006-05-15 2010-04-06 Sap Ag Email traffic integration into a knowledge management system
US9729316B2 (en) * 2008-02-27 2017-08-08 International Business Machines Corporation Unified broadcast encryption system
JP5197424B2 (ja) * 2009-02-19 2013-05-15 三菱電機株式会社 通信装置及び通信方法及び通信プログラム
US8386800B2 (en) * 2009-12-04 2013-02-26 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
US11057364B2 (en) * 2015-06-15 2021-07-06 Airwatch Llc Single sign-on for managed mobile devices
US10171447B2 (en) 2015-06-15 2019-01-01 Airwatch Llc Single sign-on for unmanaged mobile devices
US10944738B2 (en) 2015-06-15 2021-03-09 Airwatch, Llc. Single sign-on for managed mobile devices using kerberos
US10812464B2 (en) 2015-06-15 2020-10-20 Airwatch Llc Single sign-on for managed mobile devices
US11010664B2 (en) * 2016-02-05 2021-05-18 Deepmind Technologies Limited Augmenting neural networks with hierarchical external memory
WO2017151602A1 (en) * 2016-02-29 2017-09-08 Craxel, Inc. Efficient encrypted data management system and method
CN108063756B (zh) * 2017-11-21 2020-07-03 阿里巴巴集团控股有限公司 一种密钥管理方法、装置及设备
WO2020005853A1 (en) * 2018-06-25 2020-01-02 Virtual Software Systems, Inc. Systems and methods for securing communications
TWI809545B (zh) * 2021-10-29 2023-07-21 律芯科技股份有限公司 混合式樹狀加解密系統
DE102021006430B4 (de) 2021-12-31 2023-12-07 Kcrypt Lab UG (haftungsbeschränkt) Verfahren zur Erzeugung verteilter One-Way-Trapdoor-Permutationen durch additives Teilen ohne einen vertrauenswürdigen Händler

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011847A (en) * 1995-06-01 2000-01-04 Follendore, Iii; Roy D. Cryptographic access and labeling system
US7039803B2 (en) * 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
US7043024B1 (en) * 2001-04-18 2006-05-09 Mcafee, Inc. System and method for key distribution in a hierarchical tree

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006253822A (ja) * 2005-03-08 2006-09-21 Toshiba Corp 復号装置、復号方法、及びプログラム
JP4599194B2 (ja) * 2005-03-08 2010-12-15 株式会社東芝 復号装置、復号方法、及びプログラム
JP2008535440A (ja) * 2005-04-06 2008-08-28 サムスン エレクトロニクス カンパニー リミテッド 廃棄キーを決定する方法及び装置と、それを利用して復号化する方法及び装置
JP2009044516A (ja) * 2007-08-09 2009-02-26 Kddi Corp ブロードキャスト暗号の生成方法およびプログラム
JP2018509855A (ja) * 2015-03-27 2018-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メディア鍵ブロック・ベースのブロードキャスト暗号化方法
JP2018510575A (ja) * 2015-03-27 2018-04-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ブロードキャスト暗号化方式のランタイム・インスタンス化のための方法およびコンピュータ・プログラム
CN112052875A (zh) * 2020-07-30 2020-12-08 华控清交信息科技(北京)有限公司 一种训练树模型的方法、装置和用于训练树模型的装置

Also Published As

Publication number Publication date
KR20060129934A (ko) 2006-12-18
US20070133806A1 (en) 2007-06-14
WO2005099167A1 (ja) 2005-10-20
CN1774886A (zh) 2006-05-17
TW200610344A (en) 2006-03-16
EP1732260A1 (en) 2006-12-13

Similar Documents

Publication Publication Date Title
JP2005286959A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
US7340054B2 (en) Information processing method, decrypting method, information processing apparatus, and computer program
US20050210014A1 (en) Information-processing method, decryption method, information-processing apparatus and computer program
JP2001358707A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP4162237B2 (ja) 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム
KR20090090308A (ko) 정보처리장치
KR101485460B1 (ko) 브로드캐스트 암호화에서 디바이스 키를 추적하는 방법
WO2008059672A1 (fr) Dispositif de traitement d'informations
JP2006115464A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2008131076A (ja) 情報処理装置、端末装置、情報処理方法、鍵生成方法、及びプログラム
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008131072A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法
JP2004120008A (ja) 鍵管理システム
JP4161859B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
Billet et al. Traitors collaborating in public: Pirates 2.0
JP4635459B2 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2001358705A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP2007189597A (ja) 暗号化装置および暗号化方法、並びに復号化装置および復号化方法
JP2005191805A (ja) 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2004229128A (ja) 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム
JP2008092514A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2007020025A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4576824B2 (ja) 情報処理装置および情報処理方法
JP2005252916A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2008131079A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061030

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061030

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20080825