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