(57)【要約】【課題】不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置を提供する。【解決手段】複数の短期鍵を有するセンタ装置と、それら複数の短期鍵の一部をそれぞれ有する複数の利用者装置から構成され、センタ装置は視聴権を有する利用者装置のみが有する短期鍵を用いてコンテンツを暗号化して利用者装置に向けて放送し、視聴権を有する利用者装置は自身が有する短期鍵の何れかを用いて暗号化されたコンテンツを復号化する放送型暗号システムにおいて、利用者装置ごとに割り当てられた長期鍵を用いて短期鍵を更新する。海賊版利用者装置に長期鍵が含まれていれば、その長期鍵が割り当てられている利用者装置が不正者であることが判明する。【選択図】図２
2008294720.tif 000002
【特許請求の範囲】
【請求項１】
複数の短期鍵を有するセンタ装置と、それら複数の短期鍵の一部をそれぞれ有する複数の利用者装置から構成され、センタ装置は視聴権を有する利用者装置のみが有する短期鍵を用いてコンテンツを暗号化して利用者装置に向けて放送し、視聴権を有する利用者装置は自身が有する短期鍵の何れかを用いて暗号化されたコンテンツを復号化する放送型暗号システムにおいて、
センタ装置は、
上記複数の短期鍵と、利用者装置ごとの長期鍵のすべてと記憶する第一記憶手段と、
生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を用いて、第一記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、
第一記憶手段から読み込んだ何れかの長期鍵を用いて、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を暗号化して、暗号情報を生成する短期鍵暗号化手段と、
上記暗号情報を利用者装置に向けて放送する放送手段と、
を備え、
利用者装置は、
上記複数の短期鍵の一部と、その利用者装置の長期鍵を記憶する第二記憶手段と、
上記暗号情報を受信する受信手段と、
第二記憶手段から読み出した長期鍵を用いて、上記受信した暗号情報を復号化して、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する短期鍵復号化手段と、
上記復号化して生成された新しい短期鍵又は新しい短期鍵に関する情報を用いて、第二記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、
を備える、
ことを特徴とする不正者追跡可能な放送型暗号システム。
【請求項２】
請求項１に記載の不正者追跡可能な放送型暗号システムにおいて、
上記短期鍵暗号化手段は、
第一記憶手段から読み込んだ、上記新しい短期鍵を有するべき利用者装置の中の少なくとも１つの利用者装置の長期鍵でそれぞれ、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を暗号化して、第一の暗号情報を生成する第一暗号化手段と、
第一記憶手段から読み込んだ、上記少なくとも１つの利用者装置以外の上記新しい短期鍵を有するべき利用者装置のみが有する短期鍵を用いて、上記生成された新しい短期鍵又生成された新しい短期鍵に関する情報を暗号化して、第二の暗号情報を生成する第二暗号化手段と、
であり、
上記放送手段は、上記第一の暗号情報と第二の暗号情報を利用者装置に向けて放送する手段であり、
上記第一の暗号情報と第二の暗号情報を受信する手段であり、
上記短期鍵復号化手段は、
その利用者装置が上記少なくとも１つの利用者装置である場合には、第二記憶手段から読み出した長期鍵を用いて、上記第一の暗号情報を復号化して、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する第一復号化手段と、
その利用者装置が上記少なくとも１つの利用者装置以外の上記新しい短期鍵を有するべき利用者装置である場合には、第二記憶手段から読み出した何れかの短期鍵を用いて、上記第二の暗号情報を復号化して、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する第二復号化手段と、
である、
ことを特徴とする不正者追跡可能な放送型暗号システム。
【請求項３】
請求項１に記載の不正者追跡可能な放送型暗号システムにおいて、
階層を持った複数のノードから構成される木の各葉は、上記複数の利用者装置の何れかにそれぞれ対応付けられており、上記複数の短期鍵は各葉の葉短期鍵と各ノードのノード短期鍵から構成され、各利用者装置には、その利用者装置に対応する葉から木のルートノードに至るパス上にある各ノードのノード短期鍵とその葉の葉短期鍵が割り当てられており、
上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報は、生成された新しい葉短期鍵であり、
センタ装置は、さらに、
上記生成された新しい葉短期鍵を元にして、葉を含む子ノードの短期鍵を互いに関連付けて親ノードの短期鍵を生成する動作を繰り返すことにより、上記新しい葉短期鍵を除く、上記新しい葉短期鍵の葉からルートノードに至るまでのパス上にある各ノードの新しいノード短期鍵を生成して、第一記憶部に記憶されたノード短期鍵を更新するノード短期鍵更新情報生成手段、
を有し、
上記短期鍵暗号化手段は、
上記生成された新しい葉短期鍵に関する情報を、第一記憶手段から読み込んだ、上記新しい葉短期鍵の葉に対応する利用者装置の長期鍵を用いて暗号化し第一の暗号情報を生成する葉短期鍵暗号化手段と、
上記生成された新しい葉短期鍵から、その新しい葉短期鍵に関連する情報を生成するとともに、上記新しいノード短期鍵から、その新しいノード短期鍵に関連する情報を生成する関連情報生成手段と、
上記生成された新しい葉短期鍵に関連する情報を、第一記憶手段から読み込んだ、その新しい葉の兄弟ノードである葉の葉短期鍵で暗号化するとともに、上記新しいノード短期鍵のうちルートノード以外のノードのノード短期鍵に関連する情報をそれぞれ、第一記憶手段から読み込んだ、そのルートノード以外のノードの兄弟ノードのノード短期鍵を用いて暗号化して、第二の暗号情報を生成するノード短期鍵暗号化手段と、
であり、
上記放送手段は、上記第一の暗号情報と第二の暗号情報を利用者装置に向けて放送する手段であり、
上記受信手段は、上記第一の暗号情報と第二の暗号情報を受信する手段であり、
上記短期鍵復号化手段は、
その利用者装置が、上記新しい葉短期鍵の葉に対応する利用者装置である場合には、第二記憶手段から読み出した長期鍵を用いて、上記受信した第一の暗号情報を復号化して、上記生成された新しい葉短期鍵を生成する葉短期鍵復号化手段と、
その利用者装置が、上記新しい葉短期鍵の葉の兄弟ノードである葉に対応する利用者装置である場合には、第二記憶手段から読み出した、その兄弟ノードである葉の葉短期鍵を用いて、上記第二の暗号情報を復号化して、上記生成された新しい葉短期鍵に関連する情報を生成するとともに、上記新しいノード短期鍵のノードの兄弟ノードを、その利用者装置に対応する葉からルートノードに至るパス上に含む場合には、第二記憶手段から読み出した、その兄弟ノード短期鍵を用いて、上記第二の情報を復号化して、上記生成された新しいノード短期鍵に関連する情報を生成するノード短期鍵復号化手段と、
であり、
上記短期鍵更新手段は、上記復号化して生成された新しい葉短期鍵を用いて、第二記憶手段に記憶された短期鍵を更新する手段であり、
利用者装置は、さらに、
上記葉を含む子ノードの短期鍵に関連する情報と、第二記憶手段から読み込んだ、既に保有するその親ノードのノード短期鍵から生成されるその子ノードの兄弟ノードの短期鍵に関連する情報とを用いて、子ノードの短期鍵を関連付けた親ノードの短期鍵を生成する動作を繰り返すことにより、第二記憶手段に記憶された、自身が有するべき新たな短期鍵を更新するノード短期鍵生成手段、
を有することを特徴とする不正者追跡可能な放送型暗号システム。
【請求項４】
請求項１から３の何れかに記載の不正者追跡可能な放送型暗号システムにおいて、
センタ装置は、さらに、
利用者装置ごとの長期鍵を、利用者装置ごとの新しい長期鍵に更新する長期鍵更新手段を備える、
ことを特徴とする不正者追跡可能な放送型暗号システム。
【請求項５】
請求項１から４の何れかに記載の不正者追跡可能な放送用暗号システムにおいて、
センタ装置は、さらに、
新たな短期鍵を生成する短期鍵生成手段を備える、
ことを特徴とする不正者追跡可能な放送用暗号システム。
【請求項６】
請求項１又は２に記載の不正者追跡可能な放送用暗号システムにおいて、
さらに、自身の秘密鍵に対応した公開鍵を、上記新しい短期鍵として生成する短期鍵生成装置を備える、
ことを特徴とする不正者追跡可能な放送型暗号システム。
【請求項７】
複数の短期鍵を有するセンタ装置と、それら複数の短期鍵の一部をそれぞれ有する複数の利用者装置から構成され、センタ装置は視聴権を有する利用者装置のみが有する短期鍵を用いてコンテンツを暗号化して利用者装置に向けて放送し、視聴権を有する利用者装置は自身が有する短期鍵の何れかを用いて暗号化されたコンテンツを復号化する放送型暗号システムに用いられるセンタ装置において、
上記センタ装置は、
上記複数の短期鍵と、利用者装置ごとの長期鍵のすべてと記憶する第一記憶手段と、
生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を用いて、第一記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、
第一記憶手段から読み込んだ何れかの長期鍵を用いて、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を暗号化して、暗号情報を生成する短期鍵暗号化手段と、
上記暗号情報を利用者装置に向けて放送する放送手段と、
を備える
ことを特徴とするセンタ装置。
【請求項８】
請求項７に記載のセンタ装置において、
上記短期鍵暗号化手段は、
第一記憶手段から読み込んだ、上記新しい短期鍵を有するべき利用者装置の中の少なくとも１つの利用者装置の長期鍵でそれぞれ、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を暗号化して、第一の暗号情報を生成する第一暗号化手段と、
第一記憶手段から読み込んだ、上記少なくとも１つの利用者装置以外の上記新しい短期鍵を有するべき利用者装置のみが有する短期鍵を用いて、上記生成された新しい短期鍵又生成された新しい短期鍵に関する情報を暗号化して、第二の暗号情報を生成する第二暗号化手段と、
であり、
上記放送手段は、上記第一の暗号情報と第二の暗号情報を利用者装置に向けて放送する手段であり、
ことを特徴とするセンタ装置。
【請求項９】
請求項７に記載のセンタ装置において、
上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報は、生成された新しい葉短期鍵であり、
センタ装置は、さらに、
上記生成された新しい葉短期鍵を元にして、葉を含む子ノードの短期鍵を互いに関連付けて親ノードの短期鍵を生成する動作を繰り返すことにより、上記新しい葉短期鍵を除く、上記新しい葉短期鍵の葉からルートノードに至るまでのパス上にある各ノードの新しいノード短期鍵を生成して、第一記憶部に記憶されたノード短期鍵を更新するノード短期鍵更新情報生成手段、
を有し、
上記短期鍵暗号化手段は、
上記生成された新しい葉短期鍵に関する情報を、第一記憶手段から読み込んだ、上記新しい葉短期鍵の葉に対応する利用者装置の長期鍵を用いて暗号化し第一の暗号情報を生成する葉短期鍵暗号化手段と、
上記生成された新しい葉短期鍵から、上記生成された新しい葉短期鍵に関連する情報を生成するとともに、上記新しいノード短期鍵から、上記新しいノード短期鍵に関連する情報を生成する関連情報生成手段と、
上記生成された新しい葉短期鍵に関連する情報を、第一記憶手段から読み込んだ、その新しい葉の兄弟ノードである葉の葉短期鍵で暗号化するとともに、上記新しいノード短期鍵のうちルートノード以外のノードのノード短期鍵に関連する情報をそれぞれ、第一記憶手段から読み込んだ、そのルートノード以外のノードの兄弟ノードのノード短期鍵を用いて暗号化して、第二の暗号情報を生成するノード短期鍵暗号化手段と、
であり、
上記放送手段は、上記第一の暗号情報と第二の暗号情報を利用者装置に向けて放送する手段である、
ことを特徴とするセンタ装置。
【請求項１０】
複数の短期鍵を有するセンタ装置と、それら複数の短期鍵の一部をそれぞれ有する複数の利用者装置から構成され、センタ装置は視聴権を有する利用者装置のみが有する短期鍵を用いてコンテンツを暗号化して利用者装置に向けて放送し、視聴権を有する利用者装置は自身が有する短期鍵の何れかを用いて暗号化されたコンテンツを復号化する放送型暗号システムに用いられる利用者装置において、
利用者装置は、
上記複数の短期鍵の一部と、その利用者装置の長期鍵を記憶する第二記憶手段と、
センタ装置が放送した暗号情報を受信する受信手段と、
第二記憶手段から読み出した長期鍵を用いて、上記受信した暗号情報を復号化して、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する短期鍵復号化手段と、
上記復号化して生成された新しい短期鍵又は新しい短期鍵に関する情報を用いて、第二記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、
を備える、
ことを特徴とする利用者装置。
【請求項１１】
請求項１０に記載の利用者装置において、
上記受信手段は、センタ装置から上記第一の暗号情報と第二の暗号情報を受信する手段であり、
上記短期鍵復号化手段は、
その利用者装置が上記少なくとも１つの利用者装置である場合には、第二記憶手段から読み出した長期鍵を用いて、上記第一の暗号情報を復号化して、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する第一復号化手段と、
その利用者装置が上記少なくとも１つの利用者装置以外の上記新しい短期鍵を有するべき利用者装置である場合には、第二記憶手段から読み出した何れかの短期鍵を用いて、上記第二の暗号情報を復号化して、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する第二復号化手段と、
である、
ことを特徴とする利用者装置。
【請求項１２】
請求項１０に記載の利用者装置において、
上記受信手段は、センタ装置から上記第一の暗号情報と第二の暗号情報を受信する手段であり、
上記短期鍵復号化手段は、
その利用者装置が、上記新しい葉短期鍵の葉に対応する利用者装置である場合には、第二記憶手段から読み出した長期鍵を用いて、上記受信した第一の暗号情報を復号化して、上記生成された新しい葉短期鍵を生成する葉短期鍵復号化手段と、
その利用者装置が、上記新しい葉短期鍵の葉の兄弟ノードである葉に対応する利用者装置である場合には、第二記憶手段から読み出した、その兄弟ノードである葉の葉短期鍵を用いて、上記第二の暗号情報を復号化して、上記生成された新しい葉短期鍵に関連する情報を生成するとともに、上記新しいノード短期鍵のノードの兄弟ノードを、その利用者装置に対応する葉からルートノードに至るパス上に含む場合には、第二記憶手段から読み出した、その兄弟ノード短期鍵を用いて、上記第二の情報を復号化して、上記生成された新しいノード短期鍵に関連する情報を生成するノード短期鍵復号化手段と、
であり、
上記短期鍵更新手段は、上記復号化して生成された新しい葉短期鍵を用いて、第二記憶手段に記憶された短期鍵を更新する手段であり、
利用者装置は、さらに、
上記葉を含む子ノードの短期鍵に関連する情報と、第二記憶手段から読み込んだ、既に保有するその親ノードのノード短期鍵から生成されるその子ノードの兄弟ノードの短期鍵に関連する情報とを用いて、子ノードの短期鍵を関連付けた親ノードの短期鍵を生成する動作を繰り返すことにより、第二記憶手段に記憶された、自身が有するべき新たな短期鍵を更新するノード短期鍵生成手段、
を有することを特徴とする利用者装置。
【請求項１３】
請求項７から９の何れかに記載のセンタ装置としてコンピュータを機能させるためのセンタ装置プログラム。
【請求項１４】
請求項１３に記載のセンタ装置プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１５】
請求項１０から１２の何れかに記載の利用者装置としてコンピュータを機能させるための利用者装置プログラム。
【請求項１６】
請求項１５に記載の利用者装置プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報セキュリティ技術の応用分野に関するものであり、例えばデジタル放送や有線放送において、視聴権を有する利用者装置にのみ視聴可能にする放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体に関する。
【背景技術】
【０００２】
従来、複数の短期鍵を有するセンタ装置と、それら複数の短期鍵の一部をそれぞれ有する複数の利用者装置から構成され、センタ装置は視聴権を有する利用者装置のみが有する短期鍵を用いてコンテンツを暗号化して利用者装置に向けて放送し、視聴権を有する利用者装置は自身が有する短期鍵の何れかを用いて暗号化されたコンテンツを復号化する放送型暗号システムがあった（例えば、非特許文献１参照）。
【非特許文献１】Dalit Naor, Moni Naor, Jeffery Lotspiech, ”Revocation and Tracing Schemes for Stateless Receivers”, CRYPTO, 2001, p.41-62
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、背景技術における放送型暗号システムにおいては、各短期鍵が複数の利用者装置に共有されている場合があり、この場合には、海賊版利用者装置にある短期鍵が含まれていても、その短期鍵の漏洩元である利用者装置、すなわち不正者である利用者装置を追跡できないという問題があった。
【０００４】
本発明は、斯かる実情に鑑み、不正者である利用者装置を追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体を提供しようとするものである。
【課題を解決するための手段】
【０００５】
本発明によれば、複数の短期鍵を有するセンタ装置と、それら複数の短期鍵の一部をそれぞれ有する複数の利用者装置から構成され、センタ装置は視聴権を有する利用者装置のみが有する短期鍵を用いてコンテンツを暗号化して利用者装置に向けて放送し、視聴権を有する利用者装置は自身が有する短期鍵の何れかを用いて暗号化されたコンテンツを復号化する放送型暗号システムにおいて、センタ装置は、上記複数の短期鍵と、利用者装置ごとの長期鍵のすべてと記憶する第一記憶手段と、生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を用いて、第一記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、第一記憶手段から読み込んだ何れかの長期鍵を用いて、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を暗号化して、暗号情報を生成する短期鍵暗号化手段と、上記暗号情報を利用者装置に向けて放送する放送手段と、を備える。利用者装置は、上記複数の短期鍵の一部と、その利用者装置の長期鍵を記憶する第二記憶手段と、上記暗号情報を受信する受信手段と、第二記憶手段から読み出した長期鍵を用いて、上記受信した暗号情報を復号化して、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する短期鍵復号化手段と、上記復号化して生成された新しい短期鍵又は新しい短期鍵に関する情報を用いて、第二記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、を備える。
【発明の効果】
【０００６】
本発明の不正者可能な放送型暗号システム、そのセンタ装置及び利用者装置によれば、自身が有するべきすべての短期鍵を更新することができる海賊版利用者装置が現れた場合、その装置中に含まれる長期鍵を調べることにより、不正者である利用者装置を追跡し得る。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施形態を添付図面を参照して説明する。
図１に示すように、本発明による不正者追跡可能な放送型暗号システムは、コンテンツを暗号化してブロードキャスト（放送）するセンタ装置１と、通信網４を介して暗号化されたコンテンツを復号化する利用者装置２１〜２Ｎから構成される。
【０００８】
［第１実施形態］
放送型暗号方式の一種であるＳｕｂｓｅｔ  Ｃｏｖｅｒ法を基礎とした本発明による第１実施形態による不正者追跡可能な放送型暗号システム１０００について説明をする。
【０００９】
〔理論〕
まず、第１実施形態による不正者追跡可能な放送型暗号システムの理論的背景について説明をする。
【００１０】
Ｎ＝｛０，１，…，ｎ−１｝を利用者装置の集合とする。Ｎの部分集合Ｓは、［φ，（０），（１），…，（０，１，…，ｎ−１）］のように、２ｎ個存在する。それらのＮの部分集合Ｓの集合をΣとする。Ｓｕｂｓｅｔ  Ｃｏｖｅｒ法は、Ｎの部分集合の集合Σ、鍵生成アルゴリズムＧｅｎ、暗号化アルゴリズムＥｎｃ、復号化アルゴリズムＤｅｃから構成される。
【００１１】
例えば、Ｎ＝｛０，１，２｝である場合、Ｎの部分集合Ｓは、［φ，（０），（１），（２），（０１），（１２），（２１），（１２３）］の８（＝２３個）ある。ここで、φは空集合である。Ｎの部分集合Ｓの任意の集合Σを、例えば、Σ＝［（０），（２），（０１），（０１２）］とする。
【００１２】
短期鍵生成
センタ装置は、鍵長ｌ（ｌは任意の自然数）から鍵生成アルゴリズムＧｅｎを用いて、集合Σに含まれるＮの部分集合Ｓごとに、短期鍵ｋＳを生成する。｛ｋＳ：Ｓ∈Σ｝←Ｇｅｎ（ｌ）。そして、集合Σに含まれるＮの部分集合Ｓのうち、利用者装置ｉを含むすべての部分集合Ｓの短期鍵｛ｋＳ：ｉ∈Ｓ∈Σ｝を、その利用者装置ｉに安全な通信路を経由して配布する。
【００１３】
上記のＮ＝｛０，１，２｝の場合には、集合Σに含まれる４つの、Ｎの部分集合［（０），（２），（０１），（０１２）］ごとに、短期鍵ｋ（０），ｋ（２），ｋ（０１），ｋ（０１２）がそれぞれ生成される。この場合、利用者装置０には、その利用者装置０を含む部分集合の短期鍵であるｋ（０），ｋ（０１），ｋ（０１２）が送られる。利用者装置１には、その利用者装置１を含む部分集合の短期鍵であるｋ（０１），ｋ（０１２）が送られる。利用者装置２には、その利用者装置２を含む部分集合の短期鍵であるｋ（２），ｋ（０１２）が送られる。
【００１４】
長期鍵生成
センタ装置は、利用者装置ｉ（ｉ＝０，…，ｎ）ごとに、例えば、長期鍵Ｋｉ∈｛０，１｝ｌを生成する。そして、安全な通信路を経由して、各利用者装置ｉに対応する長期鍵Ｋｉを配布する。
【００１５】
暗号化
ここで、視聴権を有する利用者装置の集合をＡとする。センタ装置は、集合Σに含まれる、Ｎの部分集合Ｓのうち、集合Ａのみを覆う部分集合Ｓの組を選択する。このような集合Ａのみを覆う部分集合Ｓの組は複数存在する。センタ装置は、複数存在する組の中から１つの組Ωを選択する。例えば、複数存在する組のうち、その組に含まれる、Ｎの部分集合Ｓの数が最小であるもの選択することにより、組Ωを選択する。そして、その組Ωに含まれる、Ｎの部分集合Ｓ∈Σごとに、その短期鍵ｋＳを用いて、コンテンツｍを暗号化して暗号文ｃを生成する。ｃ←Ｅｎｃ（｛ｋＳ：Ｓ∈Σ｝，Ａ，ｍ）。生成した暗号文ｃは、各利用者装置にブロードキャスト（放送）される。
【００１６】
上記のＮ＝｛０，１，２｝のときであり、集合Ａ＝｛０，１，２｝の場合を考える。この場合、集合Ａのみを覆う部分集合の組はそれぞれ［（２），（０１）］と、［（０１２）］である。［（２），（０１）］は、Ｎの部分集合Ｓの数が２であるのに対して、［（０１２）］は、Ｎの部分集合Ｓの数が１である。このため、例えば、［（０１２）］を組Ωとすることができる。この場合、コンテンツｍは、ｋ（０１２）を用いて暗号化される。
【００１７】
復号化
利用者装置ｉ（ｉ＝１，…，ｎ−１）は、自身が有する短期鍵の何れかを用いて、暗号文ｃを復号化する。ｍ←Ｄｅｃ（｛ｋＳ：ｉ∈Ｓ∈Σ｝，ｉ，ｃ）。利用者装置ｉ∈Ａの場合、すなわち、利用者装置ｉが視聴権を有する場合には、暗号文ｃの少なくとも１つは、利用者装置ｉを含む部分集合Ｓの短期鍵ｋＳで暗号化されている。このため、利用者装置ｉ∈Ａは、暗号文ｃを復号化して、コンテンツｍを視聴することができる。すなわち、Ｄｅｃ（｛ｋＳ：ｉ∈Ｓ∈Σ｝，ｉ，Ｅｎｃ（｛ｋＳ：Ｓ∈Σ｝，Ａ，ｍ））＝ｍが成立する。
【００１８】
一方、利用者装置ｉ∈Ａでない場合、すなわち、利用者装置ｉが視聴権を有しない場合には、すべての暗号文は、その利用者装置ｉが有する短期鍵ｋＳでは暗号化されていない。このため、視聴権を有しない利用者装置は、暗号文ｃを復号することはできず、コンテンツｍを視聴することができない。
【００１９】
短期鍵更新
センタ装置は、鍵生成アルゴリズムＧｅｎを用いて、利用者装置ｉが有するべき新しい短期鍵ｋＳ’を生成して、短期鍵ｋＳを更新する。
センタ装置は、利用者装置ｉの長期鍵Ｋｉを用いて、その新たな短期鍵ｋＳ’を暗号化してＥＫｉ（｛ｋＳ’：ｉ∈Ｓ∈Σ｝）、それを第一の暗号情報として各利用者装置にブロードキャストする。
【００２０】
また、センタ装置は、その短期鍵ｋＳ’を有するべき他の利用者装置Ｓ−｛ｉ｝に対して、その短期鍵ｋＳ’を暗号化してｃ←Ｅｎｃ（｛ｋＳ：Ｓ∈Σ｝，Ｓ−｛ｉ｝，ｋＳ’）、その暗号文ｃを各利用者装置にブロードキャストする。換言すると、上記したコンテンツｍの暗号化と同様の方法を用いて、利用者装置Ｓ−｛ｉ｝のみに復号化が可能なように短期鍵ｋＳ’を各利用者装置にブロードキャストする。すなわち、センタ装置は、利用者装置Ｓ−｛ｉ｝を覆う、集合Σに含まれる、Ｎの部分集合Ｓのある組Ωに属する部分集合の短期鍵ｋＳを用いて、新たな短期鍵ｋＳ’を暗号化して、第二の暗号情報としてブロードキャストする。
【００２１】
利用者装置ｉは、上記暗号化された新たな短期鍵ｋＳ’、すなわちＥＫｉ（｛ｋＳ’：ｉ∈Ｓ∈Σ｝）を、自身の長期鍵Ｋｉを用いて復号化して、新たな短期鍵ｋＳ’を得る。
利用者装置ｉ以外の利用者装置Ｓ−｛ｉ｝は、上記暗号文ｃを、自身が有する短期鍵ｋＳを用いて復号化して、新たな短期鍵ｋＳ’を得る。
【００２２】
不正者追跡
ある利用者装置ｉを元にして海賊版利用者装置ｉ＄が生成されたとする。
自身が有するべき短期鍵を常に更新することができ、永続的に視聴可能である悪質な海賊版利用者装置ｉ＄には、元になった利用者装置ｉの長期鍵Ｋｉが必ず含まれている。利用者装置ｉの長期鍵Ｋｉを有しない海賊版利用者装置ｉ＄は、少なくとも、第一暗号情報を復号することができないため、常には短期鍵を更新することはできないためである。また、長期鍵Ｋｉと利用者装置ｉは、一対一の関係を有する。
【００２３】
このため、自身が有するべき短期鍵を常に更新することができ、永続的に視聴可能である悪質な海賊版利用者装置ｉ＄が現れた場合、その中に含まれる長期鍵Ｋｉを調べれば、不正者である利用者装置ｉ、換言すると、鍵の漏洩元となった利用者装置ｉを突き止めることができる。
【００２４】
長期鍵更新
利用者装置ｉが不正者であることが判明した場合には、センタ装置は、利用者装置ｉの長期鍵Ｋｉの代わりに、新しい長期鍵Ｋｉ＊を生成して、新しい利用者装置ｉ＊に渡す。そしてその後、センタ装置は、長期鍵Ｋｉではなく、新しい長期鍵Ｋｉ＊を用いて、短期鍵を更新する。これにより、長期鍵Ｋｉを有する不正者である利用者装置ｉ及びこの利用者装置ｉから派生した海賊版利用者装置は、短期鍵を更新することができなくなり、視聴不可能となる。
〔機能構成〕
図２に、センタ装置１’の機能構成を例示する。センタ装置１’は、図１に示したセンタ装置１と同じである。また、図３に、利用者装置２の機能構成を例示する。利用者装置２は、図１に示した利用者装置２１〜２Ｎと同じである。
【００２５】
センタ装置１
この例では、センタ装置１’（図２）は、短期鍵生成部１０、記憶部１１（特許請求の範囲における第一記憶手段に想到。）、コンテンツ暗号化部１２、放送部１３、短期鍵更新情報生成部１４、短期鍵更新部１５、短期鍵暗号化部１６、長期鍵生成部１７、長期鍵更新部１８を備える。図示していないが、記憶部１１は、センタ装置１’の各部とデータの読み書きが可能なように接続されている。
【００２６】
長期鍵生成部１７は、利用者装置ごとに長期鍵Ｋｉを生成する。生成された長期鍵Ｋｉは、短期鍵暗号化部１６に送られるとともに、記憶部２８に格納される。また、安全な通路を経由して、利用者装置２’の記憶部２３に格納される。
【００２７】
短期鍵生成部１０は、鍵生成アルゴリズムＧｅｎを用いて、集合Σに含まれるＮの部分集合Ｓごとに短期鍵ｋＳを生成する。生成された短期鍵ｋＳは、記憶部１１に格納されるとともに、コンテンツ暗号化部１２に送られる。短期鍵生成部１０内の短期鍵情報生成部１０１が、短期鍵ｋＳの情報ｒを生成して、任意のハッシュ関数Ｈを用いて、Ｈ（ｒ）により短期鍵ｋＳを生成してもよい。
【００２８】
コンテンツ暗号化部１２は、所定の暗号化アルゴリズムＥｎｃを用いて、予め記憶部１１に格納されたコンテンツｍを読み込み、そのコンテンツｍを短期鍵ｋＳごとに暗号化し、暗号文ｃを生成して、放送部１３に送る。例えば、コンテンツｍを予め記憶部１１に格納されたセッション鍵ｓｋを用いて暗号化する。そして、セッション鍵ｓｋを短期鍵ｋＳごとに暗号化する。この場合、暗号文ｃは、セッション鍵ｓｋにより暗号化されたコンテンツｍと、短期鍵ｋＳごとに暗号化されたセッション鍵ｓｋである。
【００２９】
放送部１３は、コンテンツ暗号化部１２が生成したコンテンツ暗号情報ｃをブロードキャストする。すなわち、各利用者装置に放送する。また、後述するように、放送部１３は、短期鍵暗号化部１６の第一暗号化部１６１と第二暗号化部１６２がそれぞれ生成した第一の暗号情報、第二の暗号情報等も併せて利用者装置に放送する。
【００３０】
短期鍵更新情報生成部１４は、鍵生成アルゴリズムＧｅｎを用いて、集合Σに含まれるＮの部分集合Ｓごとに新しい短期鍵ｋＳ’を生成する。新しい短期鍵ｋＳ’は、短期鍵更新部１５に送られるとともに、短期鍵暗号化部１６に送られる。例えば、短期鍵更新情報生成部１４の短期鍵情報生成部１４１が、新しい短期鍵ｋＳ’に関する情報ｒを生成する。短期鍵更新情報生成部１４は、その情報ｒを用いて例えば任意のハッシュ関数Ｈを用いて、ｋＳ’＝Ｈ（ｒ）により新しい短期鍵ｋＳ’を生成する。
【００３１】
短期鍵暗号化部１６の第一暗号化部１６１は、例えば、短期鍵ｋＳ’を有するべき利用者装置の中の１つの利用者装置ｉの長期鍵Ｋｉを用いて、その短期鍵ｋＳ’を暗号化し、第一の暗号情報を生成して、放送部１３に送る。
【００３２】
短期鍵暗号化部１６の第二暗号化部１６２は、例えば、上記利用者装置の中の１つの利用者装置ｉ以外の利用者装置Ｓ−｛ｉ｝のみが有する短期鍵を用いて、その短期鍵ｋＳ’を暗号化し、第二の暗号情報を生成して、放送部１３に送る。
【００３３】
なお、短期鍵ｋＳ’を有するべき利用者装置の中の少なくとも１つの利用者装置ｉの長期鍵Ｋｉを用いて、その長期鍵Ｋｉごとにその短期鍵ｋＳ’を暗号化してもよい。これにより、長期鍵Ｋｉを有しているか否かを問うことができる利用者装置の数、すなわち、その利用者装置が海賊版利用者装置であるか否かを問うことにより無効化することができる利用者装置の数を増やすことができる。この場合には、第二暗号化部１６２は、その少なくとも１つの利用者装置以外の利用者装置のみが有する短期鍵ｋＳを用いて、新しい短期鍵ｋＳ’を暗号化して第二の暗号情報を生成する。
【００３４】
短期鍵更新部１５は、新しく生成された短期鍵ｋＳ’を用いて、記憶部１１に格納された短期鍵を、更新前の短期鍵ｋＳから新しい短期鍵ｋＳ’に更新する。
短期鍵更新情報生成部１４は、新しい短期鍵ｋＳ’自体ではなく、短期鍵情報生成部１４１が生成した新しい短期鍵ｋＳ’に関する情報ｒを、短期鍵暗号化部１６の送ってもよい。この場合、短期鍵暗号化部１６の第一暗号化部１６１は、その情報ｒに関する短期鍵ｋＳ’を有するべき利用者装置の中の少なくとも１つの利用者装置ｉの長期鍵Ｋｉを用いて、その情報ｒを暗号化し、第一の暗号情報を生成して、放送部１３に送る。また、第二暗号化部１６２は、上記少なくとも１つの利用者装置ｉ以外のその情報ｒに関する短期鍵ｋＳ’を有するべき利用者装置のみが有する短期鍵ｋＳを用いて、情報ｒを暗号化し、第二の暗号情報を生成して、放送部１３に送る。
【００３５】
ある利用者装置ｉが不正者であることが判明した場合には、長期鍵更新部１８は、新しい長期鍵Ｋｉ’を生成して、長期鍵Ｋｉ’を更新する。更新された長期鍵Ｋｉ’は、安全な経路を通じて、その利用者装置ｉ以外の正当な権限を有する利用者に渡される。
【００３６】
利用者装置
図３に例示するように、利用者装置２’は、受信部２１、短期鍵復号化部２２、記憶部２３（特許請求の範囲における第二記憶手段に相当。）、コンテンツ復号化部２４、短期鍵更新部２５を備える。図示していないが記憶部２３は、利用者装置２’の各部とデータの読み書きが可能なように接続されている。
【００３７】
受信部２１は、センタ装置１’が放送した暗号文ｃと第一の暗号情報と第二の暗号情報等を受信する。第一の暗号情報と第二の暗号情報は、短期鍵復号化部２２に送られる。暗号文ｃは、コンテンツ復号化部２４に送られる。
【００３８】
コンテンツ復号化部２４は、暗号文ｃを、所定の復号化アルゴリズムＤｅｃを用いて、復号化して、コンテンツｍを復号化する。例えば、記憶部２３から読み込んだ何れかの短期鍵ｋＳ’を用いて、暗号文ｃに含まれる暗号化されたセッション鍵ｓｋを復号化してセッション鍵ｓｋを得る。そして、暗号文ｃに含まれる暗号化されたコンテンツｍを、その復号化されたセッション鍵ｓｋを用いて復号化してコンテンツｍを得る。
【００３９】
短期鍵復号化部２２の第一復号化部２２１は、利用者装置２’が、上記利用者装置の中の１つの利用者装置ｉ又は上記利用者装置の中の少なくとも１つの利用者装置ｉである場合には、記憶部２３から読み出した長期鍵Ｋｉを用いて、第一の暗号情報を復号化して、新しい短期鍵ｋＳ’を生成する。新しい短期鍵ｋＳ’は、短期鍵更新部２５に送られる。
【００４０】
第二復号化部２２２は、利用者装置２’が、上記利用者装置の中の１つの利用者装置ｉ又は上記利用者装置の中の少なくとも１つの利用者装置ｉでない場合には、記憶部２３から読み出した何れかの短期鍵ｋＳを用いて、第二の暗号情報を復号化して、新しい短期鍵ｋＳ’を得る。新しい短期鍵ｋＳ’は、短期鍵更新部２５に送られる。
【００４１】
短期鍵更新部２５は、新しい短期鍵ｋＳ’で、記憶部２３に既に記憶されている短期鍵ｋＳを更新する。短期鍵の更新後は、コンテンツ復号化部２４は、新しい短期鍵ｋＳ’を用いてコンテンツｍの復号化を行う。
【００４２】
第一の暗号情報又は第二の暗号情報が、新しい短期鍵ｋＳ’ではなく、その新しい短期鍵ｋＳ’に関する情報ｒを暗号化したものである場合には、短期鍵復号化部２２の第一復号化部２２１と第二復号化部２２２はそれぞれ、新しい短期鍵ｋＳ’を復号化したのと同様の方法で情報ｒを復号化して、短期鍵更新部２５に送る。
【００４３】
［第２実施形態］
放送型暗号方式の一種であるＣＳ（Complete Subtree）法を基礎とした本発明による第２実施形態による不正者追跡可能な放送型暗号システムについて説明をする。
【００４４】
〔理論〕
まず、第２実施形態による不正者追跡可能な放送型暗号システムの理論背景について説明をする。
【００４５】
利用者装置ｉ（ｉ＝０，…，ｎ−１）の総数をｎ＝２ｄとする。ｄは任意の自然数である。利用者装置ｉの集合をＮとする。木Ｔは、この例では、ｎ個の葉を持つ２分木とする。ここで、葉とは、子ノードを有しないノードのことである。このため、以下、葉を含む概念としてノードという言葉を用いる場合がある点に留意する。
【００４６】
木Ｔのルートノードに空の文字列φ∈｛０，１｝０を割り当てる。そして、あるノードに文字列ｓ∈｛０，１｝ｊが割り当てられているとすると、そのノードの左の子ノードに文字列ｓ｜０∈｛０，１｝ｊ＋１、そのノードの右のノードに文字列ｓ｜１∈｛０，１｝ｊ＋１を割り当てる。ここで、「ａ｜ｂ」は、ａとｂのビット結合を意味する。このようにして、親ノードに割り当てられた文字列からその子ノードに割り当てる文字列を決める作業を繰り返すことにより、葉を含むすべてのノードに０と１のビット列を割り当てる。
【００４７】
利用者装置ｉ（ｉ＝０，…，ｎ−１）を、葉に対応させる。例えば、利用者装置ｉに与えられた１０進数の数ｉを２進数表記したときのビット列が割り当てられた葉に、その利用者装置ｉを対応させる。このように、葉に利用者装置を割り当てた場合、利用者装置０は、０を２進数表記すると００…０となるため、一番左の葉に対応することになる。以下では、利用者装置ｉが対応する葉を葉ｉと呼ぶ。
【００４８】
短期鍵生成
センタ装置は、葉ｉ（ｉ＝０，…，ｎ−１）ごとに、葉の短期鍵ｋｉ∈｛０，１｝２ｌを生成する。すなわち、葉の短期鍵ｋｉは、０と１をランダムに２ｌ個選択することにより生成された２ｌ個のビットからなるビット列である。ｌは、任意の自然数であり、本実施形態による不正者追跡可能な放送型暗号システムの安全性が保たれる程度に大きな数である。
【００４９】
センタ装置は、すべての葉ｉの短期鍵ｋｉから、すべてのノードの短期鍵ｋｓを生成する。例えば、ある親ノードの鍵ｋｓは、その左の子ノードの鍵ｋｓ｜０と、その右の子ノードの鍵ｋｓ｜１とを次のように関連付けることにより求める。ｋｓ＝Ｈ（ｋｓ｜０）｜Ｈ（ｋｓ｜１）。ここで、Ｈは、２ｌビットのビット列を、ｌビットのビット列に写像するハッシュ関数Ｈ：｛０，１｝２ｌ→｛０，１｝ｌである。
【００５０】
なお、葉の短期鍵ｋｉ∈｛０，１｝ｌを、ｌビットのビット列とし、ハッシュ関数Ｈ’を、ｌビットのビット列をｌビットのビット列に写像するハッシュ関数Ｈ’：｛０，１｝ｌ→｛０，１｝ｌであるとする。この場合、左の子ノードの鍵ｋｓ｜０と、その右の子ノードの鍵ｋｓ｜１とを、ｋｓ＝Ｈ（ｋｓ｜０）（＋）Ｈ（ｋｓ｜１）と関連付けることにより、それらの親ノードの鍵ｋｓを求めてもよい。ここで、（＋）は排他的論理和を意味する。
このように、子ノードの鍵を互いに関連させて、その親ノードの短期鍵を生成する作業を繰り返すことにより、すべての葉ｉの短期鍵ｋｉからすべてのノードの短期鍵ｋｓを生成する。
【００５１】
例えば、次のようにして、生成した葉の短期鍵ｋｉとノードの短期鍵ｋｓを、利用者装置ｉに割り当てる。利用者装置ｉに対応した葉ｉをノードｓｄとし、その葉ｉの短期鍵ｋｉをｋｓｄと表記する。また、ルートノードφを、ノードｓ０と表記する。このとき、利用者装置ｉには、その利用者装置ｉに対応した葉ｉからルートノードφに至るまでのパス上の各ノードｓｄ，ｓ（ｄ−１），…，ｓ１，ｓ０として、それらの短期鍵ｋｓｄ，ｋｓ（ｄ−１），…，ｋ１，ｋ０が割り当てられる。
【００５２】
例えば、図６において、利用者装置ｉ（ｉ＝２）には、その利用者装置２に対応する葉０１０（葉２）から、ルートノードφに至るまでのパス上の各ノードの短期鍵、すなわち、図６において射線で塗りつぶした葉とノードの短期鍵（ｋ０１０，ｋ０１，ｋ０，ｋφ）が割り当てられる。
【００５３】
センタ装置は、安全な通信路を経由して、各利用者装置ｉに、割り当てられた短期鍵の組｛ｋｓｄ，ｋｓ（ｄ−１），…，ｋｓ１，ｋｓ０｝を配布する。
【００５４】
長期鍵生成
センタ装置は、葉ｉ（ｉ＝０，…，ｎ−１）ごとに、例えば、長期鍵Ｋｉ∈｛０，１｝ｌを生成する。そして、安全な通信路を経由して、各利用者装置ｉに対応する長期鍵Ｋｉを配布する。
【００５５】
暗号化
視聴権を有する利用者装置の集合Ｒ⊂Ｎを考える。その視聴権を有する利用者装置の集合Ｒのみを覆う、木Ｔの部分木の組は複数存在する。これらの複数の部分木の組の中で、部分木の数が最も少ない部分木の組Ωを選択する。この部分木の組Ωの各部分木のルートノードを、ｓ１，…，ｓωとする。ここで、視聴権を有しない利用者装置の数をｒとすると、ω≦ｒｌｏｇ（ｎ／ｒ）である。
【００５６】
図７を用いて、視聴権を有する利用者装置の集合Ｒのみを覆う、木Ｔの部分木の組の中で、部分木の数が最も少ない部分木の組Ωの具体例を説明する。図７において、視聴権を有する利用者装置を太線で表す。視聴権を有する利用者装置は、ｉ＝００１以外の利用者装置、すなわち、ｉ＝０００，０１０，０１１，１００，１０１，１１０，１１１の利用者装置である。
【００５７】
この場合、図７において縦線で塗りつぶしたノード０，０１，０００が、視聴権を有する利用者装置のみを覆う、木Ｔの部分木の組である。また、図８において、縦線で塗りつぶしたノード０，０１，１０，１１も、視聴権を有する利用者装置のみを覆う、木Ｔの部分木の組である。このように、一般に、視聴権を有する利用者装置のみを覆う、木Ｔの部分木の組は複数ある。なお、図９において、ノード００は、視聴権を有しない利用者装置００１を覆っている。このため、図９において、縦線で塗りつぶしたノードの組００，０１，１は、視聴権を有する利用者装置のみを覆う、木Ｔの部分木の組ではない。
【００５８】
図８に示した部分木の組の部分木は、ノード０００，０１，１０，１１であり、４つある。一方、図７に示した部分木の組の部分木は、ノード１，０１，０００をルートノードとする部分木であり、３つある。図７，８に示した以外にも、視聴権を有する利用者装置のみを覆う、木Ｔの部分木の組は存在するが、図７の場合に部分木の組の部分木の数が最小となる。したがって、この図７に示した部分木の組が、部分木の数が最も少ない部分木の組Ωとなる。
【００５９】
センタ装置は、部分木の組Ωの各部分木のルートノードｓ１，…，ｓωの短期鍵ｋｓ１，…，ｋｓωを用いて、セッション鍵ｓｋを暗号化する。すなわち、短期鍵ｋｓ１，…，ｋｓωごとに、暗号化したセッション鍵Ｅｋｓ１（ｓｋ），…，Ｅｋｓω（ｓｋ）を生成する。また、コンテンツｍを、セッション鍵ｓｋで暗号化したものＥｓｋ（ｍ）を生成する。センタ装置は、部分木の組Ωの各部分木のルートノードの短期鍵で暗号化したＥｋｓ１（ｓｋ），…，Ｅｋｓω（ｓｋ）と、セッション鍵で暗号化したコンテンツＥｓｋ（ｍ）とを、各利用者装置ｉ（ｉ＝０，…，ｎ−１）にブロードキャストする。
【００６０】
復号化
視聴権を有する利用者装置ｉ∈Ｒは、部分木の組の各部分木のルートノードの短期鍵ｋｓ１，…，ｋｓωのうち、少なくとも１つの短期鍵を有している。その短期鍵を短期鍵ｋｓｔとする。視聴権を有する利用者装置ｉ∈Ｒは、自身の短期鍵ｓｔｋを用いて、暗号化されたセッション鍵Ｅｋｓ１（ｓｋ），…，Ｅｋｓω（ｓｋ）の何れか１つ又は少なくとも１つを復号化して、セッション鍵ｓｋを得る。そして、そのセッション鍵ｓｋを用いて、暗号化されたコンテンツＥｓｋ（ｍ）を復号化して、コンテンツｍを得る。
【００６１】
このようにして、センタ装置により暗号化されたコンテンツｍを利用者装置は視聴することができる。
【００６２】
短期鍵更新
センタ装置は、短期鍵を適宜更新する。センタ装置は、利用者装置ｉに対応する葉ｉの短期鍵ｋｉ’を新たに生成して、短期鍵ｋｉから短期鍵ｋｉ’に更新する。例えば、短期鍵ｋｉ’に関する情報ｒｉ’を生成して、その情報ｒｉ’と更新前の長期鍵Ｋｉとをハッシュ関数Ｈに入力することより、更新後の短期鍵ｋｉ’＝Ｈ（Ｋｉ，ｒｉ’）を求める。同時に、複数の利用者装置の短期鍵を更新してもよい。
【００６３】
そして、その更新された葉ｉの短期鍵ｋｉ’を用いて、その葉ｉから木Ｔのルートノードに至るまでのパス上にあるノードのうち葉ｉを除くノードｓ（ｄ−１），…，ｓ１，ｓ０の短期鍵ｋｓ（ｄ−１）’，…，ｋｓ１’，ｋｓ０’を新たに生成して、短期鍵ｋｓ（ｄ−１），…，ｋｓ１，ｋｓ０から短期鍵ｋｓ（ｄ−１）’，…，ｋｓ１’，ｋｓ０’に更新する。短期鍵ｋｓ（ｄ−１）’，…，ｋｓ１’，ｋｓ０’の生成の仕方は、短期鍵ｋｓ（ｄ−１），…，ｋｓ１，ｋｓ０の生成の仕方と同様である。すなわち、葉のノードを含む子ノードの鍵を互いに関連させて、その親ノードの短期鍵を生成する作業を繰り返すことにより、新たな短期鍵ｋｓ（ｄ−１）’，…，ｋｓ１’，ｋｓ０’を生成する。
【００６４】
センタ装置は、葉ｉの短期鍵を、その葉ｉに対応する利用者装置ｉの長期鍵Ｋｉを用いて暗号化したものＥＫｉ（ｋｉ’）を生成する。また、木Ｔのルートノードを除くノードｓｄ，…，ｓ１の短期鍵ｋｓｄ’，…，ｋｓ１’のハッシュ値Ｈ（ｋｓｄ’），…，Ｈ（ｋｓ１’）を、対応する兄弟ノードｓｄ♯，…，ｓ１♯の短期鍵ｋｓｄ♯，…，ｋｓ１♯を用いてそれぞれ暗号化したものＥｋｓｄ♯（Ｈ（ｋｓｄ’）），…，Ｅｋｓ１♯（Ｈ（ｋｓ１’））を生成する。そして、これら暗号化された［ＥＫｉ（ｋｉ’），Ｅｋｓｄ♯（Ｈ（ｋｓｄ’）），…，Ｅｋｓ１♯（Ｈ（ｋｓ１’））］を各利用者装置にブロードキャストする。
【００６５】
利用者装置ｉは、自身が有する長期鍵Ｋｉを用いて上記暗号化された短期鍵ＥＫｉ（ｋｉ’）を復号化して、新たな短期鍵ｋｉ’を生成する。そして、その短期鍵ｋｉ’を用いて、自身が有するべき他の短期鍵を生成して、更新する。
【００６６】
また、利用者装置ｉ以外の利用者装置は、自身が有する短期鍵の何れかを用いて、上記暗号化された短期鍵Ｅｋｓｄ♯（ｋｓｄ’），…，Ｅｋｓ１♯（ｋｓ１’）のうちの何れかを復号化して、自身が有するべき短期鍵を得る。そして、その短期鍵を用いて、自身が有するべき他の短期鍵を生成して、更新する。
【００６７】
センタ装置は、短期鍵の更新後は、その更新された短期鍵を用いて、上記のコンテンツの暗号化の処理を行う。また、利用者装置は、短期鍵の更新後は、その更新された短期鍵を用いて、上記のコンテンツの復号化の処理を行う。これにより、長期鍵を持たない海賊版利用者装置は、鍵の更新をすることができずに無効化される。
【００６８】
以下、図１０を参照して、短期鍵更新の具体例を説明する。センタ装置は、葉２の短期鍵ｋ２からｋ２’に更新するとする。例えば、ｋ１２’＝Ｈ（ｋ１）｜Ｈ（ｋ２’），ｋ１２３４’＝Ｈ（ｋ１２’）｜Ｈ（ｋ３４），ｋ１２３４５６７８’＝Ｈ（ｋ１２３４’）｜Ｈ（ｋ５６７８）のように子ノードを関連付けることにより親ノード１２，１２３４，１２３４５６７８の短期鍵ｋ１２’，ｋ１２３４’，ｋ１２３４５６７８’を生成する。葉２の新たな短期鍵ｋ２’は、葉２に対応する利用者装置２の長期鍵Ｋ２を用いて暗号化ＥＫ２（ｋ２’）される。また、葉２の新たな短期鍵ｋ２’のハッシュ値Ｈ（ｋ２’）は、葉２の兄弟ノード１の短期鍵ｋ１を用いて暗号化Ｅｋ１（Ｈ（ｋ２’））される。ノード１２の新たな短期鍵ｋ１２’のハッシュ値Ｈ（ｋ１２’）は、ノード１２の兄弟ノード３４の短期鍵ｋ３４を用いて暗号化Ｅｋ３４（Ｈ（ｋ１２’））される。ノード１２３４の新たな短期鍵ｋ１２３４’のハッシュ値Ｈ（ｋ１２３４’）は、ノード１２３４の兄弟ノード５６７８の短期鍵ｋ５６７８を用いて暗号化Ｅｋ５６７８（Ｈ（ｋ１２３４’））される。そして、これらの暗号化されたＥＫ２（ｋ２’），Ｅｋ１（Ｈ（ｋ２’）），Ｅｋ３４（Ｈ（ｋ１２’）），Ｅｋ５６７８（Ｈ（ｋ１２３４’））が各利用者装置に送信される。
【００６９】
利用者装置２は、自身の長期鍵Ｋ２を用いてＥＫ２（ｋ２’）を復号化して、新たな短期鍵ｋ２’を得る。利用者装置２は、短期鍵ｋ２，ｋ１２，ｋ１２３４，ｋ１２３４５６７８を既に保有している。ここで、利用者装置２は、葉を含む子ノードの短期鍵に関連する情報と、既に保有するその親ノードの短期鍵から生成されるその子ノードの兄弟ノードの短期鍵に関連する情報とを用いて、子ノードの短期鍵を関連付けた親ノードの短期鍵を生成する動作を繰り返すことにより、自身が有するべき新たな短期鍵ｋ１２’，ｋ１２３４’，ｋ１２３４５６７８’を自ら生成することができる。
【００７０】
新たな短期鍵ｋ１２’の生成の仕方の例を述べる。ｋ１２’＝Ｈ（ｋ１）｜Ｈ（ｋ２’）である場合、上記生成された新たな短期鍵ｋ２’に関連する情報であるハッシュ値Ｈ（ｋ２’）と、既に保有している短期鍵ｋ１２＝Ｈ（ｋ１）｜Ｈ（ｋ２）から生成される（取り出される）ノード２の兄弟ノード１の短期鍵ｋ１に関連する情報であるＨ（ｋ１）とをビット結合することにより、新たな短期鍵ｋ１２’を生成することができる。
【００７１】
また、例えば、ｋ１２’＝Ｈ（ｋ１）（＋）Ｈ（ｋ２’）である場合、既に保有している短期鍵ｋ１２＝Ｈ（ｋ１）（＋）Ｈ（ｋ２）と、既に保有している短期鍵ｋ２のハッシュ値Ｈ（ｋ２）との排他的論理和を取ることにより、既に保有している短期鍵ｋ１２から生成されるその子ノードの兄弟ノードの短期鍵に関連する情報である短期鍵ｋ１のハッシュ値Ｈ（ｋ１）を生成する。そして、この生成されたハッシュ値Ｈ（ｋ１）と、上記生成された新たな短期鍵ｋ２’のハッシュ値Ｈ（ｋ２’）との排他的論理和を取ることにより、新たな短期鍵ｋ１２’を生成する。
【００７２】
新たな短期鍵ｋ１２３４’の生成方法についても同様である。すなわち、上記生成された新たな短期鍵ｋ１２’に関連する情報Ｈ（ｋ１２’）と、既に保有する短期鍵ｋ１２３４から生成されるノード１２の兄弟ノード３４の短期鍵ｋ３４に関連する情報Ｈ（ｋ３４）とを用いて、新たな短期鍵ｋ１２’と短期鍵ｋ３４とを関連付けた新たな短期鍵ｋ１２３４’を生成する。
【００７３】
新たな短期鍵ｋ１２３４５６７８’の生成方法についても同様である。すなわち、上記生成された新たな短期鍵ｋ１２３４’に関連する情報Ｈ（ｋ１２３４’）と、既に保有する短期鍵ｋ１２３４５６７８から生成されるノード１２３４の兄弟ノード５６７８の短期鍵ｋ５６７８に関連する情報Ｈ（ｋ５６７８）とを用いて、短期鍵ｋ５６７８と新たな短期鍵ｋ１２３４’とを関連付けた新たな短期鍵ｋ１２３４５６７８’を生成する。
【００７４】
利用者装置１は、自身が有する短期鍵の１つである短期鍵ｋ１を用いてＥｋ１（Ｈ（ｋ２’））を復号化して、新たな短期鍵のハッシュ値Ｈ（ｋ２’）を得る。ここで、利用者装置１は、短期鍵ｋ１，ｋ１２，ｋ１２３４，ｋ１２３４５６７８を既に保有している。したがって、利用者装置１は、利用者装置２の新たな短期鍵の生成と同様に、葉を含む子ノードの短期鍵に関連する情報と、既に保有するその親ノードの短期鍵から生成されるその子ノードの兄弟ノードの短期鍵に関連する情報とを用いて、子ノードの短期鍵を関連付けた親ノードの短期鍵を生成する動作を繰り返すことにより、自身が有するべき新たな短期鍵ｋ１２’，ｋ１２３４’，ｋ１２３４５６７８’を自ら生成することができる。
【００７５】
利用者装置３から８についても同様である。
なお、センタ装置が、暗号化された短期鍵ＥＫｉ（ｋｉ’）を各利用者装置ｉにブロードキャストする代わりに、短期鍵ｋｉ’＝Ｈ（Ｋｉ，ｒｉ’）を生成するために用いた情報ｒｉ’をブロードキャストしてもよい。
【００７６】
この場合、利用者装置ｉは、受信した短期鍵に関する情報ｒｉ’と自身の長期鍵Ｋｉとをハッシュ関数Ｈに入力することにより、更新後の短期鍵ｋｉ’＝Ｈ（Ｋｉ，ｒｉ’）を生成する。他の処理は上記と同様である。
【００７７】
不正者追跡
ある利用者装置ｉを元にして海賊版利用者装置ｉ＄が生成されたとする。
【００７８】
自身が有するべきすべての短期鍵を更新することができ、永続的に視聴可能である悪質な海賊版利用者装置ｉ＄には、元になった利用者装置ｉの長期鍵Ｋｉが必ず含まれている。利用者装置ｉの長期鍵Ｋｉを有しない海賊版利用者装置ｉ＄は、少なくとも、ＥＫｉ（ｋｉ）を復号することができないため、短期鍵ｋｉを更新することはできないためである。また、長期鍵Ｋｉと利用者装置ｉは、一対一の関係を有する。
【００７９】
このため、自身が有するべきすべての短期鍵を更新することができる海賊版利用者装置ｉ＄が現れた場合、その中に含まれる長期鍵Ｋｉを調べれば、不正者である利用者装置ｉ、換言すると、鍵の漏洩元となった利用者装置ｉを突き止めることができる。
【００８０】
長期鍵更新
利用者装置ｉが不正者であることが判明した場合には、センタ装置の長期鍵更新部は、利用者装置ｉの長期鍵Ｋｉの代わりに、新しい長期鍵Ｋｉ＊を生成して、新しい利用者装置ｉ＊に渡す。そしてその後、センタ装置は、長期鍵Ｋｉではなく、新しい長期鍵Ｋｉ＊を用いて、短期鍵を更新してもよい。これにより、長期鍵Ｋｉを有する不正者である利用者装置ｉ及びこの利用者装置ｉから派生した海賊版利用者装置は、短期鍵を更新することができなくなり、視聴不可能となる。
【００８１】
効率
ｒを放送型暗号化の際の視聴不可能な利用者装置の数、ｔを鍵更新の際の鍵更新される利用者装置の数とする。ＴＯをtransmission overhead、ＳＳをstrage of user、ＣＣをcomputation of userとする。
【００８２】
本実施形態では、放送型暗号化の際の通信料は、ＴＯ＝ｒｌｏｇ（ｎ／ｒ）、鍵更新の際の通信量は２ｔ＋ｔｌｏｇ（ｎ／ｔ）、利用者のメモリ量はＳＳ＝ｌｏｇ（ｎ）＋１となり、効率がよい。
【００８３】
〔機能構成〕
図４は、第２実施形態による不正者追跡可能な放送型暗号システムのセンタ装置３の機能構成を例示する図である。この例では、センタ装置は、短期鍵生成部３１、記憶部３２、コンテンツ暗号化部３３、放送部３４、短期鍵更新情報生成部３５、短期鍵暗号化部３６、長期鍵生成部３７、長期鍵更新部３８を備える。図示していないが、記憶部３２は、センタ装置３の各部とデータの読み書きができるように接続されている。
【００８４】
センタ装置
短期鍵生成部３１の葉短期鍵生成部３１１は、各葉ごとに葉短期鍵ｋｉを生成する。生成された葉短期鍵ｋｉは、ノード短期鍵生成部３１２とコンテンツ暗号化部３３に送られるとともに、記憶部３２に格納される。例えば、葉短期鍵生成部３１１の葉短期鍵情報生成部３１１１が、葉短期鍵ｋｉに関する情報ｒｉを生成し、葉短期鍵生成部３１１が、その情報ｒｉを用いて、任意のハッシュ関数Ｈ（ｒｉ）により、葉短期鍵ｋｉ＝Ｈ（ｒｉ）を生成する。
【００８５】
ノード短期鍵生成部３１２は、葉を含む子ノードの短期鍵を互いに関連付けて親ノードの短期鍵を生成する動作を繰り返すことにより、各ノードのノード短期鍵ｋｓを生成する。生成されたノード短期鍵ｋｓは、コンテンツ暗号化部３３に送られるとともに、記憶部３２に格納される。
【００８６】
コンテンツ暗号化部３３は、例えば、記憶部３２に予め格納されたコンテンツｍを読み込んで、同じく記憶部３２に予め格納されたセッション鍵ｓｋを用いて暗号化して、Ｅｓｋ（ｍ）を生成する。また、セッション鍵ｓｋを、部分木の組Ωの各部分木のルートノードｓ１，…，ｓωの短期鍵ｋｓ１，…，ｓωを用いてそれぞれ暗号化して、暗号化したセッション鍵Ｅｋｓ１（ｓｋ），…，Ｅｋｓω（ｓｋ）を生成する。Ｅｓｋ（ｍ）、Ｅｋｓ１（ｓｋ），…，Ｅｋｓω（ｓｋ）は、放送部３４に送られる。
【００８７】
放送部３４は、Ｅｓｋ（ｍ）と、Ｅｋｓ１（ｓｋ），…，Ｅｋｓω（ｓｋ）を各利用者装置に放送（ブロードキャスト）する。また、放送部３４は、後述する第一の暗号情報ＥＫｉ（ｋｉ’）又はｒｉ’、第二の暗号情報［Ｅｋｓｄ♯（Ｈ（ｋｓｄ’）），…，Ｅｋｓ１♯（Ｈ（ｋｓ１’））］等を利用者装置に向けて放送する。
【００８８】
短期鍵更新情報生成部３５の葉短期鍵更新情報生成部３５１は、新しい葉短期鍵ｋｉ’を生成する。生成された新しい葉短期鍵ｋｉ’は、短期鍵更新部３９、短期鍵更新情報生成部３５のノード短期鍵更新情報生成部３５２、短期鍵暗号化部３６にぞれぞれ送られる。葉短期鍵更新情報生成部３５１の葉短期鍵情報生成部３５１１は、例えば、短期鍵ｋｉ’に関する情報ｒｉ’を生成して、その情報ｒｉ’と、記憶部３２から読み込んだ長期鍵Ｋｉ又は長期鍵生成部３７が生成した長期鍵Ｋｉとをハッシュ関数Ｈに入力することより、更新後の短期鍵ｋｉ’＝Ｈ（Ｋｉ，ｒｉ’）を求める。
なお、葉短期鍵更新情報生成部３５１が、新しい葉短期鍵ｋｉ’に関する情報ｒｉ’を生成して、新しい葉短期鍵ｋｉ’に替えて、その情報ｒｉ’を短期鍵暗号化部３６に送ってもよい。
【００８９】
ノード短期鍵更新情報生成部３５２は、葉ｉを含む子ノードの短期鍵を互いに関連付けて親ノードの短期鍵を生成する動作を繰り返すことにより、その葉ｉから木Ｔのルートノードに至るまでのパス上にあるノードのうち葉ｉを除くノードｓ（ｄ−１），…，ｓ１，ｓ０の短期鍵ｋｓ（ｄ−１）’，…，ｋｓ１’，ｋｓ０’を新たに生成して、短期鍵ｋｓ（ｄ−１），…，ｋｓ１，ｋｓ０から短期鍵ｋｓ（ｄ−１）’，…，ｋｓ１’，ｋｓ０’に更新する。新しいノード短期鍵ｋｓ（ｄ−１）’，…，ｋｓ１’，ｋｓ０’は、短期鍵暗号化部３６に送られるとともに、記憶部３２に格納される。
【００９０】
短期鍵暗号化部３６の葉短期鍵更新情報暗号化部３６１は、長期鍵生成部３７が生成した長期鍵Ｋｉ又は記憶部３２から読み込んだ長期鍵Ｋｉを用いて、葉ｉの新しい短期鍵ｋｉ’を暗号化して、ＥＫｉ（ｋｉ’）を生成する。生成されたＥＫｉ（ｋｉ’）は、第一の暗号情報として、放送部３４に送られる。葉短期鍵更新情報暗号化部３６１は、葉短期鍵更新情報生成部３５１から、新しい短期鍵ｋｉ’の変わりに、新しい葉短期鍵ｋｉ’に関する情報ｒｉを受け取った場合には、その情報ｒｉをそのまま第一の暗号情報として、放送部３４に送る。
【００９１】
短期鍵暗号化部３６の関連情報生成部３６３は、短期鍵更新情報生成部３５が生成した、新しい葉短期鍵ｋｉ’，新しいノード短期鍵ｋｓ（ｄ−１）’，…，ｋｓ１’，ｋｓ０’に関連する情報であるハッシュ値Ｈ（ｋｉ’），Ｈ（ｋｓ（ｄ−１）’），…，Ｈ（ｋｓ１’），Ｈ（ｋｓ０’）をそれぞれ生成して、ノード短期鍵更新情報暗号化部３６２に送る。
関連情報生成部３６３は、葉短期鍵更新情報生成部３５１から送られた情報がｒｉ’である場合には、その情報ｒｉ’と、記憶部３２から読み込んだ又は長期鍵３７が生成した長期鍵Ｋｉを用いて、新たな短期鍵ｋｉ’＝Ｈ（Ｋｉ，ｒｉ’）を生成する。そして、その生成された新たな短期鍵ｋｉ’から、短期鍵ｋｉ’に関連する情報であるハッシュ値Ｈ（ｋｉ’）を生成して、ノード短期鍵更新情報暗号化部３６２に送る。葉短期鍵更新情報生成部３５１から送られた情報がｒｉ’である場合にも、新しいノード短期鍵ｋｓ（ｄ−１）’，…，ｋｓ１’，ｋｓ０’に関連する情報であるハッシュ値Ｈ（ｋｓ（ｄ−１）’），…，Ｈ（ｋｓ１’），Ｈ（ｋｓ０’）をそれぞれ生成して、ノード短期鍵更新情報暗号化部３６２に送る。
【００９２】
短期鍵暗号化部３６のノード短期鍵更新情報暗号化部３６２は、新しい短期鍵ｋｉ’に関連する情報であるＨ（ｋｉ’）を、記憶部３２から読み込んだ、その新しい短期鍵ｋｉ’（ｋｓｄ’と表記する。）の葉の兄弟ノードである葉の葉短期鍵ｋｉ♯（ｋｓｄ♯と表記する。）で暗号化したものＥｋｓｄ♯（ｋｓｄ’）を生成する。また、新しく生成された短期鍵のうちルートノード以外のノードのノード短期鍵ｋｓ（ｄ−１）’，…，ｋｓ１’に関連する情報であるＨ（ｋｓ（ｄ−１）’），…，Ｈ（ｋｓ１’）をそれぞれ、その兄弟ノードのノード短期鍵ｋｓ（ｄ−１）♯，…，ｋｓ１♯を用いてそれぞれ暗号化したものＥｋｓ（ｄ−１）♯（Ｈ（ｋｓｄ’）），…，Ｅｋｓ１♯（Ｈ（ｋｓ１’））を生成する。そして、これら暗号化された［Ｅｋｓｄ♯（Ｈ（ｋｓｄ’）），…，Ｅｋｓ１♯（Ｈ（ｋｓ１’））］を、第二の暗号情報として放送部３４に送る。
【００９３】
利用者装置
図４に例示するように、本実施形態による利用者装置４は、受信部４１、短期鍵復号化部４２、記憶部４３、コンテンツ復号化部４４、短期鍵更新部４５、ノード短期鍵生成部４６を備える。図示していないが、記憶部４３は、利用者装置４の各部とデータの読み書きができるように接続されている。
【００９４】
受信部４１は、センタ装置３が放送した、暗号化されたコンテンツ情報［Ｅｓｋ（ｍ）、Ｅｋｓ１（ｓｋ），…，Ｅｋｓω（ｓｋ）］、第一の暗号情報ＥＫｉ（ｋｉ’）、第二の暗号情報［Ｅｋｓｄ♯（Ｈ（ｋｓｄ’）），…，Ｅｋｓ１♯（Ｈ（ｋｓ１’））］を受信する。暗号化されたコンテンツ情報［Ｅｓｋ（ｍ）、Ｅｋｓ１（ｓｋ），…，Ｅｋｓω（ｓｋ）］は、コンテンツ復号化部４４に、第一の暗号情報ＥＫｉ（ｋｉ’）と第二の暗号情報［Ｅｋｓｄ♯（Ｈ（ｋｓｄ’）），…，Ｅｋｓ１♯（Ｈ（ｋｓ１’））］は短期鍵復号化部４２に送られる。受信部４１は、第一の暗号情報がｒｉ’である場合には、その第一の暗号情報がｒｉ’を受信して、短期鍵復号化部４２に送る。
【００９５】
コンテンツ復号化部４４は、例えば、記憶部４３から読み込んだ何れかの短期鍵ｋｓｊを用いて、Ｅｋｓ１（ｓｋ），…，Ｅｋｓω（ｓｋ）を復号化して、セッション鍵ｓｋを生成する。そして、そのセッション鍵ｓｋを用いて、Ｅｓｋ（ｍ）を復号化して、コンテンツｍを生成する。
【００９６】
短期鍵復号化部４２の葉短期鍵復号化部４２１は、利用者装置４が、上記新しい葉短期鍵ｋｉ’の葉に対応する利用者装置である場合には、記憶部４３から読み出した長期鍵Ｋｉを用いて、第一の暗号情報ＥＫｉ（ｋｉ’）を復号化して、新たな葉短期鍵ｋｉ’を生成する。生成した新たな短期鍵ｋｉ’は、短期鍵更新部４５とノード短期鍵生成部４６に送られる。なお、第一の暗号情報がｒｉ’である場合には、その第一の暗号情報ｒｉ’をそのまま短期鍵更新部４５に送る。
【００９７】
ノード短期鍵復号化部４２２は、利用者装置４が新しい葉短期鍵ｋｉ’の葉の兄弟ノードである葉に対応する利用者装置である場合には、記憶部４３から読み出した、その兄弟ノードである葉の葉短期鍵ｋｉ♯を用いて、上記第二の暗号情報の中のＥｋｉ（Ｈ（ｋｉ’））（＝Ｅｋｓｄ♯（Ｈ（ｋｓｄ’）））を復号化して、新しい葉短期鍵ｋｉ’に関連する情報Ｈ（ｋｉ’）を生成する。また、利用者装置４が、上記新しいノード短期鍵ｋｓ’のノードの兄弟ノードｋｓ♯’を、その利用者装置に対応する葉からルートノードに至るパス上に含む場合には、記憶部４３から読み出した、その兄弟ノードの短期鍵ｋｓ♯’を用いて、第二の情報の中のＥｋｓ（ｄ−１）♯（Ｈ（ｋｓ（ｄ−１）’）），…，Ｅｋｓ１♯（Ｈ（ｋｓ１’））の何れかを復号化して、新しいノード短期鍵ｋｓ’に関連する情報Ｈ（ｋｓ’）を生成する。生成された、新しい葉短期鍵ｋｉ’ に関連する情報Ｈ（ｋｉ’）と新しいノード短期鍵ｋｓ’ に関連する情報Ｈ（ｋｓ’）は、ノード短期鍵生成部４６に送られる。
【００９８】
短期鍵更新部４５は、葉短期鍵復号化部４２１から送られた新しい葉短期鍵ｋｉ’を用いて、記憶部４３に記憶された葉短期鍵ｋｉを更新する。また、第一の暗号情報がｒｉ’である場合には、短期鍵復号化部４２から送られた情報ｒｉ’と、記憶部４３から読み込んだ長期鍵Ｋｉと、ハッシュ関数Ｈとを用いて、新たな葉短期鍵ｋｉ’＝Ｈ（Ｋｉ，ｒｉ’）を生成して、記憶部４３に記憶された葉短期鍵ｋｉを更新する。また、短期鍵更新部４５は、情報ｒｉ’から生成した新しい葉短期鍵ｋｉ’をノード短期鍵生成部４６に送る。
【００９９】
ノード短期鍵生成部４６は、葉を含む子ノードの短期鍵に関連する情報と、記憶部４３から読み込んだ、既に保有するその親ノードのノード短期鍵から生成されるその子ノードの兄弟ノードの短期鍵に関連する情報とを用いて、子ノードの短期鍵を関連付けた親ノードの短期鍵を生成する動作を繰り返すことにより、利用者装置４が対応する葉からからルートノードに至るまでのパス上にある各ノードの新しいノード短期鍵ｋｓ’を生成する。そして、記憶部４３に記憶された、自身が有するべき新たなノード短期鍵を更新する。
【０１００】
なお、ノード短期鍵生成部４６の関連情報生成部４６１が、記憶部４３から読み込んだ親ノードのノード短期鍵から、その子のノードの兄弟ノードの短期鍵に関連する情報を生成するものとする。関連情報生成部４６１は、例えば、ｋ１２＝Ｈ（ｋ１）｜Ｈ（ｋ２）である場合には、記憶部４３から読み込んだｋ１２からＨ（ｋ１）のビット列を取り出すことにより、ｋ１に関連する情報Ｈ（ｋ１）を生成する。また、ｋ１２＝Ｈ（ｋ１）（＋）Ｈ（ｋ２）である場合には、記憶部４３から読み込んだｋ１２と、ノード短期鍵復号化部４２２が生成したＨ（ｋ２）との排他的論理和を取ることにより、ｋ１に関連する情報Ｈ（ｋ１）を生成する。ノード短期鍵生成部４６は、関連情報生成部４６１が生成した情報を用いて上記の処理を行う。
【０１０１】
短期鍵の更新後は、コンテンツ復号化部４４は、新しい短期鍵を用いてコンテンツｍの復号化を行う。
【０１０２】
センタ装置３の長期鍵更新部３８は、上記理論で説明したように必要に応じて、新たな長期鍵Ｋｉ＊を新たに生成して、長期鍵Ｋｉを更新する。生成された新たな長期鍵Ｋｉ＊は、安全な経路を通じて、新たな利用者装置ｉ＊に送られる。
【０１０３】
［変形例］
なお、図１に破線で示したように、短期鍵生成装置５を設けてもよい。短期鍵生成装置５は、自身の暗号鍵に対応する公開鍵を、センタ装置の短期鍵、葉短期鍵、ノード短期鍵として生成する。生成された、短期鍵、葉短期鍵、ノード短期鍵としての短期鍵生成装置５の公開鍵は、センタ装置に送られる。短期鍵生成装置５を設けた場合には、センタ装置の短期鍵生成部、短期鍵更新部が不要となる。
【０１０４】
センタ装置１，１’，３又は利用者装置２，２’，４をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１０５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ
−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１０６】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１０７】
また、上述した実施形態とは別の実行形態として、コンピュータが可搬型記録媒体から直接このプログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１０８】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【０１０９】
なお、本発明の放送型暗号システム、そのセンタ装置及び利用者装置は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【０１１０】
【図１】不正者追跡可能な放送型暗号システム１０００の機能構成を例示する図。
【図２】第一実施形態によるセンタ装置１’の機能構成を例示する図。
【図３】第一実施形態による利用者装置２’の機能構成を例示する図。
【図４】第二実施形態によるセンタ装置３の機能構成を例示する図。
【図５】第二実施形態による利用者装置４の機能構成を例示する図。
【図６】利用者装置に割り当てられるノード短期鍵を例示する図。
【図７】視聴権を有する利用者装置の集合Ｒのみを覆う、木Ｔの部分木の組の中で、部分木の数が最も少ない部分木の組Ωの具体例を説明するための図（その一）。
【図８】視聴権を有する利用者装置の集合Ｒのみを覆う、木Ｔの部分木の組の中で、部分木の数が最も少ない部分木の組Ωの具体例を説明するための図（その二）。
【図９】視聴権を有する利用者装置の集合Ｒのみを覆う、木Ｔの部分木の組の中で、部分木の数が最も少ない部分木の組Ωの具体例を説明するための図（その三）。
【図１０】短期鍵更新の具体例を説明するための図。
【図１】
2008294720.tif 000003
【図２】
2008294720.tif 000004
【図３】
2008294720.tif 000005
【図４】
2008294720.tif 000006
【図５】
2008294720.tif 000007
【図６】
2008294720.tif 000008
【図７】
2008294720.tif 000009
【図８】
2008294720.tif 000010
【図９】
2008294720.tif 000011
【図１０】
2008294720.tif 000012