(57)【要約】【課題】実際のネットワーク構成を考慮しつつ、ルータの計算能力に応じて暗号化処理における処理負荷を最適化する処理負荷分散方法を提供する。【解決手段】各末端ルータ３０ａ〜３０ｄの暗号化処理による平均負荷および最大負荷を算出し、各末端ルータ３０ａ〜３０ｄの計算能力と算出した平均負荷および最大負荷とを比較し、その比較結果に応じて、暗号化処理における処理負荷の分散処理を行うことにより、暗号化処理における処理負荷を最適化する。【選択図】図３
2008187399.tif 000002
【特許請求の範囲】
【請求項１】
最上位のルートルータと、クライアント端末が接続される末端ルータと、前記ルートルータと前記末端ルータとを接続する中間ルータとが木構造をなしてなり、前記末端ルータが保有する鍵暗号化鍵を各クライアントの個別鍵で暗号化して送信するとともに、新たなクライアントの加入時に、コンテンツ鍵を該新たなクライアントが保有する個別鍵で暗号化して該新たなクライアントに送信し、クライアントの脱退時に、鍵の更新フラグを立て、鍵の更新処理において、前記末端ルータの鍵暗号化鍵を更新し、更新した該鍵暗号化鍵を接続されるクライアントがそれぞれに保有する個別鍵で暗号化して、各クライアントにユニキャスト送信する鍵管理システムにおける処理負荷分散方法であって、
各末端ルータの暗号化処理による平均負荷および最大負荷を算出する第１のステップと、
前記各末端ルータの計算能力と前記算出した平均負荷および最大負荷とを比較し、該比較結果に応じて、暗号化処理における処理負荷の分散処理を行う第２のステップと、
を備えたことを特徴とする処理負荷分散方法。
【請求項２】
前記第２のステップにおいて、前記各末端ルータの計算能力が暗号化処理による平均負荷よりも低いときに、鍵更新間隔を現在の時間よりも長く設定する、あるいは末端ルータの数を現在よりも増やすことを決定することを特徴とする請求項１に記載の処理負荷分散方法。
【請求項３】
前記第２のステップにおいて、各末端ルータの計算能力が暗号化処理による平均負荷以上で、かつ、暗号化処理による最大負荷以下のときに、前記各末端ルータの処理能力が前記各末端ルータの計算能力よりも大きくなるように、近傍の前記中間ルータと暗号化処理における処理負荷の分散処理を行うことを特徴とする請求項１に記載の処理負荷分散方法。
【請求項４】
最上位のルートルータと、クライアント端末が接続される末端ルータと、前記ルートルータと前記末端ルータとを接続する中間ルータとが木構造をなしてなり、前記末端ルータが保有する鍵暗号化鍵を各クライアントの個別鍵で暗号化して送信するとともに、新たなクライアントの加入時に、コンテンツ鍵を該新たなクライアントが保有する個別鍵で暗号化して該新たなクライアントに送信し、クライアントの脱退時に、鍵の更新フラグを立て、鍵の更新処理において、前記末端ルータの鍵暗号化鍵を更新し、更新した該鍵暗号化鍵を接続されるクライアントがそれぞれに保有する個別鍵で暗号化して、各クライアントにユニキャスト送信する鍵管理システムにおける処理負荷分散方法をコンピュータに実行させるためのプログラムであって、
各末端ルータの暗号化処理による平均負荷および最大負荷を算出する第１のステップと、
各末端ルータの計算能力と前記算出した平均負荷および最大負荷とを比較し、該比較結果に応じて、暗号化処理における処理負荷の分散処理を行う第２のステップと、
をコンピュータに実行させるためのプログラム。
【請求項５】
前記第２のステップにおいて、各末端ルータの計算能力が暗号化処理による平均負荷よりも低いときに、鍵更新間隔を現在の時間よりも長く設定する、あるいは末端ルータの数を現在よりも増やすことを決定することを特徴とする請求項１に記載のプログラム。
【請求項６】
前記第２のステップにおいて、各末端ルータの計算能力が暗号化処理による平均負荷以上で、かつ、暗号化処理による最大負荷以下のときに、前記各末端ルータの処理能力が前記各末端ルータの計算能力よりも大きくなるように、近傍の前記中間ルータと暗号化処理における処理負荷の分散処理を行うことを特徴とする請求項１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおけるコンテンツ配信サービスにおいて、安全かつ効率的な鍵管理を実現する処理負荷分散方法およびプログラムに関する。
【背景技術】
【０００２】
近年、インターネットの普及により、様々なコンテンツの配信サービスが行われている。一方で、ネットワークにおいて信頼性の高いコンテンツ配信サービスを実現するためには、鍵管理の技術が不可欠な要素となる。ここで、鍵管理技術とは、ネットワークを介して配信されるコンテンツを暗号化するための鍵を効率的に配布、更新する技術であり、一般的に、１）あるコンテンツ配信サービスに新規に加入したユーザが、それ以前に他のユーザに対して配布された鍵を入手できないこと。２）あるコンテンツ配信サービスから脱退したユーザが、それ以降に他のユーザに配布される鍵を入手できないことの２つの条件を満足する必要がある。
【０００３】
こうした条件を充足するために、従来は、例えば、図４に示すような鍵管理方式が提案されている。この方式は、図４に示すように、スター構造を用いた鍵管理方式であって、各利用者（図中、Ｃ１〜Ｃ９）は、鍵管理サーバＫＳとはそれぞれ異なる個人鍵を有している。また、利用者（図中、Ｃ１〜Ｃ９）全員は、同一の共有鍵ｋ１を保持している。そして、サービスに新たな利用者が参加した場合には、鍵管理サーバＫＳが共有鍵ｋ１を更新し、更新した共有鍵ｋ１´をこれまでの共有鍵で暗号化して既存のすべての利用者に配布するとともに、新たな利用者には、更新した共有鍵を新たな利用者が保有する個人鍵で暗号化して送信する（例えば、非特許文献１参照。）。
【０００４】
また、他の従来の方式として、図５に示すような鍵管理方式が提案されている。この方式は、図５に示すように、木構造を用いた鍵管理方式であって、各利用者（図中、Ｃ１〜Ｃ９）は、鍵管理サーバＫＳとはそれぞれ異なる個人鍵を有している。この方式では、ｋ分木の最上位の節点（ルートノード）に共有鍵ｋ１−９を割り当て、末端の節点（リーフノード）に各利用者（図中、Ｃ１〜Ｃ９）の個人鍵（図中、ｋ１〜ｋ９）を配置している。さらに、中間の節点には、上位の節点の鍵を暗号化するための鍵（Ｋｅｙ  ｅｎｃｒｙｐｔｉｏｎ  Ｋｅｙ：鍵暗号化鍵）（図中、ｋ１−２、ｋ３−４、ｋ５−６、ｋ７−９、ｋ１−４、ｋ５−９）を配置している。各利用者（図中、Ｃ１〜Ｃ９）は、各利用者が保有する鍵が格納されているノードの上位にあるすべてのノードに配置された鍵を保持する。したがって、各利用者（図中、Ｃ１〜Ｃ９）が保持する鍵の個数は、木の高さと同数のｌｏｇｋＮとなる。
【０００５】
そして、サービスに新たな利用者が参加した場合には、鍵管理サーバＫＳが、新たな利用者の個人鍵を木構造の末端の節点に配置し、この節点の上位の節点に配置されているすべての鍵を更新する。さらに、更新された鍵を更新前の鍵で暗号化して、それぞれの鍵を保有する利用者に送信する。一方で、利用者が脱退した場合には、鍵管理サーバＫＳが、その脱退した利用者が保持する個人鍵を格納する節点の上位の節点に配置されているすべての共有鍵を更新し、更新された鍵を一階層下の節点に配置されたそれぞれの鍵で暗号化して、それぞれの鍵を保持する利用者に送信する（例えば、非特許文献２参照。）。
【非特許文献１】ＲＦＣ２０９３：Ｔｈｅ  Ｇｒｏｕｐ  Ｋｅｙ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ、１９９７年７月、ＲＦＣ２０９４：Ｔｈｅ  Ｇｒｏｕｐ  Ｋｅｙ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ、１９９７年７月
【非特許文献２】ＲＦＣ２６２７：Ｋｅｙ  Ｍａｎａｇｅｍｅｎｔ  ｆｏｒ  Ｍｕｌｔｉｃａｓｔ：Ｉｓｓｕｅｓ  ａｎｄ  Ａｒｃｈｉｔｅｃｔｕｒｅｓ、１９９９年６月
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１に記載された方式では、利用者が脱退した場合に、鍵管理サーバＫＳが共有鍵ｋ１を更新し、更新した共有鍵を各利用者の個人鍵で暗号化して、各利用者に配布する必要がある。このため、利用者の脱退時の処理に要する通信コストが利用者の人数に比例して大きくなるという問題があった。
【０００７】
また、非特許文献２に記載された方式では、利用者の加入時、脱退時ともに、鍵の更新に必要となる通信量が、利用者の人数の対数値に比例するため、非特許文献１に記載された方式よりも効率的ではあるが、非特許文献２に記載された方式では、非特許文献１に記載された方式と同様に、実際のネットワーク構成とは相関性のない鍵管理構造を用いている、つまり、鍵管理構成上で隣接している利用者が、実際のネットワーク上でも、近接した位置に存在するとは限らないため、鍵管理構造上では、局所化できる鍵更新の影響が、実際のネットワークにおけるトラフィックという観点では、全く局所化されないという問題がある。
【０００８】
そこで、本発明は、上述の課題に鑑みてなされたものであり、実際のネットワーク構成を考慮しつつ、ルータの計算能力に応じて暗号化処理における処理負荷を最適化する処理負荷分散方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記の課題を解決するために以下の事項を提案している。
（１）本発明は、最上位のルートルータ（例えば、図１のルートルータ１０に相当）と、クライアント端末が接続される末端ルータ（例えば、図１の末端ルータ３０ａ〜３０ｄに相当）と、前記ルートルータと前記末端ルータとを接続する中間ルータ（例えば、図１の中間ルータ２０ａ、２０ｂに相当）とが木構造をなしてなり、前記末端ルータが保有する鍵暗号化鍵を各クライアントの個別鍵で暗号化して送信するとともに、新たなクライアントの加入時に、コンテンツ鍵を該新たなクライアントが保有する個別鍵で暗号化して該新たなクライアントに送信し、クライアントの脱退時に、鍵の更新フラグを立て、鍵の更新処理において、前記末端ルータの鍵暗号化鍵を更新し、更新した該鍵暗号化鍵を接続されるクライアントがそれぞれに保有する個別鍵で暗号化して、各クライアントにユニキャスト送信する鍵管理システムにおける処理負荷分散方法であって、各末端ルータの暗号化処理による平均負荷および最大負荷を算出する第１のステップ（例えば、図３のステップＳ２０１に相当）と、前記各末端ルータの計算能力と前記算出した平均負荷および最大負荷とを比較し、該比較結果に応じて、暗号化処理における処理負荷の分散処理を行う第２のステップ（例えば、図３のステップＳ２０２〜ステップＳ２０７に相当）と、を備えたことを特徴とする処理負荷分散方法を提案している。
【００１０】
この発明によれば、各末端ルータの暗号化処理による平均負荷および最大負荷を算出し、各末端ルータの計算能力と算出した平均負荷および最大負荷とを比較し、その比較結果に応じて、暗号化処理における処理負荷の分散処理を行う。したがって、ネットワーク構成を考慮しつつ、各末端ルータの計算能力に応じて暗号化処理における処理負荷を分散することができる。
【００１１】
（２）本発明は、（１）の処理負荷分散方法について、前記第２のステップにおいて、前記各末端ルータの計算能力が暗号化処理による平均負荷よりも低いときに、鍵更新間隔を現在の時間よりも長く設定する、あるいは末端ルータの数を現在よりも増やすことを決定することを特徴とする処理負荷分散方法を提案している。
【００１２】
この発明によれば、各末端ルータの計算能力が暗号化処理による平均負荷よりも低いときに、鍵更新間隔を現在の時間よりも長く設定する、あるいは末端ルータの数を現在よりも増やすことを決定する。すなわち、各末端ルータの計算能力が暗号化処理による平均負荷よりも低い場合には、本来、各末端ルータが有する計算能力では、適切な鍵管理を実行することができない。そこで、鍵更新間隔を現在の時間よりも長く設定したり、末端ルータの数を現在よりも増やすことで、各末端ルータの処理負荷を最適化して、適切な鍵管理を実行することができる。
【００１３】
（３）本発明は、（１）の処理負荷分散方法について、前記第２のステップにおいて、各末端ルータの計算能力が暗号化処理による平均負荷以上で、かつ、暗号化処理による最大負荷以下のときに、前記各末端ルータの処理能力が前記各末端ルータの計算能力よりも大きくなるように、近傍の前記中間ルータと暗号化処理における処理負荷の分散処理を行うことを特徴とする処理負荷分散方法を提案している。
【００１４】
この発明によれば、各末端ルータの計算能力が暗号化処理による平均負荷以上で、かつ、暗号化処理による最大負荷以下のときに、各末端ルータの処理能力が各末端ルータの計算能力よりも大きくなるように、近傍の前記中間ルータと暗号化処理における処理負荷の分散処理を行う。すなわち、各末端ルータの計算能力が暗号化処理による平均負荷以上で、かつ、暗号化処理による最大負荷以下のときには、現在の各末端ルータのみでは、鍵管理を行うことができないが、上位の中間ルータと処理を分担することにより、適切な鍵管理を実行することが可能となる。なお、負荷分散を行う場合、これによる通信量の増大を最小限に抑えるため、近傍の中間ルータとの負荷分散を優先的に実行する。
【００１５】
（４）本発明は、最上位のルートルータ（例えば、図１のルートルータ１０に相当）と、クライアント端末が接続される末端ルータ（例えば、図１の末端ルータ３０ａ〜３０ｄに相当）と、前記ルートルータと前記末端ルータとを接続する中間ルータ（例えば、図１の中間ルータ２０ａ、２０ｂに相当）とが木構造をなしてなり、前記末端ルータが保有する鍵暗号化鍵を各クライアントの個別鍵で暗号化して送信するとともに、新たなクライアントの加入時に、コンテンツ鍵を該新たなクライアントが保有する個別鍵で暗号化して該新たなクライアントに送信し、クライアントの脱退時に、鍵の更新フラグを立て、鍵の更新処理において、前記末端ルータの鍵暗号化鍵を更新し、更新した該鍵暗号化鍵を接続されるクライアントがそれぞれに保有する個別鍵で暗号化して、各クライアントにユニキャスト送信する鍵管理システムにおける処理負荷分散方法であって、各末端ルータの暗号化処理による平均負荷および最大負荷を算出する第１のステップ（例えば、図３のステップＳ２０１に相当）と、前記各末端ルータの計算能力と前記算出した平均負荷および最大負荷とを比較し、該比較結果に応じて、暗号化処理における処理負荷の分散処理を行う第２のステップ（例えば、図３のステップＳ２０２〜ステップＳ２０７に相当）と、をコンピュータに実行させるためのプログラムを提案している。
【００１６】
この発明によれば、各末端ルータの暗号化処理による平均負荷および最大負荷を算出し、各末端ルータの計算能力と算出した平均負荷および最大負荷とを比較し、その比較結果に応じて、暗号化処理における処理負荷の分散処理を行う。したがって、ネットワーク構成を考慮しつつ、各末端ルータの計算能力に応じて暗号化処理における処理負荷を分散することができる。
【００１７】
（５）本発明は、（４）のプログラムについて、前記第２のステップにおいて、各末端ルータの計算能力が暗号化処理による平均負荷よりも低いときに、鍵更新間隔を現在の時間よりも長く設定する、あるいは末端ルータの数を現在よりも増やすことを決定することを特徴とするプログラムを提案している。
【００１８】
この発明によれば、各末端ルータの計算能力が暗号化処理による平均負荷よりも低いときに、鍵更新間隔を現在の時間よりも長く設定する、あるいは末端ルータの数を現在よりも増やすことを決定する。すなわち、各末端ルータの計算能力が暗号化処理による平均負荷よりも低い場合には、本来、各末端ルータが有する計算能力では、適切な鍵管理を実行することができない。そこで、鍵更新間隔を現在の時間よりも長く設定したり、末端ルータの数を現在よりも増やすことで、各末端ルータの処理負荷を最適化して、適切な鍵管理を実行することができる。
【００１９】
（６）本発明は、（４）のプログラムについて、前記第２のステップにおいて、各末端ルータの計算能力が暗号化処理による平均負荷以上で、かつ、暗号化処理による最大負荷以下のときに、前記各末端ルータの処理能力が前記各末端ルータの計算能力よりも大きくなるように、近傍の前記中間ルータと暗号化処理における処理負荷の分散処理を行うことを特徴とするプログラムを提案している。
【００２０】
この発明によれば、各末端ルータの計算能力が暗号化処理による平均負荷以上で、かつ、暗号化処理による最大負荷以下のときに、各末端ルータの処理能力が各末端ルータの計算能力よりも大きくなるように、近傍の前記中間ルータと暗号化処理における処理負荷の分散処理を行う。すなわち、各末端ルータの計算能力が暗号化処理による平均負荷以上で、かつ、暗号化処理による最大負荷以下のときには、現在の各末端ルータのみでは、鍵管理を行うことができないが、上位の中間ルータと処理を分担することにより、適切な鍵管理を実行することが可能となる。なお、負荷分散を行う場合、これによる通信量の増大を最小限に抑えるため、近傍の中間ルータとの負荷分散を優先的に実行する。
【発明の効果】
【００２１】
本発明によれば、末端の各ルータについて、実際のネットワーク構成を考慮した暗号化処理における負荷分散を実行することで、末端の各ルータにおける処理負荷を最適化することができるという効果がある。また、末端の各ルータにおける処理負荷を最適化することで、鍵の更新や配布における通信量を削減できるという効果がある。
【発明を実施するための最良の形態】
【００２２】
以下、図面を用いて、本発明の実施形態について詳細に説明する。
お、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００２３】
＜本実施形態の構成＞
図１を用いて、本実施形態の処理負荷分散方法における鍵管理システムの構成について説明する。
本実施形態の処理負荷分散方法における鍵管理システムの構成は、図１に示すように、木構造をなしており、その最上位にルートルータ１０が配置されている。中間ルータ２０ａ、２０ｂは、ルートルータ１０と後述する末端ルータ３０ａ〜３０ｄを接続している。
【００２４】
末端ルータ３０ａ〜３０ｄは、クライアント端末４０ａ〜４０ｄと接続されている。そして、準備処理では、末端ルータ３０ａ〜３０ｄが個別に保有する鍵暗号化鍵をクライアント端末４０ａ〜４０ｄが個別に保有する個別鍵で暗号化し、それぞれのクライアント端末４０ａ〜４０ｄに送信し、クライントの加入処理では、クライントが加入した末端ルータ３０ａ〜３０ｄがコンテンツ鍵を新たに加入したクライアントの個別鍵で暗号化して送信する処理を行い、クライアントの脱退処理では、クライアントが脱退した末端ルータ３０ａ〜３０ｄが鍵の更新フラグを立てる。また、鍵の更新処理では、鍵の更新フラグが立っている末端ルータ３０ａ〜３０ｄが保有する鍵暗号化鍵を更新し、更新した鍵暗号化鍵を各クライアント端末４０ａ〜４０ｄが保有する個別鍵で暗号化して、各クライアント端末４０ａ〜４０ｄにユニキャストで送信する処理を行う。このように、本実施形態における鍵管理方法では、末端ルータ３０ａ〜３０ｄが担う鍵更新処理の処理負荷がもっとも大きくなっている。
【００２５】
＜本実施形態の鍵管理方法における処理＞
次に、図２を用いて、本実施形態の鍵管理方法における処理について説明する。
本実施形態の鍵管理方法における処理は、１）準備処理、２）クライアントの加入処理、３）クライアントの脱退処理、４）コンテンツの配信処理、５）鍵の更新処理に大別することができる。ここで、ルートルータ１０、中間ルータ２０ａ、２０ｂ、末端ルータ３０ａ〜３０ｄの各ルータは、それぞれ鍵の暗号化／復号化処理、鍵の生成処理、鍵の保管処理を実行することができ、すべてのクライアント端末４０ａ〜４０ｄは、いずれかの末端ルータ３０ａ〜３０ｄに接続されており、接続された末端ルータ３０ａ〜３０ｄとの間で、相異なる個別鍵を共有しているものとする。
【００２６】
［準備処理］
この準備処理は、鍵管理処理を開始した際に、１度だけ実行される処理である。具体的には、ルートルータ１０が、コンテンツ暗号化鍵を生成し、中間ルータ２０ａ、２０ｂおよび末端ルータ３０ａ〜３０ｄが鍵暗号化鍵を生成する。生成された鍵暗号化鍵は、ユニキャストで上位のルータに送付される。次に、ルートルータ１０および中間ルータ２０ａ、２０ｂが、それぞれ生成した鍵暗号化鍵を直下に配置されたルータから受信したｋ個の鍵暗号化鍵により暗号化する。そして、暗号化した鍵暗号化鍵をまとめて下位に配置されたルータにマルチキャストで送信する。さらに、末端ルータ３０ａ〜３０ｄは、保有する鍵暗号化鍵を各クライアント端末４０ａ〜４０ｄが保有する個別鍵により暗号化して、各クライアント端末４０ａ〜４０ｄに送信する（ステップＳ１０１）。
【００２７】
［クライアントの加入処理］
上記の準備処理が終了すると、新規のクライアントの加入があるかどうかを検出し（ステップＳ１０２）、新規のクライアントが加入する場合には、クライントが加入した末端ルータ３０ａ〜３０ｄが、コンテンツ鍵を新たに加入したクライアントが保有する個別鍵で暗号化して、新たに加入したクライアントに送信する（ステップＳ１０３）。
【００２８】
［クライアントの脱退処理］
次に、既存クライアントの脱退があるかどうかを検出し（ステップＳ１０４）、既存クライアントの脱退があった場合には、既存クライアントが脱退した末端ルータ３０ａ〜３０ｄが、鍵の更新フラグを立てる。そして、鍵の更新フラグが立っている末端ルータ３０ａ〜３０ｄの鍵暗号化鍵は、次回の鍵更新処理の際に、更新される（ステップＳ１０５）。
【００２９】
［コンテンツ配信処理］
コンテンツ提供者は、その配布するコンテンツをコンテンツ鍵で暗号化して、すべてのクライアント端末４０ａ〜４０ｄにマルチキャストで送信する（ステップＳ１０６）。
【００３０】
［鍵更新処理］
すべてのルータは、鍵更新時間の経過ごとに、鍵の更新処理を実行する（ステップＳ１０７）。具体的には、鍵更新フラグが立っている末端ルータ３０ａ〜３０ｄが、それぞれに保有する鍵暗号化鍵を更新し、更新した鍵暗号化鍵を各クライアント端末４０ａ〜４０ｄが保有する個別鍵により暗号化して、各クライアント端末４０ａ〜４０ｄにユニキャストで送信する。また、末端ルータ３０ａ〜３０ｄの上位に配置された中間ルータ２０ａ、２０ｂも更新した鍵暗号化鍵をユニキャストで送信する。下位に配置されたルータから更新した鍵暗号化鍵を受信したルータは、鍵暗号化鍵の更新を行う。更新した鍵暗号化鍵は、直下に配置されたｋ個のルータが保有する鍵暗号化鍵で暗号化され、下位に配置されたすべてのルータにマルチキャストで送信される。また、上位に配置されたルータには、更新した鍵暗号化鍵がユニキャストで送信される。こうした処理を、ルートルータ１０のコンテンツ鍵が更新されるまで、繰り返し実行する（ステップＳ１０８）
【００３１】
＜本実施形態の処理負荷分散方法における処理＞
次に、図３を用いて、本実施形態の処理負荷分散方法における処理について説明する。
上記の鍵管理方法における処理では、末端ルータ３０ａ〜３０ｄの鍵更新処理における負荷が最も大きくなる。そこで、本実施形態の処理負荷分散方法では、末端ルータ３０ａ〜３０ｄの鍵更新処理における負荷を上位に配置された複数のルータに分散させることにより、各末端ルータ３０ａ〜３０ｄの計算量を考慮しながら、鍵更新処理における通信量を最小にする方法を提案している。
【００３２】
まず、各末端ルータ３０ａ〜３０ｄの暗号化処理による平均負荷と最大負荷とを下記の式（１）および式（２）により算出する（ステップＳ２０１）。ここで、ｍは、１つの末端ルータに接続されるクライアント端末の数を、Ｎは、クライント端末の総数を、Ｔは、各クライアント端末の平均接続時間を、τは、鍵更新時間（単位時間）を、ｋは、鍵管理木の次数を、θは、鍵管理木の自己相似係数（一般的なマルチキャストシステムでは、０．１２〜０．２０程度）を示している。
【００３３】
【数１】
2008187399.tif 000003
【００３４】
【数２】
2008187399.tif 000004
【００３５】
そして、末端ルータ３０ａ〜３０ｄの計算能力（Ｃｏｍｐｃａｐ）が平均負荷（Ｃｏｍｐａｖｅ）よりも小さい場合（ステップＳ２０２の「Ｙｅｓ」）には、末端ルータ３０ａ〜３０ｄの計算能力（Ｃｏｍｐｃａｐ）が低すぎて鍵管理処理を行うことができないと判断できるため、コンテンツ提供者と協議の上、鍵更新時間τを長くするか、あるいは、末端ルータの数を増加させて、各末端ルータ３０ａ〜３０ｄが管理するクライアント端末の数ｍを減らす（ステップＳ２０３）。
【００３６】
一方、末端ルータ３０ａ〜３０ｄの計算能力（Ｃｏｍｐｃａｐ）が最大負荷（Ｃｏｍｐｍａｘ）よりも大きい場合（ステップＳ２０４の「Ｙｅｓ」）には、末端ルータ３０ａ〜３０ｄの計算能力（Ｃｏｍｐｃａｐ）が十分に高いと判断できるため、現状の末端ルータ３０ａ〜３０ｄのみで、クライント端末４０ａ〜４０ｄを管理することにより、鍵更新処理における通信量を最小限に抑えることができる（ステップＳ２０５）。
【００３７】
他方、末端ルータ３０ａ〜３０ｄの計算能力（Ｃｏｍｐｃａｐ）が平均負荷（Ｃｏｍｐａｖｅ）以上で、かつ、最大負荷（Ｃｏｍｐｍａｘ）以下の場合（ステップＳ２０６）には、末端ルータ３０ａ〜３０ｄだけでは、クライアント端末４０ａ〜４０ｄの管理を行うことはできないが、上位に配置されたルータと処理を分担することにより、鍵管理を実行することができる。この場合、負荷分散による通信量の増大を最小限に抑えるために、近接する上位のルータとの負荷分散を優先的に実行する。
【００３８】
具体的は、１階層上の中間ルータ２０ａ、２０ｂがクライアント端末４０ａ〜４０ｄの管理に参加する場合を考えると、このときの末端ルータの処理負荷（Ｃｏｍｐ）は、式（３）のようになる。
【００３９】
【数３】
2008187399.tif 000005
【００４０】
また、一般に、ｎ階層上の中間ルータ２０ａ、２０ｂがクライアント端末４０ａ〜４０ｄの管理に参加した場合の末端ルータの処理負荷（Ｃｏｍｐ）は、式（４）のようになる。
【００４１】
【数４】
2008187399.tif 000006
【００４２】
したがって、式（４）により、末端ルータの処理負荷（Ｃｏｍｐ）が末端ルータの計算能力（Ｃｏｍｐｃａｐ）よりも小さくなるようなｎが求まるように、負荷分散処理を実行する（ステップＳ２０７）。
【００４３】
したがって、本実施形態によれば、末端の各ルータについて、実際のネットワーク構成を考慮した暗号化処理における負荷分散を実行することで、末端の各ルータにおける処理負荷を最適化することができる。また、末端の各ルータにおける処理負荷を最適化することで、鍵の更新や配布における通信量を削減できる。
【００４４】
なお、上述の一連の処理をプログラムとしてコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行することによって本発明の処理負荷分散方法を実現することができる。
【００４５】
また、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００４６】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００４７】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００４８】
【図１】本発明の構成を示す図である。
【図２】本発明の鍵管理方法における処理フローである。
【図３】本発明の処理負荷分散方法における処理フローである。
【図４】従来例に係る鍵管理構造を示す図である。
【図５】従来例に係る鍵管理構造を示す図である。
【符号の説明】
【００４９】
１０・・・ルートルータ
２０ａ、２０ｂ・・・中間ルータ
３０ａ〜３０ｄ・・・末端ルータ
４０ａ〜４０ｄ・・・クライアント端末
【図１】
2008187399.tif 000007
【図２】
2008187399.tif 000008
【図３】
2008187399.tif 000009
【図４】
2008187399.tif 000010
【図５】
2008187399.tif 000011