(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024064581
(43)【公開日】2024-05-14
(54)【発明の名称】認証システム
(51)【国際特許分類】
H04L 9/32 20060101AFI20240507BHJP
G09C 1/00 20060101ALI20240507BHJP
【FI】
H04L9/32 200B
H04L9/32 200E
G09C1/00 650Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022173274
(22)【出願日】2022-10-28
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度 総務省、情報通信技術の研究開発「グローバル量子暗号通信網構築のための研究開発」に係る委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】藤原 幹生
(72)【発明者】
【氏名】加藤 豪
(72)【発明者】
【氏名】佐々木 雅英
(72)【発明者】
【氏名】鶴丸 豊広
(57)【要約】 (修正有)
【課題】鍵の管理が容易で、送信ユーザ又は受信ユーザの真偽を判定する認証システムを提供する。
【解決手段】認証システム1は、メッセージを送信するユーザAのノード、メッセージを受信するユーザBのノード及びユーザ間の相手認証及びメッセージ認証を行う中央管理ノードを量子鍵配送ネットワーク内に備える。送信ノード2は、相手認証要求部と、OTPで秘密データを暗号化して送信する秘密データ送信部及びメッセージ認証を行うメッセージ認証部を備える。管理ノード3は、秘匿通信制御部、暗号化された秘密データを受信して復号する秘密データ受信部、閾値秘密分散を用いて、OTPで受信ユーザのシェアを暗号化して受信ノードに送信するシェア送信部及びメッセージ認証を行うメッセージ認証部を備える。受信ノード4は、相手認証処理部、暗号化されたシェアを復号するシェア受信部及びメッセージ認証を行うメッセージ認証部を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
メッセージを送信する送信ユーザの送信ノードと、前記メッセージを受信する受信ユーザの受信ノードと、ユーザ間の相手認証及びメッセージ認証を行う管理ノードと、を量子鍵配送ネットワーク内に備える認証システムであって、
前記送信ノードは、
前記受信ユーザとの相手認証を前記管理ノードに要求する相手認証要求部と、
所定の秘密データを生成し、OTPで前記秘密データを暗号化して前記管理ノードに送信する秘密データ送信部と、
前記メッセージ認証を行うメッセージ認証部と、を備え、
前記管理ノードは、
前記送信ノードからの要求に応じて、前記相手認証の開始を前記受信ノードに指令する秘匿通信制御部と、
暗号化された前記秘密データを前記送信ノードから受信して復号する秘密データ受信部と、
閾値秘密分散を用いて、ユーザ数に応じた多項式及びシェアを前記秘密データから生成し、OTPで前記受信ユーザのシェアを暗号化して前記受信ノードに送信するシェア送信部と、
前記メッセージ認証を行うメッセージ認証部と、を備え、
前記受信ノードは、
前記管理ノードからの指令に応じて、前記相手認証を開始する相手認証処理部と、
暗号化された前記受信ユーザのシェアを前記管理ノードから受信して復号するシェア受信部と、
前記メッセージ認証を行うメッセージ認証部と、を備え、
前記送信ノードは、
予めWC認証された公開通信路を介して、前記秘密データを前記受信ノード及び前記管理ノードに公開し、前記多項式の成立を確認する多項式判定部、を備え、
前記受信ノードは、
前記公開通信路を介して、前記受信ユーザのシェアを前記送信ノード及び前記管理ノードに公開し、前記多項式の成立を判定する多項式判定部、を備え、
前記管理ノードは、
前記公開通信路を介して、前記送信ユーザのシェアを前記送信ノード及び前記受信ノードに公開し、前記多項式の成立を判定する多項式判定部と、
前記送信ノード、前記受信ノード及び前記管理ノードの全てで前記多項式が成立した場合、前記相手認証に成功したと判定する相手認証判定部と、
を備えることを特徴とする認証システム。
【請求項2】
前記管理ノードの多項式判定部は、
公開された前記秘密データと前記受信ユーザのシェアと前記送信ユーザのシェアとの全てが前記多項式を表す線上に位置する場合、前記多項式が成立すると判定することを特徴とする請求項1に記載の認証システム。
【請求項3】
前記管理ノードのメッセージ認証部は、
第1乱数と第2乱数と第3乱数とを生成し、OTPで前記第1乱数と前記第2乱数と前記第3乱数とを暗号化し、暗号化した前記第1乱数及び前記第2乱数を前記送信ノードに送信し、暗号化した前記第1乱数及び前記第3乱数を前記受信ノードに送信する乱数送信部、を備え、
前記送信ノードのメッセージ認証部は、
暗号化された前記第1乱数及び前記第2乱数を前記管理ノードから受信して復号する乱数受信部と、
OTPで前記メッセージを暗号化して前記受信ノードに送信するメッセージ送信部と、
前記メッセージから前記第1乱数を用いた第1MAC値と暗号学的ハッシュ関数を用いたハッシュ値とを算出し、前記第1MAC値と前記ハッシュ値との連接又は排他的論理和を演算し、当該演算結果をOTPで暗号化して前記管理ノードに送信する演算部と、
前記メッセージから前記第2乱数を用いた第2MAC値を算出し、OTPで前記第2乱数MAC値を暗号化して前記管理ノードに送信するMAC値算出部と、を備え、
前記受信ノードのメッセージ認証部は、
暗号化された前記第1乱数及び前記第3乱数を前記管理ノードから受信して復号する乱数受信部と、
暗号化された前記メッセージを前記送信ノードから受信して復号するメッセージ受信部と、
受信した前記メッセージから前記第1乱数を用いた第1MAC値と暗号学的ハッシュ関数を用いたハッシュ値とを算出し、前記第1MAC値と前記ハッシュ値との連接又は排他的論理和を演算し、当該演算結果をOTPで暗号化して前記管理ノードに送信する演算部と、
前記メッセージから前記第3乱数を用いた第3MAC値を算出し、OTPで前記第3MAC値を暗号化して前記管理ノードに送信するMAC値算出部と、を備え、
前記管理ノードのメッセージ認証部は、
前記送信ノード及び前記受信ノードから前記演算結果と前記第2MAC値と前記第3MAC値とを受信して復号し、受信した前記演算結果と前記第2MAC値と前記第3MAC値とに基づいて、前記メッセージ認証が成功したか否かを判定する一致判定部と、
を備えることを特徴とする請求項1に記載の認証システム。
【請求項4】
前記管理ノードのメッセージ認証部は、
前記送信ノード又は前記受信ノードの少なくとも一方から前記メッセージが一致しない通知があった場合、前記送信ノード及び前記受信ノードより受信したメッセージから前記第1MAC値と前記第2MAC値と前記第3MAC値と前記ハッシュ値とを再計算し、当該再計算の結果に基づいて、前記ユーザの真偽を判定する真偽判定部、
を備えることを特徴とする請求項3に記載の認証システム。
【請求項5】
前記管理ノードのメッセージ認証部は、
乱数列を生成する乱数列生成部と、
一致する要素数と一致しない要素数とが同数となる置換を同定する関数を前記送信ユーザ及び前記受信ユーザ毎に予め設定し、前記乱数列を前記送信ユーザの置換を同定する関数で数列に変換し、変換した前記送信ユーザの数列をOTPで暗号化して前記送信ノードに送信する第1置換部と、
前記乱数列を前記受信ユーザの置換を同定する関数で数列に変換し、変換した前記受信ユーザの数列をOTPで暗号化して前記受信ノードに送信する第2置換部と、を備え、
前記送信ノードのメッセージ認証部は、
暗号化された前記送信ユーザの数列を前記管理ノードから受信して復号する数列受信部と、
OTPで前記メッセージを暗号化して前記受信ノードに送信するメッセージ送信部と、
前記メッセージから前記送信ユーザの数列を用いた第1MAC値数列を算出し、算出した前記第1MAC値数列をOTPで暗号化して前記管理ノードに送信するMAC値数列算出部と、を備え、
前記受信ノードのメッセージ認証部は、
暗号化された前記受信ユーザの数列を前記管理ノードから受信して復号する数列受信部と、
暗号化された前記メッセージを前記送信ノードから受信して復号するメッセージ受信部と、
受信した前記メッセージから前記受信ユーザの数列を用いた第2MAC値数列を算出し、算出した前記第2MAC値数列をOTPで暗号化して前記管理ノードに送信するMAC値数列算出部と、を備え、
前記管理ノードのメッセージ認証部は、
前記送信ノード及び前記受信ノードから前記第1MAC値数列と前記第2MAC値数列とを受信して復号し、前記第1MAC値数列と前記第2MAC値数列との要素が全て一致するか否かにより、前記メッセージ認証が成功したか否かを判定する一致判定部、
を備えることを特徴とする請求項1に記載の認証システム。
【請求項6】
前記管理ノードのメッセージ認証部は、
前記送信ノード又は前記受信ノードの少なくとも一方から前記メッセージが一致しない通知があった場合、前記送信ノード及び前記受信ノードより受信したメッセージから前記第1MAC値数列及び前記第2MAC値数列を再計算し、当該再計算の結果に基づいて、前記ユーザの真偽を判定する真偽判定部、
を備えることを特徴とする請求項5に記載の認証システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、量子鍵配送ネットワークにおいて、相手認証及びメッセージ認証を行う認証システムに関する。
【背景技術】
【0002】
現在、量子コンピュータの開発が世界各国で精力的に進められており、現在インターネットで利用されている暗号技術の危殆化が懸念されている。またスーパーコンピュータの高性能化も暗号技術の危殆化リスクを高めている。それに対し、出願人らは、次世代の暗号の標準化を目指し、量子コンピュータでも解読が難しい暗号方式の評価をすすめているが、未だ最終決定されていない。また、どのような暗号方式であっても、計算量的な安全性であり、将来にわたり安全との確約はない。
【0003】
それに対し、量子鍵配送(QKD:Quantum Key Distribution)は、情報理論的安全な乱数の遠隔地への伝送を可能としており、OTP(one time pad)と組み合わせることにより、将来どのような計算機でも解読が不可能な暗号通信が可能と考えられる。量子鍵配送ネットワークを真に情報理論的安全なインフラとするためには、ユーザ(拠点)の認証も情報理論的安全に実施する必要がある。
【0004】
例えば、従来技術として、1対1で情報理論的安全な相手認証を可能とするWC(Wegman-Carter)認証技術が提案されている(非特許文献1)。この従来技術は、予め共有しておいた鍵を用いて、最後のセッションで交わした文章内容のMAC値を計算して相手に伝送し、互いのMAC値が正しいことを確認することで、情報理論的な相手認証を可能とする。
【先行技術文献】
【特許文献】
【0005】
【非特許文献1】M. N. Wegman and J. L. Carter, “New Hash Functions and Their Use in Authentication and Set Inequality,” J. Comput. System Sci. 22, pp.265-279, 1981.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、前記した従来技術は、対称鍵を必要とし、ユーザがn人の場合、各ユーザがn(n-1)/2種類の鍵を保持する必要があり、鍵の管理が煩雑になるという問題がある。
【0007】
さらに、相手認証後のメッセージ認証技術についても、量子鍵配送やOTPに備わっていない。このため、QKDにより共有した乱数を用いて、互いのメッセージについての完全性の認証を情報理論的安全に実施する必要がある。しかしながら、メッセージ改竄の有無について、送受信ユーザ間で争議が発生した場合、送信ユーザ又は受信ユーザの真偽を判定できていない。
【0008】
本発明は、鍵の管理が容易で、送信ユーザ又は受信ユーザの真偽を判定できる認証システムを提供することを課題とする。
【課題を解決するための手段】
【0009】
前記課題を解決するため、本発明に係る認証システムは、メッセージを送信する送信ユーザの送信ノードと、前記メッセージを受信する受信ユーザの受信ノードと、ユーザ間の相手認証及びメッセージ認証を行う管理ノードと、を量子鍵配送ネットワーク内に備える。
【0010】
送信ノードは、前記受信ユーザとの相手認証を前記管理ノードに要求する相手認証要求部と、所定の秘密データを生成し、OTPで前記秘密データを暗号化して前記管理ノードに送信する秘密データ送信部と、前記メッセージ認証を行うメッセージ認証部と、を備える。
【0011】
また、管理ノードは、前記送信ノードからの要求に応じて、前記相手認証の開始を前記受信ノードに指令する秘匿通信制御部と、暗号化された前記秘密データを前記送信ノードから受信して復号する秘密データ受信部と、閾値秘密分散を用いて、ユーザ数に応じた多項式及びシェアを前記秘密データから生成し、OTPで前記受信ユーザのシェアを暗号化して前記受信ノードに送信するシェア送信部と、前記メッセージ認証を行うメッセージ認証部と、を備える。
【0012】
また、受信ノードは、管理ノードからの指令に応じて、前記相手認証を開始する相手認証処理部と、暗号化された前記受信ユーザのシェアを前記管理ノードから受信して復号するシェア受信部と、前記メッセージ認証を行うメッセージ認証部と、を備える。
【0013】
また、送信ノードは、予めWC認証された公開通信路を介して、前記秘密データを前記受信ノード及び前記管理ノードに公開し、前記多項式の成立を確認する多項式判定部、を備える。
【0014】
そして、受信ノードは、前記公開通信路を介して、前記受信ユーザのシェアを前記送信ノード及び前記管理ノードに公開し、前記多項式の成立を判定する多項式判定部、を備える。
【0015】
さらに、管理ノードは、前記公開通信路を介して、前記送信ユーザのシェアを前記送信ノード及び前記受信ノードに公開し、前記多項式の成立を判定する多項式判定部と、前記送信ノード、前記受信ノード及び前記管理ノードの全てで前記多項式が成立した場合、前記相手認証に成功したと判定する相手認証判定部と、を備える。
【0016】
すなわち、認証システムでは、量子鍵配送ネットワーク内の認証を司る管理ノードを設け、全てのノードが管理ノードとOTPの鍵ペアを共有するので、鍵の管理が容易である。そして、認証システムでは、全てのノードとWC認証により、情報理論的安全な相手認証及びメッセージ認証が可能となり、送信ユーザ又は受信ユーザの真偽を判定できる。
【発明の効果】
【0017】
本発明によれば、鍵の管理が容易で、送信ユーザ又は受信ユーザの真偽を判定できる。
【図面の簡単な説明】
【0018】
【
図1】第1実施形態に係る認証システムにおいて、相手認証に関連した構成を示すブロック図である。
【
図2】第1実施形態に係る認証システムにおいて、メッセージ認証に関連した構成を示すブロック図である。
【
図3】第1実施形態に係る認証システムにおいて、相手認証の動作を示すシーケンス図である。
【
図4】第1実施形態において、一次多項式の確認方法を説明する説明図である。
【
図5】第1実施形態に係る認証システムにおいて、メッセージ認証の動作を示すシーケンス図である。
【
図6】第2実施形態に係る認証システムにおいて、メッセージ認証に関連した構成を示すブロック図である。
【
図7】第2実施形態に係る認証システムにおいて、メッセージ認証の動作を示すシーケンス図である。
【
図8】実施例において、量子鍵配送ネットワークの概念図である。
【発明を実施するための形態】
【0019】
以下、本発明の各実施形態について図面を参照して説明する。但し、以下に説明する各実施形態は、本発明の技術思想を具体化するためのものであって、特定的な記載がない限り、本発明を以下のものに限定しない。また、同一の手段には同一の符号を付し、説明を省略する場合がある。
【0020】
(第1実施形態)
[認証システムの構成]
図1及び
図2を参照し、第1実施形態に係る認証システム1の構成について説明する。
図1に示すように、認証システム1は、メッセージを送信する送信ユーザのノード(送信ノード)2と、メッセージを受信する受信ユーザのノード(受信ノード)4と、ユーザ間の相手認証及びメッセージ認証を行う中央管理ノード(管理ノード)3と、を量子鍵配送ネットワーク内に備えるものである。
【0021】
以後、メッセージを送信する送信ユーザを「ユーザA」と記載し、メッセージを受信する受信ユーザを「ユーザB」と記載する場合がある。また、送信ノード及び受信ノードを単に「ノード」と記載する場合がある。
【0022】
認証システム1は、情報理論的安全な相手認証を少数の鍵ペアで実現する。その手法として、認証システム1は、量子鍵配送ネットワーク内に認証を司る中央管理ノード3を配置し、全てのユーザが中央管理ノード3と鍵ペアを共有する。中央管理ノードは全てのユーザ(ノード)とのWC認証により、情報理論的安全な相手認証が可能となる。さらに、認証システム1は、相手認証が完了した後、ユーザ間で送受信するメッセージについてのメッセージ認証を行う。
なお、中央管理ノード3が信頼できるものとし、鍵情報の流出を防止する実装が行われていることとする。
【0023】
ここで、認証システム1は、量子鍵配送ネットワークを介して、ノード2、中央管理ノード3及びノード4が接続されている。この量子鍵配送ネットワークは、インターネットのようなオープンなネットワークと異なり、クローズなネットワークである。また、認証システム1は、予めWC認証された公開通信路(不図示)を介して、ノード2、中央管理ノード3及びノード4が接続されている。
【0024】
以下、認証システム1の各装置の構成を説明する。なお、図面を見やすくするため、
図1ではメッセージ認証部の詳細を省略し(概略構成として破線で図示)、
図2では相手認証部の詳細を省略した(概略構成として破線で図示)。つまり、
図1及び
図2は、同一の装置を示しており、
図1では、相手認証部10の各構成を実線で示し、メッセージ認証部20を破線にして各構成を省略した。また、
図2では、メッセージ認証部20の各構成を実線で示し、相手認証部10を破線にして各構成を省略した。
【0025】
<送信ノード>
ノード2は、相手認証を行う相手認証部20と、メッセージ認証を行うメッセージ認証部21とを備える。
図1に示すように、相手認証部20は、相手認証要求部200と、秘密データ送信部201と、多項式判定部202とを備える。
【0026】
相手認証要求部200は、ユーザBとの相手認証を中央管理ノード3に要求するものである。
秘密データ送信部201は、所定の秘密データを生成し、OTPで秘密データを暗号化して中央管理ノード3に送信するものである。
多項式判定部202は、予めWC認証された公開通信路を介して、秘密データをノード4及び中央管理ノード3に公開し、多項式の成立を確認するものである。
【0027】
図2に示すように、メッセージ認証部21は、乱数受信部210と、メッセージ送信部211と、演算部212と、MAC値算出部213とを備える。
乱数受信部210は、暗号化された第1乱数及び第2乱数を中央管理ノード3から受信して復号するものである。
メッセージ送信部211は、OTPでメッセージを暗号化してノード4に送信するものである。
【0028】
演算部212は、メッセージから第1乱数を用いた第1MAC(Message Authentication Code)値とSHA(Secure Hash Algorithm)等の暗号学的ハッシュ関数を用いたハッシュ値とを算出し、第1MAC値とハッシュ値との連接又は排他的論理和を演算し、演算結果をOTPで暗号化して中央管理ノード3に送信するものである。
MAC値算出部213は、メッセージから第2乱数を用いた第2MAC値を算出し、OTPで第2乱数MAC値を暗号化して中央管理ノード3に送信するものである。
なお、ノード2の具体的処理内容については、後記する。
【0029】
<中央管理ノード>
中央管理ノード3は、相手認証を行う相手認証部30と、メッセージ認証を行うメッセージ認証部31とを備える。
図1に示すように、相手認証部30は、秘匿通信制御部300と、秘密データ受信部301と、シェア送信部302と、多項式判定部303と、相手認証判定部304とを備える。
【0030】
秘匿通信制御部300は、ノード2からの要求に応じて、相手認証の開始をノード4に指令するものである。
秘密データ受信部301は、暗号化された秘密データをノード2から受信して復号するものである。
シェア送信部302は、閾値秘密分散を用いて、ユーザ数に応じた多項式及びシェアを秘密データから生成し、OTPでユーザBのシェアを暗号化してノード4に送信するものである。
【0031】
多項式判定部303は、公開通信路を介して、ユーザAのシェアをノード2及びノード4に公開し、多項式の成立を判定するものである。
相手認証判定部304は、ノード2、ノード4及び中央管理ノード3の全てで多項式が成立した場合、相手認証に成功したと判定するものである。
【0032】
図2に示すように、メッセージ認証部31は、乱数送信部310と、一致判定部311と、真偽判定部312とを備える。
乱数送信部310は、第1乱数と第2乱数と第3乱数とを生成し、OTPで第1乱数と第2乱数と第3乱数とを暗号化し、暗号化した第1乱数及び第2乱数をノード2に送信し、暗号化した第1乱数及び第3乱数をノード4に送信するものである。
【0033】
一致判定部311は、ノード2及びノード4から演算結果と第2MAC値と第3MAC値とを受信して復号し、受信した演算結果と第2MAC値と第3MAC値とに基づいて、メッセージ認証が成功したか否かを判定するものである。
【0034】
真偽判定部312は、ノード2又はノード4の少なくとも一方からメッセージが一致しない通知があった場合、ノード2及びノード4より受信したメッセージから第1MAC値と第2MAC値と第3MAC値とハッシュ値とを再計算し、当該再計算の結果に基づいて、ユーザの真偽を判定するものである。
なお、中央管理ノード3の具体的処理内容については、後記する。
【0035】
<受信ノード>
ノード4は、相手認証を行う相手認証部40と、メッセージ認証を行うメッセージ認証部41とを備える。
図1に示すように、相手認証部40は、相手認証処理部400と、シェア受信部401と、多項式判定部402とを備える。
相手認証処理部400は、中央管理ノード3からの指令に応じて、相手認証を開始するものである。
シェア受信部401は、暗号化されたユーザBのシェアを中央管理ノード3から受信して復号するものである。
多項式判定部402は、公開通信路を介して、ユーザBのシェアをノード2及び中央管理ノード3に公開し、多項式の成立を判定するものである。
【0036】
図2に示すように、メッセージ認証部41は、乱数受信部410と、メッセージ受信部411と、演算部412と、MAC値算出部413とを備える。
乱数受信部410は、暗号化された第1乱数及び第3乱数を中央管理ノード3から受信して復号するものである。
メッセージ受信部411は、暗号化されたメッセージをノード2から受信して復号するものである。
【0037】
演算部412は、受信したメッセージから第1乱数を用いた第1MAC値とSHA等の暗号学的ハッシュ関数を用いたハッシュ値とを算出し、第1MAC値とハッシュ値との連接又は排他的論理和を演算し、演算結果をOTPで暗号化して中央管理ノード3に送信するものである。
MAC値算出部413は、メッセージから第3乱数を用いた第3MAC値を算出し、OTPで第3MAC値を暗号化して中央管理ノード3に送信するものである。
なお、ノード4の具体的処理内容については、後記する。
【0038】
[認証システムの動作:相手認証]
図3を参照し、認証システム1が相手認証を行うときの動作を説明する(適宜
図1参照)。
図3に示すように、ステップS1において、ノード2の相手認証要求部200は、量子鍵配送ネットワーク内のユーザA,B間で秘匿通信を行いたい場合、ユーザBとの相手認証を中央管理ノード3に要求する。
【0039】
ステップS2において、中央管理ノード3の秘匿通信制御部300は、ノード2からの要求に応じて、ユーザBとの相手認証の開始をノード2に通知すると共に、相手認証の開始をノード4に指令する。
【0040】
ステップS3において、ノード2の秘密データ送信部201は、既知の手法で秘密データSを生成する。そして、秘密データ送信部201は、OTPで秘密データSを暗号化する。
【0041】
例えば、認証システム1では、OTPとして、Vernam’s one time pad暗号を利用できる。なお、OTPで暗号化する場合、データの送受信者間で暗号鍵を予め共有しておくこととする。また、認証システム1では、OTPの代わりに、量子鍵配送ネットワークから取得したAES(Advanced Encryption Standard)等の標準化された対称鍵暗号を用いて暗号化してもよい。
【0042】
ステップS4において、ノード2の秘密データ送信部201は、量子鍵配送ネットワークを介して、暗号化した秘密データSを中央管理ノード3に送信する。すると、中央管理ノード3の秘密データ受信部301は、暗号化された秘密データSをノード2から受信し、OTPで秘密データSを復号する。
【0043】
ステップS5において、中央管理ノード3のシェア送信部302は、閾値秘密分散(例えば、Shamirの秘密分散)を用いて、ユーザ数に応じた多項式を生成する。本実施形態では、ユーザ数がユーザA,Bの2人であるため、シェア送信部302は、閾値秘密分散の閾値を2とし、一次多項式を生成する。なお、シェア送信部302は、Shamirの秘密分散の他、排他的論理和での秘密分散を用いてもよい。
【0044】
参考文献1:Shamir, Adi, “How to share a secret”, Communications of the ACM 22 (11), 1979.Nov.,612-613
【0045】
ステップS6において、中央管理ノード3のシェア送信部302は、閾値秘密分散を用いて、ユーザ数に応じたシェアを生成する。例えば、シェア送信部302は、ユーザA,Bそれぞれのシェアを生成する。そして、シェア送信部302は、OTPでユーザBのシェアを暗号化する。
【0046】
ステップS7において、中央管理ノード3のシェア送信部302は、量子鍵配送ネットワークを介して、暗号化したユーザBのシェアをノード4に送信する。すると、ノード4のシェア受信部401は、暗号化されたユーザBのシェアを中央管理ノード3から受信し、OTPでユーザBのシェアを復号する。
【0047】
ステップS8において、ノード2の多項式判定部202は、公開通信路を介して、秘密データSをノード4及び中央管理ノード3に公開する。
また、中央管理ノード3の多項式判定部303は、公開通信路を介して、ユーザAのシェアをノード2及びノード4に公開する。
また、ノード4の多項式判定部402は、公開通信路を介して、ユーザBのシェアをノード2及び中央管理ノード3に公開する。
【0048】
ステップS9において、中央管理ノード3の多項式判定部303は、一次多項式の成立を判定する。
ステップS10において、ノード2の多項式判定部202は、一次多項式の成立を追認する。
ステップS11において、ノード4の多項式判定部402は、一次多項式の成立を追認する。
【0049】
<一次多項式の成立判定及び追認手法>
図4を参照し、多項式判定部202,303,402における一次多項式の成立判定手法及び追認手法を説明する。
【0050】
図4には、一次多項式の一例を表す直線Lを図示した。
図4には、公開された秘密データS、ユーザAのシェアD1及びユーザBのシェアD2を図示した。
図4のX軸は各ノードの位置を表し、例えば、中央管理ノード3がX=0、ノード2がX=1、ノード4がX=2である。
図4のY軸は秘密データSやシェアD1,D2の数値を表す。
【0051】
図4に示すように、多項式判定部303は、公開された秘密データSとユーザBのシェアD2とユーザAのシェアD1との全てが直線L上に位置する場合、一次多項式が成立すると判定する。一方、多項式判定部303は、公開された秘密データSとユーザBのシェアD2とユーザAのシェアD1との何れか1以上が直線L上に位置しない場合、一次多項式が成立しないと判定する。
【0052】
そして、多項式判定部303は、一次多項式の成立判定結果を多項式判定部202,402に通知する。すると、多項式判定部202,402は、多項式判定部303による一次多項式の成立判定結果を追認する。
【0053】
図3に戻り、認証システム1の動作の説明を続ける。
ステップS12において、ノード2の多項式判定部202は、公開通信路を介して、一次多項式の追認結果を中央管理ノード3に送信する。
ステップS13において、ノード4の多項式判定部402は、公開通信路を介して、一次多項式の追認結果を中央管理ノード3に送信する。
【0054】
ステップS14において、中央管理ノード3の相手認証判定部304は、ノード2、ノード4及び中央管理ノード3の全てで多項式が成立した場合、相手認証に成功したと判定する。つまり、相手認証判定部304は、ステップS9で一次多項式が成立し、かつ、ステップS10,S11で追認された場合、相手認証に成功したと判定する。相手認証に成功した場合、認証システム1は、メッセージ認証を行う。
【0055】
一方、相手認証判定部304は、ステップS9~S11の1以上で一次多項式が成立しないと判定された場合、相手認証に失敗したと判定する。つまり、相手認証判定部304は、ステップS9で一次多項式が成立しない場合、又は、ステップS10,S11で追認されない場合、相手認証に失敗したと判定する。
【0056】
なお、相手認証に成功した場合、認証システム1では、ノード2及びノード4で秘匿通信を行うことができる。この場合、中央管理ノード3に予め依頼し、AとBに共通の乱数を鍵リレーで共有すればよい。
【0057】
[認証システムの動作:メッセージ認証]
図5を参照し、認証システム1がメッセージ認証を行うときの動作を説明する(適宜
図2参照)。
図5に示すように、ステップS20において、中央管理ノード3の乱数送信部310は、既知の手法で第1乱数R1、第2乱数R2及び第3乱数R3を生成する。
【0058】
ステップS21において、中央管理ノード3の乱数送信部310は、第1乱数R1及び第2乱数R2をOTPで暗号化する。そして、乱数送信部310は、量子鍵配送ネットワークを介して、暗号化した第1乱数R1及び第2乱数R2をノード2に送信する。すると、ノード2の乱数受信部210は、暗号化された第1乱数R1及び第2乱数R2を中央管理ノード3から受信し、受信した第1乱数R1及び第2乱数R2をOTPで復号する。
【0059】
ステップS22において、中央管理ノード3の乱数送信部310は、第1乱数R1をOTPで暗号化する。そして、乱数送信部310は、量子鍵配送ネットワークを介して、暗号化した第1乱数R1をノード4に送信する。すると、ノード4の乱数受信部410は、暗号化された第1乱数R1を中央管理ノード3から受信し、受信した第1乱数R1をOTPで復号する。
【0060】
ステップS23において、ノード2のメッセージ送信部211は、OTPで任意のメッセージmを暗号化する。そして、メッセージ送信部211は、量子鍵配送ネットワークを介して、暗号化したメッセージmをノード4に送信する。以後、ノード4が受信したメッセージをメッセージm´と記載する場合がある。すると、ノード4のメッセージ受信部411は、暗号化されたメッセージm´をノード2から受信し、受信したメッセージm´をOTPで復号する。
【0061】
ステップS24において、ノード2の演算部212は、メッセージmから、第1乱数R1を用いた第1MAC値hR1(m)を算出する。なお、第1MAC値hR1(m)は、第1乱数R1を用いた鍵付きハッシュ値である。例えば、演算部212は、メッセージmから、暗号学的ハッシュ関数であるSHA-3を用いたハッシュ値hSHA3(m)を算出する。なお、認証システム1では、暗号学的ハッシュ関数として、SHA-3の代わりにSHA-2を用いてもよい。
【0062】
続いて、演算部212は、第1MAC値hR1(m)とハッシュ値hSHA3(m)との連接hR1(m)|hSHA3(m)又は排他的論理和hR1(m)EORhSHA3(m)を演算する。ここで、連接又は排他的論理和の何れで演算するかは、認証システム1の管理者が設定できる。例えば、排他的論理和で演算する場合、メモリを半分程度に節約でき、連接で演算する場合、後の検算が容易になる。
その後、演算部212は、その演算結果をOTPで暗号化する。
【0063】
ステップS25において、ノード2の演算部212は、量子鍵配送ネットワークを介して、暗号化した演算結果を中央管理ノード3に送信する。すると、中央管理ノード3の一致判定部311は、暗号化された演算結果をノード2から受信し、受信した演算結果をOTPで復号する。
【0064】
ステップS26において、ノード2のMAC値算出部213は、メッセージmから第2乱数R2を用いた第2MAC値hR2(m)を算出する。そして、MAC値算出部213は、算出した第2MAC値hR2(m)をOTPで暗号化する。
【0065】
ステップS27において、ノード2のMAC値算出部213は、量子鍵配送ネットワークを介して、暗号化した第2MAC値hR2(m)を中央管理ノード3に送信する。すると、中央管理ノード3の一致判定部311は、暗号化された第2MAC値hR2(m)をノード2から受信し、受信した第2MAC値hR2(m)をOTPで復号する。
【0066】
ステップS28において、ノード4の演算部412は、メッセージm´から、第1乱数R1を用いた第1MAC値hR1(m´)を算出する。また、演算部412は、メッセージm´から、SHA-3を用いたハッシュ値hSHA3(m´)を算出する。なお、SHA-3の代わりにSHA-2を用いてもよい。
【0067】
続いて、演算部412は、第1MAC値hR1(m´)とハッシュ値hSHA3(m´)との連接hR1(m´)|hSHA3(m´)又は排他的論理和hR1(m´)EORhSHA3(m´)を演算する。ここで、連接又は排他的論理和の何れで演算するかは、ノード2の演算部212と一致させる。その後、演算部412は、その演算結果をOTPで暗号化する。
【0068】
ステップS29において、ノード4の演算部412は、量子鍵配送ネットワークを介して、暗号化した演算結果を中央管理ノード3に送信する。すると、中央管理ノード3の一致判定部311は、暗号化された演算結果をノード4から受信し、受信した演算結果をOTPで復号する。
【0069】
ステップS30において、中央管理ノード3の乱数送信部310は、第3乱数R3をOTPで暗号化する。そして、乱数送信部310は、量子鍵配送ネットワークを介して、暗号化した第3乱数R3をノード4に送信する。すると、ノード4の乱数受信部410は、暗号化された第3乱数R3を中央管理ノード3から受信し、暗号化された第3乱数R3をOTPで復号する。
【0070】
ステップS31において、ノード4のMAC値算出部413は、メッセージm´から、第3乱数R3を用いた第3MAC値hR3(m´)を算出する。そして、MAC値算出部413は、算出した第3MAC値hR3(m´)をOTPで暗号化する。
【0071】
ステップS32において、ノード4のMAC値算出部413は、量子鍵配送ネットワークを介して、暗号化した第3MAC値hR2(m´)を中央管理ノード3に送信する。すると、中央管理ノード3の一致判定部311は、暗号化された第3MAC値hR2(m´)をノード4から受信し、受信した第3MAC値hR2(m´)をOTPで復号する。
【0072】
ステップS33において、中央管理ノード3の一致判定部311は、ノード2又はノード4からメッセージの不一致に関する判定の依頼があった場合、ノード2及びノード4から受信した演算結果が一致するか否かを判定する。つまり、連接で演算した場合、一致判定部311は、ノード2の連接hR1(m)|hSHA3(m)と、ノード4の連接hR1(m´)|hSHA3(m´)とが一致するか否かを判定する。また、排他的論理和で演算した場合、一致判定部311は、ノード2の排他的論理和hR1(m)EORhSHA3(m)と、ノード4の排他的論理和hR1(m´)EORhSHA3(m´)が一致するか否かを判定する。
【0073】
ノード2及びノード4の演算結果が一致する場合、一致判定部311は、メッセージ認証が成功したと判定する。
ノード2及びノード4の演算結果が一致しない場合、一致判定部311は、メッセージ認証が失敗したと判定する。
【0074】
ステップS34において、中央管理ノード3の一致判定部311は、公開通信路を介して、メッセージ認証の判定結果をノード2に送信する。
ステップS35において、中央管理ノード3の一致判定部311は、公開通信路を介して、メッセージ認証の判定結果をノード4に送信する。
【0075】
ステップS36において、ノード2の演算部212は、ノード2のメッセージmとノード4のメッセージm´とが一致するか否かを判定する。
ステップS37において、ノード2の演算部212は、メッセージm,m´が一致しない場合、公開通信路を介して、その旨を中央管理ノード3に通知する。
【0076】
ステップS38において、ノード4の演算部412は、ノード2のメッセージmとノード4のメッセージm´とが一致するか否かを判定する。
ステップS39において、ノード4の演算部412は、メッセージm,m´が一致しない場合、公開通信路を介して、その旨を中央管理ノード3に通知する。
【0077】
ステップS40において、中央管理ノード3の真偽判定部312は、メッセージm,m´が一致しない通知があった場合、ノード2及びノード4からノード3に改めてメッセージを送るように指示し、第1MAC値と第2MAC値と第3MAC値とハッシュ値とを再計算する。ここで、ノード2から改めて受信したメッセージをメッセージm ̄とし、ノード4から改めて受信したメッセージをメッセージm ̄´とする。
【0078】
そして、真偽判定部312は、中央管理ノード3が受信した値と一致しないMAC値又はハッシュ値の有無を確認し、ユーザA,Bのどちらが正しいかを判定する。その判定条件は、以下のとおりである。
【0079】
条件A)連接で演算した場合、hR1(m)|hSHA3(m)=hR1(m ̄)|hSHA3(m ̄)、かつ、hR2(m)=hR2(m ̄)、かつ、hR3(m´)=hR3(m ̄)
排他的論理和で演算した場合、hR1(m)EORhSHA3(m)=hR1(m ̄)EORhSHA3(m ̄)、かつ、hR2(m)=hR2(m ̄)、かつ、hR3(m´)=hR3(m ̄)
【0080】
条件B)連接で演算した場合、hR1(m´)|hSHA3(m´)=hR1(m ̄´)|hSHA3(m ̄´)、かつ、hR3(m´)=hR3(m ̄´)、かつ、hR2(m)=hR3(m ̄´)
排他的論理和で演算した場合、hR1(m´)EORhSHA3(m´)=hR1(m ̄´)EORhSHA3(m ̄´)、かつ、hR3(m´)=hR3(m ̄´)、かつ、hR2(m)=hR3(m ̄´)
【0081】
ここで、真偽判定部312は、条件A,Bの両方が真又は偽の場合、ユーザA,Bのどちらが正しいか不明と判定する。また、真偽判定部312は、条件Aのみが真の場合、ユーザAが正しいと判定する。また、真偽判定部312は、条件Bのみが真の場合、ユーザBが正しいと判定する。その後、真偽判定部312は、ユーザA,Bに判定結果を通知してもよい。
【0082】
[作用・効果]
以上のように、第1実施形態に係る認証システム1によれば、鍵の管理が容易で、ユーザA,Bの真偽を判定できる。
認証システム1では、隣接していない任意のユーザ(ノード)間の相手認証が情報理論的安全に実施できる。また、認証システム1では、中央管理ノード3が相手認証の完了に立ち会うことができ、ユーザが事後にその事実を否定するようなサービス否認を防止できる。すなわち、認証システム1では、量子鍵配送ネットワークの認証プロセスの情報理論的安全性を担保するのみならず、課金などのビジネスを容易に展開できる。さらに、認証システム1では、ユーザ間でやり取りされたメッセージの完全性も中央管理ノード3で担保できる。
【0083】
(第2実施形態)
[認証システムの構成]
図6を参照し、第2実施形態に係る認証システム1Bの構成について、第1実施形態と異なる点を説明する。
図6に示すように、認証システム1は、ノード(送信ノード)2Bと、ノード(受信ノード)4Bと、中央管理ノード(管理ノード)3Bと、を量子鍵配送ネットワーク内に備えるものである。
【0084】
この認証システム1Bでは、メッセージ認証の手法が第1実施形態と異なるが、相手認証の手法は第1実施形態と同様である。つまり、相手認証部20,30,40は、第1実施形態と同様のため、説明を省略する。また、図面を見やすくするため、
図6では相手認証部20,30,40の詳細を省略した(破線で図示)。
【0085】
<送信ノード>
ノード2Bは、相手認証を行う相手認証部20と、メッセージ認証を行うメッセージ認証部22とを備える。
メッセージ認証部22は、数列受信部220と、メッセージ送信部221と、MAC値数列算出部222とを備える。
【0086】
数列受信部220は、暗号化されたユーザAの数列を中央管理ノード3Bから受信して復号するものである。
メッセージ送信部221は、OTPでメッセージを暗号化してノード4Bに送信するものである。
MAC値数列算出部222は、メッセージからユーザAの数列を用いた第1MAC値数列を算出し、算出した第1MAC値数列をOTPで暗号化して中央管理ノード3Bに送信するものである。
なお、ノード2Bの具体的処理内容については、後記する。
【0087】
<中央管理ノード>
中央管理ノード3Bは、相手認証を行う相手認証部30と、メッセージ認証を行うメッセージ認証部32とを備える。
メッセージ認証部32は、乱数列生成部320と、第1置換部321と、第2置換部322と、一致判定部323と、真偽判定部324とを備える。
【0088】
乱数列生成部320は、乱数列を生成するものである。
第1置換部321は、一致する要素数と一致しない要素数とが同数となる置換を同定する関数をユーザA及びユーザBに予め設定し、乱数列をユーザAの置換を同定する関数で数列に変換し、変換したユーザAの数列をOTPで暗号化してノード4Bに送信するものである。
第2置換部322は、乱数列をユーザBの置換を同定する関数で数列に変換し、変換したユーザBの数列をOTPで暗号化してノード4Bに送信するものである。以後、置換を同定する関数を置換関数と略記する場合がある。
【0089】
一致判定部323は、ノード2B及びノード4Bから第1MAC値数列と第2MAC値数列とを受信して復号し、第1MAC値数列と第2MAC値数列との要素が全て一致するか否かにより、メッセージ認証が成功したか否かを判定するものである。
真偽判定部324は、ノード2B及びノード4Bの少なくとも一方からメッセージが一致しない通知があった場合、ノード2B及びノード4Bより受信したメッセージから第1MAC値数列及び第2MAC値数列を再計算し、当該再計算の結果に基づいて、ユーザの真偽を判定するものである。
なお、中央管理ノード3Bの具体的処理内容については、後記する。
【0090】
<受信ノード>
ノード4Bは、相手認証を行う相手認証部40と、メッセージ認証を行うメッセージ認証部42とを備える。
メッセージ認証部42は、数列受信部420と、メッセージ受信部421と、MAC値数列算出部422とを備える。
数列受信部420は、暗号化されたユーザBの数列を中央管理ノード3Bから受信して復号するものである。
メッセージ受信部421は、暗号化されたメッセージをノード2Bから受信して復号するものである。
MAC値数列算出部422は、受信したメッセージからユーザBの数列を用いた第2MAC値数列を算出し、算出した第2MAC値数列をOTPで暗号化して中央管理ノード3Bに送信するものである。
なお、ノード4Bの具体的処理内容については、後記する。
【0091】
[認証システムの動作:メッセージ認証]
図7を参照し、認証システム1Bがメッセージ認証を行うときの動作を説明する(適宜
図6参照)。なお、相手認証が成功していることとする。
【0092】
図7に示すように、ステップS60において、中央管理ノード3Bの乱数列生成部320は、乱数列R
1,R
2,…,R
3nを生成する(但し、nは2以上の整数)。
【0093】
ステップS61において、中央管理ノード3Bの第1置換部321は、乱数列R1,R2,…,R2nをユーザAの置換関数σAで数列RA
1=RσA(1),RA
2=RσA(2),…,RA
2n=RσA(2n)に変換する。
【0094】
続いて、中央管理ノード3Bの第2置換部322は、乱数列R1,R2,…,Rn,R2n+1,R2n+2,…,R3nをユーザBの置換関数σBで数列RB
1=RσB(1),RB
2=RσB(2),…,RB
2n=RσB(2n)に変換する。なお、置換関数σA,σB及びユーザA,Bの数列については、詳細を後記する。
【0095】
<置換関数及びユーザA,Bの数列>
置換関数σA,σBは、一致する要素数と一致しない要素数とが同数となる関数である。つまり、置換関数σA,σBは、以下の式(1)及び式(2)に示すように、n個の要素1,2,…,nが一致し、かつ、n個の要素(n+1,n+2,…,2n)及び(2n+1,2n+2,…,3n)が一致しない関数である。ここで、置換関数σBの値域は、式(2)に示すように、連続した整数とはならない。結果として、例えば、置換関数σA、σBは、入力が(1,…,2n)、出力が式(1)又は式(2)で表される一対一関数となるようにランダムに選ぶ必要がある。なお、置換関数σA,σBは、ユーザA,Bのそれぞれに予め設定しておき、秘密であることとする。
【0096】
【0097】
以後、ユーザAの数列RA
j、ユーザBの数列RB
jと記載する場合がある(但し、j=1,2,…,2n)。ユーザA,Bの数列RA
j,RB
jは、以下の式(3)及び式(4)に示すような関係となる。
【0098】
【0099】
認証システム1Bでは、式(1)及び式(2)に示すように、n個の要素が共通し、かつ、n個の要素が別々となる置換関数σA,σBを予め設定する。さらに、認証システム1Bでは、式(3)及び式(4)に示すように、ユーザA,Bが、互いに共通する要素nを知ることができない。このような性質により、認証システム1Bでは、メッセージを改竄した場合に改竄が明らかとなる。ユーザA,Bの何れであっても、中央管理ノード3に預けたコミットメントに矛盾しないメッセージを作成することは原理的に可能である。しかし、改竄される前のメッセージが他方のユーザと共有しているため、改竄前後のハッシュ値を計算すれば、改竄した方のメッセージが明らかとなる。
【0100】
図7に戻り、認証システム1Bの動作の説明を続ける。
ステップS62において、中央管理ノード3Bの第1置換部321は、変換したユーザAの数列R
A
jをOTPで暗号化する。そして、第1置換部321は、量子鍵配送ネットワークを介して、暗号化したユーザAの数列R
A
jをノード2Bに送信する。すると、ノード2Bの数列受信部220は、暗号化されたユーザAの数列R
A
jを中央管理ノード3Bから受信し、受信したユーザAの数列R
A
jをOTPで復号する。
【0101】
ステップS63において、中央管理ノード3Bの第2置換部322は、変換したユーザBの数列RB
jをOTPで暗号化する。そして、第2置換部322は、量子鍵配送ネットワークを介して、暗号化したユーザBの数列RB
jをノード4Bに送信する。すると、ノード4Bの数列受信部420は、暗号化されたユーザBの数列RB
jを中央管理ノード3Bから受信し、受信したユーザBの数列RB
jをOTPで復号する。
【0102】
ステップS64において、ノード2Bのメッセージ送信部221は、OTPで任意のメッセージmを暗号化する。そして、メッセージ送信部221は、量子鍵配送ネットワークを介して、暗号化したメッセージmをノード4Bに送信する。すると、ノード4Bのメッセージ受信部421は、暗号化されたメッセージmをノード2Bから受信し、受信したメッセージmをOTPで復号する。
【0103】
ステップS65において、ノード2BのMAC値数列算出部222は、以下の式(5)に示すように、メッセージmから、ユーザAの数列RA
jを用いた第1MAC値数列を算出する。この第1MAC値数列は、数列RA
jの各要素のMAC値(鍵付きハッシュ値)で構成されている。
【0104】
【0105】
ステップS66において、ノード2BのMAC値数列算出部222は、算出した第1MAC値数列をOTPで暗号化する。そして、MAC値数列算出部222は、量子鍵配送ネットワークを介して、暗号化した第1MAC値数列を中央管理ノード3Bに送信する。すると、中央管理ノード3Bの一致判定部323は、暗号化された第1MAC値数列をノード2Bから受信し、受信した第1MAC値数列をOTPで復号する。
【0106】
ステップS67において、ノード4BのMAC値数列算出部422は、以下の式(6)に示すように、メッセージm´から、ユーザBの数列RB
jを用いた第2MAC値数列を算出する。
【0107】
【0108】
ステップS68において、ノード4BのMAC値数列算出部422は、算出した第2MAC値数列をOTPで暗号化する。そして、MAC値数列算出部422は、量子鍵配送ネットワークを介して、暗号化した第2MAC値数列を中央管理ノード3Bに送信する。すると、中央管理ノード3Bの一致判定部323は、暗号化された第2MAC値数列をノード4Bから受信し、受信した第2MAC値数列をOTPで復号する。
【0109】
ステップS69において、中央管理ノード3Bの一致判定部323は、第1MAC値数列と第2MAC値数列との要素が全て一致するか否かを判定する。すなわち、一致判定部323は、第1MAC値数列のσA-1(j)番目の要素と第2MAC値数列のσB-1(j)番目の要素とがj=1,2,…,nで全て一致するか否かを判定する。
【0110】
要素が全て一致する場合、一致判定部323は、メッセージ認証が成功したと判定する。
何れか1以上の要素が一致しない場合、一致判定部323は、ステップS64以降の処理を再度実施する。
【0111】
ステップS70において、中央管理ノード3Bの一致判定部323は、公開通信路を介して、メッセージ認証の判定結果をノード2Bに送信する。
ステップS71において、中央管理ノード3Bの一致判定部323は、公開通信路を介して、メッセージ認証の判定結果をノード4Bに送信する。
【0112】
ステップS72において、ノード2Bのメッセージ送信部221は、ノード2Bのメッセージmとノード4Bのメッセージm´とが一致するか否かを判定する。
ステップS73において、ノード2Bのメッセージ送信部221は、メッセージm,m´が一致しない場合、公開通信路を介して、その旨を中央管理ノード3に通知する。
【0113】
ステップS74において、ノード4Bのメッセージ受信部421は、ノード2Bのメッセージmとノード4Bのメッセージm´とが一致するか否かを判定する。
ステップS75において、ノード4Bのメッセージ受信部421は、メッセージm,m´が一致しない場合、公開通信路を介して、その旨を中央管理ノード3に通知する。
【0114】
ステップS76において、中央管理ノード3Bの真偽判定部324は、メッセージm,m´が一致しない通知があった場合、ノード2B及びノード4Bからノード3Bに改めてメッセージを送るように指示し、第1MAC値数列及び第2MAC値数列を再計算する。
【0115】
ここで、真偽判定部324は、ユーザAから受信した第1MAC値数列(式(5))と、以下の式(7)で再計算した第1MAC値数列とを比較し、一致する要素数をnAとする。
【0116】
【0117】
また、真偽判定部324は、ユーザBから受信した第2MAC値数列(式(6))と、以下の式(8)で再計算した第2MAC値数列とを比較し、一致する要素数をnBとする。
【0118】
【0119】
そして、真偽判定部324は、一致する要素数をnA,nBを確認し、ユーザA,Bのどちらが正しいかを判定する。具体的には、nA=nBの場合、真偽判定部324は、ユーザA,Bのどちらが正しいか不明と判定する。nA<nBの場合、真偽判定部324は、ユーザAが正しいと判定する。nA>nBの場合、真偽判定部312は、ユーザBが正しいと判定する。
【0120】
[作用・効果]
以上のように、第2実施形態に係る認証システム1Bによれば、第1実施形態と同様、鍵の管理が容易で、ユーザA,Bの真偽を判定できる。
【0121】
(変形例)
以上、実施形態を詳述してきたが、本発明は前記した実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0122】
前記した実施形態では、ユーザが2人であることとして説明したが、ユーザがm人以上であってもよい(但し、m≧2以上の整数)。この場合、認証システムは、(m-1)次の多項式を生成し、その多項式の成立を判定すればよい。
【実施例0123】
図8を参照し、認証システムの実施例について説明する。
情報理論的安全な鍵共有が可能な量子鍵配送ネットワークとOTP暗号とを組み合わせることで、情報理論的安全なデータ伝送が可能となる。しかし、情報理論的な相手認証でない場合、その部分への攻撃により情報理論的安全性が確保できないので、相手認証にも情報理論的安全性が強く求められる。
【0124】
図8に示すように、ユーザ数が増加し、日本全国に量子鍵配送ネットワークが構築された場合を考える。例えば、量子鍵配送ネットワークは、衛星局90と、海上局91と、大規模な中継ノード92と、アップリンク局93と、小規模な中継ノード94とで構成されている。この場合、従来技術では、多数の鍵を管理しなければならないので、通常の1対1での情報理論的安全な相手認証技術は適用が困難である。これに対し、認証システムを用いた場合、中央管理ノードがユーザ数(拠点数)のみの鍵列を管理し、各ユーザ(拠点)が1つの鍵列を管理するだけでよく、ユーザ数の増加に対応可能である。