JP4630826B2 - 復号鍵生成方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、プログラム、暗号化装置及び復号装置 - Google Patents

復号鍵生成方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、プログラム、暗号化装置及び復号装置 Download PDF

Info

Publication number
JP4630826B2
JP4630826B2 JP2006019795A JP2006019795A JP4630826B2 JP 4630826 B2 JP4630826 B2 JP 4630826B2 JP 2006019795 A JP2006019795 A JP 2006019795A JP 2006019795 A JP2006019795 A JP 2006019795A JP 4630826 B2 JP4630826 B2 JP 4630826B2
Authority
JP
Japan
Prior art keywords
user
key
leaves
session key
decryption
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
Application number
JP2006019795A
Other languages
English (en)
Other versions
JP2007201950A (ja
Inventor
達之 松下
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006019795A priority Critical patent/JP4630826B2/ja
Priority to US11/531,553 priority patent/US8122246B2/en
Publication of JP2007201950A publication Critical patent/JP2007201950A/ja
Application granted granted Critical
Publication of JP4630826B2 publication Critical patent/JP4630826B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

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

Description

本発明は、コンテンツ提供側システムから複数のユーザ側システムへ、暗号化コンテンツと、当該暗号化コンテンツを復号するためのヘッダ情報を送信するデータ通信システムに関する。
従来、放送型コンテンツ配信事業では、放送番組のコンテンツを暗号化し、得られた暗号化コンテンツをユーザに配信する。ユーザは、例えば配信者から貸与された正当な復号器により暗号化コンテンツを復号し、得られたコンテンツにより放送番組を視聴している。しかしながら、放送型コンテンツ配信事業に対しては、自己の正当な復号器の内部情報(復号鍵等)をコピーした海賊版復号器(不正復号器)を作成し、暗号化コンテンツを不正に復号可能とする不正ユーザが存在している。
一方、このような不正ユーザを特定し得る各種の不正ユーザ特定方法が知られている。係る不正ユーザ特定方法は、ユーザの復号鍵生成方法により三つのタイプに分類される。第1のタイプは、組み合わせ論的な構成に基づく方法であり、第2のタイプは、木構造に基づく方法であり、第3のタイプは、代数的な構成に基づく方法である。
第1の不正ユーザ特定方法では、不正復号器の作成に関与しない正当なユーザを不正ユーザと誤って検出する確率を十分小さくするために送信オーバヘッドを非常に大きくしなければならない問題がある。
第2及び第3の不正ユーザ特定方法では、この問題を解決し、効率的な送信オーバヘッドを達成している。
しかしながら、不正復号器は、複数の不正ユーザの結託により、複数の復号鍵または復号鍵と等価な機能をもつデータが格納されることがある。この不正復号器に対して、不正復号器をこじ開けずにその入出力のみを観測し、不正ユーザを特定するブラックボックス追跡が行なわれる場合がある。具体的には、ブラックボックス追跡を行う追跡者は、不正ユーザの候補(以下、容疑者という)を想定し、容疑者の復号鍵が不正復号器に保持されているか否かを、不正復号器への入出力を観測することのみにより検査する。
第2及び第3の不正ユーザ特定方法では、下記二つの問題のいずれかが未解決である。
問題1:ブラックボックス追跡の際に、各入力の意図(想定した容疑者)が不正復号器に知られてしまうため、巧妙な不正復号器が入力の意図を読み取って不正ユーザの特定を妨げるように動作した場合、ブラックボックス追跡が失敗する。この失敗は、不正ユーザを特定できないか、または無実のユーザに濡れ衣を着せてしまう問題につながる。
問題2:不正復号器が入力の意図を読み取ることは不可能であるが、不正ユーザを正しく特定する確率が送信オーバヘッドとトレードオフの関係にあり、送信オーバヘッドを効率的にすると不正ユーザを正しく特定する確率が非常に低くなるという問題、またはブラックボックス追跡に要する処理ステップ数が指数関数的であり、かかるブラックボックス追跡は、全ユーザ数をn、最大結託人数をkとしたとき、nCk=n!/{k!(n−k)!}通りの容疑者集合を検査する必要があるため、実用上不可能となる問題がある。
以上説明したように従来の不正ユーザ特定方法では、巧妙な不正復号器に対しては、ブラックボックス追跡が失敗するという問題がある。この問題を鑑み、特許文献1では、ブラックボックス追跡の際に、入力の意図を不正復号器に知られることが無く、巧妙な不正復号器に対しても、確実に追跡を実行し得る不正ユーザ特定方法が開示されている。
特許文献1において開示されている不正ユーザ特定方法のうち、より効率的な送信オーバヘッドを達成している方法として、ユーザに木構造のリーフを割り当て、鍵生成多項式をマルチレベル化することにより送信データ量を削減している方法がある。ここで、製造コストなどの理由から、復号器が持つことのできるメモリサイズが制限されるため、復号器が保持すべき復号鍵データサイズをより削減したいという要求がある。従って、復号器が保持すべき復号鍵データサイズをさらに削減することが望ましい。
特開2005−236963号公報
以上説明したように従来の不正ユーザ特定方法では、ブラックボックス追跡の際に、入力の意図を不正復号器に知られることが無く、巧妙な不正復号器に対しても、確実に追跡を実行しえること、及び、そのために復号器が保持すべき復号鍵データサイズの削減を図ること、という2つの課題を解決することはできない問題点があった。
そこで、本発明は、上記問題点に鑑みなされたもので、ブラックボックス追跡の際に、入力の意図を不正復号器に知られることが無く、巧妙な不正復号器に対しても、確実に追跡を実行し得、しかも、復号器が保持すべき復号鍵データサイズの削減を図ることができる復号鍵生成方法、コンテンツ提供側システム、ユーザ側システム、追跡システムを提供することを目的とする。
コンテンツ提供側システムから複数のユーザ側システムへ、所定のセッション鍵で暗号化することにより得られる暗号化コンテンツと、ユーザ側システムに割り当てられたユーザ側システム固有の復号鍵を用いて前記セッション鍵を復号することを可能にするヘッダ情報とを送信し、前記暗号化コンテンツ及び前記ヘッダ情報を受信したユーザ側システムは、当該ユーザ側システムに割り当てられた復号鍵及び当該ヘッダ情報を用いて前記セッション鍵を復号し、当該セッション鍵を用いて当該暗号化コンテンツを復号するデータ通信システムにいて、各ユーザ側システム固有の前記復号鍵は、
複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを、複数のサブグループに分割し、
ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造上の異なる複数のリーフに前記複数のサブグループをそれぞれ割り当てるとともに、
前記木構造上の前記ルート、前記複数のノード、及び前記複数のリーフの全部または一部のそれぞれに対し、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当て、
各サブグループに対し、当該サブグループに割り当てられたリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つを割り当て、
各サブグループ中の各ユーザ識別情報を、当該サブグループに割り当てられた前記個別鍵生成多項式と、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式に代入することによって得られた値を当該ユーザ識別情報に対応するユーザ側システム固有の復号鍵とし、
前記サブグループに割り当たられた前記個別鍵生成多項式と前記共通鍵生成多項式の同じ次数の係数の線形和のうちの少なくとも1つは、前記木構造上の前記ルート、前記複数のノード、及び前記複数のリーフ毎にそれぞれ異なり、それ以外の前記同じ次数の係数の線形和は一定であることを特徴とする。
各ユーザ側システムは、サブグループ単位に木構造上のリーフに割り当てられ、各木構造上のリーフ、その祖先ノードにより分類、識別される。従って、ヘッダ情報には、ユーザ側システムのユーザ識別情報を含まれていないので、ブラックボックス追跡の際に、入力の意図を不正復号器に知られることが無く、入力の意図を読み取って不正ユーザの特定を阻止しようと動作する巧妙な不正復号器に対しても、確実に追跡を実行することができる。さらに、木構造上の複数のノード及び複数のリーフに共通な共通鍵生成多項式を導入することにより、同様のブラックボックス追跡が可能な従来方法に比べて、送信オーバヘッドを同程度に保ちつつ、復号器が保持すべき復号鍵データサイズの削減が可能となる。
以上説明したように本発明によれば、ブラックボックス追跡の際に、入力の意図を不正復号器に知られることが無く、巧妙な不正復号器に対しても、確実に追跡を実行でき、しかも、復号器が保持すべき復号鍵データサイズの削減が可能となる。
以下、本発明の各実施形態について図面を参照しながら説明する。
(第1の実施形態)
図1は本発明の第1の実施形態に係るコンテンツ提供側システム及びユーザ側システム等が適用されたデータ通信システムの構成を示す模式図であり、図2及び図3は同実施形態におけるユーザ集合のサブグループを説明するための模式図であり、図4は同実施形態における追跡システムの構成を示す模式図である。
このデータ通信システムは、図1に示すように、暗号化装置10を有するコンテンツ提供側システム1と、復号装置20を有するn個のユーザ側システム2とがネットワーク3を介して接続されている。また、ネットワーク3には例えば追跡装置30が接続されている。
ここで、コンテンツ提供側システム1は、コンテンツを暗号化してネットワーク3を介してブロードキャストあるいはマルチキャストするものである。
n個のユーザ側システム2は、コンテンツ提供側システム1によりブロードキャストあるいはマルチキャストされた暗号化コンテンツをネットワーク3を介して受信し復号するものである。
なお、図1では、1つのコンテンツ提供側システム1のみ示しているが、コンテンツ提供側システム1が複数存在しても構わない。
また、1つのノードが、コンテンツ提供側システム1の機能とユーザ側システム2の機能とを兼ね備えてもよい。また、全てのノードがコンテンツ提供側システム1の機能とユーザ側システム2の機能とを兼ね備えることによって、相互に暗号通信可能としてもよい。
ネットワーク3は、有線ネットワークでも、無線ネットワークでもよい。また、有線ネットワークと無線ネットワークを両方使用したものであってもよい。また、双方向ネットワークでも、単方向ネットワークでもよい。また、ネットワーク3は、オフラインであってもよい。つまりDVD等の媒体を用いて実現されていても構わない。
次に、コンテンツ提供側システム1に搭載される暗号化装置10を説明する。
暗号化装置10は、公開鍵格納部11、無効化対象ユーザ情報格納部12、セッション鍵生成部13、コンテンツ暗号化部14及びヘッダ生成部15を備えている。
公開鍵格納部11は、公開鍵を格納するメモリであり、セッション鍵生成部13及びヘッダ生成部15から読出可能となっている。
無効化対象ユーザ情報格納部12は、無効化の対象とするユーザに関する情報(ユーザID等)を格納するメモリであり、ヘッダ生成部15から読出可能となっている。
セッション鍵生成部13は、公開鍵格納部11内の公開鍵をもとにセッション鍵を生成する機能をもっている。
コンテンツ暗号化部14は、提供すべきコンテンツを、セッション鍵生成部13により生成されたセッション鍵に基づいて暗号化し、暗号化コンテンツを得る機能をもっている。なお、暗号化コンテンツはセッション鍵に基づいて復号可能である。
ヘッダ生成部15は、公開鍵、セッション鍵(のもととなる情報)、(無効化対象ユーザがある場合の)情報無効化対象ユーザ情報や、その他の必要なパラメータ(後述する例では、パラメータp、q、k、T)等に基づいてヘッダ情報を生成する機能をもっている。
具体的には、ヘッダ生成部15は、暗号化セッション鍵及び3種類のヘッダ情報を生成する機能を有する。暗号化セッション鍵は、セッション鍵を公開鍵で暗号化することにより、生成される。
第1のヘッダ情報は、無効化対象ユーザに関するものであり、暗号化セッション鍵を含まないものである。
第2のヘッダ情報は、無効化対象ユーザ及び有効化対象ユーザに関する。第2のヘッダ情報は、セッション鍵を公開鍵で暗号化し、得られた暗号化セッション鍵を含み且つ暗号化セッション鍵の復号を許す各ユーザ側システムのうち少なくとも1つのユーザ側システムのユーザ識別情報に基づく値を含んでいる。なお、暗号化セッション鍵は復号鍵に基づいて復号可能である。
第3のヘッダ情報は、有効化対象ユーザに関するものであり、暗号化セッション鍵を含んでいる。なお、第3のヘッダ情報は、有効化対象ユーザのユーザ識別情報に基づく値を含まない。但し、第3のヘッダ情報は、有効化対象ユーザのユーザ識別情報に基づく値を含んでもよい。
なお、コンテンツ提供側システム1は、ヘッダ情報及び暗号化コンテンツの通信インタフェース、コンテンツを蓄積する装置、コンテンツを入力する装置あるいは復号鍵生成装置(図示せず)など、種々の装置を必要に応じて備えるものとする。また、コンテンツ提供側システム1は、複数のサブグループに各ヘッダ情報を送信するとき、データ量を低減させる観点から、各ヘッダ情報の共通部分を共有化して送信することが好ましい。但し、これに限らず、共通部分を共有化しなくてもよい。
ここで、復号鍵生成装置は、各ユーザ側システム固有の復号鍵を生成するものであり、複数のユーザ側システムを個別に識別するための複数のユーザ識別情報が属するグループを複数のサブグループに分割し、木構造化する機能と、サブグループ毎に互いに異なる鍵生成多項式と共通の鍵生成多項式を割り当てる機能と、ユーザ側システム毎のユーザ識別情報をこのユーザ識別情報が属するサブグループの鍵生成多項式に代入し、得られた値を当該ユーザ側システム固有の復号鍵とする機能とをもっている。
詳しくは、ユーザの復号鍵は鍵生成多項式にユーザID(一定の範囲内から選択された正整数(例えば、1からnまでの連番)とする)を代入して生成する。その際、図15に示すように全ユーザ集合Uを複数のサブグループに分割し、各サブグループを木構造のリーフに割り当てる。図15は、全リーフ数が8である完全二分木の例である。以下、全リーフ数をL、木の深さをD、各サブグループがどのリーフに割り当てられているかの情報や各ノードIDを含めた木構造をTと表す。
図15に示すように、木構造Tでは、各ノードにID(ここでは、「0」「1」「2」…「13」)が割り振られている。あるノードvを祖先に持つリーフに割り振られたユーザ集合をUvとする。なお、祖先の語は、ルートのノードに限らず、親ノード、又は親の親ノード、又は親の親の親ノード…を意味する。図15では、例えば、U8=U0+U1である。ここで、+は和集合を表す。図15において、全ユーザ集合UをサブグループU0、…7に分割する。
図2は、サブグループU1、2、3の一例である。図3に示すように、ユーザ集合を複数のサブグループに分割し、各サブグループへの鍵生成多項式の割り当て方を以下のようにする。
例えばサブグループU1に対しては、
1(x)、B(x)を割り当てる。
サブグループU2に対しては、
2(x)、B(x)を割り当てる。
サブグループU3に対しては、
3(x)、B(x)を割り当てる。
以下同様にして、サブグループUに対しては、Ai(x)、B(x)を割り当てる。
ここで、Ai(x)はサブグループU(言い換えるとノードi)に固有な鍵生成多項式(個別鍵生成多項式)であり、B(x)は各サブグループ(言い換えると各ノード)に共通の鍵生成多項式(共通鍵生成多項式)である。なお、上記割り当て方は一例であり、例えば、鍵生成多項式Ai(x)をサブグループ番号iに対応させずランダムかつユニークに割り当てる割り当て方も可能であるし、どのサブグループにも割り当てられない鍵生成多項式Aj(x)が存在してもよい。
このように、それぞれのサブグループに対し異なる鍵生成多項式とそれぞれのサブグループに対し共通の鍵生成多項式を割り当てる割り当て方とし、当該ユーザIDの属するサブグループに割り当てられた鍵生成多項式を用いて当該ユーザIDの復号鍵を生成するようにする。ここで、当該ユーザIDの属するサブグループ数は(ルートを除いて)Dであることに注意する。例えば、図15において、リーフ0に割り当てられたユーザは、サブグループU8、U12にも属しており、それぞれのサブグループに割り当てられる鍵生成多項式を用いて当該ユーザIDの復号鍵が生成される。
これにより、従来のブラックボックス追跡方法では、鍵生成多項式Ai(x)、Bi(x)の両方ともノードに対し異なる鍵生成多項式であったのに対して、後述するように、本発明では、一方の鍵生成多項式B(x)をノードに対し共通としても、巧妙な不正復号器に対するブラックボックス追跡が可能となる鍵生成多項式を導入することにより、復号器が保持すべき復号鍵データサイズを半分弱程度削減可能となる。
なお、ユーザ側システム2に割り当てられたユーザIDを、当該ユーザIDの属するサブグループに割り当てられた鍵生成多項式に代入して得られる復号鍵は、予めコンテンツ提供側システム1または信頼できる第三者からユーザ側システム2へ与えられて保持しておくものとする。
なお、図15、図2、及び図3に例示したグルーピングの方法は一例であり、この他にも種々のグルーピングの仕方が可能である。
また、上記では、ユーザIDやノードIDを一定の範囲内から選択された正整数(例えば、1からnまでの連番)としているが、その代わりに、ユーザIDは特に正整数とはせずに(例えば、英数字等でもよい)、英数字等のユーザIDに対して固有に一定の範囲内から選択された正整数を割り当て、ユーザIDに固有に割り当てられた正整数及び該当する鍵生成多項式をもとに復号鍵を計算する構成も可能である。ノードIDについても同様である。
次に、ユーザ側システム2に搭載される復号装置20を説明する。
復号装置20は、図1に示すように、ユーザ情報格納部21、セッション鍵復号部22及びコンテンツ復号部23を備えている。
ユーザ情報格納部21は、復号に必要なパラメータ(後述する例では、パラメータp、q、k)と、自システム2が属するサブグループIDと、自システム2に割り当てられたユーザIDと、該ユーザIDに対応する復号鍵とを格納するメモリであり、セッション鍵復号部22から読出可能となっている。なお、復号鍵は、該ユーザIDが属するサブグループに割り当てられた鍵生成多項式に該ユーザIDを代入することによって得られる値である。
セッション鍵復号部22は、コンテンツ提供側システム1から暗号化コンテンツとヘッダ情報とを受信したとき、ユーザ情報格納部21内の復号鍵に基づいて、ヘッダ情報からセッション鍵を取得(復号)する機能をもっている。
コンテンツ復号部23は、セッション鍵復号部22により取得(復号)したセッション鍵に基づいて、コンテンツ提供側システム1から受信した暗号化コンテンツを復号する機能をもっている。
なお、ユーザ側システム2は、コンテンツ提供側システム1から暗号化コンテンツとヘッダ情報とを受信する通信インタフェース、コンテンツを蓄積する装置あるいはコンテンツを表示等する装置など、種々の装置を必要に応じて備えるものとする。
次に、図4を用いて追跡装置30を説明する。
追跡装置30は、公開鍵格納部31、ヘッダ生成部32及び制御部33を備えている。
ここで、公開鍵格納部31は、公開鍵を格納するメモリであり、ヘッダ生成部32から読出可能となっている。
ヘッダ生成部32は、制御部33から指示された無効化対象ユーザ集合に従い、公開鍵やその他の必要なパラメータ(後述する例では、パラメータp、q、k、T等をもとにしてヘッダ情報を生成する機能と、ヘッダ情報を検査対象に入力する機能とをもっている。なお、セッション鍵(のもととなる情報)は、制御部33が生成してヘッダ生成部32に指示してもよいし、ヘッダ生成部32が生成して制御部33に通知してもよい。また、ヘッダ情報は、前述同様に、ユーザ側システム固有の復号鍵で復号可能に暗号化されたセッション鍵を含み且つ当該暗号化されたセッション鍵の復号を許可する各ユーザ側システムの各ユーザ識別情報に基づく値を含むように生成される。
制御部(特定手段)33は、追跡装置30全体の制御を司るものであり、ヘッダ生成部32の制御により、復号不能なユーザ側システムの数を変えて生成されたヘッダ情報と、当該ヘッダ情報を入力したときに取得した復号結果との関係に基づいて、前記検査対象のユーザ側システムの作出のもととなった1又は複数のユーザ側システムの不正ユーザを特定する機能をもっている。
詳しくは制御部33は、無効化すべき(1又は複数の)ユーザID(すなわち無効化対象ユーザ集合χ)をヘッダ生成部32に指示する機能と、検査対象復号装置20χにより復号されたセッション鍵を入力し、正しいセッション鍵が得られたか否かを調べる機能と、無効化対象ユーザ集合を変えながら、同様の処理を繰り返し行い、それらの判定結果を総合して、不正ユーザのユーザIDを特定する機能とをもっている。
なお、制御部33は、検査対象復号装置20χによるセッション鍵の復号結果(正しいセッション鍵が得られた否か)を判断しているが、これに限らず、ヘッダ情報に加え、セッション鍵で暗号化されたコンテンツを検査対象復号装置20χに入力し、検査対象復号装置20χによるコンテンツの復号結果(コンテンツが復号されたか否か)を判断してもよい。
また、追跡装置30は、例えば、コンテンツ提供側システム1に搭載されてもよいし、コンテンツ提供側システム1とは独立した装置であってもよい。また、ネットワーク3に接続する機能を備えてもよいし、備えなくても構わない。
次に、以上のように構成されたネットワーク通信システムの動作を説明する。図5は同システムの全体動作を説明するためのフローチャートである。
各ユーザ側システム2には、それぞれ固有のユーザIDが割り当てられているとする。
コンテンツ提供側システム1は、所定のセッション鍵(単一の鍵)sを生成し(ST1)、無効化対象のユーザ集合に応じてセッション鍵を暗号化し、ヘッダ情報H(χ)を生成する(ST2)。
次に、コンテンツ提供側システム1は、該セッション鍵sでコンテンツを暗号化し(ST3)、得られた暗号化コンテンツにヘッダ情報を付加してブロードキャストあるいはマルチキャストする(ST4)。
なお、ステップST2、ST3は、上記とは逆の順序で行ってもよいし、同時に行ってもよい。また、セッション鍵をその都度変更しない場合は、ST1が省かれることもある(従前のセッション鍵を使用する)。
各々のユーザ側システム2は、ヘッダ情報/暗号化コンテンツを受信すると、自己のユーザID及びサブグループIDに基づき、無効化対象のユーザ集合χとの関係に応じて、ヘッダ情報を復号処理する(ST5)。
ここで、各々のユーザ側システム2は、無効化対象のユーザ集合χに属していれば(ST6)、セッション鍵を取得できない(ST7)。逆に、無効化対象のユーザ集合χに属していなければ(ST6)、セッション鍵を取得し(ST8)、セッション鍵で暗号化コンテンツを復号する(ST9)。
また、詳しくは後述するように、コンテンツ提供側システム1は、無効化対象のユーザ集合χに応じてヘッダ情報を生成するので、復号鍵を柔軟に無効化できる。復号鍵の無効化は、無効化対象ユーザの復号鍵を用いてもセッション鍵が得られず、かつそれ以外のユーザの復号鍵で復号できる形式に、セッション鍵を暗号化することにより達成される。
なお、放送型コンテンツ配信では、送信データは単一のセッション鍵で暗号化されるのが一般的であり、鍵配送方法とは、セッション鍵を各ユーザの復号鍵で復号できる形式に暗号化するセッション鍵の暗号化・復号方法を意味する。
さて、以下では、予め実行される鍵生成フェーズ、ステップST2の暗号化フェーズ、ステップST5〜ST8の復号フェーズについて、詳細に説明する。
始めにパラメータを定義する。
全ユーザ数をnとし、最大結託人数をkとする。
p、qを素数とし、qはp−1を割り切り、かつ、qはn+2k−1以上であるとする。
Zq={0、1、…、q−1}とする。
Zp={1、…、p−1}とする。
Gqを、Zpの部分群であり、かつ、位数がqである乗法群とし、gをGqの生成元とする。
ユーザID(ユーザ番号)の集合(以下、ユーザ集合という)を、U(U⊆Zq−{0})とする。なお、Zq−{0}は、Zqから{0}を取り除いたものを意味する。
無効化対象ユーザ集合(復号鍵を無効化されるユーザの集合)をχとする。
p、q、gの値は公開されている。
以下、特に断りの無い限り、計算はZp上で行われるとする。
(鍵生成フェーズ)
本実施形態では、分割したサブグループをリーフ(leaf;葉)に割り当てた二分木構造を用いている。具体的には、二分木構造のルート(root;根)から複数のノード(node;節)を介して複数のリーフに至るまでの各ノードにそれぞれ鍵生成多項式を割り当てる。これにより、鍵生成多項式をマルチレベルに階層化した例である。なお、以下の例では、二分木構造を用いた例を説明しているが、これに限らず、分岐数はいくつでもよいし、1つの木構造の中で分岐数が異なるノードが存在してもよいし、また、ルートからリーフへ至るノード数(レベル数)が全てのリーフについて同じである必要はなく、異なるレベルに位置するリーフが存在してもよい。
ここでは、公開鍵及び各ユーザIDに対応するユーザ側システムの復号鍵の生成処理について説明する。なお、図16に示すフローチャートには、各ユーザIDに対応するユーザ側システムの復号鍵の生成処理を示している。
コンテンツ提供側システム1は、ユーザ集合Uを、共通要素を持たないL個以下の部分集合(サブグループ)に分割する(ST101)。簡単のため、分割サブグループ数をLとし、Lは2のべき乗で表される数とする。コンテンツ提供側システム1は、全リーフ数がL、木の深さがD=log2Lである完全二分木を生成し、L個のサブグループを異なるリーフに割り当てる(ST102)。以下、各サブグループがどのリーフに割り当てられているかの情報や各ノードIDを含めた木構造をTと表す。Tは公開されている。
一方、公開鍵のもととなるパラメータa0、…、a2k-1、b0、…、b2k-1をZqからランダムに選択する。また、Nに属する各要素iについて、ci、λiをZqからランダムに選択する。
次に、コンテンツ提供側システム1は、公開鍵eを計算する。公開鍵eは、式(1)のようになる。
Figure 0004630826
木構造Tにおいて、ルートを除いたノード及びリーフのIDの集合をNとする。簡単のため、全リーフ数がLである完全二分木におけるNをN={0、…、2L−3}とする。図15の例では、N={0、…13}である。
木構造Tのノード・リーフ(v)に、ルート・ノード・リーフでそれぞれ異なる個別鍵生成多項式Av(x)と、ルート・ノード・リーフで共通の共通鍵生成多項式B(x)を割り当てる(ST103)。なお、ルート・ノード・リーフで共通の共通鍵生成多項式B(x)は、あえて、各ルート・ノード・リーフへ割り当てなくてもよい。
さらに、各サブグループに、当該サブグループに割り当てられたリーフ及びその祖先ノードに割り当てられた個別鍵生成多項式を割り当てる(ST104)。
あるノードvを祖先に持つリーフに割り振られたユーザ集合をUvとする。図15では、例えば、U8=U0+U1である。ここで、+は和集合を表す。
最後にコンテンツ提供側システム1は、ノードvを祖先ノードにもつリーフに割り振られたユーザ集合(部分集合)Uvに属するユーザID=uの復号鍵を、鍵生成多項式Av(x)、B(x)にx=uを代入して算出する(ST105)。ここで、鍵生成多項式Av(x)、B(x)は、ユーザuの属する部分集合Uvに割り当てられ、式(2)のように表される。
Figure 0004630826
例えば、木構造上のあるノードiを祖先に持つリーフに割り振られたユーザ集合をUi、当該ノードiに割り当てられている個別鍵生成多項式をAi(x)とすると、当該ユーザ集合Uiの復号鍵生成多項式は、例えば
i(x)+λiB(x)=a0+cix+a22+…+a2k-12k-1
となる。また、木構造上のノードjとは異なるノードiを祖先に持つリーフに割り振られたユーザ集合をUj、当該ノードjに割り当てられている個別鍵生成多項式をAj(x)とすると、当該ユーザ集合Ujの復号鍵生成多項式は、例えば
j(x)+λjB(x)=a0+cjx+a22+…+a2k-12k-1
となる。
このように、ノードiを祖先にもつリーフに割り振られたユーザ集合Uiの復号鍵生成多項式、ノードjを祖先にもつリーフに割り振られたユーザ集合Ujの復号鍵生成多項式は、木構造上のルート・ノード・リーフに固有の1つまたは複数の係数(ここでは、例えば、ci、cj)を除き、同じ次数の係数は、i、jによらず一定である。
すなわち、ノードiに割り当てられている個別鍵生成多項式Ai(x)と、ルート・ノード・リーフに共通の共通鍵生成多項式B(x)との同じ次数の係数の線形和のうちの少なくとも1つは、木構造上のルート・ノード・リーフに固有の係数であり、それ以外は、[Ai(x)のm次係数]+[λiB(x)のm次係数]は、i、jによらず一定である。
ノードiを祖先にもつリーフに割り振られたユーザ集合Uiに属するユーザID=uの復号鍵は、上記復号鍵生成多項式Ai(x)+λiB(x)の「x」に「u」を代入することにより得られる。
ここで、上記の例では、最大結託人数をkと設定した場合、安全性の観点から鍵生成多項式の次数を2k−1以上にすることが望ましいため、次数を2k−1としているが、これに限らず、鍵生成多項式の次数として任意の値を設定することが可能である。また、ノードiに割り当てる鍵生成多項式Ai(x)とノードjに割り当てる鍵生成多項式Aj(x)の次数が異なっていても構わないし、鍵生成多項式Ai(x)とB(x)の次数が異なっていても構わない。これは、後述する他の実施形態でも同様である。
ユーザID=uのユーザの復号鍵をduとすると、duは式(3)で表される。
Figure 0004630826
図15において、例えば、ユーザuがリーフ0に割り当てられているとすると、duは式(4)で表される。
Figure 0004630826
なお、上記鍵生成フェーズにおける処理は、図12に示すように、コンテンツ提供側システム1以外の信頼できる第三者装置10bが行ってもよい。また、式(4)では、リーフ0のサブグループに、ルートのノード(ノードv=「14」)に割り当てられた個別鍵生成多項式を割り当てていないが、リーフ0のサブグループに、ルートに割り当てられた個別鍵生成多項式を割り当ててもよい。この場合、ユーザID=uのユーザの復号鍵を示す式(4)には、当該ルートの鍵生成多項式を用いた復号鍵(u,14,A14(u),B(u))が追加される。これらは以下の各実施形態でも同様である。
(暗号化フェーズ)
コンテンツ提供側システム1のセッション鍵生成部13は、セッション鍵sをGqからランダムに選択する。次に、ヘッダ生成部15は、整数j=0とし、v0に木構造Tにおけるルートの子ノードのいずれかのノードIDを代入し、以下の処理をjについて繰り返す。
jがリーフIDである場合、vjの兄弟リーフのIDをvj+1に代入して終了する。そうでない場合、vjの兄弟ノードの子ノードのいずれかを選択し、そのノードIDをvj+1に代入し、jを1だけインクリメントする。
上記処理終了後、2つのリーフIDを含めたlog2L+1個のノードIDが選択されている。なお、以下の説明において、log2Lをβと表記することもある。図15では、4つ(例えば、0、1、9、13)のノードIDが選択される。
次に、ヘッダ生成部15は、乱数r0、r1を選択し、0≦j≦log2L(=β)について、以下の処理を繰り返し、Hv0、…、Hvβを計算する(図6のST2−1〜ST2−8)。
ヘッダ生成部15は、無効化対象ユーザ集合χとUとの積集合が空集合であるか否かを判定する(ST2−2)。
ここで、χとUvjとの積集合が空集合である場合を述べる。これは、Uvjに属するユーザ全員が無効化対象ユーザではない場合であり、例えば、図2のUが対応する。ヘッダ生成部15は、次式(5)に従いHvjを計算する(ST2−3)。
Figure 0004630826
例えば、ステップST2−2、ステップST2−4、及びステップST2−6の判定のみ先に行ってもよい。ステップST2−4の結果がそれ以外となる場合(ST2−4;NO)が存在しないと判明している場合、rにr0、r1のどちらを代入してもよい。そうでない場合、rにr0を代入する。
ステップST2−2の結果、無効化対象ユーザ集合χとUvjとの積集合が空集合でない場合、ヘッダ生成部15は、χとUvjの積集合がUvjであるか否かを判定する(ST2−4)。
ここで、χとUvjの積集合がUvjである場合を述べる。これは、Uvjに属するユーザ全員が無効化対象ユーザである場合、例えば、図2のU1が対応する。ヘッダ生成部15は、rにr0、r1のどちらかを代入し、乱数zvjを選択する。ステップST2−5では、Uvj以外のユーザ集合に無効化対象ユーザが含まれていない場合、すなわち、当該Uvj以外のユーザ集合に、ステップST2−4の結果がそれ以外となる場合(ST2−4;NO)が存在しないと判明している場合、式(6)に従いHvjを計算する(ST2−5)。
Figure 0004630826
また、Uvj以外のユーザ集合に無効化対象ユーザが含まれている場合、すなわち、当該Uvj以外のユーザ集合に、ステップST2−4の結果がそれ以外となる場合(ST2−4;NO)が存在すると判明している場合、式(7)に従いHvjを計算する(ST2−5)。
Figure 0004630826
どちらでもない場合(ステップST2−4の結果がこの時点で不明な場合)、rにr0を代入し、式(6)に従いHvjを計算する(ST2−5)。
なお、式(6)、式(7)の例は、特定のサブグループUvjに属する全てのユーザ側システム2の復号鍵を無効にするとき、ヘッダ情報Hvjにおける特定のサブグループUvjに固有の値cvjを正しい値とは異なる値zvjに設定する例である。これに限らず、例えば、無効化するサブグループについては、ヘッダ情報Hvjにおける特定のサブグループUvjに固有の要素であり、セッション鍵を計算するもととなる情報hvj,yvjを削除(記述を禁止)してもよい。
このようにしても、無効化するサブグループについては、ヘッダ情報に、セッション鍵を計算するもととなる情報自体が含まれていないので、結局、正しいセッション鍵を求めることができず、他方、それ以外のサブグループについては、正しいセッション鍵を求めることができることになる。
一方、ステップST2−4の結果がそれ以外となる場合を述べる(ST2−4;NO)。これは、Uvjに属するユーザの少なくとも1人は無効化対象ユーザではなく、かつ少なくとも1人は無効化対象ユーザである場合、例えば、図2のU2に対応する。
ヘッダ生成部15は、図7(d=0)に示すように、Uvjから、無効化対象ユーザ集合χを取り除いた部分集合を{x1、…、xm}とする。例えば、図2のU2の場合に{x1、…、x10}={31、…、40}(m=10)などとなる。
次に、ヘッダ生成部15は、2k−m−1>0ならば、xm+1、…、x2k-1をZq−(U+{0})からランダムに選択する。なお、Zq−(U+{0})は、ZqからUと{0}の和集合を取り除いたものを意味する。
ヘッダ生成部15は、1≦t≦2k−1について、式(8)を満たすZqの要素L0、…、L2k-1を求める。
Figure 0004630826
次に、ヘッダ生成部15は、rにr1を代入し、式(9)に従いHvjを計算する(ST2−6)。
Figure 0004630826
ヘッダ生成部15は、特定のサブグループに属する全てのユーザ側システムのうち、1以上のユーザ側システム2の復号鍵を無効にするとき、当該無効にするユーザ側システム2のユーザIDを、Uvjに属するユーザ集合のうち無効化対象ユーザでないユーザの集合である部分集合{x〜xm}に含めないようにすればよい。
なお、部分集合に基づく値{L,…,L2k-1}は、当該部分集合に属する各ユーザID{x,…,xm}を2k−1次多項式の変数として第2ベクトルとする場合の当該第2ベクトルとの内積を「0」とする下記式の関係を満たす第1ベクトルである。
(L,L,L,…,L2k-1)・(1,x,x ,…,x 2k-1
=0 mod q
但し、x=x〜xmのいずれかである。
なお、上述の例では、m<2kを想定しているが、鍵生成多項式の次数を増やすことにより、m<(鍵生成多項式の次数+1)の範囲までのmの値を許容できる。
また、上述の例では、ステップST2−4の結果がそれ以外となる場合(ST2−4;NO)が2回以上発生した場合でもr=rとしているが、これに限らす、rに代入される乱数を3つ以上用意し、ステップST2−4の結果がそれ以外となる場合が発生する度に、rに異なる乱数を代入してもよい。これは、後述する他の実施形態においても同様である。
以上の繰り返し処理により得られたHv0、…、HvβをヘッダH(χ)とする(ST2−9)。ここで、ヘッダは公開鍵eを用いて計算できるので、誰でもコンテンツ提供側システム1を運営することができる。
また、以上の繰り返し処理により得られたHv0、…、Hvβを構成する各要素の中での同一要素を1つにまとめ、ヘッダH(χ)内にて共有化することにより、送信オーバヘッドをより削減することができる。これは以下の各実施形態でも同様である。
上述の例では、log2L+1個のノードを選択しているが、これに限らず、以下に説明する方法によりノードを選択してもよい。
以下、図14を用いて説明する。始めに、ヘッダ生成部15は、ノードvjとしてルートRを設定する(ST31)。ノードvjを祖先に持つ全ユーザについて、次の場合(1)〜(3)のいずれかに該当するか否かを判定する(ST32)。(1)全員無効化対象である場合。(2)全員有効化対象である場合。(3)有効化対象ユーザ数が1以上2k−1以下である場合。
ヘッダ生成部15は、判定結果に基づいて、ヘッダHvjを計算する(ST33)。それぞれの場合におけるヘッダHvjの計算は前述したものと同様である。
上記(1)〜(3)のいずれにも該当しない場合(ST32;No)、当該ノードvjの子ノードで、未検査の子ノードをノードvjとして設定し(ST34)、上記処理を繰り返す。なお、ノードvjとしてリーフを設定しても構わない。
全ての有効化対象ユーザ集合についてHvjを生成したか否かを判定し(ST35)、全ての有効化対象ユーザ集合についてHvjを生成した場合、生成された(複数の)HvjをヘッダH(x)とする(ST36)。そうでない場合(ST35;No)、未検査のノードで、ルートRに最も近い、つまり最上位のノードをノードvjとして設定し(ST37)、上記処理を繰り返す。なお、ノードvjとしてリーフを設定しても構わない。
上記の例では、ヘッダサイズをより削減するために、なるべく上位のノードを選択する方法を説明したが、ノードの選択方法はこれに限らず、例えば、以下のような選択方法も可能である。
図13において、U0に属するユーザ全員が無効化対象であり、U1に属するユーザの内k人が有効化対象であり、U2に属するユーザ全員が有効化対象であり、U3に属するユーザ全員が有効化対象である場合、図14のフローチャートに従うと,ノードjとノードvが選択され、H(x)=(Hj, Hv)となる。ここで、ノードjはリーフi(U0に対応)及びリーフw(U1に対応)の親ノードである。ノードvはU2に対応するリーフ及びU3に対応するリーフの親ノードである。但し、これに限らず、ステップST32の条件が満たされていれば、ノードをどう選択しても良い。例えば、リーフiとリーフwとノードvを選択しても良い。このときH(x)=(Hi, Hw, Hv)となる。このように、ノードの選択方法として種々の方法を用いることができることは後述する他の実施形態においても同様である。
(復号フェーズ)
部分集合Uvjに属するユーザuを考える。ユーザID=uのユーザ側システム2は、図8に示すように、ヘッダH(χ)を受信した場合(ST5−1)、Hvjを用いて式(10)を計算する。
Figure 0004630826
ここで、ヘッダ情報からセッション鍵を復号した結果について簡単に説明する。
ユーザ側システム2のセッション鍵復号部22における復号結果は、無効化対象ユーザ集合χとUvjの積集合が空集合であるか(ST5−2)、無効化対象ユーザ集合χと
Uvjの積集合がUvjであるか(ST5−4)、またはそれ以外(ST6)の場合によって場合分けされる。なお、ユーザ側システム2のセッション鍵復号部22がこれを判定することはなく、どの場合においても復号手順は共通であり、Hvjを用いて式(10)を計算する。
ここで、χとUvjの積集合が空集合である場合(ST5−2;YES)を述べる。これは、Uvjに属するユーザ全員が無効化対象ユーザではない場合であり、例えば、図2のUが対応する。セッション鍵復号部22は、式(10)のように計算し(ST5−3)、セッション鍵sを得る(ST8)。
ここで、無効化対象ユーザ集合χとUvjの積集合がUvjである場合(ST5−4;YES)を述べる。これは、Uvjに属するユーザ全員が無効化対象ユーザである場合であり、例えば、図2のU1が対応する。この場合、ヘッダ情報Hvjにおける特定のサブグループUvjに固有の要素であり、セッション鍵を計算するもととなる情報hvj,yvjが間違った値になっているので(ST5−5)、正しいセッション鍵を取得することができない(ST7)。
ここで、それ以外の場合を述べる(ST5−4;NO)。これは、Uvjに属するユーザの少なくとも1人は無効化対象ユーザではなく、かつ少なくとも1人は無効化対象ユーザである場合であり、例えば、図2のU2が対応する。
セッション鍵sは式(11)のように表される。
Figure 0004630826
ユーザuが無効化対象ユーザである場合(ST6;YES)、式(12)が不成立であるので、セッション鍵sを得られない(ST7)。
Figure 0004630826
(追跡フェーズ)
次に、追跡アルゴリズムの手順例を示すが、その前に追跡装置30とその追跡対象となる不正ユーザについて概略を述べる。追跡装置30は、海賊版復号器(不正復号器)が押収された場合に、ブラックボックス追跡により、該海賊版復号器の不正作出のもととなった不正ユーザ(のユーザID)を特定するためのものである。
正当な復号装置をもとにして海賊版復号器が作出される場合、1台の復号装置のみをもとにして作出される場合と、複数台の復号装置をもとにして作出される場合とがある。後者の場合の復号装置の不正ユーザを結託者と呼ぶ。
1台の復号装置のみをもとにして作出された海賊版復号器は、当該復号装置と同じ復号鍵が使用可能になる。複数台の復号装置をもとにして作出された海賊版復号器は、当該複数の復号装置と同じ復号鍵がいずれも使用可能になる。後者の場合、結託者に対する全ての復号鍵が無効化されない限り、セッション鍵を得ることが可能になる。
この追跡装置30は、複数の不正ユーザが結託した場合に対しても、従来のnCk通りの検査と比べ、迅速に検査を実行でき、1以上の不正ユーザを特定するものである。
(手順例)
具体的な追跡アルゴリズムの手順については様々なバリエーションが可能であり、以下に示すものに限定されるものではない。図9は追跡装置による追跡フェーズの動作を説明するためのフローチャートである。
海賊版復号器Dが押収されたとき、以下の処理により不正ユーザを特定する。
なお、木構造Tにおいて、各リーフには2k人のユーザが属しているとし、各リーフIDを、一番左のリーフから1、…、tとし、部分集合U1、…、Utの要素は、式(13)のようにラベル付けされているとする。
Figure 0004630826
追跡装置30は、j=1、…、n(n:ユーザ総数、j:ユーザ番号)について以下の処理を実行する(ST11〜ST21)。制御部33は、正常な復号回数Cj=0、同一の無効化対象ユーザ集合χの検査回数z=1と代入し、以下の処理をm回繰り返す(ST12)。
制御部33は、無効化対象ユーザ集合χ={u1、…、uj}とし(ST13)、ヘッダ生成部32を制御し、ヘッダH(χ)を生成させる(ST14)。なお、ヘッダ生成方法は暗号化フェーズに示した方法と同様であり、乱数は毎回ランダムに選択される。ただし、ノードの選択に際して、以下の条件(1)、(2)をともに満たすlog2L+1個のノードvjを選択する。(1)Uvjからχを除いた集合の要素数が「1」以上「2k」未満である、又は、Uvjとχの積集合が空集合である、又は、Uvjとχの積集合がUvjである。(2)Uvjからχを除いた集合の要素数が「1」以上「2k」未満であるノードは高々1個である。
ヘッダ生成部32がヘッダH(χ)を不正復号器Dに入力すると(ST15)、制御部33は、不正復号器Dの出力を観察する。
このとき、制御部33は、不正復号器Dが正しいセッション鍵sを出力したか否かを判定し(ST16)、正しいセッション鍵sを出力した場合(ST16;YES)、Cjを「1」だけインクリメントする(ST17)。そうでない場合(ST16;NO)、Cj の値を変化させない。
なお、不正復号器Dが復号後のコンテンツのみを出力する場合、コンテンツが正しく復号されているか否かを観測し、コンテンツが正しく復号されていればCjを「1」だけインクリメントし、そうでなければCjの値は変化しないようにすればよい。
いずれにしても、制御部33は、Cjの更新が終わると、検査回数zがm回未満か否かを判定し(ST18)、m回未満であればzを「1」だけインクリメントし(ST19)、ステップST14に戻って検査を繰り返す。
また、制御部33は、ステップST18の判定の結果、検査回数zがmに等しくなると、無効化対象のユーザ番号jがユーザ総数n未満か否かを判定し(ST20)、n未満であればjを「1」だけインクリメントし(ST21)、ステップST12に戻って検査を繰り返す。
ステップST20の判定の結果、無効化対象のユーザ番号jがユーザ総数nに一致すると検査が終了する。
次に、制御部33は、j=1、…、nについて、得られたCj-1−Cjを計算し、Cj-1−Cjが最大値となる整数jを検出すると(ST22)、ujを不正ユーザと特定してそのユーザIDを出力する(ST23)。
この追跡方法では、図10及び図11に示すように、無効化対象ユーザ集合に属する不正ユーザの候補を一人ずつ増やし、不正ユーザの候補を無効化したときに復号不能となるかを検査しており、この検査を合計mn回行うことにより、1人以上の不正ユーザを特定することができる。
例えば、ユーザIDの集合を{u1、…、un}とし、検査対象復号装置20χの結託者のユーザID=u2、u4であるとする。
この場合、ユーザID=u1、u2、u3を無効化対象として生成したヘッダ情報を与えると、該検査対象復号装置20χはユーザID=u4に対応しているので、正しいセッション鍵が得られるので、m回の繰り返し処理後C3=mとなる。
また、ユーザID=u1、u2、u3、u4を無効化対象として生成したヘッダ情報を与えると、該検査対象復号装置からは、正しいセッション鍵が得られないので、m回の繰り返し処理後C4=0となる。
したがって、C3−4が最大値mを与えるため、該検査対象復号装置20χの結託者のうちの1人のユーザIDは、u4であることがわかる。さらに、ユーザのラベル付けの順序を変えることにより、結託者全員のユーザIDを特定することも可能である。
より一般的には、Cj-1−Cj≧m/nとなる整数jが少なくとも1つは存在し、ユーザID=uiのユーザが不正ユーザでないときCi-1−Ci<<m/nであることから、Cj-1−Cjが最大値となる整数jを検出することにより不正ユーザIDを特定できる。
なお、検査対象復号装置がより巧妙な不正復号器であるとき、検査対象復号装置がブラックボックス追跡を検知して、ある時点以降、ヘッダ生成部32からの入力を全く受け付けなくなる場合が考えられる。この場合、その時点のjの値を用いて不正ユーザIDをujと特定できる。これは以下の各実施形態でも同様である。
ここで、ヘッダは公開鍵eを用いて計算できるので、誰でも追跡装置30を用いて不正ユーザを追跡することができる。
上述したように本実施形態によれば、ヘッダ情報が、ユーザ側システムのユーザ識別情報を含まないので、ブラックボックス追跡の際に、誰の復号鍵が無効化されているかという情報が漏れない。これにより、ブラックボックス追跡の際に、各入力の意図が不正復号器に知られることがないため、入力の意図を読み取って不正ユーザの特定を阻止しようと動作する巧妙な不正復号器に対しても、確実に追跡を実行することができる。
また、従来のブラックボックス追跡方法では、鍵生成多項式Ai(x)、Bi(x)の両方ともノードに対し異なる鍵生成多項式であったのに対して、本実施形態では、一方の鍵生成多項式B(x)を全ノードに対し共通としているため、送信オーバヘッドを同程度に保ちつつ、復号器が保持すべき復号鍵データサイズを半分弱程度削減可能となる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。本実施形態は、第1の実施形態の暗号化フェーズにおいて、図6のステップST2−4において、χとUvjの積集合がUvjでない場合(ST2−4;NO)、鍵生成多項式の次数を増やすことなく、m<2kとなる制限をなくす方法について説明する。第1の実施形態との違いは、ステップST2−4においてχとUvjの積集合がUvjでない場合の暗号化方法とその復号方法のみであるため、それらのみを説明する。
qを素数とし、qはp−1を割り切り、かつ、qはn+2k以上であるとする。
(暗号化フェーズ)
ステップST2−4において、χとUvjの積集合がUvjでない場合(ST2−4;NO)について述べる。
ヘッダ生成部15は、図7に示すように、Uvjから、無効化対象ユーザ集合χを取り除いた部分集合を{x1、…、xm}とする。ここで、mは、前述同様、Uvjに属するユーザ集合のうち、無効化対象でないユーザ(有効ユーザ)の総数である。
次に、ヘッダ生成部15は、2dk≦m≦2dk+2k−1を満たす整数dを探し、2dk+2k−m−1>0ならば、xm+1、…、x2dk+2k-1をZq−(U+{0})からランダムに選択する。なお、Zq−(U+{0})は、ZqからUと{0}の和集合を取り除いたものを意味する。
ヘッダ生成部15は、1≦t≦2dk+2k−1について、式(14)を満たすZqの要素L0、…、L2dk+2k-1を求める。
Figure 0004630826
次に、ヘッダ生成部15は、rにr1を代入し、式(15)に従いHvjを計算する(S
T2−6)。
Figure 0004630826
なお、前述の通り、rに代入される乱数を3つ以上用意し、ステップST2−4の結果がそれ以外となる場合が発生する度に、rに異なる乱数を代入することも可能である。
(復号フェーズ)
部分集合Uvjに属するユーザuを考える。図8のST5−6の場合、Hvjを用いて式(16)を計算する。
Figure 0004630826
ユーザuが無効化対象ユーザである場合(ST6;YES)、式(17)が不成立であるので、セッション鍵sを得られない(ST7)。
Figure 0004630826
上述したように第2の実施形態によれば、m<2kとなる制限をなくす構成により、す
なわち、あるサブグループUvjに、無効化対象ユーザと、無効化対象でない有効ユーザと
が共存する場合に、有効ユーザの数を第1の実施形態の場合と比較すると、2dkだけ増
やすことができる(式(14)のxtの次数が式(8)の「2k−1」から「2dk+2
k−1」に増え、その結果、式(15)に示すようにヘッダ情報Hvjの要素の数が、式(
9)の「2k+2」から「2dk+2k+2」に増えている)。
第1の実施形態の効果に加え、ステップST2−4の結果がそれ以外となる場合(ST2−4;NO)において、有効化対象ユーザ数が第1の実施形態の説明において述べた制限を超えた場合にも対応できる。また、m<2kとなる制限をなくす構成としても、第1の実施形態と同様の効果を得ることができる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。本実施形態は、第1の実施形態と特許文献2(特開2003―289296)において開示されている復号鍵無効化方法を組み合わせた例である。
すなわち、例えば、図17(a)(なお、図17(a)(b)(c)において、下線が無効化対象ユーザを示す)に示すように、ユーザID=1、2、3のみを無効化する場合には、ある4つのデータ(後述するシェア)が揃って初めて、セッション鍵を復号できるようにする(説明を簡単にするため、無効化対象ユーザ数と最大結託人数が等しいとすると、無効化対象ユーザ数+1のシェアが揃って初めて、セッション鍵を復号できるようにする)。
ヘッダ情報には、ユーザID=1について求まるシェア(1,gF(1))、ユーザID=2について求まるシェア(2,gF(2))、ユーザID=3について求まるシェア(3,gF(3))を記述するとともに、当該ユーザID=xについてシェア(xi,gF(xi))を求めるもととなる情報を記述する。
ユーザID=1,2,3以外のユーザIDについては、当該ユーザID=xiに対応するシェア(xi,gF(xi))を求めることによって、必要な4つのシェアが揃うので、正しいセッション鍵を取得することができる。
これに対して、無効化対象ユーザID=1については、当該ユーザID=1に対応するシェア(1,gF(1))を求めても、ヘッダ情報内に記述されているシェアと重複するので、必要な4つのデータが揃わないことになり、正しいセッション鍵を取得することができない。ユーザID=2,3についても同様である。
次に、図17(b)のように無効化対象ユーザID=1〜20が全て同一サブグループU1に属する場合には、全無効化対象ユーザ数分のシェアを使用するのではなく、前述の第1の実施形態と同様にして、当該1つのサブグループU1全体を無効化する。すなわち、例えば、1つのサブグループU1全体を無効化する場合には、当該サブグループU1についてのみ、正しいセッション鍵が得られないように、(当該サブグループU1に対応する)セッション鍵を計算するもととなる情報に、間違った値(乱数等)を記述しておく。
サブグループU1に属するユーザIDについては、セッション鍵を計算するもととなる情報が間違った値になっているので、正しいセッション鍵を取得することができない。
また、図17(c)のようにユーザID=1〜20すなわち1つのサブグループU1全体を無効化するとともに、ユーザID=21,22,23を無効化する場合には、図5(a)の方法と、図17(b)の方法を組み合わせて実施する。
この例の場合、ヘッダ情報には、ユーザID=21について求まるシェア(21,gF(21))、ユーザID=22について求まるシェア(22,gF(22))、ユーザID=23について求まるシェア(23,gF(23))を記述する。また、無効化するサブグループUについてのみ、正しいシェアが得られないように、(当該サブグループUに対応する)シェアを計算するもととなる情報に、間違った値(乱数等)を記述しておく。それ以外のサブグループにいては、正しいシェアが得られるように、(当該サブグループに対応する)シェアを計算するもととなる情報に、正しい値を記述しておく。
サブグループU1に属するユーザID以外で且つユーザID=21,22,23以外のユーザIDについては、正しいシェアを求めることができ、これによって必要な4つのデータが揃うので、正しいセッション鍵を取得することができる。
ユーザID=21,22,23については、正しいシェアを求めることができても、必要な4つのシェアが揃わないので、正しいセッション鍵を取得することができない。
サブグループU1に属するユーザIDについては、正しいシェアを計算するもととなる情報が間違った値になっているので、正しい4つのシェアが揃わないことになり、結局、正しいセッション鍵を取得することができない。
以下、鍵生成フェーズ、暗号化フェーズ、復号フェーズ、追跡フェーズの順に説明する。なお、パラメータなどの定義は、特に断りの無い限り、第1の実施形態と同じものを用いる。
(鍵生成フェーズ)
qを素数とし、qはp−1を割り切り、かつ、qはn+4k−1以上であるとする以外は、第1の実施形態と同じである。
(暗号化フェーズ)
暗号化フェーズにおける無効化対象ユーザ集合をEとする。すなわち、Eは、コンテンツ提供システムで配信用のヘッダ情報を生成する際に無効化とするユーザの集合である。
コンテンツ提供側システム1のセッション鍵生成部13は、セッション鍵のもととなる情報sをZqからランダムに選択し、セッション鍵gsを計算する。次に、ヘッダ生成部15は、以下の処理により、木構造Tにおけるノードを選択する。
UvjがEに等しい、または含まれるノードvjが存在する場合、そのようなノードのうち、選択された各Uvjは、互いに共通要素を持たず、かつ、それらの和集合が式(18)と等しくなるようにノードを選択する。
Figure 0004630826
次に、Uv、UvjがともにEに等しくない、かつ含まれない兄弟リーフが存在する場合、そのような兄弟リーフを一組選択する。最後に、以下の条件を満たすその他のノードを選択する。条件は、選択された全てのノードvjについてUvjは互いに共通要素を持たず、かつ選択された全てのノードvjについてUvjの和集合が全ユーザ集合Uに等しいことである。
上記処理終了後、選択されたノードの数をJとする。
ヘッダ生成部15は、UvjがEに等しい、又は含まれる全てのUvjの和集合を、無効化対象ユーザ集合Eから取り除いた部分集合(式(19)で表される)を{x1、…、x}とする。
Figure 0004630826
例えば、図17(b)において、UvjがEに等しい、又は含まれる全てのUvjの和集合はUであるから、無効化対象ユーザ集合EからU取り除いた部分集合は、{21,22,23}となる。
このように、wは、個別にセッション鍵を復号不能とするユーザの数を示す。
次に、ヘッダ生成部15は、2k(z−1)+1≦w≦2kzを満たす整数zを探し、ヘッダ情報中のシェアの数mを、m=2k(z+1)−1と設定する。なお、kは、前述同様、最大結託人数を示す。
上記部分集合が空集合である場合、すなわち、個別にセッション鍵を復号不能とするユーザが存在しない場合、m=2k−1、w=0と設定する。
個別にセッション鍵を復号不能とするユーザの数wが、上記mよりも少ない(w<m)ならば、不足分の(m−w)個のシェアを得るために、xw+1、…、xをZq−(U+{0})からランダムに選択する。なお、Zq−(U+{0})は、ZqからUと{0}の和集合を取り除いたものを意味する。
ヘッダ生成部15は、式(20)を満たす多項式F(x)をランダムに生成する。
Figure 0004630826
次に、ヘッダ生成部15は、乱数r0、r1を選択する。ヘッダ生成部15は、選択され
たJ個のノードをv0、…、vJ−1として、0≦j≦J−1について、式(21)により
、Hv0、…、HvJ−1を計算する。
Figure 0004630826
なお、式(21)のうち、セッション鍵を計算するもととなる情報hvj,iの計算式において、式(21a)は、ノードvjに属するユーザ集合に、個別にセッション鍵を復号不能とするユーザが存在する場合であり、式(21b)は、ノードvjに属するユーザ全員が無効化対象でない場合であり、当該ノードvjに固有の値cvjが含まれている。また、式(21c)は、ノードvjに属するユーザ全員が無効化対象である場合であり、当該ノードvjに固有の正しい値cvjに代えて、これとは異なる乱数γvjが含まれている。
以上の繰り返し処理により得られたHv0、…、HvJ−1をヘッダとする。ここで、ヘッダは公開鍵eを用いて計算できるので、誰でもコンテンツ提供側システム1を運営することができる。また、第一の実施形態と同様に、以上の繰り返し処理により得られたHv0、…、HvJ−1を構成する各要素の中での同一要素を1つにまとめ、ヘッダ内にて共有化することにより、送信オーバヘッドをより削減することができる。さらに、上述したノード選択方法以外にも、種々の方法を用いることができる。
(復号フェーズ)
部分集合Uvjに属するユーザx0を考える。ユーザID=x0のユーザ側システム2は、ヘッダを受信した場合、Hvjを用いて式(22)を計算する。
Figure 0004630826
Figure 0004630826
(追跡フェーズ)
追跡アルゴリズムの手順例は、第1の実施形態と同様であり、追跡装置による追跡フェーズの動作は、以下に述べる違いを除き、図9に示されているものと同様である。ここで、ヘッダは公開鍵eを用いて計算できるので、誰でも追跡装置30を用いて不正ユーザを追跡することができる。
制御部33は、図9のステップST13において、ujがE(コンテンツ提供システムの上記暗号化フェーズで実際に無効化対象とすべきユーザの集合)に含まれている場合、CjにCj−1を代入し、jを1だけインクリメントする。χ={u1、…、j}とする検査はスキップしてよい。ステップST14において、セッション鍵はgF(x0)=gであり、ヘッダの作成方法は以下に示す通りである。
ヘッダ生成部32は、ノードの選択に際して、以下の条件(1)、(2)をともに満たすノードvjを選択する。(1)Uvjからχを除いた集合の要素数が「1」以上「2k−1」以下である、又は、Uvjとχの積集合が空集合である、又は、Uvjとχの積集合がUvjである。(2)Uvjからχを除いた集合の要素数が「1」以上「2k−1」以下であるノードは、多くとも1個である。ヘッダ生成部32は、選択した各ノードについて、式(24)によりHvを計算する。
Figure 0004630826
残りの要素hvj,iについては、以下のように計算される。
Uvjとχの積集合が空集合である場合、式(25)により計算する。
Figure 0004630826
なお、(1)Uvjからχを除いた集合の要素数が「1」以上「2k−1」以下である、又は、(2)Uvjとχの積集合がUvjであり、かつ、Uvjと、UvjがEに等しい、又は含まれる全てのUvjの和集合を、無効化対象ユーザ集合Eから取り除いた部分集合との積集合が空集合である場合、rにr0を代入する。そうでない場合、rにr0又はrをランダムに代入する。
Uvjからχを除いた集合の要素数が「1」以上「2k−1」以下である場合、Uvjからχを除いた集合と、UvjがEに等しい、又は含まれる全てのUvjの和集合を、無効化対象ユーザ集合Eから取り除いた部分集合との和集合を{x1、…、x}とする。w<mならば、xw+1、…、をZq−(U+{0})からランダムに選択する。なお、Zq−(U+{0})は、ZqからUと{0}の和集合を取り除いたものを意味する。1≦t≦mについて、式(26)を満たすZqの要素L0、…、Lを求める。
Figure 0004630826
次に、rにr1を代入し、式(27)によりhvj,iを計算する。
Figure 0004630826
Uvjとχの積集合がUvjである場合、まず、Uvjと、UvjがEに等しい、又は含まれる全てのUvjの和集合を、無効化対象ユーザ集合Eから取り除いた部分集合との積集合を計算する。
Uvjと、UvjがEに等しい、又は含まれる全てのUvjとの和集合を、無効化対象ユーザ集合Eから取り除いた部分集合との積集合が空集合でない場合、rにr1を代入し、選択されたノードの内、Uvからχを除いた集合の要素数が「1」以上「2k−1」以下であるノードvが存在するか否かを判定する。
選択されたノードの内、Uvからχを除いた集合の要素数が「1」以上「2k−1」以下であるノードvが存在する場合、式(28)によりhvj,iを計算する。
Figure 0004630826
選択されたノードの内、Uvからχを除いた集合の要素数が「1」以上「2k−1」以下であるノードvが存在しない場合、UvjがEに等しい、又は含まれる全てのUvjの和集合を、無効化対象ユーザ集合Eから取り除いた部分集合を{x1、…、x}とする。w<mならば、xw+1、…、をZq−(U+{0})からランダムに選択する。なお、Zq−(U+{0})は、ZqからUと{0}の和集合を取り除いたものを意味する。1≦t≦mについて、式(26)を満たすZqの要素L0、…、Lを求める。
次に、式(29)によりhvj,iを計算する。
Figure 0004630826
なお、L0、…、Lが既に生成されている場合は、既に生成されたL0、…、Lを用い、新たに生成し直すことはしない。
Uvjと、UvjがEに等しい、又は含まれる全てのUvjの和集合を、無効化対象ユーザ集合Eから取り除いた部分集合との積集合が空集合である場合、rにr0又はrをランダムに代入し、選択されたノードの内、(1)Uviからχを除いた集合の要素数が「1」以上「2k−1」以下である、又は、(2)Uviとχの積集合がUviであり、かつ、Uviと、UvjがEに等しい、又は含まれる全てのUvjの和集合を、無効化対象ユーザ集合Eから取り除いた部分集合との積集合が空集合であるノードvが存在するか否かを判定する。
選択されたノードの内、(1)Uviからχを除いた集合の要素数が「1」以上「2k−1」以下である、又は、(2)Uviとχの積集合がUviであり、かつ、Uviと、UvjがEに等しい、又は含まれる全てのUvjの和集合を、無効化対象ユーザ集合Eから取り除いた部分集合との積集合が空集合であるノードvが存在する場合、式(30)によりhvj,iを計算する。
Figure 0004630826
選択されたノードの内、(1)Uviからχを除いた集合の要素数が「1」以上「2k−1」以下である、又は、(2)Uviとχの積集合がUviであり、かつ、Uviと、UvjがEに等しい、又は含まれる全てのUvjの和集合を、無効化対象ユーザ集合Eから取り除いた部分集合との積集合が空集合であるノードvが存在しない場合、式(31)によりhvj,iを計算する。
Figure 0004630826
選択されたノードの数をv0、…、vJ−1とすると、以上の繰り返し処理により得られたHv0、…、HvJ−1をヘッダとする。
上述したように第3の実施形態によれば、第1の実施形態と特許文献2において開示された復号鍵無効化方法を組み合わせた構成により、第1の実施形態の効果に加え、ステップST2−4の結果がそれ以外となる場合(ST2−4;NO)において、有効化対象ユーザ数が第1の実施形態の説明において述べた制限を超えた場合に対応でき、さらに、有効化対象ユーザ数が第1の実施形態の説明において述べた制限を大きく超えた場合の送信オーバヘッドの増加を第2の実施形態に比べてより抑えることができる。また、第1の実施形態と特許文献2において開示された復号鍵無効化方法を組み合わせた構成としても、第1の実施形態と同様の効果を得ることができる。
なお、上記全ての実施形態では、主に「システム」のカテゴリーで表現したが、これに限らず、「装置」、「方法」、「コンピュータ読取り可能な記憶媒体」又は「プログラム」等といった任意のカテゴリーで表現してもよいことは言うまでもない。また、システム全体のカテゴリーを変える場合に限らず、システムの一部を抽出して他のカテゴリーで表現してもよいことも言うまでもない。
また、上記全ての実施形態の暗号化装置、復号装置、追跡装置は、いずれも、半導体集積装置などのハードウェアとしても、ソフトウェア((コンピュータに所定の手段を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラム)としても、実現可能である。もちろん、ハードウェアとソフトウェアとを併用して実現することも可能である。
また、プログラムとして実現する場合、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行してもよい。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であってもよい。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。例えば本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
本発明の第1の実施形態に係るコンテンツ提供側システム及びユーザ側システム等が適用されたデータ通信システムの構成を示す模式図である。 ユーザ集合のサブグループを説明するための模式図である。 ユーザ集合のサブグループを説明するための模式図である。 追跡システムの構成を示す模式図である。 データ通信システムの全体の動作を説明するためのフローチャートである。 暗号化フェーズの動作を説明するためのフローチャートである。 ヘッダ生成部の処理を説明するための模式図である。 復号フェーズの動作を説明するためのフローチャートである。 追跡フェーズの動作を説明するためのフローチャートである。 検査の概要を説明するための模式図である。 検査の結果を説明するための模式図である。 データ通信システムの変形例を示す模式図である。 木構造上のルート・ノード・リーフへの、個別鍵生成多項式及び共有鍵生成多項式を割り当てを説明するための図。 暗号化フェーズの他の動作を説明するためのフローチャート。 木構造を説明するための図。 復号鍵生成処理動作を説明するためのフローチャート。 無効化対象ユーザについて説明するための図。
符号の説明
1…コンテンツ提供側システム、2…ユーザ側システム、3…ネットワーク、10…暗号化装置、11,31…公開鍵格納部、12…無効化対象ユーザ情報格納部、13…セッション鍵生成部、14…コンテンツ暗号化部、15,32…ヘッダ生成部、20…復号装置、21…ユーザ情報格納部、22…セッション鍵復号部、23…コンテンツ復号部、30…追跡装置、33…制御部。

Claims (31)

  1. コンテンツ提供側システムから複数のユーザ側システムへ、所定のセッション鍵で暗号化することにより得られる暗号化コンテンツと、ユーザ側システムに割り当てられたユーザ側システム固有の復号鍵を用いて前記セッション鍵を復号することを可能にするヘッダ情報とを送信し、前記暗号化コンテンツ及び前記ヘッダ情報を受信したユーザ側システムは、当該ユーザ側システムに割り当てられた復号鍵及び当該ヘッダ情報を用いて前記セッション鍵を復号し、当該セッション鍵を用いて当該暗号化コンテンツを復号するデータ通信システムにおける前記復号鍵の生成方法であって、
    複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを、複数のサブグループに分割する分割ステップと、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造上の異なる複数のリーフに前記複数のサブグループをそれぞれ割り当てる第1の割当ステップと、
    前記木構造上の前記ルート、前記複数のノード、及び前記複数のリーフの全部または一部のそれぞれに対し、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てる第2の割当ステップと、
    各サブグループに対し、当該サブグループに割り当てられたリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つを割り当てる第3の割当ステップと、
    各サブグループ中の各ユーザ識別情報を、当該サブグループに割り当てられた前記個別鍵生成多項式と、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式に代入することによって得られた値を当該ユーザ識別情報に対応するユーザ側システム固有の復号鍵とする復号鍵生成ステップと、
    を含み、
    前記サブグループに割り当てられた前記個別鍵生成多項式と前記共通鍵生成多項式の同じ次数の係数の線形和のうちの少なくとも1つは、前記木構造上の前記ルート、前記複数のノード、及び前記複数のリーフ毎にそれぞれ異なり、それ以外の前記同じ次数の係数の線形和は一定であることを特徴とする復号鍵生成方法。
  2. 前記第2の割当ステップで、前記木構造上の前記ルート、前記複数のノード、及び前記複数のリーフのうちの1つ(v)に割り当てる前記個別鍵生成多項式A(x)及び前記共有鍵生成多項式B(x)は、
    Figure 0004630826
    (λv:前記ルート、前記複数のノード及び前記複数のリーフ毎に固有の定数値、k、k:任意の正の整数値、q:予め定められた正の整数値)
    であり、且つ前記個別鍵生成多項式A(x)の係数av、i(i=0,1,…,k)のうちの少なくとも1つの係数av、n(0≦n≦kaの整数)は、前記ルート、前記複数のノード及び前記複数のリーフ毎に固有の定数値であることを特徴とする請求項1記載の復号鍵生成方法。
  3. 前記個別鍵生成多項式A(x)の次数k及び前記共有鍵生成多項式B(x)の次数kは、最大結託人数kに関し、(2k−1)次以上であることを特徴とする請求項2記載の復号鍵生成方法。
  4. 前記第2の割当ステップで前記木構造上の前記ルート、前記複数のノード、及び前記複数のリーフの全部または一部のそれぞれに割り当てる複数の前記個別鍵生成多項式のうち、少なくとも1つの個別鍵生成多項式の次数は、他の個別鍵生成多項式の次数とは異なることを特徴とする請求項2記載の復号鍵生成方法。
  5. 前記第2の割当ステップで、前記木構造上の前記ルート、前記複数のノード、及び前記複数のリーフのうちの1つ(v)に割り当てる前記個別鍵生成多項式A(x)及び前記共有鍵生成多項式B(x)は、
    Figure 0004630826
    (λ及びcv、:前記ルート、前記複数のノード及び前記複数のリーフ毎に固有の定数値、k:予め定められた正の整数値、q:予め定められた正の整数値)
    であることを特徴とする請求項1記載の復号鍵生成方法。
  6. 複数のユーザ側システムへ、暗号化コンテンツと、当該暗号化コンテンツを復号するためのヘッダ情報とを提供するコンテンツ提供側システムであって、
    提供すべきコンテンツをセッション鍵で復号可能に暗号化し、前記暗号化コンテンツを得るコンテンツ暗号化手段と、
    前記セッション鍵を、前記複数のユーザ側システムのそれぞれに割当られた複数の復号鍵に対応する公開鍵で暗号化し、得られた暗号化セッション鍵を含み且つ前記複数のユーザ側システムのうち前記暗号化セッション鍵の復号が許可されている各ユーザ側システム固有の復号鍵を用いて前記暗号化セッション鍵を復号することを可能にするヘッダ情報を生成するヘッダ情報生成手段と、
    前記暗号化コンテンツ及び前記ヘッダ情報を各ユーザ側システムに送信する送信手段と、
    を含み、
    各ユーザ側システム固有の前記復号鍵は、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造に、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てるとともに、当該木構造上の異なる複数のリーフに、前記複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを分割することにより得られる複数のサブグループをそれぞれ割り当て、当該複数のサブグループのうち、当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つと、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式とに、当該ユーザ側システムのユーザ識別情報を代入することにより得られた値であることを特徴とするコンテンツ提供側システム。
  7. 前記個別鍵生成多項式と前記共通鍵生成多項式の同じ次数の係数の線形和のうちの少なくとも1つは、前記木構造上の前記ルート、前記複数のノード、及び前記複数のリーフ毎にそれぞれ異なり、それ以外の前記同じ次数の係数の線形和は一定であることを特徴とする請求項6記載のコンテンツ提供側システム。
  8. 前記ヘッダ情報は、前記木構造上の前記ルート、前記複数のノード及び前記複数のリーフ毎に固有のデータを含み、
    前記ヘッダ情報生成手段は、前記複数のサブグループのうちの特定のサブグループに属する全てのユーザ側システムの復号鍵を無効にするとき、当該特定のサブグループに割り当てられたリーフあるいは当該リーフの祖先ノードに固有のデータを正しいデータとは異なるデータに設定する、あるいは当該固有のデータを削除することを特徴とする請求項6記載のコンテンツ提供側システム。
  9. 前記ヘッダ情報は、前記木構造上の前記ルート、前記複数のノード及び前記複数のリーフ毎に固有のデータと、前記複数のサブグループのうちの特定のサブグループに属する複数のユーザ識別情報の部分集合に基づく値を含み、
    前記ヘッダ情報生成手段は、前記特定のサブグループに属する全てのユーザ側システムのうち復号鍵を無効にするユーザ側システムのユーザ識別情報を前記部分集合に含めないことを特徴とする請求項6記載のコンテンツ提供側システム。
  10. 前記ヘッダ情報は、前記木構造上の前記ルート、前記複数のノード及び前記複数のリーフ毎に固有のデータと、前記複数のサブグループのうちの特定のサブグループに属する複数のユーザ識別情報の部分集合に基づく値を含み、
    前記ヘッダ情報生成手段は、前記複数のサブグループのうち前記特定のサブグループとは異なる他のサブグループに属する全てのユーザ側システムの復号鍵を無効にするとき、当該他のサブグループに割り当てられたリーフあるいは当該リーフの祖先ノードに固有のデータを正しいデータとは異なるデータに設定する、あるいは当該固有のデータを削除することを特徴とする請求項9記載のコンテンツ提供側システム。
  11. 前記ヘッダ情報生成手段は、前記木構造上の前記複数のノードのうちの1つに対応し、当該ノードを祖先ノードとする各リーフに割り当てられたサブグループに属するユーザ側システムのうち前記暗号化セッション鍵の復号が許可されているユーザ側システムに割り当てられた復号鍵を用いて前記暗号化セッション鍵を復号することを可能にする第1のヘッダ情報と、前記木構造上の前記複数のリーフのうちの1つに対応し、当該リーフに割り当てられたサブグループに属するユーザ側システムのうち前記暗号化セッション鍵の復号が許可されているユーザ側システムに割り当てられた復号鍵を用いて前記暗号化セッション鍵を復号することを可能にする第2のヘッダ情報とを生成し、
    前記送信手段は、前記第1のヘッダ情報と前記第2のヘッダ情報中の各要素のうち、同一の要素を共有化して送信することを特徴とする請求項6記載のコンテンツ提供側システム。
  12. 個別に前記暗号化セッション鍵を復号不能とすべきユーザ側システムの数が1以上である場合には、個別に前記暗号化セッション鍵を復号不能とすべきユーザ側システムの数(w)と、前記個別鍵生成多項式及び前記共通鍵生成多項式の次数との関係に基づいて設定される値mに関して、m+1種類のシェアデータを用いて、前記暗号化セッション鍵を復号することを可能とし、
    前記ヘッダ情報生成手段は、(a)各ユーザ側システムに固有のシェアデータを求めるもととなる、前記木構造上の前記ルート、前記複数のノード及び前記複数のリーフ毎に固有のデータと、(b)個別に前記暗号化セッション鍵を復号不能とすべきユーザ側システム固有のw個のシェアデータを含む、前記暗号化セッション鍵の復号が許可されている各ユーザ側システムが保持する復号鍵に依存しないm個のシェアデータと、を含むヘッダ情報を生成することを特徴とする請求項6記載のコンテンツ提供側システム。
  13. 前記ヘッダ情報生成手段は、個別に前記暗号化セッション鍵を復号不能とすべきユーザ側システムの属するサブグループ以外の特定のサブグループに属する全てのユーザについて前記暗号化セッション鍵を復号不能とする場合には、当該特定のサブグループに割り当てられたリーフあるいは当該リーフの祖先ノードに固有のデータを正しいデータとは異なるデータに設定する、あるいは当該固有のデータを削除することを特徴とする請求項12記載のコンテンツ提供側システム。
  14. 提供すべきコンテンツをセッション鍵で暗号化することにより得られる暗号化コンテンツと、暗号化されたセッション鍵を含み且つ当該暗号化されたセッション鍵を復号することを可能にするヘッダ情報とを送信するコンテンツ提供側システムから提供される前記暗号化コンテンツを復号するユーザ側システムであって、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造に、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てるとともに、当該木構造上の異なる複数のリーフに、複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを分割することにより得られる複数のサブグループをそれぞれ割り当て、当該複数のサブグループのうち当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つと、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式とに、当該ユーザ側システムのユーザ識別情報を代入することにより得られた値である、当該ユーザ側システム固有の復号鍵を記憶する記憶手段と、
    前記暗号化コンテンツ及び前記ヘッダ情報を受信する手段と、
    前記復号鍵を用いて、受信した前記ヘッダ情報からセッション鍵を復号するセッション鍵復号手段と、
    復号されたセッション鍵を用いて、受信した前記暗号化コンテンツを復号するコンテンツ復号手段と、
    を備えたユーザ側システム。
  15. 前記個別鍵生成多項式と前記共通鍵生成多項式の同じ次数の係数の線形和のうちの少なくとも1つは、前記木構造上の前記ルート、前記複数のノード、及び前記複数のリーフ毎にそれぞれ異なり、それ以外の前記同じ次数の係数の線形和は一定であることを特徴とする請求項14記載のユーザ側システム。
  16. 前記ヘッダ情報は、前記木構造上の前記ルート、前記複数のノード、及び前記複数のリーフ毎に固有のデータを含み、当該固有のデータは、前記複数のサブグループのうちの特定のサブグループに属する全てのユーザ側システムの復号鍵を無効にするとき、正しいデータとは異なるデータに設定されている、あるいは削除されており、
    前記セッション鍵復号手段は、前記ヘッダ情報に含まれる、当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフあるいはその祖先ノードに固有のデータを用いて前記セッション鍵を復号することを特徴とする請求項14記載のユーザ側システム。
  17. 前記ヘッダ情報は、前記木構造上の前記ルート、前記複数のノード及び前記複数のリーフ毎に固有のデータと、前記複数のサブグループのうちの特定のサブグループに属する複数のユーザ識別情報の部分集合に基づくデータを含み、当該部分集合は、前記特定のサブグループに属する全てのユーザ側システムのうち復号鍵を無効にするユーザ側システムのユーザ識別情報を含まないように設定されており、
    前記セッション鍵復号手段は、前記ヘッダ情報に含まれる、当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフあるいはその祖先ノードに固有のデータと、当該サブグループに属する複数のユーザ識別情報の部分集合に基づくデータとを用いて前記セッション鍵を復号することを特徴とする請求項14記載のユーザ側システム。
  18. 前記複数のサブグループのうち前記特定のサブグループとは異なる他のサブグループに属する全てのユーザ側システムの復号鍵を無効にするために、当該他のサブグループに割り当てられたリーフあるいは当該リーフの祖先ノードに固有のデータを正しいデータとは異なるデータに設定されている、あるいは当該固有のデータが削除されていることを特徴とする請求項17記載のユーザ側システム。
  19. 前記ヘッダ情報は、
    個別に前記暗号化セッション鍵を復号不能とすべきユーザ側システムの数が1以上である場合には、個別に前記セッション鍵を復号不能とすべきユーザ側システムの数(w)と、前記個別鍵生成多項式及び前記共通鍵生成多項式の次数との関係に基づいて設定される値mに関して、m+1種類のシェアデータを用いて、前記セッション鍵を復号することを可能にするために、(a)各ユーザ側システムに固有のシェアデータを求めるもととなる、前記木構造上の前記ルート、前記複数のノード及び前記複数のリーフ毎に固有のデータと、(b)個別に前記暗号化セッション鍵を復号不能とすべきユーザ側システム固有のw個のシェアデータを含む、前記セッション鍵の復号が許可されているユーザ側システムが保持する復号鍵に依存しないm個のシェアデータと、を含み、
    前記セッション鍵復号手段は、
    前記ヘッダ情報に含まれる、当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフあるいはその祖先ノードに固有のデータを用いて、当該ユーザ側システムに固有のシェアデータを求め、求めたシェアデータ及び前記ヘッダ情報に含まれているm個のシェアデータを用いて、前記セッション鍵を復号することを特徴とする請求項14記載のユーザ側システム。
  20. 個別に前記暗号化セッション鍵を復号不能とすべきユーザ側システムの属するサブグループ以外の特定のサブグループに属する全てのユーザについて前記暗号化セッション鍵を復号不能とするために、当該特定のサブグループに割り当てられたリーフあるいは当該リーフの祖先ノードに固有のデータを正しいデータとは異なるデータに設定されている、あるいは当該固有のデータが削除されていることを特徴とする請求項19記載のユーザ側システム。
  21. 検査対象のユーザ側システムを検査し、複数のユーザ側システムの複数のユーザのなかから不正ユーザを特定するための追跡システムであって、
    コンテンツをセッション鍵で暗号化し、暗号化コンテンツを得るコンテンツ暗号化手段と、
    前記セッション鍵を暗号化することにより得られた暗号化セッション鍵を含み、当該暗号化セッション鍵の復号を許す各ユーザ側システムの復号鍵で、当該暗号化セッション鍵を復号することを可能にするヘッダ情報を生成するヘッダ情報生成手段と、
    前記暗号化コンテンツ及び前記ヘッダ情報を前記検査対象のユーザ側システムに入力し、このユーザ側システムによる前記暗号化コンテンツの復号結果を取得する手段と、
    前記暗号化セッション鍵を復号不能な無効化対象ユーザ側システムの数を変えて、前記ヘッダ情報生成手段に複数のヘッダ情報を生成させ、各ヘッダ情報と、当該ヘッダ情報を前記検査対象のユーザ側システムに入力したときに取得した復号結果との関係に基づいて、前記複数のユーザ側システムのなかから、前記検査対象のユーザ側システムの作出のもととなった1以上のユーザ側システムを特定する特定手段と、
    を備え、
    各ユーザ側システム固有の前記復号鍵は、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造に、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てるとともに、当該木構造上の異なる複数のリーフに、前記複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを分割することにより得られる複数のサブグループをそれぞれ割り当て、当該複数のサブグループのうち、当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つと、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式とに、当該ユーザ側システムのユーザ識別情報を代入することにより得られた値であることを特徴とする追跡システム。
  22. 前記個別鍵生成多項式と前記共通鍵生成多項式の同じ次数の係数の線形和のうちの少なくとも1つは、前記木構造上の前記ルート、前記複数のノード、及び前記複数のリーフ毎にそれぞれ異なり、それ以外の前記同じ次数の係数の線形和は一定であることを特徴とする請求項21記載の追跡システム。
  23. 前記特定手段は、前記無効化対象ユーザ側システムの数がj−1のときに復号可能と判定され、当該j−1のユーザ側システムとは異なる他の1つのユーザ側システムをさらに加えた前記無効化対象ユーザ側システムの数がjのときに復号不能と判定されたとき、当該他のユーザ側システムのユーザを不正ユーザであると特定することを特徴とする請求項21記載の追跡システム。
  24. 複数のユーザ側システムへ、暗号化コンテンツと、当該暗号化コンテンツを復号するためのヘッダ情報とを提供するコンテンツ提供側システムにおけるコンテンツ提供方法であって、
    提供すべきコンテンツをセッション鍵で復号可能に暗号化し、前記暗号化コンテンツを得るコンテンツ暗号化ステップと、
    前記セッション鍵を、前記複数のユーザ側システムのそれぞれに割り当てられた複数の復号鍵に対応する公開鍵で暗号化し、得られた暗号化セッション鍵を含み且つ前記複数のユーザ側システムのうち前記暗号化セッション鍵の復号が許可されている各ユーザ側システム固有の復号鍵を用いて前記暗号化セッション鍵を復号することを可能にするヘッダ情報を生成するヘッダ情報生成ステップと、
    前記暗号化コンテンツ及び前記ヘッダ情報を各ユーザ側システムに送信する送信ステップと、
    を含み、
    各ユーザ側システム固有の前記復号鍵は、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造に、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てるとともに、当該木構造上の異なる複数のリーフに、前記複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを分割することにより得られる複数のサブグループをそれぞれ割り当て、当該複数のサブグループのうち、当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つと、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式とに、当該ユーザ側システムのユーザ識別情報を代入することにより得られた値であることを特徴とするコンテンツ提供方法。
  25. 提供すべきコンテンツをセッション鍵で暗号化することにより得られる暗号化コンテンツと、暗号化されたセッション鍵を含み且つ当該暗号化されたセッション鍵を復号することを可能にするヘッダ情報とを送信するコンテンツ提供側システムから提供される前記暗号化コンテンツを復号するユーザ側システムにおける暗号化コンテンツ復号方法であって、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造に、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てるとともに、当該木構造上の異なる複数のリーフに、複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを分割することにより得られる複数のサブグループをそれぞれ割り当て、当該複数のサブグループのうち当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つと、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式とに、当該ユーザ側システムのユーザ識別情報を代入することにより得られた値である、当該ユーザ側システム固有の復号鍵を、記憶手段に記憶するステップと、
    前記暗号化コンテンツ及び前記ヘッダ情報を受信するステップと、
    前記復号鍵を用いて、受信した前記ヘッダ情報からセッション鍵を復号するセッション鍵復号ステップと、
    復号されたセッション鍵を用いて、受信した前記暗号化コンテンツを復号するコンテンツ復号ステップと、
    を含む暗号化コンテンツ復号方法。
  26. コンテンツをセッション鍵で暗号化し、暗号化コンテンツを得るコンテンツ暗号化手段と、
    前記セッション鍵を暗号化することにより得られた暗号化セッション鍵を含み、当該暗号化セッション鍵の復号を許す各ユーザ側システムの復号鍵で、当該暗号化セッション鍵を復号することを可能にするヘッダ情報を生成するヘッダ情報生成手段と、
    前記暗号化コンテンツ及び前記ヘッダ情報を前記検査対象のユーザ側システムに入力し、このユーザ側システムによる前記暗号化コンテンツの復号結果を取得する手段と、
    を備え、
    検査対象のユーザ側システムを検査し、複数のユーザ側システムの複数のユーザのなかから不正ユーザを特定するための追跡システムに用いられる不正ユーザ特定方法であって、
    前記暗号化セッション鍵を復号不能な無効化対象ユーザ側システムの数を変えて、前記ヘッダ情報生成手段に複数のヘッダ情報を生成させるステップと、
    各ヘッダ情報と、当該ヘッダ情報を前記検査対象のユーザ側システムに入力したときに取得した復号結果との関係に基づいて、前記複数のユーザ側システムのなかから、前記検査対象のユーザ側システムの作出のもととなった1以上のユーザ側システムを特定するステップと、
    を有し、
    各ユーザ側システム固有の前記復号鍵は、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造に、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てるとともに、当該木構造上の異なる複数のリーフに、前記複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを分割することにより得られる複数のサブグループをそれぞれ割り当て、当該複数のサブグループのうち、当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つと、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式とに、当該ユーザ側システムのユーザ識別情報を代入することにより得られた値であることを特徴とする不正ユーザ特定方法。
  27. コンピュータを、複数のユーザ側システムへ、暗号化コンテンツと、当該暗号化コンテンツを復号するためのヘッダ情報とを提供するコンテンツ提供側システムとして機能させるためのプログラムであって、
    前記コンピュータは、前記プログラムを記憶する記憶手段と、前記記憶手段に接続される演算手段とを具備し、
    前記演算手段は、前記記憶手段から読み出されたプログラムに従って、
    提供すべきコンテンツをセッション鍵で復号可能に暗号化することにより、暗号化コンテンツを
    前記セッション鍵を、前記複数のユーザ側システムのそれぞれに割り当てられた複数の復号鍵に対応する公開鍵で暗号化し、得られた暗号化セッション鍵を含み且つ前記複数のユーザ側システムのうち前記暗号化セッション鍵の復号が許可されている各ユーザ側システム固有の復号鍵を用いて前記暗号化セッション鍵を復号することを可能にするヘッダ情報を生成
    前記暗号化コンテンツ及び前記ヘッダ情報を各ユーザ側システムに送信するよう構成され、
    各ユーザ側システム固有の前記復号鍵は、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造に、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てるとともに、当該木構造上の異なる複数のリーフに、前記複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを分割することにより得られる複数のサブグループをそれぞれ割り当て、当該複数のサブグループのうち、当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つと、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式とに、当該ユーザ側システムのユーザ識別情報を代入することにより得られた値であることを特徴とするプログラム。
  28. コンピュータを、コンテンツ提供側システムから提供される暗号化コンテンツを復号するユーザ側システムとして機能させるためのプログラムであって、
    前記コンピュータは、前記プログラムを記憶する記憶手段と、前記記憶手段に接続される演算手段とを具備し、
    前記記憶手段は、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造に、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てるとともに、当該木構造上の異なる複数のリーフに、複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを分割することにより得られる複数のサブグループをそれぞれ割り当て、当該複数のサブグループのうち当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つと、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式とに、当該ユーザ側システムのユーザ識別情報を代入することにより得られた値である、当該ユーザ側システム固有の復号鍵を、記
    前記演算手段は、前記記憶手段から読み出されたプログラムに従って、
    前記コンテンツ提供側システムから送信された、セッション鍵で暗号化された前記暗号化コンテンツと、暗号化されたセッション鍵を含み且つ当該暗号化されたセッション鍵を復号することを可能にするヘッダ情報とを受信
    前記復号鍵を用いて、受信した前記ヘッダ情報からセッション鍵を復号
    復号されたセッション鍵を用いて、受信した前記暗号化コンテンツを復号するように構成される、プログラム。
  29. コンピュータを、検査対象のユーザ側システムを検査し、複数のユーザ側システムの複数のユーザのなかから不正ユーザを特定するための追跡システムとして機能させるためのプログラムであって、
    前記コンピュータは、前記プログラムを記憶する記憶手段と、前記記憶手段に接続される演算手段とを具備し、
    前記演算手段は、前記記憶手段から読み出されたプログラムに従って、
    コンテンツをセッション鍵で暗号化し、暗号化コンテンツを得、
    前記セッション鍵を暗号化することにより得られた暗号化セッション鍵を含み、当該暗号化セッション鍵の復号を許す各ユーザ側システムの復号鍵で、当該暗号化セッション鍵を復号することを可能にするヘッダ情報を生成
    前記暗号化コンテンツ及び前記ヘッダ情報を前記検査対象のユーザ側システムに入力し、このユーザ側システムによる前記暗号化コンテンツの復号結果を取得
    前記暗号化セッション鍵を復号不能な無効化対象ユーザ側システムの数を変えて、前記ヘッダ情報生成手段に複数のヘッダ情報を生成させ、各ヘッダ情報と、当該ヘッダ情報を前記検査対象のユーザ側システムに入力したときに取得した復号結果との関係に基づいて、前記複数のユーザ側システムのなかから、前記検査対象のユーザ側システムの作出のもととなった1以上のユーザ側システムを特定するように構成され、
    各ユーザ側システム固有の前記復号鍵は、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造に、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てるとともに、当該木構造上の異なる複数のリーフに、前記複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを分割することにより得られる複数のサブグループをそれぞれ割り当て、当該複数のサブグループのうち、当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つと、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式とに、当該ユーザ側システムのユーザ識別情報を代入することにより得られた値であることを特徴とするプログラム。
  30. 複数のユーザ側システムへ提供する暗号化コンテンツと、当該暗号化コンテンツを復号するためのヘッダ情報とを生成する暗号化装置であって、
    提供すべきコンテンツをセッション鍵で復号可能に暗号化し、前記暗号化コンテンツを得るコンテンツ暗号化手段と、
    前記セッション鍵を、前記複数のユーザ側システムのそれぞれに割当られた複数の復号鍵に対応する暗号化鍵で暗号化し、得られた暗号化セッション鍵を含み且つ前記複数のユーザ側システムのうち前記暗号化セッション鍵の復号が許可されている各ユーザ側システム固有の復号鍵を用いて前記暗号化セッション鍵を復号することを可能にするヘッダ情報を生成するヘッダ情報生成手段と、
    を含み、
    各ユーザ側システム固有の前記復号鍵は、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造に、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てるとともに、当該木構造上の異なる複数のリーフに、前記複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを分割することにより得られる複数のサブグループをそれぞれ割り当て、当該複数のサブグループのうち、当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つと、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式とに、当該ユーザ側システムのユーザ識別情報を代入することにより得られた値であることを特徴とする暗号化装置。
  31. コンテンツ提供側システムから送信される、セッション鍵で暗号化することにより得られる暗号化コンテンツと、暗号化されたセッション鍵を含み且つ当該暗号化されたセッション鍵を復号することを可能にするヘッダ情報とを受信するユーザ側システムで用いられる復号装置であって、
    ルートのノードから1つ又は複数のノードを介して複数のリーフに至る木構造に、前記ルート、前記複数のノード及び前記複数のリーフ毎にそれぞれ異なる個別鍵生成多項式を割り当てるとともに、当該木構造上の異なる複数のリーフに、複数のユーザ側システムを個別に識別するための複数のユーザ識別情報のグループを分割することにより得られる複数のサブグループをそれぞれ割り当て、当該複数のサブグループのうち当該ユーザ側システムに対応するユーザ識別情報の属するサブグループに割り当てられた当該木構造上のリーフ及びその祖先ノードのそれぞれに対応する前記個別鍵生成多項式のうちの1つと、前記ルート、前記複数のノード及び前記複数のリーフで共通の共通鍵生成多項式とに、当該ユーザ側システムのユーザ識別情報を代入することにより得られた値である、当該ユーザ側システム固有の復号鍵を記憶する記憶手段と、
    前記復号鍵を用いて、前記ヘッダ情報からセッション鍵を復号するセッション鍵復号手段と、
    復号されたセッション鍵を用いて、前記暗号化コンテンツを復号するコンテンツ復号手段と、
    を備えた復号装置。
JP2006019795A 2006-01-27 2006-01-27 復号鍵生成方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、プログラム、暗号化装置及び復号装置 Expired - Fee Related JP4630826B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006019795A JP4630826B2 (ja) 2006-01-27 2006-01-27 復号鍵生成方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、プログラム、暗号化装置及び復号装置
US11/531,553 US8122246B2 (en) 2006-01-27 2006-09-13 Method for generating decryption key, apparatus and method using decryption key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006019795A JP4630826B2 (ja) 2006-01-27 2006-01-27 復号鍵生成方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、プログラム、暗号化装置及び復号装置

Publications (2)

Publication Number Publication Date
JP2007201950A JP2007201950A (ja) 2007-08-09
JP4630826B2 true JP4630826B2 (ja) 2011-02-09

Family

ID=38328383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006019795A Expired - Fee Related JP4630826B2 (ja) 2006-01-27 2006-01-27 復号鍵生成方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、プログラム、暗号化装置及び復号装置

Country Status (2)

Country Link
US (1) US8122246B2 (ja)
JP (1) JP4630826B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4434969B2 (ja) 2004-01-21 2010-03-17 株式会社東芝 コンテンツ提供側システム、ユーザ側システム、追跡システム、装置、方法及びプログラム
US20050238174A1 (en) * 2004-04-22 2005-10-27 Motorola, Inc. Method and system for secure communications over a public network
AU2005299317A1 (en) 2004-10-25 2006-05-04 Security First Corp. Secure data parser method and system
AU2006350252B2 (en) 2005-11-18 2010-10-14 Security First Corporation Secure data parser method and system
JP4867425B2 (ja) * 2006-03-27 2012-02-01 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4358239B2 (ja) * 2007-01-10 2009-11-04 株式会社東芝 コンテンツ提供システム、追跡システム、コンテンツ提供方法及び不正ユーザ特定方法
US10476883B2 (en) 2012-03-02 2019-11-12 Inside Secure Signaling conditional access system switching and key derivation
US10691860B2 (en) 2009-02-24 2020-06-23 Rambus Inc. Secure logic locking and configuration with camouflaged programmable micro netlists
JP5357785B2 (ja) * 2009-05-22 2013-12-04 日本放送協会 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラム
KR101133262B1 (ko) * 2010-04-08 2012-04-05 충남대학교산학협력단 강인한 scada시스템의 하이브리드 키 관리방법 및 세션키 생성방법
US20120069995A1 (en) * 2010-09-22 2012-03-22 Seagate Technology Llc Controller chip with zeroizable root key
IL216162A0 (en) * 2011-11-06 2012-02-29 Nds Ltd Electronic content distribution based on secret sharing
US9800405B2 (en) * 2012-03-02 2017-10-24 Syphermedia International, Inc. Blackbox security provider programming system permitting multiple customer use and in field conditional access switching
EP2956887A1 (en) 2013-02-13 2015-12-23 Security First Corp. Systems and methods for a cryptographic file system layer
NL2013520B1 (en) * 2014-09-24 2016-09-29 Koninklijke Philips Nv Public-key encryption system.
WO2016147303A1 (ja) * 2015-03-16 2016-09-22 株式会社東芝 管理装置、プログラム、システム、機器および方法
CA2992928A1 (en) * 2015-07-08 2017-01-12 Ipra Technologies Ltd Oy A method of and system for providing access to access restricted content to a user
US9590958B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure file transfer
US11196728B1 (en) * 2021-03-29 2021-12-07 Fmr Llc Caching login sessions to access a software testing environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152187A (ja) * 2000-11-09 2002-05-24 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム記憶媒体
JP2002314532A (ja) * 2001-04-11 2002-10-25 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 複製端末発見方法
JP2003087232A (ja) * 2001-09-10 2003-03-20 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 複製端末発見方法
JP2003289296A (ja) * 2002-01-28 2003-10-10 Toshiba Corp 鍵生成方法、コンテンツ提供方法、暗号化コンテンツ復号方法、不正ユーザ特定方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、暗号化装置、復号装置、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050265550A1 (en) * 2002-03-13 2005-12-01 Koninklijke Philips Electronics N.V. Polynomial-based multi-user key generation and authentication method and system
JP4434969B2 (ja) * 2004-01-21 2010-03-17 株式会社東芝 コンテンツ提供側システム、ユーザ側システム、追跡システム、装置、方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152187A (ja) * 2000-11-09 2002-05-24 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム記憶媒体
JP2002314532A (ja) * 2001-04-11 2002-10-25 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 複製端末発見方法
JP2003087232A (ja) * 2001-09-10 2003-03-20 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 複製端末発見方法
JP2003289296A (ja) * 2002-01-28 2003-10-10 Toshiba Corp 鍵生成方法、コンテンツ提供方法、暗号化コンテンツ復号方法、不正ユーザ特定方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、暗号化装置、復号装置、及びプログラム

Also Published As

Publication number Publication date
US20070180233A1 (en) 2007-08-02
US8122246B2 (en) 2012-02-21
JP2007201950A (ja) 2007-08-09

Similar Documents

Publication Publication Date Title
JP4630826B2 (ja) 復号鍵生成方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、プログラム、暗号化装置及び復号装置
JP4434969B2 (ja) コンテンツ提供側システム、ユーザ側システム、追跡システム、装置、方法及びプログラム
JP4358239B2 (ja) コンテンツ提供システム、追跡システム、コンテンツ提供方法及び不正ユーザ特定方法
JP3917507B2 (ja) コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、不正ユーザ特定方法、暗号化装置、復号装置及びプログラム
EP1354444B1 (en) Method for tracing traitor receivers in a broadcast encryption system
US9015850B2 (en) Detecting and revoking pirate redistribution of content
US7986787B2 (en) System, method, and service for tracing traitors from content protection circumvention devices
JP5198539B2 (ja) 記憶装置、アクセス装置およびプログラム
JP2006086568A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP5093513B2 (ja) 不正者失効システム、暗号化装置、暗号化方法およびプログラム
US8862893B2 (en) Techniques for performing symmetric cryptography
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
Xing et al. Unbounded and revocable hierarchical identity-based encryption with adaptive security, decryption key exposure resistant, and short public parameters
JP5142361B2 (ja) 正当性検証装置
Mandal et al. Efficient Adaptively Secure Public-Key Trace and Revoke from Subset Cover Using D e´ jaQ Framework
WO2009157050A1 (ja) 情報処理装置及びプログラム
Kuribayashi et al. Secure data management system with traceability against internal leakage
JP6599215B2 (ja) 秘匿計算装置およびプログラム
Zigoris et al. Adaptive traitor tracing with Bayesian networks
JP2008294720A (ja) 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体
JP2011166709A (ja) 配信システム及び配信・受信方法及び配信装置及び受信装置及び配信プログラム及び受信プログラム
Jin Traitor Tracing for Multimedia Forensics

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101019

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

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

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees