(57)【要約】【課題】量子鍵配送システムにおける送信機および受信機のリソースの消費を軽減する量子鍵配送装置、量子鍵配送システム、量子鍵配送方法を提供する。【解決手段】実施形態の量子鍵配送装置は、他の量子鍵配送装置と量子通信路で接続され、同一の暗号鍵を生成して共有する量子鍵配送装置であって、量子鍵共有手段と、訂正手段と、圧縮手段と、制御手段と、を備える。量子鍵共有手段は、他の量子鍵配送装置との量子鍵配送により、共有ビット列を生成する。訂正手段は、共有ビット列から誤り訂正処理により、訂正後ビット列を生成する。圧縮手段は、訂正後ビット列から鍵圧縮処理により、暗号鍵を生成する。制御手段は、抑制動作を実行することによって、圧縮手段から単位時間に生成される１以上の暗号鍵のビット数の合計を、抑制動作を実行しない場合に圧縮手段から単位時間に生成される１以上の暗号鍵のビット数の合計よりも小さくする。【選択図】図２
2015154342.tif 000002
【特許請求の範囲】
【請求項１】
他の量子鍵配送装置と量子通信路で接続され、同一の暗号鍵を生成して共有する量子鍵配送装置であって、
前記量子通信路を介した前記他の量子鍵配送装置との量子鍵配送により、共有ビット列を生成する量子鍵共有手段と、
前記量子鍵共有手段から前記共有ビット列を受け取り、前記共有ビット列から誤り訂正処理により、訂正後ビット列を生成する訂正手段と、
前記訂正手段から前記訂正後ビット列を受け取り、前記訂正後ビット列から鍵圧縮処理により、暗号鍵を生成する圧縮手段と、
抑制動作を実行することによって、前記圧縮手段から単位時間に生成される１以上の前記暗号鍵のビット数の合計を、前記抑制動作を実行しない場合に前記圧縮手段から単位時間に生成される１以上の前記暗号鍵のビット数の合計よりも小さくする制御手段と、
を備えた量子鍵配送装置。
【請求項２】
前記制御手段は、前記抑制動作として、前記量子鍵共有手段から前記訂正手段に前記共有ビット列が渡される頻度を、前記抑制動作を実行しない場合の該頻度よりも小さくし、または、前記共有ビット列のうち一部のビットを削除する請求項１に記載の量子鍵配送装置。
【請求項３】
前記制御手段は、前記抑制動作として、前記訂正手段から前記圧縮手段に前記訂正後ビット列が渡される頻度を、前記抑制動作を実行しない場合の該頻度よりも小さくし、または、前記訂正後ビット列のうち一部のビットを削除する請求項１または２に記載の量子鍵配送装置。
【請求項４】
前記制御手段は、前記抑制動作として、前記圧縮手段から記憶手段に前記暗号鍵が記憶される頻度を、前記抑制動作を実行しない場合の該頻度よりも小さくし、または、前記暗号鍵のうち一部のビットを削除する請求項１〜３のいずれか一項に記載の量子鍵配送装置。
【請求項５】
前記制御手段は、前記抑制動作として、量子鍵配送装置および前記他の量子鍵配送装置のいずれかによって、量子鍵配送装置および前記他の量子鍵配送装置に関するパラメータに基づいて算出された前記暗号鍵の長さを、前記他の量子鍵配送装置との間で共有し、
前記圧縮手段は、前記制御手段が共有する前記暗号鍵の長さとなるように、前記訂正後ビット列から前記暗号鍵を生成する請求項１〜４のいずれか一項に記載の量子鍵配送装置。
【請求項６】
前記暗号鍵の長さは、前記パラメータとして、前記共有ビット列のうち誤りと推定されるビット数の割合であるエラー率と、誤り訂正効率と、量子鍵配送装置に接続されている前記他の量子鍵配送装置の組み合わせの優先度、量子鍵配送装置から前記暗号鍵が渡されるアプリケーションの優先度、前記アプリケーションの実行数、前記暗号鍵の利用頻度、記憶手段の空き容量、および前記暗号鍵の蓄積量のうち少なくともいずれかひとつとに基づいて算出される請求項５に記載の量子鍵配送装置。
【請求項７】
前記制御手段は、量子鍵配送装置に関するパラメータに基づいて、前記抑制動作の抑制量を調整する請求項１〜４のいずれか一項に記載の量子鍵配送装置。
【請求項８】
前記制御手段は、前記パラメータと第１閾値との比較に基づいて前記抑制動作を実行させるか否かを決定し、前記パラメータと第２閾値との比較に基づいて前記抑制動作を停止させるか否かを決定する請求項７に記載の量子鍵配送装置。
【請求項９】
前記パラメータは、量子鍵配送装置に接続されている前記他の量子鍵配送装置の組み合わせの優先度、量子鍵配送装置から前記暗号鍵が渡されるアプリケーションの優先度、前記アプリケーションの実行数、前記暗号鍵の利用頻度、記憶手段の空き容量、および前記暗号鍵の蓄積量のうち少なくともいずれかである請求項７または８に記載の量子鍵配送装置。
【請求項１０】
請求項１〜９のいずれか一項に記載の量子鍵配送装置を複数備え、
前記複数の量子鍵配送装置は、前記量子通信路によって接続され、互いに対応する前記抑制動作を実行することにより同一の前記暗号鍵を生成する量子鍵配送システム。
【請求項１１】
他の量子鍵配送装置と量子通信路で接続され、同一の暗号鍵を生成して共有する量子鍵配送装置における量子鍵配送方法であって、
前記量子通信路を介した前記他の量子鍵配送装置との量子鍵配送により、共有ビット列を生成するステップと、
前記共有ビット列から誤り訂正処理により、訂正後ビット列を生成するステップと、
前記訂正後ビット列から鍵圧縮処理により、暗号鍵を生成するステップと、
抑制動作を実行することによって、単位時間に生成する１以上の前記暗号鍵のビット数の合計を、前記抑制動作を実行しない場合に単位時間に生成する１以上の前記暗号鍵のビット数の合計よりも小さくするステップと、
を有する量子鍵配送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法に関する。
【背景技術】
【０００２】
量子鍵配送システムは、送信機、受信機と、それを接続する光ファイバとを含んで構成される。送信機は、光ファイバ（量子通信路）を介して、光子を受信機に送信する。その後、送信機と受信機が相互に制御情報を交換することによって、送信機と受信機との間で秘密裏に暗号鍵を共有する。この技術は一般に量子鍵配送(ＱＫＤ：Ｑｕａｎｔｕｍ  Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ)と呼ばれる技術により実現される。
【０００３】
ＱＫＤでは、暗号鍵を共有するため利用される光子の挙動は、観測されることにより状態が変化する量子力学の基本原理である不確定性原理を有する。この性質により、送信機が送信した光子を量子通信路上で盗聴者が観測すると、光子の状態が変化し、光子を受信した受信機は、盗聴者に光子を観測されたことを知ることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０１５３８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
量子鍵配送システムにおいて生成される暗号鍵は、様々な暗号通信を行うアプリケーションによって利用されるものである。通常、多くの暗号鍵があれば、その分だけ暗号通信の暗号強度や通信可能時間が増加するため、暗号鍵については、サイズが大きく、数が多く、生成される頻度が高いことが望まれる。
【０００６】
一方、量子鍵配送における光子の送信は、送信機と受信機との間で同期しながら動作する必要があること等から、動作を一度停止すると、再度起動する時間的コストが大きい。したがって、量子鍵配送における光子の送信動作そのものを停止することは望ましくない。ただし、光子の送信に合わせて、暗号鍵の生成を続けると、暗号鍵を生成する送信機および受信機の処理の負荷が大きくなったり、暗号鍵が必要もなく生成されてしまったり、暗号鍵を記憶するストレージの容量を圧迫する可能性があるという問題点がある。
【０００７】
本発明は、上記に鑑みてなされたものであって、量子鍵配送システムにおける送信機および受信機のリソースの消費を軽減する量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態の量子鍵配送装置は、他の量子鍵配送装置と量子通信路で接続され、同一の暗号鍵を生成して共有する量子鍵配送装置であって、量子鍵共有手段と、訂正手段と、圧縮手段と、制御手段と、を備える。量子鍵共有手段は、量子通信路を介した他の量子鍵配送装置との量子鍵配送により、共有ビット列を生成する。訂正手段は、量子鍵共有手段から共有ビット列を受け取り、共有ビット列から誤り訂正処理により、訂正後ビット列を生成する。圧縮手段は、訂正手段から訂正後ビット列を受け取り、訂正後ビット列から鍵圧縮処理により、暗号鍵を生成する。制御手段は、抑制動作を実行することによって、圧縮手段から単位時間に生成される１以上の暗号鍵のビット数の合計を、抑制動作を実行しない場合に圧縮手段から単位時間に生成される１以上の暗号鍵のビット数の合計よりも小さくする。
【図面の簡単な説明】
【０００９】
【図１】図１は、量子鍵配送システムの構成例を示す図である。
【図２】図２は、量子鍵配送ネットワークの構成例を示す図である。
【図３】図３は、ＱＫＤ送信機およびＱＫＤ受信機のブロック構成を示す図である。
【図４】図４は、ＱＫＤ送信機およびＱＫＤ受信機の動作を示すシーケンス図である。
【図５】図５は、鍵圧縮処理を説明する図である。
【図６】図６は、暗号鍵生成の割当てを調整する動作を説明する図である。
【図７】図７は、ＱＫＤ送信機およびＱＫＤ受信機のブロック構成を示す図である。
【図８】図８は、２値エントロピー関数を示す図である。
【図９】図９は、ＱＫＤ装置のハードウェアの構成図である。
【発明を実施するための形態】
【００１０】
以下に、図面を参照しながら、本発明の実施形態に係る量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法を詳細に説明する。また、以下の図面において、同一の部分には同一の符号が付してある。ただし、図面は模式的なものであるため、具体的な構成は以下の説明を参酌して判断すべきものである。
【００１１】
（第１の実施形態）
図１は、量子鍵配送システムの構成例を示す図である。図１を参照しながら、量子鍵配送システム１００の構成について説明する。
【００１２】
図１に示すように、量子鍵配送システム１００は、ＱＫＤ送信機１と、ＱＫＤ受信機２と、光ファイバケーブル３と、を含んで構成されている。なお、以下においては主に、図１に示すように、ＱＫＤ送信機１とＱＫＤ受信機２とがそれぞれ１つで構成された量子鍵配送システム１００について説明するが、ＱＫＤ受信機２が１台で、光学機器を介して複数のＱＫＤ送信機１が接続されたいわゆる量子アクセスネットワーク（後述の図６参照）であってもよい。また、ＱＫＤ受信機２が複数の光ファイバ通信のインターフェースを有し、それらのインターフェースを介して、複数のＱＫＤ送信機１が接続された量子鍵配送システムであってもよい。この場合、ＱＫＤ送信機１とＱＫＤ受信機２とが逆となっている構成でもよい。
【００１３】
ＱＫＤ送信機１は、例えば、乱数によって発生させた、暗号鍵を生成する基となる単一光子から構成されるビット列（以下、光子ビット列という）を、光ファイバケーブル３を介して、ＱＫＤ受信機２へ送信する。ＱＫＤ送信機１は、送信した光子ビット列を基に、シフティング処理、ＥＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ：誤り訂正）処理およびＰＡ（Ｐｒｉｖａｃｙ  Ａｍｐｌｉｆｉｃａｔｉｏｎ：秘匿性増強）処理等を実行して、暗号鍵を生成する。
【００１４】
ＱＫＤ受信機２は、暗号鍵を生成する基となる単一光子から構成される光子ビット列を、光ファイバケーブル３を介して、ＱＫＤ送信機１から受信する。ＱＫＤ受信機２は、受信した光子ビット列を基に、シフティング処理、ＥＣ処理およびＰＡ処理等を実行して、ＱＫＤ送信機１が生成した暗号鍵と同一の暗号鍵を生成する。すなわち、ＱＫＤ送信機１およびＱＫＤ受信機２は、同一の暗号鍵を生成して共有することになる。
【００１５】
光ファイバケーブル３は、ＱＫＤ送信機１が出力した単一光子の送信路となる量子通信路として機能する。なお、図示していないが、ＱＫＤ送信機１とＱＫＤ受信機２とは、光ファイバケーブル３の量子通信路以外に、通常の「０」と「１」とのデジタルデータを通信する通信ケーブル（古典通信路）で接続されている。古典通信路は、有線である必要はなく無線であってもよい。
【００１６】
このようなＱＫＤ送信機１とＱＫＤ受信機２とを含む量子鍵配送システム１００によって、ＱＫＤ送信機１が送信した単一光子を量子通信路である光ファイバケーブル３上で盗聴者が観測すると、光子の物理的変化が発生し、光子を受信したＱＫＤ受信機２は、盗聴者に光子を観測されたことを知ることができる。なお、ＱＫＤ送信機１およびＱＫＤ受信機２の暗号鍵の生成動作の詳細については、後述する。また、ＱＫＤ送信機１およびＱＫＤ受信機２を総称する場合、「ＱＫＤ装置」というものとする。
【００１７】
図２は、量子鍵配送ネットワークの構成例を示す図である。図２を参照しながら、量子鍵配送ネットワークについて説明する。
【００１８】
量子鍵配送ネットワークは、主に２つのネットワークである、鍵共有ネットワークと、暗号データ通信ネットワークとを含む。図２においては、量子鍵配送ネットワークが、鍵共有ネットワーク２００と、プライベートネットワーク２０１ａ、２０１ｂと、暗号データ通信ネットワーク２０２と、を含んで構成されている。
【００１９】
鍵共有ネットワーク２００は、図２に示すように、ＱＫＤ装置としてのノード５０ａ〜５０ｃを含んで構成されている。ノード５０ａとノード５０ｂとは、量子通信路で接続されており、お互いそれぞれが単一光子の送信機または受信機となって、上述のように、同一の暗号鍵を生成して共有する。ノード５０ａとノード５０ｃとについても同様である。このように、互いに接続されたＱＫＤ装置が、生成して共有する同一の暗号鍵をリンク鍵というものとする。量子鍵配送システム１００は、鍵共有ネットワーク２００に含まれるシステムである。
【００２０】
また、図２に示すように、ノード５０ｂとノード５０ｃとは、直接、量子通信路で接続されていない。この場合、ノード５０ｂとノード５０ｃとが同一の暗号鍵を共有するためには、まず、直接量子通信路で接続されたノード５０ａとノード５０ｂとの間で同一の暗号鍵（リンク鍵ａ−ｂ）を生成する。同様に、直接量子通信路で接続されたノード５０ａとノード５０ｃとの間で、リンク鍵ａ−ｂとは異なり、かつ、同一の暗号鍵（リンク鍵ａ−ｃ）を生成する。そして、ノード５０ｃは、別途、暗号鍵（アプリケーション鍵ｂ−ｃと称するものとする）を乱数によって生成し、リンク鍵ａ−ｃでアプリケーション鍵ｂ−ｃを暗号化した状態で、ノード５０ａに古典通信路を経由して送信する。ノード５０ａは、受信したアプリケーション鍵ｂ−ｃをリンク鍵ａ−ｃで復号化した後、リンク鍵ａ−ｂで暗号化し、ノード５０ｂに古典通信路を経由して送信する。ノード５０ｂは、受信したアプリケーション鍵ｂ−ｃをリンク鍵ａ−ｂで復号化することで、アプリケーション鍵ｂ−ｃを保持する。この結果、ノード５０ｂとノード５０ｃとは、同一の暗号鍵であるアプリケーション鍵ｂ−ｃを共有することができる。
【００２１】
プライベートネットワーク２０１ａは、図２に示すように、ノード５０ｂと、アプリ６０ａと、アプリ６０ｂと、を含んで構成されている。プライベートネットワーク２０１ａは、構成する情報処理装置（図２の場合、ノード５０ｂ、アプリ６０ａおよびアプリ６０ｂ）間の通信の安全性が確保されていることを前提とするネットワークとする。後述のプライベートネットワーク２０１ｂも同様とする。
【００２２】
アプリ６０ａ、６０ｂは、所定の機能を有するアプリケーションを実行する情報処理装置である。アプリ６０ａ、６０ｂは、それぞれノード５０ｂから暗号鍵７０ａ、７０ｂ（リンク鍵またはアプリケーション鍵）を受信する。そして、アプリ６０ａ、６０ｂは、暗号データ通信ネットワーク２０２を介して、他のネットワーク（例えば、図２に示すプライベートネットワーク２０１ｂ）に含まれる情報処理装置と、それぞれ暗号鍵７０ａ、７０ｂを使用して暗号通信を行う。
【００２３】
プライベートネットワーク２０１ｂは、図２に示すように、ノード５０ｃと、アプリ６１ａと、アプリ６１ｂと、を含んで構成されている。
【００２４】
アプリ６１ａ、６１ｂは、所定の機能を有するアプリケーションを実行する情報処理装置である。アプリ６１ａ、６１ｂは、それぞれノード５０ｃから暗号鍵７１ａ、７１ｂ（リンク鍵またはアプリケーション鍵）を受信する。そして、アプリ６１ａ、６１ｂは、暗号データ通信ネットワーク２０２を介して、他のネットワーク（例えば、図２に示すプライベートネットワーク２０１ａ）に含まれる情報処理装置と、それぞれ暗号鍵７１ａ、７１ｂを使用して暗号通信を行う。
【００２５】
例えば、プライベートネットワーク２０１ａのアプリ６０ａと、プライベートネットワーク２０１ｂのアプリ６１ａとの暗号通信は、次のように行われる。まず、鍵共有ネットワーク２００において、ノード５０ｂとノード５０ｃとが、上述したように、同一の暗号鍵であるアプリケーション鍵を共有する。図２の場合、ノード５０ｂが有する暗号鍵７０ａと、ノード５０ｃが有する暗号鍵７１ａが同一の暗号鍵（アプリケーション鍵）であるものとする。次に、ノード５０ｂは、アプリ６０ａに暗号鍵７０ａを送信し、ノード５０ｃは、アプリ６１ａに暗号鍵７１ａを送信する。そして、アプリ６０ａとアプリ６１ａとは、同一の暗号鍵である暗号鍵７０ａ、７１ａをそれぞれ使用して通信するデータを暗号化し、暗号データ通信ネットワーク２０２を介して暗号通信を行う。
【００２６】
図３は、第１の実施形態に係るＱＫＤ送信機およびＱＫＤ受信機のブロック構成の例を示す図である。図３を参照しながら、ＱＫＤ送信機１およびＱＫＤ受信機２の機能ブロック構成について説明する。
【００２７】
ＱＫＤ送信機１は、量子鍵共有部１０（量子鍵共有手段）と、ＥＣ処理部１１（訂正手段）と、ＰＡ処理部１２（圧縮手段）と、古典通信部１３と、鍵管理部１４と、鍵提供部１５と、ストレージ１６（記憶手段）と、制御部１７（制御手段）と、を有する。
【００２８】
量子鍵共有部１０は、例えば、乱数によって発生させたビット列に対して、ランダムに発生させた基底情報に基づく状態とした単一光子から構成される光子ビット列を、量子通信路（図１の光ファイバケーブル３）を介して、ＱＫＤ受信機２に送信する。次に、量子鍵共有部１０は、ＱＫＤ受信機２（後述の量子鍵共有部２０）が受信した光子ビット列を読み取るためにランダムに発生させた基底情報を、古典通信路を介して受信する。そして、量子鍵共有部１０は、自ら発生した基底情報と量子鍵共有部２０から受信した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列とする。共有ビット列の長さは、量子鍵共有部１０および量子鍵共有部２０がランダムに発生させた基底情報に基づいて定まるので、基底情報の選択が真にランダムである場合、統計上、光子ビット列の略１／２の長さとなる。
【００２９】
ＥＣ処理部１１は、古典通信路を介して、後述するＥＣ処理部２１と制御データ（ＥＣ情報）を交換することにより、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成する。このＥＣ処理部１１が生成した訂正後ビット列は、後述するＥＣ処理部２１が、共有ビット列を訂正して生成した訂正後ビット列と一致する。
【００３０】
ＰＡ処理部１２は、古典通信路を介して、後述するＰＡ処理部２２から制御データ（ＰＡ情報）を受信して、訂正後ビット列に対して、ＥＣ処理部１１により訂正した誤りの数から、量子鍵共有部１０およびＥＣ処理部１１の処理の際に盗聴者により盗聴された可能性のあるビットを打ち消すための鍵圧縮処理（秘匿性増強処理）を行う。ここで、ＰＡ処理部１２による訂正後ビット列に対する鍵圧縮処理後のビット列を鍵ビット列というものとし、これが暗号鍵となる。
【００３１】
古典通信部１３は、上述のように、量子鍵共有部１０、ＥＣ処理部１１およびＰＡ処理部１２がＱＫＤ受信機２と制御データを送受信するための通信インターフェースである。なお、古典通信部１３は、有線または無線のいずれのインターフェースであってもよい。
【００３２】
鍵管理部１４は、ＰＡ処理部１２によって生成された暗号鍵（鍵ビット列）を、ストレージ１６に保存して管理する。なお、鍵管理部１４は、暗号鍵（鍵ビット列）だけではなく、量子鍵共有部１０により生成された光子ビット列および共有ビット列、ならびに、ＥＣ処理部１１により生成された訂正後ビット列のうち少なくともいれずかを保存するようにしてもよい。鍵提供部１５は、必要に応じて、ストレージ１６から暗号鍵を取得し、外部のアプリケーションに提供する。ストレージ１６は、ＰＡ処理部１２によって生成された暗号鍵を保存する記憶装置である。
【００３３】
制御部１７は、ＱＫＤ送信機１全体の制御を行う。制御部１７は、共有ビット列、訂正後ビット列または鍵ビット列の全てもしくは一部を削除して後段の処理部に渡さない処理を行う。この動作の詳細は、暗号鍵の抑制動作として後述する。
【００３４】
なお、上述の量子鍵共有部１０、ＥＣ処理部１１、ＰＡ処理部１２、鍵管理部１４、鍵提供部１５および制御部１７は、それぞれ後述するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０上で実行されるプログラムによって実現されてもよく、または、ハードウェア回路によって実現されてもよい。
【００３５】
ＱＫＤ受信機２は、量子鍵共有部２０（量子鍵共有手段）と、ＥＣ処理部２１（訂正手段）と、ＰＡ処理部２２（圧縮手段）と、古典通信部２３と、鍵管理部２４と、鍵提供部２５と、ストレージ２６（記憶手段）と、制御部２７（制御手段）と、を有する。
【００３６】
量子鍵共有部２０は、量子通信路（図１の光ファイバケーブル３）を介して、ＱＫＤ送信機１から光子ビット列を受信し、ランダムに発生させた基底情報に基づいて、光子ビット列を読み取る。次に、量子鍵共有部２０は、ＱＫＤ送信機１（量子鍵共有部１０）が光子ビット列を送信するためにランダムに発生させた基底情報を、古典通信路を介して受信する。そして、量子鍵共有部２０は、自ら発生した基底情報と量子鍵共有部１０から受信した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列とする。共有ビット列の長さは、量子鍵共有部１０および量子鍵共有部２０がランダムに発生させた基底情報に基づいて定まるので、基底情報の選択が真にランダムである場合、統計上、光子ビット列の略１／２の長さとなる。
【００３７】
ＥＣ処理部２１は、古典通信路を介して、ＥＣ処理部１１と制御データ（ＥＣ情報）を交換することにより、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成する。このＥＣ処理部２１が生成した訂正後ビット列は、ＥＣ処理部１１が、共有ビット列を訂正して生成した訂正後ビット列と一致する。
【００３８】
ＰＡ処理部２２は、古典通信路を介して、ＰＡ処理部１２に制御データ（ＰＡ情報）を送信し、訂正後ビット列に対して、ＥＣ処理部２１により訂正した誤りの数から、量子鍵共有部２０およびＥＣ処理部２１の処理の際に盗聴者により盗聴された可能性のあるビットを打ち消すための鍵圧縮処理（秘匿性増強処理）を行う。ここで、ＰＡ処理部２２による訂正後ビット列に対する鍵圧縮処理後のビット列を鍵ビット列というものとし、これが暗号鍵となる。
【００３９】
古典通信部２３は、上述のように、量子鍵共有部２０、ＥＣ処理部２１およびＰＡ処理部２２がＱＫＤ送信機１と制御データを送受信するための通信インターフェースである。なお、古典通信部２３は、有線または無線のいずれのインターフェースであってもよい。
【００４０】
鍵管理部２４は、ＰＡ処理部２２によって生成された暗号鍵（鍵ビット列）を、ストレージ２６に保存して管理する。なお、鍵管理部２４は、暗号鍵（鍵ビット列）だけではなく、量子鍵共有部２０により受信した光子ビット列、および、生成した共有ビット列、ならびに、ＥＣ処理部２１により生成された訂正後ビット列のうち少なくともいれずかを保存するようにしてもよい。鍵提供部２５は、必要に応じて、ストレージ２６から暗号鍵を取得し、外部のアプリケーションに提供する。ストレージ２６は、ＰＡ処理部２２によって生成された暗号鍵を保存する記憶装置である。
【００４１】
制御部２７は、ＱＫＤ受信機２全体の制御を行う。制御部２７は、共有ビット列、訂正後ビット列または鍵ビット列の全てもしくは一部を削除して後段の処理部に渡さない処理を行う。この動作の詳細は、後述する。
【００４２】
なお、上述の量子鍵共有部２０、ＥＣ処理部２１、ＰＡ処理部２２、鍵管理部２４、鍵提供部２５および制御部２７は、それぞれ後述するＣＰＵ８０上で実行されるプログラムによって実現されてもよく、または、ハードウェア回路によって実現されてもよい。
【００４３】
図４は、ＱＫＤ送信機およびＱＫＤ受信機の動作の例を示すシーケンス図である。図５は、鍵圧縮処理を説明する図である。図４および５を参照しながら、ＱＫＤ送信機１及びＱＫＤ受信機２による暗号鍵の生成動作について説明する。
【００４４】
＜ステップＳ１１＞
ＱＫＤ送信機１の量子鍵共有部１０は、例えば、乱数によって発生させたビット列に対して、ランダムに発生させた基底情報に基づく状態とした単一光子から構成される光子ビット列を、量子通信路を介して、ＱＫＤ受信機２の量子鍵共有部２０に送信する。量子鍵共有部２０は、量子通信路を介して、量子鍵共有部１０から光子ビット列を受信し、ランダムに発生させた基底情報に基づいて、光子ビット列を読み取る。
【００４５】
＜ステップＳ１２＞
量子鍵共有部１０は、量子鍵共有部２０が受信した光子ビット列を読み取るためにランダムに発生させた基底情報を、古典通信路を介して受信する。量子鍵共有部２０は、量子鍵共有部１０が光子ビット列を送信するためにランダムに発生させた基底情報を、古典通信路を介して受信する。
【００４６】
＜ステップＳ１３＞
量子鍵共有部１０は、自ら発生した基底情報と量子鍵共有部２０から受信した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して共有ビット列とするシフティング処理を行う。量子鍵共有部１０は、生成した共有ビット列を、ＥＣ処理部１１に渡す。
【００４７】
＜ステップＳ１４＞
量子鍵共有部２０は、自ら発生した基底情報と量子鍵共有部１０から受信した基底情報とを比較して、一致する部分に対応するビットを光子ビット列から抽出して、共有ビット列とするシフティング処理を行う。量子鍵共有部２０は、生成した共有ビット列を、ＥＣ処理部２１に渡す。
【００４８】
＜ステップＳ１５＞
ＱＫＤ送信機１のＥＣ処理部１１、およびＱＫＤ受信機２のＥＣ処理部２１は、共有ビット列の誤りを訂正するための制御データでるＥＣ情報を、古典通信路を介して交換する。
【００４９】
＜ステップＳ１６＞
ＥＣ処理部１１は、古典通信路を介して、ＥＣ処理部２１と交換したＥＣ情報に基づいて、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成するＥＣ処理を実行する。このＥＣ処理部１１が生成した訂正後ビット列は、ＥＣ処理部２１が、共有ビット列を訂正して生成した訂正後ビット列と一致する。ＥＣ処理部１１は、生成した訂正後ビット列を、ＰＡ処理部１２に渡す。
【００５０】
＜ステップＳ１７＞
ＥＣ処理部２１は、古典通信路を介して、ＥＣ処理部１１と交換したＥＣ情報に基づいて、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成するＥＣ処理を実行する。このＥＣ処理部２１が生成した訂正後ビット列は、ＥＣ処理部１１が、共有ビット列を訂正して生成した訂正後ビット列と一致する。ＥＣ処理部２１は、生成した訂正後ビット列を、ＰＡ処理部２２に渡す。
【００５１】
＜ステップＳ１８＞
ＱＫＤ受信機２のＰＡ処理部２２は、古典通信路を介して、ＱＫＤ送信機１のＰＡ処理部１２にＰＡ情報（乱数および暗号鍵の長さ情報等）を送信し、ＰＡ処理部１２は、古典通信路を介して、ＰＡ処理部２２からＰＡ情報を受信する。
【００５２】
＜ステップＳ１９＞
ＰＡ処理部１２は、受信したＰＡ情報に基づいて、訂正後ビット列に対して、ＥＣ処理部１１により訂正した誤りの数から、量子鍵共有部１０およびＥＣ処理部１１の処理の際に盗聴者により盗聴された可能性のあるビットを打ち消すための鍵圧縮処理（秘匿性増強処理、ＰＡ処理）を行う。具体的には、ＰＡ処理部１２は、図５に示すように、ＥＣ処理部１１により生成された訂正後ビット列の長さｎと、ＰＡ情報に含まれる乱数と、暗号鍵の長さｓとからｎ×ｓの行列であるハッシュ関数を生成する。そして、ＰＡ処理部１２は、訂正後ビット列にハッシュ関数を乗じることによって、長さｓの暗号鍵（鍵ビット列）を生成する。そして、ＰＡ処理部１２は、生成した暗号鍵を、鍵管理部１４に渡す。なお、鍵圧縮処理の方法は、上述のようなハッシュ関数を用いたものに限定するものではなく、その他の方法によって実現するものとしてもよい。
【００５３】
＜ステップＳ２０＞
ＰＡ処理部２２は、ＰＡ情報に基づいて、訂正後ビット列に対して、ＥＣ処理部２１により訂正した誤りの数から、量子鍵共有部２０およびＥＣ処理部２１の処理の際に盗聴者により盗聴された可能性のあるビットを打ち消すための鍵圧縮処理（秘匿性増強処理、ＰＡ処理）を行う。具体的には、ＰＡ処理部２２は、ＰＡ処理部１２と同様の方法で、暗号鍵（鍵ビット列）を生成する。そして、ＰＡ処理部２２は、生成した暗号鍵を、鍵管理部２４に渡す。
【００５４】
＜ステップＳ２１＞
鍵管理部１４は、ＰＡ処理部１２によって生成された暗号鍵を、ストレージ１６に保存して管理する。ストレージ１６に保存された暗号鍵は、鍵提供部１５により必要に応じて取得され、外部のアプリケーションに提供される。
【００５５】
＜ステップＳ２２＞
鍵管理部２４は、ＰＡ処理部２２によって生成された暗号鍵を、ストレージ２６に保存して管理する。ストレージ２６に保存された暗号鍵は、鍵提供部２５により必要に応じて取得され、外部のアプリケーションに提供される。
【００５６】
以上のような動作によって、ＱＫＤ送信機１及びＱＫＤ受信機２において、同一の暗号鍵が生成される。上述の動作によって生成された暗号鍵は、一度しか使用しないいわゆるワンタイムパッドの鍵であるので、上述の動作によって、異なる暗号鍵が繰り返し生成される。
【００５７】
量子鍵配送システム１００において、生成される暗号鍵は、様々な暗号通信を行うアプリケーションによって利用されるものである。通常、多くの暗号鍵があれば、その分だけ暗号通信の暗号強度および通信可能時間が増加するため、暗号鍵については、サイズが大きく、生成される頻度が高いことが望まれる。ただし、量子鍵配送システム１００において暗号鍵を無作為に生成する場合、ＱＫＤ送信機１およびＱＫＤ受信機２の処理負荷が大きくなり、また、暗号鍵が使用される頻度が小さくなると、暗号鍵を保存するストレージ１６、２６の空き容量を圧迫する可能性がある。
【００５８】
したがって、量子鍵配送システム１００では、このような事象を回避するために、様々な条件（条件の例示については後述）にしたがって、暗号鍵を生成する頻度を低くし、または、暗号鍵のサイズを小さくする抑制動作を行う必要がある。具体的には、制御部１７（制御部２７）が、抑制動作を実行することによって、ＰＡ処理部１２（ＰＡ処理部２２）から単位時間に生成される１以上の暗号鍵のビット数の合計を、抑制動作を実行しない場合にＰＡ処理部１２（ＰＡ処理部２２）から単位時間に生成される１以上の暗号鍵のビット数の合計よりも小さくする必要がある。
【００５９】
一方、上述したように、量子鍵共有部１０および量子鍵共有部２０の量子通信路における光子ビット列の送受信、および、シフティング処理は、送信機と受信機との間で同期しながら動作する必要があること等から、動作を一度停止すると、再度起動する時間的コストが大きい。したがって、量子鍵共有部１０および量子鍵共有部２０の量子通信路における光子ビット列の送受信、および、シフティング処理を停止することは望ましくない。よって、量子鍵共有部１０および量子鍵共有部２０の量子通信路における光子ビット列の送受信、および、シフティング処理は、ＱＫＤ送信機１およびＱＫＤ受信機２が稼動している限りにおいて、常時実行されることを前提とする。すなわち、量子鍵共有部１０および量子鍵共有部２０によって、常時、共有ビット列が生成されることを前提とする。
【００６０】
本実施形態において、量子鍵配送システム１００は、以下の（Ａ）〜（Ｃ）の抑制動作のいずれかを行う。
【００６１】
（Ａ）ＰＡ処理部１２（ＰＡ処理部２２）により生成された暗号鍵（鍵ビット列）の全てまたは一部を鍵管理部１４（鍵管理部２４）に渡さずに削除する、あるいは、暗号鍵のサイズを小さくする。
（Ｂ）ＥＣ処理部１１（ＥＣ処理部２１）により生成された訂正後ビット列の全てまたは一部をＰＡ処理部１２（ＰＡ処理部２２）に渡さすに削除する、あるいは、訂正後ビット列のサイズを小さくする。
（Ｃ）量子鍵共有部１０（量子鍵共有部２０）により生成された共有ビット列の全てまたは一部をＥＣ処理部１１（ＥＣ処理部２１）に渡さずに削除する、あるいは、共有ビット列のサイズを小さくする。
【００６２】
上述の（Ａ）〜（Ｃ）の抑制動作について、ＱＫＤ送信機１における抑制動作を例にそれぞれ説明する。ＱＫＤ受信機２における抑制動作についてもＱＫＤ送信機１と同様である。
【００６３】
まず、（Ａ）の抑制動作について説明する。ＱＫＤ送信機１の制御部１７は、ＰＡ処理部１２対して、ＰＡ処理部１２により生成された暗号鍵（鍵ビット列）の全てまたは一部を鍵管理部１４に渡させずに、削除する、あるいは、暗号鍵のサイズを小さくする。制御部１７によって、ＰＡ処理部１２により生成された暗号鍵の一部が削除される場合、残りの一部の暗号鍵については、上述の図４のステップＳ２１以降の処理が実行され、最終的に暗号鍵が生成されて、ストレージ１６に保存される。また、制御部１７は、どの暗号鍵を削除するのか、もしくは、サイズを小さくするのか、または、どのように暗号鍵を削除するのかについては、ＱＫＤ受信機２の制御部２７と同期させる。具体的には、制御部１７は、削除またはサイズ縮小の対象となる暗号鍵のＩＤ、サイズ縮小の方法の情報、および、削除する方法の情報について、古典通信路を介して、制御部２７と共有する。
【００６４】
このように、（Ａ）の抑制動作を行うことによって、最終的にストレージに保存される暗号鍵の数および生成頻度を減少させ、保存される暗号鍵のサイズを小さくすることができる。また、一連の暗号鍵を生成動作が終了した段階で、暗号鍵を削除、または、暗号鍵のサイズを縮小させるので、制御部１７の抑制動作を簡易に実現することができる。
【００６５】
次に、（Ｂ）の抑制動作について説明する。ＱＫＤ送信機１の制御部１７は、ＥＣ処理部１１対して、ＥＣ処理部１１により生成された訂正後ビット列の全てまたは一部をＰＡ処理部１２に渡させずに、削除する、あるいは、訂正後ビット列のサイズを小さくする。制御部１７によって、ＥＣ処理部１１により生成された訂正後ビット列の一部が削除される場合、残りの一部の訂正後ビット列については、上述の図４のステップＳ１８以降の処理が実行され、最終的に暗号鍵が生成されて、ストレージ１６に保存される。また、制御部１７は、どの訂正後ビット列を削除するのか、もしくは、サイズを小さくするのか、または、どのように訂正後ビット列を削除するのかについては、ＱＫＤ受信機２の制御部２７と同期させる。具体的には、制御部１７は、削除またはサイズ縮小の対象となる訂正後ビット列のＩＤ、サイズ縮小の方法の情報、および、削除する方法の情報について、古典通信路を介して、制御部２７と共有する。
【００６６】
このように、（Ｂ）の抑制動作を行うことによって、訂正後ビット列が削除された分だけ、最終的にストレージに保存される暗号鍵の数および生成頻度を減少させ、訂正後ビット列のサイズが小さくなった分だけ、保存される暗号鍵のサイズを小さくすることができる。また、上述の図４のステップＳ１８以降の処理量が減少するため、ＱＫＤ送信機１およびＱＫＤ受信機２の処理負荷が軽減される。また、訂正ビット列を生成する動作までは実行させ、誤り率等の統計情報を収集する等の別の目的がある場合に採用することができる。
【００６７】
次に、（Ｃ）の抑制動作について説明する。ＱＫＤ送信機１の制御部１７は、量子鍵共有部１０対して、量子鍵共有部１０により生成された共有ビット列の全てまたは一部をＥＣ処理部１１に渡させずに、削除する、あるいは、共有ビット列のサイズを小さくする。制御部１７によって、量子鍵共有部１０により生成された共有ビット列の一部が削除される場合、残りの一部の共有ビット列については、上述の図４のステップＳ１５以降の処理が実行され、最終的に暗号鍵が生成されて、ストレージ１６に保存される。また、制御部１７は、どの共有ビット列を削除するのか、もしくは、サイズを小さくするのか、または、どのように共有ビット列を削除するのかについては、ＱＫＤ受信機２の制御部２７と同期させる。具体的には、制御部１７は、削除またはサイズ縮小の対象となる共有ビット列のＩＤ、サイズ縮小の方法の情報、および、削除する方法の情報について、古典通信路を介して、制御部２７と共有する。
【００６８】
このように、（Ｃ）の抑制動作を行うことによって、共有ビット列が削除された分だけ、最終的にストレージに保存される暗号鍵の数および生成頻度を減少させ、共有ビット列のサイズが小さくなった分だけ、保存される暗号鍵のサイズを小さくすることができる。また、上述の図４のステップＳ１５以降の処理量が減少するため、ＱＫＤ送信機１およびＱＫＤ受信機２の処理負荷が軽減される。
【００６９】
なお、制御部１７は、上述の（Ａ）〜（Ｃ）の抑制動作のうちいずれか一つを実行することに限定されるものではなく、任意に組み合わせて実行するものとしてもよい。
【００７０】
上述のような（Ａ）〜（Ｃ）の抑制動作は、上述のように種々な条件にしたがって、行う必要がある。ここで、抑制動作の程度の大きさ、すなわち、暗号鍵の生成頻度をどれだけ低くするか、または、暗号鍵のサイズをどれだけ小さくするかの程度の大きさを抑制量と称するものとする。次に、抑制量を決定する条件となるパラメータについて例示する。
【００７１】
（ｉ）リンク優先度：図２における鍵共有ネットワーク２００を構成する量子鍵配送システム（２つのＱＫＤ装置のリンク（結合））ごとに設定された優先度を示す。優先度が高いリンクにおいては、抑制量を小さくし、優先度が低いリンクにおいては、抑制量を大きくする。
（ｉｉ）アプリケーションの優先度：暗号鍵を利用するアプリケーションの種類ごとに設定された優先度を示す。優先度が高いアプリケーションが実行されている場合においては、抑制量を小さくし、優先度が低いアプリケーションが実行されている場合においては、抑制量を大きくする。
（ｉｉｉ）実行アプリケーション数：暗号鍵を利用して実行されているアプリケーションの数を示す。アプリケーションの実行数が多い場合、抑制量を小さくし、実行数が少ない場合、抑制量を大きくする。
（ｉｖ）暗号鍵利用頻度：アプリケーションが暗号鍵を利用する頻度を示す。利用する頻度が高い場合、抑制量を小さくし、利用する頻度が低い場合、抑制量を大きくする。
（ｖ）ストレージ空き容量：暗号鍵を保存するストレージ１６、２６の空き容量である。空き容量が大きい場合、抑制量を小さくし、空き容量が小さい場合、抑制量を大きくする。
（ｖｉ）暗号鍵蓄積量：暗号鍵を保持している容量（暗号鍵の数または暗号鍵のデータサイズ総量）である。暗号鍵蓄積量が小さい場合、抑制量を小さくし、暗号鍵蓄積量が大きい場合、抑制量を大きくする。
【００７２】
制御部１７および制御部２７は、上述のパラメータのうち少なくともいずれかによって抑制量を決定し、決定した抑制量に基づいて抑制動作を実行する。また、上述のパラメータについて、ＱＫＤ送信機１とＱＫＤ受信機２とにおいて一致したパラメータを把握する必要がある。したがって、ＱＫＤ送信機１（またはＱＫＤ受信機２）は、上述のパラメータの決定に必要な情報を収集してパラメータを決定し、そのパラメータを、古典通信路を介してＱＫＤ受信機２（またはＱＫＤ送信機１）に送信する。そして、制御部１７および制御部２７は、一致したパラメータに基づいて、抑制動作を実行する。
【００７３】
なお、上述のパラメータのうち（ｉｉｉ）〜（ｖ）のパラメータは、ＱＫＤ送信機１およびＱＫＤ受信機２の動作、およびこれらに接続している情報処理装置の動作によって動的に変化し得る。したがって、例えば、制御部１７（または制御部２７）が、特定のパラメータが所定の閾値（第１閾値）を下回った場合、抑制動作を実行し、同じまたは別の閾値（第２閾値）を超えた場合に、抑制動作を停止するようにしてもよい。
【００７４】
図６は、暗号鍵生成の割当てを調整する動作を説明する図である。図６を参照しながら、例えば、上述のパラメータが、（ｉ）リンク優先度、および（ｉｉｉ）実行アプリケーション数である場合の具体的な抑制動作について説明する。
【００７５】
図６に示すように、量子鍵配送システム１００ａは、図１に示した１台のＱＫＤ送信機と１台のＱＫＤ受信機とが量子通信路で接続されたシステムではなく、上述した量子アクセスネットワークを構成している。量子鍵配送システム１００ａは、ＱＫＤ送信機１ａ〜１ｃと、ＱＫＤ受信機２ａと、光学機器４と、を含んで構成されている。
【００７６】
ＱＫＤ送信機１ａ〜１ｃは、それぞれ光学機器４の入力側に対して、量子通信路（光ファイバケーブル）により接続されている。ＱＫＤ送信機１ａ〜１ｃは、それぞれストレージ１６ａ〜１６ｃを備えている。
【００７７】
ＱＫＤ受信機２ａは、光学機器４の出力側に対して、量子通信路（光ファイバケーブル）により接続されている。ＱＫＤ受信機２ａは、ストレージ２６ａを備えている。
【００７８】
図６に示すように、量子鍵配送システム１００ａには、ＱＫＤ送信機１ａとＱＫＤ受信機２ａとのリンク（以下、リンクＡという）、ＱＫＤ送信機１ｂとＱＫＤ受信機２ａとのリンク（以下、リンクＢという）、およびＱＫＤ送信機１ｃとＱＫＤ受信機２ａとのリンク（以下、リンクＣという）の３種類のリンクがある。これらのリンクごとに、図４に示す動作によって、同一の暗号鍵が生成され共有される。
【００７９】
ＱＫＤ送信機１ａは、ＱＫＤ送信機１ａと通信可能で、３種類のアプリケーションであるアプリケーション５００〜５０２を実行している外部装置に接続している。なお、この外部装置は、１台でなくてもよい。例えば、アプリケーション５００〜５０２それぞれを実行する３台の外部装置であってもよく、アプリケーション５００、５０１を実行する外部装置およびアプリケーション５０２を実行する外部装置の２台の外部装置であってもよい。また、アプリケーション５００〜５０２は、少なくともいずれかが外部装置ではなくＱＫＤ送信機１ａ自体が実行するアプリケーションであってもよい。
【００８０】
ＱＫＤ送信機１ｃは、ＱＫＤ送信機１ｃと通信可能で、アプリケーション５０３ｃを実行している外部装置に接続している。なお、アプリケーション５０３ｃは、外部装置ではなくＱＫＤ送信機１ｃ自体が実行するアプリケーションであってもよい。
【００８１】
ＱＫＤ受信機２ａは、ＱＫＤ受信機２ａと通信可能で、４種類のアプリケーションであるアプリケーション５００ａ〜５０３ａを実行している外部装置に接続している。なお、この外部装置は、１台でなくてもよい。例えば、アプリケーション５００ａ、５０１ａを実行する外部装置およびアプリケーション５０２ａ、５０３ａを実行する外部装置の２台の外部装置であってもよい。また、アプリケーション５００ａ〜５０３ａは、少なくともいずれかが外部装置ではなくＱＫＤ受信機２ａ自体が実行するアプリケーションであってもよい。
【００８２】
アプリケーション５００〜５０２、５０３ｃは、それぞれアプリケーション５００ａ〜アプリケーション５０３ａに対応し、各アプリケーション間でデータ通信を行う。ＱＫＤ送信機１ａおよびＱＫＤ受信機２ａは、アプリケーション５００〜５０２とアプリケーション５００ａ〜５０２ａとがそれぞれ暗号通信するための暗号鍵を生成し、ストレージ１６ａ、２６ａそれぞれに、生成した暗号鍵の束である暗号鍵６００ａが保存されている。ＱＫＤ送信機１ｃおよびＱＫＤ受信機２ａは、アプリケーション５０３ｃと、アプリケーション５０３ａとが暗号通信するための暗号鍵を生成し、ストレージ１６ｃ、２６ａそれぞれに、生成した暗号鍵の束である暗号鍵６００ｃが保存されている。ＱＫＤ送信機１ｂおよびＱＫＤ受信機２ａは、それぞれに接続する外部機器においてアプリケーションを実行されておらず、また、ＱＫＤ送信機１ｂおよびＱＫＤ受信機２ａ自体においてアプリケーションが実行されていない。しかし、ＱＫＤ送信機１ｂおよびＱＫＤ受信機２ａは、リンクＢ用に暗号鍵を生成し、ストレージ１６ｂ、２６ａそれぞれに、生成した暗号鍵の束である暗号鍵６００ｂが保存されている。また、リンクＡ〜Ｃは、それぞれリンク優先度ＹＡ〜ＹＣが割り当てられており、ＹＡ＝ＹＣ＜ＹＢの関係があるものとする。
【００８３】
以上の量子鍵配送システム１００ａの状態における抑制動作について説明する。リンクＡに対応し、かつ実行しているアプリケーションの数（種類）は３であり、リンクＣに対応し、かつ実行しているアプリケーションの数（種類）は１である。したがって、リンクＡのＱＫＤ送信機１ａおよびＱＫＤ受信機２ａが実行する抑制動作の抑制量は、リンクＣのＱＫＤ送信機１ｃおよびＱＫＤ受信機２ａが実行する抑制動作の抑制量よりも小さくなるようにする。その結果、リンクＡで生成される暗号鍵６００ａの数は、リンクＣで生成される暗号鍵６００ｃの数よりも大きくなる。
【００８４】
また、リンクＢのリンク優先度ＹＢは、リンクＡ（リンクＣ）のリンク優先度ＹＡ（ＹＣ）よりも大きい。したがって、リンクＢに対応し、かつ実行しているアプリケーションの数は０だが、リンク優先度ＹＢに基づく抑制量の抑制動作によって、所定数の暗号鍵６００ｂがリンクＢで生成されている。
【００８５】
以上のように、ＱＫＤ送信機１およびＱＫＤ受信機２は、ＱＫＤ送信機１およびＱＫＤ受信機２に関するパラメータに基づいて、抑制動作の抑制量を決定している。これによって、ＱＫＤ送信機１およびＱＫＤ受信機２は、好適な抑制量の抑制動作を行った状態で暗号鍵の生成を行うことができるので、暗号鍵を用いたアプリケーションによる暗号通信を正常に動作させつつ、ＱＫＤ送信機１およびＱＫＤ受信機２の処理負荷を低減できる。また、暗号鍵を保存するストレージ１６、２６の空き容量を圧迫する事態を回避することができる。すなわち、量子鍵配送システム１００におけるＱＫＤ送信機１およびＱＫＤ受信機２のリソースの消費を軽減することができる。
【００８６】
また、上述の（Ａ）の抑制動作を行うことによって、最終的にストレージに保存される暗号鍵の数および生成頻度を減少させ、保存される暗号鍵のサイズを小さくすることができる。また、一連の暗号鍵を生成動作が終了した段階で、暗号鍵を削除、または、暗号鍵のサイズを縮小させるので、制御部１７の抑制動作を簡易に実現することができる。
【００８７】
また、上述の（Ｂ）の抑制動作を行うことによって、訂正後ビット列が削除された分だけ、最終的にストレージに保存される暗号鍵の数および生成頻度を減少させ、訂正後ビット列のサイズが小さくなった分だけ、保存される暗号鍵のサイズを小さくすることができる。また、上述の図４のステップＳ１８以降の処理量が減少するため、ＱＫＤ送信機１およびＱＫＤ受信機２の処理負荷が軽減される。また、訂正ビット列を生成する動作までは実行させ、誤り率等の統計情報を収集する等の別の目的がある場合に採用することができる。
【００８８】
また、上述の（Ｃ）の抑制動作を行うことによって、共有ビット列が削除された分だけ、最終的にストレージに保存される暗号鍵の数および生成頻度を減少させ、共有ビット列のサイズが小さくなった分だけ、保存される暗号鍵のサイズを小さくすることができる。また、上述の図４のステップＳ１５以降の処理量が減少するため、ＱＫＤ送信機１およびＱＫＤ受信機２の処理負荷が軽減される。
【００８９】
（第２の実施形態）
本実施形態に係る量子鍵配送システムの構成および動作について、第１の実施形態に係る量子鍵配送システム１００、１００ａと相違する構成および動作を中心に説明する。なお、本実施形態に係る量子鍵配送システムの構成、および、その量子鍵配送システムを含む量子配送ネットワークの構成は、第１の実施形態と同様である。
【００９０】
図７は、第２の実施形態に係るＱＫＤ送信機およびＱＫＤ受信機のブロック構成の例を示す図である。図７を参照しながら、量子鍵配送システム１００ｂにおけるＱＫＤ送信機１ｄおよびＱＫＤ受信機２ｄの機能ブロック構成について説明する。
【００９１】
ＱＫＤ送信機１ｄは、量子鍵共有部１０と、ＥＣ処理部１１と、ＰＡ処理部１２ａ（圧縮手段）と、古典通信部１３と、鍵管理部１４と、鍵提供部１５と、ストレージ１６と、制御部１７ａ（制御手段）と、を有する。
【００９２】
制御部１７ａは、ＱＫＤ送信機１ｄ全体の制御を行う。制御部１７ａは、暗号鍵の抑制動作として、古典通信路を介して、制御部２７ａから暗号鍵の長さｓの情報をＰＡ情報の一つとして受信し、ＰＡ処理部１２ａに渡す。制御部１７ａおよび制御部２７ａによる暗号鍵の抑制動作の詳細は、後述する。
【００９３】
ＰＡ処理部１２ａは、制御部１７ａから、後述する鍵長さ算出部２７１ａによって算出された暗号鍵の長さｓの情報をＰＡ情報として受け取り、ＰＡ処理部２２ａから、古典通信路を介して、乱数の情報をＰＡ情報として受信する。ＰＡ処理部１２ａは、訂正後ビット列に対して、量子鍵共有部１０およびＥＣ処理部１１の処理の際に盗聴者により盗聴された可能性のあるビットを打ち消すための鍵圧縮処理（秘匿性増強処理）を行う。具体的には、ＰＡ処理部１２ａは、図５に示すように、ＥＣ処理部１１により生成された訂正後ビット列の長さｎと、ＰＡ情報に含まれる暗号鍵の長さｓおよび乱数とからｎ×ｓの行列であるハッシュ関数を生成する。そして、ＰＡ処理部１２ａは、訂正後ビット列にハッシュ関数を乗じることによって、長さｓの暗号鍵（鍵ビット列）を生成する。ＰＡ処理部１２ａは、生成した暗号鍵を、鍵管理部１４に渡す。
【００９４】
鍵管理部１４は、ＰＡ処理部１２ａによって生成された暗号鍵（鍵ビット列）を、ストレージ１６に保存して管理する。
【００９５】
なお、量子鍵共有部１０、ＥＣ処理部１１、ＰＡ処理部１２ａ、鍵管理部１４、鍵提供部１５および制御部１７ａは、それぞれＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）上で実行されるプログラムによって実現されてもよく、または、ハードウェア回路によって実現されてもよい。
【００９６】
ＱＫＤ受信機２ｄは、量子鍵共有部２０と、ＥＣ処理部２１と、ＰＡ処理部２２ａ（圧縮手段）と、古典通信部２３と、鍵管理部２４と、鍵提供部２５と、ストレージ２６と、制御部２７ａ（制御手段）と、を有する。
【００９７】
制御部２７ａは、ＱＫＤ受信機２ｄ全体の制御を行う。制御部２７ａは、パラメータ収集部２７０ａと、鍵長さ算出部２７１ａと、を有する。制御部２７ａは、後述するように、鍵長さ算出部２７１ａにより算出された暗号鍵の長さｓの情報をＰＡ情報の一つとして、古典通信路を介して、制御部１７ａに送信する。また、制御部２７ａは、暗号鍵の長さｓの情報をＰＡ情報の一つとして、ＰＡ処理部２２ａに渡す。
【００９８】
パラメータ収集部２７０ａは、鍵長さ算出部２７１ａにより暗号鍵の長さｓを算出するためのパラメータの収集を行う。パラメータ収集部２７０ａは、パラメータとして、検出パルス数Ｑ、エラー率Ｅ、ＥＣ効率ｆＥＣ（誤り訂正効率）、およびストレージ空き容量Ｓを収集する。これらのパラメータの詳細については、後述する。
【００９９】
鍵長さ算出部２７１ａは、暗号鍵の抑制動作として、パラメータ収集部２７０ａにより収集された検出パルス数Ｑ、エラー率Ｅ、ＥＣ効率ｆＥＣ、およびストレージ空き容量Ｓに基づいて、暗号鍵の長さｓを算出する。暗号鍵の長さｓの具体的な算出方法については、後述する。なお、暗号鍵の長さｓの算出は、制御部２７ａ（鍵長さ算出部２７１ａ）が行っているが、これに限定されるものではなく、制御部１７ａが算出するものとしてもよい。
【０１００】
ＰＡ処理部２２ａは、制御部２７ａから、後述する鍵長さ算出部２７１ａによって算出された暗号鍵の長さｓの情報をＰＡ情報として受け取る。また、ＰＡ処理部２２ａは、ハッシュ関数を生成するため乱数を生成し、ＰＡ処理部１２ａに対して、古典通信路を介して、発生した乱数の情報をＰＡ情報として送信する。ＰＡ処理部２２ａは、訂正後ビット列に対して、量子鍵共有部２０およびＥＣ処理部２１の処理の際に盗聴者により盗聴された可能性のあるビットを打ち消すための鍵圧縮処理（秘匿性増強処理）を行う。具体的には、ＰＡ処理部２２ａは、図５に示すように、ＥＣ処理部２１により生成された訂正後ビット列の長さｎと、ＰＡ情報に含まれる暗号鍵の長さｓおよび乱数とからｎ×ｓの行列であるハッシュ関数を生成する。そして、ＰＡ処理部２２ａは、訂正後ビット列にハッシュ関数を乗じることによって、長さｓの暗号鍵（鍵ビット列）を生成する。ＰＡ処理部２２ａは、生成した暗号鍵を、鍵管理部２４に渡す。
【０１０１】
鍵管理部２４は、ＰＡ処理部２２ａによって生成された暗号鍵（鍵ビット列）を、ストレージ２６に保存して管理する。
【０１０２】
なお、量子鍵共有部２０、ＥＣ処理部２１、ＰＡ処理部２２ａ、鍵管理部２４、鍵提供部２５および制御部２７ａは、それぞれＣＰＵ上で実行されるプログラムによって実現されてもよく、または、ハードウェア回路によって実現されてもよい。
【０１０３】
次に、図４および５を参照しながら、制御部１７ａおよび制御部２７ａによる抑制動作が実行された状態における、ＱＫＤ送信機１ｄ及びＱＫＤ受信機２ｄによる暗号鍵の生成動作について説明する。なお、第１の実施の形態と相違する点を中心に説明する。
【０１０４】
＜ステップＳ１１〜Ｓ１５＞
第１の実施形態におけるステップＳ１１〜Ｓ１５と同様の処理である。
＜ステップＳ１６＞
ＥＣ処理部１１は、古典通信路を介して、ＥＣ処理部２１と交換したＥＣ情報に基づいて、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成するＥＣ処理を実行する。このＥＣ処理部１１が生成した訂正後ビット列は、ＥＣ処理部２１が、共有ビット列を訂正して生成した訂正後ビット列と一致する。ＥＣ処理部１１は、生成した訂正後ビット列を、ＰＡ処理部１２ａに渡す。
【０１０５】
＜ステップＳ１７＞
ＥＣ処理部２１は、古典通信路を介して、ＥＣ処理部１１と交換したＥＣ情報に基づいて、共有ビット列のビット誤りを訂正して、訂正後のビット列である訂正後ビット列を生成するＥＣ処理を実行する。このＥＣ処理部２１が生成した訂正後ビット列は、ＥＣ処理部１１が、共有ビット列を訂正して生成した訂正後ビット列と一致する。ＥＣ処理部２１は、生成した訂正後ビット列を、ＰＡ処理部２２ａに渡す。
【０１０６】
＜ステップＳ１８＞
制御部２７ａのパラメータ収集部２７０ａは、パラメータとして、検出パルス数Ｑ、エラー率Ｅ、ＥＣ効率ｆＥＣ、およびストレージ空き容量Ｓを収集する。ここで、検出パルス数Ｑとは、量子鍵共有部１０が生成し、量子鍵共有部２０に送信した光子ビット列のビット数である。したがって、上述のように、共有ビット列の長さは、量子鍵共有部１０および量子鍵共有部２０がランダムに発生させた基底情報に基づいて定まるので、統計上、光子ビット列の略１／２の長さ、すなわち、（１／２）Ｑとなる。
【０１０７】
また、エラー率Ｅとは、量子鍵共有部１０および量子鍵共有部２０によるシフティング処理後の共有ビット列のうち誤りと推定されるビット数の割合である。ＥＣ効率ｆＥＣとは、ＥＣ処理の方式およびエラー率Ｅによって定まり、ＥＣ処理に伴う古典通信路を介したＥＣ情報の送受信回数に基づいて定まる値である。すなわち、古典通信路を介したＥＣ情報の送受信回数が多いほど、盗聴されやすくなるので、削除しなければならないビット数が多くなりＥＣ効率が低くなり、値としては大きくなる。
【０１０８】
また、ストレージ空き容量Ｓとは、ストレージ１６、２６の空き容量に基づく値である。例えば、ストレージ空き容量Ｓは、ストレージ１６とストレージ２６との平均の空き容量としてもよく、ストレージ１６とストレージ２６のうち空き容量が小さい方の容量としてもよい。
【０１０９】
ここで、例えば、情報理論によって暗号通信の安全性を証明している公知のＳｈｏｒｅ  ａｎｄ  Ｐｒｅｓｋｉｌｌ  ｓｅｃｕｒｉｔｙ  ｐｒｏｏｆによれば、暗号鍵の長さＲｓｅｃｕｒｅは、上述の検出パルス数Ｑ、エラー率ＥおよびＥＣ効率ｆＥＣのパラメータを用いて、下記の式（１）によって表される。
【数１】
2015154342.tif 000003
【０１１０】
式（１）中のＨ２（Ｅ）は、図８に示すようなエラー率Ｅの関数である２値エントロピー関数である。
【０１１１】
本実施形態においては、制御部２７ａの鍵長さ算出部２７１ａは、検出パルス数Ｑ、エラー率ＥおよびＥＣ効率ｆＥＣに加えて、例えば、上述のストレージ空き容量Ｓを考慮して、下記の式（２）によって、暗号鍵の長さｓを算出する。
【数２】
2015154342.tif 000004
【０１１２】
上述の式（１）によって算出され、暗号通信の安全性が証明される暗号鍵の長さよりも小さくする方向での変更は、証明に影響を与えない。すなわち、証明される暗号通信の安全性の強度が悪化することはない。したがって、上述の式（２）においては、ストレージ空き容量項ｆ’（Ｓ）は、０〜１の範囲の値をとるので、算出される暗号鍵の長さｓは、式（１）で算出される暗号鍵の長さＲｓｅｃｕｒｅよりも小さくなるので、暗号通信の安全性の強度が悪化することはない。なお、式（２）中の値Ｓ０は、ストレージ空き容量項ｆ’（Ｓ）の値を決定するための所定値である。
【０１１３】
なお、上述のストレージ空き容量Ｓをパラメータに加えて、暗号鍵の長さｓを算出するものとしたが、これに限定されるものではない。鍵長さ算出部２７１ａは、例えば、ストレージ空き容量Ｓの他、第１の実施形態で上述した（ｉ）〜（ｉｖ）または（ｖｉ）のパラメータのいずれかに基づいて、暗号鍵の長さｓを算出してもよい。
【０１１４】
制御部２７ａは、後述するように、鍵長さ算出部２７１ａにより算出された暗号鍵の長さｓの情報をＰＡ情報の一つとして、古典通信路を介して、制御部１７ａに送信する。また、制御部２７ａは、暗号鍵の長さｓの情報をＰＡ情報の一つとして、ＰＡ処理部２２ａに渡す。
【０１１５】
制御部１７ａは、暗号鍵の抑制動作として、古典通信路を介して、制御部２７ａから暗号鍵の長さｓの情報をＰＡ情報の一つとして受信し、ＰＡ処理部１２ａに渡す。
【０１１６】
ＰＡ処理部２２ａは、制御部２７ａから、後述する鍵長さ算出部２７１ａによって算出された暗号鍵の長さｓの情報をＰＡ情報として受け取る。また、ＰＡ処理部２２ａは、ハッシュ関数を生成するため乱数を生成し、ＰＡ処理部１２ａに対して、古典通信路を介して、発生した乱数の情報をＰＡ情報として送信する。
【０１１７】
ＰＡ処理部１２ａは、制御部１７ａから、鍵長さ算出部２７１ａによって算出された暗号鍵の長さｓの情報をＰＡ情報として受け取り、ＰＡ処理部２２ａから、古典通信路を介して、乱数の情報をＰＡ情報として受信する。
【０１１８】
＜ステップＳ１９＞
ＰＡ処理部１２ａは、受信したＰＡ情報に基づいて、訂正後ビット列に対して、量子鍵共有部１０およびＥＣ処理部１１の処理の際に盗聴者により盗聴された可能性のあるビットを打ち消すための鍵圧縮処理（秘匿性増強処理、ＰＡ処理）を行う。具体的には、ＰＡ処理部１２ａは、図５に示すように、ＥＣ処理部１１により生成された訂正後ビット列の長さｎと、ＰＡ情報に含まれる乱数と、暗号鍵の長さｓとからｎ×ｓの行列であるハッシュ関数を生成する。そして、ＰＡ処理部１２ａは、訂正後ビット列にハッシュ関数を乗じることによって、長さｓの暗号鍵（鍵ビット列）を生成する。そして、ＰＡ処理部１２ａは、生成した暗号鍵を、鍵管理部１４に渡す。
【０１１９】
＜ステップＳ２０＞
ＰＡ処理部２２ａは、ＰＡ情報に基づいて、訂正後ビット列に対して、量子鍵共有部２０およびＥＣ処理部２１の処理の際に盗聴者により盗聴された可能性のあるビットを打ち消すための鍵圧縮処理（秘匿性増強処理、ＰＡ処理）を行う。具体的には、ＰＡ処理部２２ａは、ＰＡ処理部１２ａと同様の方法で、暗号鍵（鍵ビット列）を生成する。そして、ＰＡ処理部２２ａは、生成した暗号鍵を、鍵管理部２４に渡す。
【０１２０】
＜ステップＳ２１およびＳ２２＞
第１の実施形態におけるステップＳ２１およびＳ２２と同様の処理である。
【０１２１】
以上のように、ＱＫＤ送信機１ｄおよびＱＫＤ受信機２ｄは、ＱＫＤ送信機１ｄおよびＱＫＤ受信機２ｄに関するパラメータに基づいて、抑制動作の抑制量を決定している。例えば、具体的には、ＱＫＤ送信機１ｄおよびＱＫＤ受信機２ｄに関するパラメータとして、検出パルス数Ｑ、エラー率Ｅ、ＥＣ効率ｆＥＣ、およびストレージ空き容量Ｓに基づいて上述の式（２）により、圧縮された暗号鍵の長さｓを算出している。これによって、ＱＫＤ送信機１ｄおよびＱＫＤ受信機２ｄは、好適な抑制量の抑制動作を行った状態で暗号鍵の生成を行うことができるので、暗号鍵を用いたアプリケーションによる暗号通信を正常に動作させつつ、暗号鍵を保存するストレージ１６、２６の空き容量を圧迫する事態を回避することができる。すなわち、量子鍵配送システム１００ｂにおけるＱＫＤ送信機１ｄおよびＱＫＤ受信機２ｄのリソースの消費を軽減することができる。
【０１２２】
図９は、ＱＫＤ装置のハードウェアの構成図である。図９を参照しながら上述の実施形態に係るＱＫＤ装置のハードウェア構成について説明する。
【０１２３】
本実施形態に係るＱＫＤ装置は、ＣＰＵ８０等の制御装置と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８２と、量子通信路における通信を行う第１通信Ｉ／Ｆ８３と、古典通信路における通信を行う第２通信Ｉ／Ｆ８４と、暗号鍵を保存するストレージである外部記憶装置８５と、各部を接続するバス８６を備えている。
【０１２４】
本実施形態に係るＱＫＤ装置で実行されるプログラムは、ＲＯＭ８１等に予め組み込まれて提供される。
【０１２５】
本実施形態に係るＱＫＤ装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【０１２６】
さらに、本実施形態に係るＱＫＤ装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態に係るＱＫＤ装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２７】
本実施形態に係るＱＫＤ装置で実行されるプログラムは、コンピュータを上述したＱＫＤ装置の各部（量子鍵共有部１０、ＥＣ処理部１１、ＰＡ処理部１２、鍵管理部１４、鍵提供部１５、制御部１７、量子鍵共有部２０、ＥＣ処理部２１、ＰＡ処理部２２、鍵管理部２４、鍵提供部２５および制御部２７）として機能させうる。このコンピュータは、ＣＰＵ８０がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【０１２８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、および変更を行うことができる。これらの実施形態およびその変形は、発明の範囲および要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２９】
１、１ａ〜１ｄ  ＱＫＤ送信機
２、２ａ、２ｄ  ＱＫＤ受信機
３  光ファイバケーブル
４  光学機器
１０  量子鍵共有部
１１  ＥＣ処理部
１２、１２ａ  ＰＡ処理部
１３  古典通信部
１４  鍵管理部
１５  鍵提供部
１６、１６ａ〜１６ｃ  ストレージ
１７、１７ａ  制御部
２０  量子鍵共有部
２１  ＥＣ処理部
２２、２２ａ  ＰＡ処理部
２３  古典通信部
２４  鍵管理部
２５  鍵提供部
２６、２６ａ  ストレージ
２７、２７ａ  制御部
５０ａ〜５０ｃ  ノード
６０ａ、６０ｂ、６１ａ、６１ｂ  アプリ
７０ａ、７０ｂ、７１ａ、７１ｂ  暗号鍵
８０  ＣＰＵ
８１  ＲＯＭ
８２  ＲＡＭ
８３  第１通信Ｉ／Ｆ
８４  第２通信Ｉ／Ｆ
８５  外部記憶装置
８６  バス
１００、１００ａ、１００ｂ  量子鍵配送システム
２００  鍵共有ネットワーク
２０１ａ、２０１ｂ  プライベートネットワーク
２０２  暗号データ通信ネットワーク
２７０ａ  パラメータ収集部
２７１ａ  鍵長さ算出部
５００〜５０２、５００ａ〜５０３ａ、５０３ｃ  アプリケーション
６００ａ〜６００ｃ  暗号鍵
【図１】
2015154342.tif 000005
【図２】
2015154342.tif 000006
【図３】
2015154342.tif 000007
【図４】
2015154342.tif 000008
【図５】
2015154342.tif 000009
【図６】
2015154342.tif 000010
【図７】
2015154342.tif 000011
【図８】
2015154342.tif 000012
【図９】
2015154342.tif 000013