JP2016181814A - 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法 - Google Patents

量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法 Download PDF

Info

Publication number
JP2016181814A
JP2016181814A JP2015061182A JP2015061182A JP2016181814A JP 2016181814 A JP2016181814 A JP 2016181814A JP 2015061182 A JP2015061182 A JP 2015061182A JP 2015061182 A JP2015061182 A JP 2015061182A JP 2016181814 A JP2016181814 A JP 2016181814A
Authority
JP
Japan
Prior art keywords
key
application
quantum
link
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015061182A
Other languages
English (en)
Other versions
JP6478749B2 (ja
Inventor
佳道 谷澤
Yoshimichi Tanizawa
佳道 谷澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2015061182A priority Critical patent/JP6478749B2/ja
Priority to US14/919,948 priority patent/US9755826B2/en
Publication of JP2016181814A publication Critical patent/JP2016181814A/ja
Application granted granted Critical
Publication of JP6478749B2 publication Critical patent/JP6478749B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • H04L9/0858Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Optical Communication System (AREA)

Abstract

【課題】暗号鍵の共有動作の処理遅延を低減することができる量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法を提供する。【解決手段】実施形態の量子鍵配送装置は、量子鍵共有手段と、鍵蒸留手段と、第1管理手段と、第2管理手段と、鍵管理手段と、を備える。記憶手段は、内部または外部である。量子鍵共有手段は、量子鍵配送によって光子ビット列を取得する。鍵蒸留手段は、鍵蒸留処理によってリンク鍵を生成する。第1管理手段は、リンク鍵を、リンク送信鍵として内部または外部の記憶手段に記憶させる。第2管理手段は、暗号データ通信のための暗号鍵であるアプリ鍵から所定の役割を決定した第1アプリ鍵を記憶手段に記憶させ、第1アプリ鍵に対応する役割を決定した第2アプリ鍵をリンク送信鍵で暗号化して、他の量子鍵配送装置に送信する。鍵管理手段は、アプリケーションが暗号化または復号化で利用するために第1アプリ鍵を管理する。【選択図】図7

Description

本発明の実施形態は、量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法に関する。
量子鍵配送システムは、送信機、受信機と、それを接続する光ファイバリンクとを含んで構成される。送信機は、光ファイバの通信路である光ファイバリンク(量子通信路)を介して、単一光子の列を受信機に送信する。その後、送信機と受信機が相互に制御情報を交換することによって、送信機と受信機との間で暗号鍵を共有する。この技術は、一般に量子鍵配送(QKD:Quantum Key Distribution)と呼ばれる技術により実現される。
また、量子鍵配送では、暗号鍵を共有するために利用される光子は、観測されることで物理的な状態が変化するという量子力学の基本原理の一つである不確定性原理を有する。この原理により、送信機が送信した暗号鍵の情報を含む光子を量子通信路上で盗聴者が観測すると、光子の物理的な状態が変化し、光子を受け取った受信機は、盗聴者に光子を観測されたことを検出することができる。この結果、送信機で得られた光子列、および受信機で検出された光子列を基にして、送信機と受信機との相互間で制御情報を交換することにより、最終的に安全な暗号鍵が得られる。
2つのノード(例えば、上述の送信機および受信機)に接続された各アプリケーションは、2つのノードで共有された上述の暗号鍵を使用して暗号化および復号化を行い、ワンタイムパッドと呼ばれる暗号通信方式を利用して暗号データ通信を行う。複数のノードに接続された各アプリケーションは、何らかの安全な通信リンクで接続され、または、同じ筺体もしくは同じ敷地に設置される等により、その間の通信に関しては安全を仮定できるものと考える。一方のノードのアプリケーションと、他方のノードのアプリケーションとが、同じタイミングで暗号データ通信を行うためには、共有した暗号鍵を、送信時に暗号化を行う送信鍵と、受信時に復号化を行う受信鍵とに仕分けておく必要がある。ワンタイムパッドは、データ1バイトを暗号鍵1バイトで暗号化して送信し、受信時には同じ1バイトの暗号鍵を利用して復号化する方式であり、一度利用した暗号鍵は破棄し、常に新しい鍵を使い続けることで成立する。このワンタイムパッド方式の暗号鍵による暗号通信では、いかなる知識を有する盗聴者によっても解読できないことが情報理論により保証されている。
このように、複数のノードが、暗号鍵を共有する動作における最も一般的な方式として、まず、リンク鍵方式がある。リンク鍵方式では、上述のように、量子通信路を介して、共有した単一光子の列である光子列に基づくビット情報から、鍵蒸留処理によって暗号鍵が生成される。この鍵蒸留処理は、シフティング処理、誤り訂正処理および秘匿性増強処理によって構成される。この鍵蒸留処理によって生成された暗号鍵をリンク鍵と称する。リンク鍵方式では、このリンク鍵を使用して、暗号化および復号化を行い、暗号データ通信を行う。ここでは、暗号アルゴリズムとして、上述のようにワンタイムパッドを想定する。
このリンク鍵については、あるノードが送信時に暗号化を行う送信鍵と、受信時に復号化を行う受信鍵とを事前に仕分けておく必要がある。このリンク鍵の送信鍵および受信鍵への仕分け動作として、Q3P(Quantum Point to Point Protocol)と呼ばれるプロトコル処理が実行される。Q3Pでは、まず、鍵蒸留処理により生成され、ピックアップストアと呼ばれる複数の記憶部に記憶されたリンク鍵を、送信機および受信機で、同一のリンク鍵を選択するように同期制御を行い、同じタイミングでコモンストアと呼ばれる単一の記憶部に移動させるSTOREサブプロトコルによる処理を実行する。さらに、Q3Pでは、コモンストアに記憶されたリンク鍵を、送信鍵として記憶するための送信バッファ、および、受信鍵として記憶するための受信バッファに仕分けるLOADサブプロトコルによる処理を実行する。
次に、暗号鍵を共有する動作の方式として、リンク鍵方式とは異なるアプリ鍵方式と称する方式について説明する。アプリ鍵方式では、Q3Pを用いて暗号鍵を送信鍵および受信鍵に仕分ける処理までは、リンク鍵方式と同様である。一方のノードは、既に共有し終わっているリンク鍵とは独立に、乱数生成器等を用いて乱数を生成しこれを暗号鍵(アプリ鍵と称する)とする。一方のノードは、生成したアプリ鍵を、送信鍵であるリンク鍵で暗号化し、これを、他方のノードへ暗号送信する。これを受信した他方のノードは、対応する受信鍵であるリンク鍵で復号化し、元のアプリ鍵を記憶する。アプリ鍵を送信する側のノードは、アプリ鍵(暗号鍵)だけでなく、鍵のIDの他、鍵の役割情報(送信鍵か受信鍵かを区別する情報)をも付与した形で送信することで、ノード間でアプリ鍵を送信鍵として使うか受信鍵として使うかを同期することができる。なお、アプリ鍵は、量子鍵配送により生成および共有したリンク鍵によってワンタイムパッドで暗号化されてノード間で共有されることから、リンク鍵と同様の安全性を持つ。なお、乱数を生成してこれを暗号鍵(アプリ鍵)として、リンク鍵で暗号化して送信することで共有するのは、一方のノードに限らない。双方のノードでアプリ鍵を生成し、これをリンク鍵である送信鍵で暗号化して送信することで、互いにアプリ鍵を共有することができる。アプリ鍵方式は、暗号鍵の中継及びネットワーク化が可能であるという大きなメリットを持つ。一般に量子鍵配送による鍵共有は、単一光子を送信して検出することを前提とするため、光ファイバ上の光の減衰によって暗号鍵共有ができなくなるため、リンク鍵共有を行うことができるノード間の距離には物理的な制約が生じ、100[km]程度以下に限定される。一方、アプリ鍵方式を採用すれば、中間にノードを配置し、そのノードの安全性を仮定することで、距離の制約を打破することができる。
しかし、リンク鍵方式およびアプリ鍵方式における上述のQ3Pによるリンク鍵の仕分け動作は、各ノードで、データの同期を行うための制御データの交換、およびプロトコル処理が必要となるため、処理遅延が大きいという問題点がある。
Kollmitzer C., Pivk M. (Eds.), Applied Quantum Cryptography,Lect. Notes Phys. 797 (Springer, Berlin Heidelberg 2010), DOI:10.1007/978-3-642-04831-9
本発明は、上記に鑑みてなされたものであって、暗号鍵の共有動作の処理遅延を低減することができる量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法を提供することを目的とする。
実施形態の量子鍵配送装置は、他の量子鍵配送装置と、量子通信路および古典通信路で接続され、暗号鍵を共有する量子鍵配送装置であって、量子鍵共有手段と、鍵蒸留手段と、第1管理手段と、第2管理手段と、鍵管理手段と、を備える。量子鍵共有手段は、量子通信路を介した量子鍵配送によって、他の量子鍵配送装置と光子列を共有して、光子列に対応する光子ビット列を取得する。鍵蒸留手段は、光子ビット列から、鍵蒸留処理によって暗号鍵であるリンク鍵を生成する。第1管理手段は、リンク鍵を、データの暗号化のためのリンク送信鍵として内部または外部の記憶手段に記憶させる。第2管理手段は、暗号データ通信のための暗号鍵であるアプリ鍵から所定の役割を決定した第1アプリ鍵を記憶手段に記憶させ、アプリ鍵から第1アプリ鍵に対応する役割を決定した第2アプリ鍵を、リンク送信鍵で暗号化して、古典通信路を介して他の量子鍵配送装置に送信する。鍵管理手段は、アプリケーションがデータ通信を行う際の暗号化または復号化で利用するために記憶手段に記憶された第1アプリ鍵を管理する。
図1は、第1の実施形態の量子鍵配送システムの全体構成の一例を示す図である。 図2は、一般的なリンク鍵共有動作を示すシーケンス図である。 図3は、Q3Pのプロトコル処理の動作を説明する図である。 図4は、一般的なアプリ鍵共有動作を示すシーケンス図である。 図5は、生成した暗号鍵を中継する場合のアプリ鍵共有動作の一例を示すシーケンス図である。 図6は、ノードのハードウェア構成の一例を示す図である。 図7は、ノードの機能ブロックの構成の一例を示す図である。 図8は、第1の実施形態のアプリ鍵共有動作を示すシーケンス図である。 図9は、第1の実施形態の変形例のアプリ鍵共有動作を示すシーケンス図である。 図10は、第2の実施形態のアプリ鍵共有動作を示すシーケンス図である。 図11は、第2の実施形態の変形例のアプリ鍵共有動作を示すシーケンス図である。 図12は、ノードのリンク鍵の生成動作の一例を示すシーケンス図である。 図13は、鍵蒸留処理での制御データの一例を示す図である。 図14は、暗号化されたアプリ鍵の送信と応答とを示す図である。 図15は、第3の実施形態のアプリ鍵共有動作を示すシーケンス図である。 図16は、第4の実施形態の制御データの変化の一例を示す図である。
以下に、図面を参照しながら、本発明の実施形態に係る量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法を詳細に説明する。ただし、図面は模式的なものであるため、具体的な構成は以下の説明を参酌して判断すべきものである。
(第1の実施形態)
図1は、第1の実施形態の量子鍵配送システムの全体構成の一例を示す図である。図1を参照しながら、量子鍵配送システム100の構成について説明する。
図1に示すように、量子鍵配送システム100は、送信機であるノード1と、受信機であるノード2と、光ファイバリンク4と、アプリAと、アプリBと、を含んで構成されている。
ノード1は、レーザにより発生した、暗号鍵を生成する基となる単一光子から構成される光子列を、光ファイバリンク4を介して、ノード2へ送信する送信機(量子鍵配送装置、QKD装置)である。ノード1は、送信した光子列を基に、後述する鍵蒸留処理(シフティング処理、誤り訂正処理および秘匿性増強処理)等を実行して、暗号鍵(リンク鍵)を生成する。また、鍵蒸留処理の際、ノード1は、ノード2との間で制御データ(単一光子ではなく一般のデジタルデータであり、鍵蒸留処理データと称する)の交換を行う。なお、鍵蒸留処理データは、ノード1とノード2との間の光ファイバリンク4を介して転送されてもよく、これ以外の通信経路(例えば、一般のインターネット回線等)を用いて転送されてもよい。鍵蒸留処理データの交換に用いられるデジタルデータの通信経路を、古典通信路と呼ぶことがある。
ノード2は、暗号鍵を生成する基となる単一光子から構成される光子列を、光ファイバリンク4を介して、ノード1から受信する受信機(量子鍵配送装置、QKD装置)である。ノード2は、受信した光子列を基に、後述する鍵蒸留処理(シフティング処理、誤り訂正処理および秘匿性増強処理)等を実行して、ノード1が生成した暗号鍵と同一の暗号鍵(リンク鍵)を生成する。鍵蒸留処理の際、ノード2は、ノード1との間で制御データ((鍵蒸留処理データ)の交換を行う。
光ファイバリンク4は、ノード1が出力した単一光子の送信路となる量子通信路として機能する光ファイバケーブルである。なお、図示していないが、送信機1と受信機2とは、光ファイバリンク4の量子通信路以外に、鍵蒸留処理データを交換するための、通常の「0」および「1」のデジタルデータを通信する通信ケーブル(古典通信路)で接続されている。
このようなノード1とノード2とを含む量子鍵配送システム100によって、ノード1が送信した光子列を光ファイバリンク4上で盗聴者が観測すると、光子の物理的状態が変化し、光子を受信したノード2は、盗聴者に光子を観測されたことを認識することができる。
アプリAは、ノード1に安全な通信リンクで接続された装置の機能、またはノード1において実行されるアプリケーションである。アプリAは、ノード1によりノード2と共有したアプリ鍵の提供を受け、このアプリ鍵によりデータを暗号化または復号化し、ノード2のアプリBとの間で暗号データ通信を行う。
アプリBは、ノード2に安全な通信リンクで接続された装置の機能、またはノード2において実行されるアプリケーションである。アプリBは、ノード2によりノード1と共有したアプリ鍵の提供を受け、このアプリ鍵によりデータを暗号化または復号化し、ノード1のアプリAとの間で暗号データ通信を行う。
この暗号データ通信におけるアプリ鍵によるデータの暗号化および復号化も、ワンタイムパッド方式により実行される。ここで、アプリAとアプリBとが同じタイミングでデータの暗号化および送信を行う場合(双方向通信を行う場合)を考える。アプリAおよびアプリBが、同じアプリ鍵をそれぞれ暗号化のために利用してしまうと、受信側のアプリが同じアプリ鍵を用いて復号化することができなくなるため、暗号データ通信が成立しなくなる。このような事態を避けるため、生成および共有されたアプリ鍵を、送信時に暗号化に使う送信鍵と、受信時の復号化に使う受信鍵と、に分類する必要がある。ノード1とノード2との間で共有されたアプリ鍵を、送信鍵と受信鍵とに分類する動作の詳細については後述する。
図2は、一般的なリンク鍵共有動作を示すシーケンス図である。図3は、Q3Pのプロトコル処理の動作を説明する図である。まず、図2を参照しながら、ノード間でリンク鍵を共有するための従来のリンク鍵共有動作について説明する。ここで、リンク鍵共有動作とは、ノード間で量子鍵配送により暗号鍵であるリンク鍵を共有する動作を示すものとする。
<ステップS101>
ノード1は、例えば、乱数によって発生させたビット情報について、ランダムに選択した基底により生成した基底情報に基づいて生成した単一光子から構成される光子列を、量子通信路を介して、ノード2に送信する。
<ステップS102>
ノード2は、量子通信路を介して、ノード1から光子列を受信し、受信した光子列を、ランダムに選択した基底により生成した基底情報に基づいて読み取ることによってビット情報を得る。
<ステップS103>
ノード1は、ノード2との間で制御データ(鍵蒸留処理データ)の通信を行うことによって、ビット情報から暗号鍵(リンク鍵)を生成する鍵蒸留処理を実行し、ノード2の間でリンク鍵を共有する。なお、鍵蒸留処理データは、ノード1とノード2との間を、古典通信路を介して送受信される。
<ステップS104>
ノード2は、ノード1との間で制御データ(鍵蒸留処理データ)の通信を行うことによって、ビット情報から暗号鍵(リンク鍵)を生成する鍵蒸留処理を実行し、ノード1の間でリンク鍵を共有する。なお、鍵蒸留処理データは、ノード1とノード2との間を、古典通信路を介して送受信される。
<ステップS105>
ノード1は、ノード2との間で制御データ(Q3Pデータ)の通信を行うことによって、生成したリンク鍵を送信鍵と受信鍵とに仕分けるためのQ3Pによるプロトコル処理を実行する。なお、Q3Pデータは、ノード1とノード2との間を、古典通信路を介して送受信される。図2に示すように、Q3Pによるプロトコル処理の結果、ノード1で仕分けされた送信鍵をリンク送信鍵150とし、受信鍵をリンク受信鍵151とする。
<ステップS106>
ノード2は、ノード1との間で制御データ(Q3Pデータ)の通信を行うことによって、生成したリンク鍵を送信鍵と受信鍵とに仕分けるためのQ3Pによるプロトコル処理を実行する。なお、Q3Pデータは、ノード1とノード2との間を、古典通信路を介して送受信される。図2に示すように、Q3Pによるプロトコル処理の結果、ノード2で仕分けされた送信鍵をリンク送信鍵160とし、受信鍵をリンク受信鍵161とする。なお、Q3Pによるプロトコル処理の詳細は、図3で後述する。
次に、図3を参照しながら、従来のリンク鍵共有動作におけるQ3Pによるプロトコル処理の詳細を説明する。なお、Q3Pは、複数の光ファイバリンク(量子通信路)を有するシステムについても想定している。
Q3Pによるプロトコル処理では、まず、ノード1、2は、それぞれ共有したリンク鍵を、ピックアップストアと称する複数の記憶部に記憶させる。複数のピックアップストアは、それぞれ各光ファイバリンクに対応しており、各光ファイバリンクを介して共有されたリンク鍵をそれぞれ記憶する。図3に示すように、例えば、ノード1は、ピックアップストア170a、170bそれぞれにリンク鍵を記憶させ、ノード2は、ピックアップストア180a、180bそれぞれにリンク鍵を記憶させる。
次に、ノード1とノード2との間で、同一のリンク鍵を選択するように同期制御を行い、同じタイミングで同じリンク鍵をコモンストアと称する単一の記憶部に移動させるためのSTOREサブプロトコルと称するプロトコル処理が実行される。ここで、図3に示すように、ノード1が有するコモンストアを、コモンストア171とし、ノード2が有するコモンストアを、コモンストア181とする。以下、Q3PにおけるSTOREサブプロトコルについて説明する。
Q3Pでは、ノードの一方がマスタ、他方がスレーブとなるが、ここでは、ノード1がマスタで、ノード2がスレーブであるとする。STOREサブプロトコルでは、マスタは、スレーブに対して、少なくともピックアップストアの番号と、リンク鍵のID情報とを含むコモンストア移動要求を送信する。スレーブは、マスタからコモンストア移動要求を受信すると、同様に、少なくともピックアップストアの番号と、リンク鍵のID情報とを含む移動了解応答を、マスタに送信する。マスタは、スレーブから移動了解応答を受信すると、これに応答するための応答情報(例えば「Acknowledge」等のメッセージ)を、スレーブに送信する。以上のやりとりが行われると、ノード1、2は、ピックアップストアの番号で指定されたピックアップストアから、ID情報で指定されたリンク鍵をコモンストアに移動させる。このリンク鍵の移動に際し、ピックアップストアに記憶される際にリンク鍵に付与されていたリンク鍵のID情報等のメタデータおよび鍵長等のデータは全て削除され、結果として、コモンストアに移動されるのは単一の暗号鍵データストリームとなる。以上の手順によって、STOREサブプロトコルによる処理が行われる。
次に、Q3Pによるプロトコル処理では、ノード1、2は、コモンストアに格納された暗号鍵データストリーム(リンク鍵)を、送信鍵として記憶させる送信バッファと、受信鍵として記憶させる受信バッファとに振り分ける。ここで、図3に示すように、ノード1が有する送信バッファおよび受信バッファを、それぞれ送信バッファ172aおよび受信バッファ172bとし、ノード2が有する送信バッファおよび受信バッファを、それぞれ送信バッファ182aおよび受信バッファ182bとする。一方のノードにおいて、送信バッファに送信鍵として記憶されたリンク鍵は、他方のノードにおいて、受信バッファに受信鍵として記憶されるべきである。また、一方のノードにおいて、受信バッファに受信鍵として記憶されたリンク鍵は、他方のノードにおいて、送信バッファに送信鍵として記憶されるべきである。ノードは、データを暗号化して送信する場合、送信バッファから送信鍵(リンク鍵)を取り出してこれを利用する。そして、利用された送信鍵は、送信バッファから削除される。また、ノードは、暗号化されたデータを受信して復号化する場合、受信バッファから受信鍵(リンク鍵)を取り出してこれを利用する。そして、利用された受信鍵は、受信バッファから削除される。
ノードは、それぞれ自身の受信バッファ(受信バッファ172b、182b)を監視しており、受信バッファに記憶されている受信鍵が減少してくると、コモンストアに記憶されているリンク鍵を、自身の受信鍵として受信バッファに補充する。また、ノードは、相手のノードに対してコモンストアに記憶されている同じリンク鍵を、送信鍵として送信バッファに補充するように制御する。この際に利用されるプロトコルがLOADサブプロトコルである。以下、Q3PにおけるLOADサブプロトコルについて説明する。
LOADサブプロトコルでは、マスタは、受信鍵を補充しようとする場合、スレーブに対して、リンク鍵のIDに相当する情報、そのサイズ、および認証情報を含むバッファ移動要求を送信する。なお、鍵のIDの情報は、コモンストアにデータを格納した時点で削除されているため、LOADサブプロトコルを実行するマスタは、LOADサブプロトコルを実行するタイミングで新しくリンク鍵のIDに相当する情報を生成している。スレーブは、マスタからバッファ移動要求を受信すると、バッファ移動要求に含まれるサイズの鍵を、指定された鍵のIDを持つリンク鍵として、コモンストアから送信鍵として送信バッファに移動させ、認証情報を含む移動了解応答を送信する。マスタは、スレーブから移動了解応答を受信すると、IDに相当する情報により指定したリンク鍵を、コモンストアから受信鍵として受信バッファに移動させ、移動了解応答に応答するための応答情報を、スレーブに送信する。一方、スレーブが、受信鍵を補充しようとする場合、マスタに対して、少なくともリンク鍵のサイズ、および認証情報を含むバッファ移動要求を送信する。以降の動作は、上述と同様である。以上の手順によって、LOADサブプロトコルによる処理が行われる。
以上の動作によって、リンク鍵を送信鍵と受信鍵とに仕分けるためのQ3Pによるプロトコル処理が実行される。Q3Pによるプロトコル処理は、既にノード間で共有済みの暗号鍵(リンク鍵)を、ノード間で仕分けるためのプロトコルであり、量子鍵配送における鍵管理に特有の方式である。また、ノード1とノード2との間で、暗号鍵を1つ仕分けるたびに同期制御用の通信が必要となり、処理遅延が大きい点等の特徴がある。
図4は、一般的なアプリ鍵共有動作を示すシーケンス図である。図4を参照しながら、ノード間でアプリ鍵を共有するための従来のアプリ鍵共有動作について説明する。ここで、アプリ鍵共有動作とは、上述のリンク鍵共有動作によってリンク鍵を共有し、さらに、このリンク鍵を用いて、別途生成する暗号鍵(アプリ鍵)を暗号化および復号化により、暗号データ通信し、ノード間でアプリ鍵を共有する動作を示すものとする。アプリ鍵共有動作においては、まず、ノード間でリンク鍵を共有する必要があり、リンク鍵を共有する動作は、上述の図2、3で示したリンク鍵共有動作と同様である。
<ステップS101〜S106>
図2に示したステップS101〜S106と同様である。
<ステップS107>
ノード1は、リンク鍵共有動作により共有が終了しているリンク鍵とは独立して、乱数を用いて暗号鍵であるアプリ鍵を生成する。ノード1は、例えば、生成したアプリ鍵を、アプリAが送信するデータを暗号化するための送信鍵(図4に示すアプリ送信鍵152)として、記憶部に記憶させる。なお、ノード1は、生成したアプリ鍵を送信鍵として記憶部に記憶させることに限定されるものではなく、アプリAが受信するデータを復号化するための受信鍵として記憶させるものとしてもよい。この場合、後述するステップS109で、ノード2が復号化したアプリ鍵を送信鍵か受信鍵かいずれの役割として使用するかについて同期をとる必要がある。この場合の同期をとるための情報が、以下のステップS108におけるノード1が生成したアプリ鍵に付与するアプリ鍵の役割を決定する情報である。
<ステップS108>
ノード1は、リンク鍵共有動作により送信鍵として仕分けたリンク送信鍵150を用いて、生成したアプリ鍵をワンタイムパッドにより暗号化して、古典通信路を介して、ノード2に送信する。また、ノード1は、アプリ鍵の他、アプリ鍵を識別する情報、およびアプリ鍵の役割を決定する情報(例えば、送信鍵か受信鍵かを区別する情報)を付与した形で送信する。これによって、ノード間で、アプリ鍵を送信鍵として利用するか受信鍵として利用するかについて同期をとることができる。
<ステップS109>
ノード2は、ノード1から暗号化されたアプリ鍵を受信すると、リンク鍵共有動作により受信鍵として仕分けたリンク受信鍵161を用いて、アプリ鍵をワンタイムパッドにより復号化し、アプリBが受信するデータを復号化するための受信鍵(図4に示すアプリ受信鍵163)として、記憶部に記憶させる。
<ステップS110>
また、生成したアプリ鍵をリンク鍵により暗号化して送信するのは、一方のノード(上述ではノード1)に限らない。図4に示すように、ノード2は、リンク鍵共有動作により共有が終了しているリンク鍵とは独立して、乱数を用いて暗号鍵であるアプリ鍵を生成する。ノード2は、例えば、生成したアプリ鍵を、アプリBが送信するデータを暗号化するための送信鍵(図4に示すアプリ送信鍵162)として、記憶部に記憶させる。なお、ノード2は、生成したアプリ鍵を送信鍵として記憶部に記憶させることに限定されるものではなく、アプリBが受信するデータを復号化するための受信鍵として記憶させるものとしてもよい。この場合、後述するステップS112で、ノード1が復号化したアプリ鍵を送信鍵か受信鍵かいずれの役割として使用するかについて同期をとる必要がある。この場合の同期をとるための情報が、以下のステップS111におけるノード2が生成したアプリ鍵に付与するアプリ鍵の役割を決定する情報である。
<ステップS111>
ノード2は、リンク鍵共有動作により送信鍵として仕分けたリンク送信鍵160を用いて、生成したアプリ鍵をワンタイムパッドにより暗号化して、古典通信路を介して、ノード1に送信する。また、ノード2は、アプリ鍵の他、アプリ鍵を識別する情報、およびアプリ鍵の役割を決定する情報(例えば、送信鍵か受信鍵かを区別する情報)を付与した形で送信する。これによって、ノード間で、アプリ鍵を送信鍵として利用するか受信鍵として利用するかについて同期をとることができる。
<ステップS112>
ノード1は、ノード2から暗号化されたアプリ鍵を受信すると、リンク鍵共有動作により受信鍵として仕分けたリンク受信鍵151を用いて、アプリ鍵をワンタイムパッドにより復号化し、アプリAが受信するデータを復号化するための受信鍵(図4に示すアプリ受信鍵153)として、記憶部に記憶させる。
以上のステップによって、ノード1とノード2は、アプリ鍵を共有し、利用することができる。なお、アプリ鍵は、リンク鍵共有動作により共有したリンク鍵によってワンタイムパッドで暗号化されてノード間で共有されることから、リンク鍵と同様の安全性を有する。なお、アプリ鍵を導入するメリットは、以下に述べるように、アプリ鍵を中継するノードを設けることによって、リンク鍵だけを用いる場合では実現できなかった、距離の制約の打破を実現する点にある。
図5は、生成した暗号鍵を中継する場合のアプリ鍵共有動作の一例を示すシーケンス図である。図5を参照しながら、ノードがアプリ鍵を中継する従来の動作ついて説明する。
図5に示すように、ノード1が光ファイバリンク4によってノード2に接続され、ノード2がさらに光ファイバリンク4aによってノード3に接続された量子鍵配送システムを考える。そして、アプリAは、上述のように、ノード1からアプリ鍵の提供を受けるアプリケーションであり、アプリCは、ノード3からアプリ鍵の提供を受けるアプリケーションであるものとする。
<ステップS121、122>
ノード1およびノード2は、図2で示したリンク鍵共有動作によってリンク鍵を共有する。ノード2およびノード3は、図2で示したリンク鍵共有動作によってリンク鍵を共有する。
<ステップS123>
ノード1は、リンク鍵共有動作により共有が終了しているリンク鍵とは独立して、乱数を用いて暗号鍵であるアプリ鍵を生成する。
<ステップS124、125>
ノード1は、ノード2との間でリンク鍵共有動作により共有した送信鍵(リンク送信鍵)を用いて、生成したアプリ鍵をワンタイムパッドにより暗号化して、古典通信路を介して、ノード2に送信する。
<ステップS126〜128>
ノード2は、ノード1から暗号化されたアプリ鍵を受信すると、ノード1との間でリンク鍵共有動作により共有した受信鍵(リンク受信鍵)を用いて、アプリ鍵をワンタイムパッドにより復号化する。そして、ノード2は、ノード3との間でリンク鍵共有動作により共有した送信鍵(リンク送信鍵)を用いて、アプリ鍵をワンタイムパッドにより暗号化して、古典通信路を介して、ノード3に送信する。
<ステップS129、130>
ノード3は、ノード2から暗号化されたアプリ鍵を受信すると、ノード2との間でリンク鍵共有動作により共有した受信鍵(リンク受信鍵)を用いて、アプリ鍵をワンタイムパッドにより復号化する。ノード3は、アプリ鍵を復号化すると、ノード1からアプリ鍵を受信した旨を示すアプリ鍵受信応答を、古典通信路を介して、ノード1へ送信する。以上のような、ステップS123〜S130の処理によって、ノード1とノード3との間でアプリ鍵を共有することができる。この場合、ノード1とノード3とが、直接、量子鍵配送を行ってリンク鍵を共有できる距離にないとしても、アプリ鍵の共有が可能となる。なお、アプリ鍵は、リンク鍵共有動作により共有したリンク鍵によってワンタイムパッドで暗号化されてノード間で共有されることから、リンク鍵と同様の安全性を有する。
<ステップS131、S132>
アプリAは、アプリCとのデータ通信での暗号化および復号化のために使用するアプリ鍵の提供をノード1から受ける。アプリCは、アプリAとのデータ通信での暗号化および復号化のために使用するアプリ鍵の提供をノード3から受ける。
なお、図5に示す量子鍵配送システムでは、ノードが3つの場合を示したが、これに限定されるものではなく、ノードの数は4つ以上でもよく、理論上、無限に距離を延長することが可能である。
このように、アプリ鍵共有動作は、暗号鍵(アプリ鍵)の中継およびネットワーク化が可能となる。上述したリンク鍵共有動作による暗号鍵(リンク鍵)の共有動作は、単一光子を送受信することを前提とするため、光ファイバリンク上の光の減衰によってリンク鍵の共有ができなくなる可能性があり、リンク鍵の共有を行うことができるノード間の距離には物理的な制約(例えば、100[km]以下)が生じることが考えられる。一方、アプリ鍵共有動作におけるアプリ鍵の共有動作は、中間にノードを配置し、そのノードの安全性を仮定することで、距離の制約を打破することができる。
また、アプリ鍵共有動作は、リンク鍵共有動作に対して、動作を追加することによって実現するものである。具体的には、乱数の生成によるアプリ鍵の生成、ワンタイムパッド方式による、リンク鍵を用いたアプリ鍵の暗号化・復号化、及びその暗号化されたアプリ鍵の通信、をリンク鍵共有動作に対して追加することで、アプリ鍵共有動作は実現できる。このような、アプリ鍵共有動作を実現するために、リンク鍵共有動作に追加される動作は全て、一般的なネットワーク・プロトコル技術であり、処理遅延としても小さく、さらに、開発コストおよびメインテナンスコストも十分低いものである。
また、アプリ鍵共有動作は、上記以外にも、リンク鍵共有動作にないメリットを持つ。アプリ鍵の共有動作は、共有する暗号鍵(アプリ鍵)のフォーマットを、量子鍵配送の内部処理に依存することなく、任意に決定できることから、純粋な乱数である暗号鍵以外にも、任意のパスフレーズ、証明書、または暗号に関するパラメータ等を含んだ形で安全に共有することができる。
一方で、図4に示すアプリ鍵共有動作は、図2および3に示すリンク鍵共有動作を含むものであり、全体としては処理プロセスが長く、処理遅延が大きいという問題点がある。特に、図2、3に示すリンク鍵共有動作は、Q3Pによるプロトコル処理を含み、同一のリンク鍵を選択するように同期制御を行うため、制御データの交換、およびプロトコル処理が必要となるため、処理遅延が大きいという問題点がある。また、Q3Pは、量子鍵配送におけるリンク鍵の共有の手法としてのみ用いられる特殊なプロトコルであり、汎用性がなく、他の技術分野で利用されることがないことから、開発コストおよびメインテナンスコストが高くなるという問題点もある。以上のような、図2および3に示すリンク鍵共有動作が有する問題点を解消するために、本実施形態では、Q3Pによるプロトコル処理を要しないリンク鍵共有動作およびアプリ鍵共有動作を採用する。以下、Q3Pによるプロトコル処理を含まないリンク鍵共有動作およびアプリ鍵共有動作を適用した本実施形態に係る量子鍵配送システム100について説明をする。
図6は、第1の実施形態に係るノードのハードウェア構成の一例を示す図である。図6を参照しながら、ノードのハードウェア構成について説明する。なお、以下では、ノード1を例にして説明をする。
図6に示すように、ノード1は、CPU(Central Processing Unit)80と、ROM(Read Only Memory)81と、RAM(Random Access Memory)82と、通信I/F83と、補助記憶装置84と、光学処理装置85と、を備えている。
CPU80は、ノード1全体の動作を制御する演算装置である。ROM81は、CPU80が各機能を制御するために実行するプログラムを記憶する不揮発性記憶装置である。RAM82は、CPU80のワークメモリ等として機能する揮発性記憶装置である。
通信I/F83は、LAN(Local Area Network)等のネットワークまたは無線ネットワーク等の古典通信路を介してデータ通信を行うためのインターフェースである。通信I/F83は、例えば、10Base−T、100Base−TXもしくは1000Base−T等のEthernet(登録商標)に対応したインターフェースであってもよいし、光ファイバであってもよい。
補助記憶装置84は、CPU80で実行される各種プログラム、リンク鍵共有動作、およびアプリ鍵共有動作の過程で生成したデータ等を記憶して蓄積する不揮発性記憶装置である。補助記憶装置84は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリまたは光ディスク等の電気的、磁気的または光学的に記憶可能な記憶装置である。
光学処理装置85は、量子通信路を介して、光子列を送信または受信する光学装置である。ノード1の光学処理装置85は、例えば、乱数によって発生させたビット情報であるビット列(光子ビット列)を基に、ランダムに選択した基底により生成した基底情報に基づく偏光状態となるように生成した単一光子から構成される光子列を、量子通信路(図1に示す光ファイバリンク4)を介して、ノード2の光学処理装置85に送信する。すなわち、ノード1の光学処理装置85により発生された光子列の各光子は、「0」から「1」かの1ビットの情報を有する。ノード2の光学処理装置85は、量子通信路を介して、ノード1の光学処理装置85から光子列を受信し、受信した光子列を、ランダムに選択した基底により生成した基底情報に基づいて読み取ることによってビット情報である光子ビット列を得る。
上述のCPU80、ROM81、RAM82、通信I/F83、補助記憶装置84、および光学処理装置85は、アドレスバスおよびデータバス等のバス86によって互いに通信可能に接続されている。
図7は、第1の実施形態に係るノードの機能ブロックの構成の一例を示す図である。図7を参照しながら、ノード1およびノード2の機能ブロックの構成について説明する。
図7に示すように、ノード1は、量子鍵共有部10(量子鍵共有手段、第1量子鍵共有手段)と、鍵蒸留部11(鍵蒸留手段、第1鍵蒸留手段)と、リンク鍵管理部12(第1管理手段、第1リンク鍵管理手段)と、暗号通信トンネル部13と、アプリ鍵管理部14(第2管理手段、第1アプリ鍵管理手段)と、鍵提供部15(鍵管理手段、第1鍵管理手段)と、制御部16と、記憶部17と、を有する。
量子鍵共有部10は、例えば、乱数によって発生させたビット情報である光子ビット列を基に、ランダムに選択した基底により生成した基底情報に基づく偏光状態となるように生成した単一光子から構成される光子列を、量子通信路(図1に示す光ファイバリンク4)を介して、ノード2の量子鍵共有部20に送信する機能部である。量子鍵共有部10は、図6に示す光学処理装置85によって実現される。
鍵蒸留部11は、ノード2の鍵蒸留部21との間で、古典通信路を介して、鍵蒸留処理データの通信を行うことによって、光子ビット列から暗号鍵(リンク鍵)を生成する鍵蒸留処理を実行する機能部である。
リンク鍵管理部12は、鍵蒸留部11の鍵蒸留処理により生成されたリンク鍵を管理する機能部である。具体的には、リンク鍵管理部12は、鍵蒸留部11により生成されたリンク鍵を、記憶部17に記憶させる。
暗号通信トンネル部13は、リンク鍵管理部12により記憶部17に記憶されたリンク送信鍵により、ノード1からノード2へと暗号化したデータを送信するために、古典通信路上で暗号通信路(以下、「暗号通信トンネル」と称する)を確立する機能部である。なお、この暗号通信トンネルは、ノード1からノード2に暗号鍵(アプリ鍵)を送信するための、古典通信路上に確立された一方通行の通信路として利用されてもよい。
アプリ鍵管理部14は、鍵蒸留部11により生成されたリンク鍵とは独立して、乱数を用いて暗号鍵であるアプリ鍵を生成し、記憶部17に記憶されたリンク送信鍵を用いてアプリ鍵を暗号化し、暗号通信トンネルを介して、ノード2のアプリ鍵管理部14に送信する機能部である。アプリ鍵管理部14は、生成したアプリ鍵を、アプリAが送信するデータを暗号化するためのアプリ送信鍵、およびアプリAが受信したデータを復号化するためのアプリ受信鍵として、記憶部17に記憶させる。
鍵提供部15は、アプリAがデータを暗号化および復号化するために、記憶部17に記憶されたアプリ送信鍵およびアプリ受信鍵を、アプリAに提供する機能部である。
制御部16は、上述の各機能部の動作を制御する機能部である。特に、制御部16は、上述の各機能部によって実行されるリンク鍵共有動作、およびリンク鍵共有動作を含むアプリ鍵共有動作の制御を行う。
記憶部17は、鍵蒸留部11により生成されたリンク鍵、およびアプリ鍵管理部14により生成されたアプリ鍵を記憶する機能部である。記憶部17は、図6に示す補助記憶装置84によって実現される。
上述の鍵蒸留部11、リンク鍵管理部12、暗号通信トンネル部13、アプリ鍵管理部14、鍵提供部15、および制御部16は、図6に示すCPU80が補助記憶装置84等に記憶されたプログラムをRAM82に読み出して実行することによって実現される。なお、鍵蒸留部11、リンク鍵管理部12、暗号通信トンネル部13、アプリ鍵管理部14、鍵提供部15、および制御部16のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかが、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)またはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
なお、図7に示す量子鍵共有部10、鍵蒸留部11、リンク鍵管理部12、暗号通信トンネル部13、アプリ鍵管理部14、鍵提供部15、制御部16、および記憶部17は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図7で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図7の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
図7に示すように、ノード2は、量子鍵共有部20(量子鍵共有手段、第2量子鍵共有手段)と、鍵蒸留部21(鍵蒸留手段、第2鍵蒸留手段)と、リンク鍵管理部22(第1管理手段、第2リンク鍵管理手段)と、暗号通信トンネル部23と、アプリ鍵管理部24(第2管理手段、第2アプリ鍵管理手段)と、鍵提供部25(鍵管理手段、第2鍵管理手段)と、制御部26と、記憶部27と、を有する。
量子鍵共有部20は、量子通信路を介して、ノード1の量子鍵共有部10から光子列を受信し、受信した光子列を、ランダムに選択した基底により生成した基底情報に基づいて読み取ることによってビット情報である光子ビット列を得る機能部である。量子鍵共有部20は、図2に示す光学処理装置85によって実現される。
鍵蒸留部21は、ノード1の鍵蒸留部11との間で、古典通信路を介して、鍵蒸留処理データの通信を行うことによって、光子ビット列から暗号鍵(リンク鍵)を生成する鍵蒸留処理を実行する機能部である。
リンク鍵管理部22は、鍵蒸留部21の鍵蒸留処理により生成されたリンク鍵を管理する機能部である。具体的には、リンク鍵管理部22は、鍵蒸留部21により生成されたリンク鍵を、記憶部27に記憶させる。
暗号通信トンネル部23は、リンク鍵管理部22により記憶部27に記憶されたリンク受信鍵により、ノード1からノード2へと送信される暗号化されたデータを受信するために、古典通信路上で暗号通信路(暗号通信トンネル)を確率する機能部である。なお、この暗号通信トンネルは、のノード1からノード2に暗号鍵(アプリ鍵)を送信するための、古典通信路上に確立された一方通行の通信路として利用されてもよい。
アプリ鍵管理部24は、アプリ鍵管理部14から暗号通信トンネルを介して受信した暗号化されたアプリ鍵を、記憶部27に記憶されたリンク受信鍵を用いて復号化する機能部である。アプリ鍵管理部24は、復号化したアプリ鍵を、アプリBが送信するデータを暗号化するためのアプリ送信鍵、およびアプリBが受信したデータを復号化するためのアプリ受信鍵として、記憶部27に記憶させる。
鍵提供部25は、アプリBがデータを暗号化および復号化するために、記憶部27に記憶されたアプリ送信鍵およびアプリ受信鍵を、アプリBに提供する機能部である。
制御部26は、上述の各機能部の動作を制御する機能部である。特に、制御部26は、上述の各機能部によって実行されるリンク鍵共有動作、およびリンク鍵共有動作を含むアプリ鍵共有動作の制御を行う。
記憶部27は、鍵蒸留部21により生成されたリンク鍵、およびアプリ鍵管理部24により復号化されたアプリ鍵を記憶する機能部である。記憶部27は、図6に示す補助記憶装置84によって実現される。
上述の鍵蒸留部21、リンク鍵管理部22、暗号通信トンネル部23、アプリ鍵管理部24、鍵提供部25、および制御部26は、図6に示すCPU80が補助記憶装置84等に記憶されたプログラムをRAM82に読み出して実行することによって実現される。なお、鍵蒸留部21、リンク鍵管理部22、暗号通信トンネル部23、アプリ鍵管理部24、鍵提供部25、および制御部26のすべてがプログラムの実行により実現されることに限定されるものではなく、少なくともいずれかが、例えば、ASIC、FPGAまたはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
なお、図7に示す量子鍵共有部20、鍵蒸留部21、リンク鍵管理部22、暗号通信トンネル部23、アプリ鍵管理部24、鍵提供部25、制御部26、および記憶部27は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図7で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図7の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
本実施形態のリンク鍵共有動作は、量子鍵共有部10、20の光子列の送受信、鍵蒸留部11、21の鍵蒸留処理によるリンク鍵の生成、およびリンク鍵管理部12、22のリンク鍵の記憶によって実現される。また、本実施形態のアプリ鍵共有動作のうちリンク鍵共有動作以外の動作、すなわち、アプリ鍵を共有する動作は、アプリ鍵管理部14、24の動作によって実現される。
図8は、第1の実施形態のアプリ鍵共有動作を示すシーケンス図である。図8を参照しながら、本実施形態のアプリ鍵共有動作について説明する。
<ステップS21>
ノード1の量子鍵共有部10は、例えば、乱数によって発生させたビット情報(光子ビット列)について、ランダムに選択した基底により生成した基底情報に基づいて生成した単一光子から構成される光子列を、量子通信路を介して、ノード2の量子鍵共有部20に送信する。
<ステップS22>
ノード2の量子鍵共有部20は、量子通信路を介して、量子鍵共有部10から光子列を受信し、受信した光子列を、ランダムに選択した基底により生成した基底情報に基づいて読み取ることによって光子ビット列を得る。
<ステップS23>
ノード1の鍵蒸留部11は、ノード2の鍵蒸留部21との間で古典通信路を介して鍵蒸留処理データの通信を行うことによって、光子ビット列から暗号鍵(リンク鍵)を生成する鍵蒸留処理を実行する。
<ステップS24>
ノード2の鍵蒸留部21は、ノード1の鍵蒸留部11との間で古典通信路を介して鍵蒸留処理データの通信を行うことによって、光子ビット列から暗号鍵(リンク鍵)を生成する鍵蒸留処理を実行する。
<ステップS25>
ノード1のリンク鍵管理部12は、鍵蒸留部11の鍵蒸留処理により生成されたリンク鍵を、アプリ鍵管理部14により生成されるアプリ鍵を暗号化するためのリンク送信鍵50として、記憶部17に記憶させる。
<ステップS26>
ノード2のリンク鍵管理部22は、鍵蒸留部21の鍵蒸留処理により生成されたリンク鍵を、アプリ鍵管理部24によりアプリ鍵を復号化するためのリンク受信鍵61として、記憶部27に記憶させる。
以上のステップS21〜26の動作によって、本実施形態のリンク鍵共有動作が実行される。すなわち、鍵蒸留部11、21によってそれぞれ生成されたリンク鍵は、Q3P等のプロトコル処理によって仕分けされることなく、リンク送信鍵またはリンク受信鍵として特化して記憶される。つまり、鍵蒸留部11により生成されたリンク鍵は、ノード2に送信するアプリ鍵の暗号化のためのリンク送信鍵としてのみ利用され、鍵蒸留部21により生成されたリンク鍵は、ノード1から受信したアプリ鍵を復号化するためのリンク受信鍵としてのみ利用される。
<ステップS27>
ノード1のアプリ鍵管理部14は、鍵蒸留部11により生成されたリンク鍵とは独立して、乱数を用いて暗号鍵であるアプリ鍵を生成する。アプリ鍵管理部14は、生成したアプリ鍵を、アプリAが送信するデータを暗号化するためのアプリ送信鍵52(第1アプリ鍵の一例)、およびアプリAが受信したデータを復号化するためのアプリ受信鍵53(第1アプリ鍵の一例)として、記憶部17に記憶させる。
<ステップS28>
アプリ鍵管理部14は、リンク鍵共有動作により送信鍵として仕分けたリンク送信鍵50を用いて、生成したアプリ鍵を暗号化して、暗号通信トンネルを介して、ノード2のアプリ鍵管理部24に送信する。このように、アプリ鍵管理部14により生成されたアプリ鍵は、暗号通信トンネルを介して、ノード2に対して一方通行で送信される。また、アプリ鍵管理部14は、アプリ鍵の他、アプリ鍵を識別する情報、およびアプリ鍵の役割を決定する情報(例えば、送信鍵か受信鍵かを区別する情報)を付与した形で送信する。これによって、ノード間で、アプリ鍵を送信鍵として利用するか受信鍵として利用するかについて同期をとることができる。なお、アプリ鍵を識別する情報、およびアプリ鍵の役割を決定する情報は、アプリ鍵と同様に暗号化されても良い。また、暗号化は行わず、データ認証のみを実施しても良い。
<ステップS29>
ノード2のアプリ鍵管理部24は、ノード1のアプリ鍵管理部14から暗号化されたアプリ鍵を受信すると、リンク鍵共有動作により受信鍵として仕分けたリンク受信鍵61を用いて、アプリ鍵を復号化する。また、アプリ鍵管理部24は、アプリ鍵に付与された、役割を決定する情報に従って、復号化したアプリ鍵を、アプリBが送信するデータを暗号化するためのアプリ送信鍵62(第2アプリ鍵の一例)、およびアプリBが受信したデータを復号化するためのアプリ受信鍵63(第2アプリ鍵の一例)として、記憶部27に記憶させる。
以上の動作によって、本実施形態のアプリ鍵共有動作が実行され、ノード1とノード2との間でアプリ鍵が共有される。
このように、本実施形態に係る量子鍵配送システム100では、鍵蒸留部11により生成されたリンク鍵は、ノード2に送信するアプリ鍵の暗号化のためのリンク送信鍵としてのみ利用され、鍵蒸留部21により生成されたリンク鍵は、ノード1から受信したアプリ鍵を復号化するためのリンク受信鍵としてのみ利用されるものとしている。そして、ノード1のアプリ鍵管理部14は、アプリ鍵として、アプリAが送信するデータを暗号化するためのアプリ送信鍵52(アプリBにとっては、受信したデータを復号化するためのアプリ受信鍵63)、およびアプリAが受信したデータを復号化するためのアプリ受信鍵53(アプリBにとっては、送信するデータを暗号化するためのアプリ送信鍵62)の双方を生成するものとしている。これによって、ノード1およびノード2は、Q3P等のプロトコル処理を実行することなく、アプリ鍵(アプリ送信鍵およびアプリ受信鍵)を共有することができ、アプリAおよびアプリBは、共有されたアプリ鍵を利用することによって、ワンタイムパッド方式の暗号データ通信が可能となる。このように、アプリ鍵の共有のために、Q3P等のプロトコル処理を実行する必要がないので、暗号鍵(リンク鍵およびアプリ鍵)の共有動作の処理遅延を低減することができる。
なお、図8の例では、暗号通信トンネルは、ノード1からノード2にアプリ鍵を送信するための一方通行の通信路としたが、これに限定されるものではなく、ノード2からノード1にアプリ鍵を送信するための一方通行の通信路としてもよい。この場合、ノード1で生成したリンク鍵は、リンク受信機として記憶し、ノード2で生成したリンク鍵は、リンク送信機として記憶すればよい。
<変形例>
本変形例のアプリ鍵共有動作について、上述の図8に示すアプリ鍵共有動作と相違する点を中心に説明する。第1の実施形態では、アプリ鍵として、1組のアプリケーション(アプリA、B)が用いるアプリ送信鍵およびアプリ受信鍵という2種類の暗号鍵を共有する動作を示した。本変形例では、複数組のアプリケーションが稼働している場合の、ノード1およびノード2でのアプリ鍵共有動作について説明する。
図9は、第1の実施形態の変形例のアプリ鍵共有動作を示すシーケンス図である。図9を参照しながら、本変形例のアプリ鍵共有動作について説明する。
図9に示すように、ノード1に接続された、またはノード1において実行されているアプリケーションとして、アプリA1、B1、C1が稼働しているものとする。また、ノード2に接続された、またはノード1において実行されているアプリケーションとして、アプリA2、B2、C2が稼働しているものとする。ノード1のアプリA1は、ノード2のアプリA2とワンタイムパッド方式で暗号データ通信をするものとし、双方とも、データを相手に送信する場合には、データを暗号化するアプリ送信鍵を必要とし、相手からデータを受信する場合には、データを復号化するアプリ受信鍵を必要とするものする。また、ノード1のアプリB1は、ノード2のアプリB2とワンタイムパッド方式で暗号データ通信をするものとし、双方とも、データを相手に送信する場合には、データを暗号化するアプリ送信鍵を必要とし、相手からデータを受信する場合には、データを復号化するアプリ受信鍵を必要とするものする。また、ノード1のアプリC1は、ノード2のアプリC2と暗号データ通信をするものとし、例えば、AES(Advanced Encryption Standard)のような、アプリケーションが送信および受信する際の送信鍵と受信鍵とを区別する必要のない暗号データ通信を行うものとする。この場合、アプリC1、C2が、送信鍵と受信鍵とをせずに暗号データ通信を行う場合に必要とするアプリ鍵を「アプリC鍵」と称するものとする。
<<ステップS21〜S26>>
図8に示したステップS21〜S26のリンク鍵共有動作と同様である。
<<ステップS27a>>
ノード1のアプリ鍵管理部14は、鍵蒸留部11により生成されたリンク鍵とは独立して、乱数を用いて暗号鍵であるアプリ鍵を生成する。アプリ鍵管理部14は、生成したアプリ鍵を、アプリA1が送信するデータを暗号化するためのアプリA送信鍵52a(第1アプリ鍵の一例)、アプリA1が受信したデータを復号化するためのアプリA受信鍵53a(第1アプリ鍵の一例)、アプリB1が送信するデータを暗号化するためのアプリB送信鍵52b(第1アプリ鍵の一例)、アプリB1が受信したデータを復号化するためのアプリB受信鍵53b(第1アプリ鍵の一例)、およびアプリC1が送受信するデータを暗号化および復号化するためのアプリC鍵52c(第1アプリ鍵の一例)として、記憶部17に記憶させる。
<<ステップS28a>>
アプリ鍵管理部14は、リンク鍵共有動作により送信鍵として仕分けたリンク送信鍵50を用いて、生成したアプリ鍵を暗号化して、暗号通信トンネルを介して、ノード2のアプリ鍵管理部24に送信する。また、アプリ鍵管理部14は、アプリ鍵の他、アプリ鍵を識別する情報、およびアプリ鍵の役割を決定する情報(例えば、どのアプリケーションで用いられるか、または、送信鍵および受信鍵のどちらとして使用されるか等の情報)を付与した形で送信する。これによって、ノード間で、アプリ鍵がどのアプリケーションで使用されるかについて、および、アプリ鍵を送信鍵として利用するか受信鍵として利用するかについて同期をとることができる。なお、アプリ鍵を識別する情報、およびアプリ鍵の役割を決定する情報は、アプリ鍵と同様に暗号化されてもよい。また、暗号化は行わず、データ認証のみを実施してもよい。
<<ステップS29a>>
ノード2のアプリ鍵管理部24は、ノード1のアプリ鍵管理部14から暗号化されたアプリ鍵を受信すると、リンク鍵共有動作により受信鍵として仕分けたリンク受信鍵61を用いて、アプリ鍵を復号化する。また、アプリ鍵管理部24は、アプリ鍵に付与された、役割を決定する情報に従って、復号化したアプリ鍵を、アプリA2が送信するデータを暗号化するためのアプリA送信鍵62a(第2アプリ鍵の一例)、アプリA2が受信したデータを復号化するためのアプリA受信鍵63a(第2アプリ鍵の一例)、アプリB2が送信するデータを暗号化するためのアプリB送信鍵62b(第2アプリ鍵の一例)、アプリB2が受信したデータを復号化するためのアプリB受信鍵63b(第2アプリ鍵の一例)、およびアプリC2が送受信するデータを暗号化および復号化するためのアプリC鍵62c(第2アプリ鍵の一例)として、記憶部27に記憶させる。
以上のように、ノード間で複数のアプリケーションが稼働している場合にも、アプリ鍵に3種類以上の役割を割り当てて、暗号鍵(リンク鍵およびアプリ鍵)の共有動作の処理遅延を低減させつつ、アプリ鍵を複数のアプリケーションに提供することができる。
なお、アプリケーションによっては、そもそも片方向通信しか行わない場合もある。この場合には、データを送信するアプリケーション側にアプリ送信鍵を割り当て、データを受信するアプリケーション側にアプリ受信鍵を割り当てるものとすればよい。
(第2の実施形態)
第2の実施形態のアプリ鍵共有動作について、上述の図8に示す第1の実施形態のアプリ鍵共有動作と相違する点を中心に説明する。第1の実施形態では、アプリケーションに提供する暗号鍵はアプリ鍵のみであった。本実施形態では、アプリケーションに提供する暗号鍵として、アプリ鍵の他、リンク鍵をも用いる。
図10は、第2の実施形態に係るノードのアプリ鍵共有動作の一例を示すシーケンス図である。図10を参照しながら、本実施形態のアプリ鍵共有動作について説明する。
<ステップS31〜S36>
本実施形態のステップS31〜S36は、図8に示したステップS21〜S26のリンク鍵共有動作と同様である。
<ステップS37>
ノード1のアプリ鍵管理部14は、鍵蒸留部11により生成されたリンク鍵とは独立して、乱数を用いて暗号鍵であるアプリ鍵を生成する。ただし、アプリ鍵管理部14は、生成したアプリ鍵を、アプリAが受信したデータを復号化するためのアプリ受信鍵53(第1アプリ鍵の一例)(すなわち、アプリBが送信するデータを暗号化するためのアプリ送信鍵62)としてのみ、記憶部17に記憶させる。
<ステップS38>
アプリ鍵管理部14は、リンク鍵共有動作により送信鍵として仕分けたリンク送信鍵50を用いて、生成したアプリ鍵を暗号化して、暗号通信トンネルを介して、ノード2のアプリ鍵管理部24に送信する。このように、アプリ鍵管理部14により生成されたアプリ鍵は、暗号通信トンネルを介して、ノード2に対して一方通行で送信される。また、アプリ鍵管理部14は、アプリ鍵の他、アプリ鍵を識別する情報、およびアプリ鍵の役割を決定する情報(ここでは、アプリ送信鍵としての役割を決定する情報)を付与した形で送信する。これによって、ノード間で、アプリ鍵を送信鍵として利用するか受信鍵として利用するかについて同期をとることができる。なお、アプリ鍵を識別する情報、およびアプリ鍵の役割を決定する情報は、アプリ鍵と同様に暗号化されてもよい。また、暗号化は行わず、データ認証のみを実施してもよい。
<ステップS39>
ノード2のアプリ鍵管理部24は、ノード1のアプリ鍵管理部14から暗号化されたアプリ鍵を受信すると、リンク鍵共有動作により受信鍵として仕分けたリンク受信鍵61を用いて、アプリ鍵を復号化する。また、アプリ鍵管理部24は、アプリ鍵に付与された、役割を決定する情報に従って、復号化したアプリ鍵を、アプリBが送信するデータを暗号化するためのアプリ送信鍵62(第2アプリ鍵の一例)としてのみ、記憶部27に記憶させる。
以上の動作によって、本実施形態のアプリ鍵共有動作が実行され、ノード1とノード2との間で共有されるアプリ鍵としては、ノード1のアプリ受信鍵53、およびノード2のアプリ送信鍵62のみが共有される。
以上のステップS31〜S39の動作の結果、ノード1は、アプリ鍵であるアプリ受信鍵53、およびリンク鍵であるリンク送信鍵50を有することになり、ノード2は、アプリ鍵であるアプリ送信鍵62、およびリンク鍵であるリンク受信鍵61を有することになる。そして、ノード1の鍵提供部15は、アプリAが送信するデータを暗号化するためにリンク送信鍵50を提供し、アプリAが受信したデータを復号化するためにアプリ受信鍵53を提供する。また、ノード2の鍵提供部25は、アプリBが送信するデータを暗号化するためにアプリ送信鍵62を提供し、アプリBが受信したデータを復号化するためにリンク受信鍵61を提供する。すなわち、ノードは、アプリケーションに対して、アプリ鍵とリンク鍵との組み合わせを提供する。この場合、ノード1のアプリAから、ノード2のアプリBへの暗号データ通信の場合、リンク鍵(リンク送信鍵50)をそのまま暗号化に使用することができ、リンク鍵共有動作以降に発生する処理をなくすことができる。すなわち、暗号データ通信が、アプリAからアプリBへの方向がほとんどを占めており、アプリBからアプリAへの方向の暗号データ通信が稀にしか発生しないような、暗号データ通信量が非対称なシステムにおいて、特に、暗号鍵の共有動作の処理遅延を低減することが可能になる。稀に発生するアプリBからアプリAの方向の暗号データ通信が必要になった場合、ノード1は、アプリ鍵としてアプリ受信鍵53(ノード2にとってのアプリ送信鍵62)を生成し、これを、暗号通信トンネルを介して、ノード2に暗号送信すればよい。
なお、アプリAからアプリBへの方向の暗号データ通信、および、アプリBからアプリAへの方向の暗号データ通信は、共に、ワンタイムパッド方式であってもよく、そうでなくてもよい。例えば、アプリAからアプリBへの方向の暗号データ通信は、ワンタイムパッド方式を採用し、アプリBからアプリAへの方向の暗号データ通信は、AESの方式を採用するものとしてもよい。
また、図10の例では、暗号通信トンネルは、ノード1からノード2にアプリ鍵を送信するための一方通行の通信路としたが、これに限定されるものではなく、ノード2からノード1にアプリ鍵を送信するための一方通行の通信路としてもよい。この場合、ノード1で生成したリンク鍵は、リンク受信機として記憶し、ノード2で生成したリンク鍵は、リンク送信機として記憶すればよい。ある方向の暗号通信にはワンタイムパッドを、別の方向の暗号通信にはAESを用いる場合を考えると、必ずしも、通信量と必要な暗号鍵量は一致しない。したがって、本実施形態は、ある方向の暗号通信に利用される暗号鍵の量と、別の方向の暗号通信に利用される暗号鍵の量が偏っており、利用される暗号鍵の量が非対称である場合にも適すると考えられる。
<変形例>
本変形例のアプリ鍵共有動作について、上述の図10に示すアプリ鍵共有動作と相違する点を中心に説明する。第2の実施形態では、ノード1がアプリ鍵として生成し、ノード2へ暗号送信するのは、ノード1にとってのアプリ受信鍵53(ノード2にとってのアプリ送信鍵62)の一種類としていた。本変形例では、複数組のアプリケーションが稼働している場合の、ノード1およびノード2でのアプリ鍵共有動作について説明する。
図11は、第2の実施形態の変形例に係るノードのアプリ鍵共有動作の一例を示すシーケンス図である。図11を参照しながら、本変形例のアプリ鍵共有動作について説明する。
図11に示すように、ノード1に接続された、またはノード1において実行されているアプリケーションとして、アプリA1、B1、C1が稼働しているものとする。また、ノード2に接続された、またはノード1において実行されているアプリケーションとして、アプリA2、B2、C2が稼働しているものとする。これらのアプリケーションの動作は、上述の図9で示した動作に準じるものとする。
<<ステップS31〜S36>>
図10に示したステップS31〜S36のリンク鍵共有動作と同様である。
<<ステップS37a>>
ノード1のアプリ鍵管理部14は、鍵蒸留部11により生成されたリンク鍵とは独立して、乱数を用いて暗号鍵であるアプリ鍵を生成する。アプリ鍵管理部14は、生成したアプリ鍵を、アプリA1が受信したデータを復号化するためのアプリA受信鍵53a(第1アプリ鍵の一例)、アプリB1が送信するデータを暗号化するためのアプリB送信鍵52b(第1アプリ鍵の一例)、アプリB1が受信したデータを復号化するためのアプリB受信鍵53b(第1アプリ鍵の一例)、およびアプリC1が送受信するデータを暗号化および復号化するためのアプリC鍵52c(第1アプリ鍵の一例)として、記憶部17に記憶させる。すなわち、アプリA1が送信するデータを暗号化するための暗号鍵としては、鍵提供部15によりリンク送信鍵50が提供される。
<<ステップS38a>>
アプリ鍵管理部14は、リンク鍵共有動作により送信鍵として仕分けたリンク送信鍵50を用いて、生成したアプリ鍵を暗号化して、暗号通信トンネルを介して、ノード2のアプリ鍵管理部24に送信する。また、アプリ鍵管理部14は、アプリ鍵の他、アプリ鍵を識別する情報、およびアプリ鍵の役割を決定する情報(例えば、どのアプリケーションで用いられるか、または、送信鍵および受信鍵のどちらとして使用されるか等の情報)を付与した形で送信する。これによって、ノード間で、アプリ鍵がどのアプリケーションで使用されるかについて、および、アプリ鍵を送信鍵として利用するか受信鍵として利用するかについて同期をとることができる。なお、アプリ鍵を識別する情報、およびアプリ鍵の役割を決定する情報は、アプリ鍵と同様に暗号化されてもよい。また、暗号化は行わず、データ認証のみを実施してもよい。
<<ステップS39a>>
ノード2のアプリ鍵管理部24は、ノード1のアプリ鍵管理部14から暗号化されたアプリ鍵を受信すると、リンク鍵共有動作により受信鍵として仕分けたリンク受信鍵61を用いて、アプリ鍵を復号化する。また、アプリ鍵管理部24は、アプリ鍵に付与された、役割を決定する情報に従って、復号化したアプリ鍵を、アプリA2が送信するデータを暗号化するためのアプリA送信鍵62a(第2アプリ鍵の一例)、アプリB2が送信するデータを暗号化するためのアプリB送信鍵62b(第2アプリ鍵の一例)、アプリB2が受信したデータを復号化するためのアプリB受信鍵63b(第2アプリ鍵の一例)、およびアプリC2が送受信するデータを暗号化および復号化するためのアプリC鍵62c(第2アプリ鍵の一例)として、記憶部27に記憶させる。
以上のように、ノード間で複数のアプリケーションが稼働している場合にも、一部のアプリケーション(上述ではアプリA1、A2)にリンク送信鍵50およびリンク受信鍵61を提供し、リンク鍵をそのまま暗号化に使用することができ、リンク鍵共有動作以降に発生する処理をなくすことができる。すなわち、暗号データ通信が、アプリA1からアプリA2への方向がほとんどを占めており、アプリA2からアプリA1への方向の暗号データ通信、および他のアプリケーション間の暗号データ通信が稀にしか発生しないような、暗号データ通信量が非対称なシステムにおいて、特に、暗号鍵の共有動作の処理遅延を低減することが可能になる。稀に発生する暗号データ通信が必要になった場合、ノード1は、対応するアプリケーションの暗号データ通信用のアプリ鍵を生成し、これを、暗号通信トンネルを介して、ノード2に暗号送信すればよい。
なお、アプリケーションによっては、そもそも片方向通信しか行わない場合もある。この場合には、データを送信するアプリケーション側にアプリ送信鍵を割り当て、データを受信するアプリケーション側にアプリ受信鍵を割り当てるものとすればよい。
(第3の実施形態)
第3の実施形態のアプリ鍵共有動作について、上述の図8に示す第1の実施形態のアプリ鍵共有動作と相違する点を中心に説明する。
上述のようなアプリ鍵共有動作が安全な暗号鍵を共有するための条件として、これらの通信が正しく実行されることが必須である。例えば、古典通信路において、鍵蒸留部11、21による鍵蒸留処理における鍵蒸留処理データの通信、ならびに、暗号通信トンネルの通信(リンク送信鍵で暗号化したアプリ鍵の送信)、およびその受信応答が改ざんされるリスクがある場合、これを検出できなければならない。通信データが改ざんされていないことを保証するためには、一般に、メッセージ認証と呼ばれる技術が使用される。メッセージ認証は、送信側が、通信データに、通信データそのものと、送信側および受信側しか知らない秘密データ(認証鍵)とに基づいて演算により得られる認証データを付加して送信し、受信側が、受信した通信データから同様に認証データを演算し、受信した通信データに付加されていた認証データと一致することを確認することによって、改ざんされていないことを確認する技術である。通信データが改ざんされるリスクがある場合、上述したメッセージ認証を、鍵蒸留処理データの通信および暗号通信トンネルの通信を含む全ての通信に対して実施しなければならない。以上の観点から、メッセージ認証に利用する暗号鍵である認証鍵を、ノード1とノードとの間で共有する仕組みが必要である。
図12は、ノードのリンク鍵の生成動作の一例を示すシーケンス図である。図12を参照しながら、鍵蒸留処理データが通信される通信鍵蒸留処理を含むリンク鍵の生成動作の流れを説明する。
<ステップS11>
量子鍵共有部10は、例えば、乱数によって発生させたビット情報である光子ビット列を基に、ランダムに選択した基底により生成した基底情報に基づく偏光状態となるように生成した単一光子から構成される光子列を、量子通信路を介して、ノード2の量子鍵共有部20に送信する。量子鍵共有部10は、生成した基底情報および光子ビット列を鍵蒸留部11に送る。
<ステップS12>
量子鍵共有部20は、量子通信路を介して、ノード1の量子鍵共有部10から光子列を受信し、受信した光子列を、ランダムに選択した基底により生成した基底情報に基づいて読み取ることによってビット情報である光子ビット列を得る。量子鍵共有部20は、生成した基底情報および光子ビット列を鍵蒸留部21に送る。
<ステップS13>
鍵蒸留部11は、ノード2の量子鍵共有部20が生成した基底情報を、ノード2の鍵蒸留部21から古典通信路を介して受信し、受信した基底情報と、量子鍵共有部10が生成した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する。
<ステップS14>
鍵蒸留部21は、ノード1の量子鍵共有部10が生成した基底情報を、ノード1の鍵蒸留部11から古典通信路を介して受信し、受信した基底情報と、量子鍵共有部20が生成した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列を生成するシフティング処理を実行する。
<ステップS15>
鍵蒸留部11は、古典通信路を介して、ノード2の鍵蒸留部21と制御データ(EC(Error Correction:誤り訂正)情報)を交換することにより、生成した共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する。
<ステップS16>
鍵蒸留部21は、古典通信路を介して、ノード1の鍵蒸留部11と制御データ(EC情報)を交換することにより、生成した共有ビット列のビット誤りを訂正して訂正後ビット列を生成する誤り訂正処理を実行する。
<ステップS17>
鍵蒸留部11は、古典通信路を介して、ノード2の鍵蒸留部21から制御データ(PA(Privacy Amplification:秘匿性増強)情報)を受信して、このPA情報に基づいて、生成した訂正後ビット列に対して、誤り訂正処理により訂正した誤りの数から、盗聴者により盗聴された可能性のあるビットを打ち消すための鍵圧縮処理(秘匿性増強処理)を行ってリンク鍵を生成する。
<ステップS18>
鍵蒸留部21は、古典通信路を介して、制御データ(PA情報)を生成してノード1の鍵蒸留部11に送信し、このPA情報に基づいて、生成した訂正後ビット列に対して、誤り訂正処理の際に古典通信したデータ量等から、盗聴者により盗聴された可能性のある情報量を打ち消すための鍵圧縮処理(秘匿性増強処理)を行ってリンク鍵を生成する。
以上のような動作によって、ノード1およびノード2において、同一のリンク鍵が生成される。上述の動作によって生成されたリンク鍵は、一度しか使用しないいわゆるワンタイムパッド方式の鍵であるので、上述の動作を繰り返し実行することによって、異なるリンク鍵が繰り返し生成される。
図13は、鍵蒸留処理での制御データの一例を示す図である。図13を参照しながら、メッセージ認証の対象となる鍵蒸留処理での制御データ、すなわち、鍵蒸留処理データ(制御情報)の一例について説明する。
図12で上述した鍵蒸留処理のうちシフティング処理においては、鍵蒸留部11、21は、図13に示すように、それぞれ光子ビット列から共有ビット列を生成するために、古典通信路を介して、基底情報を互いに送受信する。この基底情報が、鍵蒸留処理データの一例である。
また、鍵蒸留処理のうち誤り訂正処理において、例えば、図13に示すように、LDPC(Low Density Parity Check)のアルゴリズムが用いられるものとする。この場合、ノード1の鍵蒸留部11は、生成した共有ビット列のシンドローム情報を演算し、このシンドローム情報をEC情報として、古典通信路を介して、ノード2の鍵蒸留部21へと送信する。シンドローム情報を受信した鍵蒸留部21は、受信したシンドローム情報と、自身が生成した共有ビット列を元に演算を繰り返し、最終的に鍵蒸留部11が生成した共有ビット列と全く同じビット情報を作成する。これによりノード1とノード2との間では、同一の訂正後ビット列を共有することができる。この誤り訂正処理において、古典通信路を介して、鍵蒸留部11から鍵蒸留部21に送信されるEC情報であるシンドローム情報が、鍵蒸留処理データの一例となる。
また、鍵蒸留処理のうち秘匿性増強処理においては、鍵蒸留部11、21は、訂正後ビット列に対して、誤り訂正処理の際に古典通信したデータ量等から、盗聴者により盗聴された可能性のある情報量を打ち消すための圧縮をするために、例えば、行列データを用いる。この行列データは、ノード1およびノード2が予め共有していてもよいし、ノード1の鍵蒸留部11が生成して、図13に示すように、古典通信路を介して、PA情報としてノード2の鍵蒸留部21に送信するものとしてもよい。この秘匿性増強処理において、古典通信路を介して、鍵蒸留部11から鍵蒸留部21に送信されるPA情報である行列データが、鍵蒸留処理データの一例となる。
図14は、暗号化されたアプリ鍵の送信と応答とを示す図である。図14を参照しながら、メッセージ認証の対象となる暗号通信トンネルの通信、およびその受信応答について説明する。
図8等で上述したように、ノード1のアプリ鍵管理部14は、乱数を用いて生成した暗号鍵であるアプリ鍵を、リンク送信鍵によって暗号化し、古典通信路上の暗号通信トンネルを介して、ノード2のアプリ鍵管理部14に送信する。これによって、ノード1とノード2との間で、アプリ鍵が共有される。ここで、暗号通信トンネルを介して送信されるアプリ鍵には、アプリ鍵を識別する情報、およびアプリ鍵の役割を決定する情報等が付与されている。この暗号通信トンネルを介した送信は、ノード1からノード2への一方向の通信であるが、オプションとして、ノード2は、図14に示すように、暗号鍵を受信した旨、または受信に失敗した旨等を示すアプリ鍵受信応答を、古典通信路を介して、ノード1に送信してもよい。以上のように、古典通信路における、アプリ鍵共有動作での暗号通信トンネルの通信(すなわち、リンク送信鍵で暗号化したアプリ鍵の送信)、およびその応答であるアプリ鍵受信応答がメッセージ認証の対象となる。また、アプリ鍵およびそれと同時に送信される、アプリ鍵を識別する情報、ならびにアプリ鍵の役割を決定する情報についても、メッセージ認証の対象としてもよい。
図15は、第3の実施形態に係るノードのアプリ鍵共有動作の一例を示すシーケンス図である。図15を参照しながら、本実施形態におけるアプリ鍵と共にメッセージ認証のための暗号鍵である認証鍵についても共有するアプリ鍵共有動作について説明する。なお、図15の例では、ノード1とノード2との通信の方向毎に一種類の認証鍵を生成する場合を説明する。
<ステップS41〜S46>
本実施形態のステップS41〜S46は、図8に示したステップS21〜S26のリンク鍵共有動作と同様である。
<ステップS47>
ノード1のアプリ鍵管理部14は、鍵蒸留部11により生成されたリンク鍵とは独立して、乱数を用いて暗号鍵であるアプリ鍵を生成する。さらに、アプリ鍵管理部14は、乱数を用いてメッセージ認証のための暗号鍵である認証鍵を生成する。アプリ鍵管理部14は、生成したアプリ鍵を、アプリAが送信するデータを暗号化するためのアプリ送信鍵52(第1アプリ鍵の一例)、およびアプリAが受信したデータを復号化するためのアプリ受信鍵53(第1アプリ鍵の一例)として、記憶部17に記憶させる。また、アプリ鍵管理部14は、生成した認証鍵を、ノード1がノード2へ送信するデータについて認証データを演算するための認証送信鍵54(第1認証鍵の一例)、およびノード1がノード2から受信したデータについて認証データを演算するための認証受信鍵55(第1認証鍵の一例)として、記憶部17に記憶させる。
<ステップS48>
アプリ鍵管理部14は、リンク鍵共有動作により送信鍵として仕分けたリンク送信鍵50を用いて、生成したアプリ鍵および認証鍵を暗号化して、暗号通信トンネルを介して、ノード2のアプリ鍵管理部24に送信する。このように、アプリ鍵管理部14により生成されたアプリ鍵および認証鍵は、暗号通信トンネルを介して、ノード2に対して一方通行で送信される。また、アプリ鍵管理部14は、アプリ鍵および認証鍵の他、アプリ鍵および認証鍵を識別する情報、およびアプリ鍵および認証鍵の役割を決定する情報(例えば、送信鍵か受信鍵かを区別する情報)を付与した形で送信する。これによって、ノード間で、アプリ鍵および認証鍵を送信鍵として利用するか受信鍵として利用するかについて同期をとることができる。
<ステップS49>
ノード2のアプリ鍵管理部24は、ノード1のアプリ鍵管理部14から暗号化されたアプリ鍵および認証鍵を受信すると、リンク鍵共有動作により受信鍵として仕分けたリンク受信鍵61を用いて、アプリ鍵および認証鍵を復号化する。また、アプリ鍵管理部24は、アプリ鍵に付与された、役割を決定する情報に従って、復号化したアプリ鍵を、アプリBが送信するデータを暗号化するためのアプリ送信鍵62(第2アプリ鍵の一例)、およびアプリBが受信したデータを復号化するためのアプリ受信鍵63(第2アプリ鍵の一例)として、記憶部27に記憶させる。また、アプリ鍵管理部24は、認証鍵に付与された、役割を決定する情報に従って、復号化した認証鍵を、ノード2がノード1に送信するデータについて認証データを演算するための認証送信鍵64(第2認証鍵の一例)、およびノード2がノード1から受信したデータについて認証データを演算するため認証受信鍵65(第2認証鍵の一例)として、記憶部27に記憶させる。
以上の動作によって、本実施形態のアプリ鍵共有動作が実行され、ノード1とノード2との間で、アプリ鍵および認証鍵が共有される。
そして、ノード1の鍵提供部15は、ノード1からノード2へデータを送信する場合、認証データを演算するために、データの送信対象に認証送信鍵54を提供し、ノード1がノード2からデータを受信した場合、認証データを演算するために、データの受信対象に認証受信鍵55を提供する。例えば、鍵蒸留部11(第1データ通信機能の一例)は、鍵蒸留部21に対して、古典通信路を介して鍵蒸留処理データを送信する場合に、メッセージ認証のために、鍵提供部15から認証送信鍵54が提供される。また、鍵蒸留部11(第1データ通信機能の一例)は、鍵蒸留部21から、古典通信路を介して鍵蒸留処理データを受信した場合、認証データを演算するために、鍵提供部15から認証受信鍵55が提供される。また、アプリ鍵管理部14(第1データ通信機能の一例)は、アプリ鍵管理部24に対して、暗号通信トンネルを介して、リンク送信鍵50により暗号化したアプリ鍵を送信する場合に、メッセージ認証のために、鍵提供部15から認証送信鍵54が提供される。また、アプリ鍵管理部14(第1データ通信機能の一例)は、アプリ鍵管理部24から、古典通信路を介して、アプリ鍵受信応答を受信した場合、認証データを演算するために、鍵提供部15から認証受信鍵55が提供される。
また、ノード2の鍵提供部25は、ノード2からノード1へデータを送信する場合、認証データを演算するために、データの送信対象に認証送信鍵64を提供し、ノード2がノード1からデータを受信した場合、認証データを演算するために、データの受信対象に認証受信鍵65を提供する。例えば、鍵蒸留部21(第2データ通信機能の一例)は、鍵蒸留部11に対して、古典通信路を介して鍵蒸留処理データを送信する場合に、メッセージ認証のために、鍵提供部25から認証送信鍵64が提供される。また、鍵蒸留部21(第2データ通信機能の一例)は、鍵蒸留部11から、古典通信路を介して鍵蒸留処理データを受信した場合、認証データを演算するために、鍵提供部25から認証受信鍵65が提供される。また、アプリ鍵管理部24(第2データ通信機能の一例)は、アプリ鍵管理部14から、暗号通信トンネルを介して、リンク送信鍵50により暗号化されたアプリ鍵を受信した場合、認証データを演算するために、鍵提供部25から認証受信鍵65が提供される。また、アプリ鍵管理部24(第2データ通信機能の一例)は、アプリ鍵管理部14に対して、古典通信路を介して、アプリ鍵受信応答を送信する場合、メッセージ認証のために、鍵提供部25から認証送信鍵64が提供される。
以上のように、ノード1とノード2と間で、アプリ鍵だけではなく、メッセージ認証で使用する認証鍵を共有するものとし、古典通信路を介してデータ通信を行う場合、データの送信対象または受信対象に、認証鍵を提供するものとしている。これによって、古典通信路における通信データが改ざんされていないかどうかを確認することができる。
なお、図15の例では、ノード1とノード2との通信の方向毎に一種類の認証鍵を生成する場合を説明したが、これに限定されるものではなく、通信の方向によらず、単一の認証鍵を利用するものとしてもよい。この場合、ノード1とノード2との間で共有される認証鍵は一種類となる。
また、図15の例では、ノード1とノード2との通信の方向毎に一種類の認証鍵を生成する場合を説明したが、これに限定されるものではなく、通信データ毎に異なる認証鍵を生成するものとしてもよい。例えば、鍵蒸留処理データ、暗号通信トンネルの通信、およびアプリ鍵受信応答の各データ毎に異なる認証鍵を生成するものとしてもよい。さらに、鍵蒸留処理データのうち、シフティング処理時の制御データ、誤り訂正処理時の制御データ(EC情報)、および秘匿性増強処理時の制御データ(PA情報)の各データ毎に異なる認証鍵を生成するものとしてもよい。ただし、暗号通信トンネルの通信に関して、ノード1とノード2との間で、暗号通信トンネルの確立方法として、単純なワンタイムパッド方式でなく、予めメッセージ認証も行うような暗号通信トンネルを確立しておくこともできる。この場合、上述したような暗号通信トンネル用の認証鍵については別途ノード1からノード2に送信して共有する必要はない。
また、ノード1およびノード2において複数のアプリケーションが稼働している場合、アプリケーションごとに異なる認証鍵が生成されるものとしてもよい。ただし、アプリケーションにおいて、アプリ送信鍵およびアプリ受信鍵が割り当てられた場合、単純なワンタイムパッドでなく、予めメッセージ認証も行うような暗号データ通信を行うように設定しておけば、各アプリケーションに対して別途認証鍵を割り当てなくてもよい。
上述のように、通信データ毎に異なる認証鍵を生成し、または、複数のアプリケーションごとに異なる認証鍵を生成することによって、認証鍵を要する各処理が並行して動作するような場合に、各認証鍵の更新タイミングを別個に設定することができる。メッセージ認証を安全に行うためには、認証鍵を適切に更新する必要がある。認証鍵の更新タイミングは、通信データ量または経過時間等によって決定されることが一般的である。並行に実行される各処理は、他の処理の通信タイミングまたは通信データ量と独立に、適切なタイミングで認証鍵の更新を行うことができる。これによって、アプリ鍵共有動作の高速化という観点の他、各処理を独立して開発できるので開発工数を低減することができる。
なお、本実施形態で説明したメッセージ認証のための認証鍵の共有動作は、上述の第2の実施形態にも適用できることは、言うまでもない。
<変形例>
図15に示したアプリ鍵共有動作において、ノード間でアプリ鍵を共有する前に、そもそもリンク鍵を共有するために必要な鍵蒸留処理データ等をメッセージ認証するための認証鍵が必要である。本変形例では、その対応方法について説明する。
図15に示したアプリ鍵共有動作から明らかなように、最初のリンク鍵を生成するための鍵蒸留処理データを通信する前に、ノード1とノード2との間で、認証鍵を、暗号通信トンネルを介して共有することはできない。このような状況に対処するため、ノード1およびノード2は、図15に示すアプリ鍵共有動作で共有する暗号鍵とは別に、システム起動時に安全にメッセージ認証を行うための認証鍵である初期鍵(第1初期鍵、第2初期鍵)を、記憶部17、27(第3記憶手段、第4記憶手段の一例)にそれぞれ予め記憶しておく。このような初期鍵として、鍵蒸留処理データのメッセージ認証用の認証鍵の他、暗号通信トンネルの通信のメッセージ認証用の認証鍵、アプリ鍵受信応答のメッセージ認証用の認証鍵についても、予め記憶部17、27にそれぞれ記憶しておくものとしてもよい。このような初期鍵は、システム起動後に、ノード1とノード2との間で、リンク鍵、アプリ鍵および認証鍵が共有されるようになると、その役割を終え、その後は、アプリ鍵共有動作によって共有された認証鍵によって置換されていく。なお、初期鍵は、これらリンク鍵およびアプリ鍵が記憶されるのと同じ記憶部17、27に記憶されていてもよいし、初期鍵専用の別の記憶部(第3記憶手段、第4記憶手段の一例)に格納されていてもよい。
以上のように認証鍵についての初期鍵を予め備えておくことによって、システム起動後の、ノード間でアプリ鍵および認証鍵を共有する前においても、各通信データについてメッセージ認証を行うことが可能となる。
(第4の実施形態)
第4の実施形態のアプリ鍵共有動作について、第3の実施形態のアプリ鍵共有動作と相違する点を中心に説明する。第4の実施形態では、動的に変化する鍵蒸留処理のアルゴリズムに応じて、認証鍵を送信する際に付与する認証鍵の役割を決定する情報を変更する動作について説明する。
図16は、第4の実施形態における制御データの変化の一例を示す図である。
上述の図12で示した鍵蒸留処理(シフティング処理、誤り訂正処理および秘匿性増強処理)の内容は一例を示したものであり、これ以外にも鍵蒸留処理の方法は存在する。例えば、上述の図13においては、誤り訂正処理のアルゴリズムとして、LDPCのアルゴリズムを適用した場合について説明したが、図16に示すように、cascadeというアルゴリズムを適用することもできる。cascadeのアルゴリズムでは、LDPCのアルゴリズムと異なり、ノード1とノード2との間で何度も制御データ(EC情報)の通信が行われる。誤り訂正処理に、このcascadeのアルゴリズムを適用することによって、複数のスレッドを用いて並行に実行することにより誤り訂正処理を高速に実行できる可能性がある。
また、上述の図13においては、秘匿性増強処理において、ノード1からノード2にPA情報である行列データが送信されるものとしたが、ノード2からノード1に送信されるものとしてもよい。
このように、鍵蒸留処理を含むリンク鍵共有動作によってリンク鍵を高速に共有するためには、逐次変化する光子列の誤り率および光子の到達数等の変動するパラメータに応じて、採用する鍵蒸留処理のアルゴリズムを動的に切り替えることが必要になる可能性がある。鍵蒸留処理のアルゴリズムが切り替えられることによって、通信方向(すなわち必要な認証鍵の種類)が変化したり、アルゴリズムを実行するスレッド数を変化させることによって、必要となる認証鍵の種類の数が変化したりすることがあり得る。そこで、本実施形態において、ノード1は、生成したアプリ鍵および認証鍵を暗号化して、暗号通信トンネルを介して、ノード2に送信する際に、切り替えられた鍵蒸留処理のアルゴリズムに対応した認証鍵の役割を決定する情報を付与して送信する。
以上の動作によって、動的に変化する鍵蒸留処理のアルゴリズムに応じて、ノード間で共有する認証鍵の役割を切り替えることができるので、アルゴリズムが動的に切り替わっても、適切にメッセージ認証を行うことができる。
なお、上述の各実施形態および変形例に係るノード(量子鍵配送装置)で実行されるプログラムは、例えば、ROM81等に予め組み込まれて提供されるものとしてもよい。
また、上述の各実施形態および変形例に係るノードで実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、上述の各実施形態および変形例に係るノードで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施形態および変形例に係るノードで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、上述の各実施形態および変形例に係るノードで実行されるプログラムは、コンピュータを上述したノードの各機能部として機能させ得る。このコンピュータは、CPU80がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
本発明の実施形態およびその変形例を説明したが、この実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、および変更を行うことができる。この実施形態および変形例は、発明の範囲および要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1〜3 ノード
4、4a 光ファイバリンク
10 量子鍵共有部
11 鍵蒸留部
12 リンク鍵管理部
13 暗号通信トンネル部
14 アプリ鍵管理部
15 鍵提供部
16 制御部
17 記憶部
20 量子鍵共有部
21 鍵蒸留部
22 リンク鍵管理部
23 暗号通信トンネル部
24 アプリ鍵管理部
25 鍵提供部
26 制御部
27 記憶部
50 リンク送信鍵
52 アプリ送信鍵
52a アプリA送信鍵
52b アプリB送信鍵
52c アプリC鍵
53 アプリ受信鍵
53a アプリA受信鍵
53b アプリB受信鍵
54 認証送信鍵
55 認証受信鍵
61 リンク受信鍵
62 アプリ送信鍵
62a アプリA送信鍵
62b アプリB送信鍵
62c アプリC鍵
63 アプリ受信鍵
63a アプリA受信鍵
63b アプリB受信鍵
64 認証送信鍵
65 認証受信鍵
80 CPU
81 ROM
82 RAM
83 通信I/F
84 補助記憶装置
85 光学処理装置
86 バス
100 量子鍵配送システム
150 リンク送信鍵
151 リンク受信鍵
152 アプリ送信鍵
153 アプリ受信鍵
160 リンク送信鍵
161 リンク受信鍵
162 アプリ送信鍵
163 アプリ受信鍵
170a、170b ピックアップストア
171 コモンストア
172a 送信バッファ
172b 受信バッファ
180a、180b ピックアップストア
181 コモンストア
182a 送信バッファ
182b 受信バッファ
A〜C アプリ
A1、A2、B1、B2、C1、C2 アプリ

Claims (11)

  1. 他の量子鍵配送装置と、量子通信路および古典通信路で接続され、暗号鍵を共有する量子鍵配送装置であって、
    前記量子通信路を介した量子鍵配送によって、前記他の量子鍵配送装置と光子列を共有して、前記光子列に対応する光子ビット列を取得する量子鍵共有手段と、
    前記光子ビット列から、鍵蒸留処理によって前記暗号鍵であるリンク鍵を生成する鍵蒸留手段と、
    前記リンク鍵を、データの暗号化のためのリンク送信鍵として内部または外部の記憶手段に記憶させる第1管理手段と、
    暗号データ通信のための前記暗号鍵であるアプリ鍵から所定の役割を決定した第1アプリ鍵を前記記憶手段に記憶させ、前記アプリ鍵から前記第1アプリ鍵に対応する役割を決定した第2アプリ鍵を、前記リンク送信鍵で暗号化して、前記古典通信路を介して前記他の量子鍵配送装置に送信する第2管理手段と、
    アプリケーションがデータ通信を行う際の暗号化または復号化で利用するために前記記憶手段に記憶された前記第1アプリ鍵を管理する鍵管理手段と、
    を備えた量子鍵配送装置。
  2. 他の量子鍵配送装置と、量子通信路および古典通信路で接続され、暗号鍵を共有する量子鍵配送装置であって、
    前記量子通信路を介した量子鍵配送によって、前記他の量子鍵配送装置と光子列を共有して、前記光子列に対応する光子ビット列を取得する量子鍵共有手段と、
    前記光子ビット列から、鍵蒸留処理によって前記暗号鍵であるリンク鍵を生成する鍵蒸留手段と、
    前記リンク鍵を、データの復号化のためのリンク受信鍵として内部または外部の記憶手段に記憶させる第1管理手段と、
    前記他の量子鍵配送装置から受信し、かつ所定の役割が決定された暗号データ通信のための前記暗号鍵であるアプリ鍵を、前記古典通信路を介して受信し、受信した前記アプリ鍵を前記リンク受信鍵で復号化して前記記憶手段に記憶させる第2管理手段と、
    アプリケーションがデータ通信を行う際に暗号化または復号化で利用するために前記記憶手段に記憶された前記アプリ鍵を管理する鍵管理手段と、
    を備えた量子鍵配送装置。
  3. 第1量子鍵配送装置と、第2量子鍵配送装置とが、量子通信路および古典通信路で接続され、暗号鍵を共有する量子鍵配送システムであって
    前記第1量子鍵配送装置は、
    前記量子通信路を介した量子鍵配送によって、前記第2量子鍵配送装置と光子列を共有して、前記光子列に対応する光子ビット列を取得する第1量子共有手段と、
    該光子ビット列から、鍵蒸留処理によって前記暗号鍵であるリンク鍵を生成する第1鍵蒸留手段と、
    該リンク鍵を、データの暗号化のためのリンク送信鍵として内部または外部の第1記憶手段に記憶させる第1リンク鍵管理手段と、
    暗号データ通信のための前記暗号鍵であるアプリ鍵から所定の役割を決定した第1アプリ鍵を前記第1記憶手段に記憶させ、前記アプリ鍵から前記第1アプリ鍵に対応する役割を決定した第2アプリ鍵を、前記リンク送信鍵で暗号化して、前記古典通信路を介して前記第2量子鍵配送装置に送信する第1アプリ鍵管理手段と、
    アプリケーションがデータ通信を行う際の暗号化または復号化で利用するために前記第1記憶手段に記憶された前記第1アプリ鍵を管理する第1鍵管理手段と、
    を備え、
    前記第2量子鍵配送装置は、
    前記量子通信路を介した量子鍵配送によって、前記第1量子鍵配送装置と前記光子列を共有して、前記光子列に対応する光子ビット列を取得する第2量子鍵共有手段と、
    該光子ビット列から、鍵蒸留処理によって前記暗号鍵であるリンク鍵を生成する第2鍵蒸留手段と、
    該リンク鍵を、データの復号化のためのリンク受信鍵として内部または外部の第2記憶手段に記憶させる第2リンク鍵管理手段と、
    前記第1アプリ鍵管理手段から前記古典通信路を介して受信した前記第2アプリ鍵を、前記リンク受信鍵で復号化して前記第2記憶手段に記憶させる第2アプリ鍵管理手段と、
    アプリケーションがデータ通信を行う際の暗号化または復号化で利用するために前記第2記憶手段に記憶された前記第2アプリ鍵を管理する第2鍵管理手段と、
    を備えた量子鍵配送システム。
  4. 前記第1鍵管理手段は、アプリケーションがデータ通信を行う際の暗号化で利用するために前記第1記憶手段に記憶された前記リンク送信鍵を管理し、
    前記第2鍵管理手段は、アプリケーションがデータ通信を行う際の復号化で利用するために前記第2記憶手段に記憶された前記リンク受信鍵を管理する請求項3に記載の量子鍵配送システム。
  5. 前記第1アプリ鍵管理手段は、データ認証のための前記暗号鍵である認証鍵に所定の役割を決定した第1認証鍵を前記第1記憶手段に記憶させ、前記認証鍵に前記第1認証鍵に対応する役割を決定した第2認証鍵を、前記リンク送信鍵で暗号化して、前記古典通信路を介して前記第2量子鍵配送装置に送信し、
    前記第1鍵管理手段は、前記第1記憶手段に記憶された前記第1認証鍵を、第1データ通信機能がデータ認証の対象となる通信データを通信する際に、該通信データに基づいて認証データを生成するために、前記第1データ通信機能に提供し、
    前記第2アプリ鍵管理手段は、前記第1アプリ鍵管理手段から前記古典通信路を介して受信した前記第2認証鍵を、前記リンク受信鍵で復号化して前記第2記憶手段に記憶させ、
    前記第2鍵管理手段は、前記第2記憶手段に記憶された前記第2認証鍵を、第2データ通信機能がデータ認証の対象となる通信データを通信する際に、該通信データに基づいて認証データを生成するために、前記第2データ通信機能に提供する請求項3に記載の量子鍵配送システム。
  6. 前記第1アプリ管理手段は、前記第1データ通信機能として動作し、前記第1鍵管理手段から提供された前記第1認証鍵を用いて、前記リンク送信鍵で暗号化したデータ認証の対象となる前記第2アプリ鍵から認証データを生成し、暗号化した第2アプリ鍵に該認証データを付加して、前記古典通信路を介して前記第2量子鍵配送装置に送信し、
    前記第2アプリ管理手段は、前記第2データ通信機能として動作し、前記第2鍵管理手段から提供された前記第2認証鍵を用いて、前記第1アプリ鍵管理手段から前記古典通信路を介して受信した、暗号化された前記第2アプリ鍵から認証データを生成する請求項5に記載の量子鍵配送システム。
  7. 前記第1鍵蒸留手段は、前記第1データ通信機能として動作し、鍵蒸留処理の実行時に、前記第2鍵蒸留手段と、前記古典通信路を介してデータ認証の対象となる制御情報を送受信する際に、前記第1鍵管理手段から提供された前記第1認証鍵を用いて、前記制御情報から認証データを生成し、
    前記第2鍵蒸留手段は、前記第2データ通信機能として動作し、鍵蒸留処理の実行時に、前記第1鍵蒸留手段と、前記古典通信路を介して前記制御情報を送受信する際に、前記第2鍵管理手段から提供された前記第2認証鍵を用いて、前記制御情報から認証データを生成する請求項5に記載の量子鍵配送システム。
  8. 前記第1アプリ鍵管理手段は、前記第1鍵蒸留手段および前記第2鍵蒸留手段の鍵蒸留処理のアルゴリズムが変更された場合、前記認証鍵に、変更されたアルゴリズムに対応した役割を決定した前記第1認証鍵を前記第1記憶手段に記憶させる請求項7に記載の量子鍵配送システム。
  9. 前記第1鍵管理手段は、前記第1記憶手段に記憶された前記第1認証鍵を、前記第1データ通信機能としてのアプリケーションがデータ認証の対象となる通信データを通信する際に、該通信データに基づいて認証データを生成するために、該アプリケーションに提供し、
    前記第2鍵管理手段は、前記第2記憶手段に記憶された前記第2認証鍵を、前記第2データ通信機能としてのアプリケーションがデータ認証の対象となる通信データを通信する際に、該通信データに基づいて認証データを生成するために、該アプリケーションに提供する請求項5に記載の量子鍵配送システム。
  10. 前記第1量子鍵配送装置は、前記第1アプリ鍵管理手段により前記第1認証鍵が前記第1記憶手段に記憶される前に、前記第1認証鍵の代わりに前記第1データ通信機能によって認証データが生成される場合に用いられる第1初期鍵を記憶する第3記憶手段を、さらに備え、
    前記第2量子鍵配送装置は、前記第2アプリ鍵管理手段により前記第2認証鍵が前記第2記憶手段に記憶される前に、前記第2認証鍵の代わりに前記第2データ通信機能によって認証データが生成される場合に用いられる第2初期鍵を記憶する第4記憶手段を、さらに備えた請求項5に記載の量子鍵配送システム。
  11. 第1量子鍵配送装置と、第2量子鍵配送装置とが、量子通信路および古典通信路で接続され、暗号鍵を共有する量子鍵配送システムの量子鍵配送方法であって、
    前記第1量子鍵配送装置で、前記量子通信路を介した量子鍵配送によって、前記第2量子鍵配送装置と光子列を共有して、前記光子列に対応する光子ビット列を取得する第1量子鍵共有ステップと、
    前記第1量子鍵配送装置で、該光子ビット列から、鍵蒸留処理によって前記暗号鍵であるリンク鍵を生成する第1鍵蒸留ステップと、
    前記第1量子鍵配送装置で、該リンク鍵を、データの暗号化のためのリンク送信鍵として内部または外部の第1記憶手段に記憶させる第1リンク鍵管理ステップと、
    前記第1量子鍵配送装置で、暗号データ通信のための前記暗号鍵であるアプリ鍵から所定の役割を決定した第1アプリ鍵を前記第1記憶手段に記憶させ、前記アプリ鍵から前記第1アプリ鍵に対応する役割を決定した第2アプリ鍵を、前記リンク送信鍵で暗号化して、前記古典通信路を介して前記第2量子鍵配送装置に送信する第1アプリ鍵管理ステップと、
    前記第1量子鍵配送装置で、アプリケーションがデータ通信を行う際の暗号化または復号化で利用するために前記第1記憶手段に記憶された前記第1アプリ鍵を管理する第1鍵管理ステップと、
    前記第2量子鍵配送装置で、前記量子通信路を介した量子鍵配送によって、前記第1量子鍵配送装置と前記光子列を共有して、前記光子列に対応する光子ビット列を取得する第2量子鍵共有ステップと、
    前記第2量子鍵配送装置で、該光子ビット列から、鍵蒸留処理によって前記暗号鍵であるリンク鍵を生成する第2鍵蒸留ステップと、
    前記第2量子鍵配送装置で、該リンク鍵を、データの復号化のためのリンク受信鍵として内部または外部の第2記憶手段に記憶させる第2リンク鍵管理ステップと、
    前記第2量子鍵配送装置で、前記第1量子鍵配送装置から前記古典通信路を介して受信した前記第2アプリ鍵を、前記リンク受信鍵で復号化して前記第2記憶手段に記憶させる第2アプリ鍵管理ステップと、
    前記第2量子鍵配送装置で、アプリケーションがデータ通信を行う際の暗号化または復号化で利用するために前記第2記憶手段に記憶された前記第2アプリ鍵を管理する第2鍵管理ステップと、
    を有する量子鍵配送方法。
JP2015061182A 2015-03-24 2015-03-24 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法 Active JP6478749B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015061182A JP6478749B2 (ja) 2015-03-24 2015-03-24 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
US14/919,948 US9755826B2 (en) 2015-03-24 2015-10-22 Quantum key distribution device, quantum key distribution system, and quantum key distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015061182A JP6478749B2 (ja) 2015-03-24 2015-03-24 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法

Publications (2)

Publication Number Publication Date
JP2016181814A true JP2016181814A (ja) 2016-10-13
JP6478749B2 JP6478749B2 (ja) 2019-03-06

Family

ID=56975823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015061182A Active JP6478749B2 (ja) 2015-03-24 2015-03-24 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法

Country Status (2)

Country Link
US (1) US9755826B2 (ja)
JP (1) JP6478749B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10439807B2 (en) 2016-08-18 2019-10-08 Kabushiki Kaisha Toshiba Communication device, communication system, and communication method
JP2022006778A (ja) * 2020-06-25 2022-01-13 株式会社東芝 アプリ鍵管理システム、アプリ鍵管理装置、アプリ鍵管理方法及びプログラム

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452750B (zh) * 2016-10-19 2019-05-03 长春大学 一种用于移动设备的量子加密通信方法
CN112217637B (zh) * 2016-11-04 2024-03-15 华为技术有限公司 一种基于集中管理与控制网络的量子密钥中继方法和装置
WO2019020177A1 (en) * 2017-07-26 2019-01-31 Innogy Innovation Gmbh CONFIDENTIALITY AMPLIFICATION FOR QUANTIC KEY DISTRIBUTION SECRET SHARING
CN108540436B (zh) * 2018-01-10 2020-08-11 如般量子科技有限公司 基于量子网络实现信息加解密传输的通信系统和通信方法
KR102011042B1 (ko) * 2018-06-11 2019-08-14 한국과학기술연구원 공증된 양자 암호 시스템 및 방법
CN109067527B (zh) * 2018-08-31 2020-12-22 苏州科达科技股份有限公司 一种量子加密通信方法、通信终端和计算机可读存储介质
CN111107038B (zh) * 2018-10-25 2022-07-29 山东量子科学技术研究院有限公司 加密方法、解密方法及装置
CN111385085B (zh) * 2018-12-27 2022-12-30 山东量子科学技术研究院有限公司 一种量子三级密钥体系实现方法及系统
US11411722B2 (en) 2019-05-03 2022-08-09 Quantumxchange, Inc. Method of operation of a quantum key controller
US11469888B2 (en) 2019-05-03 2022-10-11 Quantumxchange, Inc. Tamper detection in a quantum communications system
US11424918B2 (en) * 2019-05-03 2022-08-23 Quantumxchange, Inc. Method of operation of a trusted node software in a quantum key distribution system
US11483140B2 (en) 2019-08-02 2022-10-25 Quantumxchange, Inc. Secure out-of-band symmetric encryption key delivery
CN111147232A (zh) * 2019-11-25 2020-05-12 北京邮电大学 Qkd通信节点及其量子密钥资源迁移方法和装置
CN111185011B (zh) * 2019-12-13 2023-04-18 杭州复杂美科技有限公司 区块链游戏的链下随机数应用方法、设备和存储介质
US20210320791A1 (en) * 2020-04-10 2021-10-14 Cyborn Limited Systems and methods for adaptive recursive descent data redundancy
US11750379B2 (en) * 2020-06-11 2023-09-05 Western Digital Technologies, Inc. Secure optical communication link
CA3130274C (en) 2020-08-18 2023-08-01 Quantum Properties Technology Llc Method and system for highly secured network communication
CN112737781B (zh) * 2021-03-29 2021-06-18 南京易科腾信息技术有限公司 量子密钥管理服务方法、系统及存储介质
EP4315738A1 (en) * 2021-03-30 2024-02-07 Speqtral Pte. Ltd. Secure symmetric key distribution
US11469889B1 (en) * 2021-05-20 2022-10-11 Sprint Communications Company L.P. Quantum authentication in wireless communication networks
JP2023043789A (ja) * 2021-09-16 2023-03-29 株式会社東芝 量子暗号通信システム、量子暗号通信装置、鍵管理装置及びプログラム
CN117544295A (zh) * 2022-08-01 2024-02-09 华为技术有限公司 量子密钥分发方法、装置以及量子密钥分发系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09270785A (ja) * 1996-01-30 1997-10-14 Fuji Xerox Co Ltd 情報処理装置
WO2004030270A1 (ja) * 2002-09-26 2004-04-08 Mitsubishi Denki Kabushiki Kaisha 暗号通信装置
US7515716B1 (en) * 2004-02-26 2009-04-07 Bbn Technologies Corp. Systems and methods for reserving cryptographic key material
JP2013211748A (ja) * 2012-03-30 2013-10-10 Nippon Telegr & Teleph Corp <Ntt> 秘密情報通知システム、秘密情報通知方法、プログラム
JP2014103503A (ja) * 2012-11-19 2014-06-05 Toshiba Corp 通信装置、通信システムおよびプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983422B2 (en) * 2003-07-25 2011-07-19 Hewlett-Packard Development Company, L.P. Quantum cryptography
US7831048B2 (en) * 2003-12-17 2010-11-09 General Dynamics Advanced Information Systems, Inc. Secure quantum key distribution using entangled photons
US7646873B2 (en) 2004-07-08 2010-01-12 Magiq Technologies, Inc. Key manager for QKD networks
US7653199B2 (en) * 2004-07-29 2010-01-26 Stc. Unm Quantum key distribution
US8050411B2 (en) * 2005-09-29 2011-11-01 Hewlett-Packard Development Company, L.P. Method of managing one-time pad data and device implementing this method
US20100046755A1 (en) * 2005-12-07 2010-02-25 Fiske Software Llc Cryptography related to keys with signature
JP5424008B2 (ja) 2006-12-19 2014-02-26 日本電気株式会社 共有情報の管理方法およびシステム
GB0917060D0 (en) * 2009-09-29 2009-11-11 Qinetiq Ltd Methods and apparatus for use in quantum key distribution
US8483394B2 (en) * 2010-06-15 2013-07-09 Los Alamos National Security, Llc Secure multi-party communication with quantum key distribution managed by trusted authority
US9509506B2 (en) * 2011-09-30 2016-11-29 Los Alamos National Security, Llc Quantum key management
US9887976B2 (en) * 2012-08-30 2018-02-06 Los Alamos National Security, Llc Multi-factor authentication using quantum communication
JP5734934B2 (ja) 2012-09-07 2015-06-17 株式会社東芝 通信ノード、鍵同期方法、鍵同期システム
WO2014164180A2 (en) * 2013-03-11 2014-10-09 Quantum Advance Technology, Inc. Decoy bits method for direct encryption and key generation
JP6203093B2 (ja) 2014-03-19 2017-09-27 株式会社東芝 通信システム、通信装置、通信方法およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09270785A (ja) * 1996-01-30 1997-10-14 Fuji Xerox Co Ltd 情報処理装置
WO2004030270A1 (ja) * 2002-09-26 2004-04-08 Mitsubishi Denki Kabushiki Kaisha 暗号通信装置
US7515716B1 (en) * 2004-02-26 2009-04-07 Bbn Technologies Corp. Systems and methods for reserving cryptographic key material
JP2013211748A (ja) * 2012-03-30 2013-10-10 Nippon Telegr & Teleph Corp <Ntt> 秘密情報通知システム、秘密情報通知方法、プログラム
JP2014103503A (ja) * 2012-11-19 2014-06-05 Toshiba Corp 通信装置、通信システムおよびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
田中聡寛 他: "量子暗号技術を実装する際の課題", 電子情報通信学会技術研究報告, vol. 第109巻 第212号, JPN6018027279, 22 September 2009 (2009-09-22), pages 53 - 60, ISSN: 0003838946 *
谷澤佳道 他: "高度情報社会の進展を支えるセキュリティ技術", 東芝レビュー, vol. 第69巻 第1号, JPN6018027281, 1 January 2014 (2014-01-01), pages 35 - 38, ISSN: 0003838947 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10439807B2 (en) 2016-08-18 2019-10-08 Kabushiki Kaisha Toshiba Communication device, communication system, and communication method
JP2022006778A (ja) * 2020-06-25 2022-01-13 株式会社東芝 アプリ鍵管理システム、アプリ鍵管理装置、アプリ鍵管理方法及びプログラム
JP7282717B2 (ja) 2020-06-25 2023-05-29 株式会社東芝 アプリ鍵管理システム、アプリ鍵管理装置、アプリ鍵管理方法及びプログラム

Also Published As

Publication number Publication date
JP6478749B2 (ja) 2019-03-06
US20160285629A1 (en) 2016-09-29
US9755826B2 (en) 2017-09-05

Similar Documents

Publication Publication Date Title
JP6478749B2 (ja) 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
US10630464B2 (en) Communication device, communication system, and communication method allocating shared keys to plural channels
US10291590B2 (en) Communication system, communication apparatus, communication method, and computer program product
US7181011B2 (en) Key bank systems and methods for QKD
CN110581763B (zh) 一种量子密钥服务区块链网络系统
US9698979B2 (en) QKD key management system
US9509510B2 (en) Communication device, communication method, and computer program product
EP3220574B1 (en) Quantum key distribution device, quantum key distribution system and quantum key distribution method
US10623180B2 (en) Communication device, communication method, and communication system
US20090279698A1 (en) Hub Device for a Network Comprising Quantum Cryptographic Connections and Node Module for Said Hub Device
US20170222803A1 (en) Communication device, cryptographic communication system, cryptographic communication method, and computer program product
US20230040769A1 (en) Secure content routing using one-time pads
CN106165353A (zh) 使用点对点认证协议对加密流进行高效路由
US20140023192A1 (en) Communication device, communication method, and communication system
EP3909196B1 (en) One-time pads encryption hub
JP2015179895A (ja) 通信装置、通信システムおよび通信方法
CN114142995B (zh) 面向区块链中继通信网络的密钥安全分发方法及装置
JP6054224B2 (ja) 通信装置、通信システム、通信方法およびプログラム
JP2017169187A (ja) 量子鍵配送装置、量子鍵配送システム、および量子鍵配送方法
JP2016136673A (ja) 量子鍵配送装置、量子鍵配送システムおよびプログラム
JP4664692B2 (ja) 暗号化方法、復号方法、暗号化装置、復号装置、暗号装置、およびプログラム
CN114143038A (zh) 面向区块链中继通信网络的密钥安全分发方法及装置
JP2017139728A (ja) 通信装置、暗号通信システム、暗号通信方法およびプログラム
WO2022162390A1 (en) Key exchange protocol for quantum network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180918

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190205

R151 Written notification of patent or utility model registration

Ref document number: 6478749

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151