JP2004229128A - 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム - Google Patents

暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2004229128A
JP2004229128A JP2003016677A JP2003016677A JP2004229128A JP 2004229128 A JP2004229128 A JP 2004229128A JP 2003016677 A JP2003016677 A JP 2003016677A JP 2003016677 A JP2003016677 A JP 2003016677A JP 2004229128 A JP2004229128 A JP 2004229128A
Authority
JP
Japan
Prior art keywords
key
encrypted data
node
secret
subset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003016677A
Other languages
English (en)
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 JP2003016677A priority Critical patent/JP2004229128A/ja
Publication of JP2004229128A publication Critical patent/JP2004229128A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】通信路またはメディア(媒体)を介したブロードキャストデータ配信構成において限定ユーザ機器のみデータ利用可能とするデータ配信を任意のデータ提供エンティテイが実行可能とする構成を実現する。
【解決手段】通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信する構成において、階層型キーツリー構成におけるノード番号iの各ノード(i)に対して公開鍵暗号方式における秘密鍵としての秘密ノードキーPriNKを設定し、該秘密ノードキーPriNKを認証された情報処理装置においてのみ取得可能とするとともに、秘密ノードキーPriNKに対応する公開鍵としての公開ノードキーPubNKを適用して配信データの暗号化を実行して暗号化データCTを生成し、生成した暗号化データをブロードキャストする構成とした。
【選択図】 図8

Description

