JP4902934B2 - 放送暗号化方法 - Google Patents
放送暗号化方法 Download PDFInfo
- Publication number
- JP4902934B2 JP4902934B2 JP2003017887A JP2003017887A JP4902934B2 JP 4902934 B2 JP4902934 B2 JP 4902934B2 JP 2003017887 A JP2003017887 A JP 2003017887A JP 2003017887 A JP2003017887 A JP 2003017887A JP 4902934 B2 JP4902934 B2 JP 4902934B2
- Authority
- JP
- Japan
- Prior art keywords
- receiver
- key
- management center
- node
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/601—Broadcast encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【発明の属する技術分野】
本発明は、放送暗号化方法に関する。なお、本発明は、2002年1月30日に出願された米国特許仮出願番号第60/353640号及び2002年5月15日に出願された米国特許仮出願番号第60/381299号に基づく優先権を主張し、これらの出願における開示内容を参照することにより本願に援用する。
【0002】
【従来の技術】
デジタルデータ処理技術の進歩により、データの品質を損なうことなく、データを用いることができるようになっている。例えばデジタルピクチャ、デジタルミュージック等の多くの種類のコンテンツがデジタルデータとして利用できるようになり、またこれらのデジタルデータに対して、例えば生成、保存、コピー、編集、交換等の様々な処理を行うことができるようになっている。同時に、コンテンツの権利の所有者にとっては、不正なコピーやその他の使用からデータを保護することが益々困難になっている。
【0003】
デジタルデータの配信を制御する一手法として、リボケーション方式(revocation scheme)又は放送暗号化方式が用いられている。ここでは、送信機は、放送チャンネルを介して、受信機のグループに暗号化された情報又はコンテンツを送信する。1つ以上の受信機は、この情報を復号するための認証を得ていない。このような認証を受けていない受信機は、無効な受信機(revoked receiver)とも呼ばれる。無効な受信機は、暗号化されて放送された情報を復号するための復号キーを有していない。すなわち、全ての受信機は、情報を受信するが、この情報を復号することができる有効な受信機と、この情報を復号できない無効な受信機とが存在する。このリボケーション方式は、例えば有料テレビジョン放送及びコピー保護された媒体等に利用されている。
【0004】
【発明が解決しようとする課題】
そこで、本発明は上述の課題に鑑みてなされたものであり、本発明の目的は、効率的に受信機を無効にすることができる放送暗号化方法を提供することである。
【0005】
【課題を解決するための手段】
上述の課題を解決するために、本発明に係る放送暗号化方法は、コントローラを有する管理センタによって、複数のサブキーのうちの2つ以上のサブキーを導出するために用いることができるそれぞれのマスタキーを複数の受信機のそれぞれに割り当てるステップと、管理センタによって、複数の受信機のうちの1つ以上の受信機を無効にし、無効にされていない1つ以上の受信機を残すステップと、管理センタによって、無効にされていない受信機の各マスタキー毎に、該マスタキーから導出できるとともに、無効にされた1つ以上受信機の全てのマスタキーからは導出できないサブキーを管理センタが選択するステップと、管理センタによって、選択された各サブキー毎に、該選択されたサブキーを用いて、1つの暗号文を暗号化するステップと、管理センタによって、暗号化された暗号文を複数の受信機に送信するステップとを有し、複数の受信機は、無効にされた受信機を示す受信機情報と、それぞれのサブキーとそれぞれの受信機間の関係を示す関係情報とを取得する。暗号文を暗号化するステップは、管理センタによって、根と、複数の内部ノードと、複数の葉とを含むノードを有する階層的キー木であって、各サブキーが、そのそれぞれのノードに対応するノードキーである階層的キー木を定義するステップと、管理センタによって、各受信機を階層的キー木の葉に割り当てるステップと、管理センタによって、無効にされた受信機の葉から階層的キー木の根までのパス上のノードに割り当てられた各ノードキーを無効にし、無効にされていない1つ以上のノードキーを残すステップとを有し、各マスタキーは、該マスタキーの受信機の葉から階層的キー木の根までのパス上のノードのノードキーを各受信機が導出するために用いることができ、マスタキー毎にサブキーを選択するステップは、無効にされていないノードキーに対応する階層的キー木の1つ以上のノードをそれぞれ含む1つ以上の部分木を定義するステップを含み、各部分木の根は、無効にされたノードキーに対応する子ノードを有さず、暗号文を暗号化するステップは、1つ以上の部分木の根の1つに対応するノードキーを用いて、暗号文を暗号化するステップを含む。
【0010】
【発明の実施の形態】
以下、本発明に係る放送暗号化方法、放送復号方法、受信装置、放送暗号化装置及び放送復号装置について、図面を参照して詳細に説明する。
【0011】
本発明は、例えば放送の暗号化又は媒体の保護の分野において、一部の受信機を効率的に無効にする方法及び装置を提供する。一具体例においては、マスタキーとサブキーとを組み合わせて用いることにより、認証された受信機に対し、暗号化されて放送されたコンテンツへのアクセスを許可するとともに、無効な受信機(すなわち、認証されていない受信機)が暗号化されたコンテンツにアクセスすることを防止する。すなわち、暗号化されたコンテンツは、全ての受信機に対して送信されるが、無効な受信機は、このコンテンツのファイルを復号するためのコンテンツキーにアクセスすることができない。
【0012】
図1は、放送衛星を用いた放送暗号化システム(broadcast encryption system)の構成を示すブロック図である。図1に示す放送暗号化システム100は、放送チャンネルを介して暗号化されたデータ(暗号文(ciphertext)とも呼ばれる。)を受信機1201〜120Nに送信する。図1に示す放送暗号化システム100では、放送チャンネルは、衛星放送配信チャンネルである。暗号文として送信されるデータは、例えば暗号キー、オーディオ及び/又はビデオコンテンツ、テキストメッセージ等を含んでいる。衛星放送局110における放送管理センタ(broadcast trusted center)105は、放送衛星115にデータを送信する。放送管理センタ105は、例えば暗号化用のキーを選択すること等により、データの暗号化及び配信を制御する。放送衛星115は、データを放送する。住居1251に設置された受信機1201は、例えば衛星放送受信機を備え、放送されてくるデータを受信する。他の複数の受信機1202〜120Nも放送されてくるデータを受信することができる。このようにして、放送管理センタ105は、受信機1201〜120Nからなる受信機グループ内の各受信機にデータを送信することができる。後述するように、放送管理センタ105は、認証されている受信機1201〜120Nのみが放送されたデータを復号することができるように、放送データを暗号化する。なお、図1には、放送衛星115を用いた放送システムを示しているが、ケーブルテレビジョンやコンピュータネットワーク等、この他の放送チャンネルを用いてもよい。
【0013】
図2は、例えば図1に示す放送管理センタ105等の管理センタの具体的な構成を示すブロック図である。図2に示す管理センタ200は、コントローラ205と、演算ユニット210と、入出力インタフェース215と、安全記憶装置(secure storage)220と、主記憶装置225とを備える。コントローラ205は、管理センタ200の動作を制御する。一具体例においては、コントローラ205は、中央演算処理装置(central processing unit:以下、CPUという。)であってもよい。演算ユニット210は、暗号キーの生成及び暗号化等のための専用の演算機能を提供する。また、管理センタ200は、入出力インタフェース215を介してデータを送受する。一具体例においては、入出力インタフェース215は、送信機を含む。また、他の具体例においては、入出力インタフェース215は、例えば図1に示す衛星放送局110が備える送信機等の送信機に接続されていてもよい。安全記憶装置220は、例えば暗号キー等、安全又は秘密に保持すべきデータを保存する。主記憶装置225は、管理センタ200の動作をサポートするためのデータ、及び例えばビデオ及び/又はオーディオデータを含むコンテンツファイル等、受信機120に送信するデータを保存している。一具体例においては、安全記憶装置220及び主記憶装置225は、例えばランダムアクセスメモリ(random access memory:以下、RAMという。)等のメモリ装置であってもよい。
【0014】
図3は、例えば図1に示す受信機1201〜120N等の受信機の具体的な構成を示すブロック図である。図3に示す受信機300は、コントローラ305と、演算ユニット310と、入出力インタフェース315と、安全記憶装置320と、主記憶装置325と、ディスプレイ装置330とを備える。コントローラ305は、受信機300の動作を制御する。一具体例においては、コントローラ305は、CPUであってもよい。演算ユニット310は、例えば復号等の専用の演算機能を提供する。受信機300は、入出力インタフェース315を介して、データを送受する。一具体例においては、入出力インタフェース315は、放送受信機を含む。また、他の具体例においては、入出力インタフェース315は、図1に示す住居1251〜125Nに設置されている対応した衛星放送受信機等の放送受信機に接続されている。安全記憶装置320は、例えば復号キー等、安全又は秘密に保持すべきデータを保存する。受信機300用の1又は複数の復号キーは、製造業者によって、安全記憶装置320に保存される。これに代えて、放送管理センタ105が受信機300に復号キーを送信し、受信機300がその安全記憶装置320にこの復号キーを保存するようにしてもよい。主記憶装置325は、受信機300の動作をサポートするためのデータを保存する。一具体例においては、安全記憶装置320及び主記憶装置325は、RAM等のメモリ装置であってもよい。ディスプレイ装置330は、例えばモニタ又はテレビジョン受像機を介して、受信機300のユーザに、データに基づく情報を表示する。変形例においては、受信機300は、ディスプレイ装置自体を備えるのではなく、外部のディスプレイ装置に接続されるディスプレイインタフェースを備えていてもよい。
【0015】
図4は、データ媒体を用いた放送暗号化システムの構成を示すブロック図である。図4に示す放送暗号化システム400では、放送チャンネルは、データ媒体の配布である。媒体製造業者410内の媒体管理センタ405は、例えば再生専用媒体(CD−ROMやDVD−ROM等)又は記録可能な媒体(CD−RWやDVD−RW等)等のデータ媒体415の各個体(article of data media)にデータを記録する。後述するように、再生専用媒体については、媒体管理センタ405は、暗号化されたコンテンツキー及び暗号化されたコンテンツを記録し、認証された再生装置のみが、暗号化されているコンテンツ(例えば、ビデオ及び/又はオーディオ)を復号して、アクセスできるようにしている。一方、記録可能な媒体については、媒体管理センタ405は、暗号化されたコンテンツキーを、記録可能な媒体に記録し、認証された記録装置のみが対応するデータを、記録可能な媒体に記録できるようにしている。媒体製造業者410は、例えば小売店等の販売店(distribution outlet)420にデータ媒体415を送付する。販売店420は、データ媒体415を住居430の受信機425に提供する。例えば、販売店420は、データ媒体415を個人に販売し、この個人がデータ媒体415を住居430に持ち帰り、データ媒体415を受信機425に挿入する。一具体例においては、受信機425は、例えばDVDプレイヤ等、データ媒体415に記録されているデータを読み出して再生する装置であってもよい。他の具体例においては、受信機425は、例えばDVD−RWドライブ等、データ媒体415にデータを記録し、及びデータ媒体415からデータを読み出す記録装置であってもよい。このようにして、媒体管理センタ405は、受信機425にデータを供給することができる。後述するように、媒体管理センタ405は、認証されている受信機425のみが、暗号化されているデータを復号することができるように、データを暗号化する。
【0016】
図5は、図4に示す媒体管理センタ405等の管理センタの具体的な構成を示すブロック図である。図5に示す媒体管理センタ500は、コントローラ505と、演算ユニット510と、入出力インタフェース515と、安全記憶装置520と、主記憶装置525と、媒体インタフェース530とを備える。コントローラ505は、媒体管理センタ500の動作を制御する。一具体例においては、コントローラ505は、CPUであってもよい。演算ユニット510は、例えば暗号キーの生成及び暗号化等のための専用の演算機能を提供する。また、媒体管理センタ500は、入出力インタフェース515を介してデータを送受する。安全記憶装置520は、例えば暗号キー等、安全又は秘密に保持すべきデータを保存する。主記憶装置525は、媒体管理センタ500の動作をサポートするためのデータ、及び例えばビデオ及び/又はオーディオデータを含むコンテンツファイル等、受信機422に配布すべきデータを保存している。一具体例においては、安全記憶装置520及び主記憶装置525は、例えばRAM等のメモリ装置であってもよい。媒体インタフェース530は、媒体管理センタ500に読出/書込機能を提供し、これにより、媒体管理センタ500は、例えば図4に示す放送暗号化システム400によって配布されるデータ媒体415等の媒体の個体にデータを書き込み、及びこの媒体の個体からデータを読み出すことができる。
【0017】
図6は、例えば図4に示す受信機425等の受信機の具体的な構成を示すブロック図である。図6に示す受信機600は、再生装置であってもよく、記録装置であってもよい。受信機600は、コントローラ605と、演算ユニット610と、入出力インタフェース615と、安全記憶装置620と、主記憶装置625と、ディスプレイ装置630と、媒体インタフェース635とを備える。コントローラ605は、受信機600の動作を制御する。一具体例においては、コントローラ605は、CPUであってもよい。演算ユニット610は、例えば復号又は暗号化(記録装置の場合)等の専用の演算機能を提供する。受信機600は、入出力インタフェース615を介して、データを送受する。安全記憶装置620は、例えば復号キー等、安全又は秘密に保持すべきデータを保存する。受信機600用の1又は複数の復号キーは、製造業者によって、安全記憶装置620に保存される。主記憶装置625は、受信機600の動作をサポートするためのデータを保存する。一具体例においては、安全記憶装置620及び主記憶装置625は、RAM等のメモリ装置であってもよい。ディスプレイ装置630は、例えばモニタ又はテレビジョン受像機を介して、受信機600のユーザに、データに基づく情報を表示する。変形例においては、受信機600は、ディスプレイ装置自体を備えるのではなく、外部のディスプレイ装置に接続されるディスプレイインタフェースを備えていてもよい。媒体インタフェース635は、受信機600に読出機能を提供し、及び受信機600が記録装置である場合、受信機600に書込機能を提供し、これにより、受信機600は、例えば図4に示す放送暗号化システム400によって配布されるデータ媒体415等の媒体の個体からデータを読み出し、また受信機600が記録装置の場合、この媒体の個体にデータを書き込むことができる。
【0018】
図7は、データを暗号化して暗号文を生成し、及び暗号文を1つ以上の受信機のグループに送信する処理を含む放送暗号化処理の手順を示すフローチャートである。一具体例においては、例えば図1に示す放送暗号化システム100のように、放送管理センタ105は、1つ以上の受信機120に暗号文を放送する。他の具体例においては、例えば図4に示す放送暗号化システム400のように、媒体管理センタ405は、1つ以上の受信機425に配布するためのデータ媒体を準備する。管理センタは、ステップS705において、放送暗号化システムを設定する。管理センタは、設定の一部として、サブキー及びマスタキーを生成する。各マスタキーは、2つ以上のサブキーを生成するために用いることができる。管理センタ及び受信機は、サブキーを用いて暗号文を暗号化及び復号する。一具体例においては、管理センタは、各マスタキーを対応する受信機に送信する。他の具体例においては、各受信機は、受信機の製造業者から対応するマスタキーが供給される。管理センタは、ステップS710において、2つ以上の受信機からなるグループの各受信機に、それぞれマスタキーを割り当てる。これに応じて、各受信機はマスタキーを保存する。なお、受信機は、サブキーのそれぞれを保存する必要はない。後述するように、受信機は、サブキー又はサブキーの一部を予め算出していてもよい。これにより、予め算出されたサブキー又はサブキーの一部を記憶するための記憶容量が必要となるが、処理速度を速めることができる。
【0019】
管理センタは、ステップS715において、1つ以上の受信機を無効にする。管理センタが受信機を無効にすると、受信機の認証が取り消される。この無効処理の後は、元の受信機のグループのうちの1つ以上の受信機が有効のまま残る。また、全ての受信機がデータを復号するための認証を管理センタから受けている場合等、管理センタが受信機を1つも無効にしない場合もある。管理センタは、ステップS720において、暗号化に使用するためのサブキーを選択する。後述するように、管理センタは、無効にされた受信機に割り当てられているマスタキーからは生成することができないサブキーを選択する。管理センタは、各マスタキーについて、そのマスタキー及び他の多くのマスタキーから生成でき、且つ無効にされた受信機のマスタキーからは生成できないサブキーを選択する。後述するように、一具体例においては、管理センタは、階層的キー木(hierarchical key tree)を用いて、サブキーの割当及び選択を行う。選択されたサブキーのグループは、利用可能なサブキーの全てを含んではいない。管理センタは、ステップS725において、どのサブキーが選択されたかを示す表現コード(representation code)を生成する。管理センタは、この表現コードを受信機に送信する。
【0020】
管理センタは、ステップS730において、選択された各サブキーを用いて、データを暗号化して暗号文を生成する。管理センタは、AESやDES等の暗号アルゴリズムを使用する。管理センタは、ステップS735において、暗号文を全ての受信機に送信する。ここでは、無効にされた受信機は、暗号文を復号することができないので、管理センタは、無効にされた受信機を含む全ての受信機に暗号文を送信することができる。管理センタは、各放送暗号化システムにおいて適切なチャンネルを介して、受信機に暗号文を送信する。例えば図1に示す放送暗号化システム100では、放送チャンネルは、上述のように放送衛星115である。一具体例においては、管理センタは、ステップS705及びステップS710を1回(又は、受信機の数が変わる等、放送暗号化システムに変化が生じるまで)実行し、この後は、暗号文の配信毎に、ステップS715〜ステップS735を繰り返す。
【0021】
一具体例においては、管理センタは、選択された各サブキーを用いて、コンテンツキーを暗号化する。受信機は、コンテンツキーを用いて、例えばビデオ及び/又はオーディオデータを含むファイル等である暗号化されたコンテンツファイルを復号することができる。ここで、コンテンツキーには、暗号化されたコンテンツファイルを直接復号するために用いることができるものと、暗号化されたコンテンツファイルを復号するための1つ以上のサブコンテンツキーを生成するために使用されるものとがある。また、コンテンツは、データストリーム又はライブコンテンツのように静的ファイルとして保存されないものもある。図8は、コンテンツキー及びコンテンツファイルの暗号化を含む放送暗号化処理の手順を示すフローチャートである。図8に示す具体例において、図7を用いて説明したステップと同様のステップは、図7に示す具体例と同様に実行されるので、変更があったステップについて、以下に説明する。まず、ステップS805において、管理センタは、放送暗号化システムを設定する。管理センタは、ステップS810において、2つ以上の受信機からなるグループの各受信機に、それぞれマスタキーを割り当てる。管理センタは、ステップS815において、1つ以上の受信機を無効にする。管理センタは、ステップS820において、暗号化に使用するためのサブキーを選択する。管理センタは、ステップS825において、どのサブキーが選択されたかを示す表現コードを生成し、この表現コードを全ての受信機に送信する。管理センタは、ステップS830において、選択された各サブキーを用いて、コンテンツキーをそれぞれのキー暗号文として暗号化する。管理センタは、選択された各サブキーを用いて、同じコンテンツキーを暗号化し、選択された各サブキーに対するキー暗号文を生成する。管理センタは、ステップS835において、受信機にキー暗号文を送信する。管理センタは、ステップS840において、コンテンツキーを用いて、コンテンツファイルを暗号化する。ここでは、無効にされた受信機は、暗号化されたコンテンツファイル又はキー暗号文を復号できないので、管理センタは、無効にされた受信機を含む全ての受信機に、暗号化されたコンテンツファイル及びキー暗号文(それぞれがコンテンツキーを含んでいる)を送信することができる。更に、管理センタは、選択された各サブキーを用いて、コンテンツキーを独立したキー暗号文として複数回暗号化及び放送し、及びコンテンツキーを用いて、コンテンツファイルを1回暗号化及び放送する。一具体例においては、管理センタは、ステップS805及びステップS810を1回(又は、受信機の数が変わる等、放送暗号化システムに変化が生じるまで)実行し、この後は、暗号文の配信毎に、ステップS815〜ステップS845を繰り返す。
【0022】
受信機によって実行される放送データ復号処理を説明するフローチャートを図9に示す。一具体例においては、例えば図1に示す放送暗号化システム100のように、受信機1201〜120Nは、放送管理センタ105から放送されてくるデータ及び暗号文を受信する。他の具体例においては、例えば図4に示す放送暗号化システム400のように、受信機425は、媒体管理センタ405が配布のために準備したデータ媒体を介して、データ及び暗号文が供給される。受信機は、ステップS905において、管理センタからマスタキーが供給される。受信機は、マスタキーを安全記憶装置に保存する。上述した図7のステップS710と同様に、一具体例においては、受信機は、管理センタから直接ではなく、受信機の製造業者からマスタキーが供給される。受信機は、ステップS910において、管理センタから表現コードを受信する。表現コードは、管理センタがどのサブキーを用いて暗号文を暗号化しているかを示している。受信機は、ステップS915において、管理センタから放送暗号化システムの放送チャンネルを介して、1つ以上の暗号文を受信する。一具体例においては、受信機は、表現コードを確認し、どの暗号文を復号することができるかを判定し、受信機が復号できない暗号文を削除又は無視する。受信機は、ステップS920において、表現コードを用いて、復号に用いるターゲットサブキー(targetsub key)を選択する。ターゲットサブキーは、受信機のマスタキーに基づいて生成されるサブキーである。サブキーを選択した後、受信機は、ステップS925において、受信機のマスタキーに基づいて、選択されたサブキーを生成する。受信機は、ステップS930において、上述のようにして生成したサブキーを用いて、受信した暗号文を復号する。この復号の後、受信機は、暗号文に含まれているデータにアクセスすることができるようになる。一具体例においては、受信機は、ステップS905を1回(又は、受信機の数が変わる等、放送暗号化システムに変化が生じるまで)実行し、この後は、暗号文の配信毎に、ステップS910〜ステップS930を繰り返す。
【0023】
管理センタは、様々な手法を用いて、放送暗号化システムを設定する(図7に示すステップS705参照)。放送暗号化システムの設定は、管理センタと受信機との間のインタラクションに影響を与える。管理センタは、受信機を葉(leaf)とする階層的キー木を生成する。一具体例においては、管理センタは、木のノードにノードキーを割り当てた階層的キー木を用いる。他の具体例においては、管理センタは、ノード及びサブセットキーの子を指示するサブセットを階層的キー木のノードに割り当てる。更に他の具体例においては、管理センタは、サブセットキーを用いて、複数のマスタキーを各受信機に割り当てる。更に他の具体例においては、管理センタは、キー木に代えて、キーテーブルと、キーテーブルから要素を選択するためのベクトルとを使用する。以下、これらの具体例及び変形例について説明する。
【0024】
ノードキーを有する階層的キー木
例えば図1に示す放送暗号化システム100又は図4に示す放送暗号化システム400等、管理センタと、N個の受信機とを備える放送暗号化システムの一具体例においては、管理センタは、階層的キー木(hierarchical key tree:以下、HKTとも呼ぶ。)及びノードキーを用いる。この具体例においては、ノードキーは、上述したサブキーである。以下、図7及び図9に示す処理をこの構造に適用した具体例について説明する。
【0025】
図10は、ノードキーを有するHKTを用いて、マスタキーを受信機に割り当てる放送暗号化システムの設定の手順を示すフローチャートである(図7のステップS705及びS710参照)。図11は、16個の受信機からなる受信機のグループを含むHKT1100におけるノード1110に対するノードキー1105の割当を示す図である。管理センタは、ステップS1005において、HKTを定義する。このHKTは、葉、根及び内部ノードとを含む、2N−1個のノード及びN個の葉を有する根の付いた完全2分木(full binary tree)である。図11に示すように、ノードは、Vi(i=1,・・・,2N−1)として表される。ここで、Nが2の累乗ではない場合、管理センタは、Nより大きく且つNに最も近い2の累乗個の葉を有するHKTを定義する。変形例においては、管理センタは、2分木ではなく、a分木を定義する。
【0026】
管理センタは、ステップS1010において、各受信機をそれぞれの葉に割り当てる。受信機は、図11に示すように、uj(j=1,・・・,N)として表される。ここで、Nが2の累乗ではない場合、余りの葉には「仮想の」受信機が割り当てられる。なお、仮想の受信機は、仮想のエンティティであり、後に無効にする必要はない。管理センタは、ステップS1015において、暗号化パラメータを選択する。管理センタは、暗号化パラメータを用いて、例えばキー等の暗号化のための値を生成する。暗号化パラメータの一部は、公開暗号化パラメータであり、管理センタは、ステップS1020において、公開暗号化パラメータを公開する。ここで、管理センタは、例えば公開暗号化パラメータを各受信機に送信することにより、公開暗号化パラメータを公開する。なお、管理センタは、残りの秘密暗号化パラメータを受信機に対して秘密にする。管理センタは、2つの大きな素数q1 、q2を選択し、M=q1×q2である値Mを算出する。管理センタは、この値Mを公開暗号化パラメータとして公開する。更に、管理センタは、K0∈Z* M として、値K0を秘密暗号化パラメータとして選択する。更に、管理センタは、2N−1個の素数pi(i=1,・・・,2N−1)を公開暗号化パラメータとして選択する。管理センタは、根及び葉を含む対応したノードViに、各素数piを割り当てる(例えば、素数p1はノードv1に割り当てられる)。管理センタは、ノードに対する素数の割当を公開する。管理センタは、以下の式に基づいて、値Tを生成する。
【0027】
【数1】
【0028】
なお、管理センタは、値Tを公開しない。また、管理センタは、各受信機ujに対して値wjを生成する。値wjは、受信機ujに対応する葉から根までのパスに含まれる各ノードViに割り当てられた全ての素数piの積である。例えば、図11に示すHKT1100において、値w1は、受信機u1に対応し、ノードv16、v8、v4、v2、v1に割り当てられた素数p 16 、p 8 、p 4 、p 2 、p 1 の積であり、したがって、w1=p16×p8×p4×p2×p1である。
【0029】
管理センタは、ステップS1025において、暗号化パラメータを用いて、ノードキーを生成する。ノードキーは、図11に示すように、NKiとして表される。管理センタは、以下の式に基づいて、各ノードViに対応するノードキーNKiを算出する。
【0030】
【数2】
【0031】
管理センタは、各ノードキーNKiを対応するノードViに割り当てる。
【0032】
管理センタは、ステップS1030において、暗号化パラメータを用いて、マスタキーを生成する。マスタキーは、図11に示すように、MKjとして表される。ここで、管理センタは、以下の式に基づいて、各受信機ujに対応するマスタキーMKjを算出する。
【0033】
【数3】
【0034】
管理センタは、各マスタキーMKjを対応する受信機ujに割り当てる。これらのマスタキーMKjを用いて、受信機ujに対応する葉から根までのパスに含まれるノードViに対応する全てのノードキーNKiを導出することができる。例えば、図11に示すHKT1100において、受信機u1には、マスタキーMK1が割り当てられており、このマスタキーMK1を用いて、ノードキーNK16、NK8、NK4、NK2、NK1を導出することができる。受信機ujのいずれも無効にされていない場合は、根のノードキーNKiは、全てのマスタキーMKjから導出することができる。管理センタは、ステップS1035において、各マスタキーMKjを対応する受信機ujに送信する。
【0035】
管理センタは、ステップS1040において、HKTに関する情報を各受信機に送信する。ここで、管理センタは、HKTのノード数及び受信機に関連する割当を示す情報を受信機に送信する。上述のように、管理センタは、公開暗号化パラメータ、例えば、素数pi 及びどのノードViに素数piが対応しているかに関する情報を公開する。更に、管理センタは、どのノードViに受信機ujが割り当てられているか、どのノードViにどの受信機のマスタキーMKjが割り当てられているか、及びどのノードViに受信機のマスタキーMKjから導出可能なノードキーNKiが割り当てられているかを示す情報を送信する。
【0036】
図7のステップS710について上述したように、他の具体例においては、管理センタは、受信機の製造業者にマスタキーを供給し、受信機の製造業者が受信機にマスタキーを組み込む。この場合、管理センタは、製造業者を介して、公開暗号化パラメータ及びHKT情報を受信機に供給する。
【0037】
図12は、HKTを用いて、受信機を無効にし、ノードキーを選択し、表現コードを生成する処理を示すフローチャートである(図7のステップS715、S720、S725参照)。図13は、図11のHKT1100において、無効にされた受信機1305及び選択されたノードキー1310を示す図である。管理センタは、ステップS1205において、1つ以上の受信機を無効にする。管理センタは、受信機が管理センタから送信されてくる暗号文を復号する権限を有さなくなった場合に、その受信機を無効又は有効ではなくする。例えば、管理センタは、必要な料金を支払っていない受信機又はライセンスが有効ではなくなった受信機を無効にする。図13では、無効にされた受信機1305には、HKT1100の対応するノードに「×」印を付している。管理センタは、受信機u1、u5、u9、u13を無効にしている。他の受信機u2、u3、u4、u6、u7、u8、u10、u11、u12、u14、u15、u16は、無効にされていない、すなわち有効な受信機である。
【0038】
管理センタは、ステップS1210において、無効にされた受信機に割り当てられているマスタキーに基づいて生成することができるノードキーを無効にする。例えば、図13に示す具体例では、管理センタは、受信機u1を無効にし、この受信機u1には、マスタキーMK1が割り当てられている。受信機u1は、マスタキーMK1に基づいて、ノードキーNK16、NK8、NK4、NK2、NK1を生成することができる。したがって、管理センタは、ノードキーNK16、NK8、NK4、NK2、NK1を無効にする。
【0039】
無効にされていない受信機の各マスタキーについては、管理センタは、ステップS1215において、これらのマスタキーに基づいて生成でき、及び他の大部分のマスタキーに基づいて生成でき、且つ無効にされた受信機に対応するマスタキーからは生成できないノードキーを選択する。HKT1100において、管理センタは、無効にされたノードキーに対応する親ノードを有する無効にされていないノードキーを選択する。他の手法では、管理センタは、無効にされたノードキーに対応するノードを取り除く。ノードを取り除くことにより、1つ以上の部分木が残る(1つ以上の部分木は、単一のノードのみから構成される場合もある)。管理センタは、これらの部分木の根となるノードに対応したノードキーを選択する。図13では、ノードを囲む正方形の枠によって選択されたノードキー1310を示している。すなわち、管理センタは、ノードキーNK17、NK9、NK21、NK11、NK25、NK13、NK29、NK15を選択する。
【0040】
管理センタは、ステップS1220において、HKT及び無効にされた受信機に基づいて、表現木(representation tree)を定義する。図14は、図11及び図13に示すHKT1100に基づく表現木1400を示している。図14の濃い又は太い枝(edge)は、表現木1400の一部である枝を示している。図14の薄い又は細い枝は、表現木1400に含まれない。無効にされた受信機1405及び選択されたノードキー1410が、図13と同様に示されている。表現木1400の根は、対応するHKT1100の根である。表現木1400の葉は、選択されたノードキーに対応するノードである。表現木1400の内部ノードは、葉と根の間の内部ノードである。
【0041】
管理センタは、ステップS1225において、表現木1400に基づいて、表現コードを生成する。管理センタは、HKTの対応するノードに子が存在する場合、HKTの対応するノードのどの子が表現木に含まれているかを示す値を、表現木の各ノードに割り当てる。この具体例では、2分木を用いているので、表現木の各ノードは、2つの子を有する可能性がある。したがって、2つの1ビット値を用いて、ノードが有する可能性がある各子について、表現木に子ノードが含まれているか否かを示すことができる。図14では、表現木1400の各ノードの隣に示す括弧で括られた2つの数によって、この値を示している。例えば、根の隣には、(1,1)が示されており、これは、根の左側の子と右側の子が表現木1400に含まれていることを表している。また、内部ノードv8については、左側の子(無効にされた受信機u1に対応するノードv16)は表現木1400に含まれておらず、右側の子(ノードv17)は表現木1400に含まれているので、内部ノードv8の隣には、(0,1)が示されている。葉は、子となるノードを有していないので、表現木1400の葉は、子が含まれていないことを示す値を有している。例えば、図14に示すノードv17は、(0,0)の値を有している。表現木の葉に対応するノードキーは、選択されたノードキーであり、したがって、管理センタは、葉に対応するノードキーを用いて暗号化を行い、暗号文を生成する。
【0042】
管理センタは、表現木のノードに割り当てられた値を一続きにすることにより、表現コードを生成する。管理センタは、各ノードに割り当てられた値を幅優先順(breadth-first order)に連結する。例えば、図14に示す具体例では、管理センタは、ノードv1、v2、v3、v4、v5、v6、v7、v8、v9、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である。
【0043】
管理センタは、ステップS1230において、各受信機に表現コードを送信する。受信機は、表現コードを用いて、表現木を再構築することができる。後述するように、受信機は、探索アルゴリズム(例えば幅優先順探索法(breadth-first search))を用いて、受信機の葉ノードからHKTの根までのパス上のノードに対応する表現木の葉を検出する。受信機は、受信機のマスタキーに基づいて、そのノードのノードキーを導出し、このノードキーを用いて復号を行う。
【0044】
管理センタは、表現コードを生成した後、選択された各ノードキーを用いて、データを暗号文として暗号化する(図7のステップS730参照)。変形例においては、管理センタは、ノードキーを選択した後であって、表現コードを生成する前に、データを暗号化して暗号文を生成する。上述のように、受信機が1つも無効にされていない場合、管理センタは、全ての暗号文に対して、同じノードキー(図11におけるNK1)を用いて、暗号化を行う。管理センタは、全ての受信機に暗号文を送信する(図7に示すステップS735参照)。一具体例においては、管理センタは、選択された各ノードキーを用いて、コンテンツキーをキー暗号文として暗号化し、このキー暗号文を受信機に送信する(図8参照)。そして、管理センタは、コンテンツキーを用いて、コンテンツファイルを暗号化し、暗号化されたコンテンツファイルを受信機に送信する。
【0045】
図15は、HKT及びノードキーを用いた、受信機による放送復号の処理を示すフローチャートである(図9参照)。一具体例においては、例えば図1に示す放送暗号化システム100のように、受信機1201〜120Nは、放送管理センタ105から放送されたデータ及び暗号文を受信する。他の具体例においては、例えば図4に示す放送暗号化システム400のように、受信機425は、媒体管理センタ405が配布のために準備したデータ媒体を介して、データ及び暗号文が供給される。受信機は、ステップS1505において、管理センタから暗号化パラメータを受信する。図10のステップS1020に関連して上述したように、管理センタは、受信機が管理センタから受信した暗号文を復号するために使用する、例えば選択された素数pi等の公開暗号化パラメータを、受信機に公開する。一具体例においては、受信機は、公開暗号化パラメータを非安全記憶装置(例えば、図2に示す主記憶装置225)に保存する。受信機は、ステップS1510において、管理センタからマスタキーを受信する。図10のステップS1030及びステップS1035に関連して上述したように、管理センタは、受信機用のマスタキーを生成し、このマスタキーを受信機に送信する。受信機は、このマスタキーに基づいて、復号のためのノードキーを導出する。更に、受信機は、ステップS1515において、管理センタから、管理センタによって定義されたHKTに関する情報を受信する。図10のステップS1040に関連して上述したように、管理センタは、HKTのノードの数と、受信機に関連するノードに対するキー割当とを示す情報を受信機に送信する。変形例においては、管理センタは、暗号化パラメータの一部又は全部と、マスタキーと、HKT情報とを受信機に送信する。更に、図7のステップS710に関連して上述したように、一具体例においては、受信機は、暗号化パラメータと、マスタキーと、HKT情報とが、管理センタから直接ではなく、受信機の製造業者を介して供給される。
【0046】
受信機は、ステップS1520において、管理センタから表現コードを受信する。図12のステップS1220及びステップS1225に関連して上述したように、管理センタは、表現木(図14参照)を定義し、この表現木から表現コードを生成する。
【0047】
受信機は、ステップS1525において、表現コードを用いて、復号に使用するノードキーを選択する。受信機は、表現コードから表現木を再構築する。上述のように、図14に示す表現木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)に分離する。受信機は、これらの値に基づき、幅優先順探索法(breadth-first approach)を用いて、表現木内における子ノードの有無を判定する。例えば、最初の値(1,1)は、根(ノードv1)に対応し、根が左側の子(内部ノードv2)と右側の子(内部ノードv3)とを有していることを示している。第2の値(1,1)は、内部ノードv2に対応し、内部ノードv2が左側の子(内部ノードv4)と右側の子(内部ノードv5)とを有していることを示している。受信機は、このようなパターンに基づく判定を繰り返して、表現木を完成させる。
【0048】
受信機は、受信機の葉ノードからHKTの根までのパス上のノードに対応する葉ノードを検出するまで、(例えば幅優先順探索法を用いて、)再構築された表現木を検索する(ここで、表現木のノードv1は、HKTのノードv1に対応する)。例えば、図11及び図13に示すHKT1100及び図14に示す表現木1400において、受信機u2は、ノードv17を葉であると認識し、受信機u3及び受信機u4は、共に内部ノードv9を葉であると認識する。受信機は、受信機の葉ノードからHKTの根までのパス上のノードに対応する葉ノードを検出しない場合、受信機は、それ自体が無効にされ、有効なノードキーを導出することができないと判定する。例えば、受信機u1は、無効にされており、したがって、受信機u1のノードから根までのパス上に葉を検出することができない。すなわち、受信機u1は、ノードv16に対応し、ノードv16から根(ノードv1)までのパスには、ノードv16、v8、v4、v2、v1が含まれ、これらのノードv16、v8、v4、v2、v1は、いずれも表現木の葉に対応していない。一具体例においては、受信機は、(例えば、ネットワーク接続を介して)管理センタと通信することにより、受信機が無効にされたことを確認する。
【0049】
ノードキーを選択した後、受信機は、ステップS1530において、受信機のマスタキーに基づいて、選択されたノードキーを導出する。図11を参照して上述したように、ノードVi用のノードキーは、NKiと表され、受信機ujのマスタキーは、MKjと表される。受信機ujが受信する暗号化パラメータは、素数piと、受信機ujに対応する葉から根までのパス上のノードViに割り当てられた全ての素数piの積である値wjとである。受信機は、以下の式に基づいて、ノードキーNKiを算出する。
【0050】
【数4】
【0051】
一具体例においては、受信機は、wj/piを予め算出しておく。
【0052】
受信機は、ステップS1535において、放送暗号化システムの放送チャンネルを介して、管理センタから1つ以上の暗号文を受信する。なお、変形例として、受信機は、ノードキーを導出する前に、例えばステップS1520で受信する表現コード等とともに、暗号文を受信してもよい。
【0053】
ステップS1540において、受信機は、上述のようにして導出したノードキーを用いて、受信した暗号文を復号する。一具体例においては、受信機は、導出したノードキーを用いて、受信した各暗号文を復号するように試みる。受信機は、例えばチェックサム値を用いて、復号結果が、受信した暗号文に対して正しいものであるか否かを判定する。他の具体例においては、受信機は、導出したノードキーが暗号文の復号に有効であるか否かを判定した後、導出したノードキーに対応する暗号文を復号する。一具体例においては、受信機は、ステップS1505〜ステップS1515を1回(又は、受信機の数が変わる等、放送暗号化システムに変化が生じるまで)実行し、そして、暗号文の配信毎に、ステップS1520〜ステップS1540を繰り返す。
【0054】
一具体例においては、受信機は、コンテンツキーを暗号文として受信し、更に、コンテンツキーに対応する暗号化されたコンテンツファイルを受信する(図8参照)。コンテンツキー及びコンテンツファイルの復号を含む放送復号処理のフローチャートを図16に示す。図16に示す具体例において、図15を用いて説明したステップと同様のステップは、図15に示す具体例と同様に実行されるので、変更があったステップについて、以下に説明する。受信機は、ステップS1605において、管理センタから暗号化パラメータを受信する。受信機は、ステップS1610において、管理センタからマスタキーを受信する。受信機は、ステップS1615において、管理センタから、管理センタによって定義されたHKTに関する情報を受信する。受信機は、ステップS1620において、管理センタから表現コードを受信する。受信機は、ステップS1625において、表現コードを用いて、復号に使用するノードキーを選択する。ノードキーを選択した後、受信機は、ステップS1630において、受信機のマスタキーに基づいて、選択されたノードキーを導出する。
【0055】
受信機は、ステップS1635において、放送暗号化システムの放送チャンネルを介して、管理センタから1つ以上のキー暗号文を受信する。受信機が受信する各キー暗号文は、同じコンテンツキーを含んでいるが、異なるノードキーを用いて暗号化されている。受信機は、ステップS1640において、導出したノードキーを用いて、受信したキー暗号文を復号する。導出されたノードキーは、複数のキー暗号文のうちの1つのキー暗号文のみの復号に有効である。復号されたキー暗号文により、受信機は、コンテンツキーを(例えば、平文(cleartext)として)得ることができる。
【0056】
受信機は、ステップS1645において、管理センタから、暗号化されたコンテンツファイルを受信する。コンテンツファイルは、コンテンツキーを用いて暗号化されている。受信機は、例えばヘッダ情報又はファイルサイズに基づいて、キー暗号文と、暗号化されているコンテンツファイルとを区別する。受信機は、ステップS1650において、コンテンツキーを用いて、暗号化されているコンテンツファイルを復号する。これにより、受信機は、平文のコンテンツファイルにアクセスすることができる。例えば、コンテンツファイルがビデオファイルである場合、受信機は、コンテンツを再生することができる(図3に示す受信機300及び図6に示す受信機600参照)。一具体例においては、受信機は、ステップS1605〜ステップS1615を1回(又は、受信機の数が変わる等、放送暗号化システムに変化が生じるまで)実行し、そして、暗号文の配信毎に、ステップS1620〜ステップS1650を繰り返す。
【0057】
他の具体例においては、受信機は、記録装置であり、記録可能なデータ媒体の個体に記録されている表現コード及び1つ以上のキー暗号文を再生する。受信機は、データ媒体からの表現コードを用いて、上述のように、ノードキーを導出する。受信機は、導出したノードキーを用いて、データ媒体に記録されているキー暗号文からコンテンツキーを復号する。受信機は、復号されたコンテンツキーを用いて、データ媒体にデータを記録する。受信機が有効なノードキーを導出できず、したがって、データ媒体に記録されているキー暗号文からコンテンツキーを復号できない場合、この受信機は、データ媒体にデータを記録することはできない。管理センタ及び受信機は、後述するように、この記録技術を、サブセットキーを用いる具体例にも適用することができる。
【0058】
上述のように、管理センタは、ノードキーを生成し、これらのノードキーを用いて暗号化を行う。同様に、受信機は、管理センタからノードキーを受信し、これらのノードキーを用いて復号を行う。他の具体例においては、管理センタは、ノードキーにハッシュ関数を適用して、ハッシュキーを算出し、このハッシュキーを用いて暗号化を行う。ハッシュ関数は、ノードキーの空間上にランダムに分布された要素を、ハッシュキーの長さであるランダムに分布された文字列にマッピングする。これにより、管理センタは、ハッシュ関数を用いて、ノードキーのサイズを暗号化アルゴリズム用のキーのサイズに調整することができる。例えば、一具体例において、ノードキーは1024ビットからなり、暗号化アルゴリズムは128ビットキーを用いる。ハッシュ関数は、この変換を行う。ハッシュ関数の具体例として、MD5がある(1997年、CRCプレス社、エー・ジェイ・メネゼス(A.J.Menezes)、ピー・シー・バン・オースコット(P.C.vanOorschot)、エス・エー・バンストーン(S.A.Vanstone)著「応用暗号技術のハンドブック(Handbook of Applied Cryptography)」の第347頁、2001年、スプリンガ(Springer)、コンピュータ科学講義ノート2139(Lecture Notes in Computer Science 2139)、暗号化技術の進歩−クリプト2001(Advances in Cryptology - Crypto 2001)、ディー・ナオール(D.Naor)、エム・ナオール(M.Naor)、ジェイ・ロッツピーチ(J.Lotspiech)著「ステートレス受信機の取消及び追跡方式(Revocation and Tracing Schemes for Stateless Receivers)」、及び1997年、コンピュータ科学の基礎に関する第38回IEEEシンポジウム議事録(Proceedings of 38th IEEE Symposium on Foundations of Computer Science)第458〜467頁、エム・ナオール(M.Naor)、オー・レインゴールド(O.Reingold)著「効率的擬似ランダム関数の数論的構築(Number-Theoretic Constructions of Efficient Pseudo-Random Functions)」参照。これらの文献は参照により本願に援用される)。
【0059】
サブセットキーを有する階層的キー木
一具体例において、放送暗号化システムは、例えば図1及び図4に示す放送暗号化システム100、400のように、管理センタと、N個の受信機とを備え、管理センタは、階層的キー木(HKT)及びサブセットキーを用いる。この具体例においては、サブセットキーは、上述したサブキーとして機能する。図7及び図9に示す処理をこの具体例に適用する手法について以下に述べる。
【0060】
図17は、サブセット及びサブセットキーを有するHKTを用いて、放送暗号化システムを設定し、受信機にマスタキーを割り当てる手順を示すフローチャートである(図7のステップS705及びステップS710参照)。図18は、HKT1800において、ノード1810に対するサブセット1805の割当を示す図である。ここで、HKT1800は、27個の受信機のグループに対応する3次の木である。図19は、図18に示すHKT1800において、ノード1810に対するサブセットキー1905の割当を示す図である。サブセット及びサブセットキーについては、後に説明する。
【0061】
管理センタは、ステップS1705において、HKTを定義する。HKTは、N個の葉を有する根の付いた完全a分木(rooted full a-ary tree)であり、葉と、根と、内部ノードとを含む(N−1)/(a−1)+N個のノードを有する。内部ノードは、図18に示すように、vk(k=1,・・・,(N−1)/(a−1))として表される。ここで、Nがaの累乗ではない場合、管理センタは、Nより大きく且つNに最も近いaの累乗個の葉を有するHKTを定義する。管理センタは、ステップS1710において、各受信機をそれぞれの葉に割り当てる。受信機は、図18に示すように、uj(j=1,・・・,N)として表される。ここで、Nがaの累乗ではない場合、余りの葉には「仮想の」受信機が割り当てられる。なお、仮想の受信機は、仮想のエンティティであり、後に無効にする必要はない。
【0062】
管理センタは、ステップS1715において、各内部ノードにサブセットを定義する。管理センタは、各内部ノードvk に対して、2a−2個のサブセットを定義する。サブセットは、次のように示される。
【0063】
【数5】
【0064】
ここで、kは、サブセットがどの内部ノードvkに対応しているかを示し、b1b2・・・bi・・・baは、サブセットに含まれるa値(サブセットの値)を示している。サブセットの値は、サブセットに対応する内部ノードの子ノードを示し、及び、後述するように、暗号化に使用するためにどのサブセットキーが選択されたかを示す。更に、管理センタは、根(ノードv1)に対して、サブセットS1,11・・・1を定義する。図18は、内部ノードに対するサブセットの割当を示している。例えば、管理センタは、内部ノードv2に、サブセットS2,100、S2,010、S2,001、S2,110、S2,101、S2,011を割り当てる。
【0065】
管理センタは、ステップS1720において、暗号化パラメータを選択する。管理センタは、暗号化パラメータを用いて、例えばキー等の暗号化のための値を生成する。暗号化パラメータの一部は、公開暗号化パラメータであり、管理センタは、ステップS1725において、公開暗号化パラメータを公開する。なお、管理センタは、残りの秘密暗号化パラメータを受信機に対して秘密にする。管理センタは、2つの大きな素数q1 、q2を選択し、M=q1×q2である値Mを算出する。管理センタは、この値Mを、公開暗号化パラメータとして公開する。更に、管理センタは、K∈Z* M として、値Kを秘密暗号化パラメータとしてランダムに選択する。更に、管理センタは、以下に示すような、(2a−2)×(N−1)/(a−1)+1個の素数を選択する。
【0066】
【数6】
【0067】
管理センタは、各素数
【0068】
【数7】
【0069】
を、対応するサブセット
【0070】
【数8】
【0071】
に割り当てる(例えば、素数p1,100は、サブセットS1,100に割り当てられる)。そして、管理センタは、素数
【0072】
【数9】
【0073】
及びその割当を公開する。更に、管理センタは、以下に示すような値Tを算出する。
【0074】
【数10】
【0075】
管理センタは、値Tを公開しない。
【0076】
管理センタは、ステップS1730において、暗号化パラメータを用いて、サブセットキーを生成する。サブセットキーは、図19に示すように、以下のように表される。
【0077】
【数11】
【0078】
管理センタは、各サブセット
【0079】
【数12】
【0080】
に対するサブセットキー
【0081】
【数13】
【0082】
を、以下のようにして求める。
【0083】
【数14】
【0084】
管理センタは、各サブセットキー
【0085】
【数15】
【0086】
を、対応するサブセット
【0087】
【数16】
【0088】
に割り当てる。
【0089】
更に、管理センタは、ステップS1735において、各サブセットキーを内部ノードの子ノードに割り当てる。サブセットの値は、サブセットに対応する内部ノードの子ノードを示している。管理センタは、サブセットの値が1であるサブセットの内部ノードの各子ノードに、サブセットキーを割り当てる。図19は、子ノードに対するサブセットキーの割当を示している。例えば、図18及び図19に示すように、サブセットS1,111は、根(ノードv1)に対応し、サブセットキーSK1,111は、根の各子ノード(内部ノードv2 、v3 、v4)に割り当てられる。サブセットキーSK1,001は、根の右側の子ノード(内部ノードv4)のみに割り当てられる。このようにして、管理センタは、2a−1−1個のサブセットキーを各子ノードに割り当てる(及びサブセットキーSK1,11・・・1を根の各子ノードに割り当てる)。
【0090】
管理センタは、各受信機ujに対し、追加的なパラメータである値wjを生成する。値wjは、内部ノードvkに割り当てられたサブセットであって、受信機ujの葉ノードから根のノードまでのパス上の子ノード(後述する)に割り当てられたサブセットキー
【0091】
【数17】
【0092】
に対応するサブセット
【0093】
【数18】
【0094】
に割り当てられた全ての素数
【0095】
【数19】
【0096】
の積である。例えば、図18に示すHKT1800では、値w1は、受信機u1に対応し、各ノードv5、v2、v1に割り当てられた、b 1 =1の値を有するサブセットに割り当てられている素数の積である。したがって、w1=p5,100 ×p5,110 ×p5,101 ×p2,100 ×p2,110 ×p2,101 ×p1,100 ×p1,110 ×p1,101 ×p1,111である。これに代えて、管理センタが値wjを提供するのではなく、受信機が素数
【0097】
【数20】
【0098】
から値wjを導出するようにしてもよい。
【0099】
管理センタは、ステップS1740において、暗号化パラメータを用いて、マスタキーを生成する。マスタキーは、図19に示すように、MKjとして表される。ここで、管理センタは、以下の式に基づいて、各受信機ujに対応するマスタキーMKjを算出する。
【0100】
【数21】
【0101】
管理センタは、各マスタキーMKjを対応する受信機ujに割り当てる。マスタキーMKjを用いて、受信機ujに対応する葉、又は受信機ujに対応する葉から根までのパスに含まれる内部ノードvkに対応する全てのサブセットキー
【0102】
【数22】
【0103】
を導出することができる。例えば、図19に示すHKT1800において、受信機u1には、マスタキーMK1が割り当てられており、このマスタキーMK1を用いて、サブセットキーSK5,100 、SK5,110 、SK5,101 、SK2,100 、SK2,110 、SK2,101 、SK1,100 、SK1,110 、SK1,101 、SK1,111を導出することができる。受信機ujのいずれも無効にされていない場合は、サブセットキーSK1,11・・・1は、全てのマスタキーMKjから導出することができる。管理センタは、ステップS1745において、各マスタキーMKjを対応する受信機ujに送信する。
【0104】
管理センタは、ステップS1750において、HKTに関する情報を各受信機に送信する。管理センタは、HKTの構造(例えば、HKTのノード数)及び受信機に関連する割当(例えば、ノードに対するサブセットキー及びサブセットの割当)を示す情報を、受信機に送信する。上述のように、管理センタは、素数
【0105】
【数23】
【0106】
等の公開暗号化パラメータ及びどの内部ノードがこの素数
【0107】
【数24】
【0108】
に対応しているかを示す情報を公開する。更に、管理センタは、各サブセット
【0109】
【数25】
【0110】
がどの内部ノードvkに割り当てられており、及び受信機のマスタキーMKjから導出することができるサブセットキー
【0111】
【数26】
【0112】
がどの内部ノードvk又は葉に割り当てられているかを示す情報を送信する。
【0113】
図7のステップS710について上述したように、他の具体例においては、管理センタは、受信機の製造業者にマスタキーを供給し、受信機の製造業者が受信機にマスタキーを組み込む。この場合、管理センタは、製造業者を介して、公開暗号化パラメータ及びHKT情報を受信機に供給する。
【0114】
図20は、HKTを用いて受信機を無効にし、ノードキーを選択し、表現コードを生成する処理を示すフローチャートである(図7のステップS715、S720、S725参照)。図21は、図18のHKT1800において、無効にされた受信機2105及び選択されたサブセットキー2110に対応するサブセットのノードを示す図である。管理センタは、ステップS2005において、1つ以上の受信機を無効にする。管理センタは、受信機が管理センタから送信されてくる暗号文を復号する権限を有さなくなった場合に、その受信機を無効又は有効ではなくする。例えば、管理センタは、必要な料金を支払っていない受信機又はライセンスが有効ではなくなった受信機を無効にする。図21では、無効にされた受信機2105には、HKT1800の対応するノードに「×」印を付している。管理センタは、受信機u2、u13、u27を無効にしている。残りの受信機u1、u3〜u12、u14〜u26は、無効にされていない、すなわち有効な受信機である。
【0115】
管理センタは、ステップS2010において、無効にされた受信機に割り当てられているマスタキーに基づいて生成できるサブセットキーを無効にする。例えば、図12に示す具体例では、管理センタは、受信機u2を無効にし、この受信機u2にはマスタキーMK2が割り当てられている。受信機u2は、マスタキーMKを用いて、サブセットキーSK5,010、SK5,110、SK5,011、SK2,100、SK2,110、SK2,101、SK1,100、SK1,110、SK1,101、SK1,111を生成することができる。したがって、管理センタは、サブセットキーSK5,010、SK5,110、SK5,011、SK2,100、SK2,110、SK2,101、SK1,100、SK1,110、SK1,101、SK1,111を無効にする。
【0116】
無効にされていない受信機の各マスタキーについては、管理センタは、ステップS2015において、これらのマスタキーに基づいて生成でき、及び他の大部分のマスタキーに基づいて生成でき、且つ無効にされた受信機に対応するマスタキーからは生成できないサブセットキーを選択する。HKT1800において、管理センタは、対応する無効にされていないサブセットキーを有する大部分の子ノードを示すサブセットに対応する無効にされていないサブセットを選択する(図18を用いて説明したように、サブセットは内部ノードに割り当てられており、また図19を用いて説明したように、サブセットキーは、子ノードに割り当てられている)。
【0117】
他の手法においては、管理センタは、無効にされた受信機に対応する葉から根までのパス上の枝を取り除く。枝を取り除くことにより、1つ以上の独立した部分木が残る(1つ以上の部分木は、単一の枝しか有していない場合もある)。図22は、図18に示すHKT1800から枝を取り除いた木2200を示している。取り除かれた枝2205は、破線により示されている。一方、残っている枝2210は、実線により示されている。管理センタは、これらの部分木の根となるノードに対応し、これらの部分木に含まれる子ノードを示すサブセットに対応するサブセットキーを選択する。例えば、図22に示す具体例では、内部ノードv5は、部分木の根である。内部ノードv5は、3個の子ノードを有する。右側の子ノード及び左側の子ノードのサブセットキーは、無効にされておらず、一方、中央の子ノードのサブセットキーは、無効にされている。サブセットS5,101は、内部ノードv5の左側及び右側の子ノードを示しており、したがって、管理センタは、対応するサブセットキーSK5,101を選択する。図21及び図22では、選択されたサブセットキー2110に対応するノードを囲む正方形の枠によって、選択されたサブセットキー2110を示している。すなわち、管理センタは、サブセットキーSK2,011、SK3,101、SK4,110、SK5,101、SK9,011、SK13,110を選択している。
【0118】
管理センタは、ステップS2020において、HKT及び無効にされた受信機に基づいて、表現木を定義する。図23は、図18及び図21に示すHKT1800に基づく表現木2300を示している。図23の濃い又は太い枝は、表現木2300の一部である枝を示している。図14の薄い又は細い枝は、表現木2300に含まれない。無効にされた受信機2105及び選択されたサブセットキー2110は、図21と同様に示されている。表現木2300の根は、対応するHKTの根である。表現木2300の葉は、選択されたサブセットキーに対応するサブセットである。表現木2300の内部ノードは、葉と根の間のノードである。
【0119】
管理センタは、ステップS2025において、表現木2300に基づいて、表現コードを生成する。管理センタは、表現木の各ノードに、2つの値を割り当てる。管理センタは、HKTの対応するノードに子が存在する場合、HKTの対応するノードのどの子が表現木に含まれているかを示す子値(child value)を割り当てる。管理センタは、ノードに対応するサブセットが存在する場合、ノードに対応するどのサブセットが、選択された対応するサブセットキーを有するかを示すサブセット値を、割り当てる。この具体例では、a分木を用いているので、表現木の各ノードは、a個の子を有する可能性がある。したがって、管理センタは、a個の1ビット値を用いて、サブセット値を示すことができる。図23では、表現木2300の各ノードの隣に示す括弧で括られた(「子値」、「サブセット値」)のパターンを有する2つの数によって、子値及びサブセット値を示している。例えば、根の隣には、(111,000)が示されている。「111」は子値であり、根の左側、中央、右側の子が表現木2300に含まれていることを表している。「000」はサブセット値であり、根のサブセットに対応するサブセットキーが1つも選択されていないことを表している。また、内部ノードv2の隣には、(100,011)が示されている。子値「100」は、左側の子(内部ノードv5)が表現木2300に含まれており、中央及び右側の子(内部ノードv6 、v7)が表現木2300に含まれていないことを表している。サブセット値「011」は、値011を有するサブセットに対応するサブセットキー(すなわち、サブセットキーSK 2,011 )が選択されていることを表している。表現木の葉は、子を有していないことを示す値を有している。例えば、図23に示す具体例では、内部ノードv5 、v9は、それぞれ値(000,101)、(000,011)を有する。このように、表現木2300は、ノードv1、v2、v3、v4、v5、v9、v13を含み、管理センタは、サブセットキーSK2,011、SK3,101、SK4,110、SK5,101、SK9,011、SK13,110を選択している。
【0120】
管理センタは、表現木のノードに割り当てられた値を一続きにすることにより、表現コードを生成する。管理センタは、各ノードに割り当てられた値を幅優先順に連結する。例えば、図23に示す具体例では、管理センタは、ノードv1、v2、v3、v4、v5、v9、v13(HKTの他のノードは、表現木に含まれていない。)の値を用いる。すなわち、管理センタは、値(111,000)、(100,011)、(010,101)、(001,110)、(000,101)、(000,011)、(000,110)を用いる。これにより生成される表現コードは、111000100011010101001110000101000011000110である。
【0121】
管理センタは、ステップS2030において、各受信機に表現コードを送信する。受信機は、表現コードを用いて、表現木を再構築することができる。後述するように、受信機は、表現木内のサブセット値に基づく探索アルゴリズムを用いて、受信機の葉ノードからHKTの根までのパス上のノードであって、受信機のマスタキーによって導出できる対応するサブセットを有するノードに対応する表現木のノードを検出する。受信機は、受信機のマスタキーに基づいて、そのサブセットキーを導出し、このサブセットキーを用いて復号を行う。
【0122】
管理センタは、表現コードを生成した後、選択された各サブセットキーを用いて、データを暗号文として暗号化する(図7のステップS730参照)。変形例においては、管理センタは、サブセットキーを選択した後であって、表現コードを生成する前に、データを暗号化して暗号文を生成する。上述のように、受信機が1つも無効にされていない場合、管理センタは、全ての暗号文を、同じサブセットキー(図19におけるSK1,11・・・1)を用いて暗号化する。そして、管理センタは、全ての受信機に暗号文を送信する(図7に示すステップS735参照)。一具体例においては、管理センタは、選択されたサブセットキーを用いて、コンテンツキーをキー暗号文として暗号化し、このキー暗号文を受信機に送信する(図8参照)。そして、管理センタは、コンテンツキーを用いて、コンテンツファイルを暗号化し、暗号化されたコンテンツファイルを受信機に送信する。
【0123】
図24は、HKT及びサブセットキーを用いた、受信機による放送復号の処理を示すフローチャートである(図9参照)。一具体例においては、例えば図1に示す放送暗号化システム100のように、受信機は、管理センタから放送されたデータ及び暗号文を受信する。他の具体例においては、例えば図4に示す放送暗号化システム400のように、受信機は、管理センタが配布のために準備したデータ媒体を介して、データ及び暗号文が供給される。受信機は、ステップS2405において、管理センタから暗号化パラメータを受信する。図17のステップS1720に関連して上述したように、管理センタは、受信機が管理センタから受信した暗号文を復号するために使用する、例えばサブセット
【0124】
【数27】
【0125】
に対する素数
【0126】
【数28】
【0127】
の割当等の公開暗号化パラメータを受信機に公開する。一具体例においては、受信機は、公開暗号化パラメータを非安全記憶装置(例えば、図2に示す主記憶装置225)に保存する。受信機は、ステップS2410において、管理センタからマスタキーを受信する。受信機は、マスタキーを安全記憶装置に保存する。図17のステップS1740及びステップS1745に関連して上述したように、管理センタは、受信機用のマスタキーを生成し、このマスタキーを受信機に送信する。受信機は、このマスタキーに基づいて、復号のためのノードキーを導出する。更に、受信機は、ステップS2415において、管理センタから、管理センタによって定義されたHKTに関する情報を受信する。図17のステップS1750に関連して上述したように、管理センタは、HKTの構造及び受信機に関連する割当を表す情報を受信機に送信する。変形例においては、管理センタは、暗号化パラメータの一部又は全部と、マスタキーと、HKT情報とを受信機に送信する。更に、図7のステップS710に関連して上述したように、一具体例においては、受信機は、暗号化パラメータと、マスタキーと、HKT情報とが、管理センタから直接ではなく、受信機の製造業者を介して供給される。
【0128】
受信機は、ステップS2420において、管理センタから表現コードを受信する。図20のステップS2020及びステップS2025に関連して上述したように、管理センタは、表現木(図23参照)を定義し、この表現木から表現コードを生成する。
【0129】
受信機は、ステップS2425において、表現コードを用いて、復号に使用するサブセットキーを選択する。受信機は、表現コードから表現木を再構築する。上述のように、図23に示す表現木2300用の表現コードは、111000100011010101001110000101000011000110である。受信機は、HKT情報を用いて、表現コードを表現木のノードに対応する値、すなわち(111,000)、(100,011)、(010,101)、(001,110)、(000,101)、(000,011)、(000,110)に分離する。受信機は、これらの値に基づき、幅優先順探索法(breadth-first approach)を用いて、表現木内における子ノードの有無を判定する。例えば、最初の値(111,000)は、根(ノードv1)に対応し、子値「111」は、根が左側の子(内部ノードv2)と、中央の子(内部ノードv3)と、右側の子(内部ノードv4)とを有していることを示している。第2の値(100,011)は、内部ノードv2に対応し、内部ノードv2が左側の子(内部ノードv5)を有しているが、中央及び右側の子を有していないことを示している。受信機は、このようなパターンに基づく判定を繰り返して、表現木を完成させる。サブセット値は、サブセットキーが選択されている場合、各ノードに対してどのサブセットキーが選択されているかを表している。
【0130】
受信機は、内部ノードvkに対応するとともに、受信機の葉ノードからHKTの根までのパス上の子ノードに割り当てられたサブセットキーに対応するサブセットを検出するまで、(例えば幅優先順探索法を用いて、)再構築された表現木を検索する(ここで、表現木のノードv1は、HKTのノードv1に対応している)。上述のように、管理センタは、HKTのノードに各サブセットを割り当てる(図18参照)。各サブセットは、対応するサブセットキーを有している。管理センタは、サブセットの値を用いて、サブセットに対応するノードの1つ以上の子ノードに、対応するサブセットキーを割り当てる(図19参照)。受信機は、子ノードに対するサブセットキーの割当に関する情報に基づいて、表現木により示されているどのサブセットキーを用いて復号を行うかを判定する。受信機は、表現木を検索し、受信機に対応する葉からHKTの根までのパス上のノードに対応するサブセットキーを検出する。例えば、図18、図19及び図21のHKT1800及び図23の表現木2300に示すように、受信機u1は、HKT1800における受信機u1に対応する葉から根までのパス上のノードに対応する選択されたサブセットキーとして、サブセットキーSK5,101を検出する。受信機u1のパスには、受信機u1に対応する葉と、ノードv5、v2、v1が含まれている。受信機u1に対応する葉には、サブセットキーSK5,101が対応し、したがって、受信機u1のパス上のノードには、サブセットキーが対応している。また、サブセットキーSK5,101は、受信機u3に対応するノードにも対応しているので、同様に、受信機u3は、サブセットキーSK5,101を、選択されたサブセットキーとして検出する。受信機u4〜u9は、サブセットキーSK2,011を検出する。受信機が、受信機の葉ノードからHKTの根までのパス上のノードに対応するサブセットキーを表現木内で検出できない場合、受信機は、それ自体が無効にされ、有効なサブセットキーを導出することができないと判定する。例えば、受信機u2は、無効にされており、したがって、受信機u2は、受信機u2に対応する葉から根までのパス上のノードに対応するサブセットキーを検出することができない。受信機u2のパス上には、受信機u2に対応する葉と、ノードv5、v2、v1が存在する。これらのうち、いずれのノードも表現木におけるサブセットキーに対応していない。一具体例においては、受信機は、(例えば、ネットワーク接続を介して)管理センタと通信することにより、受信機が無効にされたことを確認する。
【0131】
ノードキーを選択した後、受信機は、ステップS2430において、受信機のマスタキーに基づいて、選択されたサブセットキーを導出する。上述のように、サブセットキーは、
【0132】
【数29】
【0133】
と表され、マスタキーは、図11に示すように、MKjと表される。受信機ujが受信する暗号化パラメータは、素数
【0134】
【数30】
【0135】
と、値wj とである。値wjは、内部ノードvkに割り当てられたサブセットであって、受信機ujに対応する葉ノードから根までのパス上に存在する子ノードに割り当てられたサブセットキー
【0136】
【数31】
【0137】
に対応するサブセット
【0138】
【数32】
【0139】
に割り当てられた全ての素数
【0140】
【数33】
【0141】
の積である。これに代えて、受信機は、値wjを受信するのではなく、素数
【0142】
【数34】
【0143】
から値wjを算出してもよい。受信機は、以下の式に基づいて、サブセットキー
【0144】
【数35】
【0145】
を算出する。
【0146】
【数36】
【0147】
一具体例においては、受信機は、
【0148】
【数37】
【0149】
を予め算出しておく。
【0150】
受信機は、ステップS2435において、放送暗号化システムの放送チャンネルを介して、管理センタから1つ以上の暗号文を受信する。なお、変形例として、受信機は、サブセットキーを導出する前に、例えばステップS2420で受信する表現コード等とともに、暗号文を受信してもよい。
【0151】
ステップS2440において、受信機は、上述のようにして導出したサブセットキーを用いて、受信した暗号文を復号する。一具体例においては、受信機は、導出したサブセットキーを用いて、受信した各暗号文を復号するように試みる。受信機は、例えばチェックサム値を用いて、復号結果が、受信した暗号文に対して正しいものであるか否かを判定する。他の具体例においては、受信機は、導出したサブセットキーが暗号文の復号に有効であるか否かを判定した後、導出したサブセットキーに対応する暗号文を復号する。一具体例においては、受信機は、ステップS2405〜ステップS2415を1回(又は、受信機の数が変わる等、放送暗号化システムに変化が生じるまで)実行し、そして、暗号文の配信毎に、ステップS2420〜ステップS2440を繰り返す。
【0152】
一具体例においては、受信機は、コンテンツキーを暗号文として受信し、更に、コンテンツキーに対応する暗号化されたコンテンツファイルを受信する(図8参照)。コンテンツキー及びコンテンツファイルの復号を含む放送復号処理のフローチャートを図25に示す。図25に示す具体例において、図24を用いて説明したステップと同様のステップは、図24に示す具体例と同様に実行されるので、変更があったステップについて、以下に説明する。受信機は、ステップS2505において、管理センタから暗号化パラメータを受信する。受信機は、ステップS2510において、管理センタからマスタキーを受信する。受信機は、ステップS2515において、管理センタから、管理センタにより定義されたHKTに関する情報を受信する。受信機は、ステップS2520において、管理センタから表現コードを受信する。受信機は、ステップS2525において、表現コードを用いて、復号に使用するノードキーを選択する。サブセットキーを選択した後、受信機は、ステップS2530において、受信機のマスタキーに基づいて、選択されたサブセットキーを導出する。
【0153】
受信機は、ステップS2535において、放送暗号化システムの放送チャンネルを介して、管理センタから1つ以上のキー暗号文を受信する。受信機が受信する各キー暗号文は、同じコンテンツキーを含んでいるが、異なるサブセットキーを用いて暗号化されている。受信機は、ステップS2540において、導出したサブセットキーを用いて、受信したキー暗号文を復号する。導出されたサブセットキーは、複数のキー暗号文のうちの1つのキー暗号文のみの復号に有効である。復号されたキー暗号文により、受信機は、コンテンツキーを(例えば、平文として)得ることができる。
【0154】
受信機は、ステップS2545において、管理センタから、暗号化されたコンテンツファイルを受信する。コンテンツファイルは、コンテンツキーを用いて暗号化されている。受信機は、例えばヘッダ情報又はファイルサイズに基づいて、キー暗号文と、暗号化されているコンテンツファイルとを区別する。受信機は、ステップS2550において、コンテンツキーを用いて、暗号化されているコンテンツファイルを復号する。これにより、受信機は、平文のコンテンツファイルにアクセスすることができる。例えば、コンテンツファイルがビデオファイルである場合、受信機は、コンテンツを再生することができる(図3に示す受信機300及び図6に示す受信機600参照)。一具体例においては、受信機は、ステップS2505〜ステップS2515を1回(又は、受信機の数が変わる等、放送暗号化システムに変化が生じるまで)実行し、そして、暗号文の配信毎に、ステップS2520〜ステップS2550を繰り返す。
【0155】
一具体例においては、受信機は、管理センタから、暗号化パラメータとして受信した素数
【0156】
【数38】
【0157】
を保存する。他の具体例においては、受信機は、この素数
【0158】
【数39】
【0159】
を保存せず、必要に応じて生成する。この場合、受信機は、値Lを保存する。ここで、値Lは、間隔(interval)((k−1)L,kL)が少なくとも2a−1個の素数を含むように選択される。更に、一具体例においては、値Lは、L>(2a−1)ln(2aNlog2aN)を満たすように選択される。受信機は、例えばミラー・ラビンアルゴリズム(Miller-Rabin algorithm)等の素数判定アルゴリズムを用いて、(k−1)Lより大きいx番目に小さい素数を検索する。ここで、xは、素数
【0160】
【数40】
【0161】
に対するサブセット
【0162】
【数41】
【0163】
の値によって示される2進表現の10進数の値である。例えば、受信機は、素数p1,111に対して7番目に小さい奇素数(odd prime)を使用する(「111」は、10進数の値7の2進表現である)。
【0164】
サブセットキー及び各受信機用の複数のマスタキーを有する階層的キー木
一具体例において、放送暗号化システム100、400のように、放送暗号化システムは、管理センタと、N個の受信機とを備え、管理センタは、階層的キー木(HKT)及びサブセットキーを用い、各受信機に複数のマスタキーを供給する。この具体例は、図17〜図25を用いて説明した具体例に類似しており、その変化については以下に説明する。管理センタは、図17〜図19を用いて上述した処理と同様の手法により、放送暗号化システムを設定する。なお、この具体例においては、管理センタは、各受信機に対して、複数のマスタキーを生成する。後述するように、受信機は、上述の具体例のように、1つのマスタキーを用いて、受信機の葉から根までのパス上のノードに割り当てられたサブセットキーを導出するのではなく、受信した各マスタキーを用いて、各ノードに割り当てられたサブセットキーを導出する。この具体例では、管理センタは、受信機の葉から根までのパス上の各ノード毎に、1つのマスタキーを受信機に供給する(なお、根にはサブセットキーが割り当てられないので、根自体は除く)。
【0165】
図26は、サブセット及びサブセットキーを有するHKTを用いて、放送暗号化システムを設定し、受信機に複数のマスタキーを割り当てる手順を示すフローチャートである(図7のステップS705及びステップS710参照)。図27は、HKT2700において、ノード2710に対するサブセットキー2705の割当を示す図である。ここで、HKT2700は、27個の受信機のグループに対応する3次の木である。図27において、サブセットは、図18におけるHKT1800と同様に、HKT2700に割り当てられている。
【0166】
管理センタは、ステップS2605において、HKTを定義する。HKTは、N個の葉を有する根の付いた完全a分木(rooted full a-ary tree)であり、葉と、根と、内部ノードとを含む(N−1)/(a−1)+N個のノードを有する。内部ノードは、図27に示すように、vk(k=1,・・・,(N−1)/(a−1))として表される。ここで、Nがaの累乗ではない場合、管理センタは、Nより大きく且つNに最も近いaの累乗個の葉を有するHKTを定義する。管理センタは、ステップS2610において、各受信機をそれぞれの葉に割り当てる。受信機は、図27に示すように、uj(j=1,・・・,N)として表される。Nがaの累乗ではない場合、余りの葉には「仮想の」受信機が割り当てられる。なお、仮想の受信機は、仮想のエンティティであり、後に無効にする必要はない。
【0167】
管理センタは、ステップS2615において、各内部ノードにサブセットを定義する。管理センタは、各内部ノードvk に対して、2a−2個のサブセットを定義する。サブセットは、a個の値を有し、次のように示される。
【0168】
【数42】
【0169】
ここで、kは、サブセットがどの内部ノードvkに対応しているかを示し、b1b2・・・bi・・・baは、サブセットに含まれるa値(サブセットの値)を示している。サブセットの値は、サブセットに対応する内部ノードの子ノードを示し、及び、後述するように、暗号化に使用するためにどのサブセットキーが選択されたかを示す。更に、管理センタは、根(ノードv1)に対して、サブセットS1,11・・・1を定義する。サブセットは、図18に示すHKT1800と同様に、図27に示すHKT2700に割り当てられる。例えば、管理センタは、内部ノードv2に、サブセットS2,100 、S2,010 、S2,001 、S2,110 、S2,101 、S2,011を割り当てる。
【0170】
管理センタは、ステップS2620において、暗号化パラメータを選択する。管理センタは、暗号化パラメータを用いて、例えばキー等の暗号化のための値を生成する。暗号化パラメータの一部は、公開暗号化パラメータであり、管理センタは、ステップS2625において、公開暗号化パラメータを公開する。なお、管理センタは、残りの秘密暗号化パラメータを受信機に対して秘密にする。管理センタは、2つの大きな素数q1 、q2を選択し、M=q1×q2である値Mを算出する。管理センタは、この値Mを公開暗号化パラメータとして公開する。更に、管理センタは、Kk∈Z* M として、値Kkを秘密暗号化パラメータとしてランダムに選択する。更に、管理センタは、以下に示すような、(2a−1)個の素数を選択する。
【0171】
【数43】
【0172】
管理センタは、各素数
【0173】
【数44】
【0174】
を、各内部ノードvk用の対応するサブセット
【0175】
【数45】
【0176】
に割り当てる(例えば、素数p100は、サブセットS1,100、S2,100、S3,100 、・・・に割り当てられる)。そして、管理センタは、素数
【0177】
【数46】
【0178】
及びその割当を公開する。更に、管理センタは、全ての素数
【0179】
【数47】
【0180】
の積として値Tを算出する。管理センタは、各受信機uj及び各内部ノードvkに対して、値wj,kを生成する。値wj,kは、内部ノードvkに割り当てられたサブセットであって、受信機uj の葉ノードから根までのパス上の子ノードに割り当てられたサブセットキー
【0181】
【数48】
【0182】
に対応するサブセット
【0183】
【数49】
【0184】
に割り当てられた全ての素数
【0185】
【数50】
【0186】
の積である。例えば、図27のHKT2700において、値w1,5は、受信機u1及び内部ノードv5に対応する。値w1,5は、内部ノードv5に割り当てられたサブセットであって、受信機u1に対応する葉ノード(受信機u1に対応する葉から根までのパス上の内部ノードv5の子ノード)に割り当てられたサブセットキー
【0187】
【数51】
【0188】
に対応するサブセット
【0189】
【数52】
【0190】
に割り当てられた素数
【0191】
【数53】
【0192】
の積である。すなわち、w1,5=p100 ×p110 ×p101である。
【0193】
管理センタは、ステップS2630において、暗号化パラメータを用いてサブセットキーを生成する。サブセットキーは、図27に示すように、以下のように表される。
【0194】
【数54】
【0195】
管理センタは、各サブセット
【0196】
【数55】
【0197】
に対するサブセットキー
【0198】
【数56】
【0199】
を、以下のようにして求める。
【0200】
【数57】
【0201】
管理センタは、各サブセットキー
【0202】
【数58】
【0203】
を、対応するサブセット
【0204】
【数59】
【0205】
に割り当てる。
【0206】
更に、管理センタは、ステップS2635において、各サブセットキーを内部ノードの子ノードに割り当てる。サブセットの値は、サブセットに対応する内部ノードの子ノードを示している。管理センタは、サブセットの値が1であるサブセットの内部ノードの各子ノードに、サブセットキーを割り当てる。図27は、子ノードに対するサブセットキーの割当を示している。例えば、図18及び図19に示すように、サブセットS1,111は、根(ノードv1)に対応し、サブセットキーSK 1,111は、根の各子ノード(内部ノードv2 、v3 、v4)に割り当てられる。サブセットキーSK1,001は、根の右側の子ノード(内部ノードv4)のみに割り当てられる。このようにして、管理センタは、2a−1−1個のサブセットキーを各子ノードに割り当てる(及びサブセットキーSK1,11・・・1を根の各子ノードに割り当てる)。
【0207】
管理センタは、ステップS2640において、暗号化パラメータを用いて、複数のマスタキーを生成する。マスタキーは、図27に示すように、MKj,kと表される。管理センタは、各受信機ujに対して、その受信機uj の葉ノードから根までのパス上に存在する各内部ノードvk毎に1つのマスタキーMKj,kを生成することにより、各受信機ujに対して複数のマスタキーMKj,kを生成する。したがって、マスタキーMKj,kは、受信機uj 及び内部ノードvkに対応する。管理センタは、マスタキーMKj,kを、以下の式に基づいて、算出する。
【0208】
【数60】
【0209】
管理センタは、複数のマスタキーMKj,k のそれぞれを、対応する受信機ujに割り当てる。これらのマスタキーMKj,kに基づいて、内部ノードvkに割り当てられたサブセットであって、受信機の葉ノードからHKTの根までのパス上のノードに対応するサブセット
【0210】
【数61】
【0211】
に対応する全てのサブセットキー
【0212】
【数62】
【0213】
を導出することができる。例えば、図27に示すHKT2700において、受信機u1には、マスタキーMK1,1、MK1,2、MK1,5が割り当てられている。受信機u1は、マスタキーMK1,1を用いて、サブセットキーSK1,100、SK1,110、SK1,101、SK1,111を導出することができ、マスタキーMK1,2を用いて、サブセットキーSK2,100、SK2,110、SK2,101を導出することができ、マスタキーMK5,100を用いて、サブセットキーSK5,100、SK5,110、SK5,101を導出することができる。受信機ujのいずれも無効にされていない場合、各受信機ujは、マスタキーMKj,1を有し、これを用いて、サブセットキーSK1,11・・・1を導出することができる。管理センタは、ステップS2645において、対応する受信機ujに複数のマスタキーMKj,kを送信する。更に、管理センタは、ステップS2650において、各受信機にHKTに関する情報を送信する。
【0214】
管理センタは、図20〜図23を用いて説明したように、受信機を無効にし、表現コードを生成する。受信機は、図24及び図25を用いて説明したように、管理センタから送信されてきた暗号文を復号する。なお、ここでは、受信機ujは、選択されたサブセットキー
【0215】
【数63】
【0216】
に対応するマスタキーMKj,kを選択し、以下の式に基づいて、選択されたサブセットキー
【0217】
【数64】
【0218】
を導出する。
【0219】
【数65】
【0220】
一具体例においては、受信機は、管理センタから、暗号化パラメータとして受信した素数
【0221】
【数66】
【0222】
を保存する。他の具体例においては、受信機は、この素数
【0223】
【数67】
【0224】
を保存せず、最も小さい2a−1個の素数として生成する。他の具体例においては、受信機は、素数
【0225】
【数68】
【0226】
に対してd番目に小さい奇素数(odd prime)を使用する。ここで、dは、サブセット
【0227】
【数69】
【0228】
の値によって示される2進表現の10進数の値である。例えば、受信機は、素数p1,111に対して7番目に小さい奇素数(odd prime)を使用する(「111」は、10進数の値7の2進表現である)。この場合、各受信機は、A/2個のエントリを有する1ビット値のテーブルを保存する。ここで、Aは、2a−1個の素数を含むのに十分大きな値とする。x番目のエントリは、0からx番目の奇数に対応し、エントリのビット値は、エントリに対応している奇数が素数であるか否かを表している。
【0229】
媒体キーブロック及びデータ媒体
一具体例においては、放送暗号化システムは、例えば図4に示す放送暗号化システム400のように、管理センタと、N個の受信機とを備え、管理センタは、媒体キーブロック(media key block:以下、MKBという。)及びマスタキーを使用する。この具体例では、ブロックキーは、上述のサブキーであり、表現コードは、MKBであり、放送チャンネルは、データ媒体の配布(distribution)である。図7及び図9に示す処理をこの具体例に適用する手法について以下に述べる。なお、この具体例は、後述するように、マスタキーを利用できるように変更された着脱自在の/記録可能な/再生専用媒体のためのコンテンツ保護法(Content Protection for Removable/Recordable/Prec-recorded Media:以下、CPRM/CPPMという。)に基づいている(なお、CPRM/CPPMは、上述したディー・ナオール(D.Naor)他著「ステートレス受信機の取消及び追跡方式(Revocation and Tracing Schemes for Stateless Receivers)」に開示されている)。
【0230】
図28は、MKBを用いて、放送暗号化システムを設定し、受信機にマスタキーを割り当てる手順を示すフローチャートである(図7のステップS705及びステップS710参照)。図29は、ブロックキーテーブル(block key table:以下、BKT)2900を示している。図30は、MKB3000を示している。BKT2900及びMKB3000については、後に説明する。
【0231】
管理センタは、ステップS2805において、BKTを定義する。BKTは、A個の列及びB個の行を有する、エントリ2905の2次元テーブルである。各エントリ(a,b)は、図29のBKT2900に示すように、Ka,b (a=1,・・・,A、b=1,・・・,B)と表されるブロックキーを格納する。ブロックキーK a,b の生成については、後述する。
【0232】
管理センタは、ステップS2810において、暗号化パラメータを選択する。管理センタは、暗号化パラメータを用いて、例えばキー等の暗号化のための値を生成する。暗号化パラメータの一部は、公開暗号化パラメータであり、管理センタは、ステップS2815において、公開暗号化パラメータを公開する。管理センタは、例えば、公開暗号化パラメータを受信機の製造業者に供給し、受信機の製造業者が(製造工程において)受信機にこの公開暗号化パラメータを組み込むことにより、公開暗号化パラメータを公開する。なお、管理センタは、残りの秘密暗号化パラメータを受信機に対して秘密にする。管理センタは、2つの大きな素数q1 、q2を選択し、M=q1×q2である値Mを算出する。管理センタは、この値Mを公開暗号化パラメータとして公開する。更に、管理センタは、K∈Z* M として、値Kを秘密暗号化パラメータとしてランダムに選択する。更に、管理センタは、AB素数pa,bを公開暗号化パラメータとして選択する。管理センタは、各素数pa,bをBKT内のエントリ(a,b)に割り当てる(例えば、素数p1,1はエントリ(1,1)に割り当てられる)。管理センタは、エントリに対する素数の割当を公開する。更に、管理センタは、以下に示すような値Tを算出する。
【0233】
【数70】
【0234】
管理センタは、値Tを公開しない。
【0235】
管理センタは、ステップS2820において、BKT内の各エントリに対するブロックキーを生成する。ブロックキーは、図29のBKT2900に示すように、Ka,bと表される。管理センタは、以下のようにしてブロックキーを算出する。
【0236】
【数71】
【0237】
管理センタは、図29のBKT2900に示すように、ブロックキーKa,bをBKTの対応するエントリ(a,b)に格納する。例えば、ブロックキーK1,1は、エントリ(1,1)に格納される。
【0238】
管理センタは、ステップS2825において、MKBを定義する。MKBは、BKTに基づく2次元テーブルであり、BKTの各エントリ2905に対応するエントリ3003を含むA個の列とB個の行を有する。図30は、図29に示すBKT2900に基づくMKB3000を示している。初期的には、MKBは、空である。MKBの各エントリ(a,b)は、後述するように、BKT内の対応するエントリ(a,b)に格納されているブロックキーKa,bを用いて、暗号化された媒体キー(media key)を格納する。×印が付されているエントリ3003は、図31を用いて後述するように、無効にされた受信機に対応するエントリである。
【0239】
管理センタは、ステップS2830において、各受信機ujに対して、ベクトルを定義する。ベクトルは、Vjと表され、B個の要素vbを含む。すなわち、Vj=(v1,・・・,vb,・・・,vB)であり、ここで、vb∈{1,・・・,A}である。ベクトルVjの各要素vbは、MKBのエントリ(a,b)を表している。ベクトルにおける要素の順序の位置は、行(すなわち、b)を表し、要素の値は、列(すなわち、a)を表している。例えば、第1の要素v1が2である場合、第1の要素v1は、MKBにおける第2行第1列の媒体キー暗号文(すなわち、エントリ(2,1))を表している。このように、受信機ujのベクトルVjは、受信機ujのためのB個の媒体キー暗号文を表している。管理センタは、ステップS2835において、各受信機ujにベクトルVjを供給する。
【0240】
更に、管理センタは、各受信機ujに対して、値wjを生成する。値wjは、受信機ujのベクトルVjによって示されるエントリに対応する素数pa,bの積である。管理センタは、以下の式に基づいて、値wjを算出する。
【0241】
【数72】
【0242】
ここで、vbは、ベクトルVjのb番目の要素の値を表す。管理センタは、ベクトルVjとともに、あるいは受信機が復号を開始する前、例えば公開暗号化パラメータとともに(上述のステップS2815)又はマスタキーとともに(後述のステップS2845)、各値wjを、対応する受信機ujに供給する。これに代えて、受信機が、素数pa,bから値wjを導出するようにしてもよい。
【0243】
管理センタは、ステップS2840において、暗号化パラメータを用いて、マスタキーを生成する。マスタキーは、MKjと表される。ここで、管理センタは、以下の式に基づいて、各受信機ujに対応するマスタキーMKjを算出する。
【0244】
【数73】
【0245】
管理センタは、各マスタキーMKjを対応する受信機ujに割り当てる。管理センタは、マスタキーMKjを用いて、受信機ujのベクトルVjによって示される媒体キー暗号文に対応する全てのブロックキーKa,bを導出することができる。例えば、図29に示すBKT2900及び図30に示すMKB3000において、受信機u1には、マスタキーMK1が割り当てられており、ベクトルVjは、要素{1,1,・・・1}を含み、マスタキーMKjを用いて、ブロックキーK1,1、K1,2、・・・、K1,Bを導出することができる。管理センタは、ステップS2845において、対応する受信機ujに各マスタキーMKjを送信する。
【0246】
管理センタは、ステップS2850において、BKTに格納されている各ブロックキーを用いて、媒体キーを暗号化する。媒体キーは、データ媒体の個体に記録されるコンテンツファイル(例えば、DVDディスクに記録されるビデオデータ)を暗号化及び復号するためのキーである。各媒体キーを暗号化することにより、それぞれの媒体キー暗号文が生成される。管理センタは、ステップS2855において、各媒体キーを暗号化するために使用されたブロックキーに対応するMKBのエントリに、媒体キー暗号文を格納する。例えば、管理センタは、ブロックキーK1,1を用いて、媒体キーを暗号化し、これにより得られる媒体キー暗号文をMKBのエントリ(1,1)に格納する。図30のMKB3000には、各エントリに格納された媒体キー暗号文3005が、E(Ka,b,MK)として示されており、このE(Ka,b,MK)は、ブロックキーKa,bを用いた媒体キー(MK)の暗号化(E)を表している。他の具体例においては、管理センタは、ブロックキーを用いて、媒体キー以外の他のデータを暗号化する。管理センタは、ステップS2860において、データ媒体の各個体にMKBを記録する。
【0247】
管理センタは、ステップS2865において、データ媒体を受信機に送付する。上述のように、データ媒体は、MKBを記録している。各受信機は、例えば受信機の製造業者を介して、公開暗号化パラメータと、ベクトルと、ブロックキーを導出するための値(wj)と、マスタキーとが供給される。一具体例においては、管理センタは、媒体キーを用いてコンテンツファイル(例えば、ビデオ及び/又はオーディオコンテンツ)を暗号化し、暗号化したコンテンツファイルをデータ媒体に記録する。一具体例においては、管理センタは、ステップS2805〜ステップS2845を1回(又は、受信機の数が変わる等、放送暗号化システムに変化が生じるまで)実行し、そして、暗号文の配信毎に、ステップS2850〜ステップS2865を繰り返す。
【0248】
図31は、受信機を無効にし、MKBを更新する処理を示すフローチャートである(図7のステップS715〜S735参照)。管理センタは、ステップS3105において、1つ以上の受信機を無効にする。管理センタは、受信機が管理センタから送信されてくる暗号文を復号する権限を有さなくなった場合に、その受信機を無効又は有効ではなくする。上述のように、管理センタがいずれの受信機も無効にしない場合もある。この場合、全てのブロックキーが有効なまま残る。
【0249】
管理センタは、ステップS3110において、無効にされた受信機に割り当てられているマスタキーから導出することができるブロックキーを無効にする。上述のように、受信機に割り当てられ、マスタキーに対応するベクトルは、どのブロックキーがマスタキーから導出することができるかを示している。したがって、管理センタが受信機を無効にする場合、管理センタは、受信機のベクトルによって示されるブロックキーを無効にする。
【0250】
管理センタは、ステップS3115において、無効にされたブロックキーに対応する媒体キー暗号文を無効にすることによって、MKBを更新する。一具体例においては、管理センタは、媒体キー暗号文を所定の値に置換することにより、媒体キー暗号文を無効にする。すなわち、この所定の値は、媒体キー暗号文が暗号化された暗号化アルゴリズムを用いて媒体キーを復号することができない値である。他の具体例においては、管理センタは、MKBのエントリに格納されている媒体キー暗号文を削除し、このエントリにブランクデータ又はランダムデータを格納する。図30のMKB3000においては、無効な媒体キー暗号文に対応するエントリに×印を付している。
【0251】
管理センタは、ステップS3120において、データ媒体の新しい各個体に、更新されたMKBを記録する。管理センタは、新たなデータ媒体に記録するMKBを制御することによって、どの受信機が新たなデータ媒体に記録された媒体キーを復号できるかを制御する。管理センタは、ステップS3125において、受信機に新たなデータ媒体を送付する。
【0252】
図32は、MKBを用いた、受信機による放送復号の処理を示すフローチャートである(図9参照)。一具体例においては、例えば図4に示す放送暗号化システム400のように、受信機は、管理センタが配布のために準備したデータ媒体を介して、データ及び暗号文が供給される。受信機は、ステップS3205において、管理センタから暗号化パラメータが供給される。上述のように、管理センタは、例えば選択された素数pa,b等、受信機が管理センタからの暗号文を復号するために使用する公開暗号化パラメータを受信機に公開する。一具体例においては、受信機は、公開暗号化パラメータを非安全記憶装置(例えば、図2に示す主記憶装置225)に保存する。更に、受信機は、ステップS3210において、受信機uj用のベクトルVjとして表されるベクトルが供給され、ステップS3215において、受信機uj用のマスタキーMKjとして表されるマスタキーが供給される。上述のように、管理センタは、受信機用のベクトル及びマスタキーを生成し、これらのベクトル及びマスタキーを受信機に送る。受信機は、マスタキーを用いて復号のためのブロックキーを導出する。他の具体例においては、管理センタは、受信機の製造業者を介して、暗号化パラメータの一部又は全部と、ベクトルと、マスタキーとを共に受信機に供給する。
【0253】
受信機は、ステップS3220において、管理センタからMKBが供給される。図28を参照して上述したように、管理センタは、MKBを定義し(図30参照)、MKBをデータ媒体に記録して、受信機にデータ媒体を配布する。
【0254】
受信機は、ステップS3225において、ベクトル及びMKBを用いて、復号のためのブロックキーを選択する。上述のように、ベクトルは、多数の媒体キー暗号文を表し、したがって、対応するブロックキーを表している。受信機は、ベクトルの要素によって表さるブロックキーの1つを選択する。したがって、受信機は、ベクトルのエントリ(vb,b)に対応するブロックキーを導出する。ここで、要素vbは、ベクトルVjのb番目の要素である。ブロックキーは、Kvb,bと表される。例えば、図29及び図30に示す具体例では、ベクトルの第1の要素v1の値は2であり、この要素は、エントリ(2,1)における媒体キー暗号文を表している。ブロックキーK2,1は、エントリ(2,1)に対応しており、したがって、受信機は、ブロックキーK2,1を選択する。
【0255】
受信機は、ステップS3230において、受信機のマスタキーから、選択されたブロックキーを導出する。上述のように、受信機uj用のマスタキーは、MKjと表され、受信機u j は、Kvb,bと表され、エントリ(vb,b)に対応するブロックキーを選択する。受信機ujは、素数pa,b及び値wjを含む暗号化パラメータが既に供給されている。そして、受信機u j は、以下の式に基づいて、ブロックキーKa,bを導出する。
【0256】
【数74】
【0257】
一具体例においては、受信機は、受信機のベクトルの各要素について、
【0258】
【数75】
【0259】
を予め算出しておく。また、一具体例においては、受信機は、c≠bとして、B−1個の素数
【0260】
【数76】
【0261】
を乗算することにより、
【0262】
【数77】
【0263】
を算出する。
【0264】
受信機は、ステップS3235において、導出したブロックキーに対応するMKBの媒体キー暗号文を復号する。一具体例においては、受信機は、例えばチェックサム値を用いて、復号結果が受信した暗号文に対して正しいものであるか否かを判定する。復号結果が正しくない場合、受信機は、受信機のベクトルの他の要素を用いて、別のブロックキーを選択する。受信機のベクトルによって表されるブロックキーのいずれによっても正しい復号結果が得られない場合、受信機は、それ自体が無効にされ、有効なノードキーを導出することができないと判定する。一具体例においては、受信機は、(例えば、ネットワーク接続を介して)管理センタと通信することにより、受信機が無効にされたことを確認する。
【0265】
一具体例においては、受信機に供給されるデータ媒体は、復号される媒体キーに対応する暗号化されたコンテンツファイルを含んでいる。この場合、受信機は、復号された媒体キーを用いて、暗号化されているコンテンツファイルを復号し、コンテンツにアクセスする。
【0266】
他の具体例においては、データ媒体は、データを記録するために使用され、受信機は、復号された媒体キーを用いて、データ媒体にデータを記録する。受信機が有効なブロックキーを有さず、したがって、MKBから媒体キーを復号できない場合、受信機は、データをデータ媒体に記録することができない。
【0267】
データ媒体の製造
図4〜図6を用いて上述したように、放送チャンネルがデータ媒体の配布である場合、管理センタは、データ(例えば、暗号文)をデータ媒体に記録して受信機に供給する。管理センタは、まず、データを媒体製造装置(例えば、図4に示す媒体製造業者410の工場に設けられている)にデータを供給し、データをデータ媒体に記録する。再生専用媒体(例えば、CD−ROM又はDVD−ROM)については、管理センタは、媒体製造装置に、キー暗号文及び暗号化されたコンテンツを供給する。記録可能な媒体(例えば、CD−RW又はDVD−RW)については、管理センタは、キー暗号文を供給し、受信機が暗号化されたコンテンツを、記録可能な媒体に書き込む。
【0268】
図33は、媒体製造装置3300の具体的構成例を示すブロック図である。一具体例においては、媒体製造装置3300は、再生専用媒体を製造し、他の具体例においては、媒体製造装置3300は、記録可能な媒体を製造する。また、媒体製造装置3300は、データ媒体そのものを製造するのではなく、データ媒体にデータを書き込むことにより、データ媒体を準備する装置である。また、他の具体例においては、媒体製造装置3300は、データ媒体そのものを製造する装置であってもよい。媒体製造装置3300は、コントローラ3305と、入出力インタフェース3310と、記憶装置3315と、媒体インタフェース3320とを備える。他の具体例においては、媒体製造装置3300は、秘密にするデータを保存する安全記憶装置を備えていてもよい。コントローラ3305は、媒体製造装置3300の動作を制御する。一具体例においては、コントローラ3305は、CPUであってもよい。媒体製造装置3300は、(例えば、管理センタに対し、)入出力インタフェース3310を介してデータを送受する。記憶装置3315は、媒体製造装置3300の動作をサポートするためのデータを保存する。一具体例においては、記憶装置3315は、例えばRAM等のメモリ装置であってもよい。媒体インタフェース3320は、媒体製造装置3300にデータ読出/書込機能を提供し、これにより、媒体製造装置3300は、媒体の個体からデータを読み出し、また、媒体が記録可能な媒体の場合、媒体の個体にデータを書き込むことができる。
【0269】
図34は、例えば図33に示す媒体製造装置3300等の媒体製造装置によって、再生専用媒体を製造する工程を示すフローチャートである。媒体製造装置は、ステップS3405において、データ媒体の空の個体が供給される。他の具体例においては、媒体製造装置は、既にデータの一部が記録されているデータ媒体が供給されてもよく、また、データ媒体の個体の一部又は全部を原材料から製造してもよい。媒体製造装置は、ステップS3410において、データ媒体に表現コードを記録する。上述のように、表現コードは、例えば表現木及びコード又はベクトル及び媒体キーブロック等に基づき、どの受信機が無効にされたかを示すコードである。媒体製造装置は、ステップS3415において、データ媒体に1つ以上の暗号文を記録する。暗号文は、暗号化されたコンテンツキーである。各暗号文は、同じコンテンツを含んでいるが、上述したノードキー、サブセットキー又はブロックキー等のそれぞれのサブキーを用いて暗号化されている。媒体製造装置は、ステップS3420において、コンテンツキーを用いて、コンテンツファイルを暗号化する。変形例においては、媒体製造装置は、例えば管理センタ等の外部ソースから、暗号化されたコンテンツファイルが供給される。媒体製造装置は、ステップS3425において、データ媒体に、暗号化されたコンテンツファイルを記録する。上述のように、受信機は、表現コードを用いて、サブキーを選択し、受信機に保存されているマスタキーから、選択されたサブキーを導出する。受信機は、暗号文を復号して、コンテンツキーを生成し、このコンテンツキーを用いて、暗号化されているコンテンツファイルを復号する。
【0270】
媒体製造装置が記録可能なデータ媒体を製造する場合、媒体製造装置は、常に、コンテンツファイルを暗号化して、データ媒体に記録する必要はない。
【0271】
本発明は、電子ハードウェア、コンピュータソフトウェア、又はこれらの技術の組み合わせにより、様々な形態で実現することができる。多くの実現例は、プログラミング可能なコンピュータにより実行される1つ以上のコンピュータプログラムを含んでいる。例えば、図1に示すように、一具体例においては、放送管理センタ105及び各受信機1201〜120Nは、上述した装置のそれぞれの機能を実現する1つ以上のプログラミング可能なコンピュータを備える。通常、各コンピュータは、1つ以上のプロセッサと、1つ以上のデータ記憶装置(例えば、揮発性又は不揮発性メモリモジュールと、例えばハードディスクドライブ、フロッピディスクドライブ、CD−ROMドライブ、磁気テープドライブ等の永続的な光及び磁気記録装置)と、1つ以上の入力装置(例えば、マウス及びキーボード)と、1つ以上の出力装置(例えば、ディスプレイ及びプリンタ)とを備える。
【0272】
コンピュータプログラムは、通常、永続的な記録媒体(persistent storage medium)に記録されており、実行時にメモリにコピーされる実行コードを含んでいる。プロセッサは、所定の順序でメモリから命令を読み出すことにより、このコードを実行する。プログラムコードを実行する際、コンピュータは、入力装置及び/又は記憶装置からデータが供給され、データを処理し、処理されたデータを出力装置及び/又は記憶装置に供給する。
【0273】
本発明の様々な実施の形態について説明したが、当業者は、本発明の範囲を逸脱することなく、上述した以外の実施の形態を想到することができる。例えば、上述の説明では、衛星放送の放送チャンネル又はデータ媒体配布の具体例を示しているが、放送チャンネルは、ケーブルテレビ、インターネット又はこの他の無線又は有線ネットワークであってもよい。このように、本発明は、上述の具体例によって限定されるものではない。
【0274】
【発明の効果】
本発明は、複数の受信機のそれぞれに対し、2つ以上のサブキーを導出するために用いることができるマスタキーを割り当て、1つ以上の受信機を無効にし、無効にされていない受信機のマスタキー毎に、このマスタキーから導出できるとともに、無効にされた全ての受信機のマスタキーからは導出できないサブキーを選択し、選択された各サブキー毎に、サブキーを用いてデータを暗号化して暗号文を生成し、暗号化された暗号文を複数の受信機に送信することで、放送暗号化システムにおいて、効率的に受信機を無効にする。
【図面の簡単な説明】
【図1】 衛星放送を用いた放送暗号化システムのアーキテクチャを示す図である。
【図2】 管理センタの構成を示すブロック図である。
【図3】 受信機の構成を示すブロック図である。
【図4】 データ媒体を用いた放送暗号化システムのアーキテクチャを示す図である。
【図5】 管理センタの具体例を示すブロック図である。
【図6】 受信装置の具体例を示すブロック図である。
【図7】 データを暗号化して暗号文を生成し、1つ以上の受信機に暗号文を送信する放送暗号化処理の手順を示すフローチャートである。
【図8】 コンテンツキー及びコンテンツファイルを暗号化する処理を含む放送暗号化処理の手順を示すフローチャート。
【図9】 受信機によって放送復号処理を行う手順を示すフローチャートである。
【図10】 ノードキーを有するHKTを用いて、放送暗号化システムを設定し、受信機にマスタキーを割り当てる手順を示すフローチャートである。
【図11】 ノードに対するノードキーの割当を説明するHKTを示す図である。
【図12】 HKTを用いて、受信機を無効にし、ノードキーを選択し、表現コードを生成する手順を示すフローチャートである。
【図13】 図11のHKTにおける無効にされた受信機と、選択されたノードキーとを示す図である。
【図14】 図11及び図13に示すHKTに基づく表現木を示す図である。
【図15】 HKT及びノードキーを用いて、受信機により放送復号処理を行う手順を示すフローチャートである。
【図16】 コンテンツキー及びコンテンツファイルの復号を含む放送復号処理の手順を示すフローチャートである。
【図17】 サブセット及びサブセットキーを有するHKTを用いて、放送暗号化システムを設定し、受信機にマスタキーを割り当てる手順を示すフローチャートである。
【図18】 ノードに対するサブセットの割当を示すHKTを示す図である。
【図19】 図18のHKTにおけるノードキーに対するサブセットキーの割当を示す図である。
【図20】 HKTを用いて受信機を無効にし、サブセットキーを選択し、表現コードを生成する手順を示すフローチャートである。
【図21】 図18に示すHKTにおいて、無効にされた受信機と、選択されたサブセットキーに対応するサブセットのノードとを示す図である。
【図22】 図18に示すHKTの枝を除去した状態を示す図である。
【図23】 図18及び図21に示すHKTに基づく表現木を示す図である。
【図24】 HKT及びサブセットキーを用いて、受信機によって放送復号処理を行う手順を示すフローチャートである。
【図25】 コンテンツキー及びコンテンツファイルの復号を含む放送復号処理の手順を示すフローチャートである。
【図26】 サブセット及びサブセットキーを有するHKTを用いて、放送暗号化システムを設定し、マスタキーを受信機に割り当てる手順を示すフローチャートである。
【図27】 HKTにおけるノードに対するサブセットキーの割当を示す図である。
【図28】 MKBを用いて、放送暗号化システムを設定し、マスタキーを受信機に割り当てる手順を示すフローチャートである。
【図29】 ブロックキーテーブルを示す図である。
【図30】 媒体キーブロックを示す図である。
【図31】 受信機を無効にし、MKBを更新する手順を示すフローチャートである。
【図32】 MKBを用いて、受信機によって放送復号処理を行う手順を示すフローチャートである。
【図33】 データ媒体製造装置の一具体例を示すブロック図である。
【図34】 媒体製造装置によって、再生専用データ媒体を製造する手順を示すフローチャートである。
【符号の説明】
100 放送暗号化システム、105 放送管理センタ、110 衛星放送局、115 放送衛星、120 受信機、200 管理センタ
Claims (5)
- コントローラを有する管理センタによって、複数のサブキーのうちの2つ以上のサブキーを導出するために用いることができるそれぞれのマスタキーを複数の受信機のそれぞれに割り当てるステップと、
上記管理センタによって、上記複数の受信機のうちの1つ以上の受信機を無効にし、無効にされていない1つ以上の受信機を残すステップと、
上記管理センタによって、上記無効にされていない受信機の各マスタキー毎に、該マスタキーから導出できるとともに、上記無効にされた1つ以上の受信機の全てのマスタキーから導出できないサブキーを選択するステップと、
上記管理センタによって、上記選択された各サブキー毎に、該選択されたサブキーを用いて、1つの暗号文を暗号化するステップと、
上記管理センタによって、上記暗号化された暗号文を上記複数の受信機に送信するステップとを有し、
上記複数の受信機は、上記無効にされた受信機を示す受信機情報と、それぞれのサブキーとそれぞれの受信機間の関係を示す関係情報とを取得し、
上記暗号文を暗号化するステップは、
上記管理センタによって、根と、複数の内部ノードと、複数の葉とを含むノードを有する階層的キー木であって、上記各サブキーが、そのそれぞれのノードに対応するノードキーである階層的キー木を定義するステップと、
上記管理センタによって、上記各受信機を上記階層的キー木の葉に割り当てるステップと、
上記管理センタによって、上記無効にされた受信機の葉から上記階層的キー木の根までのパス上のノードに割り当てられた各ノードキーを無効にし、無効にされていない1つ以上のノードキーを残すステップとを有し、
上記各マスタキーは、該マスタキーの受信機の葉から上記階層的キー木の根までのパス上のノードのノードキーを各受信機が導出するために用いることができ、
上記マスタキー毎にサブキーを選択するステップは、上記無効にされていないノードキーに対応する上記階層的キー木の1つ以上のノードをそれぞれ含む1つ以上の部分木を定義するステップを含み、上記各部分木の根は、上記無効にされたノードキーに対応する子ノードを有さず、
上記暗号文を暗号化するステップは、上記1つ以上の部分木の根の1つに対応するノードキーを用いて、上記暗号文を暗号化するステップを含む放送暗号化方法。 - 上記管理センタによって、上記各マスタキーを、対応する受信機に送信するステップを更に有する請求項1記載の放送暗号化方法。
- 上記各暗号文は、暗号化されたコンテンツファイルを復号するためのコンテンツキーを暗号化したものである請求項1記載の放送暗号化方法。
- 上記管理センタによって、コンテンツファイルをコンテンツキーを用いて暗号化するステップを更に有する請求項1記載の放送暗号化方法。
- 上記管理センタによって、上記無効にされた受信機に割り当てられているマスタキーから導出できる各サブキーを無効にするステップを更に有する請求項1記載の放送暗号化方法。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US35364002P | 2002-01-30 | 2002-01-30 | |
US60/353640 | 2002-01-30 | ||
US38129902P | 2002-05-15 | 2002-05-15 | |
US60/381299 | 2002-05-15 | ||
US10/292,210 US7340603B2 (en) | 2002-01-30 | 2002-11-12 | Efficient revocation of receivers |
US10/292210 | 2002-11-12 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010005339A Division JP2010081656A (ja) | 2002-01-30 | 2010-01-13 | 放送暗号化方法、放送復号方法、受信装置、放送暗号化装置及び放送復号装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003273862A JP2003273862A (ja) | 2003-09-26 |
JP2003273862A5 JP2003273862A5 (ja) | 2006-03-16 |
JP4902934B2 true JP4902934B2 (ja) | 2012-03-21 |
Family
ID=27617545
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003017887A Expired - Fee Related JP4902934B2 (ja) | 2002-01-30 | 2003-01-27 | 放送暗号化方法 |
JP2010005339A Pending JP2010081656A (ja) | 2002-01-30 | 2010-01-13 | 放送暗号化方法、放送復号方法、受信装置、放送暗号化装置及び放送復号装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010005339A Pending JP2010081656A (ja) | 2002-01-30 | 2010-01-13 | 放送暗号化方法、放送復号方法、受信装置、放送暗号化装置及び放送復号装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7340603B2 (ja) |
JP (2) | JP4902934B2 (ja) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9520993B2 (en) | 2001-01-26 | 2016-12-13 | International Business Machines Corporation | Renewable traitor tracing |
US7340603B2 (en) * | 2002-01-30 | 2008-03-04 | Sony Corporation | Efficient revocation of receivers |
US7092527B2 (en) | 2002-04-18 | 2006-08-15 | International Business Machines Corporation | Method, system and program product for managing a size of a key management block during content distribution |
JP2003333030A (ja) * | 2002-05-16 | 2003-11-21 | Nec Corp | タイムシフト出力方法及びタイムシフト出力装置 |
US7450722B2 (en) * | 2002-12-13 | 2008-11-11 | General Instrument Corporation | Subset difference method for multi-cast rekeying |
US7313238B2 (en) * | 2003-01-31 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | Method and system for relating cryptographic keys |
US7379548B2 (en) * | 2003-01-31 | 2008-05-27 | Nds Limited | Virtual smart card device, method and system |
US7835520B2 (en) * | 2003-02-20 | 2010-11-16 | Zoran Corporation | Unique identifier per chip for digital audio/video data encryption/decryption in personal video recorders |
US7412058B2 (en) * | 2003-03-18 | 2008-08-12 | Delphi Technologies, Inc. | Digital receiver and method for receiving secure group data |
EP1633075A1 (en) * | 2003-05-22 | 2006-03-08 | Matsushita Electric Industrial Co., Ltd. | Copyright protection system, power residue calculation device, and method |
JP4638176B2 (ja) * | 2003-05-22 | 2011-02-23 | パナソニック株式会社 | 著作権保護システム、べき乗剰余演算装置、演算装置、鍵管理装置、再生装置、記録装置、記録媒体、べき乗剰余演算方法、演算方法、及びプログラム |
US7697690B2 (en) * | 2003-07-21 | 2010-04-13 | Hewlett-Packard Development Company, L.P. | Windowed backward key rotation |
KR100987207B1 (ko) | 2003-08-02 | 2010-10-12 | 삼성전자주식회사 | 멀티미디어 방송/다중방송 서비스를 지원하는이동통신시스템에서의 암호화 방법 |
JP4615444B2 (ja) * | 2003-08-05 | 2011-01-19 | パナソニック株式会社 | 著作権保護システム |
US7444514B2 (en) * | 2003-10-15 | 2008-10-28 | International Business Machines Corporation | Group key exchanges with failures |
FR2868654B1 (fr) | 2004-04-06 | 2007-06-22 | Medialive | Procede et systeme de diffusion securisee de flux audiovisuels proteges a un groupe dynamique de recepteurs |
EP1745588B1 (en) * | 2004-04-30 | 2009-04-08 | Research In Motion Limited | System and method for obtaining certificate status of subkeys |
JP2005333242A (ja) * | 2004-05-18 | 2005-12-02 | Pioneer Electronic Corp | 鍵管理システム、及び再生装置 |
JP4583069B2 (ja) * | 2004-05-18 | 2010-11-17 | パイオニア株式会社 | 鍵管理システム、及び再生装置 |
WO2005114901A1 (en) * | 2004-05-19 | 2005-12-01 | Philips Intellectual Property & Standards Gmbh | Multicast key issuing scheme for large and medium sized scenarios and low user-side demands |
JP4690696B2 (ja) * | 2004-10-29 | 2011-06-01 | 株式会社東芝 | デジタル放送受信装置および方法 |
US7971070B2 (en) * | 2005-01-11 | 2011-06-28 | International Business Machines Corporation | Read/write media key block |
KR100737876B1 (ko) * | 2005-02-25 | 2007-07-12 | 삼성전자주식회사 | 계층적 문턱 트리에 기반한 브로드캐스트 암호화 방법 |
KR100717005B1 (ko) * | 2005-04-06 | 2007-05-10 | 삼성전자주식회사 | 폐기 키를 결정하는 방법 및 장치와 이것을 이용하여복호화하는 방법 및 장치 |
KR100970391B1 (ko) * | 2005-04-19 | 2010-07-15 | 삼성전자주식회사 | 브로드 캐스트 암호화 시스템에서의 태그 형성방법 |
EP1875660B1 (en) * | 2005-04-19 | 2018-10-24 | Samsung Electronics Co., Ltd. | Tag generation method in broadcast encryption system |
KR100765750B1 (ko) * | 2005-05-09 | 2007-10-15 | 삼성전자주식회사 | 브로드캐스트 암호화 방식에 따라 효율적으로암호화/복호화하는 방법 및 장치 |
KR101152311B1 (ko) * | 2005-06-09 | 2012-06-11 | 삼성전자주식회사 | 트리 토폴로지 네트워크 구조에서의 브로드 캐스트암호화를 위한 키 관리방법 |
WO2007031955A2 (en) * | 2005-09-16 | 2007-03-22 | Koninklijke Philips Electronics, N.V. | Cryptographic role-based access control |
US7487143B2 (en) * | 2005-11-17 | 2009-02-03 | International Business Machines Corporation | Method for nested categorization using factorization |
KR100729139B1 (ko) | 2006-02-13 | 2007-06-18 | 고려대학교 산학협력단 | 브로드캐스트 암호화를 위한 모듈화 방법 |
FR2899748B1 (fr) * | 2006-04-07 | 2008-11-28 | Thales Sa | Schema de diffusion hybride efficace, adapte a une faible bande passante |
JP4179563B2 (ja) * | 2006-09-21 | 2008-11-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 暗号通信の暗号鍵を管理する技術 |
KR101377455B1 (ko) * | 2006-10-09 | 2014-04-02 | 삼성전자주식회사 | 브로드캐스트 암호화를 위한 암호화 키 생성 방법 및 장치 |
JP2008236377A (ja) * | 2007-03-20 | 2008-10-02 | Sony Corp | 鍵提供システム、鍵提供装置、端末装置、鍵提供方法、及び鍵生成方法 |
US7876895B2 (en) * | 2007-05-09 | 2011-01-25 | International Business Machines Corporation | System, method, and service for performing unified broadcast encryption and traitor tracing for digital content |
US9729316B2 (en) * | 2008-02-27 | 2017-08-08 | International Business Machines Corporation | Unified broadcast encryption system |
US8571209B2 (en) * | 2009-01-19 | 2013-10-29 | International Business Machines | Recording keys in a broadcast-encryption-based system |
EP2227015B1 (en) * | 2009-03-02 | 2018-01-10 | Irdeto B.V. | Conditional entitlement processing for obtaining a control word |
JP2010220019A (ja) * | 2009-03-18 | 2010-09-30 | Panasonic Corp | 鍵管理方法および鍵管理装置 |
US8160248B2 (en) * | 2009-04-02 | 2012-04-17 | Broadcom Corporation | Authenticated mode control |
US8254580B2 (en) * | 2009-09-30 | 2012-08-28 | Telefonaktiebolaget L M Ericsson (Publ) | Key distribution in a hierarchy of nodes |
KR101714108B1 (ko) * | 2009-12-04 | 2017-03-08 | 크라이프토그라피 리서치, 인코포레이티드 | 검증가능 누출 방지 암호화 및 복호화 |
US8934626B2 (en) * | 2010-03-03 | 2015-01-13 | Nagravision S.A. | Method to manage revocations in a group of terminals |
US9232268B2 (en) * | 2011-02-23 | 2016-01-05 | Broadcom Corporation | Unified video delivery system for supporting IP video streaming service |
US9438415B2 (en) | 2011-02-23 | 2016-09-06 | Broadcom Corporation | Method and system for securing communication on a home gateway in an IP content streaming system |
JP5670272B2 (ja) | 2011-07-19 | 2015-02-18 | 株式会社東芝 | 情報処理装置、サーバ装置およびプログラム |
US20130024387A1 (en) * | 2011-07-20 | 2013-01-24 | Verify Brand Llc | Systems and Methods for Tracking Assigned Code Strings |
US20130166910A1 (en) * | 2011-12-22 | 2013-06-27 | Broadcom Corporation | Revocable Security System and Method for Wireless Access Points |
KR101393159B1 (ko) * | 2013-04-10 | 2014-05-30 | 숭실대학교산학협력단 | 소셜 네트워크 서비스에서의 키 기반의 액세스 제어 방법 및 장치 |
WO2015097834A1 (ja) * | 2013-12-26 | 2015-07-02 | 株式会社東芝 | 通信制御装置、通信制御方法およびプログラム |
US10326597B1 (en) * | 2014-06-27 | 2019-06-18 | Amazon Technologies, Inc. | Dynamic response signing capability in a distributed system |
JP6290443B2 (ja) * | 2014-10-31 | 2018-03-07 | 株式会社東芝 | 通信制御装置、通信制御方法およびプログラム |
US10467384B2 (en) * | 2016-05-18 | 2019-11-05 | International Business Machines Corporation | Subset-difference broadcast encryption with blacklisting |
US10616190B2 (en) | 2016-05-18 | 2020-04-07 | International Business Machines Corporation | Reduced size key allocation descriptors |
KR101837097B1 (ko) * | 2017-02-24 | 2018-03-12 | 홍익대학교 산학협력단 | 데이터 전송 시스템, 데이터 전송 방법, 및 기록 매체 |
US10841078B2 (en) * | 2018-07-26 | 2020-11-17 | International Business Machines Corporation | Encryption key block generation with barrier descriptors |
CN110059499A (zh) * | 2019-03-22 | 2019-07-26 | 华为技术有限公司 | 一种文件访问权限认证方法及电子设备 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL106796A (en) * | 1993-08-25 | 1997-11-20 | Algorithmic Res Ltd | Broadcast encryption |
US5663896A (en) * | 1994-09-22 | 1997-09-02 | Intel Corporation | Broadcast key distribution apparatus and method using Chinese Remainder |
US5652795A (en) * | 1994-11-14 | 1997-07-29 | Hughes Electronics | Method and apparatus for an adapter card providing conditional access in a communication system |
KR970024712A (ko) * | 1995-10-16 | 1997-05-30 | 이데이 노부유키 | 암호화 방법 및 암호화 장치 및 기록 방법 및 복호 방법 및 복호 장치 및 기록 매체 |
US5758353A (en) * | 1995-12-01 | 1998-05-26 | Sand Technology Systems International, Inc. | Storage and retrieval of ordered sets of keys in a compact 0-complete tree |
JP3093678B2 (ja) * | 1996-06-28 | 2000-10-03 | 株式会社東芝 | 暗号化方法、復号方法、記録再生装置、復号装置、復号化ユニット装置及び記録媒体の製造方法 |
DE19649292A1 (de) * | 1996-11-28 | 1998-06-04 | Deutsche Telekom Ag | Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems |
US6389136B1 (en) * | 1997-05-28 | 2002-05-14 | Adam Lucas Young | Auto-Recoverable and Auto-certifiable cryptosystems with RSA or factoring based keys |
US6397329B1 (en) * | 1997-11-21 | 2002-05-28 | Telcordia Technologies, Inc. | Method for efficiently revoking digital identities |
JPH11187013A (ja) * | 1997-12-24 | 1999-07-09 | Ibm Japan Ltd | 暗号鍵配信システム |
US6049878A (en) * | 1998-01-20 | 2000-04-11 | Sun Microsystems, Inc. | Efficient, secure multicasting with global knowledge |
US6513117B2 (en) * | 1998-03-04 | 2003-01-28 | Gemstar Development Corporation | Certificate handling for digital rights management system |
US7007162B1 (en) * | 1998-04-24 | 2006-02-28 | International Business Machines Corporation | Forensic media key block for identifying compromised keys |
US6295361B1 (en) * | 1998-06-30 | 2001-09-25 | Sun Microsystems, Inc. | Method and apparatus for multicast indication of group key change |
US6735313B1 (en) * | 1999-05-07 | 2004-05-11 | Lucent Technologies Inc. | Cryptographic method and apparatus for restricting access to transmitted programming content using hash functions and program identifiers |
US6263435B1 (en) * | 1999-07-06 | 2001-07-17 | Matsushita Electric Industrial Co., Ltd. | Dual encryption protocol for scalable secure group communication |
US6240188B1 (en) * | 1999-07-06 | 2001-05-29 | Matsushita Electric Industrial Co., Ltd. | Distributed group key management scheme for secure many-to-many communication |
US6850914B1 (en) * | 1999-11-08 | 2005-02-01 | Matsushita Electric Industrial Co., Ltd. | Revocation information updating method, revocation informaton updating apparatus and storage medium |
US7093128B2 (en) * | 2000-04-06 | 2006-08-15 | Sony Corporation | Information recording/reproducing apparatus and method |
JP2001352321A (ja) * | 2000-04-06 | 2001-12-21 | Sony Corp | 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体 |
RU2002100081A (ru) * | 2000-04-06 | 2003-07-27 | Сони Корпорейшн (JP) | Система и способ обработки информации |
JP2001359070A (ja) * | 2000-06-14 | 2001-12-26 | Canon Inc | データ処理装置、データ処理方法及びコンピュータ可読記憶媒体 |
JP2001358707A (ja) * | 2000-06-15 | 2001-12-26 | Sony Corp | 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体 |
US7143289B2 (en) * | 2000-10-30 | 2006-11-28 | Geocodex Llc | System and method for delivering encrypted information in a communication network using location identity and key tables |
JP4622087B2 (ja) * | 2000-11-09 | 2011-02-02 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにプログラム記憶媒体 |
JP2002281013A (ja) * | 2000-12-18 | 2002-09-27 | Matsushita Electric Ind Co Ltd | 著作権保護のための鍵管理装置、記録媒体、再生装置、記録装置、鍵管理方法、再生方法、鍵管理プログラム及び鍵管理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP4581246B2 (ja) * | 2000-12-26 | 2010-11-17 | ソニー株式会社 | 情報処理システム、および情報処理方法、並びにプログラム記録媒体 |
JP4710132B2 (ja) * | 2000-12-26 | 2011-06-29 | ソニー株式会社 | 情報処理システム、および情報処理方法、並びにプログラム記録媒体 |
JP4078802B2 (ja) * | 2000-12-26 | 2008-04-23 | ソニー株式会社 | 情報処理システム、情報処理方法、情報処理装置、および情報記録媒体、並びにプログラム記録媒体 |
US7039803B2 (en) * | 2001-01-26 | 2006-05-02 | International Business Machines Corporation | Method for broadcast encryption and key revocation of stateless receivers |
JP3957978B2 (ja) * | 2001-02-09 | 2007-08-15 | 株式会社東芝 | 暗号化システム、データ利用デバイス、及び、暗号化システムのデータ再生制御方法 |
US20020154782A1 (en) * | 2001-03-23 | 2002-10-24 | Chow Richard T. | System and method for key distribution to maintain secure communication |
KR100904572B1 (ko) * | 2001-03-29 | 2009-06-25 | 소니 가부시끼 가이샤 | 정보 처리 장치 |
JP4199472B2 (ja) * | 2001-03-29 | 2008-12-17 | パナソニック株式会社 | 暗号化を施すことによりデータを保護するデータ保護システム |
US7043024B1 (en) * | 2001-04-18 | 2006-05-09 | Mcafee, Inc. | System and method for key distribution in a hierarchical tree |
JP4220213B2 (ja) * | 2001-10-26 | 2009-02-04 | パナソニック株式会社 | 著作物保護システム、鍵管理装置及び利用者装置 |
US7340603B2 (en) * | 2002-01-30 | 2008-03-04 | Sony Corporation | Efficient revocation of receivers |
KR101019321B1 (ko) * | 2003-01-15 | 2011-03-07 | 파나소닉 주식회사 | 콘텐츠 보호 시스템, 키 데이터 생성장치 및 단말장치 |
CN1839609A (zh) * | 2003-08-20 | 2006-09-27 | 松下电器产业株式会社 | 内容再现系统 |
JP2005167527A (ja) * | 2003-12-02 | 2005-06-23 | Hitachi Ltd | 証明書管理システムおよびその方法 |
WO2005088896A1 (en) * | 2004-03-11 | 2005-09-22 | Koninklijke Philips Electronics N.V. | Improved domain manager and domain device |
US7487349B2 (en) * | 2004-04-23 | 2009-02-03 | Nagracard S.A. | Method for securing a ciphered content transmitted by a broadcaster |
US20090019468A1 (en) * | 2005-03-09 | 2009-01-15 | Vvond, Llc | Access control of media services over an open network |
-
2002
- 2002-11-12 US US10/292,210 patent/US7340603B2/en active Active
-
2003
- 2003-01-27 JP JP2003017887A patent/JP4902934B2/ja not_active Expired - Fee Related
-
2007
- 2007-12-04 US US11/999,095 patent/US7757082B2/en not_active Expired - Fee Related
-
2010
- 2010-01-13 JP JP2010005339A patent/JP2010081656A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20080152134A1 (en) | 2008-06-26 |
US20030142826A1 (en) | 2003-07-31 |
US7757082B2 (en) | 2010-07-13 |
JP2003273862A (ja) | 2003-09-26 |
JP2010081656A (ja) | 2010-04-08 |
US7340603B2 (en) | 2008-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4902934B2 (ja) | 放送暗号化方法 | |
JP4494215B2 (ja) | 公開鍵メディア鍵束 | |
KR100746880B1 (ko) | 정보 처리 시스템, 정보 처리 방법 및 정보 기록 매체와프로그램 제공 매체 | |
WO2011111370A1 (ja) | 記録システム、再生システム、鍵配信サーバ、記録装置、記録媒体装置、再生装置、記録方法、及び、再生方法 | |
US8121287B2 (en) | System, method, and service for performing unified broadcast encryption and traitor tracing for digital content | |
WO2001099333A1 (fr) | Dispositif de traitement d'informations et procede de traitement | |
JP2001358707A (ja) | 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体 | |
KR20090005622A (ko) | 공개 브로드캐스트 암호화를 이용한 인증 방법 및 컨텐츠재생 방법과 그 장치 | |
JP2005286959A (ja) | 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム | |
WO2004028073A1 (ja) | 鍵管理システム | |
JP2005333242A (ja) | 鍵管理システム、及び再生装置 | |
JP4561074B2 (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2004229128A (ja) | 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム | |
JP2008092514A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2015056861A (ja) | 復号装置、暗号化装置、方法、プログラム、記録媒体および製造方法 | |
JP2002236622A (ja) | 情報再生装置、情報記録装置、情報再生方法、情報記録方法、および情報記録媒体、並びにプログラム記憶媒体 | |
JP4635459B2 (ja) | 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム | |
JP2005333241A (ja) | 鍵管理システム、及び再生装置 | |
JP5052207B2 (ja) | 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体 | |
WO2009157050A1 (ja) | 情報処理装置及びプログラム | |
JP2005191805A (ja) | 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2004248272A (ja) | コンテンツ再生のための鍵を管理する方法 | |
JP2005252916A (ja) | 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム | |
JP2004320183A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060127 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090714 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090914 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091013 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100113 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100121 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20100618 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111031 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120104 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4902934 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150113 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |