(57)【特許請求の範囲】
【請求項１】
第１の識別情報および秘密鍵が設定された第１のノードと、
前記第１のノードと通信可能であって第２の識別情報が設定された第２のノードと、
前記第１のノードと前記第２のノードとの少なくとも一方と通信可能であって前記第１の識別情報および秘密鍵があらかじめ保管されている管理装置とを備え、
前記管理装置は、
前記第１のノードおよび前記第２のノードから通信によって前記第１の識別情報および前記第２の識別情報を取得し前記第１の識別情報を認証用の情報と照合する照合部と、
前記照合部が前記第２のノードに前記第１のノードとの通信を許可する場合に前記第１のノードの秘密鍵を用いて生成されるチケットであって、前記第１のノードに宛てた第１のチケット、および前記第２のノードに宛てた第２のチケットを発行するチケット発行部とを備え、
前記第１のノードは、設定されている秘密鍵と前記第１のチケットを含むメッセージとを用いて共通鍵を生成する第１の共通鍵生成部を備え、１個の共通鍵のために第１の交換用のコードを生成し、かつ前記第１の交換用のコードを前記第２のノードに送信する機能を有し、
前記第２のノードは、前記第２のチケットを用いて共通鍵を生成する第２の共通鍵生成部を備え、１個の共通鍵のために第２の交換用のコードを生成し、かつ前記第２の交換用のコードを前記第１のノードに送信する機能を有し、
前記第１の共通鍵生成部は、設定されている秘密鍵と前記第１の交換用のコードと前記第１のチケットを認証用に用いて送信されたメッセージに含めて前記第２のノードから受信した前記第２の交換用のコードとを用いて共通鍵を生成する機能を有し、
前記第２の共通鍵生成部は、前記第２のチケットと前記第２の交換用のコードと前記第１のノードから受信した前記第１の交換用のコードとを用いて共通鍵を生成する機能を有する
ことを特徴とする暗号鍵設定システム。
【請求項２】
前記第１のノードは、設定されている前記第１の識別情報をセキュアな通信路を通して前記第２のノードに送信する機能を有し、
前記第２のノードは、前記第１のノードから前記第１の識別情報を受信すると、設定されている前記第２の識別情報を受信した前記第１の識別情報と併せて前記管理装置に送信する機能を有している
ことを特徴とする請求項１記載の暗号鍵設定システム。
【請求項３】
前記第１のノードと前記第２のノードとの一方のノードは、共通鍵を設定する契機となる事象を検出する手段が付設され、
前記一方のノードが前記第１のノードである場合、
前記第１のノードは、前記手段が前記事象を検出すると、前記第１の識別情報を前記第２のノードに送信する機能を有し、
かつ前記第２のノードは、前記第１のノードから前記第１の識別情報を受信すると、前記第２の識別情報を受信した前記第１の識別情報と併せて前記管理装置に送信する機能を有し、
前記一方のノードが前記第２のノードである場合、
前記第２のノードは、前記手段が前記事象を検出すると、前記第２の識別情報を前記第１のノードに送信する機能を有し、
かつ前記第１のノードは、前記第２のノードから前記第２の識別情報を受信すると、前記第１の識別情報を受信した前記第２の識別情報と併せて前記管理装置に送信する機能を有している
ことを特徴とする請求項１記載の暗号鍵設定システム。
【請求項４】
前記管理装置における前記チケット発行部は、前記第１のノードおよび前記第２のノードに設定される共通鍵の有効期間を定める機能と、少なくとも前記第１のチケットと併せて前記第１のノードに有効期間を通知する機能とを有し、
前記第１のノードと前記第２のノードとのうちの少なくとも前記第１のノードは、前記第１のチケットと併せて通知された有効期間を取得し、設定された共通鍵を有効期間内の通信にのみ使用する機能を有する
ことを特徴とする請求項１〜３のいずれか１項に記載の暗号鍵設定システム。
【請求項５】
前記第１のノードは、資源供給業者から供給される資源の使用量を計測する計測装置に付設され、前記計測装置から計測データを取得する機能を有し、
前記第２のノードは、前記資源の需要家が前記資源を用いて使用する機器との間で通信することにより、少なくとも前記機器による資源の消費量を管理する機能を有する
ことを特徴とする請求項１〜４のいずれか１項に記載の暗号鍵設定システム。
【請求項６】
前記第１のノードは、資源供給業者から供給される資源の使用量を計測する計測装置に付設され、前記計測装置から計測データを取得する機能を有し、
前記第２のノードは、前記資源の需要家が前記資源を用いて使用する機器に付設され、少なくとも前記機器による資源の消費量を管理する機能を有する
ことを特徴とする請求項１〜４のいずれか１項に記載の暗号鍵設定システム。
【請求項７】
請求項１〜６のいずれか１項に記載の暗号鍵設定システムに用いられ、前記第１のノードとして機能することを特徴とする端末装置。
【請求項８】
請求項１〜６のいずれか１項に記載の暗号鍵設定システムに用いられ、前記第２のノードとして機能することを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードに共通鍵を設定する暗号鍵設定システム、および共通鍵が設定されるノードとしての端末装置に関するものである。
【背景技術】
【０００２】
従来から、通信データの漏洩、通信ネットワークへの不正侵入などを防止するために、通信ネットワークにおけるノード間で通信する際に暗号鍵が用いられている（たとえば、特許文献１参照）。特許文献１に記載された技術は、ノード間で暗号鍵を設定するための特定データを暗号化して伝送し、特定データの送受信に要する時間から求めた基礎値に基づいて暗号鍵を生成している。特許文献１は、無線ＬＡＮを想定しており、特定データについてはとくに説明されていないが、文脈からＷＥＰキーやＭＡＣアドレスが特定データに相当すると考えられる。この特定データを暗号化するために２台のノードに同じ初期暗号鍵が設定され、初期暗号鍵で暗号化された特定データを送受信することによって基礎値が得られ、基礎値に基づいて暗号鍵が生成される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４７４６２９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された技術は、通信するノードが互いに通信するだけで、暗号鍵を設定しているから、２台のノードが互いに通信を許可されたノードであることは初期暗号鍵を設定する作業でしか保証されない。初期暗号鍵は、ノードにあらかじめ設定された仮暗号鍵の一部を変更することにより設定されるから、初期暗号鍵の設定時に、ノードとして機能する別のノードが近隣に存在していると、希望しないノードに誤って初期暗号鍵が設定される可能性がある。
【０００５】
この問題を解決するために、ノードごとの秘密鍵をノードとは別に設けた管理装置で一括して管理し、適切な組み合わせのノードにのみ暗号鍵（共通鍵）を設定することが考えられる。しかしながら、ノードの台数が増加すると、管理装置にノードの秘密鍵を登録する作業に手間がかかるという問題が生じる。また、ノードの管理主体が複数存在する場合に、個々の管理主体が管理下のノードの秘密鍵を保管することは許容されるが、本来の管理主体ではない管理主体にノードの秘密鍵を保管することは、秘密鍵の管理の上で望ましいとは言えない。
【０００６】
本発明は、管理装置が許可したノードにのみ共通鍵を設定することによって、共通鍵が通信外のノードに誤って設定される可能性を低減し、さらに、共通鍵を設定するノードのうちの１台を管理する管理装置が管理下のノードの秘密鍵を管理するだけで、管理下ではないノードにも共通鍵を安全に設定することを可能にした暗号鍵設定システムを提供することを目的とし、さらに、この暗号鍵設定システムに用いられる端末装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る暗号鍵設定システムは、上記目的を達成するために、第１の識別情報および秘密鍵が設定された第１のノードと、前記第１のノードと通信可能であって第２の識別情報が設定された第２のノードと、前記第１のノードと前記第２のノードとの少なくとも一方と通信可能であって前記第１の識別情報および秘密鍵があらかじめ保管されている管理装置とを備え、前記管理装置は、前記第１のノードおよび前記第２のノードから通信によって前記第１の識別情報および前記第２の識別情報を取得し前記第１の識別情報を認証用の情報と照合する照合部と、前記照合部が前記第２のノードに前記第１のノードとの通信を許可する場合に前記第１のノードの秘密鍵を用いて生成されるチケットであって、前記第１のノードに宛てた第１のチケット、および前記第２のノードに宛てた第２のチケットを発行するチケット発行部とを備え、前記第１のノードは、設定されている秘密鍵と前記第１のチケットを含むメッセージとを用いて共通鍵を生成する第１の共通鍵生成部を備え、１個の共通鍵のために第１の交換用のコードを生成し、かつ前記第１の交換用のコードを前記第２のノードに送信する機能を有し、前記第２のノードは、前記第２のチケットを用いて共通鍵を生成する第２の共通鍵生成部を備え、１個の共通鍵のために第２の交換用のコードを生成し、かつ前記第２の交換用のコードを前記第１のノードに送信する機能を有し、前記第１の共通鍵生成部は、設定されている秘密鍵と前記第１の交換用のコードと前記第１のチケットを認証用に用いて送信されたメッセージに含めて前記第２のノードから受信した前記第２の交換用のコードとを用いて共通鍵を生成する機能を有し、前記第２の共通鍵生成部は、前記第２のチケットと前記第２の交換用のコードと前記第１のノードから受信した前記第１の交換用のコードとを用いて共通鍵を生成する機能を有することを特徴とする。
【０００８】
この暗号鍵設定システムにおいて、前記第１のノードは、設定されている前記第１の識別情報をセキュアな通信路を通して前記第２のノードに送信する機能を有し、前記第２のノードは、前記第１のノードから前記第１の識別情報を受信すると、設定されている前記第２の識別情報を受信した前記第１の識別情報と併せて前記管理装置に送信する機能を有していることが好ましい。
【０００９】
この暗号鍵設定システムにおいて、前記第１のノードと前記第２のノードとの一方のノードは、共通鍵を設定する契機となる事象を検出する手段が付設され、前記一方のノードが前記第１のノードである場合、前記第１のノードは、前記手段が前記事象を検出すると、前記第１の識別情報を前記第２のノードに送信する機能を有し、かつ前記第２のノードは、前記第１のノードから前記第１の識別情報を受信すると、前記第２の識別情報を受信した前記第１の識別情報と併せて前記管理装置に送信する機能を有し、
前記一方のノードが前記第２のノードである場合、前記第２のノードは、前記手段が前記事象を検出すると、前記第２の識別情報を前記第１のノードに送信する機能を有し、かつ前記第１のノードは、前記第２のノードから前記第２の識別情報を受信すると、前記第１の識別情報を受信した前記第２の識別情報と併せて前記管理装置に送信する機能を有していることが好ましい。
【００１０】
この暗号鍵設定システムにおいて、前記管理装置における前記チケット発行部は、前記第１のノードおよび前記第２のノードに設定される共通鍵の有効期間を定める機能と、少なくとも前記第１のチケットと併せて前記第１のノードに有効期間を通知する機能とを有し、前記第１のノードと前記第２のノードとのうちの少なくとも前記第１のノードは、前記第１のチケットと併せて通知された有効期間を取得し、設定された共通鍵を有効期間内の通信にのみ使用する機能を有することが好ましい。
【００１１】
この暗号鍵設定システムにおいて、前記第１のノードは、資源供給業者から供給される資源の使用量を計測する計測装置に付設され、前記計測装置から計測データを取得する機能を有し、前記第２のノードは、前記資源の需要家が前記資源を用いて使用する機器との間で通信することにより、少なくとも前記機器による資源の消費量を管理する機能を有することが好ましい。
【００１２】
この暗号鍵設定システムにおいて、前記第１のノードは、資源供給業者から供給される資源の使用量を計測する計測装置に付設され、前記計測装置から計測データを取得する機能を有し、前記第２のノードは、前記資源の需要家が前記資源を用いて使用する機器に付設され、少なくとも前記機器による資源の消費量を管理する機能を有することが好ましい。
【００１３】
本発明に係る端末装置は、上述したいずれかの暗号鍵設定システムに用いられ、前記第１のノードとして機能することを特徴とする。
【００１４】
また、本発明に係る端末装置は、上述したいずれかの暗号鍵設定システムに用いられ、前記第２のノードとして機能することを特徴とする。
【発明の効果】
【００１５】
本発明の構成によれば、管理装置が、第１のノードの第１の識別情報および第２のノードの第２の識別情報を取得して、第１のノードおよび第２のノードに共通鍵の設定を許可するから、管理装置が許可したノードにのみ共通鍵が設定されることになる。その結果、共通鍵が通信外のノードに誤って設定される可能性が低減されるという利点がある。また、管理装置は、第１のノードに宛てた第１のチケットと第２のノードに宛てた第２のチケットとを発行し、第１のノードは第１のチケットをメッセージの認証に用い、第２のノードは第２のチケットを共通鍵の生成に用いるから、管理装置は、第１のノードの秘密鍵を管理するだけで、第２のノードの秘密鍵を管理する必要がない。すなわち、管理装置は第１のノードについて秘密鍵を保管するだけで、第１のノードと第２のノードとの両方に共通鍵を安全に設定することが可能になるという利点がある。
【図面の簡単な説明】
【００１６】
【図１】実施形態を示すブロック図である。
【図２】実施形態１の動作をシーケンス図で示した説明図である。
【図３】同上の他の動作をシーケンス図で示した説明図である。
【図４】実施形態３に用いる管理装置を示すブロック図である。
【図５】同上の動作をシーケンス図で示した説明図である。
【図６】同上の他の動作をシーケンス図で示した説明図である。
【発明を実施するための形態】
【００１７】
（概要）
以下に説明する実施形態は、資源供給事業者が資源を供給する需要家に用いられ、需要家における資源の使用量を計測する計測装置に付設された第１のノードと、第１のノードとの間で通信する第２のノードとに共通鍵を設定する技術を例として説明する。以下では、資源供給事業者が電力会社であって需要家には資源として電力が供給される場合について説明する。ただし、電力以外にガス、水、熱などを資源とする場合でも同様の技術を適用可能である。資源が供給される需要家には、資源の使用量を計測する計測装置としてのメータが設置される。
【００１８】
ここでは、資源が電力であるから、計測装置は電力メータが備えている。計測装置は、需要家が使用する電力量を単位時間毎に計測し、計測した電力量を計測データとして出力する。ここに、計測装置は、電力会社から供給された電力量を計測するだけではなく、需要家が発電装置を備えている場合は、需要家が創出した電力量を計測する機能を備えていてもよい。計測データは、通信ネットワークを通して上位装置に通知される。そのため、通信ネットワークに属するノード（以下、「第１のノード」という）が計測装置に付設される。
【００１９】
上位装置は、電力会社、または電力会社から委託されたサービス提供会社が運営する管理サーバを想定している。上位装置は、１台のコンピュータではなく、複数台のコンピュータで実現されていてもよい。また、上位装置は、複数階層に階層化された通信ネットワークを構築していてもよい。たとえば、管理サーバが複数台の中継装置と通信し、それぞれの中継装置が複数台の第１のノードと通信するように通信ネットワークが構築されていてもよい。すなわち、上位装置が管理サーバと複数台の中継装置とを含み、同じ通信ネットワークに属する中継装置と第１のノードとが通信する構成でもよい。この場合、上位装置が構築している通信ネットワークには、複数種類の伝送媒体が用いられていてもよい。
【００２０】
需要家は資源としての電力を使用する機器を備える。機器は、電力を消費する機器のほか、電力を創出する発電装置（太陽光発電装置、風力発電装置、燃料電池など）、電力を充放電する蓄電装置を含んでいてもよい。機器は、分電盤の主幹回路や分岐回路を通過する電力量などを計測する計測ユニットを含んでいてもよい。これらの機器の少なくとも一部は、第１のノードを備える通信ネットワークとは別に、需要家に構築される通信ネットワークに属するノードになる。
【００２１】
需要家に構築される通信ネットワークは、機器との間で通信を行うノード（以下、「第２のノード」という）を備える。第２のノードは、少なくとも機器による電力の使用に関する情報を機器との間で授受する機能を有する。また、第２のノードは、機器における電力の出入の情報を収集するだけではなく、機器の動作を監視する機能、機器の動作を指示する機能も有していることが望ましい。つまり、第２のノードは、いわゆるＨＥＭＳ（Home Energy Management System）としての機能を備えることが望ましい。
【００２２】
第１のノードと第２のノードとは、上述した通信ネットワークのいずれにも属さない通信路を用いて通信を行う。以下の実施形態は、この通信路が電波を媒体とする無線通信路である場合を想定して説明するが、この通信路は有線通信路であってもよい。有線通信路をこの通信路に採用する場合は、需要家に給電する配電線を通信路に兼用する電力線搬送通信の技術を採用することが望ましい。第１のノードと第２のノードとの間では、第１のノードが取得した電力量、上位装置から第１のノードに通知された電力量の削減目標、第１のノードと第２のノードとが共有すべき情報などの通信を行う。
【００２３】
上述したように、第１のノードは、電力メータに設けられた計測装置に付設されており、計測装置と併せていわゆる「スマートメータ」を構成している。また、第２のノードは、上述のように、いわゆる「ＨＥＭＳ」に対応している。したがって、以下の実施形態において、第１のノードは「スマートメータ」を想定して説明し、第２のノードは「ＨＥＭＳ」を想定して説明する。また、スマートメータおよびＨＥＭＳは、実際にはそれぞれ多数台存在するが、以下の実施形態では、第１のノードおよび第２のノードを１台ずつ設けた場合について説明する。第１のノードおよび第２のノードがそれぞれ複数台存在する場合の動作は、第１のノードおよび第２のノードを１台ずつ設けている場合の動作に帰着する。
【００２４】
なお、以下に説明する実施形態は、資源の使用量を管理する用途に制限されない。すなわち、以下の実施形態で説明する技術は、通信可能な２台の端末装置のうちの一方の端末装置が第三者機関に登録されている場合であって、両方の端末装置に共通鍵を設定する必要があれば、他の用途であっても利用可能である。
【００２５】
（実施形態１）
以下の実施形態において、第１のノード、第２のノード、管理装置は、それぞれ独立したコンピュータ（マイコン）と通信インターフェイス部とを主なハードウェア構成として備える。
【００２６】
図１に示すように、需要家に設置される、第１のノード１０と第２のノード２０とを備える。第１のノード１０および第２のノード２０は、それぞれを特定するための識別情報を有する。この識別情報は、通信に用いる識別情報とは異なっていてもよい。第１のノード１０の識別情報（第１の識別情報）は、他の第１のノード１０と重複しないようにユニークに設定されている必要がある。一方、第２のノード２０の識別情報（第２の識別情報）は、利用者による設定が可能であり、ユニークであることは要求されない。隣接した需要家の間で、第１のノード１０と第２のノード２０との間の通信に干渉が生じなければ、第２のノード２０の識別情報は共通であることが許容される。
【００２７】
第１のノード１０は需要家に設置することが必須であるが、第２のノード２０は必要に応じて設けられる。第１のノード１０は、上述したように、電波を伝送媒体とする無線通信路を用いて第２のノード２０と通信可能である。第２のノード２０は、第三者機関により運営されている管理装置３０と通信可能になっている。第２のノード２０と管理装置３０との間の通信に用いる伝送媒体は、とくに制限はなく、無線通信路と有線通信路とのどちらを用いてもよい。
【００２８】
ここに、第１のノード１０を特定する情報は管理装置３０が管理する。第１のノード１０を特定する情報には、管理装置３０に登録された第１のノード１０の識別情報および第１のノード１０に設定された秘密鍵のほかに、第１のノード１０の所在地および所有者が含まれる。第１のノード１０を特定する情報は、第１のノード１０に固有に割り当てられた製造番号やＭＡＣアドレスなどを含んでいてもよい。
【００２９】
第２のノード２０の識別情報は、管理装置３０に登録されていてもよいが、管理装置３０に登録されていることは必須ではない。また、管理装置３０は、第２のノード２０の所在地および所有者は管理しない。
【００３０】
管理装置３０を運営する第三者機関は、需要家に電力を供給する電力会社、当該電力会社から委託されたサービス提供会社などを意味する。管理装置３０は、第２のノード２０と通信するために通信インターフェイス部３１を備える。以下、通信インターフェイス部を「通信Ｉ／Ｆ」と記載する。
【００３１】
管理装置３０は、少なくとも第１のノード１０を特定する識別情報と第１のノード１０に設定された秘密鍵との組を保管する鍵保管部３２を備える。鍵保管部３２は、記憶装置であって、第１のノード１０の識別情報および秘密鍵のほか、第１のノード１０の所在地（たとえば、住所）と第１のノード１０の管理者（たとえば、需要家の氏名）をあらかじめ保管している。すなわち、第１のノード１０の設置に伴って、これらの情報が管理装置３０に登録される。
【００３２】
また、管理装置３０は、第２のノード２０から取得される第１のノード１０の識別情報を鍵保管部３２に照合する照合部３３と、第１のノード１０と第２のノード２０とにそれぞれ宛てる２種類のチケットを発行するチケット発行部３４とを備える。チケット発行部３４は、第１のノード１０に宛てる第１のハッシュ値と、第２のノード２０に宛てる第２のハッシュ値とを２種類のチケットとして発行する。したがって、ここでは、第１のハッシュ値は第１のチケットと同じ意味で用い、第２のハッシュ値は第２のチケットと同じ意味で用いる。照合部３３は、第１のノード１０の識別情報を受け取ると、受け取った識別情報を鍵保管部３２と照合し、第１のノード１０の所在地との関係によって不正を確認する機能を有する。つまり、照合部３３は、第１のノード１０の識別情報を鍵保管部３２に保存された認証用の情報と照合する。さらに、管理装置３０は、チケット発行部３４が発行した第１のハッシュ値および第２のハッシュ値を用いて第２のノード２０に送信するメッセージを生成するメッセージ生成部３５を備える。第１のハッシュ値と第２のハッシュ値との関係については後述する。
【００３３】
第２のノード２０は、第１のノード１０と管理装置３０とのそれぞれと情報を双方向に伝送するために、第１のノード１０と通信する通信Ｉ／Ｆ２１と、管理装置３０と通信する通信Ｉ／Ｆ２２とを備える。２つの通信Ｉ／Ｆ２１，２２は共通のハードウェア構成を兼用していてもよい。通信Ｉ／Ｆ２１および通信Ｉ／Ｆ２２を通して第１のノード１０および管理装置３０との間で授受される情報は、振分部２３により宛先が振り分けられる。
【００３４】
第２のノード２０は、第１のノード１０との間で共通鍵を設定するために、第１のノード１０に対して１個の共通鍵のために生成される交換用のコードを含むメッセージを送信する。さらに、第２のノード２０は、交換用のコードを含んだ情報から計算されたハッシュ値を含むメッセージを第１のノード１０から受信する（図２参照）。本実施形態は、交換用のコードとして乱数を採用している。
【００３５】
第２のノード２０は、第１のノード１０へのメッセージを送信するために、第１のノード１０に送信するメッセージを生成するメッセージ生成部２４と、交換用のコードである乱数を発生させる乱数発生器２５とを備える。乱数発生器２５は、共通鍵を生成するためのメッセージを第１のノード１０に送信するたびに乱数を発生する。
【００３６】
第２のノード２０は、上述の構成のほかに、振分部２３を通して管理装置３０から受信した第２のハッシュ値を秘密鍵として保管する秘密鍵保管部２６と、この秘密鍵と第１のノード１０からのメッセージとを用いて共通鍵を生成する（第２の）共通鍵生成部２７とを備える。秘密鍵保管部２６は、第２のノード２０の識別情報も保管する。共通鍵生成部２７が生成した共通鍵は、共通鍵保管部２８に保管され、第１のノード１０とのその後の通信に用いられる。
【００３７】
第２のノード２０の識別情報は、上述したように、利用者による設定が可能であるから、識別情報の設定などを可能にするための操作器（図示せず）を第２のノード２０に接続するために通信Ｉ／Ｆ２９が設けられる。操作器は、タッチパネルのように操作だけでなく表示も可能であることが望ましい。操作器は、専用の操作器のほか、パーソナルコンピュータ、スマートホン、タブレットノードなどで適宜のアプリケーションプログラムを実行することによって実現してもよい。第２のノード２０が操作器を専用に用いる場合、通信機能を備えた通信Ｉ／Ｆ２９に代えて通信機能のないインターフェイス部を用いてもよい。
【００３８】
ところで、第１のノード１０は、第２のノード２０と通信するための通信Ｉ／Ｆ１１を備える。また、第１のノード１０は、第２のノード２０との間で共通鍵を設定するために、第２のノード２０に対して１回の通信に限って生成される交換用のコードを含むメッセージを送信する。さらに、第１のノード１０は、第２のノード２０から受信したメッセージについて改ざんされていないことを確認するためのメッセージ確認部１３を備える。メッセージ確認部１３の機能については後述する。
【００３９】
第１のノード１０は、第２のノード２０へのメッセージを送信するために、第２のノード２０に送信するメッセージを生成するメッセージ生成部１４と、交換用のコードである乱数を発生させる乱数発生器１５とを備える。乱数発生器１５は、共通鍵を生成するためのメッセージを第２のノード２０に送信するたびに乱数を発生する。第１のノード１０は、管理装置３０が管理している識別情報および秘密鍵と同情報を保管する秘密鍵保管部１６も備える。
【００４０】
第１のノード１０は、上述の構成のほかに、秘密鍵と第２のノード２０からのメッセージとを用いて共通鍵を生成する（第１の）共通鍵生成部１７と、共通鍵生成部１７が生成した共通鍵を保管する共通鍵保管部１８を備える。共通鍵保管部１８に保管された共通鍵は、第２のノード２０とのその後の通信に用いられる。共通鍵生成部１７が生成する共通鍵は、第２のノード２０の共通鍵生成部２７が生成した共通鍵と一致していなければならない。
【００４１】
また、第１のノード１０と第２のノード２０とに共通鍵を設定する場合、共通鍵の設定のために授受している情報が盗聴されても共通鍵の生成が困難であることが要求される。さらに、中間攻撃によるメッセージの改ざんを検出することも要求される。これらの要求を満足するために、本実施形態は、管理装置３０が発行する第１のハッシュ値および第２のハッシュ値と、第１のノード１０と第２のノード２０との間で授受するメッセージを以下のように定めている。
【００４２】
図２に示すように、第１のノード１０と第２のノード２０とに共通鍵を設定する場合、第１のノード１０および第２のノード２０が管理装置３０に対してそれぞれの識別情報ＩＤ１，ＩＤ２を通知する（Ｐ１１，Ｐ１２）。図示例において、管理装置３０は、第２のノード２０との間でのみ通信が可能になっている。そのため、第１のノード１０は識別情報ＩＤ１を第２のノード２０に送信し（Ｐ１１）、第２のノード２０は第１のノード１０から識別情報ＩＤ１を受け取ると、振分部２３を通して第１のノード１０の識別情報ＩＤ１を管理装置３０に通知する（Ｐ１２）。このとき、秘密鍵保管部２６に保管されている第２のノード２０の識別情報ＩＤ２も併せて管理装置３０に通知される。
【００４３】
管理装置３０の照合部３３は、識別情報ＩＤ１を受け取ると、識別情報ＩＤ１を鍵保管部３２に照合することにより第１のノード１０の秘密鍵Ｋ１を抽出する。チケット発行部３４は、抽出した秘密鍵Ｋ１と識別情報ＩＤ１，ＩＤ２とを用いて、第１のハッシュ値Ｈ１を生成し、また、秘密鍵Ｋ１と識別情報ＩＤ２とを用いて第２のハッシュ値Ｈ２を生成する。たとえば、第１のハッシュ値Ｈ１は、Ｈ１＝Ｈ（Ｋ１；ＩＤ１｜ＩＤ２）になり、第２のハッシュ値Ｈ２は、Ｈ２＝Ｈ（Ｋ１；ＩＤ２）になる。
【００４４】
ただし、Ｈ（ａ；ｂ）は、ａを鍵に用いてｂについて算出した鍵付きのハッシュ値を表し、（ｃ｜ｄ）はｃとｄとを結合した（順に並べた）値を表す。
【００４５】
第１のハッシュ値Ｈ１は第１のノード１０に送信するために生成され、第２のハッシュ値Ｈ２は第２のノード２０に送信するために生成され、第１のハッシュ値Ｈ１および第２のハッシュ値Ｈ２は、ともに第２のノード２０に送信される（Ｐ１３，Ｐ１４）。メッセージ生成部３５は、チケット発行部３４が生成した第１のハッシュ値Ｈ１と第２のノード２０の識別情報ＩＤ２とを含むメッセージを生成し、通信Ｉ／Ｆ３１はこのメッセージを第２のノード２０に送信する（Ｐ１３）。また、メッセージ生成部３５は、チケット発行部３４が生成した第２のハッシュ値Ｈ２を含むメッセージを生成し、通信Ｉ／Ｆ３１はこのメッセージも第２のノード２０に送信する（Ｐ１４）。図示例では、第１のハッシュ値Ｈ１を含むメッセージと第２のハッシュ値Ｈ２を含むメッセージとを異なるタイミングで送信しているが、両方のメッセージを１回の通信で送信してもよい。
【００４６】
第１のハッシュ値Ｈ１は、第１のノード１０に対して第２のノード２０の識別情報ＩＤ２を管理装置３０が認証したことを保証する機能を有し、第２のハッシュ値Ｈ２は、第２のノード２０の秘密鍵として用いられる。なお、第１のノード１０と第２のノード２０と管理装置３０との間の通信（Ｐ１１〜Ｐ１４）の盗聴を防止するには、たとえばＳＳＬ（Secure Socket Layer）を採用すればよい。とくに、第２のノード２０と管理装置３０との間の通信（Ｐ１２〜Ｐ１４）は盗聴されないように、セキュアに通信を行う必要がある。少なくともこの通信はＳＳＬなどの技術を用いることが望ましい。
【００４７】
第２のノード２０が管理装置３０から第１のハッシュ値Ｈ１を含むメッセージと第２のハッシュ値Ｈ２を含むメッセージとを受け取ると、メッセージ生成部２４は、第１のハッシュ値Ｈ１を含むメッセージを用いて第１のノード１０に送信するメッセージを生成する。このメッセージは、通信Ｉ／Ｆ２１および振分部２３を通して管理装置３０から受信した第１のハッシュ値Ｈ１を含むメッセージと、乱数発生器２５が生成した交換用のコードとしての乱数ｒ２とを含む。メッセージ生成部２４が生成するメッセージは、たとえば（ＩＤ２，ｒ２，Ｈ１）という形式になる。なお、このメッセージに含まれる情報の順序は適宜に変更可能である。メッセージ生成部２４が生成したメッセージは、通信Ｉ／Ｆ２１から第１のノード１０に送信される（Ｐ１５）。
【００４８】
ところで、上述したように、第１のハッシュ値Ｈ１は、第１のノード１０の秘密鍵Ｋ１および識別情報ＩＤ１と、第２のノード２０の識別情報ＩＤ２を用いて生成されている。第１のノード１０は、管理装置３０の鍵保管部３２に保管されている秘密鍵Ｋ１および識別情報ＩＤ１と同情報を秘密鍵保管部１６に保管している。
【００４９】
メッセージ確認部１３は、第２のノード２０から受け取ったメッセージに含まれる第２のノード２０の識別情報ＩＤ２と、秘密鍵保管部１６に保管された秘密鍵Ｋ１および識別情報ＩＤ１とを用いて、第１のハッシュ値Ｈ１に相当するハッシュ値を生成する。さらに、メッセージ確認部１３は、生成したハッシュ値と第２のノード２０から受信した第１のハッシュ値Ｈ１とを比較し、両者が一致していれば、メッセージに含まれる識別情報ＩＤ２が、管理装置３０から送信されたものであると認識する。言い換えると、第２のノード２０から受信したメッセージに含まれる識別情報ＩＤ２が通信の途中で改ざんされていないことが保証される。このハッシュ値の使い方は、メッセージ認証の技術と同様である。
【００５０】
第１のノード１０は、第２のノード２０から受信したメッセージのうち第２のノード２０の識別情報ＩＤ２が管理装置３０で保証されていることを確認した後、乱数発生器１５で乱数ｒ１を生成し、この乱数ｒ１を用いて共通鍵生成部１７が共通鍵Ｋｓ１を生成する。共通鍵生成部１７は、秘密鍵保管部１６に保管された秘密鍵Ｋ１と、第２のノード２０から受信したメッセージに含まれる乱数ｒ２と、乱数発生器１５が生成した乱数ｒ１とを用いて共通鍵Ｋｓ１を生成する。
【００５１】
ところで、上述したように、管理装置３０が第２のノード２０に送信する第２のハッシュ値Ｈ２は、第２のノード２０の秘密鍵Ｋ２として用いられる。共通鍵Ｋｓ１は、秘密鍵Ｋ２を用いて、たとえば、Ｋｓ１＝Ｈ（Ｋ２；ｒ２｜ｒ１）という形式で生成される。そのため、第１のノード１０は、第２のノード２０が生成した乱数ｒ２を受け取るだけではなく、秘密鍵Ｋ２を生成する必要がある。一方、第２のノード２０は、管理装置３０から秘密鍵Ｋ２が引き渡されるから、第１のノード１０が生成した乱数ｒ１を受け取る必要がある。
【００５２】
ここに、秘密鍵Ｋ２は第２のハッシュ値Ｈ２であって、第２のハッシュ値Ｈ２は、第１のノード１０の秘密鍵Ｋ１と第２のノード２０の識別情報ＩＤ２とから生成される。したがって、第１のノード１０の共通鍵生成部１７は、第２のノード２０から受信したメッセージに含まれる識別情報ＩＤ２と、第１のノード１０の秘密鍵保管部１６に保管されている秘密鍵Ｋ１とを用いて秘密鍵Ｋ２を生成する。つまり、秘密鍵Ｋ２は、たとえばＫ２＝Ｈ（Ｋ１；ＩＤ２）になるから、第２のハッシュ値Ｈ２と同じハッシュ値を生成可能である。共通鍵生成部１７は、生成した秘密鍵Ｋ２を、第２のノード２０から受信したメッセージに含まれる乱数ｒ２および乱数発生器１５が発生した乱数ｒ１と併せて用いることにより、共通鍵Ｋｓ１を生成する。
【００５３】
乱数発生器１５が発生した乱数ｒ１は、メッセージ生成部１４にも与えられる。メッセージ生成部１４は、共通鍵生成部１７が生成した秘密鍵Ｋ２と第２のノード２０から受け取った乱数ｒ２とを用いてハッシュ値を生成し、乱数発生器１５から発生した乱数ｒ１と併せて、このハッシュ値を第２のノード２０にメッセージとして送信する（Ｐ１６）。このメッセージは、たとえば（ｒ１，Ｈ（Ｋ２；ｒ２））という形式になる。
【００５４】
第２のノード２０は、第１のノード１０からメッセージを受信すると、共通鍵生成部２７において、乱数発生器２５が生成した乱数ｒ２と秘密鍵保管部２６に保管された秘密鍵Ｋ２とを用いて、ハッシュ値Ｈ（Ｋ２；ｒ２）を算出する。共通鍵生成部２７は、生成したハッシュ値Ｈ（Ｋ２；ｒ２）が受信したメッセージのハッシュ値と一致していれば、メッセージに含まれる乱数ｒ１を第１のノード１０が発行した乱数ｒ１として受け取る。さらに、共通鍵生成部２７は、秘密鍵保管部２６に保管された秘密鍵Ｋ２および乱数発生器２５が生成した乱数ｒ２と、メッセージに含まれる乱数ｒ１とを用いてハッシュ値を算出し、このハッシュ値を共通鍵Ｋｓ１として共通鍵保管部２８に保管する。したがって、共通鍵Ｋｓ１は、第１のノード１０から受け取ったメッセージに含まれる乱数ｒ１と第２のノード２０が保有する情報とを用いて、たとえば、Ｋｓ１＝Ｈ（Ｋ２；ｒ２｜ｒ１）という形式で生成される。なお、共通鍵Ｋｓ１を求める演算は、秘密鍵Ｋ２と２つの乱数ｒ１，ｒ２との３個のパラメータを用いて共通鍵Ｋｓ１が生成され、かついずれか１つの乱数ｒ１，ｒ２と共通鍵Ｋｓ１とを用いても秘密鍵Ｋ２を求めることが極めて困難であればよい。
【００５５】
上述のように、第２のノード２０から第１のノード１０に対して、管理装置３０が保証した第２のノード２０の識別情報ＩＤ２と、第２のノード２０が発行した乱数ｒ２とを含むメッセージを送信する。また、このメッセージを受信した第１のノード１０は第２のノード２０に対して、第１のノード１０が発行した乱数ｒ１を含むメッセージを送信する。
【００５６】
第２のノード２０は、管理装置３０が第１のノード１０の秘密鍵Ｋ１と第２のノード２０の識別情報ＩＤ２とを用いて生成した秘密鍵Ｋ２を元にして、乱数ｒ１，ｒ２を用いて共通鍵Ｋｓ１を生成する。一方、第１のノード１０は、第１のノード１０が保管している第１のノード１０の秘密鍵Ｋ１と第２のノード２０を通して受信した識別情報ＩＤ２とを用いて生成したハッシュ値Ｈ２（つまり、秘密鍵Ｋ２）を元にして、乱数ｒ１，ｒ２を用いて共通鍵Ｋｓ１を生成する。その結果、第１のノード１０と第２のノード２０とのそれぞれが同じ共通鍵Ｋｓ１を持つ。
【００５７】
上述のようにして第１のノード１０と第２のノード２０とにそれぞれ共通鍵Ｋｓ１が設定されると、第１のノード１０と第２のノード２０との以後の通信は、共通鍵Ｋｓ１を用いて暗号化される。
【００５８】
本実施形態の技術では、第２のノード２０の秘密鍵Ｋ２は、管理装置３０が発行する。したがって、第２のノード２０は、あらかじめ秘密鍵Ｋ２を保管している必要がなく、秘密鍵の管理が容易である。また、第１のノード１０と第２のノード２０との管理主体が異なる場合でも、本実施形態の技術を採用すれば、両者に共通鍵Ｋｓ１を設定できる。たとえば、第１のノード１０の管理主体が電力会社であり、第２のノード２０の管理主体が製造メーカあるいは利用者である場合でも、第１のノード１０の管理主体が管理する情報のみで、第１のノード１０と第２のノード２０とに共通鍵Ｋｓ１を設定できる。しかも、第２のノード２０は、第１のノード１０の秘密鍵Ｋ１を保持することなく、第１のノード１０と第２のノード２０との双方が暗号通信に用いる共通鍵Ｋｓ１を保有することが可能になる。
【００５９】
第１のノード１０と第２のノード２０とが共通鍵Ｋｓ１を設定するために行う通信（Ｐ１５，Ｐ１６）には共通鍵Ｋｓ１の有効期間を設定しておくことが好ましい。つまり、第２のノード２０が第１のノード１０にメッセージを送信する際に（Ｐ１５）、メッセージ中にこの有効期間を含め、メッセージに添付するハッシュ値の生成時にこの有効期間も用いる。また、第１のノード１０が第２のノード２０にメッセージを送信する際に（Ｐ１６）、有効期間を用いて生成したハッシュ値を付加しておく。
【００６０】
共通鍵Ｋｓ１の有効期間を指定する形式は、有効期間の開始時刻と終了時刻との両方を指定する形式と、開始時刻のみを指定して開始時刻から所定時間を有効期間とする形式と、終了時刻のみを指定して終了時刻までを有効期間とする形式とから選択される。有効期間を指定する形式は、あらかじめ選択しておけば、どの形式を採用してもよい。
【００６１】
共通鍵Ｋｓ１に有効期間を設定する場合、有効期限をＴとすると、第１のハッシュ値Ｈ１は、たとえばＨ１＝Ｈ（Ｋ１；Ｔ｜ＩＤ１｜ＩＤ２）になり、第２のハッシュ値Ｈ２は、たとえばＨ２＝Ｈ（Ｋ１；Ｔ｜ＩＤ２）になる。また、第２のノード２０から第１のノード１０への通信の際のメッセージを、（ＩＤ２，ｒ２，Ｈ１）から（ＩＤ２，ｒ２，Ｔ，Ｈ１）などに変更する。一方、第１のノード１０から第２のノード２０への通信の際のメッセージは、（ｒ１，Ｈ（Ｋ２；ｒ２））でよい。Ｋ２＝Ｈ２＝Ｈ（Ｋ１；Ｔ｜ＩＤ２）であるから、このメッセージのメッセージ認証に有効期限Ｔが用いられることになる。
【００６２】
共通鍵Ｋｓ１に有効期間を設定する場合の動作例を図３に示す。図示例は、図２に示した動作例と同様に、まず、第１のノード１０および第２のノード２０が管理装置３０に対してそれぞれの識別情報ＩＤ１，ＩＤ２を通知する（Ｐ２１，Ｐ２２）。管理装置３０は、現在時刻を計時するリアルタイムクロック（図示せず）を備え、チケット発行部３４は、識別情報ＩＤ１，ＩＤ２を受信した時刻に対して所定時間後である有効期間Ｔを定める。
【００６３】
すなわち、チケット発行部３４は、抽出した秘密鍵Ｋ１と識別情報ＩＤ１，ＩＤ２と有効期間Ｔとを用いて、第１のハッシュ値Ｈ１を生成し、また、秘密鍵Ｋ１と識別情報ＩＤ２とを用いて第２のハッシュ値Ｈ２を生成する。第１のハッシュ値Ｈ１は、たとえば、Ｈ１＝Ｈ（Ｋ１；Ｔ｜ＩＤ１｜ＩＤ２）になり、第２のハッシュ値Ｈ２は、たとえば、Ｈ２＝Ｈ（Ｋ１；Ｔ｜ＩＤ２）になる。
【００６４】
メッセージ生成部３５は、チケット発行部３４が生成した第１のハッシュ値Ｈ１と第２のノード２０の識別情報ＩＤ２と有効期間Ｔとを含むメッセージを生成し、このメッセージを第２のノード２０に送信する（Ｐ２３）。また、メッセージ生成部３５は、チケット発行部３４が生成した第２のハッシュ値Ｈ２を含むメッセージを生成し、このメッセージを第２のノード２０に送信する（Ｐ２４）。
【００６５】
第２のノード２０は、管理装置３０から受信した第２のハッシュ値Ｈ２を秘密鍵Ｋ２に用いる。したがって、秘密鍵Ｋ２は、たとえば、Ｋ２＝Ｈ（Ｋ１；Ｔ｜ＩＤ２）になる。また、第２のノード２０は、管理装置３０から受信した第１のハッシュ値Ｈ１を、第２のノード２０の識別情報ＩＤ２と、乱数発生器２５が生成した乱数ｒ２と、有効期間Ｔと併せたメッセージを第１のノード１０に送信する（Ｐ２５）。
【００６６】
第１のノード１０は、第２のノード２０から受信したメッセージに含まれるハッシュ値Ｈ１を用いてメッセージ認証を行う。さらに、第１のノード１０の共通鍵生成部１７は、保有している秘密鍵Ｋ１、乱数発生器１５が生成した乱数ｒ１、受信した識別情報ＩＤ２および乱数ｒ２、有効期間Ｔを用いて、共通鍵Ｋｓ１を生成する。すなわち、共通鍵Ｋｓ１は、たとえば、Ｋｓ１＝Ｈ（Ｋ２；Ｔ｜ｒ２｜ｒ１）という形式で生成される。また、第１のノード１０は、有効期間Ｔを受け取ることにより、有効期間Ｔの終了時刻を知るから、以後は、生成した共通鍵Ｋｓ１の有効期間Ｔの管理を行う。
【００６７】
第１のノード１０の乱数発生器１５で生成された乱数ｒ１は、メッセージ認証に用いるハッシュ値（たとえば、Ｈ（Ｈ（Ｋ１；Ｔ｜ＩＤ２），ｒ２）＝Ｈ（Ｋ２；ｒ２））を付加して、第１のノード１０から第２のノード２０に送信される（Ｐ２６）。第２のノード２０は、秘密鍵Ｋ２と乱数ｒ２とを用いてメッセージ認証を行い、第１のノード１０が生成した乱数ｒ１を受け取る。
【００６８】
第２のノード２０は、管理装置３０から第１のハッシュ値Ｈ１とともに有効期間Ｔを受け取っているから、この有効期間Ｔと、第１のノード１０から受け取った乱数ｒ１と、秘密鍵Ｋ２および乱数ｒ２とを用いて共通鍵Ｋｓ１を生成する。共通鍵Ｋｓ１は、たとえば、Ｋｓ１＝Ｈ（Ｋ２；Ｔ｜ｒ２｜ｒ１）という形式で生成される。つまり、共通鍵生成部２７は、第１のノード１０と同じ形式の共通鍵Ｋｓ１を生成するから、第１のノード１０と第２のノード２０との間で共通鍵Ｋｓ１を用いて暗号化した通信を行うことが可能になる。
【００６９】
第１のノード１０と第２のノード２０とがそれぞれ生成した共通鍵Ｋｓ１は、有効期間Ｔが設定されているから、第１のノード１０と第２のノード２０とにおいて、それぞれ有効期間Ｔを管理し、有効期間Ｔを超えると共通鍵Ｋｓ１は無効になる。つまり、第１のノード１０と第２のノード２０との一方が共通鍵Ｋｓ１を用いて他方に対して情報を伝送する際に、有効期間Ｔを過ぎているときには、送信側において共通鍵Ｋｓ１を用いて暗号化することができず、受信側において情報を復号することができなくなる。
【００７０】
したがって、第三者が何らかの方法で取得した共通鍵Ｋｓ１を用いて暗号化した情報を伝送したとしても、有効期間Ｔが過ぎていれば、その情報は受信側に到達することがない。そのため、第１のノード１０と第２のノード２０との間の通信において、共通鍵Ｋｓ１の有効期間Ｔを管理し、有効期間Ｔを超える場合には共通鍵Ｋｓ１を無効にすれば、再送攻撃ないし再生攻撃による鍵共有が防止される。なお、共通鍵Ｋｓ１に有効期間Ｔを設定する技術は、以下の実施形態においても適用可能である。
【００７１】
（実施形態２）
実施形態１は、管理装置３０から、第１のハッシュ値を含むメッセージと第２のハッシュ値を含むメッセージとを第２のノード２０に送信していたが、本実施形態は、第１のハッシュ値を含むメッセージのみを第２のノード２０に送信する。この場合、第２のノード２０は管理装置３０から送信されたメッセージでは秘密鍵を得られない。一方、実施形態１の説明から明らかなように、第２のノード２０の秘密鍵Ｋ２は、第１のノード１０において生成可能な情報でなければならない。
【００７２】
本実施形態では、管理装置３０が発行した第２のノード２０の秘密鍵Ｋ２を、別経路で利用者に伝達し、第２のノード２０に対して利用者が秘密鍵Ｋ２を入力する。秘密鍵Ｋ２を利用者に伝達する方法は、電子メールやウェブページを利用することが可能であるが、安全のためには郵送、ファクシミリ、電話などを利用することが望ましい。
【００７３】
利用者は、管理装置３０が発行した秘密鍵Ｋ２を入手すると、第２のノード２０に設けられた通信Ｉ／Ｆ２９に接続された操作器を操作して秘密鍵Ｋ２を秘密鍵保管部２６に登録する。本実施形態は、第２のノード２０に人為的に秘密鍵Ｋ２を登録する作業を行うことにより、実施形態１と同様に、第１のノード１０と同じ共通鍵Ｋｓ１を生成することが可能になる。
【００７４】
ところで、管理装置３０が第２のノード２０に対する秘密鍵Ｋ２を発行するにあたって、第２のノード２０の利用者に宛てて秘密鍵Ｋ２を送付しなければならないから、第２のノード２０の所在地を知る必要がある。そのため、管理装置３０は、第２のノード２０の利用者から通知される所在地を受け付けるための通信Ｉ／Ｆ３６を備える（図１参照）。通信Ｉ／Ｆ３６は、利用者が利用する通信ノードとの間で情報を授受するか、あるいは管理装置３０の管理主体が操作するノードとの間で情報を授受する。いずれの場合も、通信Ｉ／Ｆ３６を通して、第２のノード２０の識別情報ＩＤ２と、第２のノード２０の所在地とが入力される。
【００７５】
管理装置３０の照合部３３は、通信Ｉ／Ｆ３１が第２のノード２０から受信した識別情報ＩＤ１により鍵保管部３２から第１のノード１０の所在地を抽出し、抽出した所在地を通信Ｉ／Ｆ３６から入力された所在地と照合する。第１のノード１０と第２のノード２０との所在地が一致していれば、第２のノード２０が第１のノード１０と通信することを許可する。すなわち、管理装置３０は、第２のノード２０に対して、共通鍵Ｋｓ１を生成するための秘密鍵Ｋ２を発行する。なお、管理装置３０が第１のハッシュ値を含むメッセージを第２のノード２０に送信するタイミングと、通信Ｉ／Ｆ３６を通して第１のノード１０の識別情報および所在地を受け付けるタイミングとは、どちらが先であってもよい。
【００７６】
本実施形態は、管理装置３０が、第２のノード２０の所在地の入力を受け付ける機能と、入力された第２のノード２０の所在地を鍵保管部３２に保管している第１のノード１０の所在地と照合する機能とを備えている。そのため、第１のノード１０と第２のノード２０とを所在地（住所）によって紐付けることが可能になり、第２のノード２０を第１のノード１０に紐付ける際に、誤って隣家の第１のノード１０を選択することが防止される。
【００７７】
実施形態１では、とくに説明していないが、第１のノード１０から第２のノード２０に対して識別情報ＩＤ１を通知するタイミングは、何らかの事象の検出を行ったことを契機とすればよい。そのため、第１のノード１０は、事象の検出を契機として識別情報ＩＤ１を通知させる通知部１２を備える。この種の事象は、スイッチやキーボードの操作、センサが検出している状態の変化、タイムスケジュールなどから選択される。
【００７８】
上述のように、事象を検出したときに識別情報ＩＤ１を通知すれば、たとえば、第２のノード２０が第１のノード１０との距離が所定範囲内であるときにのみ、共通鍵Ｋｓ１を設定するための動作を開始させることが可能になる。この動作により、第２のノード２０が誤って隣家の第１のノード１０に対応付けることが防止される。
【００７９】
第１のノード１０と第２のノード２０との紐付けをさらに確実にするには、第１のノード１０と第２のノード２０との通信路として、常時は使用しない特別な通信路を形成可能にしておき、上述した事象の検出を契機として、特別な通信路を用いて紐付けを行えばよい。この場合の通信路は、無線通信路であれば周波数あるいは変調方式を常時とは異ならせるようにすればよい。また、特別な通信路を形成するために、第１のノード１０と第２のノード２０との間に一時的に有線通信路を形成するように、紐付け時に用いる専用の通信用コネクタを第１のノード１０と第２のノード２０とに設けてもよい。
【００８０】
以上説明したように、本実施形態は、以下の３つの技術を採用している。（１）第２のノード２０が秘密鍵Ｋ２の入力を受け付ける通信Ｉ／Ｆ２９を備える。（２）管理装置３０が、第２のノード２０の識別情報ＩＤ２および所在地の入力を受け付ける通信Ｉ／Ｆ３６を備え、かつ第１のノード１０と第２のノード２０との所在地を照合する機能を有する。（３）第１のノード１０が、何らかの事象を検出したときに、識別情報ＩＤ１を送信する通知部１２を備える。
【００８１】
本実施形態では、第１のハッシュ値を含むメッセージのみが管理装置３０から第２のノード２０に送信され、管理装置３０が発行した第２のノード２０の秘密鍵Ｋ２は、第１のハッシュ値を含むメッセージとは別経路で第２のノード２０に送信されている。ただし、第１のハッシュ値を含むメッセージも、秘密鍵Ｋ２と同様に、通信路を通さずに郵送、ファクシミリ、電話、電子メール、ウェブページなどを利用して利用者に伝達してもよい。この場合、第１のハッシュ値を含むメッセージは、利用者が第２のノード２０に入力することになる。
【００８２】
ここで、第２のノード２０がＨＥＭＳである場合、第２のノード２０の所在地はスマートメータに付設された第１のノード１０の所在地に対応していると考えられるから、第１のノード１０の所在地に第１のハッシュ値を含むメッセージを送ればよい。この場合、第１のノード１０と第２のノード２０とが同じ所在地（住所）であることの確認は、第１のハッシュ値を含むメッセージを受け取った利用者が行う。つまり、第１のノード１０と第２のノード２０との所在地の照合を管理装置３０で行う必要がないから、上述した（２）の技術は不要になる。
【００８３】
他の構成および動作は実施形態１と同様であるから説明を省略する。
【００８４】
（実施形態３）
上述した実施形態は、１台の管理装置３０を用いているが、本実施形態は２台の管理装置３０，４０を用いる技術を説明する。上述した実施形態では、第１のノード１０を管理する管理主体が管理装置３０を運営していることを想定している。これに対して、本実施形態では、第１のノード１０の管理主体が運営する管理装置３０とは別に、第２のノード２０の管理主体が運営する管理装置４０を設けている点が異なる。管理装置３０は、実施形態１で説明したように、第１のノード１０の識別情報ＩＤ１および秘密鍵Ｋｓ１を保管している。一方、管理装置４０は、第２のノード２０の識別情報ＩＤ２および秘密鍵Ｋ２を保管するために設けられている。
【００８５】
上述した実施形態の管理装置３０は、第２のノード２０と直接通信するが、本実施形態の管理装置３０は、第２のノード２０との間に管理装置４０を介在させている。つまり、管理装置３０の通信Ｉ／Ｆ３１は管理装置４０との間に通信路を形成する。ただし、管理装置３０と管理装置４０との間の通信は、セキュアに行われることが保証されていることを想定している。
【００８６】
管理装置４０は、図４に示すように、管理装置３０および第２のノード２０との通信を行う通信Ｉ／Ｆ４１を備える。したがって、第２のノード２０の通信Ｉ／Ｆ２２は、管理装置４０と通信することになる。管理装置４０は、第２のノード２０の識別情報ＩＤ２および秘密鍵Ｋ２を保管するために鍵保管部４２を備える。鍵保管部４２は、管理装置４０の識別情報ＩＤ４および管理装置４０の秘密鍵Ｋ４を保管する。
【００８７】
第２のノード２０と管理装置４０とは管理主体が同じであるから、管理装置４０の秘密鍵Ｋ４と第２のノード２０の識別情報ＩＤ２とを用いて生成したハッシュ値Ｈ４を、第２のノード２０の製造時ないし出荷時にあらかじめ第２のノード２０に保存しておくことが可能である。さらに、ハッシュ値Ｈ４と、管理装置４０の識別情報ＩＤ４と第２のノード２０の識別情報ＩＤ２とから生成したハッシュ値Ｈ５も鍵保管部４２に保管される。ハッシュ値Ｈ４は通信には用いられずメッセージ認証の目的で用いられ、ハッシュ値Ｈ５は管理装置４０との通信に際して第２のノード２０からのメッセージであることを確認させるために用いられる。ハッシュ値Ｈ４は、たとえばＨ４＝Ｈ（Ｋ４；ＩＤ２）とし、ハッシュ値Ｈ５は、たとえばＨ５＝Ｈ（Ｈ４，ＩＤ４｜ＩＤ２）とする。
【００８８】
管理装置４０は、通信Ｉ／Ｆ４１と鍵保管部４２とに加えて、第２のノード２０および管理装置３０とに対して送信するメッセージを生成するメッセージ生成部４４、交換用のコードとしての乱数を生成する乱数発生器４５を備える。さらに、管理装置４０は、第２のノード２０との通信に用いる共通鍵を生成する共通鍵生成部４７と、共通鍵生成部４７が生成した共通鍵を保管する共通鍵保管部４８とを備える。
【００８９】
次に、図５を用いて本実施形態の動作を説明する。第２のノード２０は、第１のノード１０から識別情報ＩＤ１を受け取ると（Ｐ３１）、乱数発生器２５が乱数を生成する。乱数発生器２５が生成する乱数は、交換用のコードであるから、通信相手との間でメッセージの認証を行う間にのみ用いられ、次の通信機会には新たな乱数が用いられる。すなわち、乱数発生器２５が生成した乱数は、乱数を含むメッセージを送信し、通信相手から得られる応答のメッセージについて認証するまでの間が乱数の有効期間になる。
【００９０】
乱数発生器２５が生成した乱数ｒ２１は、第１のノード１０から取得した識別情報ＩＤ１と、第２のノード２０の識別情報ＩＤ２とともに管理装置４０へのメッセージとして送信される（Ｐ３２）。第２のノード２０から管理装置４０へのメッセージは、ハッシュ値Ｈ５も含む。
【００９１】
管理装置４０のメッセージ生成部４４は、第２のノード２０から受信したメッセージを受信すると、鍵保管部４２に保管している秘密鍵Ｋ４と識別情報ＩＤ４とともに、メッセージに含まれる第２のノード２０の識別情報ＩＤ２を用いてハッシュ値を生成する。さらに、メッセージ生成部４４は、生成したハッシュ値をメッセージに含まれるハッシュ値Ｈ５と比較し、両者が一致していれば第２のノード２０から送信されたメッセージであることを認証する。
【００９２】
メッセージ生成部４４は、メッセージを認証した後、第２のノード２０から受け取った第１のノード１０および第２のノード２０の識別情報ＩＤ１，ＩＤ２を管理装置３０に送信する（Ｐ３３）。さらに、メッセージ生成部４４は、乱数発生器４５が生成した乱数ｒ４を含むメッセージを第２のノード２０に送信する（Ｐ３４）。このメッセージは、第２のノード２０が鍵保管部４２に保管しているハッシュ値Ｈ４および管理装置４０が第２のノード２０から受信した乱数ｒ２１を元にしたハッシュ値を含む。このハッシュ値は、たとえばＨ（Ｈ４，ｒ２１）＝Ｈ（Ｈ（Ｋ４；ＩＤ２），ｒ２１）になる。
【００９３】
ここまでの処理によって、管理装置４０は、鍵保管部４２に保管されている秘密鍵Ｋ４と、乱数発生器４５が生成した乱数ｒ４と、第２のノード２０の識別情報ＩＤ２と、第２のノード２０から受信した乱数ｒ２１とを取得する。共通鍵生成部４７は、秘密鍵Ｋ４、識別情報ＩＤ２、乱数ｒ２１，ｒ３を元にハッシュ値を生成し、このハッシュ値を共通鍵として、第２のノード２０との以後の通信に用いる。この共通鍵は、たとえばＨ（Ｈ４，ｒ２１｜ｒ４）＝Ｈ（Ｈ（Ｋ４；ＩＤ２），ｒ２１｜ｒ４）になる。
【００９４】
ところで、管理装置３０は、管理装置４０から識別情報ＩＤ１，ＩＤ２を受け取ると、第１のノード１０に向けた第１のハッシュ値Ｈ１を含むメッセージと、第２のノード２０に向けた第２のハッシュ値Ｈ２を含むメッセージとを送信する（Ｐ３５）。第１のハッシュ値Ｈ１および第２のハッシュ値Ｈ２は、実施形態１あるいは実施形態２と同様である。
【００９５】
一方、管理装置４０が生成した乱数ｒ４を含むメッセージを管理装置４０から受信した第２のノード２０は、秘密鍵保管部２６に保管しているハッシュ値Ｈ４と、先に生成した乱数ｒ２１と、管理装置４０から受信した乱数ｒ４とを元にハッシュ値を生成する。メッセージ生成部２４は、管理装置４０から受信したハッシュ値が、このハッシュ値と一致すると、管理装置４０からのメッセージであることを認証し、共通鍵生成部２７に対してメッセージを認証したことを通知する。
【００９６】
第２のノード２０における共通鍵生成部２７は、管理装置４０から受信した乱数ｒ４と秘密鍵保管部２６に保管しているハッシュ値Ｈ４と、乱数発生器２５が生成した乱数ｒ２１とを元にしたハッシュ値を共通鍵として生成し、この共通鍵を共通鍵保管部２８に保管する。この共通鍵は、当然のことであるが、たとえばＨ（Ｈ４，ｒ２１｜ｒ４）＝Ｈ（Ｈ（Ｋ４；ＩＤ２），ｒ２１｜ｒ４）になる。
【００９７】
以上の手順によって、第２のノード２０と管理装置４０との間で共通鍵が設定され、第２のノード２０と管理装置４０との間の以後の通信は、共通鍵を用いた暗号化が可能になる。そこで、第２のノード２０は、乱数発生器２５により乱数ｒ２２を生成し、この乱数ｒ２２と、管理装置４０から受け取った乱数ｒ４とを併せて、共通鍵Ｋｓ２を用いて暗号化したメッセージを送信する（Ｐ３６）。このメッセージは、たとえばＥ（Ｋｓ２；ｒ４｜ｒ２２）になる。ここに、Ｅ（Ｋ；ｙ）は、ｙを共通鍵Ｋで暗号化したことを表す。
【００９８】
共通鍵Ｋｓ２で暗号化されたメッセージを受信した管理装置４０は、共通鍵Ｋｓ２を用いてメッセージの内容を復号することができるから、乱数ｒ２２を取り出す。また、管理装置４０は、管理装置３０から受信した第１のハッシュ値Ｈ１を含むメッセージ、および第２のハッシュ値Ｈ２を含むメッセージを、共通鍵Ｋｓ２で暗号化して、第２のノード２０に送信する（Ｐ３７）。また、通信の安全性を高めるために、乱数ｒ２２に所定の演算を行って共通鍵Ｋｓ２で暗号化した情報も送信される。図示例では、乱数ｒ２２に対する演算として、乱数２２に１を加算する演算を例示しているが、他の演算であってもよい。
【００９９】
管理装置４０から共通鍵Ｋｓ２で暗号化された情報を受信した第２のノード２０は、乱数ｒ２２に関する情報を復号し、管理装置４０から送信された情報であることを確認する。その後、第１のノード１０に宛てた第１のハッシュ値Ｈ１を含むメッセージと、第２のノード２０に宛てた第２のハッシュ値Ｈ２を含むメッセージとを復号する。復号されたメッセージは、たとえば、Ｈ（Ｋ１；ＩＤ２）と（ＩＤ２，Ｈ（Ｋ２；ＩＤ２｜ＩＤ１））とであって、実施形態１、実施形態２と同様に、前者は第２のノード２０の秘密鍵保管部２６に保管され、後者は第１のノード１０に送信される。
【０１００】
以後の動作は実施形態１、実施形態２において説明した動作と同様であるから、以後の動作については説明を省略する。本実施形態のように、第１のノード１０と同じ管理主体である管理装置３０と、第２のノード２０と同じ管理主体である管理装置４０とを分離して設けたことにより、第１のノード１０と第２のノード２０とに関する情報を、分離して管理することが可能になる。
【０１０１】
なお、本実施形態の動作において、第２のノード２０と管理装置４０との間で用いる共通鍵Ｋｓ１，Ｋｓ２について有効期間を設定し、実施形態２で説明した技術と同様にして共通鍵Ｋｓ１，Ｋｓ２の有効期間を管理すれば、再送攻撃ないし再生攻撃による鍵共有が防止される。
【０１０２】
共通鍵Ｋｓ１，Ｋｓ２に有効期間Ｔを設定する動作例を図６に示す。図示例は、図５に示した動作と多くの共通点を有しているが、共通鍵Ｋｓ１，Ｋｓ２に有効期間Ｔを定めている点と、第１のノード１０および第２のノード２０を識別する情報として、識別情報ＩＤ１，ＩＤ２のほかに、製品番号を用いる点とが相違する。以下では、第１のノード１０の製品番号をＰＮ１とし、第２のノード２０の製品番号をＰＮ２とする。第２のノード２０を識別する情報として製品番号ＰＮ２を用いているのは、第２のノード２０を識別する情報として利用者が容易に入力できるからである。
【０１０３】
以下では、主として図５に示した動作との相違点について説明する。上述した動作と同様に、第２のノード２０は、管理装置４０の秘密鍵Ｋ４を用いて第２のノード２０の識別情報ＩＤ２から算出したハッシュ値Ｈ４＝Ｈ（Ｋ４；ＩＤ２）を暗号鍵Ｋｘとして保管している。また、第２のノード２０は、暗号鍵Ｋｘを用いて管理装置４０の識別情報ＩＤ４および第２のノード２０の識別情報ＩＤ２から算出したハッシュ値Ｈ５＝Ｈ（Ｋｘ；ＩＤ４｜ＩＤ２）も保管している。さらに、第２のノード２０に接続された操作器を用いて、第２のノード２０に製造番号ＰＮ２が入力される。
【０１０４】
第２のノード２０は、第１のノード１０から識別情報ＩＤ１を受け取ると（Ｐ４１）、管理装置４０との間で通信を行うことにより、管理装置４０との間で用いる共通鍵Ｋｓ２を設定する。共通鍵Ｋｓ２の設定のために、第２のノード２０は、第１のノード１０の識別情報ＩＤ１と第２のノードの識別情報ＩＤ２と、乱数発生器２５が生成した乱数ｒ２１と、ハッシュ値Ｈ５とを含むメッセージを管理装置４０に送信する（Ｐ４２）。このメッセージは、暗号鍵Ｋｘを用いて製品番号ＰＮ２を暗号化した情報Ｅ（Ｋｘ；ＰＮ２）も含む。
【０１０５】
管理装置４０は、ハッシュ値Ｈ５を用いてメッセージを認証し、メッセージの内容と管理装置４０が保管している情報とを用いて共通鍵Ｋｓ２を設定する。共通鍵Ｋｓ２は、たとえばＫｓ２＝Ｈ（Ｋｘ；Ｈ（Ｋｘ；ｒ２１｜ｒ４））とする。ここで、図５に示した動作例は、管理装置４０から管理装置３０に対して、識別情報ＩＤ１，ＩＤ２を送信しているが、図６に示す動作例は、識別情報ＩＤ１，ＩＤ２に加えて製品番号ＰＮ２を送信している（Ｐ４３）。また、管理装置４０は、乱数発生器４５が生成した乱数ｒ４を含むメッセージを第２のノード２０に送信する（Ｐ４４）。このメッセージを認証するためのハッシュ値は、管理装置４０の秘密鍵Ｋ４を用いて第２のノード２０の識別情報ＩＤ２から算出したハッシュ値Ｈ４を暗号鍵Ｋｘとし、この暗号鍵Ｋｘを用いて、乱数ｒ２１および乱数ｒ４から算出される。つまり、乱数ｒ４に付加されるメッセージ認証用のハッシュ値は、たとえば、Ｈ（Ｋｘ；ｒ２｜ｒ４）になる。
【０１０６】
図６に示す動作例では、第２のノード２０は、管理装置４０からメッセージ認証用に受け取ったハッシュ値から暗号鍵Ｋｘを用いて算出したハッシュ値を、管理装置４０との間の通信に用いる共通鍵Ｋｓ２とする。つまり、共通鍵Ｋｓ２は、たとえばＫｓ２＝Ｈ（Ｋｘ；Ｈ（Ｋｘ；ｒ２１｜ｒ４））になる。このようにして、第２のノード２０が共通鍵Ｋｓ２を生成することにより、管理装置４０と同じ共通鍵Ｋｓ２が第２のノード２０に設定され、第２のノード２０と管理装置４０との以後の通信を、共通鍵Ｋｓ２により暗号化することが可能になる。
【０１０７】
ところで、管理装置４０から管理装置３０に対して送信された製品番号ＰＮ２は、管理装置３０において、管理装置３０が管理している第１のノード１０の製品番号ＰＮ１との関係が確認される。管理装置３０は、製品番号ＰＮ１，ＰＮ２が規定の関係であれば、第１のハッシュ値Ｈ１を含むメッセージと、第２のハッシュ値Ｈ２を含むメッセージとを管理装置４０に送信する（Ｐ４５）。管理装置３０から管理装置４０へのメッセージは、図５に示した動作と同じである。
【０１０８】
ここで、管理装置４０は、第１のノード１０と第２のノード２０とが用いる共通鍵Ｋｓ１の有効期間Ｔを定め、有効期間Ｔを含むメッセージを共通鍵Ｋｓ２で暗号化して第２のノード２０に送信する（Ｐ４６）。管理装置４０から第２のノード２０には、たとえば、Ｅ（Ｋｓ２；ＩＤ２，Ｔ，Ｈ（Ｋ１；Ｔ｜ＩＤ２｜ＩＤ１），Ｈ（Ｋ１；Ｔ｜ＩＤ２））という情報が送信される。
【０１０９】
図５に示した動作例は、第２のノード２０が共通鍵Ｋｓ２を生成した後に、第２のノード２０から管理装置４０に対して、乱数ｒ２２を送信することにより、第２のノード２０が管理装置４０からの応答を確認している。これに対して、図６に示す動作例は、乱数ｒ２２を省略して、管理装置４０が管理装置３０から第１のハッシュ値Ｈ１および第２のハッシュ値Ｈ２を受け取ったことを契機として、管理装置４０から第２のノード２０に上述した情報を送信している。
【０１１０】
以後の処理は、実施形態１において図３に示した処理と同様であって、第２のノード２０は、管理装置４０から受け取った情報を復号することにより、２個のハッシュ値Ｈ（Ｋ１；Ｔ｜ＩＤ２｜ＩＤ１），Ｈ（Ｋ１；Ｔ｜ＩＤ２）を受け取る。一方のハッシュ値Ｈ（Ｋ１；Ｔ｜ＩＤ２）は、第２のノード２０の秘密鍵Ｋ２として保管され、他方のハッシュ値Ｈ（Ｋ１；Ｔ｜ＩＤ２｜ＩＤ１）は、第２のノード２０の識別情報ＩＤ２、有効期間Ｔ、乱数ｒ２と併せて第１のノード１０に送信される（Ｐ４７）。第２のノード２０から第１のノード１０へのメッセージは、たとえば、（ＩＤ２，Ｔ，ｒ２，Ｈ（Ｋ１；Ｔ｜ＩＤ１｜ＩＤ２））のようになる。
【０１１１】
第１のノード１０は、保有している情報と第２のノード２０から受け取った情報とを用いて共通鍵Ｋｓ１を生成する。さらに、第１のノード１０は、乱数ｒ１を生成し、この乱数ｒ１にメッセージ認証用のハッシュ値を付加して第２のノード２０に送信する（Ｐ４８）。第２のノード２０は、第１のノード１０から乱数ｒ１を受け取ることにより、共通鍵Ｋｓ１を生成する。第１のノード１０から第２のノード２０へのメッセージは、たとえば、（ｒ１，Ｈ（Ｋ２；Ｔ｜ｒ２｜ｒ１））などになる。
【０１１２】
上述した例の場合、第１のノード１０と第２のノード２０とに設定される共通鍵Ｋｓ１は、たとえば、Ｋｓ１＝（Ｋ２，Ｈ（Ｋ２；Ｔ｜ｒ２｜ｒ１））という形式で表される。ここでは、Ｋ２＝Ｈ（Ｋ１；Ｔ｜ＩＤ２）としている。
【０１１３】
図６に示すように２台の管理装置３０，４０を用いる場合であっても、第１のノード１０と第２のノード２０との間の通信に用いる共通鍵Ｋｓ１に有効期間Ｔを設定することが可能である。第１のノード１０と第２のノード２０との間の通信に際し、共通鍵Ｋｓ１の有効期間Ｔを超えると、この共通鍵Ｋｓ１は無効化される。他の構成および動作は実施形態１、実施形態２と同様であるから説明を省略する。
【０１１４】
上述した各実施形態は、第１のノード１０が計測装置と併せていわゆるスマートメータを構成し、第２のノード２０がいわゆるＨＥＭＳに対応している場合を想定している。したがって、需要家が使用する機器が通信機能を備えている場合、第２のノード２０と機器とにより通信ネットワークが構築され、この通信ネットワークのゲートウェイとして第２のノード２０が用いられる。ただし、第２のノード２０がゲートウェイとなるＨＥＭＳであることは一例であって、需要家において使用される機器ごとに第２のノード２０が付設される場合でも上述した技術は適用可能である。
【０１１５】
また、上述した各実施形態は、管理装置３０が第１のノード１０の管理主体により運営され、管理装置４０が第２のノード２０の管理主体により運営されている場合を想定しているが、管理装置４０は、需要家に設置されていてもよい。このような通信ネットワークは、たとえば、管理装置４０が無線ＬＡＮのアクセスポイント、第１のノード１０がＨＥＭＳ、第２のノード２０が機器となる無線ＬＡＮなどに該当する。
【０１１６】
なお、上述した各実施形態は、第１のノード１０が計測装置と併せて電力メータを構成し、第２のノード２０がＨＥＭＳあるいは需要家で使用する機器に付設されている場合を例として説明したが、実施形態において説明した技術の用途は説明した内容に限定されない。
【符号の説明】
【０１１７】
１０  第１のノード
１７  （第１の）共通鍵生成部
２０  第２のノード
２７  （第２の）共通鍵生成部
３０  管理装置
３２  鍵保管部
３３  照合部
３４  チケット発行部
４０  管理装置
【図１】
0006050950.tif 000002
【図２】
0006050950.tif 000003
【図３】
0006050950.tif 000004
【図４】
0006050950.tif 000005
【図５】
0006050950.tif 000006
【図６】
0006050950.tif 000007