【0001】
【発明の属する技術分野】
本発明は、暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、データ配信者が特定の信頼できるデータ配信者のみでなく、不特定の配信者となった場合においても、認証された特定のユーザ機器としての情報処理装置においてのみ利用可能な暗号データの通信路またはメディア(媒体)を介したブロードキャスト配信を可能とした暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
デジタルデータ処理技術の進歩により、データの品質を損なうことなく、データを用いることができるようになっている。例えばデジタルピクチャ、デジタルミュージック等の多くの種類のコンテンツがデジタルデータとして利用できるようになり、またこれらのデジタルデータに対して、例えば作成、保存、コピー、編集、交換等の様々な処理を行うことができるようになっている。同時に、コンテンツの権利の所有者にとっては、不正なコピーやその他の使用からデータを保護することが益々困難になっている。
【0003】
データ送信者は、コンテンツ送信に際し、不正な受信機によるコンテンツ取得を防止するため、特定の決められた受信機のみがデータを取得可能とする構成を構築してデータ配信を実行することが必要となる。例えば不特定の受信機(レシーバ)が受信可能なデータ配信、すなわち、同報通信路を用いたデータ配信において、データ送信者が任意に選択した特定の受信機グループにデータを安全に送信する手法として、リボケーション方式(revocation scheme)、放送暗号化(ブロードキャスト・エンクリプション)方式が知られている。
【0004】
データ送信者は、放送チャンネルを介して暗号化された情報又はコンテンツを送信する。この情報を復号するための認証を得て、所定の鍵を所有する受信機のみが、受信データの復号が可能となる。情報を復号するための認証を得ていない受信機は、リボーク受信機(revoked receiver)と呼ばれる。リボーク受信機は、暗号化されて放送された情報を復号するための復号キーを有していない。すなわち、データ送信者からの同報通信路を用いた送信データは、不特定の受信機により受信可能となるが、受信情報を復号することができる有効な受信機は、認証を得て、所定の鍵を所有する受信機のみであり、その他の受信機は、受信情報を復号できない。
【0005】
各受信機に対して鍵を配布するシステムとして木構造の鍵配信システムが知られている。木構造の鍵配信システムを適用することにより、任意のタイミングにおいて、各受信機の認証を取り消し、受信機の格納鍵を無効にすることができる。このような無効化処理がリボケーションスキームと呼ばれ、例えば有料テレビジョン放送や、コピー保護された媒体等を特定のユーザに配布する処理などに利用されている。
【0006】
通常の木構造の鍵配信システムを適用した構成においては、データ送信者は受信機と同じ鍵を用いて送信データを暗号化する仕様となっている。すなわち、送信者は受信者が用いる鍵を知っている必要がある。このため、この方式で送信者となれるのは信頼のおける者のみに限られてしまう。なぜなら、信頼できない者に受信者が使用する鍵が知られてしまうと、その鍵の不正な複製が可能となり、不正な複製鍵を認証されていない受信機に格納することで、不正に情報を取得することができてしまうからである。
【0007】
データの送信者を特定の信頼できる者に限定してしまえば問題はないが、現実世界においては、信頼できない者でも送信者として情報を送信できるほうが便利である。
【0008】
【発明が解決しようとする課題】
本発明は上述の課題に鑑みてなされたものであり、木構造の鍵配信システムを適用した構成において、データ送信者の信頼性の有無にかかわらず、特定の認証されたユーザ機器においてのみデータを取得可能とする構成を実現する暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明の第1の側面は、
通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信し、限定ユーザの認証された情報処理装置においてのみ利用可能とする暗号データ配信システムであり、
階層型キーツリー構成におけるノード番号iの各ノード(i)に対して公開鍵暗号方式における秘密鍵としての秘密ノードキーPriNKを設定し、該秘密ノードキーPriNKを前記認証された情報処理装置においてのみ取得可能とするとともに、前記秘密ノードキーPriNKに対応する公開鍵としての公開ノードキーPubNKを適用して配信データの暗号化を実行して暗号化データCTを生成し、生成した暗号化データCTを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたことを特徴とする暗号データ配信システムにある。
【0010】
さらに、本発明の暗号データ配信システムの一実施態様において、前記秘密ノードキーPriNKを、階層型キーツリー構成におけるノード番号iの各ノード(i)に対して、
【数71】
Figure 2004229128
として設定し、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pは、2N−1個の素数p(i=1,・・・,2N−1)のうちのひとつ、Nは全ユーザまたは受信装置数であり、Tは、下式、
【数72】
Figure 2004229128
によって定義される、
さらに、前記公開ノードキーPubNKを、
【数73】
Figure 2004229128
として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
さらに、前記公開ノードキーPubNKを適用して暗号化データCTを、
【数74】
Figure 2004229128
として生成し、ただし、xは、x∈Z q’を満足する数、
前記暗号化データCTと、g mod q’とを配信する構成としたことを特徴とする。
【0011】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(i)に対応する情報処理装置は、自ノードにおいて適用する秘密ノードキーを、マスタキーMKに基づいて生成し、該生成秘密ノードキーに基づいて、前記暗号化データCTの復号処理を実行する構成であることを特徴とする。
【0012】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(i)に対応する情報処理装置は、自ノードにおいて適用する秘密ノードキーPriNKを、マスタキーMKに基づいて、下記式、
【数75】
Figure 2004229128
に従って生成し、ただし、マスタキーMKは、下記式、
【数76】
Figure 2004229128
により求められる、wは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pの積、
さらに、前記生成秘密ノードキーPriNKに基づいて、前記暗号化データCTの復号処理を、
【数77】
Figure 2004229128
に従って実行する構成であることを特徴とする。
【0013】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号化データCTを、ハッシュ関数(H)を適用して、
【数78】
Figure 2004229128
に基づいて生成する構成としたことを特徴とする。
【0014】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(i)に対応する情報処理装置は、前記暗号化データCTの復号処理を、
【数79】
Figure 2004229128
に従って実行する構成としたことを特徴とする。
【0015】
さらに、本発明の第2の側面は、
通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信し、限定ユーザの認証された情報処理装置においてのみ利用可能とする暗号データ配信システムであり、
階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bを定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)し、該サブセットに対して公開鍵暗号方式における秘密鍵に対応する秘密サブセットキーPriSk,Bを設定し、該秘密サブセットキーPriSk,Bを前記認証された情報処理装置においてのみ取得可能とするとともに、前記秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行して暗号化データCTk,Bを生成し、生成した暗号化データCTk,Bを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたことを特徴とする暗号データ配信システムにある。
【0016】
さらに、本発明の暗号データ配信システムの一実施態様において、前記秘密サブセットキーPriSk,Bを、階層型キーツリー構成におけるノード番号kの各ノード(k)に対して、
【数80】
Figure 2004229128
として設定し、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pk,Bは各サブセットに割り当てられる素数であり、Tは、下式、
【数81】
Figure 2004229128
によって定義される、
さらに、前記公開サブセットキーPubSk,Bを、
【数82】
Figure 2004229128
として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
さらに、前記公開サブセットキーPubSk,Bを適用して暗号化データCTk,Bを、
【数83】
Figure 2004229128
として生成し、ただし、xは、x∈Z q’を満足する数、
前記暗号化データCTk,Bと、g mod q’とを配信する構成としたことを特徴とする。
【0017】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、自ノードにおいて適用する秘密サブセットキーを、マスタキーに基づいて生成し、該生成秘密サブセットキーに基づいて、前記暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする。
【0018】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、自ノードにおいて適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて、下記式、
【数84】
Figure 2004229128
に従って生成し、ただし、マスタキーMKは、下記式、
【数85】
Figure 2004229128
により求められる、wは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pk,Bの積、
さらに、前記生成秘密サブセットキーPriSKk,Bに基づいて、前記暗号化データCTk,Bの復号処理を、
【数86】
Figure 2004229128
に従って実行する構成であることを特徴とする。
【0019】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号化データCTk,Bを、ハッシュ関数(H)を適用して、
【数87】
Figure 2004229128
に基づいて生成する構成としたことを特徴とする。
【0020】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、前記暗号化データCTk,Bの復号処理を、
【数88】
Figure 2004229128
に従って実行する構成としたことを特徴とする。
【0021】
さらに、本発明の暗号データ配信システムの一実施態様において、前記秘密サブセットキーPriSk,Bは、マスタキーMKを用いて算出可能であり、前記ユーザの情報処理装置は、リーフからルートまでのパスに含まれる各ノードに割り当てられる前記秘密サブセットキーPriSKk,Bを算出可能なマスタキーを有し、該マスタキーMKに基づく前記秘密サブセットキーPriSKk,Bの算出処理を実行して、取得した秘密サブセットキーPriSKk,Bを適用した暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする。
【0022】
さらに、本発明の第3の側面は、
通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信し、限定ユーザの認証された情報処理装置においてのみ利用可能とする暗号データ配信システムであり、
階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bを定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)し、該サブセットに対して公開鍵暗号方式における秘密鍵に対応する秘密サブセットキーPriSk,Bを設定し、該秘密サブセットキーPriSk,Bを前記認証された情報処理装置においてのみ取得可能とするとともに、前記秘密サブセットキーPriSk,Bは、階層型キーツリー構成におけるノード位置kごとのグループに設定されたマスタキーMKj,kを用いて算出可能であり、ユーザ機器は、リーフからルートまでのパスに含まれる各ノードに割り当てられる秘密サブセットキーPriSKk,Bを算出可能な複数のマスタキーを有する構成とするとともに、
前記秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行して暗号化データCTk,Bを生成し、生成した暗号化データCTk,Bを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたことを特徴とする暗号データ配信システムにある。
【0023】
さらに、本発明の暗号データ配信システムの一実施態様において、前記秘密サブセットキーPriSk,Bを、階層型キーツリー構成におけるノード番号kの各ノード(k)に対して、
【数89】
Figure 2004229128
として設定し、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pk,Bは各サブセットに割り当てられる素数であり、Tは、下式、
【数90】
Figure 2004229128
によって定義される、
さらに、前記公開サブセットキーPubSk,Bを、
【数91】
Figure 2004229128
として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
さらに、前記公開サブセットキーPubSk,Bを適用して暗号化データCTk,Bを、
【数92】
Figure 2004229128
として生成し、ただし、xは、x∈Z q’を満足する数、
前記暗号化データCTk,Bと、g mod q’とを配信する構成としたことを特徴とする。
【0024】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、自ノードにおいて適用する秘密サブセットキーを、マスタキーに基づいて生成し、該生成秘密サブセットキーに基づいて、前記暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする。
【0025】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、自ノードにおいて適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて、下記式、
【数93】
Figure 2004229128
に従って生成し、ただし、マスタキーMKは、下記式、
【数94】
Figure 2004229128
により求められる、wj,kは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pの積、
さらに、前記生成秘密サブセットキーPriSKk,Bに基づいて、前記暗号化データCTk,Bの復号処理を、
【数95】
Figure 2004229128
に従って実行する構成であることを特徴とする。
【0026】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号化データCTk,Bを、ハッシュ関数(H)を適用して、
【数96】
Figure 2004229128
に基づいて生成する構成としたことを特徴とする。
【0027】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、前記暗号化データCTk,Bの復号処理を、
【数97】
Figure 2004229128
に従って実行する構成としたことを特徴とする。
【0028】
さらに、本発明の暗号データ配信システムの一実施態様において、前記秘密サブセットキーPriSk,Bは、階層型キーツリー構成におけるノード位置kごとのグループに設定されたマスタキーMKj,kを用いて算出可能であり、前記ユーザの情報処理装置は、リーフからルートまでのパスに含まれる各ノードに割り当てられる前記秘密サブセットキーPriSKk,Bを算出可能な複数のマスタキーを有し、該マスタキーMKj,kに基づく前記秘密サブセットキーPriSKk,Bの算出処理を実行して、取得した秘密サブセットキーPriSKk,Bを適用した暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする。
【0029】
さらに、本発明の第4の側面は、
通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信し、限定ユーザの認証された情報処理装置においてのみ利用可能とする暗号データ配信システムであり、
A列B行のブロックキーテーブル(BKT)を設定し、該ブロックキーテーブルの各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bを設定し、該秘密ブロックキーPriKa,bを前記認証された情報処理装置においてのみ取得可能とするとともに、前記秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bを適用して配信データの暗号化を実行して暗号化データCTa,bを生成し、前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたことを特徴とする暗号データ配信システムにある。
【0030】
さらに、本発明の暗号データ配信システムの一実施態様において、前記前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータは、コンテンツファイルの復号処理に適用するメディアキーを暗号化したデータを含むテーブルデータであることを特徴とする。
【0031】
さらに、本発明の暗号データ配信システムの一実施態様において、前記秘密ブロックキーPriKa,bを、前記ブロックキーテーブルの各要素位置(a,b)に対応して、
【数98】
Figure 2004229128
として設定し、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pa,bは、ブロックキーテーブルの各要素位置(a,b)に対応して設定された素数であり、Tは、下式、
【数99】
Figure 2004229128
によって定義される、
さらに、前記公開ブロックキーPubKa,bを、
【数100】
Figure 2004229128
として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
さらに、前記公開ブロックキーPubKa,bを適用して暗号化データCTa,bを、
【数101】
Figure 2004229128
として生成し、ただし、xは、x∈Z q’を満足する数、
ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを格納したデータテーブルと、g mod q’とを配信する構成としたことを特徴とする。
【0032】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する情報処理装置は、適用する秘密ブロックキーを、マスタキーMKに基づいて生成し、該生成秘密ブロックキーに基づいて、前記暗号化データCTa,bの復号処理を実行する構成であることを特徴とする。
【0033】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する情報処理装置uは、前記テーブルデータのB個の要素vを指示するベクトルVを有し、ベクトル(V,b)に対応する暗号化データCTa,bの復号において、秘密ブロックキーPriKa,bを、マスタキーMKに基づいて、下記式、
【数102】
Figure 2004229128
に従って生成し、ただし、マスタキーMKは、下記式、
【数103】
Figure 2004229128
により求められる、wは、下記式、
【数104】
Figure 2004229128
により求められる、
さらに、前記生成秘密ブロックキーPriKa,bに基づいて、前記暗号化データCTa,bの復号処理を、
【数105】
Figure 2004229128
に従って実行する構成であることを特徴とする。
【0034】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号化データCTa,bを、ハッシュ関数(H)を適用して、
【数106】
Figure 2004229128
に基づいて生成する構成としたことを特徴とする。
【0035】
さらに、本発明の暗号データ配信システムの一実施態様において、前記暗号データ配信システムにおいて、暗号化データの復号処理を実行する情報処理装置は、前記暗号化データCTa,bの復号処理を、
【数107】
Figure 2004229128
に従って実行する構成としたことを特徴とする。
【0036】
さらに、本発明の第5の側面は、
認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理装置であり、
前記ユーザ機器が配置される階層型キーツリー構成におけるノード番号iの各ノード(i)に対して公開鍵暗号方式における秘密鍵として設定された秘密ノードキーPriNKに対応する公開鍵としての公開ノードキーPubNKを適用して配信データの暗号化を実行して、前記秘密ノードキーPriNKを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTを生成する処理を実行する構成を有することを特徴とする情報処理装置にある。
【0037】
さらに、本発明の情報処理装置の一実施態様において、前記秘密ノードキーPriNKは、階層型キーツリー構成におけるノード番号iの各ノード(i)に対して、
【数108】
Figure 2004229128
として設定され、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pは、2N−1個の素数p(i=1,・・・,2N−1)のうちのひとつ、Nは全ユーザ機器数であり、Tは、下式、
【数109】
Figure 2004229128
によって定義される、
前記情報処理装置は、
前記公開ノードキーPubNKを、
【数110】
Figure 2004229128
として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
さらに、前記公開ノードキーPubNKを適用して暗号化データCTを、
【数111】
Figure 2004229128
として生成し、ただし、xは、x∈Z q’を満足する数、Iは送信する秘密データ、
前記暗号化データCTと、g mod q’とを配信する構成であることを特徴とする。
【0038】
さらに、本発明の第6の側面は、
認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理装置であり、
階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、該サブセットに対して公開鍵暗号方式における秘密鍵として設定された秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行して、前記サブセットキーPriSk,Bを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTk,Bを生成する処理を実行する構成を有することを特徴とする情報処理装置にある。
【0039】
さらに、本発明の情報処理装置の一実施態様において、
前記秘密サブセットキーPriSk,Bは、
階層型キーツリー構成におけるノード番号kの各ノード(k)に対して、
【数112】
Figure 2004229128
として設定され、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pk,Bは各サブセットに割り当てられる素数であり、Tは、下式、
【数113】
Figure 2004229128
によって定義される、
前記情報処理装置は、
前記公開サブセットキーPubSk,Bを、
【数114】
Figure 2004229128
として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
さらに、前記公開サブセットキーPubSk,Bを適用して暗号化データCTk,Bを、
【数115】
Figure 2004229128
として生成し、ただし、xは、x∈Z q’を満足する数、
前記暗号化データCTk,Bと、g mod q’とを配信する構成であることを特徴とする。
【0040】
さらに、本発明の第7の側面は、
認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理装置であり、
階層型キーツリー構成におけるノード位置kごとのグループに設定されたマスタキーMKj,kを用いて算出可能で、ユーザ機器がリーフからルートまでのパスに含まれる各ノードに割り当てられる秘密サブセットキーPriSKk,Bを算出可能な複数のマスタキーを有する構成において、
階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、該サブセットに対して公開鍵暗号方式における秘密鍵として設定される秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行して、前記サブセットキーPriSk,Bを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTk,Bを生成する処理を実行する構成を有することを特徴とする情報処理装置にある。
【0041】
さらに、本発明の情報処理装置の一実施態様において、前記秘密サブセットキーPriSk,Bは、
階層型キーツリー構成におけるノード番号kの各ノード(k)に対して、
【数116】
Figure 2004229128
として設定され、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pは各サブセットに割り当てられる素数であり、Tは、下式、
【数117】
Figure 2004229128
によって定義される、
前記情報処理装置は、
前記公開サブセットキーPubSk,Bを、
【数118】
Figure 2004229128
として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
さらに、前記公開サブセットキーPubSk,Bを適用して暗号化データCTk,Bを、
【数119】
Figure 2004229128
として生成し、ただし、xは、x∈Z q’を満足する数、
前記暗号化データCTk,Bと、g mod q’とを配信する構成であることを特徴とする。
【0042】
さらに、本発明の第8の側面は、
認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理装置であり、
A列B行のブロックキーテーブル(BKT)を設定し、該ブロックキーテーブルの各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bを設定し、該秘密ブロックキーPriKa,bを前記認証された情報処理装置においてのみ取得可能とした構成において、前記秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bを適用して配信データの暗号化を実行して暗号化データCTa,bを生成し、前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータを配信用データとして生成する構成を有することを特徴とする情報処理装置にある。
【0043】
さらに、本発明の情報処理装置の一実施態様において、前記前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータは、コンテンツファイルの復号処理に適用するメディアキーを暗号化したデータを含むテーブルデータであることを特徴とする。
【0044】
さらに、本発明の情報処理装置の一実施態様において、前記秘密ブロックキーPriKa,bは、前記ブロックキーテーブルの各要素位置(a,b)に対応して、
【数120】
Figure 2004229128
として設定され、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pa,bは、ブロックキーテーブルの各要素位置(a,b)に対応して設定された素数であり、Tは、下式、
【数121】
Figure 2004229128
によって定義される、
前記情報処理装置は、
前記公開ブロックキーPubKa,bを、
【数122】
Figure 2004229128
として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
さらに、前記公開ブロックキーPubKa,bを適用して暗号化データCTa,bを、
【数123】
Figure 2004229128
として生成し、ただし、xは、x∈Z q’を満足する数、
ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを格納したデータテーブルと、g mod q’とを配信する構成を有することを特徴とする。
【0045】
さらに、本発明の第9の側面は、
暗号化データの復号処理を実行する情報処理装置であり、
前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、自ノードにおいて適用する秘密ノードキーPriNKを、マスタキーMKに基づいて、下記式、
【数124】
Figure 2004229128
に従って生成し、ただし、マスタキーMKは、下記式、
【数125】
Figure 2004229128
により求められる、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pは各ノードに割り当てられる素数であり、Tは、下式、
【数126】
Figure 2004229128
によって定義され、wは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pの積、
さらに、前記生成秘密ノードキーPriNKに基づいて、暗号化データCTの復号処理を、
【数127】
Figure 2004229128
に従って実行する構成であることを特徴とする情報処理装置にある。
【0046】
さらに、本発明の第10の側面は、
暗号化データの復号処理を実行する情報処理装置であり、
前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、自ノードにおいて適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて、下記式、
【数128】
Figure 2004229128
に従って生成し、ただし、マスタキーMKは、下記式、
【数129】
Figure 2004229128
により求められる、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pk,Bは各サブセットに割り当てられる素数であり、Tは、下式、
【数130】
Figure 2004229128
によって定義され、wは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pk,Bの積、
さらに、前記生成秘密サブセットキーPriSKk,Bに基づいて、前記暗号化データCTk,Bの復号処理を、
【数131】
Figure 2004229128
に従って実行する構成であることを特徴とする情報処理装置にある。
【0047】
さらに、本発明の情報処理装置の一実施態様において、
前記秘密サブセットキーPriSk,Bは、マスタキーMKを用いて算出可能であり、
前記情報処理装置は、リーフからルートまでのパスに含まれる各ノードに割り当てられる前記秘密サブセットキーPriSKk,Bを算出可能なマスタキーを有し、該マスタキーMKに基づく前記秘密サブセットキーPriSKk,Bの算出処理を実行して、取得した秘密サブセットキーPriSKk,Bを適用した暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする。
【0048】
さらに、本発明の第11の側面は、
暗号化データの復号処理を実行する情報処理装置であり、
前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、自ノードにおいて適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて、下記式、
【数132】
Figure 2004229128
に従って生成し、ただし、マスタキーMKは、下記式、
【数133】
Figure 2004229128
により求められる、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pは各サブセットに割り当てられる素数であり、Tは、下式、
【数134】
Figure 2004229128
によって定義され、wj,kは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pの積、
さらに、前記生成秘密サブセットキーPriSKk,Bに基づいて、前記暗号化データCTk,Bの復号処理を、
【数135】
Figure 2004229128
に従って実行する構成であることを特徴とする情報処理装置にある。
【0049】
さらに、本発明の情報処理装置の一実施態様において、前記秘密サブセットキーPriSk,Bは、階層型キーツリー構成におけるノード位置kごとのグループに設定されたマスタキーMKj,kを用いて算出可能であり、前記情報処理装置は、リーフからルートまでのパスに含まれる各ノードに割り当てられる前記秘密サブセットキーPriSKk,Bを算出可能な複数のマスタキーを有し、該マスタキーMKj,kに基づく前記秘密サブセットキーPriSKk,Bの算出処理を実行して、取得した秘密サブセットキーPriSKk,Bを適用した暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする。
【0050】
さらに、本発明の第12の側面は、
A列B行のブロックキーテーブル(BKT)の各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bが設定され、該秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bにより暗号化された暗号化データCTa,bの復号処理を実行する情報処理装置であり、
前記情報処理装置は、
前記テーブルデータのB個の要素vを指示するベクトルVを有し、ベクトル(V,b)に対応する暗号化データCTa,bの復号において、
秘密ブロックキーPriKa,bを、マスタキーMKに基づいて、下記式、
【数136】
Figure 2004229128
に従って生成し、ただし、マスタキーMKは、下記式、
【数137】
Figure 2004229128
により求められる、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pa,bはBKTの各要素位置(a,b)に割り当てられる素数であり、Tは、下式、
【数138】
Figure 2004229128
によって定義され、wは、下記式、
【数139】
Figure 2004229128
により求められる、
さらに、前記生成秘密ブロックキーPriKa,bに基づいて、暗号化データCTa,bの復号処理を、
【数140】
Figure 2004229128
に従って実行する構成であることを特徴とする情報処理装置にある。
【0051】
さらに、本発明の第13の側面は、
認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理方法であり、
前記ユーザ機器が配置される階層型キーツリー構成におけるノード番号iの各ノード(i)に対して公開鍵暗号方式における秘密鍵として設定された秘密ノードキーPriNKに対応する公開鍵としての公開ノードキーPubNKを選択するステップと、
前記選択した公開ノードキーPubNKを適用して配信データの暗号化処理を実行し、前記秘密ノードキーPriNKを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTを生成する処理を実行するステップと、
を有することを特徴とする情報処理方法にある。
【0052】
さらに、本発明の第14の側面は、
認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理方法であり、
階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、該サブセットに対して公開鍵暗号方式における秘密鍵として設定された秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを選択するステップと、
前記選択した公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行し、前記サブセットキーPriSk,Bを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTk,Bを生成する処理を実行するステップと、
を有することを特徴とする情報処理方法にある。
【0053】
さらに、本発明の第15の側面は、
認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理方法であり、
A列B行のブロックキーテーブル(BKT)の各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵として設定された秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bを選択するステップと、
前記選択された公開ブロックキーPubKa,bを適用して配信データの暗号化を実行し、前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータを生成する処理を実行するステップと、
を有することを特徴とする情報処理方法にある。
【0054】
さらに、本発明の第16の側面は、
暗号化データの復号処理を実行する情報処理方法であり、
前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、復号処理において適用する公開鍵暗号方式における秘密鍵として設定され、階層型キーツリー構成における各ノードに対応付けられ秘密ノードキーPriNKを、マスタキーMKに基づいて生成するステップと、
前記生成秘密ノードキーPriNKに基づいて、公開鍵暗号方式における公開鍵として設定された公開ノードキーPubNKで暗号化された暗号化データCTの復号処理を実行するステップと、
を有することを特徴とする情報処理方法にある。
【0055】
さらに、本発明の第17の側面は、
暗号化データの復号処理を実行する情報処理方法であり、
復号処理において適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて算出するステップと、ただし、前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、前記秘密サブセットキーPriSKk,Bは、前記サブセットに対して公開鍵暗号方式における秘密鍵として設定されている、
前記生成秘密サブセットキーPriSKk,Bに基づいて、公開鍵暗号方式における公開鍵として設定されたサブセットキーPubSKk,Bで暗号化された暗号化データCTk,Bの復号処理を実行するステップと、
を有することを特徴とする情報処理方法にある。
【0056】
さらに、本発明の第18の側面は、
A列B行のブロックキーテーブル(BKT)の各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bが設定され、該秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bにより暗号化された暗号化データCTa,bの復号処理を実行する情報処理方法であり、
前記テーブルデータのB個の要素vを指示するベクトルVを有し、ベクトル(V,b)に対応する暗号化データCTa,bの復号において、
秘密ブロックキーPriKa,bを、マスタキーMKに基づいて生成するステップと、
前記生成秘密ブロックキーPriKa,bに基づいて、前記暗号化データCTa,bの復号処理を実行するステップと、
を有することを特徴とする情報処理方法にある。
【0057】
さらに、本発明の第19の側面は、
認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行するコンピュータ・プログラムであり、
前記ユーザ機器が配置される階層型キーツリー構成におけるノード番号iの各ノード(i)に対して公開鍵暗号方式における秘密鍵として設定された秘密ノードキーPriNKに対応する公開鍵としての公開ノードキーPubNKを選択するステップと、
前記選択した公開ノードキーPubNKを適用して配信データの暗号化処理を実行し、前記秘密ノードキーPriNKを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTを生成する処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0058】
さらに、本発明の第20の側面は、
認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行するコンピュータ・プログラムであり、
階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、該サブセットに対して公開鍵暗号方式における秘密鍵として設定された秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを選択するステップと、
前記選択した公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行し、前記サブセットキーPriSk,Bを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTk,Bを生成する処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0059】
さらに、本発明の第21の側面は、
認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行するコンピュータ・プログラムであり、
A列B行のブロックキーテーブル(BKT)の各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵として設定された秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bを選択するステップと、
前記選択された公開ブロックキーPubKa,bを適用して配信データの暗号化を実行し、前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータを生成する処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0060】
さらに、本発明の第22の側面は、
暗号化データの復号処理を実行するコンピュータ・プログラムであり、
前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、復号処理において適用する公開鍵暗号方式における秘密鍵として設定され、階層型キーツリー構成における各ノードに対応付けられ秘密ノードキーPriNKを、マスタキーMKに基づいて生成するステップと、
前記生成秘密ノードキーPriNKに基づいて、公開鍵暗号方式における公開鍵として設定された公開ノードキーPubNKで暗号化された暗号化データCTの復号処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0061】
さらに、本発明の第23の側面は、
暗号化データの復号処理を実行するコンピュータ・プログラムであり、
復号処理において適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて算出するステップと、ただし、前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、前記秘密サブセットキーPriSKk,Bは、前記サブセットに対して公開鍵暗号方式における秘密鍵として設定されている、
前記生成秘密サブセットキーPriSKk,Bに基づいて、公開鍵暗号方式における公開鍵として設定されたサブセットキーPubSKk,Bで暗号化された暗号化データCTk,Bの復号処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0062】
さらに、本発明の第24の側面は、
A列B行のブロックキーテーブル(BKT)の各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bが設定され、該秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bにより暗号化された暗号化データCTa,bの復号処理を実行するコンピュータ・プログラムであり、
前記テーブルデータのB個の要素vを指示するベクトルVを有し、ベクトル(V,b)に対応する暗号化データCTa,bの復号において、
秘密ブロックキーPriKa,bを、マスタキーMKに基づいて生成するステップと、
前記生成秘密ブロックキーPriKa,bに基づいて、前記暗号化データCTa,bの復号処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0063】
【作用】
本発明の構成によれば、通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信する構成において、階層型キーツリー構成におけるノード番号iの各ノード(i)に対して公開鍵暗号方式における秘密鍵としての秘密ノードキーPriNKを設定し、該秘密ノードキーPriNKを認証された情報処理装置においてのみ取得可能とするとともに、秘密ノードキーPriNKに対応する公開鍵としての公開ノードキーPubNKを適用して配信データの暗号化を実行して暗号化データCTを生成し、生成した暗号化データをブロードキャストする構成としたので、信頼、非信頼にかかわらず、各ユーザ機器の格納キーを知らない任意のエンティテイが、公開ノードキーPubNKを適用してデータ配信を行い、限定ユーザ、すなわち、認証された情報処理装置においてのみ利用可能とする暗号データ配信システムが実現される。
【0064】
さらに、本発明の構成によれば、通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信する構成において、階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bを定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)し、サブセットに対して公開鍵暗号方式における秘密鍵に対応する秘密サブセットキーPriSk,Bを設定し、秘密サブセットキーPriSk,Bを認証された情報処理装置においてのみ取得可能とするとともに、秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行して暗号化データCTk,Bを生成し、生成した暗号化データCTk,Bを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたので、信頼、非信頼にかかわらず、各ユーザ機器の格納キーを知らない任意のエンティテイが、公開サブセットキーPubSKk,Bを適用してデータ配信を行い、限定ユーザ、すなわち、認証された情報処理装置においてのみ利用可能とする暗号データ配信システムが実現される。
【0065】
さらに、本発明の構成によれば、通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信する構成において、A列B行のブロックキーテーブル(BKT)を設定し、ブロックキーテーブルの各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bを設定し、秘密ブロックキーPriKa,bを前記認証された情報処理装置においてのみ取得可能とするとともに、秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bを適用して配信データの暗号化を実行して暗号化データCTa,bを生成し、ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたので、信頼、非信頼にかかわらず、各ユーザ機器の格納キーを知らない任意のエンティテイが、公開ブロックキーPubKa,bを適用してデータ配信を行い、限定ユーザ、すなわち、認証された情報処理装置においてのみ利用可能とする暗号データ配信システムが実現される。
【0066】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0067】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の実施の形態】
以下、本発明に係る暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラムについて、図面を参照して詳細に説明する。
【0068】
本発明は、例えばブロードキャスト等の放送、あるいはCD、DVD、MD等、様々な記憶媒体によるデータ提供構成、すなわち不特定多数がデータ入手可能な構成において、特定の受信機あるいは再生機においてのみ、暗号化データを復号して利用可能な構成を提供するものである。特に、データ配信またはデータ提供者を特定の信頼できるエンティテイに限ることなく、不特定の任意のエンティテイが例えば放送等のブロードキャストによるデータ配信を行った場合においても、認証されたユーザの情報処理装置、例えば受信機あるいは再生機においてのみデータを復号し再生することを可能とした構成を提供するものである。
【0069】
以下において説明する1つの具体例においては、マスタキーとサブキーとを組み合わせて使用することにより、認証された受信機または再生機のみが、暗号化コンテンツの利用が可能となる。リボーク(無効化)された機器(すなわち、認証されていない受信機等)における暗号化コンテンツの利用を防止する。すなわち、暗号化されたコンテンツは、全ての機器に対して提供されるが、リボークされた機器は、コンテンツを利用できない構成である。
【0070】
図1は、ブロードキャストデータ送信構成の一例としての、放送衛星を用いた放送暗号化システム(broadcast encryption system)の構成を示すブロック図である。図1に示す放送暗号化システム100は、放送チャンネルを介して暗号化されたデータ(暗号化データ(cipher text)とも呼ばれる。)を受信機120−1〜120−Nに送信する。図1に示す放送暗号化システム100の例では、データのブロードキャスト経路は、衛星放送配信チャンネルである。暗号化データとして送信されるデータは、例えば暗号キー、オーディオ及び/又はビデオコンテンツ、テキストメッセージ等を含んでいる。
【0071】
放送局110における放送データ提供センタ105は、例えば放送衛星115を介して不特定のユーザ機器にデータを送信する。放送管理センタ105は、例えば送信コンテンツの暗号化に適用する暗号化用のキーを選択すること等により、特定ユーザにおいてのみ利用可能な暗号化データを生成する。
【0072】
なお、放送データ提供センタ105は、特定の信頼されたエンティテイであることは必要ではない。すなわち、信頼、非信頼にかかわらず任意のエンティテイがデータ提供者となり得る。これは、本発明においては、放送データ提供センタ105は、公開鍵を適用して暗号化データを生成し、その公開鍵に対応する秘密鍵を持つ、あるいは取得可能な受信機のみが暗号化データの復号を可能としているからである。受信機に対して提供する秘密鍵は管理センタ101が管理し、秘密鍵に対応する公開鍵は、管理センタ101が生成し公開され、不特定のデータ提供者が利用可能となる。処理の詳細については、後述する。
【0073】
例えばコンテンツ視聴者である各ユーザの住居に設置された受信機120は、衛星放送受信機を備え、放送衛星115を介して配信されるデータを受信する。不特定多数の受信機120−〜120− が配信データを受信すること
ができる。後述するように、放送データ提供センタ105は、認証されている受信機のみが提供データを復号することができるように、公開鍵に基づいて放送データを暗号化する。認証されたユーザ機器のみが、暗号化に適用した公開鍵に対応する秘密鍵を用いて配信される暗号化データの復号処理が可能となる。なお、図1には、放送衛星115を用いた放送システムを示しているが、ケーブルテレビジョンやコンピュータネットワーク等、この他の放送チャンネルを用いたブロードキャスト構成としてもよい。
【0074】
図2は、例えば図1に示す放送データ提供センタ105を構成する情報処理装置の具体的な構成を示すブロック図である。図2に示すデータ提供センタ200は、コントローラ205と、演算ユニット210と、入出力インタフェース215と、セキュア記憶部(secure storage)220と、メイン記憶部225とを備える。コントローラ205は、データ提供センタ200の動作を制御する。一具体例においては、コントローラ205は、中央演算処理装置(central processing unit:以下、CPUという。)であってもよい。演算ユニット210は、暗号キーの生成及びデータ暗号化等、各種暗号処理のための演算機能を提供する。
【0075】
データ提供センタ200は、入出力インタフェース215を介してデータを送受信する。セキュア記憶部220は、例えば暗号キー等、セキュアにまたは秘密に保持すべきデータを保存する。メイン記憶部225は、データ提供センタ200の動作をサポートするためのデータ、及び例えばビデオ及び/又はオーディオデータを含むコンテンツファイル等、ユーザ機器としての受信機、再生機に送信すべきデータを保存する。セキュア記憶部220及びメイン記憶部225は、例えばランダムアクセスメモリ(random access memory:以下、RAMという。)等のメモリ装置によって構成される。
【0076】
図3は、例えば図1に示す受信機120−1〜120−Nを構成するユーザ機器としての情報処理装置の具体的な構成を示すブロック図である。図3に示す受信機300は、コントローラ305と、演算ユニット310と、入出力インタフェース315と、セキュア記憶部320と、メイン記憶部325と、ディスプレイ装置330とを備える。
【0077】
コントローラ305は、受信機300の動作を制御する。一具体例においては、コントローラ305は、CPUであってもよい。演算ユニット310は、例えば暗号化データの復号処理に適用可能な演算機能を持つ。受信機300は、入出力インタフェース315を介して、データを送受信する。
【0078】
セキュア記憶部320は、例えば暗号化データの復号処理に適用する復号キー等、セキュアにまたは秘密に保持すべきデータを保存する。受信機300用の格納する1つ以上の復号キーは、予め機器の製造者によって、セキュア記憶部320に保存される。あるいは、放送管理センタ105が受信機300に復号キーを送信し、受信機300が自らのセキュア記憶部320にこの復号キーを保存するようにしてもよい。メイン記憶部325は、受信機300の動作をサポートするためのデータを保存する。一具体例においては、セキュア記憶部320及びメイン記憶部325は、RAM等のメモリ装置により構成される。
【0079】
ディスプレイ装置330は、例えばモニタ又はテレビジョン受像機であり、受信機300において受信し復号処理のなされたデータを表示する。なお、受信機300は、ディスプレイ装置自体を備えるのではなく、外部のディスプレイ装置に接続されるディスプレイインタフェースを備えていてもよい。
【0080】
図4は、CD、DVD、MD等の各種データ記憶媒体(メディア)を用いた暗号化データ提供システムの構成を示すブロック図である。図4に示す暗号化データ提供システム400では、暗号化データはメディアに格納されて配布される。メディア製造者410内のメディアデータ提供センタ405は、例えば読出専用メディア(CD−ROMやDVD−ROM等)又は書込可能メディア(CD−RWやDVD−RW等)等のメディア415にデータを保存する。後述するように、読出専用メディアについては、メディアデータ提供センタ405は、暗号化されたコンテンツキー及び暗号化されたコンテンツを記録し、認証された再生装置のみがデータを復号し、暗号化されているコンテンツ(例えば、ビデオ及び/又はオーディオ)にアクセスできるようにしている。
【0081】
一方、書込可能メディアについては、メディアデータ提供センタ405は、暗号化されたコンテンツキーを記録し、認証された記録装置のみが対応するデータを記録メディアに記録できるようにしている。メディア製造者410は、例えば小売店等の配布センタ420にメディア415を送付する。配布センタ420は、CD、DVD、MD等のメディア415をコンテンツ視聴者としてのユーザに提供し、ユーザは、再生機425に装着して利用する。
【0082】
なお、メディアデータ提供センタ405は、特定の信頼されたエンティテイであることは必要ではない。すなわち、信頼、非信頼にかかわらず任意のエンティテイがデータ提供者となり得る。これは、本発明においては、メディアデータ提供センタ405が、公開鍵を適用して暗号化データを生成しメディアに格納して、その公開鍵に対応する秘密鍵を持つ、あるいは取得可能な受信機のみが暗号化データの復号を可能としているからである。再生機に対して提供する秘密鍵は管理センタ401が管理し、秘密鍵に対応する公開鍵は、管理センタ401が生成し公開され、不特定のデータ提供者が利用可能となる。処理の詳細については、後述する。
【0083】
例えば、配布センタ420は、CD、DVD、MD等のメディア415をユーザに販売し、このユーザがメディア415を再生機425に挿入する。再生機425は、例えばDVDプレイヤ等、メディア415に記録されているデータを読み出して再生する装置である。なお、再生機425は、例えばDVD−RWドライブ等、メディア415に対するデータ記録処理、及びメディア415からのデータ読み出し処理可能な記録再生装置であってもよい。後述するように、メディアデータ提供センタ405は、認証されている再生機425のみが、暗号化されているデータを復号することができるように、所定の公開鍵を適用したデータ暗号化を実行する。暗号化処理に適用した公開鍵に対応する秘密鍵を持つ再生機のみにおいて暗号化データの復号、利用が可能となる。
【0084】
図5は、図4に示すメディアデータ提供センタ405を構成する情報処理装置の具体的な構成を示すブロック図である。図5に示すメディアデータ提供センタ500は、コントローラ505と、演算ユニット510と、入出力インタフェース515と、セキュア記憶部520と、メイン記憶部525と、メディアインタフェース530とを備える。
【0085】
コントローラ505は、データ提供センタ500の動作を制御する。一具体例においては、コントローラ505は、CPUであってもよい。演算ユニット510は、例えば暗号キーの生成及び暗号化等のための専用の演算機能を提供する。また、メディアデータ提供センタ500は、入出力インタフェース515を介してデータを送受信する。セキュア記憶部520は、例えば暗号キー等、安全又は秘密に保持すべきデータを保存する。メイン記憶部525は、メディアデータ提供センタ500の動作をサポートするためのデータ、及び例えばビデオ及び/又はオーディオデータを含むコンテンツファイル等、受信機に配布すべきデータを保存する。セキュア記憶部520及びメイン記憶部525は、例えばRAM等のメモリ装置である。
【0086】
メディアインタフェース530は、CD、DVD、MD等のメディアに対する読出/書込機能を提供し、これによりデータ提供センタ500は、例えば図4に示す暗号化データ提供システム400によって配布されるCD、DVD、MD等のメディア415等の媒体にデータを書き込み、またメディア415からデータを読み出すことができる。
【0087】
図6は、例えば図4に示す再生機425等の情報処理装置の具体的な構成を示すブロック図である。図6に示す再生機600は、データ再生専用装置であってもよく、データ記録可能な装置であってもよい。再生機600は、コントローラ605と、演算ユニット610と、入出力インタフェース615と、セキュア記憶部620と、メイン記憶部625と、ディスプレイ装置630と、メディアインタフェース635とを備える。コントローラ605は、再生機600の動作を制御する。一具体例においては、コントローラ605は、CPUであってもよい。演算ユニット610は、例えば復号又は暗号化(記録装置の場合)処理に適用可能な演算機能を有する。
【0088】
再生機600は、入出力インタフェース615を介して、データを送受信する。セキュア記憶部620は、例えば復号キー等、安全又は秘密に保持すべきデータを保存する。再生機600用の1つ又は複数の復号キーは、予め製造者によって、セキュア記憶部620に保存される。メイン記憶部625は、再生機600の動作をサポートするためのデータを保存する。セキュア記憶部620及びメイン記憶部625は、例えばRAM等のメモリ装置により構成される。
【0089】
ディスプレイ装置330は、例えばモニタ又はテレビジョン受像機であり、再生機600においてメディアから読み出し、復号したデータ等の情報を表示する。なお、再生機600は、ディスプレイ装置自体を備えるのではなく、外部のディスプレイ装置に接続されるディスプレイインタフェースを備えていてもよい。メディアインタフェース635は、メディア読出機能を提供する。なお、再生機600がメディアに対するデータ記録可能な構成である場合には、書き込み機能も提供する。再生機600は、例えば図4に示す暗号化データ提供システム400によって配布されるCD、DVD、MD等のメディア415等の媒体からデータを読み出し、また再生機600が記録装置であれば、この媒体の個体にデータを書き込むことができる。
【0090】
図7は、データを暗号化して暗号化データを生成し、暗号化データを1つ以上の受信機または再生機等、ユーザの有する情報処理装置に提供する処理を含むブロードキャストデータ暗号化データの提供処理の手順を示すフローチャートである。
【0091】
ブロードキャストデータ暗号化データの提供処理は、管理センタによる処理と、データ提供者による処理の2つに大きく区分される。図7の左に管理センタによる処理、右にデータ提供者による処理を示してある。
【0092】
データ提供者による処理は、例えば、図1に示す放送暗号化システム100であれば、不特定の受信機120に暗号化データを提供する放送データ提供センタ105の処理であり、図4に示す暗号化データ提供システム400であれば、再生機425に配布するためのデータ媒体を準備するメディアデータ提供センタ405の処理である。
【0093】
なお、以下においては、ブロードキャストデータ配信の代表例として、放送型のデータ配信を例として説明し、ユーザの情報処理装置を受信機として説明する。本発明は、放送型、あるいはCD、DVD、MD等のメディア配布型のいずれにおいても適用可能であり、以下の説明における受信機は、再生機に置き換えることが可能である。従って、以下の説明において受信機は、受信機、再生機を含み、暗号化コンテンツを受信またはメディアから読み出して復号し、再生する処理を実行する情報処理装置全般を意味する。
【0094】
まず、管理センタは、ステップS101において、暗号システムをセットアップする。管理センタは、セットアップの一部として、受信機に提供される秘密鍵としてのサブキー及びマスタキーを生成する。各マスタキーは、2つ以上のサブキーを生成するために用いることができる。
【0095】
暗号化データを提供するデータ提供センタは、秘密鍵としてのサブキーに対応する公開鍵を用いて受信機に対する提供データの暗号化処理を実行し、受信機は、サブキーを用いて暗号化データの復号化処理を実行する。
【0096】
一具体例においては、管理センタは、各マスタキーを対応する受信機に送信する。なお、各受信機は、受信機の製造者が予め受信機に格納したマスタキーを利用する構成としてもよい。管理センタは、ステップS102において、2つ以上の受信機からなるグループの各受信機にそれぞれマスタキーを割り当てる。これに応じて、各受信機はマスタキーを保存する。なお、受信機は、サブキーのそれぞれを保存する必要はない。後述するように、受信機は、サブキー又はサブキーの一部を予め算出していてもよい。これにより、予め算出されたサブキー又はサブキーの一部を記憶するための記憶容量が必要となるが、処理速度を速めることができる。
【0097】
管理センタは、ステップS103において、1つ以上の受信機をリボーク(無効化)する。管理センタが受信機をリボークすると、受信機の認証が取り消される。このリボーク処理を行うと、リボーク対象の受信機のみの認証が取り消され、データ提供者であるデータ提供センタから提供される暗号化データの復号が不可能になる。その他の受信機の認証は有効のまま残る。また、全ての受信機がデータを復号するための認証を管理センタから受けている場合等、管理センタが受信機を1つも無効にしない場合もある。
【0098】
管理センタは、ステップS104において、暗号処理に使用するための秘密鍵としてのサブキーを選択し、選択した秘密鍵としてのサブキーに対応する公開鍵を設定する。後述するように、管理センタは、リボークした受信機に割り当てられているマスタキーからは生成することができないサブキーを選択する。管理センタは、各マスタキーについて、そのマスタキー及び他の多くのマスタキーから生成でき、且つ無効にされた受信機のマスタキーからは生成できないサブキーを選択する。
【0099】
後述するように、一具体例においては、管理センタは、階層型キーツリー(hierarchical key tree)構成を用いてユーザの有する情報処理装置(受信機)に提供するサブキーの割り当て及び選択を行う。選択されたサブキーのグループは、利用可能なサブキーの全てを含んではいない。管理センタは、ステップS105において、どのサブキーが選択されたかを示す表現コード(representation code)を生成する。管理センタは、この表現コードを受信機に送信する。
【0100】
管理センタは、ステップS106において、選択されたサブキーに対応して設定した公開鍵を公開する、すなわち任意のデータ提供者に提供する。
【0101】
データ提供センタは、ステップS151において、提供された公開鍵、すなわち、選択された各サブキーに対応して設定された公開鍵を用いて、データを暗号化して暗号化データを作成する。データ提供センタは、例えばRSAや楕円曲線暗号等の公開鍵暗号アルゴリズムを使用する。データ提供センタは、ステップS152において、暗号化データを全ての受信機に送信する。データ提供センタにおいてデータ暗号化に適用した公開鍵に対応する秘密鍵としてのサブキーを持つ受信機のみが暗号化データを復号することができる。無効にされたリボーク受信機は、暗号化データを復号することができないため、データ提供センタは、リボーク受信機を含む全ての受信機に暗号化データを送信することができる。
【0102】
データ提供センタは、放送暗号化システムにおいて適切なチャンネルを介して、受信機に暗号化データを送信する。例えば図1に示す放送暗号化システムでは、放送チャンネルとして衛星放送を適用可能である。なお、一具体例においては、ステップS101及びステップS102を1回(又は、受信機の数が変わる等、システムに変化が生じるまで)実行し、この後は、暗号化データの配信毎に、ステップS103〜ステップS152を繰り返す。
【0103】
なお、データ提供センタは、選択された各サブキーに対応して設定される公開鍵を用いてコンテンツ自体を暗号化するのではなく、暗号化コンテンツの復号処理に適用するコンテンツキーを暗号化して各受信機に提供する構成としてもよい。
【0104】
受信機は、公開鍵に対応する秘密鍵を適用した暗号化コンテンツキーの復号処理により、コンテンツキーを取得し、取得したコンテンツキーを用いて、例えばビデオ及び/又はオーディオデータを含むファイル等である暗号化されたコンテンツファイルを復号することができる。ここで、コンテンツキーには、暗号化されたファイルを直接復号するために用いることができるものと、暗号化されたファイルを復号するための1つ以上のサブコンテンツキーを生成するために使用されるものとがある。また、コンテンツは、データストリーム又はライブコンテンツのように静的ファイルとして保存されないものもある。
図7は、管理センタとデータ提供センタとにおいて実行する1つの処理例を示した。図7では、リボーク処理を先行して実行する例を示したが、公開鍵の生成処理、公開処理を実行した後、リボークを実行して、その後、配信データの暗号化、配信処理を行ってもよい。図8を参照してこの処理手順について説明する。図8のフローについて説明する。管理センタは、ステップS171において、暗号システムをセットアップする。管理センタは、セットアップの一部として、受信機に提供される秘密鍵としてのサブキー及びマスタキーを生成する。各マスタキーは、2つ以上のサブキーを生成するために用いることができる。
管理センタは、ステップS172において、2つ以上の受信機からなるグループの各受信機にそれぞれマスタキーを割り当てる。これに応じて、各受信機はマスタキーを保存する。
管理センタは、ステップS173において、秘密鍵としてのサブキーに対応する公開鍵を生成して公開する。ここまでは、管理センタが実行する。次のステップS174〜S176は管理センタまたはデータ提供センタのいずれかにおいて実行する。
ステップS174では、1つ以上の受信機をリボーク(無効化)する。リボークにより受信機の認証が取り消される。ステップS175において、暗号処理に使用するための秘密鍵としてのサブキーを選択する。ステップS176において、どのサブキーが選択されたかを示す表現コード(representation code)を生成する。管理センタまたはデータ提供センタは、この表現コードを受信機に送信する。
以下のステップS177、S178はデータ提供センタが実行する。ステップS177において、公開鍵、すなわち、選択された各サブキーに対応して設定された公開鍵を用いて、データを暗号化して暗号化データを作成する。データ提供センタは、例えばRSAや楕円曲線暗号等の公開鍵暗号アルゴリズムを使用する。データ提供センタは、ステップS178において、暗号化データを全ての受信機に送信する。データ提供センタにおいてデータ暗号化に適用した公開鍵に対応する秘密鍵としてのサブキーを持つ受信機のみが暗号化データを復号することができる。無効にされたリボーク受信機は、暗号化データを復号することができないため、データ提供センタは、リボーク受信機を含む全ての受信機に暗号化データを送信することができる。
データ提供センタは、放送暗号化システムにおいて適切なチャンネルを介して、受信機に暗号化データを送信する。例えば図1に示す放送暗号化システムでは、放送チャンネルとして衛星放送を適用可能である。なお、一具体例においては、ステップS171〜ステップS173を1回(又は、受信機の数が変わる等、システムに変化が生じるまで)実行し、この後は、暗号化データの配信毎に、ステップS174〜ステップS178を繰り返す。
なお、データ提供センタは、選択された各サブキーに対応して設定される公開鍵を用いてコンテンツ自体を暗号化するのではなく、暗号化コンテンツの復号処理に適用するコンテンツキーを暗号化して各受信機に提供する構成としてもよい。
【0105】
図9は、コンテンツキー及びコンテンツファイルの暗号化を含むブロードキャストデータ暗号化処理の手順を示すフローチャートである。図9に示す処理フローにおいて、図7を用いて説明したステップと同様のステップは、図7と同様に実行されるので、図7に示す処理と異なるステップについて、以下に説明する。
【0106】
まず、ステップS201において、管理センタは、暗号システムをセットアップする。管理センタは、ステップS202において、2つ以上の受信機からなるグループの各受信機にそれぞれマスタキーを割り当てる。管理センタは、ステップ203において、1つ以上の受信機をリボーク処理により無効にする。管理センタは、ステップS204において、暗号処理に使用するための秘密鍵としてのサブキーと秘密鍵としてのサブキーを選択し、対応する公開鍵を設定する。管理センタは、ステップS205において、どのサブキーが選択されたかを示す表現コードを生成し、この表現コードを全ての受信機に送信する。
【0107】
管理センタは、ステップS206において、選択されたサブキーに対応して設定した公開鍵を公開する、すなわち任意のデータ提供者に提供する。
【0108】
データ提供センタは、ステップS251において、提供公開鍵、すなわち選択されたサブキーに対応する公開鍵を用いてコンテンツキーを個別のキー暗号化データとして暗号化する。データ提供センタは、選択された各サブキーに対応する公開鍵を用いて、同じコンテンツキーを暗号化し、選択された各サブキーについてキー暗号化データを生成する。データ提供センタは、ステップS252において、受信機にキー暗号化データ、すなわち公開鍵によって暗号化された暗号化コンテンツキーを送信する。
【0109】
データ提供センタは、ステップS253において、コンテンツキーを用いてコンテンツファイルを暗号化する。ここでは、無効にされたリボーク受信機は、データ提供センタが暗号処理に適用した公開鍵に対応する秘密鍵としてのサブキーを持たないため、暗号化されたコンテンツファイル又はキー暗号化データを復号できない。従って、データ提供センタは、ステップS254において、無効にされた受信機を含む全ての受信機に暗号化されたコンテンツファイル及びキー暗号化データ(各コンテンツキーを含んでいる)を送信することができる。
【0110】
さらに、データ提供センタは、選択されたサブキーに対応する公開鍵を用いて、コンテンツキーを個別のキー暗号化データとして、複数回暗号化及び放送することができる。一具体例においては、データ提供センタは、ステップS201及びステップS202を1回(又は、受信機の数が変わる等、システムに変化が生じるまで)実行し、この後は、暗号化データの配信毎に、ステップS203〜ステップS209を繰り返す。
図9は、管理センタとデータ提供センタとにおいて実行する1つの処理例を示した。図9では、リボーク処理を先行して実行する例を示したが、公開鍵の生成処理、公開処理を実行した後、リボークを実行して、その後、配信データの暗号化、配信処理を行ってもよい。図10を参照してこの処理手順について説明する。
図10のフローについて説明する。管理センタは、ステップS271において、暗号システムをセットアップする。管理センタは、セットアップの一部として、受信機に提供される秘密鍵としてのサブキー及びマスタキーを生成する。各マスタキーは、2つ以上のサブキーを生成するために用いることができる。
管理センタは、ステップS272において、2つ以上の受信機からなるグループの各受信機にそれぞれマスタキーを割り当てる。これに応じて、各受信機はマスタキーを保存する。
管理センタは、ステップS273において、秘密鍵としてのサブキーに対応する公開鍵を生成して公開する。ここまでは、管理センタが実行する。次のステップS274〜S276は管理センタまたはデータ提供センタのいずれかにおいて実行する。
ステップS274では、1つ以上の受信機をリボーク(無効化)する。リボークにより受信機の認証が取り消される。ステップS275において、暗号処理に使用するための秘密鍵としてのサブキーを選択する。ステップS276において、どのサブキーが選択されたかを示す表現コード(representation code)を生成する。管理センタまたはデータ提供センタは、この表現コードを受信機に送信する。
以下のステップS277〜S280はデータ提供センタが実行する。ステップS277において、公開鍵、すなわち、選択された各サブキーに対応して設定された公開鍵を用いて、コンテンツキーを暗号化して暗号化コンテンツキーを作成する。データ提供センタは、例えばRSAや楕円曲線暗号等の公開鍵暗号アルゴリズムを使用する。データ提供センタは、ステップS278において、暗号化コンテンツキーを全ての受信機に送信する。
ステップS279において、コンテンツキーを用いてコンテンツファイルを暗号化し、ステップS280において、暗号化コンテンツファイルを全ての受信機に送信する。
データ提供センタにおいてデータ暗号化に適用した公開鍵に対応する秘密鍵としてのサブキーを持つ受信機のみが暗号化コンテンツキーを復号することができる。無効にされたリボーク受信機は、暗号化コンテンツキーを復号することができないため、データ提供センタは、リボーク受信機を含む全ての受信機に暗号化データを送信することができる。
データ提供センタは、放送暗号化システムにおいて適切なチャンネルを介して、受信機に暗号化データを送信する。例えば図1に示す放送暗号化システムでは、放送チャンネルとして衛星放送を適用可能である。なお、一具体例においては、ステップS171〜ステップS173を1回(又は、受信機の数が変わる等、システムに変化が生じるまで)実行し、この後は、暗号化データの配信毎に、ステップS174〜ステップS178を繰り返す。
【0111】
受信機によって実行される放送データ復号処理を説明するフローチャートを図11に示す。一具体例においては、例えば図1に示す放送暗号化システム100のように、受信機120−1〜120−は、放送データ提供センタ105から放送されてくるデータ及び暗号化データを受信する。他の具体例においては、例えば図4に示す暗号化データ提供システム400のように、再生機425が、メディアデータ提供センタ405が配布のために準備したCD、DVD、MD等のメディアを介して、データ及び暗号化データを受け取る。以下、ユーザの持つデータ復号処理を実行する情報処理装置を受信機とした例について説明する。
【0112】
受信機は、ステップS301において、管理センタからマスタキーを受け取る。受信機は、マスタキーをセキュア記憶部に保存する。なお、受信機は、管理センタから直接ではなく、受信機の製造者によって受信機に予め格納されたマスタキーを利用してもよい。受信機は、ステップS302において、管理センタから表現コードを受け取る。表現コードは、管理センタがどのサブキーによって暗号化データが復号可能であるかを示している。
【0113】
受信機は、ステップS303において、データ提供センタから、例えば放送チャンネルを介して、1つ以上の暗号化データを受信する。一具体例においては、受信機は、表現コードを確認し、どの暗号化データを復号することができるかを判断し、受信機が復号できない暗号化データを削除又は無視する。
【0114】
なお、図7、図9の処理フローの説明では、表現コードの配布は管理センタから受信機に直接行われるものとして説明したが、管理センタからデータ提供センタに配布し、データ提供センタからユーザの受信機に配布する構成としてもよい。
【0115】
受信機は、ステップS304において、表現コードを用いて、復号に用いるターゲットサブキー(target sub key)を選択する。ターゲットサブキーは、受信機のマスタキーに基づいて生成されるサブキーであり、データ提供センタが提供する暗号化データの暗号化に適用した公開鍵に対応する秘密鍵である。
【0116】
サブキーを選択した後、受信機は、ステップS305において、受信機のマスタキーに基づいて、選択されたサブキーを生成する。サブキーの生成処理の詳細については後述する。受信機は、ステップS306において、生成したサブキーを用いて、受信した暗号化データを復号する。この復号の後、受信機は、暗号化データに基づく復号データの利用、再生ができる。一具体例においては、受信機は、ステップS301を1回(又は、受信機の数が変わる等、システムに変化が生じるまで)実行し、この後は、暗号化データの配信毎に、ステップS302〜ステップS306を繰り返す。
【0117】
管理センタは、受信機をリーフ(葉:leaf)とする階層型キーツリーに基づいて、サブキーの選択処理を行う。一具体例においては、管理センタは、ツリー(木構造)のノードにノードキーを割り当てた階層型キーツリーを用いる。他の具体例においては、管理センタは、ノードの子とサブセットキーとを指示するサブセットを階層型キーツリーのノードに割り当てる。さらに他の具体例においては、管理センタは、サブセットキーを用いて、複数のマスタキーを各受信機に割り当てる。さらに他の具体例においては、管理センタは、キー木に代えて、キーテーブルと、キーテーブルから要素を選択するためのベクトルとを使用する。以下、これらの具体例及び変形例について説明する。
【0118】
[ノードキーを有する階層型キーツリー]
例えば図1に示す放送暗号化システム100又は図4に示す暗号化データ提供システム400等、様々なデータ提供センタから複数のユーザ機器(例えば受信機、再生機)に対してデータを放送により送信、あるいはメディアを介して提供するブロードキャスト型暗号化データ提供システムの一実施例としてノードキーを有する階層型キーツリーによる管理構成について説明する。
【0119】
管理センタは、階層型キーツリー(hierarchical key tree:以下、HKTとも呼ぶ。)に設定されたノードキーを用いたユーザ機器管理を実行し、任意のデータ提供センタが公開鍵を適用して暗号化したデータを特定のユーザ機器においてのみ利用可能な秘密鍵で復号することができる構成を実現する。この具体例においては、階層型キーツリーの各ノードに設定されるノードキーは、上述したサブキーである。以下、図7及び図11に示す処理をこの構造に適用した具体例について説明する。
【0120】
図12は、ノードキーを有するHKTを用いたセットアップ処理、マスタキーの受信機に対する割り当て処理の詳細を説明するフローチャートであり、例えば図7のステップS101及びS102の処理の詳細手順を示すフローチャートである。図13は、16個の受信機からなる受信機のグループを含むHKT1100におけるノードキー1110のノード1105への割り当て構成を示す図である。
【0121】
管理センタは、ステップS401において、HKTを定義する。このHKTは、N個のリーフを有するルートを持つ完全バイナリツリー(完全2進木:full binary tree)であり、リーフ(葉)と、ルート(根)と、内部ノードとを含む2N−1個のノードを有する。図13に示すように、ノードは、V(i=1,・・・,2N−1)として表される。ここでNが2の累乗ではない場合、管理センタは、Nより大きく且つNに最も近い2の累乗個のリーフを有するHKTを定義する。
【0122】
管理センタは、ステップS402において、各受信機を個々のリーフに割り当てる。受信機は、図13に示すように、u(j=1,・・・,N)として表される。ここで、Nが2の累乗ではない場合、余りのリーフには「仮想の」受信機が割り当てられる。なお、仮想の受信機は、仮想のエンティテイであり、後に無効にする必要はない。管理センタは、ステップS403において、暗号化パラメータを選択する。管理センタは、暗号化パラメータを用いて例えばキー等の暗号化のための値を生成する。
【0123】
暗号化パラメータのうちの一部は公開暗号化パラメータであり、管理センタは、ステップS404において、公開暗号化パラメータを公開する。管理センタは、例えば公開暗号化パラメータを各受信機に送信することにより公開暗号化パラメータを公開する。管理センタは、この他の秘密暗号化パラメータを受信機に対して秘密にする。管理センタは、2つの大きな素数q及びqを選択し、M=q×qである値Mを算出する。管理センタは、この値Mを公開暗号化パラメータとして公開する。
【0124】
さらに、管理センタは、パラメータq’、gを選択し、公開暗号化パラメータとして公開する。ただし、q’は、例えば1024ビットの大きな素数であり、gは、巡回群Zq’ の生成元である。
【0125】
さらに、管理センタは、K∈Z であるKを秘密暗号化パラメータとして選択する。さらに、管理センタは、2N−1個の素数p(i=1,・・・,2N−1)を公開暗号化パラメータとして選択する。管理センタは、ルート及びリーフを含む対応したノードvに各素数pを割り当てる(例えば、Pはvに割り当てられる)。管理センタは、ノードへの素数の割り当てを公開する。管理センタは、以下の式に基づいて値Tを生成する。
【数141】
Figure 2004229128
【0126】
なお、管理センタは、値Tを公開しない。また、管理センタは、各受信機uに対して値wを生成する。wは、受信機uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pの積である。例えば、図13に示すHKT1100において、wは、uに対応し、ノードv16、v、v、v、vに割り当てられた素数の積であり、したがって、w=p16×p×p×p×pである。
【0127】
管理センタは、ステップS405において、暗号化パラメータを用いて、公開鍵暗号方式における秘密鍵としての秘密ノードキーを生成する。秘密ノードキーは、図13に示すように、PriNKとして表される。管理センタは、以下の式(式a1)に基づいて、各ノードvに対応する秘密ノードキーPriNKを算出する。
【数142】
Figure 2004229128
・・・(式a1)
【0128】
次に管理センタは、ステップS406において、上述の秘密ノードキーPriNKに対応する公開鍵として公開ノードキーPubNKを算出する。公開ノードキーは、下記式(式a2)に従って算出する。
【数143】
Figure 2004229128
・・・(式a2)
【0129】
さらに、管理センタは、ステップS407において、上記式に従って生成した公開ノードキー、およびノード番号iと、公開ノードキーPubNKとの対応を示す公開鍵ファイルとを公開する。すなわち任意のデータ提供センタに提供する。公開鍵ファイルは、図14に示すように階層型キーツリーを構成するノード番号iと、公開ノードキーPubNKとの対応を示すデータである。
【0130】
公開ノードキーの提供を受けたデータ提供者は、特定のユーザ機器のみの復号可能な暗号化データを上述の公開ノードキーPubNKを用いた暗号化処理により生成する。暗号化データは、下式(式a3)に基づいて、ノード(i)用の暗号文として生成する。下式において、Iが送信する秘密のデータである。
【数144】
Figure 2004229128
・・・(式a3)
【0131】
上記式において、xは、データ提供センタがランダムに選択したx∈Z q’を満足する数である。データ提供者は、管理センタから公開されているパラメータgと上述のxとから生成したg mod q’と、上記式によって生成される暗号化データCTとをブロードキャストする。受信機においては、データ提供センタが暗号化に適用した公開ノードキーPubNKに対応する秘密鍵としての秘密ノードキーPriNKを適用して暗号化データCTを復号する。データ復号処理については後述する。
【0132】
次に、管理センタは、各秘密ノードキーPriNKを対応する各ノードvに割り当てる。管理センタは、ステップS408において、暗号化パラメータを用いてマスタキーを生成する。マスタキーは、図13に示すように、MKとして表される。ここで、管理センタは、以下の式(式a4)に基づいて、各受信機uに対応するマスタキーMKを算出する。
【0133】
【数145】
Figure 2004229128
・・・(式a4)
【0134】
管理センタは、各マスタキーMKを対応する受信機uに割り当てる。このマスタキーMKを用いて、受信機uに対応するリーフからルートまでのパスに含まれるノードvに対応する全ての秘密鍵としての秘密ノードキーPriNKを導出することができる。例えば、図13に示すHKT1100において、uにはマスタキーMKが割り当てられており、このMKを用いて秘密ノードキーPriNK16、PriNK、PriNK、PriNK、PriNKを導出することができる。受信機uのいずれも無効にされていない場合は、ルートの秘密ノードキーPriNKは、全てのマスタキーMKから導出することができる。
【0135】
管理センタは、ステップS409において、各マスタキーMKを対応する受信機uに送信する。管理センタは、ステップS410において、HKTに関する情報を各受信機に送信する。ここで、管理センタは、HKT内のノード数と、受信機に関係がある割り当てを示す情報を受信機に送信する。
【0136】
具体的には、管理センタは、上述した素数p、さらに例えば1024ビットの大きな素数q’と、巡回群Zq’ の生成元g等の公開暗号化パラメータと、どのノードvに素数pが対応しているかに関する情報とを公開する。
【0137】
さらに、管理センタは、どのノードvに受信機uが割り当てられているか、どのノードvにどの受信機のマスタキーMKが割り当てられているか、及びどのノードvに受信機のマスタキーMKから導出可能な秘密ノードキーPriNKが割り当てられているかを示す情報を送信する。図7のステップS102における説明において述べたように、他の具体例として、管理センタが受信機の製造業者にマスタキーを提供し、受信機の製造業者が受信機にマスタキーを組み込む構成も可能である。この場合、管理センタは、製造業者を介して、公開暗号化パラメータ及びHKT情報を受信機に提供する。
【0138】
図15は、HKTを用いて受信機をリボーク(無効化)し、リボーク受信機を考慮して秘密ノードキーを選択し、表現コードを生成する処理を示すフローチャートである。なお、図15に示すこれらの処理は、管理センタではなく、データ提供者が行ってもよい。。例えば図7のステップS103、S104、S105に対応する処理である。図16は、図13のHKT1100において、無効にされた受信機1305及び選択されたノードキー1310を示す図である。
【0139】
管理センタは、ステップS501において、1つ以上の受信機のリボーク処理(無効化)を実行する。管理センタは、受信機が管理センタから送信している暗号化データを復号する権限を有さなくなった場合に、その受信機をリボークする。例えば、管理センタは、必要な料金を支払っていない受信機又はライセンスが有効ではなくなった受信機を無効にする。
【0140】
図16では、無効にされた受信機1305に対応するHKT1100の対応するノードに「×」印を付している。管理センタは、受信機u、u、u、u13を無効にしている。この他の受信機u、u、u、u、u、u、u10、u11、u12、u14、u15、u16は、無効にされていない、すなわち有効な受信機である。
【0141】
管理センタは、ステップS502において、リボーク受信機に割り当てられているマスタキーに基づいて生成することができる秘密ノードキーを無効にする。例えば、図16に示す具体例では、管理センタは、受信機uを無効にしている。この受信機uにはマスタキーMKが割り当てられている。受信機uは、マスタキーMKに基づいて、秘密ノードキーPriNK16、PriNK、PriNK、PriNK、PriNKを生成することができる。したがって、管理センタは、秘密ノードキーPriNK16、PriNK、PriNK、PriNK、PriNKを無効にする。
【0142】
リボーク(無効化)されていない受信機の各マスタキーについては、管理センタは、ステップS503において、リボーク(無効化)されていない受信機のマスタキーに基づいて生成可能であり、かつリボーク受信機のマスタキーからは生成できない秘密ノードキーを選択する。HKT1100において、管理センタは、無効にされた秘密ノードキーに対応する親ノードを有する無効にされていない受信機を選択する。
【0143】
あるいは、管理センタは、無効にされたノードキーに対応するノードを取り除く処理を実行して、リボーク受信機を除去してもよい。ノードを取り除くことにより、1つ以上のサブツリーが残り、認証受信機のみからなるサブツリーを構成してもよい。なお、サブツリーは、単一のノードのみから構成される場合もある。
【0144】
管理センタは、これらのサブツリーのルートとなるノードに対応した秘密ノードキーを選択する。図16では、ノードを囲む正方形の枠によって選択された秘密ノードキー1310を示している。すなわち、管理センタは、秘密ノードキーPriNK17、PriNK、PriNK21、PriNK11、PriNK25、PriNK13、PriNK29、PriNK15を選択する。
【0145】
管理センタは、ステップS504において、HKT及び無効にされたリボーク受信機に基づいて表現木(representation tree)を定義する。図17は、図13及び図16に示すHKT1100に基づく表現木1400を示している。図17の濃い又は太い枝(edge)は、表現木1400の一部である枝を示している。図17の薄い又は細い枝は、表現木1400に含まれない。無効にされたリボーク受信機1405及び選択された秘密ノードキー1410は、図16と同様に示されている。表現木1400のルートは、対応するHKTのルートである。表現木1400のリーフは、選択された秘密ノードキーに対応するノードである。表現木1400の内部ノードは、リーフとルートの間のノードである。
【0146】
管理センタは、ステップS505において、表現木1400に基づく表現コードを生成する。管理センタは、HKTにおける対応するノードに子が存在する場合、どの子が表現木に含まれているかを示す値を表現木の各ノードに割り当てる。この具体例では、バイナリツリー(2進木)を用いているため、表現木の各ノードは、2つの子を有する可能性がある。したがって、2つの1ビット値を用いて、ノードが有する可能性がある各子について、表現木に子ノードが含まれているか否かを示すことができる。
【0147】
図17では、表現木1400の各ノードの隣に示す括弧で括られた2つの数によって、この値を示している。例えば、ルートの隣には、(1,1)が示されており、これは、ルートの左側の子と右側の子が表現木に含まれていることを表している。また、ノードvについては、左側の子(無効にされた受信機uに対応するノードv16)は表現木に含まれておらず、右側の子(ノードv17)は表現木に含まれているため、ノードvの隣には、(0,1)が示されている。リーフは、子となるノードを有していないため、表現木1400のリーフは、子が含まれていないことを示す値を有している。例えば、図17に示すノードv17は、(0,0)の値を有している。表現木のリーフに対応する秘密ノードキーは、選択された秘密ノードキーであり、したがって、管理センタは、リーフに対応する秘密ノードキーPriNKに対応する公開ノードキーPubNK生成して、これを公開し、データ提供センタは、公開された公開鍵を適用して暗号化を行い、暗号化データを生成する。
【0148】
管理センタは、表現木のノードに割り当てられた値を一続きのシーケンスデータにすることにより、表現コードを生成する。管理センタは、各ノードに割り当てられた値を幅優先順(breadth−first order)に連結する。例えば、図17に示す具体例では、管理センタは、ノードv、v、v、v、v、v、v、v、v、v10、v11、v12、v13、v14、v15、v17、v21、v25、v29(この他のノードは、表現木に含まれていない。)の値を用いる。すなわち、管理センタは、値(1,1)、(1,1)、(1,1)、(1,1)、(1,1)、(1,1)、(1,1)、(0,1)、(0,0)、(0,1)、(0,0)、(0,1)、(0,0)、(0,1)、(0,0)、(0,0)、(0,0)、(0,0)、(0,0)を用いる。これにより生成される表現コードは、11111111111111010001000100010000000000である。
【0149】
管理センタは、ステップS506において、各受信機に表現コードを送信する。受信機は、表現コードを用いて、表現ツリーを再構築することができる。後述するように、受信機は、検索アルゴリズム(例えば幅優先順検索法(breadth−first search))を用いて、HKTにおける受信機のノードからHKTのルートまでのパス上のノードに対応する表現木のリーフを特定する。受信機は、受信機のマスタキーに基づいてそのノードの秘密ノードキーを導出し、この秘密ノードキーを用いて復号を行う。
【0150】
データ提供センタは、選択された各秘密ノードキーPriNKに対応する公開ノードキーPubNKを用いて、上述の式(式a3)を適用してデータを暗号化する(図7のステップS151参照)。データ提供センタは暗号化データをブロードキャスト送信する(図7に示すステップS152参照)。
【0151】
なお、一具体例においては、図9の処理フローに示したように、データ提供センタは、選択された各秘密ノードキー(式a1参照)に対応する公開ノードキー(式a2参照)を用いて、コンテンツキーをキー暗号化データとして暗号化し、このキー暗号化データを受信機に送信し、次に、コンテンツキーを用いてコンテンツファイルを暗号化し、暗号化されたコンテンツファイルを受信機に送信する。
【0152】
図18は、受信機によるブロードキャスト送信された暗号化データの復号処理を示すフローチャートである。図18に示す処理は、ユーザの情報処理装置における処理であり、例えば図1に示す放送暗号化システム100において、放送データ提供センタ105から放送されたデータ及び暗号化データを受信する受信機120−〜120− の処理である。または、図4に
示す放送暗号化システム400において、メディアデータ提供センタ405が配布のために準備したデータ媒体を介して、データ及び暗号化データを読み取り再生を行う再生機425による処理である。
【0153】
受信機は、ステップS601において、管理センタから暗号化パラメータを受け取る。図12のステップS104に関連して上述したように、管理センタは、受信機が管理センタから受信した暗号化データを復号するために使用する、例えば選択された素数p等の公開暗号化パラメータを受信機に公開する。一具体例においては、受信機は、公開暗号化パラメータを非安全ストレージ(例えば、図2に示すメインストレージ225)に保存する。受信機は、ステップS602において、管理センタからマスタキーを受信する。図12のステップS106及びステップS107に関連して上述したように、管理センタは、受信機用のマスタキーを生成し、このマスタキーを受信機に送信する。
【0154】
受信機は、このマスタキーに基づいて、復号のためのノードキーを導出する。さらに、受信機は、ステップS603において、管理センタから、管理センタによって定義されたHKTに関する情報を受信する。先に図12のステップS408に関連して説明したように、管理センタは、HKT内のノードの数と、受信機に関連するノードへのキー割り当てとを示す情報を受信機に送信する。変形例においては、管理センタは、暗号化パラメータの一部又は全部と、マスタキーと、HKT情報とを受信機に送信する。なお、受信機は、暗号化パラメータと、マスタキーと、HKT情報とを、管理センタから受信せず、予め受信機の製造業者が受信機に格納したデータを読み取り使用してもよい。
【0155】
受信機は、ステップS604において、管理センタから表現コードを受け取る。図15のステップS504及びステップS505に関連して説明したように、管理センタは、表現木(図17参照)を定義し、この表現木から表現コードを生成する。
【0156】
受信機は、ステップS605において、表現コードを用いて、復号に使用する秘密ノードキーを選択する。受信機は、表現コードから表現木を再構築する。上述のように、図17に示す表現木1400用の表現コードは、11111111111111010001000100010000000000である。受信機は、HKT情報を用いて、表現コードを表現木のノードに対応する値、すなわち(1,1)、(1,1)、(1,1)、(1,1)、(1,1)、(1,1)、(1,1)、(0,1)、(0,0)、(0,1)、(0,0)、(0,1)、(0,0)、(0,1)、(0,0)、(0,0)、(0,0)、(0,0)、(0,0)に分離する。
【0157】
受信機は、これらの値に基づき、幅優先順検索法(breadth−first approach)を用いて、表現木内における子ノードの有無を判定する。例えば、最初の値(1,1)は、ルート(ノードv)に対応し、ルートが左側の子(ノードv)と右側の子(ノードv)とを有していることを示している。第2の値(1,1)は、ノードvに対応し、ノードvが左側の子(ノードv)と右側の子(ノードv)とを有していることを示している。受信機は、このようなパターンに基づく判断を繰り返して表現木を完成させる。
【0158】
受信機は、HKTにおける受信機のノードからルートまでのパス上のノードに対応するリーフのノードを検出するまで、(例えば、幅優先順検索法を用いて)再構築された表現木を検索する(ここで、表現木のノードvは、HKTのノードvに対応する)。例えば、図13及び図16に示すHKT1100及び図17に示す表現木1400において、受信機uは、ノードv17をリーフであると認識し、受信機u及び受信機uは、共にノードvをリーフであると認識する。HKTにおける受信機のノードからルートまでのパス上のノードに対応するリーフのノードが見付からない場合、受信機は、自らが無効にされ、有効なノードキーを導出することができないと判断する。
【0159】
例えば、受信機uは、無効にされており、したがって、受信機uのノードからルートまでのパス上にリーフを検出することができない。すなわち、受信機uは、ノードv16に対応し、ノードv16からルート(ノードv)までのパスには、ノードv16、v、v、v、vが含まれ、これらのノードv16、v、v、v、vは、いずれも表現木のリーフに対応していない。一具体例においては、受信機は、管理センタと通信する(例えば、ネットワーク接続を介して)ことにより、受信機が無効にされたことを確認する。
【0160】
秘密ノードキーを選択した後、受信機は、ステップS606において、受信機のマスタキーに基づいて選択された秘密ノードキーを導出する。図13を参照して上述したように、ノードv用の秘密ノードキーは、PriNKと表され、受信機uのマスタキーは、MKと表される。受信機uが受信する暗号化パラメータは、素数pと、受信機uに対応するリーフからルートまでのパス上のノードvに割り当てられている全ての素数pの積であるwとである。受信機は、以下の式(式a5)に基づいて秘密ノードキーPriNKを算出する。
【0161】
【数146】
Figure 2004229128
・・・(式a5)
【0162】
一具体例においては、受信機は、w/pを予め算出しておく。
受信機は、ステップS607において、例えば放送暗号化システムの放送チャンネルを介して、データ提供センタから1つ以上の暗号化データを受信する。データ提供センタは、上述の式(式a2)により定義される公開鍵を適用して生成した上述の式(式a3)により定義される暗号化データを送信する。なお、受信機は、ノードキーを導出する前に、暗号化データを受信してもよい。
【0163】
ステップS608において、受信機は、上述のようにして導出したノードキーを用いて、受信した暗号化データを復号し復号データIを取得する。データ復号処理は、下式(式a6)に基づいて実行する。
【数147】
Figure 2004229128
・・・(式a6)
【0164】
なお、一具体例においては、受信機は、導出したノードキーを用いて、受信した各暗号化データを復号するよう試みる。受信機は、例えばチェックサム値を用いて、復号結果が受信した暗号化データに対して正しいものであるか否かを判定する。他の具体例においては、受信機は、導出したノードキーが暗号化データの復号に有効であるか否かを判定した後、導出したノードキーに対応する暗号化データを復号する。一具体例においては、受信機は、ステップS601〜ステップS603を1回(又は、受信機の数が変わる等、システムに変化が生じるまで)実行し、この後は、暗号化データの配信毎に、ステップS604〜ステップS608を繰り返す。
【0165】
なお、一具体例においては、図9の処理フローを参照して説明したように、受信機は、コンテンツキーを暗号化データとして受信し、さらにコンテンツキーに対応する暗号化されたコンテンツファイルを受信する。コンテンツキー及びコンテンツファイルの復号を含むブロードキャスト暗号化データの復号処理のフローチャートを図19に示す。図19に示す具体例において、図18を用いて説明したステップと同様のステップは、図18に示す具体例と同様に実行されるので、変更があったステップについて、以下に説明する。
【0166】
受信機は、ステップS701において、管理センタから暗号化パラメータを受信する。受信機は、ステップS702において、管理センタからマスタキーを受信する。受信機は、ステップS703において、管理センタから、管理センタにより定義されたHKTに関する情報を受信する。
【0167】
受信機は、ステップS704において、管理センタから表現コードを受信する。受信機は、ステップS705において、表現コードを用いて、復号に使用する秘密ノードキーを選択する。秘密ノードキーを選択した後、受信機は、ステップS706において、受信機のマスタキーに基づいて、選択された秘密ノードキーを導出する。
【0168】
受信機は、ステップS707において、例えば放送暗号化システムの放送チャンネルを介して、データ提供センタから1つ以上のコンテンツキー暗号化データを受信する。受信機が受信する各キー暗号化データは、それぞれ異なる秘密ノードキー(式a1参照)に対応する公開鍵(式a2参照)を用いて暗号化された同一のコンテンツキーである。
【0169】
受信機は、ステップS708において、導出した秘密ノードキーを用いて、受信したキー暗号化データを復号する。導出された秘密ノードキーは、複数のキー暗号化データのうちの1つのキー暗号化データのみの復号に有効である。復号されたキー暗号化データにより、受信機はコンテンツキーを(例えば、平文テキスト(cleartext)として)得ることができる。
【0170】
受信機は、ステップS709において、データ提供センタから、暗号化されたコンテンツファイルを受信する。コンテンツファイルは、コンテンツキーを用いて暗号化されている。受信機は、例えばヘッダ情報又はファイルサイズに基づいて、キー暗号化データと、暗号化されているコンテンツファイルとを区別する。受信機は、ステップS710において、コンテンツキーを用いて、暗号化されているコンテンツファイルを復号する。これにより、受信機は、平文のコンテンツファイルにアクセスすることができる。
【0171】
例えば、コンテンツファイルがビデオファイルである場合、受信機は、コンテンツを再生することができる(図3に示す受信機300及び図6に示す再生機600参照)。一具体例においては、受信機はステップS701〜ステップS703を1回(又は、受信機の数が変わる等、システムに変化が生じるまで)実行し、この後は、暗号化データの配信毎に、ステップS704〜ステップS710を繰り返す。
【0172】
他の具体例においては、ユーザの情報処理装置としての受信機は、メディアに対してデータ記録処理を実行可能であり、書込可能データ媒体の個体に記録された表現コード及び1つ以上のキー暗号化データを受け取る。受信機は、データ媒体からの表現コードを用いて、上述のように、ノードキーを導出する。受信機は、導出したノードキーを用いて、データ媒体に記録されているキー暗号化データからコンテンツキーを復号する。受信機は、復号されたコンテンツキーを用いて、データ媒体にデータを記録する。受信機が有効なノードキーを導出できず、したがってデータ媒体に記録されているキー暗号化データからコンテンツキーを復号できない場合、この受信機は、データ媒体にデータを記録することはできない。管理センタ及び受信機は、後述するように、この記録技術をサブセットキーを用いる具体例にも適用することができる。
【0173】
上述のように、管理センタは、秘密ノードキー(式a1参照)および秘密ノードキーに対応する公開ノードキー(式a2参照)を生成し、データ提供センタは、公開ノードキーを用いてデータ暗号化を行う。受信機は、管理センタから秘密ノードキーを受け取り、これらの秘密ノードキーを用いて復号を行う。
【0174】
他の具体例として、データ提供センタは、ハッシュ関数を用いてハッシュキーを算出し、このハッシュキーを用いて暗号化を行う構成としてもよい。ハッシュ関数は、ノードキーの空間に亘ってランダムに分布した要素を、ハッシュキーの長さであるランダムに分布したストリングスにマッピングする。これにより、データ提供センタは、ハッシュ関数を用いて、ノードキーのサイズを暗号化アルゴリズム用のキーのサイズに調整することができる。例えば、一具体例において、ノードキーは1024ビットからなり、暗号化アルゴリズムは128ビットキーを用いる。
【0175】
データ提供センタによるハッシュ関数を適用した暗号化データの生成について説明する。上記した式(式a3)を適用した暗号文生成処理によると、各暗号文CTのサイズはq’のサイズとなる。ハッシュ関数を適用することにより、各暗号文のサイズを小さくして効率化が図れる。暗号化データCTは、下式(式a7)に従って生成する。
【0176】
【数148】
Figure 2004229128
・・・(式a7)
【0177】
上記式において、xは、データ提供センタがランダムに選択したx∈Z q’を満足する数である。Hは、|q’|(たとえば1024bit)のビット列を|I|(たとえば、128bit)のビット列にランダムにマッピングするハッシュ関数である。この、ハッシュ関数は、管理センタによって公開される。たとえば図7のステップS101のセットアップフェーズにおいて公開する。
【0178】
ハッシュ関数の具体例として、MD5がある(1997年、CRCプレス社、エー・ジェイ・メネゼス(A.J.Menezes)、ピー・シー・バン・オースコット(P.C.van Oorschot)、エス・エー・バンストーン(S.A.Vanstone)著、「応用暗号技術ハンドブック(Handbook of Applied Cryptography)」第347頁参照。この文献は参照により本願に援用される)。
【0179】
データ提供センタは、前述したと同様、管理センタから公開されているパラメータgと上述のxとから生成したg mod q’と、上記式によって生成される暗号化データCTとをブロードキャストする。受信機においては、データ提供センタが暗号化に適用した公開鍵に対応する秘密鍵としての秘密ノードキーを適用して暗号化データCTを復号する。
【0180】
受信機におけるデータ復号処理は、下式(式a8)に従って実行される。
【数149】
Figure 2004229128
・・・(式a8)
【0181】
[サブセットキーを有する階層型キーツリー]
次に、ブロードキャスト暗号化データの提供により、特定の認証ユーザのみのデータ利用を可能とした構成例としてサブセットキーを有する階層型キーツリーを用いた構成例について説明する。
【0182】
ブロードキャスト暗号化データ提供システムは、例えば図1及び図4に示すシステム100、400のように、データ提供センタ、管理センタとN個の受信機とを備え、管理センタは、階層型キーツリー(HKT)及びサブセットキーの管理を行う。この具体例においては、サブセットキーが上述したサブキーとして機能する。図7及び図11に示す処理をこの具体例に適用する手法について以下に述べる。
【0183】
図20は、サブセット及びサブセットキーを有するHKTを用いてブロードキャスト暗号化データ提供システムをセットアップし、受信機にマスタキーを割り当てる手順を示すフローチャートである(図7のステップS101及びステップS102参照)。図21は、HKT1800において、サブセット1810のノード1805への割り当てを示す図である。ここで、HKT1800は、27個の受信機のグループに対応する3次の木である。図22は、図21に示すHKT1800において、サブセットキー1905のノード1810への割り当てを示す図である。サブセット及びサブセットキーについては、後に説明する。
【0184】
管理センタは、ステップS801において、HKTを定義する。HKTは、N個のリーフを有するルートの付いた完全a進木(rooted full a−ary tree)であり、リーフと、ルートと、内部ノードとを含む(N−1)/(a−1)+N個のノードを有する。内部ノードは、図21に示すように、v(k=1,・・・,(N−1)/(a−1))として表される。ここで、Nがaの累乗ではない場合、管理センタは、Nより大きく且つNに最も近いaの累乗個のリーフを有するHKTを定義する。
【0185】
管理センタは、ステップS802において、各受信機を各リーフに割り当てる。受信機は、図21に示すように、u(j=1,・・・,N)として表される。ここで、Nがaの累乗ではない場合、余りのリーフには「仮想の」受信機が割り当てられる。なお、仮想の受信機は、仮想のエンティティであり、後に無効にする必要はない。
【0186】
管理センタは、ステップS803において、各内部ノードについてサブセットを定義する。管理センタは、各内部ノードvについて、2−2個のサブセットを定義する。サブセットは、次のように示される。
【数150】
Figure 2004229128
【0187】
ここで、kはサブセットがどの内部ノードvに対応しているかを示し、b...b...bは、サブセットに含まれているa値(サブセットの値)のビット列を示している。サブセットの値は、サブセットに対応している内部ノードの子ノードを示し、及び、後述するように、暗号化に使用するためにどのサブセットキーが選択されたかを示す。さらに、管理センタは、ルート(ノードv)について、サブセットS1,11...1を定義する。
【0188】
図21は、サブセットの内部ノードへの割り当てを示している。例えば、管理センタは、ノードvにサブセットS2,100、S2,010、S2,001、S2,110、S2,101、S2,011を割り当てている。
【0189】
管理センタは、ステップS804において、暗号化パラメータを選択する。管理センタは、暗号化パラメータを用いて、例えばキー等の暗号化のための値を生成する。暗号化パラメータのうちの一部は公開暗号化パラメータであり、管理センタは、ステップS805において、公開暗号化パラメータを公開する。なお、管理センタは、この他の秘密暗号化パラメータを受信機に対して秘密にする。管理センタは、2つの大きな素数q及びqを選択し、M=q×qである値Mを算出する。管理センタは、この値Mを公開暗号化パラメータとして公開する。
【0190】
さらに、管理センタは、パラメータq’、gを選択し、公開暗号化パラメータとして公開する。ただし、q’は、例えば1024ビットの大きな素数であり、gは、巡回群Zq’ の生成元である。
【0191】
さらに、管理センタは、K∈Z であるKを秘密暗号化パラメータとしてランダムに選択する。さらに、管理センタは、以下に示すような、(2−2)*(N−1)/(a−1)+1個の素数を選択する。
【数151】
Figure 2004229128
【0192】
なお、以下、素数、サブセットおよびサブセットキーにおいて、ビット列b...b...bをBと表す。管理センタは、各素数Pk,Bを対応するサブセットSk,Bに割り当てる(例えば、p1,100は、S1,100に割り当てられる)。そして、管理センタは、素数Pk,B、及びその割り当てを公開する。さらに、管理センタは、以下に示すような値Tを算出する。
【数152】
Figure 2004229128
管理センタは、Tを公開しない。
【0193】
管理センタは、ステップS806において、暗号化パラメータを用いて公開鍵暗号方式における秘密鍵として設定される秘密サブセットキーを生成する。秘密サブセットキーは、図22に示すように、PriSKk,Bとして示される。管理センタは、各サブセットSk,Bに対する秘密サブセットキーPriSKk,Bを以下の式(式b1)に従って求める。
【数153】
Figure 2004229128
・・・(式b1)
【0194】
管理センタは、上記式(式b1)によって算出される各秘密サブセットキーPriSKk,Bを対応するサブセットSk,Bに割り当てる。
【0195】
さらに、管理センタは、ステップS807において、各秘密サブセットキーを内部ノードの子ノードに割り当てる。サブセットの値は、サブセットに対応する内部ノードの子ノードを示している。管理センタは、サブセットの値が1であるサブセットの内部ノードの各子ノードに秘密サブセットキーを割り当てる。
【0196】
図22は、子ノードへのサブセットキーの割り当てを示している。例えば、図21及び図22に示すように、サブセットS1,111は、ルート(ノードv)に対応し、秘密サブセットキーPriSK1,111は、ルートの各子ノード(ノードv,v,v)に割り当てられている。秘密サブセットキーPriSK1,001は、ルートの右側の子ノード(v)のみに割り当てられている。このようにして、管理センタは、2a−1−1個の秘密サブセットキーを各子ノードに割り当てる(及び秘密サブセットキーPriSK1,11...1をルートの各子ノードに割り当てる)。
【0197】
管理センタは、各受信機uに対し、追加的なパラメータである値wを生成する。wは、内部ノードvに割り当てられ、受信機uのノードからルートのノードまでのパス上の子ノード(後述する)に割り当てられた秘密サブセットキーPriSKk,Bに対応する、サブセットSk,Bに割り当てられた全ての素数Pk,Bの積である。
【0198】
例えば、図21に示すHKT1800では、wは、uに対応し、b=1の値を有する各ノードv、v、vに割り当てられているサブセットに割り当てられている素数の積である。したがって、w=p5,1005,1105,1012,1002,1102,1011,1001,1101,1011,111である。これに代えて、管理センタがwを提供するのではなく、受信機が素数Pk,Bからwを導出するようにしてもよい。
【0199】
さらに、管理センタは、ステップS808において、上述の秘密サブセットキー(式b1参照)を公開鍵暗号方式における秘密鍵として設定した場合の対応公開鍵としての公開サブセットキーを算出する。公開サブセットキーは、下記式(式b2)に従って算出する。
【0200】
【数154】
Figure 2004229128
・・・(式b2)
【0201】
上記式において、Bは、ビット列b...b...bを示す。さらに、管理センタは、ステップS809において、上記式に従って生成した公開鍵、およびサブセットを示す値k,Bと、公開サブセットキーとの対応を示す公開サブセットキーファイル(公開鍵ファイル)を公開する。すなわち任意のデータ提供センタに提供する。公開鍵ファイルは、図23に示すようにサブセットを示す値k,Bと、サブセット公開キーPubSKk,Bとの対応を示すデータである。
【0202】
公開された公開サブセットキーの提供を受けたデータ提供者は、特定のユーザ機器のみの復号可能な暗号化データを上述の公開サブセットキーを用いた暗号化処理により生成する。暗号化データは、下式(式b3)に基づいて生成する。
【数155】
Figure 2004229128
・・・(式b3)
【0203】
上記式において、Bは、ビット列b...b...bを示す。Iが送信する秘密データである。xは、データ提供センタがランダムに選択したx∈Z q’を満足する数である。データ提供者は、管理センタから公開されているパラメータgと上述のxとから生成したg mod q’と、上記式によって生成される暗号化データCTk,Bとをブロードキャストする。受信機においては、データ提供センタが暗号化に適用した公開鍵に対応する秘密鍵としての秘密ノードキーを適用して暗号化データCTk,Bを復号する。データ復号処理については後述する。
【0204】
管理センタは、ステップS810において、暗号化パラメータを用いてマスタキーを生成する。マスタキーは、図22に示すように、MKとして表される。ここで、管理センタは、以下の式(式b4)に基づいて、各受信機uに対応するマスタキーMKを算出する。
【数156】
Figure 2004229128
・・・(式b4)
【0205】
管理センタは、各マスタキーMKを対応する受信機uに割り当てる。マスタキーMKを用いて、受信機uに対応するリーフ、又は受信機uに対応するリーフからルートまでのパスに含まれる内部ノードvに対応する全ての秘密サブセットキーPriSKk,Bを導出することができる。
【0206】
例えば、図22に示すHKT1800において、uにはマスタキーMKが割り当てられており、このMKを用いて秘密サブセットキーPriSK5,100、PriSK5,110、PriSK5,101、PriSK2,100、PriSK2,110、PriSK2,101、PriSK1,100、PriSK1,110、PriSK1,101、PriSK1,111を導出することができる。受信機uのいずれも無効にされていない場合は、秘密サブセットキーPriSK1,11...1は、全てのマスタキーMKから導出することができる。管理センタは、ステップS811において、各マスタキーMKを対応する受信機uに送信する。
【0207】
管理センタは、ステップS812において、HKTに関する情報を各受信機に送信する。管理センタは、HKTの構造(例えば、HKT内のノード数)及び受信機に関連する割り当て(例えば、サブセットキー及びサブセットのノードへの割り当て)を示す情報を受信機に送信する。上述のように、管理センタは、素数Pk,B等の公開暗号化パラメータ及びどの内部ノードがこの素数Pk,Bに対応しているかを示す情報を公開する。さらに、管理センタは、各サブセットSk,Bがどの内部ノードvに割り当てられており、及び受信機のマスタキーMKから導出することができる秘密サブセットキーPriSKk,Bがどの内部ノードv又はリーフに割り当てられているかを示す情報を送信する。
【0208】
図7のステップS102について上述したように、他の具体例においては、管理センタは、受信機の製造業者にマスタキーを提供し、受信機の製造業者が受信機にマスタキーを組み込む。この場合、管理センタは、製造業者を介して、公開暗号化パラメータ及びHKT情報を受信機に提供する。
【0209】
図24は、HKTを用いて特定の受信機、例えば料金未払い等の受信機のリボーク処理を実行して無効にし、ノードキーを選択し、表現コードを生成する処理を示すフローチャートである。図7のステップS103、S104、S105に対応する処理である。なお、図24に示す処理は、管理センタではなくデータ提供センタが行ってもよい。
【0210】
図25は、図21のHKT1800において、無効にされた受信機2105及び選択された秘密サブセットキー2110に対応するサブセットのノードを示す図である。管理センタは、ステップS901において、1つ以上の受信機のリボーク処理を実行し無効にする。管理センタは、受信機が管理センタから送信している暗号化データを復号する権限を有さなくなった場合に、その受信機を無効又は有効ではなくする。例えば、管理センタは、必要な料金を支払っていない受信機又はライセンスが有効ではなくなった受信機を無効にする。
【0211】
図25では、無効にされた受信機、例えば受信機2105に対応するHKT1800の対応するノードに「×」印を付している。管理センタは、受信機u、u13、u27を無効にしている。この他の受信機u、u〜u12、u14〜u26は、無効にされていない、すなわち有効な受信機である。
【0212】
管理センタは、ステップS902において、無効にされたリボーク受信機に割り当てられているマスタキーに基づいて生成できる秘密鍵としての秘密サブセットキーを無効にする。例えば、図15に示す具体例では、管理センタは、受信機uを無効にし、この受信機uにはマスタキーMKが割り当てられている。受信機uは、マスタキーMKを用いて、秘密サブセットキーPriSK5,010、PriSK5,110、PriSK5,011、PriSK2,100、PriSK2,110、PriSK2,101、PriSK1,100、PriSK1,110、PriSK1,101、PriSK1,111を生成することができる。したがって、管理センタは、秘密サブセットキーPriSK5,010、PriSK5,110、PriSK5,011、PriSK2,100、PriSK2,110、PriSK2,101、PriSK1,100、PriSK1,110、PriSK1,101、PriSK1,111を無効にする。
【0213】
無効にされていない受信機の各マスタキーについては、管理センタは、ステップS903において、これらのマスタキーに基づいて生成でき、且つ無効にされている受信機に対応するマスタキーからは生成できない秘密サブセットキーを選択する。HKT1800において、管理センタは、無効にされていない秘密サブセットキーを有する子ノードを示すサブセットに対応する有効なサブセットを選択する(図21を用いて説明したように、サブセットは内部ノードに割り当てられており、また図22を用いて説明したように、秘密サブセットキーは、子ノードに割り当てられている)。
【0214】
なお、他の手法において、管理センタは、無効にされた受信機に対応するリーフからルートまでのパス上の枝を取り除いてリボーク機器の排除を行うことが可能である。枝を取り除くことにより、有効機器を持つ1つ以上の切り離されたサブツリーが残る。なお、1つ以上のサブツリーは、単一の枝しか有していない場合もある。図26は、図21に示すHKT1800から枝を取り除いたツリー2200を示している。
【0215】
取り除かれた枝2205は、破線により示されている。一方、残っている枝2210は、実線により示されている。管理センタは、これらのサブツリーのルートとなるノードに対応し、これらのサブツリーに含まれる子ノードを示すサブセットに対応する秘密サブセットキーを選択する。例えば、図26に示す具体例では、内部ノードvは、3個の子ノードを有するサブツリーのルートである。右側の子ノード及び左側の子ノードのサブセットキーは無効にされておらず、一方、中央の子ノードのサブセットキーは無効にされている。サブセットS5,101は、ノードvの左側及び右側の子を示しており、したがって、管理センタは、対応する秘密サブセットキーPriSK5,101を選択する。
【0216】
図25及び図26では、選択された秘密サブセットキーに対応するノードを囲む正方形の枠によって選択されたサブセットキー2110を示している。すなわち、管理センタは、秘密サブセットキーPriSK2,011、PriSK3,101、PriSK4,110、PriSK5,101、PriSK9,011、PriSK13,110を選択している。
【0217】
管理センタは、ステップS904において、HKT及び無効にされた受信機に基づいて表現木を定義する。図27は、図21及び図25に示すHKT1800に基づく表現木2300を示している。図27の濃い又は太い枝は、表現木2300の一部である枝を示している。図17の薄い又は細い枝は、表現木2300に含まれない。無効にされた受信機2105及び選択されたサブセットキー2110は、図25と同様に示されている。表現木2300のルートは、対応するHKTのルートである。表現木2300のリーフは、選択されたサブセットキーに対応するサブセットである。表現木2300の内部ノードは、リーフとルートの間のノードである。
【0218】
管理センタは、ステップS905において、表現木2300に基づく表現コードを生成する。管理センタは、表現木の各ノードに2つの値を割り当てる。管理センタは、HKT内のノードに子が存在する場合、HKT内の対応するノードのどの子が表現木に含まれるかを示す子値(child value)を割り当てる。管理センタは、ノードに対応するサブセットが、選択された対応するサブセットキーを有する場合、どのサブセットがどのサブセットキーに対応しているかを示すサブセット値を割り当てる。この具体例では、a進木を用いているため、表現木の各ノードは、a個の子を有する可能性がある。したがって、管理センタは、a個の1ビット値を用いて、サブセット値を示すことができる。図27では、表現木2300の各ノードの隣に示す括弧で括られた(”子値”,”サブセット値”)のパターンを有する2つの数によって、子値及びサブセット値を示している。
【0219】
例えば、ルートの隣には、(111,000)が示されている。「111」は子値であり、ルートの左側、中央、右側の子が表現木2300に含まれていることを表している。「000」はサブセット値であり、ルートのサブセットに対応するサブセットキーが1つも選択されていないことを表している。また、ノードvの隣には、(100,011)が示されている。子値「100」は、左側の子(ノードv)が表現木2300に含まれており、中央及び右側の子(ノードv及びノードv)が表現木2300に含まれていないことを表している。
【0220】
サブセット値「011」は、値011を有するサブセット(すなわち、SK2,011)に対応するサブセットキーが選択されていることを表している。表現木のリーフは、子を有していないことを示す値を有している。例えば、図27に示す具体例では、ノードv及びvは、それぞれ値(000,101)及び(000,011)を有する。このように、表現木2300は、ノードv、v、v、v、v、v、v13を含み、管理センタは、秘密サブセットキーPriSK2,0 11、PriSK3,101、PriSK4,110、PriSK5,101、PriSK9,011、PriSK13,110を選択している。
【0221】
管理センタは、表現木のノードに割り当てられた値を一続きにすることにより、表現コードを生成する。管理センタは、各ノードに割り当てられた値を幅優先順に連結する。例えば、図27に示す具体例では、管理センタは、ノードv、v、v、v、v、v、v13(この他のノードは、表現木に含まれていない。)の値を用いる。すなわち、管理センタは、値(111,000)、(100,011)、(010,101)、(001,110)、(000,101)、(000,011)、(000,110)を用いる。これにより生成される表現コードは、111000100011010101001110000101000011000110である。
【0222】
管理センタは、ステップS906において、各受信機に表現コードを送信する。受信機は、表現コードを用いて、表現ツリーを再構築することができる。後述するように、受信機は、表現木内のサブセット値に基づく検索アルゴリズムを用いて、HKTにおける受信機のノードからHKTのルートまでのパス上のノードであって、受信機のマスタキーによって導出できる対応するサブセットを持つノードを特定する。受信機は、受信機のマスタキーに基づいてそのサブセットキーを導出し、このサブセットキーを用いて復号を行う。
【0223】
データ提供センタは、選択された各秘密サブセットキーに対応する公開サブセットキーを用いて、上述の式(式b3)を適用してデータを暗号化する(図7のステップS151参照)。データ提供センタは暗号化データをブロードキャスト送信する(図7に示すステップS152参照)。
【0224】
なお、一具体例においては、データ提供センタによる、選択された秘密サブセットキーに対応する公開サブセットキーによるデータ暗号化処理と、表現コードの生成処理は、いずれが先でもよい。上述のように、受信機が1つも無効にされていない場合、データ提供センタは、同一のサブセットキー(図22におけるSK1,11...1)を用いて暗号化を行う。
【0225】
データ提供センタは、選択された秘密サブセットキーに対応する公開サブセットキーを適用して生成した暗号化データを全ての受信機に対して送信する(図7に示すステップS107参照)。なお、一具体例においては、図9の処理フローに示したように、データ提供センタは、選択されたサブセットキーを用いて、コンテンツキーをキー暗号化データとして暗号化し、このキー暗号化データを受信機に送信し、次に、コンテンツキーを用いてコンテンツファイルを暗号化し、暗号化されたコンテンツファイルを受信機に送信する。
【0226】
図28は、受信機によるブロードキャスト送信された暗号化データの復号処理を示すフローチャートである。図28に示す処理は、ユーザの情報処理装置における処理であり、例えば図1に示す放送暗号化システム100において、放送データ提供センタ105から放送されたデータ及び暗号化データを受信する受信機120−〜120− の処理である。または、図4に
示す放送暗号化システム400において、メディアデータ提供センタ405が配布のために準備したデータ媒体を介して、データ及び暗号化データを読み取り再生を行う再生機425による処理である。
【0227】
受信機は、ステップS1001において、管理センタから暗号化パラメータを受け取る。図20のステップS804に関連して上述したように、管理センタは、受信機が管理センタから受信した暗号化データを復号するために使用する、例えば、サブセットSk,Bへの素数Pk,Bの割り当て等の公開暗号化パラメータを受信機に公開する。
【0228】
一具体例においては、受信機は、公開暗号化パラメータを非安全ストレージ(例えば、図2に示すメインストレージ225)に保存する。受信機は、ステップS1002において、管理センタからマスタキーを受信する。受信機は、マスタキーを安全ストレージに保存する。図20のステップS808及びステップS809に関連して上述したように、管理センタは、受信機用のマスタキーを生成し、このマスタキーを受信機に送信する。受信機は、このマスタキーに基づいて、復号のためのサブセットキーを導出する。さらに、受信機は、ステップS1003において、管理センタから、管理センタによって定義されたHKTに関する情報を受信する。
【0229】
先に図20のステップS810に関連して説明したように、管理センタは、HKTの構造と、受信機に関連する割り当てに関する情報とを受信機に送信する。変形例においては、管理センタは、暗号化パラメータの一部又は全部と、マスタキーと、HKT情報とを受信機に送信する。なお、受信機は、暗号化パラメータと、マスタキーと、HKT情報とを、管理センタから受信せず、予め受信機の製造業者が受信機に格納したデータを読み取り使用してもよい。
【0230】
受信機は、ステップS1004において、管理センタから表現コードを受け取る。図24のステップS904及びステップS905に関連して説明したように、管理センタは、表現木(図27参照)を定義し、この表現木から表現コードを生成する。
【0231】
受信機は、ステップS1005において、表現コードを用いて、復号に使用する秘密サブセットキーを選択する。受信機は、表現コードから表現木を再構築する。上述のように、図27に示す表現木2300用の表現コードは、111000100011010101001110000101000011000110である。受信機は、HKT情報を用いて、表現コードを表現木のノードに対応する値、すなわち(111,000)、(100,011)、(010,101)、(001,110)、(000,101)、(000,011)、(000,110)に分離する。
【0232】
受信機は、これらの値に基づき、幅優先順検索法(breadth−first approach)を用いて、表現木内における子ノードの有無を判定する。例えば、最初の値(111,000)は、ルート(ノードv)に対応し、子値「111」は、ルートが左側の子(ノードv)と、中央の子(ノードv)と、右側の子(ノードv)とを有していることを示している。第2の値(100,011)は、ノードvに対応し、ノードvが左側の子(ノードv)を有しているが、中央及び右側の子を有していないことを示している。受信機は、このようなパターンに基づく判断を繰り返して表現木を完成させる。サブセット値は、サブセットキーが選択されている場合、各ノードについてどのサブセットキーが選択されているかを表している。
【0233】
受信機は、内部ノードvに対応し、及びHKTにおける受信機のノードからルートまでのパス上の子ノードに割り当てられた秘密サブセットキーに対応するサブセットを検出するまで、(例えば、幅優先順検索法を用いて)再構築された表現木を検索する(ここで、表現木のノードvは、HKTのノードvに対応する)。上述のように、管理センタは、HKT内の各ノードにサブセットを割り当て(図21参照)、各サブセットは対応する秘密サブセットキーを有している。
【0234】
管理センタは、サブセット値を用いて、サブセットに対応するノードの1つ以上の子ノードに、対応する秘密サブセットキーを割り当てる(図22参照)。受信機は、子ノードへの秘密サブセットキーの割り当てに関する情報に基づいて、表現木により示されているどの秘密サブセットキーを用いて復号を行うかを判断する。受信機は、表現木を検索し、HKTにおいて受信機に対応するリーフからルートまでのパス上のノードに対応する秘密サブセットキーを検出する。
【0235】
例えば、図21、図22、図25及び図27の表現木2300に示すように、受信機uは、HKT1800における受信機uに対応するリーフからルートまでのパス上のノードに対応する選択された秘密サブセットキーとして、秘密サブセットキーPriSK5,101を検出する。受信機uのパスには、受信機uに対応するリーフと、ノードv、v、vが含まれる。受信機uに対応するリーフには、秘密サブセットキーPriSK5,101が対応し、したがって、受信機uのパス上のノードには、秘密サブセットキーが対応している。また、秘密サブセットキーPriSK5,101は、受信機uに対応するノードにも対応しているため、同様に、受信機uは、秘密サブセットキーPriSK5,101を選択された秘密サブセットキーとして検出する。
【0236】
受信機u〜uは、秘密サブセットキーPriSK2,011を検出する。受信機が、HKTにおける受信機に対応するリーフからルートまでのパス上のノードに対応するサブセットキーを表現木内で検出できない場合、受信機は、自らが無効にされ、有効なキーを導出することができないと判断する。例えば、受信機uは、無効にされており、したがって、受信機uは、受信機uに対応するリーフからルートまでのパス上のノードに対応する秘密サブセットキーを検出することができない。受信機uのパス上には、受信機uに対応するリーフと、ノードv、v、vが存在する。これらのうち、いずれのノードも表現木におけるサブセットキーに対応していない。一具体例においては、受信機は、管理センタと通信する(例えば、ネットワーク接続を介して)ことにより、受信機が無効にされたことを確認する。
【0237】
秘密サブセットキーを選択した後、受信機は、ステップS1006において、受信機のマスタキーに基づいて選択された秘密サブセットキーを導出する。上述のように、秘密サブセットキーは、PriSKk,Bと表され、マスタキーは、図13に示すようにMKと表される。受信器uが受信する暗号化パラメータは、素数Pk,Bと、wである。wは、内部ノードvに割り当てられ、受信器uに対応するリーフであるノードからルートまでのパス上に存在する子ノードに割り当てられた秘密サブセットキーPriSKk,Bに対応するサブセットPriSk,Bに割り当てられた全ての素数Pk,Bの積である。これに代えて、受信機は、wを受信するのではなく、素数Pk,Bからwを算出してもよい。受信機は、以下の式(式b5)に基づいて秘密サブセットキーPriSKk,Bを算出する。
【0238】
【数157】
Figure 2004229128
・・・(式b5)
【0239】
上記式において、Bは、ビット列b...b...bを示す。なお、一具体例においては、受信機は、w/Pk,Bを予め算出しておく。
【0240】
受信機は、ステップS1007において、例えば放送暗号化システムの放送チャンネルを介して、データ提供センタから1つ以上の暗号化データを受け取る。データ提供センタは、上述の式(式b2)により定義される公開サブセットキーを適用して生成した上述の式(式b3)により定義される暗号化データを送信する。なお、受信機は、秘密サブセットキーを導出する前に、暗号化データを受信してもよい。
【0241】
ステップS1008において、受信機は、上述のようにして導出した秘密サブセットキーを用いて、受信した暗号化データを復号し復号データIを取得する。データ復号処理は、下式(式b6)に基づいて実行する。
【0242】
【数158】
Figure 2004229128
・・・(式b6)
【0243】
上記式において、Bは、ビット列b...b...bを示す。なお、一具体例においては、受信機は、導出したサブセットキーを用いて、受信した各暗号化データを復号するよう試みる。受信機は、例えばチェックサム値を用いて、復号結果が受信した暗号化データに対して正しいものであるか否かを判定する。他の具体例においては、受信機は、導出したサブセットキーが暗号化データの復号に有効であるか否かを判定した後、導出したサブセットキーに対応する暗号化データを復号する。一具体例においては、受信機は、ステップS1001〜ステップS1003を1回(又は、受信機の数が変わる等、システムに変化が生じるまで)実行し、この後は、暗号化データの配信毎に、ステップS1004〜ステップS1008を繰り返す。
【0244】
なお、一具体例においては、図9の処理フローを参照して説明したように、受信機は、コンテンツキーを暗号化データとして受信し、さらにコンテンツキーに対応する暗号化されたコンテンツファイルを受信する。コンテンツキー及びコンテンツファイルの復号を含むブロードキャスト暗号化データの復号処理のフローチャートを図29に示す。図29に示す具体例において、図28を用いて説明したステップと同様のステップは、図28に示す具体例と同様に実行されるので、変更があったステップについて、以下に説明する。
【0245】
受信機は、ステップS1101において、管理センタから暗号化パラメータを受信する。受信機は、ステップS1102において、管理センタからマスタキーを受信する。受信機は、ステップS1103において、管理センタから、管理センタにより定義されたHKTに関する情報を受信する。
【0246】
ステップS1104において、管理センタから表現コードを受信する。受信機は、ステップS1105において、表現コードを用いて、復号に使用する秘密サブセットキーを選択する。秘密サブセットキーを選択した後、受信機は、ステップS1106において、受信機のマスタキーに基づいて、選択された秘密サブセットキーを導出する。
【0247】
受信機は、ステップS1107において、放送暗号化システムの放送チャンネルを介して、データ提供センタから1つ以上のコンテンツキー暗号化データを受信する。受信機が受信する各キー暗号化データは、それぞれ異なる秘密サブセットキーを用いて暗号化された同一のコンテンツキーである。
【0248】
受信機は、ステップS1108において、導出した秘密サブセットキーを用いて、受信したキー暗号化データを復号する。導出された秘密サブセットキーは、複数のキー暗号化データのうちの1つのキー暗号化データのみの復号に有効である。復号されたキー暗号化データにより、受信機はコンテンツキーを(例えば、平文テキストとして)得ることができる。
【0249】
受信機は、ステップS1109において、データ提供センタから、暗号化されたコンテンツファイルを受け取る。コンテンツファイルは、コンテンツキーを用いて暗号化されている。受信機は、例えばヘッダ情報又はファイルサイズに基づいて、キー暗号化データと、暗号化されているコンテンツファイルとを区別する。受信機は、ステップS1110において、コンテンツキーを用いて、暗号化されているコンテンツファイルを復号する。これにより、受信機は、平文のコンテンツファイルにアクセスすることができる。
【0250】
例えば、コンテンツファイルがビデオファイルである場合、受信機は、コンテンツを再生することができる(図3に示す受信機300及び図6に示す再生機600参照)。一具体例においては、受信機はステップS1101〜ステップS1103を1回(又は、受信機の数が変わる等、システムに変化が生じるまで)実行し、この後は、暗号化データの配信毎に、ステップS1104〜ステップS1110を繰り返す。
【0251】
一具体例においては、受信機は、管理センタから受信した素数Pk,Bを暗号化パラメータとして保存する。他の具体例においては、受信機は、この素数Pk,Bを保存せず、必要に応じて生成する。この場合、受信機は値Lを保存する。ここで、Lは、間隔(interval)((k−1)L,kL]が少なくとも2−1個の素数を含むように選択される。さらに、一具体例においては、Lは、L>(2−1)ln(2Nlog2N)を満たすように選択される。受信機は、例えばミラー・ラビンアルゴリズム(Miller−Rabin algorithm)等の素数検査アルゴリズムを用いて、(k−1)Lより大きいx番目に小さい素数を検索する。ここで、xは、Bの値によって示されるバイナリ表現の十進法数である。例えば、受信機は、素数p1,111に対して7番目に小さい奇数の素数(odd prime)を使用する(111は、十進法数7のバイナリ表現である)。
【0252】
他の具体例として、データ提供センタは、ハッシュ関数を用いてハッシュキーを算出し、このハッシュキーを用いて暗号化を行う構成としてもよい。データ提供センタによるハッシュ関数を適用した暗号化データの生成について説明する。上記した式(式b3)を適用した暗号文生成処理によると、各暗号文CTのサイズはq’のサイズとなる。ハッシュ関数を適用することにより、各暗号文のサイズを小さくして効率化が図れる。暗号化データCTは、下式(式b7)に従って生成する。
【0253】
【数159】
Figure 2004229128
・・・(式b7)
【0254】
上記式において、Bは、ビット列b...b...bを示す。xは、データ提供センタがランダムに選択したx∈Z q’を満足する数である。Hは、|q’|(たとえば1024bit)のビット列を|I|(たとえば、128bit)のビット列にランダムにマッピングするハッシュ関数である。この、ハッシュ関数は、管理センタによって公開される。たとえば図7のステップS101のセットアップフェーズにおいて公開する。
【0255】
データ提供センタは、前述したと同様、管理センタから公開されているパラメータgと上述のxとから生成したg mod q’と、上記式によって生成される暗号化データCTk,Bとをブロードキャストする。受信機においては、データ提供センタが暗号化に適用した公開鍵に対応する秘密鍵としての秘密サブセットキーを適用して暗号化データCTk,Bを復号する。
【0256】
受信機におけるデータ復号処理は、下式(式b8)に従って実行される。
【数160】
Figure 2004229128
・・・(式b8)
【0257】
[秘密サブセットキー及び各受信機用の複数のマスタキーを有する階層型キーツリー]
次に、ブロードキャスト暗号化データの提供により、特定の認証ユーザのみのデータ利用を可能とした構成例として秘密サブセットキー及び各受信機用の複数のマスタキーを有する階層型キーツリーを用いた構成例について説明する。
【0258】
ブロードキャスト暗号化データ提供システムは、例えば図1及び図4に示すシステム100、400のように、データ提供センタ、管理センタとN個の受信機とを備え、管理センタは、階層型キーツリー(HKT)及び秘密サブセットキー、および各受信機用の複数のマスタキーの管理を行う。この具体例においては、図20〜図29を用いて説明した具体例に類似しており、異なる点を中心として以下に説明する。
【0259】
管理センタは、図20〜図22を用いて上述した処理と同様の手法により、ブロードキャスト暗号化データ提供システムをセットアップする。ただし、この具体例においては、管理センタは、各受信機に対し複数のマスタキーを生成する。後述するように、受信機は、上述の具体例のように1つのマスタキーを用いて、受信機からルートまでのパス上のノードに割り当てられている公開鍵暗号方式における秘密鍵としての秘密サブセットキーを導出するのではなく、受信した各マスタキーを用いて、各ノードに割り当てられている秘密サブセットキーを導出する。
【0260】
この具体例では、管理センタは、受信機からルートまでのパス上の各ノードについて1つのマスタキーを受信機に提供する(但し、ルートには秘密サブセットキーが割り当てられないので、ルート自体は除く)。
【0261】
図30は、サブセット及びサブセットキーを有するHKTを用いてブロードキャスト暗号化データ提供システムをセットアップし、受信機に複数のマスタキーを割り当てる手順を示すフローチャートである(図7のステップS101及びステップS102参照)。図31は、HKT2700において、サブセットキー2705のノード2710への割り当てを示す図である。ここで、HKT2700は、27個の受信機のグループに対応する3次の木である。図31において、サブセットは、図21におけるHKT1800と同様にHKT2700に割り当てられている。
【0262】
管理センタは、ステップS1201において、HKTを定義する。HKTは、N個のリーフを有するルートの付いた完全a進木(rooted full a−ary tree)であり、リーフと、ルートと、内部ノードとを含む(N−1)/(a−1)+N個のノードを有する。内部ノードは、図31に示すように、v(k=1,・・・,(N−1)/(a−1))として表される。ここで、Nがaの累乗ではない場合、管理センタは、Nより大きく且つNに最も近いaの累乗個のリーフを有するHKTを定義する。
【0263】
管理センタは、ステップS1202において、各受信機を各リーフに割り当てる。受信機は、図31に示すように、u(j=1,・・・,N)として表される。Nがaの累乗ではない場合、余りのリーフには「仮想の」受信機が割り当てられる。なお、仮想の受信機は、仮想のエンティティであり、後に無効にする必要はない。
【0264】
管理センタは、ステップS1203において、各内部ノードについてサブセットを定義する。管理センタは、各内部ノードvについて、2−2個のサブセットを定義する。サブセットは、a個の値を有し、次のように示される。
【数161】
Figure 2004229128
【0265】
ここで、kはサブセットがどの内部ノードvに対応しているかを示し、b...b...bは、サブセットに含まれているa値(サブセットの値)のビット列を示している。サブセットの値は、サブセットに対応している内部ノードの子ノードを示し、及び、後述するように、暗号化に使用するためにどのサブセットキーが選択されたかを示す。さらに、管理センタは、ルート(ノードv)について、サブセットS1,11...1を定義する。サブセットは、図21に示すHKT1800と同様に、図31に示すHKT2700に割り当てられる。例えば、管理センタは、ノードvにサブセットS2,100,S2,010,S2,001,S2,110,S2,101,S2,011を割り当てている。
【0266】
管理センタは、ステップS1204において、暗号化パラメータを選択する。管理センタは、暗号化パラメータを用いて、例えばキー等の暗号化のための値を生成する。暗号化パラメータのうちの一部は公開暗号化パラメータであり、管理センタは、ステップS1205において、公開暗号化パラメータを公開する。なお、管理センタは、この他の秘密暗号化パラメータを受信機に対して秘密にする。管理センタは、2つの大きな素数q及びqを選択し、M=q×qである値Mを算出する。管理センタは、この値Mを公開暗号化パラメータとして公開する。
【0267】
さらに、管理センタは、パラメータq’、gを選択し、公開暗号化パラメータとして公開する。ただし、q’は、例えば1024ビットの大きな素数であり、gは、巡回群Zq’ の生成元である。
【0268】
さらに、管理センタは、各内部ノード v に対し,K∈Z であるKを秘密暗号化パラメータとしてランダムに選択する。さらに、管理センタは、下記の(2−1)個の素数Pを選択する。
【数162】
Figure 2004229128
【0269】
管理センタは、各素数Pを各ノードv用の対応するサブセットSk,Bに割り当てる(例えば、p100は、S1,100、S2,100、S3,100・・・に割り当てられる)。そして、管理センタは、素数P及びその割り当てを公開する。さらに管理センタは、全ての素数Pの積として値Tを下記式に従って算出する。
【数163】
Figure 2004229128
【0270】
管理センタは、各受信機u及び各内部ノードvについて、値wj,kを生成する。値wj,kは、内部ノードvに割り当てられ、受信機uからルートまでのパス上の子ノードに割り当てられている秘密サブセットキーPriSKk,Bに対応するサブセットSk,Bに割り当てられている全ての素数Pの積である。
【0271】
例えば、図31のHKT2700において、w1,5は受信機u及びノードvに対応する。w1,5は、ノードvに割り当てられ、受信器uに対応するリーフノード(受信機uに対応するリーフからルートまでのパス上のvの子ノード)に割り当てられている秘密サブセットキーPriSKk,Bに対応するサブセットSk,Bに割り当てられている素数Pの積である。すなわち、w1,5=100110101である。
【0272】
管理センタは、ステップS1206において、暗号化パラメータを用いて秘密サブセットキーを生成する。秘密サブセットキーは、図31に示すように、PriSKk,Bと表される。管理センタは、各サブセットSk,Bに対する秘密サブセットキーPriSKk,Bを以下の式(式c1)に従って求める。
【0273】
【数164】
Figure 2004229128
・・・(式c1)
【0274】
上記式において、Bは、ビット列b...b...bを示す。管理センタは、上記式(式c1)によって算出される各秘密サブセットキーPriSKk,Bを対応するサブセットSk,Bに割り当てる。
【0275】
さらに、管理センタは、ステップS1207において、各秘密サブセットキーを内部ノードの子ノードに割り当てる。サブセットの値は、サブセットに対応する内部ノードの子ノードを示している。管理センタは、サブセットの値が1であるサブセットの内部ノードの各子ノードに秘密サブセットキーを割り当てる。
【0276】
図31は、子ノードへの秘密サブセットキーの割り当てを示している。例えば、図21及び図22を参照して説明したように、サブセットS1,111は、ルート(ノードv)に対応し、秘密サブセットキーPriSK1,111は、ルートの各子ノード(ノードv,v,v)に割り当てられている。秘密サブセットキーPriSK1,001は、ルートの右側の子ノード(v)のみに割り当てられている。このようにして、管理センタは、2a−1−1個の秘密サブセットキーを各子ノードに割り当てる(及び秘密サブセットキーPriSK1,11...1をルートの各子ノードに割り当てる)。
【0277】
さらに、管理センタは、ステップS1208において、上述の秘密サブセットキー(式c1参照)を公開鍵暗号方式における秘密鍵として設定した場合の対応公開鍵としての公開サブセットキーを算出する。公開サブセットキーは、下記式(式c2)に従って算出する。
【0278】
【数165】
Figure 2004229128
・・・(式c2)
【0279】
上記式において、Bは、ビット列b...b...bを示す。さらに、管理センタは、ステップS1209において、上記式に従って生成した公開鍵、およびサブセットを示す値k,Bと、公開サブセットキーとの対応を示す公開サブセットキーファイル(公開鍵ファイル)を公開する。すなわち任意のデータ提供センタに提供する。公開鍵ファイルは、先に説明した図23に示すようにサブセットを示す値k,Bと、公開サブセットキーPubSKk,Bとの対応を示すデータである。
【0280】
公開された公開サブセットキーの提供を受けたデータ提供者は、特定のユーザ機器のみの復号可能な暗号化データを上述の公開サブセットキーを用いた暗号化処理により生成する。暗号化データは、下式(式c3)に基づいて生成する。
【0281】
【数166】
Figure 2004229128
・・・(式c3)
【0282】
上記式において、Bは、ビット列b...b...bを示す。Iが送信する秘密データである。xは、データ提供センタがランダムに選択したx∈Z q’を満足する数である。データ提供者は、管理センタから公開されているパラメータgと上述のxとから生成したg mod q’と、上記式によって生成される暗号化データCTk,Bとをブロードキャストする。受信機においては、データ提供センタが暗号化に適用した公開鍵に対応する秘密鍵としての秘密ノードキーを適用して暗号化データCTk,Bを復号する。データ復号処理については後述する。
【0283】
管理センタは、ステップS1210において、暗号化パラメータを用いて、複数のマスタキーを生成する。マスタキーは、図31に示すようにMKj,kと表される。管理センタは、各受信機uについて、その受信機uからルートまでのパス上に存在する各ノードv毎に1つのマスタキーMKj,kを生成することにより、受信機uに対して複数のマスタキーMKj,kを生成する。したがって、マスタキーMKj,kは、受信機uと内部ノードvに対応する。管理センタは、マスタキーMKj,kを以下の式(式c4)に基づいて算出する。
【0284】
【数167】
Figure 2004229128
・・・(式c4)
【0285】
管理センタは、各複数のマスタキーMKj,kを対応する受信機uに割り当てる。このマスタキーMKj,kに基づいて、内部ノードvに割り当てられ、受信機のノードからルートまでのパス上のノードに対応するサブセットSk,Bに対応する全ての秘密サブセットキーPriSKk,Bを導出することができる。
【0286】
例えば、図31に示すHKT2700において、受信機uには、マスタキーMK1,1、MK1,2、MK1,5が割り当てられている。受信機uは、マスタキーMK1,1を用いて、秘密サブセットキーPriSK1,100、PriSK1,110、PriSK1,101、PriSK1,111を導出することができ、マスタキーMK1,2を用いて、PriSK2,100、PriSK2,110 、PriSK2,101を導出することができ、マスタキーMK5,100を用いて、秘密サブセットキーPriSK5,100、PriSK5,110、PriSK5,101を導出することができる。受信機uのいずれも無効にされていない場合、各受信機uは、マスタキーMKj,1を有し、これを用いて秘密サブセットキーPriSK1,11...1を導出することができる。
【0287】
管理センタは、ステップS1211において、対応する受信機uに複数のマスタキーMKj,kを送信する。さらに、管理センタは、ステップS1212において、各受信機にHKTに関する情報を送信する。
【0288】
管理センタは、図24及び図27を用いて説明したように、受信機を無効にし、表現コードを生成する。受信機は、図28及び図29を用いて説明したように、管理センタから送信されてきた暗号化データを復号する。但し、ここでは、受信機uは、選択された秘密サブセットキーPriSKk,Bに対応するマスタキーMKj,kを選択し、以下の式(式c5)に基づいて、選択された秘密サブセットキーPriSKk,Bを導出する。
【0289】
【数168】
Figure 2004229128
・・・(式c5)
【0290】
受信機は、上述のようにして導出した秘密サブセットキーPriSKk,Bを用いて、受信した暗号化データを復号し復号データIを取得する。データ復号処理は、下式(式c6)に基づいて実行する。
【数169】
Figure 2004229128
・・・(式c6)
【0291】
上記式において、Bは、ビット列b...b...bを示す。なお、一具体例においては、受信機は、管理センタから受信した素数Pを暗号化パラメータとして保存する。他の具体例においては、受信機は、この素数Pを保存せず、最も小さい2−1個の素数として生成する。他の具体例においては、受信機は、素数Pに対してd番目に小さい奇数の素数(odd prime)を使用する。ここで、dは、Bによって示されるバイナリ表現の十進法数である。例えば、受信機は、受信機は、素数p111に対して7番目に小さい奇数の素数(odd prime)を使用する(111は、十進法数7のバイナリ表現である)。この場合、各受信機は、A/2個のエントリを有する1ビット値のテーブルを保存する。ここで、Aは、2−1個の素数を含むのに十分大きな値とする。x番目のエントリは、0からx番目の奇数に対応し、エントリのビット値は、エントリに対応している奇数が素数であるか否かを表している。
【0292】
他の具体例として、データ提供センタは、公開鍵にハッシュ関数を適用してハッシュキーを算出し、このハッシュキーを用いて暗号化を行う構成としてもよい。データ提供センタによるハッシュ関数を適用した暗号化データの生成について説明する。上記した式(式c3)を適用した暗号文生成処理によると、各暗号文CTk,Bのサイズはq’のサイズとなる。ハッシュ関数を適用することにより、各暗号文のサイズを小さくして効率化が図れる。暗号化データCTk,Bは、下式(式c7)に従って生成する。
【0293】
【数170】
Figure 2004229128
・・・(式c7)
【0294】
上記式において、Bは、ビット列b...b...bを示す。xは、データ提供センタがランダムに選択したx∈Z q’を満足する数である。Hは、|q’|(たとえば1024bit)のビット列を|I|(たとえば、128bit)のビット列にランダムにマッピングするハッシュ関数である。この、ハッシュ関数は、管理センタによって公開される。たとえば図7のステップS101のセットアップフェーズにおいて公開する。
【0295】
データ提供センタは、前述したと同様、管理センタから公開されているパラメータgと上述のxとから生成したgmodq’と、上記式によって生成される暗号化データCTk,Bとをブロードキャストする。受信機においては、データ提供センタが暗号化に適用した公開鍵に対応する秘密鍵としての秘密サブセットキーを適用して暗号化データCTk,Bを復号する。
【0296】
受信機におけるデータ復号処理は、下式(式c8)に従って実行される。
【数171】
Figure 2004229128
・・・(式c8)
【0297】
[メディア(媒体)キーブロック及びデータ格納メディア]
次に、次に、ブロードキャスト暗号化データの提供により、特定の認証ユーザのみのデータ利用を可能とした構成例としてメディア(媒体)キーブロック(media key block:以下、MKBという。)及びデータ格納メディアを用いた構成例について説明する。この具体例では、ブロックキーは、上述のサブキーであり、表現コードは、MKBであり、データのブロードキャスト経路は、データ媒体の配布(distribution)である。
【0298】
図7及び図11に示す処理をこの具体例に適用する手法について以下に述べる。なお、この具体例は、後述するように、マスタキーを利用できるように修正された消去可能/書込可能/記録済み媒体のためのコンテンツ保護法(Content Protection for Recordable/Pre−recorded Media:以下、CPRM/CPPMという。)に基づいている(なお、CPRM/CPPMは、ディー・ナオール(D.Naor)他著、「ステートレス受信機の取消及び追跡スキーム(Revocation and Tracing Schemes for Stateless Receivers)」に開示されている)。
【0299】
図32は、MKBを用いて放送暗号化システムをセットアップし、受信機にマスタキーを割り当てる手順を示すフローチャートである(図7のステップS101及びステップS102に対応する処理である)。図33は、ブロックキーテーブル(block key table:以下、BKT)2900を示している。図34は、MKB3000を示している。BKT2900及びMKB3000については、後に説明する。
【0300】
管理センタは、ステップS1301において、BKTを定義する。BKTは、図33のBKT2900に示すようにA個の列及びB個の行を有する(α)、(β)の2つのテーブル、すなわち、(α)秘密ブロックキーPriKa,bエントリ2905からなる2次元テーブルと、(β)公開ブロックキーPubKa,bエントリ2907からなる2次元テーブルとにより構成される。各テーブルの各エントリ(a,b)位置にそれぞれ公開鍵暗号方式における秘密鍵と公開鍵が対応して格納される。
【0301】
管理センタは、ステップS1302において、暗号化パラメータを選択する。管理センタは、暗号化パラメータを用いて、例えばキー等の暗号化のための値を生成する。暗号化パラメータのうちの一部は公開暗号化パラメータであり、管理センタは、ステップS1303において、公開暗号化パラメータを公開する。管理センタは、例えば、公開暗号化パラメータを受信機の製造業者に提供し、受信機の製造業者が(製造工程において)受信機にこの公開暗号化パラメータを組み込むことにより、公開暗号化パラメータを公開する。なお、管理センタは、この他の秘密暗号化パラメータを受信機に対して秘密にする。管理センタは、2つの大きな素数q及びqを選択し、M=q×qである値Mを算出する。管理センタは、この値Mを公開暗号化パラメータとして公開する。
【0302】
さらに、管理センタは、パラメータq’、gを選択し、公開暗号化パラメータとして公開する。ただし、q’は、例えば1024ビットの大きな素数であり、gは、巡回群Zq’ の生成元である。
【0303】
さらに、管理センタは、K∈Z であるKを秘密暗号化パラメータとしてランダムに選択する。
【0304】
さらに、管理センタは、AB個の素数pa,bを選択する。管理センタは、各素数pa,bをBKT内のエントリ(a,b)に割り当てる(例えば、p1,1はエントリ(1,1)に割り当てられる)。管理センタは、エントリへの素数の割り当てを公開する。さらに、管理センタは、以下に示すような値Tを算出する。
【数172】
Figure 2004229128
【0305】
管理センタはTを公開しない。管理センタは、ステップS1304において、BKT内の各エントリに対応する秘密ブロックキーを生成する。秘密ブロックキーは、公開鍵暗号方式における秘密鍵に対応する鍵として設定される。図33のBKT2900に示すように、PriKa,bと表される。管理センタは、以下の式(式d1)に従って秘密ブロックキーを算出する。
【0306】
【数173】
Figure 2004229128
・・・(式d1)
【0307】
管理センタは、図33のBKT2900に示すように、秘密ブロックキーPriKa,bをBKTの対応するエントリ(a,b)に格納する。例えば、秘密ブロックキーPriK1,1は、エントリ(1,1)に格納される。
【0308】
次に管理センタは、ステップS1305において、上述の秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bを算出する。公開ブロッキクキーは、下記式(式d2)に従って算出する。
【0309】
【数174】
Figure 2004229128
・・・(式d2)
【0310】
さらに、管理センタは、ステップS1306において、上記式に従って生成した公開ブロックキー、およびブロックを示す識別値(a,b)と、公開ブロックキーPubKa,bとの対応を示す公開鍵ファイルとを公開する。すなわち任意のデータ提供センタに提供する。公開鍵ファイルは、図35に示すようにブロックを示す識別値(a,b)と、公開ブロックキーPubKa,bとの対応を示すデータである。
【0311】
次に、管理センタは、ステップS1307において、MKBを定義する。MKBは、BKTに基づく2次元テーブルであり、図34に示すように、BKTの各エントリ(a,b)に対応するエントリ3003を含むA個の列とB個の行を有する。
【0312】
図34は、図33に示すBKT2900に対応して設定されるメディアキーブロック(MKB)3000を示している。初期的には、MKBは、空である。MKB内の各エントリ(a,b)は、後述するように、BKT内の対応するエントリ(a,b)に格納されている公開ブロックキーPubKa,bを用いて暗号化されたメディアキー(MeK:media key)を格納する。メディアキー(MeK)は、DVD、CD、MD等のメディア(媒体)に格納された暗号化コンテンツファイルの復号処理に適用される。図34において、×印が付されているエントリ3003は、図36を用いて後述するように、無効にされた受信機(リボーク受信機)に対応するエントリである。
【0313】
次に、管理センタは、ステップS1308において、各受信機uについて、ベクトルを定義する。ベクトルは、Vと表され、B個の要素vを含む。すなわち、V=(v1,・・・,v,・・・,v)であり、ここでv∈{1,・・・,A}である。ベクトルVの各要素vは、MKB内のエントリ(a,b)を表している。ベクトルにおける要素の順序的な位置は、列(すなわち、b)を表し、要素の値は、行(すなわち、a)を表している。
【0314】
例えば、ベクトルの第1の要素vが2である場合、第1の要素vは、MKBにおける第2行第1列のメディアキー暗号化データ(すなわち、エントリ(2,1))を表している。このように、受信機uのベクトルVは、受信機uのためのB個のメディアキー暗号化データを指している。管理センタは、ステップS1309において、各受信機uにベクトルVを与える。
【0315】
さらに、管理センタは、各受信機uについて、値wを生成する。wは、受信機uのベクトルVによって示されるエントリに対応する素数pa,bの積である。管理センタは、以下の式に基づいて、wを算出する。
【数175】
Figure 2004229128
【0316】
ここで、vは、ベクトルVのb番目の値を表す。管理センタは、ベクトルVとともに、又は例えば公開暗号化パラメータの受信時(上述のステップS1303)若しくはマスタキーの受信時(ステップS1311)等、受信機が復号を開始する前に、各値wを対応する受信機uに供給する。これに代えて、受信機がベクトルVと素数pa,bからwを導出するようにしてもよい。
【0317】
管理センタは、ステップS1310において、暗号化パラメータを用いて、マスタキーを生成する。マスタキーは、MKと表される。ここで、管理センタは、以下の式(式d3)に基づいて、各受信機uに対応するマスタキーMKを算出する。
【0318】
【数176】
Figure 2004229128
・・・(式d3)
【0319】
管理センタは、各マスタキーMKを対応する受信機uに割り当てる。管理センタは、マスタキーMKを用いて、受信機uのベクトルVによって示されるメディアキー暗号化データ(公開ブロックキーで暗号化されたメディアキー)を復号するために必要となる全ての秘密ブロックキーPriKa,bを導出することができる。例えば、図33に示すBKT2900及び図34に示すMKB3000を設定した構成において、受信機uには、マスタキーMKが割り当てられており、ベクトルVは、要素{1,1,・・・1}を含み、マスタキーMKを用いて、秘密ブロックキーPriK1,1、PriK1,2、・・・PriK1,Bを導出することができる。管理センタは、ステップS1311において、対応する受信機uに各マスタキーMKを送信する。
【0320】
データ提供センタは、ステップS1321において、BKTに格納されている秘密ブロックキーに対応する公開された公開ブロックキーを用いて、メディア(媒体)キーを暗号化する。メディアキーは、CD、DVD、MD等のデータ格納メディア(媒体)に記録されているコンテンツファイル(例えばビデオデータ)を暗号化および復号するためのキーである。各メディアキーをBKTの(a,b)各エントリの公開ブロックキーで暗号化することにより、各ブロック位置(a,b)のメディアキー暗号化データが生成される。なお、このステップにおいて、データ提供者は、受信機のリボケーションを行うことが可能である。すなわち、MKBに載せない暗号文の決定を行うことができる。
【0321】
データ提供センタが、受信機、再生機等、ユーザの有する情報処理装置に対して提供するメディアキー等のデータ(情報I)を暗号化して提供する場合には、データ提供者は、下記式(式d4)に基づいて各ブロック(a,b)用の暗号文CTa,bを生成する。
【0322】
【数177】
Figure 2004229128
・・・(式d4)
【0323】
上記式において、Iが送信する秘密データである。xは、データ提供センタがランダムに選択したx∈Z q’を満足する数である。データ提供者は、管理センタから公開されているパラメータgと上述のxとから生成したg mod q’と、上記式によって生成される暗号化データCTa,bとをブロードキャストする。受信機または再生機においては、データ提供センタが暗号化に適用した公開ブロックキーに対応する秘密鍵としての秘密ブロックキーを適用して暗号化データCTa,bを復号する。復号処理については後述する。
【0324】
データ提供センタは、ステップS1322において、生成した各メディアキー暗号化データをMKB内の各エントリ位置(a,b)に格納する。例えば、データ提供センタは、公開ブロックキーPubK1,1を用いてメディアキーを暗号化し、これにより得られるメディアキー暗号化データをMKB内のエントリ(1,1)に格納する。
【0325】
図34のMKB3000は、各エントリに格納されたメディアキー暗号化データ3005をE(PubKa,b,MeK)として示してある。E(PubKa,b,MeK)は、公開ブロックキーPubKa,bを用いたメディアキー(MeK)の暗号化(E)を表している。他の具体例においては、データ提供センタは、公開ブロックキーを用いて、メディアキーではなく、他のデータ、例えばコンテンツファイル等を暗号化してもよい。データ提供センタは、ステップS1323において、例えばメディアキー(MeK)で暗号化したコンテンツファイルを格納したデータ格納メディアにMKBを格納する。
【0326】
なお、一具体例においては、データ提供センタは、メディアキー(MeK)で暗号化したコンテンツファイル(例えば、ビデオ及び/又はオーディオコンテンツ)と、MKBとは別の記憶媒体によってユーザの受信機、再生機に提供する構成としてもよい。
【0327】
データ提供センタは、ステップS1324において、MKBを格納したメディアを受信機に送付する。各受信機は、例えば受信機の製造業者を介して、公開暗号化パラメータと、ベクトルと、ブロックキーを導出するための値(w)と、マスタキーとを受け取る。
【0328】
一具体例においては、管理センタは、ステップS1301〜ステップS1311を1回(又は、受信機の数が変わる等、システムに変化が生じるまで)実行し、この後は、データ提供センタが暗号化データの配信毎に、ステップS1321〜ステップS1324を繰り返す。
【0329】
図36は、受信機リボーク処理により受信機を無効にし、MKBを更新する処理を示すフローチャートである(図7のステップS103、S104、S105に対応する)。なお、図36に示す処理は、管理センタではなくデータ提供センタが行うことも可能である。管理センタは、ステップS1401において、1つ以上の受信機を無効にする。管理センタは、受信機が管理センタから送信している暗号化データを復号する権限を有さなくなった場合に、その受信機を無効又は有効ではなくする。上述のように、管理センタがいずれの受信機も無効にしない場合もある。この場合、全ての秘密ブロックキーが有効なまま残る。
【0330】
管理センタは、ステップS1402において、受信機に割り当てられているマスタキーから導出することができる秘密ブロックキーを無効にする。上述のように、受信機に割り当てられ、マスタキーに対応するベクトルは、マスタキーから導出することができる。したがって、管理センタが受信機を無効にする場合、管理センタは、受信機のベクトルによって指示されている秘密ブロックキーを無効にする。
【0331】
管理センタは、ステップS1403において、無効にされた秘密ブロックキーに対応するメディアキー暗号化データを無効にすることにより、MKBを更新する。一具体例においては、管理センタは、メディアキー暗号化データを所定の値に置換することにより、メディアキー暗号化データを無効にする。すなわち、この所定の値によっては、メディアキー暗号化データが暗号化された暗号化アルゴリズムを用いてメディアキーを復号することができない。他の具体例においては、管理センタは、MKB内のエントリに格納されているメディアキー暗号化データを削除し、このエントリにブランクデータ又はランダムデータを格納する。図34のMKB3000においては、無効なメディアキー暗号化データに対応するエントリに×印を付している。
【0332】
管理センタは、ステップS1404において、新しいデータ格納メディアに、更新されたMKBを格納する。すなわち、メディアキーで暗号化されたコンテンツファイルと、そのメディアキーを取得するために必要となるMKBとを格納したデータ格納メディアをユーザに提供する。リボークされた再生機、受信機においては、新たなMKBの復号処理ができないので、メディアキーを取得できず、コンテンツファイルの利用ができない。なお、メディアキーはメディア毎にことなっているので、ユーザが他のメディアから取り出したメディアキーを利用することはできない。
【0333】
管理センタは、新たなデータ格納メディアに格納されるMKBを制御することにより、特定の受信機のみが新たなデータ格納メディアに記録されたメディアキーを復号できるかを制御する。管理センタは、ステップS1405において、受信機に新たなデータ格納メディアを送付する。
【0334】
図37は、MKBを用いた、受信機によるブロードキャスト暗号化データの復号処理を示すフローチャートである(図11に対応する処理である)。一具体例においては、例えば図4に示す暗号化データ提供システム400のように、受信機は、管理センタが配布のために準備したデータ格納メディアを介して、暗号化データを受け取る。受信機は、ステップS1501において、管理センタから暗号化パラメータを受け取る。上述のように、管理センタは、例えば選択された素数pa,b等、受信機が管理センタからの暗号化データを復号するために使用する公開暗号化パラメータを受信機に公開する。
【0335】
一具体例においては、受信機は、公開暗号化パラメータを非安全ストレージ(例えば、図2に示すメインストレージ225)に保存する。さらに、受信機は、ステップS1502において、受信機u用のベクトルVとして表されるベクトルを受け取り、ステップS1503において、受信機u用のマスタキーMKとして表されるマスタキーを受け取る。上述のように、管理センタは、受信機用のベクトル及びマスタキーを生成し、これらのベクトル及びマスタキーを受信機に送る。受信機は、マスタキーを用いて復号のためのブロックキーを導出する。他の具体例においては、管理センタは、受信機の製造業者を介して、暗号化パラメータの一部又は全部と、ベクトルと、マスタキーとを共に受信機に提供する。すなわち製造業者が受信機の記憶部内に、予めこれらのデータを格納してもよい。
【0336】
受信機は、ステップS1504において、管理センタあるいはデータ提供センタからMKBを受け取る。図32を参照して上述したように、管理センタは、特定のユーザの受信機においてのみメディアキーを取得可能としたMKBを定義する(図34参照)。このように定義されたMKBを媒体に格納して受信機にデータ媒体を配布する。前述したように、MKBとMKBから取得可能なメディアキーにより暗号化されたコンテンツファイルを併せて格納してユーザに提供可能である。特定の認証された機器においてのみMKBを処理することでメディアキーを取得可能となり、取得したメディアキーで暗号化コンテンツファイルを復号しコンテンツ再生が可能となる。
【0337】
受信機は、ステップS1505において、ベクトルとMKBとを用いて、復号のための秘密ブロックキーを選択する。上述のように、ベクトルは、複数のメディアキー暗号化データを指示し、したがって対応するブロックキーを指示している。受信機は、ベクトルの要素によって指示されているブロックキーの1つを選択する。そして、受信機は、ベクトル内のエントリ(v,b)に対応するブロックキーを導出する。ここで、vは、ベクトルV内のb番目の要素である。秘密ブロックキーは、PriKvb,bと表される。例えば、図33及び図34に示す具体例では、第1の要素vの値は2であり、エントリ(2,1)におけるメディアキーを表している。秘密ブロックキーPriK2,1は、エントリ(2,1)に対応しており、したがって、受信機は、秘密ブロックキーPriK2,1を選択する。
【0338】
受信機は、ステップS1506において、受信機のマスタキーから選択された秘密ブロックキーを導出する。上述のように、受信機u用のマスタキーは、MKと表され、受信機は、PriKvb,bと表されるベクタ(v,b)に対応する秘密ブロックキーを選択している。受信機uは、素数pa,b及び値wを含む暗号化パラメータを既に受け取っている。そして、受信機は、自己が保持するベクタ(v,b)に対応する暗号化メディアキーとしての暗号文CTvb,bを選択した後、対応するデータ提供センタが暗号化に適用した公開ブロックキーに対応する秘密ブロックキーPriKvb,bを下記式(式d5)に基づいて算出する。
【0339】
【数178】
Figure 2004229128
・・・(式d5)
【0340】
一具体例においては、受信機は、受信機のベクトル内の各要素について、w/Pvb,bを予め算出しておく。また、一具体例においては、受信機は、c≠bとして、B−1個の素数Pvc,cを乗算することにより、w/Pvb,bを算出する。
【0341】
受信機は、ステップS1507において、導出した秘密ブロックキーを適用してMKB内のメディアキー暗号化データ(対応する公開ブロッキーで暗号化されたメディアキー)を復号しメディアキーを取得する。一具体例においては、受信機は、例えばチェックサム値を用いて、復号結果が受信した暗号化データに対して正しいものであるか否かを判定する。復号結果が正しくない場合、受信機は、受信機のベクトル内の他の要素を用いて別の秘密ブロックキーを選択する。受信機のベクトルによって指示されている秘密ブロックキーのいずれによっても正しい復号結果が得られない場合、受信機は、自らが無効にされ、有効なノードキーを導出することができないと判断する。一具体例においては、受信機は、管理センタと通信する(例えば、ネットワーク接続を介して)ことにより、受信機が無効にされたことを確認する。
【0342】
一具体例においては、受信機が受け取るデータ媒体は、復号されるメディアキーに対応する暗号化されたコンテンツファイルを含む。この場合、受信機は、復号されたメディアキーを用いて、暗号化されているコンテンツファイルを復号し、コンテンツにアクセスする。
【0343】
受信機は、上述のようにして導出した秘密ブロックキーを用いて、受信した暗号化データを復号し復号データIを取得する。データ復号処理は、下式(式d6)に基づいて実行する。
【0344】
【数179】
Figure 2004229128
・・・(式d6)
【0345】
他の具体例においては、データ媒体は、データの記録のために使用され、受信機は、復号されたメディアキーを用いてデータを暗号化して、データ格納メディアに暗号化データを記録する。受信機が有効なブロックキーを有さず、したがって、MKBからメディアキーを取得できない場合、受信機は、データをデータ格納メディアに記録することができない。
【0346】
他の具体例として、データ提供センタは、ハッシュ関数を用いてハッシュキーを算出し、このハッシュキーを用いてメディアキー等の暗号化を行う構成としてもよい。データ提供センタによるハッシュ関数を適用した暗号化データの生成について説明する。上記した式(式d4)を適用した暗号文生成処理によると、各暗号文CTa,bのサイズはq’のサイズとなる。ハッシュ関数を適用することにより、各暗号文のサイズを小さくして効率化が図れる。暗号化データCTa,bは、下式(式d7)に従って生成する。
【0347】
【数180】
Figure 2004229128
・・・(式d7)
【0348】
上記式において、xは、データ提供センタがランダムに選択したx∈Z q’を満足する数である。Hは、|q’|(たとえば1024bit)のビット列を|I|(たとえば、128bit)のビット列にランダムにマッピングするハッシュ関数である。この、ハッシュ関数は、管理センタによって公開される。たとえば図7のステップS101のセットアップフェーズにおいて公開する。
【0349】
データ提供センタは、前述したと同様、管理センタから公開されているパラメータgと上述のxとから生成したg mod q’と、上記式によって生成される暗号化データCTa,bとをブロードキャストする。受信機においては、データ提供センタが暗号化に適用した公開鍵に対応する秘密鍵としての秘密サブセットキーを適用して暗号化データCTa,bを復号する。
【0350】
受信機におけるデータ復号処理は、下式(式d8)に従って実行される。
【数181】
Figure 2004229128
・・・(式d8)
【0351】
[データメディアの製造]
図4及び図6を用いて上述したように、ブロードキャストデータ配信経路が、DVD、CD、MD等のデータ格納メディアの配布である場合、管理センタは、データ(例えば、暗号化データ)をデータ格納メディアに格納して受信機に供給する。管理センタは、まず、メディア製造装置(例えば、図4に示すメディア製造業者の工場に設けられている)にデータを供給し、ここでメディアにデータが格納される。読出専用媒体(例えば、CD−ROM又はDVD−ROM)については、管理センタは、メディア製造装置にキー暗号化データ及び暗号化されたコンテンツを供給する。書込可能媒体(例えば、CD−RW又はDVD−RW)については、管理センタは、キー暗号化データを提供し、受信機が暗号化されたコンテンツを媒体に書き込んでもよい。
【0352】
図38は、メディア製造装置3300の具体的構成例を示すブロック図である。一具体例においては、メディア製造装置3300は、読出専用媒体を製造し、他の具体例においては、メディア製造装置は、書込可能媒体を製造する。また、メディア製造装置3300は、媒体そのものを製造するのではなく、データメディアにデータを書き込むことにより、データ格納メディアを準備する装置である。また、他の具体例においては、メディア製造装置は、媒体そのものを製造する装置であってもよい。メディア製造装置は、コントローラ3305と、入出力インタフェース3310と、ストレージ3315と、メディアインタフェース3320とを備える。他の具体例においては、メディア製造装置3300は、秘密にすべきデータを保存する安全ストレージを備えていてもよい。コントローラ3305は、メディア製造装置3300の動作を制御する。
【0353】
一具体例においては、コントローラ3305は、CPUであってもよい。メディア製造装置3300は、(例えば、管理センタに対して)入出力インタフェース3310を介してデータを送受する。ストレージ3315は、メディア製造装置3300の動作をサポートするためのデータを保存する。一具体例においては、ストレージ3315は、例えばRAM等のメモリ装置であってもよい。メディアインタフェース3320は、メディア製造装置3300にデータ読出/書込機能を提供し、これによりメディア製造装置3300は、媒体の個体からデータを読み出し、また、媒体が書込可能媒体であれば、媒体の個体にデータを書き込むことができる。
【0354】
図39は、例えば図38に示すメディア製造装置3300等のメディア製造装置によって、読出専用媒体を製造する工程を示すフローチャートである。メディア製造装置は、ステップS1601において、データ媒体の空の個体を受け取る。他の具体例においては、メディア製造装置は、既にデータの一部が記録されているデータ媒体を受け取ってもよく、また、データ媒体の個体の一部又は全部を原材料から製造してもよい。メディア製造装置は、ステップS1602において、データ媒体に表現コードを記録する。上述のように、表現コードは、例えば表現木及びコード又はベクトル及びメディアキーブロック等に基づき受信機が無効にされたかを示すコードである。メディア製造装置は、ステップS1603において、データ媒体に1つ以上の暗号化データを記録する。暗号化データは、暗号化されたコンテンツキーである。
【0355】
各暗号化データは、上述したノードキー、サブセットキー又はブロックキー等、個別のサブキーを用いて暗号化された同一のコンテンツを含む。メディア製造装置は、ステップ3404において、コンテンツキーを用いてコンテンツファイルを暗号化する。変形例においては、メディア製造装置は、例えば管理センタ等の外部ソースから、暗号化されたコンテンツファイルを受け取る。メディア製造装置は、ステップS1605において、データ媒体に暗号化されたコンテンツファイルを記録する。上述のように、受信機は、表現コードを用いて、サブキーを選択し、受信機に保存されているマスタキーから、選択されたサブキーを導出する。受信機は、暗号化データを復号してコンテンツキーを生成し、このコンテンツキーを用いて、暗号化されているファイルを復号する。
【0356】
メディア製造装置が書込可能媒体を製造する場合、必ずしもメディア製造装置がコンテンツファイルを暗号化し、メディアに記録する必要はない。
【0357】
本発明は、電子ハードウェア、コンピュータソフトウェア、又はこれらの技術の組み合わせにより、様々な形式で実現することができる。多くの実現例は、プログラミング可能なコンピュータにより実行される1つ以上のコンピュータ・プログラムを含む。例えば、図1に示すように、一具体例においては、放送管理センタ105及び各受信機120−〜120−は、上述した装置の機能を実現するための1つ以上のプログラミング可能なコンピュータを備える。通常、各コンピュータは1つ以上のプロセッサと、1つ以上のデータストレージ装置(例えば、揮発性又は不揮発性メモリモジュールと、例えばハードディスクドライブ、フロッピディスクドライブ、CD−ROMドライブ、磁気テープドライブ等の持続的な光及び磁気記録装置)と、1つ以上の入力装置(例えば、マウス及びキーボード)と、1つ以上の出力装置(例えば、ディスプレイ及びプリンタ)とを備える。
【0358】
コンピュータ・プログラムは、通常、持続的なストレージ媒体(persistent storage medium)に記録されており、実行時にメモリにコピーされる実行可能なコードを含む。プロセッサは、所定の順序でメモリから命令を読み出すことにより、このコードを実行する。プログラムコードを実行する際、コンピュータは、入力装置及び/又はストレージ装置からデータを受け取り、データを処理し、処理されたデータを出力装置及び/又はストレージ装置に供給する。
【0359】
本発明の様々な実施の形態について説明したが、当業者は、本発明の範囲を逸脱することなく、上述した以外の実施の形態を想到することができる。例えば、上述の説明では、衛星放送又はデータの配布の具体例を示しているが、データのブロードキャスト経路は、ケーブルテレビ、インターネット又はこの他の無線又は有線ネットワークであってもよい。このように、本発明は、上述の具体例によって限定されるものではない。
【0360】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0361】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0362】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0363】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0364】
【発明の効果】
以上、説明したように、本発明の構成によれば、通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信する構成において、階層型キーツリー構成におけるノード番号iの各ノード(i)に対して公開鍵暗号方式における秘密鍵としての秘密ノードキーPriNKを設定し、該秘密ノードキーPriNKを認証された情報処理装置においてのみ取得可能とするとともに、秘密ノードキーPriNKに対応する公開鍵としての公開ノードキーPubNKを適用して配信データの暗号化を実行して暗号化データCTを生成し、生成した暗号化データをブロードキャストする構成としたので、信頼、非信頼にかかわらず、各ユーザ機器の格納キーを知らない任意のエンティテイが、公開ノードキーPubNKを適用してデータ配信を行い、限定ユーザ、すなわち、認証された情報処理装置においてのみ利用可能とする暗号データ配信システムが実現される。
【0365】
さらに、本発明の構成によれば、通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信する構成において、階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bを定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)し、サブセットに対して公開鍵暗号方式における秘密鍵に対応する秘密サブセットキーPriSk,Bを設定し、秘密サブセットキーPriSk,Bを認証された情報処理装置においてのみ取得可能とするとともに、秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行して暗号化データCTk,Bを生成し、生成した暗号化データCTk,Bを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたので、信頼、非信頼にかかわらず、各ユーザ機器の格納キーを知らない任意のエンティテイが、公開サブセットキーPubSKk,Bを適用してデータ配信を行い、限定ユーザ、すなわち、認証された情報処理装置においてのみ利用可能とする暗号データ配信システムが実現される。
【0366】
さらに、本発明の構成によれば、通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信する構成において、A列B行のブロックキーテーブル(BKT)を設定し、ブロックキーテーブルの各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bを設定し、秘密ブロックキーPriKa,bを前記認証された情報処理装置においてのみ取得可能とするとともに、秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bを適用して配信データの暗号化を実行して暗号化データCTa,bを生成し、ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたので、信頼、非信頼にかかわらず、各ユーザ機器の格納キーを知らない任意のエンティテイが、公開ブロックキーPubKa,bを適用してデータ配信を行い、限定ユーザ、すなわち、認証された情報処理装置においてのみ利用可能とする暗号データ配信システムが実現される。
【図面の簡単な説明】
【図1】衛星放送を用いた放送暗号化システムのアーキテクチャを示す図である。
【図2】管理センタの構成を示すブロック図である。
【図3】受信機の構成を示すブロック図である。
【図4】データ媒体を用いた放送暗号化システムのアーキテクチャを示す図である。
【図5】管理センタの具体例を示すブロック図である。
【図6】受信装置の具体例を示すブロック図である。
【図7】データを暗号化して暗号化データを生成し、1つ以上の受信機に暗号化データを送信する放送暗号化処理の手順を示すフローチャートである。
【図8】データを暗号化して暗号化データを生成し、1つ以上の受信機に暗号化データを送信する放送暗号化処理の手順を示すフローチャートである。
【図9】コンテンツキー及びコンテンツファイルを暗号化する処理を含む放送暗号化処理の手順を示すフローチャート。
【図10】コンテンツキー及びコンテンツファイルを暗号化する処理を含む放送暗号化処理の手順を示すフローチャート。
【図11】受信機によって放送復号処理を行う手順を示すフローチャートである。
【図12】ノードキーを有するHKTを用いて放送暗号化システムをセットアップし、受信機にマスタキーを割り当てる手順を示すフローチャートである。
【図13】ノードへのノードキーの割り当てを説明するHKTを示す図である。
【図14】公開鍵ファイルのデータ構成を示す図である。
【図15】HKTを用いて、受信機を無効にし、ノードキーを選択し、表現コードを生成する手順を示すフローチャートである。
【図16】図13のHKTにおける無効にされた受信機と、選択されたノードキーとを示す図である。
【図17】図13及び図16に示すHKTに基づく表現木を示す図である。
【図18】HKT及びノードキーを用いて、受信機により放送復号処理を行う手順を示すフローチャートである。
【図19】コンテンツキー及びコンテンツファイルの復号を含む放送復号処理の手順を示すフローチャートである。
【図20】サブセット及びサブセットキーを有するHKTを用いて放送暗号化システムをセットアップし、受信機にマスタキーを割り当てる手順を示すフローチャートである。
【図21】サブセットのノードへの割り当てを示すHKTを示す図である。
【図22】図21のHKTにおけるサブセットキーのノードキーへの割り当てを示す図である。
【図23】公開鍵ファイルのデータ構成を示す図である。
【図24】HKTを用いて受信機を無効にし、サブセットキーを選択し、表現コードを生成する手順を示すフローチャートである。
【図25】図21に示すHKTにおいて、無効にされた受信機と、選択されたサブセットキーに対応するサブセットのノードとを示す図である。
【図26】図21に示すHKTの枝を除去した状態を示す図である。
【図27】図21及び図25に示すHKTに基づく表現木を示す図である。
【図28】HKT及びサブセットキーを用いて、受信機によって放送復号処理を行う手順を示すフローチャートである。
【図29】コンテンツキー及びコンテンツファイルの復号を含む放送復号処理の手順を示すフローチャートである。
【図30】サブセット及びサブセットキーを有するHKTを用いて放送暗号化システムをセットアップし、マスタキーを受信機に割り当てる手順を示すフローチャートである。
【図31】HKTにおけるサブセットキーのノードへの割り当てを示す図である。
【図32】MKBを用いて放送暗号化システムをセットアップし、マスタキーを受信機に割り当てる手順を示すフローチャートである。
【図33】ブロックキーテーブルを示す図である。
【図34】メディアキーブロックを示す図である。
【図35】公開鍵ファイルのデータ構成を示す図である。
【図36】受信機を無効にし、MKBを更新する手順を示すフローチャートである。
【図37】MKBを用いて、受信機によって放送復号処理を行う手順を示すフローチャートである。
【図38】データメディア製造装置の一具体例を示すブロック図である。
【図39】メディア製造装置によって、読出専用データ媒体を製造する手順を示すフローチャートである。
【符号の説明】
100 放送暗号化システム
101 管理センタ
105 放送データ提供センタ
110 放送局
115 放送衛星
120 受信機
205 コントローラ
210 演算ユニット
215 入出力インタフェース
220 セキュア記憶部
225 メイン記憶部
305 コントローラ
310 演算ユニット
315 入出力インタフェース
320 セキュア記憶部
325 メイン記憶部
330 ディスプレイ装置
401 管理センタ
405 メディア提供センタ
410 メディア製造者
415 メディア
420 配布センタ
425 再生機
505 コントローラ
510 演算ユニット
515 入出力インタフェース
520 セキュア記憶部
525 メイン記憶部
530 メディアインタフェース
605 コントローラ
610 演算ユニット
615 入出力インタフェース
620 セキュア記憶部
625 メイン記憶部
630 ディスプレイ装置
635 メディアインタフェース
3305 コントローラ
3310 入出力インタフェース
3315 記憶部
3320 メディアインタフェース

