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