(57)【要約】  本明細書に記述する一実施形態は、第１及び第２のクライアント機器の各々で動作する第１及び第２のアプリケーションの間で量子鍵を配送するシステム及び方法を提供する。動作中、第１のクライアント機器で動作する第１のアプリケーションは、第１の鍵要求を、第１の量子鍵の組を管理する第１の量子鍵管理（ＱＫＭ）モジュールに送信すること、第２のクライアント機器で動作する第２のアプリケーションに通知を送信することであって、前記通知は、第２の量子鍵の組を管理する第２のＱＫＭモジュールに第２の鍵要求を送信するよう、第２のアプリケーションを促す通知であることを行うことができる。第１のアプリケーションは、第２のアプリケーションが第２の鍵要求に基づいて第２の量子鍵を受信するとの第１のＱＫＭモジュールによる判定に応答して、第１のＱＫＭモジュールから、第１の鍵要求に基づいて第１の量子鍵を受信することができる。
2021503204.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２のクライアント機器の各々で動作する第１及び第２のアプリケーションの間で量子鍵を配送するコンピュータ実施方法であって、
前記第１のクライアント機器で動作する前記第１のアプリケーションにより、第１の鍵要求を、第１の量子鍵の組を管理する第１の量子鍵管理（ＱＫＭ）モジュールに送信すること、
前記第１のアプリケーションにより、前記第２のクライアント機器で動作する前記第２のアプリケーションに通知を送信することであって、前記通知は、第２の量子鍵の組を管理する第２のＱＫＭモジュールに第２の鍵要求を送信するよう、前記第２のアプリケーションを促す通知であること、及び
前記第２のアプリケーションが前記第２の鍵要求に基づいて第２の量子鍵を受信することを前記第１のＱＫＭモジュールが判定したことに応答して、前記第１のＱＫＭモジュールから、前記第１の鍵要求に基づいて第１の量子鍵を受信することを含む方法。
【請求項２】
前記第１の鍵要求が、前記第１の量子鍵に関連付けられたパラメータを含み、前記第１の量子鍵に関連付けられたパラメータが、前記第１の量子鍵に関連付けられた長さ又はシーケンス番号を含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記通知が、前記第１の量子鍵に関連付けられた前記パラメータを含む、請求項２に記載のコンピュータ実施方法。
【請求項４】
前記第１の量子鍵管理（ＱＫＭ）モジュールにより、前記第１の量子鍵に関連付けられた前記パラメータに基づいて、前記第１の量子鍵の組内で参照動作を実行すること、
前記第１の量子鍵の組が前記第１の量子鍵を含むとの判定に応答して、前記第１の量子鍵を取得すること、及び
前記第１の量子鍵の組が前記第１の量子鍵を含まないとの判定に応答して、前記第１のアプリケーションに失敗メッセージを返信することを更に含む、請求項２に記載のコンピュータ実施方法。
【請求項５】
前記第１の鍵要求が、前記第２のＱＫＭモジュールに関連付けられた装置識別子を含み、前記方法が更に、
前記第１のＱＫＭモジュールにより、前記装置識別子に基づいて前記第２のＱＫＭモジュールを識別すること、及び
前記第１のＱＫＭモジュールにより、前記第２のＱＫＭモジュールに第１の鍵同期メッセージを送信することを含み、前記第１の鍵同期メッセージが、前記第１の量子鍵が利用可能であることを示す、請求項１に記載のコンピュータ実施方法。
【請求項６】
前記第１の鍵同期メッセージが、前記第１の量子鍵に関連付けられたパラメータを含む、請求項５に記載のコンピュータ実施方法。
【請求項７】
前記第２のクライアント機器が第２の量子鍵を受信するとの判定が、前記第２のＱＫＭモジュールから第２の鍵同期メッセージを受信することを含む、請求項１に記載のコンピュータ実施方法。
【請求項８】
前記第２の鍵同期メッセージが、前記第２の量子鍵に関連付けられたパラメータを含む、請求項７に記載のコンピュータ実施方法。
【請求項９】
前記第１の量子鍵の組及び第２の量子鍵の組が量子鍵配送処理を介して取得され、前記第１の量子鍵及び第２の量子鍵が対称暗号鍵である、請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記第１のクライアント機器で動作する前記第１のアプリケーションにより、前記第１の量子鍵を用いて暗号鍵を更新すること、及び
前記第２のクライアント機器で動作する前記第２のアプリケーションにより、前記第２の量子鍵を用いて暗号鍵を更新することをさらに含み、これにより前記第１及び第２のアプリケーションの間で安全な通信チャネルを確立する、請求項１に記載のコンピュータ実施方法。
【請求項１１】
プロセッサと、
前記プロセッサに結合され、前記プロセッサにより実行された場合に前記プロセッサに、第１及び第２のクライアント機器の各々で動作する第１及び第２のアプリケーションの間で量子鍵を配送する方法を実行させる命令を保存する記憶装置とを含むコンピューティングシステムであって、前記方法が、
前記第１のクライアント機器で動作する前記第１のアプリケーションにより、第１の鍵要求を、第１の量子鍵の組を管理する第１の量子鍵管理（ＱＫＭ）モジュールに送信すること、
前記第１のアプリケーションにより、前記第２のクライアント機器で動作する前記第２のアプリケーションに通知を送信することであって、、前記通知は、第２の量子鍵の組を管理する第２のＱＫＭモジュールに第２の鍵要求を送信するよう、前記第２のアプリケーションを促す通知であること、及び
前記第２のクライアント機器が前記第２の鍵要求に基づいて第２の量子鍵を受信することを前記第１のＱＫＭモジュールが判定したことに応答して、前記第１のＱＫＭモジュールから、前記第１の鍵要求に基づいて第１の量子鍵を受信することを含む、コンピューティングシステム。
【請求項１２】
前記第１の鍵要求が、前記第１の量子鍵に関連付けられたパラメータを含み、前記方法が更に、
前記第１の量子鍵管理（ＱＫＭ）モジュールにより、前記第１の量子鍵に関連付けられた前記パラメータに基づいて、前記第１の量子鍵の組内で参照動作を実行すること、
前記第１の量子鍵の組が前記第１の量子鍵を含むとの判定に応答して、前記第１の量子鍵を取得すること、及び
前記第１の量子鍵の組が前記第１の量子鍵を含まないとの判定に応答して、前記第１のアプリケーションに失敗メッセージを返信することを含む、請求項１１に記載のコンピューティングシステム。
【請求項１３】
前記第１の鍵要求が、前記第２のＱＫＭモジュールに関連付けられた装置識別子を含み、前記方法が更に、
前記第１のＱＫＭモジュールにより、前記装置識別子に基づいて前記第２のＱＫＭモジュールを識別すること、及び
前記第１のＱＫＭモジュールにより、前記第２のＱＫＭモジュールに第１の鍵同期メッセージを送信することを含み、前記第１の鍵同期メッセージが、前記第１の量子鍵に関連付けられたパラメータを含み、前記第１の鍵同期メッセージが、前記第１の量子鍵が利用可能であることを示す、請求項１１に記載のコンピューティングシステム。
【請求項１４】
前記第２のクライアント機器が第２の量子鍵を受信するとの判定が、前記第２のＱＫＭモジュールから第２の鍵同期メッセージを受信することを含み、前記第２の鍵同期メッセージが、前記第２の量子鍵に関連付けられたパラメータを含む、請求項１１に記載のコンピューティングシステム。
【請求項１５】
前記第１の量子鍵の組及び第２の量子鍵の組が量子鍵配送処理を介して取得され、前記第１の量子鍵及び第２の量子鍵が対称暗号鍵である、請求項１１に記載のコンピューティングシステム。
【請求項１６】
前記方法が更に、
前記第１のクライアント機器で動作する前記第１のアプリケーションにより、前記第１の量子鍵を用いて暗号鍵を更新すること、及び
前記第２のクライアント機器で動作する前記第２のアプリケーションにより、前記第２の量子鍵を用いて暗号鍵を更新することを含み、これにより前記第１及び第２のアプリケーションの間で安全な通信チャネルを確立する、請求項１１に記載のコンピューティングシステム。
【請求項１７】
プロセッサと、
前記プロセッサに結合され、前記プロセッサにより実行された場合に前記プロセッサに、第１及び第２のクライアント機器の各々で動作する第１及び第２のアプリケーションの間で量子鍵を配送する方法を実行させる命令を保存する記憶装置とを含むコンピューティングシステムであって、前記方法が、
前記第２のクライアント機器で動作する前記第２のアプリケーションにより、前記第１のクライアント機器で動作する前記第１のアプリケーションから鍵要求通知を受信することであって、前記鍵要求通知は、前記第１のアプリケーションが、第１の量子鍵の組を管理する第１の量子鍵管理（ＱＫＭ）モジュールに第１の量子鍵を求める要求を送信したことを示すこと、
前記第２のアプリケーションにより、第２の量子鍵を求める要求を、第２の量子鍵の組を管理する第２のＱＫＭモジュールに送信すること、
前記第２のＱＫＭモジュールが前記第１のＱＫＭモジュールから第１の鍵同期メッセージを受信することに応答して、前記第２のＱＫＭモジュールから前記第２の量子鍵を受信すること、及び
前記第２のＱＫＭモジュールにより、前記第１のＱＫＭモジュールに第２の鍵同期メッセージを送信し、それにより、前記第１の量子鍵を前記第１のアプリケーションに返送するよう、前記第１のＱＫＭモジュールを促すこと
を含む、コンピューティングシステム。
【請求項１８】
前記第１の鍵同期メッセージが、前記第１の量子鍵に関連付けられたパラメータを含み、前記方法が更に、
前記第２のＱＫＭモジュールにより、前記第１の量子鍵に関連付けられた前記パラメータに基づいて、前記第２の量子鍵の組内で参照動作を実行すること、
前記第２の量子鍵の組が前記第２の量子鍵を含むとの判定に応答して、前記第２の量子鍵を取得すること、及び
前記第２の量子鍵の組が前記第１の量子鍵を含まないとの判定に応答して、前記第２のアプリケーションに失敗メッセージを返信すること
を含む、請求項１７に記載のコンピューティングシステム。
【請求項１９】
前記第２の鍵同期メッセージが、前記第２の量子鍵に関連付けられた情報を含む、請求項１７に記載のコンピューティングシステム。
【請求項２０】
前記第１の量子鍵の組及び第２の量子鍵の組が量子鍵配送処理を介して取得され、前記第１の量子鍵及び第２の量子鍵が対称暗号鍵である、請求項１７に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
分野
[0001]  本開示は一般に量子通信に関する。より具体的には、本開示は量子鍵配送及びデータ処理のシステム及び方法に関する。
【背景技術】
【０００２】
関連技術
[0002]  近年、量子通信、より具体的には量子暗号に関する研究成果が著しく発展している。最初のベネット−ブラッサール８４（ＢＢ８４）量子鍵配送（ＱＫＤ）プロトコルに加え、ＳＡＲＧ０４（ＢＢ８４から導かれた）、微分位相シフト（ＤＰＳ）、コヒーレントワンウェイ（ＣＯＷ）等、多くのＱＫＤプロトコルがＱＫＤ処理の効率を上げるべく開発されてきた。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0003]  量子通信は、量子状態（キュービットとも称する）の情報の符号化を含む。より具体的には、量子状態（又はキュービット）は、安全な通信チャネルの両端での暗号鍵の生成及び安全な配送を可能にするために、量子チャネルで送信することができる。量子鍵とも称されるこれらの暗号鍵は従って、安全なチャネルの２個の終端ノードの間で交換される情報の安全性を保証することができる。現在の方式において、量子鍵を生成する装置及びデータ暗号化／復号化用の装置は多くの場合単一の機器に一体化されているため、量子暗号機器の利用に柔軟性を欠く傾向にある。暗号化／復号化操作を必要とする多くのアプリケーションが存在し、多くの異なるプロトコル（例：暗号プロトコル）が含まれ得る。異なる暗号化／復号化アプリケーションは、異なる種類の暗号化／復号化装置を必要とする場合がある。各アプリケーション専用の装置を設計するのはユーザーに極めて重いコスト負担を強いる恐れがある。
【課題を解決するための手段】
【０００４】
概要
[0004]  本明細書に記述する一実施形態は、第１及び第２のクライアント機器の各々で動作する第１及び第２のアプリケーションの間で量子鍵を配送するシステム及び方法を提供する。動作中、第１のクライアント機器で動作する第１のアプリケーションは、第１の鍵要求を、第１の量子鍵の組を管理する第１の量子鍵管理（ＱＫＭ）モジュールに送信して、第２のクライアント機器で動作する第２のアプリケーションに通知を送信することができ、当該通知は、第２の量子鍵の組を管理する第２のＱＫＭモジュールに第２の鍵要求を送信するよう、第２のアプリケーションを促す通知である。第１のアプリケーションは、第２のアプリケーションが第２の鍵要求に基づいて第２の量子鍵を受信するとの第１のＱＫＭモジュールによる判定に応答して、第１のＱＫＭモジュールから、第１の鍵要求に基づいて第１の量子鍵を受信することができる。
【０００５】
[0005]  本実施形態の一変型例において、第１の鍵要求は、第１の量子鍵に関連付けられたパラメータを含んでいてよく、第１の量子鍵に関連付けられたパラメータは、第１の量子鍵に関連付けられた長さ又はシーケンス番号を含んでいてよい。
【０００６】
[0006]  更なる変型例において、当該通知は、第１の量子鍵に関連付けられたパラメータを含んでいてよい。
【０００７】
[0007]  更なる変型例において、第１のＱＫＭモジュールは、第１の量子鍵に関連付けられたパラメータに基づいて、第１の量子鍵の組内で参照動作を実行することができる。第１の量子鍵の組が第１の量子鍵を含むとの判定に応答して、第１のＱＫＭモジュールは第１の量子鍵を取得することができ、第１の量子鍵の組が第１の量子鍵を含まないとの判定に応答して、第１のＱＫＭモジュールは、第１のアプリケーションに失敗メッセージを返信することができる。
【０００８】
[0008]  本実施形態の一変型例において、第１の鍵要求は、第２のＱＫＭモジュールに関連付けられた装置識別子を含んでいてよい。第１のＱＫＭモジュールは、装置識別子に基づいて第２のＱＫＭモジュールを識別して、第２のＱＫＭモジュールに第１の鍵同期メッセージを送信することができる。第１の鍵同期メッセージは、第１の量子鍵が利用可能であることを示す。
【０００９】
[0009]  更なる変型例において、第１の鍵同期メッセージは、第１の量子鍵に関連付けられたパラメータを含む。
【００１０】
[0010]  本実施形態の一変型例において、第２のクライアント機器が第２の量子鍵を受信したとの判定は、第２のＱＫＭモジュールから第２の鍵同期メッセージを受信することを含んでいてよい。
【００１１】
[0011]  更なる変型例において、第２の鍵同期メッセージは、第２の量子鍵に関連付けられたパラメータを含む。
【００１２】
[0012]  本実施形態の一変型例において、第１の量子鍵及び第２の量子鍵の組は量子鍵配送処理を介して取得され、第１の量子鍵及び第２の量子鍵は対称暗号鍵である。
【００１３】
[0013]  本実施形態の一変型例において、第１のクライアント機器で動作する第１のアプリケーションは、第１の量子鍵を用いて暗号鍵を更新することができ、第２のクライアント機器で動作する第２のアプリケーションは、第２の量子鍵を用いて暗号鍵を更新することができるため、第１及び第２のアプリケーション間で安全な通信チャネルが確立される。
【図面の簡単な説明】
【００１４】
図面の簡単な説明
【図１】[0014]従来の量子鍵配送（ＱＫＤ）システム（従来技術）を示す。
【図２】[0015]一実施形態による、ＱＫＤシステムの例示的な階層構造を説明する図を示す。
【図３】[0016]一実施形態による、例示的なシステム初期化処理を示す。
【図４】[0017]一実施形態による、量子鍵を取得するアプリケーションの例示的な処理を説明する時空間図を示す。
【図５】[0018]一実施形態による、クライアント機器の例示的なアーキテクチャを説明する図を示す。
【図６】[0019]一実施形態による、量子鍵管理（ＱＫＭ）モジュールの例示的なアーキテクチャを説明する図を示す。
【図７】[0020]一実施形態による、例示的な量子鍵配送の起動処理を説明するフロー図を示す。
【図８】[0021]一実施形態による、例示的な量子鍵配送の後続処理を説明するフロー図を示す。
【図９】[0022]本明細書に記述するいくつかの実施形態による、開示する量子鍵配送技術を実装する例示的なクライアント−サーバネットワーク環境を示す。
【図１０】[0023]主題である技術のいくつかの方式を実装した電子システムを示す。
【発明を実施するための形態】
【００１５】
[0024]  各図において、同一参照番号は同一要素を指す。
【００１６】
詳細な説明
[0025]  以下の説明は、当業者ならば誰でも本実施形態を製作及び使用できるように提示し、特定の用途及びその要件を前提に提供するものである。開示する実施形態に対する各種の変更は当業者には直ちに了解され、且つ本明細書で規定する一般的原理は、本開示の趣旨及び範囲から逸脱することなく他の実施形態及び用途に適用できよう。従って、本発明は図示する実施形態に限定されず、本明細書で開示する原理及び特徴と整合する最も広い範囲を包含するものである。
【００１７】
概観
[0026]  本発明の実施形態は、量子鍵の安全且つ効率な配送を行うための方法及びシステムを提供する。より具体的には、本発明の実施形態において、量子鍵の生成及び管理並びに暗号化／復号化動作は互いに独立した別々のモジュールにより実行することができる。これらのモジュール同士の結合を容易にすべく標準インターフェース及びプロトコルを開発することができる。一実施形態において、ＱＫＤシステムは、それらの機能性の観点から階層構造を形成する３個の独立モジュール（例：量子エンジン、鍵管理プラットフォーム、及び暗号アプリケーションモジュール）を含んでいてよい。量子鍵の配送に先立ち、クライアント機器は、対応する鍵管理プラットフォームとの安全な接続を確立することができる。１個のクライアント機器で動作する暗号アプリケーションは、別のクライアント機器で動作する量子鍵配送処理に続いて対応暗号アプリケーションを初期化することができる。各アプリケーションは、対応する鍵管理プラットフォームから量子鍵を受信して、受信した量子鍵を用いてデータを暗号化／復号化することができる。鍵管理プラットフォームはまた互いに通信して、２個のクライアント機器に送信された量子鍵同士の同期化を保証することができる。
【００１８】
量子鍵配送の原理
[0027]  量子物理学によれば、微視的世界の物理量は連続的に変化することができず、特定の離散値をとり、２個の隣接する離散値の差を「量子」と称し、例えば光子は光の単一量子である。
【００１９】
[0028]  古典力学の法則が適用できる従来の通信において、デジタル情報はビットとして表すことができ、各ビットは二つの状態、例えば「０」及び「１」、又は「高」及び「低」電圧をとることができる。対照的に、古典力学の法則が適用できない量子通信では、情報は典型的に、量子情報の単位である量子ビット（キュービット）として表される。
各キュービットは二つの基底状態すなわち｜０＞又は＜−＞、及び｜１＞又は
【数１】
2021503204.tif 000003
をとることができる。この場合、二つの量子状態｜０＞及び｜１＞は、量子状態基底を形成し、これらを｛｜０＞，｜１＞｝と表すことができる。
【００２０】
[0029]  更に、量子量はまた、各々係数α、βを用いた２個の基底の重ね合わせにより得られる混合状態となることができる。例えば、量子基底｛｜０＞，｜１＞｝を用いたならば、混合状態は次式で表すことができる。
｜φ＞＝α｜０＞＋β｜１＞
例えば、混合量子状態基底｛｜＋＞，｜−＞｝は、次式を用いて基底量子状態｜０＞／＜−＞、及び
【数２】
2021503204.tif 000004
を重ね合わせることにより、生成することができる。
【数３】
2021503204.tif 000005
量子状態表現の上の２個の基底において、状態｜０＞及び｜１＞が互いに直交し、状態｜＋＞及び｜−＞が互いに直交している点に注意されたい。
【００２１】
[0030]  量子力学において、「測定基準」とも称する上述の量子状態を用いて所与の力学量を測定することができる。例えば、各々の力学量は、エルミート演算子（又はエルミート行列）により表することができる。このような力学量を測定する場合、測定結果はこの力学量のエルミート演算子の固有値（又は「特性値」）に対応する。測定後、測定されていた量子状態は、取得された固有値に対応する固有状態（又は「固有ベクトル」）に収縮する。表１に、本明細書に記載の一実施形態による、２組の異なる量子状態を使用することに基づく例示的な２つの力学量測定方式を示す。
【００２２】
【表１】
2021503204.tif 000006
【００２３】
[0031]  例えば、量子状態基底｛｜０＞，｜１＞｝を用いて量子状態｜φ＞＝α｜０＞＋β｜１＞（但し｜α｜２＋｜β｜２＝１）を測定する場合、確率｜α｜２で測定値１が得られて、測定後に量子状態が｜０＞に収縮し、確率｜β｜２で測定値−１が得られて、測定後に量子状態が｜１＞に収縮する。
【００２４】
[0032]  別の例として、量子状態基底｛｜０＞，｜１＞｝を用いて量子状態｜０＞を測定する場合、確率１で状態｜０＞が得られる。同様に、量子状態基底｛｜＋＞，｜−＞｝を用いて量子状態｜＋＞を測定する場合、確率１で状態｜＋＞が得られる。
【００２５】
[0033]  更に、量子状態基底｛｜０＞，｜１＞｝を用いて量子状態｜＋＞を測定する場合、状態｜０＞又は状態｜１＞のいずれかが無作為に得られる。同様に、量子状態基底｛｜＋＞，｜−＞｝を用いて状態｜０＞を測定する場合、状態｜＋＞又は状態｜−＞のいずれかが無作為に得られる。
【００２６】
[0034]  ベネット−ブラッサール８４（ＢＢ８４）は、広く普及している量子鍵配送プロトコルである。ＢＢ８４は、単一光子の偏光状態を用いて情報を送信する。通常使用する偏光状態ペアは、垂直（０°）及び水平（９０°）の直交基底、４５°及び１３５°の対角基底、又は左手及び右手系の円形基底である。これらの基底の任意の二つが互いに共役であるため、任意の二つをプロトコルで用いることができる。ＢＢ８４スキームにおいて、送信者アリスは、受信者ボブに秘密鍵（例：無作為な文字列）を送信したいと思う。アリスは、ランダムビットの生成から始めて、２個の量子基底から無作為に量子基底を選択してバイナリビットを符号化する。アリスは次いで、量子チャネルを用いてボブに指定された状態で単一の光子を送信する。この処理は次いでランダムビット段階から繰り返され、送信された各々の光子の状態、基底及び時間をアリスが記録していく。光子を受信したならば、ボブは無作為に選択された基底を用いて測定を実行する。ボブは受信した各々の光子についてこれを行いながら、時間、使用した測定基準、及び測定結果を記録していく。ボブが全ての光子を測定した後で、公開された古典的チャネルを介してアリスと通信する。アリスは各光子を送信した基底をブロードキャストし、ボブは各光子を測定した基底をブロードキャストする。ボブが異なる基底を使用した光子測定（ビット）を両者が破棄し、それらは平均して半数であり、ビットの半数を共有鍵として残す。
【００２７】
[0035]  盗聴者イブの存在を調べるため、アリスとボブは自身の残留ビット列の所定のサブセットを比較することができる。第三者が光子の偏光に関する情報を取得した場合、ボブの測定にエラーをもたらす。他の環境条件により同様なエラーが生じる可能性がある。ビット誤り率が所定の閾値より低い場合、誤り訂正技術を用いてエラーを訂正することができ、プライバシー増幅を用いて鍵の長さを短縮することと引き換えに、鍵に関するイブの知識を任意の少ない量に減らすことができる。ビット誤り率が所定の閾値より大きい場合、鍵のセキュリティが保証できないため、アリスとボブは鍵を破棄し、場合により異なる量子チャネルで再試行する。
【００２８】
モジュール化ＱＫＤシステム
[0036]  鍵配送をＱＫＤスキームに依存する従来の安全な通信方式は多くの場合、量子鍵の生成と情報の暗号化の両方に単一の装置又はモジュールを用いる。図１に、従来の量子鍵配送（ＱＫＤ）システム（従来技術）を示す。図１において、ＱＫＤシステム１００は、送信者（「アリス」）１０２、受信者（「ボブ」）１０４、量子チャネル１０６、及び古典的チャネル１０８を含んでいてよい。量子チャネル１０６は、典型的には単一光子により担持された量子状態を保存することができる。例えば、量子チャネル１０６は、光ファイバまたは直接見通しできる自由空間経路を含んでいてよい。古典的チャネル１０８は、従来のネットワーク化された接続を含んでいてよい。
【００２９】
[0037]  図１において、送信器１０２は単一光子源１１０及び暗号化器１１２を含んでいてよく、受信器１０４は量子状態検知器１１４及び暗号化器１１６を含んでいてよい。送信器１０２は、単一光子源１１０が生成した符号化された単一光子（すなわちキュービット）を、量子チャネル１０６を介して受信器１０４の量子状態検知器１１４に送信することができる。送信器１０２と受信器１０４との間での符号化された単一光子の交換はＢＢ８４又は他の種類のＱＫＤプロトコルに従っていてよい。共有量子鍵は、次いで暗号化器１１２、１１６に送信されて、古典的チャネル１０８を介して送信器１０２と受信器１０４との間の安全なデータ通信を可能にすることができる。新たな鍵が必要な都度（例：古い鍵が期限切れになったとき）、送信器１０２は、符号化された単一光子の新たな組を受信器１０４に送信することができる。
【００３０】
[0038]  図１に示す例において、単一光子源１１０と暗号化器１１２は単一の装置又はモジュールに一体化することができ、量子状態検知器１１４と暗号化器１１６は単一の装置又はモジュールに一体化することができる。他のシナリオでは、単一光子源１１０と暗号化器１１２は、別々の装置として実装できるが、同一箇所（例：物理筐体内）に配置され、有線接続を介して互いに直接接続することができる。同様に、量子状態検知器１１４と暗号化器１１６はまた、同一箇所にある別々の装置として実装できる。この一体化方式は、異なる暗号化プロトコルが望ましい状況では特にユーザーにとり不便且つ高価になり得る。柔軟性を高め且つコストを下げるために、本発明の複数の実施形態は、量子鍵の生成とデータの暗号化を分離できるようにモジュール化された配送方式法を用いる。
【００３１】
[0039]  いくつかの実施形態において、ＱＫＤシステムの各種のＱＫＤ機能（例：量子鍵の生成及び交換、量子鍵の管理、及びデータ暗号化／復号化）は、３個の階層に分割でき、互いに独立に動作する別々のモジュールにより実行することができる。階層化プロトコルは、二つの通信関係者（例：送信者と受信者）の間で交換される情報が各層に残る（すなわち、階層を跨る情報交換が無い）状態で実装できる。換言すれば、１個の通信関係者の各モジュールは、他の通信関係者の同一階層の対応モジュールだけと情報を交換する。階層を跨る受け渡しが必要な情報は、同一通信関係者に関連付けられたモジュール間で垂直に交換することができる。
【００３２】
[0040]  図２に、一実施形態による、ＱＫＤシステムの例示的な階層構造を説明する図を示す。ＱＫＤシステム２００は、送信側２０２及び受信側２０４を含んでいてよい。各々の側は、３個の積み重ねられた層に分割することができる。より具体的には、上から下に、３個の層は、アプリケーション層２１０、鍵管理層２２０、及び鍵生成層２３０である。送信側２０２は、互いに独立に動作する多くのモジュールを含んでいてよい。例えば、送信側２０２には、暗号アプリケーションモジュール２１２、鍵管理プラットフォーム２２２、及び量子エンジン２３２が備えられている。鍵管理プラットフォーム２２２はまた、鍵プール２２６を含んでいてよい。同様に、受信側２０４には、暗号アプリケーションモジュール２１４、鍵管理プラットフォーム２２４及び量子エンジン２３４が備えられている。鍵管理プラットフォーム２２４はまた、鍵プール２２８を含んでいてよい。
【００３３】
[0041]  量子エンジン（例：量子エンジン２３２、２３４）は、単一光子の送受信、乱数の生成、初期量子鍵の選択、誤り訂正、プライバシー増幅、セキュリティ証明等を含む各種の機能を実行することにより、量子鍵交渉を実現する役割を果たす。より具体的には、量子エンジン２３２、２３４は、量子チャネル２４２を介して通信を行い、所定の暗号プロトコルに従い安全な量子鍵を生成し、生成された量子鍵を、対応する鍵管理プラットフォームに送信することができる。量子エンジン２３２は生成された量子鍵を鍵管理プラットフォーム２２２に送信し、鍵管理プラットフォーム２２２は次いで受信した量子鍵を鍵プール２２６に保存し、量子エンジン２３４は生成された量子鍵を鍵管理プラットフォーム２２４に送信し、鍵管理プラットフォーム２２４は次いで量子鍵を鍵プール２２８に保存する。
【００３４】
[0042]  鍵管理プラットフォーム（例：鍵管理プラットフォーム２２２、２２４）は、量子鍵を保存して管理する。また、暗号アプリケーションモジュールからの鍵要求に応答することができる。例えば、暗号アプリケーションモジュール２１２は鍵管理プラットフォーム２２２に対し暗号化ｋｅｙを要求することができ、暗号アプリケーションモジュール２１４は鍵管理プラットフォーム２２４に対し暗号化ｋｅｙを要求することができる。送信側２０２及び受信側２０４の鍵管理プラットフォームは、古典的チャネル２４４を介して互いに通信することができる。
【００３５】
[0043]  暗号アプリケーションモジュール２１２、２１４は、鍵管理プラットフォーム２２２、２２４の各々から暗号鍵を取得し、次いで取得した暗号鍵を用いて、古典的チャネルであり得る安全な通信チャネル２４６を確立することができる。
【００３６】
[0044]  上述のように、送信側２０２と受信側２０４の間で交換された情報は同一層に残るのに対し、複数の層に跨って交換される情報（例：鍵）は同一送信者又は受信者側のモジュール内で受け渡される。これらのモジュール内での情報の安全な受け渡しは、同一装置に配置されていれば容易に保証することができる。しかし、これらのモジュールが異なる装置に配置されている場合、情報の安全を保証するには特別な注意が必要である。更に、暗号アプリケーションモジュール２１２と２１４の間で厳密な鍵同期が必要である。本発明の実施形態は、量子鍵生成／配送とデータ暗号化／復号化処理との分離を可能にする量子鍵配送（ＱＫＤ）プロトコルを提供する。
【００３７】
[0045]  図３に、一実施形態による、例示的なシステム初期化処理を示す。図３において、クライアント機器（「アリス」）３０２は、量子鍵管理（ＱＫＭ）プラットフォーム３０６との安全な接続を確立すべく要求３０４を送信することができる。ＱＫＭプラットフォーム３０６は、ローカルサーバ又はサーバクラスタとして実装することができる。代替的に、ＱＫＭプラットフォーム３０６は、クラウドサーバ又はクラウドサーバクラスタとして実装することができる。ＱＫＭプラットフォーム３０６はスタンドアローン型であっても、又はクライアント機器３０２或いは量子鍵生成装置と一体化されていてもよい。ＱＫＭプラットフォーム３０６がクライアント機器３０２で動作する場合、ＱＫＭプラットフォーム３０６は、処理間通信（ＩＰＣ）機構を介してクライアント機器３０２で動作するアプリケーションとのインターフェースを提供することができる。ＱＫＭモジュール３０６が異なる装置で動作する場合、クライアント機器３０２で動作するアプリケーションは、ネットワーク接続（例：ＴＣＰデータ接続）を介してＱＫＭモジュール３０６とインタラクションすることができる。情報セキュリティを保証するために、クライアント機器３０２及びＱＫＭプラットフォーム３０６は同じ「安全な領域」３１０に置かれるように事前設定されており、これは、クライアント機器３０２とＱＫＭプラットフォーム３０６の間の通信が保護されていることを意味する。
【００３８】
[0046]  要求３０４の受信に応答して、ＱＫＭプラットフォーム３０６は、所定のセキュリティポリシーの組（例：静的セキュリティルールの組）に従いクライアント機器３０２を認証して、クライアント機器３０２に認証応答３０８を送信することができるため、クライアント機器３０２とＱＫＭプラットフォーム３０６との間で安全な接続が可能になる。同様に、クライアント機器３１２（「ボブ」）は、ＱＫＭプラットフォーム３１６に要求３１４を送信することができる。クライアント機器３１２及びＱＫＭプラットフォーム３１６は同じ「安全な領域」３２０に配置されるように事前設定されている。要求３１４の受信に応答して、ＱＫＭプラットフォーム３１６は、クライアント機器３１２を認証し、クライアント機器３１２に認証応答３１８を返送して、クライアント機器３１２とＱＫＭプラットフォーム３１６の間で安全な接続を確立することができる。これらの安全な接続により、クライアント機器で動作するアプリケーション（例：暗号アプリケーション）と、対応するＱＫＭプラットフォーム（例：クライアント機器３０２で動作するアプリケーション、及びＱＫＭプラットフォーム３０６）との間の通信のセキュリティが保証される。
【００３９】
[0047]  図４に、一実施形態による、量子鍵を取得するアプリケーションの例示的な処理を示すタイムスペース図を示す。実行中、クライアント機器（「アリス」）４０２で動作するアプリケーションが、予め確立された安全なリンクを介して量子鍵管理（ＱＫＭ）モジュール４０６に鍵要求４０４を送信する。鍵要求４０４は、要求する鍵の長さ、当該鍵を暗号化又は復号化のいずれに用いるかを含むがこれに限定されない、要求する鍵又は鍵ブロックに関連付けられた１個以上のパラメータを指定することができる。加えて、鍵要求４０４はまた、要求する鍵を用いて安全な通信チャネルを確立する他の通信関係者を指定することができる。本例では、他の通信関係者とは、クライアント機器（「ボブ」）４４０で動作するアプリケーションであり、鍵要求４０４はクライアント機器４４０を識別する装置識別子が含んでいてよい。
【００４０】
[0048]  鍵要求４０４の送信に加え、クライアント機器４０２は、対応する鍵管理モジュール（例：ＱＫＭモジュール４４２）に鍵要求を送信することを他の通信関係者（すなわちクライアント機器４４０）に通知する通知４０８を、当該他の通信関係者へほぼ同時に送信することができる。各ＱＫＭモジュールが所定の通信制限時間に従うタイマーを維持しているため、通知４０８は、他の通信関係者が自身の鍵要求を時間内に送信できるよう、鍵要求４０４と同時に又は直後に送信する必要がある。ＱＫＭモジュールに送信された鍵要求が制限時間を超過した場合、ＱＫＭモジュールは当該鍵要求を破棄して、他の通信関係者に失敗メッセージを送信する。例えば、通知４０８の受信に応答して、クライアント機器４４０は、ＱＫＭモジュール４４２に鍵要求４４４を送信することができ、ＱＫＭモジュール４４２は、鍵要求４４４が所定の制限時間経過後に受信されたか否かを判定する。制限時間を過ぎていれば、ＱＫＭモジュール４４２はクライアント機器４４０に失敗応答を送信することができる。ＱＫＭモジュール４４２はまた、ＱＫＭモジュール４０６に失敗応答を送信することができる。いくつかの実施形態において、通知４０８は、要求した鍵に関連付けられた情報を含んでいてよい。換言すれば、通知４０８は鍵要求４０４に含まれる鍵情報を含んでいてよい。代替的に、通知４０８は、要求した鍵に関連付けられた情報を含んでいない。
【００４１】
[0049]  鍵要求４０４の受信に応答して、ＱＫＭモジュール４０６は、自身の管理された鍵プール内で鍵参照を実行して、要求された長さを有する鍵が利用可能であるか否かを判定することができる（動作４１０）。上述のように、管理された鍵プールは複数の量子鍵（例：公知の量子鍵生成スキーム（例：ＢＢ８４）を用いて生成した暗号化／復号化鍵）を保存することに留意したい。鍵プール内にそのような鍵が存在しない場合、ＱＫＭモジュール４０６は、クライアント機器４０２に鍵が無い旨の応答を返送することができる（動作４１２）。要求された長さを満たす鍵が鍵プール内で発見されたならば、ＱＫＭモジュール４０６は、鍵要求４０４に基づいて、他の通信関係者の対応するＱＫＭモジュールの装置識別子（例：ＱＫＭモジュール４４２の装置識別子）を判定することができる（動作４１４）。ＱＫＭモジュール４０６は次いで、ＱＫＭモジュール４４２に鍵同期メッセージ４１６を送信することができる。
【００４２】
[0050]  鍵同期メッセージ４１６は、鍵自体を含むことなく、クライアント機器４４０で動作するアプリケーションが必要とする、鍵に関連付けられた情報又は鍵ブロックを含んでいてよい。より具体的には、鍵同期メッセージ４１６は、鍵の長さ及び／又は鍵のシーケンス番号等の情報を含んでいてよい。対称鍵を用いる場合、鍵同期メッセージ４１６は、鍵要求４０４により指定された鍵に関する情報を含んでいてよい。鍵要求４４４と鍵同期メッセージ４１６の順序は任意であってよい点に注意されたい。鍵同期メッセージ４１６は、鍵要求４４４の前に、後で、又は同時に送信することができる。いくつかの実施形態において、鍵要求４４４は、図４に示すように、鍵同期メッセージ４１６の後で送信することができる。
【００４３】
[0051]  鍵同期メッセージ４１６の受信に応答して、ＱＫＭモジュール４４２は最初に鍵同期メッセージ４１６のコンテキストを（例：以前に受信した鍵同期メッセージに基づいて）確立（動作４１８）し、次いで鍵同期メッセージ内で指定された特徴を有する量子鍵又は鍵ブロックが自身の鍵プール内に存在するか否かを判定することができる（動作４２０）。そのような鍵が存在しない場合、ＱＫＭモジュール４４２は、ＱＫＭモジュール４０６に鍵が無い旨のメッセージ４２２を送信することができる。さもなければ、ＱＫＭモジュール４４２は、クライアント機器４４０で動作するアプリケーションからの鍵要求４４４を待つ（動作４２４）。
【００４４】
[0052]  鍵要求４４４の受信に応答して、ＱＫＭモジュール４４２は、要求された鍵をクライアント機器４４０で動作するアプリケーションに返送する（動作４２６）。ＱＫＭモジュール４４２が鍵要求４４４の後で鍵同期メッセージ４１６を受信した場合、ＱＫＭモジュール４４２は、要求された鍵をクライアント機器４４０で動作するアプリケーションに対して送信する前に、鍵同期メッセージ４１６を待つことに留意したい。
【００４５】
[0053]  ＱＫＭモジュール４４２は、要求された鍵をクライアント機器４４０で動作するアプリケーションに送信した後で、要求された鍵がクライアント機器４４０で動作するアプリケーションに送信された旨をＱＫＭモジュール４０６に通知する鍵同期メッセージ４２８をＱＫＭモジュール４０６に送信することができる。鍵同期メッセージ４２８は、ＱＫＭモジュール４４２がクライアント機器４４０で動作するアプリケーションに送信した鍵に関連付けられた情報を含んでいてよく、従ってＱＫＭモジュール４４２が正しい鍵を送信したか否かをＱＫＭモジュール４０６が照合することができる。鍵同期メッセージ４２８の受信に応答して、ＱＫＭモジュール４０６は、要求された鍵をクライアント機器４０２で動作するアプリケーションに対して返送することにより、鍵配送処理を完了する（動作４３０）。ＱＫＭモジュール４０６はまた、所定の通信制限時間に従うタイマーを維持する点に注意されたい。ＱＫＭモジュール４０６は、鍵要求と鍵返送の間隔をトラックする。ＱＫＭモジュール４０６がクライアント機器４０２で動作するアプリケーションに対して鍵を返送する前にタイマーが満了した場合、ＱＫＭモジュール４０６は鍵要求を破棄して、クライアント機器４０２で動作するアプリケーションに失敗メッセージを返送することができる。
【００４６】
[0054]  この時点で、クライアント機器４０２及び４４０で動作する両方のアプリケーションが、要求された共有鍵を受信しており、従って共有鍵を用いて安全な通信チャネルを確立する用意ができている。より具体的には、各々のアプリケーションは、受信した共有鍵を用いて暗号化／復号化鍵を更新することができる（動作４３２）。標準的な鍵更新メカニズムをここで用いることができる。
【００４７】
[0055]  図４に示す例において、鍵配送処理は指向的である。より具体的には、クライアント機器４０２（アリス）で動作するアプリケーションは、使用する鍵の種類を判定するイニシエータであるのに対し、クライアント機器４４０（ボブ）で動作するアプリケーションはフォロワーである。イニシエータは、対応するＱＫＭモジュールに対して鍵を要求して、鍵を要求していることをフォロワーに通知することにより、鍵配送処理を起動する。一方、フォロワーは自身のＱＫＭモジュールに対して同じ鍵を要求し、鍵を取得したならばイニシエータに通知する。イニシエータ及びフォロワーのＱＫＭモジュール間でやり取りされた鍵同期メッセージは、両方のアプリケーションが取得した鍵が同一であることを保証する。一方、鍵更新動作中、クライアント機器４４０（ボブ）はイニシエータであり得ると共に、クライアント機器４０２（アリス）はフォロワーであり得る。
【００４８】
[0056]  図４に示す鍵配送処理は、データ暗号化／復号化を必要とする各種の通信シナリオ、例えばポイントツーポイント通信、Wi-Fi（登録商標）の基地局とルータとの間の通信、スマートハウス内の移動端末と家電製品との間の通信、モノのインターネット（IoT）における通信、クラウド通信等で用いることができる。
【００４９】
[0057]  図５に、一実施形態による、クライアント機器の例示的なアーキテクチャを説明する図を示す。クライアント機器５００は、イニシエータ側とフォロワー側の両方に用いることができる。クライアント機器５００は、例えば、タブレット、携帯電話、電子リーダー、ラップトップコンピュータ、デスクトップコンピュータ、又は他の任意のコンピューティング装置を含んでいてよい。クライアント機器５００は、ネットワークを介して他のクライアント機器又はサーバと通信することができる。いくつかの実施形態において、クライアント機器５００は、鍵要求送信モジュール５０２、通知送信モジュール５０４、通知受信モジュール５０６、鍵受信モジュール５０８、及び鍵更新モジュール５１０を含んでいてよい。
【００５０】
[0058]  鍵要求送信モジュール５０２は、クライアント機器５００で動作するアプリケーションに代わって、クライアント機器５００に関連付けられたＱＫＭモジュールに鍵要求を送信する役割を果たすことができる。より具体的には、ＱＫＭモジュールは、クライアント機器５００と同じ安全な領域に配置すべきである。
【００５１】
[0059]  通知送信モジュール５０４は、現在のアプリケーションが量子鍵を要求している旨を通信パートナーに知らせる通知を通信パートナー（例：リモートクライアント機器で動作するアプリケーション）に送信する役割を果たすことができる。いくつかの実施形態において、通知は、現在のアプリケーションが要求している量子鍵に関連付けられたパラメータ（例：長さ及び／又はシーケンス番号）を含んでいてよい。通知受信モジュール５０６は、通信パートナーから通知を受信する役割を果たすことができる。
【００５２】
[0060]  鍵受信モジュール５０８は、対応するＱＫＭモジュールから、要求した量子鍵を受信する役割を果たすことができる。鍵更新モジュール５１０は、受信した量子鍵を用いて現在の暗号化／復号化鍵を更新する役割を果たすことができる。
【００５３】
[0061]  図６に、一実施形態による、量子鍵管理（ＱＫＭ）モジュールの例示的なアーキテクチャを説明する図を示す。ＱＫＭモジュール６００は、イニシエータ側とフォロワー側の両方に用いることができる。いくつかの実施形態において、ＱＫＭモジュール６００は、鍵プール６０２、鍵要求受信モジュール６０４、鍵参照モジュール６０６、鍵同期メッセージ送信モジュール６０８、鍵同期メッセージ受信モジュール６１０、及び鍵送信モジュール６１２を含んでいてよい。
【００５４】
[0062]  鍵プール６０２は、複数の量子鍵（例：量子鍵配送スキームを用いて得られた共有秘密鍵）を保存する役割を果たすことができる。いくつかの実施形態において、量子鍵は対称鍵であり、すなわちイニシエータ側の鍵プールとフォロワー側の鍵プールが量子鍵の同じ組を保存することを意味する。起動アプリケーションがイニシエータ側の鍵プールから選択された鍵を受信したならば、後続のアプリケーションはフォロワー側の鍵プールから選択された同一の鍵を受信する。
【００５５】
[0063]  鍵要求受信モジュール６０４は、アプリケーションから鍵要求を受信する役割を果たすことができる。鍵要求は、要求された鍵に関連付けられた情報、及びリモートアプリケーションに関連付けられた情報を含んでいてよい。鍵要求受信モジュール６０４はまた、受信した鍵要求を構文解析して、鍵情報と共にリモートアプリケーションに関連付けられた情報を取得する役割を果たすことができる。鍵参照モジュール６０６は、要求された鍵を鍵プール６０２で探す役割を果たすことができる。
【００５６】
[0064]  鍵同期メッセージ送信モジュール６０８は、リモートアプリケーションに関連付けられたリモートＱＫＭモジュールに鍵同期メッセージを送信する役割を果たすことができる。鍵同期メッセージ受信モジュール６１０は、リモートＱＫＭモジュールから鍵同期メッセージを受信する役割を果たすことができる。より具体的には、ＱＫＭモジュール６００がイニシエータ側にある場合、鍵同期メッセージ送信モジュール６０８は、フォロワー側のリモートＱＫＭモジュールから鍵同期メッセージを受信する前に、鍵同期メッセージを当該リモートＱＫＭモジュールに送信することができる。一方、ＱＫＭモジュール６００がフォロワー側にある場合、鍵同期メッセージ受信モジュール６１０は、イニシエータ側のリモートＱＫＭモジュールに鍵同期メッセージを送信する前に、当該リモートＱＫＭモジュールから鍵同期メッセージを受信することができる。鍵送信モジュール６１２は、要求された鍵を要求側アプリケーションに送信する役割を果たすことができる。より具体的には、鍵送信モジュール６１２は、要求側アプリケーションからの鍵要求とリモートＱＫＭモジュールからの鍵同期メッセージの両方を受信した後で、要求された鍵を要求側アプリケーションに送信する。
【００５７】
[0065]  図７に、一実施形態による、例示的な量子鍵配送起動処理を説明するフロー図を示す。動作中、ローカルクライアント機器で動作する起動アプリケーションは、ローカルクライアント機器に関連付けられたＱＫＭモジュールに接続要求を送信して（動作７０２）、ＱＫＭモジュールから応答を受信することができる（動作７０４）。ＱＫＭモジュールが起動アプリケーションを承認したならば、ＱＫＭモジュールは、セキュリティルールの組に従いローカルクライアント機器との安全なリンクを確立することができる。
【００５８】
[0066]  起動アプリケーションは次いで、ＱＫＭモジュールに鍵要求を、及びリモートクライアント機器で動作する後続アプリケーションに通知を送信することができる（動作７０６）。後続アプリケーションは、起動アプリケーションが安全な通信チャネルを確立しようと試みるアプリケーションである。鍵要求は、要求された鍵に関連付けられた１個以上のパラメータ（例：長さ及び／又はシーケンス番号）、及び後続アプリケーションとリモートクライアント機器に関連付けられた情報（例：装置識別子）を含んでいてよい。ＱＫＭモジュールは、要求された鍵が自身の鍵プールに存在するか否かを判定する（動作７０８）。存在しない場合、起動アプリケーションに鍵要求失敗メッセージを送信することができる（動作７１０）。鍵を発見できた場合、ＱＫＭモジュールは後続アプリケーションに関連付けられた異なる又はリモートＱＫＭモジュールに鍵同期メッセージを送信することができる（動作７１２）。鍵同期メッセージは、リモートＱＫＭモジュールに、要求された鍵をローカルＱＫＭモジュールが発見した旨を通知する。いくつかの実施形態において、鍵同期メッセージは、要求された鍵に関連付けられた情報を含んでいてよい。対称鍵が用いられる場合、すなわち起動及び後続アプリケーションが秘密鍵を共有する場合、鍵同期メッセージは、後続アプリケーションが必要とする鍵に関連付けられた情報を含んでいてよい。
【００５９】
[0067]  ローカルＱＫＭモジュールは、異なる又はリモートＱＫＭモジュールへの鍵同期メッセージの送信の後で、要求された鍵をリモートＱＫＭモジュールがリモートアプリケーションに対して返送した（動作７１４）ことを示す鍵同期メッセージをリモートＱＫＭモジュールから受信することができる。鍵同期メッセージは、リモートアプリケーションに送信された鍵に関連付けられた情報を含んでいてよく、これにより、ローカルＱＫＭモジュールは正しい鍵がローカルに要求されたことを検証することができる。いくつかの実施形態において、同一ＱＫＭモジュールが、起動アプリケーション及び後続アプリケーションの両方と通信することができる。このようなシナリオでは、もはや鍵同期メッセージを送信又は受信する必要がない。リモートＱＫＭモジュールからの鍵同期メッセージの受信に応答して、ローカルＱＫＭモジュールは、要求された鍵を起動アプリケーションに送信する（動作７１６）。起動アプリケーションは次いで、受信した鍵を用いて自身の暗号化／復号化鍵を更新することができる（動作７１８）。
【００６０】
[0068]  図８に、一実施形態による、例示的な量子鍵配送の後続処理を説明するフロー図を示す。動作中、ローカルクライアント機器で動作する後続アプリケーションは、ローカルクライアント機器に関連付けられたＱＫＭモジュールに接続要求を送信して（動作８０２）、ＱＫＭモジュールから応答を受信することができる（動作８０４）。ＱＫＭモジュールが起動アプリケーションを承認したならば、ＱＫＭモジュールは、セキュリティルールの組に従いローカルクライアント機器との安全なリンクを確立することができる。
【００６１】
[0069]  後続アプリケーションは、リモート起動アプリケーションから鍵要求通知を受信することができる（動作８０６）。このような通知は、リモート起動アプリケーションが、リモート起動アプリケーションに関連付けられたＱＫＭモジュールに対して鍵を要求することにより、鍵配送動作を起動したことを示す。鍵要求通知は、要求された鍵に関連付けられた情報（例：要求された鍵の長さ及び／又はシーケンス番号）を含んでいてよい。通知の受信に応答して、後続アプリケーションは、後続アプリケーションに関連付けられたＱＫＭモジュールに鍵要求を送信することができる（動作８０８）。鍵要求は鍵要求通知に含まれる鍵情報を含んでいてよい。
【００６２】
[0070]  ローカル後続ＱＫＭモジュールはまた、リモート起動アプリケーションに関連付けられたＱＫＭモジュールから鍵同期メッセージを受信することができる（動作８１０）。鍵同期メッセージは、リモートＱＫＭモジュールが、要求された鍵を発見したことを示す。いくつかの実施形態において、鍵同期メッセージはまた、正しい鍵が要求されているか否かを後続アプリケーションが照合できるようにする鍵情報を含んでいてよい。
【００６３】
[0071]  鍵要求及び鍵同期メッセージの両方の受信に応答して、後続アプリケーションに関連付けられたローカルＱＫＭモジュールは、要求された鍵を後続アプリケーションに対して返送することができる（動作８１２）。ローカルＱＫＭモジュールはまた、後続アプリケーションが鍵を受信したことを示す鍵同期メッセージであって、要求された鍵を起動アプリケーションに返送するようリモートＱＫＭモジュールに促す鍵同期メッセージをリモートＱＫＭモジュールに送信することができる（動作８１４）。その後、後続アプリケーションは受信した鍵を用いて自身の暗号化／復号化鍵を更新することができる（動作８１６）。
【００６４】
[0072]  一般に、本発明の複数の実施形態により、ＱＫＤ処理と暗号処理とを分離することができるため、量子鍵に基づく暗号アプリケーションがより堅牢になる。より具体的には、異なる暗号シナリオ用に特別な量子設備を開発する必要がなくなる。個々のアプリケーションが自身のＱＫＭエンジンに対して共有量子鍵を要求することにより、アプリケーション間の安全な通信を実現することができる。ＱＫＭエンジン間でやり取りされる同期メッセージにより、各アプリケーションが正しい鍵を取得できることを保証する。
【００６５】
[0073]  図９に、開示された量子鍵配送技術を実装する、本明細書に記述するいくつかの実施形態による例示的なクライアントサーバネットワーク環境を示す。ネットワーク環境９００は、ネットワーク９０８によりサーバ９１０と通信可能に接続された多数の電子機器９０２、９０４及び９０６を含む。１個以上のリモートサーバ９２０が更に、サーバ９１０及び／又は１個以上の電子機器９０２、９０４及び９０６に結合されている。
【００６６】
[0074]  いくつかの例示的な実施形態において、電子機器９０２、９０４及び９０６は、ラップトップ若しくはデスクトップコンピュータ等のコンピューティング装置、スマートフォン、ＰＤＡ、可搬媒体プレーヤー、タブレットコンピュータ、１個以上のプロセッサが結合若しくは内蔵されているテレビ若しくは他のディスプレイ、又はウェブページ若しくはウェブアプリケーションの表示に使用可能な他の適当なコンピューティング装置であってよい。一例において、電子機器９０２、９０４及び９０６は、ブラウザ又はアプリケーション等のユーザーエージェントを保存している。図９の例では、電子機器９０２をスマートフォンとして示し、電子機器９０４をデスクトップコンピュータとして示し、電子機器９０６をＰＤＡとして示している。
【００６７】
[0075]  サーバ９１０は、処理機器９１２及びデータストレージ９１４を含む。処理機器９１２は例えば、電子機器９０２、９０４及び９０６で、顧客主導のサービス又はサービスプロバイダと顧客の間でのサービスプロバイダ主導のサービスのスケジューリングを支援すべく、データストレージ９１４に保存されたコンピュータ命令を実行する。
【００６８】
[0076]  いくつかの例示的な態様において、サーバ９１０は、コンピュータサーバ等、単一のコンピューティング装置であってよい。他の実施形態では、サーバ９１０は、協働してサーバコンピュータの動作を実行する（例：クラウドコンピューティング）複数のコンピュータを代表していてよい。サーバ９１０は、ネットワーク９０８を介してクライアント機器（例：電子機器９０２、９０４又は９０６）のブラウザに通信可能に結合されたウェブサーバのホストコンピュータとして機能することができる。一例において、サーバ９１０は、顧客主導のサービス又はサービスプロバイダと顧客との間のサービスプロバイダ主導のサービスをスケジューリングするクライアントアプリケーションのホストコンピュータとして機能することができる。サーバ９１０は更に、ネットワーク９０８を介して、又は別のネットワーク或いは通信手段を介して、１個以上のリモートサーバ９２０と通信状態にあってよい。
【００６９】
[0077]  １個以上のリモートサーバ９２０は、単独で又はサーバ９１０と組み合わせて、サーバ９１０に関して本明細書に記述する各種の機能及び／又は記憶能力を実行することができる。１個以上のリモートサーバ９２０の各々が、各種のサービスのホストコンピュータとして機能することができる。例えば、サーバ９２０は、示唆された場所に関連付けられたウェブページ又はウェブサイト等、１個以上の示唆された場所に関する情報を提供するサービス、１人又は複数のユーザー又は建造物の位置を特定するサービス、ユーザー問い合わせの結果を識別する検索エンジン、１個以上のユーザーレビュー又は問い合わせサービス、又は１個以上の建造物、顧客及び／又は建造物に関するレビュー又はフィードバックに関する情報を提供する、１個以上の他のサービスのホストコンピュータとして機能することができる。
【００７０】
[0078]  サーバ９１０は更に、１個以上のリモートサーバ９２０がホストコンピュータとして機能するソーシャルネットワークサービスを維持するか又はこれと通信状態にあってよい。１個以上のソーシャルネットワークサービスは各種のサービスを提供して、ユーザーがプロファイルを作成して、リモートソーシャルネットワークサービスの他のユーザーと関係を持てるようにする。サーバ９１０及び／又は１個以上のリモートサーバ９２０は更に、ユーザーが構築した関係を含むソーシャルグラフの生成及び維持を可能にすることができる。ソーシャルグラフは、例えば、リモートソーシャルネットワークサービスの全ユーザー及びリモートソーシャルネットワークサービスの他のユーザーとの関係のリストを含んでいてよい。
【００７１】
[0079]  １個以上のリモートサーバ９２０の各々は、コンピュータサーバ等の単一のコンピュータであっても、又は協働してサーバコンピュータの動作を実行する（例：クラウドコンピューティング）複数のコンピュータを代表していてもよい。一実施形態において、サーバ９１０及び１個以上のリモートサーバ９２０は、単一のサーバ又はサーバのクラストとして実装されていてよい。一例において、サーバ９１０及び１個以上のリモートサーバ９２０は、ネットワーク９０８を介してクライアント機器（例：電子機器９０２、９０４又は９０６）のユーザーエージェントを通じて通信することができる。
【００７２】
[0080]  ユーザーは、電子機器９０２、９０４及び９０６にインストールされたクライアントアプリケーションを介して、サーバ９１０がホストコンピュータとして機能するシステム、及び／又はリモートサーバ９２０がホストコンピュータとして機能する１個以上のサービスとインタクラションすることができる。代替的に、ユーザーは、電子機器９０２、９０４、９０６のウェブに基づくブラウザアプリケーションを介して、システム及び１個以上のソーシャルネットワークサービスとインタラクションすることができる。クライアント機器９０２、９０４及び９０６とシステム、及び／又は１個以上のサービスとの通信は、ネットワーク（例：ネットワーク９０８）を介して可能になり得る。
【００７３】
[0081]  クライアント機器９０２、９０４、９０６、サーバ９１０、及び／又は１個以上のリモートサーバ９２０との通信は、各種の通信プロトコルを介して可能になり得る。いくつかの態様において、クライアント機器９０２、９０４、９０６、サーバ９１０及び／又は１個以上のリモートサーバ９２０は、必要に応じてデジタル信号処理回路を含んでいてよい通信インターフェース（図示せず）を介して無線通信を行うことができる。通信インターフェースは、特に、移動通信用グローバルシステム（ＧＳＭ）音声呼出し、ショートメッセージサービス（ＳＭＳ）、拡張メッセージサービス（ＥＭＳ）、又はマルチメディアメッセージサービス（ＭＭＳ）メッセージ発信、符号分割多元接続（ＣＤＭＡ）、時分割多元接続（ＴＤＭＡ）、パーソナルデジタルセルラ（ＰＤＣ）、広帯域符号分割多元接続（ＷＣＤＭＡ（登録商標））、ＣＤＭＡ２０００、又は汎用パケット無線システム（ＧＰＲＳ）等、各種のモード又はプロトコルの下で通信を提供することができる。例えば、通信は無線周波トランシーバ（図示せず）を介して行われる場合がある。また、短距離通信は、ブルートゥース（登録商標）対応装置、Wi-Fi（登録商標）、又は他のそのようなトランシーバの使用を介して行われ得る。
【００７４】
[0082]  ネットワーク９０８は例えば、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、キャンパスエリアネットワーク（ＣＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ブロードバンドネットワーク（ＢＢＮ）、インターネット等の任意の１個以上を含んでいてよい。更に、ネットワーク９０８は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スターバスネットワーク、ツリー又は階層ネットワーク等を含むネットワークトポロジの任意の１個以上を含んでいてよいが、これらに限定されない。
【００７５】
[0083]  図１０に、主題である技術のいくつかを実装した電子システムを概念的に示す。電子システム１０００は、クライアント、サーバ、コンピュータ、スマートフォン、ＰＤＡ、ラップトップ、又は１個以上のプロセッサが内蔵又は結合されたタブレットコンピュータ、或いは他の任意の種類の電子装置であってよい。そのような電子システムは、各種のコンピュータ可読媒体及び他の各種のコンピュータ可読媒体とのインターフェースを含む。電子システム１０００は、バス１００８、処理装置１０１２、システムメモリ１００４、読出し専用メモリ（ＲＯＭ）１０１０、永久記憶装置１００２、入力装置インターフェース１０１４、出力装置インターフェース１００６、及びネットワークインターフェース１０１６を含む。
【００７６】
[0084]  バス１００８は、電子システム１０００の多数の内蔵機器を通信可能に接続するあらゆるシステム、周辺機器、チップセットバスを集合的に表す。例えば、バス１００８は、処理装置１０１２をＲＯＭ１０１０、システムメモリ１００４、及び永久記憶装置１００２と通信可能に接続する。
【００７７】
[0085]  これら各種のメモリ装置から、処理装置１０１２は、主題の開示された処理を実行すべく、実行する命令及び処理するデータを取り出す。処理装置は、異なる実装方式において単一プロセッサ又はマルチコアプロセッサであってよい。
【００７８】
[0086]  ＲＯＭ１０１０は、電子システム１０００の処理装置１０１２及び他のモジュールが必要とする静的データ及び命令を保存する。一方、永久記憶装置１００２は、読出し及び書込みメモリ装置である。この装置は、電子システム１０００が停止している場合であっても、命令及びデータを保存する不揮発メモリ装置である。主題の開示されたいくつかの実装方式は、永久記憶装置１００２として、大容量記憶装置（例：磁気又は光ディスク及び対応ディスクドライブ）を用いる。
【００７９】
[0087]  他の実装方式は、永久記憶装置１００２として、着脱可能記憶装置（例：フロッピーディスク、フラッシュドライブ、及び対応ディスクドライブ）を用いる。永久記憶装置１００２と同様に、システムメモリ１００４は読出／書込メモリデバイスである。しかし、記憶装置１００２とは異なり、システムメモリ１００４は、ランダムアクセスメモリ等の揮発性読出／書込みメモリである。システムメモリ１００４は、プロセッサが実行時に必要とするいくつかの命令及びデータを保存する。いくつかの実装方式において、主題の開示された処理は、システムメモリ１００４、永久記憶装置１００２、及び／又はＲＯＭ  １０１０に保存されている。これら各種のメモリ装置から、処理装置１０１２は、いくつかの実装方式の処理を実行すべく、実行する命令及び処理するデータを取り出す。
【００８０】
[0088]  バス１００８はまた、入出力装置インターフェース１０１４、１００６の各々に接続する。入力装置インターフェース１０１４は、ユーザーが情報を伝達して電子システム用のコマンドを選択できるようにする。入力装置インターフェース１０１４と共に用いられる入力装置は、例えば、英数字キーボード及びポインティングデバイス（「カーソル制御装置」とも称する）を含む。出力装置インターフェース１００６は、例えば、電子システム１０００が生成した画像の表示を可能にする。出力装置インターフェース１００６と共に用いられる出力装置は、例えば、プリンタ及び陰極線管（ＣＲＴ）又は液晶ディスプレイ（ＬＣＤ）等の表示装置を含む。いくつかの実装方式は、入力及び出力装置の両方として機能するタッチスクリーン等の装置を含む。
【００８１】
[0089]  最後に、図１０に示すように、バス１００８はまた、ネットワークインターフェース１０１６を介して電子システム１０００をネットワーク（図示せず）に結合する。このように、コンピュータは、コンピュータネットワーク（例：ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、又はイントラネット、或いはインターネットのような複数ネットワークのネットワーク）の一部であってよい。いずれでも又は電子システム１０００の全ての構成要素が、本願の主題と共に用いることができる。
【００８２】
[0090]  上述の機能は、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア或いはハードウェアに実装することができる。当該技術は、１個以上のコンピュータプログラム製品を用いて実装することができる。プログラム可能なプロセッサ及びコンピュータをモバイル機器に含める又はパッケージ化することができる。処理及び論理フローは、１個以上のプログラム可能なプロセッサ又は１個以上のプログラム可能な論理回路により実行することができる。通信ネットワークを介して汎用及び専用コンピューティング装置及び記憶装置を相互接続することができる。
【００８３】
[0091]  各種の実施形態の上述の説明は専ら例示及び説明目的で提示してきた。これらは網羅的ではなく、本発明を開示した形式に限定することを意図していない。従って、当業者には多くの修正及び変更が明らかになろう。また、上述の開示は本発明を限定することを意図していない。
【図１】
2021503204.tif 000007
【図２】
2021503204.tif 000008
【図３】
2021503204.tif 000009
【図４】
2021503204.tif 000010
【図５】
2021503204.tif 000011
【図６】
2021503204.tif 000012
【図７】
2021503204.tif 000013
【図８】
2021503204.tif 000014
【図９】
2021503204.tif 000015
【図１０】
2021503204.tif 000016
【国際調査報告】
2021503204.tif 000017