Claims (54)

  1. 通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信し、限定ユーザの認証された情報処理装置においてのみ利用可能とする暗号データ配信システムであり、
    階層型キーツリー構成におけるノード番号iの各ノード(i)に対して公開鍵暗号方式における秘密鍵としての秘密ノードキーPriNKを設定し、該秘密ノードキーPriNKを前記認証された情報処理装置においてのみ取得可能とするとともに、前記秘密ノードキーPriNKに対応する公開鍵としての公開ノードキーPubNKを適用して配信データの暗号化を実行して暗号化データCTを生成し、生成した暗号化データCTを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたことを特徴とする暗号データ配信システム。
  2. 前記秘密ノードキーPriNKを、
    階層型キーツリー構成におけるノード番号iの各ノード(i)に対して、
    Figure 2004229128
    として設定し、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pは、2N−1個の素数p(i=1,・・・,2N−1)のうちのひとつ、Nは全ユーザまたは受信装置数であり、Tは、下式、
    Figure 2004229128
    によって定義される、
    さらに、前記公開ノードキーPubNKを、
    Figure 2004229128
    として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
    さらに、前記公開ノードキーPubNKを適用して暗号化データCTを、
    Figure 2004229128
    として生成し、ただし、xは、x∈Z q’を満足する数、I は送信する秘密データ,
    前記暗号化データCTと、g mod q’とを配信する構成としたことを特徴とする請求項1に記載の暗号データ配信システム。
  3. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(i)に対応する情報処理装置は、
    自ノードにおいて適用する秘密ノードキーを、マスタキーMKに基づいて生成し、該生成秘密ノードキーに基づいて、前記暗号化データCTの復号処理を実行する構成であることを特徴とする請求項1に記載の暗号データ配信システム。
  4. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(i)に対応する情報処理装置は、
    自ノードにおいて適用する秘密ノードキーPriNKを、マスタキーMKに基づいて、下記式、
    Figure 2004229128
    に従って生成し、ただし、マスタキーMKは、下記式、
    Figure 2004229128
    により求められる、wは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pの積、
    さらに、前記生成秘密ノードキーPriNKに基づいて、前記暗号化データCTの復号処理を、
    Figure 2004229128
    に従って実行する構成であることを特徴とする請求項2に記載の暗号データ配信システム。
  5. 前記暗号化データCTを、ハッシュ関数(H)を適用して、
    Figure 2004229128
    に基づいて生成する構成としたことを特徴とする請求項2に記載の暗号データ配信システム。
  6. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(i)に対応する情報処理装置は、前記暗号化データCTの復号処理を、
    Figure 2004229128
    に従って実行する構成としたことを特徴とする請求項5に記載の暗号データ配信システム。
  7. 通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信し、限定ユーザの認証された情報処理装置においてのみ利用可能とする暗号データ配信システムであり、
    階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bを定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)し、該サブセットに対して公開鍵暗号方式における秘密鍵に対応する秘密サブセットキーPriSk,Bを設定し、該秘密サブセットキーPriSk,Bを前記認証された情報処理装置においてのみ取得可能とするとともに、前記秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行して暗号化データCTk,Bを生成し、生成した暗号化データCTk,Bを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたことを特徴とする暗号データ配信システム。
  8. 前記秘密サブセットキーPriSk,Bを、
    階層型キーツリー構成におけるノード番号kの各ノード(k)に対して、
    Figure 2004229128
    として設定し、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pk,Bは各サブセットに割り当てられる素数であり、Tは、下式、
    Figure 2004229128
    によって定義される、
    さらに、前記公開サブセットキーPubSk,Bを、
    Figure 2004229128
    として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
    さらに、前記公開サブセットキーPubSk,Bを適用して暗号化データCTk,Bを、
    Figure 2004229128
    として生成し、ただし、xは、x∈Z q’を満足する数、
    前記暗号化データCTk,Bと、g mod q’とを配信する構成としたことを特徴とする請求項7に記載の暗号データ配信システム。
  9. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、
    自ノードにおいて適用する秘密サブセットキーを、マスタキーに基づいて生成し、該生成秘密サブセットキーに基づいて、前記暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする請求項7に記載の暗号データ配信システム。
  10. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、
    自ノードにおいて適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて、下記式、
    Figure 2004229128
    に従って生成し、ただし、マスタキーMKは、下記式、
    Figure 2004229128
    により求められる、wは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pk,Bの積、
    さらに、前記生成秘密サブセットキーPriSKk,Bに基づいて、前記暗号化データCTk,Bの復号処理を、
    Figure 2004229128
    に従って実行する構成であることを特徴とする請求項8に記載の暗号データ配信システム。
  11. 前記暗号化データCTk,Bを、ハッシュ関数(H)を適用して、
    Figure 2004229128
    に基づいて生成する構成としたことを特徴とする請求項8に記載の暗号データ配信システム。
  12. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、前記暗号化データCTk,Bの復号処理を、
    Figure 2004229128
    に従って実行する構成としたことを特徴とする請求項11に記載の暗号データ配信システム。
  13. 前記秘密サブセットキーPriSk,Bは、マスタキーMKを用いて算出可能であり、前記ユーザの情報処理装置は、リーフからルートまでのパスに含まれる各ノードに割り当てられる前記秘密サブセットキーPriSKk,Bを算出可能なマスタキーを有し、該マスタキーMKに基づく前記秘密サブセットキーPriSKk,Bの算出処理を実行して、取得した秘密サブセットキーPriSKk,Bを適用した暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする請求項7に記載の暗号データ配信システム。
  14. 通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信し、限定ユーザの認証された情報処理装置においてのみ利用可能とする暗号データ配信システムであり、
    階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bを定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)し、該サブセットに対して公開鍵暗号方式における秘密鍵に対応する秘密サブセットキーPriSk,Bを設定し、該秘密サブセットキーPriSk,Bを前記認証された情報処理装置においてのみ取得可能とするとともに、前記秘密サブセットキーPriSk,Bは、階層型キーツリー構成におけるノード位置kごとのグループに設定されたマスタキーMKj,kを用いて算出可能であり、ユーザ機器は、リーフからルートまでのパスに含まれる各ノードに割り当てられる秘密サブセットキーPriSKk,Bを算出可能な複数のマスタキーを有する構成とするとともに、
    前記秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行して暗号化データCTk,Bを生成し、生成した暗号化データCTk,Bを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたことを特徴とする暗号データ配信システム。
  15. 前記秘密サブセットキーPriSk,Bを、
    階層型キーツリー構成におけるノード番号kの各ノード(k)に対して、
    Figure 2004229128
    として設定し、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pk,Bは各サブセットに割り当てられる素数であり、Tは、下式、
    Figure 2004229128
    によって定義される、
    さらに、前記公開サブセットキーPubSk,Bを、
    Figure 2004229128
    として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
    さらに、前記公開サブセットキーPubSk,Bを適用して暗号化データCTk,Bを、
    Figure 2004229128
    として生成し、ただし、xは、x∈Z q’を満足する数、
    前記暗号化データCTk,Bと、g mod q’とを配信する構成としたことを特徴とする請求項14に記載の暗号データ配信システム。
  16. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、
    自ノードにおいて適用する秘密サブセットキーを、マスタキーに基づいて生成し、該生成秘密サブセットキーに基づいて、前記暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする請求項14に記載の暗号データ配信システム。
  17. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、
    自ノードにおいて適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて、下記式、
    Figure 2004229128
    に従って生成し、ただし、マスタキーMKは、下記式、
    Figure 2004229128
    により求められる、wj,kは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pの積、
    さらに、前記生成秘密サブセットキーPriSKk,Bに基づいて、前記暗号化データCTk,Bの復号処理を、
    Figure 2004229128
    に従って実行する構成であることを特徴とする請求項15に記載の暗号データ配信システム。
  18. 前記暗号化データCTk,Bを、ハッシュ関数(H)を適用して、
    Figure 2004229128
    に基づいて生成する構成としたことを特徴とする請求項15に記載の暗号データ配信システム。
  19. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する前記階層型キーツリー構成における各ノード(k)に対応する情報処理装置は、前記暗号化データCTk,Bの復号処理を、
    Figure 2004229128
    に従って実行する構成としたことを特徴とする請求項18に記載の暗号データ配信システム。
  20. 前記秘密サブセットキーPriSk,Bは、階層型キーツリー構成におけるノード位置kごとのグループに設定されたマスタキーMKj,kを用いて算出可能であり、前記ユーザの情報処理装置は、リーフからルートまでのパスに含まれる各ノードに割り当てられる前記秘密サブセットキーPriSKk,Bを算出可能な複数のマスタキーを有し、該マスタキーMKj,kに基づく前記秘密サブセットキーPriSKk,Bの算出処理を実行して、取得した秘密サブセットキーPriSKk,Bを適用した暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする請求項14に記載の暗号データ配信システム。
  21. 通信路またはメディア(媒体)を介して暗号化データをブロードキャスト配信し、限定ユーザの認証された情報処理装置においてのみ利用可能とする暗号データ配信システムであり、
    A列B行のブロックキーテーブル(BKT)を設定し、該ブロックキーテーブルの各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bを設定し、該秘密ブロックキーPriKa,bを前記認証された情報処理装置においてのみ取得可能とするとともに、前記秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bを適用して配信データの暗号化を実行して暗号化データCTa,bを生成し、前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータを通信路またはメディア(媒体)を介してブロードキャスト配信する構成としたことを特徴とする暗号データ配信システム。
  22. 前記前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータは、コンテンツファイルの復号処理に適用するメディアキーを暗号化したデータを含むテーブルデータであることを特徴とする請求項21に記載の暗号データ配信システム。
  23. 前記秘密ブロックキーPriKa,bを、
    前記ブロックキーテーブルの各要素位置(a,b)に対応して、
    Figure 2004229128
    として設定し、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pa,bは、ブロックキーテーブルの各要素位置(a,b)に対応して設定された素数であり、Tは、下式、
    Figure 2004229128
    によって定義される、
    さらに、前記公開ブロックキーPubKa,bを、
    Figure 2004229128
    として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
    さらに、前記公開ブロックキーPubKa,bを適用して暗号化データCTa,bを、
    Figure 2004229128
    として生成し、ただし、xは、x∈Z q’を満足する数、
    ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを格納したデータテーブルと、g mod q’とを配信する構成としたことを特徴とする請求項21に記載の暗号データ配信システム。
  24. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する情報処理装置は、
    適用する秘密ブロックキーを、マスタキーMKに基づいて生成し、該生成秘密ブロックキーに基づいて、前記暗号化データCTa,bの復号処理を実行する構成であることを特徴とする請求項21に記載の暗号データ配信システム。
  25. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する情報処理装置uは、
    前記テーブルデータのB個の要素vを指示するベクトルVを有し、ベクトル(V,b)に対応する暗号化データCTa,bの復号において、
    秘密ブロックキーPriKa,bを、マスタキーMKに基づいて、下記式、
    Figure 2004229128
    に従って生成し、ただし、マスタキーMKは、下記式、
    Figure 2004229128
    により求められる、wは、下記式、
    Figure 2004229128
    により求められる、
    さらに、前記生成秘密ブロックキーPriKa,bに基づいて、前記暗号化データCTa,bの復号処理を、
    Figure 2004229128
    に従って実行する構成であることを特徴とする請求項23に記載の暗号データ配信システム。
  26. 前記暗号化データCTa,bを、ハッシュ関数(H)を適用して、
    Figure 2004229128
    に基づいて生成する構成としたことを特徴とする請求項23に記載の暗号データ配信システム。
  27. 前記暗号データ配信システムにおいて、
    暗号化データの復号処理を実行する情報処理装置は、前記暗号化データCTa,bの復号処理を、
    Figure 2004229128
    に従って実行する構成としたことを特徴とする請求項26に記載の暗号データ配信システム。
  28. 認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理装置であり、
    前記ユーザ機器が配置される階層型キーツリー構成におけるノード番号iの各ノード(i)に対して公開鍵暗号方式における秘密鍵として設定された秘密ノードキーPriNKに対応する公開鍵としての公開ノードキーPubNKを適用して配信データの暗号化を実行して、前記秘密ノードキーPriNKを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTを生成する処理を実行する構成を有することを特徴とする情報処理装置。
  29. 前記秘密ノードキーPriNKは、
    階層型キーツリー構成におけるノード番号iの各ノード(i)に対して、
    Figure 2004229128
    として設定され、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pは、2N−1個の素数p(i=1,・・・,2N−1)のうちのひとつ、Nは全ユーザ機器数であり、Tは、下式、
    Figure 2004229128
    によって定義される、
    前記情報処理装置は、
    前記公開ノードキーPubNKを、
    Figure 2004229128
    として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
    さらに、前記公開ノードキーPubNKを適用して暗号化データCTを、
    Figure 2004229128
    として生成し、ただし、xは、x∈Z q’を満足する数、I は送信する秘密データ,
    前記暗号化データCTと、g mod q’とを配信する構成であることを特徴とする請求項28に記載の情報処理装置。
  30. 認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理装置であり、
    階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、該サブセットに対して公開鍵暗号方式における秘密鍵として設定された秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行して、前記サブセットキーPriSk,Bを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTk,Bを生成する処理を実行する構成を有することを特徴とする情報処理装置。
  31. 前記秘密サブセットキーPriSk,Bは、
    階層型キーツリー構成におけるノード番号kの各ノード(k)に対して、
    Figure 2004229128
    として設定され、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pk,Bは各サブセットに割り当てられる素数であり、Tは、下式、
    Figure 2004229128
    によって定義される、
    前記情報処理装置は、
    前記公開サブセットキーPubSk,Bを、
    Figure 2004229128
    として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
    さらに、前記公開サブセットキーPubSk,Bを適用して暗号化データCTk,Bを、
    Figure 2004229128
    として生成し、ただし、xは、x∈Z q’を満足する数、
    前記暗号化データCTk,Bと、g mod q’とを配信する構成であることを特徴とする請求項30に記載の情報処理装置。
  32. 認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理装置であり、
    階層型キーツリー構成におけるノード位置kごとのグループに設定されたマスタキーMKj,kを用いて算出可能で、ユーザ機器がリーフからルートまでのパスに含まれる各ノードに割り当てられる秘密サブセットキーPriSKk,Bを算出可能な複数のマスタキーを有する構成において、
    階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、該サブセットに対して公開鍵暗号方式における秘密鍵として設定される秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行して、前記サブセットキーPriSk,Bを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTk,Bを生成する処理を実行する構成を有することを特徴とする情報処理装置。
  33. 前記秘密サブセットキーPriSk,Bは、
    階層型キーツリー構成におけるノード番号kの各ノード(k)に対して、
    Figure 2004229128
    として設定され、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pは各サブセットに割り当てられる素数であり、Tは、下式、
    Figure 2004229128
    によって定義される、
    前記情報処理装置は、
    前記公開サブセットキーPubSk,Bを、
    Figure 2004229128
    として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
    さらに、前記公開サブセットキーPubSk,Bを適用して暗号化データCTk,Bを、
    Figure 2004229128
    として生成し、ただし、xは、x∈Z q’を満足する数、
    前記暗号化データCTk,Bと、g mod q’とを配信する構成であることを特徴とする請求項32に記載の情報処理装置。
  34. 認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理装置であり、
    A列B行のブロックキーテーブル(BKT)を設定し、該ブロックキーテーブルの各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bを設定し、該秘密ブロックキーPriKa,bを前記認証された情報処理装置においてのみ取得可能とした構成において、前記秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bを適用して配信データの暗号化を実行して暗号化データCTa,bを生成し、前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータを配信用データとして生成する構成を有することを特徴とする情報処理装置。
  35. 前記前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータは、コンテンツファイルの復号処理に適用するメディアキーを暗号化したデータを含むテーブルデータであることを特徴とする請求項34に記載の情報処理装置。
  36. 前記秘密ブロックキーPriKa,bは、
    前記ブロックキーテーブルの各要素位置(a,b)に対応して、
    Figure 2004229128
    として設定され、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pa,bは、ブロックキーテーブルの各要素位置(a,b)に対応して設定された素数であり、Tは、下式、
    Figure 2004229128
    によって定義される、
    前記情報処理装置は、
    前記公開ブロックキーPubKa,bを、
    Figure 2004229128
    として設定し、ただし、q’は大きな素数であり、gは、巡回群Zq’ の生成元、
    さらに、前記公開ブロックキーPubKa,bを適用して暗号化データCTa,bを、
    Figure 2004229128
    として生成し、ただし、xは、x∈Z q’を満足する数、
    ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを格納したデータテーブルと、g mod q’とを配信する構成を有することを特徴とする請求項34に記載の情報処理装置。
  37. 暗号化データの復号処理を実行する情報処理装置であり、
    前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、自ノードにおいて適用する秘密ノードキーPriNKを、マスタキーMKに基づいて、下記式、
    Figure 2004229128
    に従って生成し、ただし、マスタキーMKは、下記式、
    Figure 2004229128
    により求められる、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pは各ノードに割り当てられる素数であり、Tは、下式、
    Figure 2004229128
    によって定義され、wは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pの積、
    さらに、前記生成秘密ノードキーPriNKに基づいて、暗号化データCTの復号処理を、
    Figure 2004229128
    に従って実行する構成であることを特徴とする情報処理装置。
  38. 暗号化データの復号処理を実行する情報処理装置であり、
    前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、自ノードにおいて適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて、下記式、
    Figure 2004229128
    に従って生成し、ただし、マスタキーMKは、下記式、
    Figure 2004229128
    により求められる、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pk,Bは各サブセットに割り当てられる素数であり、Tは、下式、
    Figure 2004229128
    によって定義され、wは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pk,Bの積、
    さらに、前記生成秘密サブセットキーPriSKk,Bに基づいて、前記暗号化データCTk,Bの復号処理を、
    Figure 2004229128
    に従って実行する構成であることを特徴とする情報処理装置。
  39. 前記秘密サブセットキーPriSk,Bは、マスタキーMKを用いて算出可能であり、
    前記情報処理装置は、リーフからルートまでのパスに含まれる各ノードに割り当てられる前記秘密サブセットキーPriSKk,Bを算出可能なマスタキーを有し、該マスタキーMKに基づく前記秘密サブセットキーPriSKk,Bの算出処理を実行して、取得した秘密サブセットキーPriSKk,Bを適用した暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする請求項38に記載の情報処理装置。
  40. 暗号化データの復号処理を実行する情報処理装置であり、
    前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、自ノードにおいて適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて、下記式、
    Figure 2004229128
    に従って生成し、ただし、マスタキーMKは、下記式、
    Figure 2004229128
    により求められる、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pは各サブセットに割り当てられる素数であり、Tは、下式、
    Figure 2004229128
    によって定義され、wj,kは、ノードに設定される情報処理装置uに対応するリーフからルートまでのパスに含まれる各ノードvに割り当てられた全ての素数pの積、
    さらに、前記生成秘密サブセットキーPriSKk,Bに基づいて、前記暗号化データCTk,Bの復号処理を、
    Figure 2004229128
    に従って実行する構成であることを特徴とする情報処理装置。
  41. 前記秘密サブセットキーPriSk,Bは、階層型キーツリー構成におけるノード位置kごとのグループに設定されたマスタキーMKj,kを用いて算出可能であり、
    前記情報処理装置は、リーフからルートまでのパスに含まれる各ノードに割り当てられる前記秘密サブセットキーPriSKk,Bを算出可能な複数のマスタキーを有し、該マスタキーMKj,kに基づく前記秘密サブセットキーPriSKk,Bの算出処理を実行して、取得した秘密サブセットキーPriSKk,Bを適用した暗号化データCTk,Bの復号処理を実行する構成であることを特徴とする請求項40に記載の情報処理装置。
  42. A列B行のブロックキーテーブル(BKT)の各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bが設定され、該秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bにより暗号化された暗号化データCTa,bの復号処理を実行する情報処理装置であり、
    前記情報処理装置は、
    前記テーブルデータのB個の要素vを指示するベクトルVを有し、ベクトル(V,b)に対応する暗号化データCTa,bの復号において、
    秘密ブロックキーPriKa,bを、マスタキーMKに基づいて、下記式、
    Figure 2004229128
    に従って生成し、ただし、マスタキーMKは、下記式、
    Figure 2004229128
    により求められる、ただし、M=q×qであり、q及びqは素数、K∈Z であり、pa,bはBKTの各要素位置 (a, b) に割り当てられる素数であり、Tは、下式、
    Figure 2004229128
    によって定義され、wは、下記式、
    Figure 2004229128
    により求められる、
    さらに、前記生成秘密ブロックキーPriKa,bに基づいて、暗号化データCTa,bの復号処理を、
    Figure 2004229128
    に従って実行する構成であることを特徴とする情報処理装置。
  43. 認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理方法であり、
    前記ユーザ機器が配置される階層型キーツリー構成におけるノード番号iの各ノード(i)に対して公開鍵暗号方式における秘密鍵として設定された秘密ノードキーPriNKに対応する公開鍵としての公開ノードキーPubNKを選択するステップと、
    前記選択した公開ノードキーPubNKを適用して配信データの暗号化処理を実行し、前記秘密ノードキーPriNKを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTを生成する処理を実行するステップと、
    を有することを特徴とする情報処理方法。
  44. 認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理方法であり、
    階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、該サブセットに対して公開鍵暗号方式における秘密鍵として設定された秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを選択するステップと、
    前記選択した公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行し、前記サブセットキーPriSk,Bを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTk,Bを生成する処理を実行するステップと、
    を有することを特徴とする情報処理方法。
  45. 認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行する情報処理方法であり、
    A列B行のブロックキーテーブル(BKT)の各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵として設定された秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bを選択するステップと、
    前記選択された公開ブロックキーPubKa,bを適用して配信データの暗号化を実行し、前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータを生成する処理を実行するステップと、
    を有することを特徴とする情報処理方法。
  46. 暗号化データの復号処理を実行する情報処理方法であり、
    前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、復号処理において適用する公開鍵暗号方式における秘密鍵として設定され、階層型キーツリー構成における各ノードに対応付けられ秘密ノードキーPriNKを、マスタキーMKに基づいて生成するステップと、
    前記生成秘密ノードキーPriNKに基づいて、公開鍵暗号方式における公開鍵として設定された公開ノードキーPubNKで暗号化された暗号化データCTの復号処理を実行するステップと、
    を有することを特徴とする情報処理方法。
  47. 暗号化データの復号処理を実行する情報処理方法であり、
    復号処理において適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて算出するステップと、ただし、前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、前記秘密サブセットキーPriSKk,Bは、前記サブセットに対して公開鍵暗号方式における秘密鍵として設定されている、
    前記生成秘密サブセットキーPriSKk,Bに基づいて、公開鍵暗号方式における公開鍵として設定されたサブセットキーPubSKk,Bで暗号化された暗号化データCTk,Bの復号処理を実行するステップと、
    を有することを特徴とする情報処理方法。
  48. A列B行のブロックキーテーブル(BKT)の各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bが設定され、該秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bにより暗号化された暗号化データCTa,bの復号処理を実行する情報処理方法であり、
    前記テーブルデータのB個の要素vを指示するベクトルVを有し、ベクトル(V,b)に対応する暗号化データCTa,bの復号において、
    秘密ブロックキーPriKa,bを、マスタキーMKに基づいて生成するステップと、
    前記生成秘密ブロックキーPriKa,bに基づいて、前記暗号化データCTa,bの復号処理を実行するステップと、
    を有することを特徴とする情報処理方法。
  49. 認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行するコンピュータ・プログラムであり、
    前記ユーザ機器が配置される階層型キーツリー構成におけるノード番号iの各ノード(i)に対して公開鍵暗号方式における秘密鍵として設定された秘密ノードキーPriNKに対応する公開鍵としての公開ノードキーPubNKを選択するステップと、
    前記選択した公開ノードキーPubNKを適用して配信データの暗号化処理を実行し、前記秘密ノードキーPriNKを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTを生成する処理を実行するステップと、
    を有することを特徴とするコンピュータ・プログラム。
  50. 認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行するコンピュータ・プログラムであり、
    階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、該サブセットに対して公開鍵暗号方式における秘密鍵として設定された秘密サブセットキーPriSk,Bに対応する公開鍵としての公開サブセットキーPubSKk,Bを選択するステップと、
    前記選択した公開サブセットキーPubSKk,Bを適用して配信データの暗号化を実行し、前記サブセットキーPriSk,Bを取得可能な認証されたユーザ機器においてのみ利用可能な暗号化データCTk,Bを生成する処理を実行するステップと、
    を有することを特徴とするコンピュータ・プログラム。
  51. 認証されたユーザ機器においてのみ利用可能な暗号化データの生成処理を実行するコンピュータ・プログラムであり、
    A列B行のブロックキーテーブル(BKT)の各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵として設定された秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bを選択するステップと、
    前記選択された公開ブロックキーPubKa,bを適用して配信データの暗号化を実行し、前記ブロックキーテーブルの各要素位置(a,b)に対応する複数の暗号化データCTa,bを含むテーブルデータを生成する処理を実行するステップと、
    を有することを特徴とするコンピュータ・プログラム。
  52. 暗号化データの復号処理を実行するコンピュータ・プログラムであり、
    前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、復号処理において適用する公開鍵暗号方式における秘密鍵として設定され、階層型キーツリー構成における各ノードに対応付けられ秘密ノードキーPriNKを、マスタキーMKに基づいて生成するステップと、
    前記生成秘密ノードキーPriNKに基づいて、公開鍵暗号方式における公開鍵として設定された公開ノードキーPubNKで暗号化された暗号化データCTの復号処理を実行するステップと、
    を有することを特徴とするコンピュータ・プログラム。
  53. 暗号化データの復号処理を実行するコンピュータ・プログラムであり、
    復号処理において適用する秘密サブセットキーPriSKk,Bを、マスタキーMKに基づいて算出するステップと、ただし、前記情報処理装置は、階層型キーツリー構成におけるノードに対応付けられ、階層型キーツリー構成におけるノード対して、ノード位置および子ノードの有無を示すサブセットSk,Bが定義(ただし、kはノード位置を示す識別子であり、Bは、b,b,...bでありbは子ノードの有無を示すビット列)され、前記秘密サブセットキーPriSKk,Bは、前記サブセットに対して公開鍵暗号方式における秘密鍵として設定されている、
    前記生成秘密サブセットキーPriSKk,Bに基づいて、公開鍵暗号方式における公開鍵として設定されたサブセットキーPubSKk,Bで暗号化された暗号化データCTk,Bの復号処理を実行するステップと、
    を有することを特徴とするコンピュータ・プログラム。
  54. A列B行のブロックキーテーブル(BKT)の各要素位置(a,b)に対応して公開鍵暗号方式における秘密鍵としての秘密ブロックキーPriKa,bが設定され、該秘密ブロックキーPriKa,bに対応する公開鍵としての公開ブロックキーPubKa,bにより暗号化された暗号化データCTa,bの復号処理を実行するコンピュータ・プログラムであり、
    前記テーブルデータのB個の要素vを指示するベクトルVを有し、ベクトル(V,b)に対応する暗号化データCTa,bの復号において、
    秘密ブロックキーPriKa,bを、マスタキーMKに基づいて生成するステップと、
    前記生成秘密ブロックキーPriKa,bに基づいて、前記暗号化データCTa,bの復号処理を実行するステップと、
    を有することを特徴とするコンピュータ・プログラム。
