(57)【要約】【課題】鍵データを基に暗号化通信を行う複数の受信装置のうち何れかの前記受信装置を適切に無効にするために、前記受信装置が保持させるデータのデータ量を従来に比べて少なくできるデータ処理方法を提供する。【解決手段】鍵管理装置３は、受信装置が割り当てられたＭ個のクラスタＣＬＵＳ（ｍ）の各々について、当該クラスタＣＬＵＳ（ｍ）に割り当てられた受信装置のうちリボークしない受信装置のみをそれぞれが要素とする単数または複数の集合Ｓ（ｋ，ｍ）を特定する（ＳＴ２３）。そして、鍵管理装置３が、当該集合に対応する鍵データを取得するためのデータを指示する指示データを受信装置に送信する（ＳＴ２８）。【選択図】  図７
2004328541.tif 000002
【特許請求の範囲】
【請求項１】
複数の受信装置との間で鍵データを基にした暗号化通信を行うためのデータ処理方法であって、
複数のクラスタの何れか一つにそれぞれが割り当てられた前記複数の受信装置のうち何れの前記受信装置を無効にするかに応じて、前記クラスタの各々について、当該クラスタに割り当てられた前記受信装置のうち無効にしない前記受信装置のみをそれぞれが要素とする単数または複数の集合を特定する第１の工程と、
前記第１の工程で特定した前記複数の集合の各々について、当該集合の要素である前記受信装置が保持すると共に当該集合に属さない前記受信装置が保持しないデータであって、前記鍵データの取得に用いられるデータを特定する第２の工程と、
前記第２の工程で特定したデータを指定する指定データを前記受信装置に送信する第３の工程と
を有するデータ処理方法。
【請求項２】
前記複数のクラスタの各々について、当該クラスタに割り当てられた前記複数の受信装置のうち何れの前記受信装置を無効にする場合でも、当該クラスタ内の無効にしない全ての前記受信装置が、当該クラスタ内の無効にしない前記受信装置のみを要素とする単数または複数の集合の要素となるように前記集合を規定する第４の工程と、
前記第４の工程で規定した前記集合に対応付けた前記鍵データを取得するためのデータを、当該集合の要素である前記受信装置のみに前記第１の工程に先立って保持させる第５の工程と
をさらに有する請求項１に記載のデータ処理方法。
【請求項３】
前記第１の工程において、データ処理装置が対応付けられたルートから分岐した最終端のノードであるリーフに前記複数の受信装置の各々が対応付けられ、前記複数のクラスタの各々が対応付けられた複数のサブツリーを含むツリーを基に、前記サブツリーの各々について、当該サブツリーを構成するノードのなかで、分岐先に前記無効にする前記受信装置が対応付けられたリーフがないノードで、かつ最も前記ルートに近いノードを特定し、当該特定したノードの分岐先のリーフに割り当てられた前記受信装置を要素とする前記集合を特定し、
前記第２の工程は、前記第１の工程で特定した前記複数の集合の各々について、当該集合に対応して前記第１の工程で特定した前記ノードに対応付けられた前記鍵データを特定し、
前記第３の工程は、前記第２の工程で特定した前記鍵データを指定する前記指定データを前記受信装置に送信する
請求項１に記載のデータ処理方法。
【請求項４】
前記鍵データを基に暗号化した通信用の鍵データと、当該通信用の鍵データを基に暗号化したデータとを送信する第６の工程
をさらに有する請求項１記載のデータ処理方法。
【請求項５】
複数の受信装置との間で鍵データを基にした暗号化通信を行うためのデータ処理装置が実行するプログラムであって、
複数のクラスタの何れか一つにそれぞれが割り当てられた前記複数の受信装置のうち何れの前記受信装置を無効にするかに応じて、前記クラスタの各々について、当該クラスタに割り当てられた前記受信装置のうち無効にしない前記受信装置のみをそれぞれが要素とする単数または複数の集合を特定する第１の手順と、
前記第１の手順で特定した前記複数の集合の各々について、当該集合の要素である前記受信装置が保持すると共に当該集合に属さない前記受信装置が保持しないデータであって、前記鍵データの取得に用いられるデータを特定する第２の手順と、
前記第２の手順で特定したデータを指定する指定データを前記受信装置に送信する第３の手順と
を有するプログラム。
【請求項６】
複数の受信装置との間で鍵データを基にした暗号化通信を行うためのデータ処理装置であって、
複数のクラスタの何れか一つにそれぞれが割り当てられた前記複数の受信装置のうち何れの前記受信装置を無効にするかに応じて、前記クラスタの各々について、当該クラスタに割り当てられた前記受信装置のうち無効にしない前記受信装置のみをそれぞれが要素とする単数または複数の集合を特定する第１の手段と、
前記第１の手段で特定した前記複数の集合の各々について、当該集合の要素である前記受信装置が保持すると共に当該集合に属さない前記受信装置が保持しないデータであって、前記鍵データの取得に用いられるデータを特定する第２の手段と、
前記第２の手段で特定したデータを指定する指定データを前記受信装置に送信する第３の手段と
を有するデータ処理装置。
【請求項７】
複数のクラスタの各々が当該クラスタに割り当てられた複数の受信装置のうち何れの前記受信装置を無効にする場合でも、当該クラスタ内の無効にしない全ての前記受信装置が当該クラスタ内の無効にする前記受信装置のみを要素とする単数または複数の集合の要素となるように前記集合が規定されている場合に、自らの受信装置が要素となる前記集合に対応付けた鍵データを取得するためのデータを記憶する記憶手段と、
指定データを受信する受信手段と、
前記受信手段が受信した前記指定データが指定するデータを前記記憶手段から読み出し、当該読み出したデータを基に前記鍵データを取得し、当該鍵データを基に暗号化通信を行う処理手段と
を有する受信装置。
【請求項８】
複数のクラスタの各々が当該クラスタに割り当てられた複数の受信装置のうち何れの前記受信装置を無効にする場合でも、当該クラスタ内の無効にしない全ての前記受信装置が当該クラスタ内の無効にする前記受信装置のみを要素とする単数または複数の集合の要素となるように前記集合が規定されている場合に、自らが要素となる前記集合に対応付けた鍵データを取得するためのデータを保持する受信装置が実行するプログラムであって、
指定データを受信する第１の手順と、
前記受信装置が保持しているデータのうち前記第１の手順で受信した前記指定データが指定するデータを基に前記鍵データを取得する第２の手順と、
前記第２の手順で取得した前記鍵データを基に暗号化通信を行う第３の手順と
を有するプログラム。
【請求項９】
複数のクラスタの各々が当該クラスタに割り当てられた複数の受信装置のうち何れの前記受信装置を無効にする場合でも、当該クラスタ内の無効にしない全ての前記受信装置が当該クラスタ内の無効にする前記受信装置のみを要素とする単数または複数の集合の要素となるように前記集合が規定されている場合に、自らが要素となる前記集合に対応付けた鍵データを取得するためのデータを保持する受信装置が行うデータ処理方法であって、
指定データを受信する第１の工程と、
前記受信装置が保持しているデータのうち前記第１の工程で受信した前記指定データが指定するデータを基に前記鍵データを取得する第２の工程と、
前記第２の工程で取得した前記鍵データを基に暗号化通信を行う第３の工程と
を有するデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、暗号化通信に用いられるデータ処理方法、そのプログラム、その装置と受信装置に関する。
【０００２】
【従来の技術】
暗号化通信では、通常、鍵管理装置と受信装置（端末装置）とが同じ鍵データを保持あるいは生成し、鍵管理装置が当該鍵データを基にデータを暗号化して受信装置に送信する。
このような暗号化通信では、例えば、鍵管理装置が、予め決められた複数の受信装置との間で、共通の鍵データを用いて暗号化通信を行う。
この場合に、上記複数の受信装置の少なくとも一つが上記権限を失った場合には、鍵管理装置は、それまで使用していた鍵データを更新して、当該受信装置をリボーク（無効に）する必要がある。
【０００３】
このような鍵データの更新方法（鍵取得方法）として、例えば、下記非特許文献１，２に示すリボケーション処理が知られている。
下記非特許文献１，２に示されたリボケーション処理では、鍵管理装置をルートに割り当て、管理対象の複数の受信装置をリーフに割り当てたツリーを基に、鍵管理装置が、複数の受信装置との間の暗号化通信に用いる鍵データを管理している。
すなわち、鍵管理装置が、上記ツリーを基に規定した複数のデータを受信装置が予め設定し、上記更新時に、当該複数のデータの何れを用いて暗号化通信に用いる鍵データを取得（生成）するかを、リボークしない受信装置に指示する。
そして、リボークされない受信装置が、予め保持している複数のデータのなかから上記指示されたデータを選択し、選択したデータを用いて、予め決められた鍵取得方法で鍵データを取得する。
【０００４】
【非特許文献１】
Ｄ．Ｎａｏｒ，Ｍ．Ｎａｏｒ  ａｎｄ  Ｊ．Ｌｏｔｓｐｉｅｃｈ，”Ｒｅｖｏｃａｔｉｏｎ  ａｎｄ  ｔｒａｃｉｎｇ  ｓｃｈｅｍｅｓ  ｆｏｒ  ｓｔａｔｅｌｅｓｓ  ｒｅｃｅｉｖｅｒｓ”，  ＣＲＹＰＴＯ  ２００１．Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ．ｖｏｌ  ２１３９．ｐｐ．４１−６２，２００１．
【非特許文献２】
Ｄ．Ｈａｌｅｖｙ  ａｎｄ  Ａ  Ｓｈａｍｉｒ，  ”Ｔｈｅ  ＬＣＤ  ｂｒｏａｄｃａｓｔ  ｅｎｃｒｙｐｔｉｏｎ  ｓｃｈｅｍｅ”，  ＣＲＹＰＴＯ  ２００２，  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，ｖｏｌ．２４４２．  ｐｐ．４７−６０，２００２
【０００５】
【発明が解決しようとする課題】
ところで、上述した従来のリボケーション処理では、鍵管理装置が、管理対象の全ての受信装置について、それらをクラスタに分割することなく、一体としてリボケーション処理を行っている。
すなわち、管理対象となる全ての受信装置のうち何れの受信装置がリボークされる場合にも鍵管理装置とリボークされない受信装置との間で新たな鍵データを取得し、各受信装置は当該新たな鍵データを取得するためのデータを予め保持する。
しかしながら、上述した従来のリボケーション処理では、管理対象とする受信装置の数が多くなると、各受信装置が他の受信装置のリボークによって取得する新たな鍵データの数が多くなり、それに応じて、当該新たな鍵データを取得するために各受信装置が記憶するデータのデータ量が膨大になり、各受信装置のデータ記憶負荷が大きいという問題がある。
【０００６】
本発明はかかる事情に鑑みてなされたものであり、鍵データを基に暗号化通信を行う複数の受信装置のうち何れかの前記受信装置を適切に無効にするために、前記受信装置が保持させるデータのデータ量を従来に比べて少なくできるデータ処理方法、そのプログラムおよびその装置を提供することを目的とする。
また、本発明は、暗号化通信に用いる鍵データのデータ量を従来に比べて少なくできる受信装置、そのプログラムおよびそのデータ処理方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上述した目的を達成するために、第１の発明のデータ処理方法は、複数の受信装置との間で鍵データを基にした暗号化通信を行うためのデータ処理方法であって、複数のクラスタの何れか一つにそれぞれが割り当てられた前記複数の受信装置のうち何れの前記受信装置を無効にするかに応じて、前記クラスタの各々について、当該クラスタに割り当てられた前記受信装置のうち無効にしない前記受信装置のみをそれぞれが要素とする単数または複数の集合を特定する第１の工程と、前記第１の工程で特定した前記複数の集合の各々について、当該集合の要素である前記受信装置が保持すると共に当該集合に属さない前記受信装置が保持しないデータであって、前記鍵データの取得に用いられるデータを特定する第２の工程と、前記第２の工程で特定したデータを指定する指定データを前記受信装置に送信する第３の工程とを有する。
【０００８】
第１の発明のデータ処理方法の作用は以下のようになる。
先ず、第１の工程において、複数のクラスタの何れか一つにそれぞれが割り当てられた前記複数の受信装置のうち何れの前記受信装置を無効にするかに応じて、前記クラスタの各々について、当該クラスタに割り当てられた前記受信装置のうち無効にしない前記受信装置のみをそれぞれが要素とする単数または複数の集合を特定する。
次に、第２の工程において、前記第１の工程で特定した前記複数の集合の各々について、当該集合の要素である前記受信装置が保持すると共に当該集合に属さない前記受信装置が保持しないデータであって、前記鍵データの取得に用いられるデータを特定する。
次に、第３の工程において、前記第２の工程で特定したデータを指定する指定データを前記受信装置に送信する。
【０００９】
第２の発明のプログラムは、複数の受信装置との間で鍵データを基にした暗号化通信を行うためのデータ処理装置が実行するプログラムであって、複数のクラスタの何れか一つにそれぞれが割り当てられた前記複数の受信装置のうち何れの前記受信装置を無効にするかに応じて、前記クラスタの各々について、当該クラスタに割り当てられた前記受信装置のうち無効にしない前記受信装置のみをそれぞれが要素とする単数または複数の集合を特定する第１の手順と、前記第１の手順で特定した前記複数の集合の各々について、当該集合の要素である前記受信装置が保持すると共に当該集合に属さない前記受信装置が保持しないデータであって、前記鍵データの取得に用いられるデータを特定する第２の手順と、前記第２の手順で特定したデータを指定する指定データを前記受信装置に送信する。
【００１０】
第３の発明のデータ処理装置は、複数の受信装置との間で鍵データを基にした暗号化通信を行うためのデータ処理装置であって、複数のクラスタの何れか一つにそれぞれが割り当てられた前記複数の受信装置のうち何れの前記受信装置を無効にするかに応じて、前記クラスタの各々について、当該クラスタに割り当てられた前記受信装置のうち無効にしない前記受信装置のみをそれぞれが要素とする単数または複数の集合を特定する第１の手段と、前記第１の手段で特定した前記複数の集合の各々について、当該集合の要素である前記受信装置が保持すると共に当該集合に属さない前記受信装置が保持しないデータであって、前記鍵データの取得に用いられるデータを特定する第２の手段と、前記第２の手段で特定したデータを指定する指定データを前記受信装置に送信する第３の手段とを有する。
【００１１】
第３の発明のデータ処理装置の作用は以下のようになる。
先ず、第１の手段が、複数のクラスタの何れか一つにそれぞれが割り当てられた前記複数の受信装置のうち何れの前記受信装置を無効にするかに応じて、前記クラスタの各々について、当該クラスタに割り当てられた前記受信装置のうち無効にしない前記受信装置のみをそれぞれが要素とする単数または複数の集合を特定する。
次に、第２の手段が、前記第１の手段で特定した前記複数の集合の各々について、当該集合の要素である前記受信装置が保持すると共に当該集合に属さない前記受信装置が保持しないデータであって、前記鍵データの取得に用いられるデータを特定する。
次に、第３の手段が、前記第２の手段で特定したデータを指定する指定データを前記受信装置に送信する。
【００１２】
第４の発明の受信装置は、複数のクラスタの各々が当該クラスタに割り当てられた複数の受信装置のうち何れの前記受信装置を無効にする場合でも、当該クラスタ内の無効にしない全ての前記受信装置が当該クラスタ内の無効にする前記受信装置のみを要素とする単数または複数の集合の要素となるように前記集合が規定されている場合に、自らの受信装置が要素となる前記集合に対応付けた鍵データを取得するためのデータを記憶する記憶手段と、指定データを受信する受信手段と、前記受信手段が受信した前記指定データが指定するデータを前記記憶手段から読み出し、当該読み出したデータを基に前記鍵データを取得し、当該鍵データを基に暗号化通信を行う処理手段とを有する。
【００１３】
第４の発明の受信装置の作用は以下のようになる。
先ず、受信手段が、指定データを受信する。
次に、処理手段が、前記受信手段が受信した前記指定データが指定するデータを前記記憶手段から読み出し、当該読み出したデータを基に前記鍵データを取得し、当該鍵データを基に暗号化通信を行う。
【００１４】
第５の発明のプログラムは、複数のクラスタの各々が当該クラスタに割り当てられた複数の受信装置のうち何れの前記受信装置を無効にする場合でも、当該クラスタ内の無効にしない全ての前記受信装置が当該クラスタ内の無効にする前記受信装置のみを要素とする単数または複数の集合の要素となるように前記集合が規定されている場合に、自らが要素となる前記集合に対応付けた鍵データを取得するためのデータを保持する受信装置が実行するプログラムであって、指定データを受信する第１の手順と、前記受信装置が保持しているデータのうち前記第１の手順で受信した前記指定データが指定するデータを基に前記鍵データを取得する第２の手順と、前記第２の手順で取得した前記鍵データを基に暗号化通信を行う第３の手順とを有する。
【００１５】
第６の発明のデータ処理方法は、複数のクラスタの各々が当該クラスタに割り当てられた複数の受信装置のうち何れの前記受信装置を無効にする場合でも、当該クラスタ内の無効にしない全ての前記受信装置が当該クラスタ内の無効にする前記受信装置のみを要素とする単数または複数の集合の要素となるように前記集合が規定されている場合に、自らが要素となる前記集合に対応付けた鍵データを取得するためのデータを保持する受信装置が行うデータ処理方法であって、指定データを受信する第１の工程と、前記受信装置が保持しているデータのうち前記第１の工程で受信した前記指定データが指定するデータを基に前記鍵データを取得する第２の工程と、前記第２の工程で取得した前記鍵データを基に暗号化通信を行う第３の工程とを有する。
【００１６】
第６の発明のデータ処理方法の作用は以下のようになる。
先ず、第１の工程において、指定データを受信する。
次に、第２の工程において、受信装置が保持しているデータのうち前記第１の工程で受信した前記指定データが指定するデータを基に前記鍵データを取得する。
次に、第３の工程において、前記第２の工程で取得した前記鍵データを基に暗号化通信を行う。
【００１７】
【発明の実施の形態】
以下、本発明の実施形態に係わる通信システムについて説明する。
図１は、本実施形態に係わる通信システム１の全体構成図である。
図１に示すように、通信システム１は、例えば、鍵管理装置３と、複数（Ｎ個）の受信装置４＿１〜４＿Ｎ（４＿ｎ，但し、ｎは１〜Ｎの整数）を有する。
ここで、鍵管理装置３が本発明の第１〜第３の発明のデータ処理装置に対応している。
受信装置４＿１〜４＿Ｎが本発明の受信装置に対応している。
鍵管理装置３と受信装置４＿１〜４＿Ｎとの間では、例えば、無線方式でデータの授受（通信）を行う。
受信装置４＿１〜４＿Ｎは、予め鍵管理装置３に登録されており、鍵管理装置３との間の暗号化通信（秘密通信）に用いる鍵暗号鍵データＬ（本発明の鍵データ）を取得するためのデータＩを保持している。
ここで、データＩが本発明の「鍵データの取得に用いられるデータ」に対応している。
【００１８】
通信システム１では、鍵管理装置３が、受信装置４＿ｎの登録時に、受信装置４＿ｎを複数のクラスタＣＬＵＳに割り当てる。
そして、鍵管理装置３は、上記登録時に、上記複数のクラスタＣＬＵＳの各々について、当該クラスタＣＬＵＳに割り当てられた受信装置４＿ｎのうち何れの受信装置４＿ｎをリボークする場合でも、当該クラスタＣＬＵＳ内のリボークしない全ての受信装置４＿ｎが、当該クラスタＣＬＵＳ内のリボークしない受信装置４＿ｎのみを要素とする単数または複数の集合の要素となるように集合を規定する。
そして、鍵管理装置３は、上記集合に対応付けた鍵暗号鍵データＬを生成するためのデータＩを、上記規定した集合の要素である受信装置４＿ｎに設定する（保持させる）。
これらの処理は、例えば、後述する鍵取得方法ＨＬＫＨを基に行われる。
【００１９】
また、鍵管理装置３は、受信装置４＿ｎのうち何れかをリボークする場合に、以下の処理を行う。
鍵管理装置３は、上記クラスタＣＬＵＳの各々について、当該クラスタＣＬＵＳに割り当てられた受信装置４＿ｎのうちリボークしない受信装置４＿ｎのみをそれぞれが要素とする単数または複数の集合を特定する。
そして、鍵管理装置３は、上記特定した複数の集合の各々について、当該集合の要素である受信装置４＿ｎが保持すると共に当該集合に属さない受信装置４＿ｎが保持しないデータであって、新たな鍵暗号鍵データＬの取得に用いられるデータＩを特定する。
そして、鍵管理装置３は、当該特定したデータＩを指定する指定データｉ（本発明の指定データ）を受信装置４＿ｎに送信（マルチキャスト）する。
【００２０】
以下、図１に示す鍵管理装置３および受信装置４＿ｎについて説明する。
〔鍵管理装置３〕
図２は、図１に示す鍵管理装置３のハードウェア構成図である。
図２に示すように、鍵管理装置３は、例えば、通信部１１、メモリ１２および処理部１３を有する。
通信部１１は、処理部１３が生成したデータを無線方式で送信する。当該送信は、例えば、放送などのプッシュ（ＰＵＳＨ）方式で行われる。
メモリ１２は、処理部１３によって実行されるプログラムＰＲＧ１と、プログラムＰＲＧ１の実行に用いられる種々データを記憶する。
ここで、プログラムＰＲＧ１が第２の発明のプログラムに対応している。
例えば、メモリ１２は、受信装置４＿ｎが保持する全てのデータＩを記憶する。
データＩは、例えば、後述する鍵取得方法ＨＬＫＨによる鍵暗号鍵データＬの生成に用いられるＣＳＴ方式、ＳＤ方式あるいはＬＳＤ方式で規定されたツリーのノードに割り当てられた鍵データや、ラベルデータなどである。
なお、メモリ１２は、データＩ自体を記憶するのではなく、後述するクラスタＣＬＵＳ内で規定された各集合に対応する鍵暗号鍵データＬを記憶してもよい。
【００２１】
処理部１３は、メモリ１２に記憶されたプログラムＰＲＧ１を実行し、その実行に応じて鍵管理装置３の処理を統括して制御する。本実施形態において、鍵管理装置３の処理は、処理部１３が実行するプログラムＰＲＧ１によって規定される。
処理部１３は、後述する受信装置４＿ｎへのデータＩの設定などの登録処理、並びに、後述する鍵取得方法ＨＬＫＨを基にしたセッション鍵データの更新処理などのリボケーション処理などのセキュリティ処理を行う。
【００２２】
〔受信装置４＿ｎ〕
図３は、図１に示す受信装置４＿ｎのハードウェア構成図である。
受信装置４＿１〜４＿Ｎは、メモリ４２に記憶する、鍵暗号鍵データＬを生成するためのデータＩを除いて同じ構成を有している。
受信装置４＿ｎは、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や携帯電話などのユビキタスな端末装置である。
【００２３】
図３に示すように、受信装置４＿ｎは、例えば、通信部４１、メモリ４２および処理部４３を有する。
ここで、通信部４１が第４の発明の受信手段に対応し、メモリ４２が第４の発明の記憶手段に対応し、処理部４３が第４の発明の処理手段に対応している。
通信部４１は、鍵管理装置３がＰＵＳＨ方式で送信した暗号データを無線方式で受信する。
メモリ４２は、処理部４３によって実行されるプログラムＰＲＧ２（第５の発明のプログラム）と、プログラムＰＲＧ２の実行に用いられる種々データを記憶する。
具体的には、メモリ４２は、後述する鍵管理装置３による前述した登録処理によって、受信装置４＿ｎの各々に割り当てられたデータＩを記憶する。
【００２４】
処理部４３は、メモリ４２に記憶されたプログラムＰＲＧ２を実行し、その実行に応じて受信装置４＿ｎの処理を統括して制御する。本実施形態において、受信装置４＿ｎの処理は、処理部４３が実行するプログラムＰＲＧ２によって規定される。
処理部４３による暗号化通信に係わるモジュールの機能は、受信装置４＿ｎもユーザからは制御できないように構成されている。また、受信装置４＿ｎのユーザは、これらの機能を全く意識せずに受信装置４＿ｎを使用する。
【００２５】
以下、鍵管理装置３による受信装置４＿ｎのリボケーション処理に用いられる鍵取得方法ＨＬＫＨ（  非同次論理鍵階層：Ｈｅｔｅｒｏｇｅｎｅｏｕｓ  Ｌｏｇｉｃａｌ  Ｋｅｙ  Ｈｉｅｒａｒｃｈｙ）について説明する。
本実施形態の鍵取得方法ＨＬＫＨでは、例えば、図４に示す非同次論理鍵階層のツリー２０が用いられる。
ツリー２０は、第１のレイヤＬ＿１と第２のレイヤＬ＿２とで構成される。
ツリー２０のルート（ＲＯＯＴ）からはＭ個の分岐（ブランチ）がある。
当該Ｍ個の分岐の各々に関連付けられたノード（ＮＯＤＥ）が第１のレイヤＬ＿１を構成している。
そして、第１のレイヤＬ＿１を構成するＭ個（図４の場合は８個）のノードは、Ｍ個のサブツリーＳＵＢＴ（ｍ）（ｍは１〜Ｍの整数）のルートとなる。
当該サブツリーＳＵＢＴ（ｍ）は、２分木で構成されている。
また、本実施形態では、各サブツリーＳＵＢＴ（ｍ）のリーフ（ＬＥＡＦ）に割り当てられた受信装置４＿ｎが同じクラスタＣＬＵＳに属するように規定されている。
また、上記Ｍ個のサブツリーＳＵＢＴ（ｍ）によって、第２のレイヤＬ＿２が構成される。
本実施形態では、ルートに鍵管理装置３が対応付けられ、サブツリーＳＵＢＴ（ｍ）のリーフに受信装置４＿ｎが対応付けられる。
【００２６】
本実施形態では、図４に示すツリー２０を基にして各クラスタＣＬＵＳ毎に、前述した非特許文献１に開示されているＣＳＴ（Ｃｏｍｐｌｅｔｅ  Ｓｕｂ−Ｔｒｅｅ）  方式を適用したものを鍵取得方法ＨＬＫＨ−Ａとし、非特許文献１に開示されているＳＤ（Ｓｕｂｓｅｔ  Ｄｉｆｆｅｒｅｎｃｅ）  方式を適用したものを鍵取得方法ＨＬＫＨ−Ｂとし、非特許文献２に開示されているＬＳＤ（Ｌａｙｅｒｅｄ  Ｓｕｂｓｅｔ  Ｄｉｆｆｅｒｅｎｃｅ）方式を適用したものを鍵取得方法ＨＬＫＨ−Ｃとする。
【００２７】
上述した図４に示すツリー２０は、例えば、図５に示すように、２分木のみで構成される標準的な論理鍵階層のツリーとは異なる。
【００２８】
以下、通信システム１の動作例を説明する。
〔受信装置４＿ｎの登録〕
以下、鍵管理装置３が、受信装置４＿ｎを登録する場合を説明する。
図６は、当該動作例を説明するためのフローチャートである。
図６において、ステップＳＴ１２が第１の発明の第４の工程に対応し、ステップＳＴ１４が第１の発明の第５の工程に対応している。
ステップＳＴ１１：
鍵管理装置３の処理部１３が、複数（Ｎ個）の受信装置４＿ｎの各々を複数（Ｍ個）のクラスタＣＬＵＳ（ｍ）の何れか一つに割り当てる。
ステップＳＴ１２：
処理部１３は、上述した鍵取得方法ＨＬＫＨを基に、複数のクラスタＣＬＵＳ（ｍ）の各々について、当該クラスタＣＬＵＳ（ｍ）に割り当てられた受信装置４＿ｎのうち何れの受信装置４＿ｎをリボークする場合でも、当該クラスタＣＬＵＳ（ｍ）内のリボークしない全ての受信装置４＿ｎが、当該クラスタＣＬＵＳ（ｍ）内のリボークしない受信装置４＿ｎのみを要素とする単数または複数の集合の要素となるように複数（Ｋｍ個）の集合Ｓ（ｋ，ｍ）（ｋは１〜Ｋｍの整数）を規定する。
【００２９】
ステップＳＴ１３：
処理部１３は、ステップＳＴ１２で規定した集合Ｓ（ｋ，ｍ）の各々に鍵暗号鍵データＬ（ｋ，ｍ）を割り当てる。
ステップＳＴ１４：
処理部１３は、ステップＳＴ１３で割り当てた鍵暗号鍵データＬ（ｋ，ｍ）を生成するためのデータＩ（ｋ，ｍ）を特定する。
処理部１３は、当該特定したデータＩ（ｋ，ｍ）を、ステップＳＴ１２で規定した集合Ｓ（ｋ，ｍ）の要素である受信装置４＿ｎに設定する。すなわち、処理部１３は、セキュアな方法で、データＩ（ｋ，ｍ）を、集合Ｓ（ｋ，ｍ）の要素である受信装置４＿ｎの図３のメモリ４２に書き込む。
なお、処理部１３は、当該特定したデータＩ（ｋ，ｍ）を、ステップＳＴ１２で規定した集合Ｓ（ｋ，ｍ）の要素ではない受信装置４＿ｎには設定しない。
【００３０】
処理部１３は、鍵取得方法ＨＬＫＨ−Ａを採用する場合にはＣＳＴ方式、鍵取得方法ＨＬＫＨ−Ｂを採用する場合にはＳＤ方式、並びに鍵取得方法ＨＬＫＨ−Ｃを採用する場合にはＬＳＤ方式を基に上述したステップＳＴ１２，ＳＴ１３およびＳＴ１４を行う。
【００３１】
〔受信装置４＿ｎのリボケーション〕
以下、鍵管理装置３が所定の受信装置４＿ｎをリボークする場合における鍵管理装置３の動作例を説明する。
図７は、当該動作例を説明するためのフローチャートである。
ここで、図７に示すステップＳＴ２２が第１の発明の第１の工程に対応し、ステップＳＴ２４が第１の発明の第２の工程に対応し、ステップＳＴ２８が第１の発明の第３の工程に対応している。
また、第３の発明のデータ処理装置の第１の手段は処理部１３がステップＳＴ２２を実行して実現され、第２の手段は処理部１３がステップＳＴ２４を実行して実現され、第３の手段は処理部１３がステップＳＴ２８を実行して実現される。
ステップＳＴ２１：
鍵管理装置３の処理部１３は、リボークする受信装置４＿ｎを特定したリボケーションリストＲＬを生成する。
ステップＳＴ２２：
処理部１３は、ステップＳＴ２１で生成したリボケーションリストＲＬを基に、前述したＭ個のクラスタＣＬＵＳ（ｍ）の各々について、当該クラスタＣＬＵＳ（ｍ）に割り当てられた受信装置４＿ｎのうちリボークしない受信装置４＿ｎのみをそれぞれが要素とする単数または複数の集合Ｓ（ｋ，ｍ）を特定する。
このとき、Ｍ個のクラスタＣＬＵＳ（ｍ）についての集合Ｓ（ｋ，ｍ）の和集合が、Ｎ個の受信装置４＿ｎのうちリボークしない受信装置４＿ｎの集合となる。
【００３２】
ステップＳＴ２３：
処理部１３は、ステップＳＴ２２で特定した集合Ｓ（ｋ，ｍ）の各々について、当該集合の要素である受信装置４＿ｎが保持すると共に当該集合に属さない受信装置４＿ｎが保持しないデータであって、新たな鍵暗号鍵データＫＥＫの取得に用いられるデータＩ（ｋ，ｍ）を特定する。
処理部１３は、鍵取得方法ＨＬＫＨ−Ａを採用する場合にはＣＳＴ方式、鍵取得方法ＨＬＫＨ−Ｂを採用する場合にはＳＤ方式、並びに鍵取得方法ＨＬＫＨ−Ｃを採用する場合にはＬＳＤ方式を基に上述したステップＳＴ２２およびＳＴ２３の処理を行う。
例えば、処理部１３は、鍵取得方法ＨＬＫＨ−Ａを採用する場合には、ステップＳＴ２２において、図４に示すツリー２０を基に、クラスタＣＬＵＳ（ｍ）の各々について、当該クラスタＣＬＵＳ（ｍ）を構成するノードのなかで、分岐先にリボークする受信装置４＿ｎが対応付けられたリーフがないノードで、かつ当該クラスタＣＬＵＳ（ｍ）に対応したサブツリーのルート（第１のレイヤＬ＿１の最終端のノード）に最も近いノードを特定する。そして、処理部１３は、当該特定したノードの分岐先のリーフに割り当てられた受信装置４＿ｎを要素とする集合Ｓ（ｋ，ｍ）を特定する。
【００３３】
ステップＳＴ２４：
処理部１３は、ステップＳＴ２３で特定したデータＩ（ｋ，ｍ）を指定する指定データｉ（ｋ，ｍ）を生成する。
指定データｉ（ｋ，ｍ）は、データＩ（ｋ，ｍ）をインデックスなどで指定し、データＩ（ｋ，ｍ）自体は含めない。
【００３４】
ステップＳＴ２５：
処理部１３は、ステップＳＴ２２で特定した集合Ｓ（ｋ，ｍ）の各々について、当該集合Ｓ（ｋ，ｍ）に対応付けられた鍵暗号鍵データＬ（ｋ，ｍ）を用いて、新たなセッション鍵データＮＥＷ＿ＳＥＫを暗号化して、セッション鍵データＥＬ（ｋ，ｍ）（ＮＥＷ＿ＳＥＫ）を生成する。
ステップＳＴ２６：
処理部１３は、ペイロードデータを上記新たなセッション鍵データＮＥＷ＿ＳＥＫで暗号化してペイロードデータＥＮＥＷ＿ＳＥＫ（ＰＡＹＬ）を生成する。
【００３５】
ステップＳＴ２７：
処理部１３は、全てのクラスタＣＬＵＳ（ｍ）についてステップＳＴ２４およびＳＴ２５で生成した指定データｉ（ｋ，ｍ）およびセッション鍵データＥＬ（ｋ，ｍ）（ＮＥＷ＿ＳＥＫ）と、ステップＳＴ２６で生成したペイロードデータＥＮＥＷ＿ＳＥＫ（ＰＡＹＬ）とを格納したカプセルデータＣＡＰを生成する。
ステップＳＴ２８：
処理部１３は、ステップＳＴ２７で生成したカプセルデータＣＡＰを、図２に示す通信部１１を介して受信装置４＿ｎに送信（マルチキャスト）する。
【００３６】
以下、鍵管理装置３が所定の受信装置４＿ｎをリボークする場合における受信装置４＿ｎの動作例を説明する。
図８は、当該動作例を説明するためのフローチャートである。
図８において、ステップＳＴ４１が第６の発明の第１の工程に対応し、ステップＳＴ４５が第６の発明の第２の工程に対応し、ステップＳＴ４７が第６の発明の第３の工程に対応している。
ステップＳＴ４１：
図３に示す受信装置４＿ｎの通信部４１が、図７に示すステップＳＴ２８において鍵管理装置３が送信したカプセルデーダＣＡＰを受信する。
ステップＳＴ４２：
受信装置４＿ｎの処理部４３が、ステップＳＴ４１で受信したカプセルデータＣＡＰ内に、自らに対応するデータｉｍが含まれているか否かを判断し、含まれていると判断するとステップＳＴ４３の処理に進み、そうでない場合には処理を終了する。
【００３７】
ステップＳＴ４３：
処理部４３は、カプセルデータＣＡＰから自らに対応するデータｉｍを取得する。
ステップＳＴ４４：
処理部４３は、ステップＳＴ４３で取得したデータｉｍが指定するデータＩｍをメモリ４２から読み出す。
ステップＳＴ４５：
処理部４３は、ステップＳＴ４４で読み出したデータＩｍを用いて、鍵取得方法ＨＬＫＨを基に鍵暗号鍵データＬ（ｋ，ｍ）を生成する。
【００３８】
ステップＳＴ４６：
処理部４３は、ステップＳＴ４５で生成した鍵暗号鍵データＬ（ｋ，ｍ）を用いて、カプセルデータＣＡＰ内のセッション鍵データＥＬ（ｋ，ｍ）（ＮＥＷ＿ＳＥＫ）を復号して新たなセッション鍵データＮＥＷ＿ＳＥＫを生成する。
以後、受信装置４＿ｎは、当該新たなセッション鍵データＮＥＷ＿ＳＥＫを基に鍵管理装置３との間で暗号化通信を行う。
ステップＳＴ４７：
処理部４３は、ステップＳＴ４６で生成したセッション鍵データＮＥＷ＿ＳＥＫを用いて、カプセルデータＣＡＰ内のペイロードデータＥＮＥＷ＿ＳＥＫ（ＰＡＹＬ）を復号してペイロードデータＰＡＹＬを生成する。
【００３９】
以下、通信システム１の全体動作例を説明する。
先ず、鍵管理装置３が、図６を用いて前述した登録処理により、受信装置４＿ｎを登録し、受信装置４＿ｎのメモリ４２にデータＩ（ｋ，ｍ）をセキュアな状態で設定する。
そして、鍵管理装置３が、所定の受信装置４＿ｎをリボークする場合に、図７を用いて前述した手法で、カプセルデータＣＡＰを受信装置４＿ｎに送信（マルチキャスト）する。
そして、リボークされない受信装置４＿ｎが、図８を用いて説明した処理を行い、新たなセッション鍵データＮＥＷ＿ＳＥＫを基に復号したペイロードデータＰＡＹＬを得る。
【００４０】
図９は、上述した通信システム１における受信装置４＿ｎのメモリ４２が記憶するデータＩのデータ量Ｏ（ＳＴ）と、リボークに伴う鍵管理装置３とリボークしない受信装置４＿ｎとの間の通信量Ｏ（ＣＯ）と、リボークに伴う受信装置４＿ｎの処理量Ｏ（ＰＲ）とを、本実施形態の鍵取得方法ＨＬＫＨ−Ａ，ＨＬＫＨ−Ｂ，ＨＬＫＨ−Ｃを採用した場合と、従来のＣＳＴ方式、ＳＤ方式およびＬＳＤ方式を採用した場合とで比較するための図である。
【００４１】
図９において、Ｎは、受信装置４＿ｎの数、Ｒはリボークする受信装置４＿ｎの数、ＲｍはクラスタＣＬＵＳ（ｍ）内のリボークする受信装置４＿ｎの数、ＭはクラスタＣＬＵＳ（ｍ）の数を示している。
また、δ０，Ｒｍは、Ｒｍ＝０の場合に「１」を示し、Ｒｍ≠０の場合に「０」を示す。また、εは１未満の値である。
【００４２】
図９に示すように、通信システム１によれば、鍵取得方法ＨＬＫＨ−Ａ，ＨＬＫＨ−Ｂ，ＨＬＫＨ−Ｃを採用することで、従来のＣＳＴ方式、ＳＤ方式およびＬＳＤ方式を採用した場合に比べて、受信装置４＿ｎが記憶するデータ（データＩ）のデータ量Ｏ（ＳＴ）を大幅に少なくできる。また、リボークに伴う受信装置４＿ｎの処理量Ｏ（ＰＲ）も大幅に少なくできる。この効果は、クラスタＣＬＵＳ（ｍ）の数Ｍが多くなるほど顕著である。
なお、通信システム１によれば、鍵取得方法ＨＬＫＨ−Ａ，ＨＬＫＨ−Ｂ，ＨＬＫＨ−Ｃを採用したことによる、従来のＣＳＴ方式、ＳＤ方式およびＬＳＤ方式を採用した場合に比べた場合のリボークに伴う鍵管理装置３と受信装置４＿ｎとの間の通信量Ｏ（ＣＯ）の増大量を少なくできる。
【００４３】
以上説明したように、通信システム１によれば、図４に示すように、ツリー２０のリーフに割り当てた受信装置４＿ｎへのデータＩの設定、並びにリボケーションを、クラスタＣＬＵＳ（ｍ）を単位として行うことで、受信装置４＿ｎが記憶するデータＩのデータ量を従来に比べて大幅に少なくできる。
【００４４】
本発明は上述した実施形態には限定されない。
上述した実施形態では、鍵管理装置３と受信装置４＿ｎとの間の通信を無線方式で行う場合を例示したが、当該通信を有線で行ってもよい。
また、上述した実施形態では、本発明の複数の鍵取得方法として、ＨＬＫＨ−Ａ，ＨＬＫＨ−Ｂ，ＨＬＫＨ−Ｃを例示したが、クラスタＣＬＵＳ（ｍ）を基にしたリボケーション処理を行うものであれば、その他の鍵取得方法を用いてもよい。
また、本実施形態において、採用するツリーとして、図４に示すツリー２０の代わりに、図１０に示すツリー２５を採用してもよい。この場合にも、リーフに割り当てられた受信装置４＿ｎを、複数のクラスタＣＬＵＳ（ｍ）に分割して登録処理およびリボケーション処理を行う。
【００４５】
【発明の効果】
以上説明したように、本発明によれば、鍵データを基に暗号化通信を行う複数の受信装置のうち何れかの前記受信装置を適切に無効にするために、前記受信装置が保持させるデータのデータ量を従来に比べて少なくできるデータ処理方法、そのプログラムおよびその装置を提供することができる。
また、本発明によれば、暗号化通信に用いる鍵データのデータ量を従来に比べて少なくできる受信装置、そのプログラムおよびそのデータ処理方法を提供することができる。
【図面の簡単な説明】
【図１】図１は、本発明の実施形態に係わる通信システムの全体構成図である。
【図２】図２は、図１に示す鍵管理装置のハードウェア構成図である。
【図３】図３は、図１に示す受信装置のハードウェア構成図である。
【図４】図４は、本発明の実施形態で採用される鍵取得方法の基礎となるツリー構造を説明するための図である。
【図５】図５は、従来の標準的な鍵取得方法の基礎となるツリー構造を説明するための図である。
【図６】図６は、図１に示す鍵管理装置が行う受信装置の登録動作例を説明するためのフローチャートである。
【図７】図７は、図１に示す鍵管理装置が行うリボケーションの動作例を説明するためのフローチャートである。
【図８】図８は、図１に示す受信装置が行うリボケーションにおける動作例を説明するためのフローチャートである。
【図９】図９は、図１に示す通信システムの効果を説明するための図である。
【図１０】図１０は、図１に示す通信システムにおいて採用するその他のツリーを説明するための図である。
【符号の説明】
１…通信システム、３…鍵管理装置、４＿ｎ…受信装置、１０…バス、１１…通信部、１２…メモリ、１３…処理部、４０…バス、４１…通信部、４２…メモリ、４３…処理部
【図１】
2004328541.tif 000003
【図２】
2004328541.tif 000004
【図３】
2004328541.tif 000005
【図４】
2004328541.tif 000006
【図５】
2004328541.tif 000007
【図６】
2004328541.tif 000008
【図７】
2004328541.tif 000009
【図８】
2004328541.tif 000010
【図９】
2004328541.tif 000011
【図１０】
2004328541.tif 000012