(57)【要約】  【課題】複数の受信装置との間でセキュア通信を行う場合に、一部の受信装置を無効にすることに伴うリボケーション処理に応じて鍵取得方法の選択する通信システムを提供する。  【解決手段】ストリーミングコンテンツ配信装置２６００は、リボークすべき受信装置が存在する場合、セッション鍵（ＳＥＫ）を更新し、リボークされない各受信装置２６２０が更新されたＳＥＫを取得するための情報を備えるＳＥＫ更新メッセージ２６１１を生成する鍵管理部２６０１と、更新されたＳＥＫを用いてコンテンツを暗号化するコンテンツ暗号部２６０２とを備え、受信装置２６２０は、複数の鍵暗号鍵データ（ＫＥＫ）を記録するＫＥＫ記憶部２６２１と、ＳＥＫ更新メッセージ２６１１を用いて更新されたＳＥＫを取得するＳＥＫ取得部２６２２と、暗号化されたコンテンツ２６１２を該ＳＥＫを用いて復号するストリーミングコンテンツ復号部２６２３とを備えている。【選択図】  図２６
2005311490.tif 000002
【特許請求の範囲】
【請求項１】
鍵データを用いて暗号化した情報と、鍵暗号鍵データを用いて暗号化した鍵データとを、第１の装置から第２の装置へ送信する通信システムにおいて、
前記第１の装置は、
前記鍵データの更新を行う鍵更新部と、
前記更新された鍵データを用いて送信する情報を暗号化する情報暗号部と、
前記更新された鍵データの暗号化に用いる鍵暗号鍵データ及び該鍵暗号鍵データの使用方法を決定し、該決定結果に応じて該更新された鍵データを暗号化する鍵暗号部と、
前記更新され暗号化された鍵データと、該暗号化に用いた鍵暗号鍵データを指定するための情報と、前記更新され暗号化された更新鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を生成する鍵更新情報生成部とを備え、
前記第２の装置は、
予め定めた複数の鍵暗号鍵データを記録する記録部と、
前記鍵データが更新された場合、前記記録部に記録されている複数の鍵暗号鍵データの中から前記鍵更新情報が指定する鍵暗号鍵データと、前記鍵更新情報が示す該指定された鍵暗号鍵データの使用方法とを特定し、該特定した結果に応じて前記更新された鍵データを復号する鍵取得部と、
前記復号された更新された鍵データを用いて、前記第１の装置から送信されてきた情報を復号する情報復号部とを備えること
を特徴とする通信システム。
【請求項２】
前記第２の装置を複数備え、該複数の第２の装置に対して前記第１の装置は前記暗号化した情報を送信可能であること
を特徴とする請求項１に記載の通信システム。
【請求項３】
前記第２の装置の記録部は、前記複数の鍵暗号鍵データの代わりに、該複数の鍵暗号鍵データを生成するための鍵生成用データを備え、
前記第２の装置は、前記鍵生成用データを用いて鍵暗号鍵データを生成する鍵暗号鍵生成部をさらに備えること
を特徴とする請求項１に記載の通信システム。
【請求項４】
前記第２の装置の記録部は、前記複数の鍵暗号鍵データに加えて、該鍵暗号鍵データを復号化に用いる場合の鍵暗号鍵データの使用方法を示す情報を複数記録し、
前記第１の装置の鍵更新情報生成部は、前記鍵更新情報に含まれる前記鍵使用方法を示す情報の代わりに、前記第２の装置の記録部に記録されている鍵使用方法の中から、いずれを使用すべきかを指定するための情報を含むこと
を特徴とする請求項１に記載の通信システム。
【請求項５】
前記鍵更新情報は、前記鍵暗号鍵データを指定するための情報と、前記鍵暗号鍵データについて復号化での利用方法を指定するための情報と、前記鍵暗号鍵データ及び前記鍵使用方法により暗号化された更新鍵データとが、互いに対応付けられた構成を有していること
を特徴とする請求項４に記載の通信システム。
【請求項６】
前記第１の装置は、
前記鍵更新情報と前記暗号化した送信情報とを合成してストリーミングデータを生成し、前記第２の装置へ送信するストリーミングデータ送信部をさらに備え、
前記第２の装置は、
前記ストリーミングデータを受信する受信部をさらに備え、
前記鍵取得部は、前記受信したストリーミングデータの中から前記鍵更新情報を取得すること
を特徴とする請求項１に記載の通信システム。
【請求項７】
前記第１の装置は、
前記鍵更新情報を提示する掲示板部と、
前記第２の装置からの要求に応じて前記暗号化された情報を送信するダウンロード送信部とをさらに備え、
前記第２の装置は、
前記第１の装置へ要求信号を送り、前記暗号化した情報をダウンロードするダウンロード受信部をさらに備え、
前記鍵取得部は、前記第１の装置の前記掲示板部にアクセスして前記鍵更新情報を取得すること
を特徴とする請求項１に記載の通信システム。
【請求項８】
前記第２の装置は、互いに独立した複数のユーザ装置と、該ユーザ装置の各々及び前記第１の装置と通信可能な処理装置とを備え、
前記ユーザ装置は、前記記録部を備え、
前記処理装置は、前記鍵取得部と前記情報復号部とを備えること
を特徴とする請求項１に記載の通信システム。
【請求項９】
前記第１の装置は、
前記暗号化された情報を複数記録すると共に、該複数の情報各々に対応する前記鍵更新情報を記録する情報記録部をさらに備えること
を特徴とする請求項８に記載の通信システム。
【請求項１０】
前記処理装置では、前記鍵取得部が、
受信対象となる暗号化された情報に対応する前記鍵更新情報を前記第１の装置の情報記録部から取得し、
前記取得された鍵更新情報が指定する鍵暗号鍵データが、現時点で通信可能な状態にある前記ユーザ装置の記録部に記録されている場合、該鍵暗号鍵データを用いて前記更新された鍵データを取得すること
を特徴とする請求項９に記載の通信システム。
【請求項１１】
鍵データを用いて暗号化した情報と鍵暗号鍵データを用いて暗号化した鍵データとを送信する装置において、
前記鍵データの更新を行う鍵更新部と、
前記更新された鍵データを用いて送信する情報を暗号化する情報暗号部と、
前記更新された鍵データの暗号化に用いる鍵暗号鍵データ及び該鍵暗号鍵データの使用方法を決定し、該決定結果に応じて該更新された鍵データを暗号化する鍵暗号部と、
前記更新され暗号化された鍵データと、該暗号化に用いた鍵暗号鍵データを指定するための情報と、前記更新され暗号化された鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を生成する鍵更新情報生成部とを備えること
を特徴とする装置。
【請求項１２】
鍵データを用いて暗号化した情報と鍵暗号鍵データを用いて暗号化した鍵データとを受信する装置において、
予め定めた複数の鍵暗号鍵データを記録する記録部と、
前記鍵データが更新された場合、前記更新され暗号化された鍵データと該暗号化に用いた鍵暗号鍵データを指定するための情報と前記更新され暗号化された鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を取得し、前記記録部に記録されている複数の鍵暗号鍵データの中から前記鍵更新情報が指定する鍵暗号鍵データを特定し、前記鍵更新情報が示す該指定された鍵暗号鍵データの使用方法を特定し、該特定した結果に応じて前記更新鍵データを復号する鍵取得部と、
前記復号された更新された鍵データを用いて、前記受信した暗号化情報を復号する情報復号部とを備えること
を特徴とする装置。
【請求項１３】
鍵データを用いて暗号化した情報と、鍵暗号鍵データを用いて暗号化した鍵データとを、第１の装置から第２の装置へ送信する通信方法において、
前記第１の装置では、
前記鍵データの更新が行われた場合、前記更新された鍵データを用いて送信する情報を暗号化し、
前記更新された鍵データの暗号化に用いる鍵暗号鍵データ及び該鍵暗号鍵データの使用方法を決定して、該更新された鍵データを暗号化し、
前記更新され暗号化された鍵データと、該暗号化に用いた鍵暗号鍵データを指定するための情報と、前記更新され暗号化された鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を生成し、
前記第２の装置では、
予め定めた複数の鍵暗号鍵データを記録し、
前記鍵データが更新されたか否かを検出し、
前記更新が検出された場合、前記記録されている複数の鍵暗号鍵データの中から前記鍵更新情報が指定する鍵暗号鍵データを特定し、前記鍵更新情報が示す該指定された鍵暗号鍵データの使用方法を特定し、該特定した結果に応じて前記更新鍵データを復号し、
前記復号された更新された鍵データを用いて、前記第１の装置から送信されてきた情報を復号すること
を特徴とする通信方法。
【請求項１４】
鍵データを用いて暗号化した情報と鍵暗号鍵データを用いて暗号化した鍵データとを送信する方法をコンピュータに実行させるプログラムにおいて、
前記鍵データの更新を行い、
前記更新された鍵データを用いて送信する情報を暗号化し、
前記更新された鍵データの暗号化に用いる鍵暗号鍵データ及び該鍵暗号鍵データの使用方法を決定して、該更新された鍵データを暗号化し、
前記更新され暗号化された鍵データと、該暗号化に用いた鍵暗号鍵データを指定するための情報と、前記暗号化された更新鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を生成すること
を特徴とするプログラム。
【請求項１５】
鍵データを用いて暗号化した情報と鍵暗号鍵データを用いて暗号化した鍵データとを受信する方法をコンピュータに実行させるプログラムにおいて、
予め定めた複数の鍵暗号鍵データを記録し、
前記鍵データが更新された場合、前記更新され暗号化された鍵データと該暗号化に用いた鍵暗号鍵データを指定するための情報と前記更新され暗号化された鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を取得し、
前記記録されている複数の鍵暗号鍵データの中から前記鍵更新情報が指定する鍵暗号鍵データを特定し、前記鍵更新情報が示す該指定された鍵暗号鍵データの使用方法を特定し、該特定した結果に応じて前記更新鍵データを復号し、
前記復号された更新鍵データを用いて、前記受信した暗号化情報を復号すること
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵データを用いて暗号化した情報と鍵暗号鍵データを用いて暗号化した鍵データとを通信する通信システム及び方法に関する。
【背景技術】
【０００２】
セキュア通信では、通常、鍵管理装置と受信装置（端末装置）とが同じ鍵データを保持あるいは生成し、鍵管理装置で鍵データ（以下、ＳＥＫデータとも記す）を基にデータを暗号化して受信装置に送信する。このようなセキュア通信では、例えば、予め決められた複数の受信装置に対して共通の鍵データを基にセキュア通信を行う。この場合に、上記複数の受信装置の少なくとも一つが上記権限を失った場合には、鍵管理装置は、それまで使用していた鍵データを更新して、当該受信装置をリボーク（無効に）する必要がある。
【０００３】
このような鍵データの更新方法（鍵取得方法）として、例えば、下記非特許文献１，２に示すものが知られている。下記非特許文献１，２に示された鍵取得方法では、複数の鍵データを受信装置が予め保持しており、上記更新時に、鍵管理装置が当該複数の鍵データの何れかを用いてセキュア通信に用いる鍵暗号鍵データ（以下、ＫＥＫデータとも記す）を生成するかを、リボークしない受信装置に指示する。そして、リボークされない受信装置が、予め保持している複数の鍵データのなかから上記指示された鍵データを選択し、選択した鍵データを用いて、予め固定的に決められた鍵生成方法で鍵暗号鍵データを生成する。
【０００４】
鍵管理装置は、新たな鍵データを上記鍵暗号鍵データで暗号化して、リボークしない受信装置に送信する。リボークされない受信装置は、鍵管理装置から受信した上記暗号化された鍵データを、上記生成した鍵暗号鍵データを用いて復号して、新たな鍵データを得る。上述した鍵取得方法は、できるだけ多数の受信装置が同じ新たな鍵データを共用できるように、すなわち新たに用いる鍵暗号鍵データＫＥＫの数を少なくするようにアルゴリズムが規定されており、リボケーション処理に伴う鍵管理装置と受信装置との間の通信量を少なくしている。
【０００５】
【非特許文献１】D.Halevy and A Shamir, "The LCD broadcast encryption scheme", CRYPTO 2002, Lecture Notes in Computer Science,vol.2442. pp.47-60,2002
【０００６】
【非特許文献２】D.Naor,M.Naor and J.Lotspiech,"Revocation and tracing schemes for stateless receivers", CRYPTO 2001.Lecture Notes in Computer Science.vol 2139.pp.41-62,2001.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、上述した複数の鍵取得方法のうち、リボケーション処理に伴う上記通信量が最少になる鍵取得方法は、リボークする受信装置の数や当該受信装置に割り当てられた鍵データなどによって異なる。
【０００８】
したがって、複数の受信装置との間でセキュア通信を行う場合、一部の受信装置を無効にすることに伴うリボケーション処理の内容に応じて、利用すべき鍵取得方法を選択することを可能とする通信システム、方法、プログラム、該通信システムを構成する送信装置、及び／又は受信装置を提供することが望ましい。なお、上述したセキュア通信は、プッシュ型及びプル型データ配信に利用することができる。ここで、プッシュ型データ配信とは放送のような１対nの通信形式を指し、プル型データ配信とは、ユーザからのリクエストに応じたダウンロードのような１対１の通信形式を指す。
【０００９】
さらに、暗号化されて送信される情報に応じて無効とする受信装置を決定することで、該情報へのアクセス権限の管理をより効率的に行うことができる通信システム、方法、プログラム、該通信システムを構成する送信装置、及び／又は受信装置を提供することが望ましい。
【課題を解決するための手段】
【００１０】
本発明の一実施形態によれば、鍵データを用いて暗号化した情報と、鍵暗号鍵データを用いて暗号化した鍵データとを、第１の装置から第２の装置へ送信する通信システムが提供される。本通信システムにおいて、前記第１の装置は、前記鍵データの更新を行う鍵更新部と、前記更新された鍵データを用いて送信する情報を暗号化する情報暗号部と、前記更新された鍵データの暗号化に用いる鍵暗号鍵データ及び該鍵暗号鍵データの使用方法を決定し該決定結果に応じて該更新された鍵データを暗号化する鍵暗号部と、前記更新され暗号化された鍵データと、該暗号化に用いた鍵暗号鍵データを指定するための情報と前記更新され暗号化された更新鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を生成する鍵更新情報生成部とを備え、前記第２の装置は、予め定めた複数の鍵暗号鍵データを記録する記録部と、前記鍵データが更新された場合、前記記録部に記録されている複数の鍵暗号鍵データの中から前記鍵更新情報が指定する鍵暗号鍵データと前記鍵更新情報が示す該指定された鍵暗号鍵データの使用方法とを特定し、該特定した結果に応じて前記更新された鍵データを復号する鍵取得部と、前記復号された更新された鍵データを用いて、前記第１の装置から送信されてきた情報を復号する情報復号部とを備えることを特徴とする。
【００１１】
本通信システムは、前記第２の装置を複数備え、該複数の第２の装置に対して前記第１の装置は前記暗号化した情報を送信可能であることが好ましい。
【００１２】
また、前記第２の装置の記録部は、前記複数の鍵暗号鍵データの代わりに、該複数の鍵暗号鍵データを生成するための鍵生成用データを備え、前記第２の装置は、前記鍵生成用データを用いて鍵暗号鍵データを生成する鍵暗号鍵生成部をさらに備える構成としても良い。
【００１３】
さらにまた、前記第２の装置の記録部は、前記複数の鍵暗号鍵データに加えて、該鍵暗号鍵データを復号化に用いる場合の鍵暗号鍵データの使用方法を示す情報を複数記録し、前記第１の装置の鍵更新情報生成部は、前記鍵更新情報に含まれる前記鍵使用方法を示す情報の代わりに、前記第２の装置の記録部に記録されている鍵使用方法の中から、いずれを使用すべきかを指定するための情報を含む構成としてもよい。ここで、前記鍵更新情報は、前記鍵暗号鍵データを指定するための情報と、前記鍵暗号鍵データについて復号化での利用方法を指定するための情報と、前記鍵暗号鍵データ及び前記鍵使用方法により暗号化された更新鍵データとが、互いに対応付けられた構成を有していることが好ましい。
【００１４】
また、本通信システムにおいて、前記第１の装置が前記鍵更新情報と前記暗号化した送信情報とを合成してストリーミングデータを生成し、前記第２の装置へ送信するストリーミングデータ送信部をさらに備え、前記第２の装置が前記ストリーミングデータを受信する受信部をさらに備え、前記鍵取得部は、前記受信したストリーミングデータの中から前記鍵更新情報を取得する構成としても良い。
【００１５】
また、本通信システムにおいて、前記第１の装置が、前記鍵更新情報を提示する掲示板部と、前記第２の装置からの要求に応じて前記暗号化された情報を送信するダウンロード送信部とをさらに備え、前記第２の装置が、前記第１の装置へ要求信号を送り、前記暗号化した情報をダウンロードするダウンロード受信部をさらに備え、前記鍵取得部は、前記第１の装置の前記掲示板部にアクセスして前記鍵更新情報を取得する構成としても良い。
【００１６】
また、本通信システムにおいて、前記第２の装置が互いに独立した複数のユーザ装置と、該ユーザ装置の各々及び前記第１の装置と通信可能な処理装置とを備え、前記ユーザ装置が前記記録部を備え、前記処理装置が前記鍵取得部と前記情報復号部とを備える構成としてもよい。ここで、前記第１の装置は、前記暗号化された情報を複数記録すると共に、該複数の情報各々に対応する前記鍵更新情報を記録する情報記録部をさらに備えることが好ましい。また、前記処理装置では、前記鍵取得部が、受信対象となる暗号化された情報に対応する前記鍵更新情報を前記第１の装置の情報記録部から取得し、前記取得された鍵更新情報が指定する鍵暗号鍵データが、現時点で通信可能な状態にある前記ユーザ装置の記録部に記録されている場合、該鍵暗号鍵データを用いて前記更新された鍵データを取得する構成としてもよい。
【００１７】
本発明の他の実施形態によれば、鍵データを用いて暗号化した情報と鍵暗号鍵データを用いて暗号化した鍵データとを送信する装置が提供される。本装置は、前記鍵データの更新を行う鍵更新部と、前記更新された鍵データを用いて送信する情報を暗号化する情報暗号部と、前記更新された鍵データの暗号化に用いる鍵暗号鍵データ及び該鍵暗号鍵データの使用方法を決定し、該決定結果に応じて該更新された鍵データを暗号化する鍵暗号部と、前記更新され暗号化された鍵データと、該暗号化に用いた鍵暗号鍵データを指定するための情報と、前記更新され暗号化された鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を生成する鍵更新情報生成部とを備えることを特徴とする。
【００１８】
また、本発明の他の実施形態によれば、鍵データを用いて暗号化した情報と鍵暗号鍵データを用いて暗号化した鍵データとを受信する装置が提供される。本装置は、予め定めた複数の鍵暗号鍵データを記録する記録部と、前記鍵データが更新された場合、前記更新され暗号化された鍵データと該暗号化に用いた鍵暗号鍵データを指定するための情報と前記更新され暗号化された鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を取得し、前記記録部に記録されている複数の鍵暗号鍵データの中から前記鍵更新情報が指定する鍵暗号鍵データを特定し、前記鍵更新情報が示す該指定された鍵暗号鍵データの使用方法を特定し、該特定した結果に応じて前記更新鍵データを復号する鍵取得部と、前記復号された更新された鍵データを用いて、前記受信した暗号化情報を復号する情報復号部とを備えることを特徴とする。
【００１９】
また、本発明の他の実施形態によれば、鍵データを用いて暗号化した情報と鍵暗号鍵データを用いて暗号化した鍵データとを第１の装置から第２の装置へ送信する通信方法が提供される。本通信方法において、前記第１の装置では、前記鍵データの更新が行われた場合、前記更新された鍵データを用いて送信する情報を暗号化し、前記更新された鍵データの暗号化に用いる鍵暗号鍵データ及び該鍵暗号鍵データの使用方法を決定して、該更新された鍵データを暗号化し、前記更新され暗号化された鍵データと、該暗号化に用いた鍵暗号鍵データを指定するための情報と、前記更新され暗号化された鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を生成し、前記第２の装置では、予め定めた複数の鍵暗号鍵データを記録し、前記鍵データが更新されたか否かを検出し、前記更新が検出された場合、前記記録されている複数の鍵暗号鍵データの中から前記鍵更新情報が指定する鍵暗号鍵データを特定し、前記鍵更新情報が示す該指定された鍵暗号鍵データの使用方法を特定し、該特定した結果に応じて前記更新鍵データを復号し、前記復号された更新された鍵データを用いて、前記第１の装置から送信されてきた情報を復号することを特徴とする。
【００２０】
また、本発明の他の実施形態によれば、鍵データを用いて暗号化した情報と鍵暗号鍵データを用いて暗号化した鍵データとを送信する方法をコンピュータに実行させるプログラムが提供される。本プログラムによる方法では、前記鍵データの更新を行い、前記更新された鍵データを用いて送信する情報を暗号化し、前記更新された鍵データの暗号化に用いる鍵暗号鍵データ及び該鍵暗号鍵データの使用方法を決定して、該更新された鍵データを暗号化し、前記更新され暗号化された鍵データと、該暗号化に用いた鍵暗号鍵データを指定するための情報と、前記暗号化された更新鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を生成することを特徴とする。
【００２１】
また、本発明の他の実施形態によれば、鍵データを用いて暗号化した情報と鍵暗号鍵データを用いて暗号化した鍵データとを受信する方法をコンピュータに実行させるプログラムが提供される。本プログラムによる方法では、予め定めた複数の鍵暗号鍵データを記録し、前記鍵データが更新された場合、前記更新され暗号化された鍵データと該暗号化に用いた鍵暗号鍵データを指定するための情報と前記更新され暗号化された鍵データを復号する場合の鍵暗号鍵データの使用方法を示す情報とを備える鍵更新情報を取得し、前記記録されている複数の鍵暗号鍵データの中から前記鍵更新情報が指定する鍵暗号鍵データを特定し、前記鍵更新情報が示す該指定された鍵暗号鍵データの使用方法を特定し、該特定した結果に応じて前記更新鍵データを復号し、前記復号された更新鍵データを用いて、前記受信した暗号化情報を復号することを特徴とする。
【発明の効果】
【００２２】
以上説明したように、本発明によれば、複数の受信装置との間でセキュア通信を行う場合、一部の受信装置を無効にすることに伴うリボケーション処理の内容に応じて、利用すべき鍵取得方法を選択することを可能とする通信システム、方法、プログラム、該通信システムを構成する送信装置、及び／又は受信装置を提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の一実施形態に係わる通信システムについて説明する。図１は、本発明の一実施形態に係わる通信システム１の全体構成図である。図１に示すように、通信システム１は、例えば、鍵管理装置３と、複数（Ｎ個）の受信装置４＿１〜４＿Ｎを有する。鍵管理装置３と受信装置４＿１〜４＿Ｎとの間では、例えば、無線方式で暗号化通信を行う。受信装置４＿１〜４＿Ｎは、予め鍵管理装置３に登録されており、鍵管理装置３との間の暗号化通信に用いる鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬを保持している。
【００２４】
通信システム１では、鍵管理装置３が、予め決められた複数の鍵取得方法（例えば、後述する鍵取得方法ＳＫＴ−Ａ，ＳＫＴ−Ｂなど）のうち、所定の受信装置４＿１〜４＿Ｎをリボーク（無効に）するために生じる、リボークにしない受信装置との間の通信量が最少となる鍵取得方法を選択する。
【００２５】
そして、鍵管理装置３が、受信装置４＿１〜４＿Ｎのうちリボークしない受信装置のそれぞれに対して、上記選択した鍵取得方法を指定した鍵取得方法指定データと、当該選択した鍵取得方法に用いる鍵データＫ＿ＯＲＧあるいはラベルデータＬＡＢＥＬを指定した鍵・ラベル指定データとを含む指定データ（本発明の指定データ）を、例えば、ＰＵＳＨ方式で送信する。
【００２６】
鍵管理装置３から受信装置４＿１〜４＿Ｎへの上記送信は、例えば、ソフトウェア無線（ＳＤＲ:Software Defined Radio)によるＳＤＲ・セキュア・ダウンロードにより実現する。そして、リボークしない受信装置４＿１〜４＿Ｎが、当該受信装置が保持する複数の鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬのうち鍵管理装置３から受信した指定データが指定する鍵データＫ＿ＯＲＧあるいはラベルデータＬＡＢＥＬを用いて、上記鍵取得方法指定データが指定する鍵取得方法を基に鍵暗号鍵データＫＥＫを取得（生成）する。
【００２７】
鍵管理装置３は、新たな鍵データＮＥＷ＿ＳＥＫを、上記鍵暗号鍵データＫＥＫを基に暗号化して受信装置４＿１〜４＿Ｎに送信する。リボークしない受信装置４＿１〜４＿Ｎは、上記取得した鍵暗号鍵データＫＥＫを基に、鍵データＮＥＷ＿ＳＥＫを復号する。以後、鍵管理装置３と、リボークしない受信装置４＿１〜４＿Ｎとの間のセキュア通信を、鍵データＮＥＷ＿ＳＥＫを基に行う。
【００２８】
以下、図１に示す鍵管理装置３および受信装置４＿１〜４＿Ｎについて説明する。
【００２９】
〔鍵管理装置３〕
図２は、図１に示す鍵管理装置３のハードウェア構成図である。図２に示すように、鍵管理装置３は、例えば、通信部１１、メモリ１２および処理部１３を有する。通信部１１は、処理部１３が生成したデータを無線方式で送信する。当該送信は、例えば、放送などのプッシュ（ＰＵＳＨ）方式で、ソフトウェア無線（ＳＤＲ:Software Defined Radio)によるＳＤＲ・セキュア・ダウンロードを行う。
【００３０】
メモリ１２は、処理部１３によって実行されるプログラムＰＲＧ１と、プログラムＰＲＧ１の実行に用いられる種々データを記憶する。例えば、メモリ１２は、例えば、受信装置４＿１〜４＿Ｎが保持する全ての鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬを記憶する。また、メモリ１２は、鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬの一部または全てを記憶せず、これらによって最終的に取得される鍵暗号鍵データＫＥＫを記憶してもよい。
【００３１】
処理部１３は、メモリ１２に記憶されたプログラムＰＲＧ１を実行し、その実行に応じて鍵管理装置３の処理を統括して制御する。本実施形態において、鍵管理装置３の処理は、処理部１３が実行するプログラムＰＲＧ１によって規定される。
【００３２】
処理部１３は、プログラムＰＲＧ１の実行に応じて、受信装置４＿１〜４＿Ｎへの鍵データＫ＿ＯＲＧやラベルデータＬＡＢＥＬの配信などの前処理、並びに、鍵データの更新処理などのリボケーション処理などのセキュリティ処理を行う。
【００３３】
処理部１３は、上記リボケーション処理に先立って、例えば、受信装置４＿１〜４＿Ｎの登録時などに、上記前処理を行う。処理部１３は、上記前処理において、上記リボケーション処理を行うに当たって採用される鍵取得方法ＳＫＴ−Ａ，ＳＫＴ−Ｂ（underlying structure)、並びに当該鍵取得方法ＳＫＴ−Ａ，ＳＫＴ−Ｂで使用する鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬを受信装置４＿１〜４＿Ｎに設定する。
【００３４】
処理部１３は、受信装置４＿１〜４＿Ｎのうち何れかをリボーク（無効に）する場合に、上記リボケーション処理を行う。処理部１３は、リボケーション処理において、受信装置４＿１〜４＿Ｎの何れをリボークするかに応じて、リボークしない受信装置４＿１〜４＿Ｎに対して鍵データＳＥＫを送信するための鍵暗号鍵データＫＥＫを選択する。そして、処理部１３は、リボークしない受信装置４＿１〜４＿Ｎが、鍵暗号鍵データＫＥＫを生成するための指定データを、リボークしない受信装置４＿１〜４＿Ｎに送信する。
【００３５】
上記鍵取得方法ＳＫＴ−Ａ，ＳＫＴ−Ｂは、本実施形態では、以下に示すように、前述した非特許文献１に開示されているＬＳＤ方式や非特許文献２に開示されているＣＳＴ方式などのリボケーション方式を基に規定され、例えば、複数の２分ツリーを左右対称に組み合わせたツリーを構成するサブツリーであるセクション毎に個別にリボケーション方式を規定したものであるＳＫＴ(Sectioned Key Trees)の一例である。処理部１３が採用する鍵取得方法ＳＫＴ−Ａ，ＳＫＴ−Ｂに関する情報、並びに当該鍵取得方法で用いられる鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬは、上記前処理によって受信装置４＿１〜４＿Ｎに提供される。
【００３６】
以下、本実施形態の鍵取得方法ＳＫＴについて説明する。
【００３７】
上記ツリーでは、複数の水平レイヤが規定され、各水平レイヤが複数のセクションに分割されている。また、各セクションは、そのルート（ノード）が上位の水平レイヤのリーフ（ノード）となるサブツリーを有している。また、例えば、同じ水平レイヤに属するセクションは、同じ数のノードを有する。
【００３８】
すなわち、同じレイヤに属するセクションは、同じサブツリーを有している。一般的な例としては、上記ツリーが、Ｋ個の水平レイヤに分割され、各水平レイヤｌ（ｌは０〜Ｌ−１の整数）の高さがＨ〔ｌ〕であるとすると、２Ｈ［ｌ−１］個のリーフを有している。また、水平レイヤｌは、下記式（１）で示される数のセクションを有し、そのサブツリーは、２Ｈ［ｌ−１］個のリーフを有している。
◎
【００３９】
【数１】
2005311490.tif 000003
【００４０】
Ｋ＝３、Ｈ〔０〕＝２、Ｈ〔１〕＝１、Ｈ〔３〕＝２の場合のツリー２０の構造を図３に示す。
【００４１】
以下、上記ツリーを基に規定された本実施形態の鍵取得方法について説明する。図４は、本実施形態の鍵取得方法を説明するためのフローチャートである。以下、図４に示す各ステップについて説明する。
【００４２】
ステップＳＴ１：
処理部１３は、上記ツリーの水平レイヤ０（最下層のレイヤ）に属する全てのセクションの各々に対して、当該セクションが含むサブツリーのリーフに割り当てられた受信装置４＿１〜４＿Ｎのうち、リボークする受信装置を特定する。また、処理部１３は、ｌに初期値「０」を代入する。
【００４３】
ステップＳＴ２：
処理部１３は、上記ツリーの水平レイヤ０に属する全てのセクションの各々に対して、当該セクションが含むサブツリーに対して採用されたリボケーション方式で、ステップＳＴ１で特定した受信装置をリボークする処理を行う。すなわち、処理部１３は、上記採用されたリボケーション（ＲＶ）方式を基にリボケーション処理を行い、当該サブツリーに属する受信装置４＿１〜４＿Ｎのうちリボークされない受信装置との通信に使用する鍵暗号鍵データＫＥＫを決定するために用いられるデータ、例えば、リボークするリーフの位置などを示すデータを生成する。
【００４４】
ステップＳＴ３：
処理部１３は、ｌをインクリメントする。すなわち、ｌ＝ｌ＋１を演算する。
【００４５】
ステップＳＴ４：
処理部１３は、上記ツリーの水平レイヤｋに属する全てのセクションの各々に対して、当該セクションが含むサブツリーのリーフ（ノード、水平レイヤｌ−１のルート）のうち、その下層にリボークされる受信装置があるリーフ、すなわちリボークにより影響を受けるリーフを特定する。
【００４６】
ステップＳＴ５：
処理部１３は、上記ツリーの水平レイヤｌに属する全てのセクションの各々に対して、当該セクションが含むサブツリーに対して採用されたリボケーション方式で、ステップＳ４１で特定したリーフをリボークする処理を行う。すなわち、処理部１３は、上記採用されたリボケーション（ＲＶ）方式を基にリボケーション処理を行い、当該サブツリーに属するリーフのうちリボークの影響を受けないリーフの下層にある受信装置との通信に使用する鍵暗号鍵データＫＥＫを決定するために用いられるデータ、例えば、リボークするノードの位置などを示すデータを生成する。
【００４７】
ステップＳＴ６：
処理部１３は、ｌ＝Ｌであるか否かを判断し、ｌ＝Ｌであると判断した場合にはステップＳＴ７へ進み、そうでない場合にステップＳＴ３の処理に戻る。
【００４８】
ステップＳＴ７：
処理部１３は、ステップＳＴ１〜ＳＴ６によって、全ての水平レイヤに属する全てのセクションについて行われたＲＶ処理の結果を基に、リボークしない受信装置４＿１〜４＿Ｎとの間の通信に用いる鍵暗号鍵データＫＥＫｍを生成する。ここで、ｍは１〜Ｍの整数であり、Ｍは、リボークしない全ての受信装置との通信に用いる鍵暗号鍵データＫＥＫの数を示している。この場合に、リボークする受信装置の上記ツリー上の位置に応じて、複数のリボークしない受信装置が共通の鍵暗号鍵データＫＥＫｍを使用する場合がある。
【００４９】
次に、本実施形態において採用する鍵取得方法ＳＫＴである鍵取得方法ＳＫＴ−ＡおよびＳＫＴ−Ｂについて説明する。鍵取得方法ＳＫＴ−Ａ，ＳＫＴ−Ｂは、前述した非特許文献１に開示されているＬＳＤ方式に比べて、受信装置４＿１〜４＿Ｎが記憶するラベルデータＬＡＢＥＬおよび鍵データＫ＿ＯＲＧのデータ量が少なく、非特許文献２に開示されているＣＳＴ方式に比べてリボケーション処理に伴う鍵管理装置３と受信装置４＿１〜４＿Ｎとの間の通信量が小さいという特徴を有している。
【００５０】
先ず、鍵取得方法ＳＫＴ−Ａについて説明する。図５は、鍵取得方法ＳＫＴ−Ａを説明するための図である。図５に示すように、鍵取得方法ＳＫＴ−Ａでは、ツリーを２つの水平レイヤＡ０，Ａ１に分割する。ここで、水平レイヤＡ０が本発明の第１のレイヤに対応し、水平レイヤＡ１が本発明の第２のレイヤに対応している。最下層の水平レイヤＡ０の高さをＨＡ〔０〕とし、水平レイヤＡ１の高さを（ｌｏｇ２Ｎ−ＨＡ〔０〕）とする。ここで、Ｎは受信装置４＿１〜４＿Ｎの総数を示す。そして、水平レイヤＡ０に属する各セクション３１〔０〕のリボケーション方式として上記非特許文献１に開示されているＬＳＤ方式を採用する。また、水平レイヤＡ１に属する各セクション３１〔１〕のリボケーション方式として上記非特許文献２に開示されているＣＳＴ方式を採用する。
【００５１】
ここで、鍵取得方法ＳＫＴ−Ａにおいて、Ｒ個の受信装置４＿１〜４＿Ｎのリボークが、上記ツリーを構成するＲ０Ａ個のセクションに影響を与えるとする。この場合に、リボークに伴う鍵管理装置３とリボークされない受信装置４＿１〜４＿Ｎとの間の通信量のディメンションは、鍵取得方法ＳＫＴ−Ａの場合には下記式（２）に示すＯ（ＣＯＡ）となる。
【００５２】
Ｏ（ＣＯＡ）＝Ｏ（Ｒ＋Ｒ０Ａ（ｌｏｇ２Ｎ−Ｈ０Ａ）−Ｒ０Ａｌｏｇ２Ｒ０Ａ）
…（２）
次に、鍵取得方法ＳＫＴ−Ｂについて説明する。図６は、鍵取得方法ＳＫＴ−Ｂを説明するための図である。図６に示すように、鍵取得方法ＳＫＴ−Ｂでは、ツリーを３つの水平レイヤＢ０，Ｂ１，Ｂ２に分割する。
【００５３】
最下層の水平レイヤＢ０の高さをＨＢ〔０〕とし、水平レイヤＢ１の高さをＨＢ〔１〕とし、水平レイヤＢ２の高さを（ｌｏｇ２Ｎ−ＨＢ〔０〕−ＨＢ〔１〕）とする。そして、水平レイヤＢ０に属する各セクション３１〔０〕のリボケーション方式として上記非特許文献１に開示されているＬＳＤ方式を採用する。また、水平レイヤＢ１に属する各セクション３１〔１〕のリボケーション方式として上記非特許文献１に開示されているＬＳＤ方式を採用する。さらに、水平レイヤＢ２に属する各セクション３１〔２〕のリボケーション方式として上記非特許文献２に開示されているＣＳＴ方式を採用する。
【００５４】
ここで、上述した鍵取得方法ＳＫＴ−Ｂにおいて、Ｒ個の受信装置４＿１〜４＿Ｎのリボークが、上記ツリーを構成する水平レイヤＢ１のＲ０Ｂ個のセクションに影響を与え、さらに水平レイヤＢ２のＲ１Ｂ個のセクションに影響を与えるとする。
この場合に、リボークに伴う鍵管理装置１０３とリボークされない受信装置１０４＿１〜１０４＿Ｎとの間の通信量のディメンションは、鍵取得方法ＳＫＴ−Ｂの場合には下記式（３）に示すＯ（ＣＯＢ）となる。
【００５５】
Ｏ（ＣＯＢ）＝
（Ｒ＋Ｒ０Ｂ＋Ｒ１Ｂ（（ｌｏｇ２Ｎ）−ＨＢ〔１〕−ＨＢ〔０〕）−Ｒ１Ｂｌｏｇ２Ｒ１Ｂ）
…（３）
以下、ＣＳＴ方式について説明する。
【００５６】
図７〜図９は、ＣＳＴ方式を説明するための図である。以下の説明では、図７に示すように、１６個の受信装置ｕ１〜ｕ１６に対してＣＳＴ方式でリボケーション処理を行う場合を例示する。ＣＳＴ方式では、２分ツリーの各ノードを用いて、「そのノードを頂点とする２分ツリーのリーフに割り当てられた受信装置からなる集合」を規定する。図７に示す例では、ノードｉは、受信装置ｕ５とｕ６を要素とする集合を示す。そして、各ノードにノードキー（ＳＫＴ−Ａでは鍵データＫ＿ＯＲＧに対応）が定義される。
【００５７】
各受信装置には、それが割り当てられているリーフから、鍵管理装置が割り当てられているツリーのルートに至るパス上のノードに割り当てられたノードキーが与えられ、受信装置はこれらのノードキーを安全なメモリに保持する。図８に示すように、受信装置ｕ４には、ノード１，２，４，９，１９に割り当てられた５個のノードキーが与えられる。すなわち、全受信装置数をＮとした場合には、各受信装置はｌｏｇＮ＋１個のノードキーを保持する。
【００５８】
図９は、秘密情報（たとえば、暗号化されたコンテンツを復号するためのコンテンツキー）をどのようにリボークされない受信装置に送信するかを説明するための図である。ここで、受信装置ｕ２，ｕ１１，ｕ１２がリボークする受信装置とする。この場合に、リボークする受信装置ｕ２，ｕ１１，ｕ１２が割り当てられているリーフからツリーのルートに至るパス上のノードに割り当てられたノードキーは使用することができない。これは、これらのノードキーを使用するとリボークする受信装置が秘密情報を入手できてしまうためである。そして、これらのノードおよびパスをツリーから除外すると、１つ以上のサブツリー（部分ツリー）が残る。それぞれのサブツリーの頂点に最も近いノード（図９ではノード５，７，９，１２，１６）に割り当てられたノードキーを用いて秘密情報を暗号化して送信することで、効率的で安全な秘密情報の送信を行う。
【００５９】
受信装置は、伝送された暗号文のうち、自分が復号できるもの、すなわち、自身が割り当てられたリーフからルートに至るまでのパス上のノードに対応するノードキーを用いて暗号化されたものを復号して秘密情報を得る。上記の例では、例えば、受信装置ｕ４はノード９のノードキーを保持しているので、これを用いて暗号化された暗号文を復号する。ＣＳＴ方式では、リボークしない受信装置が復号できる暗号文は必ずひとつ存在する。
【００６０】
次に、ＬＳＤ方式の前提となったＳＤ(Subset Difference)方式について説明する。
【００６１】
図１０〜図１３は、ＳＤ方式を説明するための図である。上述したように、ＣＳＴ方式においては、ツリーの各ノードを用いて、「そのノードを頂点とするサブツリーのリーフに割り当てられた受信装置からなる集合」を表している。これに対し、ＳＤ方式では、ツリーの２つのノードｉ，ｊ（ただしｉはｊの先祖であるノード）を用いて、「（ノードｉを頂点とするサブツリーのリーフからなる集合）から（ノードｉを頂点とするサブツリーのリーフからなる集合）を引いた集合」を定義する。
【００６２】
例えば、図１０に示すノードｉ，ｊで定義される集合Ｓ（ｉ，ｊ）は、受信装置ｕ１〜ｕ８の集合から受信装置ｕ５，ｕ６を除いたものであり、すなわち、Ｓ（ｉ，ｊ）＝｛ｕ１，ｕ２，ｕ３，ｕ４，ｕ５，ｕ６，ｕ７，ｕ８，ｕ９｝−｛ｕ５，ｕ６｝である。ノードｉがノードｊの先祖である（すなわち、ノードｊはノードｉと同一ではなく、ノードｊからルートへのパス上にノードｉが存在する）全てのノードの組についてこのような集合を定義する。
【００６３】
そして、各集合に、ラベルデータＬＡＢＥＬを割り当てる。また、ラベルデータＬＡＢＥＬを基に所定の演算（例えば、当該ラベルデータＬＡＢＥＬをキーとして疑似乱数を生成して）を行ってサブセットキーを得る。当該サブセットキーは、当該集合の要素である受信装置と鍵管理装置との間の通信において、鍵暗号鍵データＫＥＫとして用いられる。
【００６４】
ＳＤ方式では、一つの受信装置が所属する集合の個数はＯ（Ｎ）となるため、それぞれの集合（サブセット）に鍵データＳＫ（サブセットキー）を独立に割り当てたのでは、各受信装置がＯ（Ｎ）個のサブセットキーに対応するラベルデータＬＡＢＥＬを安全に保持する必要があるが、これはＮが大きいときには現実的に困難である。
【００６５】
そのため、ＳＤ方式では以下に述べる手法により、各受信装置が保持するラベルデータＬＡＢＥＬの数を削減している。例えば、図１１（Ａ）に示すように、内部ノード（すなわち、リーフでないノード）ｉに注目し、そのノードのラベルデータＬＡＢＥＬ（ｉ）としてＣビットの値Ｓをランダムに選択する。
【００６６】
次に、図１２に示すように、Ｃビット入力、３Ｃビット出力の擬似乱数生成器Ｇに、ＬＡＢＥＬ（ｉ）の値Ｓを入力する。そして、擬似乱数生成器Ｇからの３Ｃビットの出力を左から（最上位ビット側から）Ｃビットずつに区切り、それぞれＧＬ（Ｓ），ＧＭ（Ｓ），ＧＲ（Ｓ）とする。
【００６７】
そして、ＧＬ（Ｓ）を、ノードｉの左側（一方）の子ノードのラベルデータＬＡＢＥＬとし、ＧＲ（Ｓ）をノードｉの右側（他方）の子ノードのラベルデータＬＡＢＥＬとする。この処理により、図１１においてノードｉの左側の子であるノードｋについて、ノードｉを始点にした場合のノードｋのラベルデータＬＡＢＥＬ（ｉ，ｋ）は、ＬＡＢＥＬ（ｉ，ｋ）＝ＧＬ（Ｓ）となる。そして、これをＴとする。
【００６８】
次に、Ｔを上記の擬似乱数生成器Ｇに入力し、その出力を左からＣビットずつに区切って、ＧＬ（Ｔ），ＧＭ（Ｔ），ＧＲ（Ｔ）を得る。そして、ＧＬ（Ｔ），ＧＭ（Ｔ），ＧＲ（Ｔ）を、それぞれノードｉを始点にした場合のノードｋの左側の子ノードＬのラベルデータＬＡＢＥＬ（ｉ，ｋＬ）、ノードｉを始点にした場合のノードｋのラベルデータＬＡＢＥＬ（ｉ，ｋ）、ノードｉを始点にした場合のノードｋの右側の子ノードｋＲのラベルデータＬＡＢＥＬ（ｉ，ｋＲ）とする。この処理を繰り返すことにより、ノードｉを始点とした場合の、その子孫となるすべてのノードに対応するラベルを作り出す。
【００６９】
なお、上記の定義によれば集合Ｓ（ｉ，ｉ）は空集合であり、ノードｉを始点とした場合に、ノードｉの鍵というものは不要であるため、ＬＡＢＥＬ（ｉ）を擬似乱数生成器Ｇに入力した出力の中央部分であるＧＭ（Ｓ）は使われない。図１１（Ａ）に示すように、始点であるノードｉのラベルデータＬＡＢＥＬ（ｉ）の値Ｓが定められ、ＧＲ（Ｓ）がノードｉを始点とした場合のノードｉの右の子ノードのラベルデータＬＡＢＥＬとなり、さらにそれを擬似乱数生成器Ｇに入力して得られたＧＬ（Ｓ）が、ノードｉを始点とした場合のノードｊのラベルデータＬＡＢＥＬとなる。この処理を、すべての内部ノードｉに対して行う。
【００７０】
これらの処理はシステムのセットアップ時に鍵管理装置によって行われるが、擬似乱数生成器（あるいは擬似乱数生成関数）Ｇは鍵管理装置によって定められ公開されており、これを用いることによって、ＬＡＢＥＬ（ｉ，ｊ）を与えられた受信装置は、ノードｉを始点とした場合の、ノードｊの子孫となるすべてのノードｎのラベルＬＡＢＥＬ（ｉ，ｎ）を計算でき、ノードｉを始点とした場合の、ノードｊおよびその子孫ノードｎのサブセットキーＳＫ（ｉ，ｎ）を計算できる。
【００７１】
このようにしておけば、図１１（Ｂ）に示すように、ある受信装置ｕは、それが割り当てられたリーフからツリーの頂点へのパス上のそれぞれの内部ノードｉについて、ノードｉを始点として、このリーフからｉへのパスから直接枝分かれしているノードのラベルデータＬＡＢＥＬのみを保持しておけば、そのノードおよびそれ以降の（その子孫となる）ノードの、ノードｉを始点としたサブセットキーを作り出すことが可能となる。図１１（Ｂ）では、ノードｉに注目したときに、ｕからｉへのパスから直接枝分かれしているノードは３つであり、受信装置ｕは、これら３つのラベルデータＬＡＢＥＬをシステムのセットアップ時に鍵管理装置から受け取る。
【００７２】
以下、図１３に示す例において、受信装置ｕ４について考える。
【００７３】
受信装置ｕ４については、それが割り当てられたリーフであるノード１９から、ルート１へのパス上の内部ノード１，２，４，９が始点（ノードｉ）となる。
【００７４】
ノード１を始点とすると、ノード１９からノード１へのパスから直接枝分かれしているノードはノード３，５，８，１８の４つであるため、ＬＡＢＥＬ（１，３），（１，５），（１，８），（１，１８）を受信装置ｕ４は保持する。同様に、ノード２を始点とした場合にＬＡＢＥＬ（２，５），（２，８），（２，１８）３つのラベルデータＬＡＢＥＬを、ノード４を始点とした場合にはＬＡＢＥＬ（４，８），（４，１８）の２つのラベルデータＬＡＢＥＬを、ノード９を始点とした場合にはＬＡＢＥＬ（９，１８）を保持する。
【００７５】
また、リボークする受信装置がないという特別な場合に使用する、全受信装置を含む集合（これをＳ１，φと表すことにする）に対応するラベルデータＬＡＢＥＬ（１）をひとつ保持する。ただし、Ｓ（１），φに対応するラベルデータＬＡＢＥＬとしているが、ラベルデータＬＡＢＥＬではなくＳ１、Φに対応するサブセットキーを直接保持してもよい。
【００７６】
上記のように、各受信装置は、リーフからルートへのパス上の各内部ノードについて、その内部ノードの高さ分だけのラベルデータＬＡＢＥＬを保持する必要がある。これらのラベルデータＬＡＢＥＬは、公開されているＧを用いることによりサブセットキーを作り出せるものであるため、受信装置はこれらを安全に保持する。
【００７７】
以下、上述したＳＤ方式を基礎としたＬＳＤ（Basic Layered Subset Difference）方式を説明する。
【００７８】
ＬＳＤ方式には、Ｂａｓｉｃ（基本）方式と、その拡張であるＧｅｎｅｒａｌ（一般化）方式がある。ここではＢａｓｉｃ方式について説明する。ＬＳＤ方式はＳＤ方式の拡張であり、レイヤという新たな概念を取り入れたものである。ＳＤ方式における木構造の中で、特定の高さを特別レベル（Ｓｐｅｃｉａｌ  Ｌｅｖｅｌ）として定義する。
【００７９】
Ｂａｓｉｃ＿ＬＳＤ方式においては特別ラベルは１種類だけであるが、Ｇｅｎｅｒａｌ＿ＬＳＤ方式においては重要度の異なる複数の特別レベルを用いる。ここで、簡単のため、ｌｏｇ1/2 Ｎを整数であるとする。
【００８０】
Ｂａｓｉｃ＿ＬＳＤ方式では、図１４に示すように、ツリーのルートからリーフに至るまでのそれぞれのレベル（階）のうち、ルートとリーフのレベルを含む、ｌｏｇ1/2 Ｎごとのレベルを特別レイヤとする。そして、隣り合う２つの特別レイヤに挟まれた階層（両方の特別レベルを含む）を、レイヤと呼ぶ。
【００８１】
図１４の例では、ルートのレベル、ノードｋを含むレベル、リーフのレベルが特別レベルであり、ルートのレベルとノードｉを含むレベルとノードｋを含むレベルが１つのレイヤを構成する。またノードｋを含むレベルとノードｊを含むレベルとリーフを含むレベルが別のレイヤを構成する。
【００８２】
Ｂａｓｉｃ＿ＬＳＤ方式においては、ＳＤ方式において定義されたサブセットＳ（ｉ，ｊ）のうち、ノードｉとノードｊが同一レイヤにあるか、もしくはノードｉが特別レベルにあるものだけを定義する。このようにすると、ＳＤ方式において用いられたサブセットのうちのいくつかはＢａｓｉｃ＿ＬＳＤ方式では定義されなくなるが、このサブセットはＢａｓｉｃ＿ＬＳＤ方式で定義されたサブセットの高々２つの和集合で表すことができる。
【００８３】
例えば、図１４の例では、サブセットＳ（ｉ，ｊ）はＢａｓｉｃ＿ＬＳＤ方式では定義されないが、ノードｉからノードｊへのパス上の、ノードｉに最も近い特別レベル上のノード（ノードｋ）を用いて、Ｓ（ｉ，ｊ）＝Ｓ（ｉ，ｋ）∪Ｓ（ｋ，ｊ）と表すことができる。つまり、ＳＤ方式においてはサブセットＳ（ｉ，ｊ）に対応するサブセットキーＳｋ（ｉ，ｊ）を用いて暗号化した１つの暗号文の代わりに、Ｂａｓｉｃ＿ＬＳＤ方式においてはサブセットＳ（ｉ，ｋ）とＳ（ｋ，ｊ）に対応するサブセットキーＳｋ（ｉ，ｋ），ＳＫ（ｋ，ｊ）を用いて暗号化した２つの暗号文を送信する。
【００８４】
これにより、送信される暗号文の数はＳＤ方式の高々２倍に増加するが、各受信機が保持するラベルの数を減らすことができる。
【００８５】
図１５に、図１３のＳＤ方式で想定したのと同じ場合においてＢａｓｉｃ＿ＬＳＤ方式を適用した場合を説明する。
【００８６】
図１５に示す受信装置ｕ４は、ｉ，ｊが同一レイヤにあるか、ｉが特別レベルにあるラベルデータＬＡＢＥＬ（ｉ，ｊ）のみ保持すればよい。すなわち、受信装置ｕ４が保持するラベルデータＬＡＢＥＬは、ラベルデータＬＡＢＥＬ（１，３），（１，５），（１，８），（１，１８），（２，５），（４，８），（４，１８），（９，１８）となる。さらに、ＳＤ方式と同様に、リボークする受信機がない場合に用いる特別なラベルも保持する必要がある。
【００８７】
以下、図２に示す鍵管理装置３の動作例を説明する。鍵管理装置３の動作は、上述したように、プログラムＰＲＧ１を基にした処理部１３の処理により実現される。
【００８８】
〔前処理の動作例〕
図１６は、鍵管理装置３が上述した前処理を行う場合の動作例を説明するためのフローチャートである。前述したように、鍵管理装置３の処理部１３は、リボケーション処理に先立って、例えば、受信装置４＿１〜４＿Ｎの登録時などに、以下に示す前処理を行う。
【００８９】
ステップＳＴ１１：
鍵管理装置３は、上述した鍵取得方法ＳＫＴのうち、鍵取得方法ＳＫＴ−ＡおよびＳＫＴ−Ｂを、受信装置のリボケーション処理に使用する鍵取得方法として規定する。
【００９０】
ステップＳＴ１２：
鍵管理装置３は、鍵取得方法ＳＫＴ−ＡおよびＳＫＴ−Ｂ、並びに鍵取得方法ＳＫＴ−ＡおよびＳＫＴ−Ｂで使用する鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬを受信装置４＿１〜４＿Ｎに設定する。
【００９１】
具体的には、鍵管理装置３は、受信装置４＿１〜４＿Ｎの各々に、図５に示す鍵取得方法ＳＫＴ−Ａにおける水平レイヤＡ０内の当該受信装置が属するサブツリー内の他の何れの受信装置が無効にされる場合でも、当該サブツリー内の無効にされない受信装置のみを要素とする集合が存在するように規定された複数の集合にそれぞれ割り当てられた複数のラベルデータＬＡＢＥＬを取得するためのラベルデータＬＡＢＥＬを設定する。
【００９２】
また、鍵管理装置３は、受信装置４＿１〜４＿Ｎの各々に、図５に示す水平レイヤＡ１内の当該受信装置に対応する最終端のノードと前記ルートとの間のパス上に位置する全てのノードにそれぞれ割り当てられた複数の鍵データＫ＿ＯＲＧを設定する。
【００９３】
また、鍵管理装置３は、受信装置４＿１〜４＿Ｎの各々に、図６に示す鍵取得方法ＳＫＴ−Ｂにおける水平レイヤＢ０内の当該受信装置が属するサブツリー内の他の何れの受信装置が無効にされる場合でも、当該サブツリー内の無効にされない受信装置のみを要素とする集合が存在するように規定された複数の集合にそれぞれ割り当てられた複数のラベルデータＬＡＢＥＬを取得するためのラベルデータＬＡＢＥＬを設定する。
【００９４】
また、鍵管理装置３は、受信装置４＿１〜４＿Ｎの各々に、図６に示す水平レイヤＢ１内の何れのサブツリー内がその分岐先に無効にされる受信装置を含む場合でも、当該サブツリー内の無効にされない受信装置のみを分岐先に含む最終端のノードのみを要素とする集合が存在するように規定された複数の集合にそれぞれ割り当てられた複数のラベルデータＬＡＢＥＬを取得するためのラベルデータＬＡＢＥＬを設定する。
【００９５】
また、鍵管理装置３は、受信装置４＿１〜４＿Ｎの各々に、図６に示す水平レイヤＢ２内の当該受信装置に対応する最終端のノードと前記ルートとの間のパス上に位置する全てのノードにそれぞれ割り当てられた複数の鍵データＫ＿ＯＲＧを設定する。
【００９６】
鍵管理装置３は、例えば、受信装置４＿１〜４＿Ｎの発行あるいは登録時に、受信装置４＿１〜４＿Ｎに対して個別に上記設定をセキュアな状態で行う。
【００９７】
〔リボケーション処理の動作例〕
図１７および図１８は、鍵管理装置３が上述したリボケーション処理を行う場合の動作例を説明するためのフローチャートである。鍵管理装置３の処理部１３は、受信装置４＿１〜４＿Ｎのうち何れかをリボークする場合に、当該リボケーション処理を行う。
【００９８】
ステップＳＴ２１：
鍵管理装置３は、受信装置４＿１〜４＿Ｎのうちリボークする受信装置を示すリボケーションリストＲＬを生成する。
【００９９】
ステップＳＴ２２：
鍵管理装置３は、リボケーションリストＲＬを基に、上述した鍵取得方法ＳＫＴ−ＡおよびＳＫＴ−Ｂの各々について、当該鍵取得方法を採用した場合に、鍵管理装置３とリボークしない受信装置４＿１〜４＿Ｎとの間に生じる通信量を特定する。
【０１００】
ステップＳＴ２３：
鍵管理装置３は、ステップＳＴ２２で特定した鍵取得方法ＳＫＴ−Ａを採用した場合の通信量が、鍵取得方法ＳＫＴ−Ｂを採用した場合の通信量以上であるか否かを判断する。鍵管理装置３は、ステップＳＴ２２で特定した鍵取得方法ＳＫＴ−Ａを採用した場合の通信量が鍵取得方法ＳＫＴ−Ｂを採用した場合の通信量以上であると判断すると鍵取得方法ＳＫＴ−Ａを選択してステップＳＴ２４に進み、そうでない場合には鍵取得方法ＳＫＴ−Ｂを選択してステップＳＴ２５に進む。
【０１０１】
ステップＳＴ２４：
鍵管理装置３は、ステップＳＴ２１で生成したリボケーションリストＲＬを基に、リボークしない受信装置４＿１〜４＿Ｎとの間の通信に用いる鍵暗号鍵データＫＥＫｍを、鍵取得方法ＳＫＴ−Ａに従って特定する。当該処理については、後に詳細に説明する。
【０１０２】
ステップＳＴ２５：
鍵管理装置３は、ステップＳＴ２１で生成したリボケーションリストＲＬを基に、リボークしない受信装置４＿１〜４＿Ｎとの間の通信に用いる鍵暗号鍵データＫＥＫｍを、鍵取得方法ＳＫＴ−Ｂに従って特定する。当該処理については、後に詳細に説明する。
【０１０３】
ステップＳＴ２６：
鍵管理装置３は、図１９に示すように、ステップＳＴ２４あるいはＳＴ２５で特定した鍵暗号鍵データＫＥＫｍの生成に用いる鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬを指定した鍵指定データＫＩＤｍと、ステップＳＴ２３で選択した鍵取得方法を指定する鍵取得方法指定データＫＯＩＤｍとを含む指定データＩｍを生成する。
【０１０４】
なお、鍵指定データＫＩＤｍにおける鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬの指定は、鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬに割り当てられたインデックスなどの識別データを基に行い、鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬ自体は含めない。
【０１０５】
ステップＳＴ２７：
鍵管理装置３は、新たな（更新後の）鍵データＮＥＷ＿ＳＥＫを、ステップＳＴ２４あるいはＳＴ２５で生成した鍵暗号鍵データＫＥＫｍで暗号化してデータＥＫＥＫｍ（ＮＥＷ＿ＳＥＫ）を生成する。
【０１０６】
ステップＳＴ２８：
鍵管理装置３は、受信装置４＿１〜４＿Ｎに提供する秘密情報であるペイロードデータＰＡＹＬを、新たな鍵データＮＥＷ＿ＳＥＫを用いて暗号化してデータＥＮＥＷ＿ＳＥＫ（ＰＡＹＬ）を生成する。
【０１０７】
ステップＳＴ２９：
鍵管理装置３は、ステップＳＴ２６で生成した指定データＩｍ（Ｉ１〜ＩＭ）と、ステップＳＴ２７で生成したデータＥＫＥＫｍ（ＮＥＷ＿ＳＥＫ）と、ステップＳＴ２８で生成したＥＮＥＷ＿ＳＥＫ（ＰＡＹＬ）とを格納したデータである図２０に示すカプセルデータＣＡＰを生成する。
【０１０８】
ステップＳＴ３０：
鍵管理装置３は、ステップＳＴ２９で生成したカプセルデータＣＡＰを、図２に示す通信部１１を介して、例えば、無線方式で放送（送信）する。当該放送は、いわゆるＰＵＳＨ配信である。なお、本実施形態における通信量は、ステップＳＴ３０における送信による通信に応じて決まり、前述したように、鍵取得方法ＳＫＴ−ＡとＳＫＴ−Ｂのうちより通信量が少ない方が採用される。
【０１０９】
以下、図１７に示すステップＳＴ２４、すなわち、鍵取得方法ＳＫＴ−Ａを採用した場合の鍵暗号鍵データＫＥＫｍの生成方法について詳細に説明する。図２１は、図１７に示すステップＳＴ２４、すなわち鍵取得方法ＳＫＴ−Ａを基にした鍵暗号鍵データＫＥＫの生成方法を説明するための図である。
【０１１０】
ステップＳＴ３１：
鍵管理装置３は、図５に示す水平レイヤＡ０に属するサブツリー（ＳＵＢＴ）のうちリボークする受信装置を含む全てのサブツリーの各々に対して、当該サブツリーに属する受信装置を各々が要素とする予め規定された複数の集合のなかから、当該サブツリー内の無効にされない受信装置のみを要素とする集合を特定する。
【０１１１】
ステップＳＴ３２：
鍵管理装置３は、図５に示す水平レイヤＡ１内の最終端のノードのうち、当該ノードの分岐先に無効にする受信装置が存在しないノードを特定する。
【０１１２】
ステップＳＴ３３：
鍵管理装置３は、ステップＳＴ３２で特定した全てのノードに対して、当該ノードとルートとの間のパス上に位置するノードのなかで、当該ノードから分岐した前記リーフに無効にする前記受信装置が無く、かつルートに最も近いノードを特定する。
【０１１３】
ステップＳＴ３４：
鍵管理装置３は、ステップＳＴ３１で特定した集合（あるいはそのラベルデータＬＡＢＥＬ）に対応付けられた鍵暗号鍵データＫＥＫｍを、当該集合の要素である受信装置４＿１〜４＿Ｎとの間の通信に使用することを決定する。
【０１１４】
鍵管理装置３は、例えば、図５に示す水平レイヤＡ０内の全てのサブセットの上記集合と鍵暗号鍵データＫＥＫｍとを対応付けて保持し、ステップＳＴ３１で特定した集合に対応する鍵暗号鍵データＫＥＫを特定する。
【０１１５】
また、鍵管理装置３は、例えば、図５に示す水平レイヤＡ０内の上述した集合であるサブセットＳ（ｉ，ｊ）のうち、ノードｉとノードｊが同一レイヤにあるか、もしくはノードｉが特別レベルにあるものに対応するラベルデータＬＡＢＥＬ（ｉ，ｊ）を保持し、これを基に、図１０〜図１４を用いて説明した方法でラベルデータＬＡＢＥＬを生成し、このラベルデータＬＡＢＥＬを基にそのサブセットキーである鍵暗号鍵データＫＥＫｍを生成してもよい。
【０１１６】
そして、鍵管理装置３は、上記特定（生成）した鍵暗号鍵データＫＥＫｍを、上記特定した集合の要素である受信装置４＿１〜４＿Ｎが生成するために用いるラベルデータＬＡＢＥＬを指定する鍵・ラベル指定データＫＩＤｍを含む指定データＩｍを生成する。
【０１１７】
ステップＳＴ３５：
鍵管理装置３は、ステップＳＴ３３で特定したノードに対応する鍵データＫ＿ＯＲＧ（ノードキー）を鍵暗号鍵データＫＥＫｍとして、当該ノードの分岐先の受信装置４＿１〜４＿Ｎとの通信に使うことを決定する。そして、鍵管理装置３は、上記決定した鍵暗号鍵データＫＥＫｍである鍵データＫ＿ＯＲＧを指定する鍵指定データＫＩＤｍを含む指定データＩｍを生成する。
【０１１８】
以下、図１７に示すステップＳＴ２５、すなわち、鍵取得方法ＳＫＴ−Ｂを採用した場合の鍵暗号鍵データＫＥＫｍの生成方法について詳細に説明する。図２２は、図１７に示すステップＳＴ２５、すなわち鍵取得方法ＳＫＴ−Ｂを基にした鍵暗号鍵データＫＥＫの生成方法を説明するための図である。
【０１１９】
ステップＳＴ４１：
鍵管理装置３は、図６に示す水平レイヤＢ０に属するサブツリー（ＳＵＢＴ）のうちリボークする受信装置を含む全てのサブツリーの各々に対して、当該サブツリーに属する受信装置を各々が要素とする予め規定された複数の集合のなかから、当該サブツリー内の無効にされない受信装置のみを要素とする集合を特定する。
【０１２０】
ステップＳＴ４２：
鍵管理装置３は、図６に示す水平レイヤＢ１に属するサブツリー（ＳＵＢＴ）に対して、当該サブツリー内の最終端のノードのうち分岐先に無効にしない受信装置のみを含むノードのみを要素とする集合を特定する。
【０１２１】
ステップＳＴ４３：
鍵管理装置３は、図６に示す水平レイヤＢ２内の最終端のノードのうち、当該ノードの分岐先に無効にする受信装置が存在しないノードを特定する。
【０１２２】
ステップＳＴ４４：
鍵管理装置３は、ステップＳＴ４３で特定した全てのノードに対して、当該ノードとルートとの間のパス上に位置するノードのなかで、当該ノードから分岐した前記リーフに無効にする前記受信装置が無く、かつルートに最も近いノードを特定する。
【０１２３】
ステップＳＴ４５：
鍵管理装置３は、ステップＳＴ４１で特定した集合（あるいはそのラベルデータＬＡＢＥＬ）に対応付けられた鍵暗号鍵データＫＥＫｍを、当該集合の要素である受信装置との間の通信に使用することを決定する。鍵管理装置３は、例えば、図６に示す水平レイヤＢ０内の全てのサブセットの上記集合と鍵暗号鍵データＫＥＫｍとを対応付けて保持し、ステップＳＴ４１で特定した集合に対応する鍵暗号鍵データＫＥＫを特定する。
【０１２４】
また、鍵管理装置３は、例えば、図６に示す水平レイヤＢ０内の上述した集合であるサブセットＳ（ｉ，ｊ）のうち、ノードｉとノードｊが同一レイヤにあるか、もしくはノードｉが特別レベルにあるものに対応するラベルデータＬＡＢＥＬ（ｉ，ｊ）を保持し、これを基に、図１０〜図１５を用いて説明した方法でラベルデータＬＡＢＥＬを生成し、このラベルデータＬＡＢＥＬを基にそのサブセットキーである鍵暗号鍵データＫＥＫｍを生成してもよい。
【０１２５】
そして、鍵管理装置３は、上記特定（生成）した鍵暗号鍵データＫＥＫｍを、上記特定した集合の要素である受信装置４＿１〜４＿Ｎが生成するために用いるラベルデータＬＡＢＥＬを指定する鍵・ラベル指定データＫＩＤｍを含む指定データＩｍを生成する。
【０１２６】
ステップＳＴ４６：
鍵管理装置３は、ステップＳＴ４２で特定した集合（あるいはそのラベルデータＬＡＢＥＬ）に対応付けられた鍵暗号鍵データＫＥＫｍを、当該集合の要素である受信装置との間の通信に使用することを決定する。当該鍵暗号鍵データＫＥＫの決定（生成）方法は、ステップＳＴ４５と同様である。そして、鍵管理装置３は、上記特定（生成）した鍵暗号鍵データＫＥＫｍを、上記特定した集合の要素である受信装置４＿１〜４＿Ｎが生成するために用いるラベルデータＬＡＢＥＬを指定する鍵・ラベル指定データＫＩＤｍを含む指定データＩｍを生成する。
【０１２７】
ステップＳＴ４７：
鍵管理装置３は、ステップＳＴ４４で特定したノードに対応する鍵データＫ＿ＯＲＧ（ノードキー）を鍵暗号鍵データＫＥＫｍとして、当該ノードの分岐先の受信装置１０４＿１〜１０４＿Ｎとの通信に使うことを決定する。
【０１２８】
そして、鍵管理装置３は、上記決定した鍵暗号鍵データＫＥＫｍである鍵データＫ＿ＯＲＧを指定する鍵・ラベル指定データＫＩＤｍを含む指定データＩｍを生成する。
【０１２９】
〔受信装置４＿１〜４＿Ｎ〕
受信装置４＿１〜４＿Ｎは、例えば、ＰＤＡ(Personal Digital Assistant)や携帯電話などのユビキタスな端末装置である。図２３は、図１に示す受信装置４＿１〜４＿Ｎのハードウェア構成図である。受信装置４＿１〜４＿Ｎは、メモリ４２に記憶する鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬを除いて同じ構成を有している。図２３に示すように、受信装置４＿１〜４＿Ｎは、例えば、通信部４１、メモリ４２および処理部４３を有する。
【０１３０】
通信部４１は、鍵管理装置３がＰＵＳＨ方式で送信した前述したカプセルデータＣＡＰを無線方式で受信する。メモリ４２は、処理部４３によって実行されるプログラムＰＲＧ２と、プログラムＰＲＧ２の実行に用いられる種々データを記憶する。プログラムＰＲＧ２は、前述した鍵取得方法ＳＫＴ−ＡおよびＳＫＴ−Ｂの処理手順を含んでいる。
【０１３１】
メモリ４２は、鍵管理装置３による前述した前処理によって、受信装置４＿１〜４＿Ｎの各々に割り当てられた鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬを記憶する。具体的には、メモリ４２は、図５に示す鍵取得方法ＳＫＴ−Ａの水平レイヤＡ０内の当該受信装置が属するサブツリー内の他の何れの受信装置が無効にされる場合でも、当該サブツリー内の無効にされない前記受信装置のみを要素とする集合が存在するように規定された複数の集合にそれぞれ割り当てられた複数のラベルデータＬＡＢＥＬを取得するためのラベルデータＬＡＢＥＬを記憶する。
【０１３２】
また、メモリ４２は、図５に示す鍵取得方法ＳＫＴ−Ａの水平レイヤＡ１内の当該受信装置に対応する最終端のノードと前記ルートとの間のパス上に位置する全てのノードにそれぞれ割り当てられた複数の鍵データＫ＿ＯＲＧを記憶する。
【０１３３】
また、メモリ４２は、図６に示す鍵取得方法ＳＫＴ−Ｂの水平レイヤＢ０内の当該受信装置が属するサブツリー内の他の何れの受信装置が無効にされる場合でも、当該サブツリー内の無効にされない受信装置のみを要素とする集合が存在するように規定された複数の集合にそれぞれ割り当てられた複数のラベルデータＬＡＢＥＬを取得するためのラベルデータＬＡＢＥＬを記憶する。
【０１３４】
また、メモリ４２は、図６に示す水平レイヤＢ１内の何れのサブツリー内がその分岐先に無効にされる受信装置を含む場合でも、当該サブツリー内の無効にされない受信装置のみを分岐先に含む最終端のノードのみを要素とする集合が存在するように規定された複数の集合にそれぞれ割り当てられた複数のラベルデータＬＡＢＥＬを取得するためのラベルデータＬＡＢＥＬを記憶する。
【０１３５】
また、メモリ４２は、図６に示す水平レイヤＢ２内の当該受信装置に対応する最終端のノードと前記ルートとの間のパス上に位置する全てのノードにそれぞれ割り当てられた複数の鍵データＫ＿ＯＲＧを記憶する。
【０１３６】
ここで、メモリ４２が記憶する鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬのデータ量はオーダＯ（ＳＴ）は、下記式（４）で示される。
【０１３７】
Ｏ（ＳＴ）＝Ｏ（ｍａｘ｛（（ＨＡ〔０〕）１．５−ＨＡ〔０〕＋ｌｏｇ２Ｎ），（（ＨＢ〔０〕）１．５＋（ＨＢ〔１〕）１．５−ＨＢ〔０〕−ＨＢ〔１〕＋ｌｏｇ２Ｎ）｝
…（４）
処理部４３は、メモリ４２に記憶されたプログラムＰＲＧ２を実行し、その実行に応じて受信装置４＿１〜４＿Ｎの処理を統括して制御する。本実施形態において、受信装置４＿１〜４＿Ｎの処理は、処理部４３が実行するプログラムＰＲＧ２によって規定される。
【０１３８】
プログラムＰＲＧ２によって規定される処理部４３の機能は、受信装置４＿１〜４＿Ｎもユーザからは制御できないように構成されている。また、受信装置４＿１〜４＿Ｎのユーザは、これらの機能を全く意識せずに受信装置４＿１〜４＿Ｎを使用する。
【０１３９】
以下、受信装置４＿１〜４＿Ｎの動作例を説明する。
【０１４０】
図２４は、受信装置４＿１〜４＿Ｎの動作例を説明するためのフローチャートである。なお、受信装置４＿１〜４＿Ｎの動作は、処理部４３がプログラムＰＲＧ２を実行することで規定される。
【０１４１】
ステップＳＴ５１：
受信装置４＿１〜４＿Ｎの通信部４１が、図１８に示すステップＳＴ３０において鍵管理装置３が放送したカプセルデータＣＡＰを受信する。
【０１４２】
ステップＳＴ５２：
受信装置４＿１〜４＿Ｎの処理部４３が、ステップＳＴ５１で受信したカプセルデータＣＡＰ内に、自らに対応する鍵指定データＩｍが含まれているか否かを判断し、含まれていると判断するとステップＳＴ５３の処理に進み、そうでない場合には処理を終了する。
【０１４３】
ステップＳＴ５３：
処理部４３は、カプセルデータＣＡＰ内に、自らに対応する指定データＩｍを取得する。
【０１４４】
ステップＳＴ５４：
処理部４３は、メモリ４２が記憶する鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬのなかから、ステップＳＴ５２で取得した指定データＩｍ内の鍵・ラベル指定データＫＩＤｍが指定する鍵データＫ＿ＯＲＧｍあるいはラベルデータＬＡＢＥＬｍを特定する。
【０１４５】
ステップＳＴ５５：
処理部４３は、ステップＳＴ５３で取得した指定データＩｍ内の鍵取得方法指定データＫＯＩＤｍが鍵取得方法ＳＫＴ−ＡとＳＫＴ−Ｂのうち何れを指定しているかを特定する。
【０１４６】
ステップＳＴ５６：
処理部４３は、ステップＳＴ５４で特定した鍵データＫ＿ＯＲＧｍあるいはラベルデータＬＡＢＥＬｍを基に、ステップＳＴ５５で特定した鍵取得方法ＳＫＴ−ＡあるいはＳＫＴ−Ｂを基に鍵暗号鍵データＫＥＫｍを取得（生成）する。当該ステップＳＴ５６の処理については、後に詳細に説明する。
【０１４７】
ステップＳＴ５７：
処理部４３は、ステップＳＴ５７で取得（生成）した鍵暗号鍵データＫＥＫｍを用いて、カプセルデータＣＡＰ内のデータＥＫＥＫｍ（ＮＥＷ＿ＳＥＫ）を復号して新たな鍵データＮＥＷ＿ＳＥＫを取得する。
【０１４８】
ステップＳＴ５８：
処理部４３は、カプセルデータＣＡＰ内のデータＥＮＥＷ＿ＳＥＫ（ＰＡＹＬ）を、ステップＳＴ５７で取得した新たな鍵データＮＥＷ＿ＳＥＫを用いて復号してペイロードデータＰＡＹＬを取得する。
【０１４９】
受信装置４＿１〜４＿Ｎは、以後、次にリボケーション処理を行うまで、管理装置３から受信したデータを復号するために、ステップＳＴ５７で取得した鍵データＮＥＷ＿ＳＥＫを使用する。
【０１５０】
以下、図２４に示すステップＳＴ５６の処理を説明する。図２５は、図２４に示すステップＳＴ５６の処理を説明するためのフローチャートである。
【０１５１】
ステップＳＴ６１：
処理部４３は、図２４に示す前述したステップＳＴ５４でラベルデータＬＡＢＥＬｍを特定したか否かを判断し、ラベルデータＬＡＢＥＬｍを特定したと判断するとステップＳＴ６２に進み、鍵データＫ＿ＯＲＧｍを特定したと判断するとステップＳＴ６６に進む。
【０１５２】
ステップＳＴ６２：
処理部４３は、ステップＳＴ５４で特定したラベルデータＬＡＢＥＬｍの生成に必要なラベルデータＬＡＢＥＬを、メモリ４２が記憶（保持）しているか否かを判断し、メモリ４２が記憶していると判断するとステップＳＴ６５に進み、そうでない場合にはステップＳＴ６３に進む。
【０１５３】
ステップＳＴ６３：
処理部４３は、鍵指定データＩｍが指定するラベルデータＬＡＢＥＬｍに対応する集合を和集合とする２つの集合に対応するラベルデータＬＡＢＥＬを特定する。
【０１５４】
ステップＳＴ６４：
処理部４３は、ステップＳＴ６３で特定した２つのラベルデータＬＡＢＥＬを、必要に応じてメモリ４２に記憶されたラベルデータＬＡＢＥＬを基にそれぞれ生成する。そして、処理部４３は、当該２つのラベルデータＬＡＢＥＬを、それぞれキーとして疑似乱数発生器Ｇを基に疑似乱数を発生させて、２つのサブセットキーＳＫを生成する。そして、処理部４３は、当該２つのサブセットキーＳＫを基に鍵暗号鍵データＫＥＫｍを生成する。
【０１５５】
ステップＳＴ６５：
処理部４３は、ステップＳＴ５４で特定したラベルデータＬＡＢＥｍを、必要に応じてメモリ４２に記憶されたラベルデータＬＡＢＥＬを基に生成する。そして、処理部４３は、当該ラベルデータＬＡＢＥＬｍを、キーとして疑似乱数発生器Ｇを基に疑似乱数を発生させて、サブセットキーＳＫを生成する。そして、処理部４３は、当該サブセットキーＳＫを鍵暗号鍵データＫＥＫｍとする。
【０１５６】
ステップＳＴ６６：
処理部４３は、ステップＳＴ５４で特定した鍵データＫ＿ＯＲＧｍを、鍵暗号鍵データＫＥＫｍとする。
【０１５７】
以下、通信システム１の全体動作例を説明する。
【０１５８】
先ず、鍵管理装置３が、図１６を用いて前述した前処理により、所定の鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬを受信装置４＿１〜４＿Ｎに配信する。そして、鍵管理装置３が、所定の受信装置４＿１〜４＿Ｎをリボークする場合に、図１７、図１８、図２１および図２２を用いて前述した手法で、カプセルデータＣＡＰをリボークしない受信装置４＿１〜４＿Ｎに配信する。そして、受信装置４＿１〜４＿Ｎが、図２４および図２５を用いて説明した処理を行い、リボークしない受信装置４＿１〜４＿Ｎが、新たな鍵データＮＥＷ＿ＳＥＫを基に復号したペイロードデータＰＡＹＬを得る。
【０１５９】
以上説明したように、通信システム１では、鍵管理装置３が、予め決められた複数の鍵取得方法（例えば、後述する鍵取得方法ＳＫＴ−Ａ，ＳＫＴ−Ｂなど）のうち、所定の受信装置４＿１〜４＿Ｎをリボーク（無効に）するために生じる、リボークにしない受信装置との間の通信量が最少となる鍵取得方法を選択する。そして、鍵管理装置３が当該選択した鍵取得方法を基に新たな鍵暗号鍵データＫＥＫを取得する。
【０１６０】
そのため、通信システム１によれば、リボケーション処理に伴う鍵管理装置３とリボークしない受信装置４＿１〜４＿Ｎとの間の通信量を、前述したＣＳＴ方式に比べて少なくできる。具体的には、当該通信量は、通信システム１の場合には、前述した式（２）に示すＯ（ＣＯＡ）と式（３）に示すＯ（ＣＯＢ）とのうち少ない方になり、ＬＳＤ方式およびＳＤ方式の場合（Ｏ（Ｒ））よりは多いが、ＣＳＴ方式の場合（Ｏ（Ｒｌｏｇ２Ｎ／Ｒ））より少なくできる。
【０１６１】
また、通信システム１によれば、受信装置４＿１〜４＿Ｎに記憶される鍵データおよびラベルデータＬＡＢＥＬのデータ量（上記式（４）に示すＯ（ＳＴ））は、ＣＳＴ方式の場合（Ｏ（ｌｏｇ２Ｒ））よりは大きいが、ＳＤ方式およびＬＳＤ方式の場合（Ｏ（（ｌｏｇ２Ｎ）２），Ｏ（（ｌｏｇ２Ｎ）１＋ａ），ａ＞１）より少なくできる。
【０１６２】
これにより、通信システム１によれば、リボケーション処理に伴う鍵管理装置３と受信装置４＿１〜４＿Ｎとの間の通信量と、受信装置４＿１〜４＿Ｎが保持する鍵データのデータ量とを適切なトレードオフにより規定できる。
【０１６３】
また、通信システム１では、受信装置４＿１〜４＿Ｎは、そのユーザが前述した鍵管理などのセキュリティ機能を制御できないように構成されているため、セキュリティ機能を高めることがでる。
【０１６４】
また、受信装置４＿１〜４＿Ｎは、鍵管理装置３からの受信（ダウンロード）に、ＳＤＲを採用しているため、権限のある正当な受信装置４＿１〜４＿Ｎのみが、当該受信装置に対して送信されたデータを自動的に受信でき、ダウンロードに伴うセキュリティを高めることができる。
【０１６５】
また、ユーザは、これらのセキュリティ機能を全く意識せずに受信装置４＿１〜４＿Ｎを使用できる。
【０１６６】
本発明は上述した実施形態には限定されない。上述した実施形態では、鍵管理装置３と受信装置４＿１〜４＿Ｎとの間の通信を無線方式で行う場合を例示したが、当該通信を有線で行ってもよい。
【０１６７】
また、上述した実施形態では、本発明の複数の鍵取得方法として、２つの鍵取得方法ＳＫＴ−Ａ，ＳＫＴ−Ｂを例示したが、鍵取得方法の種類に特に限定されず、また、鍵取得方法の数も複数であれば特に限定されない。
【０１６８】
例えば、本発明は、複数の受信装置が割り当てられたリーフを含む第１の水平レイヤに対してＬＳＤあるいはＳＤ方式を適用し、鍵管理装置が割り当てられたルートを含む第２の水平レイヤに対してＣＳＴ方式を採用していれば、上記第１の水平レイヤと上記第２の水平レイヤとの間に、水平レイヤがなくても、単数または複数のレイヤがあってもよく、これらの水平レイヤに適用される鍵取得方法は任意である。
【０１６９】
次に、本発明に係る通信システムの他の実施形態について、図２６及び図２７を参照して説明する。
【０１７０】
本実施形態による通信システムには、図２６に示すように、暗号化したコンテンツ２６１２を含むストリーミングデータ２６１０を配信するストリーミングコンテンツ配信装置２６００と、配信されたストリーミングデータ２６１０を受信して復号する複数の受信装置２６２０とが含まれている。ストリーミングコンテンツ配信装置２６００、複数の受信装置２６２０はそれぞれ、上述した実施形態における鍵管理装置３、複数の受信装置４＿１〜４＿Ｎに対応している。
【０１７１】
ストリーミングコンテンツ配信装置２６００は、複数の受信装置２６２０の中に無効とすべき（リボークすべき）受信装置が存在するか否かをチェックし、そのチェック結果に応じてセッション鍵等の鍵データ（ＳＥＫ）を更新する鍵管理部２６０１と、更新された鍵データを用いて配信すべきコンテンツを暗号化するコンテンツ暗号部２６０２とを備えている。ここでＳＥＫは、上記実施形態のセッション鍵データＮＥＷ＿ＳＥＫに対応する。
【０１７２】
鍵管理部２６０１は、リボークすべき受信装置の配置状況あるいはリボークしない受信装置の配置状況に応じて、リボークされない各受信装置２６２０が更新されたＳＥＫを取得するための情報を備えるＳＥＫ更新メッセージ２６１１を生成する。ＳＥＫ更新メッセージ２６１１は、これに対応する暗号化されたコンテンツ２６１２と共に、ストリーミングデータ２６１０を構成し、各受信装置へ配信される。また、ＳＥＫ更新メッセージ２６１１をマルチキャスト（ブロードキャスト）送信した後、更新したＳＥＫに基づいて暗号化したコンテンツをプッシュ型配信する構成としても良い。
【０１７３】
鍵管理部２６０１は、例えば上記実施形態の鍵管理装置３と同様に、処理されるべき受信装置の数や変更パターンに基づき、リボケーション処理の際に必要となる通信量がより低くなる又は最小となる鍵取得方法を、予め設定されている複数の鍵取得方法の中から選択する。鍵管理部２６０１は、新たなＳＥＫを決定し、前記決定した鍵取得方法に基づき、異なる鍵暗号鍵データ（ＫＥＫ）を複数回暗号化する。
【０１７４】
なお、本発明で選択の対象となる複数の鍵取得方法は、上記実施形態の鍵管理装置３で例として記載された鍵取得方法だけに限定されるものではなく、予め定めた複数の鍵暗号鍵データを予め受信装置に記憶させておき、その中でリボークされない受信装置だけがセッション鍵データを復号できるようにするための方法であれば、他の鍵取得方法を含めても良い。
【０１７５】
ＳＥＫ更新メッセージ２６１１は、ＳＥＫを暗号化するために用いた鍵暗号鍵データ（ＫＥＫ）の鍵取得方法を示す情報と、該鍵取得方法で使用したＫＥＫを示す情報と、該鍵取得方法とＫＥＫにより暗号化された新たなＳＥＫとを備えている。ＳＥＫ更新メッセージ２６１１は、例えば図２７に示す構成を備えている。図２７の例では、ＳＥＫ更新メッセージ２６１１が、暗号化された新たなＳＥＫ２７０３と、該ＳＥＫ２７０３の暗号化に用いられたＫＥＫとその利用方法を示すデータであるＫＥＫ指定データ２７０１及びＫＥＫ利用モード指定データ２７０２とが互いに対応付けられた、複数行の表形式で構成されている。
【０１７６】
ここで、ＫＥＫ指定データ２７０１は公のパラメータであるため、ＫＥＫそのものを明らかにする情報を含まないようにする。
【０１７７】
ＫＥＫ利用モード指定データ２７０２は、鍵管理部２６０１で採用された鍵取得方法に応じて決定されるものであるが、該鍵取得方法そのものを完全に示す必要は無く、更新されたＳＥＫを取得するために、ＫＥＫ指定データ２７０１が指定したＫＥＫをどのように用いるかを示す情報だけを示すものであれば良い。
【０１７８】
暗号化された新たなＳＥＫ２７０３は、上記指定されたＫＥＫを指定された利用モードに対応する鍵取得方法で用いることで暗号化されたものである。
【０１７９】
各受信装置２６２０は、当該受信装置に対して予め割り当てられた複数の鍵暗号鍵データ（ＫＥＫ）を記録するＫＥＫ記憶部２６２１と、ＳＥＫ更新メッセージ２６１１が検出された場合にはその情報を用いて更新されたＳＥＫを取得するＳＥＫ取得部２６２２と、暗号化されたコンテンツ２６１２を該取得されたＳＥＫを用いて復号するストリーミングコンテンツ復号部２６２３とを備えている。
【０１８０】
ＳＥＫ取得部２６２２は、ＳＥＫ更新メッセージ２６１１が示すＫＥＫを、該メッセージが示す利用モードで用いることで、暗号化されたＳＥＫを復号する。例えば、ＳＥＫ更新メッセージ２６１１が図２７の構成を備えている場合には、ＳＥＫ取得部２６２２は上記表形式の各行をスキャンする。当該受信装置２６２０がリボークされていない場合には、ＫＥＫ記憶部２６２１に記録されている自身に割り当てられたＫＥＫの中に、指定されているＫＥＫが含まれているはずであり、それと同じ行から該ＫＥＫの利用モードと暗号化された新たなＳＥＫが得られる。ＳＥＫ取得部２６２２では、これら取得されたデータを用いることで、新たなＳＥＫが復号され取得される。
【０１８１】
なお、上述した本実施形態においては、予め複数の鍵暗号鍵データＫＥＫを暗号化した情報の受信側に保存しておく構成としたが、本発明はこのような構成に限定されるものではない。例えば、図２３の実施形態と同様に、受信側装置において鍵データＫ＿ＯＲＧおよびラベルデータＬＡＢＥＬを予め記憶しておき、これらから最終的に各受信側装置が備えるべき鍵暗号鍵データＫＥＫを生成する構成としても良い。
【０１８２】
また、ストリーミングデータ２６１０の配信に際しては、ＳＥＫの更新が行われたときにＳＥＫ更新メッセージ２６１１を含め、それ以外の場合には含めない構成としても良い。また、ＳＥＫ更新メッセージ２６１１を常に又は所定の期間中にストリーミングデータに含める構成としても良い。
【０１８３】
本実施形態の通信システムによれば、プッシュ型のセキュア情報配信において、より効率的に鍵管理処理を実行することができる。
【０１８４】
次に、本発明の他の実施形態による通信システムを図２８を参照して説明する。本実施形態の通信システムは、プル型（ダウンロード型）の情報配信を行うもので、暗号化されたデータを格納するサーバ２８００と、サーバ２８００へアクセスして暗号化したデータを無線又は有線を介してダウンロードする複数のクライエント２８１０とを備えている。サーバ２８００、クライエント２８１０はそれぞれ、上述した実施形態における鍵管理装置３、複数の受信装置４＿１〜４＿Ｎに対応している。
【０１８５】
サーバ２８００は、複数のクライエント２８１０の中に無効とすべき（リボークすべき）クライエントが存在するか否かをチェックし、そのチェック結果に応じてセッション鍵等の鍵データ（ＳＥＫ）を更新すると共に、更新された鍵データを用いてダウンロードの対象となるデータを暗号化する。サーバ２８００は、リボークされない各クライエント２８１０が更新されたＳＥＫを取得するための情報を提示する複数の鍵管理用掲示板２８０１−１〜２８０１−ｎを設定する掲示板設定部２８０１と、ダウンロードの対象となる複数の暗号化されたデータ２８０２−１〜２８０２−ｎを格納するデータ記憶部２８０２とを備えている。
【０１８６】
本実施形態においては、鍵管理用掲示板２８０１−１〜２８０１−ｎの各々はそれぞれ、暗号化されたデータ２８０２−１〜２８０２−ｎの各々に対応して設ける。このような構成によれば、各データ毎にＳＥＫを更新すべきか否かを決定することができる。すなわち、データ毎にリボークすべきクライエントを設定することが可能となり、データ毎のアクセス権をダイナミックに設定することができる。なお、複数のデータに対して同一の鍵取得方法及びＫＥＫにより暗号化し、複数の暗号化されたデータに対して１つの鍵管理用掲示板を設ける構成としても良い。
【０１８７】
サーバ２８００は、例えば上記実施形態の鍵管理装置３と同様に、予め設定されている複数の鍵取得方法の中から、リボケーション処理の際に行われる更新された鍵データの配信する場合には、処理されるべきクライエントの数や変更パターンに基づき、必要となる通信量がより低くなる鍵取得方法を選択する。
【０１８８】
鍵管理用掲示板２８０１−１〜２８０１−ｎの各々には、上記図２６の実施形態におけるＳＥＫ更新メッセージ２６１１と同様なデータが提示される。すなわち、各鍵管理用掲示板には、例えば上記図２７に示すような表形式を用いて、ＳＥＫを暗号化するために用いた鍵暗号鍵データ（ＫＥＫ）の鍵取得方法を示す情報と、該鍵取得方法で使用したＫＥＫを示す情報と、該鍵取得方法とＫＥＫにより暗号化された新たなＳＥＫとを備えている。
【０１８９】
各クライエント２８１０は、当該クライエントに対して予め割り当てられた複数の鍵暗号鍵データ（ＫＥＫ）を記録するＫＥＫ記憶部２８１１と、鍵管理用掲示板にアクセスし、ＳＥＫの更新が検出された場合にはその情報を用いて更新されたＳＥＫを取得するＳＥＫ取得部２８１２と、データ記憶部２８０２から暗号化されたデータをダウンロードし該取得されたＳＥＫを用いて復号するダウンロードデータ復号部２８１３とを備えている。
【０１９０】
クライエント２８１０がデータをダウンロードする場合、最初、ダウンロードしようとするデータに対応する鍵管理掲示板にアクセスし、該鍵管理掲示板に提示されている例えば図２７に示すような表形式データの各行をスキャンする。当該クライエント２８１０がリボークされていない場合には、ＫＥＫ記憶部２６２１に記録された自身に割り当てられたＫＥＫの中に、指定されているＫＥＫが含まれているはずであり、それと同じ行から該ＫＥＫの利用モードと暗号化された新たなＳＥＫが得られる。ＳＥＫ取得部２８１２では、これら取得されたデータを用いることで、新たなＳＥＫが復号され取得される。クライエント２８０１は、暗号化されたデータをダウンロードすると共に、ダウンロードデータ復号部２８１３において、上述取得したＳＥＫを用いて該ダウンロードしたデータを復号することで、データを取得する。
【０１９１】
また、本実施形態では、上記ダウンロードされるデータをカプセル化してダウンロード後、一定期間の間だけ利用可能とする構成としても良い。このような構成によっても、リボークされないクライエントの場合には、再度ダウンロードしてデータを利用することが可能となる。
【０１９２】
本実施形態の通信システムによれば、プル型（ダウンロード型）のセキュア情報配信において、より効率的に鍵管理処理を実行することができる。さらに、本発明の通信システムによれば、ダウンロードの対象となるデータ毎にＳＥＫを更新すべきか否かを設定することで、各データに対するアクセス権の設定が可能となる。
【０１９３】
次に、本発明の他の実施形態による通信システムを図２９、図３０を参照して説明する。本実施形態の通信システムは、対応するファイル鍵データ（ＦＥＫ）によって暗号化された複数のファイル２９０２−１〜２９０２−ｎを格納するファイルサーバ２９００と、該ファイルサーバ２９００にアクセスして暗号化されたファイルに対して処理を実行する少なくとも１つの処理装置２９２０と、各処理装置２９２０と通信して当該処理装置２９２０で処理されるファイルへのアクセス権を設定する複数のユーザ装置２９１０とを備えている。ファイルサーバ２９００は上述した実施形態における鍵管理装置３に対応し、複数のユーザ装置２９１０及び処理装置２９２０は複数の受信装置４＿１〜４＿Ｎに対応している。
【０１９４】
ここで、アクセス権とは、例えば、ファイルの読出し、ファイルへの書込み、及びファイルの処理実行についてそれぞれ設定される権利である。
【０１９５】
複数のユーザ装置２９１０の各々は、当該ユーザ装置に対して予め割り当てられた複数のユーザ鍵データ、例えば鍵暗号鍵データ（ＫＥＫ）を記録する鍵記憶部２９１０を備えている。ユーザ装置２９１０は、処理装置２９２０と無線又は有線にて通信し、ＦＥＫの取得に必要なユーザ鍵を処理装置２９２０へ送信する。ユーザ装置２９１０は、例えば、ＣＰＵとメモリと通信部とを備えたカード型の装置で、接触型又は非接触型のカードリーダ等を介して処理装置２９２０と通信可能な構成を備える。
【０１９６】
処理装置２９２０は、ファイルサーバ２９００と通信し、処理対象となるファイルに対応して記憶されている鍵管理用ファイル付属データへアクセスし、ＦＥＫの更新が検出された場合には、該鍵管理用ファイル付属データを用いて更新されたＦＥＫを取得するファイル鍵取得部２９２１と、処理の対象となるファイルにアクセスし暗号化されたファイルを復号して処理する復号ファイル処理部２９２２とを備えている。
【０１９７】
ファイルサーバ２９００は、ファイル毎及び処理毎に、リボークすべき（アクセス権を拒否すべき）ユーザ装置２９１０が存在するか否かをチェックし、そのチェック結果に応じてファイル暗号鍵等の鍵データ（ＦＥＫ）を動的に更新すると共に、更新されたＦＥＫを用いて処理の対象となるファイルを暗号化する。ファイルサーバ２９００は、リボークされないユーザ装置２９１０が更新されたＦＥＫを取得するために必要な情報を備えた鍵管理用ファイル付属データ２９０１−１〜２９０１−ｎと、処理対象となる複数の暗号化されたファイル２９０２−１〜２９０２−ｎとを格納するデータ記憶部２９０２を備えている。
【０１９８】
本実施形態においては、鍵管理用ファイル付属データ２９０１−１〜２９０１−ｎの各々はそれぞれ、暗号化されたファイル２９０２−１〜２９０２−ｎの各々に対応して設けられている。なお、同一のファイルを複数回暗号化することで、予め定めたアクセス権を設定する構成としても良い。本実施形態でのアクセス権は、復号処理を介することで得られる構成とすることが好ましい。
【０１９９】
なお、ファイル毎にアクセス権を設定する代わりに、複数のファイルをまとめて単位セットを構成し、各単位セット毎にアクセス権を設定する構成としても良い。
【０２００】
ファイルサーバ２９００は、予め設定されている複数の鍵取得方法の中から鍵取得方法を選択する。この選択に際しては、本実施形態でのアクセス権の制御に係り実行されるリボケーション等の処理負荷が、本ファイルサーバ２９００にとってより少ない又は最小となる鍵取得方法を選択することが望ましい。
【０２０１】
鍵管理用ファイル付属データ２９０１−１〜２９０１−ｎの各々には、例えば図３０に示すような表形式を用いて、ＦＥＫを暗号化するために用いたユーザ鍵データ（ＫＥＫ）の鍵取得方法を指定するための情報３００２と、該鍵取得方法で使用したＫＥＫを指定するための情報３００１と、該指定された鍵取得方法及びＫＥＫにより暗号化された新たなＦＥＫ３００３とを備えている。
【０２０２】
ユーザがユーザ装置２９１０及び処理装置２９２０を用いてある特定のファイルに対ししてある特定の処理を実行するためにアクセスし、該特定のファイルへの該特定の処理が当該ユーザ装置２９１０に対して許可されている場合（リボークされていない場合）には、該ファイルに対応する鍵管理用ファイル付属データにＦＥＫを取得するための情報が含まれている。
【０２０３】
ファイル鍵取得部２９２１は、例えば、図３０に示すような表形式の鍵管理用ファイル付属データの各行をスキャンする。ユーザ装置２９１０がリボークされていない場合には、鍵記憶部２９１１に記録されたユーザ鍵の中に指定されているＫＥＫが含まれているはずであり、それと同じ行から該ＫＥＫの利用モードと暗号化された新たなＦＥＫが得られる。ファイル鍵取得部２９２１では、これら取得されたデータを用いることで、新たなＦＥＫが復号され取得される。処理装置２９２０の復号ファイル処理部２９２２では、暗号化されたファイルにアクセスし復号して処理を行う。
【０２０４】
なお、本実施形態では、上記処理対象のファイルをカプセル化し、復号ファイル処理部２９２２で復号した後、一定期間の間だけ利用可能とする構成としても良い。このような構成によっても、リボークされないクライエントの場合には、再度アクセスしてファイルの処理を実行することが可能となる。
【０２０５】
本実施形態の通信システムによれば、ファイル鍵を暗号化するために利用可能なユーザ鍵をユーザ装置毎に割り当てて記憶させることで、ファイルへのアクセス権や所定の処理を実行する権利をユーザ毎に動的に管理させることができる。
【０２０６】
なお、本発明ではファイルのアクセス権を制御する構成について説明したが、本発明の適用分野はファイルのアクセス管理に限定されるものではない。例えば、アクセスの対象となるファイルとして所定の動作を実行させるプログラムを設定し、このプログラムの実行処理に関してアクセス権を設定することで、ユーザ装置を携帯したユーザに対し、アクセス権をチェックした上で扉の開閉などを行う、セキュリティ管理の実行を可能とする通信システムを実現することもできる。
【図面の簡単な説明】
【０２０７】
【図１】図１は、本発明の実施形態に係わる通信システムの全体構成図である。
【図２】図２は、図１に示す鍵管理装置のハードウェア構成図である。
【図３】図３は、本発明の実施形態で採用される鍵取得方法の基礎となるツリー構造を説明するための図である。
【図４】図４は、本発明の実施形態で採用される鍵取得方法の処理を説明するためのフローチャートである。
【図５】図５は、本発明の実施形態で採用される鍵取得方法ＳＫＴ−Ａを説明するための図である。
【図６】図６は、本発明の実施形態で採用される鍵取得方法ＳＫＴ−Ｂを説明するための図である。
【図７】図７は、ＣＳＴ方式を説明するための図である。
【図８】図８は、ＣＳＴ方式を説明するための図である。
【図９】図９は、ＣＳＴ方式を説明するための図である。
【図１０】図１０は、ＳＤ方式を説明するための図である。
【図１１】図１１は、ＳＤ方式を説明するための図である。
【図１２】図１２は、ＳＤ方式を説明するための図である。
【図１３】図１３は、ＳＤ方式を説明するための図である。
【図１４】図１４は、ＬＳＤ方式を説明するための図である。
【図１５】図１５は、ＬＳＤ方式を説明するための図である。
【図１６】図１６は、図１に示す鍵管理装置が行う前処理を説明するためのフローチャートである。
【図１７】図１７は、図１に示す鍵管理装置が行うリボケーション処理を説明するためのフローチャートである。
【図１８】図１８は、図１に示す鍵管理装置が行うリボケーション処理を説明するための図１７の続きのフローチャートである。
【図１９】図１９は、本発明の実施形態の指定データを説明するための図である。
【図２０】図２０は、図１に示す鍵管理装置がリボークしない受信装置に送信するカプセルデータＣＡＰを説明するための図である。
【図２１】図２１は、図１７に示すステップＳＴ２４を説明するためのフローチャートである。
【図２２】図２２は、図１７に示すステップＳＴ２５を説明するためのフローチャートである。
【図２３】図２３は、図１に示す受信装置のハードウェア構成図である。
【図２４】図２４は、図１に示す受信装置の動作例を説明するためのフローチャートである。
【図２５】図２５は、図２４に示すステップＳＴ５６を説明するためのフローチャートである。
【図２６】図２６は、本発明の他の実施形態による通信システムの構成例を示すブロック図である。
【図２７】図２７は、図２６の実施形態におけるＳＥＫ更新メッセージの構成例を示す説明図である。
【図２８】図２８は、本発明の他の実施形態による通信システムの構成例を示すブロック図である。
【図２９】図２９は、本発明の他の実施形態による通信システムの構成例を示すブロック図である。
【図３０】図３０は、図２９の実施形態におけるＳＥＫ更新メッセージの構成例を示す説明図である。
【符号の説明】
【０２０８】
１…通信システム、３…鍵管理装置、４＿１〜４＿Ｎ…受信装置、１０…バス、１１…通信部、１２…メモリ、１３…処理部、４０…バス、４１…通信部、４２…メモリ、４３…処理部。
【図１】
2005311490.tif 000004
【図２】
2005311490.tif 000005
【図３】
2005311490.tif 000006
【図４】
2005311490.tif 000007
【図５】
2005311490.tif 000008
【図６】
2005311490.tif 000009
【図７】
2005311490.tif 000010
【図８】
2005311490.tif 000011
【図９】
2005311490.tif 000012
【図１０】
2005311490.tif 000013
【図１１】
2005311490.tif 000014
【図１２】
2005311490.tif 000015
【図１３】
2005311490.tif 000016
【図１４】
2005311490.tif 000017
【図１５】
2005311490.tif 000018
【図１６】
2005311490.tif 000019
【図１７】
2005311490.tif 000020
【図１８】
2005311490.tif 000021
【図１９】
2005311490.tif 000022
【図２０】
2005311490.tif 000023
【図２１】
2005311490.tif 000024
【図２２】
2005311490.tif 000025
【図２３】
2005311490.tif 000026
【図２４】
2005311490.tif 000027
【図２５】
2005311490.tif 000028
【図２６】
2005311490.tif 000029
【図２７】
2005311490.tif 000030
【図２８】
2005311490.tif 000031
【図２９】
2005311490.tif 000032
【図３０】
2005311490.tif 000033