JP2003016677A 2003-01-24 2003-01-24 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム Pending JP2004229128A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003016677A JP2004229128A (ja) 2003-01-24 2003-01-24 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003016677A JP2004229128A (ja) 2003-01-24 2003-01-24 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2004229128A true JP2004229128A (ja) 2004-08-12

Family

ID=32904059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003016677A Pending JP2004229128A (ja) 2003-01-24 2003-01-24 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP2004229128A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005333242A (ja) * 2004-05-18 2005-12-02 Pioneer Electronic Corp 鍵管理システム、及び再生装置
JP2006293568A (ja) * 2005-04-07 2006-10-26 Heartland:Kk コンテンツファイル生成装置
JP2006293566A (ja) * 2005-04-07 2006-10-26 Heartland:Kk コンテンツファイルを記憶したコンピュータ読み取り可能な記録媒体
JP2009124193A (ja) * 2007-11-09 2009-06-04 Sony Corp 情報処理装置、鍵設定方法、及びプログラム
JP2009535884A (ja) * 2006-04-25 2009-10-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 劇場用コンテンツのための更新できるウォーターマーク
WO2009130795A1 (ja) * 2008-04-26 2009-10-29 三菱電機株式会社 情報処理装置及びプログラム
JP2011524564A (ja) * 2008-06-04 2011-09-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 医療データを処理する方法及びシステム
KR101270991B1 (ko) 2009-12-21 2013-06-04 한국전자통신연구원 계층적 역할 기반 접근 제어를 위한 키 트리 구성 및 키 분배 방법

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005333242A (ja) * 2004-05-18 2005-12-02 Pioneer Electronic Corp 鍵管理システム、及び再生装置
JP2006293568A (ja) * 2005-04-07 2006-10-26 Heartland:Kk コンテンツファイル生成装置
JP2006293566A (ja) * 2005-04-07 2006-10-26 Heartland:Kk コンテンツファイルを記憶したコンピュータ読み取り可能な記録媒体
JP4694242B2 (ja) * 2005-04-07 2011-06-08 株式会社ハートランド コンテンツファイル生成装置
JP4694241B2 (ja) * 2005-04-07 2011-06-08 株式会社ハートランド コンテンツファイルを記憶したコンピュータ読み取り可能な記録媒体
JP2009535884A (ja) * 2006-04-25 2009-10-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 劇場用コンテンツのための更新できるウォーターマーク
JP2009124193A (ja) * 2007-11-09 2009-06-04 Sony Corp 情報処理装置、鍵設定方法、及びプログラム
WO2009130795A1 (ja) * 2008-04-26 2009-10-29 三菱電機株式会社 情報処理装置及びプログラム
JP2011524564A (ja) * 2008-06-04 2011-09-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 医療データを処理する方法及びシステム
US9881128B2 (en) 2008-06-04 2018-01-30 Koninklijke Philips N.V. Method and a system of healthcare data handling
KR101270991B1 (ko) 2009-12-21 2013-06-04 한국전자통신연구원 계층적 역할 기반 접근 제어를 위한 키 트리 구성 및 키 분배 방법

