(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-15
(54)【発明の名称】エントロピーのセキュアな配布
(51)【国際特許分類】
H04L 9/08 20060101AFI20240308BHJP
G06F 21/60 20130101ALI20240308BHJP
G09C 1/00 20060101ALI20240308BHJP
【FI】
H04L9/08 C
G06F21/60 360
G09C1/00 650B
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023551740
(86)(22)【出願日】2021-03-24
(85)【翻訳文提出日】2023-10-17
(86)【国際出願番号】 US2021023889
(87)【国際公開番号】W WO2022182371
(87)【国際公開日】2022-09-01
(32)【優先日】2021-02-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ステイスカル,ダン・ローレン
(57)【要約】
分散環境においてエントロピーをセキュアに配布するための技術を開示する。配布されるエントロピーは、量子エントロピー生成部またはソースによって生成される量子エントロピーであり得る。信頼できるエントロピー生成部が生成した真にランダムなエントロピーは、エントロピーの一部を使用して設けられるセキュアな通信チャネルを利用して、コンピュータシステム間またはホスト間でセキュアに伝送され得る。この配布技術によって、コンピュータシステムおよびホストは、本来であれば利用できなかった信頼できるエントロピーソースが生成したこのようなエントロピーを利用できるようになる。
【特許請求の範囲】
【請求項1】
方法であって、
第1ホストが、エントロピーソースからエントロピー情報を受信することと、
1つ以上の暗号鍵を用いて前記第1ホストと第2ホストとの間に通信チャネルを確立することとを含み、前記1つ以上の暗号鍵のすべては、少なくとも前記エントロピー情報の一部を使用して生成され、
前記第1ホストと前記第2ホストとの間に確立された前記通信チャネルを利用して、前記エントロピー情報のその他一部を前記第1ホストから前記第2ホストに伝送することをさらに含む、方法。
【請求項2】
前記エントロピーソースは、量子エントロピー生成部であり、前記エントロピー情報は、量子エントロピーである、請求項1に記載の方法。
【請求項3】
前記第1ホストは、第1ホストマシンによってホストされ、前記第2ホストは、第2ホストマシンによってホストされる、請求項1または2に記載の方法。
【請求項4】
前記通信チャネルは、第2通信チャネルであり、
前記エントロピー情報の第1部分を使用して前記第1ホストによって生成される1つ以上の暗号鍵からなる第1セットに基づいて、および前記第2ホストによって生成される1つ以上の暗号鍵からなる第2セットに基づいて前記第1ホストと前記第2ホストとの間に第1通信チャネルを確立することと、
前記第1通信チャネルを利用して前記第1ホストから前記第2ホストに前記エントロピー情報の第2部分を伝送することとをさらに含む、請求項1、2、または3に記載の方法。
【請求項5】
前記第2通信チャネルを確立することは、
前記第1ホストが、前記エントロピー情報の第3部分を使用して1つ以上の暗号鍵からなる第3セットを生成することと、
前記第2ホストが、前記第1ホストから前記第2ホストが受信する前記エントロピー情報の前記第2部分の第1部分を使用して1つ以上の暗号鍵からなる第4セットを生成することと、
前記1つ以上の暗号鍵からなる第3セットおよび前記1つ以上の暗号鍵からなる第4セットに基づいて前記第1ホストと前記第2ホストとの間に前記第2通信チャネルを確立することとを含む、請求項4に記載の方法。
【請求項6】
前記第1通信チャネルを確立することは、前記1つ以上の暗号鍵からなる第1セットおよび前記1つ以上の暗号鍵からなる第2セットを用いて、第1のエフェメラルなディフィー・ヘルマン鍵交換を実行することを含み、前記第2通信チャネルを確立することは、前記1つ以上の暗号鍵からなる第3セットおよび前記1つ以上の暗号鍵からなる第4セットを用いて、第2のエフェメラルなディフィー・ヘルマン鍵交換を実行することを含む、請求項5に記載の方法。
【請求項7】
前記第1のエフェメラルなディフィー・ヘルマン鍵交換は、第1のエフェメラルな楕円曲線ディフィー・ヘルマン鍵交換であり、前記第2のエフェメラルなディフィー・ヘルマン鍵交換は、第2のエフェメラルな楕円曲線ディフィー・ヘルマン鍵交換である、請求項6に記載の方法。
【請求項8】
前記エントロピー情報の前記第2部分は、「N」個のビット含み、前記第2ホストは、前記「N」個のビットに基づいて前記1つ以上の暗号鍵からなる第4セットを生成する、請求項4、5、6、または7に記載の方法。
【請求項9】
前記第2通信チャネルに関連する条件が満たされたと判断することと、
前記条件が満たされたと判断したことに応じて、
前記第1ホストが、前記エントロピー情報の第5部分を使用して1つ以上の暗号鍵からなる新しい第1セットを再び生成することと、
前記第2ホストが、前記第1ホストから受信した前記エントロピー情報の前記第2部分の第2部分を使用して1つ以上の暗号鍵からなる新しい第2セットを再び生成することと、
前記1つ以上の暗号鍵からなる新しい第1セットおよび前記1つ以上の暗号鍵からなる新しい第2セットに基づいて前記第1ホストと前記第2ホストとの間の前記第2通信チャネルを更新することとをさらに含む、請求項5、6、7、または8に記載の方法。
【請求項10】
前記第2通信チャネルに関連する前記条件が満たされたと判断することは、特定の期間が経過したと判断することを含む、請求項9に記載の方法。
【請求項11】
前記第2通信チャネルに関連する前記条件が満たされたと判断することは、前記第1ホストと前記第2ホストとの間で特定数のパケットが交換されたと判断することを含む、請求項9に記載の方法。
【請求項12】
前記第1ホストおよび前記第2ホストのいずれも、第1ホストマシンによってホストされる、請求項1~11のいずれか1項に記載の方法。
【請求項13】
コンピュータによって実行可能な命令を記憶した非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、実行されると、第1ホストにあるコンピュータシステムの1つ以上のプロセッサに方法を実行させ、前記方法は、
エントロピーソースからエントロピー情報を受信することと、
1つ以上の暗号鍵を用いて前記第1ホストと第2ホストとの間に通信チャネルを確立することとを含み、前記1つ以上の暗号鍵のすべては、少なくとも前記エントロピー情報の一部を使用して生成され、前記方法は、さらに、
前記第1ホストと前記第2ホストとの間に確立された前記通信チャネルを利用して前記エントロピー情報のその他一部を前記第2ホストに伝送することを含む、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項14】
前記通信チャネルは、第2通信チャネルであり、
前記エントロピー情報の第1部分を使用して前記第1ホストによって生成される1つ以上の暗号鍵からなる第1セットに基づいて、および前記第2ホストによって生成される1つ以上の暗号鍵からなる第2セットに基づいて前記第1ホストと前記第2ホストとの間に第1通信チャネルを確立することと、
前記第1通信チャネルを利用して前記第1ホストから前記第2ホストに前記エントロピー情報の第2部分を伝送することとをさらに含む、請求項13に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項15】
前記第2通信チャネルを確立することは、
前記エントロピー情報の第3部分を使用して1つ以上の暗号鍵からなる第3セットを生成することを含み、前記第2ホストは、前記第1ホストから受信した前記エントロピー情報の前記第2部分の第1部分を使用して1つ以上の暗号鍵からなる第4セットを生成し、前記第2通信チャネルを確立することは、さらに、
前記1つ以上の暗号鍵からなる第3セットおよび前記1つ以上の暗号鍵からなる第4セットに基づいて前記第1ホストと前記第2ホストとの間に前記第2通信チャネルを確立することを含む、請求項14に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項16】
前記方法は、さらに、
前記第2通信チャネルに関連する条件が満たされたと判断することと、
前記条件が満たされたと判断したことに応じて、
前記エントロピー情報の第5部分を使用して1つ以上の暗号鍵からなる新しい第1セットを再び生成することとを含み、前記第2ホストは、前記第1ホストから受信した前記エントロピー情報の前記第2部分の第2部分を使用して1つ以上の暗号鍵からなる新しい第2セットを再び生成し、前記条件が満たされたと判断したことに応じて、さらに、
前記1つ以上の暗号鍵からなる新しい第1セットおよび前記1つ以上の暗号鍵からなる新しい第2セットに基づいて前記第1ホストと前記第2ホストとの間に新しい通信チャネルを確立することを含む、請求項15に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項17】
第1コンピュータシステムであって、
プロセッサと、
前記プロセッサによって実行可能な複数の命令を記憶するように構成されたメモリとを備え、前記複数の命令は、前記プロセッサによって実行されると、処理を実行させ、前記処理は、
エントロピーソースからエントロピー情報を受信することと、
1つ以上の暗号鍵を用いて前記第1コンピュータシステムと第2コンピュータシステムとの間に通信チャネルを確立することとを含み、前記1つ以上の暗号鍵のすべては、少なくとも前記エントロピー情報の一部を使用して生成され、前記処理は、さらに、
前記第1コンピュータシステムと前記第2コンピュータシステムとの間に確立された前記通信チャネルを利用して前記エントロピー情報のその他一部を前記第2コンピュータシステムに伝送することを含む、第1コンピュータシステム。
【請求項18】
前記通信チャネルは、第2通信チャネルであり、前記処理は、
前記エントロピー情報の第1部分を使用して前記第1コンピュータシステムによって生成される1つ以上の暗号鍵からなる第1セットに基づいて、および前記第2コンピュータシステムによって生成される1つ以上の暗号鍵からなる第2セットに基づいて前記第1コンピュータシステムと前記第2コンピュータシステムとの間に第1通信チャネルを確立することと、
前記第1通信チャネルを利用して前記第1コンピュータシステムから前記第2コンピュータシステムに前記エントロピー情報の第2部分を伝送することとをさらに含む、請求項17に記載の第1コンピュータシステム。
【請求項19】
前記第2通信チャネルを確立することは、
前記エントロピー情報の第3部分を使用して1つ以上の暗号鍵からなる第3セットを生成することを含み、前記第2コンピュータシステムは、前記第1コンピュータシステムから受信した前記エントロピー情報の前記第2部分の第1部分を使用して1つ以上の暗号鍵からなる第4セットを生成し、前記第2通信チャネルを確立することは、さらに、
前記1つ以上の暗号鍵からなる第3セットおよび前記1つ以上の暗号鍵からなる第4セットに基づいて前記第1コンピュータシステムと前記第2コンピュータシステムとの間に前記第2通信チャネルを確立することを含む、請求項18に記載の第1コンピュータシステム。
【請求項20】
前記複数の命令は、さらに、
前記第2通信チャネルに関連する条件が満たされたと判断することと、
前記条件が満たされたと判断したことに応じて、
前記エントロピー情報の第5部分を使用して1つ以上の暗号鍵からなる新しい第1セットを再び生成することとを含み、前記第2コンピュータシステムは、前記第1コンピュータシステムから受信した前記エントロピー情報の前記第2部分の第2部分を使用して1つ以上の暗号鍵からなる新しい第2セットを再び生成し、前記複数の命令は、さらに、
前記条件が満たされたと判断したことに応じて、
前記1つ以上の暗号鍵からなる新しい第1セットおよび前記1つ以上の暗号鍵からなる新しい第2セットに基づいて前記第1コンピュータシステムと前記第2ホストとの間の前記第2通信チャネルを更新することを含む、請求項19に記載の第1コンピュータシステム。
【請求項21】
請求項1~12のいずれか1項に記載の方法のステップを実行するための手段を備える、装置。
【請求項22】
コンピュータ命令を含むコンピュータプログラムプロダクトであって、前記コンピュータ命令は、プロセッサによって実行されると、請求項1~12のいずれか1項に記載の方法のステップを実行する、コンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本国際特許出願は、「Secure Distribution Of Entropy(エントロピーのセキュアな配布)」と題され2021年2月25日に出願された米国特許出願第17/185,646号に基づく優先権を主張し、そのすべての開示内容をあらゆる目的のために引用により本明細書に援用する。
【背景技術】
【0002】
背景
エントロピー(エントロピー情報とも称する)は、様々な異なる目的のために利用される。たとえば、エントロピーは、様々な目的のために暗号鍵を生成するためにエントロピーを利用する暗号システムにとっては、極めて重要である。しかしながら、これらの暗号システムとこれらのシステムによって生成される鍵とに置かれる信頼は、これらのシステムが鍵を生成するために利用するエントロピーの品質に置かれ得る信用によって限定される。先ず、真にランダムなエントロピーを生成することや、真にランダムなエントロピーを生成可能な信頼できるソースを見つけることは難しい。たとえこのようなソースが見つかったとしても、エントロピーが改ざんされていないことを保証しながらエントロピーソースからエントロピーが(たとえば、暗号鍵を生成するための暗号システムによって)利用されるコンピュータにエントロピーを伝送することは、重大な課題である。エントロピーが改ざんされて品質が低いと、暗号鍵が弱くなったり危険に晒されたりして、様々な衝突やサイドチャネル攻撃に遭いやすくなってしまう。その結果、ほとんどのコンピューティングデバイスおよびアプリケーション(たとえば、プログラム、仮想マシン)が真にランダムで高品質なエントロピーを利用できなくなってしまう。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
本開示は、概して、エントロピーのセキュアな配布に関する。配布されるエントロピーは、量子エントロピー生成部またはソースによって生成される量子エントロピーであり得る。本明細書において説明する教示によって、エントロピーの一部を使用して設けられるセキュアな通信チャネルを利用して、信頼できるエントロピー生成部が生成した真にランダムなエントロピーをコンピュータシステム間またはホスト間でセキュアに伝送できるようになる。この配布技術によって、コンピュータシステムおよびホストは、本来であれば利用できなかった信頼できるエントロピーソースが生成したこのようなエントロピーを利用できるようになる。方法、システム、1つ以上のプロセッサなどによって実行可能なプログラム、コード、または命令を記憶した非一時的なコンピュータ読み取り可能な記憶媒体を含む、様々な実施の形態について本明細書において説明する。
【0004】
特定の実施の形態では、方法は、第1ホストが、エントロピーソースからエントロピー情報を受信することと、1つ以上の暗号鍵を用いて第1ホストと第2ホストとの間に通信チャネルを確立することとを含み、1つ以上の暗号鍵のすべては、少なくともエントロピー情報の一部を使用して生成され、第1ホストと第2ホストとの間に確立された通信チャネルを利用して、エントロピー情報のその他一部を第1ホストから第2ホストに伝送することをさらに含む。
【0005】
さらに別の実施の形態では、通信チャネルは、第2通信チャネルであり、方法は、エントロピー情報の第1部分を使用して第1ホストによって生成される1つ以上の暗号鍵からなる第1セットに基づいて、および第2ホストによって生成される1つ以上の暗号鍵からなる第2セットに基づいて第1ホストと第2ホストとの間に第1通信チャネルを確立することと、第1通信チャネルを利用して第1ホストから第2ホストにエントロピー情報の第2部分を伝送することとをさらに含む。
【0006】
さらに別の実施の形態では、第2通信チャネルを確立するステップは、第1ホストが、エントロピー情報の第3部分を使用して1つ以上の暗号鍵からなる第3セットを生成することと、第2ホストが、第1ホストから第2ホストが受信するエントロピー情報の第2部分の第1部分を使用して1つ以上の暗号鍵からなる第4セットを生成することと、1つ以上の暗号鍵からなる第3セットおよび1つ以上の暗号鍵からなる第4セットに基づいて第1ホストと第2ホストとの間に第2通信チャネルを確立することとを含む。
【0007】
さらに別の実施の形態では、方法は、第2通信チャネルに関連する条件が満たされたと判断することと、条件が満たされたと判断したことに応じて、第1ホストが、エントロピー情報の第5部分を使用して1つ以上の暗号鍵からなる新しい第1セットを再び生成することと、第2ホストが、第1ホストから受信したエントロピー情報の第2部分の第2部分を使用して1つ以上の暗号鍵からなる新しい第2セットを再び生成することと、1つ以上の暗号鍵からなる新しい第1セットおよび1つ以上の暗号鍵からなる新しい第2セットに基づいて第1ホストと第2ホストとの間に新しい通信チャネルを確立することとをさらに含む。
【0008】
さらに別の実施の形態では、第2通信チャネルに関連する条件が満たされたと判断するステップは、特定の期間が経過したと判断することを含む。
【0009】
さらに別の実施の形態では、第2通信チャネルに関連する条件が満たされたと判断するステップは、第1ホストと第2ホストとの間で特定数のパケットが交換されたと判断することを含む。
【0010】
さらに別の実施の形態では、エントロピー情報の第2部分は、「N」個のビット含み、第2ホストは、「N」個のビットに基づいて1つ以上の暗号鍵からなる第4セットを生成する。
【0011】
さらに別の実施の形態では、第1通信チャネルを確立するステップは、1つ以上の暗号鍵からなる第1セットおよび1つ以上の暗号鍵からなる第2セットを用いて、第1のディフィー・ヘルマン鍵交換を実行することを含み、第2通信チャネルを確立することは、1つ以上の暗号鍵からなる第3セットおよび1つ以上の暗号鍵からなる第4セットを用いて、第2のディフィー・ヘルマン鍵交換を実行することを含む。
【0012】
さらに別の実施の形態では、第1のディフィー・ヘルマン鍵交換は、第1の楕円曲線ディフィー・ヘルマン鍵交換であり、第2のディフィー・ヘルマン鍵交換は、第2の楕円曲線ディフィー・ヘルマン鍵交換である。
【0013】
さらに別の実施の形態では、エントロピーソースは、量子エントロピー生成部であり、エントロピー情報は、量子エントロピーである。
【0014】
さらに別の実施の形態では、第1ホストは、第1ホストマシンによってホストされ、第2ホストは、第2ホストマシンによってホストされる。
【0015】
さらに別の実施の形態では、エントロピー情報を受信するステップは、第1ホストが、エントロピーソースからエントロピー情報を情報のストリームとして受信することを含む。
【0016】
さらに別の実施の形態は、コンピュータによって実行可能なプログラム命令を記憶した非一時的なコンピュータ読み取り可能な記憶媒体を対象とし、当該プログラム命令は、コンピューティングデバイスの処理デバイスによって実行されると、コンピューティングデバイスに上述の方法を実行させる。
【0017】
別の実施の形態は、上記方法のステップを実行するための手段を備える装置を対象とする。
【0018】
さらに別の実施の形態は、コンピュータ命令を含むコンピュータプログラムプロダクトであって、コンピュータ命令は、プロセッサによって実行されると、上記方法のステップを実行する、コンピュータプログラムプロダクトを対象とする。
【0019】
上記の特徴および実施の形態は、その他の特徴および実施の形態とともに、下記の明細書、特許請求の範囲、および添付の図面を参照することでより明らかになるであろう。
【図面の簡単な説明】
【0020】
【
図1】いくつかの実施の形態に係る、分散環境を簡略化したブロック図である。
【
図2】量子エントロピー生成部の例を示す図である。
【
図3】特定の実施の形態に係る、量子エントロピー生成部が生成したエントロピー情報を複数のホストおよび複数のコンピューティングインスタンスに配布または伝送するための工程を簡略化したスイムチャートである。
【
図4】特定の実施の形態に係る、量子エントロピー生成部が生成したエントロピー情報を複数のホストおよび複数のコンピューティングインスタンスに配布または伝送するための別の工程を簡略化したスイムチャートである。
【
図5】特定の実施の形態に係る、量子エントロピー生成部が生成したエントロピー情報を複数のホストおよび複数のコンピューティングインスタンスに配布または伝送するための工程の間に第1ホストによって実行されるステップを簡略化したフローチャートである。
【
図6】特定の実施の形態に係る、量子エントロピー生成部が生成したエントロピー情報を複数のホストおよび複数のコンピューティングインスタンスに配布または伝送するための工程の間に第2ホストによって実行されるステップを簡略化したフローチャートである。
【
図7】いくつかの実施の形態に係る、分散クラウド環境の簡略ブロック図である。
【
図8】特定の実施の形態を実装するために用いられ得る例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【0021】
詳細な説明
以下の説明において、説明の便宜上、特定の実施の形態を十分に理解してもらうために、具体的な詳細を説明する。しかしながら、これらの具体的な詳細がなくても、様々な実施の形態を実施することができることが明らかになるだろう。添付の図面および説明は、限定ではない。本明細書において用いる「exemplary」という単語は、「例、具体例、例示としての役割を果たす」ことを意味する。本明細書に「exemplary」として記載される実施の形態や設計のいずれも、その他の実施の形態や設計よりも好ましいまたは有利であると必ずしも解釈されるべきではない。
【0022】
本開示は、概して、エントロピーのセキュアな配布に関する。配布されるエントロピーは、量子エントロピー生成部またはソースによって生成される量子エントロピーであり得る。本明細書において説明する教示によって、エントロピーの一部を使用して設けられるセキュアな通信チャネルを利用して、信頼できるエントロピー生成部が生成した真にランダムなエントロピーをコンピュータシステム間またはホスト間でセキュアに伝送できるようになる。この配布技術によって、コンピュータシステムおよびホストは、本来であれば利用できなかった信頼できるエントロピーソースが生成したこのようなエントロピーを利用できるようになる。
【0023】
特定の実施態様では、エントロピーソースから当該エントロピーソースに直接接続されたコンピュータシステムにエントロピーをセキュアに伝送し、このコンピュータシステムからエントロピーソースに直接接続されていないであろう分散環境にあるその他のコンピュータシステムに当該エントロピーをさらにセキュアに伝送するための新規な配布技術について説明する。特定の実施態様では、エントロピーソースに直接接続されたコンピュータシステムは、セキュアな直接接続によってセキュアにエントロピーソースからエントロピー情報を受信する。エントロピーソースからエントロピーを受信したコンピュータシステムは、その後、受信したエントロピーまたはその一部を、コンピュータシステムに通信可能に連結されているがエントロピーソースには直接接続されていないであろう1つ以上のその他のコンピュータシステムに伝送または配布する。直接接続されたコンピュータシステムからエントロピーソースに直接接続されていないであろうその他のコンピュータシステムへのエントロピーの伝送は、セキュアな通信チャネルで実行される。当該セキュアな通信チャネルは、エントロピーソースが生成してエントロピーソースに直接接続されたコンピュータシステムが受信するエントロピーの一部を使用して設けられる。そして、別のコンピュータシステムからエントロピーソースが生成したエントロピーを受信したコンピュータシステムが、本開示に記載の方法を用いて、受信したエントロピーの一部を使用して設けたセキュアな通信チャネルを経由してさらにその他のコンピュータシステムにエントロピーまたはその一部を配布し得る。
【0024】
特定の実施態様では、エントロピーソースから当該エントロピーソースに直接接続されたホストにエントロピーをセキュアに伝送し、このホストからエントロピーソースに直接接続されていないであろう分散環境にあるその他のホストに当該エントロピーをさらにセキュアに伝送するための新規な配布技術について説明する。ホストは、仮想マシンコンピューティングインスタンスであってもよく、ベアメタルコンピューティングインスタンスであってもよい。特定の実施態様では、エントロピーソースに直接接続されたホストは、セキュアな直接接続によってセキュアにエントロピーソースからエントロピー情報を受信する。エントロピーソースからエントロピーを受信したホストは、その後、受信したエントロピーまたはその一部を、第1ホストに通信可能に連結されているがエントロピーソースには直接接続されていないであろう1つ以上のその他のホストに伝送または配布する。直接接続されたホストからエントロピーソースに直接接続されていないであろうその他のホストへのエントロピーの伝送は、セキュアな通信チャネルで実行される。当該セキュアな通信チャネルは、エントロピーソースが生成してエントロピーソースに直接接続されたホストが受信するエントロピーの一部を使用して設けられる。そして、別のホストからエントロピーソースが生成したエントロピーを受信したホストが、本開示に記載の方法を用いて、受信したエントロピーの一部を使用して設けたセキュアな通信チャネルを経由してさらにその他のホストにエントロピーまたはその一部を配布し得る。
【0025】
本開示の便宜上、「エントロピー」および「エントロピー情報」という用語は、同じ意味で用いられる。方法、システム、1つ以上のプロセッサなどによって実行可能なプログラム、コード、または命令を記憶した非一時的なコンピュータ読み取り可能な記憶媒体を含む、様々な実施の形態について本明細書において説明する。
【0026】
図1は、いくつかの実施の形態に係る、分散環境100を簡略化したブロック図である。分散環境100は、1つ以上の通信ネットワーク上の1つ以上の通信リンクを経由して互いに通信可能に連結された複数のコンピュータシステムを含み得る。
図1の分散環境100は、コンピュータシステムA 110と、コンピュータシステムB 120と、コンピュータシステムC 130と、コンピュータシステムD 140と、量子エントロピー生成部105とを含む。
【0027】
図1に示す分散環境は、例示に過ぎず、クレームされる実施の形態の範囲を不必要に限定しない。多くの変形例、別の例、および変更が可能である。たとえば、いくつかの実施態様では、分散環境100は、
図1に示す数よりも多くのコンピュータシステムまたは構成要素を有してもよく、
図1に示す数よりも少ないコンピュータシステムまたは構成要素を有してもよく、別の構成または別の配置のコンピュータシステムおよび通信線を有してもよい。
【0028】
図1に示すコンピュータシステムは、それぞれ、コンピューティングリソース(たとえば、1つ以上のプロセッサまたはCPU)、メモリリソース(たとえば、システムメモリ、不揮発性メモリ)、およびネットワークリソース(たとえば、NIC(ネットワークインタフェースカード)を備え得る。コンピュータシステムは、これらのネットワークリソースを用いて1つ以上の通信ネットワークで1つ以上のその他のコンピュータシステムと通信し得る。通信ネットワークは、たとえば、インターネット、イントラネット、エクストラネット、LAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)、および通信を容易にするその他のネットワーク、ならびにそれらの組合せを含む。通信は、1つ以上の有線通信プロトコルまたは無線通信プロトコルを用いた有線リンクまたは無線リンクで行われ得る。
【0029】
図1に示すコンピュータシステムのうち1つ以上のコンピュータシステムは、エントロピー情報を利用する1つ以上のアプリケーションを実行し得る。たとえば、コンピュータシステムは、1つ以上の暗号鍵を生成するアプリケーションを実行し得、これらの鍵を生成するためにエントロピー情報が使用される。暗号鍵は、記憶された情報をセキュリティ保護するため、その他のコンピュータシステムとの通信を可能にするため、ユーザの認証/許可のためなど、異なる目的のために用いられ得る。これらの用途のために用いられるエントロピー情報は、高品質であり真にランダムなエントロピーである必要があるであろう。コンピュータシステムは、このような高品質のエントロピー情報を独自に生成できないであろう。
【0030】
異なる品質のエントロピーを生成可能な様々な種類のエントロピー生成部が存在する。量子エントロピーは、量子エントロピーの生成に伴う量子物理性を理由に、高品質であり真にランダムなエントロピーであると考えられる。したがって、量子エントロピー生成部は、高品質のエントロピーを生成可能である。このような1つの量子エントロピー生成部105を
図1に示す。量子エントロピー生成部105は、
図1に示す様々なコンピュータシステムが信頼できるエントロピーソースである。量子エントロピー生成部105の具体的な実施態様を
図2に示し、後述する。量子エントロピー生成部を
図5に示しているが、別の実施の形態では、その他のエントロピー生成部も使用されてもよい。よって、実施の形態は、任意の適切な信頼できるエントロピーソースを含め得る。
【0031】
図1に示す実施の形態では、コンピュータシステムA 110およびC 130は、リンク111および131を介して量子エントロピー生成部105に直接接続される。たとえば、コンピュータシステムA 110は、量子エントロピー生成部105の近くに物理的に位置してもよく、直接有線によって量子エントロピー生成部105に接続されてもよい。直接の有線回路を通してであれ、別の完全に信頼できる通信チャネルを通してであれ、コンピュータシステムA 110は、エントロピーが妨害されたり危険に晒されたりすることなく、信頼できるエントロピー生成部からエントロピーを受信できる。同様に、コンピュータシステムC 130は、量子エントロピー生成部105の近くに物理的に位置してもよく、直接有線によって量子エントロピー生成部105に接続されてもよく、エントロピーが妨害されたり危険に晒されたりすることなく、信頼できるエントロピー生成部からエントロピーを受信できる。
【0032】
リンク111および131によって、量子エントロピー生成部105が生成した量子エントロピーを、セキュアなチャネルを経由してコンピュータシステムA 110およびC 130に安全でセキュアに伝送可能になる。特定の実施態様では、絶縁RS-232シリアルケーブルを用いてセキュアなチャネルが実装されてもよい。このケーブルは、接続環境に存在するその他のケーブルに対して90度で直交する位置に配置され得る。また、ケーブルは、各ケーブルの被覆の電磁界透磁率の二乗とケーブルが運ぶ最大信号電圧(たとえば、3ボルトと15ボルトの間)との積よりも別のデータケーブルの近くではない位置に存在し得る。さらにその他の実施態様では、エントロピー生成部105からエントロピー生成部に直接接続されたコンピュータシステムにエントロピー情報を伝送するために、光学干渉から遮蔽された光ファイバーケーブルが使われてもよい。その他の実施態様では、物理的に改ざんできないその他のケーブルが使われてもよく、これらのケーブルによって蓄積された信号は、スヌーピングや改ざんされることはないであろう。
【0033】
コンピュータシステムA 110およびC 130とは対照的に、
図1では、コンピュータシステムB 120およびD 140には、量子エントロピー生成部105への/との直接接続またはその他の予め確立されたセキュアな通信チャネルがない。コンピュータシステムB 120およびD 140は、量子エントロピー生成部105の位置から遠く離れており、たとえば、別の市、別の州、それどころか別の国など、別の地理的位置などの場所に位置し得る。したがって、量子エントロピー生成部105からコンピュータシステムA 110およびC 130にエントロピー情報を直接伝送するために使用できるセキュアな通信リンクまたはチャネル111および131を、コンピュータシステムB 120およびD 140は利用できない。よって、コンピュータシステムB 120およびD 140は、エントロピーが妨害されたり危険に晒されたりするリスクなしで、信頼できるエントロピー生成部からエントロピーを受信することができない。
【0034】
図1に示す実施の形態では、グラフクラスタリング率が1.0である格子ネットワークを経由して様々なコンピュータシステムが互いに通信可能に連結されており、各コンピュータシステムは、互いのコンピュータシステムに接続されている。
図1に示す構成は、限定ではない。別の実施の形態では、コンピュータシステム間でその他の接続構成が可能である。
図1では、コンピュータシステムA 110は、コンピュータシステムB 120、C 130、およびコンピュータシステムD 140に通信可能に連結されている。詳細については後述するが、コンピュータシステムA 110は、量子エントロピー生成部105から受信したエントロピーを使用してコンピュータシステムB 120、C 130、および/またはD 140とのセキュアな通信チャネルを確立し、量子エントロピー生成部105からコンピュータシステムA 110が受信したエントロピー情報の少なくとも一部をこれらのその他のコンピュータシステムにセキュアな通信チャネルを利用して送信することができる。
【0035】
図1に示す実施の形態では、コンピュータシステムC 130は、コンピュータシステムA 110、B 120、およびD 140と通信可能に連結されている。本開示に開示する技術によると、コンピュータシステムC 120は、量子エントロピー生成部105から受信したエントロピーを使用してコンピュータシステムA 110、B 120、および/またはD 140とのセキュアな通信チャネルを確立し、量子エントロピー生成部105からコンピュータシステムC 130が受信したエントロピー情報の少なくとも一部をこれらのその他のコンピュータシステムにセキュアな通信チャネルを利用して送信することができる。
【0036】
図1に示す実施の形態では、コンピュータシステムB 120は、コンピュータシステムD 140を含む複数のコンピュータシステムと通信可能に連結されている。コンピュータシステムB 120は、コンピュータシステムA 110またはC 130から受信したエントロピーを使用してコンピュータシステムD 140とのセキュアな通信チャネルを確立し、コンピュータシステムB 120が受信したエントロピー情報の少なくとも一部をコンピュータシステムD 140にセキュアな通信チャネルを利用して送信することができる。同様に、
図1では、コンピュータシステムD 140は、コンピュータシステムB 120を含む複数のコンピュータシステム通信可能に連結されている。コンピュータシステムD 140は、コンピュータシステムA 110またはC 130から受信したエントロピーを使用してコンピュータシステムB 120とのセキュアな通信チャネルを確立し、コンピュータシステムD 140が受信したエントロピー情報の少なくとも一部をコンピュータシステムB 120に送信することができる。
【0037】
図2は、特定の実施の形態に係る、量子エントロピー生成部205の例を示す図である。量子エントロピー生成部205は、レーザー206と、ビームスプリッター207と、センサーA 250と、センサーB 260と、サンプリング部270とを備え得る。量子エントロピー生成部205は、高品質のエントロピー情報を生成するために
図2に示す様々な構成要素を使用し得る。
【0038】
特定の実施態様では、レーザー206は、フェイントレーザーなど、光のショートバーストを生成可能な単一光子源である。レーザー206は、ビームスプリッター207に向けて光子を出射し得る。ビームスプリッター207は、光子の一部は反射されてセンサーA 250に送られ、その他の光は反射されてセンサーB 260に送られるよう、レーザー206から受光した光子線を分割するように構成される。たとえば、これは、50%の反射鏡をビームスプリッター207として用いることによって実現できる。50%の鏡は、レーザー206および光子の経路に対して45度の角度で配置され得る。2つのセンサーA 250およびB 260は、レーザー206によって放出されてスプリッター207によって分割される光子の出口である的確な位置に配置される。サンプリング部270は、観測時にどのセンサー(A 250またはB 260)に光子が到達したかを読み出すことが可能であり、これら2つのセンサーから受信する情報に基づいてデータ列を生成する。たとえば、サンプリング部270は、0と1から構成される列を作成し得る。ここで、センサーA 250によって検出された時の光子は0と解釈され、センサーB 260によって検出される光子は1と解釈される。
【0039】
たとえば、レーザー206は、スプリッター207に向けて光の単一光子を送信してもよい。50%の鏡のスプリッター207による相対論的量子電磁力学反射によって、光子は、50%の鏡上のコーティングの反射率に一致する1:1という確率でセンサーA 250またはセンサーB 260のいずれかに到達する。いずれかのセンサーによって光子が受信されると、サンプリング部270が、以前生成されたエントロピーのストリームにビットを次のように付加する。(a)センサーA 250が光子を受信した場合、サンプリング部270は、エントロピーストリームにビット「1」を追加する。(b)センサーB 260が光子を受信した場合、サンプリング部270は、エントロピーストリームにビット「0」を追加する。たとえば、レーザー206が生成した光子がセンサーAおよびBによって次に示すシーケンス「AABABBABAB」で受信された場合、サンプリング部270によって生成されるエントロピーストリームは、「1101001010」になる。特定の実施態様では、エントロピー生成工程は、レーザー206とセンサー/サンプリング部のアセンブリとの間で最大ナイキストサンプリング周波数で繰り返される。この結果、量子エントロピー生成部205によって量子グレードのエントロピーのストリームが生成されることになる。その後、量子エントロピーは、量子エントロピー生成部205によって、量子エントロピー生成部205に直接接続された1つ以上コンピュータシステムにセキュアな通信チャネルで伝送され得る。
【0040】
光子とビームスプリッター207との各やり取りでは、その光子の送信または反射は、量子力学の結果である。その結果、一続きの光子の反射および送信は、真にランダムであって、量子エントロピーの結果である。それに続いて、センサーA 250およびセンサーB 260によって検出される一続きの光子は、量子エントロピーの結果であり、サンプリング部270によって作成されるデータ列は、量子エントロピーの結果である。したがって、サンプリング部270によって作成されるデータ列を量子エントロピーと呼ぶことができる。
【0041】
本開示において説明する様々な発明技術は、分散クラウド環境で利用できる。クラウド環境では、CSP(クラウドサービスプロバイダー)が、1つ以上のサブスクライブしている顧客に1つ以上のクラウドサービスを提供し得る。クラウドサービスという用語は、一般に、CSPが提供するシステムおよびインフラストラクチャ(クラウドインフラストラクチャ)を利用するユーザまたは顧客に対してCSPが要求に基づいて(たとえば、サブスクリプションモデルを介して)提供するサービスを指すために使われる。通常、CSPのインフラストラクチャを構成するサーバおよびシステムは、顧客自体のオンプレミスサーバおよびシステムとは別個である。よって、顧客は、サービスのための別個のハードウェアリソースおよびソフトウェアリソースを購入することなく、CSPが提供するクラウドサービスを利用できる。クラウドサービスは、サービスを提供するために使われるインフラストラクチャを入手するためにサブスクライブしている顧客がお金を費やすことなく、顧客がアプリケーションおよびコンピューティングリソースに容易かつスケーラブルにアクセスできるように設計されている。様々な種類のクラウドサービスを提供する様々なクラウドサービスプロバイダーが存在する。SaaS(Software-as-a-Service)、PaaS(Platform-as-a-Service)、IaaS(Infrastructure-as-a-Service)、およびその他を含む様々な異なる種類や異なるモデルのクラウドサービスが存在する。
【0042】
IaaSモデルでは、CSPは、VCN(仮想クラウドネットワーク)と称される独自のカスタマイズ可能なプライベートネットワークを構築するために顧客が利用できるインフラストラクチャ(クラウドサービスプロバイダーインフラストラクチャまたはCSPIと称する)を提供する。顧客は、コンピューティングインスタンス(ホストとも称する)など1つ以上の顧客リソースまたはワークロードをこれらのVCN上にデプロイできる。コンピューティングインスタンスまたはホストは、コンピュータシステム(ホストマシンと称する)によってホストされる。ホストは、仮想マシンコンピューティングインスタンスであってもよく、ベアメタルコンピューティングインスタンスであってよい。VM(仮想マシン)コンピューティングインスタンスは、物理ベアメタルコンピュータシステム上で動作する独立した仮想化されたマシンである。ハイパーバイザなど仮想化技術は、複数の仮想マシンコンピューティングインスタンスを同じホストマシン上で実行することを可能にする。ベアメタルコンピューティングインスタンスは、ハイパーバイザなしでベアメタルサーバまたはホストマシンによってホストされる。ベアメタルコンピューティングインスタンスがプロビジョニングされると、ベアメタルインスタンスをホストしているホストマシンの物理CPU、メモリ、およびネットワークインタフェースの制御を1つの顧客またはテナントが維持し、その他の顧客またはテナントとはホストマシンを共有しない。
【0043】
本開示に記載のエントロピー配布技術は、分散クラウド環境にあるコンピューティングインスタンスまたはホスト間でエントロピーを配布するためにも利用できる。
図7は、いくつかの実施の形態に係る、分散クラウド環境700を簡略化したブロック図である。
図7に示す環境は、
図7が
図1に示すコンピュータシステムではなく複数のコンピューティングインスタンスまたは複数のホストを示しているという点で異なる以外は、
図1に示す環境と非常に類似している。
図1のコンピュータシステムについての上記説明は、
図7に示すコンピューティングインスタンスにも適用可能である。
図7に示す分散クラウド環境は、例示に過ぎず、クレームされる実施の形態の範囲を不必要に限定しない。多くの変形例、別の例、および変更が可能である。たとえば、いくつかの実施態様では、分散環境700は、
図7に示す数よりも多くの構成要素を有してもよく、
図7に示す数よりも少ない構成要素を有してもよく、別の構成または別の配置のホストおよび通信線を有してもよい。
【0044】
図7に示すように、ホストまたはコンピューティングインスタンスは、グラフクラスタリング率が1.0である格子ネットワークを経由して互いに通信可能に連結されたホストA 710、ホストB 720、ホストC 730、およびホストD 740を含み、各ホストは、互いのホストに接続されている。
図7に示す構成は、限定ではない。
図7に示すホストは、仮想マシンコンピューティングインスタンスであってもよく、ベアメタルコンピューティングインスタンスであってもよい。仮想マシンコンピューティングインスタンスである場合、コンピューティングインスタンスは、それぞれ異なるホストマシンによってホストされてもよく、一部が同じホストマシンによってホストされてもよい。
図7のホストは、クラウドサービスの1つのテナントもしくは顧客、またはクラウドサービスの複数の異なるテナントもしくは顧客に属し得る。
【0045】
特定の実施態様では、高品質のエントロピー情報を受信できる機能自体がサービスとして顧客に提供されてもよい。顧客は、このようなサービスにサブスクライブしてもよく、サブスクライブすると、本開示に記載の様々な配布技術を利用しているサブスクライブしている顧客のホストは、量子エントロピー生成部705が生成した高品質のエントロピーを利用できるようになる。
【0046】
ホストA 710およびC 730は、リンク711および731を経由して量子エントロピー生成部705に直接接続される。
図1で説明したように、リンク711および731は、リンク111および131のようなものであり、量子エントロピー生成部705が生成したエントロピーが妨害されたり危険に晒されたりすることなく、セキュアにホストA 710およびC 730に伝送されることを可能にする。
【0047】
ホストA 710およびC 730とは対照的に、ホストB 720およびD 740には、量子エントロピー生成部705への/との直接接続またはその他の予め確立されたセキュアな通信チャネルがない。ホストB 720およびD 740は、量子エントロピー生成部705の位置から遠く離れており、たとえば、別の市、別の州、それどころか別の国など、別の地理的位置などの場所に位置し得る。したがって、量子エントロピー生成部705からホストA 710およびC 730にエントロピー情報を直接伝送するために使用できるセキュアな通信リンクまたはチャネル711および731を、ホストB 720およびD 740は利用できない。
【0048】
図7では、ホストA 710は、コンピュータインスタンスB 720、C 730、およびD 740に通信可能に連結されている。詳細については後述するが、ホストA 710は、量子エントロピー生成部705から受信したエントロピーを用いてホストB 720、C 730、および/またはD 740とのセキュアな通信チャネルを確立することができ、このセキュアな通信チャネルを利用して、ホストA 710が量子エントロピー生成部705から受信したエントロピー情報の少なくとも一部を、これらのその他のホストに送信することができる。
【0049】
図1では、ホストC 730は、ホストA 710、B 720、およびD 740に通信可能に連結されている。本開示に開示する技術によると、ホストC 720は、量子エントロピー生成部705から受信したエントロピーを用いてホストA 710、B 720、および/またはD 740とのセキュアな通信チャネルを確立することができ、このセキュアな通信チャネルを利用して、ホストC 730が量子エントロピー生成部705から受信したエントロピー情報の少なくとも一部を、これらのその他のホストに送信することができる。
【0050】
図1に示す実施の形態では、ホストB 720は、ホストD 740を含む複数のホストに通信可能に連結されている。ホストB 720は、ホストA 710またはC 730から受信したエントロピーを用いてホストD 740とのセキュアな通信チャネルを確立し得、このセキュアな通信チャネルを利用して、ホストB 720が受信したエントロピー情報の少なくとも一部をホストD 740に送信し得る。同様に、
図7では、ホストD 740は、ホストB 720を含む複数のホストに通信可能に連結されている。ホストD 740は、ホストA 710またはC 730から受信したエントロピーを用いてホストB 720とのセキュアな通信チャネルを確立し得、ホストD 740が受信したエントロピー情報の少なくとも一部をホストB 720に送信し得る。
【0051】
図3~
図8は、特定の実施の形態に係る、エントロピーを配布するための様々な方法を図示した様々なスイムチャートおよびフローチャートを示す図である。
図3~
図8のスイムチャートおよびフローチャートならびに関連する説明では、ホスト間でのエントロピーの配布について説明されている。ここで、これらのホストは、1つのホストマシンによってホストされてもよく、それぞれ異なるホストマシンによってホストされてもよい。
図3~
図8に示す教示およびそれに付随する説明は、
図1に示す様々なコンピュータシステム間など、様々なホストマシン間またはコンピュータシステム間でエントロピーをセキュアに配布するためにも適用可能である。これに加えて、
図3~
図8およびそれに付随する説明では量子エントロピーの配布について説明されているが、これは限定ではない。本明細書において説明する教示は、放射性崩壊、熱雑音、コンピュータインターフェイスハードウェアとのヒューマンインタラクション、および/または気流検出など、その他の信頼できるソースから生成されたその他の種類のエントロピー情報を配布するためにも利用できる。
【0052】
図3は、特定の実施の形態に係る、複数のホストおよび複数のコンピューティングインスタンスに量子エントロピー生成部705が生成したエントロピー情報を配布または伝送するための工程を簡略化したスイムチャート300を示す図である。
図3に示す処理は、それぞれのシステムの1つ以上の処理装置(たとえば、プロセッサ、コア)によって実行されるソフトウェア(たとえば、コード、命令、プログラム)で実装されてもよく、ハードウェアを用いて実装されてもよく、またはそれらの組合せで実装されてもよい。ソフトウェアは、非一時的な記憶媒体上に(たとえば、記憶装置上に)記憶されてもよい。
図3で提示し後述する方法は、例示であって、限定ではない。
図3では様々な処理ステップが特定の順番または順序で行われると示しているが、これは限定ではない。特定の別の実施の形態では、当該処理は別の順序で実行されてもよく、一部のステップが平行して実行されてもよい。
【0053】
図3は、
図7に示す様々な構成要素間でのエントロピーの配布を示し、
図2に付随する説明は、当該配布について説明する。より具体的には、
図3およびそれに付随する説明は、量子エントロピー生成部705から量子エントロピー生成部705に直接接続されているホストA 710への量子エントロピーの配布、およびその後のホストA 710からホストA 710に通信可能に連結されているホストB 720への量子エントロピーの配布について説明している。
図3の教示は、エントロピーソースからエントロピーソースに直接接続されているコンピュータシステムへのエントロピーの配布、および当該コンピュータシステムから最初のコンピュータシステムに通信可能に連結されている別のコンピュータシステムへのエントロピーの配布に適用可能である。たとえば、
図1では、ホストA 710は、この方法を用いて、ホストA 710と通信可能に連結されているコンピュータシステムB 720、C 730、またはD 740のいずれかに、量子エントロピー生成部705から受信したエントロピーを伝送し得る。
【0054】
図3に示すように、S310では、量子エントロピー生成部705(または、エントロピーの別の適した信頼できるソース)が、量子エントロピーを生成し得る。いくつかの実施の形態では、量子エントロピー生成部705は、量子エントロピーのストリームを生成し得る。量子エントロピーのストリームは、その後、1つ以上の接続されたコンピュータシステムに配布可能になる。
【0055】
S312では、量子エントロピー生成部705は、S310で生成した量子エントロピーを、量子エントロピー生成部705に直接接続されているホストA 710に送信し得る。特定の実施の形態では、ホストA 710をホストしているホストマシンが量子エントロピー生成部705に直接接続されてもよい。量子エントロピー生成部705が生成した量子エントロピーのうち任意の適切な量が送信され得る。たとえば、128ビット、256ビット、512ビット、1024ビット、2048ビット、またはその他適量の量子エントロピーがホストA 710に送信され得る。特定の実施態様では、量子エントロピーは、量子エントロピーのストリームという形で送信されてもよい。
【0056】
S312では、量子エントロピー生成部705からホストA 710に、信頼できる接続によってエントロピー情報が送信される。たとえば、エントロピー情報は、量子エントロピー生成部705とホストA 710との間(または、量子エントロピー生成部705とホストA 710をホストしているホストマシンとの間)にある、インターネットおよび/またはその他のネットワークに接続されていない有線による直接のローカル接続で伝送されてもよい。有線接続に使われるケーブルも、外部の干渉もしくは改ざんまたはスヌーピングから保護されていてもよい。これに加えて、またはこの代わりに、量子エントロピーは、暗号化された形式で送信できる。たとえば、量子エントロピー生成部705は、S310で生成した量子エントロピーを暗号化し、その後、S312において、暗号化された量子エントロピーをホストA 710に送信し得る。ホストB 720は、暗号化された量子エントロピーを受信すると、暗号化を解除し得る。
【0057】
S314では、ホストA 710が量子エントロピー生成部705から受信した量子エントロピーの少なくとも一部を、ホストA 710とホストB 720との間に確立されたセキュアな通信チャネルでホストA 710からホストB 720に配布または伝送する。ここで、セキュアなチャネル自体は、ホストA 710が量子エントロピー生成部705から受信した量子エントロピーの一部を使用して設けられる。
【0058】
特定の実施態様では、セキュアな通信チャネルは、暗号鍵を使用して確立される。暗号鍵自体は、ホストA 710が量子エントロピー生成部705から受信した量子エントロピーの一部を使用して生成されている。たとえば、ホストA 710は、ステップS312で受信した量子エントロピーの第1部分を使用して、ホストB 720とのセキュアな通信チャネルを確立する際に使用するための1つ以上の暗号鍵を生成できる。その後、ホストA 710は、セキュアな通信チャネルを利用して、ステップS312で受信した量子エントロピーの第2部分をホストB 720に送信し得る。その結果、量子エントロピー生成部705とホストB 720との間に直接の接続がなくても、または以前存在していたセキュアな通信チャネルがなくても、ホストB 720は、量子エントロピー生成部705から量子エントロピーを受信できる。その後、ホストB 720は、量子エントロピーの第2部分を、ホストB 720とホストA 710との間の通信チャネルを更新するため、および/またはさらにセキュアにする際に使用するために利用し得る。いくつかの実施の形態では、ホストB 720は、アプリケーションを操作するために、その他のコンピュータシステムとの1つ以上の追加の通信チャネルを確立する際に使用するために、またはその他の適した目的のために量子エントロピーの第2部分を使用できる。
【0059】
いくつかの実施の形態に係る、
図3のステップS314で実行された処理の例を
図4に示し、後述する。
図4は、特定の実施の形態に係る、複数のホストおよび複数のコンピューティングインスタンスに量子エントロピー生成部705が生成したエントロピー情報を配布または伝送するための別の工程を簡略化したスイムチャート400を示す図である。
図4に示す処理は、それぞれのシステムの1つ以上の処理装置(たとえば、プロセッサ、コア)によって実行されるソフトウェア(たとえば、コード、命令、プログラム)で実装されてもよく、ハードウェアを用いて実装されてもよく、またはそれらの組合せで実装されてもよい。ソフトウェアは、非一時的な記憶媒体上に(たとえば、記憶装置上に)記憶されてもよい。
図4で提示し後述する方法は、例示であって、限定ではない。
図4では様々な処理ステップが特定の順番または順序で行われると示しているが、これは限定ではない。特定の別の実施の形態では、当該処理は別の順序で実行されてもよく、一部のステップが平行して実行されてもよい。
図1に示す実施の形態など、特定の実施の形態では、
図4に示す処理は、量子エントロピー生成部705、ホストA 710、および/またはホストB 720によって実行されてもよい。
【0060】
図4に示すように、S410では、量子エントロピー生成部705(または、エントロピーの別の適した信頼できるソース)が、量子エントロピーを生成し得る。いくつかの実施の形態では、量子エントロピー生成部705は、量子エントロピーのストリームを生成し得る。量子エントロピーのストリームは、その後、1つ以上の接続されたコンピュータシステムに配布可能になる。
【0061】
S412では、量子エントロピー生成部705は、S410で生成した量子エントロピーを、量子エントロピー生成部705に直接接続されているホストA 710に送信し得る。特定の実施の形態では、ホストA 710をホストしているホストマシンが量子エントロピー生成部705に直接接続されてもよい。量子エントロピー生成部705が生成した量子エントロピーのうち任意の適切な量が送信され得る。たとえば、128ビット、256ビット、512ビット、1024ビット、2048ビット、またはその他適量の量子エントロピーがホストA 710に送信され得る。特定の実施態様では、量子エントロピーは、量子エントロピーのストリームという形で送信されてもよい。
【0062】
S412では、量子エントロピー生成部705からホストA 710に、信頼できる接続によってエントロピー情報が送信される。たとえば、エントロピー情報は、量子エントロピー生成部705とホストA 710との間(または、量子エントロピー生成部705とホストA 710をホストしているホストマシンとの間)にある、インターネットおよび/またはその他のネットワークに接続されていない有線による直接のローカル接続で伝送されてもよい。有線接続に使われるケーブルも、外部の干渉もしくは改ざんまたはスヌーピングから保護されていてもよい。これに加えて、またはこの代わりに、量子エントロピーは、暗号化された形式で送信できる。たとえば、量子エントロピー生成部705は、S310で生成した量子エントロピーを暗号化し、その後、S412において、暗号化された量子エントロピーをホストA 710に送信し得る。ホストB 720は、暗号化された量子エントロピーを受信すると、暗号化を解除し得る。
【0063】
S414、S416、S418、S420、S422、S424、S426、およびS428での処理は、ホストA 710とホストB 720との間にセキュアな通信チャネルを確立し、このセキュアなチャネルを利用して、ホストA 710が量子エントロピー生成部705から受信した量子エントロピーの一部をホストB 720に配布または伝送するために実行される。ホストA 710とホストB 720との間に確立される通信チャネルは、このチャネルを利用して伝送されるエントロピーがスヌーピングされたり、改ざんされたり、遮断されたりすることができない通信チャネルである。量子エントロピー自体が、たとえば、ホストA 710とホストB 720との間に通信チャネルを設けるための暗号鍵の生成中に、秘密の情報として利用されてもよい。
【0064】
S414、S416、およびS418の処理は、ホストA 710とホストB 720との間に最初の通信チャネルを確立するために実行される。S414では、ホストA 710は、ホストA 710が量子エントロピー生成部705から受信した量子エントロピーの第1部分を用いて、1つ以上の暗号鍵からなる第1セットを生成し得る。たとえば、ホストA 710は、最初の通信チャネルを設けるためにホストB 720との最初の鍵交換で使用するための第1の公開鍵を生成し得る。量子エントロピーの第1部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。
【0065】
S416では、ホストB 720は、ホストA 710との最初の通信チャネルを設ける際に使用するための1つ以上の暗号鍵からなる第2セットを生成し得る。たとえば、ホストB 720は、ホストA 710との最初の鍵交換で使用するための第2の公開鍵を生成し得る。ホストB 720は、量子エントロピー生成部705が生成した量子エントロピーにまだアクセスできないので、ソフトウェアベースの擬似乱数生成器または別の種類の信頼できない可能性のあるエントロピーソースによって生成されたデータ文字列など、その他のエントロピー情報をS416で鍵生成工程のために使用し得る。これらのソースが生成したこのエントロピーは、量子エントロピー生成部705が生成した量子エントロピーほどセキュアではなかったり、信頼できなかったりする。
【0066】
S418では、S414でホストA 710が生成した第1の暗号鍵セットと、S416でホストB 720が生成した第2の暗号鍵セットとを用いて、ホストA 710とホストB 720との間に最初の通信チャネルを確立する。S418での処理の一部として、ホストA 710とホストB 720は、最初の鍵交換を行って、最初の共有キー(たとえば、対称鍵)を作成し得る。これは、S414でホストA 710が生成した第1の暗号鍵セットに基づいて情報を交換することと、S416でホストB 720が生成した第2の暗号鍵セットに基づいて情報を交換することとを含み得る。いくつかの実施の形態では、情報交換は、楕円曲線ディフィー・ヘルマン鍵共有プロトコルを含み得る。
【0067】
上述したように、ホストA 710が量子エントロピー生成部705から受信した量子エントロピーの一部を使用して生成する第1の暗号鍵セットを用いて、そして、量子エントロピー生成部705からのエントロピーではないのでそれほど信用できないエントロピーを用いてホストB 720が生成した第2の暗号鍵セットを用いて、最初の通信チャネルが確立される。よって、最初の通信チャネルは、非対称なエントロピーに由来する暗号強度を有する接続である。この最初の通信チャネルは、少なくとも一部の秘密の情報を妨害されたり危険に晒されたりすることなくホストB 720に送信するのに十分に信頼できる通信チャネルであり得る。したがって、S420について後述するが、最初の通信チャネルは、ホストA 710が量子エントロピー生成部705から受信した量子エントロピーの一部をホストB 720に送信するために使用される。
【0068】
S420では、ホストA 710は、量子エントロピー生成部705から受信した量子エントロピーの一部(第2部分)を、最初の通信チャネルを経由してホストB 720に伝送する。特定の実施態様では、最初の通信チャネルは非対称なエントロピーに由来する暗号強度を有する接続であり、ここでは、量子エントロピー生成部705が生成したエントロピー情報を用いて、通信チャネルを設けるために使われる1つ暗号鍵セットのみが生成されるので、ホストA 710は、S420でエントロピー情報を伝送するために予防措置を講じ得る。たとえば、エントロピー情報は、ホストA 710からホストB 720に、暗号化された形式で最初の通信チャネルで伝送され得る。ホストA 710は、先ず、ホストB 720に伝送する量子エントロピーの一部(第2部分)を暗号化し、その後、暗号化されたエントロピー情報をホストB 720に伝送し得る。特定の実施態様では、エントロピー情報は、ステップS416で作成された最初の対称鍵を用いて暗号化されてもよい。ホストB 720は、量子エントロピーの第2部分を受信すると、最初の対称鍵を用いて暗号化を解除し得る。量子エントロピーの第2部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。
【0069】
S420の後、ホストA 710およびホストB 720のいずれも、量子エントロピー生成部705が生成したエントロピー情報にアクセスできるようになる。ホストA 710は、この情報をS412で以前受信しており、ホストB 720は、S420でエントロピー情報を受信する。量子エントロピー生成部705が生成した信用できるエントロピー情報を両者が有しているので、ホストA 710とホストB 720との間で対称なエントロピーに由来する暗号強度を有する接続を設定できるようになる。これについては、ステップS422、S424、およびS426で後述する。
【0070】
S422では、ホストA 710は、S412で量子エントロピー生成部705から受信した量子エントロピーの一部(第3部分)を用いて、1つ以上の暗号鍵からなる第3セットを生成し得る。たとえば、ホストA 710は、セキュアなチャネルを確立するためにホストB 720との第2の鍵交換で使用するための第3の公開鍵を生成し得る。量子エントロピーの第3部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。
【0071】
S424(ステップS422と同時に実行され得る)では、ホストB 720は、量子エントロピー生成部705が生成してS420でホストB 720が受信した量子エントロピーの一部を使用して、1つ以上の暗号鍵からなる第4セットを生成し得る。たとえば、ホストB 720は、セキュアな通信チャネルを確立するためにホストA 710との第2の鍵交換で使用するための第4の公開鍵を生成し得る。ホストB 720は、第4の暗号鍵セットを生成するときに、S420でホストB 720が受信した量子エントロピーの一部またはすべてを使用し得る。たとえば、S420でホストB 720が受信した量子エントロピーの一部の大きさが512ビットである場合、ホストB 720は、1つ以上の公開鍵からなる第4セットを生成するために、512ビットのエントロピー情報のすべて、またはそれよりも少ないビットのエントロピー情報を使用し得る。
【0072】
S426では、S422でホストA 710が生成した第3の暗号鍵セットと、S424でホストB 720が生成した第4の暗号鍵セットとを用いて、ホストA 710とホストB 720との間にセキュアな通信チャネルを設ける。いくつかの実施の形態では、S420で最初の半分セキュアなチャネルでホストA 710からホストB 720に伝送される量子エントロピー生成部が生成したエントロピー情報の量は、ホストA 710とホストB 720との間にセキュアな通信チャネルを設けることを容易にするのにちょうど十分な量である。たとえば、S420で伝送されるエントロピー情報の量は、S426でセキュアな通信チャネルを確立するために使用される第4の暗号鍵セットをホストB 720が生成するのにちょうど十分な量であり得る。S426での処理の一部として、ホストA 710とホストB 720は、2回目の鍵交換を行って、2回目の共有キー(たとえば、対称鍵)を作成し得る。これは、S422で生成された第3の暗号鍵セットを交換することと、S424で生成された第4の暗号鍵セットを交換することとを含み得る。いくつかの実施の形態では、これは、楕円曲線ディフィー・ヘルマン交換を含み得る。
【0073】
通信チャネルを設けるために使用される暗号鍵セットの両方とも、量子エントロピー生成部705が生成したエントロピー情報を用いて生成されているため、S426で確立された通信チャネルは、対称なエントロピーに由来する暗号強度を有する接続である。よって、S426で確立された通信チャネルは、完全にセキュアな通信チャネルであると考えられる。その後、このセキュアな通信チャネルは、ホストA 710によって、量子エントロピー生成部705からホストA 710が受信した量子エントロピー情報の一部をホストB 720にさらに送信するために使用される。この通信チャネルは、ホストA 710とホストB 720との間で1つ以上のメッセージを交換するためなどその他の目的にも利用され得る。
【0074】
S428では、ホストA 710は、量子エントロピー生成部が生成した量子エントロピーのその他一部(たとえば、第4部分)を、S426で確立されたセキュアな通信チャネルを経由してホストB 720に伝送し得る。特定の実施態様では、エントロピー情報は、情報のストリームとして伝送されてもよい。量子エントロピーの第4部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。
【0075】
S430では、ホストB 720は、S428でセキュアな通信チャネルを経由してホストA 710から受信した量子エントロピーの第4部分を使用し得る。たとえば、ホストB 720は、1つ以上のアプリケーションの操作に量子エントロピーの第4部分を使用し得る。
【0076】
特定の実施態様では、S426で確立された通信チャネルの安全性を維持するために、その接続に関連する暗号素材(たとえば、暗号鍵)自体を再び生成してセキュアな通信チャネルを維持する。たとえば、
図4に示すように、S432では、特定の条件が満たされた後、ホストA 710およびホストB 720は、セキュアな通信チャネルを更新するためおよび/または新しいセキュアな通信チャネルを確立するために用いられる新しい暗号鍵を生成し得る。ここでは、新しい暗号鍵は、ホストA 710およびホストB 720が入手可能な量子エントロピー情報の一部を使用しても生成される。これは、再生成条件が満たされる度または発生する度に繰り返されてもよい。これは、暗号鍵ローテーションと称される場合もある。暗号鍵は、再び生成される前の特定の期間のみ有効であるため、エフェメラルな暗号鍵と称される場合もある。
【0077】
一実施の形態において、ホストA 710およびホストB 720のいずれも、ホストが利用できる量子エントロピーを用いて1つ以上の暗号鍵からなる新しいセットを生成し得る。ホストA 710の場合、エフェメラルな暗号鍵を生成するために用いられるエントロピー情報は、量子エントロピー生成部705とホストA 710との間の接続を経由して量子エントロピー生成部705から受信される。特定の実施態様では、量子エントロピー生成部705は、ホストA 710に量子エントロピー情報のストリームを絶え間なく送信するように構成されてもよい。ホストB 720の場合、エフェメラルな暗号鍵を生成するために使用される量子エントロピーは、ホストB 720によって、S426で確立されたセキュアな通信チャネルを経由してホストA 710から受信され得る。
【0078】
様々な異なる条件がS432における暗号素材(たとえば、暗号鍵)の再生成をトリガーしてもよい。特定の実施態様では、トリガー条件は、時間に基づいた条件であってもよい。たとえば、接続について事前に構成された期間が構成されてもよく、その期間の後では、チャネルを維持するために暗号鍵を再び生成する必要がある。この事前に構成された期間は、たとえば、特定の秒数、特定の分数、特定の時間数などであってもよい。たとえば、30秒後、1分後、5分後、10分後、30分後などである。
【0079】
いくつかのその他の実施の形態では、トリガー条件は、ホストA 710とB 720との間で事前に構成された数のパケットまたはメッセージが交換されることに基づいてもよい。たとえば、1個のパケット、2個のパケット、5個のパケット、10個のパケット、20個のパケット、または、概して、「N」個のパケットの後に暗号鍵の再生成がトリガーされてもよい。ここで、「N」は、エントロピーの顧客が許容できるリスクに晒される程度によって異なる。Nの値が高いことは、エフェメラルキーは低く、潜在的にエントロピーの改ざんリスクに晒される可能性が高いことに相当する。リスク許容が最も低い場合、Nの値は1に設定され得る。これにより、暗号鍵は、非常にエフェメラルな暗号鍵になる。暗号鍵ローテーション率は、エントロピーの顧客が望む許容できるリスクに晒される程度に基づき得る。
図1や
図7に示すクラスタリンググラフネットワークは、ネットワークにあるすべてのホスト間のすべての接続の間で強力なエフェメラルキーを維持するために必要になるであろうエントロピー消費の可能な限り高速の速度を表す。なぜならば、キーローテーション率のコンピュータネットワークのグラフのクラスタ係数との積が、ホストにエントロピーを配布する工程においてエントロピー自体が消費される速度を決めるためである。素早いキーローテーションのために、ネットワークにあるホスト間の接続時間が増えると、接続の信頼レベルは、「N」の逆数の倍で対数的に上昇する。この接続期間は、上記Nの値、または、2つのホストがエフェメラルキーを再び生成する前にこれらの2つのホストの間で交換されたパケットの数で表される。
【0080】
上記のように、
図4で示したステップの特定の順序または順番は、限定ではない。特定の別の実施の形態では、これらのステップは、別の順序で実行されてもよく、一部のステップが平行して実行されてもよい。たとえば、ステップS420、S422、およびS424は、
図4のスイムチャート400では特定の順番で実行されると示されているが、これは限定ではない。別の実施の形態では、これらのステップは、いかなる順番で実行されてもよい。さらにその他の実施の形態では、S420、S422、およびS424における処理は、重複してもよく、平行して実行されてもよい。
【0081】
図4に示して説明した実施の形態では、量子エントロピー生成部705が生成したエントロピー情報は、S412においてホストA 710に送信される。特定の実施態様では、エントロピーソースからエントロピーソースに直接接続されたホストへのこのエントロピー情報の送信は、一回限りのイベントとして実行されてもよい。その他の実施態様では、エントロピーソースからエントロピーソースに直接接続されたホストへの量子エントロピー情報の送信は、定期的に実行されてもよい。ここでは、各期間の後、エントロピーソースが生成した新しいエントロピー情報が接続されたホストに伝送される。さらにその他の実施の形態では、エントロピーソースからエントロピーソースに直接接続されたホストへの量子エントロピー情報の送信は、エントロピーソースが生成して接続されたホストに伝送されるエントロピー情報のストリームとして連続して実行されてもよい。いくつかのその他の実施の形態では、エントロピー情報は、ホストがこの情報を要求した時にエントロピーソースからホストに伝送されてもよい。たとえば、ホストは、エントロピー情報を求める要求をエントロピーソースに送信してもよく、その後、エントロピーソースが生成した要求されたエントロピー情報を要求元のホストに送信することによって、エントロピーソースがこの要求に応答してもよい。その他の送信メカニズムがその他の実施の形態で用いられてもよい。
【0082】
あるホストから別のホストへの(たとえば、ホストA 710からホストB 720への)エントロピー情報の送信は、様々な異なる態様に従って実行されてもよい。一実施の形態において、一回限りのイベントとして、第1ホストが第2ホストに、これらの2つのホストの間に確立されたセキュアな通信チャネルでエントロピー情報を伝送してもよい。その他の実施態様では、第1ホストから第2ホストへの量子エントロピー情報の送信は、セキュアな通信チャネルで定期的に実行されてもよい。ここでは、各期間の後、新しいエントロピー情報が第1ホストから第2ホストに伝送される。ここで、新しいエントロピー情報は、第1ホストがエントロピーソースまたは別のホストから受信したエントロピー情報の一部であってもよい。さらにその他の実施の形態では、第1ホストから第2ホストへの量子エントロピー情報の送信は、当該ホスト間で確立されたセキュアな通信チャネルでエントロピー情報のストリームとして連続して実行されてもよい。いくつかのその他の実施の形態では、エントロピー情報は、第2ホストがこの情報を要求した時に第1ホストから第2ホストに伝送されてもよい。たとえば、第2ホストは、エントロピー情報を求める要求を第1ホストに送信してもよく、その後、要求されたエントロピー情報を要求側第2ホストに送信することによって、第1ホストがこの要求に応答してもよい。その他の送信メカニズムがその他の実施の形態で用いられてもよい。
【0083】
図4に示す工程は、エントロピーソースが生成したエントロピーがエントロピーソース(たとえば、量子エントロピー生成部705)に直接接続されたホスト(たとえば、ホストA 710)によってどのように受信され得るのか、さらには、エントロピー情報を受信するホストがエントロピーの一部を第1ホストに通信可能に連結されたその他の1つ以上ホストにどのように配布し得るのかについて示している。これらのその他のホストは、エントロピーソースに接続されていてもよく、接続されていなくてもよい。さらに、エントロピー情報を受信したホストは、受信したエントロピー情報の一部を、ホストに通信可能に連結されたその他のホストに配布し得る。このように、エントロピーソースが生成したエントロピー情報は、分散型のネットワーク接続された環境にある複数のホストにセキュアに配布され得る。エントロピーは、エントロピーソースから(たとえば、量子エントロピー生成部705から)ある程度離れたホストに転送され得る。たとえば、ホストB 720は、ホストA 710から量子エントロピーを受信した後、ホストD 740に受信した量子エントロピーの一部を転送し、ホストD 740は、それをその他の接続されたホストに転送する…などである。
【0084】
上述したように、エントロピーソースにホストが直接接続されていなかったとしても、ネットワークにある(たとえば、格子ネットワークにある)ホストは、信頼できるエントロピー生成源が生成した量子エントロピーなどのエントロピー情報にアクセスできる。ホストが受信した量子エントロピー情報の品質が高く信頼が置かれているために、受信したエントロピー情報は、高い信頼が必要とされる様々な操作のために使用できる。たとえば、量子エントロピーは、信頼できる暗号鍵を生成するためにホストによって使用されてもよい。これらの暗号鍵は、たとえば、ホスト間に信頼できる通信チャネルを確立するためなど、様々な用途に利用できる。本開示は、すべてのホスト(たとえば、仮想マシンコンピューティングインスタンスおよび/またはベアメタルコンピューティングインスタンス)にエフェメラルに(一時的に)鍵が付けられた格子暗号ネットワークを通して量子エントロピーソースが生成した量子エントロピーを配布するための方法について説明する。ここで、量子エントロピーを受信するホストは、エントロピーソースに接続されていなくてもよく、信頼できるエントロピー情報のソースをローカルに有していなくてもよい。
【0085】
図5は、特定の実施の形態に係る、複数のホストおよび複数のコンピューティングインスタンスに量子エントロピー生成部705が生成したエントロピー情報を配布または伝送するための工程の間に第1ホストが実行するステップを簡略化したフローチャート500を示す図である。
図5に示す処理は、それぞれのシステムの1つ以上の処理装置(たとえば、プロセッサ、コア)によって実行されるソフトウェア(たとえば、コード、命令、プログラム)で実装されてもよく、ハードウェアを用いて実装されてもよく、またはそれらの組合せで実装されてもよい。ソフトウェアは、非一時的な記憶媒体上に(たとえば、記憶装置上に)記憶されてもよい。
図5で提示し後述する方法は、例示であって、限定ではない。
図5では様々な処理ステップが特定の順番または順序で行われると示しているが、これは限定ではない。特定の別の実施の形態では、当該処理は別の順序で実行されてもよく、一部のステップが平行して実行されてもよい。
図1に示す実施の形態など、特定の実施の形態では、
図5に示す処理は、ホストA 710によって実行されてもよい。いくつかの実施の形態では、
図5で後述する第1ホストは、ホストA 710を表し得、
図5で後述する第2ホストは、ホストB 720を表し得る。
【0086】
量子エントロピー生成部705(または、エントロピーの別の適した信頼できるソース)が、量子エントロピーを生成し得る。いくつかの実施の形態では、量子エントロピー生成部705は、量子エントロピーのストリームを生成し得る。量子エントロピーのストリームは、その後、1つ以上の接続されたコンピュータシステムに配布可能になる。
【0087】
S502では、第1ホストが量子エントロピー生成部705から量子エントロピーを受信する。第1ホストは、量子エントロピー生成部705に直接接続され得る。特定の実施の形態では、第1ホストをホストしているホストマシンが量子エントロピー生成部705に直接接続されてもよい。量子エントロピー生成部705が生成した量子エントロピーのうち任意の適切な量が受信され得る。たとえば、128ビット、256ビット、512ビット、1024ビット、2048ビット、またはその他適量の量子エントロピーが量子エントロピー生成部705によって送信され、第1ホストによって受信され得る。特定の実施態様では、量子エントロピーは、量子エントロピーのストリームという形で送信されてもよい。
【0088】
S502では、量子エントロピー生成部705から第1ホストに、信頼できる接続によってエントロピー情報が送信される。たとえば、エントロピー情報は、量子エントロピー生成部705と第1ホストとの間(または、量子エントロピー生成部705と第1ホストをホストしているホストマシンとの間)にある、インターネットおよび/またはその他のネットワークに接続されていない有線による直接のローカル接続で伝送されてもよい。有線接続に使われるケーブルも、外部の干渉もしくは改ざんまたはスヌーピングから保護されていてもよい。これに加えて、またはこの代わりに、量子エントロピーは、暗号化された形式で送信できる。
【0089】
S503では、第1ホストが、量子エントロピーの一部を使用して確立されたセキュアな通信チャネルを利用して、ステップS502で第1ホストが受信した量子エントロピーの一部を第2ホストに送信する。たとえば、第1ホストは、ステップS502で受信した量子エントロピーの第1部分を利用して第2ホストとのセキュアな通信チャネルを確立できる。その後、そのセキュアな通信チャネルを利用して、第1ホストは、ステップS502で受信した量子エントロピーの第2部分(または、それよりも後に受信した量子エントロピー)を第2ホストに送信し得る。第1ホストと第2ホストとの間に確立される通信チャネルは、このチャネルを利用して伝送されるエントロピーがスヌーピングされたり、改ざんされたり、遮断されたりすることができない通信チャネルである。量子エントロピー自体が、たとえば、第1ホストと第2ホストとの間に通信チャネルを設けるための暗号鍵の生成中に、秘密の情報として利用されてもよい。
【0090】
S503の処理は、次のステップS504~S514の実行を含み得る。
S504およびS506の処理は、第1ホストと第2ホストとの間に最初の通信チャネルを確立するために実行される。S504では、第1ホストは、第1ホストが量子エントロピー生成部705から受信した量子エントロピーの第1部分を用いて、1つ以上の暗号鍵からなる第1セットを生成し得る。たとえば、第1ホストは、最初の通信チャネルを設けるために第2ホストとの最初の鍵交換で使用するための第1の公開鍵を生成し得る。量子エントロピーの第1部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。
【0091】
これに加えて、同時にまたは同じようなタイミングで、第2ホストは、第1ホストとの最初の通信チャネルを設ける際に使用するための1つ以上の暗号鍵からなる第2セットを生成し得る。たとえば、第2ホストは、第1ホストとの最初の鍵交換で使用するための第2の公開鍵を生成し得る。第2ホストは、量子エントロピー生成部705が生成した量子エントロピーにまだアクセスできないので、ソフトウェアベースの擬似乱数生成器または別の種類の信頼できない可能性のあるエントロピーソースによって生成されたデータ文字列など、その他のエントロピー情報を鍵生成工程のために使用し得る。これらのソースが生成したこのエントロピーは、量子エントロピー生成部705が生成した量子エントロピーほどセキュアではなかったり、信頼できなかったりする。
【0092】
S506では、第1ホストは、第1ホストがS504で生成した1つ以上の暗号鍵からなる第1セットと、第2ホストが生成した第2の暗号鍵セットとを用いて、第2ホストとの最初の通信チャネルを確立し得る。S506での処理の一部として、第1ホストと第2ホストは、最初の鍵交換を行って、最初の共有キー(たとえば、対称鍵)を作成し得る。これは、S504で第1ホストが生成した第1の暗号鍵セットに基づいて情報を交換することと、第2ホストが生成した第2の暗号鍵セットに基づいて情報を交換することとを含み得る。いくつかの実施の形態では、情報交換は、楕円曲線ディフィー・ヘルマン鍵共有プロトコルを含み得る。
【0093】
上述したように、第1ホストが量子エントロピー生成部705から受信した量子エントロピーの一部を使用して生成する第1の暗号鍵セットを用いて、そして、量子エントロピー生成部705からのエントロピーではないのでそれほど信用できないエントロピーを用いて第2ホストが生成した第2の暗号鍵セットを用いて、最初の通信チャネルが確立される。よって、最初の通信チャネルは、非対称なエントロピーに由来する暗号強度を有する接続である。この最初の通信チャネルは、少なくとも一部の秘密の情報を妨害されたり危険に晒されたりすることなく第2ホストに送信するのに十分に信頼できる通信チャネルであり得る。したがって、S508について後述するが、最初の通信チャネルは、第1ホストが量子エントロピー生成部705から受信した量子エントロピーの一部を第2ホストに送信するために使用される。
【0094】
S508では、第1ホストは、量子エントロピー生成部705から受信した量子エントロピーの一部(たとえば、第2部分)を、最初の通信チャネルを経由して第2ホストに伝送する。特定の実施態様では、最初の通信チャネルは非対称なエントロピーに由来する暗号強度を有する接続であり、ここでは、量子エントロピー生成部705が生成したエントロピー情報を用いて、通信チャネルを設けるために使われる1つ暗号鍵セットのみが生成されるので、第1ホストは、S508でエントロピー情報を伝送するために予防措置を講じ得る。たとえば、エントロピー情報は、第1ホストから第2ホストに、暗号化された形式で最初の通信チャネルで伝送され得る。第1ホストは、先ず、第2ホストに伝送する量子エントロピーの一部(第2部分)を暗号化し、その後、暗号化されたエントロピー情報を第2ホストに伝送し得る。特定の実施態様では、エントロピー情報は、ステップS506で作成された最初の対称鍵を用いて暗号化されてもよい。第2ホストは、量子エントロピーの第2部分を受信すると、最初の対称鍵を用いて暗号化を解除し得る。
【0095】
量子エントロピーの第2部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。いくつかの実施の形態では、量子エントロピーの第2部分は、ステップS502で受信した量子エントロピーの一部であり得る。その他の実施の形態では、量子エントロピーの第2部分は、ステップS508を実行する直前に量子エントロピー生成部から受信されてもよい。
【0096】
S508の後、第1ホストおよび第2ホストのいずれも、量子エントロピー生成部705が生成したエントロピー情報にアクセスできるようになる。第1ホストは、この情報をS502で以前受信しており、(このときに追加のエントロピー情報も受信し得る)、第2ホストは、S508でエントロピー情報を受信する。量子エントロピー生成部705が生成した信用できるエントロピー情報を両者が有しているので、第1ホストと第2ホストとの間で対称なエントロピーに由来する暗号強度を有する接続を設定できるようになる。これについては、ステップS510およびS512で後述する。
【0097】
S510では、第1ホストは、量子エントロピー生成部705から受信した量子エントロピーの一部(たとえば、第3部分)を用いて、1つ以上の暗号鍵からなる第3セットを生成し得る。たとえば、第1ホストは、セキュアなチャネルを確立するために第2ホストとの第2の鍵交換で使用するための第3の公開鍵を生成し得る。量子エントロピーの第3部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。
【0098】
これに加えて、同時にまたは同じようなタイミングで、第2ホストは、量子エントロピー生成部705が生成して第2ホストが受信した量子エントロピーの一部を使用して、1つ以上の暗号鍵からなる第4セットを生成し得る。たとえば、第2ホストは、セキュアな通信チャネルを確立するために第1ホストとの第2の鍵交換で使用するための第4の公開鍵を生成し得る。第2ホストは、第4の暗号鍵セットを生成するときに、第2ホストが受信した量子エントロピーの一部またはすべてを使用し得る。たとえば、第2ホストが受信した量子エントロピーの一部の大きさが512ビットである場合、第2ホストは、1つ以上の公開鍵からなる第4セットを生成するために、512ビットのエントロピー情報のすべて、またはそれよりも少ないビットのエントロピー情報を使用し得る。
【0099】
S512では、第1ホストは、ステップS510で第1ホストが生成した1つ以上の暗号鍵からなる第3セットおよび第2ホストが生成した1つ以上の暗号鍵からなる第4セットを用いて、第1ホストと第2ホストとの間にセキュアな通信チャネルを確立し得る。いくつかの実施の形態では、S508で最初の半分セキュアなチャネルで第1ホストから第2ホストに伝送される量子エントロピー生成部が生成したエントロピー情報の量は、第1ホストと第2ホストとの間にセキュアな通信チャネルを設けることを容易にするのにちょうど十分な量である。たとえば、S508で伝送されるエントロピー情報の量は、S512でセキュアな通信チャネルを確立するために使用される第4の暗号鍵セットを第2ホストが生成するのにちょうど十分な量であり得る。S512での処理の一部として、第1ホストと第2ホストは、2回目の鍵交換を行って、2回目の共有キー(たとえば、対称鍵)を作成し得る。これは、S510で生成された第3の暗号鍵セットを交換することと、第2ホストによって生成された第4の暗号鍵セットを交換することとを含み得る。いくつかの実施の形態では、これは、楕円曲線ディフィー・ヘルマン交換を含み得る。
【0100】
通信チャネルを設けるために使用される暗号鍵セットの両方とも、量子エントロピー生成部705が生成したエントロピー情報を用いて生成されているため、S512で確立された通信チャネルは、対称なエントロピーに由来する暗号強度を有する接続である。よって、S512で確立された通信チャネルは、完全にセキュアな通信チャネルであると考えられる。その後、このセキュアな通信チャネルは、第1ホストによって、量子エントロピー生成部705から第1ホストが受信した量子エントロピー情報の一部を第2ホストにさらに送信するために使用される。この通信チャネルは、第1ホストと第2ホストとの間で1つ以上のメッセージを交換するためなどその他の目的にも利用され得る。
【0101】
S514では、第1ホストは、量子エントロピー生成部が生成した量子エントロピーのその他一部(たとえば、第4部分)を、S512で確立されたセキュアな通信チャネルを経由して第2ホストに伝送し得る。たとえば、第1ホストは、ステップS512で作成した2回目の対称鍵を用いて量子エントロピーの第4部分を暗号化し得、第1ホストは、暗号化された量子エントロピーの第4部分を第2ホストに送信し得、第2ホストは、2回目の対称鍵を用いて2回目の対称鍵を用いて量子エントロピーの第4部分の暗号化を解除し得る。特定の実施態様では、エントロピー情報は、情報のストリームとして伝送されてもよい。量子エントロピーの第4部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。
【0102】
第2ホストは、S514でセキュアな通信チャネルを経由して第1ホストから受信した量子エントロピーの第4部分を使用し得る。たとえば、第2ホストは、1つ以上のアプリケーションの操作に量子エントロピーの第4部分を使用し得る。
【0103】
特定の実施態様では、S512で確立された通信チャネルの安全性を維持するために、その接続に関連する暗号素材(たとえば、暗号鍵)自体を再び生成してセキュアな通信チャネルを維持する。たとえば、
図5に示すように、S516では、特定の条件が満たされた後、第1ホストおよび第2ホストは、セキュアな通信チャネルを更新するためおよび/または新しいセキュアな通信チャネルを確立するために用いられる新しい暗号鍵を生成し得る。ここでは、新しい暗号鍵は、第1ホストおよび第2ホストが入手可能な量子エントロピー情報の一部を使用しても生成される。これは、再生成条件が満たされる度または発生する度に繰り返されてもよい。これは、暗号鍵ローテーションと称される場合もある。暗号鍵は、再び生成される前の特定の期間のみ有効であるため、エフェメラルな暗号鍵と称される場合もある。前述したように、第1ホストと第2ホストは、ディフィー・ヘルマン交換(たとえば、楕円曲線ディフィー・ヘルマン交換)によって鍵を交換して共有キー(たとえば、対称鍵)を生成する。エフェメラルな暗号鍵を作成するために交換工程は繰り返し実行され得るので、この交換は、エフェメラルなディフィー・ヘルマン交換、またはエフェメラルな楕円曲線ディフィー・ヘルマン交換と称され得る。
【0104】
一実施の形態において、第1ホストおよび第2ホストのいずれも、ホストが利用できる量子エントロピーを用いて1つ以上の暗号鍵からなる新しいセットを生成し得る。第1ホストの場合、エフェメラルな暗号鍵を生成するために用いられるエントロピー情報は、量子エントロピー生成部705と第1ホストとの間の接続を経由して量子エントロピー生成部705から受信される。特定の実施態様では、量子エントロピー生成部705は、第1ホストに量子エントロピー情報のストリームを絶え間なく送信するように構成されてもよい。第2ホストの場合、エフェメラルな暗号鍵を生成するために使用される量子エントロピーは、第2ホストによって、S514で確立されたセキュアな通信チャネルを経由して第1ホストから受信され得る。
【0105】
様々な異なる条件がS516における暗号素材(たとえば、暗号鍵)の再生成をトリガーしてもよい。特定の実施態様では、トリガー条件は、時間に基づいた条件であってもよい。たとえば、接続について事前に構成された期間が構成されてもよく、その期間の後では、チャネルを維持するために暗号鍵を再び生成する必要がある。この事前に構成された期間は、たとえば、特定の秒数、特定の分数、特定の時間数などであってもよい。たとえば、30秒後、1分後、5分後、10分後、30分後などである。
【0106】
いくつかのその他の実施の形態では、トリガー条件は、第1ホストと第2ホストとの間で事前に構成された数のパケットまたはメッセージが交換されることに基づいてもよい。たとえば、1個のパケット、2個のパケット、5個のパケット、10個のパケット、20個のパケット、または、概して、「N」個のパケットの後に暗号鍵の再生成がトリガーされてもよい。ここで、「N」は、エントロピーの顧客が許容できるリスクに晒される程度によって異なる。Nの値が高いことは、エフェメラルキーは低く、潜在的にエントロピーの改ざんリスクに晒される可能性が高いことに相当する。リスク許容が最も低い場合、Nの値は1に設定され得る。これにより、暗号鍵は、非常にエフェメラルな暗号鍵になる。暗号鍵ローテーション率は、エントロピーの顧客が望む許容できるリスクに晒される程度に基づき得る。
図1や
図7に示すクラスタリンググラフネットワークは、ネットワークにあるすべてのホスト間のすべての接続の間で強力なエフェメラルキーを維持するために必要になるであろうエントロピー消費の可能な限り高速の速度を表す。なぜならば、キーローテーション率のコンピュータネットワークのグラフのクラスタ係数との積が、ホストにエントロピーを配布する工程においてエントロピー自体が消費される速度を決めるためである。素早いキーローテーションのために、ネットワークにあるホスト間の接続時間が増えると、接続の信頼レベルは、「N」の逆数の倍で対数的に上昇する。この接続期間は、上記Nの値、または、2つのホストがエフェメラルキーを再び生成する前にこれらの2つのホストの間で交換されたパケットの数で表される。
【0107】
上記のように、
図5で示したステップの特定の順序または順番は、限定ではない。特定の別の実施の形態では、これらのステップは、別の順序で実行されてもよく、一部のステップが平行して実行されてもよい。
【0108】
図5に示して説明した実施の形態では、量子エントロピー生成部705が生成したエントロピー情報は、S502において第1ホストに送信される。特定の実施態様では、エントロピーソースからエントロピーソースに直接接続されたホストへのこのエントロピー情報の送信は、一回限りのイベントとして実行されてもよい。その他の実施態様では、エントロピーソースからエントロピーソースに直接接続されたホストへの量子エントロピー情報の送信は、定期的に実行されてもよい。ここでは、各期間の後、エントロピーソースが生成した新しいエントロピー情報が接続されたホストに伝送される。さらにその他の実施の形態では、エントロピーソースからエントロピーソースに直接接続されたホストへの量子エントロピー情報の送信は、エントロピーソースが生成して接続されたホストに伝送されるエントロピー情報のストリームとして連続して実行されてもよい。いくつかのその他の実施の形態では、エントロピー情報は、ホストがこの情報を要求した時にエントロピーソースからホストに伝送されてもよい。たとえば、ホストは、エントロピー情報を求める要求をエントロピーソースに送信してもよく、その後、エントロピーソースが生成した要求されたエントロピー情報を要求元のホストに送信することによって、エントロピーソースがこの要求に応答してもよい。その他の送信メカニズムがその他の実施の形態で用いられてもよい。
【0109】
あるホストから別のホストへの(たとえば、第1ホストから第2ホストへの)エントロピー情報の送信は、様々な異なる態様に従って実行されてもよい。一実施の形態において、一回限りのイベントとして、第1ホストが第2ホストに、これらの2つのホストの間に確立されたセキュアな通信チャネルでエントロピー情報を伝送してもよい。その他の実施態様では、第1ホストから第2ホストへの量子エントロピー情報の送信は、セキュアな通信チャネルで定期的に実行されてもよい。ここでは、各期間の後、新しいエントロピー情報が第1ホストから第2ホストに伝送される。ここで、新しいエントロピー情報は、第1ホストがエントロピーソースまたは別のホストから受信したエントロピー情報の一部であってもよい。さらにその他の実施の形態では、第1ホストから第2ホストへの量子エントロピー情報の送信は、当該ホスト間で確立されたセキュアな通信チャネルでエントロピー情報のストリームとして連続して実行されてもよい。いくつかのその他の実施の形態では、エントロピー情報は、第2ホストがこの情報を要求した時に第1ホストから第2ホストに伝送されてもよい。たとえば、第2ホストは、エントロピー情報を求める要求を第1ホストに送信してもよく、その後、要求されたエントロピー情報を要求側第2ホストに送信することによって、第1ホストがこの要求に応答してもよい。その他の送信メカニズムがその他の実施の形態で用いられてもよい。
【0110】
図5に示す工程は、エントロピーソースが生成したエントロピーがエントロピーソース(たとえば、量子エントロピー生成部705)に直接接続されたホスト(たとえば、第1ホスト)によってどのように受信され得るのか、さらには、エントロピー情報を受信するホストがエントロピーの一部を第1ホストに通信可能に連結されたその他の1つ以上ホストにどのように配布し得るのかについて示している。これらのその他のホストは、エントロピーソースに接続されていてもよく、接続されていなくてもよい。さらに、エントロピー情報を受信したホストは、受信したエントロピー情報の一部を、ホストに通信可能に連結されたその他のホストに配布し得る。このように、エントロピーソースが生成したエントロピー情報は、分散型のネットワーク接続された環境にある複数のホストにセキュアに配布され得る。エントロピーは、エントロピーソースから(たとえば、量子エントロピー生成部705から)ある程度離れたホストに転送され得る。たとえば、第2ホストは、第1ホストから量子エントロピーを受信した後、第3ホストに受信した量子エントロピーの一部を転送し、第3ホストは、それをその他の接続されたホストに転送する…などである。
【0111】
上述したように、エントロピーソースにホストが直接接続されていなかったとしても、ネットワークにある(たとえば、格子ネットワークにある)ホストは、信頼できるエントロピー生成源が生成した量子エントロピーなどのエントロピー情報へのアクセスを得ることができる。ホストが受信した量子エントロピー情報の品質が高く信頼が置かれているために、受信したエントロピー情報は、高い信頼が必要とされる様々な操作のために使用できる。たとえば、量子エントロピーは、信頼できる暗号鍵を生成するためにホストによって使用されてもよい。これらの暗号鍵は、たとえば、ホスト間に信頼できる通信チャネルを確立するためなど、様々な用途に利用できる。本開示は、すべてのホスト(たとえば、仮想マシンコンピューティングインスタンスおよび/またはベアメタルコンピューティングインスタンス)にエフェメラルに(一時的に)鍵が付けられた格子暗号ネットワークを通して量子エントロピーソースが生成した量子エントロピーを配布するための方法について説明する。ここで、量子エントロピーを受信するホストは、エントロピーソースに接続されていなくてもよく、信頼できるエントロピー情報のソースをローカルに有していなくてもよい。
【0112】
図6は、特定の実施の形態に係る、複数のホストおよび複数のコンピューティングインスタンスに量子エントロピー生成部705が生成したエントロピー情報を配布または伝送するための工程の間に第2ホストが実行するステップを簡略化したフローチャート600を示す図である。
図6に示す処理は、それぞれのシステムの1つ以上の処理装置(たとえば、プロセッサ、コア)によって実行されるソフトウェア(たとえば、コード、命令、プログラム)で実装されてもよく、ハードウェアを用いて実装されてもよく、またはそれらの組合せで実装されてもよい。ソフトウェアは、非一時的な記憶媒体上に(たとえば、記憶装置上に)記憶されてもよい。
図6で提示し後述する方法は、例示であって、限定ではない。
図6では様々な処理ステップが特定の順番または順序で行われると示しているが、これは限定ではない。特定の別の実施の形態では、当該処理は別の順序で実行されてもよく、一部のステップが平行して実行されてもよい。
図1に示す実施の形態など、特定の実施の形態では、
図6に示す処理は、ホストB 720によって実行されてもよい。いくつかの実施の形態では、
図6で後述する第2ホストは、ホストB 720を表し得、
図6で後述する第1ホストは、ホストA 710を表し得る。
【0113】
量子エントロピー生成部705(または、エントロピーの別の適した信頼できるソース)が、量子エントロピーを生成し得る。いくつかの実施の形態では、量子エントロピー生成部705は、量子エントロピーのストリームを生成し得る。量子エントロピーのストリームは、その後、1つ以上の接続されたコンピュータシステムに配布可能になる。
【0114】
第1ホストは、量子エントロピー生成部705から量子エントロピーを受信する。第1ホストは、量子エントロピー生成部705に直接接続され得る。特定の実施の形態では、第1ホストをホストしているホストマシンが量子エントロピー生成部705に直接接続されてもよい。量子エントロピー生成部705が生成した量子エントロピーのうち任意の適切な量が受信され得る。たとえば、128ビット、256ビット、512ビット、1024ビット、2048ビット、またはその他適量の量子エントロピーが量子エントロピー生成部705によって送信され、第1ホストによって受信され得る。特定の実施態様では、量子エントロピーは、量子エントロピーのストリームという形で送信されてもよい。
【0115】
量子エントロピー生成部705から第1ホストに、信頼できる接続によってエントロピー情報が送信される。たとえば、エントロピー情報は、量子エントロピー生成部705と第1ホストとの間(または、量子エントロピー生成部705と第1ホストをホストしているホストマシンとの間)にある、インターネットおよび/またはその他のネットワークに接続されていない有線による直接のローカル接続で伝送されてもよい。有線接続に使われるケーブルも、外部の干渉もしくは改ざんまたはスヌーピングから保護されていてもよい。これに加えて、またはこの代わりに、量子エントロピーは、暗号化された形式で送信できる。
【0116】
第1ホストは、第1ホストが量子エントロピー生成部705から受信した量子エントロピーの第1部分を用いて、1つ以上の暗号鍵からなる第1セットを生成し得る。たとえば、第1ホストは、最初の通信チャネルを設けるために第2ホストとの最初の鍵交換で使用するための第1の公開鍵を生成し得る。量子エントロピーの第1部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。
【0117】
図6に示すように、S602では、第2ホストは、第1ホストとの最初の通信チャネルを設ける際に使用するための1つ以上の暗号鍵からなる第2セットを生成する。たとえば、第2ホストは、第1ホストとの最初の鍵交換で使用するための第2の公開鍵を生成し得る。第2ホストは、量子エントロピー生成部705が生成した量子エントロピーにまだアクセスできないので、ソフトウェアベースの擬似乱数生成器または別の種類の信頼できない可能性のあるエントロピーソースによって生成されたデータ文字列など、その他のエントロピー情報を鍵生成工程のために使用し得る。これらのソースが生成したこのエントロピーは、量子エントロピー生成部705が生成した量子エントロピーほどセキュアではなかったり、信頼できなかったりする。
【0118】
S604では、第2ホストは、第1ホストが生成した1つ以上の暗号鍵からなる第1セットと、ステップS602で生成した第2の暗号鍵セットとを用いて、第1ホストとの最初の通信チャネルを確立し得る。S604での処理の一部として、第2ホストと第1ホストは、最初の鍵交換を行って、最初の共有キー(たとえば、対称鍵)を作成し得る。これは、第1ホストが生成した第1の暗号鍵セットに基づいて情報を交換することと、第2ホストがS602で生成した第2の暗号鍵セットに基づいて情報を交換することとを含み得る。いくつかの実施の形態では、情報交換は、楕円曲線ディフィー・ヘルマン鍵共有プロトコルを含み得る。
【0119】
上述したように、第1ホストが量子エントロピー生成部705から受信した量子エントロピーの一部を使用して生成する第1の暗号鍵セットを用いて、そして、量子エントロピー生成部705からのエントロピーではないのでそれほど信用できないエントロピーを用いて第2ホストが生成した第2の暗号鍵セットを用いて、最初の通信チャネルが確立される。よって、最初の通信チャネルは、非対称なエントロピーに由来する暗号強度を有する接続である。この最初の通信チャネルは、少なくとも一部の秘密の情報を妨害されたり危険に晒されたりすることなく第2ホストに送信するのに十分に信頼できる通信チャネルであり得る。したがって、S508について後述するが、最初の通信チャネルは、第1ホストが量子エントロピー生成部705から受信した量子エントロピーの一部を第2ホストに送信するために使用される。
【0120】
S606では、第2ホストは、最初の通信チャネルを経由して第1ホストが量子エントロピー生成部705から受信した量子エントロピーの一部(たとえば、第2部分)を、第1ホストから受信する。特定の実施態様では、最初の通信チャネルは非対称なエントロピーに由来する暗号強度を有する接続であり、ここでは、量子エントロピー生成部705が生成したエントロピー情報を用いて、通信チャネルを設けるために使われる1つ暗号鍵セットのみが生成されるので、第1ホストは、S606でエントロピー情報を伝送するために予防措置を講じ得る。たとえば、エントロピー情報は、第1ホストから第2ホストに、暗号化された形式で最初の通信チャネルで伝送され得る。第1ホストは、先ず、第2ホストに伝送する量子エントロピーの一部(第2部分)を暗号化し、その後、暗号化されたエントロピー情報を第2ホストに伝送し得る。特定の実施態様では、エントロピー情報は、ステップS604で作成された最初の対称鍵を用いて暗号化されてもよい。第2ホストは、量子エントロピーの第2部分を受信すると、最初の対称鍵を用いて暗号化を解除し得る。量子エントロピーの第2部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。
【0121】
S606の後、第1ホストおよび第2ホストのいずれも、量子エントロピー生成部705が生成したエントロピー情報にアクセスできるようになる。第1ホストは、この情報を以前受信しており、(このときに追加のエントロピー情報も受信し得る)、第2ホストは、S606でエントロピー情報を受信する。量子エントロピー生成部705が生成した信用できるエントロピー情報を両者が有しているので、第1ホストと第2ホストとの間で対称なエントロピーに由来する暗号強度を有する接続を設定できるようになる。これについては、ステップS608およびS610で後述する。
【0122】
第1ホストは、量子エントロピー生成部705から受信した量子エントロピーの一部(たとえば、第3部分)を用いて、1つ以上の暗号鍵からなる第3セットを生成し得る。たとえば、第1ホストは、セキュアなチャネルを確立するために第2ホストとの第2の鍵交換で使用するための第3の公開鍵を生成し得る。量子エントロピーの第3部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。
【0123】
S608では、第2ホスト第2ホストは、量子エントロピー生成部705が生成して第2ホストが受信した量子エントロピーの一部を使用して、1つ以上の暗号鍵からなる第4セットを生成し得る。たとえば、第2ホストは、セキュアな通信チャネルを確立するために第1ホストとの第2の鍵交換で使用するための第4の公開鍵を生成し得る。第2ホストは、第4の暗号鍵セットを生成するときに、第2ホストが受信した量子エントロピーの一部またはすべてを使用し得る。たとえば、第2ホストが受信した量子エントロピーの一部の大きさが512ビットである場合、第2ホストは、1つ以上の公開鍵からなる第4セットを生成するために、512ビットのエントロピー情報のすべて、またはそれよりも少ないビット(たとえば、256ビット)のエントロピー情報を使用し得る。
【0124】
S610では、第2ホストは、ステップS608で第2ホストが生成した1つ以上の暗号鍵からなる第4セットおよび第1ホストが生成した1つ以上の暗号鍵からなる第3セットを用いて、第1ホストと第2ホストとの間にセキュアな通信チャネルを確立し得る。いくつかの実施の形態では、S606で最初の半分セキュアなチャネルで第2ホストが受信した量子エントロピー生成部が生成したエントロピー情報の量は、第1ホストと第2ホストとの間にセキュアな通信チャネルを設けることを容易にするのにちょうど十分な量である。たとえば、S606で伝送されるエントロピー情報の量は、S610でセキュアな通信チャネルを確立するために使用される第4の暗号鍵セットを第2ホストが生成するのにちょうど十分な量であり得る。S606での処理の一部として、第1ホストと第2ホストは、2回目の鍵交換を行って、2回目の共有キー(たとえば、対称鍵)を作成し得る。これは、S608で生成された第4の暗号鍵セットを交換することと、第1ホストによって生成された第3の暗号鍵セットを交換することとを含み得る。いくつかの実施の形態では、これは、楕円曲線ディフィー・ヘルマン交換を含み得る。
【0125】
通信チャネルを設けるために使用される暗号鍵セットの両方とも、量子エントロピー生成部705が生成したエントロピー情報を用いて生成されているため、S610で確立された通信チャネルは、対称なエントロピーに由来する暗号強度を有する接続である。よって、S610で確立された通信チャネルは、完全にセキュアな通信チャネルであると考えられる。その後、このセキュアな通信チャネルは、第2ホストによって、量子エントロピー生成部705から第1ホストが受信した量子エントロピー情報の一部を第1ホストからさらに受信するために使用される。この通信チャネルは、第2ホストと第1ホストとの間で1つ以上のメッセージを交換するためなどその他の目的にも利用され得る。
【0126】
S612では、第2ホストは、受信量子エントロピー生成部が生成した量子エントロピーのその他一部(たとえば、第4部分)を、S610で確立されたセキュアな通信チャネルを経由して第1ホストから受信し得る。たとえば、第1ホストは、ステップS610で作成した2回目の対称鍵を用いて量子エントロピーの第4部分を暗号化し得、第1ホストは、暗号化された量子エントロピーの第4部分を第2ホストに送信し得、第2ホストは、2回目の対称鍵を用いて2回目の対称鍵を用いて量子エントロピーの第4部分の暗号化を解除し得る。特定の実施態様では、エントロピー情報は、情報のストリームとして伝送されてもよい。量子エントロピーの第4部分の大きさは、256ビットまたは512ビットの量子エントロピーなど、任意の適切な大きさであり得る。
【0127】
第2ホストは、S612でセキュアな通信チャネルを経由して第1ホストから受信した量子エントロピーの第4部分を使用し得る。たとえば、第2ホストは、1つ以上のアプリケーションの操作に量子エントロピーの第4部分を使用し得る。
【0128】
特定の実施態様では、S610で確立された通信チャネルの安全性を維持するために、その接続に関連する暗号素材(たとえば、暗号鍵)自体を再び生成してセキュアな通信チャネルを維持する。たとえば、
図6に示すように、S614では、特定の条件が満たされた後、第1ホストおよび第2ホストは、セキュアな通信チャネルを更新するためおよび/または新しいセキュアな通信チャネルを確立するために用いられる新しい暗号鍵を生成し得る。ここでは、新しい暗号鍵は、第1ホストおよび第2ホストが入手可能な量子エントロピー情報の一部を使用しても生成される。これは、再生成条件が満たされる度または発生する度に繰り返されてもよい。これは、暗号鍵ローテーションと称される場合もある。暗号鍵は、再び生成される前の特定の期間のみ有効であるため、エフェメラルな暗号鍵と称される場合もある。
【0129】
一実施の形態において、第2ホストおよび第1ホストのいずれも、ホストが利用できる量子エントロピーを用いて1つ以上の暗号鍵からなる新しいセットを生成し得る。第1ホストの場合、エフェメラルな暗号鍵を生成するために用いられるエントロピー情報は、量子エントロピー生成部705と第1ホストとの間の接続を経由して量子エントロピー生成部705から受信される。特定の実施態様では、量子エントロピー生成部705は、第1ホストに量子エントロピー情報のストリームを絶え間なく送信するように構成されてもよい。第2ホストの場合、エフェメラルな暗号鍵を生成するために使用される量子エントロピーは、第2ホストによって、S610で確立されたセキュアな通信チャネルで確立されたセキュアな通信チャネルを経由して第1ホストから受信され得る。
【0130】
様々な異なる条件がS610における暗号素材(たとえば、暗号鍵)の再生成をトリガーしてもよい。特定の実施態様では、トリガー条件は、時間に基づいた条件であってもよい。たとえば、接続について事前に構成された期間が構成されてもよく、その期間の後では、チャネルを維持するために暗号鍵を再び生成する必要がある。この事前に構成された期間は、たとえば、特定の秒数、特定の分数、特定の時間数などであってもよい。たとえば、30秒後、1分後、5分後、10分後、30分後などである。
【0131】
いくつかのその他の実施の形態では、トリガー条件は、第1ホストと第2ホストとの間で事前に構成された数のパケットまたはメッセージが交換されることに基づいてもよい。たとえば、1個のパケット、2個のパケット、5個のパケット、10個のパケット、20個のパケット、または、概して、「N」個のパケットの後に暗号鍵の再生成がトリガーされてもよい。ここで、「N」は、エントロピーの顧客が許容できるリスクに晒される程度によって異なる。Nの値が高いことは、エフェメラルキーは低く、潜在的にエントロピーの改ざんリスクに晒される可能性が高いことに相当する。リスク許容が最も低い場合、Nの値は1に設定され得る。これにより、暗号鍵は、非常にエフェメラルな暗号鍵になる。暗号鍵ローテーション率は、エントロピーの顧客が望む許容できるリスクに晒される程度に基づき得る。
図1や
図7に示すクラスタリンググラフネットワークは、ネットワークにあるすべてのホスト間のすべての接続の間で強力なエフェメラルキーを維持するために必要になるであろうエントロピー消費の可能な限り高速の速度を表す。なぜならば、キーローテーション率のコンピュータネットワークのグラフのクラスタ係数との積が、ホストにエントロピーを配布する工程においてエントロピー自体が消費される速度を決めるためである。素早いキーローテーションのために、ネットワークにあるホスト間の接続時間が増えると、接続の信頼レベルは、「N」の逆数の倍で対数的に上昇する。この接続期間は、上記Nの値、または、2つのホストがエフェメラルキーを再び生成する前にこれらの2つのホストの間で交換されたパケットの数で表される。
【0132】
上記のように、
図6で示したステップの特定の順序または順番は、限定ではない。特定の別の実施の形態では、これらのステップは、別の順序で実行されてもよく、一部のステップが平行して実行されてもよい。
【0133】
図6に示して説明した実施の形態では、量子エントロピー生成部705が生成したエントロピー情報は、第1ホストに送信される。特定の実施態様では、エントロピーソースからエントロピーソースに直接接続されたホストへのこのエントロピー情報の送信は、一回限りのイベントとして実行されてもよい。その他の実施態様では、エントロピーソースからエントロピーソースに直接接続されたホストへの量子エントロピー情報の送信は、定期的に実行されてもよい。ここでは、各期間の後、エントロピーソースが生成した新しいエントロピー情報が接続されたホストに伝送される。さらにその他の実施の形態では、エントロピーソースからエントロピーソースに直接接続されたホストへの量子エントロピー情報の送信は、エントロピーソースが生成して接続されたホストに伝送されるエントロピー情報のストリームとして連続して実行されてもよい。いくつかのその他の実施の形態では、エントロピー情報は、ホストがこの情報を要求した時にエントロピーソースからホストに伝送されてもよい。たとえば、ホストは、エントロピー情報を求める要求をエントロピーソースに送信してもよく、その後、エントロピーソースが生成した要求されたエントロピー情報を要求元のホストに送信することによって、エントロピーソースがこの要求に応答してもよい。その他の送信メカニズムがその他の実施の形態で用いられてもよい。
【0134】
あるホストから別のホストへの(たとえば、第1ホストから第2ホストへの)エントロピー情報の送信は、様々な異なる態様に従って実行されてもよい。一実施の形態において、一回限りのイベントとして、第1ホストが第2ホストに、これらの2つのホストの間に確立されたセキュアな通信チャネルでエントロピー情報を伝送してもよい。その他の実施態様では、第1ホストから第2ホストへの量子エントロピー情報の送信は、セキュアな通信チャネルで定期的に実行されてもよい。ここでは、各期間の後、新しいエントロピー情報が第1ホストから第2ホストに伝送される。ここで、新しいエントロピー情報は、第1ホストがエントロピーソースまたは別のホストから受信したエントロピー情報の一部であってもよい。さらにその他の実施の形態では、第1ホストから第2ホストへの量子エントロピー情報の送信は、当該ホスト間で確立されたセキュアな通信チャネルでエントロピー情報のストリームとして連続して実行されてもよい。いくつかのその他の実施の形態では、エントロピー情報は、第2ホストがこの情報を要求した時に第1ホストから第2ホストに伝送されてもよい。たとえば、第2ホストは、エントロピー情報を求める要求を第1ホストに送信してもよく、その後、要求されたエントロピー情報を要求側第2ホストに送信することによって、第1ホストがこの要求に応答してもよい。その他の送信メカニズムがその他の実施の形態で用いられてもよい。
【0135】
図6に示す工程は、エントロピーソースが生成したエントロピーがホスト(たとえば、第2ホスト)によって第2ホストに通信可能に連結された別のホスト(たとえば、第1ホスト)からどのように受信され得るのかについて示している。ここでは、第1ホストは、最初は、エントロピーソース(たとえば、量子エントロピー生成部705)からエントロピーを受信している。第2ホストは、エントロピーソースに接続されていてもよく、接続されていなくてもよい。エントロピー情報を受信した第2ホストは、受信したエントロピー情報の一部を、第2ホストに通信可能に連結されたその他のホストに配布し得る。このように、エントロピーソースが生成したエントロピー情報は、分散型のネットワーク接続された環境にある複数のホストにセキュアに配布され得る。エントロピーは、エントロピーソースから(たとえば、量子エントロピー生成部705から)ある程度離れたホストに転送され得る。たとえば、第2ホストは、第1ホストから量子エントロピーを受信した後、第3ホストに受信した量子エントロピーの一部を転送し、第3ホストは、それをその他の接続されたホストに転送する…などである。
【0136】
上述したように、エントロピーソースにホストが直接接続されていなかったとしても、ネットワークにある(たとえば、格子ネットワークにある)ホストは、信頼できるエントロピー生成源が生成した量子エントロピーなどのエントロピー情報へのアクセスを得ることができる。ホストが受信した量子エントロピー情報の品質が高く信頼が置かれているために、受信したエントロピー情報は、高い信頼が必要とされる様々な操作のために使用できる。たとえば、量子エントロピーは、信頼できる暗号鍵を生成するためにホストによって使用されてもよい。これらの暗号鍵は、たとえば、ホスト間に信頼できる通信チャネルを確立するためなど、様々な用途に利用できる。本開示は、すべてのホスト(たとえば、仮想マシンコンピューティングインスタンスおよび/またはベアメタルコンピューティングインスタンス)にエフェメラルに(一時的に)鍵が付けられた格子暗号ネットワークを通して量子エントロピーソースが生成した量子エントロピーを配布するための方法について説明する。ここで、量子エントロピーを受信するホストは、エントロピーソースに接続されていなくてもよく、信頼できるエントロピー情報のソースをローカルに有していなくてもよい。
【0137】
図8は、特定の実施の形態を実装するために用いられ得る例示的なコンピュータシステム800を示す図である。たとえば、いくつかの実施の形態では、コンピュータシステム800を利用して、
図1および/または
図7に示すいずれのホストまたはコンピュータシステム、ならびに上述した様々なサーバおよびコンピュータシステムが実装され得る。
図8に示すように、コンピュータシステム800は、バスサブシステム802を介して複数のその他のサブシステムと通信する処理サブシステム804を含む、様々なサブシステムを備える。これらのその他のサブシステムは、処理高速化装置806、I/Oサブシステム808、ストレージサブシステム818、および通信サブシステム824を含み得る。ストレージサブシステム818は、記憶媒体822およびシステムメモリ810を含む、非一時的なコンピュータ読み取り可能な記憶媒体を備える。
【0138】
バスサブシステム802は、コンピュータシステム800の様々な構成要素およびサブシステムを互いに意図した通りに通信させるためのメカニズムを提供する。バスサブシステム802は、1つのバスとして図示されているが、バスサブシステムの別の実施の形態は、複数のバスを利用してもよい。バスサブシステム802は、各種のバスアーキテクチャを使用するメモリバスまたはメモリコントローラ、周辺バス、ローカルバスなどを含むいくつかの種類のバス構造のうちのいずれかであってもよい。たとえば、このようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびPCI(Peripheral Component Interconnect)バスを含んでもよく、これらは、IEEE P1386.1標準規格などに準拠して製造されるMezzanineバスとして実現され得る。
【0139】
処理サブシステム804は、コンピュータシステム800の動作を制御し、1つ以上のプロセッサ、ASIC(特定用途向け集積回路)、またはFPGA(フィールドプログラマブルゲートアレイ)を備え得る。これらのプロセッサは、シングルコアプロセッサまたはマルチコアプロセッサであってもよい。コンピュータシステム800の処理リソースは、1つ以上の処理装置832、834などにまとめられてもよい。処理装置は、1つ以上のプロセッサ、同じまたはそれぞれ異なるプロセッサからの1つ以上のコア、コアとプロセッサとの組合せ、または、コアとプロセッサとのその他の組合せを含み得る。いくつかの実施の形態では、処理サブシステム1704は、グラフィックスプロセッサ、デジタル・シグナル・プロセッサ(DSP)など、1つ以上の専用コプロセッサを含み得る。いくつかの実施の形態では、処理サブシステム804の処理装置の一部またはすべては、ASIC(特定用途向け集積回路)、またはFPGA(フィールドプログラマブルゲートアレイ)など、カスタム回路を使用して実現され得る。
【0140】
いくつかの実施の形態では、処理サブシステム804にある処理装置は、システムメモリ810に記憶された命令、またはコンピュータ読み取り可能な記憶媒体822上に記憶された命令を実行し得る。様々な実施の形態では、処理装置は、様々なプログラムまたはコード命令を実行でき、複数の同時に実行しているプログラムまたはプロセスを維持することができる。いつでも、実行されるプログラムコードの一部またはすべては、システムメモリ810に存在してもよく、および/または、場合によっては1つ以上の記憶装置上を含む、コンピュータ読み取り可能な記憶媒体822上に存在してもよい。適したプログラミングによって、処理サブシステム804は、上述した様々な機能を提供できる。コンピュータシステム800が1つ以上の仮想マシンを実行している場合、各仮想マシンに1つ以上の処理装置が割り当てられてもよい。
【0141】
特定の実施の形態では、カスタマイズされた処理を実行するための、または、コンピュータシステム800によって実行される全体的な処理が高速化するように、処理サブシステム804によって実行される処理のうちのいくつかの負荷を軽減させるための処理高速化装置806がオプションで提供され得る。
【0142】
I/Oサブシステム808は、コンピュータシステム800に情報を入力するためのデバイスおよびメカニズム、および/またはコンピュータシステム800を介してもしくはコンピュータシステム800から情報を出力するためのデバイスおよびメカニズムを含んでもよい。一般に、「入力装置」という用語を用いることは、コンピュータシステム800に情報を入力するためのあらゆる種類のデバイスおよびメカニズムを含む意図がある。ユーザーインターフェース入力装置は、たとえば、キーボード、マウスもしくはトラックボールなどのポインティングデバイス、タッチパッドもしくはディスプレイに組み込まれたタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、ボイスコマンド認識システムを有する音声入力装置、マイクロホン、および他の種類の入力装置を含んでもよい。また、ユーザーインターフェース入力装置は、ユーザが入力装置を制御すること、および入力装置とやり取りすることを可能にするMicrosoft Kinect(登録商標)モーションセンサなどの動き検知デバイスおよび/またはジェスチャ認識デバイス、Microsoft Xbox(登録商標)360ゲームコントローラ、ジェスチャコマンドおよび音声コマンドを用いた入力を受け付けるためのインターフェイスを提供するデバイスを含んでもよい。また、ユーザーインターフェース入力装置は、ユーザの目の動作(たとえば、写真を撮影しているおよび/またはメニュー選択を行っている間の「まばたき」)を検出し、目の挙動(eye gesture)を入力装置(たとえば、Google Glass(登録商標))への入力として変形させるGoogle Glass(登録商標)まばたき検出装置などのアイジェスチャ認識デバイスを含んでもよい。これに加えて、ユーザーインターフェース入力装置は、ユーザがボイスコマンドによって音声認識システム(たとえば、Siri(登録商標)ナビゲータ)とやり取りすることを可能にする音声認識検知デバイスを含んでもよい。
【0143】
その他のユーザーインターフェース入力装置として、3D(3次元)マウス、ジョイスティックもしくはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびに、スピーカー、デジタルカメラ、デジタルカムコーダー、ポータブルメディアプレーヤ、ウェブカム、イメージスキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンター、レーザー測距器、および視線追跡装置などのオーディオ/ビジュアル装置などが挙げられるが、これに限定されない。これに加えて、ユーザーインターフェース入力装置は、たとえば、コンピュータ断層撮影法、磁気共鳴画像、陽電子放出断層撮影装置、および超音波検査デバイスなど、医用画像入力装置を含んでもよい。また、ユーザーインターフェース入力装置は、たとえば、MIDIキーボード、デジタル楽器などのオーディオ入力装置を含んでもよい。
【0144】
一般に、用語「出力装置」の使用は、コンピュータシステム800からユーザまたは他のコンピュータに情報を出力するためのあらゆる種類のデバイスおよびメカニズムを含むことを意図する。ユーザーインターフェース出力装置は、表示サブシステム、インジケーターライト、または音声出力装置などの非視覚的表示装置などを含んでもよい。表示サブシステムは、CRT(ブラウン管)、LCD(液晶ディスプレイ)またはプラズマディスプレイを使用するものなどのフラットパネル表示装置、投影装置、タッチスクリーンなどであってもよい。たとえば、ユーザーインターフェース出力装置は、モニター、プリンター、スピーカー、ヘッドホン、自動車ナビゲーションシステム、作図装置、音声出力装置、およびモデムなど、文字、図形、および音声/映像情報を視覚的に伝えるいろいろな表示装置を含み得るが、これに限定されない。
【0145】
ストレージサブシステム818は、コンピュータシステム800が使用する情報およびデータを記憶するためのリポジトリまたはデータストアを提供する。ストレージサブシステム818は、いくつかの実施の形態の機能を提供する基本プログラミング構造およびデータ構造を記憶するための有形の非一時的なコンピュータ読み取り可能な記憶媒体を提供する。ストレージサブシステム818は、処理サブシステム804によって実行されると上述の機能を提供するソフトウェア(たとえば、プログラム、コードモジュール、命令)を記憶する。ソフトウェアは、処理サブシステム804の1つ以上の処理装置によって実行され得る。また、ストレージサブシステム818は、本開示の教示に応じて使用されるデータを記憶するためのリポジトリを提供し得る。
【0146】
ストレージサブシステム818は、揮発性および不揮発性メモリ素子を含む、1つ以上の非一時的なメモリ素子を含んでもよい。
図8に示すように、ストレージサブシステム818は、システムメモリ810と、コンピュータ読み取り可能な記憶媒体822とを備える。システムメモリ810は、プログラムを実行中に命令およびデータを記憶するための揮発性のメインRAM(Random Access Memory)、および、固定の命令が記憶される不揮発性ROM(Read Only Memory)またはフラッシュメモリを含む、いくつかのメモリを含んでもよい。いくつかの実装形態では、起動中などで、コンピュータシステム800内の要素間で情報を転送することを助ける基本ルーチンを含むBIOS(Basic Input/Output System)は、通常、ROMに記憶され得る。RAMは、通常、処理サブシステム804が現在操作および実行していているデータおよび/またはプログラムモジュールを含む。いくつかの実装形態では、システムメモリ810は、SRAM(Static Random Access Memory)またはDRAM(Dynamic Random Access Memory)など、複数の異なる種類のメモリなどを含んでもよい。
【0147】
一例として、
図8に示すように、システムメモリ810は、実行中のアプリケーションプログラム(ウェブブラウザ、ミッドティア・アプリケーション、リレーショナルデータベース管理システム(RDBMS)など、様々なアプリケーションを含み得る)812と、プログラムデータ814と、オペレーティングシステム816とをロードしてもよいが、これらに限定されない。一例として、オペレーティングシステム816は、様々なバージョンのMicrosoft Windows(登録商標)、Apple Macintosh(登録商標)、および/もしくはLinux(登録商標)オペレーティングシステム、様々な流通しているUNIX(登録商標)もしくはUNIXに似たオペレーティングシステム(様々なGNU/Linuxオペレーティングシステム、Google Chrome(登録商標)OSなどを含むが、これらに限定されない)、ならびに/またはiOS、Windows(登録商標)Phone、Android(登録商標)OS、BlackBerry(登録商標)OS、Palm(登録商標)OSオペレーティングシステムなど、モバイルオペレーティングシステム、およびその他を含んでもよい。
【0148】
コンピュータ読み取り可能な記憶媒体822は、いくつかの実施の形態の機能を提供するプログラミング構造およびデータ構造を記憶し得る。コンピュータ読み取り可能な媒体822は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、およびコンピュータシステム800用の他のデータのストレージを提供し得る。処理サブシステム804によって実行されると上述の機能を提供するソフトウェア(プログラム、コードモジュール、命令)が、ストレージサブシステム818に記憶され得る。一例として、コンピュータ読み取り可能な記憶媒体822は、ハードディスクドライブなどの不揮発性メモリ、磁気ディスクドライブ、CD ROM、DVD、Blu-Ray(登録商標)ディスクなどの光ディスクドライブまたは他の光学媒体を含んでもよい。コンピュータ読み取り可能な記憶媒体822は、Zip(登録商標)ドライブ、フラッシュメモリーカード、USB(Universal Serial Bus)フラッシュドライブ、SD(Secure Digital)カード、DVDディスク、デジタルビデオテープなどを含んでもよいが、これらに限定されない。コンピュータ読み取り可能な記憶媒体822は、フラッシュメモリベースのSSD、エンタープライズフラッシュドライブ、ソリッドステートROMなど、不揮発性メモリに基づくSSD(Solid-State Drives)、ソリッドステートRAM、動的RAM、静的RAMなど、揮発性メモリに基づくSSD、DRAMベースのSSD、磁気抵抗RAM(MRAM)SSD、およびDRAMのSSDとフラッシュメモリベースのSSDとの組合せを使用するハイブリッドSSDを含んでもよい。
【0149】
特定の実施の形態では、ストレージサブシステム800は、コンピュータ読み取り可能な記憶媒体822にさらに接続され得るコンピュータ読み取り可能な記憶媒体リーダ820を含んでもよい。リーダ820は、ディスク、フラッシュドライブなどの記憶装置からデータを受信し、読み出すように構成されてもよい。
【0150】
特定の実施の形態では、コンピュータシステム800は、処理リソースおよびメモリリソースの仮想化を含む、仮想化技術に対応し得るが、これに限定されない。たとえば、コンピュータシステム800は、1つ以上の仮想マシンを実行するためのサポートを提供し得る。特定の実施の形態では、コンピュータシステム800は、仮想マシンの構成および管理を容易にするハイパーバイザなどのプログラムを実行し得る。各仮想マシンには、メモリ、コンピュータ(たとえば、プロセッサ、コア)、I/O、およびネットワーキングリソースが割り当てられ得る。各仮想マシンは、一般に、その他の仮想マシンとは独立して動作する。仮想マシンは、それ自体のオペレーティングシステムを実行し得る。このオペレーティングシステムは、コンピュータシステム800が実行する他の仮想マシンによって実行されるオペレーティングシステムと同じであってもよく、異なってもよい。したがって、場合によっては、コンピュータシステム800によって複数のオペレーティングシステムが同時に実行されてもよい。
【0151】
通信サブシステム824は、他のコンピュータシステムおよびネットワークへのインターフェイスを提供する。通信サブシステム824は、コンピュータシステム800からデータを受信し、コンピュータシステム800から他のシステムにデータを送信するためのインターフェイスとして機能する。たとえば、通信サブシステム824は、コンピュータシステム800が、クライアントデバイスと情報を受送信するためにインターネットを経由して1つ以上のクライアントデバイスへの通信チャネルを確立できるようにする。たとえば、通信チャネルを確立する、および/またはその他のコンピュータに量子エントロピーを送信するために通信サブシステムが用いられてもよい。
【0152】
通信サブシステム824は、有線および/またはワイヤレス通信プロトコルの両方に対応してもよい。たとえば、特定の実施の形態では、通信サブシステム824は、(たとえば、携帯電話技術、3G、4G、もしくはEDGE(Enhanced Data Rates For Global Evolution)などの次世代データネットワークテクノロジー、WiFi(IEEE802.XXファミリー標準規格)、他の移動体通信技術、またはそれらの任意の組合せを使用する)ワイヤレスの音声ネットワークもしくは/またはデータネットワークにアクセスするためのRF(Radio Frequency)トランシーバコンポーネント、GPS(Global Positioning System)レシーバコンポーネント、および/または他の構成要素を含み得る。いくつかの実施の形態では、通信サブシステム824は、ワイヤレスインターフェイスに加えて、またはワイヤレスインターフェイスの代わりに、有線ネットワーク接続性(たとえば、Ethernet(登録商標))を提供できる。
【0153】
通信サブシステム824は、様々な形式でデータを受送信できる。たとえば、いくつかの実施の形態では、その他の形式に加えて、通信サブシステム824は、入力通信文を、構造化および/または非構造化データフィード826、イベントストリーム828、イベント更新830などの形で受信し得る。たとえば、通信サブシステム824は、Twitter(登録商標)フィード、Facebook(登録商標)の更新、RSS(Rich Site Summary)フィードなどのwebフィード、および/または1つ以上のサードパーティ情報ソースからのリアルタイム更新など、ソーシャルメディアネットワークおよび/または他のコミュニケーションサービスのユーザから、データフィード826をリアルタイムで受信する(または送る)ように構成され得る。
【0154】
特定の実施の形態では、通信サブシステム824は、連続したデータストリームの形でデータを受信するように構成されてもよく、連続したデータストリームは、本質的にはっきりとした終端がない、連続または無限の、リアルタイムイベントおよび/またはイベント更新830のイベントストリーム828を含んでもよい。連続データを生成するアプリケーションとして、たとえば、センサーデータアプリケーション、チッカー、ネットワークパフォーマンス測定ツール(たとえば、ネットワーク監視およびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通量監視などが挙げられ得る。
【0155】
また、通信サブシステム824は、コンピュータシステム800からその他のコンピュータシステムまたはネットワークにデータを伝送するように構成され得る。このデータは、構造化および/または非構造化データフィード826、イベントストリーム828、イベント更新830など、様々な異なる形式で、コンピュータシステム800に接続された1つ以上のストリーミングデータソースコンピュータと通信中であり得る1つ以上のデータベースに伝送され得る。
【0156】
コンピュータシステム800は、手のひらサイズのポータブルデバイス(たとえば、iPhone(登録商標)携帯電話、IPad(登録商標)コンピューティングタブレット、PDA)、ウェアラブルデバイス(たとえば、Google Glass(登録商標)ヘッドマウントディスプレイ)、パーソナルコンピューター、ワークステーション、メインフレーム、キオスク、サーバーラック、またはその他のデータ処理システムを含む、様々な種類のうちの1つであり得る。変わり続けるというコンピュータおよびネットワークの性質のため、
図8に示すコンピュータシステム800の説明は、具体例にすぎない。
図8に示すシステムよりも多いまたは少ない数の構成要素を有する多くのその他の構成が可能である。
【0157】
具体的な実施の形態を説明したが、様々な変更例、代替例、代替的な構成、および均等物も可能である。実施の形態は、ある特定のデータ処理環境内の動作に制限されず、複数のデータ処理環境内で自由に動作することができる。これに加えて、特定の一続きのトランザクションおよびステップを使用して特定の実施の形態を説明したが、これは限定ではない。動作を逐次プロセスとして示したフローチャートもあったが、これらの動作の多くのは、並列して実行されてもよく、同時に実行されてもよい。これに加えて、動作の順序を並び替えてもよい。処理は、図に含まれていない追加ステップを有してもよい。
【0158】
さらに、ハードウェアとソフトウェアとの特定の組合せを使用して特定の実施の形態を説明したが、ハードウェアとソフトウェアとの他の組合せも可能であることを認識されたい。特定の実施の形態は、ハードウェアのみで実現されてもよく、ソフトウェアのみで実現されてもよく、それらの組合せを用いて実現されてもよい。本明細書に記載の様々なプロセスは、同じプロセッサまたは任意の組合せのそれぞれ異なるプロセッサ上で実現できる。
【0159】
デバイス、システム、構成要素、またはモジュールについて、特定の動作または機能を実行するように構成されていると説明している箇所では、このような構成は、たとえば、この動作を実行するように電子回路を設計することによって、コンピュータ命令もしくはコードを実行するなどによってこの動作を実行するようにプログラム可能な電子回路(マイクロプロセッサなど)をプログラムすることによって、もしくは、非一時的なメモリ媒体上に記憶されたコードまたは命令を実行するようにプログラムされたプロセッサまたはコアを設計することによって、または、任意のそれらの組合せによって達成できる。プロセスは、プロセス間通信のための従来技術を含む様々な技術を使用して通信できるが、これに限定されず、それぞれ異なるペアプロセスは、異なる技術を使用してもよく、プロセスの同じペアは、異なる技術を別々のタイミングで使用し得る。
【0160】
実施の形態を十分に理解してもらうために、具体的な詳細を本開示に記載した。しかしながら、これらの具体的な詳細がなくても実施の形態を実施できるであろう。たとえば、実施の形態を曖昧にしてしまわないように、周知の回路、処理、アルゴリズム、構造、および技術を、不必要に詳細を説明することなく図示した。この説明は、例示的な実施の形態を提供しているにすぎず、クレームの範囲、利用可能性、またはその他の実施の形態の構成を限定しない。むしろ、以上の実施の形態の説明は、様々な実施の形態を実装するための実施可能な説明を提供する。要素の機能および配置には、様々な変更が加えられてもよい。
【0161】
したがって、明細書および図面は、厳密ではなく一例にすぎないとみなされるべきである。しかしながら、添付の特許請求の範囲に記載のより広義の趣旨および範囲から逸脱することなく、明細書および図面に対して追加、減算、削除、ならびに他の変更および変形が行われてもよいことが明白になるであろう。よって、具体的な実施の形態を説明したが、これらは限定ではない。様々な変更例および均等物は、添付の特許請求の範囲に含まれる。
【手続補正書】
【提出日】2024-01-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
方法であって、
第1ホストが、エントロピーソースからエントロピー情報を受信することと、
1つ以上の暗号鍵を用いて前記第1ホストと第2ホストとの間に通信チャネルを確立することとを含み、前記1つ以上の暗号鍵のすべては、少なくとも前記エントロピー情報の一部を使用して生成され、
前記第1ホストと前記第2ホストとの間に確立された前記通信チャネルを利用して、前記エントロピー情報のその他一部を前記第1ホストから前記第2ホストに伝送することをさらに含む、方法。
【請求項2】
前記エントロピーソースは、量子エントロピー生成部であり、前記エントロピー情報は、量子エントロピーである、請求項1に記載の方法。
【請求項3】
前記第1ホストは、第1ホストマシンによってホストされ、前記第2ホストは、第2ホストマシンによってホストされる、請求項1または2に記載の方法。
【請求項4】
前記通信チャネルは、第2通信チャネルであり、
前記エントロピー情報の第1部分を使用して前記第1ホストによって生成される1つ以上の暗号鍵からなる第1セットに基づいて、および前記第2ホストによって生成される1つ以上の暗号鍵からなる第2セットに基づいて前記第1ホストと前記第2ホストとの間に第1通信チャネルを確立することと、
前記第1通信チャネルを利用して前記第1ホストから前記第2ホストに前記エントロピー情報の第2部分を伝送することとをさらに含む、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記第2通信チャネルを確立することは、
前記第1ホストが、前記エントロピー情報の第3部分を使用して1つ以上の暗号鍵からなる第3セットを生成することと、
前記第2ホストが、前記第1ホストから前記第2ホストが受信する前記エントロピー情報の前記第2部分の第1部分を使用して1つ以上の暗号鍵からなる第4セットを生成することと、
前記1つ以上の暗号鍵からなる第3セットおよび前記1つ以上の暗号鍵からなる第4セットに基づいて前記第1ホストと前記第2ホストとの間に前記第2通信チャネルを確立することとを含む、請求項4に記載の方法。
【請求項6】
前記第1通信チャネルを確立することは、前記1つ以上の暗号鍵からなる第1セットおよび前記1つ以上の暗号鍵からなる第2セットを用いて、第1のエフェメラルなディフィー・ヘルマン鍵交換を実行することを含み、前記第2通信チャネルを確立することは、前記1つ以上の暗号鍵からなる第3セットおよび前記1つ以上の暗号鍵からなる第4セットを用いて、第2のエフェメラルなディフィー・ヘルマン鍵交換を実行することを含む、請求項5に記載の方法。
【請求項7】
前記第1のエフェメラルなディフィー・ヘルマン鍵交換は、第1のエフェメラルな楕円曲線ディフィー・ヘルマン鍵交換であり、前記第2のエフェメラルなディフィー・ヘルマン鍵交換は、第2のエフェメラルな楕円曲線ディフィー・ヘルマン鍵交換である、請求項6に記載の方法。
【請求項8】
前記エントロピー情報の前記第2部分は、「N」個のビット含み、前記第2ホストは、前記「N」個のビットに基づいて前記1つ以上の暗号鍵からなる第4セットを生成する、
請求項4~7のいずれか1項に記載の方法。
【請求項9】
前記第2通信チャネルに関連する条件が満たされたと判断することと、
前記条件が満たされたと判断したことに応じて、
前記第1ホストが、前記エントロピー情報の第5部分を使用して1つ以上の暗号鍵からなる新しい第1セットを再び生成することと、
前記第2ホストが、前記第1ホストから受信した前記エントロピー情報の前記第2部分の第2部分を使用して1つ以上の暗号鍵からなる新しい第2セットを再び生成することと、
前記1つ以上の暗号鍵からなる新しい第1セットおよび前記1つ以上の暗号鍵からなる新しい第2セットに基づいて前記第1ホストと前記第2ホストとの間の前記第2通信チャネルを更新することとをさらに含む、請求項5~8のいずれか1項に記載の方法。
【請求項10】
前記第2通信チャネルに関連する前記条件が満たされたと判断することは、特定の期間が経過したと判断することを含む、請求項9に記載の方法。
【請求項11】
前記第2通信チャネルに関連する前記条件が満たされたと判断することは、前記第1ホストと前記第2ホストとの間で特定数のパケットが交換されたと判断することを含む、請求項9に記載の方法。
【請求項12】
前記第1ホストおよび前記第2ホストのいずれも、第1ホストマシンによってホストされる、請求項1~11のいずれか1項に記載の方法。
【請求項13】
第1コンピュータシステムであって、
プロセッサと、
前記プロセッサによって実行可能な複数の命令を記憶するように構成されたメモリとを備え、前記複数の命令は、前記プロセッサによって実行されると、処理を実行させ、前記処理は、
エントロピーソースからエントロピー情報を受信することと、
1つ以上の暗号鍵を用いて前記第1コンピュータシステムと第2コンピュータシステムとの間に通信チャネルを確立することとを含み、前記1つ以上の暗号鍵のすべては、少なくとも前記エントロピー情報の一部を使用して生成され、前記処理は、さらに、
前記第1コンピュータシステムと前記第2コンピュータシステムとの間に確立された前記通信チャネルを利用して前記エントロピー情報のその他一部を前記第2コンピュータシステムに伝送することを含む、第1コンピュータシステム。
【請求項14】
前記通信チャネルは、第2通信チャネルであり、前記処理は、
前記エントロピー情報の第1部分を使用して前記第1コンピュータシステムによって生成される1つ以上の暗号鍵からなる第1セットに基づいて、および前記第2コンピュータシステムによって生成される1つ以上の暗号鍵からなる第2セットに基づいて前記第1コンピュータシステムと前記第2コンピュータシステムとの間に第1通信チャネルを確立することと、
前記第1通信チャネルを利用して前記第1コンピュータシステムから前記第2コンピュータシステムに前記エントロピー情報の第2部分を伝送することとをさらに含む、請求項13に記載の第1コンピュータシステム。
【請求項15】
前記第2通信チャネルを確立することは、
前記エントロピー情報の第3部分を使用して1つ以上の暗号鍵からなる第3セットを生成することを含み、前記第2コンピュータシステムは、前記第1コンピュータシステムから受信した前記エントロピー情報の前記第2部分の第1部分を使用して1つ以上の暗号鍵からなる第4セットを生成し、前記第2通信チャネルを確立することは、さらに、
前記1つ以上の暗号鍵からなる第3セットおよび前記1つ以上の暗号鍵からなる第4セットに基づいて前記第1コンピュータシステムと前記第2コンピュータシステムとの間に前記第2通信チャネルを確立することを含む、請求項14に記載の第1コンピュータシステム。
【請求項16】
前記処理は、さらに、
前記第2通信チャネルに関連する条件が満たされたと判断することと、
前記条件が満たされたと判断したことに応じて、
前記エントロピー情報の第5部分を使用して1つ以上の暗号鍵からなる新しい第1セットを再び生成することとを含み、前記第2コンピュータシステムは、前記第1コンピュータシステムから受信した前記エントロピー情報の前記第2部分の第2部分を使用して1つ以上の暗号鍵からなる新しい第2セットを再び生成し、前記複数の命令は、さらに、
前記条件が満たされたと判断したことに応じて、
前記1つ以上の暗号鍵からなる新しい第1セットおよび前記1つ以上の暗号鍵からなる新しい第2セットに基づいて前記第1コンピュータシステムと前記第2コンピュータシステムとの間の前記第2通信チャネルを更新することを含む、請求項15に記載の第1コンピュータシステム。
【請求項17】
請求項1~12のいずれか1項に記載の方法のステップを実行するための手段を備える、装置。
【請求項18】
コンピュータ命令を含むコンピュータプログラムであって、前記コンピュータ命令は、プロセッサによって実行されると、請求項1~12のいずれか1項に記載の方法を前記プロセッサに実行させる、コンピュータプログラム。
【国際調査報告】