(57)【要約】      （修正有）【課題】（Ｋ、Ｎ）しきい値秘密分散法を用いて情報通信を行う場合、データの分割片が通信経路上で盗聴されることにより送信すべきデータを盗聴者に復元されることのない鍵配送システムを提供する。【解決手段】サーバ１１０は、機器認証鍵を生成する機器認証鍵生成部１１１、機器認証鍵の配送に使用する秘密関数を生成する秘密関数生成部１１２、秘密関数の配送に使用する鍵を生成する関数配送鍵生成部１１３、情報の暗号化および復号を行う暗号部１１４、機器認証鍵を分割した情報である分散情報を生成する分散情報生成部１１５、機器認証鍵およびその配送に関する情報を鍵情報記憶装置１１８に登録する登録部１１６、外部との情報の送受信を行う通信部１１７、機器認証鍵およびその配送に関する情報を鍵情報データベースに保存する鍵情報記憶装置１１８、を有し、機器認証鍵の生成・配送およびクライアント機器１３０の認証を行う。【選択図】図１
2014116870.tif 000002
【特許請求の範囲】
【請求項１】
クライアント機器の認証をするサーバと、前記サーバにデータを送信するクライアント機器において、
前記サーバは、
前記クライアント機器に機器認証鍵を配送する際に使用する変数関数を生成する秘密関数生成部と、
前記変数関数の配送に使用する変数関数配送鍵を生成する関数配送鍵生成部と、
前記変数関数を前記変数関数配送鍵で暗号化し、第１の変数関数情報とする暗号部と、
前記第１の変数関数情報を前記クライアント機器に送信する通信部とを備え、
前記クライアント機器は、
前記サーバに機器認証鍵を配送する際に使用する項関数を生成する秘密関数生成部と、
前記項関数の配送に使用する項関数配送鍵を生成する関数配送鍵生成部と、
前記項関数を前記項関数配送鍵で暗号化し、第１の項関数情報とする暗号部と、
前記第１の項関数情報を前記サーバに送信する通信部とを備え、
前記サーバは、
前記項関数の取得鍵を生成する取得鍵生成部を更に備え、
前記暗号部が前記クライアント機器から取得した前記第１の変数関数情報を前記項関数の取得鍵で更に暗号化し、第２の項関数情報とし、
前記通信部が暗号化された前記第１の変数関数情報を前記クライアント機器に送信し、
前記クライアント機器は、
前記第２の項関数情報を、前記項関数配送鍵で復号する復号部を更に備え、
前記通信部は復号された前記第２の項関数情報を前記サーバに送信し、
前記サーバは、
復号された前記第２の項関数情報を更に復号する復号部を備える
ことを特徴とする鍵配送システム。
【請求項２】
請求項１に記載の鍵配送システムであって、
前記サーバは、更に、多項式を生成する分散情報生成部を備え、
前記サーバの通信部は、分散情報と、復号された前記第２の項関数情報である第３の項関数情報とを前記クライアント機器に送信し、
前記クライアント機器は、前記第３の項関数情報を復号して、変数関数を取得する暗号部と、
分散情報を取得し、機器認証鍵を取得する秘密情報復元部とを更に備える
ことを特徴とする鍵配送システム。
【請求項３】
請求項１に記載の鍵配送システムであって、
前記サーバと前記クライアント機器の通信を仲介するゲートウェイを更に有し、
前記ゲートウェイは、外部との通信を行う通信部、を有し、
前記通信部は、サーバが機器認証鍵をクライアント機器に配送する処理の一部を代行する、
ことを特徴とした鍵配送システム。
【請求項４】
クライアント機器の認証をするサーバと、前記サーバにデータを送信するクライアント機器において、
前記サーバは、
前記クライアント機器に機器認証鍵を配送する際に使用する変数関数を生成し、
前記変数関数の配送に使用する変数関数配送鍵を生成し、
前記変数関数を前記変数関数配送鍵で暗号化し、第１の変数関数情報とし、
前記第１の変数関数情報を前記クライアント機器に送信し、
前記クライアント機器は、
前記サーバに機器認証鍵を配送する際に使用する項関数を生成し、
前記項関数の配送に使用する項関数配送鍵を生成し、
前記項関数を前記項関数配送鍵で暗号化し、第１の項関数情報とし、
前記第１の項関数情報を前記サーバに送信し、
前記サーバは、
前記項関数の取得鍵を生成し、
前記第１の変数関数情報を前記項関数の取得鍵で更に暗号化し、第２の項関数情報とし、
暗号化された前記第１の変数関数情報を前記クライアント機器に送信し、
前記クライアント機器は、
前記第２の項関数情報を、前記項関数配送鍵で復号し、
復号された前記第２の項関数情報を前記サーバに送信し、
前記サーバは、
復号された前記第２の項関数情報を更に復号する
ことを特徴とする鍵配送方法。
【請求項５】
請求項４に記載の鍵配送方法であって、
前記サーバは、更に、多項式を生成し、
分散情報と、復号された前記第２の項関数情報である第３の項関数情報とを前記クライアント機器に送信し、
前記クライアント機器は、前記第３の項関数情報を復号して、変数関数を取得し、
さらに分散情報を取得し、前記分散情報に基づいて機器認証鍵を取得する
ことを特徴とする鍵配送方法。
【請求項６】
請求項４に記載の鍵配送方法であって、
前記サーバと前記クライアント機器の通信を仲介するゲートウェイを更に有し、
前記ゲートウェイは、外部との通信を行い、
前記サーバが機器認証鍵をクライアント機器に配送する処理の一部を代行する、
ことを特徴とした鍵配送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器認証の前に行う鍵配送システムに関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特許文献１に記載の技術がある。この公報には、「アドホックネットワークにおける情報漏洩を防止することのできるデータ通信システムを提供する。データ通信システムは、アドホックネットワーク１０によってデータを送受信するシステムであり、送信ノード１１と受信ノード１２を有している。送信ノード１１は、送信すべきデータを複数の分割片に分割し、複数の分割片を複数回に分けて送信する。受信ノード１２は、送信ノード１１から複数回に分けて送信された分割片を受信し、複数の分割片から元のデータを復元する。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３１２１１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のデータ通信システムでは、（Ｋ、Ｎ）しきい値秘密分散法を用いて情報通信を行うため、パケット紛失の可能性のある通信経路を使用した場合でも、確実な情報伝達が可能である。しかし、前記特許文献１のデータ通信システムでは、送信すべきデータの分割片は暗号化などで保護されていないため、分割片を通信経路上で必要個以上盗聴されると、送信すべきデータを盗聴者に復元されてしまい、情報漏洩が起きる可能性がある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、例えば、サーバは、変数関数を前記変数関数配送鍵で暗号化し、第１の変数関数情報とする暗号部と、第１の変数関数情報をクライアント機器に送信する通信部と、クライアント機器は、項関数を項関数配送鍵で暗号化し、第１の項関数情報とする暗号部と、第１の項関数情報をサーバに送信する通信部と、サーバは、クライアント機器から取得した第１の変数関数情報を項関数の取得鍵で更に暗号化し、第２の項関数情報とし、通信部が暗号化された第１の変数関数情報をクライアント機器に送信し、クライアント機器は、第２の項関数情報を、項関数配送鍵で復号する復号部と、サーバは、号された第２の項関数情報を更に復号する復号部を備える。
【発明の効果】
【０００６】
本発明によれば、パケットが紛失する可能性のある通信経路を使用した場合でも安全に秘密鍵の配送が行うことができる
【図面の簡単な説明】
【０００７】
【図１】鍵配送システムのシステム構成図の例である。
【図２】サーバのハードウェア構成図の例である。
【図３】ゲートウェイのハードウェア構成図の例である。
【図４】クライアント機器のハードウェア構成図の例である。
【図５】サーバの鍵情報データベースの例である。
【図６】クライアント機器の鍵情報データベースの例である。
【図７】機器認証鍵の登録処理のフローチャートの例１である。
【図８】機器認証鍵の登録処理のフローチャートの例２である。
【図９】機器認証鍵の登録処理のフローチャートの例３である。
【図１０】機器認証鍵の登録処理のフローチャートの例４である。
【図１１】機器認証鍵の登録処理のフローチャートの例５である。
【図１２】機器認証鍵の登録処理のフローチャートの例６である。
【図１３】全体処理フローチャートである。
【発明を実施するための形態】
【０００８】
以下、実施例を図面を用いて説明する。
実施例では、パケットが紛失する可能性のある通信経路を使用した場合でも安全に秘密鍵の配送が行うことができる鍵配送システムを、設置された建屋の電力消費量を検針するクライアント機器１３０が管理サーバ１１０へ検針値を定期的に送信する検針システムにおいて、サーバ１１０がクライアント機器１３０を識別・認証する手段として適用した場合を例に挙げて説明する。
【０００９】
本システムでは、サーバ１１０とクライアント機器１３０が共通の鍵である機器認証鍵を保持しており、サーバ１１０がクライアント機器１３０へ送信した乱数をクライアント機器１３０が機器認証鍵で暗号化して送り返し、サーバ１１０がこの暗号データを検証することによりクライアント機器１３０が認証され、検針値の送信が始まる形態をとる。なお検針値は、例えば検針時間帯と組み合わせて閲覧するとクライアント機器１３０設置建屋の住人の生活リズムや家族構成等が推測できるなど、極めてプライベート性の高い情報であるため、サーバ１１０へは機器認証鍵で暗号化されて送信されるとする。
【００１０】
また、本実施例では、サーバ１１０とクライアント機器１３０が情報通信を行う際には、互いに正しい機器と通信を行っているという事前確認（相互認証）は済んでいるものとする。
【００１１】
鍵配送システムは、秘密情報をＮ個に分割して送信し、そのうちのＫ個を受信すれば秘密情報を復元できる秘密分散アルゴリズム（以下、（Ｋ、Ｎ）しきい値秘密分散法）において、分割された秘密情報（以下、分散情報）を送信する情報処理装置（以下、分散情報送信装置）が生成する秘密関数と、分散情報を受信し秘密情報を復元する情報処理装置（以下、分散情報受信装置）が生成する秘密関数を、排他的論理和の性質を利用した暗号通信により分散情報送信装置と分散情報受信装置の間で安全に共有し、分散情報の生成および秘密情報の復元に用いることを特徴とする。
【００１２】
ここで、本実施例では、分散情報送信装置が生成する秘密関数を変数関数、分散情報受信装置が生成する秘密関数を項関数と定義する。
【００１３】
また、分散情報送信装置が分散情報受信装置へ変数関数を送信する過程において、分散情報送信装置が分散情報受信装置へ送信する情報を変数関数情報１、変数関数情報１の受信後に分散情報受信装置が分散情報送信装置へ送信する情報を変数関数情報２、変数関数情報２の受信後に分散情報送信装置が分散情報受信装置へ送信する情報を変数関数情報３、と定義する。また、分散情報送信装置が変数関数情報１および変数関数情報３の暗号化に用いる秘密鍵を変数関数配送鍵、分散情報受信装置が変数関数情報２の暗号化および変数関数情報３の解読による変数関数の取得に用いる秘密鍵を変数関数取得鍵と定義する。
【００１４】
また、分散情報受信装置が分散情報送信装置へ項関数を送信する過程において、分散情報受信装置が分散情報送信装置へ送信する情報を項関数情報１、項関数情報１の受信後に分散情報送信装置が分散情報受信装置へ送信する情報を項関数情報２、項関数情報２の受信後に分散情報受信装置が分散情報装置へ送信する情報を項関数情報３、と定義する。また、分散情報受信装置が項関数情報１および項関数情報３の暗号化に用いる秘密鍵を項関数配送鍵、分散情報送信装置が項関数情報２の暗号化および項関数情報３の解読による項関数の取得に用いる秘密鍵を項関数取得鍵と定義する。
【００１５】
また、機器認証鍵の登録・更新に先立ち分散情報送信装置に登録される変数関数および変数関数配送鍵および項関数情報１を分散情報送信装置の事前情報、分散情報受信装置に登録される項関数および項関数配送鍵および変数関数情報１を分散情報受信装置の事前情報と定義する。
【００１６】
また、本実施例で用いる暗号方式について、例えば暗号鍵Ｋｅｙによる平文Ｍの暗号化を
【００１７】
【数１】
2014116870.tif 000003
【００１８】
、暗号鍵Ｋｅｙによって平文Ｍが暗号化されている暗号文の、暗号鍵Ｋｅｙによる解読（平文Ｍの復号）を
【００１９】
【数２】
2014116870.tif 000004
【００２０】
と定義する。
【００２１】
また本実施例では、サーバ１１０に保存されているデータを不正に持ち出すサーバ管理者をサーバ１１０の内部不正者、クライアント機器１３０に不正アクセスしクライアント機器１３０内に保存されているデータを持ち出す者をクライアント１３０機器のハッカーと定義する。なお、サーバ１１０の管理者は複数人いるものとする。また、サーバ１１０とライアント機器１３０の通信経路上に介在し通信内容を盗聴する者を盗聴者と定義する。盗聴者にはサーバ１１０の内部不正者、クライアント機器１３０のハッカー、サーバ１１０の内部不正者およびクライアント機器１３０のどちらでもない者の三者を想定し、このうちサーバ１１０の内部不正者およびクライアント機器１３０のどちらでもない者を第三者と定義する。また本システムの仕様では、サーバ１１０の管理者がサーバ１１０の管理室からリモートでクライアント機器１３０にアクセスしクライアント機器１３０内のプログラムを見ることは不可能とする。つまり、サーバ１１０の管理者が管理者権限の利用を前提としてクライアント機器１３０のハッカーとなることは不可能である。
【００２２】
また、機器認証鍵の新規登録および更新時は、サーバ１１０の管理者は全員信用できる者が配置されており、またクライアント機器１３０は安全な状態にあるものとする。サーバ１１０の内部不正者およびクライアント機器１３０のハッカーは、機器認証鍵の新規登録および更新後に、信頼できるサーバ１１０の管理者の内部不正者への転身、クライアント機器１３０への新たな不正アクセスなどによって現れるものとする。
【００２３】
図１は、本実施例の鍵配送システムのシステム構成図の例である。
鍵配送システム１００は、サーバ１１０、ゲートウェイ１２０、クライアント機器１３０、を有する。なお、ゲートウェイとクライアント機器は鍵配送システム１００全体では複数存在するが、図１では鍵配送システム１００の一部として、一つのゲートウェイに数個のクライアント機器が接続されている例を示す。
【００２４】
サーバ１１０は、機器認証鍵を生成する機器認証鍵生成部１１１、機器認証鍵の配送に使用する秘密関数を生成する秘密関数生成部１１２、秘密関数生成部１１２および秘密関数生成部１３２で生成される秘密関数の配送に使用する鍵を生成する関数配送鍵生成部１１３、情報の暗号化および復号を行う暗号部１１４、機器認証鍵を分割した情報である分散情報を生成する分散情報生成部１１５、機器認証鍵およびその配送に関する情報を鍵情報記憶装置１１８に登録する登録部１１６、外部との情報の送受信を行う通信部１１７、機器認証鍵およびその配送に関する情報を鍵情報データベース（図５参照）に保存する鍵情報記憶装置１１８、を有し、機器認証鍵の生成・配送およびクライアント機器１３０の認証を行う。
【００２５】
ゲートウェイ１２０は、外部との通信を行う通信部１２７、を有し、サーバ１１０とクライアント機器１３０の通信を仲介し、またサーバ１１０が機器認証鍵をクライアント機器１３０に配送する処理の一部を代行する。
【００２６】
クライアント機器１３０は、機器認証鍵の配送に使用する秘密関数を生成する秘密関数生成部１３２、秘密関数生成部１１２および秘密関数生成部１３２で生成される秘密関数の配送に使用する鍵を生成する関数配送鍵生成部１３３、情報の暗号化および復号を行う暗号部１３４、分散情報から秘密情報である機器認証鍵を復元する秘密情報復元部１３５、機器認証鍵およびその配送に関する情報を鍵情報記憶装置１３８に登録する登録部１３６、外部との通信を行う通信部１３７、機器認証鍵およびその配送に関する情報を鍵情報データベース（図５参照）に保存する鍵情報記憶装置１３８、を有し、サーバ１１０が生成した機器認証鍵の取得および検針値のサーバ１１０への送信を行う。
【００２７】
サーバ１１０、ゲートウェイ１２０、クライアント機器１３０は、情報処理が可能なコンピュータ（情報処理装置）である。なお本実施例では、サーバ１１０とゲートウェイ１２０はＴＣＰ／ＩＰネットワーク、ゲートウェイ１２０とクライアント機器１３０はＵＤＰ／ＩＰネットワークで接続しているものとする。
【００２８】
図２は、サーバ１１０のハードウェアの構成図の例である。
サーバ１１０は、ＣＰＵ２０１、メモリ２０２、ＨＤＤ２０３、入力装置２０４、出力装置２０５、通信装置２０６、とから構成することができる。
機器認証鍵生成部１１１、秘密関数生成部１１２、関数配送鍵生成部１１３、暗号部１１４、登録部１１６、通信部１１７は、ＨＤＤ２０３からメモリ２０２にロードされたプログラムに従って、ＣＰＵ２０１が動作することにより実現される。また、秘密鍵やデータベースはＨＤＤ２０３内に構築される。
【００２９】
図３は、ゲートウェイ１２０のハードウェアの構成図の例である。
ゲートウェイ１２０は、ＣＰＵ３０１、メモリ３０２、入力装置３０４、出力装置３０５、通信装置３０６、とから構成することができる。通信部１２７は、メモリ３０２にロードされたプログラムに従って、ＣＰＵ３０１が動作することにより実現される。
【００３０】
図４は、クライアント機器１３０のハードウェアの構成図の例である。
クライアント機器１３０は、ＣＰＵ４０１、メモリ４０２、ＨＤＤ４０３、入力装置４０４、出力装置４０５、通信装置４０６、とから構成することができる。
秘密関数生成部１３２、関数配送鍵生成部１３３、暗号部１３４、登録部１３６、通信部１３７は、ＨＤＤ４０３からメモリ４０２にロードされたプログラムに従って、ＣＰＵ４０１が動作することにより実現される。また、秘密鍵やデータベースはＨＤＤ４０３内に構築される。
【００３１】
図５は、本実施例のサーバ１１０の鍵情報データベースの例である。本実施例では、クライアント機器１３０のＩＤ、事前情報すなわち変数関数と変数関数配送鍵と項関数情報１、（Ｋ、Ｎ）しきい値秘密分散法の定数、送受信規定値すなわち項関数情報１の受信処理規定値と項関数情報１および変数関数情報２の受信処理規定値をサーバ１１０の鍵情報データベースに保存する。（Ｋ、Ｎ）しきい値秘密分散法の定数とは、秘密情報復元に必要な分散情報の最低数Ｋおよび分散情報の総数Ｎである。受信処理規定値とは、情報を受信する際の受信待ち時間の上限値および受信すべき情報の送信要求を行う回数の上限値である。
【００３２】
なお本実施例では、サーバ１１０の管理者は業務遂行において担当するクライアント機器１３０が決められており、鍵情報データベースにおける担当外のクライアント機器１３０部分は、例えばパスワード認証で制限され、閲覧が不可能とする。このような運用形態は、サーバ１１０の内部不正者の犯行による大規模なクライアント機器１３０の鍵情報の漏洩を防ぐ効果がある。
【００３３】
図６は、本実施例のクライアント機器１３０の鍵情報データベースの例である。本実施例では、クライアント機器１３０のＩＤ、事前情報すなわち項関数と項関数配送鍵と変数関数情報１、（Ｋ、Ｎ）しきい値秘密分散法の定数、送受信規定値すなわち変数関数情報１の受信処理規定値と項関数情報１の送信処理規定値と項関数情報３および変数関数情報２の送信処理規定値と変数関数情報３および分散情報の受信処理規定値をクライアント機器１３０の鍵情報データベースに保存する。（Ｋ、Ｎ）しきい値秘密分散法の定数とは、秘密情報復元に必要な分散情報の最低数Ｋおよび分散情報の総数Ｎである。受信処理規定値とは、情報を受信する際の受信待ち時間の上限値および受信すべき情報の送信要求を行う回数の上限値である。送信処理規定値とは、送信すべき情報についての、相手機器からの送信要求の受信有無を確認する回数の上限値である。
【００３４】
図５および図６に示すように、本実施例では、変数関数、変数関数配送鍵、項関数、項関数配送鍵、（Ｋ、Ｎ）しきい値秘密分散法の定数、送受信規定値をクライアント機器ごとに個別に設定する。このような仕様は、サーバ１１０の内部不正者やクライアント機器１３０ハッカーによる少数のクライアント機器への攻撃（鍵情報の不正取得）から、大規模なクライアント機器の鍵情報の漏洩を防ぐ効果がある。
【００３５】
次に、本実施例における機器認証鍵の登録処理フローを図を用いて説明する。本発明の鍵配送システムでは、機器認証鍵の登録処理は事前情報の登録処理と機器認証鍵の配送処理の二つに分かれており、事前情報の登録処理フローを図７と図８、機器認証鍵の配送処理フローを図９と図１０と図１１と図１２でそれぞれ説明する。なお、機器認証鍵の登録処理フローは、事前情報の登録処理、機器認証鍵の配送処理、事前情報の登録処理（二回目）の順に進む。
【００３６】
図１３は、全体処理フローチャートである。ステップSR1〜４、ステップCL１〜４の詳細は、図７、８である。ステップSR5〜12、ステップCL11の詳細は、図９〜１２である。
サーバ110の秘密関数生成部は、クライアント機器に機器認証鍵を配送する際に使用するｇ（ｔ）（変数関数とする）を生成し（ステップSR1）、
サーバの関数配送鍵生成部は、変数関数の配送に使用するKeySR1-5（変数関数配送鍵）を生成し（ステップSR2）、
サーバの暗号部は、変数関数を変数関数配送鍵で暗号化（暗号化したものを変数関数情報１とする）する（ステップSR3）。なお、変数関数情報１は第１の変数関数情報とよぶ。
【００３７】
サーバの通信部は、変数関数情報１をクライアント機器に送信し（ステップSR4）、
クライアント機器の秘密関数生成部は、サーバに機器認証鍵を配送する際に使用するｈ（ｔ）(項関数とする)を生成し（ステップCL1）、
クライアント機器の関数配送鍵生成部は、項関数配送に使用するKeyCL1-5（項関数配送鍵）を生成し（ステップCL2）、
クライアント機器の暗号部は、項関数を項関数配送鍵で暗号化（暗号化したものを項関数情報１とする)し（ステップCL3）、
クライアント機器の通信部は、項関数情報１をサーバに送信し（ステップCL4）、
サーバの取得鍵生成部は、項関数取得鍵KeySR2-5を生成し（ステップSR5）、
サーバの暗号部がクライアント機器から取得した項関数情報１を項関数取得鍵で更に暗号化(さらに暗号化したものを項関数情報２とする)し（ステップSR6）、
サーバの通信部が項関数情報２をクライアント機器に送信し（ステップSR7）、
クライアント機器の関数配送鍵生成部は、変数関数取得鍵KeyCL2-5を生成し（ステップCL5）、
クライアント機器の暗号部は、変数関数情報１を変数関数取得鍵で暗号化（暗号化したものを変数関数情報２とする）し（ステップCL6）、
クライアント機器の通信部は、変数関数情報２をサーバに送信し（ステップCL7）、
クライアント機器の暗号部は、項関数情報２を項関数配送鍵で復号（復号したものを項関数情報３とする）し（ステップCL8）、
クライアント機器の通信部は、項関数情報３をサーバに送信し（ステップCL9）、
サーバの暗号部は、変数関数情報を変数関数配送鍵で復号（復号したものを変数関数情報３とする）し（ステップSR8）、
サーバの暗号部は、項関数情報３を項関数取得鍵で復号して項関数を取得し（ステップSR9）、
サーバの機器認証鍵生成部は、機器認証鍵KeyMAを生成し（ステップSR10）、
サーバの分散情報生成部は、多項式を生成し（ステップSR11）、
サーバの通信部は、分散情報と変数関数情報３をクライアント機器に送信し（ステップSR12）、
クライアント機器の暗号部は、変数関数情報3を変数関数取得鍵で復号して変数関数を取得し（ステップCL10）、
クライアント機器の秘密情報復元部は、分散情報Ｋ個を取得して機器認証鍵KeyMAを取得する（ステップCL11）。
【００３８】
図７は、本実施例の事前情報の登録処理のフローチャート例１である。
まずサーバ１１０の鍵情報記憶装置１１８の鍵情報データベースに、新規に設置されたクライアント機器１３０の機器ＩＤ、（Ｋ、Ｎ）しきい値秘密分散法の定数、送受信規定値が入力され、サーバ１１０が新しいクライアント機器１３０用の機器認証鍵の登録処理を開始する（Ｓ７０１）。本実施例では、新しいクライアント機器１３０の機器ＩＤは、図６に示すクライアント機器１３０の鍵情報データベースと同じ５とする。
サーバ１１０の秘密関数生成部１１２が、変数関数
【００３９】
【数３】
2014116870.tif 000005
【００４０】
を生成する（Ｓ７０２）。変数関数
（数３）
は例えば、
【００４１】
【数４】
2014116870.tif 000006
【００４２】
とする。
【００４３】
サーバ１１０の登録部１１６が、変数関数
（数３）
を鍵情報記憶装置１１８の鍵情報データベースに登録する（Ｓ７０３）。
サーバ１１０の配送用鍵生成部１１１が、任意のビット列
【００４４】
【数５】
2014116870.tif 000007
【００４５】
を生成し、変数関数配送鍵とする（Ｓ７０４）。
【００４６】
サーバ１１０の登録部１１６が、変数関数配送鍵
（数５）
を鍵情報記憶装置１１８の鍵情報データベースに登録する（Ｓ７０５）。
【００４７】
サーバ１１０の暗号部１１４が、変数関数
（数３）
を変数関数配送鍵 
（数５）
で暗号化し、変数関数情報１
【００４８】
【数６】
2014116870.tif 000008
【００４９】
とする（Ｓ７０６）。
【００５０】
サーバ１１０の通信部１１７が、変数関数情報１
（数６）
を機器ＩＤ、ＱＱ-5、Ｂ-5と共にゲートウェイ１２０に送信する（Ｓ７０７）。ＱＱ-5は項関数情報１の受信待ち時間の上限値（Ｓ８０９参照）、Ｂ-5は項関数情報１の送信要求回数の上限値である（Ｓ８１０参照）。
【００５１】
ゲートウェイ１２０の通信部１２７が、サーバ１１０より受信した変数関数情報１
（数６）
をクライアント機器１３０へ送信する（Ｓ７０８）。この際、ゲートウェイ１２０の通信部１２７は、変数関数情報１
（数６）
をクライアント機器１３０へ複数回、例えば５回送信する。同じ情報の複数回送信は、通信経路上のパケット紛失により相手機器に情報が届かない確率を低減する効果がある。
【００５２】
なお、本実施例において、ゲートウェイ１２０はこれ以降もサーバ１１０とクライアント機器１３０の通信を仲介し、確実な情報送受信の支援やエラー検知などを行う。これは本来サーバ１１０が行うべき処理であるが、サーバ１１０には複数のクライアント機器が接続されているため、クライアント機器毎にこれを実行するとサーバ１１０への負荷が大きくなり、処理が停滞するリスクがある。よって、中間機器であるゲートウェイ１２０が自身に接続されているクライアント機器との通信においてサーバの処理を代行することは、サーバへの負荷を軽減し鍵配送システム１００全体の処理を効率化する効果がある。
【００５３】
クライアント機器１３０の建屋への設置が完了すると、クライアント機器１３０が新しい機器認証鍵登録処理を開始する（Ｓ７０９）。このとき、クライアント機器１３０の鍵情報記憶装置１３８の鍵情報データベースには、クライアント機器１３０の機器ＩＤ、（Ｋ、Ｎ）しきい値秘密分散法の定数、送受信規定値が入力されている。
【００５４】
クライアント機器１３０の秘密関数生成部１３２が、項関数
【００５５】
【数７】
2014116870.tif 000009
【００５６】
を生成する（Ｓ７１０）。項関数
（数７）
は例えば、
【００５７】
【数８】
2014116870.tif 000010
【００５８】
とする。
【００５９】
クライアント機器１３０の登録部１３６が、項関数
（数７）
を鍵情報記憶装置１３８の鍵情報データベースに登録する（Ｓ７１１）。
【００６０】
クライアント機器１３０の配送用鍵生成部１３１が、任意のビット列
【００６１】
【数９】
2014116870.tif 000011
【００６２】
を生成し、項関数配送鍵とする（Ｓ７１２）。
【００６３】
クライアント機器１３０の登録部１３６が、項関数配送鍵
（数９）
を鍵情報記憶装置１３８の鍵情報データベースに登録する（Ｓ７１３）。
【００６４】
クライアント機器１３０の暗号部１３４が、項関数
（数７）
を項関数配送鍵
（数９）
で暗号化し、項関数情報１
【００６５】
【数１０】
2014116870.tif 000012
【００６６】
とする（Ｓ７１４）。
【００６７】
クライアント機器１３０の通信部１３７が、変数ｔに初期値１を与える（Ｓ７１５）。
【００６８】
クライアント機器１３０の通信部１３７が、Ｔ＿ＣＬの計測を開始する（Ｓ７１６）。    ＣＬは、クライアント機器１３０で計測する、ある時点からの経過時間である。
【００６９】
一定時間待機（Ｓ７１７）した後、クライアント機器１３０の通信部１３７が、サーバ１１０より変数関数情報１
（数６）
を受信したかどうかを確認する（Ｓ７１８）。
【００７０】
Ｓ７１８でサーバ１１０より変数関数情報１
（数６）
を受信していれば、クライアント機器１３０の通信部１３７がＴ＿ＣＬの計測を終了し（Ｓ７１９）、クライアント機器１３０の登録部１３６が、変数関数情報１
（数６）
を鍵情報記憶装置１３８の鍵情報データベースに登録する（Ｓ７２０）。
Ｓ７１８でサーバ１１０より変数関数情報１
（数６）
を受信していなければ、クライアント機器１３０の通信部１３７が、Ｔ＿ＣＬがＰＰ-5を越えているかどうかを確認する（Ｓ７２１）。ＰＰ-5は変数関数情報１の受信待ち時間の上限値である。
【００７１】
Ｓ７２１でＴ＿ＣＬがＰＰ-5を越えていなければ、Ｓ７１７の前へ処理を戻す。
【００７２】
Ｓ７２１でＴ＿ＣＬがＰＰ-5を越えていれば、クライアント機器１３０の通信部１３７が、ｔがＡ-5を越えているかどうかを確認する（Ｓ７２２）。Ａ-5は変数関数情報１の送信要求回数の上限値である。
【００７３】
Ｓ７２２でｔがＡ-5を越えていなければ、クライアント機器１３０の通信部１３７が変数関数情報１
（数６）
の送信要求を機器ＩＤと共にゲートウェイ１２０に送信し（Ｓ７２３）、クライアント機器１３０の通信部１３７が変数ｔに１加算し（Ｓ７２４）、Ｔ＿ＣＬの計測を中断・リセット（Ｓ７２５）してからＳ７１７の前へ処理を戻す。
【００７４】
Ｓ７２２でｔがＡ-5を越えていれば、クライアント機器１３０の通信部１３７がＴ＿ＣＬの計測を終了し（Ｓ７２６）、エラーを出力して処理を終了する（Ｓ７２７）。
Ｓ７０８後、ゲートウェイ１２０の通信部１２７は一定時間待機（Ｓ７２８）した後、クライアント機器１３０より変数関数情報１
（数６）
の送信要求を受信したかどうかを確認する（Ｓ７２９）。
Ｓ７２９でクライアント機器１３０より変数関数情報１
（数６）
を受信していれば、Ｓ７０８の前へ処理を戻す。
【００７５】
Ｓ７２９でクライアント機器１３０より変数関数情報１
（数６）
を受信していなければ、処理をＳ８０３（図８）へ進める。
【００７６】
図８は、本実施例の事前情報の登録処理のフローチャート例２である。
クライアント機器１３０の通信部１３７が、変数ｚに初期値１を与える（Ｓ８０１）。
クライアント機器１３０の通信部１３７が、Ｓ７１４で暗号化した結果である項関数情報１
【００７７】
【数１０】
2014116870.tif 000013
【００７８】
を機器ＩＤと共にゲートウェイ１２０に送信する（Ｓ８０２）。
【００７９】
ゲートウェイ１２０の通信部１２７が、Ｔ＿ＧＷの計測を開始する（Ｓ８０３）。Ｔ＿ＧＷは、ゲートウェイ１２０で計測する、ある時点からの経過時間である。
ゲートウェイ１２０の通信部１２７が、変数ｙに初期値１を与える（Ｓ８０４）。
【００８０】
一定時間待機（Ｓ８０５）した後、ゲートウェイ１２０の通信部１２７が、クライアント機器１３０より項関数情報１
（数１０）
を受信したかどうかを確認する（Ｓ８０６）。
Ｓ８０６でクライアント機器１３０より項関数情報１
（数１０）
を受信していれば、ゲートウェイ１２０の通信部１２７が、Ｔ＿ＧＷの計測を終了し（Ｓ８０７）、ゲートウェイ１２０の通信部１２７が、項関数情報１
（数１０）
を機器ＩＤと共にサーバ１１０に送信する（Ｓ８０８）。
【００８１】
Ｓ８０６でクライアント機器１３０より項関数情報１
（数１０）
を受信していなければ、ゲートウェイ１２０の通信部１２７が、Ｔ＿ＧＷがＱＱ-5を越えているかどうかを確認する（Ｓ８０９）。ＱＱ-5は項関数情報１の受信待ち時間の上限値である。
【００８２】
Ｓ８０９でＴ＿ＧＷがＱＱ-5を越えていなければ、Ｓ８０５の前へ処理を戻す。
【００８３】
Ｓ８０９でＴ＿ＧＷがＱＱ-5を越えていれば、ゲートウェイ１２０の通信部１２７が、ｙがＢ-5を越えているかどうかを確認する（Ｓ８１０）。Ｂ-5は項関数情報１の送信要求回数の上限値である。
【００８４】
Ｓ８１０でｙがＢ-5を越えていなければ、ゲートウェイ１２０の通信部１２７が項関数情報１
（数１０）
の送信要求をクライアント機器１３０に送信し（Ｓ８１１）、ゲートウェイ１２０の通信部１２７が変数ｙに１加算し（Ｓ８１２）、Ｔ＿ＧＷの計測を中断・リセット（Ｓ８１３）してからＳ８０５の前へ処理を戻す。
【００８５】
Ｓ８１０でｙがＢ-5を越えていれば、ゲートウェイ１２０の通信部１２７がＴ＿ＧＷの計測を終了し（Ｓ８１４）、従業員派遣要求を機器ＩＤと共にサーバ１１０に送信する（Ｓ８１５）。
【００８６】
Ｓ８０２後、クライアント機器１３０の通信部１３７は一定時間待機（Ｓ８１６）した後、ゲートウェイ１２０より項関数情報１
（数１０）
の送信要求を受信したかどうかを確認する（Ｓ８１７）。
【００８７】
Ｓ８１７でゲートウェイ１２０より項関数情報１
（数１０）
を受信していれば、Ｓ８０２の前へ処理を戻す。
【００８８】
Ｓ８１７でゲートウェイ１２０より項関数情報１
（数１０）
を受信していなければ、クライアント機器１３０の通信部１３７が変数ｚに１加算し（Ｓ８１８）、変数ｚがＣ-5を越えているかどうかを確認する（Ｓ８１９）。Ｃ-5は項関数情報１の送信要求受信確認回数の上限値である。
Ｓ８１９でｚがＣ-5を越えていなければ、Ｓ８１６の前へ処理を戻す。
【００８９】
Ｓ８０９でｚがＣ-5を越えていれば、事前情報の登録処理を終了する。
なお、この時点ではＳ８２０は実行しない。
【００９０】
Ｓ７０７後、サーバ１１０の通信部１１７は、ゲートウェイ１２０より従業員派遣要求を受信したかどうかを確認する（Ｓ８２１）。
【００９１】
Ｓ８２１でゲートウェイ１２０より従業員派遣要求を受信していなければ、サーバ１１０の登録部１１６が、ゲートウェイ１２０より受信した項関数情報１
（数１０）
を鍵情報記憶装置１１８の鍵情報データベースに登録し事前情報の登録処理を終了する（Ｓ８２２）。
【００９２】
Ｓ８２１でゲートウェイ１２０より従業員派遣要求を受信していれば、処理を終了しクライアント機器１３０へ従業員を派遣する（Ｓ８２３）。
【００９３】
図９は、本実施例の機器認証鍵の配送処理のフローチャート例１である。
サーバ１１０の関数配送鍵生成部１１３が、任意のビット列
【００９４】
【数１１】
2014116870.tif 000014
【００９５】
を生成し、項関数取得鍵とする（Ｓ９０１）。
サーバ１１０の暗号部１１４が、鍵情報記憶装置１１８に保存してあった項関数情報１
（数１０）
を項関数取得鍵
（数１１）
で暗号化し、項関数情報２
【００９６】
【数１２】
2014116870.tif 000015
【００９７】
とする（Ｓ９０２）。
【００９８】
サーバ１１０の通信部１１７が、項関数情報２
（数１２）
を機器ＩＤ、ＲＲ-5、Ｄ-5と共にゲートウェイ１２０に送信する（Ｓ９０３）。ＲＲ-5は項関数情報３と変数関数情報２の受信待ち時間の上限値（Ｓ１００９参照）、Ｄ-5は項関数情報３と変数関数情報２の送信要求回数の上限値である（Ｓ１０１０参照）。
【００９９】
ゲートウェイ１２０の通信部１２７が、サーバ１１０より受信した項関数情報２
（数１２）
をクライアント機器１３０へ送信する（Ｓ９０４）。この際、ゲートウェイ１２０の通信部１２７は、項関数情報２
（数１２）
をクライアント機器１３０へ複数回、例えば５回送信する。同じ情報の複数回送信は、通信経路上のパケット紛失により相手機器に情報が届かない確率を低減する効果がある。
【０１００】
クライアント機器１３０の通信部１３７がゲートウェイ１２０より項関数情報２
（数１２）
を受信すると、クライアント機器１３０の暗号部１３４が、項関数情報２
（数１２）
を鍵情報記憶装置１３８に保存してあった項関数配送鍵
（数９）
で解読し、
【０１０１】
【数１３】
2014116870.tif 000016
【０１０２】
より、項関数情報３
【０１０３】
【数１４】
2014116870.tif 000017
【０１０４】
を復号する（Ｓ９０６）。
【０１０５】
なお、本実施例における機器認証鍵の登録処理では、クライアント機器１３０の通信部１３７がゲートウェイ１２０より項関数情報２
（数１２）
を受信後、Ｓ９０５は実行しない。
【０１０６】
クライアント機器１３０の関数配送鍵生成部１３３が、任意のビット列
【０１０７】
【数１５】
2014116870.tif 000018
【０１０８】
を生成し、変数関数取得鍵とする（Ｓ９０７）。
【０１０９】
クライアント機器１３０の暗号部１３４が、鍵情報記憶装置１３８に保存してあった変数関数情報１
（数６）
を変数関数取得鍵
（数１５）
で暗号化し、変数関数情報２
【０１１０】
【数１６】
2014116870.tif 000019
【０１１１】
とする（Ｓ９０８）。
【０１１２】
図１０は、本実施例の機器認証鍵の配送処理のフローチャート例２である。
クライアント機器１３０の通信部１３７が、変数ｚに初期値１を与える（Ｓ１００１）。
クライアント機器１３０の通信部１３７が、Ｓ９０６で復号した結果である項関数情報３
（数１４）
とＳ９０８で暗号化した結果である変数関数情報２
（数１６）
を機器ＩＤと共にゲートウェイ１２０に送信する（Ｓ１００２）。
【０１１３】
ゲートウェイ１２０の通信部１２７が、Ｔ＿ＧＷの計測を開始する（Ｓ１００３）。
ゲートウェイ１２０の通信部１２７が、変数ｙに初期値１を与える（Ｓ１００４）。
【０１１４】
一定時間待機（Ｓ１００５）した後、ゲートウェイ１２０の通信部１２７が、クライアント機器１３０より項関数情報３
（数１４）
と変数関数情報２
（数１６）
を受信したかどうかを確認する（Ｓ１００６）。
Ｓ１００６でクライアント機器１３０より項関数情報３
（数１４）
と変数関数情報２
（数１６）
を受信していれば、ゲートウェイ１２０の通信部１２７が、Ｔ＿ＧＷの計測を終了し（Ｓ１００７）、ゲートウェイ１２０の通信部１２７が、項関数情報３
（数１４）
と変数関数情報２
（数１６）
を機器ＩＤと共にサーバ１１０に送信する（Ｓ１００８）。
Ｓ１００６でクライアント機器１３０より項関数情報３
（数１４）
と変数関数情報２
（数１６）
を受信していなければ、ゲートウェイ１２０の通信部１２７が、Ｔ＿ＧＷがＲＲ-5を越えているかどうかを確認する（Ｓ１００９）。ＲＲ-5は項関数情報３と変数関数情報２の受信待ち時間の上限値である。
【０１１５】
Ｓ１００９でＴ＿ＧＷがＲＲ-5を越えていなければ、Ｓ１００５の前へ処理を戻す。
Ｓ１００９でＴ＿ＧＷがＲＲ-5を越えていれば、ゲートウェイ１２０の通信部１２７が、ｙがＤ-5を越えているかどうかを確認する（Ｓ１０１０）。Ｄ-5は項関数情報３と変数関数情報２の送信要求回数の上限値である。
【０１１６】
Ｓ１０１０でｙがＤ-5を越えていなければ、ゲートウェイ１２０の通信部１２７が項関数情報３
（数１４）
と変数関数情報２
（数１６）
の送信要求をクライアント機器１３０に送信し（Ｓ１０１１）、ゲートウェイ１２０の通信部１２７が変数ｙに１加算し（Ｓ１０１２）、Ｔ＿ＧＷの計測を中断・リセット（Ｓ１０１３）してからＳ１００５の前へ処理を戻す。
【０１１７】
Ｓ１０１０でｙがＤ-5を越えていれば、ゲートウェイ１２０の通信部１２７がＴ＿ＧＷの計測を終了し（Ｓ１０１４）、従業員派遣要求を機器ＩＤと共にサーバ１１０に送信する（Ｓ１０１５）。
【０１１８】
Ｓ１００２後、クライアント機器１３０の通信部１３７は一定時間待機（Ｓ１０１６）した後、ゲートウェイ１２０より項関数情報３
（数１４）
と変数関数情報２
（数１６）
の送信要求を受信したかどうかを確認する（Ｓ１０１７）。
【０１１９】
Ｓ１０１７でゲートウェイ１２０より項関数情報３
（数１４）
と変数関数情報２
（数１６）
を受信していれば、Ｓ１００２の前へ処理を戻す。
【０１２０】
Ｓ１０１７でゲートウェイ１２０より項関数情報３
（数１４）
と変数関数情報２
（数１６）
を受信していなければ、クライアント機器１３０の通信部１３７が変数ｚに１加算し（Ｓ１０１８）、変数ｚがＥ-5を越えているかどうかを確認する（Ｓ１０１９）。Ｅ-5は項関数情報３と変数関数情報２の送信要求受信確認回数の上限値である。
【０１２１】
Ｓ１０１９でｚがＥ-5を越えていなければ、Ｓ１０１６の前へ処理を戻す。
【０１２２】
Ｓ１０１９でｚがＥ-5を越えていれば、処理をＳ１１１２（図１１）へ進める。
【０１２３】
Ｓ９０３後、サーバ１１０の通信部１１７は、ゲートウェイ１２０より従業員派遣要求を受信したかどうかを確認する（Ｓ１０２０）。
【０１２４】
Ｓ１０２０でゲートウェイ１２０より従業員派遣要求を受信していなければ、サーバ１１０の暗号部１１４が、ゲートウェイ１２０より受信した項関数情報３
（数１４）
を項関数取得鍵
（数１１）
で解読し、
【０１２５】
【数１７】
2014116870.tif 000020
【０１２６】
より、項関数
（数７）
を取得する（Ｓ１０２１）。
【０１２７】
サーバ１１０の暗号部１１４が、ゲートウェイ１２０より受信した変数関数情報２
（数１６）
を鍵情報記憶装置１１８に保存してあった変数関数配送鍵
（数５）
で解読し、
【０１２８】
【数１８】
2014116870.tif 000021
【０１２９】
より、変数関数情報３
【０１３０】
【数１９】
2014116870.tif 000022
【０１３１】
を復号する（Ｓ１０２２）。
【０１３２】
Ｓ１０２０でゲートウェイ１２０より従業員派遣要求を受信していれば、処理を終了しクライアント機器１３０へ従業員を派遣する（Ｓ１０２３）。
【０１３３】
図１１は、本実施例の機器認証鍵の配送処理のフローチャート例３である。
サーバ１１０の機器認証鍵生成部１１１が、機器認証鍵
【０１３４】
【数２０】
2014116870.tif 000023
【０１３５】
を生成する（Ｓ１１０１）。機器認証鍵が対応する暗号技術としては、例えばＡＥＳ暗号技術を採用する。
【０１３６】
サーバ１１０の登録部１１６が、機器認証鍵
（数２０）
を鍵情報記憶装置１１８の鍵情報データベースに登録する（Ｓ１１０２）。
【０１３７】
サーバ１１０の分散情報生成部１１５が、鍵情報記憶装置１１８に保存してあった変数関数
（数３）
および項関数
（数７）
を用いて、（Ｋ、Ｎ）しきい値秘密分散法において機器認証鍵
（数２０）
を秘密情報とした分散情報を形成する多項式を生成する（Ｓ１１０３）。
【０１３８】
多項式は、例えばＳｈａｍｉｒの秘密分散法を適用し
【０１３９】
【数２１】
2014116870.tif 000024
【０１４０】
とする。なお、多項式の係数である
【０１４１】
【数２２】
2014116870.tif 000025
【０１４２】
はＳ１１０３で動的に生成する。多項式の係数を機器認証鍵の登録時または更新時に動的に生成することは、機器認証鍵の登録または更新以前にサーバ１１０の内部不正者またはクライアント機器１３０のハッカーに多項式の係数データを持ち出される可能性を無くし、係数データを利用した多項式の復元に起因する機器認証鍵の情報漏洩リスクを低減する。
【０１４３】
サーバ１１０の通信部１１７が、変数iに初期値１を与える（Ｓ１１０４）。
【０１４４】
サーバ１１０の通信部１１７が、Ｓ１０２２で復号した変数関数情報３
（数１９）
と分散情報
【０１４５】
【数２３】
2014116870.tif 000026
【０１４６】
を機器ＩＤ、Ｋ-5と共にゲートウェイ１２０に送信する（Ｓ１１０５）。Ｋ-5は（Ｋ、Ｎ）しきい値秘密分散法において秘密情報復元に必要な分割情報の最低数である。
【０１４７】
サーバ１１０の通信部１１７が変数iに１加算し（Ｓ１１０６）、iがＮ-5を越えているかどうかを確認する（Ｓ１１０７）。Ｎ-5は（Ｋ、Ｎ）しきい値秘密分散法の分割情報の総数である。
【０１４８】
Ｓ１１０７でiがＮ-5を越えていなければ、Ｓ１１０５の前へ処理を戻す。
【０１４９】
Ｓ１１０７でiがＮ-5を越えていれば、処理をＳ１２０８（図１２）へ進める。
【０１５０】
ゲートウェイ１２０の通信部１２７が、変数ｊに初期値１を与える（Ｓ１１０８）。
【０１５１】
ゲートウェイ１２０の通信部１２７が、サーバ１１０より受信した変数関数情報３
（数１９）
と分散情報
（数２３）
をクライアント機器１３０へ送信する（Ｓ１１０９）。
【０１５２】
ゲートウェイ１２０の通信部１２７が変数ｊに１加算し（Ｓ１１１０）、ｊがＫ-5を越えているかどうかを確認する（Ｓ１１１１）。Ｋ-5は（Ｋ、Ｎ）しきい値秘密分散法において秘密情報復元に必要な分割情報の最低数である。
【０１５３】
Ｓ１１０７でｊがＫ-5を越えていなければ、Ｓ１１０９の前へ処理を戻す。
【０１５４】
Ｓ１１０７でｊがＫ-5を越えていれば、処理をＳ１２０６（図１２）へ進める。
【０１５５】
クライアント機器１３０の通信部１３７が、変数ｖに初期値１を与える（Ｓ１１１２）。
【０１５６】
クライアント機器１３０の通信部１３７が、変数ｗに初期値１を与える（Ｓ１１１３）。
【０１５７】
クライアント機器１３０の通信部１３７が、Ｔ＿ＣＬの計測を開始する（Ｓ１１１４）。Ｔ＿ＣＬは、クライアント機器１３０で計測する、ある時点からの経過時間である。
【０１５８】
一定時間待機（Ｓ１１１５）した後、クライアント機器１３０の通信部１３７が、ゲートウェイ１２０より変数関数情報３
（数１９）
と分散情報
（数２３）
を受信したかどうかを確認する（Ｓ１１１６）。
【０１５９】
クライアント機器１３０の通信部１３７が変数ｖに１加算し（Ｓ１１１７）、ｖがＫ-5を越えているかどうかを確認する（Ｓ１１１８）。
【０１６０】
Ｓ１１１８でｖがＫ-5を越えていれば、クライアント機器１３０の通信部１３７が、Ｔ＿ＣＬの計測を終了する（Ｓ１１１９）。
【０１６１】
Ｓ１１１８でｖがＫ-5を越えていなければ、クライアント機器１３０の通信部１３７が、Ｔ＿ＣＬがＳＳ-5を越えているかどうかを確認する（Ｓ１１２０）。ＳＳ-5は変数関数情報３と分割情報の受信待ち時間の上限値である。
【０１６２】
Ｓ１１２０でＴ＿ＣＬがＳＳ-5を越えていなければ、処理をＳ１１１５の前へ処理を戻す。
Ｓ１１２０でＴ＿ＣＬがＳＳ-5を越えていれば、クライアント機器１３０の通信部１３７が、ｗがＦ-5を越えているかどうかを確認する（Ｓ１１２１）。Ｆ-5は変数関数情報３と分割情報の送信要求回数の上限値である。
【０１６３】
Ｓ１１２１でｗがＦ-5を越えていなければ、クライアント機器１３０の通信部１３７が分散情報
（数２３）
の送信要求を機器ＩＤおよび受信済みの分割情報と共にゲートウェイ１２０に送信し（Ｓ１１２２）、クライアント機器１３０の通信部１３７が変数ｗに１加算し（Ｓ１１２３）、Ｔ＿ＣＬの計測を中断・リセット（Ｓ１１２４）してからＳ１１１４の前へ処理を戻す。
【０１６４】
Ｓ１１２１でｗがＦ-5を越えていれば、クライアント機器１３０の通信部１３７がＴ＿ＣＬの計測を終了し（Ｓ１１２５）、エラーを出力して処理を終了する（Ｓ１１２６）。
ゲートウェイ１２０またはクライアント機器１３０が、処理の実行中に取得すべき情報を受信しなかった場合に相手機器に送信要求を送信する（Ｓ７２３、Ｓ８１１、Ｓ１０１１、Ｓ１１２２）ことは、通信経路上のパケット紛失により相手機器に情報が届かない確率を低減する効果がある。
【０１６５】
また、ゲートウェイ１２０またはクライアント機器１３０が、処理の実行中に一定時間相手機器からの反応（情報送信）がないことで通信エラーを検知し、処理の終了またはサーバ１１０へ従業員派遣要求を送信する（Ｓ７２７、Ｓ８１５、Ｓ１０１５、Ｓ１１２６）ことは、通信エラーにより処理が長時間停滞する事態を回避する効果がある。
【０１６６】
図１２は、本実施例の機器認証鍵の配送処理のフローチャート例４である。
クライアント機器１３０の通信部１３７が、分散情報
（数２３）
の送信停止要求を機器ＩＤと共にゲートウェイ１２０に送信する（Ｓ１２０１）。以上
秘密情報（機器認証鍵）に必要な分散情報の最低数Ｋ-5以上の分散情報を受信した場合に分散情報の送信停止要求を出すことは、機器認証鍵の配送処理におけるパケット送信回数を軽減し、通信回路への負担を軽減する効果がある。
【０１６７】
クライアント機器１３０の暗号部１３４が、ゲートウェイ１２０より受信した変数関数情報３
（数１９）
を変数関数取得鍵
（数１１）
で解読し、
【０１６８】
【数２４】
2014116870.tif 000027
【０１６９】
より、変数関数
（数３）
を取得する（Ｓ１２０２）。
【０１７０】
クライアント機器１３０の秘密情報復元部１３５が、ゲートウェイ１２０より受信したＫ-5個以上の分散情報、例えば
【０１７１】
【数２５】
2014116870.tif 000028
【０１７２】
を用いて機器認証鍵
（数２０）
を復元する（Ｓ１２０３）。
【０１７３】
復元にあたっては、まずゲートウェイ１２０より受信したＫ-5個以上の分散情報
（数２５）
より得た
【０１７４】
【数２６】
2014116870.tif 000029
【０１７５】
を、Ｓ１２０２で取得した変数関数
（数３）
の変数ｔに代入し、
【０１７６】
【数２７】
2014116870.tif 000030
【０１７７】
を計算する。次に、
【０１７８】
【数２８】
2014116870.tif 000031
【０１７９】
を解くことにより、
【０１８０】
【数２９】
2014116870.tif 000032
【０１８１】
を求める。なお、このとき同時に
（数２２）
も求まるが、これらの値を今後利用することはない。
【０１８２】
ここで、鍵情報記憶装置１３８に保存してあった項関数
（数８）
より
【０１８３】
【数３０】
2014116870.tif 000033
【０１８４】
であることから、機器認証鍵
（数２０）
が求められる。
【０１８５】
クライアント機器１３０の登録部１３６が、機器認証鍵
（数２０）
を鍵情報記憶装置１３８の鍵情報データベースに登録する（Ｓ１２０４）。
【０１８６】
ゲートウェイ１２０の通信部１２７が、クライアント機器１３０より分散情報
（数２３）
の送信要求を受信したかどうかを確認する（Ｓ１２０５）。
【０１８７】
Ｓ１２０５でクライアント機器１３０より分散情報
（数２３）
の送信要求を受信していれば、Ｓ１１０９（図１１）の前へ処理を戻す。
【０１８８】
Ｓ１２０５でクライアント機器１３０より分散情報
（数２３）
の送信要求を受信していなければ、ゲートウェイ１２０の通信部１２７が、クライアント機器１３０より分散情報
（数２３）
の送信停止要求を受信したかどうかを確認する（Ｓ１２０６）。
【０１８９】
Ｓ１２０６でクライアント機器１３０より分散情報
（数２３）
の送信停止要求を受信していれば、次の処理に進む。
【０１９０】
Ｓ１２０６でクライアント機器１３０より分散情報
（数２３）
の送信停止要求を受信していなければ、ゲートウェイ１２０の通信部１２７が、変数jがＮ-5を超えているかどうか確認する（Ｓ１２０７）。
【０１９１】
Ｓ１２０７でjがＮ-5を超えていたら、次の処理に進む。
Ｓ１２０７でjがＮ-5を超えていなかったら、Ｓ１１０９（図１１）の前へ処理を戻す。
サーバ１１０が一定時間待機する（Ｓ１２０８）。
【０１９２】
以上のように、本実施例では、（Ｋ、Ｎ）しきい値秘密分散法による機器認証鍵の配送において、サーバ１１０が生成する変数関数と、クライアント機器１３０が生成する項関数を、排他的論理和の性質を利用した暗号通信によりサーバ１１０とライアント機器１３０の間で安全に共有し、機器認証鍵の分散情報の生成および機器認証鍵の復元に用いる。
【０１９３】
このとき、サーバ１１０からライアント機器１３０へ送信中の分散情報
（数２３）
がサーバ１１０とライアント機器１３０の通信経路上でＫ個以上盗聴されても、盗聴者は変数関数および項関数を知らないため機器認証鍵の復元が不可能である。つまり、サーバ１１０とライアント機器１３０のみが知る変数関数および項関数を用いて（Ｋ、Ｎ）しきい値秘密分散法の分散情報を生成し機器認証鍵を配送することは、パケットが紛失する可能性のある通信経路においても、機器認証鍵を漏洩させることなく安全な配送を実現する効果がある。
【０１９４】
なお、本実施例では本発明の（Ｋ、Ｎ）しきい値秘密分散法をＳｈａｍｉｒの秘密分散法に適用しているが、これを他の秘密分散法に適用することも可能である。例えば、以下の文献を参考にして、排他的論理和を用いた秘密分散法に適用することができる。  Jun Kurihara、 Shinsaku Kiyomoto、 Kazuhide Fukushima、 and Toshiaki Tanaka、 "A New (k、n)-Threshold Secret Sharing Scheme and Its Extension"、 Proc. of 11th Information Security Conference (ISC)、 2008.
この後は図７（事前情報の登録処理のフローチャート例１）のα、β、γに移行し、Ｓ７０１とＳ７０９を除く全ての処理、および図８（事前情報の登録処理のフローチャート例２）の全ての処理を再度実行し、次回の機器認証鍵の更新の事前準備として、事前情報を新たに生成しサーバ１１０およびクライアント機器１３０に登録する。
【０１９５】
なおＳ８２０では、Ｓ８０９でｚがＣ-5を越えていれば、クライアント機器１３０の通信部１３７が、検針値送信を開始する。
【０１９６】
本実施例における機器認証鍵の登録処理フローは以上である。
次に、本実施例における機器認証鍵の更新処理フローを図を用いて説明する。本発明の鍵配送システムでは、機器認証鍵の更新処理は事前情報の登録処理と機器認証鍵の配送処理の二つに分かれており、事前情報の登録処理フローを図７と図８、機器認証鍵の配送処理フローを図９と図１０と図１１と図１２でそれぞれ説明する。なお、機器認証鍵の更新処理フローは、機器認証鍵の配送処理、事前情報の登録処理の順に進む。
【０１９７】
例えば使用中の機器認証鍵の漏洩や危殆化などが発覚すると、サーバ１１０が機器認証鍵の更新処理を開始する。ここで、本実施例では、機器認証鍵の更新が行われるクライアント機器１３０の機器ＩＤは、図６に示すクライアント機器１３０の鍵情報データベースと同じ５とする。
【０１９８】
機器認証鍵の更新処理フローは、図９（機器認証鍵の配送処理のフローチャート例１）のＳ９０１より開始される。これ以降は、図９（機器認証鍵の配送処理のフローチャート例１）、図１０（機器認証鍵の配送処理のフローチャート例２）、図１１（機器認証鍵の配送処理のフローチャート例３）、図１２（機器認証鍵の配送処理のフローチャート例４）の全ての処理を機器認証鍵の登録処理フローと同様に実行し、この後も図７（事前情報の登録処理のフローチャート例１）のα、β、γに移行し、Ｓ７０１とＳ７０９を除く全ての処理、および図８（事前情報の登録処理のフローチャート例２）の全ての処理を機器認証鍵の登録処理フローと同様に実行する。
【０１９９】
なお、図９（機器認証鍵の配送処理のフローチャート例１）では、Ｓ９０４でクライアント機器１３０の通信部１３７がゲートウェイ１２０より項関数情報２
（数１２）
を受信すると、クライアント機器１３０の通信部１３７が、ゲートウェイ１２０への定期的な検針値の送信を停止する処理が加わる（Ｓ９０５）。
この処理は、クライアント機器１３０からの、更新の必要のある漏えいまたは危殆化した機器認証鍵を用いた検針値の送信を停止し、盗聴者への情報漏えいの機会を無くす効果がある。
また、Ｓ８２０では、Ｓ８０９でｚがＣ-5を越えていれば、クライアント機器１３０の通信部１３７が、検針値送信停止を解除する。
本実施例における機器認証鍵の更新処理フローは以上である。
以上のように、本実施例において、変数関数および項関数は、例えば下記のように平文Ｍを鍵Ｋｅｙ1で暗号化した暗号文をさらに鍵Ｋｅｙ2で暗号化した場合、
【０２００】
【数３１】
2014116870.tif 000034
【０２０１】
この暗号文を鍵Ｋｅｙ1で解読すると、平文Ｍを鍵Ｋｅｙ2で暗号化した暗号文ができる
【０２０２】
【数３２】
2014116870.tif 000035
【０２０３】
という排他的論理和の性質を利用した暗号通信を用いて、サーバ１１０とクライアント機器１３０の間で安全に共有する。
【０２０４】
このとき、サーバ１１０からクライアント機器１３０へ変数関数
（数３）
を配送する際に通信経路上を流れる情報は、変数関数情報１
（数６）
および変数関数情報２
（数１６）
および変数関数情報３
（数１９）
であるが、これらの情報（暗号文）生成に用いられる変数関数配送鍵
（数５）
と変数関数取得鍵
（数１５）
は、それぞれサーバ１１０とクライアント機器１３０内で生成・管理され、外部機器への配送は行われない。
【０２０５】
また、クライアント機器１３０からサーバ１１０へ項関数
（数７）
を配送する際に通信経路上を流れる情報は、項関数情報１
（数１０）
および項関数情報２
（数１２）
および項関数情報３
（数１４）
であるが、これらの情報（暗号文）生成に用いられる項関数配送鍵
（数９）
と項関数取得鍵
（数１１）
は、それぞれクライアント機器１３０とサーバ１１０内で生成・管理され、外部機器への配送は行われない。
【０２０６】
従って、変数関数および項関数をサーバ１１０とクライアント機器１３０間で共有する過程において、サーバ１１０とライアント機器１３０の通信経路上で盗聴者が通信内容を盗聴しても、盗聴者は変数関数配送鍵、変数関数取得鍵、項関数配送鍵、項関数取得鍵を知らないため変数関数および項関数の取得は不可能である。
【０２０７】
つまり、実施例に示したプロトコルによる排他的論理和の性質を利用した暗号通信は、変数関数および項関数を漏洩させることなく配送し、サーバ１１０とクライアント機器１３０間での安全な共有を実現する効果がある。
【０２０８】
なお本実施例では、事前情報すなわち変数関数
（数３）
、変数関数配送鍵
（数５）
、変数関数情報１
（数６）
、項関数
（数７）
、項関数配送鍵
（数９）
、項関数情報１
（数１０）
を、次回の機器認証鍵の更新前、つまり機器認証鍵の新規登録後または機器認証鍵の更新後に生成し、サーバ１１０およびクライアント機器１３０に事前登録する。また、上記以外の変数関数および項関数の配送（共有）に関する情報生成および送受信は、機器認証鍵の更新処理フローにおける機器認証鍵の配送処理（図９、図１０、図１１、図１２）の諸ステップに組み込まれ、機器認証鍵の配送と平行して実行される（Ｓ９０１、Ｓ９０２、Ｓ９０３、Ｓ９０４、Ｓ９０６、Ｓ９０７、Ｓ９０８、Ｓ１００２、Ｓ１００８、Ｓ１０２１、Ｓ１０２２、Ｓ１１０５、Ｓ１１０９、Ｓ１２０２）。これらの進行方法は、機器認証鍵の更新時の処理ステップを削減し、実行時間を短縮する効果がある。
【０２０９】
また進行方法を実施する場合は、機器認証鍵の更新前に、変数関数
（数３）
および変数関数配送鍵
（数５）
および項関数情報１
（数１０）
はサーバ１１０の内部不正者に、また、項関数
（数７）
および項関数配送鍵
（数９）
および変数関数情報１
（数６）
はクライアント機器１３０のハッカーに持ち出されている可能性があるが、項関数配送鍵
（数９）
および項関数取得鍵
（数１１）
は、それぞれ機器認証鍵の更新時にクライアント機器１３０とサーバ１１０内で生成・管理され、外部機器への配送は行われないため、サーバ１１０の内部不正者は項関数情報２
（数１２）
および項関数情報３
（数１４）
の盗聴から項関数
（数７）
を復号することが不可能であり、またクライアント機器１３０のハッカーは、変数関数情報２
（数１６）
および変数関数情報３
（数１９）
の盗聴から変数関数
（数３）
を復号すること不可能である。
【０２１０】
つまり、サーバ１１０の内部不正者は、変数関数
（数３）
は取得できるが項関数
（数７）
は取得できず、クライアント機器１３０のハッカーは、項関数
（数７）
は取得できるが変数関数
（数３）  は取得できない。
【０２１１】
よって、サーバ１１０の内部不正者とクライアント機器１３０のハッカーは、両者とも変数関数
（数３）
および項関数
（数７）
の両方を同時に取得することができないため、機器認証鍵の更新時に機器認証鍵
（数２０）
が漏洩することはない。なお、事前情報を持ち出しが不可能である第三者は、機器認証鍵の更新時の処理ステップを削減した場合としない場合で条件が変わらないため、通信内容による機器認証鍵
（数２０）
の不正取得は不可能である。
【０２１２】
よって、（Ｋ、Ｎ）しきい値秘密分散法の分散情報の生成に使用する秘密情報を、サーバ１１０とライアント機器１３０の異なる機器で生成される変数関数および項関数の二つとすることは、サーバ１１０の内部不正者およびクライアント機器１３０のハッカーにも機器認証鍵を漏洩させることなく安全な配送を実現する効果がある。
【０２１３】
なお、本実施例では変数関数情報１の生成（変数関数の暗号化）にあたり、変数関数
（数３）
と変数関数配送鍵
（数５）
の排他的論理和
（数６）
としているが、これを、変数関数と一様分布をもつ関数ＲＳ（ｘ）の変数ｘに変数関数配送鍵を代入した値の排他的論理和
【０２１４】
【数３３】
2014116870.tif 000036
【０２１５】
としてもよい。
【０２１６】
関数ＲＳ（ｘ）は、例えば疑似乱数生成関数とする。
同様に項関数情報１も、項関数
（数７）
と一様分布をもつ関数ＲＣ（ｘ）の変数ｘに項関数配送鍵
（数９）
を代入した値の排他的論理和
【０２１７】
【数３４】
2014116870.tif 000037
【０２１８】
としてもよい。
【０２１９】
関数ＲＳ（ｘ）は、例えば疑似乱数生成関数とする。
変数関数取得鍵
（数１５）
および項関数取得鍵
（数１１）
を用いた暗号化（排他的論理和）も同様にでき、この場合は、それぞれ変数関数情報２
【０２２０】
【数３５】
2014116870.tif 000038
【０２２１】
、変数関数情報３
【０２２２】
【数３６】
2014116870.tif 000039
【０２２３】
、項関数情報２
【０２２４】
【数３７】
2014116870.tif 000040
【０２２５】
、項関数情報３
【０２２６】
【数３８】
2014116870.tif 000041
【０２２７】
となる。
【０２２８】
このように、排他的論理和をとる組み合わせを、一様分布をもつ関数の出力値と秘密情報（変数関数および項関数）とすることは、排他的論理和の値からの秘密情報の推測を困難にする効果がある。なお、秘密情報（変数関数および項関数）も一様分布をもつ母集団からランダムに抽出すると、排他的論理和の値からの秘密情報の推測をより困難にする効果がある。
【０２２９】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０２３０】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０２３１】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【０２３２】
例えば、本発明では、機器認証システム１００であって、機器認証鍵の生成・配送およびクライアント機器１３０の認証を行うサーバ１１０と、サーバ１１０が生成した機器認証鍵の取得を行うクライアント機器１３０と、を備え、サーバ１１０は、機器認証鍵を生成する機器認証鍵生成部１１１と、機器認証鍵の配送に使用する秘密関数を生成する秘密関数生成部１１２と、秘密関数生成部１１２および秘密関数生成部１３２で生成される秘密関数の配送に使用する鍵を生成する関数配送鍵生成部１１３と、情報の暗号化および復号を行う暗号部１１４と、機器認証鍵を分割した情報である分散情報を生成する分散情報生成部１１５と、機器認証鍵およびその配送に関する情報を鍵情報記憶装置１１８に登録する登録部１１６と、
外部との通信を行う通信部１１７と、機器認証鍵およびその配送に関する情報を鍵情報データベースに保存する鍵情報記憶装置１１８と、を有し、
クライアント機器１３０は、
機器認証鍵の配送に使用する秘密関数を生成する秘密関数生成部１３２と、
秘密関数生成部１１２および秘密関数生成部１３２で生成される秘密関数の配送に使用する鍵を生成する関数配送鍵生成部１３３と、
情報の暗号化および復号を行う暗号部１３４と、
分散情報から秘密情報である機器認証鍵を復元する秘密情報復元部１３５と、
機器認証鍵およびその配送に関する情報を鍵情報記憶装置１３８に登録する登録部１３６と、
外部との通信を行う通信部１３７と、
機器認証鍵およびその配送に関する情報を鍵情報データベースに保存する鍵情報記憶装置１３８と、を有し、
関数配送鍵生成部１１３は、
秘密関数生成部１１２で生成した秘密関数と、任意のビット列である関数配送鍵（以下、サーバ秘密関数配送鍵）と、
サーバ秘密関数配送鍵とは異なる任意のビット列である関数配送鍵（以下、クライアント機器秘密関数取得鍵）を生成し、
暗号部１１４は、
あるデータ系列をＭ、暗号鍵をＫｅｙとして、暗号鍵Ｋｅｙによる平文Ｍの暗号化を
【０２３３】
【数３９】
2014116870.tif 000042
【０２３４】
鍵Ｋｅｙによる暗号文Ｍの復号（解読）を
【０２３５】
【数４０】
2014116870.tif 000043
【０２３６】
と表す場合、
【０２３７】
【数４１】
2014116870.tif 000044
【０２３８】
という性質をもつ暗号化および復号を行い、
秘密関数生成部１１２で生成した秘密関数を、サーバ秘密関数配送鍵で暗号化し、
クライアント機器１３０より受信した、秘密関数生成部１１２で生成した秘密関数をサーバ秘密関数配送鍵で暗号化したデータを、サーバ秘密関数取得鍵で暗号化したデータを、サーバ秘密関数配送鍵で解読し、
クライアント機器１３０より受信した、秘密関数生成部１３２で生成した秘密関数を、クライアント機器秘密関数配送鍵で暗号化したデータを、クライアント機器秘密関数取得鍵で暗号化し、
クライアント機器１３０より受信した、秘密関数生成部１３２で生成した秘密関数を、クライアント機器秘密関数配送鍵で暗号化したデータを、クライアント機器秘密関数取得鍵で暗号化したデータを、クライアント機器秘密関数配送鍵で解読したデータを、クライアント機器秘密関数取得鍵で解読し、
分散情報生成部１１５は、
秘密関数生成部１１２で生成した秘密関数および秘密関数生成部１３２で生成した秘密関数を用いて、機器認証鍵生成部１１１で生成した機器認証鍵を分割した情報を生成し、
通信部１１７は、
秘密関数生成部１１２で生成した秘密関数をサーバ秘密関数配送鍵で暗号化したデータをクライアント機器１３０へ送信し、
クライアント機器１３０より受信した、秘密関数生成部１１２で生成した秘密関数をサーバ秘密関数配送鍵で暗号化したデータを、サーバ秘密関数取得鍵で暗号化したデータを、サーバ秘密関数配送鍵で解読したデータをクライアント機器１３０へ送信し、
クライアント機器１３０より受信した、秘密関数生成部１３２で生成した秘密関数を、クライアント機器秘密関数配送鍵で暗号化したデータを、クライアント機器秘密関数取得鍵で暗号化したデータをクライアント機器１３０へ送信し、
関数配送鍵生成部１３３は、
秘密関数生成部１３２で生成した秘密関数と、任意のビット列である関数配送鍵（以下、クライアント機器秘密関数配送鍵）と、
クライアント機器秘密関数配送鍵とは異なる任意のビット列である関数配送鍵（以下、サーバ秘密関数取得鍵）を生成し、
暗号部１３４は、
あるデータ系列をＭ、暗号鍵をＫｅｙとして、暗号鍵Ｋｅｙによる平文Ｍの暗号化を
（数３９）
、鍵Ｋｅｙによる暗号文Ｍの復号（解読）を
（数４０）
と表す場合、
（数４１）
という性質をもつ暗号化および復号を行い、
秘密関数生成部１３２で生成した秘密関数をクライアント機器秘密関数配送鍵で暗号化し、
サーバ１１０より受信した、秘密関数生成部１３２で生成した秘密関数を、クライアント機器秘密関数配送鍵で暗号化したデータを、クライアント機器秘密関数取得鍵で暗号化したデータを、クライアント機器秘密関数配送鍵で解読し、
サーバ１１０より受信した、秘密関数生成部１１２で生成した秘密関数をサーバ秘密関数配送鍵で暗号化したデータを、サーバ秘密関数取得鍵で暗号化し、
サーバ１１０より受信した、秘密関数生成部１１２で生成した秘密関数をサーバ秘密関数配送鍵で暗号化したデータを、サーバ秘密関数取得鍵で暗号化したデータを、サーバ秘密関数配送鍵で解読したデータを、サーバ秘密関数取得鍵で解読し、
秘密情報復元部１３５は、
秘密関数生成部１１２で生成した秘密関数および秘密関数生成部１３２で生成した秘密関数を用いて、分散情報生成部１１５で生成した機器認証鍵を分割した情報から機器認証鍵を復元し、
通信部１３７は、
秘密関数生成部１３２で生成した秘密関数を、クライアント機器秘密関数配送鍵で暗号化したデータをサーバ１１０へ送信し、
サーバ１１０より受信した、秘密関数生成部１３２で生成した秘密関数を、クライアント機器秘密関数配送鍵で暗号化したデータを、クライアント機器秘密関数取得鍵で暗号化したデータを、クライアント機器秘密関数配送鍵で解読したデータをサーバ１１０へ送信し、
サーバ１１０より受信した、秘密関数生成部１１２で生成した秘密関数をサーバ秘密関数配送鍵で暗号化したデータを、サーバ秘密関数取得鍵で暗号化したデータをサーバ１１０へ送信する、
ことを特徴とする。
【符号の説明】
【０２３９】
１００ 鍵配送システム
１１０ サーバ
１１１ 機器認証鍵生成部
１１２ 秘密関数生成部
１１３ 関数配送鍵生成部
１１４ 暗号部
１１５ 登録部
１１６ 通信部
１１７ 鍵情報記憶装置
１２０ ゲートウェイ
１２６ 通信部
１３０ クライアント機器
１３２ 秘密関数生成部
１３３ 関数配送鍵生成部
１３４ 暗号部
１３５ 登録部
１３６ 通信部
１３７ 鍵情報記憶装置
【図１】
2014116870.tif 000045
【図２】
2014116870.tif 000046
【図３】
2014116870.tif 000047
【図４】
2014116870.tif 000048
【図５】
2014116870.tif 000049
【図６】
2014116870.tif 000050
【図７】
2014116870.tif 000051
【図８】
2014116870.tif 000052
【図９】
2014116870.tif 000053
【図１０】
2014116870.tif 000054
【図１１】
2014116870.tif 000055
【図１２】
2014116870.tif 000056
【図１３】
2014116870.tif 000057