(57)【要約】【課題】計算機資源の乏しい機器においても、安全な暗号化通信を行うことができる鍵管理システム及び鍵管理方法並びに鍵管理プログラムを提供する。【解決手段】暗号化通信を行うコントローラ機器２とホームネットワーク１００を介して接続されたターゲット機器１Ａ〜１Ｃは、暗号化通信に使用する鍵の生成に必要な鍵生成情報の要求を受信すると、予め鍵生成情報を記憶する記憶手段より鍵生成情報を読み出し、鍵を生成する。また、鍵生成情報をコントローラ機器２に対して送信する。コントローラ機器２は鍵生成情報を受信すると、インターネット２００を介してコントローラ機器２と接続された鍵管理サーバ３に対して鍵生成情報を送信する。鍵管理サーバ３は鍵生成情報を受信すると、鍵生成情報に基づいて鍵を生成し、コントローラ機器２に対して送信する。コントローラ機器２は鍵を受信すると、この鍵を用いてターゲット機器１Ａ〜１Ｃと暗号化通信を行う。【選択図】　図１
2004080512.tif 000002
【特許請求の範囲】
【請求項１】
暗号化通信を行うターゲット機器と、前記ターゲット機器と鍵を用いて暗号化通信を行うコントローラ機器と、前記鍵を生成するための鍵生成情報を管理する鍵管理サーバとをネットワークを介して接続して構成される鍵管理システムであって、
前記ターゲット機器は、前記鍵の生成に必要な鍵生成情報を記憶する第１の記憶手段と、前記鍵生成情報に基づいて前記鍵を生成する第１の鍵生成手段と、前記コントローラ機器より鍵生成情報の要求を受けて、該鍵生成情報を前記コントローラ機器へ送信する第１の送信手段と、前記第１の鍵生成手段によって生成した鍵を用いて前記コントローラ機器と通信を行う第１の通信手段とを具備し、
前記コントローラ機器は、前記ターゲット機器に対して鍵生成情報の要求を行う第２の送信手段と、前記鍵生成情報を受信すると、前記鍵管理サーバに対して前記鍵の生成を要求し、該鍵生成情報を送信する第３の送信手段と、前記鍵管理サーバより前記鍵を受信すると、該受信した鍵を用いて前記ターゲット機器と通信を行う第２の通信手段とを具備し、
前記鍵管理サーバは、前記コントローラ機器から鍵生成情報を受信すると、該鍵生成情報に基づいて前記鍵を生成する第２の鍵生成手段と、該第２の鍵生成手段によって生成した鍵を前記コントローラ機器に対して送信する第４の送信手段とを具備する
ことを特徴とする鍵管理システム。
【請求項２】
前記鍵生成情報は、前記ターゲット機器が使用する鍵生成アルゴリズムと、該鍵生成アルゴリズムにより生成される鍵の長さに関する情報とを含む
ことを特徴とする請求項１に記載の鍵管理システム。
【請求項３】
前記鍵生成情報は、さらに、前記ターゲット機器に規定されたＩＤ番号に関する情報を含む
ことを特徴とする請求項２に記載の鍵管理システム。
【請求項４】
前記鍵生成情報は、さらに、テンポラリ情報を含む
ことを特徴とする請求項２または請求項３に記載の鍵管理システム。
【請求項５】
前記ターゲット機器は、さらに、前記鍵管理サーバに接続するためのＵＲＬを記録する第３の記憶手段を具備する
ことを特徴とする請求項１に記載の鍵管理システム。
【請求項６】
前記第３の送信手段は、前記鍵生成情報を受信すると、
前記鍵管理サーバと認証を行った後、該鍵管理サーバに対して前記鍵の生成を要求し、該鍵生成情報を送信する
ことを特徴とする請求項１に記載の鍵管理システム。
【請求項７】
暗号化通信を行うコントローラ機器とネットワークを介して接続され、前記コントローラ機器と鍵を用いて暗号化通信を行うターゲット機器であって、
前記鍵の生成に必要な鍵生成情報を記憶する記憶手段と、
前記鍵生成情報に基づいて前記鍵を生成する鍵生成手段と、
前記コントローラ機器より鍵生成情報の要求を受けて、該鍵生成情報を送信する送信手段と、
前記鍵生成手段によって生成した鍵を用いて前記コントローラ機器と通信を行う通信手段と
を具備することを特徴とするターゲット機器。
【請求項８】
暗号化通信を行うターゲット機器と、前記ターゲット機器が暗号化通信において使用する鍵を生成するための鍵生成情報を管理する鍵管理サーバとにそれぞれ、ネットワークを介して接続され、前記ターゲット機器と暗号化通信を行うコントローラ機器であって、
前記ターゲット機器に対して鍵生成情報の要求を行う第１の送信手段と、
前記鍵生成情報を受信すると、前記鍵管理サーバに対して前記鍵の生成を要求し、該鍵生成情報を送信する第２の送信手段と、
前記鍵管理サーバより前記鍵を受信すると、該受信した鍵を用いて前記ターゲット機器と通信を行う通信手段と
を具備することを特徴とするコントローラ機器。
【請求項９】
暗号化通信を行うコントローラ機器とネットワークを介して接続され、前記コントローラ機器が暗号化通信に使用する鍵を生成するための鍵生成情報を管理する鍵管理サーバであって、
前記コントローラ機器より前記鍵生成情報を受信すると、該鍵情報に基づいて前記鍵を生成する鍵生成手段と、
該第２の鍵生成手段によって生成した鍵を前記コントローラ機器に対して送信する送信手段と
を具備することを特徴とする鍵管理サーバ
【請求項１０】
暗号化通信を行うコントローラ機器とネットワークを介して接続され、該コントローラ機器と暗号化通信を行うターゲット機器が、前記コントローラ機器より、前記暗号化通信に使用する鍵の生成に必要な鍵生成情報の要求を受けて、該鍵生成情報を記憶する記憶手段より該鍵生成情報を読み出し、
該鍵生成情報に基づいて前記鍵を生成するとともに、該鍵生成情報を前記コントローラ機器に対して送信し、
前記コントローラ機器が、前記鍵生成情報を受信すると、ネットワークを介してコントローラ機器と接続され前記鍵生成情報を管理する鍵管理サーバに対して該鍵生成情報を送信し、
前記鍵管理サーバが、該鍵生成情報を受信すると、該鍵生成情報に基づいて前記鍵を生成するとともに、該鍵を前記コントローラ機器に対して送信し、
前記コントローラ機器が、該鍵を受信すると、該鍵を用いて前記ターゲット機器と暗号化通信を行う
ことを特徴とする鍵管理方法。
【請求項１１】
暗号化通信を行うターゲット機器と、前記ターゲット機器と鍵を用いて暗号化通信を行うコントローラ機器と、前記鍵を生成するための鍵生成情報を管理する鍵管理サーバとをネットワークを介して接続して構成される鍵管理システムにおいて、
前記鍵の生成に必要な鍵生成情報を記憶する記憶処理と、
前記鍵生成情報に基づいて前記鍵を生成する鍵生成処理と、
前記コントローラ機器より鍵生成情報の要求を受けて、該鍵生成情報を送信する送信処理と、
前記鍵生成処理によって生成した鍵を用いて前記コントローラ機器と通信を行う通信処理と
をターゲット機器に実行させるための鍵管理プログラム。
【請求項１２】
暗号化通信を行うターゲット機器と、前記ターゲット機器と鍵を用いて暗号化通信を行うコントローラ機器と、前記鍵を生成するための鍵生成情報を管理する鍵管理サーバとをネットワークを介して接続して構成される鍵管理システムにおいて、
前記ターゲット機器に対して鍵生成情報の要求を送信する第１の送信処理と、
前記鍵生成情報を受信すると、前記鍵管理サーバに対して前記鍵の生成を要求し、該鍵生成情報を送信する第２の送信処理と、
前記鍵管理サーバより前記鍵を受信すると、該受信した鍵を用いて前記ターゲット機器と通信を行う通信処理と
をコントローラ機器に実行させるための鍵管理プログラム。
【請求項１３】
暗号化通信を行うターゲット機器と、前記ターゲット機器と鍵を用いて暗号化通信を行うコントローラ機器と、前記鍵を生成するための鍵生成情報を管理する鍵管理サーバとをネットワークを介して接続して構成される鍵管理システムにおいて、
前記コントローラ機器より前記鍵生成情報を受信すると、該鍵情報に基づいて前記鍵を生成する鍵生成処理と、
該鍵生成処理によって生成した鍵を前記コントローラ機器に対して送信する送信処理と
を鍵管理サーバに実行させるための鍵管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、暗号化通信を行うための鍵管理システム及び鍵管理方法並びに鍵管理プログラムに関する。
【０００２】
【従来の技術】
従来、ＩＰＳｅｃ（Ｓｅｃｕｒｉｔｙ　Ａｒｃｈｉｔｅｃｔｕｒｅ　ｆｏｒ　Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）の鍵交換プロトコルとして、ＩＫＥ（インターネット鍵交換）の利用が想定されている。ＩＫＥ等の鍵交換プロトコルは、暗号化技術を組み合わせて、ＩＰ層にセキュリティを提供している。また、ここで使用する暗号アルゴリズムは取替えや組み合わせが自由に行えるように設計されている。ＩＰＳｅｃは、それぞれのセキュリティ・プロトコルでどの暗号アルゴリズムを使うのか、セキュリティ・プロトコルや暗号化アルゴリズムで使う固有の情報を管理する。これらのパラメータはＳＡ（Ｓｅｃｕｒｉｔｙ　Ａｒｃｈｉｔｅｃｔｕｒｅ）と呼ばれ、論理的なコネクションを構成する一部となっている。ＳＡには、以下のパラメータがある。
・　通信する２点間の識別子
・　セキュリティ・プロトコルの種類
・　暗号アルゴリズムとその鍵
・　ＳＡの生存時間
このように、セキュリティ・プロトコルが使われたパケットを受信した場合、受信者はどのＳＡが使われていたのかを知る必要がある。
【０００３】
特開２００１−２９２１３５において、ＩＰＳｅｃ通信を行う際に、秘密鍵を共有する方式が提案されており、通信端末が起動時にＤＨＣＰプロトコルの中で、秘密鍵を共有することがポイントになっている。
【０００４】
特開２００１−１７７５１４において、安全に秘密鍵を共有する方式が提案されており、秘密鍵を共有するネットワークとして、ＩＳＤＮや公衆電話網等の秘匿性の高いネットワークで鍵交換をすることが提案されている。
【０００５】
特開２０００−３５８０２２において、暗号機能を持つ通信端末が事前に通信する相手毎の秘密鍵と対応づけられた識別子を記録媒体に格納し、識別子を特別なフレームで送受信することで鍵共有を行っている。
【０００６】
【発明が解決しようとする課題】
しかし、様々なベンダーから供給されることが予想される情報家電や組み込み機器等においては、予め通信相手が特定できないため相互接続に問題が生じる場合があり、このような環境下での実装には向かないという問題点がある。
また、ＩＫＥの鍵交換では、Ｄｉｆｆｉｅ　Ｈｅｌｍａｎの鍵交換アルゴリズムが採用されており、数百桁の素因数分解の計算を実行するので、多くの計算処理能力を必要とする。そのため、汎用ＰＣに比べて計算機資源の乏しい情報家電や組込み機器への実装には大きな課題となっている。
【０００７】
本発明は、このような事情を考慮してなされたものであり、その目的は、計算機資源の乏しい機器においても、安全な暗号化通信を行うことができる鍵管理システム及び鍵管理方法並びに鍵管理プログラムを提供することにある。
【０００８】
【課題を解決するための手段】
この発明は上記の課題を解決すべくなされたもので、請求項１に記載の発明は、暗号化通信を行うターゲット機器と、前記ターゲット機器と鍵を用いて暗号化通信を行うコントローラ機器と、前記鍵を生成するための鍵生成情報を管理する鍵管理サーバとをネットワークを介して接続して構成される鍵管理システムであって、前記ターゲット機器は、前記鍵の生成に必要な鍵生成情報を記憶する第１の記憶手段と、前記鍵生成情報に基づいて前記鍵を生成する第１の鍵生成手段と、前記コントローラ機器より鍵生成情報の要求を受けて、該鍵生成情報を前記コントローラ機器へ送信する第１の送信手段と、前記第１の鍵生成手段によって生成した鍵を用いて前記コントローラ機器と通信を行う第１の通信手段とを具備し、前記コントローラ機器は、前記ターゲット機器に対して鍵生成情報の要求を行う第２の送信手段と、前記鍵生成情報を受信すると、前記鍵管理サーバに対して前記鍵の生成を要求し、該鍵生成情報を送信する第３の送信手段と、前記鍵管理サーバより前記鍵を受信すると、該受信した鍵を用いて前記ターゲット機器と通信を行う第２の通信手段とを具備し、前記鍵管理サーバは、前記コントローラ機器から鍵生成情報を受信すると、該鍵生成情報に基づいて前記鍵を生成する第２の鍵生成手段と、該第２の鍵生成手段によって生成した鍵を前記コントローラ機器に対して送信する第４の送信手段とを具備することを特徴とする。
【０００９】
請求項２に記載の発明は、請求項１に記載の発明において、前記鍵生成情報は、前記ターゲット機器が使用する鍵生成アルゴリズムと、該鍵生成アルゴリズムにより生成される鍵の長さに関する情報とを含むことを特徴とする。
【００１０】
請求項３に記載の発明は、請求項２に記載の発明において、前記鍵生成情報は、さらに、前記ターゲット機器に規定されたＩＤ番号に関する情報を含むことを特徴とする。
【００１１】
請求項４に記載の発明は、請求項２または請求項３に記載の発明において、前記鍵生成情報は、さらに、テンポラリ情報を含むことを特徴とする。
【００１２】
請求項５に記載の発明は、請求項１に記載の発明において、前記ターゲット機器は、さらに、前記鍵管理サーバに接続するためのＵＲＬを記録する第３の記憶手段を具備する
ことを特徴とする。
【００１３】
請求項６に記載の発明は、請求項１に記載の発明において、前記第３の送信手段は、前記鍵生成情報を受信すると、前記鍵管理サーバと認証を行った後、該鍵管理サーバに対して前記鍵の生成を要求し、該鍵生成情報を送信することを特徴とする。
【００１４】
請求項７に記載の発明は、暗号化通信を行うコントローラ機器とネットワークを介して接続され、前記コントローラ機器と鍵を用いて暗号化通信を行うターゲット機器であって、前記鍵の生成に必要な鍵生成情報を記憶する記憶手段と、前記鍵生成情報に基づいて前記鍵を生成する鍵生成手段と、前記コントローラ機器より鍵生成情報の要求を受けて、該鍵生成情報を送信する送信手段と、前記鍵生成手段によって生成した鍵を用いて前記コントローラ機器と通信を行う通信手段とを具備することを特徴とする。
【００１５】
請求項８に記載の発明は、暗号化通信を行うターゲット機器と、前記ターゲット機器が暗号化通信において使用する鍵を生成するための鍵生成情報を管理する鍵管理サーバとにそれぞれ、ネットワークを介して接続され、前記ターゲット機器と暗号化通信を行うコントローラ機器であって、前記ターゲット機器に対して鍵生成情報の要求を行う第１の送信手段と、前記鍵生成情報を受信すると、前記鍵管理サーバに対して前記鍵の生成を要求し、該鍵生成情報を送信する第２の送信手段と、前記鍵管理サーバより前記鍵を受信すると、該受信した鍵を用いて前記ターゲット機器と通信を行う通信手段とを具備することを特徴とする。
【００１６】
請求項９に記載の発明は、暗号化通信を行うコントローラ機器とネットワークを介して接続され、前記コントローラ機器が暗号化通信に使用する鍵を生成するための鍵生成情報を管理する鍵管理サーバであって、前記コントローラ機器より前記鍵生成情報を受信すると、該鍵情報に基づいて前記鍵を生成する鍵生成手段と、該第２の鍵生成手段によって生成した鍵を前記コントローラ機器に対して送信する送信手段とを具備することを特徴とする。
【００１７】
請求項１０に記載の発明は、暗号化通信を行うコントローラ機器とネットワークを介して接続され、該コントローラ機器と暗号化通信を行うターゲット機器が、前記コントローラ機器より、前記暗号化通信に使用する鍵の生成に必要な鍵生成情報の要求を受けて、該鍵生成情報を記憶する記憶手段より該鍵生成情報を読み出し、該鍵生成情報に基づいて前記鍵を生成するとともに、該鍵生成情報を前記コントローラ機器に対して送信し、前記コントローラ機器が、前記鍵生成情報を受信すると、ネットワークを介してコントローラ機器と接続され前記鍵生成情報を管理する鍵管理サーバに対して該鍵生成情報を送信し、前記鍵管理サーバが、該鍵生成情報を受信すると、該鍵生成情報に基づいて前記鍵を生成するとともに、該鍵を前記コントローラ機器に対して送信し、前記コントローラ機器が、該鍵を受信すると、該鍵を用いて前記ターゲット機器と暗号化通信を行うことを特徴とする。
【００１８】
請求項１１に記載の発明は、暗号化通信を行うターゲット機器と、前記ターゲット機器と鍵を用いて暗号化通信を行うコントローラ機器と、前記鍵を生成するための鍵生成情報を管理する鍵管理サーバとをネットワークを介して接続して構成される鍵管理システムにおいて、前記鍵の生成に必要な鍵生成情報を記憶する記憶処理と、前記鍵生成情報に基づいて前記鍵を生成する鍵生成処理と、前記コントローラ機器より鍵生成情報の要求を受けて、該鍵生成情報を送信する送信処理と、前記鍵生成処理によって生成した鍵を用いて前記コントローラ機器と通信を行う通信処理とをターゲット機器に実行させるための鍵管理プログラムである。
【００１９】
請求項１２に記載の発明は、暗号化通信を行うターゲット機器と、前記ターゲット機器と鍵を用いて暗号化通信を行うコントローラ機器と、前記鍵を生成するための鍵生成情報を管理する鍵管理サーバとをネットワークを介して接続して構成される鍵管理システムにおいて、前記ターゲット機器に対して鍵生成情報の要求を送信する第１の送信処理と、前記鍵生成情報を受信すると、前記鍵管理サーバに対して前記鍵の生成を要求し、該鍵生成情報を送信する第２の送信処理と、前記鍵管理サーバより前記鍵を受信すると、該受信した鍵を用いて前記ターゲット機器と通信を行う通信処理とをコントローラ機器に実行させるための鍵管理プログラムである。
【００２０】
請求項１３に記載の発明は、暗号化通信を行うターゲット機器と、前記ターゲット機器と鍵を用いて暗号化通信を行うコントローラ機器と、前記鍵を生成するための鍵生成情報を管理する鍵管理サーバとをネットワークを介して接続して構成される鍵管理システムにおいて、前記コントローラ機器より前記鍵生成情報を受信すると、該鍵情報に基づいて前記鍵を生成する鍵生成処理と、該鍵生成処理によって生成した鍵を前記コントローラ機器に対して送信する送信処理とを鍵管理サーバに実行させるための鍵管理プログラムである。
【００２１】
従って、上述の発明によれば、計算機資源の乏しい機器においても、安全な暗号化通信を行うことができる効果を得ることができる。
【００２２】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態における鍵管理システムについて説明する。図１は、本実施形態における鍵管理システムの全体構成図である。本実施形態の鍵管理システムは、複数のターゲット機器１Ａ〜１Ｃ、コントローラ機器２をＬＡＮ等に接続して構成されるホームネットワーク１００と、インターネット２００を介してホームネットワーク１００と接続される鍵管理サーバ３とから構成される。
【００２３】
図２にターゲット機器１Ａ〜１Ｃ及びコントローラ機器２の機能ブロック図を示す。ターゲット機器１Ａ〜１Ｃは、コントローラ機器２から制御される側の機器であり、テンポラリ情報生成処理部１１、記憶部１２、鍵生成処理部１・１３、拡張ＩＰｖ６ヘッダ構成処理部１４、ＩＰＳｅｃ処理部１５、送受信処理部１６から構成される。
テンポラリ情報生成処理部１１は、リアルタイムタイマ等のテンポラリ情報を生成し、鍵生成処理部１・１３へ出力する。
記憶部１２は、シリアル番号等、全ターゲット機器の中から１のターゲット機器を識別可能とする識別子を記憶している。また、この識別子と対応付けられた秘密鍵の元となる固定のバイト列・ビット列（Ｓｅｅｄ情報）を記憶している。また、鍵管理サーバ３の通信エンドポイントを示すＵＲＬを記憶している。
鍵生成処理部１・１３は、上述のＳｅｅｄ情報及びテンポラリ情報を元に秘密鍵を計算する秘密鍵生成機能を持つ。なお、この秘密鍵生成機能は、後述する鍵管理サーバ３の鍵生成処理部１・５４〜３・５６における秘密鍵計算処理と同一の処理を行う。
【００２４】
拡張ＩＰｖ６ヘッダ構成処理部１４は、コントローラ機器２との間で送受信する情報をＩＰｖ６拡張ヘッダにセットする。上述の鍵共有プロトコルのＩＰｖ６の拡張ヘッダの構成を図４に示す。この鍵共有プロトコルを識別するために特定の番号が割り当てられ、ＩＰｖ６ヘッダの次のヘッダフィールド（Ｎｅｘｔ　Ｈｅａｄｅｒ）には、その値がセットされる。Ｃｏｍｍａｎｄフィールドには、ターゲット機器１Ａ〜１Ｃとコントローラ機器との間の鍵情報交換のために使用されるリクエストパケットとレスポンスパケットを識別するための識別用数値が割り当てられる。例えば、リクエストパケットであれば、Ｃｏｍｍａｎｄ＝１、レスポンスパケットであれば、Ｃｏｍｍａｎｄ＝２とする、
Ｎｅｘｔヘッダフィールドは、ＲＦＣ２４６０で規定されているＮｏ　Ｎｅｘｔ　Ｈｅａｄｅｒ（５９）が入力される。
Ｓｅｓｓｉｏｎ　Ｉｄｅｎｔｉｆｉｅｒは、リクエストパケットまたは、レスポンスパケットを対応付けるためのＩＤが入力される。
Ｌｅｎｇｔｈフィールドには、ＲＦＣ２４６０で規定されている他の拡張ヘッダと同様に、８オクテット単位の数値が入力される。
終点ヘッダ、中継ヘッダと同様に拡張ヘッダで指定する各種パラメータは、ＴＬＶ（Ｔｙｐｅ／Ｌｅｎｇｔｈ／Ｖａｌｕｅ）形式で指定する。
【００２５】
Ｏｐｔｉｏｎ　Ｖａｌｕｅでは以下のパラメータを複数個指定可能で、パラメータ毎にＯｐｔｉｏｎのＴｙｐｅフィールドの値を決めておく。
・　　　　　　　　　　　　　　　　ターゲット機器の識別子
・　　　　　　　　　　　　　　　　暗号アルゴリズム（アルゴリズムと対応する値を予め規定）
・　　　　　　　　　　　　　　　　暗号化用秘密鍵の鍵長
・　　　　　　　　　　　　　　　　ハッシュアルゴリズム（アルゴリズムと対応する値を予め規定）
・　　　　　　　　　　　　　　　　ハッシュ用秘密鍵の鍵長
・　　　　　　　　　　　　　　　　ＩＰＳｅｃの動作モード（ＥＳＰトランスポート／ＥＳＰトンネル）
・　　　　　　　　　　　　　　　　秘密鍵生成のためのテンポラリ情報
・　　　　　　　　　　　　　　　　ＳＡの有効期限（Ｌｉｆｅ　Ｔｉｍｅ）
・　　　　　　　　　　　　　　　　鍵管理サーバ（ＫＤＣ　Ｓｅｒｖｅｒ）のＵＲＬ
【００２６】
各パラメータにおいて、ＴＬＶが８×ｎバイトとなるように、また拡張ヘッダ全体で８×ｎバイトとなるように１バイト用のパディング、２バイト以上のパディングを利用する。
なお、ＩＰｖ４の場合は、ＩＰオプションとして上述の拡張ヘッダを利用する。
【００２７】
ＩＰＳｅｃ処理部１５は、上述のレスポンスパケットで指定されたモードによって、コントローラ機器２とＩＰＳｅｃによる暗号化通信を行う。
送受信処理部１６は、ＬＡＮ等でホームネットワーク１００に接続するインタフェースであり、コントローラ機器２とのパケット通信を行う。
【００２８】
上述したように、ターゲット機器１Ａ〜１Ｃは、ＩＰＳｅｃによる暗号化通信機能を備えているが、ＩＫＥによる鍵交換機能を持たない。このため、ターゲット機器１Ａ〜１Ｃは鍵交換機能の代わりに鍵共有機能を備える。
【００２９】
コントローラ機器２は、ターゲット機器１Ａ〜１Ｃを制御する側の機器であり、ターゲット機器１Ａ〜１Ｃとの暗号化通信要求を送信する。またコントローラ機器２は、図２に示すように、ユーザインタフェース処理部３１、拡張ＩＰｖ６ヘッダ構成処理部３２、共有鍵情報送受信部３３、暗号化・認証通信処理部３４、記憶部３５、ＩＰＳｅｃ処理部３６、送受信処理部３７から構成される。
ユーザインタフェース処理部３１は、ユーザが鍵管理サーバ３との認証ために入力する認証情報を処理する。すなわち、パスワード認証であれば、ＩＤ＋パスワードが入力される。また、証明書認証であれば証明書アクセスのためのＰＩＮが入力される。
拡張ＩＰｖ６ヘッダ構成処理部３２は、上述の拡張ＩＰｖ６ヘッダ構成処理部１４と同様に、ターゲット機器１Ａ〜１Ｃとの間で送受信する情報をＩＰｖ６拡張ヘッダにセットする。
【００３０】
共有鍵情報送受信部３３は、ＩＰパケットの拡張ヘッダフィールドを利用して鍵共有情報をターゲット機器１Ａ〜１Ｃ及び鍵管理サーバ３との間で送受信する。
暗号化・認証通信処理部３４は、鍵管理サーバ３と安全に通信するための通信処理を行う。すなわち、ＳＳＬ（Ｓｅｃｕｒｅ　Ｓｏｋｅｔ　Ｌａｙｅｒ）によるサーバ認証であれば、ＩＤ＋パスワードにより認証を行う。また、ＳＳＬによるクライアント認証であればデジタル証明書を用いて認証を行い、ＩＫＥによる認証の場合は、Ｐｒｅ−Ｓｈａｒｅｄ、デジタル署名を使って認証を行う。
記憶部３５は、上述の認証処理に必要な証明書等を記憶している。すなわち、例えば図２に示すように、ＳＳＬによるクライアント認証で使用されるデジタル証明書４１を記憶している。
【００３１】
ＩＰＳｅｃ処理部３６は、上述のＩＰＳｅｃ処理部１５と同様に、レスポンスパケットで指定されたモードによって、ターゲット機器１Ａ〜１ＣとＩＰＳｅｃによる暗号化通信を行う。
送受信処理部３７は、上述の送受信処理部１６と同様に、ＬＡＮ等でホームネットワーク１００及びインターネット２００に接続するインタフェースであり、ターゲット機器１Ａ〜１Ｃ及び鍵管理サーバ３とのパケット通信を行う。
【００３２】
図３に鍵管理サーバ３の機能ブロック図を示す。鍵管理サーバ３は、インターネット２００を介してコントローラ機器２と接続され、上述の鍵共有に関する情報をコントローラ機器２から受けて処理するサーバでであり、暗号化・認証通信処理部５１、ユーザ認証処理部５２、共有鍵情報送受信部５３、鍵生成処理部１・５４〜３・５６、送受信処理部５７から構成される。また、鍵管理サーバ３は、ユーザ認証に関する情報を記憶したユーザ認証ＤＢ・６０及び秘密鍵生成に関する鍵生成情報を記憶した鍵生成情報ＤＢ・７０と接続される。
暗号化・認証通信処理部５１は、上述の暗号化・認証通信処理部３４と同様にコントローラ機器２と安全に通信するための通信処理を行う。
ユーザ認証処理部５２は、上述のユーザ認証ＤＢ・６０に記憶されたサーバ認証に用いるＩＤ＋パスワード、クライアント認証に用いるデジタル証明書（鍵管理サーバ３の証明書、ＣＡ（公証機関）、証明書廃棄リスト）を用いて、コントローラ機器２の認証を行う。
共有鍵情報送受信部５３は、上述の共有鍵情報送受信部３３と同様に、ＩＰパケットの拡張ヘッダフィールドを利用して鍵共有情報を鍵管理サーバ３との間で送受信する。
【００３３】
鍵生成処理部１・５４〜３・５６は、上述の鍵生成処理部１・１３と同様に、鍵生成情報ＤＢ・７０に記憶されたターゲット機器１Ａ〜１Ｃのシリアル番号、Ｓｅｅｄ情報、鍵生成処理部のＩＤ番号及びコントローラ機器２を経由して受信した一時的に利用可能なビット列、バイト列であるテンポラリ情報等を用いて、ターゲット機器１Ａ〜１Ｃとコントローラ機器２の間でＩＰＳｅｃによる暗号化通信をするための秘密鍵を計算する。すなわち、例えば、ＭＤ５やＳＨＡ−１等の暗号アルゴリズムにより秘密鍵生成計算を行う。
送受信処理部５７は、上述の送受信処理部３７と同様に、インターネット２００に接続するインタフェースであり、鍵管理サーバ３とのパケット通信を行う。ユーザ認証ＤＢ・６０は、コントローラ機器２、あるいはコントローラ機器２のユーザを認証するためのＩＤやパスワード、デジタル証明書を記憶している。鍵生成情報ＤＢ・７０は、ターゲット機器１Ａ〜１Ｃの識別子をインデックスとして、識別子と対応付けられた秘密鍵の元となる固定バイト列・ビット列（Ｓｅｅｄ情報）、を記憶している。
【００３４】
以下、図面を参照して本実施形態の鍵管理システムにおける鍵管理及び鍵共有処理に関する具体的な処理動作について説明する。図５は、ターゲット機器１Ａ〜１Ｃとコントローラ機器２との間でＩＰＳｅｃによる暗号化通信が確立されるまでの処理の流れを示すフローチャートである。なお、本実施形態のターゲット機器１Ａ〜１Ｃはすべて同様の処理動作を行うため、以下ターゲット機器１Ａの動作について説明する。
【００３５】
コントローラ機器２は、ターゲット機器１Ａに対して、識別子及びテンポラリ情報を要求するため、ＩＰｖ６拡張ヘッダをセットし、リクエストパケットを送信する（図５のステップＳ１）。
図６にこのときセットされる鍵共有プロトコルのリクエストパケットのデータ構造を表すデータ構成図を示す。Ｓｒｃ　ＩＰ　Ａｄｄｒｅｓｓフィールドには、送信元であるコントローラ機器２のＩＰアドレスが、Ｄｓｔ　ＩＰ　Ａｄｄｒｅｓｓフィールドには、送信先であるターゲット機器１ＡのＩＰアドレスが書き込まれる。
【００３６】
このとき例えば、リクエストパケットのＯｐｔｉｏｎ　Ｔｙｐｅで利用を希望する暗号アルゴリズム及びその鍵長／ハッシュアルゴリズム及びその鍵長を指定してもよい。また特殊なオプションタイプとして、例えば、ＩＰＳｅｃの転送モード／暗号アルゴリズム及びその鍵長／ハッシュアルゴリズム及びその鍵長の組み合わせを予め定めておき、これを利用することで転送するパケットサイズを小さくすることも可能である。
なお、ターゲット機器が後述するレスポンスパケットで、リクエストパケットで指定された暗号アルゴリズム及びその鍵長／ハッシュアルゴリズム及びその鍵長パラメータ以外のパラメータを指定した場合、レスポンスパケットで指定されたパラメータが使用される。
【００３７】
ターゲット機器１Ａは、コントローラ機器２からリクエストバケットを受信すると（ステップＳ２）、受信したリクエストパケットを解析し、ＩＰｖ６ヘッダの次ヘッダフィールドから鍵共有プロトコルの番号を識別する。
次にターゲット機器１Ａは、自身がサポートしている暗号アルゴリズム、ハッシュアルゴリズムからＩＰＳｅｃ暗号化通信で使用するアルゴリズムを選択する（ステップＳ３）。
暗号アルゴリズム及びハッシュアルゴリズムが決定すると、次にターゲット機器１Ａは、テンポラリ情報生成処理部１１において、例えば、リアルタイマ機能から現在時刻をテンポラリ情報として取得し、テンポラリ情報と記憶部に記憶しているＳｅｅｄ情報を元にハッシュ関数を利用して暗号アルゴリズム用秘密鍵とハッシュアルゴリズム用秘密鍵を生成する（ステップＳ４）。このとき生成する秘密鍵の長さはＩＰＳｅｃ通信で利用するアルゴリズムによって決定される。
なお、上述の暗号化用秘密鍵とハッシュ用秘密鍵は、同一の鍵を利用してもよい。
【００３８】
このとき、受信したリクエストパケットのＯｐｔｉｏｎ　Ｔｙｐｅにコントローラ機器２が希望する暗号アルゴリズム及びその鍵長／ハッシュアルゴリズム及びその鍵長が指定されており、ターゲット機器１Ａが該当するアルゴリズムをサポートしている場合は、指定されたアルゴリズムを使用する。
一方、サポートしていない場合は、ＩＰＳｅｃで規定されている実装必須のアルゴリズム（ＤＥＳ、ＭＤ５）をパラメータにセットしてレスポンスパケットを作成する。
【００３９】
そして、ターゲット機器１Ａはコントローラ機器２と通信するためのＳＡ（Ｓｅｃｕｒｉｔｙ　Ａｓｓｏｃｉａｔｉｏｎ）データを作成しておき（ステップＳ５）、これを記憶部に記憶する。コントローラ機器２とのＩＰＳｅｃ通信の準備のためである。なお、ＳＡの通信相手のアドレス情報は、リクエストパケットの始点アドレスから取得する。
このとき、上述したようにＩＰＳｅｃの転送モード／暗号アルゴリズム及びその鍵長／ハッシュアルゴリズム及びその鍵長の組み合わせを予め定めておき、これを利用することで転送するパケットサイズを小さくすることも可能である。例えば、オプションタイプ＝１ならば、ＥＳＰのトランスポートモード／ＤＥＳ５６ｂｉｔ／ＭＤ５　１２８ｂｉｔのパラメータと解釈する。
【００４０】
ターゲット機器１Ａは、コントローラ機器２に対してレスポンスパケットを送信する（ステップＳ６）。レスポンスパケットは、ＩＰｖ６ヘッダとＩＰｖ６拡張ヘッダからなるパケットである。図７にこのときセットされる鍵共有プロトコルのレスポンスパケットのデータ構造を表すデータ構成図を示す。
拡張ヘッダには、図７に示すように以下の情報がＴＬＶ形式で格納される。
・　　　　　　　　　　　　　　　　ターゲット機器１Ａの識別番号
・　　　　　　　　　　　　　　　　暗号アルゴリズムの識別子と鍵長
・　　　　　　　　　　　　　　　　ハッシュアルゴリズムの識別子と鍵長
・　　　　　　　　　　　　　　　　ＩＰＳｅｃの動作モード
・　　　　　　　　　　　　　　　　ＥＳＰのトランスポートモード／ＥＳＰのトンネルモード
・　　　　　　　　　　　　　　　　ターゲット機器１Ａで生成したテンポラリ情報
・　　　　　　　　　　　　　　　　ＳＡの有効期限
・　　　　　　　　　　　　　　　　鍵管理サーバのＵＲＬ
【００４１】
コントローラ機器２は、レスポンスパケットを受信すると（ステップＳ７）、この受信したレスポンスパケットを解析し、拡張ヘッダに指定された情報を読み出す。
次にコントローラ機器２は、拡張ヘッダから取得した鍵管理サーバ３のＵＲＬ情報を元に鍵管理サーバ３と通信を開始し、ＳＳＬセッションを確立して認証を行う（ステップＳ８）。ＳＳＬによる認証は、コントローラ機器が予め記憶部に記憶された任所情報を鍵管理サーバ３に送信して行ってもよいし、認証のたびにコントローラ機器のユーザがパスワード入力を行ってもよい。
【００４２】
上述のＳＳＬ認証が完了すると、コントローラ機器２は、ＳＳＬセッション上でターゲット機器１Ａから受信したターゲット機器１Ａの識別番号とテンポラリ情報からなるターゲット機器情報を鍵管理サーバ３に送信する（ステップＳ９）。また、上述のレスポンスパケットに鍵長が指定されている場合は鍵長も鍵管理サーバ３に送信する。
鍵管理サーバ３は、ＳＳＬセッションで上述のターゲット機器情報を受信すると、受信したターゲット機器１Ａの識別番号から予め鍵生成情報ＤＢ・７０に記憶されたＳｅｅｄ情報を検索し（ステップＳ１１）、また指定されたアルゴリズムによって秘密鍵を計算するための鍵生成処理部１・５４〜３・５６を検索し、該当するターゲット機器１ＡのＳｅｅｄ情報を読み出す。そして、このＳｅｅｄ情報と上述のテンポラリ情報から暗号アルゴリズム用の秘密鍵及びハッシュアルゴリズム用の秘密鍵を生成する（ステップＳ１２）。そして、鍵管理サーバ３はＳＳＬセッション上で、生成した秘密鍵をコントローラ機器２に対して送信する（ステップＳ１３）。
【００４３】
コントローラ機器２は上述の秘密鍵を受信すると（ステップＳ１４）、受信した秘密鍵とレスポンスパケットの情報から、ターゲット機器１Ａとの間のＩＰＳｅｃ通信に必要なＳＡを生成する（ステップＳ１５）。
そして、コントローラ機器２は、ターゲット機器１Ａとレスポンスパケットで指定されたモードでＩＰＳｅｃによる暗号化通信を行う（ステップＳ１４）。
【００４４】
また、コントローラ機器２は、ＳＡの有効期限が近くなると、所定の時点でターゲット機器１Ａと継続してＩＰＳｅｃによる通信を行う場合は、上述のステップＳ１〜Ｓ１６までの処理フローに従って新しいＳＡを生成する。
【００４５】
以上説明したように、本実施形態の鍵管理システムによれば、ターゲット機器において、ＩＫＥのような複雑で処理の重い機能を実装する必要がなくなり、情報家電や組み込み機器等においても、十分に実装することができる効果が得られる。また、Ｓｅｅｄ情報やＵＲＬ情報を予めターゲット機器１Ａ〜１Ｃに記憶させておくため、ユーザによる設定作業等、鍵交換における運用上の負担を削減することができる効果が得られる。また鍵共有において、異なるベンダー同士で個々に規定された異なる交換モード間で通信を行う等の例外処理がなくなり、未登録のコントローラ機器２との間でもＩＰＳｅｃによる通信を行うことができる効果が得られる。また、鍵管理サーバのＵＲＬをターゲット機器１Ａ〜１Ｃに記憶させておくため、鍵管理サーバ３において、ターゲット機器１Ａ〜１Ｃの情報を一元管理できる効果が得られる。また、秘密鍵の生成処理においてテンポラリ情報を利用することにより、毎回異なる秘密鍵を生成することができ、これによりセキュリティを高めることができる効果が得られる。
コントローラ機器２においては、すべての暗号アルゴリズム、ハッシュアルゴリズムを実装する鍵管理サーバ３に秘密鍵の生成を分担させることで、すべてのターゲット機器１Ａ〜１ＣとＩＰＳｅｃ通信を行うことができる効果が得られる。また、通信するターゲット機器毎の秘密鍵生成に関する情報を設定する負担が削減できる効果が得られる。また、ターゲット機器１Ａ〜１Ｃ毎に異なる可能性のある秘密鍵生成処理機能をコントローラ機器２に実装する必要が無くなる効果が得られる。また、鍵管理サーバ３との通信時に認証を行うことで、機器間の認証を鍵管理サーバ３に集約できる効果が得られる。
また、拡張ヘッダの長さをオクテット単位とし、バイトアライメンとを統一することで、１６ｂｉｔ／３２ｂｉｔ／６４ｂｉｔのＣＰＵによるデータ操作を容易に実行できる効果が得られる。
【００４６】
【図面の簡単な説明】
【図１】本実施形態における鍵管理システムの全体構成図である。
【図２】ターゲット機器１Ａ〜１Ｃ及びコントローラ機器２の機能ブロック図である。
【図３】鍵管理サーバ３の機能ブロック図である。
【図４】鍵共有プロトコルのＩＰｖ６の拡張ヘッダの構成図である。
【図５】ターゲット機器１Ａ〜１Ｃとコントローラ機器２との間でＩＰＳｅｃによる暗号化通信が確立されるまでの処理の流れを示すフローチャートである。
【図６】鍵共有プロトコルのリクエストパケットのデータ構造を表すデータ構成図である。
【図７】鍵共有プロトコルのレスポンスパケットのデータ構造を表すデータ構成図である。
【符号の説明】
１Ａ〜１Ｃ…ターゲット機器
２…コントローラ機器
３…鍵管理サーバ
１００…ホームネットワーク
２００…インターネット
【図１】
2004080512.tif 000003
【図２】
2004080512.tif 000004
【図３】
2004080512.tif 000005
【図４】
2004080512.tif 000006
【図５】
2004080512.tif 000007
【図６】
2004080512.tif 000008
【図７】
2004080512.tif 000009