(57)【要約】  本明細書に記載の一実施形態は、第１のエンティティと第２のエンティティとの間で量子データ鍵をネゴシエートするためのシステム及び方法を提供する。動作中、システムは、第１のエンティティと第２のエンティティとの間の相互認証を行う。相互認証が成功することに応答して、第１のエンティティは、第２のエンティティから鍵生成パラメータの１つ又は複数の組を受信する。鍵生成パラメータの組を検証することに応答して、第１のエンティティは、第２のエンティティに肯定応答メッセージを送信し、第１のエンティティと第２のエンティティとの間で共有された量子ストリングから鍵生成パラメータに基づいて１つ又は複数の量子データ鍵を抽出する。それぞれの量子データ鍵は、量子ストリングから抽出される幾つかのビットを含む。
2019535153.tif 000002
【特許請求の範囲】
【請求項１】
第１のエンティティと第２のエンティティとの間で量子データ鍵をネゴシエートするためのコンピュータ実施方法であって、
前記第１のエンティティと前記第２のエンティティとの間の相互認証を行うこと、
前記相互認証が成功することに応答して、前記第１のエンティティによって前記第２のエンティティから鍵生成パラメータ１つ又は複数の組を受信すること、
前記鍵生成パラメータの組を検証することに応答して、前記第２のエンティティに肯定応答メッセージを送信すること、及び
前記第１のエンティティと前記第２のエンティティとの間で共有された量子ストリングから前記鍵生成パラメータに基づいて１つ又は複数の量子データ鍵を抽出することであって、それぞれの量子データ鍵は、前記量子ストリングから抽出される幾つかのビットを含むこと
を含むコンピュータ実施方法。
【請求項２】
前記第１のエンティティ及び前記第２のエンティティは、トラステッドコンピューティングモジュールをそれぞれ備え、前記相互認証を行うことは、前記第１のエンティティ及び前記第２のエンティティのそれぞれに関連するトラステッド測定レポートを交換することを含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記抽出済みの量子データ鍵を前記トラステッドコンピューティングモジュールに記憶することを更に含む、請求項２に記載のコンピュータ実施方法。
【請求項４】
前記第１のエンティティと前記第２のエンティティとの間で共有される前記量子ストリングは、量子鍵配送（ＱＫＤ）プロセスによって得られる、請求項１に記載のコンピュータ実施方法。
【請求項５】
鍵生成パラメータのそれぞれの組は、同じ長さを有する複数の鍵を指定し、前記鍵生成パラメータの組は、
生成される鍵の数を指定する個数パラメータと、
前記生成される鍵のビット長を指定する長さパラメータと、
前記第１のエンティティと前記第２のエンティティとの間で共有される前記量子ストリング内の生成される最初の鍵の開始位置を指定する位置パラメータと
を含む、請求項１に記載のコンピュータ実施方法。
【請求項６】
鍵生成パラメータのそれぞれの組は、生成される単一の鍵を指定し、前記鍵生成パラメータの組は、前記生成される単一の鍵の長さ及び前記生成される単一の鍵の開始位置を示す、請求項１に記載のコンピュータ実施方法。
【請求項７】
少なくとも２つの鍵が部分的に重複するように前記２つの鍵の前記長さ及び開始位置が指定され、それにより、前記抽出済みの量子データ鍵内の総ビット数は、前記第１のエンティティと前記第２のエンティティとの間で共有される前記量子ストリング内の総ビット数よりも多くなる、請求項６に記載のコンピュータ実施方法。
【請求項８】
前記鍵生成パラメータの１つ又は複数の組を受信する間、前記第１のエンティティは、前記鍵生成パラメータ及び共有秘密に基づいて前記第２のエンティティによって計算されるハッシュ関数を受信するように構成され、
前記鍵生成パラメータの組を検証することは、前記受信されるハッシュ関数を前記第１のエンティティによって計算されるハッシュ関数と比較することを含む、請求項１に記載のコンピュータ実施方法。
【請求項９】
前記肯定応答メッセージを送信することは、
少なくとも１つの鍵生成パラメータの変形を計算すること、
暗号化メッセージを得るために暗号鍵を使用して前記計算済みの変形を暗号化すること、及び
前記暗号化メッセージを送信すること
を含む、請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記受信される鍵生成パラメータの１つ又は複数の組は、前記第１のエンティティに関連する暗号鍵を使用して暗号化される、請求項１に記載のコンピュータ実施方法。
【請求項１１】
前記第１のエンティティ及び前記第２のエンティティは、クラウドコンピューティングシステムに属し、前記第１のエンティティ又は前記第２のエンティティは、
クラウドプロバイダによって提供される１つの機器、及び
クラウドクライアントによって提供される１つの機器
の１つを含む、請求項１に記載のコンピュータ実施方法。
【請求項１２】
前記第１のエンティティ及び前記第２のエンティティは、前記クラウドコンピューティングシステムに関連するトラステッド承認センタからトラステッド証明書及び機器秘密鍵をそれぞれ受信する、請求項１１に記載のコンピュータ実施方法。
【請求項１３】
前記第１のエンティティによって、複数のトラステッド制御ノードを含む前記トラステッド承認センタに承認要求を送信することであって、それぞれのトラステッド制御ノードは、システム秘密鍵の共有情報を保持すること、
前記トラステッド制御ノードから副鍵の組を受信することであって、特定のトラステッド制御ノードから受信される個々の副鍵は、前記第１のエンティティに関連する識別情報、前記第１のエンティティに関連するトラステッドコンピューティングプラットフォーム情報、及び前記特定のトラステッド制御ノードに記憶される前記システム秘密鍵の共有情報に基づいて生成されること、及び
前記受信される副鍵の組に基づいて前記第１のエンティティに固有の機器秘密鍵を生成すること
を更に含む、請求項１２に記載のコンピュータ実施方法。
【請求項１４】
ネットワークエンティティであって、
プロセッサと、
前記プロセッサに結合され、且つ前記プロセッサによって実行されるとき、前記ネットワークエンティティと第２のネットワークエンティティとの間で量子データ鍵をネゴシエートするための方法を前記プロセッサに実行させる命令を記憶する記憶装置と
を含み、前記方法は、
前記ネットワークエンティティと前記第２のネットワークエンティティとの間の相互認証を行うこと、
前記相互認証が成功することに応答して、前記第２のネットワークエンティティから鍵生成パラメータの１つ又は複数の組を受信すること、
前記鍵生成パラメータの組を検証することに応答して、前記第２のネットワークエンティティに肯定応答メッセージを送信すること、及び
前記ネットワークエンティティと前記第２のネットワークエンティティとの間で共有された量子ストリングから前記鍵生成パラメータに基づいて１つ又は複数の量子データ鍵を抽出することであって、それぞれの量子データ鍵は、前記量子ストリングから抽出される幾つかのビットを含むこと
を含む、ネットワークエンティティ。
【請求項１５】
前記ネットワークエンティティ及び前記第２のネットワークエンティティは、トラステッドコンピューティングモジュールをそれぞれ備え、前記相互認証を行うことは、前記ネットワークエンティティ及び前記第２のネットワークエンティティのそれぞれに関連するトラステッド測定レポートを交換することを含む、請求項１４に記載のネットワークエンティティ。
【請求項１６】
前記方法は、前記抽出済みの量子データ鍵を前記トラステッドコンピューティングモジュールに記憶することを更に含む、請求項１５に記載のネットワークエンティティ。
【請求項１７】
前記ネットワークエンティティと前記第２のネットワークエンティティとの間で共有される前記量子ストリングは、量子鍵配送（ＱＫＤ）プロセスによって得られる、請求項１４に記載のネットワークエンティティ。
【請求項１８】
鍵生成パラメータのそれぞれの組は、同じ長さを有する複数の鍵を指定し、前記鍵生成パラメータの組は、
生成される鍵の数を指定する個数パラメータと、前記生成される鍵のビット長を指定する長さパラメータと、
前記ネットワークエンティティと前記第２のネットワークエンティティとの間で共有される前記量子ストリング内の生成される最初の鍵の開始位置を指定する位置パラメータと
を含む、請求項１４に記載のネットワークエンティティ。
【請求項１９】
鍵生成パラメータのそれぞれの組は、生成される単一の鍵を指定し、前記鍵生成パラメータの組は、前記生成される単一の鍵の長さ及び前記生成される単一の鍵の開始位置を示す、請求項１４に記載のネットワークエンティティ。
【請求項２０】
少なくとも２つの鍵が部分的に重複するように前記２つの鍵の前記長さ及び開始位置が指定され、それにより、前記抽出済みの量子データ鍵内の総ビット数は、前記ネットワークエンティティと前記第２のネットワークエンティティとの間で共有される前記量子ストリング内の総ビット数よりも多くなる、請求項１９に記載のネットワークエンティティ。
【請求項２１】
前記鍵生成パラメータの１つ又は複数の組を受信することは、前記鍵生成パラメータ及び共有秘密に基づいて前記第２のネットワークエンティティによって計算されるハッシュ関数を受信することを更に含み、
前記鍵生成パラメータの組を検証することは、前記受信されるハッシュ関数を前記ネットワークエンティティによって計算されるハッシュ関数と比較することを含む、請求項１４に記載のネットワークエンティティ。
【請求項２２】
前記肯定応答メッセージを送信することは、
少なくとも１つの鍵生成パラメータの変形を計算すること、
暗号化メッセージを得るために暗号鍵を使用して前記計算済みの変形を暗号化すること、及び
前記暗号化メッセージを送信すること
を含む、請求項１４に記載のネットワークエンティティ。
【請求項２３】
前記受信される鍵生成パラメータの１つ又は複数の組は、前記ネットワークエンティティに関連する暗号鍵を使用して暗号化される、請求項１４に記載のネットワークエンティティ。
【請求項２４】
前記ネットワークエンティティ及び前記第２のネットワークエンティティは、クラウドコンピューティングシステムに属し、前記ネットワークエンティティ又は前記第２のネットワークエンティティは、
クラウドプロバイダによって提供される１つの機器、及び
クラウドクライアントによって提供される１つの機器
の１つを含む、請求項１４に記載のネットワークエンティティ。
【請求項２５】
前記ネットワークエンティティ及び前記第２のネットワークエンティティは、前記クラウドコンピューティングシステムに関連するトラステッド承認センタからトラステッド証明書及び機器秘密鍵をそれぞれ受信する、請求項２４に記載のネットワークエンティティ。
【請求項２６】
前記方法は、
前記ネットワークエンティティによって複数のトラステッド制御ノードを含む前記トラステッド承認センタに承認要求を送信することであって、それぞれのトラステッド制御ノードは、システム秘密鍵の共有情報を保持すること、
前記トラステッド制御ノードから副鍵の組を受信することであって、特定のトラステッド制御ノードから受信される個々の副鍵は、前記ネットワークエンティティに関連する識別情報、前記ネットワークエンティティに関連するトラステッドコンピューティングプラットフォーム情報、及び前記特定のトラステッド制御ノードに記憶される前記システム秘密鍵の共有情報に基づいて生成されること、及び
前記受信される副鍵の組に基づいて前記ネットワークエンティティに固有の機器秘密鍵を生成すること
を更に含む、請求項２５に記載のネットワークエンティティ。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
分野
[0001]  本開示は、概して、データセキュリティに関する。より詳細には、本開示は、トラステッドコンピューティング技術に基づく量子鍵配送のためのシステム及び方法に関する。
【背景技術】
【０００２】
関連技術
[0002]  近年、量子暗号化技術が開発された。量子通信では情報が量子状態に基づいて伝送され、不確定性原理、量子状態測定の原理、量子複製不可能定理等の量子力学の法則によってデータセキュリティを保証することができる。量子暗号は傍受者に対する無条件のデータ伝送セキュリティ及び検出可能性を実現し得ることが明らかにされている。
【０００３】
[0003]  自分たちだけが知る秘密鍵を２つの通信当事者が安全に作成し共有できるようにするために、幾つかの量子鍵配送方式（例えばＢＢ８４方式やＥ９１方式）が開発されている。２つの通信当事者は共有秘密鍵を使用して互いに通信することができる。
【０００４】
[0004]  他方で高い計算能力、安価なサービス費用、高性能、拡張性、アクセス可能性、並びに可用性の利点により、クラウドコンピューティングは大いに要求されたサービス又はユーティリティになっている。クラウドコンピューティングでは、サーバ、記憶域、及びアプリケーションを含む様々なサービスがインターネット経由で顧客のコンピュータ及び装置にサービスプロバイダによって届けられ得る。より詳細には、クラウドコンピューティングはデータアクセス機構をより効率的且つ高信頼にするために、様々な計算能力を有するユーザ及び企業が自ら所有するクラウド内で又はデータセンタ内に位置するサードパーティサーバ上でデータを記憶し処理することを可能にする。
【０００５】
[0005]  クラウドコンピューティング内でＱＫＤシステムを導入することはできるが、ＱＫＤ方式によって作り出される生鍵は多くの場合バッチで使用できるようになる前に更なる最適化を必要とするので、ＱＫＤシステムは大規模クラウドコンピューティングの需要量を満たすことができない。更に、鍵の秘密性は保証することができるが、ＱＫＤ単独ではユーザ認証を提供できず、通信当事者のプラットフォームの完全性を保証することができない。
【発明の概要】
【課題を解決するための手段】
【０００６】
概要
[0006]  本明細書に記載の一実施形態は、第１のエンティティと第２のエンティティとの間で量子データ鍵をネゴシエートするためのシステム及び方法を提供する。動作中、システムは、第１のエンティティと第２のエンティティとの間の相互認証を行う。相互認証が成功することに応答して、第１のエンティティは、第２のエンティティから鍵生成パラメータの１つ又は複数の組を受信する。鍵生成パラメータの組を検証することに応答して、第１のエンティティは、第２のエンティティに肯定応答メッセージを送信し、第１のエンティティと第２のエンティティとの間で共有された量子ストリングから鍵生成パラメータに基づいて１つ又は複数の量子データ鍵を抽出する。それぞれの量子データ鍵は、量子ストリングから抽出される幾つかのビットを含む。
【０００７】
[0007]  この実施形態の変形では、第１のエンティティ及び第２のエンティティは、トラステッドコンピューティングモジュールをそれぞれ備え、相互認証を行うことは、第１のエンティティ及び第２のエンティティのそれぞれに関連するトラステッド測定レポートを交換することを含む。
【０００８】
[0008]  更なる変形では、第１のエンティティは、抽出済みの量子データ鍵をトラステッドコンピューティングモジュールに記憶する。
【０００９】
[0009]  この実施形態の変形では、第１のエンティティと第２のエンティティとの間で共有される量子ストリングは、量子鍵配送（ＱＫＤ）プロセスによって得られる。
【００１０】
[0010]  この実施形態の変形では、鍵生成パラメータのそれぞれの組は、同じ長さを有する複数の鍵を指定し、鍵生成パラメータの組は、生成される鍵の数を指定する個数パラメータと、生成される鍵のビット長を指定する長さパラメータと、第１のエンティティと第２のエンティティとの間で共有される量子ストリング内の生成される最初の鍵の開始位置を指定する位置パラメータとを含む。
【００１１】
[0011]  この実施形態の変形では、鍵生成パラメータのそれぞれの組は、生成される単一の鍵を指定し、鍵生成パラメータの組は、生成される単一の鍵の長さ及び生成される単一の鍵の開始位置を示す。
【００１２】
[0012]  更なる変形では、少なくとも２つの鍵が部分的に重複するように２つの鍵の長さ及び開始位置が指定され、それにより、抽出済みの量子データ鍵内の総ビット数は、第１のエンティティと第２のエンティティとの間で共有される量子ストリング内の総ビット数よりも多くなる。
【００１３】
[0013]  この実施形態の変形では、鍵生成パラメータの１つ又は複数の組を受信する間、第１のエンティティは、鍵生成パラメータ及び共有秘密に基づいて第２のエンティティによって計算されるハッシュ関数を受信するように構成され、鍵生成パラメータの組を検証することは、受信されるハッシュ関数を第１のエンティティによって計算されるハッシュ関数と比較することを含む。
【００１４】
[0014]  この実施形態の変形では、肯定応答メッセージを送信することは、少なくとも１つの鍵生成パラメータの変形を計算すること、暗号化メッセージを得るために暗号鍵を使用して計算済みの変形を暗号化すること、及び暗号化メッセージを送信することを含む。
【００１５】
[0015]  この実施形態の変形では、受信される鍵生成パラメータの１つ又は複数の組は、第１のエンティティに関連する暗号鍵を使用して暗号化される。
【００１６】
[0016]  この実施形態の変形では、第１のエンティティ及び第２のエンティティは、クラウドコンピューティングシステムに属し、第１のエンティティ又は第２のエンティティは、クラウドプロバイダによって提供される１つの機器及びクラウドクライアントによって提供される１つの機器のうちの１つを含む。
【００１７】
[0017]  更なる変形では、第１のエンティティ及び第２のエンティティは、クラウドコンピューティングシステムに関連するトラステッド承認センタからトラステッド証明書及び機器秘密鍵をそれぞれ受信する。
【００１８】
[0018]  更なる改変形態では、第１のエンティティは、複数のトラステッド制御ノードを含むトラステッド承認センタに承認要求を送信する。それぞれのトラステッド制御ノードは、システム秘密鍵の共有情報（share）を保持する。第１のエンティティは、トラステッド制御ノードから副鍵の組を受信し、受信した副鍵の組に基づいて第１のエンティティに固有の機器秘密鍵を生成する。特定のトラステッド制御ノードから受信される個々の副鍵は、第１のエンティティに関連する識別情報、第１のエンティティに関連するトラステッドコンピューティングプラットフォーム情報、及び特定のトラステッド制御ノードに記憶されるシステム秘密鍵の共有情報に基づいて生成される。
【図面の簡単な説明】
【００１９】
図面の簡単な説明
【図１】[0019]トラステッドコンピューティンググループによって定められたＰＣ内の信頼チェーンを示す。
【図２】[0020]一実施形態による、量子鍵配送及びトラステッドコンピューティングに基づく例示的なセキュアクラウドコンピューティングシステムのアーキテクチャを示す。
【図３Ａ】[0021]一実施形態によるセキュアシステムの簡易図を示す。
【図３Ｂ】[0022]一実施形態による、分散型のトラステッド承認センタを有するセキュアシステムの簡易図を示す。
【図４】[0023]一実施形態による、分散型のトラステッド承認センタの例示的な初期設定プロセスを示すフローチャートを示す。
【図５】[0024]一実施形態による、トラステッド証明書及び機器秘密鍵を発行するための例示的プロセスを示すフローチャートを示す。
【図６】[0025]一実施形態による、共有量子データ鍵を作成するプロセスを記載する時間−状態図を示す。
【図７】[0026]一実施形態による、トラステッド承認センタ内のトラステッド制御ノードのブロック図を示す。
【図８】[0027]一実施形態によるトラステッドエンティティのブロック図を示す。
【図９】[0028]本明細書に記載の一部の実施形態による、開示する傍受検出技術を実装するための例示的なクライアント−サーバネットワーク環境を示す。
【図１０】[0029]本技術の一部の実装形態がこれを用いて実装される電子システムを概念的に示す。
【発明を実施するための形態】
【００２０】
[0030]  表１は、本明細書に記載の一実施形態による、２組の異なる量子状態を使用することに基づく例示的な２つの力学量測定方式を示す。
【００２１】
[0031]  表２は、一実施形態による例示的な共有秘密量子ストリングを示す。
【００２２】
[0032]  図中、同様の参照番号は同じ図面要素を指す。
【００２３】
詳細な説明
[0033]  以下の説明は、当業者が実施形態を作り使用できるようにするために示されており、特定の応用及びその要件に関連して提供される。開示する実施形態に対する様々な修正形態が当業者に容易に明らかになり、本明細書で定める全般的原則は、本開示の趣旨及び範囲から逸脱することなしに他の実施形態及び応用に適用することができる。従って、本発明は、図示の実施形態に限定されず、本明細書で開示する原理及び特徴と一致する最も広範な範囲を与えられるべきである。
【００２４】
概要
[0034]  本開示では、量子鍵配送及びトラステッドコンピューティング技術の両方を使用して共有秘密鍵を生成するための方法及びシステムを提供する。動作中、従来の量子鍵配送（ＱＫＤ）方式を使用して２つの通信エンティティが共有量子ストリングをまず生成することができる。２つのエンティティはどちらもトラステッドコンピューティングが使用可能であり、トラステッド測定レポートを交換し確認することにより、量子データ鍵（データ暗号化に後で使用することができる）を更にネゴシエートすることができる。同じ共有量子ストリングから同じ又は異なる長さの複数の量子データ鍵を生成することができる。
【００２５】
[0035]  量子鍵配送（ＱＫＤ）機構は最初の量子ストリングのセキュリティを保証することができる。トラステッドコンピューティングは、クライアント及びサーバの認証のために、並びにクライアント及びサーバの完全性を保証するために使用することができる。量子鍵配送とトラステッドコンピューティングとを組み合わせることはクラウドコンピューティング環境内のデータセキュリティを更に向上させることができる。
【００２６】
[0036]  本開示では、トラステッドコンピューティングを可能にし得るモジュールをエンティティが備える場合、そのエンティティをトラステッドエンティティ（例えばトラステッドサーバやトラステッドクライアント）とも呼ぶ。明記することなしに、クラウドコンピューティングサービスを提供し又は得る全てのエンティティがトラステッドコンピューティングを使用可能だと想定する。
【００２７】
量子鍵配送の原理
[0037]  量子物理学によれば、微視的世界の一部の物理量は連続的に変化することができずに一定の離散値を取り、隣接する２つの離散値間の差を「量子」と呼び、例えば光子は単一の光量子である。
【００２８】
[0038]  古典力学の法則が該当する従来の通信では、デジタル情報をビットとして表すことができ、各ビットは、２つの状態、例えば「０」及び「１」又は「高」電圧及び「低」電圧を有し得る。対照的に、古典力学の法則が該当しない量子通信では、情報は、典型的には量子情報の単位である量子ビット（キュビット）として表される。各キュビットは、２つの基本状態、即ち｜０＞又は＜−＞、及び｜１＞又は
【数１】
2019535153.tif 000003
を有し得る。この場合、２つの量子状態｜０＞及び｜１＞が、｛｜０＞，｜１＞｝として表すことができる量子状態の基底を形成する。
【００２９】
[0039]  更に、量子量は係数α、βをそれぞれ有する２つの基本状態の重ね合せによって得られる混合状態もとり得る。例えば量子基底｛｜０＞，｜１＞｝を使用する場合、混合状態は次式で表すことができる：
｜φ〉＝α｜０〉＋β｜１〉
例えば、混合量子状態基底｛｜＋〉，｜−〉｝は公式
【数２】
2019535153.tif 000004
を使用して基本量子状態｜０＞／＜−＞、及び｜１＞／
【数３】
2019535153.tif 000005
を重ね合わせることによって生成することができる。上記の量子状態表現の２つの基底では、状態｜０＞及び｜１＞が互いに直交する一方、状態｜＋＞及び｜−＞が互いに直交することに留意されたい。
【００３０】
[0040]  量子力学では、「測定基底」とも呼ぶ上記の量子状態を使用して所与の力学量を測定することができる。例えば各力学量はエルミート演算子（又はエルミート行列）によって表すことができる。かかる力学量を測定するとき、測定結果はこの力学量のエルミート演算子の固有値（又は「特性値」）に対応する。測定後、測定される量子状態は取得される固有値に対応する固有状態（又は「固有ベクトル」）に収縮する。表１は、本明細書に記載の一実施形態による、２組の異なる量子状態を使用することに基づく例示的な２つの力学量測定方式を示す。
【００３１】
【表１】
2019535153.tif 000006
【００３２】
[0041]  例えば量子状態｜φ〉＝α｜０〉＋β｜１〉、但し｜α｜２＋｜β｜２＝１を測定するために量子状態基底｛｜０〉，｜１〉｝を使用する場合、｜α｜２の確率で１の測定値を取得し、測定後に量子状態は｜０〉に収縮し、｜β｜２の確率で−１の測定値を取得し、測定後に量子状態は｜１〉に収縮する。
【００３３】
[0042]  別の例として、量子状態｜０〉を測定するために量子状態基底｛｜０〉，｜１〉｝を使用する場合、確率１で状態｜０〉が得られる。同様に、量子状態｜＋〉を測定するために量子状態基底｛｜＋〉，｜−〉｝を使用する場合、確率１で状態｜＋〉が得られる。
【００３４】
[0043]  更に、量子状態｜＋〉を測定するために量子状態基底｛｜０〉，｜１〉｝を使用する場合、状態｜０〉又は状態｜１〉が無作為に得られる。同様に、状態｜０〉を測定するために量子状態基底｛｜＋〉，｜−〉｝を使用する場合、状態｜＋〉又は状態｜−〉が無作為に得られる。
【００３５】
[0044]  ＢＢ８４（Bennett-Brassard-84）は人気のある量子鍵配送プロトコルである。ＢＢ８４は情報を伝送するために単一光子の偏光状態を使用する。使用される通常の偏光状態の対は垂直（０°）及び水平（９０°）の直線基底、４５°及び１３５°の対角基底、又は左旋性及び右旋性の円状基底である。これらの基底の何れか２つは互いに共役であり、そのためプロトコル内では何れか２つを使用することができる。ＢＢ８４方式では送信者Aliceが受信者Bobに秘密鍵（例えばランダムストリング）を送信することを望む。Aliceはランダムビットを生成することから開始し、バイナリビットを符号化するための量子基底を２つの量子基底から無作為に選択する。次いでAliceは量子チャネルを使用して指定の状態にある単一光子をBobに伝送する。送信される各光子の状態、基底、及び時間をAliceが記録しながら、このプロセスはランダムビット段階から繰り返される。光子を受信すると、無作為に選択される基底を使用してBobが測定を行う。Bobは自分が受信する光子ごとにこの測定を行い、時間、使用される測定基底、及び測定結果を記録する。Bobが全ての光子を測定した後、Bobは古典的な公衆チャネル上でAliceと通信する。Aliceは各光子を送信した基底を、Bobは各光子を測定した基底をブロードキャストする。Bobが異なる基底を使用した光子測定（ビット）を両者が破棄し、それらは平均して半数であり、ビットの半数を共有鍵として残す。
【００３６】
[0045]  Alice及びBobは、傍受者Eveの存在を確認するために自らの残ったビットストリングの所定のサブセットを比較することができる。第三者が光子の変更に関する任意の情報を得ている場合、Bobの測定に誤差が生じる。他の環境条件も同様の方法で誤差を引き起こし得る。ビットの誤差率が所定の閾値未満の場合、誤差を訂正するために誤差訂正技法を使用することができ、秘匿性増幅を使用して鍵の長さを短くするという代償を払ってEveの鍵の知識を任意の少ない量に減らすことができる。ビットの誤差率が所定の閾値を上回る場合、鍵のセキュリティを保証できないため、両者は、鍵を打ち切り、場合により異なる量子チャネルを用いて再度試みる。
【００３７】
[0046]  傍受者の存在に加えて他の環境要因（例えば量子チャネルや送受信機器の質）も誤差を引き起こし得ることに留意されたい。例えば高損失のチャネルは誤差率が上昇する原因になり得る。誤差が認められるビットは常に破棄されるので、環境が引き起こす誤差率を正確に推定しなければＱＫＤ方式が共有量子ストリングを作り出せない可能性がある。特定の既存のシステムは、共有量子ストリングを作り出すために誤差率が７％未満であることを要求し得る。
【００３８】
[0047]  ＱＫＤによって作り出される共有量子ストリングからAliceとBobは１つ又は複数の量子データ鍵を更にネゴシエートすることができ、各量子データ鍵は共有量子ストリング内のビットの組から選択されるビットのサブセットを含み得る。量子データ鍵はAliceとBobとの間の実際の通信の中で暗号鍵として使用されることに留意されたい。
【００３９】
トラステッドコンピューティング
[0048]  トラステッドコンピューティングは、信頼できるコンピュータプラットフォームを構築することに向けてトラステッドコンピューティンググループ（ＴＣＧ）によって開発された新たな技術である。トラステッドコンピューティングではコンピュータが一貫して予期された方法で振る舞い、それらの挙動はコンピュータハードウェア及びソフトウェアによって強制される。この挙動を強制することは、システムの残りの部分にとってアクセス不能な固有の暗号鍵をハードウェアにロードすることによって実現される。ＴＣＧによれば、「トラステッドのコンポーネント、演算、又はプロセスとはその挙動がほぼ全ての動作条件下で予測可能であり、且つアプリケーションソフトウェア、ウイルス、及び所与のレベルの物理的干渉による破壊に極めて耐性を示すものである」。
【００４０】
[0049]  トラステッドコンピューティングの中核は信頼のルート及び信頼チェーンである。トラステッドコンピューティングでは、信頼のルートは、トラステッドプラットフォームモジュール（ＴＰＭ）等の工場で実装済みのハードウェア又はファームウェアであり得る。ＴＰＭは専用の経済的な暗号チップとして実装することができる。ＴＰＭは計算プラットフォームに物理的に接続することができ、外部バスを介してＣＰＵ（中央処理装置）に結合され得る。例えばパーソナルコンピュータ（ＰＣ）上のＴＰＭは、ＰＣのメインボード上に搭載し、ローピンカウント（ＬＰＣ）バスによって接続され得る。プラットフォームを認証するための情報を記憶することに加えて、ＴＰＭはプラットフォームが信頼できるままであることを保証するのを助けるプラットフォーム測定を記憶するためにも使用することができる。認証（自らが見掛け通りのものであることをプラットフォームが確実に証明できるようにする）及び証明（プラットフォームが信頼でき、侵害されていないことを証明するのを助けるプロセス）は、全ての環境内でより安全なコンピューティングを保証するのに必要なステップである。
【００４１】
[0050]  信頼チェーンは信頼のルートからの境界を広げるための反復的手段である。現在実行されているコンポーネントの信頼性は前に実行されていたコンポーネントの信頼性に基づく。信頼のルート（信頼アンカとしても知られる）から開始し、プラットフォームの計算環境が変化する度に（例えば特定のコードの実行）信頼を維持することができ、それにより確実な信頼チェーンを確立する場合、そのプラットフォームはローカルエンティティ及び遠隔エンティティによって信頼できると見なされ得る。
【００４２】
[0051]  トラステッドコンピューティング技術は、トラステッド測定、トラステッド報告、トラステッド記憶、及びトラステッドネットワーキングを含み得る。図１は、トラステッドコンピューティンググループによって定められるＰＣ内の信頼チェーンを示す。より詳細には、図１は測定、報告、記憶、及びログに関する信頼チェーンを示す。
【００４３】
[0052]  ＴＰＭに加えて、トラステッドプラットフォームコントロールモジュール（ＴＰＣＭ）も開発されている。ＴＰＭは下位装置であり、（図１に示すように）改竄される脅威に直面するＢＩＯＳ内にトラステッド測定のルートが入れられた。ＴＰＣＭはトラステッド測定のルートをモジュール内に組み込み、それにより測定のルート及び原点を保護し、ブートシーケンス及び測定シーケンスを修正する。従って、信頼アンカとしてＴＰＣＭチップを使用して信頼チェーンを確立することができ、それによりＴＰＣＭチップがシステムのブート、Ｉ／Ｏ、及びプロビジョニングを制御することを可能にする。
【００４４】
[0053]  計算プラットフォームの動作中、ＴＰＣＭはシステムが次のレベルの実行可能コードに制御を移す前に次のレベルの実行可能コードの完全性を確実にする必要がある。システムの制御はその後のレベルの実行可能コードに転送され続け、それにより信頼チェーンが確立される。より詳細には、ＴＰＣＭ又はＴＰＭはトラステッド状態からブートプロセスを開始し、オペレーティングシステムが完全にブートし、アプリケーションが実行されるまでその信頼を広げることができる。
【００４５】
セキュアシステムアーキテクチャ
[0054]  図２は、一実施形態による、量子鍵配送及びトラステッドコンピューティングに基づく例示的なセキュアクラウドコンピューティングシステムのアーキテクチャを示す。セキュアクラウドコンピューティングシステム２００は、クラウドプロバイダやクラウドユーザ等の幾つかの参加エンティティを含み得る。サードパーティ認証局（ＣＡ）によってトラステッド証明書が発行される場合、ＣＡもセキュアクラウドコンピューティングシステム２００の一部になる。図２に示す例ではＣＡが含まれていない。
【００４６】
[0055]  クラウドプロバイダは、クラウド制御プラットフォーム、並びにハードウェアコンポーネント及びソフトウェアコンポーネントの両方を含む様々なクラウドインフラを提供する役割を担う。図２に示す例では全クラウドコンピューティングシステムを２つの領域、即ちクラウドプロバイダによって制御される領域（陰影領域として示す）とクラウドユーザによって制御される領域（斜線領域として示す）とに分けることができる。
【００４７】
[0056]  一部の実施形態では、トラステッドコンピューティングがクラウドプロバイダ領域及びユーザ領域の両方の中で実装される。例えば、サーバ（例えばサーバのクラスタ２０２及び２０４）、クラウド制御ノード（例えばノード２０６及び２０８）、及びハードウェアセキュリティモジュール（ＨＳＭ）（例えばＨＳＭのプール２１０）を含み得るクラウドプロバイダによって提供される機器は、ＴＰＭ等のトラステッドコンピューティングを強制するモジュールを備えることができる。これらのＴＰＭはハードウェア、ファームウェア、及びソフトウェアモジュールとして実装することができる。更に、クライアントマシン、データベース（例えばデータベース２１２）、クラウドＨＳＭ（例えばクラウドＨＳＭのプール２１４）等のユーザによって制御される機器もＴＰＭを備えることができる。クラウドＨＳＭは、顧客によって所有され又は制御されるがクラウド内に併置される専用ＨＳＭ器具を指し得ることに留意されたい。クラウド内の及びユーザマシン上のＴＰＭは動的な信頼測定及びトラステッド記憶を確実にする。
【００４８】
[0057]  トラステッドコンピューティングに加えて、クラウドプロバイダ領域及びユーザ領域の両方の中にＱＫＤ技術を実装することもできる。より詳細には、鍵のロゴによって図示するようにクラウドノード間の量子鍵の交換を有効にすることができる。他方で二種類のユーザが存在することができ、あるユーザ群（例えばユーザ群２１６）はＱＫＤモジュールを備えるのに対し、他のユーザ群（例えばユーザ群２１８）は量子鍵交換機能を有さない。図２に示す例では、ＱＫＤを可能にするための量子チャネルも含む通信チャネル（例えば通信チャネル２２２）を実線で示すのに対し、量子チャネルを含まない通信チャネル（例えば通信チャネル２２４）は破線で示す。より詳細には、ＱＫＤ対応の通信チャネル上では、通信相手が量子チャネルを使用して暗号鍵（量子データ鍵とも呼ぶ）をネゴシエートし、ネゴシエート済みの鍵を安全な通信のために使用することができる。例えばユーザ群２１６内のユーザは、量子強化セキュアチャネルを使用してクラウドサーバと通信することができる。更にユーザは、ＱＫＤ対応の通信チャネルにより自らのクラウドＨＳＭの初期構成を行うことができる。同様に、クラウド内のノード（例えばクラウド制御ノードやクラウドサーバ）もネゴシエート済みの量子データ鍵を使用して互いに通信することができる。量子データ鍵を得るプロセスに関する詳細については後で解説する。他方でユーザ群２１８内のユーザは、従来の技術によってネゴシエートされた鍵を使用してのみクラウドサーバと通信することができる。
【００４９】
[0058]  一部の実施形態ではクラウドがトラステッド承認センタを含むことができ、トラステッド承認センタはクラウドサーバ（例えば図２に示すサーバクラスタ２０２及び２０４）及びクライアントマシンを含むクラウドに結合されるエンティティ（又は機器のピース）にトラステッド証明書及び秘密鍵を発行する役割を担う。換言すれば、トラステッド承認センタはクラウドのためのＣＡとして機能する。トラステッド承認センタはサードパーティＣＡからトラステッド証明書及び対応する秘密鍵を受信することができ、又はトラステッド承認センタに関連するＴＰＭモジュールを使用してトラステッド証明書及び秘密鍵を生成することができる。ＣＡがトラステッド証明書及び秘密鍵を発行する前、ＣＡはトラステッド承認センタを認証する必要があり、そのプラットフォームの完全性を確認することに留意されたい。クラウド内の他のエンティティ又は機器に発行される他の秘密鍵と区別するために、トラステッド承認センタのトラステッド証明書及び秘密鍵はシステム証明書及びシステム秘密鍵とそれぞれ呼ぶことができる。他方で、トラステッド承認センタによって１つの機器に発行される秘密鍵は機器秘密鍵と呼ぶことができる。
【００５０】
[0059]  一部の実施形態では、トラステッド承認センタがエンティティからの承認要求（又は初期設定要求）に応答して、トラステッド証明書及び秘密鍵を要求側のエンティティに発行することができる。トラステッド証明書及び秘密鍵は、システム秘密鍵、及び、要求側のエンティティ又は１つの機器によって提供される情報（例えば要求側のエンティティの識別情報並びにそのプラットフォーム情報）に基づいてトラステッド承認センタによって生成され得る。トラステッドコンピューティングを使用可能なエンティティでは、プラットフォーム情報が、エンティティ上でトラステッドコンピューティングを強制したモジュール（例えばＴＰＭモジュールやＴＰＣＭモジュール）に関連する固有の識別情報及びプラットフォーム構成レジスタ（ＰＣＲ）値を含み得ることに留意されたい。
【００５１】
[0060]  図３Ａは、一実施形態によるセキュアシステムの簡易図を示す。セキュアシステム３００は、トラステッド承認センタ３０２及びトラステッド承認センタ３０２に結合される幾つかのトラステッドエンティティ（例えばトラステッドエンティティ３０４及び３０６）を含み得る。トラステッド承認センタは集中制御を有することができ、集中制御では単一ノード（例えば独立型サーバ）がシステム秘密鍵を保持し、証明書及び秘密鍵を生成し要求側の機器に配送する機能を実行する。或いはトラステッド承認センタは分散制御を有することができ、分散制御では複数の制御ノードが承認の役目を共有し、従ってシステム秘密鍵のセキュリティや機器秘密鍵のセキュリティ等のセキュリティを更に向上させる。
【００５２】
[0061]  一部の実施形態では、トラステッド承認センタが互いに結合される複数のトラステッド制御ノード（例えば図２に示すノード２０６及び２０８）を含み得る。これらの制御ノードは承認の役目を共同で共有し実行する。図３Ｂは、一実施形態による、分散型のトラステッド承認センタを有するセキュアシステムの簡易図を示す。セキュアシステム３１０は、トラステッド承認センタ３１２及びトラステッド承認センタ３１２に結合される幾つかのトラステッドエンティティ（例えばトラステッドエンティティ３１４及び３１６）を含み得る。トラステッド承認センタ３１２は、スイッチ３２２経由で相互接続される幾つかの制御ノード（例えば制御ノード３１８及び３２０）を含み得る。
【００５３】
[0062]  トラステッド承認センタ３１２内の複数のトラステッド制御ノードはシステム秘密鍵を共有することができる。システム秘密鍵の秘密性を保証するために、一部の実施形態では（ｔ，ｎ）閾値秘密共有方式（Shamirの方式）を使用して、マスタ制御ノードによって生成されるシステム秘密鍵をｎ個の制御ノードが共有することを可能にする。この（ｔ，ｎ）閾値秘密共有方式は秘密をｎ個の共有情報に分割することを可能にし、ｎ個のうちの任意のｔ個（又はｔを上回る数）の共有情報を使用して秘密を回復できることに留意されたい。マスタ制御ノードはトラステッド承認センタ３１２内で最も信頼できるノードとすることができる。トラステッド承認センタ３１２内にｎ個の制御ノードがある場合、（ｔ，ｎ）閾値法を使用してシステム秘密鍵をｎ個の共有情報に分割することができ、但しｔはｎ以下である。次いでマスタ制御ノードは、システム秘密鍵の（ｎ−１）個の共有情報を他のｎ−１個の制御ノード間で分配することができる。システム秘密鍵の各共有資源はシステム副鍵と呼ぶこともできる。その結果、各制御ノードが異なるシステム副鍵又はシステム秘密鍵の異なる共有情報を保持する。
【００５４】
[0063]  承認要求を受信することに応答して、制御ノードは要求側の機器の識別情報及びプラットフォームの完全性をまず確認し、要求側の機器のシステム秘密鍵の共有情報と、要求側の機器に関連する識別情報及びプラットフォーム情報とに基づいて機器の副鍵を生成することができる。セキュリティを更に向上させるために、制御ノードは機器の副鍵を生成するときタイムスタンプ値を組み込むこともできる。
【００５５】
システムの初期設定
[0064]  一部の実施形態ではセキュアシステムの初期設定が、トラステッド証明書及び秘密鍵を得ることを含み得るトラステッド承認センタの初期設定を含むことができる。一部の実施形態ではトラステッド承認センタが単一のエンティティを含むことができ、トラステッド証明書と秘密鍵との対をサードパーティＣＡから得ることができる。或いは、トラステッド承認センタはトラステッド承認センタを共同で管理し制御する複数の制御ノードを含み得る。
【００５６】
[0065]  図４は、一実施形態による、分散型のトラステッド承認センタの例示的な初期設定プロセスを示すフローチャートを示す。初期設定中、トラステッド承認センタに関連する公開鍵−秘密鍵の対を得る（操作４０２）。この公開鍵−秘密鍵の対はサードパーティＣＡから得ることができ、又はマスタトラステッド制御ノードによって生成され得る。例えばシステムの秘密Ｓを次式：
【数４】
2019535153.tif 000007
に従って生成することができ、但しＳｒは量子雑音源によって生成される乱数とすることができ、ＣＡＩＤはトラステッド承認センタに割り当てられた識別情報とすることができ、ＣＡＰＩＤはプラットフォーム識別情報とすることができ、ｅｘｐｉｒｅ＿ｔｉｍｅは現在のタイムスタンプとすることができる。ＣＡＩＤ／ＣＡＰＩＤ／ｅｘｐｉｒｅ＿ｔｉｍｅは、これらの３つのパラメータに基づく出力を生成することができる所定のアルゴリズムを示し得る。
【００５７】
[0066]  特定のトラステッド制御ノードを選択するために、信頼レベル等の様々な基準を使用できることに留意されたい。例えば最も高い信頼レベルを有する制御ノードをマスタトラステッド制御ノードとして選択することができる。或いは、マスタトラステッド制御ノードは無作為に選択することができる。一部の実施形態では、公開鍵−秘密鍵の対がマスタトラステッド制御ノードのＴＰＭ又はＴＰＣＭチップによって生成され得る。
【００５８】
[0067]  公開鍵−秘密鍵の対のうちの公開鍵を公にする（操作４０４）。より詳細には、この公開鍵はトラステッド承認センタ内の全ての制御ノードに対して公にされ得る。加えて、クラウド内の他のノードもこの公開鍵を通知され得る。次いで秘密共有方式（例えば（ｔ，ｎ）閾値法）を使用し、秘密鍵（システム秘密鍵としても知られる）を幾つかの共有情報に分割することができる（操作４０６）。トラステッド承認センタ内にｎ個のトラステッド制御ノードがある場合はシステム秘密鍵をｎ個の共有情報に分割することができ、各共有情報はＳｉ（ｉ＝１，２，．．．，ｎ）として示される。次いで、システム秘密鍵のｎ個の共有情報をｎ個のトラステッド制御ノードに１つずつ送信することができる（操作４０８）。一部の実施形態では、量子強化セキュアチャネルをＱＫＤ方式によってトラステッド制御ノード間で確立することができる。例えば任意の２つのトラステッド制御ノードが、暗号化に使用可能な対称鍵をＱＫＤ方式によって交換することができる。システム秘密鍵のｎ個の共有情報（又はｎ個のシステム副鍵）は、過去に確立した量子強化セキュアチャネルによって送信することができる。例えば、システム秘密鍵の特定の共有情報は、受信側のトラステッド制御ノードに送信される前に対称鍵を使用して暗号化することができる。或いは、マスタトラステッド制御ノードがキュビット形式の（即ち量子状態を使用して符号化されている）システム副鍵を直接送信し、冗長な伝送及びオンデマンドの再伝送を使用して伝送の信頼性を保証することができる。
【００５９】
[0068]  各トラステッド制御ノードは、受信したシステム秘密鍵の共有情報（Ｓｉ）を自らのＴＰＭ又はＴＰＣＭチップに記憶することができる（操作４１０）。一例として図３Ｂを使用し、マスタトラステッド制御ノード（例えばトラステッド制御ノード３１８）は（ｔ，ｎ）閾値法を使用してシステム秘密鍵を４つの共有情報に分割し、１つの共有情報を自らのＴＰＭに記憶し、残りの３つの共有情報をトラステッド制御センタ３１２内の他の３つのトラステッド制御ノード（例えば制御ノード３２０）に送信することができる。マスタトラステッド制御ノードが攻撃され又は危険にさらされることによるシステム秘密鍵の喪失を防ぐために、マスタトラステッド制御ノードは他のトラステッド制御ノードに送信されたシステム秘密鍵並びに共有情報を削除することができる。
【００６０】
[0069]  エンティティ又は１つの機器はトラステッド承認センタに承認要求を送信し、それに応答してトラステッド証明書及び対応する秘密鍵（即ち機器秘密鍵）を受信することができる。トラステッド証明書及び機器秘密鍵は、認証目的で後に使用することができる。トラステッド承認センタが分散システムである場合（例えば、トラステッド制御ノードの組を含む場合）、エンティティはトラステッド制御ノードのサブセットに承認要求を送信することができる。
【００６１】
[0070]  図５は、一実施形態による、トラステッド証明書及び機器秘密鍵を発行するための例示的プロセスを示すフローチャートを示す。初期設定中、エンティティが、トラステッド承認センタに属するトラステッド制御ノードのサブセットに承認要求を送信し（操作５０２）、その要求を受信する各トラステッド制御ノードと相互認証を行う（操作５０４）。サブセット内のトラステッド制御ノードの数は、システム秘密鍵の共有に使用される秘密共有方式に依存する。例えば（ｔ，ｎ）閾値法を使用する場合、エンティティは承認要求を少なくともｔ個のトラステッド制御ノードに送信することができる。相互認証はデジタル証明書を交換することによって行うことができる。より詳細には、エンティティは自らの識別情報及び自らのＴＰＭと結び付くデジタル証明書を自らの承認要求に付加することができる。それに応答して、受信側のトラステッド制御ノードは、同じくトラステッド制御ノードの識別情報及びＴＰＭと結び付く自らのデジタル証明書をトラステッドクラウドサーバに送信することもできる。
【００６２】
[0071]  相互認証の後、各トラステッド制御ノードは要求側のエンティティの副鍵（又は機器の副鍵）を生成することができる（操作５０６）。より詳細には、副鍵は要求側のエンティティの識別情報及びＴＰＭ情報に基づいて生成することができる。ＴＰＭ情報は、ＴＰＭの固有の識別情報及びＰＣＲ値を含み得る。ＰＣＲ値は、トラステッドプラットフォームの最初のトラステッド測定結果を抽出するために使用することができ、プラットフォームの信頼性についてのその後の測定の基準として後で使用できることに留意されたい。一部の実施形態では、要求側のエンティティの抽出済みの最初のトラステッド測定結果を他のトラステッド制御ノードがマスタトラステッド制御ノードに送信することができ、マスタトラステッド制御ノードは要求側のエンティティに関連する最初のトラステッド測定結果のレコードを保持する役割を担い得る。
【００６３】
[0072]  エンティティｕについてトラステッド制御ノードｒによって生成される副鍵は次式：
【数５】
2019535153.tif 000008
として計算することができ、但しｉ＝１，．．．，ｎ、ｒ＝１，．．．，ｔであり、ｉｒはｎ個のノードから選択される任意のｔ個のノードを示す。例えばｉ＝３且つｔ＝１は、３つの制御ノードから選択されるトラステッド制御ノードを指すことができ、
【数６】
2019535153.tif 000009
は被要求側のトラステッド制御ノードのＴＰＭに記憶されるシステム副鍵（又はシステム秘密鍵の共有情報）であり得る。ｅｘｐｉｒｅ＿ｔｉｍｅはタイムスタンプの値とすることができ、ｕＩＤは特定のアルゴリズムに従って要求側のエンティティの識別情報に基づいて計算することができ、ＴＰＭＩＤは特定のアルゴリズムに従って要求側のエンティティのＴＰＭ情報に基づいて計算することができる。ＴＰＭの代わりにＴＰＣＭを使用する場合、公式内でＴＰＣＭＩＤを使用することができる。ｕＩＤ／ＴＰＭＩＤ／ｅｘｐｉｒｅ＿ｔｉｍｅは、これらの３つのパラメータに基づく出力を生成することができる所定のアルゴリズムを示し得る。副鍵Ｓｕｒに加えて、被要求側のトラステッド制御ノードは副鍵に基づいて要求側のエンティティのサブ証明書も生成することができる。
【００６４】
[0073]  要求側のエンティティ及び被要求側のトラステッド制御ノードは量子強化セキュア通信チャネルを確立することができ（操作５０８）、被要求側のトラステッド制御ノードは要求側のエンティティに副鍵をそれぞれ伝送することができる（操作５１０）。エンティティとトラステッド制御ノードとの間で量子強化セキュア通信チャネルを確立することは、対称鍵がネゴシエートされ得るＱＫＤプロセス（例えばＢＢ８４）を伴うことができ、エンティティに副鍵を伝送することは、ネゴシエートされた対称鍵を使用して副鍵を暗号化することを含み得る。暗号化された副鍵を受信すると、要求側のエンティティはネゴシエートされた対称鍵を使用してその副鍵を復号することができる。
【００６５】
[0074]  トラステッド制御ノードのサブセット（例えばｔ個のトラステッド制御ノード）から副鍵を受信した後、要求側のエンティティは自らの秘密鍵を生成するために副鍵を組み合わせることができる（操作５１２）。より詳細には、ｔ個のトラステッド制御ノードからｔ個の副鍵を受信することにより、エンティティは実質的にｔ個の点の座標（Ｘｉ１，Ｓｕ１），（Ｘｉ２，Ｓｕ２），．．．，（Ｘｉｔ，Ｓｕｔ）を取得し、その後、ラグランジュ補間を使用して原関数ｆ（Ｘ）を得ることができる。エンティティｕの機器秘密鍵（Ｓｕ）はｆ（０）として計算することができる。一部の実施形態ではＳｕを
【数７】
2019535153.tif 000010
として計算することができ、但しＸはラグランジュ補間内で使用される変数であり、１、２、３、．．．に等しいものとして設定することができる。
【００６６】
[0075]  要求側のエンティティは自らのＴＰＭ内に機器秘密鍵を記憶することができる（操作５１４）。エンティティは、機器秘密鍵に基づいてトラステッド証明書を生成することができる（操作５１６）。一部の実施形態では、要求側のエンティティがクラウドクライアント装置である場合、自らのＴＰＭ内に機器秘密鍵及びトラステッド証明書を記憶することに加えて、そのエンティティは遠隔トラステッドサーバ又はトラステッド周辺記憶装置のＴＰＭ内にそれらの情報を投入することもできる。或いはクライアント装置は、自らのＴＰＭを使用して機器秘密鍵及びトラステッド証明書を暗号化し、暗号化した情報をトラステッド記憶装置に記憶することができる。クラウドクライアント装置の正当なユーザだけがＴＰＭ及びトラステッド記憶装置にアクセスすることができ、それにより機器秘密鍵のセキュリティを保証する。
【００６７】
[0076]  図５に示す例では、トラステッド承認センタが分散システムである。原則的に作業工程は、要求側のエンティティが集中型トラステッド制御センタに単一の承認要求を送信するだけで良いことを除き、集中型トラステッド制御センタと同様であり得る。集中型承認センタは、承認要求内に含まれる識別情報及びプラットフォーム情報に基づいて、要求側のエンティティの識別情報及び完全性を確認することができる。識別情報は、ユーザ識別情報、機器識別情報、及び要求側のエンティティ上で実行される特定のスレッド又はプロセスに関連する情報を含み得る。プラットフォーム情報は、（ハードウェア、ファームウェア、及びソフトウェアとして実装され得る）ＴＰＭの固有の識別情報及びＰＣＲ値を含み得る。集中型トラステッド制御センタは、要求側のエンティティの識別情報をホワイトリストと比較することによって、又は機器の製造業者に問い合わせることによって、かかる識別情報を確認することができる。
【００６８】
[0077]  要求側のエンティティの識別情報及び完全性を確認した後、集中型承認センタは、識別情報に基づくエンティティＩＤ（ｕＩＤ）及びプラットフォーム情報に基づくプラットフォームＩＤ（ＰＴＭＩＤ）を計算し、所定のアルゴリズムを使用してｕＩＤとＰＴＭＩＤとを組み合わせることができる。次いで、所定の秘密鍵生成アルゴリズムを使用して機器秘密鍵を生成するために、集中型承認センタは、組み合わさったＩＤ及びシステム秘密鍵を入力として使用することができる。セキュリティを向上させるために、機器秘密鍵の生成は現在のタイムスタンプの値を入力として含むこともでき、それにより時間と共に動的に変化する秘密鍵が作り出される。一部の実施形態では、機器秘密鍵の計算をＳｕ＝ｕＩＤ／ＴＰＭＩＤ／ｅｘｐｉｒｅ＿ｔｉｍｅとして表すことができ、但しｕＩＤ／ＴＰＭＩＤ／ｅｘｐｉｒｅ＿ｔｉｍｅは、これらの３つのパラメータに基づく出力を生成することができる所定のアルゴリズムを示し得る。
【００６９】
トラステッドコンピューティングに基づく量子鍵のネゴシエーション
[0078]  システムを初期設定した後、即ちエンティティが機器秘密鍵及びトラステッド証明書を受信した後、エンティティは各々の間のセキュア通信チャネルを確立し始めることができる。一部の実施形態では、２つのエンティティがトラステッドコンピューティングに基づくＱＫＤ方式を使用して１つ又は複数の共有量子データ鍵を作成することができる。２つの通信エンティティが共有秘密量子ストリングを過去にネゴシエートしていると想定することができる。各エンティティは自らのＴＰＭ内に共有秘密量子ストリングを記憶することができる。例えばエンティティは、ＴＰＭストレージルート鍵を使用してトラステッドストレージ鍵を生成し、ＴＰＭストレージルート鍵を使用して共有秘密量子ストリングを暗号化し、暗号化したストリングをＴＰＭに記憶することができる。相互認証の後、これらの２つのエンティティが記憶済みの秘密量子ストリングから量子データ鍵を作成することを可能にするために、２つのエンティティは量子データ鍵の長さ及び開始ビット位置をネゴシエートすることができる。
【００７０】
[0079]  一部の実施形態では、同じ共有秘密量子ストリングから複数の量子データ鍵を作成することができ、それにより鍵の生成効率を高める。
【００７１】
[0080]  一部の実施形態では、複数の量子データ鍵が同じ長さを有することができ、秘密量子ストリングから連続的に抽出される。例えば第１のエンティティは、鍵の数（ｍ）、それらの長さ（ｌ）、及び開始ビット位置（ｉ）を含む幾つかの鍵生成パラメータを第２のエンティティに伝達することができる。即ち、ｍ個の量子データ鍵は、共有秘密量子ストリング内のビット位置ｉから始まってビット位置ｉ＋ｍ・ｌ−１で終わるビットを含む。共有秘密量子ストリング内の総ビット数がｎである場合、鍵生成パラメータがｍ・ｌ＜（ｎ−ｉ）に制約され得ることに留意されたい。
【００７２】
[0081]  表２は一実施形態による例示的な共有秘密量子ストリングを示す。
【００７３】
【表２】
2019535153.tif 000011
【００７４】
[0082]  一例として表２に示す共有秘密量子ストリングを使用し、鍵生成パラメータ｛ｌ，ｍ，ｉ｝が｛８，２，１｝に設定される場合、ビット位置１から始まる２つの８ビット鍵が生成されることを意味する。その結果、生成される２つの量子データ鍵は０１１１０１０１及び１０１０１１００になる。見て分かるように、この連続的な手法を使用し、量子データ鍵の数は秘密量子ストリングの全長によって限定される。
【００７５】
[0083]  異なる長さの量子データ鍵を生成することもできる。一部の実施形態では、１対の鍵生成パラメータ（｛ｌ，ｉ｝）を使用して量子データ鍵を定めることができ、但しｌは長さでありｉは開始ビット位置である。第１のエンティティはｋ個の量子データ鍵を生成するために使用可能なｋ対の鍵生成パラメータ｛ｌ１，ｉ１｝，｛ｌ２，ｉ２｝，．．．，｛ｌｋ，ｉｋ｝を送信することができる。一例として表２に示す共有秘密量子ストリングを使用し、第１のエンティティが２対の鍵生成パラメータ｛１０，１｝，｛３，１２｝を送信する場合、第１の鍵がビット０から始まる１０ビット有し、第２の鍵がビット１２から始まる３ビット有することを意味する。従って、表２に示す秘密量子ストリングから生成される２つの量子データ鍵は０１１１０１０１１０及び０１１になる。生成される量子データ鍵が部分的に重複しても良い。その結果、生成される量子データ鍵内に含まれる総ビット数が共有秘密量子ストリング内に含まれるビット数よりも多くなり得る。例えば鍵生成パラメータが｛１０，１｝，｛６，３｝，｛９，８｝の場合、ネゴシエートされる量子データ鍵は０１１１０１０１１０、１１０１０１、及び１１０１０１１００になり得る。３つの量子データ鍵の総ビット数は２５であり、表２に示す秘密量子ストリングの長さをはるかに上回る。先に論じたように、この手法は鍵の生成効率を著しく高めることができる。その鍵生成効率が誤差率によって限定されるＢＢ８４等の従来のＱＫＤ方式と比較し、この手法はクラウドコンピューティングの需要を満たすために多数の量子データ鍵を作成する潜在能力を有する。或いは鍵生成パラメータを｛ｌ１，１，ｉ１｝，｛ｌ２，２，ｉ２｝，．．．，｛ｌｋ，ｋ，ｉｋ｝として設定することができ、但しｋは鍵シーケンス番号である。
【００７６】
[0084]  或いは、秘密量子ストリングから量子データ鍵を連続的に抽出することができ、鍵生成パラメータは各量子データ鍵の開始ビット位置だけを含めば良い。換言すれば、ｋ番目の鍵の開始ビット位置が（ｋ−１）番目の鍵の終了ビット位置の直後に続く場合、鍵生成パラメータは｛ｉ１｝，｛ｉ２｝，．．．，｛ｉｋ｝であり得る。一例として表２に示す共有秘密量子ストリングを使用し、第１のエンティティが３組の鍵生成パラメータ｛１｝，｛５｝，｛１４｝を送信する場合、生成される量子データ鍵は０１１１、０１０１１０１０１、及び１００になる。
【００７７】
[0085]  １つ又は複数の量子データ鍵を構築するために秘密量子ストリングから特定のビットを所定の規則に従って抽出するために通信エンティティが使用可能である限り、他の種類の鍵生成パラメータもあり得る。
【００７８】
[0086]  セキュリティを確実にするために、鍵生成パラメータは暗号化された形式で伝送することができる。例えば第１のエンティティは第２のエンティティの公開鍵を使用して鍵生成パラメータを伝送前に暗号化することができる。受信すると、第２のエンティティは対応する機器秘密鍵を使用してパラメータを復号し取得することができる。或いは、鍵生成パラメータは過去に生成された量子データ鍵を使用して暗号化することができる。より詳細には、最初の鍵ネゴシエーションプロセス中に鍵生成パラメータを暗号化するために公開鍵を使用することができるのに対し、その後の鍵ネゴシエーションプロセスは伝送される鍵生成パラメータを暗号化するために直近に生成された量子データ鍵を使用することができる。直近のイベント内で複数の量子データ鍵が生成された場合、鍵生成パラメータを暗号化するために最後の量子データ鍵を使用する。
【００７９】
[0087]  鍵ネゴシエーションのセキュリティを更に向上させるために、第１のエンティティは、鍵生成パラメータと、過去にネゴシエートされた量子データ鍵又は機器秘密鍵であり得る共有秘密ストリングとに基づいてハッシュ関数を計算し、第２のエンティティに伝送することができる。加えて、第２のエンティティの識別情報及び完全性を検証するために、第２のエンティティは、第１のエンティティの公開鍵を使用して暗号化したメッセージを自らの応答内に含めることができる。メッセージは、１つ又は複数の鍵生成パラメータの所定の変形も含むことができる。例えばメッセージは（ｍ−１）含むことができ、但しｍは鍵の数である。或いはメッセージはｌ及び／又はｉの値から導出される情報を含むことができる。第１のエンティティは、第１のエンティティの秘密鍵を使用して受信メッセージを復号することによって第２のエンティティを検証し、所定の変形を実行し、その結果を元の鍵生成パラメータと比較することができる。結果が一致する場合、第２のエンティティの識別情報が正当だと認めることができる。或いは第２のエンティティは、過去にネゴシエートされた量子データ鍵を使用してメッセージを暗号化することができる。
【００８０】
[0088]  図６は、一実施形態による、共有量子データ鍵を作成するプロセスを記載する時間−状態図を示す。量子データ鍵が秘密量子ストリングと異なることに留意されたい。秘密量子ストリングはＱＫＤプロセスによって得られる生データビットを含むことができる。量子データ鍵は秘密量子ストリング内の特定のビットを含むことができ、ビットの位置が通信当事者間でネゴシエートされ得る。量子データ鍵は典型的には秘密量子ストリングのサブセットだが、秘密量子ストリング全体が量子データ鍵として使用されることもあり得る。現在の鍵ネゴシエーションプロセスの前に、通信エンティティが従来のＱＫＤプロセス（例えばＢＢ８４やＥ９１）を使用して秘密量子ストリングを過去にネゴシエートしていると想定する。各当事者は自らのＴＰＭ内に又はトラステッド記憶域内に秘密量子ストリングを記憶することができる。
【００８１】
[0089]  動作中、第１のエンティティ６０２が第２のエンティティ６０４に確認要求を送信する（操作６０６）。この要求は、トラステッド承認センタによって発行されるトラステッド証明書及びトラステッド測定レポートを含み得る。トラステッド測定レポートは、トラステッドプラットフォームのプラットフォーム状態の測定結果を含む。より詳細には、トラステッド測定レポートは、エンティティ６０２のトラステッドコンピューティングプラットフォームの信頼性を測定するために、証明書、完備性、及びセキュリティのアサーションを含む様々な機構を使用することができる。第２のエンティティ６０４が、トラステッド証明書及びトラステッド測定レポートの両方に基づいて第１のエンティティ６０２を認証する（操作６０８）。第１のエンティティ６０２のトラステッド証明書がトラステッド承認センタによって発行されているので、第２のエンティティ６０４はその信頼性を想定できることに留意されたい。更に第２のエンティティ６０４は、システム公開鍵を使用してトラステッド証明書を復号することによってトラステッド証明書内に含まれる識別情報及びプラットフォーム情報を取得し、その識別情報及びプラットフォーム情報をホワイトリストと比較して第１のエンティティ６０２の信頼性を確認することもできる。
【００８２】
[0090]  識別情報を確認することに加えて、第２のエンティティ６０４は、確認要求内に含まれるトラステッド測定レポートに基づいて第１のエンティティ６０２のプラットフォームの完全性を明らかにすることもできる。例えば、受信されるトラステッド測定レポートを、トラステッド承認センタに記憶されている第１のエンティティ６０２の最初のレポートと比較することができる。この比較を行うために、第２のエンティティ６０４は、トラステッド承認センタに第１のエンティティ６０２のトラステッド測定レポートを送信することができ、トラステッド承認センタは、受信したレポートを最初のレポートと比較し、第１のエンティティ６０２の信頼性に関する審査結果を第２のエンティティ６０４に送信する。或いはトラステッド承認センタ（又は分散システム内のマスタ制御ノード）が、第２のエンティティ６０４に最初のレポートを送信することができ、第２のエンティティ６０４は、受信したレポートを最初のレポートと比較して第１のエンティティ６０２が信頼されたままであるかどうかを判定することができる。例えば、特定のプラットフォーム状態が、最初のレポート内のプラットフォーム状態から逸脱することを、受信されるトラステッド測定レポートが示す場合、そのレポートは、プラットフォームが特定の不正に修正されたコードを実行している可能性があり、もはや信頼することができないことを示し得る。その結果、第２のエンティティ６０４は第１のエンティティ６０２からの確認要求を破棄し又は無視することによってプロセスを終了することができる。第１のエンティティ６０２のトラステッド測定レポートを調べることにより、プラットフォームの完全性の動的な確認を確実にすることができ、その結果より正確な確認結果を可能にする。
【００８３】
[0091]  第１のエンティティ６０２を認証することに応答して、第２のエンティティ６０４が第１のエンティティ６０２に確認要求を送信することができる（操作６１０）。確認要求は、トラステッド承認センタによって発行される証明書、及び第２のエンティティ６０４の信頼性を反映する第２のエンティティ６０４のトラステッド測定レポートを含み得る。要求を受信すると、第１のエンティティ６０２が、トラステッド証明書及びトラステッド測定の両方に基づいて第２のエンティティ６０４を認証する（操作６１２）。操作６１２は操作６０８と同様であり得る。認証に失敗する場合、第１のエンティティ６０２もプロセスを終了することができる。
【００８４】
[0092]  相互認証の後、第１のエンティティ６０２が鍵生成パラメータの組を定め、第２のエンティティ６０４の公開鍵を使用して鍵生成パラメータを暗号化し、鍵及び鍵生成パラメータのハッシュ関数を計算し、暗号化した鍵生成パラメータ及びハッシュ関数を第２のエンティティ６０４に伝送する（操作６１４）。例えば鍵が等しい長さのものであり、鍵生成パラメータが｛ｌ，ｍ，ｉ｝として示される場合、第１のエンティティ６０２から第２のエンティティ６０４に送信されるメッセージは｛ＥＮＣｋｅｙ（ｌ，ｍ，ｉ），ｈａｓｈ（ｋｅｙ，ｌ，ｍ，ｉ）｝とすることができ、但しＥＮＣｋｅｙ（ｌ，ｍ，ｉ）は（例えば第２のエンティティの公開鍵又は所定の量子データ鍵を用いた）鍵生成パラメータ｛ｌ，ｍ，ｉ｝の暗号化を意味し、ｈａｓｈ（ｋｅｙ，ｌ，ｍ，ｉ）は暗号鍵及び鍵生成パラメータに基づいて計算されるハッシュ関数を意味する。他方で、鍵が異なる長さのものであり、特定の鍵の鍵生成パラメータが｛ｌｋ，ｉｋ｝又は｛ｌｋ，ｋ，ｉｋ｝として示される場合、第１のエンティティ６０２から第２のエンティティ６０４に送信されるメッセージは、｛ＥＮＣｋｅｙ（ｌｋ，ｋ，ｉｋ），ｈａｓｈ（ｋｅｙ，ｌｋ，ｋ，ｉｋ）｝とすることができる。生成される鍵ごとに１つずつ、複数のメッセージが第１のエンティティ６０２から第２のエンティティ６０４に送信され得る。或いは、複数の鍵のための複数の鍵生成パラメータの組を１つのメッセージとして暗号化し、単一のハッシュ関数を計算することができる。
【００８５】
[0093]  メッセージを受信すると、第２のユニットは、第２のエンティティの秘密鍵又は所定の量子データ鍵を使用して暗号化メッセージを復号して、鍵生成パラメータを得ることができる。更に、第２のエンティティは、鍵（例えば第２のエンティティの公開鍵）及び取得した鍵生成パラメータに基づいてハッシュ関数を計算し（操作６１６）、計算したハッシュ関数を、受信したハッシュ関数と比較することができる（操作６１８）。結果が一致することは、第１のエンティティの識別情報及び鍵生成パラメータの完備性が正当であることを認め得る。第１のエンティティ及び鍵生成パラメータを検証した後、第２のエンティティは、肯定応答メッセージを生成することができる（操作６２０）。肯定応答メッセージを生成するために、第２のエンティティは、取得した鍵改変パラメータの変形を所定の規則に従って計算し、計算した結果を暗号化することができる。例えば第２のエンティティはｍ−１又はｌ＋１を計算し、計算した結果を暗号化してＥＮＣｋｅｙ（ｍ−１）又はＥＮＣｋｅｙ（ｌ−１）を得ることができる。暗号鍵は第１のエンティティの公開鍵又は所定の量子データ鍵とすることができる。次いで第２のエンティティは第１のエンティティに肯定応答メッセージを送信し（操作６２２）、鍵生成パラメータに基づいて量子データ鍵を共有秘密量子ストリングから抽出し、抽出した量子データ鍵を自らのＴＰＭ内に又はトラステッド記憶域に記憶することができる（操作６２４）。より詳細には、抽出した量子データ鍵をトラステッド記憶域に記憶する前に、第２のエンティティは、自らのＴＰＭによって生成される暗号鍵を使用して、抽出した量子データ鍵を暗号化することができる。
【００８６】
[0094]  肯定応答メッセージを受信すると、第１のエンティティは、第１のエンティティの秘密鍵又は所定の量子データ鍵を使用してメッセージを復号し（操作６２６）、変形された鍵改変パラメータについての自らの計算と復号結果とを比較することができる（操作６２８）。結果が一致することは第２のエンティティが正当であることを認め得る。第２のエンティティを検証した後、第１のエンティティは、鍵生成パラメータに基づいて量子データ鍵を共有秘密量子ストリングから抽出し、抽出した量子データ鍵を自らのＴＰＭ内に又はトラステッド記憶域に記憶することができる（操作６３０）。より詳細には、抽出した量子データ鍵をトラステッド記憶域に記憶する前に、第２のエンティティは、自らのＴＰＭによって生成される暗号鍵を使用して、抽出した量子データ鍵を暗号化することができる。
【００８７】
[0095]  図６に示す例から分かるように、各鍵ネゴシエーションプロセスは複数の量子データ鍵を生成することができ、それによりこの鍵ネゴシエーション方式をクラウドコンピューティング設定内で使用するのに適したものにする。クラウドコンピューティング設定では、クラウドサーバ間で、又はクラウドクライアントとクラウドサーバとの間で、多数の鍵が使用されることが多くの場合に要求される。例えば図６に示す第１のエンティティ及び第２のエンティティは、クラウドサーバ装置（例えば図２に示すサーバクラスタ２０２又は２０４内のサーバ）、又はクラウドクライアント装置（例えば図２に示すユーザ群２１６内のクライアント装置）とすることができる。クラウドクライアント装置がＱＫＤを使用できない場合、そのクラウドクライアント装置は、鍵のネゴシエーションに参加するためにクラウドサービスプロバイダからＱＫＤ機器を借りることができる。
【００８８】
[0096]  図７は、一実施形態による、トラステッド承認センタ内のトラステッド制御ノードのブロック図を示す。一般性を失うことなしに、トラステッド制御ノード７００はマスタトラステッド制御ノードとすることができる。トラステッド制御ノード７００は、ＴＰＭ７０２、ＱＫＤモジュール７０４、鍵分割モジュール７０６、鍵配送モジュール７０８、副鍵生成モジュール７１０、認証モジュール７１２、送信モジュール７１４、受信モジュール７１６、及び暗号化／復号モジュール７１８を含み得る。
【００８９】
[0097]  ＴＰＭ７０２は、鍵及び／又は証明書を記憶すること、生成すること、並びにプラットフォームの状態をモニタすることを含む、様々なトラステッドコンピューティング機能を提供することができる。更に、ＴＰＭ７０２はシステム秘密鍵の生成を担うことができる。ＱＫＤモジュール７０４は、量子チャネル上で通信当事者（例えばピアトラステッド制御ノードや、承認を要求するエンティティ）と秘密量子ストリングをネゴシエートする役割を担い得る。ネゴシエートされる秘密量子ストリングはＴＰＭ７０２に記憶され得る。
【００９０】
[0098]  鍵分割モジュール７０６は、（ｔ，ｎ）閾値秘密共有方式等の秘密共有アルゴリズムに基づいてシステム秘密鍵を幾つかの共有情報に分割する役割を担い得る。鍵配送モジュール７０８は、システム秘密鍵の様々な共有情報を他のピアトラステッド制御ノードに配送する役割を担い得る。システム秘密鍵の特定の共有情報もＴＰＭ７０２に記憶され得る。
【００９１】
[0099]  副鍵生成モジュール７１０は、トラステッドエンティティから承認要求を受信することに応答して副鍵を生成する役割を担い得る。より詳細には、副鍵はＴＰＭ７０２に記憶されるシステム秘密鍵の共有情報と、タイムスタンプ値と、要求側のトラステッドエンティティに関連する識別情報及びプラットフォーム情報（例えばＴＰＭの固有の識別情報やＰＣＲ値）とに基づいて生成され得る。一部の実施形態では、副鍵生成モジュール７１０はＴＰＭ７０２の一部であり得る。認証モジュール７１２は、承認を要求しているピアトラステッド制御ノードやエンティティ（例えばクラウドサーバやクラウドクライアント）等の通信相手を認証する役割を担い得る。
【００９２】
[00100]  送信モジュール７１４及び受信モジュール７１６は、通信相手にメッセージを伝送すること及び通信相手からメッセージを受信することをそれぞれ担い得る。通信相手はトラステッドエンティティ又はピアトラステッド制御ノードであり得る。ＱＫＤを容易にするために、送信モジュール７１４又は受信モジュール７１６は量子チャネルにも結合され得る。暗号化／復号モジュール７１８は、セキュア通信セッション中に送信されるメッセージングを暗号化すること及び受信されるメッセージを復号することを担い得る。
【００９３】
[00101]  図８は、一実施形態によるトラステッドエンティティのブロック図を示す。トラステッドエンティティ８００は、ＴＰＭ８０２、ＱＫＤモジュール８０４、秘密鍵生成モジュール８０６、証明書生成モジュール８０８、認証モジュール８１０、パラメータ生成／抽出モジュール８１２、暗号化／復号モジュール８１４、ハッシュモジュール８１６、検証モジュール８１８、量子データ鍵生成モジュール８２０、受信モジュール８２２、及び送信モジュール８２４を含み得る。
【００９４】
[00102]  ＴＰＭモジュール８０２は、図７に示したＴＰＭモジュール７０２と同様であり得る。ＱＫＤモジュール８０４は、通信相手（例えばトラステッド承認センタ内のトラステッド制御ノードや別のエンティティ）と共有秘密量子ストリングをネゴシエートする役割を担い得る。一部の実施形態では、ＱＫＤモジュール８０４がネゴシエート済みの共有秘密量子ストリングをＴＰＭモジュール８０２内に又はトラステッドエンティティ８００によって制御されるトラステッド記憶装置に記憶することができる。
【００９５】
[00103]  秘密鍵生成モジュール８０６は、トラステッド承認センタ内のトラステッド制御ノードのサブセットから受信される副鍵の組に基づいて機器秘密鍵を生成する役割を担い得る。証明書生成モジュール８０８は、機器秘密鍵に基づいてトラステッド証明書を生成することができる。一部の実施形態では、秘密鍵生成モジュール８０６及び証明書生成モジュール８０８はＴＰＭ８０２の一部であり得る。
【００９６】
[00104]  認証モジュール８１０は、通信相手を認証する役割を担い得る。通信相手は、トラステッド制御ノード又は別のエンティティとすることができる。一部の実施形態では、通信相手について受信されるトラステッド証明書だけでなく、受信されるトラステッド測定レポートにも基づいて、認証モジュール８１０が通信相手を認証する。
【００９７】
[00105]  パラメータ生成／抽出モジュール８１２は、１つ又は複数の量子データ鍵のネゴシエートプロセス中に鍵生成パラメータを生成すること又は抽出することを担い得る。生成されたパラメータは、通信相手に送信される前に暗号化／復号モジュール８１４によって暗号化され得る。同様に、受信した鍵生成パラメータを抽出するために、暗号化／復号モジュール８１４は受信メッセージを復号する必要がある。
【００９８】
[00106]  ハッシュモジュール８１６は、ハッシュ関数を計算する役割を担い得る。一部の実施形態では、ハッシュモジュール８１６が、１つ又は複数の鍵生成パラメータ及び共有秘密（例えば秘密鍵）の所定の変形に基づいてハッシュ関数を計算することができる。
【００９９】
[00107]  検証モジュール８１８は、受信されるハッシュ関数及び計算されるハッシュ関数に基づいて通信相手を検証する役割を担い得る。
【０１００】
[00108]  量子データ鍵生成モジュール８２０は、共有秘密量子ストリング及び鍵生成パラメータに基づいて１つ又は複数の量子データ鍵を生成する役割を担い得る。例えば鍵生成パラメータは、量子データ鍵の数、各鍵の長さ、及び鍵ごとの共有秘密量子ストリング内の開始ビット位置を指定することができる。
【０１０１】
[00109]  送信モジュール８２４及び受信モジュール８２２は、通信相手にメッセージを伝送すること及び通信相手からメッセージを受信することをそれぞれ担い得る。通信相手は、クラウドプロバイダに属する１つの機器（例えばクラウドサーバ）又はクラウドユーザに属する１つの機器（例えばクラウドクライアント）であり得る。ＱＫＤを容易にするために、送信モジュール８２４又は受信モジュール８２２は量子チャネルにも結合され得る。
【０１０２】
[00110]  概して、本明細書で開示した実施形態は、鍵配送のセキュリティ及び効率を確実にする技術的問題に対する解決策を提供する。より詳細には、システム内の様々なエンティティが、トラステッドコンピューティングのための規則を強制することができるハードウェア、ファームウェア、又はソフトウェア装置と、量子鍵の交換を可能にし得る装置とを備えることができる。トラステッドコンピューティングとＱＫＤとを組み合わせることは、鍵交換のセキュリティを強化する。より詳細には、ＱＫＤは、本質的に安全だが大規模な応用には適さない場合がある共有秘密量子ストリングを提供することができる。加えて、トラステッドコンピューティング技術は、通信当事者の識別情報の真正性に関するセキュリティ保証を提供することができ、計算環境及び挙動の動的な実行時モニタリングを提供することができる。トラステッド環境内で鍵生成パラメータを定め交換することにより、同じ量子ストリングから複数の鍵を生成することができ、それにより鍵の生成効率を著しく高める。
【０１０３】
[00111]  図４〜図８に示した動作プロセス及びシステム図は例示目的に過ぎない。ＱＫＤ方式によって特定の鍵の交換を実現し、トラステッドコンピューティング規則の一部又は全てを強制することができる限り、セキュアシステム内の様々なエンティティが様々な動作を実行することができ、様々な構造を有し得る。
【０１０４】
[00112]  図９は、本明細書に記載の一部の実施形態による、開示した傍受検出技術を実装するための例示的なクライアント−サーバネットワーク環境を示す。ネットワーク環境９００は、ネットワーク９０８によってサーバ９１０に通信可能に接続される幾つかの電子装置９０２、９０４、及び９０６を含む。１つ又は複数の遠隔サーバ９２０が、サーバ９１０及び／又は１つ若しくは複数の電子装置９０２、９０４、及び９０６に更に結合される。
【０１０５】
[00113]  一部の例示的実施形態では、電子装置９０２、９０４、及び９０６は、ラップトップコンピュータやデスクトップコンピュータ、スマートフォン、ＰＤＡ、ポータブルメディアプレーヤ、タブレットコンピュータ、１個又は複数個のプロセッサが結合され又は埋め込まれたテレビや他のディスプレイ、ウェブページやウェブアプリケーションを表示するために使用可能な他の適切な計算装置等の計算装置であり得る。一例では、電子装置９０２、９０４、及び９０６は、ブラウザやアプリケーション等のユーザエージェントを記憶する。図９の例では、電子装置９０２をスマートフォンとして示し、電子装置９０４をデスクトップコンピュータとして示し、電子装置９０６をＰＤＡとして示す。
【０１０６】
[00114]  サーバ９１０は、処理装置９１２及びデータストア９１４を含む。処理装置９１２は、例えばサービススケジューリングプロセス中にサービスプロバイダと電子装置９０２、９０４、及び９０６における顧客との間の、顧客が開始したサービスやサービスプロバイダが開始したサービスのスケジューリングを支援するために、データストア９１４に記憶されるコンピュータ命令を実行する。
【０１０７】
[00115]  一部の例示的態様では、サーバ９１０はコンピュータサーバ等の単一の計算装置であり得る。他の実施形態では、サーバ９１０はサーバコンピュータの動作を実行するために連携する複数の計算装置を表し得る（例えばクラウドコンピューティング）。サーバ９１０は、ネットワーク９０８経由でクライアント装置（例えば電子装置９０２、９０４、又は９０６）におけるブラウザに通信可能に結合されるウェブサーバをホストすることができる。一例では、サービススケジューリングプロセス中にサービスプロバイダと顧客との間の、顧客が開始したサービス又はサービスプロバイダが開始したサービスをスケジューリングするためのクライアントアプリケーションを、サーバ９１０がホストすることができる。サーバ９１０は、ネットワーク９０８経由で又は別のネットワーク若しくは通信手段経由で、１つ又は複数の遠隔サーバ９２０と更に通信することができる。
【０１０８】
[00116]  １つ又は複数の遠隔サーバ９２０は、サーバ９１０に関して本明細書で記載する様々な機能及び／又は記憶能力を単独で又はサーバ９１０と組み合わせて実行することができる。１つ又は複数の遠隔サーバ９２０のそれぞれが様々なサービスをホストすることができる。例えばサーバ９２０は、提案される位置に関連するウェブページやウェブサイト等の、１つ又は複数の提案される位置に関する情報を提供するサービス、１人若しくは複数のユーザ又は１つ若しくは複数の施設の位置を突き止めるためのサービス、ユーザクエリに対する結果を識別するための検索エンジン、１つ又は複数のユーザレビュー又はクエリサービス、又は１つ又は複数の施設や１人又は複数の顧客に関する情報、及び／又は施設に関するレビュー若しくはフィードバックを提供する１つ又は複数の他のサービスをホストすることができる。
【０１０９】
[00117]  サーバ９１０は、１つ又は複数の遠隔サーバ９２０上にホストされるソーシャルネットワーキングサービスを更に保持し又はかかるソーシャルネットワーキングサービスと更に通信することができる。１つ又は複数のソーシャルネットワーキングサービスは様々なサービスを提供することができ、ユーザがプロファイルを作成し、遠隔ソーシャルネットワーキングサービスにおける他のユーザに自分自身を関連付けることを可能にし得る。サーバ９１０及び／又は１つ若しくは複数の遠隔サーバ９２０は、ユーザが作成した関連付けを含むソーシャルグラフの生成及び維持を更に助けることができる。ソーシャルグラフは、例えば遠隔ソーシャルネットワーキングサービスの全ユーザのリスト及び遠隔ソーシャルネットワーキングサービスの他のユーザに対するそれらの者の関連付けを含み得る。
【０１１０】
[00118]  １つ又は複数の遠隔サーバ９２０のそれぞれは、コンピュータサーバ等の単一の計算装置とすることができ、又はサーバコンピュータの動作を実行するために連携する複数の計算装置を表し得る（例えばクラウドコンピューティング）。一実施形態では、サーバ９１０及び１つ又は複数の遠隔サーバ９２０を単一のサーバとして又はサーバのクラスタとして実装することができる。一例では、サーバ９１０と１つ又は複数の遠隔サーバ９２０とがネットワーク９０８経由でクライアント装置（例えば電子装置９０２、９０４、又は９０６）におけるユーザエージェントを介して通信することができる。
【０１１１】
[00119]  ユーザは、電子装置９０２、９０４、及び９０６にインストールされたクライアントアプリケーションを介して、サーバ９１０によってホストされるシステムと、及び／又は遠隔サーバ９２０によってホストされる１つ又は複数のサービスとインタラクトすることができる。或いはユーザは、電子装置９０２、９０４、９０６におけるウェブベースのブラウザアプリケーションを介してシステム及び１つ又は複数のソーシャルネットワーキングサービスとインタラクトすることができる。クライアント装置９０２、９０４、９０６、システム、及び／又は１つ若しくは複数のサービス間の通信はネットワーク（例えばネットワーク９０８）によって円滑化され得る。
【０１１２】
[00120]  クライアント装置９０２、９０４、９０６、サーバ９１０、及び／又は１つ若しくは複数の遠隔サーバ９２０間の通信は、様々な通信プロトコルによって円滑化され得る。一部の態様では、クライアント装置９０２、９０４、９０６、サーバ９１０、及び／又は１つ若しくは複数の遠隔サーバ９２０は、必要に応じてデジタル信号処理回路を含み得る通信インタフェース（不図示）によって無線で通信することができる。通信インタフェースは、とりわけモバイル通信用グローバルシステム（ＧＳＭ（登録商標））音声呼出、ショートメッセージサービス（ＳＭＳ）、エンハンストメッセージングサービス（ＥＭＳ）又はマルチメディアメッセージングサービス（ＭＭＳ）メッセージング、符号分割多元接続（ＣＤＭＡ）、時分割多元接続（ＴＤＭＡ）、パーソナルデジタルセルラ（ＰＤＣ）、広帯域符号分割多元接続（ＷＣＤＭＡ（登録商標））、ＣＤＭＡ２０００、又は汎用パケット無線システム（ＧＰＲＳ）を含む様々なモード又はプロトコルの下で通信を可能にし得る。例えば通信は無線周波数トランシーバ（不図示）によって行われ得る。加えて、Bluetooth（登録商標）対応装置、WiFi（登録商標）、又はそのような他のトランシーバの使用によるものを含む短距離通信が行われ得る。
【０１１３】
[00121]  ネットワーク９０８は、例えばパーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、キャンパスエリアネットワーク（ＣＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、広域ネットワーク（ＷＡＮ）、ブロードバンドネットワーク（ＢＢＮ）、インターネット等の何れか１つ又は複数を含み得る。更にネットワーク９０８は、これだけに限定されないが、バスネットワーク、星状ネットワーク、環状ネットワーク、メッシュネットワーク、星状バスネットワーク、木状ネットワーク、階層ネットワーク等を含むネットワークトポロジの何れか１つ又は複数を含み得る。
【０１１４】
[00122]  図１０は、本技術の一部の実装形態がこれを用いて実装される電子システムを概念的に示す。電子システム１０００は、１個又は複数個のプロセッサが埋め込まれ又は結合されたクライアント、サーバ、コンピュータ、スマートフォン、ＰＤＡ、ラップトップ、若しくはタブレットコンピュータ、又は他の任意の電子装置のようなものとすることができる。かかる電子システムは様々な種類のコンピュータ可読媒体、及び他の様々な種類のコンピュータ可読媒体用のインタフェースを含む。電子システム１０００は、バス１００８、処理装置１０１２、システムメモリ１００４、読取専用メモリ（ＲＯＭ）１０１０、永続記憶装置１００２、入力装置インタフェース１０１４、出力装置インタフェース１００６、及びネットワークインタフェース１０１６を含む。
【０１１５】
[00123]  バス１００８は、電子システム１０００の数多くの内部装置を通信可能に接続する全てのシステムバス、周辺バス、及びチップセットバスをまとめて表す。例えばバス１００８は、処理装置１０１２をＲＯＭ１０１０、システムメモリ１００４、及び永続記憶装置１００２と通信可能に接続する。
【０１１６】
[00124]  これらの様々なメモリユニットから、処理装置１０１２が本開示のプロセスを実行するために実行するための命令及び処理するためのデータを取得する。処理装置は単一のプロセッサ又は別の実装形態ではマルチコアプロセッサとすることができる。
【０１１７】
[00125]  ＲＯＭ１０１０は、電子システム１０００の処理装置１０１２及び他のモジュールによって必要とされる静的データ及び命令を記憶する。他方で永続記憶装置１００２はリード／ライトメモリ装置である。この装置は電子システム１０００がオフのときでも命令及びデータを記憶する不揮発性メモリユニットである。本開示の一部の実装形態は、永続記憶装置１００２として大容量記憶装置（磁気ディスクや光ディスク及びその対応するディスクドライブ等）を使用する。
【０１１８】
[00126]  他の実装形態は、永続記憶装置１００２としてリムーバブル記憶装置（フロッピディスクやフラッシュドライブ及びその対応するディスクドライブ等）を使用する。永続記憶装置１００２と同様に、システムメモリ１００４はリード／ライトメモリ装置である。しかし記憶装置１００２と異なり、システムメモリ１００４はランダムアクセスメモリ等の揮発性のリード／ライトメモリである。システムメモリ１００４はプロセッサが実行時に必要とする命令及びデータの一部を記憶する。一部の実装形態では、本開示のプロセスがシステムメモリ１００４、永続記憶装置１００２、及び／又はＲＯＭ１０１０に記憶される。これらの様々なメモリユニットから、処理装置１０１２が一部の実装形態のプロセスを実行するために実行するための命令及び処理するためのデータを取得する。
【０１１９】
[00127]  バス１００８は入力装置インタフェース１０１４及び出力装置インタフェース１００６にも接続する。入力装置インタフェース１０１４は、ユーザが情報を伝達すること及び電子システムへのコマンドを選択することを可能にする。入力装置インタフェース１０１４と共に使用される入力装置は、例えば英数字キーボードやポインティング装置（「カーソル制御装置」とも呼ばれる）を含む。出力装置インタフェース１００６は、例えば電子システム１０００によって生成される画像の表示を可能にする。出力装置インタフェース１００６と共に使用される出力装置は、例えばプリンタ及びブラウン管（ＣＲＴ）や液晶ディスプレイ（ＬＣＤ）等のディスプレイ装置を含む。一部の実装形態は入力装置及び出力装置の両方として機能するタッチスクリーン等の装置を含む。
【０１２０】
[00128]  最後に、図１０に示すようにバス１００８はネットワークインタフェース１０１６経由で電子システム１０００をネットワーク（不図示）にも結合する。このようにして、コンピュータはコンピュータのネットワーク（ローカルエリアネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ」）、イントラネット等、又はインターネット等のネットワーク網の一部であり得る。電子システム１０００の何れかの又は全てのコンポーネントを本開示と共に使用することができる。
【０１２１】
[00129]  これらの上記の機能はデジタル電子回路によって、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェアによって実装することができる。本技法は１つ又は複数のコンピュータプログラム製品を使用して実装することができる。プログラム可能なプロセッサ及びコンピュータをモバイル装置に含め又はモバイル装置としてパッケージ化することができる。本プロセス及び論理フローは１個又は複数個のプログラム可能なプロセッサによって、又は１つ又は複数のプログラム可能な論理回路によって実行することができる。汎用計算装置、専用計算装置、及び記憶装置は通信ネットワーク経由で相互接続することができる。
【０１２２】
[00130]  様々な実施形態についての上記の説明は専ら例示目的及び説明目的で示してきた。これらは網羅的であることも、本発明を開示した形態に限定することも意図しない。従って、多くの修正形態及び変形が当業者に明らかになる。加えて、上記の開示は本発明を限定することを意図するものではない。
【図１】
2019535153.tif 000012
【図２】
2019535153.tif 000013
【図３Ａ】
2019535153.tif 000014
【図３Ｂ】
2019535153.tif 000015
【図４】
2019535153.tif 000016
【図５】
2019535153.tif 000017
【図６】
2019535153.tif 000018
【図７】
2019535153.tif 000019
【図８】
2019535153.tif 000020
【図９】
2019535153.tif 000021
【図１０】
2019535153.tif 000022
【国際調査報告】
2019535153.tif 000023