Similar Documents

Publication Publication Date Title
JP4902934B2 (ja) 放送暗号化方法
WO2011111370A1 (ja) 記録システム、再生システム、鍵配信サーバ、記録装置、記録媒体装置、再生装置、記録方法、及び、再生方法
KR100543630B1 (ko) 브로드캐스트 암호화 및 상태 비유지 수신기들의 키 철회방법
JP4882636B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
EP1235381A1 (en) Information processing device, information processing method and program storage medium
JP2001352321A (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
JP2002198948A (ja) 情報処理システム、情報処理方法、情報処理装置、および情報記録媒体、並びにプログラム記録媒体
JP2002198952A (ja) 情報処理システム、および情報処理方法、並びにプログラム記録媒体
JP2001358707A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP2002198950A (ja) 情報処理システム、および情報処理方法、並びにプログラム記録媒体
JP2002077131A (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
JP2005286959A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2010124071A (ja) 通信装置、通信方法及びプログラム
JP2004229128A (ja) 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2005333242A (ja) 鍵管理システム、及び再生装置
JP2008092514A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2001358705A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP4635459B2 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
WO2004114584A1 (ja) 著作権保護システム並びにべき乗剰余演算装置及び方法
JP4576824B2 (ja) 情報処理装置および情報処理方法
JP5052207B2 (ja) 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体
JP4638176B2 (ja) 著作権保護システム、べき乗剰余演算装置、演算装置、鍵管理装置、再生装置、記録装置、記録媒体、べき乗剰余演算方法、演算方法、及びプログラム
WO2009157050A1 (ja) 情報処理装置及びプログラム
JP2005191805A (ja) 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム