(57)【要約】  【課題】  不正な出力装置のクローン元を特定することが出来なかった。  【解決手段】  鍵発行センタ１１はコンテンツを暗号化する際に用いるコンテンツ鍵を作成するのに必要な情報であるシステム秘密変数群をサーバ１２へ、コンテンツを復号化する際に用いるコンテンツ鍵を作成するのに必要な情報である暗号化中間鍵群集合を出力装置１３ａ〜１３ｎへ配信する。サーバ１２はシステム秘密変数群と時変変数群を基にコンテンツ鍵を作成し、コンテンツ鍵を基にコンテンツを暗号化し、暗号化コンテンツ及び時変変数群を出力装置１３ａ〜１３ｎへ配信する。出力装置１３ａ〜１３ｎは、暗号化中間鍵群集合及び受信した時変変数群を基にコンテンツ鍵を作成し、コンテンツ鍵を基に受信した暗号化コンテンツを復号化し、外部へ出力する。  【選択図】  図１
2005204293.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを暗号化した暗号化コンテンツを配信するコンテンツ配信サーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力するコンテンツ出力装置であって、
前記暗号化コンテンツを受信するコンテンツ受信手段と、
前記中間鍵群を格納する中間鍵群格納手段と、
前記ネットワークを介して予め前記コンテンツ配信サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信手段と、
受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成手段と、
前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化手段とを備える
ことを特徴とするコンテンツ出力装置。
【請求項２】
前記コンテンツ出力装置は、さらに、
予め与えられる個別鍵を格納する個別鍵格納手段と、
前記ネットワークを介して暗号化された前記中間鍵群である暗号化中間鍵群を複数含む暗号化中間鍵群集合を受信する暗号化中間鍵群集合受信手段と、
前記個別鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つの暗号化された前記暗号化中間鍵群の復号化を行い、復号化された中間鍵群を前記中間鍵群格納手段へ格納する中間鍵群復号化手段とを備える
ことを特徴とする請求項１記載のコンテンツ出力装置。
【請求項３】
前記暗号化中間鍵群集合は、第一暗号化中間鍵群及び第二暗号化中間鍵群を含み、
前記中間鍵群復号化手段は、前記個別鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つの暗号化された前記第一暗号化中間鍵群の復号化を行い第一中間鍵を取得する
ことを特徴とする請求項２記載のコンテンツ出力装置。
【請求項４】
前記中間鍵群復号化手段は、前記時変変数群受信手段で受信した時変変数に基づき、前記第一中間鍵から第二中間鍵を取得し、
前記コンテンツ復号化鍵生成手段は、当該第二中間鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つである暗号化された前記第二暗号化中間鍵群の復号化を行い前記コンテンツ復号化鍵を生成する
ことを特徴とする請求項３記載のコンテンツ出力装置。
【請求項５】
前記第一中間鍵は、前記コンテンツ出力装置毎又は前記コンテンツ出力装置の機種毎に固有の値であり、
前記第二中間鍵は、全ての前記コンテンツ出力装置において共通の値となる
ことを特徴とする請求項４記載のコンテンツ出力装置。
【請求項６】
前記コンテンツ出力装置は、さらに、
受信した前記時変変数群を格納する時変変数群格納手段と、
前記ネットワークを介して受信した前記中間鍵群を前記中間鍵群格納手段に格納する中間鍵群受信手段とを備える
ことを特徴とする請求項１記載のコンテンツ出力装置。
【請求項７】
前記コンテンツ復号化鍵生成手段は、予め与えられる一以上のコンテンツ復号化鍵生成式に従って、前記中間鍵群及び前記時変変数群から前記コンテンツ復号化鍵を生成し、
前記コンテンツ復号化鍵生成式には、加算演算、減算演算、乗算演算、及び除算演算の少なくとも一つが含まれている
ことを特徴とする請求項６記載のコンテンツ出力装置。
【請求項８】
前記時変変数群は、さらに前記中間鍵群の何れかを特定する中間鍵群識別子を含み、
前記コンテンツ復号化鍵生成手段は、前記中間鍵群識別子を基に、複数の前記中間鍵群から一つの前記中間鍵群を決定し、さらに、当該中間鍵群、前記時変変数群及び前記コンテンツ復号化鍵生成式を基に前記コンテンツ復号化鍵を生成する
ことを特徴とする請求項１記載のコンテンツ出力装置。
【請求項９】
前記暗号化中間鍵群集合受信手段は、前記暗号化中間鍵群としての暗号化テーブルを取得し、
前記中間鍵群復号化手段は、前記暗号化テーブルを前記個別鍵に基づき復号化して前記中間鍵群としての復号化テーブルを取得し、
前記復号化テーブルには、当該復号化テーブルを構成する要素を識別するために要素識別子、及び当該要素識別子に対応するテーブル要素である中間鍵群が記述されている
ことを特徴とする請求項２記載のコンテンツ出力装置。
【請求項１０】
前記コンテンツ復号化鍵生成手段は、前記要素識別子を基に、前記テーブル要素である中間鍵群を選択し、当該中間鍵群を基に前記コンテンツ復号化鍵を生成する
ことを特徴とする請求項９記載のコンテンツ出力装置。
【請求項１１】
前記要素識別子は時変変数であり、前記テーブル要素は中間鍵群である
ことを特徴とする請求項９記載のコンテンツ出力装置。
【請求項１２】
前記中間鍵群は、全ての前記コンテンツ出力装置で共通の中間鍵群及び前記コンテンツ出力装置ごとに固有の中間鍵群から構成される
ことを特徴とする請求項９記載のコンテンツ出力装置。
【請求項１３】
前記コンテンツ復号化鍵生成手段は、前記中間鍵群及び前記時変変数群を基に、シフトレジスタを用いて前記コンテンツ復号化鍵を計算する
ことを特徴とする請求項１記載のコンテンツ出力装置。
【請求項１４】
前記コンテンツ復号化鍵生成手段は、前記シフトレジスタを用いて左シフト演算を行う
ことを特徴とする請求項１３記載のコンテンツ出力装置。
【請求項１５】
前記中間鍵群復号化手段は、前記時変変数群及び前記第一中間鍵を用いて前記左シフト演算処理を行い第二中間鍵を取得し、
前記コンテンツ復号化鍵生成手段は、当該第二中間鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つである暗号化された前記第二暗号化中間鍵群の復号化を行い前記コンテンツ復号化鍵を生成する
ことを特徴とする請求項１４記載のコンテンツ出力装置。
【請求項１６】
前記時変変数群は、少なくとも二つの時変変数から構成され、
前記時変変数は、所定期間ごとに異なる乱数値又は時間情報を用いて生成される値である
ことを特徴とする請求項１記載のコンテンツ出力装置。
【請求項１７】
前記時変変数群は、全てのコンテンツ出力装置において共通の値である
ことを特徴とする請求項１記載のコンテンツ出力装置。
【請求項１８】
コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力するコンテンツ出力装置にネットワークを介して配信するコンテンツ配信サーバであって、
予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納手段と、
前記システム秘密変数群を基に、一以上の時変変数から成る時変変数群を生成する時変変数生成手段と、
前記時変変数群を格納する時変変数群格納手段と、
前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成手段と、
前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化手段と、
前記暗号化コンテンツを前記コンテンツ出力装置に配信するコンテンツ配信手段とを備える
ことを特徴とするコンテンツ配信サーバ。
【請求項１９】
前記コンテンツ配信サーバは、さらに、
前記時変変数群を前記コンテンツ出力装置に配信する時変変数群配信手段と、
前記コンテンツ暗号化鍵を前記コンテンツ出力装置に配信するコンテンツ暗号化鍵配信手段とを備える
ことを特徴とする請求項１８記載のコンテンツ配信サーバ。
【請求項２０】
前記システム秘密変数群は、少なくとも三つ以上の前記システム秘密変数から構成される
ことを特徴とする請求項１８記載のコンテンツ配信サーバ。
【請求項２１】
前記中間鍵群は、前記システム秘密変数群及び前記時変変数群を基に生成される少なくとも二つ以上の中間鍵から構成される
ことを特徴とする請求項１８記載のコンテンツ配信サーバ。
【請求項２２】
ネットワークを介して暗号化コンテンツを復号化して出力を行うコンテンツ出力装置及び当該コンテンツ出力装置に前記暗号化コンテンツを配信するコンテンツ配信サーバに接続され、前記コンテンツ出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタであって、
少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成手段と、
前記システム秘密変数群を前記コンテンツ配信サーバに送信するシステム秘密変数群送信手段と、
前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成手段と、
個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化して暗号化中間鍵群を生成する中間鍵群暗号化手段と、
複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記コンテンツ出力装置に配信する暗号化中間鍵群集合配信手段とを備える
ことを特徴とする鍵発行センタ。
【請求項２３】
前記システム秘密変数群は、少なくとも三つ以上の前記システム秘密変数から構成される
ことを特徴とする請求項２２記載の鍵発行センタ。
【請求項２４】
前記鍵発行センタは、さらに、
前記コンテンツ出力装置に前記暗号化中間鍵群集合の中のいずれか一つの前記暗号化中間鍵群を配信する中間鍵群配信手段と、
前記システム秘密変数群を基に時変変数群を生成する時変変数群生成手段と、
前記時変変数群を前記コンテンツ配信サーバ及び前記コンテンツ出力装置に配信する時変変数群配信手段とを備える
ことを特徴とする請求項２２記載の鍵発行センタ。
【請求項２５】
前記中間鍵群生成手段は、前記中間鍵群として前記コンテンツを復号化するためのコンテンツ復号化生成式の係数を生成する
ことを特徴とする請求項２２記載の鍵発行センタ。
【請求項２６】
コンテンツを暗号化した暗号化コンテンツを配信するコンテンツ配信サーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力するコンテンツ出力装置と、コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力するコンテンツ出力装置にネットワークを介して配信するコンテンツ配信サーバとから構成されるコンテンツ配信システムであって、
前記コンテンツ出力装置は、
前記暗号化コンテンツを受信するコンテンツ受信手段と、
前記中間鍵群を格納する中間鍵群格納手段と、
前記ネットワークを介して予め前記コンテンツ配信サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信手段と、
受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成手段と、
前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化手段とを備え、
前記コンテンツ配信サーバは、
予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納手段と、
予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成手段と、
前記時変変数群を格納する時変変数群格納手段と、
前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成手段と、
前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化手段と、
前記暗号化コンテンツを前記コンテンツ出力装置に配信するコンテンツ配信手段とを備える
ことを特徴とするコンテンツ配信システム。
【請求項２７】
コンテンツを暗号化した暗号化コンテンツを配信するコンテンツ配信サーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力するコンテンツ出力装置に用いるプログラムであって、
前記暗号化コンテンツを受信するコンテンツ受信ステップと、
前記中間鍵群を格納する中間鍵群格納ステップと、
前記ネットワークを介して予め前記コンテンツ配信サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信ステップと、
受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成ステップと、
前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化ステップとを含む
ことを特徴とするプログラム。
【請求項２８】
コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力するコンテンツ出力装置にネットワークを介して配信するコンテンツ配信サーバに用いるプログラムであって、
予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納ステップと、
予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成ステップと、
前記時変変数群を格納する時変変数群格納ステップと、
前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成ステップと、
前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化ステップと、
前記暗号化コンテンツを前記コンテンツ出力装置に配信するコンテンツ配信ステップとを含む
ことを特徴とするプログラム。
【請求項２９】
ネットワークを介してコンテンツ出力装置及びコンテンツ配信サーバに接続され、当該コンテンツ出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタにおいて用いるプログラムであって、
少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成ステップと、
前記システム秘密変数群を前記コンテンツ配信サーバに送信するシステム秘密変数群送信ステップと、
前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成ステップと、
個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化し、複数の暗号化中間鍵群を生成する中間鍵群暗号化ステップと、
複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記コンテンツ出力装置に配信する暗号化中間鍵群集合配信ステップとを含む
ことを特徴とするプログラム。
【請求項３０】
請求項２７から請求項２９の何れか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３１】
コンテンツを暗号化した暗号化コンテンツを配信するコンテンツ配信サーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力するコンテンツ出力装置に用いるコンテンツ配信方法であって、
前記暗号化コンテンツを受信するコンテンツ受信ステップと、
前記中間鍵群を格納する中間鍵群格納ステップと、
前記ネットワークを介して予め前記コンテンツ配信サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信ステップと、
受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成ステップと、
前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化ステップとを含む
ことを特徴とするコンテンツ配信方法。
【請求項３２】
コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力するコンテンツ出力装置にネットワークを介して配信するコンテンツ配信サーバに用いるコンテンツ配信方法であって、
予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納ステップと、
予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成ステップと、
前記時変変数群を格納する時変変数群格納ステップと、
前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成ステップと、
前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化ステップと、
前記暗号化コンテンツを前記コンテンツ出力装置に配信するコンテンツ配信ステップとを含む
ことを特徴とするコンテンツ配信方法。
【請求項３３】
ネットワークを介してコンテンツ出力装置及びコンテンツ配信サーバに接続され、当該コンテンツ出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタにおいて用いるコンテンツ配信方法であって、
少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成ステップと、
前記システム秘密変数群を前記コンテンツ配信サーバに送信するシステム秘密変数群送信ステップと、
前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成ステップと、
個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化し、複数の暗号化中間鍵群を生成する中間鍵群暗号化ステップと、
複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記コンテンツ出力装置に配信する暗号化中間鍵群集合配信ステップとを含む
ことを特徴とするコンテンツ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映画や音楽などのデジタルコンテンツを複数の出力装置に暗号化して配信するコンテンツ配信システムに関し、特に、暗号化されたコンテンツを出力装置で復号化する際に用いる鍵を出力装置毎に個別にすることで、もし出力装置に割り当てられている鍵が漏洩しても、その漏洩元の出力装置を追跡可能な技術に関する。
【背景技術】
【０００２】
ＡＤＳＬや光ファイバーなどに代表される高速通信路の普及に伴い、デジタル化された音楽や映像等のコンテンツを通信路を介して提供するサービスが盛んに行われるようになった。このようなサービスの普及に伴い、不正コピーなどに代表されるコンテンツ不正利用を防止する著作権保護方式が必要となってきている。一般に、このコンテンツ不正利用を防止する著作権保護方式には、暗号技術が用いられる。つまり、あるコンテンツ暗号化鍵を用いてデジタルコンテンツを暗号化して通信路を介して配布し、そのコンテンツ暗号化鍵に対応するコンテンツ復号化鍵を与えられている出力装置のみが、暗号化されたコンテンツを復号化して、元のデジタルコンテンツの再生を行うことが出来るというものである。
【０００３】
ところで、通常、出力装置に与えられているコンテンツ復号化鍵は秘密に保持されるが、装置の不正解析などによって、攻撃者が全出力装置共通に与えられているコンテンツ復号化鍵を取得する可能性がある。ある出力装置に与えられているコンテンツ復号化鍵が一旦漏洩してしまうと、攻撃者はこの漏洩元の追跡が不可能なコンテンツ復号化鍵を用いてデジタルコンテンツの復号化を行う不正な出力装置を作成し、コンテンツの不正利用を行うおそれがある。そのようなコンテンツ不正利用を防ぐ手段の一つとして、出力装置毎に個別の鍵を持たせることによって、漏洩元の出力装置の追跡を可能にするシステムが考えられる。全出力装置に同じデータを送るような放送局型のコンテンツ配信において、コンテンツ不正利用を防止する方式としては、例えば下記非特許文献１に記載されたコンテンツ配信システムがある。
【０００４】
図９１は、非特許文献１に記載された従来のコンテンツ配信システムを示すものである。図９１において、通信路９０は、後述する鍵発行センタ９１及びサーバ９２及び複数の出力装置９３ａ〜９３ｎを接続している通信路であり、インターネット等のネットワークで実現されている。また、鍵発行センタ９１と複数の出力装置９３ａ〜９３ｎの全ての組は、予め一つの個別鍵ＩＫａ・・・ＩＫｎを共有しており、例えば鍵発行センタ９１と出力装置９３ａは個別鍵ＩＫａを、鍵発行センタ９１と出力装置９３ｂは個別鍵ＩＫｂを、鍵発行センタ９１と出力装置９３ｎは個別鍵ＩＫｎを予め共有しているとする。
【０００５】
まず、全ての出力装置９３ａ〜９３ｎで中間鍵ＭＫを共有する方法について説明する。鍵発行センタ９１は、中間鍵ＭＫを作成し、その中間鍵ＭＫをサーバ９２に送信する。次に、それぞれの出力装置９３ａ〜９３ｎと予め共有している個別鍵ＩＫａ、ＩＫｂ，・・・ＩＫｎに基づき、その中間鍵ＭＫを暗号化し、その各暗号文Ｅｎｃ（ＩＫａ，ＭＫ）、Ｅｎｃ（ＩＫｂ，ＭＫ）、・・・、Ｅｎｃ（ＩＫｎ，ＭＫ）を結合した値を暗号化中間鍵群ＥＮＣＭＫＧ＝Ｅｎｃ（ＩＫａ，ＭＫ）｜｜Ｅｎｃ（ＩＫｂ，ＭＫ）｜｜・・・Ｅｎｃ（ＩＫｎ，ＭＫ）として複数の出力装置９３ａ〜９３ｎへ向けて配信する。ここで、”｜｜”は結合記号であり、Ｅｎｃ（Ｋ，Ｐ）は暗号化鍵Ｋを用いて平文Ｐを暗号化した際の暗号文を意味する。なお、非特許文献１においては、暗号化中間鍵群ＥＮＣＭＫＧのことを個別情報（ＥＭＭ）と、個別鍵ＩＫａ〜ＩＫｎのことをマスター鍵（Ｋｍ）と、中間鍵ＭＫのことをワーク鍵（Ｋｗ）とそれぞれ呼んでいる。暗号化中間鍵群ＥＮＣＭＫＧを受信した複数の出力装置９３ａ〜９３ｎは、暗号化中間鍵ＥＮＣＭＫＧの中から自身の持つ個別鍵に対応する暗号文を抜き出し、個別鍵に基づきその暗号文の復号化を行い、中間鍵ＭＫを取得する。こうすることによって、全出力装置９３ａ〜９３ｎで共通の中間鍵ＭＫを共有することが出来る。
【０００６】
次に、全ての出力装置９３ａ〜９３ｎでコンテンツＣＮＴを復号化する際に用いるコンテンツ鍵ＣＫを共有する方法について説明する。サーバ９２は、コンテンツ鍵ＣＫを作成し、出力装置９３ａ〜９３ｎと共有している中間鍵ＭＫに基づき、そのコンテンツ鍵ＣＫを暗号化し、その暗号文Ｅｎｃ（ＭＫ，ＣＫ）を暗号化コンテンツ鍵ＥＮＣＣＫとして複数の出力装置９３ａ〜９３ｎへ向けて配信する。暗号化コンテンツ鍵ＥＮＣＣＫを受信した複数の出力装置９３ａ〜９３ｎは、中間鍵ＭＫに基づき暗号化コンテンツ鍵ＥＮＣＣＫの復号化を行い、コンテンツ鍵ＣＫを取得する。こうすることによって、全出力装置９３ａ〜９３ｎで共通のコンテンツ鍵ＣＫを共有することが出来る。
【０００７】
最後に、コンテンツを配信する場合の動作について説明する。まず、サーバ９２は、外部からコンテンツＣＮＴを受け取り、コンテンツ鍵ＣＫに基づきそのコンテンツＣＮＴの暗号化を行い、その暗号化コンテンツＥＮＣＣＮＴ＝Ｅｎｃ（ＭＫＣＮＴ）を複数の出力装置９３ａ〜９３ｎへ向けて配信する。暗号化コンテンツＥＮＣＣＮＴを受信した複数の出力装置９３ａ〜９３ｎは、コンテンツ鍵ＣＫに基づき暗号化コンテンツＥＮＣＣＮＴの復号化を行い、その復号化コンテンツＤＥＣＣＮＴを外部へ出力する。
【０００８】
なお、鍵発行センタ９１は、中間鍵ＭＫを更新することによって、ある特定の個別鍵を有する出力装置を無効化し、コンテンツＣＮＴを復号化出来ないようにすることも出来る。ここでは、出力装置９３ａの個別鍵を有する出力装置を無効化する場合について説明する。まず、中間鍵ＭＫを新たに作成し、その中間鍵ＭＫをサーバ９２に送信する。その後、出力装置９３ａと予め共有している個別鍵ＩＫａを除く全ての個別鍵ＩＫｂ〜ＩＫｎのそれぞれを用いて、その中間鍵ＭＫの暗号化を行い、その各暗号文Ｅｎｃ（ＩＫｂ，ＭＫ）、・・・、Ｅｎｃ（ＩＫｎ，ＭＫ）を結合した値を暗号化中間鍵群ＥＮＣＭＫＧ＝Ｅｎｃ（ＩＫｂ，ＭＫ）｜｜・・・Ｅｎｃ（ＩＫｎ，ＭＫ）として複数の出力装置９３ａ〜９３ｎへ配信する。そうすることにより、出力装置９３ａ以外の出力装置９３ｂ〜９３ｎでは中間鍵ＭＫを取得出来るため、コンテンツ鍵ＣＫが得られて、それにより、暗号化コンテンツＥＮＣＣＮＴ＝Ｅｎｃ（ＭＫＣＮＴ）を復号化出来るが、出力装置９３ａでは、中間鍵ＭＫを取得出来ないため、コンテンツ鍵ＣＫが得られず、暗号化コンテンツＥＮＣＣＮＴ＝Ｅｎｃ（ＭＫＣＮＴ）を復号化出来なくなる。このようにすることによって、鍵発行センタ９１は、出力装置を無効化することが出来る。なお、出力装置９３ａ以外の出力装置９３ｂ〜９３ｎを無効化する場合も、出力装置９３ａの場合と同様の動作となるが、中間鍵ＭＫを暗号化する際に用いる個別鍵が変わる点が異なる。
【０００９】
このようなシステムにより、もし攻撃者によって、出力装置９３ａ〜９３ｎのうちの何れかの出力装置に埋め込まれている個別鍵が不正に取得され、攻撃者がその個別鍵を用いた出力装置を作ったとしても、その出力装置に埋め込まれている個別鍵から漏洩元の出力装置を追跡することが出来るため、対象出力装置の無効化などの対策を打つことが可能となる。
【非特許文献１】「デジタル放送局システムのしくみ」、映像情報メディア学会  編、オーム出版局
【非特許文献２】「現代暗号理論」、池野信一  小山謙二  共著、  電子情報通信学会  編
【非特許文献３】「ＴＨＥ  ＡＲＴ  ＯＦ  Ｃ      ＯＭＰＵＴＥＲ  ＰＲＯＧＲＡＭＭＩＮＧ  Ｖｏｌ．２  〜  ＳＥＭＩＮＵＭＥＲＩＣＡＬ  ＡＬＧＯＲＩＴＨＭＳ」、  ＤＯＮＡＬＤ  Ｅ．  ＫＮＵＴＨ  著、  ＩＳＢＮ  ０−２０１−０３８２２−６
【非特許文献４】「暗号理論入門」、岡本  栄司  著、  共立出版株式会社
【発明の開示】
【発明が解決しようとする課題】
【００１０】
出力装置９３ａ〜９３ｎのうちの何れかの出力装置に埋め込まれている個別鍵が不正に取得された場合に、先で述べた方法の他に、攻撃者がその個別鍵を用いて中間鍵ＭＫを取得し、その中間鍵ＭＫを埋め込んだ不正な出力装置を作る場合が考えられる。しかし、先に述べた従来の構成では、中間鍵ＭＫは全ての出力装置９３ａ〜９３ｎで共通の値であったため、その不正な出力装置に埋め込まれている中間鍵から漏洩元の出力装置を追跡することが出来ないという課題を有していた。
【００１１】
本発明は、上記課題を解決するもので、攻撃者によって中間鍵を埋め込んだ不正な出力装置が作成されたとしても、漏洩元の出力装置を追跡することが可能なコンテンツ配信システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、請求項１における発明は、コンテンツを暗号化した暗号化コンテンツを配信するサーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力する出力装置であって、前記暗号化コンテンツを受信するコンテンツ受信手段と、前記中間鍵群を格納する中間鍵群格納手段と、予め前記サーバと共有された一以上の時変変数からなる時変変数群を前記ネットワークを介して受信する時変変数群受信手段と、受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成手段と、前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化手段とを備えることを特徴とする。
【００１３】
請求項２における発明は、前記出力装置は、さらに、予め与えられる個別鍵を格納する個別鍵格納手段と、前記ネットワークを介して暗号化された前記中間鍵群である暗号化中間鍵群を複数含む暗号化中間鍵群集合を受信する暗号化中間鍵群集合受信手段と、前記個別鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つの暗号化された前記暗号化中間鍵群の復号化を行い、復号化された中間鍵群を前記中間鍵群格納手段へ格納する中間鍵群復号化手段とを備えることを特徴とする。
【００１４】
請求項３における発明は、前記暗号化中間鍵群集合は、第一暗号化中間鍵群及び第二暗号化中間鍵群を含み、前記中間鍵群復号化手段は、前記個別鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つの暗号化された前記第一暗号化中間鍵群の復号化を行い第一中間鍵を取得することを特徴とする。
【００１５】
請求項４における発明は、前記中間鍵群復号化手段は、前記時変変数群受信部で受信した時変変数に基づき、前記第一中間鍵から第二中間鍵を取得し、前記コンテンツ復号化鍵生成手段は、当該第二中間鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つである暗号化された前記第二暗号化中間鍵群の復号化を行い前記コンテンツ復号化鍵を生成することを特徴とする。
【００１６】
請求項５における発明は、前記第一中間鍵は、前記出力装置毎又は前記出力装置の機種毎に固有の値であり、前記第二中間鍵は、全ての前記出力装置において共通の値となることを特徴とする。
【００１７】
請求項６における発明は、前記出力装置は、さらに、受信した前記時変変数群を格納する時変変数群格納手段と、前記ネットワークを介して受信した前記中間鍵群を前記中間鍵群格納手段に格納する中間鍵群受信手段とを備えることを特徴とする。
【００１８】
請求項７における発明は、前記コンテンツ復号化鍵生成手段は、予め与えられる一以上のコンテンツ復号化鍵生成式に従って、前記中間鍵群及び前記時変変数群から前記コンテンツ復号化鍵を生成し、前記コンテンツ復号化鍵生成式には、加算演算、減算演算、乗算演算、及び除算演算の少なくとも一つが含まれていることを特徴とする。
【００１９】
請求項８における発明は、前記時変変数群は、さらに前記中間鍵群の何れかを特定する中間鍵群識別子を含み、前記コンテンツ復号化鍵生成手段は、前記中間鍵群識別子を基に、複数の前記中間鍵群から一つの前記中間鍵群を決定し、さらに、当該中間鍵群、前記時変変数群及び前記コンテンツ復号化鍵生成式を基に前記コンテンツ復号化鍵を生成することを特徴とする。
【００２０】
請求項９における発明は、前記暗号化中間鍵群集合受信手段は、前記暗号化中間鍵群としての暗号化テーブルを取得し、前記中間鍵群復号化手段は、前記暗号化テーブルを前記個別鍵に基づき復号化して前記中間鍵群としての復号化テーブルを取得し、前記復号化テーブルには、当該復号化テーブルを構成する要素を識別するために要素識別子、及び当該要素識別子に対応するテーブル要素である中間鍵群が記述されていることを特徴とする。
【００２１】
請求項１０における発明は、前記コンテンツ復号化鍵生成手段は、前記要素識別子を基に、前記テーブル要素である中間鍵群を選択し、当該中間鍵群を基に前記コンテンツ復号化鍵を生成することを特徴とする。
【００２２】
請求項１１における発明は、前記要素識別子は時変変数であり、前記テーブル要素は中間鍵群であることを特徴とする。
【００２３】
請求項１２における発明は、前記中間鍵群は、全ての前記出力装置で共通の中間鍵群及び前記出力装置ごとに固有の中間鍵群から構成されることを特徴とする。
【００２４】
請求項１３における発明は、前記コンテンツ復号化鍵生成手段は、前記中間鍵群及び前記時変変数群を基に、シフトレジスタを用いて前記コンテンツ復号化鍵を計算することを特徴とする。
【００２５】
請求項１４における発明は、前記コンテンツ復号化鍵生成手段は、前記シフトレジスタを用いて左シフト演算を行うことを特徴とする。
【００２６】
請求項１５における発明は、前記中間鍵群復号化手段は、前記時変変数群及び前記第一中間鍵を用いて前記左シフト演算処理を行い第二中間鍵を取得し、前記コンテンツ復号化鍵生成手段は、当該第二中間鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つである暗号化された前記第二暗号化中間鍵群の復号化を行い前記コンテンツ復号化鍵を生成することを特徴とする。
【００２７】
請求項１６における発明は、前記時変変数群は、少なくとも二つの時変変数から構成され、前記時変変数は、所定期間ごとに異なる乱数値又は時間情報を用いて生成される値であることを特徴とする。
【００２８】
請求項１７における発明は、前記時変変数群は、全ての出力装置において共通の値であることを特徴とする。
【００２９】
請求項１８における発明は、コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力する出力装置にネットワークを介して配信するサーバであって、予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納手段と、前記システム秘密変数群を基に、一以上の時変変数から成る時変変数群を生成する時変変数生成手段と、前記時変変数群を格納する時変変数群格納手段と、前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成手段と、前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化手段と、前記暗号化コンテンツを前記出力装置に配信するコンテンツ配信手段とを備えることを特徴とする。
【００３０】
請求項１９における発明は、前記サーバは、さらに、前記時変変数群を前記出力装置に配信する時変変数群配信手段と、前記コンテンツ暗号化鍵を前記出力装置に配信するコンテンツ暗号化鍵配信手段とを備えることを特徴とする。
【００３１】
請求項２０における発明は、前記システム秘密変数群は、少なくとも三つ以上の前記システム秘密変数から構成されることを特徴とする。
【００３２】
請求項２１における発明は、前記中間鍵群は、前記システム秘密変数群及び前記時変変数群を基に生成される少なくとも二つ以上の中間鍵から構成されることを特徴とする。
【００３３】
請求項２２における発明は、ネットワークを介して暗号化コンテンツを復号化して出力を行う出力装置及び当該出力装置に前記暗号化コンテンツを配信するサーバに接続され、前記出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタであって、少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成手段と、前記システム秘密変数群を前記サーバに送信するシステム秘密変数群送信手段と、前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成手段と、個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化して暗号化中間鍵群を生成する中間鍵群暗号化手段と、複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記出力装置に配信する暗号化中間鍵群集合配信手段とを備えることを特徴とする。
【００３４】
請求項２３における発明は、前記システム秘密変数群は、少なくとも三つ以上の前記システム秘密変数から構成されることを特徴とする。
【００３５】
請求項２４における発明は、前記鍵発行センタは、さらに、前記出力装置に前記暗号化中間鍵群集合の中のいずれか一つの前記暗号化中間鍵群を配信する中間鍵群配信手段と、前記システム秘密変数群を基に時変変数群を生成する時変変数群生成手段と、前記時変変数群を前記サーバ及び前記出力装置に配信する時変変数群配信手段とを備えることを特徴とする。
【００３６】
請求項２５における発明は、前記中間鍵群生成手段は、前記中間鍵群として前記コンテンツを復号化するためのコンテンツ復号化生成式の係数を生成することを特徴とする。
【００３７】
請求項２６における発明は、コンテンツを暗号化した暗号化コンテンツを配信するサーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力する出力装置と、コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力する出力装置にネットワークを介して配信するサーバとから構成されるコンテンツ配信システムであって、前記出力装置は、前記暗号化コンテンツを受信するコンテンツ受信手段と、前記中間鍵群を格納する中間鍵群格納手段と、前記ネットワークを介して予め前記サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信手段と、受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成手段と、前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化手段とを備え、前記サーバは、予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納手段と、予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成手段と、前記時変変数群を格納する時変変数群格納手段と、前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成手段と、前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化手段と、前記暗号化コンテンツを前記出力装置に配信するコンテンツ配信手段とを備えることを特徴とする。
【００３８】
請求項２７における発明は、コンテンツを暗号化した暗号化コンテンツを配信するサーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力する出力装置に用いるプログラムであって、前記暗号化コンテンツを受信するコンテンツ受信ステップと、前記中間鍵群を格納する中間鍵群格納ステップと、前記ネットワークを介して予め前記サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信ステップと、受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成ステップと、
前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化ステップとを含むことを特徴とする。
【００３９】
請求項２８における発明は、コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力する出力装置にネットワークを介して配信するサーバに用いるプログラムであって、予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納ステップと、予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成ステップと、前記時変変数群を格納する時変変数群格納ステップと、前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成ステップと、前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化ステップと、前記暗号化コンテンツを前記出力装置に配信するコンテンツ配信ステップとを含むことを特徴とする。
【００４０】
請求項２９における発明は、ネットワークを介して出力装置及びサーバに接続され、当該出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタにおいて用いるプログラムであって、少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成ステップと、前記システム秘密変数群を前記サーバに送信するシステム秘密変数群送信ステップと、前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成ステップと、個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化し、複数の暗号化中間鍵群を生成する中間鍵群暗号化ステップと、複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記出力装置に配信する暗号化中間鍵群集合配信ステップとを含むことを特徴とする。
【００４１】
請求項３０における発明は、請求項２７から請求項２９の何れか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００４２】
請求項３１における発明は、コンテンツを暗号化した暗号化コンテンツを配信するサーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力する出力装置に用いるコンテンツ配信方法であって、前記暗号化コンテンツを受信するコンテンツ受信ステップと、前記中間鍵群を格納する中間鍵群格納ステップと、前記ネットワークを介して予め前記サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信ステップと、受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成ステップと、前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化ステップとを含むことを特徴とする。
【００４３】
請求項３２における発明は、コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力する出力装置にネットワークを介して配信するサーバに用いるコンテンツ配信方法であって、予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納ステップと、予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成ステップと、前記時変変数群を格納する時変変数群格納ステップと、前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成ステップと、前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化ステップと、前記暗号化コンテンツを前記出力装置に配信するコンテンツ配信ステップとを含むことを特徴とする。
【００４４】
請求項３３における発明は、ネットワークを介して出力装置及びサーバに接続され、当該出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタにおいて用いるコンテンツ配信方法であって、少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成ステップと、前記システム秘密変数群を前記サーバに送信するシステム秘密変数群送信ステップと、前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成ステップと、個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化し、複数の暗号化中間鍵群を生成する中間鍵群暗号化ステップと、複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記出力装置に配信する暗号化中間鍵群集合配信ステップとを含むことを特徴とする。
【発明の効果】
【００４５】
本発明のコンテンツ配信システムによれば、攻撃者によって、出力装置に埋め込まれている個別鍵を不正取得され、その個別鍵を基に得られる中間鍵を埋め込んだ不正な出力装置が作成されたとしても、その中間鍵には、どの個別鍵から生成されたかを示す情報を含んでいるため、不正な出力装置に埋め込まれている中間鍵を調査することによって、漏洩元の出力装置を追跡することが可能となる。
【発明を実施するための最良の形態】
【００４６】
以下本発明に係るコンテンツ配信システムの実施の形態について、図面を参照しながら説明する。
【００４７】
（実施の形態１）
本発明に係る一つの実施の形態としてのコンテンツ配信システム１について説明する。最初に、図１を用いて本実施の形態の概要を説明する。
【００４８】
図１において、通信路１０は、後述する鍵発行センタ１１と後述するサーバ１２と後述する複数の出力装置１３ａ〜１３ｎとが接続されている通信路であり、インターネット等のネットワークである。鍵発行センタ１１はコンテンツ鍵ＣＫを作成するのに必要な情報をサーバ１２及び複数の出力装置１３ａ〜１３ｎへ配信する。サーバ１２は、コンテンツＣＮＴを暗号化して配信し、複数の出力装置１３ａ〜１３ｎは、受信した暗号化コンテンツＥＮＣＣＮＴの復号化を行い、復号化されたコンテンツＤＥＣＣＮＴを外部へ出力する。ここで、鍵発行センタ１１と出力装置１３ａ〜１３ｎの全ての組には、予め各組が共有している一つの個別鍵が与えられているとし、例えば鍵発行センタ１１と出力装置１３ａは個別鍵ＩＫａを、鍵発行センタ１１と出力装置１３ｂは個別鍵ＩＫｂを、・・・、鍵発行センタ１１と出力装置１３ｎは個別鍵ＩＫｎを予め共有しているとする
ここでは、各構成要素の動作についてもう少し詳細に説明する。まず、全ての出力装置１３ａ〜１３ｎのそれぞれに中間鍵群ＭＫＧａ〜ＭＫＧｎのそれぞれを配布する方法について説明する。初めに、鍵発行センタ１１は、コンテンツ鍵ＣＫを作成するのに必要なシステム秘密変数群ＳＰＧを予め与えられる条件に従って生成し、それをサーバ１２へ向けて送信する。そして、そのシステム秘密変数群ＳＰＧに基づいて、出力装置１３の数だけ中間鍵群ＭＫＧａ〜ＭＫＧｎを生成する。そして、各中間鍵群ＭＫＧａ〜ＭＫＧｎをそれぞれの出力装置１３ａ〜１３ｎに対応付けを行い、各出力装置１３ａ〜１３ｎが持つ個別鍵ＩＫａ、ＩＫｂ、・・・ＩＫｎに基づいて、対応付けられた各中間鍵群ＭＫＧａ〜ＭＫＧｎの暗号化を行う。その後、各暗号文Ｅｎｃ（ＩＫａ，ＭＫＧａ）、Ｅｎｃ（ＩＫｂ，ＭＫＧｂ）、・・・、Ｅｎｃ（ＩＫｎ，ＭＫＧｎ）を結合した値を暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝Ｅｎｃ（ＩＫａ，ＭＫＧａ）｜｜Ｅｎｃ（ＩＫｂ，ＭＫＧｂ）｜｜・・・Ｅｎｃ（ＩＫｎ，ＭＫＧｎ）として複数の出力装置１３ａ〜１３ｎへ配信する。暗号化中間鍵群集合ＥＮＣＭＫＧＳを受信した出力装置１３ａは、予め与えられている個別鍵ＩＫａを用いて、暗号化中間鍵群集合ＥＮＣＭＫＧＳの中の自身の個別鍵に対応する暗号文Ｅｎｃ（ＩＫａ，ＭＫＧａ）の復号化を行い、出力装置１３ａに対応付けられた中間鍵群ＭＫＧａを取得する。なお、出力装置１３ａ以外の出力装置１３ｂ〜１３ｎの場合も同様に、各出力装置が持つ個別鍵を用いて、各出力装置に対応付けられた中間鍵を取得する。
【００４９】
次に、サーバ１２がコンテンツを配信する場合の動作について説明する。まず、サーバ１２は、予め与えられた条件に従って時変変数群ＰＲＧを生成し、その時変変数群ＰＲＧとシステム秘密変数群ＳＰＧに基づき、コンテンツＣＮＴを暗号化する際に用いるコンテンツ鍵ＣＫを生成する。そして、そのコンテンツ鍵ＣＫに基づき、コンテンツＣＮＴの暗号化を行い、その暗号化コンテンツＥＮＣＣＮＴ＝Ｅｎｃ（ＣＫ，ＣＮＴ）及び時変変数群ＰＲＧを複数の出力装置１３ａ〜１３ｎへ向けて配信する。複数の出力装置１３ａ〜１３ｎは、暗号化コンテンツＥＮＣＣＮＴ及び時変変数群ＰＲＧを受信し、時変変数群ＰＲＧと各中間鍵群ＭＫＧａ〜ＭＫＧｎに基づき、暗号化コンテンツＥＮＣＣＮＴを復号化する際に用いるコンテンツ鍵ＣＫを生成する。そして、そのコンテンツ鍵ＣＫに基づいて、暗号化コンテンツＥＮＣＣＮＴの復号化を行い、その復号化コンテンツＤＥＣＣＮＴを外部へ出力する。
【００５０】
次に、出力装置１３ａにおいてコンテンツＣＮＴを復号出来ないようにする場合について説明する。まず、鍵発行センタ１１は、外部から出力装置１３ａを識別する出力装置識別子ＡＩＤａを受け取り、システム秘密変数群ＳＰＧを新たに生成し、それをサーバ１２に送信する。その後、その新たに生成したシステム秘密変数群ＳＰＧを基に、出力装置１３ａ以外の全出力装置１３ｂ〜１３ｎの数だけ中間鍵群ＭＫＧｂ〜ＭＫＧｎを生成する。そして、出力装置識別子ＡＩＤａに対応する出力装置１３ａ以外の各出力装置１３ｂ〜１３ｎが持つ個別鍵ＩＫｂ〜ＩＫｎに基づいて、中間鍵群ＭＫＧｂ〜ＭＫＧｎの暗号化を行い、その暗号文Ｅｎｃ（ＩＫｂ，ＭＫＧｂ）、・・・、Ｅｎｃ（ＩＫｎ，ＭＫＧｎ）を結合した値を暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝Ｅｎｃ（ＩＫｂ，ＭＫｂ）｜｜・・・Ｅｎｃ（ＩＫｎ，ＭＫｎ）として複数の出力装置１３ａ〜１３ｎへ向けて配信する。これにより、出力装置１３ａでは、新たに生成された中間鍵群を取得出来なくなるため、暗号化コンテンツＥＮＣＣＮＴを復号化出来なくなる。なお、出力装置１３ａ以外の出力装置１３ｂ〜１３ｎの場合も、出力装置１３ａと同様となるが、中間鍵群を暗号化する際に用いる個別鍵が違う点が異なる。
【００５１】
以上が、本実施の形態の概要である。以下に、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム１の詳細について説明を行う。これらの構成要素について詳細に説明する。
【００５２】
＜コンテンツ配信システム１の構成＞
コンテンツ配信システム１は、図１に示すように、通信路１０と、鍵発行センタ１１と、サーバ１２と、複数の出力装置１３ａ〜１３ｎから構成される。
【００５３】
鍵発行センタ１１はコンテンツを暗号化する際に用いるコンテンツ鍵ＣＫを作成するのに必要な情報であるシステム秘密変数群ＳＰＧをサーバ１２へ、コンテンツを復号化する際に用いるコンテンツ鍵ＣＫを作成するのに必要な情報である暗号化中間鍵群集合ＥＮＣＭＫＧＳを複数の出力装置１３ａ〜１３ｎへ配信する。サーバ１２はシステム秘密変数群ＳＰＧと時変変数群ＰＲＧを基にコンテンツ鍵ＣＫを作成し、そのコンテンツ鍵ＣＫを基にコンテンツＣＮＴを暗号化して、暗号化コンテンツＥＮＣＣＮＴ及び時変変数群ＰＲＧを複数の出力装置１３ａ〜１３ｎへ配信する。複数の出力装置１３ａ〜１３ｎは、暗号化中間鍵群集合ＥＮＣＭＫＧＳ及び受信した時変変数群ＰＲＧを基にコンテンツ鍵ＣＫを作成し、そのコンテンツ鍵ＣＫを基に受信した暗号化コンテンツＥＮＣＣＮＴを復号化して、その復号化コンテンツＤＥＣＣＮＴを外部へ出力する。
【００５４】
以下に、これらの構成要素について詳細に説明する。まず、通信路１０の構成について述べ、続いて鍵発行センタ１１及びサーバ１２及び出力装置１３ａ〜１３ｎの構成と動作について図を用いて説明する。
【００５５】
＜通信路１０の構成＞
通信路は、例えば、インターネット、電話回線や専用線等のようなネットワークである。
【００５６】
＜鍵発行センタ１１の構成＞
鍵発行センタ１１は、図２に示すように、システム秘密変数群生成部１１１、システム秘密変数群送信部１１２、中間鍵群生成部１１３、出力装置対応情報格納部１１４、中間鍵群暗号化部１１５、暗号化中間鍵群集合配信部１１６、入力部１１７、対応情報更新部１１８から構成される。
【００５７】
（１）システム秘密変数群生成部１１１
後述する対応情報更新部１１８から秘密変数群生成要求ＲＥＱ１を受信した場合、システム秘密変数群生成部１１１は、システム秘密変数ｓを生成する。システム秘密変数ｓを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。乱数を生成する方法については、非特許文献３が詳しい。また、予め与えられたシステム秘密変数生成式”ａ＊ａ−ｂ＊ｂ＝０  ｍｏｄ  Ｎ”を満たすようにシステム秘密変数ａ及びｂを生成する。ここで、システム秘密変数ａ及びｂを生成する方法としては、システム秘密変数ｓのときと同様に、例えば、乱数を用いてランダムに生成する方法などがある。システム秘密変数ｓ及びａ及びｂ及びモジュラスＮは例えば１２８ビットの自然数であり、ここでのモジュラスＮの値は、後述する中間鍵群生成部１１３、サーバ１２の時変変数群生成部１２８及びコンテンツ暗号化鍵生成部１２９、出力装置１３ａ〜１３ｎのコンテンツ復号化鍵生成部１３２にあるモジュラスＮと同じ値であり、例えば２＾｛１２８｝などである。ここで、”＾”はべき乗演算のことであり、例えば２＾｛４｝は１６を意味し、以後同じ意味で用いる。その後、図３で示すようなシステム秘密変数ｓ、ａ、ｂから構成されるシステム秘密変数群ＳＰＧを生成し、そのシステム秘密変数群ＳＰＧをシステム秘密変数群送信部１１２及び中間鍵群生成部１１３に出力する。なお、鍵発行センタが動作開始した際には、秘密変数群生成要求ＲＥＱ１を受信した場合と同様に、システム秘密変数群ＳＰＧを生成し、システム秘密変数群送信部１１２及び中間鍵群生成部１１３に出力する。
【００５８】
（２）システム秘密変数群送信部１１２
システム秘密変数群送信部１１２は、システム秘密変数群生成部１１１から受け取ったシステム秘密変数群ＳＰＧを通信路１０経由でサーバ１２に送信する。
【００５９】
（３）中間鍵群生成部１１３
中間鍵群生成部１１３は、システム秘密変数群生成部１１１からシステム秘密変数群ＳＰＧを受信した場合、まず図４で示すような出力装置対応情報格納部１１３に保管されている中間鍵群ＭＫＧａ〜ＭＫＧｎを全て消去する。その後、受信したシステム秘密変数群ＳＰＧから秘密変数ａ及びｂを抽出する。そして、予め与えられる個別化変数生成式”ｘ＊ａ−ｙ＊ｂ＝１  ｍｏｄ  Ｎ”を満たすような個別化変数ｘ及びｙを生成する。ここで、個別化変数ｘ及びｙを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。個別化変数ｘ及びｙは例えば１２８ビットの自然数であり、また”＊”は乗算演算のことであり、例えば２＊５は１０を意味し、以後同じ意味で用いる。この個別化変数ｘ及びｙの求め方としては、例えば、個別化変数ｘをランダムな自然数として生成し、個別化変数生成式”ｘ＊ａ−ｙ＊ｂ＝１  ｍｏｄ  Ｎ”にその個別化変数ｘを代入することにより、残りの個別化変数ｙを求める方法などがあり、ランダムな個別化変数ｘを一つ選ぶと、必ず個別化変数ｙは存在する。その後、その個別化変数ｘ及びｙを用いて、予め与えられる２つの中間鍵生成式”Ｄ＝ｓ＊ｘ  ｍｏｄ  Ｎ”、”Ｅ＝ｓ＊ｙ  ｍｏｄ  Ｎ”に基づき２つの中間鍵Ｄ及びＥを生成し、その中間鍵Ｄ及びＥから構成される図５で示すような中間鍵群ＭＫＧａを生成する。ここで、”／”は除算演算のことであり、例えば１０／２は５を意味し、以後同じ意味で用いる。そして、この中間鍵群ＭＫＧａを出力装置識別子ＡＩＤａに対応付けて、出力装置対応情報格納部１１４に格納する。次に、出力装置対応情報格納部１１４にある出力装置識別子ＡＩＤａ以外の出力装置識別子ＡＩＤｂ〜ＡＩＤｎに対しても同様に中間鍵群ＭＫＧｂ〜ＭＫＧｎを作成する。ここで、中間鍵群ＭＫＧｂ〜ＭＫＧｎの構成は図５で示す中間鍵群ＭＫＧａの構成と同じであるが、各中間鍵群ＭＫＧａ〜ＭＫＧｎがそれぞれ個別になるようにする。そのためには、各中間鍵群ＭＫＧａ〜ＭＫＧｎを作成する際に用いる個別化変数ｘ及びｙがそれぞれ異なる値になるようにすれば良い。全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎが割り当てたら、暗号化中間鍵群生成要求ＲＥＱ２を中間鍵群暗号化部１１５へ出力する。
【００６０】
（４）出力装置対応情報格納部１１４
出力装置対応情報格納部１１４は、図４で示すように複数の出力装置１３ａ〜１３ｎを識別する出力装置識別子ＡＩＤａ〜ＡＩＤｎと、その各出力装置１３ａ〜１３ｎに予め与えられている個別鍵ＩＫａ〜ＩＫｎ及び中間鍵群ＭＫＧａ〜ＭＫＧｎを保持するものである。例えば、図４においては、出力装置識別子ＡＩＤａに対応づけられている出力装置１３ａは個別鍵ＩＫａと中間鍵群ＭＫＧａを保持し、出力装置識別子ＡＩＤｂに対応づけられている出力装置１３ｂは個別鍵ＩＫｂ及び中間鍵群ＭＫＧｂを保持し、出力装置識別子ＡＩＤｎに対応づけられている出力装置１３ｎは個別鍵ＩＫｎ及び中間鍵群ＭＫＧｎを保持していることを表している。出力装置対応情報格納部１１４へは、中間鍵群生成部１１３及び中間鍵群暗号化部１１５及び対応情報更新部１１８からアクセス可能である。
【００６１】
（５）中間鍵群暗号化部１１５
中間鍵群暗号化部１１５は、中間鍵群生成部１１３から暗号化中間鍵群生成要求ＲＥＱ２を受け取った場合、出力装置対応情報格納部１１４にアクセスして、出力装置識別子ＡＩＤａ〜ＡＩＤｎ及び個別鍵ＩＫａ〜ＩＫｎ及び中間鍵群ＭＫＧａ〜ＭＫＧｎを全て取得する。そして、まず出力装置識別子ＡＩＤａに対して、対応している個別鍵ＩＫａに基づいて中間鍵群ＭＫＧａの暗号化を行い、その暗号文を暗号化中間鍵群ＥＮＣＭＫＧａ＝Ｅｎｃ（ＩＫａ，ＭＫＧａ）とし、出力装置識別子ＡＩＤａに対応付ける。そして、他の出力装置識別子ＡＩＤｂ〜ＡＩＤｎに対しても同様に、対応している個別鍵に基づいて中間鍵群の暗号化を行い、その暗号文Ｅｎｃ（ＩＫｂ，ＭＫＧｂ）、・・・、Ｅｎｃ（ＩＫｎ，ＭＫＧｎ）を暗号化中間鍵群ＥＮＣＭＫＧｂ、・・・、ＥＮＣＭＫＧｎとし、それぞれの出力装置識別子ＡＩＤｂ〜ＡＩＤｎに対応付ける。そして、図６で示すような装置識別子ＡＩＤａ〜ＡＩＤｎ及び暗号化中間鍵群ＥＮＣＭＫＧａ〜ＥＮＣＭＫＧｎから構成される暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝｛ＡＩＤａ，ＥＮＣＭＫＧａ｝｜｜｛ＡＩＤｂ，ＥＮＣＭＫＧｂ｝・・・｜｜｛ＡＩＤｎ，ＥＮＣＭＫＧｎ｝｝を作成し、その暗号化中間鍵群集合ＥＮＣＭＫＧＳを暗号化中間鍵群集合配信部１１６に出力する。ここで中間鍵群を暗号化するのに使用する暗号化アルゴリズムは、例えば非特許文献２に記載のブロック暗号であるＤＥＳ暗号方式などであり、出力装置１３ａ〜１３ｎの各暗号化中間鍵群復号化部１３８で用いる復号化アルゴリズムと同じ方式を用いる。
【００６２】
（６）暗号化中間鍵群集合配信部１１６
暗号化中間鍵群集合配信部１１６は、中間鍵群暗号化部１１５から暗号化中間鍵群集合ＥＮＣＭＫＧＳを受信した場合、受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを通信路１０経由で複数の出力装置１３ａ〜１３ｎに配信する。
【００６３】
（７）入力部１１７
入力部１１７は、外部から出力装置１３ａ〜１３ｎを識別する出力装置識別子ＡＩＤａ〜ＡＩＤｎのいずれかを入力出来るものであり、外部から出力装置識別子ＡＩＤａ〜ＡＩＤｎのいずれかを受信した場合、対応情報更新部１１８にその受信した出力装置識別子を出力する。なお、入力部１１７は、出力装置１３ａ〜１３ｎのいずれかの出力装置を無効化するときにのみ必要であるため、出力装置を無効化しない場合は、入力部１１７はなくてもよい。
【００６４】
（８）対応情報更新部１１８
対応情報更新部１１８は、入力部１１７から出力装置識別子ＡＩＤａ〜ＡＩＤｎのいずれかを受信した場合、まず図４で示すような出力装置対応情報格納部１１４にアクセスし、その中から受信した出力装置識別子及びその出力装置識別子に対応している個別鍵及び中間鍵群を出力装置対応情報格納部１１４から削除する。例えば、図４のような出力装置対応情報格納部１１４において、対応情報更新部１１８が出力装置識別子ＡＩＤａを受信したとすると、対応する出力装置識別子ＡＩＤａ及び個別鍵ＩＫａ及び中間鍵群ＭＫＧａを出力装置対応情報格納部１１４から削除することになる。削除が終わったら、システム秘密変数群生成部１１１に秘密変数群生成要求ＲＥＱ１を出力する。なお、対応情報更新部１１８は、入力部１１７と同様に、出力装置１３ａ〜１３ｎのいずれかの出力装置を無効化するときにのみ必要であるため、出力装置を無効化しない場合は、対応情報更新部１１８はなくてもよい。
【００６５】
＜鍵発行センタ１１の動作＞
以上で、鍵発行センタ１１の構成について説明を行ったが、ここでは鍵発行センタ１１の動作について説明する。まず、コンテンツ鍵を作成するのに必要な鍵情報をサーバ１２及び複数の出力装置１３ａ〜１３ｎに配信するときの動作について図７に示すフローチャートを用いて説明し、その後、出力装置を無効化する例として、出力装置１３ａを無効化する時の動作について図８に示すフローチャートを用いて説明する。
【００６６】
≪鍵情報配信時の動作≫
システム秘密変数群生成部１１１は、秘密変数ｓを生成する（Ｓ１１０１）。
【００６７】
システム秘密変数群生成部１１１は、予め与えられる秘密変数生成式”ａ＊ａ−ｂ＊ｂ＝０  ｍｏｄ  Ｎ”を満たすように、秘密変数ａ及びｂを生成する（Ｓ１１０２）。
【００６８】
生成した秘密変数ｓ、ａ、ｂから構成されるシステム秘密変数群ＳＰＧを生成し、そのシステム秘密変数群ＳＰＧをシステム秘密変数群送信部１１２及び中間鍵群生成部１１３へ出力する（Ｓ１１０３）。
【００６９】
システム秘密変数群送信部１１２は、受信したシステム秘密変数群ＳＰＧをサーバ１２へ向けて送信する（Ｓ１１０４）。
【００７０】
中間鍵群生成部１１３は、出力装置対応情報格納部１１４に格納されている中間鍵群ＭＫＧａ〜ＭＫＧｎを全て削除する（Ｓ１１０５）。
【００７１】
中間鍵群生成部１１３は、予め与えられる個別化変数生成式”ｘ＊ａ−ｙ＊ｂ＝１  ｍｏｄ  Ｎ”を満たす個別化変数ｘ及びｙを生成する。この時、前に生成した個別化変数ｘ及びｙと値が衝突しないようにする。例えば、前に生成した個別化変数を格納しておき、新たに生成した個別化変数と一致しないことを確認することで実現出来る。
【００７２】
個別化変数ｘ及びｙを用いて、予め与えられる中間鍵生成式”Ｄ＝ｓ＊ｘ  ｍｏｄ  Ｎ”、”Ｅ＝ｓ＊ｙ  ｍｏｄ  Ｎ”を満たす中間鍵Ｄ及びＥを生成する（Ｓ１１０６）。
【００７３】
中間鍵Ｄ及びＥから構成される中間鍵群を生成し、その中間鍵群を出力装置対応情報格納部１１４においてまだ中間鍵群が割り当てられていない出力装置識別子ＡＩＤａ〜ＡＩＤｎの何れかに対応づけて格納する（Ｓ１１０７）。
【００７４】
もし、出力装置対応情報格納部１１４に格納されている全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎを割り当てられたら、ステップＳ１１０９へ進む。もし、残っていたらステップＳ１１０６に戻る（Ｓ１１０８）。
【００７５】
中間鍵群生成部１１３は、暗号化中間鍵群集合生成要求ＲＥＱ２を中間鍵群暗号化部１１５へ出力する（Ｓ１１０９）。
【００７６】
暗号化中間鍵群集合生成要求ＲＥＱ２を受け取った中間鍵群暗号化部１１５は、出力装置対応情報格納部１１４にアクセスして、出力装置識別子ＡＩＤａ〜ＡＩＤｎ及び個別鍵ＩＫａ〜ＩＫｎ及び中間鍵群ＭＫＧａ〜ＭＫＧｎを全て取得する（Ｓ１１１０）。
【００７７】
中間鍵群暗号化部１１５は、各個別鍵ＩＫａ〜ＩＫｎに基づいて各々の中間鍵群ＭＫＧａ〜ＭＫＧｎを暗号化し、その暗号化中間鍵群ＥＮＣＭＫＧａ〜ＥＮＣＭＫＧｎ及び暗号化に用いた個別鍵ＩＫａ〜ＩＫｎに対応する出力装置識別子ＡＩＤａ〜ＡＩＤｎから構成される暗号化中間鍵群集合ＥＮＣＭＫＧＳを作成する（Ｓ１１１１）。
【００７８】
中間鍵群暗号化部１１５は、作成した暗号化中間鍵群集合ＥＮＣＭＫＧＳを暗号化中間鍵群集合配信部１１６に出力する（Ｓ１１１２）。
【００７９】
暗号化中間鍵群集合配信部１１６は、暗号化中間鍵群集合ＥＮＣＭＫＧＳを受け取り、その受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを複数の出力装置１３ａ〜１３ｎへ向けて配信し、終了する（Ｓ１１１３）。
【００８０】
≪出力装置１３ａの無効化時の動作≫
入力部１１７は、受信した出力装置識別子ＡＩＤａを、対応情報更新部１１８へ出力する（Ｓ１１５１）。
【００８１】
対応情報更新部１１８は、入力部１１７から受信した出力装置識別子ＡＩＤａ及び出力装置識別子ＡＩＤａに対応する個別鍵ＩＫａ及び中間鍵群ＭＫＧａを出力装置対応情報格納部１１４から削除する（Ｓ１１５２）。
【００８２】
対応情報更新部１１８は、システム秘密変数群生成部１１１へ秘密変数群生成要求ＲＥＱ１を出力し、ステップＳ１１０１に進む（Ｓ１１５３）。
【００８３】
なお、出力装置１３ａ以外の出力装置１３ｂ〜１３ｎを無効化する時の動作も、出力装置１３ａの場合とほぼ同様の動作となるが、対応情報更新部１１８において、出力装置対応情報格納部１１４から削除する出力装置識別子及び個別鍵及び中間鍵群が無効化する出力装置１３ｂ〜１３ｎに依存して変化する点が異なる。
【００８４】
以上が、コンテンツ配信システム１の構成要素である鍵発行センタ１１の構成と動作である。続いて、サーバ１２の構成と動作について説明を行う。
【００８５】
＜サーバ１２の構成＞
サーバ１２は、図９に示すように、入力部１２１、コンテンツ暗号化部１２２、コンテンツ鍵格納部１２３、コンテンツ配信部１２４、時変変数群格納部１２５、システム秘密変数群受信部１２６、システム秘密変数群格納部１２７、時変変数群生成部１２８、コンテンツ暗号鍵生成部１２９から構成される。
【００８６】
（１）入力部１２１
入力部１２１は、外部からコンテンツＣＮＴを入力できるものである。外部から入力されるコンテンツＣＮＴは、出力装置１３ａ〜１３ｎで出力可能なフォーマット形式であって、例えば、ＭＰＥＧフォーマットによる動画データやＭＰ３フォーマットによる音声データなどである。入力部１２１は、外部からコンテンツＣＮＴを受信した場合、その受信したコンテンツＣＮＴをコンテンツ暗号化部１２２に出力する。
【００８７】
（２）コンテンツ暗号化部１２２
コンテンツ暗号化部１２２は、入力部１２１からコンテンツＣＮＴを受信した場合、図１０に示すようなコンテンツ鍵格納部１２３にアクセスしてコンテンツ鍵ＣＫを取得し、取得したコンテンツ鍵ＣＫに基づいて、逐次、入力部１２１から受け取ったコンテンツＣＮＴの暗号化を行う。ここでコンテンツＣＮＴの暗号化に使用する暗号化アルゴリズムは、例えば、ブロック暗号のＤＥＳ暗号方式などであり、後述する出力装置１３ａ〜１３ｎの各コンテンツ復号化部１３５において暗号化コンテンツＥＮＣＣＮＴを復号化するのに用いる復号化アルゴリズムと同じ方式を用いる。その後、暗号化されたコンテンツＥＮＣＣＮＴをコンテンツ配信部１２４に出力する。
【００８８】
（３）コンテンツ鍵格納部１２３
コンテンツ鍵格納部１２３は、図１０で示すようにコンテンツ鍵ＣＫが格納されている。コンテンツ鍵ＣＫはコンテンツＣＮＴの暗号化鍵であり、コンテンツ暗号化部１２２で用いられる暗号アルゴリズムの暗号化鍵である。
【００８９】
（４）コンテンツ配信部１２４
コンテンツ配信部１２４は、逐次、図１１で示すような後述する時変変数群格納部１２５に格納されている時変変数群ＰＲＧを取得し、コンテンツ暗号化部１２２から受け取った暗号化コンテンツＥＮＣＣＮＴ及びその時変変数群ＰＲＧを通信路１０経由で複数の出力装置１３ａ〜１３ｎに配信する。
【００９０】
（５）時変変数群格納部１２５
時変変数群格納部１２５は、図１１で示すように時変変数群ＰＲＧを保持する。
【００９１】
（６）システム秘密変数群受信部１２６
システム秘密変数群受信部１２６が、鍵発行センタ１１からシステム秘密変数群ＳＰＧを受信した場合、受信したシステム秘密変数群ＳＰＧを図１２で示すようなシステム秘密変数群格納部１２７に格納する。
【００９２】
（７）システム秘密変数群格納部１２７
システム秘密変数群格納部１２７は、図１２で示すようにシステム秘密変数群ＳＰＧを格納するものである。システム秘密変数群格納部１２７へは、システム秘密変数群受信部１２６及び時変変数群生成部１２８及びコンテンツ暗号化鍵生成部１２９からアクセス可能である。
【００９３】
（８）時変変数群生成部１２８
時変変数群生成部１２８には、予め時変変数群更新条件が与えられており、その条件を満たした場合に、２つの乱数ｚ及びｗを生成する。ここで、乱数ｚ及びｗは、例えばそれぞれ１２８ビットの自然数である。また、システム秘密変数群格納部１２７にアクセスし、システム秘密変数群ＳＰＧを取得し、その中から秘密変数ａ及びｂを抽出する。そして、予め与えられる二つの時変変数生成式”Ｑ＝ｚ＊ａ＋ｗ＊ｂ  ｍｏｄ  Ｎ”、”Ｒ＝ｚ＊ｂ＋ｗ＊ａ  ｍｏｄ  Ｎ”を基に、二つの時変変数Ｑ及びＲを生成する。その後、生成した時変変数Ｑ及びＲから、図１３で示すような時変変数群ＰＲＧを生成し、その時変変数群ＰＲＧを時変変数群格納部１２５に格納する。最後に、コンテンツ暗号化鍵生成部１２９に向けて乱数ｚ及びｗを出力する。例えば、時変変数群更新条件は”１時間毎”や“１日毎”などであり、これは時変変数群生成部１２８がカウンタを備えるなどにより実現可能である。なお、時変変数群生成部１２８が外部から時変変数更新要求信号を受信するようにして、その時変変数更新要求信号を受信した場合に、時変変数群ＰＲＧを生成するようにしてもよい。
【００９４】
（９）コンテンツ暗号化鍵生成部１２９
コンテンツ暗号化鍵生成部１２９は、時変変数群生成部１２８から乱数ｚ及びｗを受け取った場合、まず、システム秘密変数群格納部１２７にアクセスし、システム秘密変数群ＳＰＧを取得し、その中から秘密変数ｓを抽出する。その後、コンテンツ鍵ＣＫを、予め与えられるコンテンツ暗号化鍵生成式”ＣＫ＝ｓ＊ｚ＋ｓ＊ｗ＊ａ／ｂ  ｍｏｄ  Ｎ”に基づいて生成し、その生成したコンテンツ鍵ＣＫをコンテンツ鍵格納部１２３に格納する。
【００９５】
＜サーバ１２の動作＞
以上で、サーバ１２の構成について説明を行ったが、ここでサーバ１２の動作について説明する。まず、出力装置１３ａ〜１３ｎへコンテンツＣＮＴを配信する時の動作について図１４に示すフローチャートを用いて説明する。そして、鍵発行センタ１１からコンテンツ鍵ＣＫを生成するのに用いるシステム秘密変数群ＳＰＧを受信した際の動作について図１５に示すフローチャートを用いて説明する。最後に、時変変数群ＰＲＧを更新する時の動作について図１６に示すフローチャートを用いて説明する。
【００９６】
≪出力装置１３ａ〜１３ｎへのコンテンツ配信時の動作≫
受信部１２１が、外部からコンテンツＣＮＴを受け取った場合、ステップＳ１２０２に進む。受信していない場合、終了する（Ｓ１２０１）。
【００９７】
受信部１２１は、受信したコンテンツＣＮＴをコンテンツ暗号化部１２２に出力する（Ｓ１２０２）。
【００９８】
次に、そのコンテンツＣＮＴを受け取ったコンテンツ暗号化部１２２は暗号化格納部１１３にアクセスしコンテンツ鍵ＣＫを取得する（Ｓ１２０３）。
【００９９】
コンテンツ暗号化部テンツ暗号化部１２２はそのコンテンツ鍵ＣＫに基づいてコンテンツＣＮＴの暗号化を行い、その暗号化コンテンツＥＮＣＣＮＴをコンテンツ配信部１２４へ出力する（Ｓ１２０４）。
【０１００】
その暗号化コンテンツＥＮＣＣＮＴを受け取ったコンテンツ配信部１２４は、時変変数群格納部１２５へアクセスし、時変変数群ＰＲＧを取得する（Ｓ１２０５）。
【０１０１】
その時変変数群ＰＲＧと暗号化コンテンツＥＮＣＣＮＴを出力装置１３ａ〜１３ｎへ配信し、終了する（Ｓ１２０６）。
【０１０２】
≪鍵発行センタ１１からのシステム秘密変数群ＳＰＧ受信時の動作≫
システム秘密変数群受信部１２６が、鍵発行センタ１１からシステム秘密変数群ＳＰＧを受け取った場合、ステップＳ１２３２に進む。受信していない場合、終了する（Ｓ１２３１）。
【０１０３】
システム秘密変数群受信部１２６は、受信したシステム秘密変数群ＳＰＧをシステム秘密変数群格納部１２７へ格納し、終了する（Ｓ１２３２）。
【０１０４】
≪時変変数群ＰＲＧ更新時の動作≫
時変変数群生成部１２８は、予め与えられた時変変数群更新条件を満たしている場合、ステップＳ１２６２に進む。時変変数群更新条件を満たしていない場合、終了する（Ｓ１２６１）。
【０１０５】
時変変数群生成部１２８は、システム秘密変数群格納部１２７にアクセスし、システム秘密変数群ＳＰＧを取得し、その中から第二秘密変数ａ及び第三秘密変数ｂを抽出する（Ｓ１２６２）。
【０１０６】
時変変数群生成部１２８は、乱数ｚ及びｗを生成する（Ｓ１２６３）。
時変変数群生成部１２８は、予め与えられる時変変数生成式”Ｑ＝ａ＊ｚ＋ｂ＊ｗ  ｍｏｄ  Ｎ”、”Ｒ＝ｂ＊ｚ＋ａ＊ｗ  ｍｏｄ  Ｎ”を基に、時変変数Ｑ及びＲを生成し、
生成した時変変数Ｑ及びＲから構成される時変変数群ＰＲＧを生成する（Ｓ１２６４）。
【０１０７】
時変変数群生成部１２８は、時変変数群ＰＲＧを時変変数群格納部１２５に格納する（Ｓ１２６５）。
【０１０８】
時変変数群生成部１２８は、コンテンツ暗号化鍵生成部１２９へ乱数ｚ及びｗを出力する（Ｓ１２６６）。
【０１０９】
乱数ｚ及びｗを受け取ったコンテンツ暗号化鍵生成部１２９は、まず、システム秘密変数群格納部１２７にアクセスし、システム秘密変数群ＳＰＧを取得し、その中から秘密変数ｓを抽出する（Ｓ１２６７）。
【０１１０】
コンテンツ暗号化鍵生成部１２９は、予め与えられるコンテンツ暗号化鍵生成式”ＣＫ＝ｓ＊ｚ＋ｓ＊ｗ＊ａ／ｂ  ｍｏｄ  Ｎ”に基づいて、コンテンツ鍵ＣＫを生成する（Ｓ１２６８）。
【０１１１】
コンテンツ暗号化鍵生成部１２９は、取得したコンテンツ鍵ＣＫをコンテンツ鍵格納部１２３に格納し、終了する（Ｓ１２６９）。
【０１１２】
以上が、コンテンツ配信システム１の構成要素であるサーバ１２の構成と動作である。続いて、出力装置１３ａ〜１３ｎの構成と動作について説明を行う。まず、出力装置１３ａの構成と動作について説明を行い、次に、出力装置１３ａと他の出力装置１３ｂ〜１３ｎとの相違点について述べる。
【０１１３】
＜出力装置１３ａの構成＞
出力装置１３ａは、図１７に示すように、コンテンツ受信部１３１、コンテンツ復号化鍵生成部１３２ａ、コンテンツ鍵格納部１３３、中間鍵群格納部１３４ａ、コンテンツ復号化部１３５、出力部１３６、暗号化中間鍵群集合受信部１３７、暗号化中間鍵群復号化部１３８ａ、個別鍵格納部１３９ａから構成される。ここで、コンテンツ受信部１３１、コンテンツ鍵格納部１３３、コンテンツ復号化部１３５、出力部１３６、暗号化中間鍵群集合受信部１３７は出力装置１３ａ〜１３ｎにおいて共通の構成要素であり、コンテンツ復号化鍵生成部１３２ａ、中間鍵群格納部１３４ａ、暗号化中間鍵群復号化部１３８ａ、個別鍵格納部１３９ａは、出力装置１３ａ固有の構成要素である。
【０１１４】
（１）コンテンツ受信部１３１
コンテンツ受信部１３１が、サーバ１２から暗号化コンテンツＥＮＣＣＮＴ及び時変変数群ＰＲＧを受信した場合、受信した時変変数群ＰＲＧをコンテンツ復号化鍵生成部１３２ａに出力し、その後、暗号化コンテンツＥＮＣＣＮＴをコンテンツ復号化部１３５に出力する。
【０１１５】
（２）コンテンツ復号化鍵生成部１３２ａ
コンテンツ復号化鍵生成部１３２ａが、コンテンツ受信部１３１から時変変数群ＰＲＧを受信した場合、まず図１８で示すようなコンテンツ鍵格納部１３３にアクセスし、コンテンツ鍵格納部１３３に格納されている使用時変変数群ＵＰＲＧと受信した時変変数群ＰＲＧが一致するか確認する。ここで一致していたら、コンテンツ鍵格納部１３３にアクセスして、格納されているコンテンツ鍵ＣＫをコンテンツ復号化部１３５に出力する。もし一致していなければ、図１９で示すような中間鍵群格納部１３４ａにアクセスし、中間鍵群ＭＫＧａを取得する。そして、中間鍵群ＭＫＧａから中間鍵Ｄ及びＥを抽出する。その後、予め与えられるコンテンツ復号化鍵生成式”ＣＫ＝Ｄ＊Ｑ−Ｅ＊Ｒ  ｍｏｄ  Ｎ”を基に、コンテンツ鍵ＣＫを生成し、その生成したコンテンツ鍵ＣＫをコンテンツ鍵格納部１３３へ格納し、時変変数群ＰＲＧを使用時変変数ＵＰＲとしてコンテンツ鍵格納部１３３へ格納し、最後に、コンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力する。
【０１１６】
（３）コンテンツ鍵格納部１３３
コンテンツ鍵格納部１３３は、図１８で示すように、コンテンツ鍵ＣＫ及び使用時変変数群ＵＰＲＧを保持するものである。このコンテンツ鍵格納部１３３へは、コンテンツ復号化鍵生成部１３２ａからアクセス可能である。
【０１１７】
（４）中間鍵群格納部１３４ａ
中間鍵群格納部１３４ａは、図１９で示すように、中間鍵群ＭＫＧａを保持するものである。この中間鍵群格納部１３４ａへは、コンテンツ復号化鍵生成部１３２ａ及び暗号化中間鍵群復号化部１３８ａからアクセス可能である。
【０１１８】
（５）コンテンツ復号化部１３５
コンテンツ復号化部１３５は、コンテンツ受信部１３１から暗号化コンテンツＥＮＣＣＮＴを受信し、コンテンツ復号化鍵生成部１３２ａからコンテンツ鍵ＣＫを受信した場合、そのコンテンツ鍵ＣＫに基づいて、暗号化コンテンツＥＮＣＣＮＴの復号化を行う。ここで復号化に使用する復号化アルゴリズムは、例えば、ブロック暗号のＤＥＳ方式などであり、サーバ１２のコンテンツ暗号化部１２２で用いる暗号化アルゴリズムと同じ方式を用いる。復号化した復号化コンテンツＤＥＣＣＮＴ＝Ｄｅｃ（ＣＫ，ＥＮＣＣＮＴ）を出力部１３６へ出力する。ここで、Ｄｅｃ（Ｋ，Ｃ）は復号化鍵Ｋをもとに、暗号文Ｃを復号化した際の復号文とする。
【０１１９】
（６）出力部１３６
出力部１３６は、コンテンツ復号化部１３５から復号化コンテンツＤＥＣＣＮＴを受信した場合、受信した復号化コンテンツＤＥＣＣＮＴを外部へ出力する。
【０１２０】
（７）暗号化中間鍵群集合受信部１３７
暗号化中間鍵群集合受信部１３７が、サーバ１２から、図６で示すような暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝｛ＡＩＤａ，ＥＮＣＭＫＧａ｝｜｜・・・｜｜｛ＡＩＤｎ，ＥＮＣＭＫＧｎ｝を受信した場合、受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを暗号化中間鍵群復号化部１３８ａに出力する。
【０１２１】
（８）暗号化中間鍵群復号化部１３８ａ
暗号化中間鍵群復号化部１３８ａは、暗号化中間鍵群集合受信部１３７から暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝｛ＡＩＤａ，ＥＮＣＭＫＧａ｝｜｜・・・｜｜｛ＡＩＤｎ，ＥＮＣＭＫＧｎ｝を受信した場合、まず図２０に示すような個別鍵格納部１３９ａから出力装置識別子ＡＩＤａ及び個別鍵ＩＫａを取得し、受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳからその出力装置識別子ＡＩＤａに対応する暗号化中間鍵群ＥＮＣＭＫＧａを取得する。そして、個別鍵格納部１３９ａに格納されていた個別鍵ＩＫａに基づいてその対応した暗号化中間鍵群ＥＮＣＭＫＧａ＝Ｅｎｃ（ＩＫａ，ＭＫＧａ）の復号化を行う。その復号化した中間鍵群ＭＫＧａを中間鍵群格納部１３４ａに格納する。
【０１２２】
（９）個別鍵格納部１３９ａ
個別鍵格納部１３９はａ、図２０で示すように、出力装置識別子ＡＩＤａ及び個別鍵ＩＫａを保持するものである。この個別鍵格納部１３９へは、暗号化中間鍵群復号化部１３８ａからアクセス可能である。
【０１２３】
＜出力装置１３ａの動作＞
以上で、出力装置１３ａの構成について説明を行ったが、ここで出力装置１３ａの動作について説明する。まず、暗号化されたコンテンツＥＮＣＣＮＴをサーバ１２から受信した場合の動作について図２１に示すフローチャートを用いて説明し、次に、暗号化コンテンツＥＮＣＣＮＴのコンテンツ鍵ＣＫを生成するのに用いる中間鍵群ＭＫＧａに関する情報を含んでいる暗号化中間鍵群集合ＥＮＣＭＫＧＳを受信した際の動作について図２２に示すフローチャートを用いて説明する。
【０１２４】
≪サーバ１２から暗号化コンテンツを受信した時の動作≫
コンテンツ受信部１３１が暗号化コンテンツＥＮＣＣＮＴ及び時変変数群ＰＲＧを受け取った場合、ステップＳ１３０２に進む。受信していない場合、終了する（Ｓ１３０１）。
【０１２５】
コンテンツ受信部１３１は、受信した時変変数群ＰＲＧをコンテンツ復号化鍵生成部１３２ａに出力する（Ｓ１３０２）。
【０１２６】
時変変数群ＰＲＧを受信したコンテンツ復号化鍵生成部１３２ａは、コンテンツ鍵格納部１３３にアクセスし、受信した時変変数群ＰＲＧと使用時変変数群ＵＰＲＧが同じ値かどうかを確認する。もし同じであれば、ステップＳ１３０７に進む。もし違っていたら、ステップＳ１３０４に進む（Ｓ１３０３）。
【０１２７】
コンテンツ復号化鍵生成部１３２ａは、中間鍵群格納部１３４ａにアクセスして、中間鍵群ＭＫＧａを取得する（Ｓ１３０４）。
【０１２８】
コンテンツ復号化鍵生成部１３２ａは、中間鍵群ＭＫＧａから中間鍵ＤとＥを抽出し、時変変数群ＰＲＧから時変変数ＱとＲを抽出し、コンテンツ鍵ＣＫを予め与えられたコンテンツ復号化鍵生成式”ＣＫ＝（Ｄ＊Ｑ）−（Ｅ＊Ｒ）  ｍｏｄ  Ｎ”に基づき生成する（Ｓ１３０５）。
【０１２９】
コンテンツ復号化鍵生成部１３２ａは、コンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力し、ステップＳ１３０８に進む（Ｓ１３０６）。
【０１３０】
コンテンツ復号化鍵生成部１３２ａは、中間鍵群格納部１３４ａにアクセスして、コンテンツ鍵ＣＫを取得し、そのコンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力する（Ｓ１３０７）。
【０１３１】
コンテンツ復号化部１３５は、受信したコンテンツ鍵ＣＫを基に、暗号化コンテンツＥＮＣＣＮＴの復号化を行い、復号化コンテンツＤＥＣＣＮＴを取得する（Ｓ１３０８）。
【０１３２】
コンテンツ復号化部１３５は、その復号化コンテンツＤＥＣＣＮＴを、出力部１３６へ出力する（Ｓ１３０９）。
【０１３３】
出力部１３６は、コンテンツ復号化部１３５から復号化コンテンツＤＥＣＣＮＴを受信し、受信した復号化コンテンツＤＥＣＣＮＴを外部へ出力する。終了する（Ｓ１３１０）。
【０１３４】
≪暗号化中間鍵群集合ＥＮＣＭＫＧＳ受信時の動作≫
暗号化中間鍵群集合受信部１３７が暗号化中間鍵群集合ＥＮＣＭＫＧＳを受信した場合、ステップＳ１３５２に進む。受信していない場合、終了する（Ｓ１３５１）。
【０１３５】
暗号化中間鍵群集合受信部１３７は、受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを暗号化中間鍵群復号化部１３８ａに出力する（Ｓ１３５２）。
【０１３６】
暗号化中間鍵群復号化部１３８ａは、個別鍵格納部１３９ａから出力装置識別子ＡＩＤａ及び個別鍵ＩＫａを取得する（Ｓ１３５３）。
【０１３７】
暗号化中間鍵群復号化部１３８ａは、受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳからその出力装置識別子ＡＩＤａに対応する暗号化中間鍵群ＥＮＣＭＫＧａ＝Ｅｎｃ（ＩＫａ、ＭＫＧａ）を取得する（Ｓ１３５４）。
【０１３８】
暗号化中間鍵群復号化部１３８ａは、個別鍵ＩＫａに基づいてその暗号化中間鍵群ＥＮＣＭＫＧａの復号化を行い、中間鍵群ＭＫＧａを取得する（Ｓ１３５５）。
【０１３９】
暗号化中間鍵群復号化部１３８ａは、その中間鍵群ＭＫＧａを中間鍵群格納部１３４ａに格納し、終了する（Ｓ１３５６）。
【０１４０】
以上が、コンテンツ配信システム１の構成要素である出力装置１３ａの構成と動作である。なお、出力装置１３ａと他の出力装置１３ｂ〜１３ｎとの相違点は、中間鍵群格納部１３４ａにおいて出力装置１３ａ〜１３ｎ毎に異なる中間鍵群ＭＫＧａ〜ＭＫＧｎが格納されている点と、個別鍵格納部１３９ａにおいて出力装置１３ａ〜１３ｎ毎に異なる出力装置識別子ＡＩＤａ〜ＡＩＤｎ及び個別鍵ＩＫａ〜ＩＫｎが格納されている点と、コンテンツ復号化鍵生成部１３２ａにおいて出力装置１３ａ〜１３ｎ毎に異なる中間鍵群ＭＫＧａ〜ＭＫＧｎを用いる点と、暗号化中間鍵群復号化部１３８ａにおいて出力装置１３ａ〜１３ｎ毎に異なる個別鍵ＩＫａ〜ＩＫｎを用いる点である。
【０１４１】
＜実施の形態１の動作検証＞
本実施の形態１において、それぞれの出力装置１３ａ〜１３ｎには異なる値の中間鍵群ＭＫＧａ〜ＭＫＧｎが割り当てられているにもかかわらず、全出力装置１３ａ〜１３ｎにおいて同じコンテンツ鍵ＣＫが導出出来る理由について説明する。まず、中間鍵群ＭＫＧａ〜ＭＫＧｎそれぞれは予め与えられる中間鍵生成式”Ｄ＝ｓ＊ｘ  ｍｏｄ  Ｎ”、”Ｅ＝ｓ＊ｙ  ｍｏｄ  Ｎ”を満たす中間鍵ＤとＥから構成されている。また、時変変数群ＰＲＧは、時変変数生成式”Ｑ＝ａ＊ｚ＋ｂ＊ｗ  ｍｏｄ  Ｎ”、”Ｒ＝ｂ＊ｚ＋ａ＊ｗ  ｍｏｄ  Ｎ”を満たすように生成されている。このようにすることで、コンテンツ復号化鍵生成式”ＣＫ＝（Ｄ＊Ｑ）−（Ｅ＊Ｒ）  ｍｏｄ  Ｎ”を変形すると、
ＣＫ＝（Ｄ＊Ｑ）−（Ｅ＊Ｒ）
＝（ｓ＊ｘ）＊（ａ＊ｚ＋ｂ＊ｗ）−（ｓ＊ｙ）＊（ｂ＊ｚ＋ａ＊ｗ）
＝ｓ＊ｚ＊（ｘ＊ａ−ｙ＊ｂ）＋ｓ＊ｗ＊（ｘ＊ｂ−ｙ＊ａ）
となる。ここで、“ｘ＊ａ−ｙ＊ｂ＝１”という条件、及びその条件から求まる式“ｙ＝（ｘ＊ａ−１）／ｂ”を代入することで、
・・・＝ｓ＊ｚ＊１＋ｓ＊ｗ＊（ｘ＊ｂ−（（ｘ＊ａ−１）／ｂ）＊ａ）
＝ｓ＊ｚ＋ｓ＊ｗ＊（ｘ＊（ｂ＊ｂ−ａ＊ａ）＋ａ）／ｂ
となる。ここで、予め秘密変数生成式”ａ＊ａ−ｂ＊ｂ＝０  ｍｏｄ  Ｎ”を満たすように秘密変数ａとｂは生成されているので、
・・・＝ｓ＊ｚ＋ｓ＊ｗ＊ａ／ｂ
となり、これは全出力装置１３ａ〜１３ｎに対する共通パラメータのみから成る。そのため、全出力装置１３ａ〜１３ｎにおいて暗号化鍵ＣＫが共通の値を導出するようになっている。また、これはコンテンツ暗号化鍵生成式”ＣＫ＝ｓ＊ｚ＋ｓ＊ｗ＊ａ／ｂ”と一致する。
【０１４２】
＜実施の形態１の効果＞
本発明の実施の形態１では、コンテンツＣＮＴを復号化する際に用いるコンテンツ鍵ＣＫは、中間鍵群及び時変変数群ＰＲＧから生成されるようにした。それにより、コンテンツ鍵ＣＫだけを埋め込んだ不正な出力装置では、時変変数群ＰＲＧを受信しても次のコンテンツ鍵へ更新出来ないようになった。また、中間鍵群を埋め込んだ不正な出力装置に対しては、鍵発行センタ１１の出力装置対応情報格納部１１４に含まれる中間鍵群と出力装置識別子の対応情報を基に、どの出力装置１３ａ〜１３ｎに埋め込まれている個別鍵ＫＩａ〜ＫＩｎを基にその中間鍵群が生成されたのか特定出来るようになった。この二つのことにより、不正な出力装置を特定し、無効化出来るようになった。
【０１４３】
＜実施の形態１の変形例＞
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
【０１４４】
（１）通信路１０は、地上波又は衛星等の放送網であっても良い。
【０１４５】
（２）中間鍵ＭＫＧａ〜ＭＫＧｎは、それぞれ、２つの中間鍵Ｄ，Ｅから構成されていたが、３種類やそれ以上から構成されていても良い。
【０１４６】
（３）時変変数群ＰＲＧは、２つの時変変数Ｑ及びＲから構成されていたが、３種類やそれ以上から構成されていても良い。
【０１４７】
（４）システム秘密変数群生成部１１１において、秘密変数ｓ、ａ、ｂ、ｃを例えば１２８ビットの自然数として生成するようにして、さらに、中間鍵群生成部１１３において予め与えられる個別化変数生成式を”ｘ＊ａ＋ｙ＊ｂ＝１  ｍｏｄ  Ｎ”とし、３つの中間鍵生成式を”Ｄ＝ｓ−ｘ  ｍｏｄ  Ｎ”、”Ｅ＝ｓ−ｙ  ｍｏｄ  Ｎ”、”Ｆ＝ｂ＊ｘ＋ａ＊ｙ＋ｃ”とし、中間鍵群はＤ，Ｅ，Ｆから構成されるとし、時変変数群生成部１２８に予め与えられる２つの時変変数生成式を”Ｑ＝ａ＊ｚ＋ｂ  ｍｏｄ  Ｎ”、”Ｒ＝ｂ＊ｚ＋ａ  ｍｏｄ  Ｎ”とし、コンテンツ暗号化鍵生成部１２９に予め与えられるコンテンツ暗号化鍵生成式を”ＣＫ＝ｓ＊（ｚ＋１）＊（ａ＋ｂ）−ｚ＋ｃ  ｍｏｄ  Ｎ”とし、コンテンツ復号化鍵生成部１３２に予め与えられるコンテンツ復号化鍵生成式を”ＣＫ＝Ｄ＊Ｑ＋Ｅ＊Ｒ＋Ｆ  ｍｏｄ  Ｎ”としても良い。
【０１４８】
（５）システム秘密変数群生成部１１１において、秘密変数ｓ、ａ、ｂを例えば１２８ビットの自然数として生成するようにして、中間鍵群生成部１１３、時変変数群生成部１２８、コンテンツ暗号化鍵生成部１２９、コンテンツ復号化鍵生成部１３２にあるモジュラスＮを例えば１２８ビットの素数とし、さらに、中間鍵群生成部１１３、時変変数群生成部１２８、コンテンツ暗号化鍵生成部１２９、コンテンツ復号化鍵生成部１３２に共通の例えば１２８ビットの自然数ｇを与え、さらに、中間鍵群生成部１１３において予め与えられる個別化変数生成式を”ｘ＊ａ＋ｙ＊ｂ＝１  ｍｏｄ  （Ｎ−１）”とし、２つの中間鍵生成式を”Ｄ＝ｓ＊ｘ  ｍｏｄ  （Ｎ−１）”、”Ｅ＝ｓ＊ｙ  ｍｏｄ  （Ｎ−１）”とし、時変変数群生成部１２８に予め与えられる２つの時変変数生成式を”Ｑ＝ｇ＾｛ｚ＊ａ｝  ｍｏｄ  Ｎ”、”Ｒ＝ｇ＾｛ｚ＊ｂ｝  ｍｏｄ  Ｎ”とし、コンテンツ暗号化鍵生成部１２９のコンテンツ暗号化鍵生成式を”ＣＫ＝ｇ＾｛ｓ＊ｚ｝ｍｏｄ  Ｎ”とし、コンテンツ復号化鍵生成部１３２のコンテンツ復号化鍵生成式を”ＣＫ＝Ｑ＾｛Ｄ｝＊Ｒ＾｛Ｅ｝  ｍｏｄ  Ｎ”としても良い。
【０１４９】
各出力装置１３ａ〜１３ｎに異なる中間鍵群ＭＫＧａ〜ＭＫＧｎを割り当てても、全ての出力装置１３ａ〜１３ｎで同じコンテンツ鍵ＣＫを導出出来る。なぜなら、コンテンツ復号化鍵生成式に、中間鍵生成式及び時変変数生成式を代入すると、全出力装置１３ａ〜１３ｎの共通パラメータのみから成るコンテンツ暗号化鍵生成式に一致するからである。
【０１５０】
（６）鍵発行センタ１１が、サーバ１２へシステム秘密変数群ＳＰＧの代わりに中間鍵群を送付するようにしても良い。
【０１５１】
（７）鍵発行センタ１１の役割を、サーバ１２が兼ねるようにしても良い。つまり、サーバ１２が出力装置識別子ＡＩＤａ〜ＡＩＤｎのいずれかを受信し、その出力装置識別子ＡＩＤａ〜ＡＩＤｎのいずれかを基に、暗号化中間鍵群集合ＥＮＣＭＫＧＳを複数の出力装置１３ａ〜１３ｎに配信するようにしても良い。
【０１５２】
（８）鍵発行センタ１１の中間鍵群生成部１１３は、外部から中間鍵群生成要求情報ＲＥＱ３を受信するようにして、その中間鍵群生成要求情報ＲＥＱ３に基づき、複数の中間鍵群ＭＫＧａ〜ＭＫＧｎを生成するようにしても良い。
【０１５３】
（９）サーバ１２の時変変数群生成部１２８は、外部から時変変数群生成要求情報ＲＥＱ４を受信するようにして、その時変変数群生成要求情報ＲＥＱ４に基づき、時変変数群ＰＲＧを生成するようにしても良い。
【０１５４】
（１０）サーバ１２のコンテンツ配信部１２４は、前回送信した時変変数群ＰＲＧから変更がない場合は、暗号化コンテンツＥＮＣＣＮＴだけを出力装置１３ａ〜１３ｎに送信するようにして、暗号化コンテンツＥＮＣＣＮＴだけを受信した出力装置１３ａ〜１３ｎは、コンテンツ鍵格納部１３３に格納されているコンテンツ鍵ＣＫを基に、暗号化コンテンツＥＮＣＣＮＴを復号化するようにしても良い。
【０１５５】
（１１）出力装置１３ａ〜１３ｎのコンテンツ鍵格納部１３３は、使用時変変数群ＵＰＲＧを含まずに、復号化生成部１３２ａは、時変変数群ＰＲＧを受信した場合、必ず中間鍵群及び時変変数群ＰＲＧからコンテンツ鍵ＣＫを作成し、そのコンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力するようにしても良い。
【０１５６】
（１２）実施の形態１で、出力装置は１４台（１３ａ〜１３ｎ）であったが、出力装置は１５台以上でもよいし、１３台以下でも良い。
【０１５７】
（１３）鍵発行センタ１１が暗号化中間鍵群集合ＥＮＣＭＫＧＳを配信する際には、出力装置１３ａ〜１３ｎへ同時に配信しても良いし、各出力装置１３ａ〜１３ｎ個別に配信しても良い。なお、サーバ１２が時変変数群ＰＲＧや暗号化コンテンツＥＮＣＣＮＴを配信する際にも同様に、出力装置１３ａ〜１３ｎへ同時に配信しても良いし、各出力装置１３ａ〜１３ｎ個別に配信しても良い。
【０１５８】
（１４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１５９】
（１５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０１６０】
（実施の形態２）
本発明に係る一つの実施の形態としてのコンテンツ配信システム２について説明する。実施の形態１におけるコンテンツ配信システム１では、各出力装置１３ａ〜１３ｎは一組の中間鍵Ｄ及びＥを基にコンテンツ鍵ＣＫを生成していたが、実施の形態２におけるコンテンツ配信システム２では、各出力装置は複数組の中間鍵を基にコンテンツ鍵を生成する点が、実施の形態１と異なる。
【０１６１】
以下に、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム２の詳細について説明を行う。
【０１６２】
＜コンテンツ配信システム２の構成＞
コンテンツ配信システム２は、図２３に示すように、実施の形態１と同様の通信路１０と、実施の形態１とは異なる鍵発行センタ２１と、実施の形態１とは異なるサーバ２２と、複数の実施の形態１とは異なる出力装置２２ａ〜２２ｎから構成される。各々の構成要素の役割については、実施の形態１であるコンテンツ配信システム１における鍵発行センタ１１とサーバ１２と出力装置１３ａ〜１３ｎと同じである。
【０１６３】
以下に、これらの構成要素について、コンテンツ配信システム１との相違点を中心に説明する。通信路１０の構成についてはコンテンツ配信システム１と同じ構成であるので説明を省略し、鍵発行センタ２１及びサーバ２２及び複数の出力装置２３ａ〜２３ｎの構成と動作について図を用いて説明する。
【０１６４】
＜鍵発行センタ２１の構成＞
鍵発行センタ２１は、図２４に示すように、秘密変数群生成部２１１、システム秘密変数群送信部１１２、中間鍵群生成部２１３、出力装置対応情報格納部１１４、中間鍵群暗号化部１１５、暗号化中間鍵群集合配信部１１６、入力部１１７、対応情報更新部１１８から構成される。図２４において、図２と同じ構成要素については同じ符号を用い、説明を省略する。
【０１６５】
（１）秘密変数群生成部２１１
秘密変数群生成部２１１は、対応情報更新部１１８から秘密変数群生成要求ＲＥＱ１を受信した場合、ｋ組のシステム秘密変数｛ｓ１，ａ１，ｂ１｝｛ｓ２，ａ２，ｂ２｝・・・｛ｓｋ，ａｋ，ｂｋ｝を生成する。ここで、ｋ組のシステム秘密変数を生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがあり、例えば、ｓ１〜ｓｋ、ａ１〜ａｋ、ｂ１〜ｂｋは１２８ビットの自然数などである。ここで、予め与えられるシステム秘密変数生成式””ａｉ＊ａｉ−ｂｉ＊ｂｉ＝０  ｍｏｄ  Ｎ  （ｉは１〜ｋ）”を満たすようにｋ個のシステム秘密変数を生成するようにする。そのｋ組のシステム秘密変数｛ｓ１，ａ１，ｂ１｝｛ｓ２，ａ２，ｂ２｝・・・｛ｓｋ，ａｋ，ｂｋ｝それぞれに対して鍵識別子ＫＩＤ１〜ＫＩＤｋを対応付ける。そして図２５で示すようなｋ組の鍵識別子とシステム秘密変数とから構成されるシステム秘密変数群ＳＰＧ＝｛｛ＫＩＤ１、ｓ１，ａ１，ｂ１｝｛ＫＩＤ２，ｓ２，ａ２，ｂ２｝・・・｛ＫＩＤｋ，ｓｋ，ａｋ，ｂｋ｝｝を生成する。そのシステム秘密変数群ＳＰＧをシステム秘密変数群送信部１１２及び中間鍵群生成部２１３に出力する。なお、鍵発行センタが動作開始した際には、システム秘密変数群生成要求ＲＥＱ１を受信した場合と同様に、システム秘密変数群ＳＰＧを生成し、システム秘密変数群送信部１１２及び中間鍵群生成部２１３に出力する。
【０１６６】
（２）中間鍵群生成部２１３
中間鍵群生成部２１３は、システム秘密変数群生成部２１１からシステム秘密変数群ＳＰＧを受信した場合、まず、出力装置対応情報格納部１１３にある中間鍵群ＭＫＧａ〜ＭＫＧｎを全て消去する。そして、受信したシステム秘密変数群ＳＰＧからｋ組の鍵識別子とシステム秘密変数｛ＫＩＤ１，ｓ１，ａ１，ｂ１｝｛ＫＩＤ２，ｓ２，ａ２，ｂ２｝・・・｛ＫＩＤｋ，ｓｋ，ａｋ，ｂｋ｝を抽出する。そして、予め与えられる個別化変数生成式”ｘｉ＊ａｉ−ｙｉ＊ｂｉ＝１  ｍｏｄ  Ｎ”  （ｉは１〜ｋ）”を満たすｋ組の個別化変数、｛ＫＩＤ１，ｘ１，ｙ１｝｛ＫＩＤ２，ｘ２，ｙ２｝・・・｛ＫＩＤｋ，ｘｋ，ｙｋ｝を生成する。その後、そのｋ組の個別化変数｛ｘ１，ｙ１｝｛ｘ２，ｙ２｝・・・｛ｘｋ，ｙｋ｝を用いて、予め与えられる二つの中間鍵生成式”Ｄｉ＝ｓｉ＊ｘｉ  ｍｏｄ  Ｎ  （ｉは１〜ｋ）”、”Ｅｉ＝ｓｉ＊ｙｉ  ｍｏｄ  Ｎ  （ｉは１〜ｋ）”に基づきｋ組の中間鍵｛ＫＩＤ１，Ｄ１，Ｅ１｝｛ＫＩＤ２，Ｄ２，Ｅ２｝・・・｛ＫＩＤｋ，Ｄｋ，Ｅｋ｝を生成し、そのｋ組の鍵識別子及び中間鍵から構成される図２６で示すような中間鍵群ＭＫＧａを生成する。そして、この中間鍵群ＭＫＧａを出力装置対応情報格納部１１３の中の出力装置識別子ＡＩＤａに対応させて格納する。出力装置対応情報格納部１１３にある出力装置識別子ＡＩＤａ以外の出力装置識別子ＡＩＤｂ〜ＡＩＤｎに対しても同様に中間鍵ＭＫＧｂ〜ＭＫＧｎをそれぞれ中間鍵群ＭＫＧａと同様に生成し、割り当てる。ここで、中間鍵ＭＫＧｂ〜ＭＫＧｎの構成は、図２６で示す中間鍵群ＭＫＧａの構成と同じであるが、各々の中間鍵群ＭＫＧａ〜ＭＫＧｎはそれぞれ異なる値となるようにする。全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎを割り当てたら、暗号化中間鍵群生成要求ＲＥＱ２を中間鍵群暗号化部１１５へ出力する。
【０１６７】
＜鍵発行センタ２１の動作＞
以上で、鍵発行センタ２１の構成について説明を行ったが、ここでは鍵発行センタ２１の動作について説明する。まず、コンテンツ鍵を作成するのに必要な鍵情報をサーバ２２及び複数の出力装置２３ａ〜２３ｎに配信するときの動作について図２７に示すフローチャートを用いて説明し、その後、出力装置を無効化する例として、出力装置２３ａを無効化する時の動作について図２８に示すフローチャートを用いて説明する。
【０１６８】
≪鍵情報配信時の動作≫
システム秘密変数群生成部２１１は、３つのシステム秘密変数をｋ組｛ｓ１，ａ１，ｂ１｝｛ｓ２，ａ２，ｂ２｝・・・｛ｓｋ，ａｋ，ｂｋ｝を生成する。ここで、”ａｉ＊ａｉ＋ｂｉ＊ｂｉ＝０  ｍｏｄ  Ｎ  （ｉは１〜ｋ）”を満たすように選ぶ（Ｓ２１０１）。
【０１６９】
システム秘密変数群生成部２１１は、ｋ組のシステム秘密変数｛ｓ１，ａ１，ｂ１｝｛ｓ２，ａ２，ｂ２｝・・・｛ｓｋ，ａｋ，ｂｋ｝に対して鍵識別子ＫＩＤ１〜ＫＩＤｋを対応付けて、それらから構成されるシステム秘密変数群ＳＰＧを生成し、そのシステム秘密変数群ＳＰＧをシステム秘密変数群送信部１１２及び中間鍵群生成部１１３へ出力する（Ｓ２１０３）。
【０１７０】
システム秘密変数群送信部１１２は、受信したシステム秘密変数群ＳＰＧをサーバ２２へ向けて送信する（Ｓ２１０４）。
【０１７１】
中間鍵群生成部２１３は、出力装置対応情報格納部１１４に格納されている中間鍵群ＭＫＧａ〜ＭＫＧｎを全て削除する（Ｓ２１０５）。
【０１７２】
中間鍵群生成部２１３は、システム秘密変数群ＳＰＧからｋ組の鍵識別子とシステム秘密変数｛ＫＩＤ１，ｓ１，ａ１，ｂ１｝｛ＫＩＤ２，ｓ２，ａ２，ｂ２｝・・・｛ＫＩＤｋ，ｓｋ，ａｋ，ｂｋ｝を抽出し、それぞれの組に対して、個別化変数生成式”ｘｉ＊ａｉ−ｙｉ＊ｂｉ＝１  ｍｏｄ  Ｎ  （ｉは１〜ｋ）”を満たすｋ組の２つの個別化変数｛ＫＩＤ１，ｘ１，ｙ１｝｛ＫＩＤ２，ｘ２，ｙ２｝・・・｛ＫＩＤｋ，ｘｋ，ｙｋ｝を生成する。この時、個別化変数｛ｘ１，ｘ２，・・ｘｋ｝｛ｙ１，ｙ２，・・ｙｋ｝の各値が衝突しないようにする。
【０１７３】
中間鍵群生成部２１３は、ｋ組の個別化変数｛ＫＩＤ１，ｘ１，ｙ１｝｛ＫＩＤ２，ｘ２，ｙ２｝・・・｛ＫＩＤｋ，ｘｎ，ｙｋ｝を用いて、中間鍵生成式”Ｄｉ＝ｓｉ＊ｘｉ
ｍｏｄ  Ｎ  （ｉは１〜ｋ）”、”Ｅｉ＝ｓｉ＊ｙｉ  ｍｏｄ  Ｎ  （ｉは１〜ｋ）”を満たすｋ組の中間鍵Ｄｉ及びＥｉ｛ＫＩＤ１，Ｄ１，Ｅ１｝｛ＫＩＤ２，Ｄ２，Ｅ２｝・・・｛ＫＩＤｋ，Ｄｋ，Ｅｋ｝を生成する（Ｓ２１０６）。
【０１７４】
中間鍵群生成部２１３は、ｋ組の鍵識別子と中間鍵｛ＫＩＤ１，Ｄ１，Ｅ１｝｛ＫＩＤ２，Ｄ２，Ｅ２｝・・・｛ＫＩＤｋ，Ｄｋ，Ｅｋ｝から構成される中間鍵群を生成し、その中間鍵群を、出力装置対応情報格納部１１４においてまだ中間鍵群が割り当てられていない装置識別子に対応させて、格納する（Ｓ２１０７）。
【０１７５】
もし、出力装置対応情報格納部１１４の全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎを割り当てられたら、ステップＳ２１０９へ進む。もし、残っていたらステップＳ２１０６に戻る（Ｓ２１０８）。
【０１７６】
中間鍵群生成部２１３は、暗号化中間鍵群集合生成要求ＲＥＱ２を中間鍵群暗号化部１１５へ出力する（Ｓ２１０９）。
【０１７７】
暗号化中間鍵群生成要求ＲＥＱ２を受け取った中間鍵群暗号化部１１５は、出力装置対応情報格納部１１４にアクセスして、出力装置識別子ＡＩＤａ〜ＡＩＤｎ及び個別鍵ＩＫａ〜ＩＫｎ及び中間鍵群ＭＫＧａ〜ＭＫＧｎの全ての組を取得する（Ｓ２１１０）。
【０１７８】
中間鍵群暗号化部１１５は、各々の個別鍵ＩＫａ〜ＩＫｎに基づいて各々の中間鍵群ＭＫＧａ〜ＭＫＧｎを暗号化し、その暗号化中間鍵群ＥＮＣＭＫＧａ＝Ｅｎｃ（ＩＫａ，ＭＫＧａ）、・・・、ＥＮＣＭＫＧｎ＝Ｅｎｃ（ＩＫｎ，ＭＫＧｎ）及び暗号化に用いた個別鍵に対応する装置識別子ＡＩＤａ〜ＡＩＤｎから構成される暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝｛ＡＩＤａ，ＥＮＣＭＫＧａ｝、・・・、｛ＡＩＤｎ，ＥＮＣＭＫＧｎ｝を作成する（Ｓ２１１１）。
【０１７９】
中間鍵群暗号化部１１５は、作成した暗号化中間鍵群集合ＥＮＣＭＫＧＳを暗号化中間鍵群集合配信部１１６に出力する（Ｓ２１１２）。
【０１８０】
暗号化中間鍵群集合配信部１１６は、暗号化中間鍵群集合ＥＮＣＭＫＧＳを受け取り、その受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを出力装置２３へ向けて配信し、終了する（Ｓ２１１３）。
【０１８１】
≪出力装置２３ａの無効化時の動作≫
入力部１１７は、受信した出力装置識別子ＡＩＤａを、対応情報更新部１１８へ出力する（Ｓ２１５１）。
【０１８２】
対応情報更新部１１８は、入力部１１７から受信した出力装置識別子ＡＩＤａに対応する個別鍵ＩＫａと中間鍵群ＭＫＧａを出力装置対応情報格納部１１４から削除する（Ｓ２１５２）。
【０１８３】
対応情報更新部１１８は、システム秘密変数群生成部１１１へシステム秘密変数群生成要求ＲＥＱ１を出力し、ステップＳ２１０１に進む（Ｓ２１５３）。
【０１８４】
なお、出力装置２３ａ以外の出力装置２３ｂ〜２３ｎを無効化する時の動作は、出力装置１３ａとほぼ同様の動作となるが、対応情報更新部１１８において、出力装置対応情報格納部１１４から削除する出力装置識別子と個別鍵と中間鍵群が無効化する出力装置２３ｂ〜２３ｎに依存して変わる点が異なる。
【０１８５】
以上が、コンテンツ配信システム２の構成要素である鍵発行センタ２１の構成と動作である。続いて、サーバ２２の構成と動作について説明を行う。
【０１８６】
＜サーバ２２の構成＞
サーバ２２は、図２９に示すように、入力部１２１、コンテンツ暗号化部１２２、コンテンツ鍵格納部１２３、コンテンツ配信部１２４、時変変数群格納部１２５、システム秘密変数群受信部１２６、システム秘密変数群格納部１２７、時変変数群生成部２２８、暗号鍵生成部２２９から構成される。図２９において、図９と同じ構成要素については同じ符号を用い、説明を省略する。
【０１８７】
（１）時変変数群生成部２２８
時変変数群生成部２２８には、予め時変変数群更新条件が与えられており、その条件を満たした場合に、まず、システム秘密変数群格納部１２７にアクセスし、その中に格納されているシステム秘密変数群ＳＰＧを取得する。そして、そのシステム秘密変数群ＳＰＧに格納されているｋ個の鍵識別子｛ＫＩＤ１，ＫＩＤ２，・・・ＫＩＤｋ｝から一つを選択する。ここで、ｋ個の鍵識別子｛ＫＩＤ１，ＫＩＤ２，・・・ＫＩＤｋ｝から一つを選択する方法としては、例えば、乱数を用いてランダムに選択する方法などがある。以後、この選択された鍵識別子をＫＩＤｉ（ＫＩＤｉはＫＩＤ１〜ＫＩＤｋのいずれか）と表記し、システム秘密変数群ＳＰＧにおいて鍵識別子ＫＩＤｉにシステム秘密変数ｓｉ、ａｉ、ｂｉが対応付けられているとする。そして、システム秘密変数群ＳＰＧからその鍵識別子ＫＩＤｉに対応するシステム秘密変数ａｉ及びｂｉを取得する。その後、乱数ｚ及びｗを生成する。そして、予め与えられる時変変数生成式”Ｑ＝ｚ＊ａｉ＋ｂｉ＊ｗ  ｍｏｄ
Ｎ”、”Ｒ＝ｚ＊ｂｉ＋ａｉ＊ｗ  ｍｏｄ  Ｎ”を基に時変変数Ｑ及びＲを生成する。その後、鍵識別子ＫＩＤｉ及び生成した時変変数Ｑ及びＲから、図３０で示すような時変変数群ＰＲＧを生成し、時変変数群格納部１２５に格納する。最後に、コンテンツ暗号化鍵生成部１２９に向けて鍵識別子ＫＩＤｉ及び第一乱数ｚ及び第二乱数ｗを出力する。
【０１８８】
（２）コンテンツ暗号化鍵生成部２２９
コンテンツ暗号化鍵生成部２２９は、時変変数群生成部２２８から鍵識別子ＫＩＤｉ及び乱数ｚ及びｗを受け取った場合、まず、システム秘密変数群格納部１２７にアクセスし、鍵識別子ＫＩＤｉに対応するシステム秘密変数ｓｉを取得する。その後、コンテンツ鍵ＣＫを、コンテンツ暗号化鍵生成式”ＣＫ＝ｓｉ＊ｚ＋ｓｉ＊ｗ＊ａ／ｂ  ｍｏｄ  Ｎ”に基づいて生成し、その生成したコンテンツ鍵ＣＫをコンテンツ鍵格納部１２３に格納する。
【０１８９】
＜サーバ２２の動作＞
以上で、サーバ２２の構成について説明を行ったが、ここでサーバ２２の動作について説明する。まず、コンテンツ配信時の動作及びシステム秘密変数群受信時の動作については実施の形態１におけるコンテンツ配信システム１のサーバ１２の動作と同じなので説明を省略し、ここでは時変変数群ＰＲＧ更新時の動作について図３１に示すフローチャートを用いて説明する。
【０１９０】
≪時変変数群ＰＲＧ更新時の動作≫
時変変数群生成部２２８は、予め与えられた時変変数群更新条件を満たしている場合、ステップＳ２２６２に進む。時変変数群更新条件を満たしていない場合、終了する（Ｓ２２６１）。
【０１９１】
時変変数群生成部２２８は、システム秘密変数群格納部１２７にアクセスし、システム秘密変数群ＳＰＧを取得する（Ｓ２２６２）。
【０１９２】
時変変数群生成部２２８は、システム秘密変数群ＳＰＧの中から、一つの鍵識別子ＫＩＤｉを選択し、その鍵識別子ＫＩＤｉに対応付けられているシステム秘密変数ｓｉ、ａｉ、ｂｉを取得し、乱数ｚ及びｗを生成する（Ｓ２２６３）。
【０１９３】
時変変数群生成部２２８は、予め与えられ鍵識別子ＫＩＤｉに対応する時変変数生成式”Ｑ＝ｚ＊ａｉ＋ｂｉ＊ｗ  ｍｏｄ  Ｎ”、”Ｒ＝ｚ＊ｂｉ＋ａｉ＊ｗ  ｍｏｄ  Ｎ”を基に、時変変数Ｑ及びＲを生成し、生成した時変変数Ｑ及びＲから構成される時変変数群ＰＲＧを生成する（Ｓ２２６４）。
【０１９４】
時変変数群生成部２２８は、時変変数群ＰＲＧを時変変数群格納部１２５に格納する（Ｓ２２６５）。
【０１９５】
時変変数群生成部２２８は、コンテンツ暗号化鍵生成部２２９に向けて鍵識別子ＫＩＤｉ及び乱数ｚ及びｗを出力する（Ｓ２２６６）。
【０１９６】
鍵識別子ＫＩＤｉ及び乱数ｚ及びｗを受け取ったコンテンツ暗号化鍵生成部２２９は、まず、システム秘密変数群格納部１２７にアクセスし、鍵識別子ＫＩＤｉに対応するシステム秘密変数ｓｉを取得する（Ｓ２２６７）。
【０１９７】
コンテンツ暗号化鍵生成部２２９は、予め与えられ鍵識別子ＫＩＤｉに対応するコンテンツ暗号化鍵生成式”ＣＫ＝ｓｉ＊ｚ＋ｓｉ＊ｗ＊ａ／ｂ  ｍｏｄ  Ｎ”に基づいてコンテンツ鍵ＣＫを生成する（Ｓ２２６８）。
【０１９８】
生成したコンテンツ鍵ＣＫを、コンテンツ鍵格納部１２３に格納し、終了する（Ｓ２２６９）。
【０１９９】
以上が、コンテンツ配信システム２の構成要素であるサーバ２２の構成と動作である。続いて、出力装置２３ａの構成と動作について説明を行う。
【０２００】
＜出力装置２３ａの構成＞
出力装置２３ａは、図３２に示すように、コンテンツ受信部１３１、コンテンツ復号化鍵生成部２３２ａ、コンテンツ鍵格納部１３３、中間鍵群格納部１３４ａ、コンテンツ復号化部１３５、出力部１３６、暗号化中間鍵群集合受信部１３７、暗号化中間鍵群復号化部１３８ａ、個別鍵格納部１３９ａから構成される。図３２において、図１７と同じ構成要素については同じ符号を用い、説明を省略する。
【０２０１】
（１）コンテンツ復号化鍵生成部２３２ａ
コンテンツ復号化鍵生成部２３２ａが、コンテンツ受信部１３１から時変変数群ＰＲＧを受信した場合、まずコンテンツ鍵格納部１３３に格納されている使用時変変数群ＵＰＲＧと受信した時変変数群ＰＲＧが一致するか確認する。ここで一致していたら、コンテンツ鍵格納部１３３にアクセスして、格納されているコンテンツ鍵ＣＫをコンテンツ復号化部１３５に出力する。もし一致していなければ中間鍵群格納部１３４ａにアクセスし、中間鍵群ＭＫＧａを取得する。そして、時変変数群ＰＲＧから鍵識別子ＫＩＤｉを取得し、その鍵識別子ＫＩＤｉに対応付けられている中間鍵を取得する。ここでは、鍵識別子ＫＩＤｉに対応付けられている中間鍵をＤｉとＥｉ（ＤｉはＤ１〜Ｄｋ、ＥｉはＥ１〜Ｅｋのいずれか）とする。その後、コンテンツ鍵ＣＫを、予め与えられるコンテンツ復号化鍵生成式”ＣＫ＝Ｄｉ＊Ｑ−Ｅｉ＊Ｒ  ｍｏｄ  Ｎ”を基に計算し、その計算したコンテンツ鍵ＣＫをコンテンツ鍵格納部１３３へ格納し、時変変数群ＰＲＧを使用時変変数群ＵＰＲＧとしてコンテンツ鍵格納部１３３へ格納し、コンテンツ鍵ＣＫを第一復号化部１３３へ出力する。
【０２０２】
＜出力装置２３ａの動作＞
以上で、出力装置２３ａの構成について説明を行ったが、ここで出力装置２３ａの動作について説明する。まず、コンテンツ鍵を作成するのに必要な鍵情報の更新時の動作については、出力装置１３ａにおける鍵更新時の動作と同じであるので、説明を省略する。そして、暗号化コンテンツ受信時の動作について図３３に示すフローチャートを用いて説明する。
【０２０３】
≪コンテンツ受信時の動作≫
コンテンツ受信部１３１が暗号化コンテンツＥＮＣＣＮＴ及び時変変数群ＰＲＧを受け取った場合、ステップＳ２３０２に進む。受信していない場合、終了する（Ｓ２３０１）。
【０２０４】
受信した時変変数群ＰＲＧをコンテンツ復号化鍵生成部２３２に出力する（Ｓ２３０２）。
【０２０５】
時変変数群ＰＲＧを受信したコンテンツ復号化鍵生成部２３２は、コンテンツ鍵格納部１３３にアクセスし、受信した時変変数群ＰＲＧと使用時変変数群ＵＰＲＧが同じならば、ステップＳ２３０７に進む。もし、違っていたら、ステップＳ２３０４に進む（Ｓ２３０３）。
【０２０６】
時変変数群ＰＲＧを、鍵識別子ＫＩＤｉと時変変数ＱとＲに分解し、中間鍵群格納部１３４にアクセスして、中間鍵ＭＫｉを取得する（Ｓ２３０４）。
【０２０７】
鍵識別子ＫＩＤｉに対応する、中間鍵ＤｉとＥｉを取得し、鍵識別子ＫＩＤｉに対応するコンテンツ復号化鍵生成式”ＣＫ＝Ｄｉ＊Ｑ−Ｅｉ＊Ｒ  ｍｏｄ  Ｎ”を基にコンテンツ鍵ＣＫを生成する（Ｓ２３０５）。
【０２０８】
コンテンツ復号化鍵生成部２３２は、コンテンツ鍵ＣＫを、コンテンツ復号化部１３５へ出力し、ステップＳ２３０８に進む（Ｓ２３０６）。
【０２０９】
コンテンツ復号化鍵生成部２３２は、中間鍵群格納部１３４ａにアクセスして、コンテンツ鍵ＣＫを取得し、そのコンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力する（Ｓ２３０７）。
【０２１０】
コンテンツ復号化部１３５は、コンテンツ鍵ＣＫを基に、暗号化コンテンツＥＮＣＣＮＴの復号化を行う（Ｓ２３０８）。
【０２１１】
その復号化コンテンツＤＥＣＣＮＴを、出力部１３６へ出力する（Ｓ２３０９）。
出力部１３６は、第一復号化部１３６から復号化コンテンツＤＥＣＣＮＴを受信し、受信した復号化コンテンツＤＥＣＣＮＴを外部へ出力する。終了する（Ｓ２３１０）。
【０２１２】
以上が、コンテンツ配信システム２の構成要素である出力装置２３ａの構成と動作である。なお、出力装置２３ａと他の出力装置２３ｂ〜２３ｎとの相違点については、中間鍵群格納部１３４ａにおいて出力装置２３ａ〜２３ｎ毎に異なる中間鍵群ＭＫＧａ〜ＭＫＧｎが格納されている点と、個別鍵格納部１３９ａにおいて出力装置２３ａ〜２３ｎ毎に異なる個別鍵ＩＫａ〜ＩＫｎが格納されている点と、コンテンツ復号化鍵生成部２３２ａにおいて出力装置２３ａ〜２３ｎ毎に異なる中間鍵を用いる点と、暗号化中間鍵群復号化部１３８ａにおいて出力装置２３ａ〜２３ｎ毎に異なる出力装置識別子ＡＩＤａ〜ＡＩＤｎ及び個別鍵ＩＫａ〜ＩＫｎを用いる点が異なる。
【０２１３】
＜実施の形態２の動作検証＞
本実施の形態２において、それぞれの出力装置２３ａ〜２３ｎには異なる値の中間鍵群ＭＫＧａ〜ＭＫＧｎが割り当てられているにもかかわらず、全出力装置２３ａ〜２３ｎにおいて同じコンテンツ鍵ＣＫが導出出来る理由については、実施の形態１と同様である。
【０２１４】
＜実施の形態２の効果＞
本実施の形態２は、基本的に実施の形態１と同様の効果を有するが、暗号化中間鍵群の中に複数組の中間鍵群を埋め込むことによって、鍵発行センタ２１が複数の出力装置２２ａ〜２２ｎへ暗号化中間鍵群集合ＥＮＣＭＫＧＳを配布する頻度を削減出来るという効果を有する。
【０２１５】
＜実施の形態２の変形例＞
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
【０２１６】
（１）通信路１０は、地上波又は衛星等の放送網であっても良い。
【０２１７】
（２）鍵発行センタ２１の役割を、サーバ２２が兼ねるようにしても良い。つまり、サーバ２２が出力装置識別子ＡＩＤａ〜ＡＩＤｎのいずれかを受信し、その出力装置識別子を基に、暗号化中間鍵群集合ＥＮＣＭＫＧＳを複数の出力装置２３ａ〜２３ｎへ送信するようにしても良い。
【０２１８】
（３）鍵発行センタ２１が、サーバ２２へシステム秘密変数群ＳＰＧの代わりに中間鍵群を送付するようにして、サーバ２２はその中間鍵群と時変変数群を基にコンテンツ鍵を生成するようにしても良い。
【０２１９】
（４）鍵発行センタ２１の中間鍵群生成部２１３は、外部から中間鍵群生成要求情報ＲＥＱ３を受信するようにして、その中間鍵群生成要求情報ＲＥＱ３に基づき、中間鍵群を生成するようにしても良い。
【０２２０】
（５）サーバ２２の時変変数群生成部２２８は、外部から時変変数群生成要求情報ＲＥＱ４を受信するようにして、その時変変数群生成要求情報ＲＥＱ４に基づき、時変変数群ＰＲＧを生成するようにしても良い。
【０２２１】
（６）実施の形態２で、出力装置は１４台（２３ａ〜２３ｎ）であったが、出力装置は１５台以上でもよいし、１３台以下でも良い。
【０２２２】
（７）鍵発行センタ２１が暗号化中間鍵群集合ＥＮＣＭＫＧを配信する際には、出力装置２３ａ〜２３ｎへ同時に配信しても良いし、各出力装置２３ａ〜２３ｎ個別に配信しても良い。なお、サーバ２２が時変変数群ＰＲＧや暗号化コンテンツＥＮＣＣＮＴを配信する際にも同様に、出力装置２３ａ〜２３ｎへ同時に配信しても良いし、各出力装置２３ａ〜２３ｎ個別に配信しても良い。
【０２２３】
（８）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２２４】
（９）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０２２５】
（実施の形態３）
本発明に係る一つの実施の形態としてのコンテンツ配信システム３について説明する。実施の形態１におけるコンテンツ配信システム１では、各出力装置１３ａ〜１３ｎは予め与えられるコンテンツ復号化鍵生成式を基に、コンテンツ鍵を生成していたが、実施の形態３におけるコンテンツ配信システム３は、各出力装置３３ａ〜３３ｎがコンテンツ復号化鍵生成式ではなく、各出力装置３３ａ〜３３ｎ毎に割り当てられるテーブル固定値を基にコンテンツ鍵を作り出す点が、実施の形態１と大きく異なる。
【０２２６】
以下に、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム３の詳細について説明を行う。
【０２２７】
＜コンテンツ配信システム３の構成＞
コンテンツ配信システム３は、図３４に示すように、実施の形態１と同様の通信路１０と、実施の形態１とは異なる鍵発行センタ３１と、実施の形態１とは異なるサーバ３２と、複数の実施の形態１とは異なる出力装置３３ａ〜３３ｎから構成される。各々の構成要素の役割については、実施の形態１であるコンテンツ配信システム１における鍵発行センタ１１とサーバ１２と出力装置１３ａ〜１３ｎと同じである。
【０２２８】
以下に、これらの構成要素について、詳細に説明する。通信路１０の構成についてはコンテンツ配信システム１と同じ構成であるので説明を省略し、鍵発行センタ３１及びサーバ３２及び出力装置３３ａの構成と動作について図を用いて説明する。
【０２２９】
＜鍵発行センタ３１の構成＞
鍵発行センタ３１は、図３５に示すように、システム秘密変数群生成部３１１、システム秘密変数群送信部１１２、中間鍵群生成部３１３、出力装置対応情報格納部１１４、中間鍵群暗号化部１１５、暗号化中間鍵群集合配信部１１６、入力部１１７、対応情報更新部１１８から構成される。図３５において、図２と同じ構成要素については同じ符号を用い、説明を省略する。
【０２３０】
（１）システム秘密変数群生成部３１１
システム秘密変数群生成部３１１は、後述する対応情報更新部１１８からシステム秘密変数群生成要求ＲＥＱ１を受信した場合、まず、（ｋ＋ｍ）個の鍵識別子ＫＩＤ１〜ＫＩＤｋ＋ｍの中から、ｋ個の鍵識別子を選択する。そして、その選択したｋ個の鍵識別子のそれぞれに対して、コンテンツ鍵ＣＫ１，ＣＫ２，・・・，ＣＫｋを生成する。ここで、（ｋ＋ｍ）個の鍵識別子ＫＩＤ１〜ＫＩＤｋ＋ｍの中から、ｋ個の鍵識別子を選択する方法や、コンテンツ鍵ＣＫ１，ＣＫ２，・・・，ＣＫｋを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。そして、図３６で示すような（ｋ＋ｍ）組の鍵識別子及びコンテンツ鍵から構成されるシステム秘密変数群ＳＰＧを生成し、そのシステム秘密変数群ＳＰＧをシステム秘密変数群送信部１１２及び中間鍵群生成部１１３に出力する。なお、鍵発行センタ３１が動作開始した際には、システム秘密変数群生成要求ＲＥＱ１を受信した場合と同様に、システム秘密変数群ＳＰＧを生成し、システム秘密変数群送信部１１２及び中間鍵群生成部１１３に出力する。
【０２３１】
（２）中間鍵群生成部３１３
中間鍵群生成部３１３は、システム秘密変数群生成部３１１からシステム秘密変数群ＳＰＧを受信した場合、まず、出力装置対応情報格納部１１３にある中間鍵群ＭＫＧａ〜ＭＫＧｎを全て消去する。そして、受信したシステム秘密変数群ＳＰＧから（ｋ＋ｍ）組の鍵識別子とコンテンツ鍵を取得する。次に、鍵識別子ＫＩＤ１〜ＫＩＤｋ＋ｍの中で、コンテンツ鍵ＣＫ及びコンテンツ鍵ＣＫが割り当てられていないｍ個の鍵識別子に対して、ダミー鍵ＤＭＫ１〜ＤＭＫｍを生成し、割り当てる。ここで、ダミー鍵ＤＭＫ１〜ＤＭＫｍを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。そして、図３７で示すような（ｋ＋ｍ）個の鍵識別子とそれに対応する（ｋ＋ｍ）個のコンテンツ鍵もしくはダミー鍵から構成される中間鍵群ＭＫＧａを作成する。そして、この中間鍵群ＭＫＧａを出力装置対応情報格納部１１３内の出力装置識別子ＡＩＤａに対応させて格納する。その後、出力装置対応情報格納部１１３にある出力装置識別子ＡＩＤａ以外の出力装置識別子ＡＩＤｂ〜ＡＩＤｎ全てに対して行う。ここで、異なる出力装置識別子ＡＩＤａ〜ＡＩＤｎには異なるダミー鍵ＤＭＫ１〜ＤＭＫｍを割り当てるようにする。出力装置対応情報格納部１１３にある全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎを割り当てられたら、暗号化中間鍵群生成要求ＲＥＱ２を中間鍵群暗号化部１１５へ出力する。
【０２３２】
＜鍵発行センタ３１の動作＞
以上で、鍵発行センタ３１の構成について説明を行ったが、ここでは鍵発行センタ３１の動作について説明する。まず、コンテンツ鍵を生成するのに用いる鍵情報を配信する時の動作について図３８に示すフローチャートを用いて説明し、その後、出力装置無効化時の動作について図３９に示すフローチャートを用いて説明する。
【０２３３】
≪鍵情報配信時の動作≫
システム秘密変数群生成部３１１は、ｋ個のコンテンツ鍵ＣＫ１，ＣＫ２，・・・，ＣＫｋを生成する（Ｓ３１０１）。
【０２３４】
システム秘密変数群生成部３１１は、（ｋ＋ｍ）個の鍵識別子ＫＩＤａ〜ＫＩＤｋ＋ｍに対して、先ほど作成したコンテンツ鍵を割り当てる（Ｓ３１０２）。
【０２３５】
システム秘密変数群生成部３１１は、図３６で示すようなシステム秘密変数群ＳＰＧを生成し、そのシステム秘密変数群ＳＰＧをシステム秘密変数群送信部１１２及び中間鍵群生成部３１３へ出力する（Ｓ３１０３）。
【０２３６】
システム秘密変数群送信部１１２は、受信したシステム秘密変数群ＳＰＧをサーバ３２へ向けて送信する（Ｓ３１０４）。
【０２３７】
中間鍵群生成部３１３は、出力装置対応情報格納部１１４に格納されている中間鍵群ＭＫＧａ〜ＭＫＧｎを全て削除する（Ｓ３１０５）。
【０２３８】
中間鍵群生成部３１３は、ｍ個のダミー鍵ＤＭＫ１〜ＤＭＫｍを生成する（Ｓ３１０６）。
【０２３９】
中間鍵群生成部３１３は、先ほど作成したｍ個のダミー鍵ＤＭＫ１〜ＤＭＫｍを、鍵識別子ＫＩＤ１〜ＫＩＤｋ＋ｍの中で、コンテンツ鍵を割り当てられていない鍵識別子に対応させる。そして、ｋ＋ｍ個の鍵識別子ＫＩＤ１〜ＫＩＤｋ＋ｍ及びその鍵識別子に対応する（ｋ＋ｍ）個のコンテンツ鍵もしくはダミー鍵から構成される中間鍵群を作成する。
【０２４０】
中間鍵群生成部３１３は、その中間鍵群を、出力装置対応情報格納部１１４においてまだ中間鍵群が割り当てられていない出力装置識別子に対応づけて、格納する（Ｓ３１０７）。
【０２４１】
中間鍵群生成部３１３は、もし、出力装置対応情報格納部１１４の全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎを割り当てられたら、ステップＳ３１０９へ進む。もし、残っていたらステップＳ３１０６に戻る（Ｓ３１０８）。
【０２４２】
中間鍵群生成部３１３は、暗号化中間鍵群集合生成要求ＲＥＱ２を中間鍵群暗号化部１１５へ出力する（Ｓ３１０９）。
【０２４３】
暗号化中間鍵群生成要求ＲＥＱ２を受け取った中間鍵群暗号化部１１５は、出力装置対応情報格納部１１４にアクセスして、出力装置識別子及び個別鍵及び中間鍵群の全ての組｛ＡＩＤａ，ＩＫａ，ＭＫＧａ｝、｛ＡＩＤｂ，ＩＫｂ，ＭＫＧｂ｝、・・・、｛ＡＩＤｎ，ＩＫｎ，ＭＫＧｎ｝を取得する（Ｓ３１１０）。
【０２４４】
中間鍵群暗号化部１１５は、各々の個別鍵ＩＫａ〜ＩＫｎに基づいて各々の中間鍵群ＭＫＧａ〜ＭＫＧｎを暗号化し、その暗号化された中間鍵群及び装置識別子から構成される暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝｛ＡＩＤａ，ＥＮＣＭＫＧａ｝｜｜｛ＡＩＤｂ，ＥＮＣＭＫＧｂ｝｜｜・・・｜｜｛ＡＩＤｎ，ＥＮＣＭＫＧｎ｝を作成する（Ｓ３１１１）。
【０２４５】
中間鍵群暗号化部１１５は、作成した暗号化中間鍵群集合ＥＮＣＭＫＧＳを暗号化中間鍵群集合配信部１１６に出力する（Ｓ３１１２）。
【０２４６】
暗号化中間鍵群集合配信部１１６は、暗号化中間鍵群集合ＥＮＣＭＫＧＳを受け取り、その受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを出力装置３３ａ〜３３ｎへ向けて配信し、終了する（Ｓ３１１３）。
【０２４７】
≪出力装置３３ａの無効化時の動作≫
入力部１１７は、受信した出力装置識別子ＡＩＤａを、対応情報更新部１１８へ出力する（Ｓ３１５１）。
【０２４８】
対応情報更新部１１８は、出力装置対応情報格納部１１４から、受信した出力装置識別子ＡＩＤａ及び出力装置識別子ＡＩＤａに対応する個別鍵ＩＫａ及び中間鍵群ＭＫＧａを削除する（Ｓ３１５２）。
【０２４９】
対応情報更新部１１８は、システム秘密変数群生成部１１１へシステム秘密変数群生成要求ＲＥＱ１を出力し、ステップＳ３１０１に進む（Ｓ３１５３）。
【０２５０】
なお、出力装置３３ａ以外の出力装置３３ｂ〜３３ｎを無効化する時の動作は、出力装置３３ａとほぼ同様の動作となるが、対応情報更新部１１８において、出力装置対応情報格納部１１４から削除する出力装置識別子と個別鍵と中間鍵群が無効化する出力装置３３ｂ〜３３ｎに依存して変わる点が異なる。
【０２５１】
以上が、コンテンツ配信システム３の構成要素である鍵発行センタ３１の構成と動作である。続いて、サーバ３２の構成と動作について説明を行う。
【０２５２】
＜サーバ３２の構成＞
サーバ３２は、図４０に示すように、入力部１２１、コンテンツ暗号化部１２２、コンテンツ鍵格納部１２３、コンテンツ配信部１２４、時変変数群格納部１２５、システム秘密変数群受信部１２６、システム秘密変数群格納部１２７、時変変数群生成部３２８から構成される。図４０において、図９と同じ構成要素については同じ符号を用い、説明を省略する。
【０２５３】
（１）時変変数群生成部３２８
時変変数群生成部３２８には、予め時変変数群更新条件が与えられており、その条件を満たした場合に、システム秘密変数群格納部１２７にアクセスし、システム秘密変数群ＳＰＧを取得する。そして、そのシステム秘密変数群ＳＰＧの中から、コンテンツ鍵が割り当てられている鍵識別子をランダムに一つ選択する。ここでは鍵識別子とコンテンツ鍵として｛ＫＩＤ、ＣＫ｝を選択したとする。その後、図４１で示すような鍵識別子ＫＩＤから構成される時変変数群ＰＲＧを生成し、その時変変数群ＰＲＧを時変変数群格納部１２５に格納する。最後に、コンテンツ鍵格納部１２３に向けてコンテンツ鍵ＣＫを出力する。
【０２５４】
＜サーバ３２の動作＞
以上で、サーバ３２の構成について説明を行ったが、ここでサーバ３２の動作について説明する。まず、コンテンツ配信時の動作及びシステム秘密変数群受信時の動作については、サーバ１２における動作と同じなので説明を省略し、ここでは時変変数群更新時の動作について図４２に示すフローチャートを用いて説明する。
【０２５５】
≪時変変数群ＰＲＧ更新時≫
時変変数群生成部３２８は、予め与えられた時変変数群更新条件を満たしている場合、ステップＳ３２６２に進む。時変変数群更新条件を満たしていない場合、終了する（Ｓ３２６１）。
【０２５６】
システム秘密変数群格納部１２７にアクセスし、システム秘密変数群ＳＰＧを取得する（Ｓ３２６２）。
【０２５７】
システム秘密変数群ＳＰＧの中から、コンテンツ鍵が割り当てられている鍵識別子を一つ選択する。ここでは、｛ＫＩＤ，ＣＫ｝を選択したとする。その鍵識別子ＫＩＤから構成される時変変数群ＰＲＧを生成する（Ｓ３２６３）。
【０２５８】
時変変数群ＰＲＧを時変変数群格納部１２５に格納する（Ｓ３２６４）。
コンテンツ暗号化鍵生成部３２９にコンテンツ鍵ＣＫを格納する。終了する（Ｓ３３６５）。
【０２５９】
以上が、コンテンツ配信システム３の構成要素であるサーバ３２の構成と動作である。続いて、出力装置３３ａの構成と動作について説明を行う。
【０２６０】
＜出力装置３３ａの構成＞
出力装置３３ａは、図４３に示すように、コンテンツ受信部１３１、コンテンツ復号化鍵生成部３３２、コンテンツ鍵格納部１３３、中間鍵群格納部１３４、コンテンツ復号化部１３５、出力部１３６、暗号化中間鍵群集合受信部１３７、暗号化中間鍵群復号化部１３８、個別鍵格納部１３９から構成される。図４３において、図１７と同じ構成要素については同じ符号を用い、説明を省略する。
【０２６１】
（１）コンテンツ復号化鍵生成部３３２ａ
コンテンツ復号化鍵生成部３３２ａが、コンテンツ受信部１３１から時変変数群ＰＲＧを受信した場合、まずコンテンツ鍵格納部１３３に格納されている使用時変変数群ＵＰＲＧと受信した時変変数群ＰＲＧが一致するか確認する。ここで一致していたら、コンテンツ鍵格納部１３３にアクセスして、格納されているコンテンツ鍵ＣＫをコンテンツ復号化部１３５に出力する。もし一致していなければ、中間鍵群格納部１３４ａにアクセスし、中間鍵群ＭＫＧａを取得する。そして、時変変数群ＰＲＧから鍵識別子ＫＩＤを抽出し、中間鍵ＭＫａからその鍵識別子ＫＩＤに対応する鍵を取得し、それをコンテンツ鍵ＣＫとしてコンテンツ鍵格納部１３３へ格納し、その時に用いた時変変数群ＰＲＧを使用時変変数群ＵＰＲＧとしてコンテンツ鍵格納部１３３へ格納し、そのコンテンツ鍵ＣＫとしてコンテンツ復号化部１３５へ出力する。
【０２６２】
＜出力装置３３ａの動作＞
以上で、出力装置３３ａの構成について説明を行ったが、ここで出力装置３３ａの動作について説明する。まず、鍵更新時の動作については出力装置１３ａにおける動作と同じであるので説明を省略する。ここでは、コンテンツ受信時の動作について図４４に示すフローチャートを用いて説明する。
【０２６３】
≪コンテンツ受信時の動作≫
コンテンツ受信部１３１が暗号化コンテンツＥＮＣＣＮＴ及び時変変数群ＰＲＧを受け取った場合、ステップＳ３３０２に進む。受信していない場合、終了する（Ｓ３３０１）。
【０２６４】
受信した時変変数群ＰＲＧをコンテンツ復号化鍵生成部３３２ａに出力する（Ｓ３３０２）。
【０２６５】
時変変数群ＰＲＧを受信したコンテンツ復号化鍵生成部３３２ａは、コンテンツ鍵格納部１３３にアクセスし、受信した時変変数群ＰＲＧと使用時変変数群ＵＰＲＧが同じであったら、ステップＳ３３０７に進む。もし、違っていたら、ステップＳ３３０４に進む（Ｓ３３０３）。
【０２６６】
中間鍵群格納部１３４ａにアクセスして、中間鍵群ＭＫＧａを取得する（Ｓ３３０４）。
【０２６７】
時変変数群ＰＲＧから鍵識別子ＫＩＤを取得し、中間鍵群ＭＫＧａの中から鍵識別子ＫＩＤに対応する鍵をコンテンツ鍵ＣＫとして取得する（Ｓ３３０５）。
【０２６８】
コンテンツ復号化鍵生成部３３２ａは、コンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力し、ステップＳ３３０８に進む（Ｓ３３０６）。
【０２６９】
コンテンツ復号化鍵生成部３３２ａは、中間鍵群格納部１３４ａにアクセスして、コンテンツ鍵ＣＫを取得し、そのコンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力する（Ｓ３３０７）。
【０２７０】
コンテンツ復号化部１３５は、コンテンツ鍵ＣＫを基に、暗号化コンテンツＥＮＣＣＮＴの復号化を行う（Ｓ３３０８）。
【０２７１】
その復号化コンテンツＤＥＣＣＮＴを、出力部１３６へ出力する（Ｓ３３０９）。
出力部１３６は、第一復号化部１３６から復号化コンテンツＤＥＣＣＮＴを受信し、受信した復号化コンテンツＤＥＣＣＮＴを外部へ出力する。終了する（Ｓ３３１０）。
【０２７２】
以上が、コンテンツ配信システム３の構成要素である出力装置３３の構成と動作である。
【０２７３】
＜実施の形態３の動作検証＞
本実施の形態３において、それぞれの出力装置３３ａ〜３３ｎには異なる値の中間鍵群ＭＫＧａ〜ＭＫＧｎが割り当てられているにもかかわらず、全出力装置３３ａ〜３３ｎにおいて同じコンテンツ鍵ＣＫが導出出来る理由について説明する。各中間鍵群ＭＫＧａ〜ＭＫＧｎは、全機種共通となるコンテンツ鍵の部分と、出力装置毎に異なるダミー鍵の部分とで構成されている。サーバ３２は、各中間鍵群ＭＫＧａ〜ＭＫＧｎのどの部分が全機種共通となるか知っているため、その部分の鍵のみを使うように時変変数群ＰＲＧを作成することが出来る。ただし、各中間鍵だけを持つ出力装置３３ａ〜３３ｎにとっては、どの部分が全機種共通となるコンテンツ鍵で、どの部分が出力装置毎に異なるダミー鍵か区別することが出来ない。
【０２７４】
＜実施の形態３の効果＞
本実施の形態３は、基本的に実施の形態１と同様の効果を有するが、出力装置３３ａ〜３３ｎでは代数演算処理を用いずにテーブル固定値を参照するだけでコンテンツ鍵ＣＫを作り出す点が実施の形態１に比べて異なる。このことにより、実施の形態１に比べて、鍵発行センタ３１が出力装置３３ａ〜３３ｈへ配布する暗号化中間鍵群集合ＥＮＣＭＫＧＳのサイズは大きくなるが、各出力装置３３ａ〜３３ｎの演算処理量が削減出来る。
【０２７５】
＜実施の形態３の変形例＞
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
【０２７６】
（１）通信路１０は、地上波放送や衛星放送などの放送網であっても良い。
【０２７７】
（２）鍵発行センタ３１の役割を、サーバ３２が兼ねるようにしても良い。つまり、サーバ３２が出力装置識別子ＡＩＤａ〜ＡＩＤｎのいずれかを受信し、その出力装置識別子ＡＩＤａ〜ＡＩＤｎのいずれかを基に、暗号化中間鍵群集合ＥＮＣＭＫＧＳを複数の出力装置３３ａ〜３３ｎへ送信するようにしても良い。
【０２７８】
（３）鍵発行センタ３１の中間鍵群生成部３１３は、外部から中間鍵群生成要求情報ＲＥＱ３を受信するようにして、その中間鍵群生成要求情報ＲＥＱ３に基づき、中間鍵群ＭＫＧａ〜ＭＫＧｎを生成するようにしても良い。
【０２７９】
（４）鍵発行センタ３１が、サーバ３２へシステム秘密変数群ＳＰＧの代わりに中間鍵を送付するようにしても良い。
【０２８０】
（５）サーバ３２の時変変数群生成部３２８は、外部から時変変数群生成要求情報ＲＥＱ４を受信するようにして、その時変変数群生成要求情報ＲＥＱ４に基づき、時変変数群ＰＲＧを生成するようにしても良い。
【０２８１】
（６）システム秘密変数群ＳＰＧは、図４５のように共通鍵ＳＫを設けるようにして、システム秘密変数群生成部３１１は、コンテンツ鍵ＣＫ及びコンテンツ鍵ＣＫに加え共通鍵ＳＫを生成するようにして、中間鍵群ＭＫＧａ〜ＭＫＧｎを図４６のように共通鍵ＳＫを設けるようにして、時変変数群生成部３２８では、ランダムに選んだ鍵識別子ＫＩＤに対応する鍵と共通鍵ＳＫを連結させたものをコンテンツ鍵ＣＫして暗号化格納部１２３に格納し、コンテンツ復号化鍵生成部３３２は、時変変数群ＰＲＧの鍵識別子ＫＩＤに対応する鍵と共通鍵ＳＫを連結させたものをコンテンツ鍵ＣＫとしてコンテンツ鍵格納部１３３に格納し、コンテンツ復号化部１３５に出力するようにしても良い。
【０２８２】
（７）システム秘密変数群ＳＰＧは、図４７のように（ｋ＋ｍ）組のビット識別子ＢＩＤ１〜ＢＩＤ及びｋ組のコンテンツ鍵ビットから構成されるようにして、中間鍵群ＭＫＧａ〜ＭＫＧｎを図４８のようにビット識別子ＢＩＤ１〜ＢＩＤｋ＋ｍ及び対応付けられた（ｋ＋ｍ）個のビットから構成されるようにして、時変変数群ＰＲＧは図４９のように、第一ビット識別子ＢＩＴＩＤ１から第ｙビット識別子ＢＩＴＩＤｙから構成されるようにして、サーバ３２の時変変数群生成部３２８は、システム秘密変数群ＳＰＧにおいてコンテンツ鍵ビットが割り当てられているｋ個のうちｙ個のビット識別子を選択し、それらから構成される時変変数群ＰＲＧを時変変数群格納部１２５へ格納し、その選択されたｙ個のビット識別子に対応するコンテンツ鍵ビットをビット連結させたものをコンテンツ鍵格納部１２３へ格納するようにして、出力装置３３２の復号化生成部は、中間鍵群において、受け取った時変変数群ＰＲＧのｙ個のビット識別子ＢＩＴＩＤ１〜ＢＩＤＩＴｙに対応するコンテンツ鍵ビットをビット連結させたものをコンテンツ鍵ＣＫとしてコンテンツ復号化部１３５へ出力するようにしても良い。
【０２８３】
（８）実施の形態３で、出力装置は１４台（３３ａ〜３３ｎ）であったが、出力装置は１５台以上でもよいし、１３台以下でも良い。
【０２８４】
（９）鍵発行センタ３１が暗号化中間鍵群集合ＥＮＣＭＫＧを配信する際には、出力装置３３ａ〜３３ｎへ同時に配信しても良いし、各出力装置３３ａ〜３３ｎ個別に配信しても良い。なお、サーバ３２が時変変数群ＰＲＧや暗号化コンテンツＥＮＣＣＮＴを配信する際にも同様に、出力装置３３ａ〜３３ｎへ同時に配信しても良いし、各出力装置３３ａ〜３３ｎ個別に配信しても良い。
【０２８５】
（１０）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２８６】
（１１）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。            
【０２８７】
（実施の形態４）
本発明に係る一つの実施の形態としてのコンテンツ配信システム４について説明する。実施の形態３におけるコンテンツ配信システム３では、中間鍵群ＭＫＧａ〜ＭＫＧｎの中にｋ個のコンテンツ鍵とｍ個のダミー鍵を含んでいたが、実施の形態４におけるコンテンツ配信システム４は、中間鍵群ＭＫＧａ〜ＭＫＧｎの中に個別の方程式（出力装置コンテンツ鍵生成式）に関する情報を含み、その方程式を基に、コンテンツ鍵を取得する点が、実施の形態３と大きく異なる。
【０２８８】
以下に、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム４の詳細について説明を行う。
【０２８９】
＜コンテンツ配信システム４の構成＞
コンテンツ配信システム４は、図５０に示すように、実施の形態１と同様の通信路１０と、実施の形態１とは異なる鍵発行センタ４１と、実施の形態１とは異なるサーバ３２と、複数の実施の形態１とは異なる出力装置４２ａ〜４２ｎから構成される。各々の構成要素の役割は、コンテンツ配信システム１と同じである。
【０２９０】
以下に、これらの構成要素について、詳細に説明する。通信路１０の構成についてはコンテンツ配信システム１と同じ構成であるので説明を省略し、サーバ３２についてはコンテンツ配信システム３と同じ構成と動作であるので説明を省略し、鍵発行センタ４１及び出力装置４３の構成と動作について図を用いて説明する。
【０２９１】
＜鍵発行センタ４１の構成＞
鍵発行センタ４１は、図５１に示すように、システム秘密変数群生成部３１１、システム秘密変数群送信部１１２、中間鍵群生成部４１３、出力装置対応情報格納部１１４、中間鍵群暗号化部１１５、暗号化中間鍵群集合配信部１１６、入力部１１７、対応情報更新部１１８から構成される。図５１において、図２もしくは図３５と同じ構成要素については同じ符号を用い、説明を省略する。
【０２９２】
（１）中間鍵群生成部４１３
中間鍵群生成部４１３は、システム秘密変数群生成部３１１からシステム秘密変数群ＳＰＧを受信した場合、まず、出力装置対応情報格納部１１３にある中間鍵群ＭＫＧａ〜ＭＫＧｎを全て消去する。そして、受信したシステム秘密変数群ＳＰＧから（ｋ＋ｍ）組の鍵識別子とコンテンツ鍵を取得する。次に、鍵識別子ＫＩＤ１〜ＫＩＤｋ＋ｍの中で、コンテンツ鍵ＣＫが割り当てられていないｍ個の鍵識別子に対して、ダミー鍵ＤＭＫ１〜ＤＭＫｍを生成し、割り当てる。そして、鍵識別子の値をｘ軸として、鍵の値をｙ軸として、二次元座標の点として表現する。そして、その二次元座標の全ての点を通るような、例えば（ｋ＋ｍ＋１）次式の方程式を導き出す。そして、その方程式係数を｛ＣＥ１，ＣＥ２，・・・ＣＫｋ＋ｍ＋２｝とし、図５２で示すような方程式係数ＣＥ１〜ＣＫｋ＋ｍ＋２から構成される中間鍵群ＭＫＧａを作成する。そして、この中間鍵群ＭＫＧａを出力装置対応情報格納部１１３の出力装置識別子ＡＩＤａに対応させて格納する。そして、これを出力装置対応情報格納部１１３にある他の全ての出力装置識別子ＡＩＤｂ〜ＡＩＤｎに対して行う。ここで、異なる出力装置識別子ＡＩＤａ〜ＡＩＤｎには異なる中間鍵群を割り当てるようにする。出力装置対応情報格納部１１３にある全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎを割り当てられたら、暗号化中間鍵群生成要求ＲＥＱ２を中間鍵群暗号化部１１５へ出力する。
【０２９３】
＜鍵発行センタ４１の動作＞
以上で、鍵発行センタ４１の構成について説明を行ったが、ここでは鍵発行センタ４１の動作について説明する。まず、鍵発行センタ４１の鍵配信時の動作について図５３に示すフローチャートを用いて説明し、その後、出力装置無効化時の動作について図５４を用いて説明する。
【０２９４】
≪鍵配信時の動作≫
システム秘密変数群生成部３１１は、ｋ組のコンテンツ鍵ＣＫ１，ＣＫ２，・・・ＣＫｋを生成する（Ｓ４１０１）。
【０２９５】
システム秘密変数群生成部３１１は、鍵識別子ＫＩＤ１〜ＫＩＤｋ＋ｍのうちｋ組を選択し、そのｋ組の鍵識別子に対して、ｋ組のコンテンツ鍵を対応付ける（Ｓ４１０２）。
【０２９６】
システム秘密変数群生成部３１１は、システム秘密変数群ＳＰＧを生成し、そのシステム秘密変数群ＳＰＧをシステム秘密変数群送信部１１２及び中間鍵群生成部４１３へ出力する（Ｓ４１０３）。
【０２９７】
システム秘密変数群送信部１１２は、受信したシステム秘密変数群ＳＰＧをサーバ４２へ向けて送信する（Ｓ４１０４）。
【０２９８】
中間鍵群生成部４１３は、出力装置対応情報格納部１１４に格納されている中間鍵群ＭＫＧａ〜ＭＫＧｎを全て削除する（Ｓ４１０５）。
【０２９９】
中間鍵群生成部４１３は、システム秘密変数群ＳＰＧに格納されている鍵識別子ＫＩＤ１〜ＫＩＤｋ＋ｍのうち、コンテンツ鍵を割り当てられていないｍ個の鍵識別子に対して、ダミー鍵｛ＤＭＫ１，ＤＭＫ２，・・・ＤＭＫｍ｝を生成し、割り当てる。この時、前に生成したダミー鍵の値と衝突しないようにする（Ｓ４１０６）。
【０３００】
中間鍵群生成部４１３は、鍵識別子の値をｘ軸として、対応する鍵の値をｙ軸として、二次元座標の点として表現する。そして、その二次元座標の点をすべて通るような例えばｋ＋ｍ＋１次式の方程式を計算する。そして、その方程式係数を｛ＣＥ１，ＣＥ２、・・・ＣＫ＋ｍ＋２｝から構成される中間鍵群を作成する（Ｓ４１０６）。
【０３０１】
中間鍵群生成部４１３は、その中間鍵群を、出力装置対応情報格納部１１４においてまだ中間鍵群が割り当てられていない出力装置識別子に対応させて、格納する（Ｓ４１０７）。
【０３０２】
もし、出力装置対応情報格納部１１４の全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎを割り当てられたら、ステップＳ４１０９へ進む。もし、残っていたらステップＳ４１０６に戻る（Ｓ４１０８）。
【０３０３】
中間鍵群生成部４１３は、暗号化中間鍵群集合生成要求ＲＥＱ２を中間鍵群暗号化部１１５へ出力する（Ｓ４１０９）。
【０３０４】
暗号化中間鍵群集合生成要求ＲＥＱ２を受け取った中間鍵群暗号化部１１５は、出力装置対応情報格納部１１４にアクセスして、全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎ及び個別鍵ＩＫａ〜ＩＫｎ及び中間鍵群ＭＫＧａ〜ＭＫＧｎを取得する（Ｓ４１１０）。
【０３０５】
中間鍵群暗号化部１１５は、各々の個別鍵ＩＫａ〜ＩＫｎに基づいて各々の中間鍵群ＭＫＧａ〜ＭＫＧｎを暗号化し、その暗号化中間鍵群ＥＮＣＭＫＧａ＝Ｅｎｃ（ＩＫａ，ＭＫＧａ）〜ＥＮＣＭＫＧｎ＝Ｅｎｃ（ＩＫｎ，ＭＫＧｎ）及び暗号化に用いた個別鍵に対応する装置識別子から構成される暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝｛ＡＩＤａ，ＥＮＣＭＫＧａ｝｜｜・・・｜｜｛ＡＩＤｎ，ＥＮＣＭＫＧｎ｝を作成する（Ｓ４１１１）。
【０３０６】
中間鍵群暗号化部１１５は、作成した暗号化中間鍵群集合ＥＮＣＭＫＧＳを暗号化中間鍵群集合配信部１１６に出力する（Ｓ４１１２）。
【０３０７】
暗号化中間鍵群集合配信部１１６は、暗号化中間鍵群集合ＥＮＣＭＫＧＳを受け取り、その受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを出力装置１３ａ〜１３ｎへ向けて配信し、終了する（Ｓ４１１３）。
【０３０８】
≪出力装置４３ａ無効化時の動作≫
入力部１１７は、受信した出力装置識別子ＡＩＤａを、対応情報更新部１１８へ出力する（Ｓ４１５１）。
【０３０９】
対応情報更新部１１８は、受信した出力装置識別子ＡＩＤａに対応する個別鍵ＩＫａ及び中間鍵群ＭＫＧａを出力装置対応情報格納部１１４から削除する（Ｓ４１５２）。
【０３１０】
対応情報更新部１１８は、システム秘密変数群生成部１１１へシステム秘密変数群生成要求ＲＥＱ１を出力し、ステップＳ４１０１に進む（Ｓ４１５３）。
【０３１１】
以上が、コンテンツ配信システム４の構成要素である鍵発行センタ４１の構成と動作である。続いて、出力装置４３の構成と動作について説明を行う。
【０３１２】
＜出力装置４３ａの構成＞
出力装置４３ａは、図５５に示すように、コンテンツ受信部１３１、コンテンツ復号化鍵生成部４３２ａ、コンテンツ鍵格納部１３３、中間鍵群格納部１３４ａ、コンテンツ復号化部１３５、出力部１３６、暗号化中間鍵群集合受信部１３７、暗号化中間鍵群復号化部１３８ａ、個別鍵格納部１３９ａから構成される。図５５において、図１７と同じ構成要素については同じ符号を用い、説明を省略する。
【０３１３】
（１）コンテンツ復号化鍵生成部４３２ａ
コンテンツ復号化鍵生成部４３２ａが、コンテンツ受信部１３１から時変変数群ＰＲＧを受信した場合、まずコンテンツ鍵格納部１３３に格納されている使用時変変数群ＵＰＲＧと受信した時変変数群ＰＲＧが一致するか確認する。ここで一致していたら、コンテンツ鍵格納部１３３にアクセスして、格納されているコンテンツ鍵ＣＫをコンテンツ復号化部１３５に出力する。もし一致していなければ中間鍵群格納部１３４ａにアクセスし、中間鍵群ＭＫＧａを取得する。そして、その中間鍵群ＭＫＧａから抽出される方程式係数から、出力装置コンテンツ鍵生成方程式を生成する。そして、時変変数群ＰＲＧから鍵識別子を取得し、その鍵識別子を出力装置コンテンツ鍵生成方程式に代入する。その代入した結果の値をコンテンツ鍵ＣＫとしてコンテンツ鍵格納部１３３へ格納し、そのコンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力する。
【０３１４】
＜出力装置４３ａの動作＞
以上で、出力装置４３ａの構成について説明を行ったが、ここで出力装置４３ａの動作について説明する。まず、コンテンツ受信時の動作について図５６に示すフローチャートを用いて説明し、そして、鍵更新時の動作について及び図５７に示すフローチャートを用いて説明する。
【０３１５】
≪コンテンツ受信時の動作≫
コンテンツ受信部１３１が暗号化コンテンツＥＮＣＣＮＴ及び時変変数群ＰＲＧを受け取った場合、ステップＳ４３０２に進む。受信していない場合、終了する（Ｓ４３０１）。
【０３１６】
受信した時変変数群ＰＲＧをコンテンツ復号化鍵生成部４３２に出力する（Ｓ４３０２）。
【０３１７】
時変変数群ＰＲＧを受信したコンテンツ復号化鍵生成部４３２は、コンテンツ鍵格納部１３３にアクセスし、受信した時変変数群ＰＲＧと同じ使用時変変数群ＵＰＲＧが格納されていたら、ステップＳ４３０７に進む。もし、違っていたら、ステップＳ４３０５に進む（Ｓ４３０３）。
【０３１８】
コンテンツ復号化鍵生成部４３２は、まず中間鍵群格納部１３４にアクセスして、中間鍵群ＭＫＧａを取得する（Ｓ４３０４）。そして、中間鍵群ＭＫＧａの中に埋め込まれている方程式係数から、出力装置コンテンツ鍵生成方程式を生成する。そして、時変変数群ＰＲＧから鍵識別子を取得し、その鍵識別子を出力装置コンテンツ鍵生成方程式に代入する。その代入した結果の値をコンテンツ鍵ＣＫとする（Ｓ４３０５）。
【０３１９】
コンテンツ復号化鍵生成部４３２は、コンテンツ鍵ＣＫを、コンテンツ復号化部１３５へ出力し、ステップＳ４３０８に進む（Ｓ４３０６）。
【０３２０】
コンテンツ復号化鍵生成部４３２は、中間鍵群格納部１３４ａにアクセスして、コンテンツ鍵ＣＫを取得し、そのコンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力する（Ｓ４３０７）。
【０３２１】
コンテンツ復号化部１３５は、コンテンツ鍵ＣＫを基に、暗号化コンテンツＥＮＣＣＮＴの復号化を行う（Ｓ４３０８）。
【０３２２】
その復号化コンテンツＤＥＣＣＮＴを、出力部１３６へ出力する（Ｓ４３０９）。
出力部１３６は、第一復号化部１３６から復号化コンテンツＤＥＣＣＮＴを受信し、受信した復号化コンテンツＤＥＣＣＮＴを外部へ出力する。終了する（Ｓ４３１０）。
【０３２３】
以上が、コンテンツ配信システム４の構成要素である出力装置４３の構成と動作である。
【０３２４】
＜実施の形態４の動作検証＞
本実施の形態４において、それぞれの出力装置４３ａ〜４３ｎには異なる値の中間鍵群ＭＫＧａ〜ＭＫＧｎが割り当てられているにもかかわらず、全出力装置３３ａ〜３３ｎにおいて同じコンテンツ鍵ＣＫが導出出来る理由については、実施の形態３と同じである。
【０３２５】
＜実施の形態４の効果＞
本実施の形態４は、基本的に実施の形態３と同様の効果を有するが、実施の形態３に比べて、各出力装置４３ａ〜４３ｎにおける演算処理量は増加するが、鍵発行センタ４１が出力装置４３ａ〜４３ｎへ配信する暗号化中間鍵群集合ＥＮＣＭＫＧＳのサイズは削減出来る。
【０３２６】
＜実施の形態４の変形例＞
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
【０３２７】
（１）通信路１０は、地上波放送や衛星放送などの放送網であっても良い。
【０３２８】
（２）鍵発行センタ４１の役割を、サーバ４２が兼ねるようにしても良い。つまり、サーバ４２が出力装置識別子を受信し、その出力装置識別子を基に、暗号化中間鍵群集合ＥＮＣＭＫＧＳを出力装置４３ａ〜４３ｎへ送信するようにしても良い。
【０３２９】
（３）鍵発行センタ４１の中間鍵群生成部４１３は、外部から中間鍵群生成要求情報ＲＥＱ３を受信するようにして、その中間鍵群生成要求情報ＲＥＱ３に基づき、中間鍵を生成するようにしても良い。
【０３３０】
（４）鍵発行センタ４１が、サーバ４２へシステム秘密変数群ＳＰＧの代わりに中間鍵を送付するようにしても良い。
【０３３１】
（５）サーバ４２の時変変数群生成部４２８は、外部から時変変数群生成要求情報ＲＥＱ４を受信するようにして、その時変変数群生成要求情報ＲＥＱ４に基づき、時変変数群ＰＲＧを生成するようにしても良い。
【０３３２】
（６）実施の形態４で、出力装置は１４台（４３ａ〜４３ｎ）であったが、出力装置は１５台以上でもよいし、１３台以下でも良い。
【０３３３】
（７）鍵発行センタ４１が暗号化中間鍵群集合ＥＮＣＭＫＧを配信する際には、出力装置４３ａ〜４３ｎへ同時に配信しても良いし、各出力装置４３ａ〜４３ｎ個別に配信しても良い。なお、サーバ３２が時変変数群ＰＲＧや暗号化コンテンツＥＮＣＣＮＴを配信する際にも同様に、出力装置４３ａ〜４３ｎへ同時に配信しても良いし、各出力装置４３ａ〜４３ｎ個別に配信しても良い。
【０３３４】
（８）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０３３５】
（９）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０３３６】
（実施の形態５）
本発明に係る５の実施の形態としてのコンテンツ配信システム５について説明する。実施の形態１におけるコンテンツ配信システム１では、出力装置１３ａ〜１３ｎは代数演算を用いてコンテンツ鍵ＣＫを生成していたが、実施の形態５におけるコンテンツ配信システム５は、出力装置５３ａ〜５３ｎがシフトレジスタを用いてコンテンツ鍵ＣＫを生成する点が、実施の形態１と大きく異なる。
【０３３７】
以下で、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム５の詳細について説明を行う。
【０３３８】
＜コンテンツ配信システム５の構成＞
コンテンツ配信システム５は、図５７に示すように、実施の形態１と同様の通信路１０と、実施の形態１とは異なる鍵発行センタ５１と、実施の形態１とは異なるサーバ５２と、複数の実施の形態１とは異なる出力装置５３ａ〜５３ｎから構成される。各々の構成要素の役割については、コンテンツ配信システム１と同じである。
【０３３９】
ここでは、まず鍵発行センタ５１及びサーバ５２及び出力装置５３ａ〜５３ｎで共通して利用するシフトレジスタの構成及び動作について図５８から図６０を用いて説明する。まず図５８を用いてシフトレジスタの構成について説明する。図５８においては、第一レジスタＲ［１］、第二レジスタＲ［２］、第三レジスタＲ［３］、第四レジスタＲ［４］の４つのレジスタと第二レジスタＲ［２］と第三レジスタＲ［３］の間にある１つのタップから構成されているシフトレジスタを示している。ここでは説明を容易にするためにレジスタ数を４つにしており、タップ数を１つとしているが、そのレジスタ数及びタップ数はいくつでも良い。タップの繋ぎ方については、例えば、非特許文献４に記載のＭ系列と同じように、原始多項式を利用する方法がある。それぞれのレジスタには０もしくは１のバイナリデータが格納されている。図５８においては、第一レジスタＲ［１］に１、第二レジスタＲ［２］に１、第三レジスタＲ［３］に０、第四レジスタＲ［４］には１が格納されている。また、タップは排他的論理和演算を意味している。
【０３４０】
次に、シフトレジスタの２つの動作について説明する。右シフト演算及び左シフト演算である。右シフト演算については、図５９を用いて説明を行い、左シフト演算については、図６０を用いて説明する。
【０３４１】
まず、シフトレジスタにおける右シフト演算について説明する。右シフト演算を１回行ったあとには、第四レジスタＲ［４］には前の状態の第三レジスタＲ［３］の値が格納され、第二レジスタＲ［２］には前の状態の第一レジスタＲ［１］の値が格納され、第一レジスタＲ［１］には前の状態の第四レジスタＲ［４］の値が格納される。そして、残りの第三レジスタＲ［３］には前の状態の第四レジスタＲ［４］の値と前の状態の第二レジスタＲ［２］の値との排他的論理和を取った値が格納される。そのため、シフトレジスタは初期状態として図５９の上で示されるように、第一レジスタＲ［１］に１、第二レジスタＲ［２］に１、第三レジスタＲ［３］に０、第四レジスタＲ［４］には１が格納されているとした場合、その初期状態から右シフト演算を１回した後は、図５９の中間で示すように、第一レジスタＲ［１］に１、第二レジスタＲ［２］に１、第三レジスタＲ［３］に０、第四レジスタＲ［４］には０が格納される。そして、その状態からさらに右シフト演算を１回した後は、図５９の下で示すように、第一レジスタＲ［１］に０、第二レジスタＲ［２］に１、第三レジスタＲ［３］に１、第四レジスタＲ［４］には０が格納される。
【０３４２】
次に、シフトレジスタにおける左シフト演算について説明する。左シフト演算を１回行ったあとには、第一レジスタＲ［１］には前の状態の第二レジスタＲ［２］の値が格納され、第三レジスタＲ［３］には前の状態の第四レジスタＲ［４］の値が格納される。そして、残りの第二レジスタＲ［２］には前の状態の第三レジスタＲ［３］の値と前の状態の第一レジスタＲ［１］の値との排他的論理和を取った値が格納され、第四レジスタＲ［４］には前の状態の第一レジスタＲ［１］の値と各外部入力ＯＩ［１］〜ＯＩ［４］の値との排他的論理和を取った値が格納される。そのため、シフトレジスタは初期状態として図６０の上で示されるように、第一レジスタＲ［１］に０、第二レジスタＲ［２］に０、第三レジスタＲ［３］に１、第四レジスタＲ［４］には１が格納されているとした場合、その初期状態から外部入力ＯＩ［１］を１として左シフト演算を１回した後は、図６０の中間で示すように、第一レジスタＲ［１］に０、第二レジスタＲ［２］に１、第三レジスタＲ［３］に１、第四レジスタＲ［４］には１が格納される。そして、その状態からさらに外部入力ＯＩ［２］を１として左シフト演算を１回した後は、図６０の下で示すように、第一レジスタＲ［１］に１、第二レジスタＲ［２］に１、第三レジスタＲ［３］に１、第四レジスタＲ［４］には１が格納される。
【０３４３】
以上が鍵発行センタ５１及びサーバ５２及び出力装置５３で使用するシフトレジスタの構成及び動作の説明である。
【０３４４】
以下に、コンテンツ配信システム５の構成要素について、詳細に説明する。通信路１０の構成についてはコンテンツ配信システム１と同じ構成であるので説明を省略し、鍵発行センタ５１及びサーバ５２及び出力装置５３ａ〜５３ｎの構成と動作について図を用いて説明する。
【０３４５】
＜鍵発行センタ５１の構成＞
鍵発行センタ５１は、図６１に示すように、システム秘密変数群生成部５１１、中間鍵群生成部５１３、出力装置対応情報格納部１１４、中間鍵群暗号化部１１５、暗号化中間鍵群集合配信部１１６、入力部１１７、対応情報更新部１１８、サーバ中間鍵群送信部５１９から構成される。図６１において、図２と同じ構成要素については同じ符号を用い、説明を省略する。
【０３４６】
（１）システム秘密変数群生成部５１１
システム秘密変数群生成部５１１は、新しいｔビットのシステム秘密変数群ＳＰＧを生成し、そのシステム秘密変数群ＳＰＧを中間鍵群生成部５１３に出力する。ここで、システム秘密変数群ＳＰＧを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。
【０３４７】
（２）中間鍵群生成部５１３
中間鍵群生成部５１３は、システム秘密変数群生成部５１１からシステム秘密変数群ＳＰＧを受信した場合、まず、出力装置対応情報格納部１１３にある全ての中間鍵群ＭＫＧａ〜ＭＫＧｎを消去する。中間鍵群生成部５１３は、（ｔ＋ｒ）個のレジスタ及びｖ個のタップから構成されるシフトレジスタＳＲを保有しており、このシフトレジスタＳＲはサーバ５２のコンテンツ暗号化鍵生成部５２９、出力装置５３ａ〜５３ｎの各コンテンツ復号化鍵生成部５３２も同じシフトレジスタＳＲを保有しているとする。まず、ｔビットのシステム秘密変数群ＳＰＧをビット表現して、第一レジスタＲ［１］から第ｔレジスタＲ［ｔ］までに代入する。そして、ｒビットの個別化変数ｘを生成し、ビット表現して第（ｔ＋１）レジスタＲ[ｔ＋１]から第（ｔ＋ｒ）レジスタＲ［ｔ＋ｒ］までに代入する。ここで個別化変数ｘを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。そして、その状態のシフトレジスタＳＲに対して右方向シフトをｕ回行う。ｕ回右シフト後のシフトレジスタＳＲの第一レジスタＲ１から第（ｔ＋ｒ）レジスタＲ［ｔ＋ｒ］の値をビット連結したものを中間鍵群ＭＫＧａとし、その中間鍵群ＭＫＧａを出力装置対応情報格納部１１３の出力装置識別子ＡＩＤａに対応させて格納する。そして、これを出力装置対応情報格納部１１３にある出力装置識別子ＡＩＤａ以外の全ての出力装置識別子ＡＩＤｂ〜ＡＩＤｎに対して行う。ここで、異なる出力装置識別子には異なる中間鍵群を割り当てるようにする。出力装置対応情報格納部１１３にある全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎを割り当てられたら、暗号化中間鍵群生成要求ＲＥＱ２を中間鍵群暗号化部１１５へ出力する。また、最後に他の中間鍵群ＭＫＧａ〜ＭＫＧｎと同様に、もう一つ中間鍵群を作成し、それをサーバ中間鍵群ＭＫＧｓとしてサーバ中間鍵群送信部５１９に出力する。ここで、ｔは例えば１２８であり、ｒは例えば３２であり、ｕは例えば１６０である。
【０３４８】
（３）サーバ中間鍵群送信部５１９
サーバ中間鍵群送信部５１９は、中間鍵群生成部５１３から受け取ったサーバ中間鍵群ＭＫＧｓを通信路１０を経由してサーバ５２に送信するものである。
【０３４９】
＜鍵発行センタ５１の動作＞
以上で、鍵発行センタ５１の構成について説明を行ったが、ここでは鍵発行センタ５１の動作について説明する。まず、コンテンツ鍵を生成するのに必要な鍵情報配信時の動作について図６２に示すフローチャートを用いて説明し、その後、出力装置５３ａの無効化時の動作について図６３に示すフローチャートを用いて説明する。
【０３５０】
≪鍵情報配信時の動作≫
システム秘密変数群生成部５１１は、ｔビットのシステム秘密変数群ＳＰＧを生成する（Ｓ５１０１）。
【０３５１】
システム秘密変数群生成部５１１は、システム秘密変数群ＳＰＧを中間鍵群生成部５１３へ出力する（Ｓ５１０２）。
【０３５２】
中間鍵群生成部５１３は、出力装置対応情報格納部１１４に格納されている中間鍵群ＭＫＧａ〜ＭＫＧｎを全て削除する（Ｓ５１０３）。
【０３５３】
システム秘密変数群ＳＰＧを受信した中間鍵群生成部５１３は、ｔビットのシステム秘密変数群ＳＰＧをビット表現して、第一レジスタＲ［１］から第ｔレジスタＲ［ｔ］までに代入する。そして、ｒビットの個別化変数ｘを生成し、第（ｔ＋１）レジスタＲ［ｔ＋１］から第（ｔ＋ｒ）レジスタＲ［ｔ＋ｒ］までに代入する。そして、その状態のシフトレジスタＳＲに対して右方向シフトをｕ回行う。ｕ回右シフト後のシフトレジスタＳＲの第一レジスタＲ［１］から第（ｔ＋ｒ）レジスタＲ［ｔ＋ｒ］の値を中間鍵群として取得する（Ｓ５１０４）。
【０３５４】
中間鍵群生成部５１３は、その中間鍵群をまだ出力装置対応情報格納部１１３において中間鍵群を割り当てられていない一つの出力装置識別子に対応させて格納する（Ｓ５１０５）。
【０３５５】
中間鍵群生成部５１３は、出力装置対応情報格納部１１４の全出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎを割り当てられたら、ステップＳ５１０７へ進む。もし、残っていたらステップＳ５１０４に戻る（Ｓ５１０６）。
【０３５６】
中間鍵群生成部５１３は、中間鍵群ＭＫＧａ〜ＭＫＧｎと同様に、もう一つ中間鍵群を作成し、それをサーバ中間鍵群ＭＫＧｓとする（Ｓ５１０７）。
【０３５７】
中間鍵群生成部５１３は、そのサーバ中間鍵群ＭＫＧｓをサーバ中間鍵群送信部５１９へ出力する（Ｓ５１０８）。
【０３５８】
サーバ中間鍵群送信部５１９は、そのサーバ中間鍵群ＭＫＧｓを出力装置５３ａ〜５３ｎへ配信する（Ｓ５１０９）。
【０３５９】
中間鍵群生成部５１３は、暗号化中間鍵群集合生成要求ＲＥＱ２を中間鍵群暗号化部１１５へ出力する（Ｓ５１１０）。
【０３６０】
暗号化中間鍵群生成要求ＲＥＱ２を受け取った中間鍵群暗号化部１１５は、出力装置対応情報格納部１１４にアクセスして、全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎ及び個別鍵ＩＫａ〜ＩＫｎ及び中間鍵群ＭＫＧａ〜ＭＫＧｎの組を取得する（Ｓ５１１１）。
【０３６１】
中間鍵群暗号化部１１５は、各々の個別鍵ＩＫａ〜ＩＫｎに基づいて各々の中間鍵群ＭＫＧａ〜ＭＫＧｎを暗号化し、その暗号化中間鍵及び暗号化に用いた個別鍵に対応する装置識別子から構成される暗号化中間鍵群集合ＥＮＣＭＫＧＳを作成する（Ｓ５１１２）。
【０３６２】
中間鍵群暗号化部１１５は、作成した暗号化中間鍵群週ｙ号ＥＮＣＭＫＧＳを暗号化中間鍵群集合配信部１１６に出力する（Ｓ５１１３）。
【０３６３】
暗号化中間鍵群集合配信部１１６は、暗号化中間鍵群集合ＥＮＣＭＫＧＳを受け取り、その受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを出力装置５３へ向けて配信し、終了する（Ｓ５１１４）。
【０３６４】
≪出力装置５３ａ無効化時の動作≫
入力部１１７は、受信した出力装置識別子ＡＩＤａを、対応情報更新部１１８へ出力する（Ｓ５１５１）。
【０３６５】
対応情報更新部１１８は、対応する受信した出力装置識別子ＡＩＤａに対応する個別鍵ＩＫａ及び中間鍵群ＭＫＧａを出力装置対応情報格納部１１４から削除する（Ｓ５１５２）。
【０３６６】
対応情報更新部１１８は、システム秘密変数群生成部１１１へシステム秘密変数群生成要求ＲＥＱ１を出力し、ステップＳ５１０１に進む（Ｓ５１５３）。
【０３６７】
以上が、コンテンツ配信システム５の構成要素である鍵発行センタ５１の構成と動作である。続いて、サーバ５２の構成と動作について説明を行う。
【０３６８】
＜サーバ５２の構成＞
サーバ５２は、図６４に示すように、入力部１２１、コンテンツ暗号化部１２２、コンテンツ鍵格納部１２３、コンテンツ配信部１２４、時変変数群格納部１２５、サーバ中間鍵群受信部５２６、中間鍵群格納部５２７、時変変数群生成部５２８、コンテンツ暗号化鍵生成部５２９から構成される。図６２において、図９と同じ構成要素については同じ符号を用い、説明を省略する。
【０３６９】
（１）サーバ中間鍵群受信部５２６
サーバ中間鍵群受信部５２６が、鍵発行センタ５１からサーバ中間鍵群ＭＫＧｓを受信した場合、受信したサーバ中間鍵群ＭＫＧｓを図６５で示すような中間鍵群格納部５２７に格納する。
【０３７０】
（２）中間鍵群格納部５２７
中間鍵群格納部５２７は、図６５で示すように、サーバ中間鍵群ＭＫＧｓを格納するものである。中間鍵群格納部５２７へは、コンテンツ暗号化鍵生成部５２９からアクセス可能である。
【０３７１】
（３）時変変数群生成部５２８
時変変数群生成部５２８には、予め時変変数群更新条件が与えられており、その条件を満たした場合に、ｕビットの時変変数群ＰＲＧを生成し、その時変変数群ＰＲＧを時変変数群格納部１２５に格納するとともに、コンテンツ暗号化鍵生成部５２９へ出力する。ここで、ｕビットの時変変数群ＰＲＧを生成する方法としては、乱数を用いてランダムに生成する方法などがある。この時変変数群生成部５２８での変数ｕは、中間鍵群生成部５１３における変数ｕと同じ値を用いる。
【０３７２】
（４）コンテンツ暗号化鍵生成部５２９
コンテンツ暗号化鍵生成部５２９は、時変変数群生成部５２８から時変変数群ＰＲＧを受信した場合、まず、中間鍵群格納部５２７からサーバ中間鍵群ＭＫＧｓを取得する。そして、（ｔ＋ｒ）ビットのサーバ中間鍵群ＭＫＧｓをシフトレジスタＳＲのレジスタに代入し、ｕビットの時変変数群ＰＲＧを外部入力として、左方向シフトをｕ回行う。ｕ回左シフト後のシフトレジスタＳＲの値の、第一レジスタ部Ｒ［１］から第ｔレジスタ部Ｒ［ｔ］を抽出したものをコンテンツ鍵ＣＫとし、コンテンツ鍵格納部１２３に格納する。ここでのシフトレジスタＳＲは、中間鍵群生成部５１３のシフトレジスタＳＲと同じものを用い、さらに、このコンテンツ暗号化鍵生成部５２９での変数ｕは、中間鍵群生成部５１３における変数ｕと同じ値を用いる。
【０３７３】
＜サーバ５２の動作＞
以上で、サーバ５２の構成について説明を行ったが、ここでサーバ５２の動作について説明する。コンテンツ配信時の動作及びシステム秘密変数群受信時の動作についてはサーバ１２と同じ動作であるので説明を省略し、ここでは、時変変数群更新時の動作について図６６に示すフローチャートを用いて説明する。
【０３７４】
≪時変変数群ＰＲＧ更新時≫
時変変数群生成部５２８は、予め与えられた時変変数群更新条件を満たしている場合、ステップＳ５２６２に進む。時変変数群更新条件を満たしていない場合、終了する（Ｓ５２６１）。
【０３７５】
時変変数群生成部５２８は、ｔビットの時変変数群ＰＲＧを生成する（Ｓ５２６２）。
時変変数群生成部５２８は、時変変数群ＰＲＧを時変変数群格納部１２５に格納する（Ｓ５２６３）。
【０３７６】
時変変数群生成部５２８は、コンテンツ暗号化鍵生成部５２９に向けて時変変数群ＰＲＧを出力する（Ｓ５２６４）。
【０３７７】
時変変数群ＰＲＧを受け取ったコンテンツ暗号化鍵生成部５２９は、まず、中間鍵群格納部５２７にアクセスし、サーバ中間鍵群ＭＫＧｓを取得する（Ｓ５２６５）。
【０３７８】
コンテンツ暗号化鍵生成部５２９は、（ｔ＋ｒ）ビットのサーバ中間鍵群ＭＫＧｓをシフトレジスタＳＲのレジスタに代入し、ｕビットの時変変数群ＰＲＧを外部入力として、左方向シフトをｕ回行う。ｕ回左シフト後のシフトレジスタＳＲの第一レジスタＲ［１］から第ｔレジスタＲ［ｔ］を抽出したものをコンテンツ鍵ＣＫとする（Ｓ５２６６）。
【０３７９】
取得したコンテンツ鍵ＣＫを、コンテンツ鍵格納部１２３に格納し（Ｓ５２６７）、終了する。
【０３８０】
以上が、コンテンツ配信システム５の構成要素であるサーバ５２の構成と動作である。続いて、出力装置５３の構成と動作について説明を行う。
【０３８１】
＜出力装置５３ａの構成＞
出力装置５３ａは、図６７に示すように、コンテンツ受信部１３１、コンテンツ復号化鍵生成部５３２ａ、コンテンツ鍵格納部１３３、中間鍵群格納部１３４ａ、コンテンツ復号化部１３５、出力部１３６、暗号化中間鍵群集合受信部１３７、暗号化中間鍵群復号化部１３８ａ、個別鍵格納部１３９ａから構成される。図６６において、図１７と同じ構成要素については同じ符号を用い、説明を省略する。
【０３８２】
（１）コンテンツ復号化鍵生成部５３２ａ
コンテンツ復号化鍵生成部５３２ａが、コンテンツ受信部１３１から時変変数群ＰＲＧを受信した場合、まずコンテンツ鍵格納部１３３に格納されている時変変数群ＰＲＧと受信した時変変数群ＰＲＧが一致するか確認する。ここで一致していたら、コンテンツ鍵格納部１３３にアクセスして、格納されているコンテンツ鍵ＣＫをコンテンツ復号化部１３５に出力する。もし一致していなければ、中間鍵群格納部１３４ａにアクセスし、中間鍵群ＭＫＧａを取得する。そして、そして、（ｔ＋ｒ）ビットの中間鍵群ＭＫＧａをシフトレジスタＳＲのレジスタに代入し、ｕビットの時変変数群ＰＲＧを外部入力ＯＩ［１］〜ＯＩ［ｔ＋ｒ］とし、左方向シフトをｕ回行う。ｕ回左シフト後のレジスタの第一レジスタＲ［１］から第ｔレジスタＲ［ｔ］を抽出したものをコンテンツ鍵ＣＫとし、コンテンツ鍵格納部１３３へ格納し、そのコンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力する。
【０３８３】
＜出力装置５３ａの動作＞
以上で、出力装置５３ａの構成について説明を行ったが、ここで出力装置５３ａの動作について説明する。鍵更新時の動作については、出力装置１３ａの動作と同じであるのでここでは説明を省略し、ここでは、コンテンツ受信時の動作について図６８に示すフローチャートを用いて説明する
≪コンテンツ受信時の動作≫
コンテンツ受信部１３１が暗号化コンテンツＥＮＣＣＮＴ及び時変変数群ＰＲＧを受け取った場合、ステップＳ５３０２に進む。受信していない場合、終了する（Ｓ５３０１）。
【０３８４】
受信した時変変数群ＰＲＧをコンテンツ復号化鍵生成部５３２に出力する（Ｓ５３０２）。
【０３８５】
時変変数群ＰＲＧを受信したコンテンツ復号化鍵生成部５３２は、コンテンツ鍵格納部１３３にアクセスし、受信した時変変数群ＰＲＧと使用時変変数群ＵＰＲが同じであったら、ステップＳ５３０７に進む。もし、違っていたら、ステップＳ５３０５に進む（Ｓ５３０３）。
【０３８６】
コンテンツ復号化鍵生成部５３２は、中間鍵群格納部１３４にアクセスして、中間鍵群を取得する（Ｓ５３０４）。
【０３８７】
コンテンツ復号化鍵生成部５３２は、中間鍵群を、シフトレジスタＳＲのレジスタに代入し、ｕビットの時変変数群ＰＲＧを外部入力ＯＩ［１］〜ＯＩ［ｕ］とし、左方向シフトをｕ回行う。ｕ回左シフト後のレジスタの値の第一レジスタＲ［１］から第ｔレジスタＲ［ｔ］を抽出したものをコンテンツ鍵ＣＫとする（Ｓ５３０５）。
【０３８８】
そのコンテンツ鍵ＣＫをコンテンツ鍵格納部１３３へ格納し、さらに、そのコンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力する（Ｓ５３０６）。
【０３８９】
コンテンツ復号化鍵生成部１３２は、中間鍵群格納部１３４ａにアクセスして、コンテンツ鍵ＣＫを取得し、そのコンテンツ鍵ＣＫをコンテンツ復号化部１３５へ出力する（Ｓ５３０７）。
【０３９０】
コンテンツ復号化部１３５は、コンテンツ鍵ＣＫを基に、暗号化コンテンツＥＮＣＣＮＴの復号化を行う（Ｓ５３０８）。
【０３９１】
その復号化コンテンツＤＥＣＣＮＴを、出力部１３６へ出力する（Ｓ５３０９）。
出力部１３６は、第一復号化部１３６から復号化コンテンツＤＥＣＣＮＴを受信し、受信した復号化コンテンツＤＥＣＣＮＴを外部へ出力する。終了する（Ｓ５３１０）。
【０３９２】
以上が、コンテンツ配信システム５の構成要素である出力装置５３の構成と動作である。
【０３９３】
＜実施の形態５の動作検証＞
ここでは、具体的な値を用いて動作検証を行う。まず、シフトレジスタＳＲとして、図５８で示すシフトレジスタを用いる。そして、システム秘密変数群ＳＰＧのビット数ｔを２、個別化変数ｘのビット数ｒを２とし、第一レジスタＲ［１］及び第二レジスタ［２］の２ビットをシステム秘密変数ＳＲ、第三レジスタＲ［３］及び第四レジスタＲ［４］を個別化変数ｘとする。つまり、第一レジスタＲ［１］と第二レジスタＲ［２］は全出力装置共通の値であり、第三レジスタＲ［３］及び第四レジスタＲ［４］は出力装置個別の値となる。ここで、システム秘密変数群ＳＰＧとして、第一レジスタＲ［１］を１、第二レジスタＲ［２］を０とする。また、出力装置５３ａの個別化変数ｘとして第三レジスタＲ［３］を０、第四レジスタＲ［４］を０とし。出力装置５３ｂの個別化変数ｘとして第三レジスタＲ［３］を１、第四レジスタＲ［４］を０とする。また、右方向シフト数ｕを４とする。
【０３９４】
このような場合、中間鍵群ＭＫＧａ〜ＭＫＧｂとしては、出力装置５３ａの中間鍵群ＭＫＧａは、第一レジスタＲ［１］が１、第二レジスタＲ［２］が０、第三レジスタＲ［３］が１、第四レジスタＲ［４］が０となり、出力装置５３ｂの中間鍵群ＭＫＧｂは、第一レジスタＲ［１］が０、第二レジスタＲ［２］が０、第三レジスタＲ［３］が１、第四レジスタＲ［４］が０となる。そして、各々の中間鍵群ＭＫＧａ〜ＭＫＧｂに対して、外部入力ＯＩ［１］からＯＩ［４］を全て０としたとき、出力装置５３ａの場合、第一レジスタＲ［１］が１、第二レジスタＲ［２］が０、第三レジスタＲ［３］が０、第四レジスタＲ［４］が０となり、出力装置５３ｂの場合、第一レジスタＲ［１］が１、第二レジスタＲ［２］が０、第三レジスタＲ［３］が１、第四レジスタＲ［４］が０となる。つまり、出力装置５３ａ〜５３ｂでは、共通のコンテンツ鍵として、第一レジスタＲ［１］が１、第二レジスタＲ［２］が０という値が取得出来ることになる。また、外部入力ＯＩ［１］が０、外部入力ＯＩ［２］が１、外部入力ＯＩ［３］が１、外部入力ＯＩ［４］が０とした、出力装置５３ａの場合、第一レジスタＲ［１］が１、第二レジスタＲ［２］が１、第三レジスタＲ［３］が１、第四レジスタＲ［４］が０となり、出力装置５３ｂの場合、第一レジスタＲ［１］が１、第二レジスタＲ［２］が１、第三レジスタＲ［３］が１、第四レジスタＲ［４］が０となる。つまり、先ほどと同様に、共通のコンテンツ鍵として、第一レジスタＲ［１］が１、第二レジスタＲ［２］が０という値が取得出来ることになる。
【０３９５】
＜実施の形態５の効果＞
本実施の形態５は、実施の形態１と同じ効果を有するが、複数の出力装置５３ａ〜５３ｎにおいてシフトレジスタを用いてコンテンツ鍵ＣＫを作り出す点が実施の形態１と異なる。
【０３９６】
＜実施の形態５の変形例＞
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
【０３９７】
（１）通信路１０は、地上波放送や衛星放送などの放送網であっても良い。
【０３９８】
（２）鍵発行センタ５１の役割を、サーバ５２が兼ねるようにしても良い。つまり、サーバ５２が出力装置識別子を受信し、その出力装置識別子を基に、暗号化中間鍵群集合ＥＮＣＭＫＧＳを出力装置５３ａ〜５３ｎを配信するようにしても良い。
【０３９９】
（３）鍵発行センタ５１の中間鍵群生成部５１３は、外部から中間鍵群生成要求情報ＲＥＱ３を受信するようにして、その中間鍵群生成要求情報ＲＥＱ３に基づき、中間鍵を生成するようにしても良い。
【０４００】
（４）サーバ１２の時変変数群生成部５２８は、外部から時変変数群生成要求情報ＲＥＱ４を受信するようにして、その時変変数群生成要求情報ＲＥＱ４に基づき、時変変数群ＰＲＧを生成するようにしても良い。
【０４０１】
（５）中間鍵群生成部５１３の右方向シフトのシフト回数と、コンテンツ暗号化鍵生成部５２９及びコンテンツ復号化鍵生成部５３２の左方向シフトのシフト回数は同じ値でなくても良い。
【０４０２】
（６）実施の形態５で、出力装置は１４台（５３ａ〜５３ｎ）であったが、出力装置は１５台以上でもよいし、１３台以下でも良い。
【０４０３】
（７）鍵発行センタ５１が暗号化中間鍵群集合ＥＮＣＭＫＧを配信する際には、出力装置５３ａ〜５３ｎへ同時に配信しても良いし、各出力装置５３ａ〜５３ｎ個別に配信しても良い。なお、サーバ５２が時変変数群ＰＲＧや暗号化コンテンツＥＮＣＣＮＴを配信する際にも同様に、出力装置５３ａ〜５３ｎへ同時に配信しても良いし、各出力装置５３ａ〜５３ｎ個別に配信しても良い。
【０４０４】
（８）鍵発行センタ５１及びサーバ５２及び出力装置５３ａ〜５３ｎが保持するシフトレジスタのタップの繋ぎ方については、例えば、非特許文献４に記載のＭ系列と同じような原始多項式でなくても良く、鍵発行センタ５１及びサーバ５２及び出力装置５３ａ〜５３ｎが共通のタップの繋ぎ方でさえすればよい。例えば、乱数を用いてランダムにタップを設けても良い。
【０４０５】
（９）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０４０６】
（１０）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０４０７】
（実施の形態６）
本発明に係る一つの実施の形態としてのコンテンツ配信システム６について説明する。最初に、図７１を用いて本実施の形態の概要を説明する。
【０４０８】
図７１において、実施の形態１と同様の通信路１０は、実施の形態１とは異なる鍵発行センタ６１と実施の形態１とは異なるサーバ６２と複数の実施の形態１とは異なる出力装置６３ａ〜６３ｎとが接続されている通信路であり、インターネットや放送網などのネットワークで実現されている。鍵発行センタ６１はコンテンツを暗号化する際に用いるコンテンツ鍵ＣＫを作成するのに必要な情報であるシステム秘密変数群ＳＰＧをサーバ６２へ、暗号化中間鍵群集合ＥＮＣＭＫＧＳを複数の出力装置６３ａ〜６３ｎへ配信する。サーバ６２は、システム秘密変数群ＳＰＧを基にコンテンツＣＮＴを暗号化して複数の出力装置６３ａ〜６３ｎへ配信する。複数の出力装置６３ａ〜６３ｎは、暗号化中間鍵群集合ＥＮＣＭＫＧＳを基に受信した暗号化コンテンツＥＮＣＣＮＴの復号化を行い、復号化されたコンテンツＤＥＣＣＮＴを外部へ出力する。ここで、鍵発行センタ６１と出力装置６３ａ〜６３ｎの全ての組には、予め各組が共有している一つの個別鍵が与えられているとし、例えば鍵発行センタ６１と出力装置６３ａは個別鍵ＩＫａを、鍵発行センタ６１と出力装置６３ｂは個別鍵ＩＫｂを、・・・、鍵発行センタ６１と出力装置６３ｎは個別鍵ＩＫｎを予め共有しているとする。
【０４０９】
ここでは、各構成要素の動作についてもう少し詳細に説明する。まず、各出力装置６３ａ〜６３ｎに各々異なる中間鍵群ＭＫＧａ〜ＭＫＧｎを配布する方法について説明する。初めに、鍵発行センタ６１は、予め与えられる条件に従ってシステム秘密変数群ＳＰＧを生成し、そのシステム秘密変数群ＳＰＧをサーバ６２へ向けて送信する。また、予め与えられる条件に従って、そのシステム秘密変数群ＳＰＧを使って、出力装置１３の数だけ中間鍵群ＭＫＧａ〜ＭＫＧｎを生成する。そして、各中間鍵群ＭＫＧａ〜ＭＫＧｎをそれぞれの出力装置６３ａ〜６３ｎに対応付け、各出力装置６３ａ〜６３ｎが持つ個別鍵ＩＫａ，ＩＫｂ，・・・ＩＫｎに基づいて、対応付けられた各中間鍵群ＭＫＧａ〜ＭＫＧｎの暗号化を行う。その後、各暗号文Ｅｎｃ（ＩＫａ，ＭＫＧａ）、Ｅｎｃ（ＩＫｂ，ＭＫＧｂ），・・・，Ｅｎｃ（ＩＫｎ，ＭＫＧｎ）を結合した値を暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝Ｅｎｃ（ＩＫａ，ＭＫａ）｜｜Ｅｎｃ（ＩＫｂ，ＭＫｂ）｜｜・・・Ｅｎｃ（ＩＫｎ，ＭＫＧｎ）として複数の出力装置６３ａ〜６３ｎへ配信する。暗号化中間鍵群集合ＥＮＣＭＫＧＳを受信した出力装置６３ａは、予め与えられている個別鍵ＩＫａを用いて、暗号化中間鍵群集合ＥＮＣＭＫＧＳの中の自身の個別鍵に対応する暗号文Ｅｎｃ（ＩＫａ，ＭＫＧａ）の復号化を行い、出力装置６３ａに対応付けられた中間鍵群ＭＫＧａを取得する。なお、出力装置６３ａ以外の出力装置６３ｂ〜６３ｎの場合も同様に、各出力装置が持つ個別鍵を用いて、暗号化中間鍵群集合ＥＮＣＭＫＧＳの中の自身の個別鍵に対応する暗号文の復号化を行うことによって、各出力装置に対応付けられた中間鍵群を取得する。このようにして、各出力装置６３ａ〜６３ｎが各々異なる中間鍵群ＭＫＧａ〜ＭＫＧｎを保持することが出来る。
【０４１０】
次に、サーバ６２がコンテンツ鍵ＣＫを更新する場合の動作について説明する。まず、サーバ６２は、予め与えられた条件に従って時変変数群ＰＲＧを生成し、その時変変数群ＰＲＧを複数の出力装置６３ａ〜６３ｎへ向けて配信する。また、その時変変数群ＰＲＧとシステム秘密変数群ＳＰＧに基づき、コンテンツＣＮＴを暗号化する際に用いるコンテンツ鍵ＣＫを生成する。複数の出力装置６３ａ〜６３ｎは、時変変数群ＰＲＧを受信し、時変変数群ＰＲＧと各出力装置が保持する中間鍵群ＭＫＧａ〜ＭＫＧｎに基づき、暗号化コンテンツＥＮＣＣＮＴを復号化する際に用いるコンテンツ鍵ＣＫを生成する。このようにして、サーバ６２及び出力装置６３ａ〜６３ｎが保持しているコンテンツ鍵ＣＫを更新する。
【０４１１】
最後に、サーバ６２が複数の出力装置６３ａ〜６３ｎへコンテンツを配信する場合の動作について説明する。まず、サーバ６２は、コンテンツ鍵ＣＫに基づき、コンテンツＣＮＴの暗号化を行い、その暗号化コンテンツＥＮＣＣＮＴ＝Ｅｎｃ（ＣＫ，ＣＮＴ）を複数の出力装置６３ａ〜６３ｎへ向けて配信する。複数の出力装置６３ａ〜６３ｎは、暗号化コンテンツＥＮＣＣＮＴを受信し、コンテンツ鍵ＣＫに基づき、暗号化コンテンツＥＮＣＣＮＴの復号化を行い、その復号化コンテンツＤＥＣＣＮＴを外部へ出力する。このようにして、サーバ６２が複数の出力装置６３ａ〜６３ｎへコンテンツを配信する。
【０４１２】
なお、本実施の形態であるコンテンツ配信システム６では、鍵発行センタ６１がある特定の個別鍵を持つ出力装置を無効化し、コンテンツＣＮＴを復号化出来ないようにすることも可能となる。これは、鍵発行センタ６１において、システム秘密変数群ＳＰＧ及び中間鍵群を更新する際に、無効化したい出力装置に対しては中間鍵群を作成せず、さらに、無効化したい出力装置の保持する個別鍵を用いないようにすることで実現可能である。
【０４１３】
以上が、本実施の形態の概要である。以下に、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム６の詳細について説明を行う。これらの構成要素について詳細に説明する。
【０４１４】
＜コンテンツ配信システム６の構成＞
コンテンツ配信システム６は、図７１に示すように、通信路１０と、鍵発行センタ６１と、サーバ６２と、複数の出力装置６３ａ〜６３ｎから構成される。
【０４１５】
鍵発行センタ６１はコンテンツ鍵ＣＫを作成するのに必要な情報であるシステム秘密変数群ＳＰＧをサーバ６２へ、暗号化中間鍵群集合ＥＮＣＭＫＧＳを複数の出力装置６３ａ〜６３ｎへ配信する。サーバ６２は、時変変数群ＰＲＧを生成し、その時変変数群ＰＲＧを複数の出力装置６３ａ〜６３ｎへ配信する。また、システム秘密変数群ＳＰＧ及び時変変数群ＰＲＧを基に、コンテンツ鍵ＣＫを作成する。出力装置６３ａ〜６３ｎは、暗号化中間鍵群集合ＥＮＣＭＫＧＳから得られる中間鍵群ＭＫＧａ〜ＭＫＧｎ及び受信した時変変数群ＰＲＧを基に、コンテンツ鍵ＣＫを取得する。そして、サーバ６２は、コンテンツ鍵ＣＫを基にコンテンツＣＮＴを暗号化して、暗号化コンテンツＥＮＣＣＮＴを複数の出力装置６３ａ〜６３ｎへ配信する。複数の出力装置６３ａ〜６３ｎは、コンテンツ鍵ＣＫを基に受信した暗号化コンテンツＥＮＣＣＮＴを復号化して、その復号化コンテンツＤＥＣＣＮＴを外部へ出力する。
【０４１６】
以下に、これらの構成要素について詳細に説明する。まず、通信路１０の構成について述べ、続いて鍵発行センタ６１及びサーバ６２及び出力装置６３ａ〜６３ｎの構成と動作について図を用いて説明する。
【０４１７】
＜通信路１０の構成＞
通信路は、例えば、インターネット、電話回線や専用線等のようなネットワークである。
【０４１８】
＜鍵発行センタ６１の構成＞
鍵発行センタ６１は、図７２に示すように、システム秘密変数群生成部６１１、システム秘密変数群送信部６１２、中間鍵群生成部６１３、出力装置対応情報格納部６１４、中間鍵群暗号化部６１５、暗号化中間鍵群集合配信部６１６から構成される。
【０４１９】
（１）システム秘密変数群生成部６１１
システム秘密変数群生成部６１１は、予め与えられるシステム秘密変数更新条件を満たした場合、及び、鍵発行センタが動作開始した場合に、まずシステム秘密変数ｃを生成する。ここで、システム秘密変数ｃを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。その後、予め与えられたシステム秘密変数生成式”ｓ＊ｔ＝ｕ＊ｖ  ｍｏｄ  Ｎ”を満たすように、システム秘密変数ｓ及びｔ及びｕ及びｖを生成する。なお、システム秘密変数ｓ及びｔ及びｕ及びｖを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。ここで、システム秘密変数ｓ及びｔ及びｕ及びｖ及びｃ及びモジュラスＮは、例えば１２８ビットの自然数であり、ここでのモジュラスＮの値は、後述する中間鍵群生成部６１３、サーバ６２の時変変数群生成部６２３及びコンテンツ暗号化鍵生成部６２５、出力装置６３ａ〜６３ｎのコンテンツ復号化鍵生成部６３６ａに予め共通の値として与えられている値であり、例えば２＾｛１２８｝などである。ここで、”＾”はべき乗演算のことであり、例えば２＾｛４｝は１６を意味し、以後同じ意味で用いる。その後、図７３で示すようなシステム秘密変数ｓ、ｔ、ｕ、ｖ、ｃから構成されるシステム秘密変数群ＳＰＧを生成し、そのシステム秘密変数群ＳＰＧをシステム秘密変数群送信部６１２及び中間鍵群生成部６１３に出力する。例えば、秘密変数更新条件は”１日毎”や”１年毎”などであり、これはシステム秘密変数群生成部６１１がカウンタを備えるなどにより実現可能である。
【０４２０】
（２）システム秘密変数群送信部６１２
システム秘密変数群送信部６１２は、システム秘密変数群生成部６１１から受け取ったシステム秘密変数群ＳＰＧを通信路１０経由でサーバ６２に送信する。
【０４２１】
（３）中間鍵群生成部６１３
中間鍵群生成部６１３は、システム秘密変数群生成部６１１からシステム秘密変数群ＳＰＧを受信した場合、まず図７４で示すような出力装置対応情報格納部６１４に保管されている中間鍵群ＭＫＧａ〜ＭＫＧｎを全て消去する。その後、受信したシステム秘密変数群ＳＰＧから、システム秘密変数ｓ及びｔ及びｕ及びｖ及びｃを抽出する。そして、予め与えられる個別化変数生成式”ｘ＊ｙ＝ｃ  ｍｏｄ  Ｎ”を満たすような個別化変数ｘ及びｙを生成する。ここで、個別化変数ｘ及びｙを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。また、個別化変数ｘ及びｙは例えば１２８ビットの自然数であり、また”＊”は乗算演算のことであり、例えば２＊５は１０を意味し、以後同じ意味で用いる。この個別化変数ｘ及びｙの求め方としては、例えば、個別化変数ｘをランダムな自然数として生成し、個別化変数生成式”ｘ＊ｙ＝ｃ  ｍｏｄ  Ｎ”にその個別化変数ｘを代入することにより、残りの個別化変数ｙを求める方法などがあり、ランダムな個別化変数ｘを一つ選ぶと、必ず個別化変数ｙは存在する。その後、その個別化変数ｘ及びｙを用いて、予め与えられる４つの中間鍵生成式”Ｄ１＝ｓ＊ｘ  ｍｏｄ  Ｎ”、”Ｅ１＝ｔ＊ｙ  ｍｏｄ  Ｎ”、”Ｄ２＝−ｕ＊ｘ  ｍｏｄ  Ｎ”、”Ｅ２＝−ｖ＊ｙ  ｍｏｄ  Ｎ”に基づき４つの中間鍵Ｄ１及びＥ１及びＤ２及びＥ２を生成する。そして、その中間鍵Ｄ１及びＥ１及びＤ２及びＥ２から構成される図７５で示すような中間鍵群ＭＫＧａを生成する。そして、この中間鍵群ＭＫＧａを出力装置識別子ＡＩＤａに対応付けて、出力装置対応情報格納部１１４に格納する。次に、出力装置対応情報格納部１１４にある出力装置識別子ＡＩＤａ以外の出力装置識別子ＡＩＤｂ〜ＡＩＤｎに対しても同様に中間鍵ＭＫｂ〜ＭＫＧｎを作成する。ここで、中間鍵ＭＫｂ〜ＭＫＧｎの構成は図７５で示す中間鍵群ＭＫＧａの構成と同じであるが、各中間鍵群ＭＫＧａ〜ＭＫＧｎがそれぞれ個別の値となるようにする。そのためには、各中間鍵群ＭＫＧａ〜ＭＫＧｎを作成する際に用いる個別化変数ｘ及びｙがそれぞれ異なる値になるようにすれば良い。全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎが割り当てたら、鍵更新要求情報ＲＥＱを中間鍵群暗号化部６１５へ出力する。
【０４２２】
（４）出力装置対応情報格納部６１４
出力装置対応情報格納部６１４は、図７４で示すように、複数の出力装置６３ａ〜６３ｎを識別する出力装置識別子ＡＩＤａ〜ＡＩＤｎと、その各出力装置６３ａ〜６３ｎに予め与えられている個別鍵ＩＫａ〜ＩＫｎ及び中間鍵群ＭＫＧａ〜ＭＫＧｎを保持するものである。例えば、図７４においては、出力装置識別子ＡＩＤａに対応づけられている出力装置６３ａは個別鍵ＩＫａと中間鍵群ＭＫＧａを保持し、出力装置識別子ＡＩＤ２に対応づけられている出力装置６３ｂは個別鍵ＩＫｂ及び中間鍵ＭＫｂを保持し、出力装置識別子ＡＩＤｎに対応づけられている出力装置６３ｎは個別鍵ＩＫｎ及び中間鍵ＭＫＧｎを保持している状態を表している。出力装置対応情報格納部１１４へは、中間鍵群生成部６１３及び中間鍵群暗号化部６１５からアクセス可能である。
【０４２３】
（５）中間鍵群暗号化部６１５
中間鍵群暗号化部６１５は、中間鍵群生成部６１３から鍵更新要求情報ＲＥＱを受け取った場合、出力装置対応情報格納部６１４にアクセスして、出力装置識別子ＡＩＤａ〜ＡＩＤｎ及び個別鍵ＩＫａ〜ＩＫｎ及び中間鍵群ＭＫＧａ〜ＭＫＧｎを全て取得する。そして、まず出力装置識別子ＡＩＤａに対して、対応している個別鍵ＩＫａに基づいて中間鍵群ＭＫＧａの暗号化を行い、その暗号文を暗号化中間鍵群ＥＮＣＭＫＧａ＝Ｅｎｃ（ＩＫａ，ＭＫＧａ）とし、出力装置識別子ＡＩＤａに対応付ける。そして、他の出力装置識別子ＡＩＤｂ〜ＡＩＤｎに対しても同様に、対応している個別鍵に基づいて中間鍵群の暗号化を行い、その暗号文Ｅｎｃ（ＩＫｂ，ＭＫＧｂ）、・・・、Ｅｎｃ（ＩＫｎ，ＭＫＧｎ）を暗号化中間鍵群ＥＮＣＭＫＧｂ、・・・、ＥＮＣＭＫＧｎとし、それぞれの出力装置識別子ＡＩＤｂ〜ＡＩＤｎに対応付ける。そして、図７６で示すような、装置識別子ＡＩＤａ〜ＡＩＤｎ及び暗号化中間鍵群ＥＮＣＭＫＧａ〜ＥＮＣＭＫＧｎから構成される暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝｛ＡＩＤａ，ＥＮＣＭＫＧａ｝｜｜｛ＡＩＤｂ，ＥＮＣＭＫＧｂ｝・・・｜｜｛ＡＩＤｎ，ＥＮＣＭＫＧｎ｝｝を作成し、その暗号化中間鍵群集合ＥＮＣＭＫＧＳを、暗号化中間鍵群集合配信部６１６に出力する。ここで中間鍵を暗号化するのに使用する暗号化アルゴリズムは、例えば、ブロック暗号のＤＥＳ暗号方式などであり、出力装置６３ａ〜６３ｎの暗号化中間鍵群復号化部６３２ａで用いる復号化アルゴリズムと同じ方式を用いる。
【０４２４】
（６）暗号化中間鍵群集合配信部６１６
暗号化中間鍵群集合配信部６１６は、中間鍵群暗号化部６１５から暗号化中間鍵群集合ＥＮＣＭＫＧＳを受信した場合、受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを通信路１０経由で複数の出力装置６３ａ〜６３ｎに配信する。
【０４２５】
＜鍵発行センタ６１の動作＞
以上で、鍵発行センタ６１の構成について説明を行ったが、ここでは鍵発行センタ６１の動作について説明する。ここでは、コンテンツ鍵を作成するのに必要な鍵情報をサーバ６２及び複数の出力装置６３ａ〜６３ｎに配信するときの動作について図７７に示すフローチャートを用いて説明する。
【０４２６】
≪鍵情報配信時の動作≫
システム秘密変数群生成部６１１は、システム秘密変数ｃを生成する（Ｓ６１０１）。
【０４２７】
システム秘密変数群生成部６１１は、予め与えられるシステム秘密変数生成式”ｓ＊ｔ＝ｕ＊ｖ  ｍｏｄ  Ｎ”を満たすように、システム秘密変数ｓ、ｔ、ｕ、ｖを生成する（Ｓ６１０２）。
【０４２８】
生成したシステム秘密変数ｓ、ｔ、ｕ、ｖ、ｃから構成されるシステム秘密変数群ＳＰＧを生成し、そのシステム秘密変数群ＳＰＧをシステム秘密変数群送信部６１２及び中間鍵群生成部６１３へ出力する（Ｓ６１０３）。
【０４２９】
システム秘密変数群送信部６１２は、受信したシステム秘密変数群ＳＰＧをサーバ６２へ向けて送信する（Ｓ６１０４）。
【０４３０】
中間鍵群生成部６１３は、出力装置対応情報格納部６１４に格納されている中間鍵群ＭＫＧａ〜ＭＫＧｎを全て削除する（Ｓ６１０５）。
【０４３１】
中間鍵群生成部６１３は、予め与えられる個別化変数生成式”ｘ＊ｙ＝ｃ  ｍｏｄ  Ｎ”を満たす個別化変数ｘ及びｙを生成する。この時、前に生成した個別化変数ｘ及びｙと値が衝突しないようにする。そして、個別化変数ｘ及びｙを用いて、予め与えられる４つの中間鍵生成式”Ｄ１＝ｓ＊ｘ  ｍｏｄ  Ｎ”、”Ｅ１＝ｔ＊ｙ  ｍｏｄ  Ｎ”、”Ｄ２＝−ｕ＊ｘ  ｍｏｄ  Ｎ”、”Ｅ２＝−ｖ＊ｙ  ｍｏｄ  Ｎ”を満たす４つの中間鍵Ｄ１及びＥ１及びＤ２及びＥ２を生成する（Ｓ６１０６）。
【０４３２】
中間鍵Ｄ１及びＥ１及びＤ２及びＥ２から構成される中間鍵群を生成し、その中間鍵群を出力装置対応情報格納部６１４においてまだ中間鍵群が割り当てられていない出力装置識別子ＡＩＤａ〜ＡＩＤｎの何れかに対応づけて格納する（Ｓ６１０７）。
【０４３３】
もし、出力装置対応情報格納部６１４に格納されている全ての出力装置識別子ＡＩＤａ〜ＡＩＤｎに対して中間鍵群ＭＫＧａ〜ＭＫＧｎを割り当てられたら、ステップＳ１１０９へ進む。もし、残っていたらステップＳ１１０６に戻る（Ｓ６１０８）。
【０４３４】
中間鍵群生成部６１３は、鍵更新要求情報ＲＥＱを中間鍵群暗号化部６１５へ出力する（Ｓ６１０９）。
【０４３５】
鍵更新要求情報ＲＥＱを受け取った中間鍵群暗号化部６１５は、出力装置対応情報格納部６１４にアクセスして、出力装置識別子ＡＩＤａ〜ＡＩＤｎ及び個別鍵ＩＫａ〜ＩＫｎ及び中間鍵群ＭＫＧａ〜ＭＫＧｎを全て取得する（Ｓ６１１０）。
【０４３６】
中間鍵群暗号化部６１５は、各個別鍵ＩＫａ〜ＩＫｎに基づいて各々の中間鍵群ＭＫＧａ〜ＭＫＧｎを暗号化し、その暗号化された中間鍵ＥＮＣＭＫＧａ〜ＥＮＣＭＫＧｎ及び暗号化に用いた個別鍵ＩＫａ〜ＩＫｎに対応する出力装置識別子ＡＩＤａ〜ＡＩＤｎから構成される暗号化中間鍵群集合ＥＮＣＭＫＧＳを作成する（Ｓ６１１１）。
【０４３７】
中間鍵群暗号化部６１５は、作成した暗号化中間鍵群集合ＥＮＣＭＫＧＳを暗号化中間鍵群集合配信部６１６に出力する（Ｓ６１１２）。
【０４３８】
暗号化中間鍵群集合配信部６１６は、暗号化中間鍵群集合ＥＮＣＭＫＧＳを受け取り、その受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを複数の出力装置６３ａ〜６３ｎへ向けて配信し、終了する（Ｓ６１１３）。
【０４３９】
以上が、コンテンツ配信システム６の構成要素である鍵発行センタ６１の構成と動作である。続いて、サーバ６２の構成と動作について説明を行う。
【０４４０】
＜サーバ６２の構成＞
サーバ６２は、図７８に示すように、システム秘密変数群受信部６２１、システム秘密変数群格納部６２２、時変変数群生成部６２３、時変変数群配信部６２４、コンテンツ暗号化鍵生成部６２５、コンテンツ鍵格納部６２６、入力部６２７、コンテンツ暗号化部６２８、コンテンツ配信部６２９、とから構成される。
【０４４１】
（１）システム秘密変数群受信部６２１
システム秘密変数群受信部６２１が、鍵発行センタ６１からシステム秘密変数群ＳＰＧを受信した場合、受信したシステム秘密変数群ＳＰＧを図７９で示すようなシステム秘密変数群格納部６２２に格納する。
【０４４２】
（２）システム秘密変数群格納部６２２
システム秘密変数群格納部６２２は、図７９で示すようにシステム秘密変数群ＳＰＧを格納するものである。システム秘密変数群格納部６２２へは、システム秘密変数群受信部６２１及び時変変数群生成部６２３及びコンテンツ暗号化鍵生成部６２５からアクセス可能である。
【０４４３】
（３）時変変数群生成部６２３
時変変数群生成部６２３には、予め時変変数群更新条件が与えられており、その条件を満たした場合に、４つの乱数ｚ、ｗ、ｍ、ｎを生成する。ここで、乱数ｚ、ｗ、ｍ、ｎは、例えばそれぞれ１２８ビットの自然数である。また、システム秘密変数群格納部６２２にアクセスし、システム秘密変数群ＳＰＧを取得し、その中から秘密変数ｓ、ｔ、ｕ、ｖ、とを抽出する。そして、予め与えられる４つの時変変数生成式”Ｑ１＝ｓ＊ｚ＋ｖ＊ｍ
ｍｏｄ  Ｎ”、”Ｒ１＝ｔ＊ｗ＋ｕ＊ｎ  Ｎ”、”Ｑ２＝ｕ＊ｚ＋ｔ＊ｍ  ｍｏｄ  Ｎ”、”Ｒ２＝ｖ＊ｗ＋ｓ＊ｎ  Ｎ”を基に、４つの時変変数Ｑ１、Ｒ１、Ｑ２、Ｒ２を生成する。その後、生成した時変変数Ｑ１、Ｒ１、Ｑ２、Ｒ２から構成される、図８０で示すような時変変数群ＰＲＧを生成し、その時変変数群ＰＲＧを時変変数群配信部６２４へ出力する。最後に、コンテンツ暗号化鍵生成部６２５に向けて乱数ｚ及びｗ及びｍ及びｎを出力する。例えば、時変変数群更新条件は”１時間毎”や“１日毎”などであり、これは時変変数群生成部６２３がカウンタを備えることにより実現可能である。なお、時変変数群生成部６２３が外部から時変変数群更新要求信号を受信するようにして、その時変変数群更新要求信号を受信した場合に、時変変数群ＰＲＧを新たに生成するようにしてもよい。
【０４４４】
（４）時変変数群配信部６２４
時変変数群配信部６２４は、時変変数群生成部６２３から時変変数群ＰＲＧを取得し、その時変変数群ＰＲＧを通信路１０経由で複数の出力装置６３ａ〜６３ｎに配信する。
【０４４５】
（５）コンテンツ暗号化鍵生成部６２５
コンテンツ暗号化鍵生成部６２５は、時変変数群生成部６２３から乱数ｚ及びｗ及びｍ及びｎを受け取った場合、まず、システム秘密変数群格納部６２２にアクセスし、システム秘密変数群ＳＰＧを取得し、その中から秘密変数ｓ及びｔ及びｕ及びｖ及びｃを抽出する。その後、コンテンツ鍵ＣＫを、予め与えられるコンテンツ暗号化鍵生成式”ＣＫ＝２＊ｓ＊ｔ＊（ｚ＋ｗ＋ｃ＋ｎ＊ｍ）＋２＊（ｕ＊ｓ＊ｎ＊ｚ＋ｔ＊ｖ＊ｍ＊ｗ）  ｍｏｄ
Ｎ”に基づいて生成し、その生成したコンテンツ鍵ＣＫをコンテンツ鍵格納部６２６に格納する。
【０４４６】
（６）コンテンツ鍵格納部６２６
コンテンツ鍵格納部６２６は、図８１で示すようにコンテンツ鍵ＣＫが格納されている。コンテンツ鍵ＣＫはコンテンツＣＮＴの暗号化鍵及び復号化鍵に用いられる。
【０４４７】
（７）入力部６２７
入力部６２７は、外部からコンテンツＣＮＴを入力できるものである。外部から入力されるコンテンツＣＮＴは、出力装置６３ａ〜６３ｎで出力可能なフォーマット形式であって、例えば、ＭＰＥＧフォーマットによる動画データやＭＰ３フォーマットによる音声データなどである。入力部６２７は、外部からコンテンツＣＮＴを受信した場合、その受信したコンテンツＣＮＴをコンテンツ暗号化部６２８に出力する。
【０４４８】
（８）コンテンツ暗号化部６２８
コンテンツ暗号化部６２８は、入力部６２７からコンテンツＣＮＴを受信した場合、コンテンツ鍵格納部６２６にアクセスしてコンテンツ鍵ＣＫを取得する。そして、取得したコンテンツ鍵ＣＫに基づいて、逐次、入力部６２７から受け取ったコンテンツＣＮＴの暗号化を行う。ここでコンテンツＣＮＴの暗号化に使用する暗号化アルゴリズムは、例えば、ブロック暗号のＤＥＳ暗号方式などであり、後述する出力装置６３ａ〜６３ｎの各コンテンツ復号化部６３８において暗号化コンテンツＥＮＣＣＮＴを復号化するのに用いる復号化アルゴリズムと同じ方式を用いる。その後、暗号化されたコンテンツＥＮＣＣＮＴをコンテンツ配信部６２９に出力する。
【０４４９】
（９）コンテンツ配信部６２９
コンテンツ配信部６２９は、逐次、コンテンツ暗号化部６２８から受け取った暗号化コンテンツＥＮＣＣＮＴを通信路１０経由で複数の出力装置６３ａ〜６３ｎに配信する。
【０４５０】
＜サーバ６２の動作＞
以上で、サーバ６２の構成について説明を行ったが、ここでサーバ６２の動作について説明する。まず、鍵発行センタ６１からコンテンツ鍵ＣＫを生成するのに用いるシステム秘密変数群ＳＰＧを受信した際の動作について図８２に示すフローチャートを用いて説明する。次に、サーバ６２が時変変数群ＰＲＧを更新する時の動作について図８３に示すフローチャートを用いて説明する。そして最後に、サーバ６２が出力装置６３ａ〜６３ｎへコンテンツＣＮＴを配信する時の動作について図８４に示すフローチャートを用いて説明する。
【０４５１】
≪鍵発行センタ６１からのシステム秘密変数群ＳＰＧを受信した時の動作≫
システム秘密変数群受信部６２１は、受信したシステム秘密変数群ＳＰＧをシステム秘密変数群格納部６２２へ格納し、終了する（Ｓ６２０１）。
【０４５２】
≪サーバ６２による時変変数群ＰＲＧ更新時の動作≫
時変変数群生成部６２３は、予め与えられた時変変数群更新条件を満たしている場合、ステップＳ６２３２に進む。時変変数群更新条件を満たしていない場合、終了する（Ｓ６２３１）。
【０４５３】
時変変数群生成部６２３は、システム秘密変数群格納部６２２にアクセスし、システム秘密変数群ＳＰＧを取得し、その中から秘密変数ｓ及びｔ及びｕ及びｖを抽出する（Ｓ６２３２）。
【０４５４】
時変変数群生成部６２３は、乱数ｚ及びｗ及びｍ及びｎを生成する（Ｓ６２３３）。
時変変数群生成部６２３は、予め与えられる時変変数生成式”Ｑ１＝ｓ＊ｚ＋ｖ＊ｍ  ｍｏｄ  Ｎ”、”Ｒ１＝ｔ＊ｗ＋ｕ＊ｎ  ｍｏｄ  Ｎ”、”Ｑ２＝ｕ＊ｚ＋ｔ＊ｍ  ｍｏｄ  Ｎ”、”Ｒ２＝ｖ＊ｗ＋ｓ＊ｎ  ｍｏｄ  Ｎ”を基に、４つの時変変数Ｑ１及びＲ１及びＱ２及びＲ２を生成し、生成した時変変数Ｑ１及びＲ１及びＱ２及びＲ２から構成される時変変数群ＰＲＧを生成する（Ｓ６２３４）。
【０４５５】
時変変数群生成部６２３は、時変変数群ＰＲＧを時変変数群配信部６２４に出力し、乱数ｚ及びｗ及びｍ及びｎをコンテンツ暗号化鍵生成部６２５に出力する（Ｓ６２３５）。
【０４５６】
時変変数群配信部６２４は、時変変数群ＰＲＧを出力装置６３ａ〜６３ｎへ配信する（Ｓ６２３６）。
【０４５７】
乱数ｚ及びｗ及びｍ及びｎを受け取ったコンテンツ暗号化鍵生成部６２５は、まず、システム秘密変数群格納部６２２にアクセスし、システム秘密変数群ＳＰＧを取得し、その中から秘密変数ｓ及びｔ及びｕ及びｖ及びｃを抽出する（Ｓ６２３７）。
【０４５８】
コンテンツ暗号化鍵生成部６２５は、予め与えられるコンテンツ暗号化鍵生成式”ＣＫ＝２＊ｓ＊ｔ＊（ｚ＊ｗ＋ｃ＊ｎ＊ｍ）＋２＊（ｕ＊ｓ＊ｎ＊ｚ＋ｔ＊ｖ＊ｍ＊ｗ）  ｍｏｄ  Ｎ”に基づいて、コンテンツ鍵ＣＫを生成する（Ｓ６２３８）。
【０４５９】
コンテンツ暗号化鍵生成部６２５は、生成したコンテンツ鍵ＣＫをコンテンツ鍵格納部６２６に格納し、終了する（Ｓ６２３９）。
【０４６０】
≪サーバ６２による出力装置６３ａ〜６３ｎへのコンテンツ配信時の動作≫
入力部６２７が、外部からコンテンツＣＮＴを受け取った場合、ステップＳ１２６２に進む。受信していない場合、終了する（Ｓ６２６１）。
【０４６１】
入力部６２７は、受信したコンテンツＣＮＴをコンテンツ暗号化部６２８に出力する（Ｓ６２６２）。
【０４６２】
次に、そのコンテンツＣＮＴを受け取ったコンテンツ暗号化部６２８は、コンテンツ鍵格納部６２６にアクセスし、コンテンツ鍵ＣＫを取得する（Ｓ６２６３）。
【０４６３】
コンテンツ暗号化部６２８は、そのコンテンツ鍵ＣＫに基づいてコンテンツＣＮＴの暗号化を行い、その暗号化コンテンツＥＮＣＣＮＴをコンテンツ配信部６２９へ出力する（Ｓ６２６４）。
【０４６４】
暗号化コンテンツＥＮＣＣＮＴを受け取ったコンテンツ配信部６２９は、その暗号化コンテンツＥＮＣＣＮＴを出力装置６３ａ〜６３ｎへ配信し、終了する（Ｓ６２６５）。
【０４６５】
以上が、コンテンツ配信システム６の構成要素であるサーバ６２の構成と動作である。続いて、出力装置６３ａ〜６３ｎの構成と動作について説明を行う。まず、出力装置６３ａの構成と動作について説明を行い、次に、出力装置６３ａと他の出力装置６３ｂ〜６３ｎとの相違点について述べる。
【０４６６】
＜出力装置６３ａの構成＞
出力装置６３ａは、図８５に示すように、中間鍵群受信部６３１、暗号化中間鍵群復号化部６３２ａ、個別鍵格納部６３３ａ、中間鍵群格納部６３４ａ、時変変数群受信部６３５、コンテンツ復号化鍵生成部６３６ａ、コンテンツ鍵格納部６２３、コンテンツ受信部６３７、コンテンツ復号化部６３８、出力部６３９、とから構成される。ここで、コンテンツ鍵格納部６２３は、サーバ６２の構成要素であるコンテンツ鍵格納部６２３と同じ動作であるので、説明を省略する。また、中間鍵群受信部６３１、時変変数群受信部６３５、コンテンツ鍵格納部６２３、コンテンツ受信部６３７、コンテンツ復号化部６３８、出力部６３９、は出力装置６３ａ〜６３ｎにおいて共通の構成要素であり、暗号化中間鍵群復号化部６３２ａ、個別鍵格納部６３３ａ、中間鍵群格納部６３４ａ、コンテンツ復号化鍵生成部６３６ａは、出力装置６３ａ固有の構成要素である。
【０４６７】
（１）中間鍵群受信部６３１
中間鍵群受信部６３１が、サーバ６２から、暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝｛ＡＩＤａ，ＥＮＣＭＫＧａ｝｜｜・・・｜｜｛ＡＩＤｎ，ＥＮＣＭＫＧｎ｝を受信した場合、受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを暗号化中間鍵群復号化部６３２ａに出力する。
【０４６８】
（２）暗号化中間鍵群復号化部６３２ａ
暗号化中間鍵群復号化部６３２ａは、中間鍵群受信部６３１から暗号化中間鍵群集合ＥＮＣＭＫＧＳ＝｛ＡＩＤａ，ＥＮＣＭＫＧａ｝｜｜・・・｜｜｛ＡＩＤｎ，ＥＮＣＭＫＧｎ｝を受信した場合、まず図８６に示すような個別鍵格納部６３３ａから出力装置識別子ＡＩＤａ及び個別鍵ＩＫａを取得する。そして、受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳからその出力装置識別子ＡＩＤａに対応する暗号化中間鍵群ＥＮＣＭＫＧａを取得する。その後、個別鍵格納部６３３ａに格納されていた個別鍵ＩＫａに基づいて、その対応した暗号化中間鍵群ＥＮＣＭＫＧａ＝Ｅｎｃ（ＩＫａ，ＭＫＧａ）の復号化を行う。その復号化した中間鍵群ＭＫＧａを中間鍵群格納部６３４ａに格納する。
【０４６９】
（３）個別鍵格納部６３３ａ
個別鍵格納部６３３ａは、図８６で示すように、出力装置識別子ＡＩＤａ及び個別鍵ＩＫａを保持するものである。この個別鍵格納部６３３ａへは、暗号化中間鍵群復号化部６３２ａからアクセス可能である。
【０４７０】
（４）中間鍵群格納部６３４ａ
中間鍵群格納部６３４ａは、図８７で示すように、中間鍵群ＭＫＧａを保持するものである。この中間鍵群格納部６３４ａへは、暗号化中間鍵群復号化部６３２ａ及びコンテンツ復号化鍵生成部６３６ａからアクセス可能である。
【０４７１】
（５）時変変数群受信部６３５
時変変数群受信部６３５が、サーバ６２から時変変数群ＰＲＧを受信した場合、受信した時変変数群ＰＲＧをコンテンツ復号化鍵生成部６３６ａに出力する。
【０４７２】
（６）コンテンツ復号化鍵生成部６３６ａ
コンテンツ復号化鍵生成部１３６ａが、時変変数群受信部６３５から時変変数群ＰＲＧを受信した場合、中間鍵群格納部６３４ａにアクセスし、中間鍵群ＭＫＧａを取得する。そして、時変変数群ＰＲＧから、時変変数Ｑ１及びＲ１及びＱ２及びＲ２を抽出し、そして、中間鍵群ＭＫＧａから中間鍵Ｄ１及びＥ１及びＤ２及びＥ２を抽出する。その後、予め与えられるコンテンツ復号化鍵生成式”ＣＫ＝（Ｑ１＋Ｄ１）＊（Ｒ１＋Ｅ１）＋（Ｑ２＋Ｄ２）＊（Ｒ２＋Ｅ２）  ｍｏｄ  Ｎ”を基に、コンテンツ鍵ＣＫを生成し、その生成したコンテンツ鍵ＣＫをコンテンツ鍵格納部６２３へ格納する。
【０４７３】
（７）コンテンツ受信部６３７
コンテンツ受信部６３７が、サーバ６２から暗号化コンテンツＥＮＣＣＮＴを受信した場合、暗号化コンテンツＥＮＣＣＮＴをコンテンツ復号化部６３８に出力する。
【０４７４】
（８）コンテンツ復号化部６３８
コンテンツ復号化部６３８は、コンテンツ受信部６３７から暗号化コンテンツＥＮＣＣＮＴを受信した場合、コンテンツ鍵格納部６２３からコンテンツ鍵ＣＫを取得し、そのコンテンツ鍵ＣＫに基づいて、暗号化コンテンツＥＮＣＣＮＴの復号化を行う。ここで復号化に使用する復号化アルゴリズムは、例えば、ブロック暗号のＤＥＳ方式などであり、サーバ６２のコンテンツ暗号化部６２８で用いる暗号化アルゴリズムと同じ方式を用いる。復号化した復号化コンテンツＤＥＣＣＮＴ＝Ｄｅｃ（ＣＫ，ＥＮＣＣＮＴ）をコンテンツ出力部６３９へ出力する。ここで、Ｄｅｃ（Ｋ，Ｃ）は復号化鍵Ｋをもとに、暗号文Ｃを復号化した際の復号文とする。
【０４７５】
（９）コンテンツ出力部６３９
コンテンツ出力部６３９は、コンテンツ復号化部６３８から復号化コンテンツＤＥＣＣＮＴを受信した場合、受信した復号化コンテンツＤＥＣＣＮＴを外部へ出力する。
【０４７６】
＜出力装置６３ａの動作＞
以上で、出力装置６３ａの構成について説明を行ったが、ここで出力装置６３ａの動作について説明する。まず、暗号化中間鍵群集合ＥＮＣＭＫＧＳを受信したときに、中間鍵群ＭＫＧａを取得する際の動作について図８８に示すフローチャートを用いて説明する。次に、時変変数群ＰＲＧを受信したときに、中間鍵群ＭＫＧａを用いてコンテンツ鍵ＣＫを生成する際の動作について図８９に示すフローチャートを用いて説明する。最後に、暗号化されたコンテンツＥＮＣＣＮＴをサーバ６２から受信した場合に、復号化コンテンツＤＥＣＣＮＴを外部へ出力する際の動作について図９０に示すフローチャートを用いて説明する。
【０４７７】
≪鍵発行センタ６１から暗号化中間鍵群集合ＥＮＣＭＫＧＳを受信した時の動作≫
中間鍵群受信部６３１は、受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳを暗号化中間鍵群復号化部６３２ａに出力する（Ｓ６３０１）。
【０４７８】
暗号化中間鍵群復号化部６３２ａは、個別鍵格納部６３３ａから出力装置識別子ＡＩＤａ及び個別鍵ＩＫａを取得する（Ｓ６３０２）。
【０４７９】
暗号化中間鍵群復号化部６３２ａは、受信した暗号化中間鍵群集合ＥＮＣＭＫＧＳからその出力装置識別子ＡＩＤａに対応づけられている暗号化中間鍵群ＥＮＣＭＫＧａ＝Ｅｎｃ（ＩＫａ，ＭＫＧａ）を取得する（Ｓ６３０３）。
【０４８０】
暗号化中間鍵群復号化部６３２ａは、個別鍵ＩＫａに基づいて、その暗号化中間鍵群ＥＮＣＭＫＧａの復号化を行い、中間鍵群ＭＫＧａを取得する（Ｓ６３０４）。
【０４８１】
暗号化中間鍵群復号化部６３２ａは、取得した中間鍵群ＭＫＧａを中間鍵群格納部６３４ａに格納し、終了する（Ｓ６３０５）。
【０４８２】
≪サーバ６２から時変変数群ＰＲＧを受信した時の動作≫
時変変数群受信部６３５は、受信した時変変数群ＰＲＧをコンテンツ復号化鍵生成部６３６ａに出力する（Ｓ６３３１）。
【０４８３】
コンテンツ復号化鍵生成部６３６ａは、中間鍵群格納部６３４ａにアクセスして、中間鍵群ＭＫＧａを取得する（Ｓ６３３２）。
【０４８４】
コンテンツ復号化鍵生成部６３６ａは、中間鍵群ＭＫＧａから中間鍵Ｄ１及びＥ１及びＤ２及びＥ２を抽出し、時変変数群ＰＲＧから時変変数Ｑ１及びＲ１及びＱ２及びＲ２を抽出する。その後、コンテンツ鍵ＣＫを予め与えられたコンテンツ復号化鍵生成式”ＣＫ＝（Ｑ１＋Ｄ１）＊（Ｒ１＋Ｅ１）＋（Ｑ２＋Ｄ２）＊（Ｒ２＋Ｅ２）  ｍｏｄ  Ｎ”に基づき生成する（Ｓ６３３３）。
【０４８５】
コンテンツ復号化鍵生成部６３６ａは、コンテンツ鍵ＣＫをコンテンツ鍵格納部６２３に格納し、終了する（Ｓ６３３４）。
【０４８６】
≪サーバ６２から暗号化コンテンツＥＮＣＣＮＴを受信した時の動作≫
コンテンツ受信部６３７は、受信した暗号化コンテンツＥＮＣＣＮＴをコンテンツ復号化部６３８へ出力する（Ｓ６３６１）。
【０４８７】
コンテンツ復号化部６３８は、コンテンツ鍵格納部６２３へアクセスして、コンテンツ鍵ＣＫを取得する（Ｓ６３６２）。
【０４８８】
コンテンツ復号化部６３８は、取得したコンテンツ鍵ＣＫを基に、暗号化コンテンツＥＮＣＣＮＴの復号化を行い、復号化コンテンツＤＥＣＣＮＴを取得する（Ｓ６３６３）。
【０４８９】
コンテンツ復号化部６３８は、その復号化コンテンツＤＥＣＣＮＴを、コンテンツ出力部６３９へ出力する（Ｓ６３６４）。
【０４９０】
コンテンツ出力部６３９は、コンテンツ復号化部６３８から復号化コンテンツＤＥＣＣＮＴを受信し、受信した復号化コンテンツＤＥＣＣＮＴを外部へ出力し、終了する（Ｓ６３６５）。
【０４９１】
以上が、コンテンツ配信システム６の構成要素である出力装置６３ａの構成と動作である。なお、出力装置６３ａと他の出力装置６３ｂ〜６３ｎとの相違点は、以下の通りである。
【０４９２】
（ｉ）暗号化中間鍵群復号化部６３２ａで、暗号化中間鍵群を復号化する際に用いる出力装置識別子（ＡＩＤａ〜ＡＩＤｎ）及び個別鍵（ＩＫａ〜ＩＫｎ）がそれぞれの出力装置６３ａ〜６３ｎで異なる。
【０４９３】
（ii）個別鍵格納部６３３ａで、格納されている出力装置識別子（ＡＩＤａ〜ＡＩＤｎ）及び個別鍵（ＩＫａ〜ＩＫｎ）がそれぞれの出力装置６３ａ〜６３ｎで異なる。
【０４９４】
（iii）中間鍵群格納部６３４ａで、格納されている中間鍵群（ＭＫＧａ〜ＭＫＧｎ）
が
それぞれの出力装置６３ａ〜６３ｎで異なる。
【０４９５】
（iv）コンテンツ復号化鍵生成部６３６ａで、コンテンツ鍵ＣＫを生成する際に使用する中間鍵群（ＭＫＧａ〜ＭＫＧｎ）がそれぞれの出力装置６３ａ〜６３ｎで異なる。
【０４９６】
＜実施の形態６の動作検証＞
本実施の形態６において、それぞれの出力装置６３ａ〜６３ｎには異なる値をとる中間鍵群ＭＫＧａ〜ＭＫＧｎが割り当てられているにもかかわらず、全出力装置６３ａ〜６３ｎにおいて同じコンテンツ鍵ＣＫが導出出来る理由について説明する。まず、中間鍵群ＭＫＧａ〜ＭＫＧｎそれぞれは予め与えられる中間鍵生成式を満たす中間鍵Ｄ１とＥ１とＤ２とＥ２から構成されている。また、時変変数群ＰＲＧは、時変変数生成式を満たすように生成されている。このようにすることで、コンテンツ復号化鍵生成式は以下のように変形出来る。
【０４９７】
ＣＫ＝（Ｑ１＋Ｄ１）＊（Ｒ１＋Ｅ１）＋（Ｑ２＋Ｄ２）＊（Ｒ２＋Ｅ２）
＝｛ｓ＊（ｚ＋ｘ）＋ｖ＊ｍ｝＊｛ｔ＊（ｗ＋ｙ）＋ｕ＊ｎ｝＋｛ｕ＊（ｚ−ｘ）＋ｔ＊ｍ｝＊｛ｖ＊（ｗ−ｙ）＋ｓ＊ｎ｝
＝｛ｓ＊（ｚ＋ｘ）＊ｔ＊（ｗ＋ｙ）＋ｕ＊（ｚ−ｘ）＊ｖ＊（ｗ−ｙ）｝＋｛ｕ＊ｎ＊ｓ＊（ｚ＋ｘ）＋ｖ＊ｍ＊ｔ＊（ｗ＋ｙ）＋ｓ＊ｎ＊ｕ＊（ｚ−ｘ）＋ｔ＊ｍ＊ｖ＊（ｗ−ｙ）｝＋ｕ＊ｖ＊ｍ＊ｎ＋ｓ＊ｔ＊ｍ＊ｎ
となる。ここで、“ｘ＊ｙ＝ｃ”という条件を用いることで、
・・＝２＊ｓ＊ｔ＊（ｚ＊ｗ＋ｃ＊ｎ＊ｍ）＋２＊（ｕ＊ｓ＊ｎ＊ｚ＋ｔ＊ｖ＊ｍ＊ｗ）
となり、これは全出力装置６３ａ〜６３ｎ共通のパラメータのみから成る（つまり、個別化変数ｘ及びｙを含まない）。そのため、全出力装置６３ａ〜６３ｎにおいて、コンテンツ鍵ＣＫが共通の値を導出するようになっている。また、これはコンテンツ暗号化鍵生成式”ＣＫ＝“２＊ｓ＊ｔ＊（ｚ＊ｗ＋ｃ＊ｎ＊ｍ）＋２＊（ｕ＊ｓ＊ｎ＊ｚ＋ｔ＊ｖ＊ｍ＊ｗ）”と一致する。
【０４９８】
＜実施の形態６の効果＞
本発明の実施の形態６では、コンテンツＣＮＴを復号化する際に用いるコンテンツ鍵ＣＫは、出力装置固有の中間鍵から生成されるようにした。そうすることで、中間鍵を埋め込んだ不正な出力装置に対しても、鍵発行センタの出力装置対応情報格納部に含まれる中間鍵群と出力装置識別子の対応情報を基に、漏洩元の出力装置が特定出来るようになった。
【０４９９】
＜実施の形態６の変形例＞
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
【０５００】
（１）通信路１０は、地上波又は衛星等の放送網であっても良い。
（２）システム秘密変数群生成部６１１の秘密変数生成式、及び、中間鍵群生成部６１３の個別化変数生成式と中間鍵生成式、及び、時変変数群生成部６２３の時変変数生成式、及び、コンテンツ暗号化鍵生成部６２５のコンテンツ暗号化鍵生成式、及び、コンテンツ復号化鍵生成部６３６ａのコンテンツ復号化鍵生成式は、実施の形態６に記載の式だけに限るものではない。コンテンツ復号化鍵生成式に、個別化変数生成式及び中間鍵生成式及び時変変数生成式と、を代入したときの式が、コンテンツ暗号化鍵生成式と一致し、また、中間鍵生成式とが、個別化変数ｘ及びｙを含み、さらに、時変変数生成式とコンテンツ暗号化鍵生成式が、個別化変数ｘ及びｙを含んでいなければ、それで良い。
【０５０１】
（３）実施の形態６のシステム秘密変数群生成部６１１では、１つの秘密変数生成式を用いてシステム秘密変数群ＳＰＧを生成していたが、２種類以上の秘密変数生成式を用いてシステム秘密変数群ＳＰＧを生成しても良いし、秘密変数生成式を使用せずにシステム秘密変数群ＳＰＧを生成しても良い。例えば、システム秘密変数群ＳＰＧは乱数であっても良い。
【０５０２】
（４）実施の形態６の中間鍵群生成部６１３では、１つの個別化変数生成式を用いて個別化変数を生成していたが、２種類以上の個別化変数生成式を用いて個別化変数を生成しても良いし、個別化変数生成式を使用せずに個別化変数を生成しても良い。例えば、個別化変数は乱数であっても良い。
【０５０３】
（５）実施の形態６の中間鍵群生成部６１３では、４つの中間鍵生成式を用いて中間鍵を生成していたが、５種類以上の中間鍵生成式を用いて中間鍵を生成しても良いし、３種類以下の中間鍵生成式を用いて中間鍵を生成しても良い。
【０５０４】
（６）実施の形態６の時変変数群生成部６２３では、４つの時変変数生成式を用いて時変変数群ＰＲＧを生成していたが、５種類以上の時変変数生成式を用いて時変変数群ＰＲＧを生成しても良いし、３種類以下の時変変数生成式を用いて時変変数群ＰＲＧを生成しても良いし、さらには、時変変数生成式を使用せずに時変変数群ＰＲＧを生成しても良い。例えば、時変変数群ＰＲＧは乱数であってもよい。
【０５０５】
（７）実施の形態６のコンテンツ暗号化鍵生成部６２５では、１つのコンテンツ暗号化鍵生成式を用いてコンテンツ鍵ＣＫを計算していたが、２種類以上のコンテンツ暗号化鍵生成式を用いてコンテンツ鍵ＣＫを計算しても良い。
【０５０６】
（８）実施の形態６のコンテンツ復号化鍵生成部６３６ａでは、１つのコンテンツ復号化鍵生成式を用いてコンテンツ鍵を計算していたが、２種類以上のコンテンツ復号化鍵生成式を用いてコンテンツ鍵を生成しても良い。
【０５０７】
（９）コンテンツ復号化鍵生成部６３６ａで用いるコンテンツ復号化鍵生成式は、全ての出力装置６３ａ〜６３ｎにて共通の生成式を用いなくても良い。
【０５０８】
（１０）各中間鍵群ＭＫＧａ〜ＭＫＧｎは、４つの中間鍵Ｄ１及びＥ１及びＤ２及びＥ２を基に構成されていたが、５つ以上の中間鍵から構成されていても良いし、３つ以下の中間鍵から構成されていても良い。
【０５０９】
（１１）時変変数群ＰＲＧは、４つの時変変数から構成されていたが、５つ以上の時変変数から構成されていても良いし、３つ以下の時変変数から構成されていても良い。
【０５１０】
（１２）いくつか複数の出力装置に、同じ個別鍵や中間鍵を割り当てても良い。
【０５１１】
（１３）鍵発行センタ６１が、サーバ６２へシステム秘密変数群ＳＰＧの代わりに中間鍵群を送付するようにして、サーバ６２は時変変数群ＰＲＧ及び中間鍵群からコンテンツ鍵を生成するようにしても良い。
【０５１２】
（１４）サーバ６２が鍵発行センタ６１からシステム秘密変数群ＳＰＧを受信したときに、システム秘密変数群受信部６２１がシステム秘密変数群格納部６２２へシステム秘密変数群ＳＰＧを格納するとともに、時変変数群生成部６２３は新たに時変変数群ＰＲＧを生成するようにしても良い。
【０５１３】
（１５）実施の形態６のコンテンツ暗号化鍵生成部６２５及びコンテンツ復号化鍵生成部６３６ａは同じコンテンツ鍵ＣＫを出力していたが、コンテンツ暗号化鍵生成部６２５ではコンテンツ暗号化鍵ＣＥＫを出力し、コンテンツ復号化鍵生成部６３６ａではコンテンツ復号化鍵ＣＤＫを出力し、コンテンツ暗号化鍵ＣＥＫとコンテンツ復号化鍵ＣＤＫが異なっていても良い。この場合、コンテンツ暗号化部６２８及びコンテンツ復号化部６３８では、例えば、ＲＳＡ暗号などの公開鍵暗号方式を用いる。ＲＳＡ暗号方式に関しては、非特許文献２に記載されている。
【０５１４】
（１６）実施の形態６で、サーバ６２は、コンテンツ鍵ＣＫを基にコンテンツＣＮＴを暗号化していたが、新たに第二コンテンツ鍵ＣＫ２を生成し、コンテンツ鍵ＣＫを基に第二コンテンツ鍵ＣＫ２を暗号化して、さらに、第二コンテンツ鍵ＣＫ２を基にコンテンツＣＮＴを暗号化して、暗号化されたコンテンツＥＮＣＣＮＴ及び暗号化された第二コンテンツ鍵ＣＫ２を出力装置６３ａ〜６３ｎへ配信するようにしても良い。なお、新たに第二コンテンツ鍵ＣＫ２及び第三コンテンツ鍵ＣＫ３を生成し、コンテンツ鍵ＣＫを基に第二コンテンツ鍵ＣＫ２を暗号化して、第二コンテンツ鍵ＣＫ２を基に第三コンテンツ鍵ＣＫ３を暗号化して、第三コンテンツ鍵ＣＫ３を基にコンテンツＣＮＴを暗号化して、暗号化されたコンテンツＥＮＣＣＮＴ及び暗号化された第二コンテンツ鍵ＣＫ２及び暗号化された第三コンテンツ鍵ＣＫ３を出力装置６３ａ〜６３ｎへ配信するようにしても良く、それ以上の数のコンテンツ鍵を生成しても良い。
【０５１５】
（１７）実施の形態６で、出力装置は１４台（６３ａ〜６３ｎ）であったが、出力装置は１５台以上でもよいし、１３台以下でも良い。
【０５１６】
（１８）鍵発行センタ６１が暗号化中間鍵群集合ＥＮＣＭＫＧを配信する際には、出力装置６３ａ〜６３ｎへ同時に配信しても良いし、各出力装置６３ａ〜６３ｎ個別に配信しても良い。なお、サーバ６２が時変変数群ＰＲＧや暗号化コンテンツＥＮＣＣＮＴを配信する際にも同様に、出力装置６３ａ〜６３ｎへ同時に配信しても良いし、各出力装置６３ａ〜６３ｎ個別に配信しても良い。
【０５１７】
（１９）実施の形態６では、サーバ６２がコンテンツ鍵ＣＫに基づき、コンテンツＣＮＴを暗号化して暗号化コンテンツＥＮＣＣＮＴを作成し、その暗号化コンテンツＥＮＣＣＮＴを出力装置６３ａ〜６３ｎへ配信して、出力装置６３ａ〜６３ｎはその暗号化コンテンツＥＮＣＣＮＴを、コンテンツ鍵ＣＫに基づき復号化し、復号化コンテンツＤＥＣＣＮＴを外部へ出力していたが、サーバ６２が暗号化コンテンツＥＮＣＣＮＴを配信しないようにして、出力装置６３ａ〜６３ｎは、外部へコンテンツ鍵ＣＫを出力するようにしてもよい。なお、このとき、サーバ６２も外部へコンテンツ鍵ＣＫを出力しても良い。
【０５１８】
（２０）実施の形態６では、サーバ６２が出力装置６３ａ〜６３ｎへ時変変数群ＰＲＧを送信していたが、サーバ６２と出力装置６３ａ〜６３ｎが予め共通の時変変数群ＰＲＧと時変変数群識別子の組を複数保持しており、サーバ６２がいずれかの時変変数群識別子を出力装置６３ａ〜６３ｎへ配信して、出力装置６３ａ〜６３ｎでは受信した時変変数群識別子を基に、対応する時変変数群ＰＲＧを取得するようにしても良い。
【０５１９】
（２１）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０５２０】
（２２）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０５２１】
本発明にかかるコンテンツ配信システムは、攻撃者によって、ある出力装置の個別鍵を不正に取得され、その個別鍵を用いて不正な出力装置が作成されたとしても、その不正な出力装置のクローン元を追跡出来るという効果を有し、インターネット等の通信路、地上波放送や衛星放送などの放送網を用いて、コンテンツを安全に配信する放送局のサーバ装置及びコンテンツを受信して再生を行う放送受信機等に用いることが可能となる。有用である。
【図面の簡単な説明】
【０５２２】
【図１】本発明の実施の形態１におけるコンテンツ配信システムの概要図
【図２】本発明の実施の形態１における鍵発行センタの構成例を示す図
【図３】本発明の実施の形態１におけるシステム秘密変数群ＳＰＧの一例を示す図
【図４】本発明の実施の形態１における出力装置対応情報格納部の構成例を示す図
【図５】本発明の実施の形態１における中間鍵群ＭＫＧａの一例を示す図
【図６】本発明の実施の形態１における暗号化中間鍵群集合ＥＮＣＭＫＧＳの一例を示す図
【図７】本発明の実施の形態１における鍵発行センタの鍵情報配信時の処理の流れ図
【図８】本発明の実施の形態１における鍵発行センタの出力装置の無効化時の処理の流れ図
【図９】本発明の実施の形態１におけるサーバの構成例を示す図
【図１０】本発明の実施の形態１におけるコンテンツ鍵格納部の構成例を示す図
【図１１】本発明の実施の形態１における時変変数群格納部の構成例を示す図
【図１２】本発明の実施の形態１におけるシステム秘密変数群格納部の構成例を示す図
【図１３】本発明の実施の形態１における時変変数群ＰＲＧの一例を示す図
【図１４】本発明の実施の形態１におけるサーバのコンテンツ配信時の処理の流れ図
【図１５】本発明の実施の形態１におけるサーバのシステム秘密変数群受信時の処理の流れ図
【図１６】本発明の実施の形態１におけるサーバの時変変数群更新時の処理の流れ図
【図１７】本発明の実施の形態１における出力装置の構成例を示す図
【図１８】本発明の実施の形態１におけるコンテンツ鍵格納部の構成例を示す図
【図１９】本発明の実施の形態１における中間鍵群格納部の構成例を示す図
【図２０】本発明の実施の形態１における個別鍵格納部の構成例を示す図
【図２１】本発明の実施の形態１におけるサーバの暗号化コンテンツ受信時の処理の流れ図
【図２２】本発明の実施の形態１におけるサーバの鍵受信時の処理の流れ図
【図２３】本発明の実施の形態２におけるコンテンツ配信システムの概要図
【図２４】本発明の実施の形態２における鍵発行センタ２１の構成例を示す図
【図２５】本発明の実施の形態２におけるシステム秘密変数群ＳＰＧの一例を示す図
【図２６】本発明の実施の形態２における中間鍵群ＭＫＧａの一例を示す図
【図２７】本発明の実施の形態２における鍵発行センタの鍵配信時の処理の流れ図
【図２８】本発明の実施の形態２における鍵発行センタの出力装置の無効化時の処理の流れ図
【図２９】本発明の実施の形態２におけるサーバの構成例を示す図
【図３０】本発明の実施の形態２における時変変数群ＰＲＧの一例を示す図
【図３１】本発明の実施の形態２におけるサーバの時変変数群更新時の処理の流れ図
【図３２】本発明の実施の形態２における出力装置の構成例を示す図
【図３３】本発明の実施の形態２における出力装置のコンテンツ受信時の処理の流れ図
【図３４】本発明の実施の形態３におけるコンテンツ配信システムの概要図
【図３５】本発明の実施の形態３における鍵発行センタの構成例を示す図
【図３６】本発明の実施の形態３におけるシステム秘密変数群ＳＰＧの一例を示す図
【図３７】本発明の実施の形態３における中間鍵群ＭＫＧａの一例を示す図
【図３８】本発明の実施の形態３における鍵発行センタの鍵配信時の処理の流れ図
【図３９】本発明の実施の形態３における鍵発行センタの出力装置の無効化時の処理の流れ図
【図４０】本発明の実施の形態３におけるサーバの構成例を示す図
【図４１】本発明の実施の形態３における時変変数群ＰＲＧの一例を示す図
【図４２】本発明の実施の形態３におけるサーバの時変変数群更新時の処理の流れ図
【図４３】本発明の実施の形態３における出力装置の構成例を示す図
【図４４】本発明の実施の形態３における出力装置のコンテンツ受信時の処理の流れ図
【図４５】本発明の実施の形態３におけるシステム秘密変数群ＳＰＧの一例を示す図
【図４６】本発明の実施の形態３における中間鍵群ＭＫＧａの一例を示す図
【図４７】本発明の実施の形態３におけるシステム秘密変数群ＳＰＧの一例を示す図
【図４８】本発明の実施の形態３における中間鍵群ＭＫＧａの一例を示す図
【図４９】本発明の実施の形態３における時変変数群ＰＲＧの一例を示す図
【図５０】本発明の実施の形態４におけるコンテンツ配信システムの概要図
【図５１】本発明の実施の形態４における鍵発行センタの構成例を示す図
【図５２】本発明の実施の形態４における中間鍵群ＭＫＧａの一例を示す図
【図５３】本発明の実施の形態４における鍵発行センタの鍵配信時の処理の流れ図
【図５４】本発明の実施の形態４における鍵発行センタの出力装置の無効化時の処理の流れ図
【図５５】本発明の実施の形態４における出力装置の構成例を示す図
【図５６】本発明の実施の形態４における出力装置のコンテンツ受信時の処理の流れ図
【図５７】本発明の実施の形態５におけるコンテンツ配信システムの概要図
【図５８】本発明の実施の形態５において用いるシフトレジスタの例を示す図
【図５９】本発明の実施の形態５において用いるシフトレジスタにおける右シフト演算の動作例を示す図
【図６０】本発明の実施の形態５において用いるシフトレジスタにおける左シフト演算の動作例を示す図
【図６１】本発明の実施の形態５における鍵発行センタの構成例を示す図
【図６２】本発明の実施の形態５における鍵発行センタの鍵情報配信時の処理の流れ図
【図６３】本発明の実施の形態５における鍵発行センタの出力装置の無効化時の処理の流れ図
【図６４】本発明の実施の形態５におけるサーバの構成例を示す図
【図６５】本発明の実施の形態５における中間鍵群格納部の構成例を示す図
【図６６】本発明の実施の形態５におけるサーバの時変変数群ＰＲＧ更新時の処理の流れ図
【図６７】本発明の実施の形態５における出力装置の構成例を示す図
【図６８】本発明の実施の形態５における出力装置のコンテンツ受信時の処理の流れ図
【図６９】本発明の実施の形態５における中間鍵群の生成例
【図７０】本発明の実施の形態５におけるコンテンツ鍵の生成例
【図７１】本発明の実施の形態６におけるコンテンツ配信システムの概要図
【図７２】本発明の実施の形態６における鍵発行センタの構成例を示す図
【図７３】本発明の実施の形態６におけるシステム秘密変数群ＳＰＧの一例を示す図
【図７４】本発明の実施の形態６における出力装置対応情報格納部の構成例を示す図
【図７５】本発明の実施の形態６における中間鍵群ＭＫＧａの一例を示す図
【図７６】本発明の実施の形態６における暗号化中間鍵群集合ＥＮＣＭＫＧＳの一例を示す図
【図７７】本発明の実施の形態６における鍵発行センタの鍵情報更新時の処理の流れ図
【図７８】本発明の実施の形態６におけるサーバの構成例を示す図
【図７９】本発明の実施の形態６におけるシステム秘密変数群格納部の構成例を示す図
【図８０】本発明の実施の形態６における時変変数群ＰＲＧの一例を示す図
【図８１】本発明の実施の形態６におけるコンテンツ鍵格納部の構成例を示す図
【図８２】本発明の実施の形態６におけるサーバのシステム秘密変数群受信時の処理の流れ図
【図８３】本発明の実施の形態６におけるサーバの時変変数群更新時の処理の流れ図
【図８４】本発明の実施の形態６におけるサーバのコンテンツ配信時の処理の流れ図
【図８５】本発明の実施の形態６における出力装置の構成例を示す図
【図８６】本発明の実施の形態６における個別鍵格納部の構成例を示す図
【図８７】本発明の実施の形態６における中間鍵群格納部の構成例を示す図
【図８８】本発明の実施の形態６における受信装置の暗号化中間鍵群集合受信時の処理の流れ図
【図８９】本発明の実施の形態６における受信装置の時変変数群受信時の処理の流れ図
【図９０】本発明の実施の形態６における受信装置のコンテンツ受信時の処理の流れ図
【図９１】従来のコンテンツ配信システムの概要図
【符号の説明】
【０５２３】
１０  通信路
１１，２１，３１，４１，５１，６１  鍵発行センタ
１２，２２，３２，５１，６１  サーバ
１３ａ〜１３ｎ，２３ａ〜２３ｎ，３３ａ〜３３ｎ，４３ａ〜４３ｎ，５３ａ〜５３ｎ
６３ａ〜６３ｎ  出力装置
１１１，２１１，３１１，５１１，６１１  システム秘密変数群生成部
１１２，６１２  システム秘密変数群送信部
１１３，２１３，３１３，４１３，５１３，６１３  中間鍵群生成部
１１４，６１４  出力装置対応情報格納部
１１５，６１５  中間鍵群暗号化部
１１６，６１６  暗号化中間鍵集合配信部
１１７  入力部
１１８  対応情報更新部
１２１，６２７  入力部
１２２，６２８  コンテンツ暗号化部
１２３，１３３，６２６，６２３  コンテンツ鍵格納部
１２４，６２９  コンテンツ配信部
１２５  時変変数群格納部
１２６，６２１  システム秘密変数群受信部
５２６  サーバ中間鍵群受信部
１２７，６２２  秘密変数群格納部
５２７  中間鍵群格納部
１２８，２２８，３２８，４２８，５２８，６２３  時変変数群生成部
１２９，２２９，３２９，４２９，５２９，６２５  コンテンツ暗号化鍵生成部
６２４  時変変数群配信部
１３１，６３７  コンテンツ受信部
１３２ａ，２３２ａ，３３２ａ，４３２ａ，５３２ａ，６３６ａ  コンテンツ復号化鍵生成部
１３４ａ，６３４ａ  中間鍵群格納部
１３５，６３８  コンテンツ復号化部
１３６，６３９  コンテンツ出力部
１３７，６３１  暗号化中間鍵群集合受信部
１３８ａ，６３２ａ  暗号化中間鍵群復号化部
１３９ａ，６３３ａ  個別鍵格納部
６３５  時変変数群受信部
【図１】
2005204293.tif 000003
【図２】
2005204293.tif 000004
【図３】
2005204293.tif 000005
【図４】
2005204293.tif 000006
【図５】
2005204293.tif 000007
【図６】
2005204293.tif 000008
【図７】
2005204293.tif 000009
【図８】
2005204293.tif 000010
【図９】
2005204293.tif 000011
【図１０】
2005204293.tif 000012
【図１１】
2005204293.tif 000013
【図１２】
2005204293.tif 000014
【図１３】
2005204293.tif 000015
【図１４】
2005204293.tif 000016
【図１５】
2005204293.tif 000017
【図１６】
2005204293.tif 000018
【図１７】
2005204293.tif 000019
【図１８】
2005204293.tif 000020
【図１９】
2005204293.tif 000021
【図２０】
2005204293.tif 000022
【図２１】
2005204293.tif 000023
【図２２】
2005204293.tif 000024
【図２３】
2005204293.tif 000025
【図２４】
2005204293.tif 000026
【図２５】
2005204293.tif 000027
【図２６】
2005204293.tif 000028
【図２７】
2005204293.tif 000029
【図２８】
2005204293.tif 000030
【図２９】
2005204293.tif 000031
【図３０】
2005204293.tif 000032
【図３１】
2005204293.tif 000033
【図３２】
2005204293.tif 000034
【図３３】
2005204293.tif 000035
【図３４】
2005204293.tif 000036
【図３５】
2005204293.tif 000037
【図３６】
2005204293.tif 000038
【図３７】
2005204293.tif 000039
【図３８】
2005204293.tif 000040
【図３９】
2005204293.tif 000041
【図４０】
2005204293.tif 000042
【図４１】
2005204293.tif 000043
【図４２】
2005204293.tif 000044
【図４３】
2005204293.tif 000045
【図４４】
2005204293.tif 000046
【図４５】
2005204293.tif 000047
【図４６】
2005204293.tif 000048
【図４７】
2005204293.tif 000049
【図４８】
2005204293.tif 000050
【図４９】
2005204293.tif 000051
【図５０】
2005204293.tif 000052
【図５１】
2005204293.tif 000053
【図５２】
2005204293.tif 000054
【図５３】
2005204293.tif 000055
【図５４】
2005204293.tif 000056
【図５５】
2005204293.tif 000057
【図５６】
2005204293.tif 000058
【図５７】
2005204293.tif 000059
【図５８】
2005204293.tif 000060
【図５９】
2005204293.tif 000061
【図６０】
2005204293.tif 000062
【図６１】
2005204293.tif 000063
【図６２】
2005204293.tif 000064
【図６３】
2005204293.tif 000065
【図６４】
2005204293.tif 000066
【図６５】
2005204293.tif 000067
【図６６】
2005204293.tif 000068
【図６７】
2005204293.tif 000069
【図６８】
2005204293.tif 000070
【図６９】
2005204293.tif 000071
【図７０】
2005204293.tif 000072
【図７１】
2005204293.tif 000073
【図７２】
2005204293.tif 000074
【図７３】
2005204293.tif 000075
【図７４】
2005204293.tif 000076
【図７５】
2005204293.tif 000077
【図７６】
2005204293.tif 000078
【図７７】
2005204293.tif 000079
【図７８】
2005204293.tif 000080
【図７９】
2005204293.tif 000081
【図８０】
2005204293.tif 000082
【図８１】
2005204293.tif 000083
【図８２】
2005204293.tif 000084
【図８３】
2005204293.tif 000085
【図８４】
2005204293.tif 000086
【図８５】
2005204293.tif 000087
【図８６】
2005204293.tif 000088
【図８７】
2005204293.tif 000089
【図８８】
2005204293.tif 000090
【図８９】
2005204293.tif 000091
【図９０】
2005204293.tif 000092
【図９１】
2005204293.tif 000093