(57)【要約】【課題】  汎用的なセキュリティ通信のプロトコルとの互換性確保及びノードの負荷軽減を実現しつつ、セキュリティ性の低下を抑制する。【解決手段】  本発明は、ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムに関する。そして、本発明の通信システムでは、ノードが、第１の部分整数情報と１つ以上の第２の部分整数情報に分割する分割し、第１の部分整数情報を第１のデータ処理装置に送信し、第２の部分整数情報を第２のデータ処理装置に送信することにより、所定の巡回群の元及び所定の巡回群の元とに基づいた演算を依頼し、第１のデータ処理装置及び第２のデータ処理装置から返答された演算結果に基づいて、共通鍵情報を生成することを特徴とする。【選択図】      図１
2016039456.tif 000002
【特許請求の範囲】
【請求項１】
ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムであって、
上記ノードは、
整数情報を第１の部分整数情報と１つ以上の第２の部分整数情報に分割する分割手段と、
上記第１の部分整数情報を上記第１のデータ処理装置との間で事前に共有する事前鍵情報で暗号化して上記通信制御装置を経由して上記第１のデータ処理装置に送信することにより上記第１の部分整数情報に基づく演算処理を依頼する第１の演算依頼手段と、
それぞれの上記第２の部分整数情報をそれぞれ対応する上記第２のデータ処理装置との間で事前に共有する事前鍵情報でそれぞれ暗号化して上記通信制御装置を経由してそれぞれの上記第２のデータ処理装置に送信することにより上記第２の部分整数情報に基づく演算処理を依頼する第２の演算依頼手段とを有し、
上記第１のデータ処理装置は、
上記ノードから供給されたデータを上記ノードとの間で事前に共有する事前鍵情報で復号して得た上記第１の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第１の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化し、上記通信制御装置を介して上記ノードに送信する第１の元情報処理手段と、
上記第１の部分整数情報と、所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第２の元情報として保持する第２の元情報処理手段とを有し、
それぞれの上記第２のデータ処理装置は、
上記ノードから供給されたデータを上記ノードとの間で事前に共有する事前鍵情報で復号して得た上記第２の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第３の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化して、上記通信制御装置を介して上記ノードに送信する第３の元情報処理手段と、
上記第２の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算に基づいて計算した結果を、第４の元情報として保持し、上記第１のデータ処理装置に送信する第４の元情報処理手段とを有し
上記第１のデータ処理装置は、
各第４の元情報を受信して、各第４の元情報と上記第２の元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第５の元情報として保持し、上記第５の元情報と、上記暗号化した第１の元情報とを上記通信制御装置を介して上記ノードに送信する第５の元情報処理手段をさらに有し、
上記ノードは、
暗号化された上記第１の元情報と、暗号化された各上記第３の元情報とを受信して復号し、上記第１の元情報と各上記第３の元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第６の元情報として保持し、上記第６の元情報に所定の演算を施すことにより共通鍵情報を生成する共通鍵情報処理手段をさらに有し、
上記通信制御装置は、
上記ノードと他の装置との間の通信を仲介する通信制御手段を有する
ことを特徴とする通信システム。
【請求項２】
上記通信制御装置の上記通信制御手段は、
上記暗号化された第１の元情報と、各暗号化された第３の元情報を上記ノードに送信する際に、上記第５の元情報と、ディジタル署名生成パラメータ情報も含め、
上記ノードは、
上記第５の元情報と上記ディジタル署名生成パラメータ情報を受信し、所定の演算を実行することにより、ディジタル署名情報を生成し、上記ディジタル署名情報を上記通信制御装置に送信するディジタル署名情報処理手段をさらに有し、
上記通信制御装置の上記通信制御手段は、
上記ディジタル署名情報を受信して、上記ディジタル署名情報と上記第５の元情報とを上記サーバに送信する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
上記通信制御装置の上記通信制御手段は、
上記第５の元情報と上記ディジタル署名情報とをサーバに送信した後に、鍵確認情報生成パラメータを生成して上記ノードに送信する鍵確認情報生成パラメータ処理手段をさらに有し、
上記ノードは、上記鍵確認生成情報パラメータを受信して、上記鍵確認生成情報パラメータと、上記共通鍵情報とを用いて第１の鍵確認情報を生成して通信制御装置に送信するパラメータ送信手段をさらに有し、
上記通信制御装置の上記通信制御手段は、上記第１の鍵確認情報を受信して、上記サーバに送信し、
上記サーバは、上記第１の鍵確認情報を受信すると共に、第２の鍵確認情報を生成して上記通信制御装置に送信する第２の鍵確認情報処理手段をさらに有し、
上記通信制御装置の上記通信制御手段は、上記第２の鍵確認情報を受信すること
を特徴とする請求項２に記載の通信システム。
【請求項４】
上記ノードの上記ディジタル署名情報処理手段は、上記ディジタル署名情報を上記通信制御装置に送信するときに、上記共通鍵情報を合わせて、上記通信制御装置に送信し、
上記通信制御装置の上記通信制御手段は、上記ディジタル署名情報と共通鍵情報を受信し、上記第５の元情報と、上記ディジタル署名情報とを上記サーバに送信すると共に、鍵確認生成情報パラメータを生成して第１の鍵確認情報を生成して上記サーバに送信する鍵確認情報生成パラメータ処理手段をさらに有し、
上記サーバは、上記第１の鍵確認情報を受信すると共に、第２の鍵確認情報を生成して上記通信制御装置に送信する第２の鍵確認情報処理手段をさらに有すること
を特徴とする請求項２に記載の通信システム。
【請求項５】
上記ノードの事前鍵情報のコピーを記憶して、上記データ処理装置に事前鍵情報を配送する鍵配送サーバをさらに備え、
上記鍵配送サーバは、
事前鍵情報を更新すると共に、事前鍵情報更新命令を上記ノードに送信する鍵配送手段を有し、
上記ノードは
上記事前鍵情報更新命令を受信すると、上記鍵配送サーバが事前鍵情報を更新した方法と同じ方法で事前鍵情報を更新する鍵更新手段をさらに有する
ことを特徴とする請求項１〜４のいずれかに記載の通信システム。
【請求項６】
上記ノードは、
乱数を保持する乱数保持手段をさらに有し、
上記分割手段は、上記乱数保持手段が保持した乱数情報を整数情報として用いる
ことを特徴とする請求項１〜５のいずれかに記載の通信システム。
【請求項７】
上記サーバはＴＬＳサーバであり、上記ノードは上記サーバに接続するＴＬＳクライアントであり、当該通信制御装置は、ＴＬＳクライアントとして動作する上記ノードに代わって、上記サーバとＴＬＳハンドシェイクを代行するものであることを特徴とする請求項１〜６のいずれかに記載の通信システム。
【請求項８】
上記ノードは、上記ＴＬＳハンドシェイクが失敗した場合に、上記第１の演算依頼手段、もしくは第２の演算以来手段から依頼した演算をノードが検証する検証手段をさらに有することを特徴とする請求項７に記載の通信システム。
【請求項９】
ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムの通信方法であって、
上記ノードが、整数情報を第１の部分整数情報と１つ以上の第２の部分整数情報に分割する分割工程と、
上記ノードが、上記第１の部分整数情報を上記第１のデータ処理装置との間で事前に共有する事前鍵情報で暗号化して上記通信制御装置を経由して上記第１のデータ処理装置に送信することにより上記第１の部分整数情報に基づく演算処理を依頼する第１の演算依頼工程と、
上記ノードが、それぞれの上記第２の部分整数情報をそれぞれ対応する上記第２のデータ処理装置との間で事前に共有する事前鍵情報でそれぞれ暗号化して上記通信制御装置を経由してそれぞれの上記第２のデータ処理装置に送信することにより上記第２の部分整数情報に基づく演算処理を依頼する第２の演算依頼工程と、
上記第１のデータ処理装置が、上記ノードから供給されたデータを上記ノードとの間で事前に共有する事前鍵情報で復号して得た上記第１の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第１の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化し、上記通信制御装置を介して上記ノードに送信する第１の元情報処理工程と、
上記第１のデータ処理装置が、上記第１の部分整数情報と、所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第２の元情報として保持する第２の元情報処理工程と、
それぞれの上記第２のデータ処理装置が、受信した上記第２の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第３の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化して、上記通信制御装置を介して上記ノードに送信する第３の元情報処理工程と、
それぞれの上記第２のデータ処理装置が、上記第２の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算に基づいて計算した結果を、第４の元情報として保持し、上記第１のデータ処理装置に送信する第４の元情報処理工程と、
上記第１のデータ処理装置が、各第４の元情報を受信して、各第４の元情報と上記第２の元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第５の元情報として保持し、上記第５の元情報と、上記暗号化した第１の元情報とを上記通信制御装置を介して上記ノードに送信する第５の元情報処理工程と、
上記ノードが、暗号化された上記第１の元情報と、暗号化された各上記第３の元情報とを受信して復号し、上記第１の元情報と各上記第３の元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第６の元情報として保持し、上記第６の元情報に所定の演算を施すことにより共通鍵情報を生成する共通鍵情報処理手段と、
上記通信制御装置が、上記ノードと他の装置との間の通信を仲介する通信制御工程と
を含むことを特徴とする通信方法。
【請求項１０】
ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムを構成するノードであって、
整数情報を第１の部分整数情報と１つ以上の第２の部分整数情報に分割する分割手段と、
上記第１の部分整数情報を上記第１のデータ処理装置との間で事前に共有する事前鍵情報で暗号化し、上記通信制御装置を経由して上記第１のデータ処理装置に送信することにより上記第１の部分整数情報に基づく演算処理を依頼する第１の演算依頼手段と、
それぞれの上記第２の部分整数情報をそれぞれ対応する上記第２のデータ処理装置との間で事前に共有する事前鍵情報でそれぞれ暗号化し、上記通信制御装置を経由してそれぞれの上記第２のデータ処理装置に送信することにより上記第２の部分整数情報に基づく演算処理を依頼する第２の演算依頼手段と、
上記第１のデータ処理装置から、上記第１の演算依頼手段の依頼に基づいて返答されたデータを上記第１のデータ処理装置との間で事前に共有する事前鍵情報で復号して上記所定の巡回群に係る第１の元情報を取得し、さらに、それぞれの上記第２のデータ処理装置から、上記第２の演算依頼手段の依頼に基づいて返答されたデータを当該第２のデータ処理装置との間で事前に共有する事前鍵情報で復号して、所定の巡回群に係る第３の元情報を取得し、上記第１の元情報と各上記第３の元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第６の元情報として保持し、上記第６の元情報に所定の演算を施すことにより共通鍵情報を生成する共通鍵情報処理手段と
を有することを特徴とするノード。
【請求項１１】
上記第１の演算依頼手段もしくは上記第２の演算依頼手段によって依頼に基づいて返答されたデータを検証する検証手段をさらに有することを特徴とする請求項１０に記載のノード。
【請求項１２】
ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムを構成する第１のデータ処理装置であって、
上記ノードから供給されたデータを上記ノードとの間で事前に共有する事前鍵情報で復号して、整数情報から分割された第１の部分整数情報を保持し、上記第１の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第１の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化し、上記通信制御装置を介して上記ノードに送信する第１の元情報処理手段と、
上記第１の部分整数情報と、所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第２の元情報として保持する第２の元情報処理手段と、
それぞれの上記第２のデータ処理装置から、上記整数情報から分割された複数の第２の部分整数情報のうちの１つと、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行った結果得られた第４の元情報が供給されると、それぞれの上記第２のデータ処理装置から得た上記第４の元情報と、上記第２の元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第５の巡回群の元情報として保持し、上記第５の元情報と、上記暗号化した第１の元情報とを上記通信制御装置を介して上記ノードに送信する第５の元情報処理手段と
を有することを特徴とするデータ処理装置。
【請求項１３】
ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムを構成する第２のデータ処理装置であって、
整数情報から分割された第１の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行った結果得られた第２の元情報が、上記第１のデータ処理装置から供給されると、上記第２の元情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第３の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化して、上記通信制御装置を介して上記ノードに送信する第３の元情報処理手段と
上記ノードから供給されたデータを上記ノードとの間で事前に共有する事前鍵情報で復号して得た上記整数情報から分割された第２の部分整数情報と、所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算に基づいて計算した結果を、第４の元情報として保持し、上記第１のデータ処理装置に送信する第４の元情報処理手段と
を有することを特徴とするデータ処理装置。
【請求項１４】
ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムを構成する上記通信制御装置であって、
上記ノードと他の装置との間の通信を仲介する通信制御手段を有する
ことを特徴とする通信制御装置。
【請求項１５】
上記サーバはＴＬＳサーバであり、上記ノードは上記サーバに接続するＴＬＳクライアントであり、上記通信制御手段は、ＴＬＳクライアントとして動作する上記ノードに代わって、上記サーバとＴＬＳハンドシェイクを代行するものであり、
上記通信制御手段は、
上記ノードの上記ＴＬＳクライアントに係る公開鍵証明書情報を少なくとも記憶する記憶手段と、
上記サーバに送信するＴＬＳハンドシェイクメッセージを生成するＴＬＳハンドシェイクメッセージ生成手段と、
上記サーバと送受信したＴＬＳハンドシェイクメッセージから所定のパラメータ情報を抽出もしくは上記ＴＬＳハンドシェイクメッセージを元に所定のパラメータ情報を生成するパラメータ生成手段と、
上記ＴＬＳハンドシェイクメッセージ生成手段と、上記パラメータ生成手段を制御し、上記サーバと、上記第１のデータ処理装置と、上記第２のデータ処理装置との間で、所定の情報を送受信するＴＬＳハンドシェイク制御手段とを有する
ことを特徴とする請求項１４に記載の通信制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信方法、ノード、データ処理装置、及び通信制御装置に関し、例えば、証明書ベースのＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）を用いたセキュリティ通信に対応した通信システムに適用し得る。
【背景技術】
【０００２】
従来、エンド・エンドの安全な通信路を確保するプロトコルとして、証明書ベースのＴＬＳがＩＰ通信網において普及している。そして近年、無線センサ等のリソースの少ないノードがＩＰリーチャブル化する動きが加速しており、当該センサとインターネット上のサーパの間で暗号通信路を構築する場合に、該ＴＬＳプロトコルを利用できる効果は大きいと期待できる。
【０００３】
しかし、センサネットワーク等に用いられる無線ノードは、製造コストを低くするためにＣＰＵやメモリ等の計算リソースは少なく、また通信帯域や消費電力についても制限があることがあるため、証明書の交換におけるトラフィック量や、公開鍵暗号アルゴリズムの計算量が問題になると考えられる。
【０００４】
上述の問題に対して対応するための従来技術として特許文献１〜３の記載技術がある。
【０００５】
特許文献１、２で、エンド・エンドの鍵交換処理、および認証処理を、上位ネットワーク側の被計算委託装置にセキュリティ処理の部を負担させることによって端末の負荷を軽減する方法が記載されている。
【０００６】
また非特許文献１においてエンド・エンドの鍵交換処理を、上位ネットワーク側の被計算委託装置にセキュリティ処理の一部を負担させることによって端末の計算負荷を軽減する方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特願２０１２−０１５２１６号公報
【特許文献２】特願２０１２−１５８７２５号公報
【非特許文献】
【０００８】
【非特許文献１】大石  和臣、松本  勉、“Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ公開鍵配送方式の依頼計算プロトコル、”信学論（Ｄ）、ｖｏｌ．Ｊ９３−Ｄ、ｎｏ．７、ｐｐ．１２０２−１２１３、Ｊｕｌ．２０１０．
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１の記載技術では、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）等の汎用的なセキュリティ通信のプロトコルと互換性がない。
【００１０】
また、特許文献２の記載技術では、乱数情報を計算委託先のサーバ（被計算委託サーバ）で生成するため、被計算委託サーバが周期の短い脆弱な疑似乱数列を利用した場合の脆弱性をカバーできない。また被計算委託サーバを切り替える場合の事前共有鍵の設定方法がないため、手動で新しい被計算委託サーバとの事前鍵共有設定を行う必要があった。
【００１１】
さらにまた、特許文献３の記載技術では、計算委託に伴うトラフィック量が膨大となる問題がある。
【００１２】
以上のような問題点に鑑みて、汎用的なセキュリティ通信のプロトコル（例えば、ＴＬＳ等）との互換性確保、及びクライアント側のノードの負荷軽減を実現しつつ、セキュリティ性の低下を抑制することができる通信システム、通信方法、ノード、データ処理装置、及び通信制御装置が望まれている。
【課題を解決するための手段】
【００１３】
第１の本発明は、（１）ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムであって、（２）上記ノードは、（２−１）整数情報を第１の部分整数情報と１つ以上の第２の部分整数情報に分割する分割手段と、（２−２）上記第１の部分整数情報を上記第１のデータ処理装置との間で事前に共有する事前鍵情報で暗号化して上記通信制御装置を経由して上記第１のデータ処理装置に送信することにより上記第１の部分整数情報に基づく演算処理を依頼する第１の演算依頼手段と、（２−３）それぞれの上記第２の部分整数情報をそれぞれ対応する上記第２のデータ処理装置との間で事前に共有する事前鍵情報でそれぞれ暗号化して上記通信制御装置を経由してそれぞれの上記第２のデータ処理装置に送信することにより上記第２の部分整数情報に基づく演算処理を依頼する第２の演算依頼手段とを有し、（３）上記第１のデータ処理装置は、（３−１）上記ノードから供給されたデータを上記ノードとの間で事前に共有する事前鍵情報で復号して得た上記第１の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第１の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化し、上記通信制御装置を介して上記ノードに送信する第１の元情報処理手段と、（３−２）上記第１の部分整数情報と、所定の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第２の元情報として保持する第２の元情報処理手段とを有し、（４）それぞれの上記第２のデータ処理装置は、（４−１）上記ノードから供給されたデータを上記ノードとの間で事前に共有する事前鍵情報で復号して得た上記第２の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第３の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化して、上記通信制御装置を介して上記ノードに送信する第３の元情報処理手段と、（４−２）上記第２の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算に基づいて計算した結果を、第４の元情報として保持し、上記第１のデータ処理装置に送信する第４の元情報処理手段とを有し（５）上記第１のデータ処理装置は、各第４の元情報を受信して、各第４の元情報と上記第２の元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第５の元情報として保持し、上記第５の巡回群の元情報と、上記暗号化した第１の元情報とを上記通信制御装置を介して上記ノードに送信する第５の元情報処理手段をさらに有し、（６）上記ノードは、暗号化された上記第１の元情報と、暗号化された各上記第３の元情報とを受信して復号し、上記第１の元情報と各上記第３の元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第６の元情報として保持し、上記第６の元情報に所定の演算を施すことにより共通鍵情報を生成する共通鍵情報処理手段をさらに有し、（７）上記通信制御装置は、上記ノードと他の装置との間の通信を仲介する通信制御手段を有することを特徴とする通信システム。
【００１４】
第２の本発明は、（１）ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムの通信方法であって、（２）上記ノードが、整数情報を第１の部分整数情報と１つ以上の第２の部分整数情報に分割する分割工程と、（３）上記ノードが、上記第１の部分整数情報を上記第１のデータ処理装置との間で事前に共有する事前鍵情報で暗号化して上記通信制御装置を経由して上記第１のデータ処理装置に送信することにより上記第１の部分整数情報に基づく演算処理を依頼する第１の演算依頼工程と、（４）上記ノードが、それぞれの上記第２の部分整数情報をそれぞれ対応する上記第２のデータ処理装置との間で事前に共有する事前鍵情報でそれぞれ暗号化して上記通信制御装置を経由してそれぞれの上記第２のデータ処理装置に送信することにより上記第２の部分整数情報に基づく演算処理を依頼する第２の演算依頼工程と、（５）上記第１のデータ処理装置が、上記ノードから供給されたデータを上記ノードとの間で事前に共有する事前鍵情報で復号して得た上記第１の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第１の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化し、上記通信制御装置を介して上記ノードに送信する第１の元情報処理工程と、（６）上記第１のデータ処理装置が、上記第１の部分整数情報と、所定の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第２の元情報として保持する第２の元情報処理工程と、（７）それぞれの上記第２のデータ処理装置が、受信した上記第２の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第３の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化して、上記通信制御装置を介して上記ノードに送信する第３の元情報処理工程と、（８）それぞれの上記第２のデータ処理装置が、上記第２の部分整数情報と、上記所定の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算に基づいて計算した結果を、第４の元情報として保持し、上記第１のデータ処理装置に送信する第４の元情報処理工程と、（９）上記第１のデータ処理装置が、各第４の元情報を受信して、各第４の元情報と上記第２元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第５の元情報として保持し、上記第５の元情報と、上記暗号化した第１の元情報とを上記通信制御装置を介して上記ノードに送信する第５の元情報処理工程と、（１０）上記ノードが、暗号化された上記第１の元情報と、暗号化された各上記第３の元情報とを受信して復号し、上記第１の元情報と各上記第３の元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第６の元情報として保持し、上記第６の元情報に所定の演算を施すことにより共通鍵情報を生成する共通鍵情報処理手段と、（１１）上記通信制御装置が、上記ノードと他の装置との間の通信を仲介する通信制御工程とを含むことを特徴とする。
【００１５】
第３の本発明は、（１）ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムを構成するノードであって、（２）整数情報を第１の部分整数情報と１つ以上の第２の部分整数情報に分割する分割手段と、（３）上記第１の部分整数情報を上記第１のデータ処理装置との間で事前に共有する事前鍵情報で暗号化し、上記通信制御装置を経由して上記第１のデータ処理装置に送信することにより上記第１の部分整数情報に基づく演算処理を依頼する第１の演算依頼手段と、（４）それぞれの上記第２の部分整数情報をそれぞれ対応する上記第２のデータ処理装置との間で事前に共有する事前鍵情報でそれぞれ暗号化し、上記通信制御装置を経由してそれぞれの上記第２のデータ処理装置に送信することにより上記第２の部分整数情報に基づく演算処理を依頼する第２の演算依頼手段と、（５）上記第１のデータ処理装置から、上記第１の演算依頼手段の依頼に基づいて返答されたデータを上記第１のデータ処理装置との間で事前に共有する事前鍵情報で復号して上記所定の巡回群に係る第１の元情報を取得し、さらに、それぞれの上記第２のデータ処理装置から、上記第２の演算依頼手段の依頼に基づいて返答されたデータを当該第２のデータ処理装置との間で事前に共有する事前鍵情報で復号して、所定の巡回群に係る第３の元情報を取得し、上記第１の元情報と各上記第３の元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第６の元情報として保持し、上記第６の元情報に所定の演算を施すことにより共通鍵情報を生成する共通鍵情報処理手段とを有することを特徴とする。
【００１６】
第４の本発明は、（１）ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムを構成する第１のデータ処理装置であって、（２）上記ノードから供給されたデータを上記ノードとの間で事前に共有する事前鍵情報で復号して、整数情報から分割された第１の部分整数情報を保持し、上記第１の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群所定の巡回群において定義される演算で計算を行い、その演算の結果を第１の巡回群の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化し、上記通信制御装置を介して上記ノードに送信する第１の元情報処理手段と、（３）上記第１の部分整数情報と、所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第２の巡回群の元情報として保持する第２の元情報処理手段と、（４）それぞれの上記第２のデータ処理装置から、上記整数情報から分割された複数の第２の部分整数情報のうちの１つと、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行った結果得られた第４の巡回群の元情報が供給されると、それぞれの上記第２のデータ処理装置から得た上記第４の巡回群の元情報と、上記第２の巡回群の元情報とを、上記所定の巡回群において定義される演算で計算を行って得た結果を第５の巡回群の元情報として保持し、上記第５の巡回群の元情報と、上記暗号化した第１の元情報とを上記通信制御装置を介して上記ノードに送信する第５の元情報処理手段とを有することを特徴とする。
【００１７】
第５の本発明は、（１）ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムを構成する第２のデータ処理装置であって、（２）整数情報から分割された第１の部分整数情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行った結果得られた第２の元情報が、上記第１のデータ処理装置から供給されると、上記第２の元情報と、上記所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算の結果を第３の元情報として保持し、上記ノードとの間で事前に共有する事前鍵情報を用いて暗号化して、上記通信制御装置を介して上記ノードに送信する第３の元情報処理手段と（３）上記ノードから供給されたデータを上記ノードとの間で事前に共有する事前鍵情報で復号して得た上記整数情報から分割された第２の部分整数情報と、所定の巡回群の元とを、上記所定の巡回群において定義される演算で計算を行い、その演算に基づいて計算した結果を、巡回群の元情報として保持し、上記第１のデータ処理装置に送信する第４の元情報処理手段とを有することを特徴とする。
【００１８】
第６の本発明は、（１）ノードと、第１のデータ処理装置と、１つ以上の第２のデータ処理装置と、サーバと、上記ノードと他の装置との間の通信を仲介する通信制御装置とを有する通信システムを構成する上記通信制御装置であって、（２）上記ノードと他の装置との間の通信を仲介する通信制御手段を有することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、汎用的なセキュリティ通信のプロトコルとの互換性確保、及びクライアント側のノードの負荷軽減を実現しつつ、セキュリティ性の低下を抑制することができる通信システムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係るネットワークシステムの全体構成について示したブロック図である。
【図２】実施形態に係るノードの機能的構成について示したブロック図である。
【図３】実施形態に係る無線ＮＷ管理端末の機能的構成について示したブロック図である。
【図４】実施形態に係る第１の被計算委託サーバの機能的構成について示したブロック図である。
【図５】実施形態に係る第２の被計算委託サーバの機能的構成について示したブロック図である。
【図６】実施形態に係る鍵共有サーバの機能的構成について示したブロック図である。
【図７】実施形態に係る通信システムの動作について示したフローチャートである。
【発明を実施するための形態】
【００２１】
（Ａ）主たる実施形態
以下、本発明による通信システム、通信方法、ノード、データ処理装置、及び通信制御装置の一実施形態を、図面を参照しながら詳述する。なお、この実施形態のデータ処理装置、及び通信制御装置は、それぞれ被計算委託サーバ及び無線ＮＷ管理端末であるものとして説明する。
【００２２】
（Ａ−１）実施形態の構成
図１は、この実施形態の通信システム１の全体構成について示したブロック図である。
【００２３】
図１に示すように、通信システム１には、複数のノード１００、無線ＮＷ管理端末２００、２台の被計算委託サーバ３００、４００、鍵共有サーバ５００、及びＴＬＳサーバ６００が配置されている。なお、以下では、被計算委託サーバ３００を、「第１の被計算委託サーバ」、被計算委託サーバ４００を「第２の被計算委託サーバ」とも呼ぶ場合がある。なお、この実施形態では、第２の被計算委託サーバ４００は１台であるものとして説明するが複数台で構成するようにしてもよい。
【００２４】
この実施形態の通信システム１では、証明書ベースのＴＬＳハンドシェイクプロトコルを、ＴＬＳクライアント側（ノード１００）が、２台の被計算委託サーバ３００、４００に計算委託を行いながら実行する構成となっている。
【００２５】
通信システム１では、各ノード１００は、無線ネットワークＮ２に接続している。また、第１の被計算委託サーバ３００、第２の被計算委託サーバ４００、鍵共有サーバ５００及びＴＬＳサーバ６００は、それぞれインターネットＮ１に接続している。さらに、無線ＮＷ管理端末２００は、インターネットＮ１は、インターネットＮ１と無線ネットワークＮ２の両方に接続可能な構成となっている。
【００２６】
なお、以下の説明において、「ｇ」は、巡回群＜Ｇ、・＞の生成元であり、システム共通のパラメータであるものとする。また、以下の説明において、「ｎ」は巡回群Ｇに属する所定の元「ｇ」の位数であるものとする。さらに、以下では、巡回群Ｇの元「α、β」に対して「α・β∈Ｇ」は、αとβとを被演算子として巡回群Ｇで定義されている演算「・」を行うことを意味するものとする。さらにまた、以下では、巡回群Ｇの元αと整数βに対して、「α＾β∈Ｇ」は、αを被演算子として巡回群Ｇで定義されている演算をβ回行うことを意味する。例えば、巡回群Ｇが楕円曲線Ｅ上の有理点のなす群であった場合、「α・β∈Ｇ」は楕円曲線Ｅ上でのαとβとの楕円加算を意味し、「α＾β∈Ｇ」はαの楕円スカラーβ倍算を意味するものとする。
【００２７】
また、以下では、整数ａに対し整数ａの属す法Ｎの剰余類を「ａ  ｍｏｄ  Ｎ」と表すものとする。さらに、以下では、法Ｎの有限体をＦNと表し、ＦNの可逆な剰余類全体のなす乗法群をＦN*と表すものとする。
【００２８】
さらにまた、以下では、整数「ａ∈Ｆn*」は、ノード１００の秘密鍵であり、「Ｐa＝ｇ＾ａ∈Ｇ」は、ノード１００の公開鍵であるものとする。
【００２９】
また、以下では、「整数ｂ∈Ｆn*」は、ＴＬＳサーバ６００の秘密鍵であり、「Ｐb＝ｇ＾ｂ∈Ｇ」は、ＴＬＳサーバ６００の公開鍵であるものとする。さらに、以下では、ｂ及びＰbはそれぞれＤＨ秘密鍵及びＤＨ公開鍵でもあるものとする。さらにまた、以下では、整数「ｘ∈Ｆn*」は、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵共有においてノード１００のＤＨ秘密鍵であり、「Ｐx＝ｇ＾ｘ∈Ｇ」は同ＤＨ公開鍵であるものとする。
【００３０】
また、整数ｘ1、ｘ2は部分ＤＨ秘密鍵情報であり、「ｘ1＋ｘ2＝ｘ  ｍｏｄ  ｎ」を満たすものとする。さらに、以下では、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵共有の結果共有する共通鍵情報を、共有鍵Ｋと表記するものとする。さらにまた、以下では、事前鍵情報ＰＳＫi（ｉ＝１、２）、事前鍵情報更新鍵情報ｑ、及び上記共有鍵Ｋは、共通鍵暗号方式で利用される鍵情報であるものとする。
【００３１】
次に、ノード１００、無線ＮＷ管理端末２００、第１の被計算委託サーバ３００、第２の被計算委託サーバ４００、鍵共有サーバ５００のそれぞれの詳細構成について説明する。
【００３２】
図２〜図６は、それぞれ、ノード１００、無線ＮＷ管理端末２００、第１の被計算委託サーバ３００、第２の被計算委託サーバ４００、鍵共有サーバ５００内部の機能的構成について示したブロック図である。なお、通信システム１において、ＴＬＳサーバ６００は、種々のＴＬＳプロトコルに係るサーバ機能を搭載したサーバマシンを適用することができるため、内部構成については図示を省略する。
【００３３】
[ノード１００の内部構成]
次に、ノード１００の内部構成について図２を用いて説明する。
【００３４】
ノード１００は、送受信部１０１、暗号部１０２、復号部１０３、秘密情報記憶部１０４、秘密情報分割部１０５、事前鍵情報記憶部１０６、事前鍵情報更新部１０７、事前鍵情報更新制御部１０８、共有鍵情報生成部１０９、署名情報生成部１１０、乱数生成部１１１、アドレス情報入力部１１２、Ｆｉｎｉｓｈｅｄ生成部１１３、及びＦｉｎｉｓｈｅｄ比較部１１４を有している。
【００３５】
送受信部１０１は、無線ネットワークＮ２に接続するエンティティ（他の通信装置）と通信をするネットワークインタフェースの機能を担っている。
【００３６】
暗号部１０２はデータ暗号化を行うものであり、この実施形態では、例として、ＡＥＳ等の共通鍵暗号方式が適用されているものとして説明する。暗号鍵情報は事前鍵情報記憶部１０６に記憶されている鍵情報を利用する。この実施形態では秘密情報分割部１０５から出力された部分ＤＨ秘密鍵情報ｘ1、ｘ2（詳細については後述する）をそれぞれＰＳＫ1、ＰＳＫ2を鍵として暗号化し、送受信部１０１を介してそれぞれ第１の被計算委託サーバ３００及び第２の被計算委託サーバ４００に送信するものとする。
【００３７】
復号部１０３は、暗号化された暗号文を復号するものである。具体的には、復号部１０３は、暗号化された部分ＤＨ共有鍵情報Ｅｎｃ（ＰＳＫ1、Ｐb＾（ｘ1））及びＥｎｃ（ＰＳＫ2、Ｐb＾（ｘ2））を、無線ＮＷ管理端末２００から受信して復号し、共有鍵情報生成部１０９に出力する。復号部１０３は、復号のための鍵情報として、事前鍵情報記憶部１０６に記憶されている鍵情報を利用するものとする。
【００３８】
秘密情報記憶部１０４は、公開鍵暗号ペア（ａ、Ｐa）のうちの秘密鍵情報ａと、事前鍵情報更新鍵情報ｑを予め記憶している。また乱数生成部１１１が任意に生成した整数ｘをＴＬＳハンドシェイクが終わるまで一時的に記憶する。また、秘密情報記憶部１０４は、共有鍵情報生成部１０９が生成したＤＨ共有鍵情報Ｋを必要な期間だけ一時的に記憶する。
【００３９】
秘密情報分割部１０５はＤＨ秘密鍵ｘを、整数ｘ1、及びｘ2に対しｘ1とｘ2の和がｘとなるよう任意に分割するものである。なお、この実施形態では、ｘ1、ｘ2を、それぞれ「第１の部分ＤＨ秘密鍵情報」、「第２の部分ＤＨ秘密鍵情報」と呼ぶこととする。
【００４０】
事前鍵情報記憶部１０６は第１の事前鍵情報ＰＳＫ1と、第２の事前鍵情報ＰＳＫ2とを記憶するものである。
【００４１】
事前鍵情報更新部１０７は事前鍵情報記憶部１０６に記憶されている事前鍵情報を更新するものである。この実施形態では、事前鍵情報更新部１０７は、鍵付一方向性関数を実装し、鍵情報として秘密鍵記憶部１０４に記憶されている事前鍵情報更新鍵情報ｑを用いて、事前鍵情報記憶部１０６に記憶されている事前鍵情報を該鍵付一方向性関数に入力して、その出力情報の全部または一部を新しい事前鍵情報とするものとする。
【００４２】
事前鍵情報更新制御部１０８は事前鍵情報更新部１０７を動作させるタイミングを判断する処理と、事前鍵情報更新部１０７を制御する信号を出力する処理を行うものである。タイミングを判断する処理とは、この実施形態においては送受信部１０１を介して無線ＮＷ管理端末２００から事前共有鍵更新命令（ＵｐｄａｔｅＰＳＫ）を受信したことを検知することである。
【００４３】
共有鍵情報生成部１０９は、復号部１０３から第１の部分共有鍵情報Ｐb＾（ｘ1）及び第２の部分共有鍵情報Ｐb＾（ｘ2）を受け取って共有鍵Ｋを以下の（１）式により求め、その共有鍵ＫをＴＬＳセッション鍵として秘密情報記憶部１０４に記憶させる。
【００４４】
Ｋ＝Ｆ（Ｐb＾（ｘ1）・Ｐb＾（ｘ2））  …（１）
ここでＰb＾（ｘ1）及びＰb＾（ｘ2）は巡回群Ｇの元であり、Ｆ（Ｚ）は巡回群Ｇの元Ｚを鍵情報に変換する関数であり、この実施形態では上記巡回群Ｇの元のほかに、クライアントランダム値及びサーバランダム値と呼ばれる予備情報を用いたＴＬＳに規定の関数である。
【００４５】
署名情報生成部１１０は、ノード１００の秘密鍵ａと、乱数生成部が生成した乱数ｘとを秘密情報記憶部１０４から読み出すと共に、送受信部１０１を介して無線ＮＷ管理端末２００から送られてくる整数情報ｈ、ｒを受け取り、署名情報ｓを、以下の（２）式により計算して無線ＮＷ管理端末２００に送信する。なお、（２）式において、ｘ-1はｘの逆元である。
【００４６】
ｓ＝ｘ-1×（ｈ＋ａ×ｒ）  ｍｏｄ  ｎ  …（２）
乱数生成部１１１は、有限体Ｆnの元の中から任意の元を生成して秘密情報記憶部１０４に出力するものである。
【００４７】
アドレス情報入力部１１２は、ＴＬＳハンドシェイクを行う場合のＴＬＳサーバのアドレス情報（インターネットＵＲＬ等）を外部から受け取るためのインターフェースを備える。そして、アドレス情報入力部１１２は、入力されたアドレス情報を、送受信部１０１を介して無線ＮＷ管理端末２００に送信する。
【００４８】
Ｆｉｎｉｓｈｅｄ生成部１１３は、無線ＮＷ管理端末２００から、無線ＮＷ管理端末２００がＴＬＳサーバと送受信したＴＬＳハンドシェイクメッセージのハッシュ値を受け取り、上述の共有鍵Ｋと当該ハッシュ値とＴＬＳハンドシェイクプロトコルに規定のメッセージを用いてクライアントＦｉｎｉｓｈｅｄメッセージもしくは、サーパＦｉｎｉｓｈｅｄメッセージを生成する。
【００４９】
Ｆｉｎｉｓｈｅｄ比較部１１４は、Ｆｉｎｉｓｈｅｄ生成部１１３が生成したサーバＦｉｎｉｓｈｅｄと、無線ＮＷ管理端末２００から受信したサーバＦｉｎｉｓｈｅｄメッセージを比較し、一致しない場合に、ＴＬＳハンドシェイクの失敗を検知する。
【００５０】
[無線ＮＷ管理端末２００]
次に無線ＮＷ管理端末２００の装置構成について図３を用いて説明する。
【００５１】
無線ＮＷ管理端末２００は、無線ＮＷ送受信部２０１、インターネット送受信部２０２、ＴＬＳハンドシェイク制御部２０３、ＴＬＳハンドシェイクメッセージ生成部２０４、無線ＮＷ管理部２０５、及びパラメータ生成部２０６を有している。
【００５２】
無線ＮＷ送受信部２０１は、無線ネットワークＮ２に接続して、エンティティ（他の通信装置）と通信するネットワークインタフェースの機能を担っている。
【００５３】
インターネット送受信部２０２はインターネットＮ１に接続するエンティティ（他の通信装置）と通信をするネットワークインタフェースの機能を担っている。
【００５４】
ＴＬＳハンドシェイク制御部２０３は、ノードに代わってＴＬＳハンドシェイクメッセージのやり取りを行う処理の制御を行うものである。
【００５５】
具体的には、ＴＬＳハンドシェイク制御部２０３は、ＴＬＳサーバとやり取りするＴＬＳハンドシェイクメッセージの生成について、ＴＬＳハンドシェイクメッセージ生成部２０４に生成させて送受信部を介して送信すると共に、ＴＬＳハンドシェイクメッセージ生成部２０４がＴＬＳメッセージを生成する過程でノード１００の秘密情報を用いた処理が必要な場合には、当該ノード１００に必要なパラメータ情報を与える。そして、ＴＬＳハンドシェイク制御部２０３は、当該ノード１００から秘密情報を用いた処理の結果を受信した上で、ＴＬＳハンドシェイクメッセージ生成部２０４に与える。そして、ＴＬＳハンドシェイク制御部２０３は、パラメータについては、パラメータ生成部２０６から受け取る。そして、ＴＬＳハンドシェイク制御部２０３は、パラメータ生成部２０６から受け取るパラメータ情報のうち、サーバ公開鍵情報Ｐbについては第１の被計算委託サーバ３００及び第２の被計算委託サーバ４００にインターネット送受信部２０２を介して送信する。そして、ＴＬＳハンドシェイク制御部２０３は、整数情報ｈ、ｒ、サーバランダム情報ｒａｎｄs、及びクライアントランダム情報ｒａｎｄcについてはノード１００に無線ＮＷ送受信部２０１を介して送信する。そして、ＴＬＳハンドシェイク制御部２０３は、第１の被計算委託サーバ３００及び第２の被計算委託サーバ４００からそれぞれ暗号化された部分共有鍵情報Ｅｎｃ（ＰＳＫ1、Ｐb＾（ｘ1））及びＥｎｃ（ＰＳＫ2、Ｐb＾（ｘ2））を受信してノード１００に転送する。また、ＴＬＳハンドシェイク制御部２０３は、鍵共有サーバ５００からノード１００宛の事前鍵情報更新命令について、インターネット送受信部２０２を介して受信した場合、当該事前鍵情報更新命令を無線ＮＷ送受信部２０１を介してノード１００に転送する。
【００５６】
ＴＬＳハンドシェイクメッセージ生成部２０４は、ＴＬＳハンドシェイクメッセージの生成を行い、ＴＬＳハンドシェイク制御部２０３に供給するものである。ただし、ＴＬＳハンドシェイクにおいてノード１００の秘密鍵情報が必要となるメッセージとして、ＣｌｉｅｎｔＫＸ、ＣｅｒｔｉｆｉｃａｔｅＶｅｒｉｆｙ、クライアントＦｉｎｉｓｈｅｄメッセージがあるが、ＴＬＳハンドシェイクメッセージ生成部２０４は、ＣｌｉｅｎｔＫＸに含めるＤＨ公開鍵情報Ｐxは第１の被計算委託サーバ３００からＴＬＳハンドシェイク制御部２０３を介して受け取る。また、ＴＬＳハンドシェイクメッセージ生成部２０４は、ＣｅｒｔｉｆｉｃａｔｅＶｅｒｉｆｙに含めるディジタル署名情報ｓ、及びクライアントＦｉｎｉｓｈｅｄメッセージについてはノード１００から、ＴＬＳハンドシェイク制御部２０３を介して受け取る。
【００５７】
無線ＮＷ管理部２０５は、無線ネットワークＮ２に接続する配下のノード１００に関する、「アドレス情報」、「公開鍵証明書情報」、「ＴＬＳセッション情報」、「接続先ＴＬＳサーバ情報」、及び「被計算委託サーバのアドレス情報」を管理するものであり、必要に応じてＴＬＳハンドシェイク制御部２０３に情報を与える。尚、無線ＮＷ管理部２０５は、ノード１００の公開鍵証明書については、例えば鍵共有サーバに予め持たせておいて、これをダウンロードしても良いし、別途入力用インターフェースから手動でインストールするなどしても良い。また無線ＮＷ管理部２０５は、無線ＮＷ管理端末２００が該事前鍵情報更新命令（ＵｐｄａｔｅＰＳＫ）を受信すると、被計算委託サーバ３００、４００のアドレス情報をノード１００用の計算委託サーバのアドレスとして無線ＮＷ管理部２０５に記憶しておく。
【００５８】
パラメータ生成部２０６は、送受信部２０１から送受信されるＴＬＳメッセージからパラメータ情報を生成もしくは抽出する。具体的には、パラメータ生成部２０６は、所定の時点までにＴＬＳサーバに対して送受信したＴＬＳメッセージのハッシュ値ｈ、ｈ’、ｈ’’およびＤＨ公開鍵情報Ｐxから生成されるパラメータｒを生成し、サーバランダム値情報ｒａｎｄsについてはインターネット送受信部２０２が受信したＳｅｒｖｅｒＨｅｌｌｏメッセージから抽出し、クライアントランダム値情報ｒａｎｄcについてはインターネット送受信部２０２から送信されるＣｌｉｅｎｔＨｅｌｌｏメッセージから抽出する。パラメータ生成部２０６は、パラメータｒについては、ＤＨ公開鍵情報Ｐxから生成する。また、パラメータ生成部２０６は、ＴＬＳサーバ６００のＣｅｒｔｉｆｉｃａｔｅメッセージからサーバ公開鍵Ｐbを抽出する。
[第１の被計算委託サーバ３００]
次に第１の被計算委託サーバ３００の装置構成について図４を参照しながら説明する。
【００５９】
第１の被計算委託サーバ３００は、送受信部３０１、鍵情報受信部３０２、鍵情報記憶部３０３、復号部３０４、秘密情報記憶部３０５、一般パラメータ記憶部３０６、演算部３０７、暗号部３０８からなる。
【００６０】
送受信部３０１はインターネットＮ１に接続するエンティティ（他の通信装置）と通信をするネットワークインタフェースの機能を担っている。
【００６１】
鍵情報受信部３０２は鍵共有サーバ５００からノード１００の第１の事前鍵情報ＰＳＫ1を盗聴や改ざんに対して安全に受信する処理を行う。例えば、鍵情報受信部３０２は、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）を利用して鍵共有サーバ５００と安全な通信路を構築して受信するようにしてもよい。鍵情報受信部３０２は、ここで得られた事前鍵情報は鍵情報記憶部３０３に記憶させる。
【００６２】
鍵情報記憶部３０３は事前鍵情報ＰＳＫ1を記憶し、それぞれ復号部３０４及び暗号部３０８に必要に応じて当該事前鍵情報を提供する。
【００６３】
復号部３０４は、第１の事前鍵情報ＰＳＫ1で暗号化された第１の部分ＤＨ鍵情報Ｅｎｃ（ＰＳＫ1、ｘ1）を受け取って復号し、当該第１の部分ＤＨ鍵情報を秘密情報記憶部３０５に一時的に記憶させる。
【００６４】
秘密情報記憶部３０５は第１の部分ＤＨ秘密鍵情報ｘ1を一時的に記憶し、必要に応じて演算部３０７に提供する。
【００６５】
一般パラメータ記憶部３０６は、巡回群Ｇの生成元ｇを予め記憶している。また、一般パラメータ記憶部３０６は、無線ＮＷ管理端末２００から送受信部３０１を介して、ＴＬＳサーパのサーバ公開鍵Ｐbを受信して一時的に記憶する。さらに、一般パラメータ記憶部３０６は、演算部３０７から第１の部分ＤＨ公開鍵情報ｇ＾（ｘ1）を受け取って一時的に記憶し、第２の被計算委託サーバ４００から第２の部分ＤＨ公開鍵情報ｇ＾（ｘ2）を送受信部３０１を介して受信して一時的に記憶する。一般パラメータ記憶部３０６は、これらのパラメータ情報は必要に応じて演算部３０７に出力する。
【００６６】
演算部３０７は、一般パラメータ記憶部３０６からサーバ公開鍵情報Ｐbを受け取ると共に、秘密情報記憶部３０５から第１の部分ＤＨ秘密鍵情報ｘ1を受け取り、第１の部分共有鍵情報ｐb＾（ｘ1）を計算して暗号部３０８に出力する。また、演算部３０７は、一般パラメータ記憶部３０６から巡回群Ｇの生成元ｇを受け取ると共に、秘密情報記憶部３０６から第１の部分ＤＨ秘密鍵情報ｘ1を受け取り、第１の部分ＤＨ公開鍵情報ｇ＾（ｘ1）を計算して一般パラメータ記憶部３０６に一時的に記憶させる。さらに、演算部３０７は、一般パラメータ記憶部３０６から第１の部分ＤＨ公開鍵情報ｇ＾（ｘ1）と、第２の部分ＤＨ公開鍵情報ｇ＾（ｘ2）を受け取って、以下の（３）式によりクライアントＤＨ公開鍵情報Ｐxを計算して無線ＮＷ管理端末２００に送受信部３０１を介して送信する。
【００６７】
Ｐx＝ｇ＾（ｘ1）・ｇ＾（ｘ2）  …（３）
暗号部３０８は第１の部分ＤＨ共有鍵情報Ｐb＾（ｘ1）を演算部から受け取ると、鍵情報記憶部３０３から第１の事前鍵情報ＰＳＫ1を読み出し、該第１の事前鍵情報ＰＳＫ1を用いて該第１の部分ＤＨ共有鍵情報Ｐb＾（ｘ1）を暗号化した情報Ｅｎｃ（ＰＳＫ1、Ｐb＾（ｘ1））を生成し、送受信部３０１を介して無線ＮＷ管理端末２００に送信する。
【００６８】
[第２の被計算委託サーバ４００]
次に第２の被計算委託サーバ４００について、図５を参照しながら説明する。
【００６９】
なお、以下では、第２の被計算委託サーバ４００について、第１の被計算委託サーバ３００との差異を中心に説明する。
【００７０】
第２の被計算委託サーバ４００は、送受信部４０１、鍵情報受信部４０２、鍵情報記憶部４０３、復号部４０４、秘密情報記憶部４０５、一般パラメータ記憶部４０６、演算部４０７、暗号部４０８からなる。
【００７１】
送受信部４０１は第１の被計算委託サーバ３００の送受信部３０１と同様の構成である。
【００７２】
鍵情報受信部４０２も第１の被計算委託サーバ３００の鍵情報受信部３０２と同様の構成であるが、第２の事前鍵情報ＰＳＫ2を受信する点のみ異なる。
【００７３】
鍵情報記憶部４０３は、第２の事前鍵情報ＰＳＫ2を記憶するものである。
【００７４】
復号部４０４は、第２の事前鍵情報ＰＳＫ2で暗号化された第２の部分ＤＨ秘密鍵情報ｘ2を受け取って復号し、当該第２の部分ＤＨ秘密鍵情報ｘ2を秘密情報記憶部４０５に一時的に記憶させる。
【００７５】
秘密情報記憶部４０５は第２の部分ＤＨ秘密鍵情報ｘ2を一時的に記憶し、必要に応じて演算部４０７に提供する。
【００７６】
一般パラメータ記憶部４０６は、巡回群Ｇの生成元ｇを予め記憶している。また、一般パラメータ記憶部４０６は、無線ＮＷ管理端末２００から送受信部４０１を介してＴＬＳサーバ６００のサーバ公開鍵Ｐbを受信して一時的に記憶する。また、一般パラメータ記憶部４０６は、これらのパラメータ情報は必要に応じて演算部４０７に出力する。
【００７７】
演算部４０７は、一般パラメータ記憶部４０６からサーバ公開鍵情報Ｐbを受け取ると共に、秘密情報記憶部４０５から第２の部分ＤＨ秘密鍵情報ｘ2を受け取り、第２の部分共有鍵情報Ｐb＾（ｘ2）を計算して暗号部４０８に出力する。また、演算部４０７は、一般パラメータ記憶部４０６から巡回群Ｇの生成元ｇを受け取り、秘密情報記憶部４０６から第２の部分ＤＨ秘密鍵情報ｘ2を受け取り、第２の部分ＤＨ公開鍵情報ｇ＾（ｘ2）を計算して、その結果を送受信部４０１を介して第１の被計算委託サーバ３００に送信する。
【００７８】
暗号部４０８は第２の部分ＤＨ共有鍵情報Ｐb＾（ｘ2）を演算部４０７から受け取ると、鍵情報記憶部４０３から第２の事前鍵情報ＰＳＫ2を読み出す。そして、暗号部４０８は、当該第２の事前鍵情報ＰＳＫ2を用いて該第２の部分ＤＨ共有鍵情報Ｐb＾（ｘ2）を暗号化した情報Ｅｎｃ（ＰＳＫ2、Ｐb＾（ｘ2））について、送受信部４０１を介して無線ＮＷ管理端末２００に送信する。
【００７９】
[鍵共有サーバ５００]
次に鍵共有サーバ５００の構成について図６を用いて説明する。
【００８０】
鍵共有サーバ５００は、送受信部５０１、ノード情報記憶部５０２、事前鍵情報更新部５０３、事前鍵情報更新制御部５０４、鍵配送部５０５を有している。
【００８１】
送受信部５０１はインターネットＮ１に接続するエンティティ（他の通信装置）と通信をするネットワークインタフェースの機能を担っている。
【００８２】
ノード情報記憶部５０２は、ノード１００の識別子、当該ノード１００の事前鍵情報記憶部１０６に記憶されている事前鍵情報ＰＳＫiのコピー、及び秘密情報記憶部１０４に記憶されている事前鍵情報更新鍵情報ｑのコピー等を記憶している。ノード情報記憶部５０２記憶する上述の情報は、例えばノード１００製造時（導入時）に、ノード情報記憶部５０２に記憶させるなどして設定（例えば、図示しない入力インターフェースを用いて設定）しておくようにしてもよい。
【００８３】
事前鍵情報更新部５０３は、ノード１００の事前鍵情報更新部１０７と同一の事前鍵情報更新処理を実行可能なものである。
【００８４】
事前鍵情報更新制御部５０４は、所定のタイミングで事前鍵情報更新部５０３に事前鍵情報更新命令（ＵｐｄａｔｅＰＳＫ）を供給すると共に、ノード１００宛の事前鍵情報更新命令を送受信部５０１を介して無線ＮＷ管理端末２００に送信する。この事前鍵情報更新命令は、第１の被計算委託サーバ３００と第２の被計算委託サーバ４００のインターネットアドレス情報を含んでいる。
【００８５】
鍵配送部５０５は、事前鍵情報ＰＳＫi（ｉ＝１、２）を各被計算委託サーバにＳＳＬ等を利用して盗聴・改ざんに対して安全に配送するものである。
【００８６】
（Ａ−２）実施形態の動作
次に、以上のような構成を有するこの実施形態の通信システム１の動作（実施形態に係る通信方法）を説明する。
【００８７】
図７は、通信システム１の全体の動作例について示したシーケンス図である。
【００８８】
図７のフローチャートの初期状態において、第１の被計算委託サーバ３００及び第２の被計算委託サーバ４００は未だノード１００の事前鍵情報ＰＳＫi（ｉ＝１、２）を有していないものとする。そこで鍵共有サーバ５００が該事前鍵情報を共有させるにあたり、事前鍵情報更新制御部５０４からノード１００の事前鍵情報更新命令（ＵｐｄａｔｅＰＳＫ）がそれぞれ事前鍵情報更新部５０３と、送受信部５０１を介して無線ＮＷ管理端末２００に送信される（Ｓ１０１、Ｓ１０２）。
【００８９】
事前鍵情報更新部５０３はノード１００の事前鍵情報更新命令を受けて、ノード１００の事前鍵情報ＰＳＫi（ｉ＝１、２）と、ノード１００の事前鍵情報更新鍵情報ｑをノード情報記憶部５０２から読み出して更新し、ノード情報記憶部５０２に記憶されているノード１００の事前鍵情報を上書き更新すると共に、更新された両事前鍵情報を鍵配送部５０５に出力し、鍵配送部５０５は第１の事前鍵情報ＰＳＫiについては第１の被計算委託サーバ３００に送受信部５０１を介して安全に配送し（Ｓ１０４）、第２の事前鍵情報ＰＳＫ２については第２の被計算委託サーバ４００に送受信部５０１を介して安全に配送する（Ｓ１０５）。被計算委託サーバ３００、４００では、配送された事前鍵情報を、それぞれの鍵情報受信部３０２および鍵情報受信部４０２で受信して鍵情報記憶部３０３および鍵情報記憶部４０３に記憶する。
【００９０】
無線ＮＷ管理端末２００はインターネット送受信部２０２を介してＴＬＳハンドシェイク制御部２０３にて該メッセージを受信してノード１００宛の事前鍵情報更新命令であることを認識し、無線ＮＷ送受信部２０１を介してノード１００に転送する（Ｓ１０３）。また、無線ＮＷ管理端末２００は、事前鍵情報更新命令に含まれる第１の被計算委託サーバ３００及び第２の被計算委託サーバ４００のインターネットアドレス情報を無線ＮＷ管理部２０５に記憶させる。
【００９１】
ノード１００は送受信部１０１を介して該事前鍵情報更新命令を事前鍵情報更新制御部１０８で受け取る。そして、ノード１００では、事前鍵情報更新制御部１０８が、事前鍵情報更新命令を事前鍵情報更新部１０７に出力し、事前鍵情報更新部１０７が、事前鍵情報記憶部１０６と秘密情報記憶部１０４からそれぞれ事前鍵情報ＰＳＫi（ｉ＝１、２）と事前鍵情報更新鍵情報ｑを読み出して事前鍵情報を更新し、事前鍵情報記憶部１０６に上書き記憶させる（Ｓ１０６）。
【００９２】
以上のステップＳ１０１〜Ｓ１０６の処理が、通信システム１における事前処理であり、以後被計算委託サーバを変更することが無い限り、事前鍵情報更新制御部５０４が事前鍵情報更新命令を出さないため、上記の処理は実行されることは無い。
【００９３】
次に、ノード１００においてアドレス情報入力部１１２にＴＬＳサーバのアドレス情報が入力されることにより、該アドレス情報が無線ＮＷ管理端末２００に送信される（Ｓ１０７）。
【００９４】
無線ＮＷ管理端末２００は無線ＮＷ送受信部２０１を介してＴＬＳハンドシェイク制御部２０３において該ＴＬＳサーバ６００のアドレス情報を受信し、ＴＬＳハンドシェイクサーバ６００に対してＴＬＳハンドシェイクメッセージプロトコルに規定されるＣｌｉｅｎｔＨｅｌｌｏメッセージを該ＴＬＳサーバ６００に送信する（Ｓ１０８）。
【００９５】
ＴＬＳサーバ６００はＴＬＳハンドシェイクプロトコルに規定のＳｅｒｖｅｒＨｅｌｌｏ、Ｃｅｒｔｉｆｉｃａｔｅ、ＣｅｒｔｉｆｉｃａｔｅＲｅｑｕｅｓｔ、ＳｅｒｖｅｒＨｅｌｌｏＤｏｎｅを無線ＮＷ管理端末２００に送信する（Ｓ１０９）。
【００９６】
次に、無線ＮＷ管理端末２００は、パラメータ生成部２０６にて上記ＳｅｒｖｅｒＨｅｌｌｏメッセージからサーバランダム値ｒａｎｄsを抽出して一時的に記憶しておくと共に、上記ＣｅｒｔｉｆｉｃａｔｅメッセージからＴＬＳサーバ６００の公開鍵情報Ｐbを抽出する。さらに、無線ＮＷ管理端末２００は、無線ＮＷ管理部２０５に記憶されている第１の被計算委託サーバ３００と第２の被計算委託サーバ４００のアドレスを読み込んで、ＴＬＳサーバ６００の公開鍵情報Ｐbを、被計算委託サーバ３００、４００にそれぞれ送信する（Ｓ１１０、Ｓ１１１）。被計算委託サーバ３００、４００では、該公開鍵情報Ｐbをそれぞれ一般パラメータ記憶部３０６及び一般パラメータ記憶部４０６に記憶する。
【００９７】
そして、ノード１００は、乱数生成部１１１において整数ｘ∈Ｆnを任意に生成し、秘密情報記憶部１０４に記憶させると共に、該整数ｘは秘密情報記憶部から読み出されて秘密情報分割部１０５に入力され、第１の部分ＤＨ秘密鍵ｘ1と第２の部分ＤＨ秘密鍵ｘ2とに分割されて暗号部１０２に出力される（Ｓ１１２）。
【００９８】
さらに、ノード１００では、暗号部１０２により、第１の部分ＤＨ秘密鍵ｘ1が第１の事前鍵情報ＰＳＫ1で暗号化され、第２の部分ＤＨ秘密鍵ｘ2が第２の事前鍵情報ＰＳＫ2で暗号化され、送受信部１０１を介して無線ＮＷ管理端末２００に送信される（Ｓ１１３）。
【００９９】
無線ＮＷ管理端末２００は、上記暗号化された第１の部分ＤＨ秘密鍵情報を第１の被計算委託サーバ３００にそのまま転送する（Ｓ１１４）と共に、上記暗号化された第２の部分ＤＨ秘密鍵情報を第２の被計算委託サーバ４００にそのまま転送する（Ｓ１１５）。
【０１００】
第２の被計算委託サーバ４００では暗号化された第２の部分ＤＨ秘密鍵情報Ｅｎｃ（ＰＳＫ2、ｘ2）を復号部４０４で復号し、秘密情報記憶部４０５に記憶させると共に、演算部４０７に出力する。そして、演算部４０７は、一般パラメータ記憶部４０６から生成元ｇを読み込んで第２の部分ＤＨ公開鍵情報ｇ＾（ｘ2）を作成して送受信部４０１を介して第１の被計算委託サーバ３００に送信する（Ｓ１１６）と共に、一般パラメータ記憶部４０６から公開鍵情報Ｐbを読み込んで第２の部分ＤＨ共有鍵情報Ｐb＾（ｘ2）を計算して暗号部４０８に出力する。
【０１０１】
そして、暗号部４０８は事前鍵情報ＰＳＫ2で該第２の部分ＤＨ共有鍵情報Ｐb＾（ｘ2）を暗号化して送受信部４０１を介して無線ＮＷ管理端末２００に送信する（Ｓ１１８）。
【０１０２】
一方、第１の被計算委託サーバ３００では暗号化された第１の部分ＤＨ秘密鍵情報Ｅｎｃ（ＰＳＫ1、ｘ1）を復号部３０４で復号し、秘密情報記憶部３０５に記憶させると共に、演算部３０７に出力する。そして、演算部３０７は、一般パラメータ記憶部３０６から生成元ｇを読み込んで第１の部分ＤＨ公開鍵情報ｇ＾（ｘ1）を作成して一般パラメータ記憶部３０６に一時的に記憶させると共に、一般パラメータ記憶部３０６から公開鍵情報Ｐbを読み込んで第１の部分ＤＨ共有鍵情報Ｐb＾（ｘ1）を計算して暗号部３０８に出力する。そして、暗号部３０８は事前鍵情報ＰＳＫ1で該第１の部分ＤＨ共有鍵情報Ｐb＾（ｘ1）を暗号化して送受信部３０１を介して無線ＮＷ管理端末２００に送信する。さらに、第１の被計算委託サーバ３００では、第２の部分ＤＨ公開鍵情報ｇ＾（ｘ2）を受信すると、一般パラメータ記憶部３０６に一時的に記憶させる。そして、一般パラメータ記憶部３０６から第１の部分ＤＨ公開鍵情報ｇ＾（ｘ1）と第２の部分ＤＨ公開鍵情報ｇ＾（ｘ2）が演算部３０７に出力される。そして、演算部３０７で巡回群Ｇに定義される演算で演算することにより、ＤＨ公開鍵情報Ｐxを生成して送受信部３０１を介して無線ＮＷ管理端末２００に送信する（Ｓ１１７）。
【０１０３】
そして、無線ＮＷ管理端末２００は、ＴＬＳハンドシェイクを開始してからＴＬＳサーバと送受したメッセージのハッシュ値ｈと、第１の被計算委託サーバ３００から受信したＤＨ公開鍵情報Ｐxから生成したパラメータｒと、パラメータ生成部２０６で抽出したクライアントランダム値ｒａｎｄcと、サーバランダム値ｒａｎｄsと、各被計算委託サーバから暗号化した第１の部分ＤＨ共有鍵情報Ｅｎｃ（ＰＳＫ1、Ｐb＾（ｘ1））と、暗号化した第２の部分ＤＨ共有鍵情報Ｅｎｃ（ＰＳＫ2、Ｐb＾（ｘ2））をノード１００に送信する（Ｓ１１９）。
【０１０４】
ノード１００は第１及び第２の部分ＤＨ共有鍵情報を受信すると、復号部１０３において、事前鍵情報記憶部１０６に記憶されている事前鍵情報ＰＳＫi（ｉ＝１、２）を用いて復号して共有鍵情報生成部１０９に出力する。さらに、ノード１００は、受信したクライアントランダム値ｒａｎｄc、サーバランダム値ｒａｎｄsも用いて共有鍵情報生成部１０９でＤＨ共有鍵情報Ｋを上記の（１）式によって生成し、秘密情報記憶部１０４に記憶させる。さらに、ノード１００は、無線ＮＷ管理端末２００から受信したハッシュ値ｈ及びパラメータｒ、及び秘密情報記憶部に記憶されている秘密鍵情報ａ及びＤＨ秘密鍵情報ｘを署名情報生成部１１０に与えて、上記の（２）式によって署名情報ｓを計算して無線ＮＷ管理端末２００に送受信部１０１を介して送信する（Ｓ１２０）。
【０１０５】
次に、無線ＮＷ管理端末２００は上記署名情報ｓを無線ＮＷ送受信部２０１から受信すると、ＴＬＳハンドシェイク制御部２０３がＴＬＳハンドシェイクメッセージ生成部２０４にこれを与える。そして、ＴＬＳハンドシェイクメッセージ生成部２０４は、無線ＮＷ管理部２０４からノード１００の公開鍵証明書を読み出してＣｅｒｔｉｆｉｃａｔｅメッセージを作成し、ＤＨ公開鍵情報ＰxからＣｌｉｅｎｔＫＸを作成し、署名情報ｓ及びパラメータｒからＣｅｒｔｉｆｉｃａｔｅＶｅｒｉｆｙ情報を作成し、これらと、ＣｈａｎｇｅＣｉｐｈｅｒｓｐｅｃメッセージを、インターネット送受信部２０２を介してＴＬＳサーバ６００に送信する（Ｓ１２１）。
【０１０６】
次に、無線ＮＷ管理端末２００は、ここまででＴＬＳサーバ６００から送受信したメッセージのハッシュ値ｈ’を、無線ＮＷ送受信部２０１を介してノード１００に送信する（Ｓ１２２）。
【０１０７】
また、ノード１００は、該ハッシュ値ｈ’をＦｉｎｉｓｈｅｄ生成部１１３で受け取り、ＴＬＳハンドシェイクプロトコルに規定のクライアントＦｉｎｉｓｈｅｄメッセージＦｉｎｉｓｈｅｄｃを生成して送受信部１０１を介して無線ＮＷ管理端末２００に送信する（Ｓ１２３）。
【０１０８】
次に、無線ＮＷ管理端末２００は、該クライアントＦｉｎｉｓｈｅｄメッセージをＴＬＳサーバ６００に送信する（Ｓ１２４）。
【０１０９】
また、無線ＮＷ管理端末２００は、ここまででＴＬＳサーパ６００と送受信したメッセージのハッシュ値ｈ’を、構成図中には図示していないが適当な記憶手段を用いて一時的に記憶し、ＴＬＳサーバ６００からＣｈａｎｇｅＣｉｐｅｒｓｐｅｃメッセージとＴＬＳハンドシェイクプロトコルに規定のサーバＦｉｎｉｓｈｅｄメッセージＦｉｎｉｓｈｅｄsをインターネット送受信部２０２から受信したものとする（Ｓ１２５）。
【０１１０】
そして、無線ＮＷ管理端末２００は、該サーバＦｉｎｉｓｈｅｄメッセージを上記ハッシュ値ｈ’’と共に無線ＮＷ送受信部２０１を介してノード１００に送信する（Ｓ１２６）。
【０１１１】
ノード１００では、ｈ’をＦｉｎｉｓｈｅｄ生成部１１３に入力してサーバＦｉｎｉｓｈｅｄメッセージＦｉｎｉｓｈｅｄsを生成して比較部１１４に出力すると共に、無線ＮＷ管理端末２００から受信したサーバＦｉｎｉｓｈｅｄメッセージを比較部１１４に入力する。比較部１１４で両サーバＦｉｎｉｓｈｅｄメッセージが一致するかどうかを吟味して、一致しない場合はＴＬＳハンドシェイクが失敗したこととする。
【０１１２】
（Ａ−３）実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【０１１３】
この実施形態の通信システム１では、ノード１００におけるＴＬＳハンドシェイクプロトコルの一部計算を、外部装置（第１の被計算委託サーバ３００、及び第２の被計算委託サーバ４００）に安全に痛くすることができる。
【０１１４】
また、乱数情報をノード１００側で生成することによりセキュリティ上のリスク（成りすまし等危険度）の抑制や、ＴＬＳハンドシェイクプロトコルに必要なトラフィック量を低減（例えば、特許文献３に記載されたシステムと比較して低減）することができる。
【０１１５】
さらに、通信システム１では、鍵共有とディジタル署名生成のための計算委託の回数を１回に抑えたことと、無線ＮＷ管理端末２００で各被計算委託サーバとノード１００との聞の通信をまとめることにより、ノード１００における計算・通信にかかる負担を軽減している。
【０１１６】
（Ｂ）他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【０１１７】
（Ｂ−１）上記の実施形態において、秘密情報分割部１０５は、整数ｘ＝ｘ1＋ｘ2となるよう分割するものとして説明したが、乱数生成部１１１でｘ1、ｘ2を生成し、これを暗号部１０２に与えて第１・第２の被計算委託サーバ３００、４００に配信すると共に、別途整数合成部を用意してｘ1＋ｘ2＝ｘを計算し、これを秘密情報記憶部１０４に記憶させるような構成にしても良い。
【０１１８】
（Ｂ−２）上記の実施形態では、事前鍵情報更新命令を出すタイミングを被計算委託サーバに事前鍵情報を配信する前であると説明したが、そのほかのタイミング（例えば、管理者の手動操作によるタイミングやタイマー処理）で更新を行っても良い。
【０１１９】
（Ｂ−３）ノード１００は、ＤＨ共有鍵Ｋを、無線ＮＷ管理端末２００に送り、無線ＮＷ管理端末２００がクライアントＦｉｎｉｓｈｅｄメッセージの生成及びＴＬＳサーバからのサーバＦｉｎｉｓｈｅｄメッセージを認証してもよい。これにより、ノード１００のＦｉｎｉｓｈｅｄメッセージの送受による通信量を削減できる。
【０１２０】
（Ｂ−４）上記の実施形態では、第２の被計算委託サーバ４００は１つであるものと説明したが、第２の被計算委託サーバ４００を複数配置するようにしてもよい。
【０１２１】
第２の被計算委託サーバ４００が複数台の場合、ノード１００の秘密情報分割部１０５は、ＤＨ秘密鍵ｘを、被計算委託サーバの台数分（第１の被計算委託サーバ３００と第２の被計算委託サーバ４００の合計数分）分割する。便宜上Ｍ台の第２の被計算委託サーバ４００に与える部分ＤＨ秘密鍵を、それぞれｘ21、ｘ22、・・・、ｘ2Mとする。
【０１２２】
また、第２の被計算委託サーバ４００が複数台の場合、第１の被計算委託サーバ３００は、それぞれの第２の被計算委託サーバ４００から、第２の部分ＤＨ公開鍵情報ｇ＾（ｘ21）〜ｇ＾（ｘ2M）を受信することになる。そして、第１の被計算委託サーバ３００は、第１の部分ＤＨ公開鍵情報ｇ＾（ｘ1）と、それぞれの第２の部分ＤＨ公開鍵情報ｇ＾（ｘ21）〜ｇ＾（ｘ2M）を演算部３０７に供給する。そして、演算部３０７では、第１の部分ＤＨ公開鍵情報ｇ＾（ｘ1）と、それぞれの第２の部分ＤＨ公開鍵情報ｇ＾（ｘ2）〜ｇ＾（ｘ2M）について、巡回群Ｇに定義される演算で演算することにより、ＤＨ公開鍵情報Ｐxを生成してノード１００に送信することになる。
【０１２３】
さらに、第２の被計算委託サーバ４００が複数台の場合、第１の被計算委託サーバ３００から供給された第１の部分ＤＨ共有鍵情報と、それぞれの第２の被計算委託サーバ４００から供給された第２の部分ＤＨ共有鍵情報に基づいてＤＨ共有鍵情報Ｋを生成する。
【０１２４】
（Ｂ−５）ノード１００のＤＨ公開鍵ペアをＰＫＩ発行の公開鍵ペアを利用する場合は、ディジタル署名を生成する必要はない（ＴＬＳハンドシェイクの暗号スイートがｆｉｘｅｄ＿ＥＣＤＨの場合）。
【０１２５】
（Ｂ−６）ＴＬＳプロトコルが失敗したとき、ノード１００は、被計算委託サーバに委託した計算を検算し、被計算委託サーバが正しく計算をしたかどうかをチェックしても良い。また、ノード１００は、検算の結果被計算委託サーバが正しい計算をしていなかった場合に、利用する被計算委託サーバを変更しても良い。
【符号の説明】
【０１２６】
１…通信システム、１００…ノード、１０１…送受信部、１０２…暗号部、１０３…復号部、１０４…秘密情報記憶部、１０５…秘密情報分割部、１０６…事前鍵情報記憶部、１０７…事前鍵情報更新部、１０８…事前鍵情報更新制御部、１０９…共有鍵情報生成部、１１０…署名情報生成部、１１１…乱数生成部、１１２…アドレス情報入力部、１１３…Ｆｉｎｉｓｈｅｄ生成部、１１４…Ｆｉｎｉｓｈｅｄ比較部、２００…無線ＮＷ管理端末、２０１…無線ＮＷ送受信部、２０２…インターネット送受信部、２０３…ＴＬＳハンドシェイク制御部、２０４…ＴＬＳハンドシェイクメッセージ生成部、２０５…無線ＮＷ管理部、２０６…パラメータ生成部、３００…第１の被計算委託サーバ、３０１…送受信部、３０２…鍵情報受信部、３０３…鍵情報記憶部、３０４…復号部、３０５…秘密情報記憶部、３０６…一般パラメータ記憶部、３０７…演算部、３０８…暗号部、４００…第２の被計算委託サーバ、４０１…送受信部、４０２…鍵情報受信部、４０３…鍵情報記憶部、４０４…復号部、４０５…秘密情報記憶部、４０６…一般パラメータ記憶部、４０７…演算部、４０８…暗号部、５００…鍵共有サーバ、５００…鍵共有サーバ、５０２…ノード情報記憶部、５０３…事前鍵情報更新部、５０４…事前鍵情報更新制御部、５０５…鍵配送部、６００…ＴＬＳサーバ、Ｎ１…インターネット、Ｎ２…無線ネットワーク。
【図１】
2016039456.tif 000003
【図２】
2016039456.tif 000004
【図３】
2016039456.tif 000005
【図４】
2016039456.tif 000006
【図５】
2016039456.tif 000007
【図６】
2016039456.tif 000008
【図７】
2016039456.tif 000009