(57)【特許請求の範囲】
【請求項１】
第１装置と、前記第１装置とネットワークを介して接続する第２装置と、前記第２装置とネットワークを介して接続する第３装置とを有し、かつ、前記第１装置及び前記第２装置の間の通信で用いられる第１鍵データと、前記第２装置及び前記第３装置の間の通信で用いられる第２鍵データとを生成する鍵データ生成システムであって、
前記第１装置から前記第３装置へデータを送る場合には、前記第２装置が経由され、
前記第２装置は、
データの暗号化に用いる前記第１鍵データを生成する処理に対する入力となる第１シードデータを前記第１装置から取得する第１取得部と、
前記第２装置を識別する第１識別データを記憶する第１記憶部と、
前記第１シードデータ及び前記第１識別データに基づいて、前記第１鍵データを生成する第１鍵データ生成部と、
前記第１シードデータ及び前記第１識別データに基づいて、前記第１シードデータ及び前記第１鍵データのいずれとも異なる第２シードデータを生成する第２シードデータ生成部と、
前記第１鍵データを前記第１装置に送信する第１送信部と
を含み、
前記第３装置は、
前記第２シードデータを前記第２装置から取得する第２取得部と、
前記第１識別データとは異なるデータであって、前記第３装置を識別する第２識別データを記憶する第２記憶部と、
前記第２シードデータ及び前記第２識別データに基づいて、前記第２鍵データを生成する第２鍵データ生成部と、
前記第２鍵データを前記第２装置に送信する第２送信部と
を含む鍵データ生成システム。
【請求項２】
前記第１装置は、前記第２装置に対する送信の履歴に対応させて前記第１シードデータを記憶し、
前記第２装置は、前記履歴に基づいて、前記第１装置に前記第１シードデータを要求し、
前記第１装置は、前記要求に対して、前記第１シードデータを前記第２装置に送信し、
前記第２装置は、前記第１シードデータを取得して前記第１鍵データを再現する請求項１に記載の鍵データ生成システム。
【請求項３】
前記第２装置は、前記第１装置及び前記第２装置の間で通信を行う場合に、前記第１鍵データを生成し、
前記第３装置は、前記第２装置及び前記第３装置の間で通信を行う場合に、前記第２鍵データを生成する
請求項１又は２に記載の鍵データ生成システム。
【請求項４】
第１装置と、前記第１装置とネットワークを介して接続する第２装置と、前記第２装置とネットワークを介して接続する第３装置とを有し、かつ、前記第１装置及び前記第２装置の間の通信で用いられる第１鍵データと、前記第２装置及び前記第３装置の間の通信で用いられる第２鍵データとを生成する鍵データ生成システムが行う鍵データ生成方法であって、
前記鍵データ生成システムでは、前記第１装置から前記第３装置へデータを送る場合には、前記第２装置が経由され、
前記第２装置が、データの暗号化に用いる前記第１鍵データを生成する処理に対する入力となる第１シードデータを前記第１装置から取得する第１取得手順と、
前記第２装置が、前記第２装置を識別する第１識別データを記憶する第１記憶手順と、
前記第２装置が、前記第１シードデータ及び前記第１識別データに基づいて、前記第１鍵データを生成する第１鍵データ生成手順と、
前記第２装置が、前記第１シードデータ及び前記第１識別データに基づいて、前記第１シードデータ及び前記第１鍵データのいずれとも異なる第２シードデータを生成する第２シードデータ生成手順と、
前記第２装置が、前記第１鍵データを前記第１装置に送信する第１送信手順と、
前記第３装置が、前記第２シードデータを前記第２装置から取得する第２取得手順と、
前記第３装置が、前記第１識別データとは異なるデータであって、前記第３装置を識別する第２識別データを記憶する第２記憶手順と、
前記第３装置が、前記第２シードデータ及び前記第２識別データに基づいて、前記第２鍵データを生成する第２鍵データ生成手順と、
前記第３装置が、前記第２鍵データを前記第２装置に送信する第２送信手順と
を含む鍵データ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵データ生成システム、及び鍵データ生成方法に関する。
【背景技術】
【０００２】
従来、コンピュータネットワークにおいて、送信するデータを鍵データに基づいて暗号化し、暗号化されたデータを送信することによってセキュリティを向上させる方法が知られている。
【０００３】
記憶されるマスター鍵と、クライアント（ｃｌｉｅｎｔ）装置を指定する指定情報とに基づいて共通鍵を生成し、分散して共通鍵を記憶する方法が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−９０１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した方法では、マスター鍵等の鍵データを生成するのに基礎となるデータが漏洩すると、多くの鍵データが不正に再現される可能性がある。
【０００６】
本発明の１つの側面は、コンピュータネットワークにおいて、基礎となるデータが漏洩した場合等でも鍵データを不正に再現しにくくし、セキュリティをより向上させることを目的とする。
【課題を解決するための手段】
【０００７】
一態様における、第１装置と、前記第１装置とネットワークを介して接続する第２装置と、前記第２装置とネットワークを介して接続する第３装置とを有し、かつ、前記第１装置及び前記第２装置の間の通信で用いられる第１鍵データと、前記第２装置及び前記第３装置の間の通信で用いられる第２鍵データとを生成する鍵データ生成システムにおいて、前記第１装置から前記第３装置へデータを送る場合には、前記第２装置が経由され、前記第２装置は、データの暗号化に用いる前記第１鍵データを生成する処理に対する入力となる第１シードデータを前記第１装置から取得する第１取得部と、前記第２装置を識別する第１識別データを記憶する第１記憶部と、前記第１シードデータ及び前記第１識別データに基づいて、前記第１鍵データを生成する第１鍵データ生成部と、前記第１シードデータ及び前記第１識別データに基づいて、前記第１シードデータ及び前記第１鍵データのいずれとも異なる第２シードデータを生成する第２シードデータ生成部と、前記第１鍵データを前記第１装置に送信する第１送信部とを含み、前記第３装置は、前記第２シードデータを前記第２装置から取得する第２取得部と、前記第１識別データとは異なるデータであって、前記第３装置を識別する第２識別データを記憶する第２記憶部と、前記第２シードデータ及び前記第２識別データに基づいて、前記第２鍵データを生成する第２鍵データ生成部と、前記第２鍵データを前記第２装置に送信する第２送信部とを含むことを特徴とする。
【発明の効果】
【０００８】
コンピュータネットワークにおいて、基礎となるデータが漏洩した場合等でも鍵データを不正に再現しにくくし、セキュリティをより向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るネットワーク構成の一例を示す概念図である。
【図２】本発明の一実施形態に係るメッシュネットワークの一例を示す概念図である。
【図３】本発明の一実施形態に係る鍵データ生成システムのシステム構成の一例を示すシステム図である。
【図４】本発明の一実施形態に係るノードのハードウェア構成の一例を示すブロック図である。
【図５】本発明の一実施形態に係る鍵データ生成システムによる全体処理の一例を示すシーケンス図である。
【図６】本発明の一実施形態に係る鍵データ生成システムの各装置による全体処理の一例を示すフローチャートである。
【図７】本発明の一実施形態に係る鍵データ生成装置を利用した鍵データ生成システムの機能構成の一例を示す機能ブロック図である。
【図８】本発明の第２実施形態の一実施形態に係る鍵データ生成システムによる全体処理の一例を示すシーケンス図である。
【図９】本発明の第２実施形態の一実施形態に係る鍵データ生成システムの各装置による全体処理の一例を示すフローチャートである。
【図１０】本発明の第２実施形態の一実施形態に係る鍵データ生成装置を利用した鍵データ生成システムの機能構成の一例を示す機能ブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態に係る鍵データ生成装置、鍵データ生成システム、及び鍵データ生成方法について説明する。
【００１１】
＜第１実施形態＞
図１は、本発明の一実施形態に係るネットワーク構成の一例を示す概念図である。図１で示すネットワークは、いわゆるメッシュネットワーク（ｍｅｓｈ  ｎｅｔｗｏｒｋ）の一例である。図１に示すネットワークでは、各ノード（ｎｏｄｅ）１がノード間で無線通信等によって各種データを相互に送受信する。無線通信は、例えば無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＺｉｇＢｅｅ（登録商標）等である。
【００１２】
ノード１は、例えば家庭又は事業所等に設置され、有効電力量、平均ｋＷ値、電圧、及び一定時間ごとの積算ｋＷｈ値等を計測する、いわゆるスマートメータ（ｓｍａｒｔ  ｍｅｔｅｒ）等である。なお、ノード１は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、サーバ（ｓｅｒｖｅｒ）、及び携帯情報端末等の情報処理装置でもよい。また、ノード１は、各ノード１が計測等によって生成するデータを複数のノードから受信する、いわゆるコンセントレータ（ｃｏｎｃｅｎｔｒａｔｏｒ）でもよい。
【００１３】
図１に示すネットワークでは、図示するように、上位のノード１と、下位のノード１との間で通信が行われる。図１に示すネットワークでは、ノード１間は、各ノード１が接続及び再構成を継続的に行うことによって新たに他のノード１と接続又は接続の切り替えが行われる。図１に図示する他のノード１についての説明は、省略する。
【００１４】
図２は、本発明の一実施形態に係るメッシュネットワークの一例を示す概念図である。以下、メッシュネットワークのうち、図２に示すシステム構成である場合を例に説明する。図２では、最も上位のノード１が属する層を第１階層Ｌ１とする。以下、第１階層Ｌ１に属するノード１をＮ（ｘ）と示す。
【００１５】
次に、第１階層Ｌ１に属するノード１をマスタ（ｍａｓｔｅｒ）とし、第１階層Ｌ１に属するノード１のスレーブ（ｓｌａｖｅ）となるノード１が属する層を第２階層Ｌ２とする。以下、第２階層Ｌ２に属するノード１をＮ（ｘ，ｐ）と示す。
【００１６】
さらに、第２階層Ｌ２に属するノード１をマスタとし、第２階層Ｌ２に属する各ノード１のスレーブとなるノード１が属する層を第３階層Ｌ３とする。以下、第３階層Ｌ３に属するノード１をＮ（ｘ，ｐ，ｑ）と示す。
【００１７】
同様に、第３階層Ｌ３に属するノード１をマスタとし、第３階層Ｌ３に属する各ノード１のスレーブとなるノード１が属する層を第４階層Ｌ４とする。以下、第４階層Ｌ４に属するノード１をＮ（ｘ，ｐ，ｑ，ｒ）と示す。
【００１８】
各ノード１は、直接通信が可能であるマスタとなるノード１及びスレーブとなる各ノード１とデータを送受信する。各ノード１は、データを直接送受信する各ノード１に対して、それぞれ鍵データを有する。他のノード１にデータを送信する際には、送信元となるノード１は、直接通信が可能である送信先となるノード１に対応する鍵データを用いて送信するデータを暗号化し、暗号化したデータを送信する。
【００１９】
例えば、図２に示すＮ（ｘ，ｐ）のノード１は、スレーブとなるＮ（ｘ，ｐ，１）乃至Ｎ（ｘ，ｐ，Ｑ）の各ノード１と通信を行うために、ノード１ごとに鍵データを有する。そのため、Ｎ（ｘ，ｐ）のノード１は、Ｑ個の鍵データを有する。さらに、Ｎ（ｘ，ｐ）のノード１は、マスタとなるＮ（ｘ）のノード１と通信を行うために、さらに１個の鍵データを有する。つまり、Ｎ（ｘ，ｐ）のノード１は、（１＋Ｑ）個の鍵データを有する。
【００２０】
鍵データは、上位となるノード１からの指示に基づいて更新される場合がある。また、ネットワークに初めて接続する場合等には、下位となるノード１から更新が指示される場合もある。
【００２１】
なお、図２に示すシステム構成では、各ノード１は、マスタとなるノード１を介して、マスタとなるノード１及びスレーブとなる各ノード１以外のノードとデータを送受信する場合もある。また、各ノード間では、いわゆるバケツリレー方式でデータの送受信が行われる場合もある。
【００２２】
図２に示すシステム構成において、鍵データ生成システム２は、例えばＮ（ｘ）のノード１、Ｎ（ｘ，ｐ）のノード１、及びＮ（ｘ，ｐ，ｑ）のノード１で構成される。以下、鍵データ生成システム２がＮ（ｘ）のノード１、Ｎ（ｘ，ｐ）のノード１、及びＮ（ｘ，ｐ，ｑ）のノード１で構成される場合を例に説明する。
【００２３】
＜鍵データ生成システム２のシステム構成例＞
図３は、本発明の一実施形態に係る鍵データ生成システムのシステム構成の一例を示すシステム図である。
【００２４】
鍵データ生成システム２は、例えばサーバ３と、複数のコンセントレータ４と、複数のスマートメータ５とを有する。サーバ３は、第１ネットワークＮ１を介してコンセントレータ４と接続される。また、コンセントレータ４は、第２ネットワークＮ２を介してスマートメータ５と接続される。なお、鍵データ生成システム２は、図示する構成に限られず、例えば各スマートメータ５間は、メッシュネットワークとなっていてもよい。
【００２５】
図３では、サーバ３、コンセントレータ４、及びスマートメータ５は、それぞれ図１及び図２のノード１である。図２に示すＮ（ｘ）のノード１は、図３に示すサーバ３が相当する。図２に示すＮ（ｘ，ｐ）のノード１は、図３に示すコンセントレータ４が相当する。図２に示すＮ（ｘ，ｐ，ｑ）のノード１は、図３に示すスマートメータ５が相当する。
【００２６】
鍵データ生成システム２において、スマートメータ５は、第２ネットワークＮ２を介して、計測した計測データ等をコンセントレータ４に送信する。スマートメータ５は、定期的（例えば１時間おき）又は不定期的に、計測データを送信することができる。
【００２７】
コンセントレータ４は、例えばある地域ごとに設置され、複数のスマートメータ５から、計測データを受信する。また、コンセントレータ４は、第１ネットワークＮ１を介して、受信した計測データをサーバ３に送信する。
【００２８】
サーバ３は、コンセントレータ４によって収集される計測データを受信し、記憶する。
【００２９】
＜ノードのハードウェア構成例＞
図４は、本発明の一実施形態に係るノードのハードウェア構成の一例を示すブロック図である。
【００３０】
ノード１、即ち、図３に示すサーバ３、コンセントレータ４、及びスマートメータ５は、例えば図４に示すハードウェア構成である。なお、各ノード１は、同一のハードウェア構成でなくともよい。例えばスマートメータ５は、計測データを生成するためのセンサ（ｓｅｎｓｏｒ）等をさらに有してもよい。以下、各ノード１が図４に示すハードウェア構成である場合を例にして説明する。
【００３１】
ノード１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１Ｈ１と、記憶装置１Ｈ２と、ネットワークＩ／Ｆ（ｉｎｔｅｒｆａｃｅ）１Ｈ３とを有する。
【００３２】
ＣＰＵ１Ｈ１は、ノード１が実行する各種処理を実現するための演算を行う演算装置及びノード１が実行する各種処理を実現するためにノード１が有する各ハードウェアを制御する制御装置である。
【００３３】
記憶装置１Ｈ２は、各種データを記憶する。記憶装置１Ｈ２は、例えば半導体メモリ等である。なお、記憶装置１Ｈ２は、ハードディスク等の補助記憶装置を有してもよい。
【００３４】
ネットワークＩ／Ｆ１Ｈ３は、他のノードとデータを有線又は無線で送受信するためのインタフェースである。また、ネットワークＩ／Ｆ１Ｈ３は、アンテナ及び通信用ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等である。
【００３５】
なお、ハードウェア構成は、図４に示す構成に限られず、例えばＣＰＵ１Ｈ１は、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の演算装置及び制御装置であってもよい。また、ハードウェア構成は、図４に示すハードウェアにさらに各装置を補助する装置等を有する構成でもよい。
【００３６】
＜全体処理例＞
図５は、本発明の一実施形態に鍵データ生成システムによる全体処理の一例を示すシーケンス図である。
【００３７】
鍵データ生成システム２では、各ノード１は、通信が行われるノード間ごとにそれぞれ鍵データを生成する。以下、図２に示すＮ（ｘ）のノード１と、Ｎ（ｘ，ｐ）のノード１との通信で用いられる第１鍵データＤ１が生成される場合を例に説明する。図５では、Ｎ（ｘ）のノード１を第１ノード（以下、第１ノードという。）１１とし、Ｎ（ｘ，ｐ）のノード１を第２ノード（以下、第２ノードという。）１２とする。
【００３８】
図５は、鍵データ生成装置を第２ノード１２とし、かつ、第１外部装置を第１ノード１１とした場合の例である。つまり、図５は、第１ノード１１と第２ノード１２との通信に用いられる第１鍵データＤ１を第２ノード１２が生成する場合を示す図である。
【００３９】
＜第１基礎データの記憶（ステップＳ０１）＞
ステップＳ０１では、第１ノード１１は、第１基礎データを記憶する。基礎データは、各ノードが鍵データを生成するのに基礎とするデータである。第１基礎データは、例えば第１シード（ｓｅｅｄ）データＤ２である。以下、第１基礎データが第１シードデータＤ２である場合を例に説明する。
【００４０】
第１シードデータＤ２は、例えばバージョン（ｖｅｒｓｉｏｎ）データである。バージョンは、鍵データの更新状況等を示す番号等である。なお、第１シードデータＤ２は、日付を示すデータ又は時刻を示すデータ等でもよい。また、第１シードデータＤ２は、乱数又はカウンタ等から生成されるデータでもよい。
【００４１】
＜第１識別データの記憶（ステップＳ０２）＞
ステップＳ０２では、第２ノード１２は、第１識別データを記憶する。第１識別データは、例えば第１固有データＤ３である。以下、第１識別データが第１固有データＤ３である場合を例に説明する。
【００４２】
第１固有データＤ３は、第２ノード１２を他のノードと識別できる、例えば第２ノード１２のシリアル（ｓｅｒｉａｌ）番号等を示すデータである。
【００４３】
＜第１シードデータＤ２の取得（ステップＳ０３）＞
ステップＳ０３では、第２ノード１２は、第１シードデータＤ２を第１ノード１１から取得する。なお、ステップＳ０３では、第２ノード１２は、ステップＳ０３で取得する第１シードデータＤ２を履歴として第１ノード１１に記憶させてもよい。
【００４４】
＜第１鍵データＤ１の生成（ステップＳ０４）＞
ステップＳ０４では、第２ノード１２は、ステップＳ０３で取得される第１シードデータＤ２及びステップＳ０２で記憶する第１固有データＤ３に基づいて、第１鍵データＤ１を生成する。
【００４５】
＜第１鍵データＤ１の送信（ステップＳ０５）＞
ステップＳ０５では、第２ノード１２は、ステップＳ０４で生成される第１鍵データＤ１を第１ノード１１に送信する。
【００４６】
＜各装置による全体処理例＞
図６は、本発明の一実施形態に鍵データ生成システムの各装置による全体処理の一例を示すフローチャートである。図６（Ａ）は、本発明の一実施形態に鍵データ生成システムの第２ノードによる全体処理の一例を示すフローチャートである。また、図６（Ｂ）は、本発明の一実施形態に鍵データ生成システムの第１ノードによる全体処理の一例を示すフローチャートである。なお、図６では、図５と同一のステップを示す場合には、同一の符号を付して説明する。
【００４７】
＜第１基礎データの記憶（ステップＳ０１）＞
ステップＳ０１では、第１ノードは、第１基礎データとして例えば第１シードデータを記憶する。
【００４８】
＜第１識別データの記憶（ステップＳ０２）＞
ステップＳ０２では、第２ノードは、第１識別データとして第１固有データを記憶する。
【００４９】
＜第１シードデータの取得（ステップＳ０３、ステップＳ０３Ａ、及びステップＳ０３Ｂ）＞
ステップＳ０３では、第２ノードは、第１シードデータを第１ノードから取得する。具体的には、第２ノードは、第１ノードに対して第１シードデータを要求するデータを送信する。
【００５０】
ステップＳ０３Ａでは、第１ノードは、第２ノードから第１シードデータの要求があったか否かを判断する。ステップＳ０３で第２ノードが第１シードデータを要求するデータを送信した場合、第１ノードは、第２ノードから第１シードデータの要求があったと判断する（ステップＳ０３ＡでＹＥＳ）。また、第２ノードから第１シードデータの要求があったと判断する場合、第１ノードは、ステップＳ０３Ｂに進む。さらに、第２ノードから第１シードデータの要求がなかったと判断する場合（ステップＳ０３ＡでＮＯ）、第１ノードは、ステップＳ０３Ａを繰り返す。
【００５１】
ステップＳ０３Ｂでは、第１ノードは、第１シードデータを第２ノードに送信する。
【００５２】
＜第１鍵データの生成（ステップＳ０４）＞
ステップＳ０４では、第２ノードは、ステップＳ０３で取得される第１シードデータ及びステップＳ０２で記憶する第１固有データに基づいて、第１鍵データを生成する。具体的には、第２ノードは、第１シードデータ及び第１固有データを用いてハッシュ（ｈａｓｈ）関数、疑似乱数生成法、又は暗号化等の計算によって第１鍵データを生成する。
【００５３】
なお、第１鍵データの生成方法は、一定の法則による方法、つまり、第１シードデータ及び第１固有データを用いれば第１鍵データを再現できる方法であればよい。
【００５４】
＜第１鍵データの送信（ステップＳ０５）＞
ステップＳ０５では、第２ノードは、ステップＳ０４で生成される第１鍵データを第１ノードに送信する。即ち、ステップＳ０５で第１鍵データを送信することによって、第１ノード及び第２ノードは、第１鍵データを共有できる。
【００５５】
＜機能構成例＞
図７は、本発明の一実施形態に係る鍵データ生成装置を利用した鍵データ生成システムの機能構成の一例を示す機能ブロック図である。
【００５６】
鍵データ生成システム２は、第１ノード１１と、第２ノード１２とを有する。第１ノード１１は、記憶部１１Ｆ１と、送信部１１Ｆ２とを有する。第２ノード１２は、記憶部１２Ｆ１と、取得部１２Ｆ２と、鍵データ生成部１２Ｆ３と、送信部１２Ｆ４とを有する。
【００５７】
記憶部１２Ｆ１は、第１識別データとして第１固有データＤ３等を記憶する。記憶部１２Ｆ１は、例えば記憶装置１Ｈ２（図４）等によって実現される。
【００５８】
取得部１２Ｆ２は、第１ノード１１から第１基礎データとして第１シードデータＤ２等を取得する。取得部１２Ｆ２は、例えばネットワークＩ／Ｆ１Ｈ３（図４）等によって実現される。
【００５９】
鍵データ生成部１２Ｆ３は、記憶部１２Ｆ１が記憶する第１固有データＤ３等の第１識別データ及び取得部１２Ｆ２が取得する第１シードデータＤ２等の第１基礎データに基づいて、第１鍵データＤ１を生成する。鍵データ生成部１２Ｆ３は、例えばＣＰＵ１Ｈ１（図４）等によって実現される。
【００６０】
送信部１２Ｆ４は、鍵データ生成部１２Ｆ３が生成する第１鍵データＤ１を第１ノード１１に送信する。送信部１２Ｆ４は、例えばネットワークＩ／Ｆ１Ｈ３（図４）等によって実現される。
【００６１】
記憶部１１Ｆ１は、送信部１１Ｆ２が第１シードデータ等の第１基礎データを送信する場合等に履歴として第１シードデータ等の第１基礎データを記憶する。記憶部１１Ｆ１は、例えば記憶装置１Ｈ２（図４）等によって実現される。
【００６２】
送信部１１Ｆ２は、第２ノード１２の要求に基づいて、第１シードデータ等の第１基礎データを第２ノード１２に送信する。送信部１１Ｆ２は、例えばネットワークＩ／Ｆ１Ｈ３（図４）等によって実現される。
【００６３】
第２ノード１２は、取得部１２Ｆ２が第１ノード１１から取得する第１基礎データと、第２ノード１２の記憶部１２Ｆ１が記憶する第１識別データとに基づいて、鍵データ生成部１２Ｆ３によって、第１鍵データＤ１を生成することができる。第１ノード１１及び第２ノード１２間の通信では、第１鍵データによってデータを暗号化し、暗号化したデータを送受信するため、データの送受信においてセキュリティが向上できる。
【００６４】
また、第２ノード１２が第１鍵データＤ１を生成するため、第１ノード１１は、第１鍵データＤ１を記憶する必要がない。第１鍵データＤ１は、セキュリティを確保するため、１６バイト（ｂｙｔｅ）程度のデータである場合が多い。これに対して、第１基礎データは、７バイト程度で十分であるため、第１鍵データＤ１を記憶する場合と比較して、第１基礎データを記憶する場合、第１ノード１１は、記憶するデータ量を少なくできる。
【００６５】
なお、第１鍵データＤ１は、第２ノード１２が第１ノード１１と通信を行う際等に生成するため、第１鍵データＤ１は、ノードが鍵データを記憶する必要はない。そのため、ノード等から第１鍵データＤ１が不正に取得されてしまうことが少ないため、コンピュータネットワークにおいてセキュリティが向上できる。
【００６６】
さらに、第１鍵データＤ１は、第１基礎データのみからでは再現が難しいデータである。したがって、不正アクセス等により第１ノード１１から第１基礎データが不正に取得されても、第１鍵データＤ１が再現される場合は少ない。よって、ノードが鍵データを記憶する場合と比較して、鍵データ生成システム２は、鍵データが取得されてしまうことを少なくでき、コンピュータネットワークにおいてセキュリティを向上できる。
【００６７】
また、第１ノード１１がステップＳ０３で第１基礎データを送信する際に履歴として送信する第１基礎データを記憶する。例えば、障害等で第２ノード１２が鍵データを再現したい場合、第１ノード１１が記憶する第１基礎データを第１ノード１１から取得すれば、第２ノード１２は、第１鍵データＤ１を再現できる。したがって、鍵データ生成システム２は、第１ノード１１が第１基礎データを記憶することによって、第１ノード１１及び第２ノード１２間の通信を復旧させることができる。
【００６８】
よって、コンピュータネットワークにおいて、鍵データ生成システム２は、基礎データと、識別データとに基づいて鍵データを生成することによってセキュリティをより向上させることができる。
【００６９】
＜第２実施形態＞
第２実施形態は、第１実施形態と同様に図２に示す鍵データ生成システム２を用いる。したがって、鍵データ生成システム２の説明は、省略する。また、第２実施形態の各ノード１のハードウェア構成も第１実施形態と同様の図４で示すハードウェア構成であるため、各ノード１のハードウェア構成の説明は、省略する。
【００７０】
第２実施形態は、第１実施形態と比較して、図５及び図６に示す全体処理が異なる。
【００７１】
＜全体処理例＞
図８は、本発明の第２実施形態の一実施形態に係る鍵データ生成システムによる全体処理の一例を示すシーケンス図である。
【００７２】
図８では、第２ノード１２の下位のノードであるＮ（ｘ，ｐ，ｑ）のノード１を第３ノード（以下、第３ノードという。）１３とする。また、図８では、第２ノード１２は、第１実施形態の全体処理で生成する第１鍵データＤ１に加えて、第２ノード１２と第３ノード１３との通信で用いられる第２鍵データＤ４を第３ノード１３に生成させる。
【００７３】
以下、図８に示す第２ノード１２と第３ノード１３との通信で用いられる第２鍵データＤ４が生成される場合を例に説明する。
【００７４】
図８は、図５と同様に、鍵データ生成装置を第２ノード１２とし、かつ、第１外部装置を第１ノード１１とした場合の例である。また、図８は、第２外部装置を第３ノード１３とした場合の例である。つまり、図５は、第２ノード１２と第３ノード１３との通信に用いられる第２鍵データＤ４を第３ノード１３が生成する場合を示す図である。
【００７５】
図８に示す第２実施形態の全体処理は、図５に示す第１実施形態の全体処理と比較して、ステップＳ０６以降の処理が加わえられている点が異なる。以下、図５に示す第１実施形態の全体処理と同一の処理は、同一の符号を付し、説明を省略する。
【００７６】
＜第２固有データＤ６の記憶（ステップＳ０６）＞
ステップＳ０６では、第３ノード１３は、第２識別データを記憶する。第２識別データは、例えば第２固有データＤ６である。以下、第２識別データが第２固有データＤ６である場合を例に説明する。
【００７７】
第２固有データＤ６は、第１固有データＤ３と同様に、第３ノード１３を他のノードと識別できる、例えば第３ノード１３のシリアル番号等を示すデータである。
【００７８】
＜第２シードデータＤ５の生成（ステップＳ０７）＞
ステップＳ０７では、第３ノード１３は、第２基礎データを生成する。第２基礎データは、第２鍵データＤ４を生成するための基礎データである。また、第２基礎データは、例えば第２シードデータＤ５である。以下、第２基礎データが第２シードデータＤ５である場合を例に説明する。
【００７９】
第２シードデータＤ５は、ステップＳ０２で記憶する第１固有データＤ３及びステップＳ０３で取得する第１シードデータＤ２に基づいて生成されるデータ等である。
【００８０】
＜第２シードデータＤ５の取得（ステップＳ０８）＞
ステップＳ０８では、第３ノード１３は、ステップＳ０７で生成される第２シードデータＤ５を第２ノード１２から取得する。
【００８１】
＜第２鍵データＤ４の生成（ステップＳ０９）＞
ステップＳ０９では、第３ノード１３は、ステップＳ０８で取得される第２シードデータＤ５及びステップＳ０６で記憶する第２固有データＤ６に基づいて、第２鍵データＤ４を生成する。
【００８２】
＜第２鍵データＤ４の送信（ステップＳ１０）＞
ステップＳ１０では、第３ノード１３は、ステップＳ０９で生成される第２鍵データＤ４を第２ノード１２に送信する。
【００８３】
＜各装置による全体処理例＞
図９は、本発明の第２実施形態の一実施形態に鍵データ生成システムの各装置による全体処理の一例を示すフローチャートである。図９（Ａ）は、本発明の第２実施形態の一実施形態に鍵データ生成システムの第３ノードによる全体処理の一例を示すフローチャートである。また、図９（Ｂ）は、本発明の第２実施形態の一実施形態に鍵データ生成システムの第２ノードによる全体処理の一例を示すフローチャートである。さらに、図９（Ｃ）は、本発明の第２実施形態の一実施形態に鍵データ生成システムの第１ノードによる全体処理の一例を示すフローチャートである。なお、図９では、図８と同一のステップを示す場合には、同一の符号を付して説明する。また、図６に示す第１実施形態の全体処理と比較して、ステップＳ０６以降の処理が加わる点が異なる。以下、図５に示す第１実施形態の全体処理と同一の処理は、同一の符号を付し、説明を省略する。
【００８４】
＜第２固有データの記憶（ステップＳ０６）＞
ステップＳ０６では、第３ノードは、第２識別データとして第２固有データを記憶する。
【００８５】
＜第２シードデータの生成（ステップＳ０７）＞
ステップＳ０７では、第２ノードは、ステップＳ０３で取得される第１シードデータ及びステップＳ０２で記憶する第１固有データに基づいて、第２シードデータを生成する。具体的には、第２ノードは、ステップＳ０４と同様に、第１シードデータ及び第１固有データを用いてハッシュ関数、疑似乱数生成法、又は暗号化等の計算によって第２シードデータを生成する。生成方法は、一定の法則による方法、つまり、第１シードデータ及び第１固有データを用いれば第２シードデータを再現できる方法であればよい。
【００８６】
なお、ステップＳ０７では、ステップＳ０４と同様の方法が用いられてもよいが、第２ノードがステップＳ０４の第１鍵データと、ステップＳ０７の第２シードデータとで別のデータが生成されるように、ステップＳ０７の設定がされる。
【００８７】
＜第２シードデータの取得（ステップＳ０８、ステップＳ０８Ａ、及びステップＳ０８Ｂ）＞
ステップＳ０８では、第３ノードは、第２シードデータを第２ノードから取得する。具体的には、第３ノードは、第２ノードに対して第２シードデータを要求するデータを送信する。
【００８８】
ステップＳ０８Ａでは、第２ノードは、第３ノードから第２シードデータの要求があったか否かを判断する。ステップＳ０８で第３ノードが第２シードデータを要求するデータを送信した場合、第２ノードは、第３ノードから第２シードデータの要求があったと判断する（ステップＳ０８ＡでＹＥＳ）。また、第３ノードから第２シードデータの要求があったと判断する場合（ステップＳ０８ＡでＹＥＳ）、第２ノードは、ステップＳ０８Ｂに進む。第３ノードから第２シードデータの要求がなかったと判断する場合（ステップＳ０８ＡでＮＯ）、第２ノードは、ステップＳ０８Ａを繰り返す。
【００８９】
ステップＳ０８Ｂでは、第２ノードは、第２シードデータを第３ノードに送信する。
【００９０】
＜第２鍵データの生成（ステップＳ０９）＞
ステップＳ０９では、第３ノードは、ステップＳ０８で取得される第２シードデータ及びステップＳ０６で記憶する第２固有データに基づいて、第２鍵データを生成する。具体的には、第３ノードは、例えばステップＳ０４と同様に、第２シードデータ及び第２固有データを用いてハッシュ関数、疑似乱数生成法、又は暗号化等の計算によって第２鍵データを生成する。
【００９１】
なお、第２鍵データの生成方法は、ステップＳ０４と同様の方法、異なる設定、又は異なる方法でもよく、一定の法則による方法、つまり、第２シードデータ及び第２固有データを用いれば第２鍵データを再現できる方法であればよい。
【００９２】
＜第２鍵データの送信（ステップＳ１０）＞
ステップＳ１０では、第３ノードは、ステップＳ０９で生成される第２鍵データを第２ノードに送信する。ステップＳ１０で第２鍵データを送信することによって、第２ノード及び第３ノードは、第２鍵データを共有できる。
【００９３】
＜機能構成例＞
図１０は、本発明の第２実施形態の一実施形態に係る鍵データ生成装置を利用した鍵データ生成システムの機能構成の一例を示す機能ブロック図である。
【００９４】
図１０は、第１実施形態の図７と比較して、第３ノード１３が加わる点が異なる。また、図１０は、第１実施形態の図７と比較して、第２ノード１２が、さらに基礎データ生成部１２Ｆ５を有する点が異なる。さらに、図１０では、第２ノード１２が有する送信部１２Ｆ４の機能が異なる。以下、図７と同様の構成は、同一の符号を付し、説明を省略する。
【００９５】
基礎データ生成部１２Ｆ５は、記憶部１２Ｆ１が記憶する第１固有データＤ３等の第１識別データ及び取得部１２Ｆ２が取得する第１シードデータＤ２等の第１基礎データに基づいて、第２シードデータＤ５等の第２基礎データを生成する。基礎データ生成部１２Ｆ５は、例えばＣＰＵ１Ｈ１（図４）等によって実現される。
【００９６】
送信部１２Ｆ４は、図７で説明する機能に加えて、基礎データ生成部１２Ｆ５が生成する第２シードデータＤ５等の第２基礎データを第３ノード１３に送信する。
【００９７】
第３ノード１３は、取得部１３Ｆ１と、記憶部１３Ｆ２と、鍵データ生成部１３Ｆ３と、送信部１３Ｆ４とを有する。
【００９８】
取得部１３Ｆ１は、第２ノード１２から第２基礎データとして第２シードデータＤ５等を取得する。取得部１３Ｆ１は、例えばネットワークＩ／Ｆ１Ｈ３（図４）等によって実現される。
【００９９】
記憶部１３Ｆ２は、第２識別データとして第２固有データＤ６等を記憶する。記憶部１３Ｆ２は、例えば記憶装置１Ｈ２（図４）等によって実現される。
【０１００】
鍵データ生成部１３Ｆ３は、記憶部１３Ｆ２が記憶する第２固有データＤ６等の第２識別データ及び取得部１３Ｆ１が取得する第２シードデータＤ５等の第２基礎データに基づいて、第２鍵データＤ４を生成する。鍵データ生成部１３Ｆ３は、例えばＣＰＵ１Ｈ１（図４）等によって実現される。
【０１０１】
送信部１３Ｆ４は、鍵データ生成部１３Ｆ３が生成する第２鍵データＤ４を第２ノード１２に送信する。送信部１３Ｆ４は、例えばネットワークＩ／Ｆ１Ｈ３（図４）等によって実現される。
【０１０２】
なお、第２ノード１２は、第３ノード１３を含む複数の外部装置と接続する構成でもよい。第２ノード１２は、他の複数の外部装置にも第２鍵データＤ４と同様に、第３鍵データをそれぞれ生成させる。また、複数の外部装置は、第３ノード１３と同様の機能構成とする。
【０１０３】
第２ノード１２は、送信部１２Ｆ４によって、基礎データ生成部１２Ｆ５が生成する第２シードデータＤ５等の第２基礎データを第３ノード１３が含まれる複数の外部装置にそれぞれ送信する。なお、第２ノード１２は、基礎データ生成部１２Ｆ５によって、複数の外部装置ごとに、それぞれ異なる第２シードデータＤ５等の第２基礎データを生成してもよい。
【０１０４】
複数の外部装置は、第３ノード１３と同様に、送信される第２シードデータＤ５等の第２基礎データと、各複数の外部装置が有する記憶部１３Ｆ２が記憶する第３識別データとに基づいて、それぞれ第３鍵データを生成する。第３識別データは、第２識別データと同様に、複数の外部装置をそれぞれ識別できるデータである。
【０１０５】
各複数の外部装置が有する記憶部１３Ｆ２が記憶する第３識別データは、複数の外部装置ごとにそれぞれ異なる識別データである。したがって、第３鍵データは、同一の第２基礎データを用いても、複数の外部装置ごとにそれぞれ異なる第３鍵データが生成される。第２ノード１２は、第３ノード１３と同様に、各複数の外部装置から生成させた第３鍵データを取得する。よって、第２ノード１２は、複数の外部装置ごとにそれぞれ異なる鍵データを共有することができる。
【０１０６】
鍵データ生成システム２では、ノード間ごとに通信に用いる鍵データをそれぞれ生成するため、サーバ等が各ノード間で用いる鍵データをすべて記憶する必要がない。さらに、各ノードは、直接通信が可能な各ノード間の通信で用いる鍵データを有し、暗号化は、送信先に応じてそれぞれ異なる鍵データ用いて行う。したがって、各ノード間で同一の鍵データを用いる場合と比較して、いずれか１つの鍵データが漏洩しても、ネットワーク全体においては、いわゆる「なりすまし」又はハッキング（ｈａｃｉｎｇ）等による情報漏洩及びネットワークのいわゆる「乗っ取り」等を少なくできる。
【０１０７】
よって、鍵データ生成システム２では、サーバ等からデータが漏洩し、鍵データが不正に取得されてしまう場合等を少なくできるので、コンピュータネットワークにおいてセキュリティをより向上できる。
【０１０８】
また、各鍵データは、基礎データから再現できるため、基礎データを履歴として記憶しておくことによって、ネットワークの障害等の場合に、鍵データを再現でき、ネットワークシステムを復旧しやすくできる。
【０１０９】
また、実施形態で説明したシステム構成は一例であり、用途及び目的に応じてシステム構成が変更されてもよい。例えば、各処理は、ネットワークを介して２以上のコンピュータによって分散、冗長、又は並列に処理されてもよい。また、情報処理装置が用いるデータは、２以上の記憶装置に分散又は冗長して記憶されてもよい。
【０１１０】
なお、実施形態は、メッシュネットワークに適用される場合に限られない。適用されるネットワークは、例えばスター（ｓｔａｒ）型、ツリー（ｔｒｅｅ）型、又はリング（ｒｉｎｇ）型等でもよい。
【０１１１】
＜プログラム等による実現例＞
実施形態は、コンピュータに上述した処理を実行させるためのプログラムによって実現されてもよい。鍵データ生成装置が有する各機能は、プログラムをコンピュータが有するＣＰＵ等に実行させることによりそれぞれ実現可能となる。また、これらのプログラムは、磁気ディスク（ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、又はＤＶＤ等）、又は半導体メモリ等の記録媒体に記録されて頒布することもできる。
【０１１２】
つまり、上述した各処理は、コンピュータに実行させるための実行プログラムが生成され、例えばＰＣ又はサーバ等の情報処理装置にそのプログラムをインストールすることにより、本実施形態における鍵データ生成装置が行う各処理を実現することができる。
【０１１３】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
【符号の説明】
【０１１４】
１  ノード
１Ｈ１  ＣＰＵ
１Ｈ２  記憶装置
１Ｈ３  ネットワークＩ／Ｆ
１１  第１ノード
１１Ｆ１  記憶部
１１Ｆ２  送信部
１２  第２ノード
１２Ｆ１  記憶部
１２Ｆ２  取得部
１２Ｆ３  鍵データ生成部
１２Ｆ４  送信部
１２Ｆ５  基礎データ生成部
１３  第３ノード
１３Ｆ１  取得部
１３Ｆ２  記憶部
１３Ｆ３  鍵データ生成部
１３Ｆ４  送信部
２  鍵データ生成システム
３  サーバ
４  コンセントレータ
５  スマートメータ
Ｎ１  第１ネットワーク
Ｎ２  第２ネットワーク
Ｄ１  第１鍵データ
Ｄ２  第１シードデータ
Ｄ３  第１固有データ
Ｄ４  第２鍵データ
Ｄ５  第２シードデータ
Ｄ６  第２固有データ
Ｌ１  第１階層
Ｌ２  第２階層
Ｌ３  第３階層
Ｌ４  第４階層
【図１】
0006394322.tif 000002
【図２】
0006394322.tif 000003
【図３】
0006394322.tif 000004
【図４】
0006394322.tif 000005
【図５】
0006394322.tif 000006
【図６】
0006394322.tif 000007
【図７】
0006394322.tif 000008
【図８】
0006394322.tif 000009
【図９】
0006394322.tif 000010
【図１０】
0006394322.tif 000011