JP7399975B2 - マルチソースエントロピーのランダム性の集約および配布ネットワーク - Google Patents

マルチソースエントロピーのランダム性の集約および配布ネットワーク Download PDF

Info

Publication number
JP7399975B2
JP7399975B2 JP2021549946A JP2021549946A JP7399975B2 JP 7399975 B2 JP7399975 B2 JP 7399975B2 JP 2021549946 A JP2021549946 A JP 2021549946A JP 2021549946 A JP2021549946 A JP 2021549946A JP 7399975 B2 JP7399975 B2 JP 7399975B2
Authority
JP
Japan
Prior art keywords
random number
entropy
number sequence
computing system
random
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021549946A
Other languages
English (en)
Other versions
JP2022522287A (ja
Inventor
マンディッチ,デニス
クナップ,クリストファー
Original Assignee
クリプト,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クリプト,インコーポレイテッド filed Critical クリプト,インコーポレイテッド
Publication of JP2022522287A publication Critical patent/JP2022522287A/ja
Application granted granted Critical
Publication of JP7399975B2 publication Critical patent/JP7399975B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • H04L9/0858Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Electromagnetism (AREA)
  • Storage Device Security (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Software Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

(関連出願への相互参照)
本出願は、2019年2月28日に出願された米国特許出願第16/288,722号に基づく優先権を主張するものであり、その開示全体が、参照により本明細書に援用される。
(技術分野)
本発明は、概して乱数の生成および配布に関し、より詳細には、量子エントロピーソースから乱数を生成し、乱数を外部コンピューティングネットワークに配布することに関する。
暗号化アルゴリズム、科学モデル、分析ツール等の多くのコンピュータ化されたアプリケーションには、乱数が必要である。乱数を生成するための従来のアプローチでは、シード入力が提供され、シード入力を操作することによっていわゆる「乱数」を生成するソフトウェアアルゴリズムを用いる。非ランダムシードを用いると、アルゴリズムに開始バイアスが注入される。シードを操作するために用いられる複雑な処理もバイアスを与え、結果は真にランダムではない数字になる。乱数生成ソフトウェアアルゴリズムのバイアス出力に付けられた名前は「疑似乱数」であるため、これらのアルゴリズムはより適切には疑似乱数ジェネレータ(PRNG)と呼ばれる。
疑似乱数にはバイアスがあるため、その値とそれに由来する任意の量の値を予測することは、真の乱数の値を予測するよりもはるかに簡単である。疑似乱数を用いてコンピュータ通信用の暗号化鍵を作成すると、結果として得られる鍵は、真にランダムなソースから生成された鍵よりも解読されやすくなる。数学と量子コンピューティングの進歩の継続に伴い、PRNGは多くのコンピュータセキュリティアプリケーションで時代遅れになると予想される。さらに、疑似乱数を用いて科学実験を検証する場合、それらのバイアスがエラーにつながる可能性がある。
PRNGに関連する欠点があるため、乱数を必要とするアプリケーションには、真の乱数を用いることが望ましい。真の乱数とは、提示される値が列内の他の数字の値に依存したり、関連したりしないものである。つまり、数字の提示される値は、バイアスのない偶然によってのみ決定される。数字の値にバイアスがない場合、特定の数字が表示される可能性は時間の経過とともに変化しない。言い換えれば、それは常に予測不可能である。真の乱数は、基本的に確率的な動作をする物理プロセスをサンプリングすることで生成できる。そのような物理的プロセスは、限られた数の物理的活動または現象から生じる。古典物理学とは異なり量子物理学は基本的にランダムであるため、乱数の生成には量子エントロピーソースが望ましい。ただし、量子エントロピーソースへのアクセスは現在制限されている。さらに、単一のアクセスチャネルを有する単一のエントロピーソースは、出力の整合性の悪用、修正、および/または侵害に対して脆弱である可能性がある。
したがって、量子エントロピー等の確率的物理プロセスに基づいて生成された乱数列への広範なアクセスを提供するシステム、デバイス、および方法が必要である。
本発明の目的は、上記のニーズを満たすためのシステム、デバイス、および方法を提供することである。一般に、本発明の目的は、複数の発信ポイントに位置する乱数ソースから生成された乱数および疑似乱数列を生成し、複数のチャネルおよびプロトコルにわたって配布コンピューティング環境における複数の最終的な目的地まで複数のチャネルおよびプロトコルに数列を配布することができるソフトウェアおよびハードウェアインフラストラクチャを提供することである。いくつかの例において、エントロピーソースを含む複数の独立した固有のハードウェアまたはソフトウェアベースのソースから生成された数列は、キャッシュの有無にかかわらず集約され、さまざまなチャネルおよびプロトコルに配布される。数列は、各数列の作成の出所および/または他の詳細に関する情報と組み合わたり、かつ/またはともに送信したりすることもできる。この情報は、各数列および/または関連するソースの信頼性を検証するために用いることができる。使用インジケータは、数列の再使用を回避するために、数列と組み合わせたり、かつ/またはともに送信したりすることもできる。
識別可能な乱数列を配布する例示的な方法には、特定の順序で提示されていない以下の工程のうちの1つ以上を含めることができ、この方法は、ここに含まれていない追加の工程を含んでいてもよい。1つ以上のプロセッサを有する計算システムを提供することができる。計算システムは、2つのエントロピーソースおよび外部ネットワークと通信できる。計算システムは、各エントロピーソースからエントロピー測定値を表す電気信号を受信し、電気信号に基づいて乱数列を生成し、それぞれのエントロピーソースに関連付けられた識別子を生成し、乱数列が発生したエントロピーソースに基づいて各識別子を乱数列に割り当て、かつ/または乱数列および識別子を外部ネットワークに配布することができる。
計算システムは、それぞれが識別子のうちの1つを含むタグを生成し、タグおよびタグ内の識別子に関連付けられた乱数列を含むタグ付き乱数列を生成し、かつ/またはタグ付き乱数列を外部ネットワークに配布することができる。1つのエントロピーソースから発生した乱数列および識別子の一部またはすべてを集約プールに集約でき、他のエントロピーソースから発生した乱数列および識別子の一部またはすべてを別の集約プールに集約できる。集約ヘッダと集約列を生成でき、各集約列は、タグ付き乱数列に連結された集約ヘッダを含んでいてもよい。各乱数列は、暗号化、カプセル化、および/または他の手段により変換することができ、変換された乱数列が生成される。変換された乱数列は、外部ネットワークに配布できる。
計算システムは、2つのエントロピーソースのうちの1つから発生する乱数列の要求を外部コンピューティングネットワークから受信でき、計算システムは、要求されたエントロピーソースに関連付けられた識別子に関連付けられた乱数列を外部ネットワークに提供できる。計算システムは、その乱数列および識別子をメモリに格納し、要求された乱数列をメモリから取得し、要求された乱数列を外部ネットワークに提供することができる。
計算システムは識別子をメモリに格納でき、各エントロピーソースに関連付けられた識別子はメモリ内のデータに基づいて生成できる。各識別子は、各乱数列が固有の識別子に関連付けられるように、他のすべての識別子と識別できる。
計算システムは、乱数列を外部ネットワークに配布する前に保存し、外部ネットワークに一度だけ配布した後で乱数列を上書きして、単回使用の配布を容易にすることができる。あるいは、保存された乱数列を外部ネットワークに複数回配布することもできる。代替案に加えて、または別の代替案として、それぞれ乱数列に関連付けられた使用インジケータを生成し、それぞれの乱数列とともに外部ネットワークに配布して、乱数列の単回使用または複数回使用を容易にすることができる。
例示的なエントロピー配信システムは、ランダムな電気信号を生成するための2つのエントロピー機器と、ランダムな電気信号を処理し、ランダムな電気信号に基づいて識別された乱数列を配布するための計算システムとを含んでいてもよい。各エントロピー機器は、独自のエントロピーソースを有することができ、それぞれのエントロピーソースの物理的プロセスに基づいてそれぞれのランダムな電気信号を生成することができる。計算システムは、エントロピー機器からの出力と通信する1つ以上の入力、外部ネットワークと通信する出力、プロセッサ、および以下を含む工程を実行するためにプロセッサによって実行可能な命令を備えるメモリを有することができ、当該工程は、それぞれのエントロピーソースからの電気信号に基づいて識別子を生成することと、それぞれのエントロピーソースからの電気信号に基づいて乱数列を生成することと、識別子と乱数列を表す通信信号を外部ネットワークと通信する出力に提供することとを含む。
メモリは、代替的または追加的に、上記の例示的な方法において1つ以上の工程を実行するためにプロセッサによって実行可能な命令を含んでいてもよい。
メモリは、以下を含む工程を実行するために計算システムのプロセッサによって実行可能な追加の命令を含んでいてもよく、当該命令は、乱数列および関連する識別子を、各識別子のエントロピーソースデータに基づいて別個の集約プールに集約することと、それぞれが識別子を含むタグを生成することと、各タグを乱数列に連結してタグ付き乱数列を生成することと、集約ヘッダを生成することと、各集約ヘッダをタグ付き乱数列に連結して集約された乱数列を生成することと、および/または乱数列を変換することによって変換された乱数列を生成することとを含む。プロセッサによって提供される通信信号は、タグ付き乱数列、集約された乱数列、および/または変換された乱数列にさらに基づくことができる。
エントロピー配信システムは、計算システムと通信する識別子メモリストアをさらに含んでいてもよい。プロセッサ命令を備えるメモリは、識別子メモリストア内のデータに基づいて識別子を生成するためにプロセッサによって実行可能な命令をさらに含んでいてもよい。
エントロピー配信システムは、ルータおよび帯域外管理システムを含んでいてもよい。帯域外管理システムは、計算システムと通信する2つのエントロピー機器のうちの1つを含んでいてもよく、帯域外管理システムのエントロピー機器は、ルータを介して計算システムと通信することができる。
例示的な配布コンピューティング環境は、ランダム配布サービスエンジンおよび制御システムを含んでいてもよい。ランダム配布サービスエンジンは、エントロピーソースから電気信号を受信するための入力、プロセッサ、および、以下を含む工程を実行するためにプロセッサによって実行可能な命令を備えるメモリを有することができ、当該工程は、電気信号を異なるエントロピーソースから発生したものとして区別することと、それぞれが電気信号から派生し、それぞれがエントロピーソースに関連付けられたタグを含むタグ付き乱数列を生成することとを含む。制御システムは、外部ネットワークに接続することができ、プロセッサおよび以下を含む工程を実行するためにプロセッサによって実行可能な命令を備えるメモリを含んでいてもよく、当該工程は、要求されたエントロピーソースの乱数列の要求を外部ネットワークから受信することと、ランダム配布サービスのプロセッサによって実行されると、ランダム配布サービスに、要求されたエントロピーソースを示すタグ付き乱数列を提供させる命令をランダム配布サービスに送信することと、要求されたタグ付き乱数列をランダム配布サービスから受信することと、要求されたタグ付き乱数列を外部ネットワークに送信することとを含む。
ランダム配布サービスエンジンのメモリは、以下を含む工程を実行するためにエンジンのプロセッサによって実行可能な命令を有することができ、当該工程は、タグ付き乱数列の組み合わせをそれぞれ含む集約列およびタグ付き乱数列の組み合わせを示すデータを有する集約ヘッダを生成することを含む。制御システムのメモリは、以下を含む工程を実行するために制御システムのプロセッサによって実行可能な命令を備えることができ、当該工程は、乱数列の特定の組み合わせの要求を外部ネットワークから受信することと、実行可能な命令をランダム配布サービスに送信することであって、当該命令は、サービスのプロセッサによって実行可能であって、ランダム配布サービスに、乱数列の要求された特定の組み合わせを表す集約列を提供させる命令であることと、要求された集約列をランダム配布サービスから受信することと、要求された集約列を外部ネットワークに送信することを含む。
配布コンピューティング環境は、ランダム配布サービスに電気信号を提供する量子エントロピーソースの少なくとも1つをさらに含んでいてもよい。
例示的なエントロピーシステムノードは、エントロピーソース、エントロピーインターフェース、識別子エンジン、および配布エンジンを含んでいてもよい。エントロピーソースは、物理的なエントロピープロセスを表す電気信号を提供できる。エントロピーインターフェースは、電気信号に基づいてランダムなビットストリームを提供できる。識別子エンジンは、ランダムなビットストリームに基づいて、エントロピーソースを示す情報を含むタグ付き乱数を提供できる。配布エンジンは、タグ付き乱数列に基づいて検証可能な乱数列を外部ネットワークに提供できる。エントロピーシステムノードは、携帯電話、タブレットコンピュータ、ラップトップコンピュータ等の携帯型電子デバイスであってもよい。エントロピーシステムノードは、タグ付き乱数列および1つ以上の追加の乱数列を含む集約された乱数列を提供することができる集約器エンジンをさらに含んでいてもよく、検証可能な乱数列は、集約された乱数列に基づくことができる。
エントロピーシステムノードは、外部ネットワークを介して、第2のエントロピーソースを有する第2のエントロピーシステムノードと通信することができる。
別の例示的なエントロピーシステムノードは、ランダムデータ列が格納されたメモリ、識別子エンジン、および配布エンジンを含んでいてもよい。識別子エンジンは、乱数列に基づく乱数およびエントロピーシステムノードを識別するタグを含むタグ付き乱数列を提供することができる。配布エンジンは、タグ付き乱数列に基づいて、検証可能な乱数列を外部ネットワークに提供できる。
エントロピーシステムノードは、センサデータを提供するセンサと、センサデータを暗号化し、暗号化されたセンサデータを外部ネットワークに配信することができる暗号化エンジンとをさらに含んでいてもよい。センサデータは、検証可能な乱数列に基づいて暗号化エンジンによって暗号化することができ、検証可能な乱数列は、センサデータを復号および/または暗号化するための工程で用いられる。
本発明の上記およびさらなる態様は、別の図面であっても同一の数字が同様の構造要素や特徴を示す添付の図面と併せて以下の説明を参照してさらに説明される。図面は必ずしも原寸に比例しておらず、代わりに本発明の原理を説明することに重点が置かれている。これらの図は、限定としてではなく、例としてのみ、本発明のデバイスの1つ以上の実装を示している。
本発明の態様に係る、検証可能な乱数列の生成および送信、例示的なシステム構成要素、機能ブロック、およびそれらのデータ構造を示すフロー図である。 本発明の態様に係る、乱数列を追跡してエンドユーザに配信するための例示的なデータ構造を示すブロック図である。 本発明の態様に係る、検証可能な乱数列を生成し、エンドユーザに送信するためのシステムノードの例示的なシステム構成要素および機能ブロックを示すブロック図である。 本発明の態様に係る、乱数列の集約、処理、および配布を制御するためのシステムまたはシステムノードの例示的なシステム構成要素および機能ブロックを示すブロック図である。 本発明の態様に係る、オフサイトエントロピーソースと通信するランダム配布サービスを含み、端末サービスからの要求に応じて当該端末サービスに乱数列を生成および提供するシステムの例示的なシステム構成要素および機能ブロックを示すブロック図である。 本発明の態様に係る、複数のランダムサービス配布ノードを含む例示的なシステムを示すブロック図である。 本発明の態様に係る、複数の仮想および物理エントロピーソースと通信する仮想的に管理されたランダム配布システムを示すブロック図である。
本明細書において、以下の頭字語を用いる。
API アプリケーションプログラムインターフェース(Application Program Interface)
CaaS サービスとしての暗号化(Cryptography as a Service)
PRNG 疑似乱数ジェネレータ(Pseudo Random Number Generator)
RaaS サービスとしてのランダム性(Randomness as a Service)
REST 具象化状態の転送(Representational State Transfer)
コンピュータと数学の進歩により、決定論的ソースおよび/または低エントロピーソースによって生成された疑似乱数と乱数に現在依存している廃れたコンピュータセキュリティシステムが作成されることが予想されるため、メーカー、ソフトウェア開発者、および第三者の通信プロバイダは暗号化のためのそのようなソースへの依存からの脱出を求めている。したがって、本発明の目的は、アプリケーションプログラムインターフェース(API)および他のインターフェースを介してオンデマンドで量子エントロピーソースを含むエントロピーソースからの高品質で検証可能な乱数へのアクセスを提供することである。
サービスとしてのインフラストラクチャ(Infrastructure as a Service:IaaS)およびサービスとしてのソフトウェア(Software as a Service:SaaS)等クラウドコンピューティングやその関連技術の概念を拡張して、サービスとしてのランダム性(RaaS)やサービスとしての暗号化(CaaS)を含めることができる。原則として多くの既存の暗号システムを破壊する可能性のある量子コンピュータの出現により、量子ソースおよびCaaSからのRaaSの可用性は非常に重要になると予想される。量子エントロピーは真に確率的なプロセスであり、そこから真の乱数を検証可能に抽出でき、サービスとしてのエントロピー(EaaS)として正確に説明できる。
いくつかの例において、プロセッサおよび、プロセッサによって実行されるとプロセッサがエントロピーソースからの乱数を操作、記録、拡張、および集約することと、そのような集約された乱数に固有の識別子を割り当てることと、集約された乱数をメモリに格納することと、単一のデバイス(例えば、モバイルまたはフィールド展開デバイスのシステムオンチップ)またはネットワーク全体に集約された乱数を配布することとを含む様々な操作を実行できるコンピュータ実行可能命令を格納するメモリを含んでいてもよいコンピュータシステムを提供することができる。このようなコンピュータシステムのいくつかは、システムのグループにまとめて、物理的または仮想化できる個々のノードのより大きなネットワーク構造を作成できる。現在、多くのモバイルおよびフィールド展開デバイスは、仮想化ノードとして機能するのに十分な計算能力を備えており、技術が進歩するにつれて、物理エントロピーソースをシステムオンチップまたはその他のスモールフォームファクタ回路に統合することが可能になり、費用効果が高くなることが期待されるので、モバイルおよびフィールド展開デバイスは、スタンドアロンのRaaSまたはRaaSのノードとして機能できる。コンピュータシステムは、多数のネットワークプロトコルを介した乱数列の送信、および固定デバイスまたはモバイルデバイスのAPIを介したエンドユーザによる乱数列へのアクセスを容易にすることができる。いくつかの例において、乱数は、デバイス内で排他的に消費または安全に保存され、他のデバイスまたはユーザへの乱数のアクセスを防ぐことができる。
いくつかの例において、コンピュータシステムおよび/またはより大規模なネットワークインフラストラクチャは、各特定のエントロピーソースのエンドツーエンドの追跡および検証ならびに乱数列のエントロピーを生成する方法を容易にすることができる。生成された各ランダム列にソース識別子を割り当てることができるため、アプリケーションで用いるためのプロセスの区別が可能になる。いくつかの例において、物理ハードウェアを単一のノードで混合および照合して、カスタマイズ可能なアプリケーション要件に合わせてランダム列の追加の変更を生成できる。例えば、2つ以上のソースを有する列は、ソース識別子の有無にかかわらずインターリーブできる。
いくつかの例において、中央集約されたリポジトリおよび配布ノードは、各ランダム列に大きな固有の識別子を割り当てることができる。この中央集約機能により、他の場所で複製することなく、乱数を単一の保管場所、アドレス、またはユーザエンドポイントに確実に配信できる。中央集約機能により、複数のエンドポイントに同時にサービスを提供すると同時に、同一のキャッシュまたはストレージメディアにアクセスするために異なるネットワークプロトコルが用いられている場合でも、同一のランダム列が複数のエンドポイントに公開されるリスクを軽減または排除できる。任意のキャッシュと組み合わせることで、サービスレベルはランダム列の配布とプロビジョンを保証できる。
いくつかの例において、各ランダム列が独自の内部整合性チェック、識別情報、および/またはソース識別子を実行できるため、サーバを追加するだけでマルチノード配布への拡張(水平スケーリング:Horizontal Scaling)を実現できる。このモデルは、ノード間で競合することなく追加のシステムノードを追加することにより、さまざまな要求を満たすように調整され、生成された乱数列をスケーリングするように拡張できる。
いくつかの例において、コンピュータによって実行される方法は、固有のエントロピーソースに直接アクセスすることと、特定のランダムなストリームまたはブロックを抽出することとをさらに含んでいてもよい。特定のランダムなストリームまたはブロックは、最終的なユーザに配布する前に、断続的に保存またはキャッシュすることができる。ランダムなストリームまたはブロックは、キャッシュする前に、姉妹ノードおよびネットワークからの外部ソースの組み合わせから生成できる。ランダムなストリームまたはブロックを組み合わせおよび/またはキャッシュするためのプロセスは、仮想化された環境またはネットワークに拡張可能であり、クラウドネットワークに展開することができる。
図1は、検証可能な乱数列を生成してエンドユーザに送信するためのシステム構成要素、機能ブロック、およびデータ構造の例を示すフロー図である。高レベルでは、本明細書の例示的なシステムは、ネットワーク10を介してエンドユーザ20に検証可能な乱数列155を配信することができるサービスとしてのランダム性(RaaS)プロバイダシステム100を含む。RaaS100は、エントロピー測定値115を発生させるエントロピーソース機能ブロック110、エントロピー測定値115をランダムなビットストリーム125に変換するエントロピーインターフェース機能ブロック120、ランダムなビットストリーム125をタグ付きランダム列135に変換する識別子エンジン機能ブロック130、タグ付きランダム列135を集約されたランダム列145に組み合わせる集約器エンジン機能ブロック140、集約されたランダム列を変換することによって、ネットワーク10を介してエンドユーザ20に安全に送信することができる変換されたランダム列155を生成する配布エンジン機能ブロック150、および機能ブロックの一部またはすべてにコマンドを提供することができるコントローラ機能ブロック160を含んでいてもよい。これらのそれぞれについて、以下で詳しく説明する。
RaaSプロバイダシステム100、ネットワーク10、およびエンドユーザシステム20は、地理的に1つの場所に配置された単一の計算デバイスまたは機器内(例えば、スーパーコンピュータのノード間、モバイルパーソナル電子デバイス内、または送信センサ内)に限定することができ、あるいは、RaaSプロバイダシステム100は、インターネットまたは他のそのようなネットワークを介して通信する、地理的に異なる複数の場所に配置された複数の計算デバイスまたは機器を含んでいてもよい。当業者によって理解されるように、本明細書に記載の他の例示的なRaaSシステム、機能ブロック、およびシステムノードは、同様に限定または分散され得る。図1に示す各機能ブロックは、単一のハードウェア構成要素またはソフトウェアモジュール、あるいは類似の、同一の、および/または調整された機能を有する複数のハードウェア構成要素および/またはソフトウェアモジュールを表すことができる。ネットワーク10は、インターネット等の外部ネットワーク、組織内部のネットワーク、単一のデバイス内の接続等であってもよい。ネットワークは、保護されていてもよく、保護されていなくてもよい。エンドユーザシステム20は、乱数列を受信し、乱数列をエンドユーザに提供することができるシステムであってもよい。
エントロピーソース機能ブロック110は、単一のエントロピーソースまたは1つまたは複数のエントロピーソースの組み合わせを含んでいてもよい。エントロピーソース機能ブロック110は、1つ以上の非エントロピーソースをさらに含んでいてもよい。エントロピーソース機能ブロック110は、1つ以上の量子エントロピーソースおよび/または1つ以上の非量子エントロピーソースを含んでいてもよい。エントロピーソース機能ブロック110は、出力としてエントロピー測定値115を生成することができる。エントロピー測定値115は、1つ以上の電気信号であってもよく、各電気信号は、エントロピーソース機能ブロック110内のエントロピーソースにおけるエントロピーのために発生する確率的物理現象を表すか、または少なくとも部分的にそれに基づくことができる。量子エントロピーソースの例は、崩壊する放射性基質、段階的融合、ヘテロダインおよびホモダイン検出、光子バンチング、およびデバイス非依存性を含むが、これらに限定されない。非量子エントロピーソースの例は、抵抗器または半導体ダイオードからの熱雑音、および自走発振器の周波数不安定性を含むが、これらに限定されない。
エントロピーインターフェース機能ブロック120は、1つ以上のハードウェア構成要素を含んでいてもよく、それぞれが、エントロピー測定値115から1つ以上の電気信号を受信するための入力、各電気信号をサンプリングおよびデジタル化するための電気回路、および1つ以上のランダムなビットストリーム125を提供するための出力を有し、当該ランダムなビットストリームは、それぞれがエントロピー測定値115を表すか、または少なくとも部分的にそれに基づいている。各ハードウェア構成要素は、1つ以上のエントロピーソースに関連付けることができ、したがって、エントロピーソース機能ブロック110が複数のエントロピーソースを含む場合、エントロピーインターフェース機能ブロック120は、複数のハードウェア構成要素を含むことができる。
エントロピーソース機能ブロック110およびエントロピーインターフェース機能ブロック120は、1つ以上のエントロピー機器によって集合的に実現することができる。
エントロピーインターフェース機能ブロック120から出力されるランダムなビットストリーム125は、識別子エンジン機能ブロック130への入力として提供することができる。識別子エンジン機能ブロック130は、インターフェース機能ブロック120の1つ以上のハードウェア構成要素からランダムなビットストリーム125を受信すると、ランダムなビットストリームをエントロピーソース機能ブロック110からのソースに関連付けて、生のランダムなビットストリーム125に基づいてタグ付きランダム列135を生成することができ、関連するソースに関するデータを含む1つ以上の計算デバイスを含んでいてもよい。識別子エンジン機能ブロック120の計算デバイスの例は、汎用コンピュータ、サーバ、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサアレイ、ネットワークアレイ、専用特定用途向け集積回路(ASIC)、仮想マシンを含み得るが、これらに限定されない。
いくつかの例において、コンピューティング環境における変更および信頼をサポートするために、各乱数ストリームに用いられるタグ付けとパラメータの量を、配布プロセス全体のさまざまなポイントで調整または追加できる。例示的な実装形態では、ヘッダおよび/または他の識別子を含む乱数列を、グループ内のユーザに送信することができ、各ユーザは、異なるレベルのセキュリティアクセスを有する。アクセスレベルが低いユーザは、乱数の一部の数字にしかアクセスできず、スーパーユーザは乱数全体にアクセスできる。乱数列のヘッダやその他の識別子を用いて、ユーザの保全許可レベルを決定できる。
識別子エンジン機能ブロック130の計算デバイスは、キャッシュストレージ138と通信することができる。キャッシュストレージ138は、識別子のリポジトリとして機能することができる。いくつかの例において、キャッシュストレージ138は、識別子エンジン機能ブロック130内の計算デバイスによって用いられる識別子のグローバルディレクトリを含んでいてもよい。識別子エンジン機能ブロック130内の計算デバイスの一部またはすべては、グローバルディレクトリを維持するために、調整チャネルを介して相互に通信することができる。グローバルディレクトリは、ブロックまたは乱数ストリームの競合解消および中央集約されたカタログ化のポイントとして機能する。
識別子エンジン機能ブロック130から出力されたタグ付きランダム列135は、集約器エンジン機能ブロック140への入力として提供することができる。集約器エンジン機能ブロック140は、タグ付きのランダムなビットストリーム135を受信すると、配布の準備としてタグ付きランダム列135をアグリゲーションプールに分類することができる1つ以上の計算デバイスを含んでいてもよい。集約プールは、キャッシュ148等の物理メモリストレージまたは仮想メモリストレージにおいて個別のカテゴリに分割できる。集約カテゴリの例には、区別なしの非量子で固有にタグ付けされた乱数、区別なしの量子で固有にタグ付けされた乱数、単一ソースからの同一タグを有する区別ありの量子で固有にタグ付けされた乱数、複数のソースからの同一タグを有する区別ありの量子で固有にタグ付けされた乱数、単一のソースからの同一タグを有する区別ありの量子および非量子の固有にタグ付けされた乱数、単一のソースからの同一タグを有する区別なしのインターリーブされた量子および非量子のタグ付き乱数、およびそれらの他の並べ替えを含むが、これらに限定されない。
集約されたランダム列145は、配布エンジン機能ブロック150によって収集することができる。配布エンジン機能ブロック150は、ネットワークサーバ、データストレージ、インターネットアクセスデバイスおよび機器等のネットワークプロビジョンハードウェアを各々含む1つ以上のネットワークプロビジョンシステムを含んでいてもよい。配布エンジン機能ブロック150は、タグ付きランダム列135および/または集約されたランダム列145を検証可能なランダム列155に変換および配布してネットワーク10を介してエンドユーザシステム20に送信できるランダム性サービスプロビジョン層として機能することができる。配布エンジン機能ブロック150は、乱数列を変換することによって、RESTfulアーキテクチャ、規定のサービス、ストリーミングサービス等と互換性を持たせて、ネットワーク要件およびエンドユーザの要求を満たすことができる。
制御機能ブロック160は、それぞれが1つ以上のプロセッサを有する1つ以上のコントローラを含んでいてもよい。いくつかの例において、制御機能ブロック160は、単一の制御ユニットを含んでいてもよく、エントロピーソース機能ブロック110が複数のエントロピーソースを有し、エントロピーインターフェース機能ブロック120が複数のハードウェア構成要素を有し、識別子エンジン機能ブロック130が複数のコンピューティングデバイスを有し、集約器エンジン140が複数のコンピューティングデバイスを有し、かつ/または配布エンジン150が複数のネットワークプロビジョンデバイスを有する場合であっても、この単一の制御ユニットは、RaaSプロバイダシステム100の乱数生成、タグ付け、集約、および配布動作を調整するコマンドを提供することができる。あるいは、RaaSプロバイダシステム100は、それぞれが1つ以上のコントローラを有する複数のノードを含んでいてもよく、各ノードは、機能ブロック110、120、130、140、150、160の一部またはすべての機能を実行するためのハードウェアおよび/またはソフトウェアを有する。制御機能ブロック160は、マスターコントローラが個々のノードのコントローラと通信し、各ノードの動作を調整するのに役立つように、制御レイヤーを含めることもできる。
制御機能ブロック160内のコントローラのいくつかまたはすべては、ネットワーク10を介してエンドユーザシステム20と通信することができる。エンドユーザシステム20は、制御機能ブロック160に情報および/または要求を提供することができ、制御機能ブロック160は、RaaSプロバイダシステム100の他の機能ブロック110、120、130、140、150の一部またはすべての動作を調整することができるため、エンドユーザシステム20には、エンドユーザおよびエンドユーザシステム20のニーズおよび/または要求を満たす検証可能な乱数列155が提供される。
ネットワーク10は、無線伝送、自由空間光伝送、音響伝送、光ファイバー伝送、有線ネットワーク伝送等を含む多数の伝送手段のうちの1つ以上を含んでいてもよい。ネットワーク10は、コンピュータ可読記憶媒体をさらに含んでいてもよい。ネットワーク10は、ネットワークプロトコルまたはインターネットプロトコル、ワイヤレスネットワークプロトコル、ネットワークルーティングプロトコル等のような通信基準に基づいてデータトラフィックを方向付けることができる。
エンドユーザシステム20は、検証可能なランダム列155を受信し、検証可能なランダム列155を復号、カプセル化解除、または他の形態で変換し、ランダム列に付加または他の形態で関連付けられたタグおよび/またはヘッダに基づいてランダム列を検証し、最終用途のアプリケーションにランダム列を利用する計算デバイスおよび/またはシステムを含んでいてもよい。
いくつかの例において、RaaSシステム100の各機能ブロック110、120、130、140、150、160は、異なるデバイス上で、別の場所で、かつ/または異なる所有者によって実行することができる。さまざまなネットワーク接続を介した個別のデバイス間においてエントロピー測定値115、ランダムなビットストリーム125、タグ付き乱数列135、集約されたランダム列145の送信を容易にするために、追加のネットワーク配布層をRaaSシステム100に追加することができる。
いくつかの例において、RaaSシステム100がエンドユーザシステムの集約スキームに対する可視性を有さないように、エンドユーザシステム20で集約を発生させて、エンドユーザシステム20での機密性を高めることが有利であり得る。そのような例において、RaaSシステム100は、集約器エンジン機能ブロック140を有する必要はない。
いくつかの例において、RaaSシステムの各機能ブロックに110、120、130、140、150、160は、モバイルデバイスに組み込むことができる。現在、携帯電話、テーブル、ラップトップ等のほとんどのモバイルパーソナル電子デバイスは、ハードウェアエントロピーソースから乱数を受信し、受信した乱数を再結合して新規の乱数列を生成する等の、仮想エントロピーソースとして機能するのに十分なネットワーク接続と計算能力を備えている。ハードウェア量子エントロピーソースが集積回路上に統合するのがより容易になるにつれて、量子エントロピーハードウェアを含む機能ブロック110、120、130、150、160は、システムオンチップ、または携帯可能なサイズのモバイルパーソナル電子デバイスに統合されることが可能な他のスモールフォームファクタ回路として集積化することが考えられる。ハードウェアエントロピーソース110および統合されたRaaSシステム100を有するモバイルデバイスは、それ自体のエンドユーザ20として機能することができ、かつ/またはRaaSシステム100内のノードとして機能することができる。
いくつかの例において、ネットワークから分離されたメモリストアを有するコンピューティングシステム(例えば、分離された内蔵ハードドライブまたはフラッシュメモリを備える送信センサ)は、図1に示すような機能を備えるRaaSプロバイダシステムとして機能することができる。メモリストアには、外部エントロピー機器によって生成された1つ以上の大きなランダムなビットストリームをプリロードできる。プリロードされると、コンピュータシステムをフィールドに展開してデータを収集し、プリロードされたランダムなビットストリームを用いて、安全なデータ送信のための暗号化鍵共有を確立できる。図1に示されているRaaSシステム100と比較して、展開されたコンピューティングシステムの単離されたプリロードメモリは、図1に示されているエントロピーソース110およびエントロピーインターフェース120の代わりに用いることができ、あるいは、展開されたコンピューティングシステムは、図1に関連して記載された機能を有することができる。
コンピューティングシステムは、図1に示す識別子エンジン機能ブロック130および配布エンジン機能ブロック150に関連して説明されるような識別子エンジンおよび配布エンジンを含んでいてもよい。コンピューティングシステムは、メモリからランダムなビットストリームにアクセスし、識別子エンジンを用いてタグ付き乱数列を生成し、配布のために乱数列を変換し、変換された乱数をホームネットワークに送信することができる。タグは、ホームネットワークがコンピューティングシステムを識別できるように情報を含んでいてもよい。いくつかの例において、コンピューティングシステムは、図1および本明細書に記載の他の例示的なRaaSシステムに示される集約器エンジン機能ブロック140およびキャッシュ148に関連して説明されたものと同様の機能を備える集約器エンジンおよび関連キャッシュをさらに含んでいてもよい。
図2は、乱数列を追跡してエンドユーザシステムに配信するためのデータ構造の例を示すブロック図である。タグ付き乱数列235は、生の乱数列234、ならびにソース識別パラメータ232、ソース品質パラメータ236、ソース検証パラメータ238、および/または他のタグやメトリックを含む1つ以上のタグを含むことができる。タグ付き乱数列235は、図1に示す識別子エンジン機能ブロック130の出力135として、あるいは本明細書に記載の他の例に示される計算デバイスおよび/または識別子エンジンの出力として生成できる。
ソース識別パラメータ232は、識別子エンジンによって生成され、かつ/またはエントロピーインターフェースから受信され得、図1および本明細書に記載の他の例に示されるエントロピーソース機能ブロック110内のソース等の特定のエントロピーソースあるいはランダムまたは疑似乱数ソース群を示すことができる。
生の乱数列234は、識別パラメータ232が関連付けられているエントロピーソースから導出されたランダムなビットストリームのバイナリ、シンボリック、または他のコンピュータ可読表現を含んでいてもよい。生の乱数列234は、図1および本明細書に記載の他の例に示されるランダムなビットストリーム125の表現とすることができる。
ソース品質パラメータ236は、ソースデータのランダム性を示すデータ、すなわち、エントロピーソースのヘルスチェックを含んでいてもよい。ランダム列およびパケットには、生成時点での物理ハードウェアレベルでの内部整合性の整合性とランダム性のチェックを含めることができる。これには、米国国立標準技術研究所の統計的検定スイートおよびその他の統計分析のツールが含まれる場合がある。いくつかの例において、ソース品質パラメータ236は、乱数列が送信される送信チャネル上のノイズに起因する予想されるエラー率を示すことができる。
ソース検証パラメータ238は、エンドユーザがタグ付き乱数列235を含む受信された検証可能な乱数列の改ざんおよび/または劣化、あるいはその修正または変更を検出するために用いることができるチェックとして、タグ付き乱数列235内で相互比較できるデータを含んでいてもよい。ランダム性の発生からエンドユーザによる受信までの各プロトコルレベルで、ここに示すいくつかの例は、内部整合性に関する数字に対する検証を容易にすることができる。これらの追加の制御と分析により、コンピュータネットワークでの非ランダム化動作とバイアスの分散、転送中または保存中の乱数の偶発的な破損、および/または悪意のある攻撃者による乱数の侵害を防ぐことができる。
タグ付き乱数列235は、集約工程240において1つ以上の他のタグ付き乱数列と集約されて、集約されたランダム列245を形成することができる。集約列245は、集約ヘッダおよび種類識別子241、他の連結されたタグ付き乱数列242、244、246に連結された上述のタグ付き乱数列235の表現249、ならびに集約検証パラメータ248を含むことができる。
集約工程240は、図1および本明細書に記載の他の例に示される集約器エンジン機能ブロック140の計算デバイスを含む集約器エンジンによって実行することができる。集約列245は、図1に示す集約器エンジン機能ブロック140の出力145、または本明細書に記載の他の例に示される集約器の出力であり得る。
集約ヘッダおよび種類識別子241は、集約の出所に関する情報あるいはトレーサビリティおよび/または品質チェックの目的に有用となり得る他の情報等、集約列245に関連する固有の情報を含むことができる。
集約列245内のタグ付き乱数列249は、修正せず、集約列245に集約されるときに単純に連結することができ、あるいは、タグ付き乱数列249は、それが基づくタグ付き乱数列235から変換または他の形態で修正することができる。同様に、集約列245の連結されたタグ付き乱数列242、244、246は、修正されていなくてもよく、集約工程240中に修正することもできる。
集約検証パラメータ248は、エンドユーザが、集約列245を含む受信された検証可能なランダム列の改ざんおよび/または劣化、あるいはその修正または変換を検出するために用いることができるチェックとして、集約列245内で相互比較できるデータを含んでいてもよい。
集約列245および/または個々のタグ付き乱数列242、244、246、249は、変換工程250でネットワークを介して配信するために変換することができる。変換されたタグ付き乱数列255は、ソース識別パラメータ252、変換された乱数列259、ソース品質パラメータ256、ソース検証パラメータ258、およびその他のタグやデータを含んでいてもよい。いくつかの例において、個々のタグ付き乱数列242、244、246、249は、集約列245から抽出し、変換し、図1および本明細書に記載の他の例に示される検証可能な乱数列155等の検証可能なランダム列としてネットワークを介して配信することができる。
さらに、またはあるいは、いくつかの例において、個々のタグ付き乱数列242、244、246、249は、集約列245からの抽出なしに、変換されたタグ付き乱数列262、264、266、269に変換して、変換された集約列265を得ることができ、当該変換された集約列265は、図1および本明細書に記載の他の例に示される検証可能な乱数列155等の検証可能なランダム列としてネットワークを介して送信することができる。
検証可能な乱数が変換されたタグ付き乱数255であるかどうかにかかわらず、変換された集約列265、または単なるタグ付き乱数列235、検証可能な乱数列255および265は、図1に示す配布エンジン機能ブロック150の出力155として、あるいは本明細書に記載の他の例に示される、ネットワークプロビジョンデバイスおよび/または配布エンジンの出力となり得る。
変換されたタグ付き乱数列255を参照すると、ソース識別パラメータ252は、変換された乱数列255が基づく変換されていないタグ付き乱数列235のソース識別パラメータ232と同一であるか、または少なくとも部分的にそれに基づくことができる。いくつかの例において、ソース識別パラメータ252は、集約工程240中に修正して追加のタグデータを含むようにしたり、他の形態で修正したりすることができる。いくつかの例において、集約列245の個々のタグ付き乱数列249のソース識別パラメータは、変換工程中に修正して暗号化やカプセル化を行ったり、他の形態で変換および/または修正したりすることができる。同様に、ソース品質パラメータ256、ソース検証パラメータ258、および他のタグについて、そのパラメータ256、258、およびタグは、集約工程240および/または変換250工程中に修正することができ、あるいは、パラメータ256、258、およびタグは、変換された乱数列255が基づくタグ付き乱数列235のパラメータ236、238、およびタグと同一であってもよい。
変換された乱数列259は、変換されたタグ付き乱数列255が基づくタグ付き乱数列235の生の乱数列234の変換(例えば、XOR演算、インターリーブ、暗号化、チェックサム抽出、コード生成、暗号化ハッシュ、カプセル化、他の変換、または変換の組み合わせ)であってもよい。
変換された集約列265を参照すると、集約ヘッダおよび種類識別子261は、変換された集約列265が基づく変換されていない集約列245の集約ヘッダおよび種類識別子241と同一であるか、または少なくとも部分的にそれに基づくことができる。いくつかの例において、変換工程250は、追加のデータの追加、カプセル化、暗号化、および/または他の変更によって、集約ヘッダおよび種類識別子241を変更することを含んでいてもよい。同様に、集約検証パラメータ268および変換された集約列265の他のタグは、変換された集約列265が基づく変換されていない集約列245の集約検証パラメータ248、およびタグと同一であるか、またはそれに基づいて修正され得る。
変換された集約列265の各変換されたタグ付き乱数列262、264、266、269は、図示された変換されたタグ付き乱数列255のように構成することができる。あるいは、集約されたタグ付き乱数列249、242、244、246の生の乱数列234は、代替の変換された集約列内で組み合わせて変換することができる。別の例において、ソース識別パラメータ232、ソース品質パラメータ236、ソース検証パラメータ238、および/または個々の乱数列249、242、244、246の他のパラメータまたはタグは、保存または破棄できる。保存される場合、パラメータおよびタグの一部またはすべてを、代替の変換された集約列の新規または既存のヘッダ、パラメータ、および/またはタグに書き込むことができ、パラメータおよびタグの一部またはすべてを、生のランダム列とともに変換でき、かつ/またはパラメータおよびタグの一部またはすべてを、代替の変換された集約列に保存できる。
図3は、検証可能な乱数列をエンドユーザに配信するように構成された例示的なRaaSノード300内のシステム構成要素のブロック図である。ノード300は、物理的プロセスを表す電気信号を生成するエントロピー機器312、314、316、電気信号に基づいて、タグ付けおよび/または集約された乱数列を生成する計算デバイス322、324、調整された識別子のリポジトリとして機能する識別子キャッシュ338、ネットワーク12、14を介してエンドユーザ22、24に検証可能な乱数列を提供するネットワークプロビジョンシステム350、ならびにタグ付きの集約された乱数列のリポジトリとして機能するキャッシュサービス358を含んでいてもよい。また、ノード300は、1つ以上の姉妹ノードにリンクされて、生のランダム電気信号318提供するリンク318および/または識別子キャッシュ338へのリンク328を介してより大きなRaaSシステムを形成することができる。
エントロピー機器312、314、316はそれぞれ、量子または非量子のエントロピーソースを含んでいてもよい。ノード300は、量子および非量子両方のエントロピー機器312、314、316の組み合わせ含むことができる。各エントロピー機器312、314、316は、コンピュータ可読な信号を生成する物理的プロセスを、個別に検出、サンプリング、測定、およびデジタル化することができる。一の機器312は、ランダム電気信号に基づいた自己のエントロピーを1つ以上の計算デバイス322、324へ提供することができる。図3に示すように、第1のエントロピー機器312および第2のエントロピー機器314は、それぞれの電気信号を第1の計算デバイス322への入力として提供することができ、第3のエントロピーデバイス316は、その電気信号を第2の計算デバイス324、および接続318を介して追加の計算デバイスに提供することができる。当該接続は姉妹ノードへの接続であってもよい。
計算デバイス322、324は、エントロピー機器312、314、316からの電気信号を処理することができ、コンピュータ可読な乱数列を生成し、ネットワークプロビジョンシステム350に乱数列を提供することができる。生成された乱数列は、生、タグ付け、集約、および/またはタグ付けかつ集約することができる。計算デバイス322、324は、当業者によって認められ理解されるように、本明細書に記載の実施例に従い乱数列を生成することができる。
計算デバイス322、324は、複数のエントロピーソースを、コンピューティングデバイスによって可読なデジタル化された乱数ストリームまたは乱数ブロックに変換するための種々の手段を含んでいてもよい。当該コンピューティングデバイスは、汎用コンピュータおよびサーバ、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサアレイおよびネットワーク、専用特定用途向け集積回路(ASIC)、ならびに仮想マシン(VM)を含むが、これらに限定されない。
ノード300内の計算デバイス322、324は、調整チャネル326を介して互いに通信することができる。調整チャネル326は、乱数列の調整されたタグ付けおよび集約を容易にすることができる。
さらに、またはあるいは、計算デバイス322、324は、識別子キャッシュ338と通信することができる。識別子キャッシュ338は、固有の識別子のグローバルディレクトリを含んでいてもよく、乱数列のブロックまたはストリームの矛盾解消および中央集約カタログ化のポイントとして機能することができる。いくつかの例において、ノード300の識別子キャッシュは、通信リンク328を介して姉妹ノードの識別子キャッシュと通信することができる。識別子キャッシュ300と姉妹ノード識別子キャッシュとの間の通信は、ノード300とその姉妹ノードとの間の乱数列の調整された識別および/または集約を容易にすることができる。
ネットワークプロビジョンシステム350は、計算デバイス322、324から(生、タグ付け、集約、および/またはタグ付けかつ集約されている)乱数列を受信することができる。ネットワークプロビジョンシステムは、外部ネットワーク12、14を介して配布する乱数列を変換し、変換した乱数列をネットワーク12、14を介して配布するためのハードウェアおよびソフトウェアモジュールを含んでいてもよい。乱数列は、配布前にキャッシュサービス358によってキャッシュできるため、エンドユーザ22、24は、以前に生成された乱数列を要求できる。いくつかの例において、変換された乱数列は、タイムスタンプを有することができ、エンドユーザ22、24は、特定のタイムスタンプを有する乱数列を要求することができる。
エンドユーザ22、24は、それぞれのネットワーク12、14に含まれる単一または複数の経路を介してRaaSノード300にアクセスできる。エンドユーザ22、24は、乱数を直接要求し、特定の機器312、314、316から、その特定の機器からのその種類を追跡する適切にタグ付けされた乱数を受け取ることができる。エンドユーザ22、24によって受信されると、乱数列は、コンピュータプログラム、単一または複数のアプリケーションのリサーチデータセット、複数のメディアソースの暗号化サービス、シミュレーションおよびデータサイエンスプロセス、暗号化、および他のネットワークサービスを含む、乱数列を消費するエンドアプリケーションで用いることができる。
図1および図3に示すシステムに関して、図3に示すエントロピー機器312、314、316は、図1に示すエントロピーソースおよびエントロピーインターフェース機能ブロック110、120の一部であってもよく、図3に示す計算デバイス322、324は、図1に示す識別子エンジン130および集約器エンジン140の機能ブロックの一部であってもよく、図3に示す識別子キャッシュ338は、図1に示す識別子エンジン130と通信するキャッシュ138の一部であってもよく、図3に示すネットワークプロビジョンシステム350は、図1に示す配布エンジン機能ブロック150の一部であってもよく、図3に示すキャッシュサービス358は、図1に示す配布エンジン機能ブロック150と通信するキャッシュ158の一部であってもよい。図1に示すRaaSシステム100は、図3に示すRaaSノード300等の複数のRaaSノードおよびその変形例を含んでいてもよい。
図3に示す例示的なシステムの具体的な実装の例として、ノード300は、第1の非量子エントロピー機器312、第2の非量子エントロピー機器314、および量子エントロピー機器316を含んでいてもよい。第1および第2の非量子エントロピー機器は、汎用コンピュータであってもよく、固有にタグ付けされた非量子乱数列を生成し、タグ付き列の集合を区別なしの非量子で固有にタグ付けされた乱数として指定された集約プールに集約することができる第1の計算デバイス322に供給することができる。集約プールは、ネットワーキングプロビジョンシステム350に送信することができ、ネットワークプロビジョンシステム350は、エンドユーザ22、24への後の配布のために集約プールをキャッシュサービス358に格納することができる。同時に、FPGAであってもよい第2の計算デバイス324は、固有にタグ付けされた量子乱数列を生成し、タグ付き乱数列を、前述の集約プールとは別の集約プールに集約することができ、別個の集約プールは、区別なしの量子で固有にタグ付けされた乱数として指定される。別個の集約プールは、ネットワークプロビジョンシステム350に送信することができ、当該システムは、光ファイバーネットワーク12を介してプール内の乱数列の一部を第1のエンドユーザ22に即座に配布し、残りをキャッシュサービス358に格納することができる。第2のエンドユーザ24は、非量子数列のプールまたは量子数列のプール、あるいはその両方から乱数列を要求することができる。第2のエンドユーザ24は、特定の日時にエントロピー機器から発生した乱数列を要求することができ、ネットワークプロビジョンシステム350は、提供された乱数列のタグの日付と時刻のパラメータに基づいて第2のエンドユーザ24の要求を満たす乱数列を提供することができる。
図3に示す例示的なシステムの別の具体的な実装の例として、ノード300は、単一のハードウェアパッケージに統合された(例えば、単一のハウジング内に含まれるか、単一のプリント回路基板に含まれるか、単一のラックにともに取り付けられるか、システムパッケージともにバンドルされるかした)第1の量子機器312、非量子機器314、および第1の計算デバイス322を含んでいてもよく、第1の計算デバイス322は、乱数列生成を行うための専用プロセッサを含んでいてもよい。ノード300は、プロセッサアレイ324に供給を行う第2の量子エントロピー機器316をさらに含んでいてもよい。第1の計算デバイス322を含むハードウェアパッケージは、固有にタグ付けされた非量子乱数列および同一にタグ付けされた量子乱数列を可能にする。ハードウェアパッケージは、タグ付き列を2つのプールに集約でき、そのうち、第1のプールは、量子ソース数字に対して同一タグが付いた区別ありの量子および非量子タグ付き乱数として指定され、第2のプールは、量子ソース数字に対して同一タグが付いた区別なしのインターリーブ量子および非量子タグ付き乱数として指定される。同時に、第2の計算デバイス324は、同一にタグ付けされた量子数字を生成し、区別ありの量子で固有にタグ付けされた乱数として指定された集約プールを生成することができる。第1のコンピュータデバイス322および第2の計算デバイス324は、デバイス322、324によって割り当てられたタグを相互に調整できるように(例えば、第1の量子ソース312に関連付けられた量子数字タグが第2の量子ソース316に関連する量子数字タグと区別することができるように)調整チャネル326を介して互いに通信することができる。ネットワークプロビジョンシステム350は、特定のプールまたはプールの組み合わせ中の乱数列について、各エンドユーザ22、24からの要求をネットワーク12、14を介して受信することができ、ネットワークプロビジョンシステム350は、各エンドユーザ22、24に検証可能な乱数列をキャッシュなしでストリームすることができる。
図4は、量子および非量子両方であって、集約器440に結合される複数のエントロピーソース412、414、416、418の概略図であり、RaaSシステム内の処理システム450と外部ネットワーク470との間で通信することができる通信と乱数列の種類を説明している。エントロピーソース412、414、416、418からの線は、個々のソース412、414、416、418から集約器440への出力の異なる経路を表す。乱数列は、各ソース412、414、416、418、またはソース412、414、416、418から集約器440への経路におけるいずれかのポイントで生成および/またタグ付けを行うことができ、または、集約器440は、生の修正されていないランダム列を受信することができる。いくつかの例において、1つ以上のソース414、416からの出力は、集約器440への途中で組み合わせることができる。集約器440の出力は、第1の経路442を介して処理システム450に供給するか、または第2の経路444を介して修正されていないランダムとしてプロセッサを迂回することができる。処理システム450は、個々のソース418から特定のバンドルされたランダム452を出力するか、複数のソースを組み合わせるか、または外部エンティティ470に配信するためにパケット化されたランダム454をバンドルすることができる。処理システム450は、外部エンティティ470へのリンク460を介してコマンドおよび制御信号を受信し、その出力を修正することによって、またはランダムのバンドルおよび/またはソースの選択を含む集約器440の動作を方向付けることによって、外部コマンドおよび制御に応答することができる。
図5は、ランダムソース510の帯域外管理システムによって供給され、検証可能なランダム列を消費者サービスシステム530に提供するマルチソースランダムプロビジョンおよび管理ノード500を含む例示的なサービスプラットフォームを示すブロック図である。例示的な管理ノード500は、キャッシュ558に接続されたランダム配布サービス550を含んでいてもよい。管理ノード500は、鍵生成、鍵分割、鍵管理、ストレージ等の暗号化アプリケーションに接続される追加の処理580およびランダム鍵ストア588を含んでいてもよい。ランダム配布サービス550は、自律的に動作するか、またはコマンド、制御、および通信管理システム560によって制御することができる。コマンド、制御、および通信管理システム560は、ファイアウォール590によってインターネットまたは他の種類のコンピュータネットワーク16に接続することができる。ランダム配布サービス550には、複数のランダムデータ機器512、514から乱数を供給することができ、これは、帯域外管理システム510を用いてインターネット、イントラネット、または他の種類のコンピュータネットワーク16に接続することもでき、スタンドアロンの外部ソース514を含んでいてもよい。帯域外管理システムは、ルータおよび/またはファイアウォール518をさらに含んでいてもよい。ルータおよび/またはファイアウォール590は、管理ノード500に追加することができ、または機器レベル512で直接アクセスすることができる。帯域外管理システム510内のマルチソース機器514は、乱数ストリームをランダム配布サービス550に供給することができ、ランダムソースプロビジョンノード500は自身のランダムソース512を有する必要はない。
ランダム配布サービス550は、乱数列を直接またはコマンド、制御、通信および管理システム560を介して1つ以上のサービス530にエクスポートすることができる。サービス530は、端末サービス532、メタデータストア536が接続されたメタデータサービス534、および/または鍵配布サービス544を含んでいてもよい。鍵配布サービス544の例は、暗号化鍵をクライアントに供給することであってもよく、鍵配布サービス544は、異なるグループまたはサービス層の複数の鍵管理サービス542と通信することができる。
図6は、ともにまたは独立して動作する類似の、同一の、あるいは互換性のあるアーキテクチャを有する複数のRaaSノード600を含む例示的なRaaSシステムを示すブロック図である。いくつかの例において、図1に示すRaaSシステム100アーキテクチャ、図3に示すRaaSノード300、図4に示す集約器440および処理システム450、図5に示すRaaSノード500および外部ソース管理システム510、ならびにそれらの変形例や組み合わせは、調整ノード、パブリックネットワークおよびプライベートネットワーク、地理的に分散したり、企業内で論理的に分離したりできる分離ノード等、さまざまな構成で複製できる。ノード600は、クラウドアーキテクチャ内の仮想インスタンスとして存在することができ、物理的な展開に限定されない。図6の例は、各ノード600で同一の(または互換性のある)アーキテクチャを用いる複数の環状、棒状、および他の直列および並列構成を示している。
図7は、仮想マシンマネージャ、仮想化層、および/またはハイパーバイザ760によって管理されるランダムなビットストリーム、乱数、乱数列等の1つ以上の仮想ソース712を含む例示的なRaaSシステム700を示すブロック図である。RaaSシステム700は、ランダムなビットストリーム、乱数、乱数列等の1つ以上の物理ソース714をさらに含んでいてもよい。仮想ソース712および/またはハイパーバイザ760は、クラウドホストに常駐することができる。ハイパーバイザ760は、仮想ソース712および/または各仮想ソースの関連するRaaSノードの一部またはすべてをエミュレートすることができる。いくつかの例において、物理的ランダム配布サービスリソース714は、パブリックおよびプライベートデータセンターリソースのハイブリッドとは別個にプールすることができる。物理的ソース714は、ハイパーバイザ760によって分離することができ、物理的機械と相互作用しているように見える。
いくつかの例において、仮想ソース712は、物理ソース714によって供給を受けることができる。例示的な実装形態では、各仮想ソース712は、サブコンビネーションまたはすべての物理ソース714のランダム出力(例えば、ビットストリームまたは乱数列)をサンプリングし、サンプリングしたランダム出力を新規のランダム出力に結合することができる。例示的な実装形態では、第1の仮想ソース712は、物理ソース714の第1のペアをサンプリングし、当該ペアの各物理ソースからいくつかのビットを抽出し、抽出したビットを組み合わせて、当該ペアのいずれのソースからのビットストリームとも異なる新規の量子ランダムなビットストリームを作成することができ、第2の仮想ソース712は、物理ソース714の第1のペアとは異なる物理ソース714の第2のペアサンプリングすることができ、第2の仮想ソース712は、当該物理ソースの第2のペアの各物理ソース714からいくつかのビットを抽出し、抽出したビットを組み合わせて、物理ソース714および第1の仮想ソース712の出力とは異なる新規の量子ビットストリームを作成することができる。別の例示的な実装形態では、仮想ソース712は、物理ソース714のいくつかの組み合わせからサンプリングし、サンプリングしたビットまたは数字を組み合わせ、次に、サンプリングしたビットまたは数字を、サンプリングした物理ソース714または追加の、サンプリングしていない物理的ソース714のうちの1つのビットストリームまたは乱数ストリーム出力を用いて変換することができる。当業者によって認められ理解されるように、生成され得る仮想ソース712の数は、物理ソース714がシステム700に追加されるにつれて指数関数的に増加する。したがって、仮想化されたソース712を利用することにより、大量のハードウェアエントロピーソースを追加する必要なしに、大量のランダム出力の生成を容易にすることができる。
複数のRaaSシステム100、300、500、700は、上記のように乱数列を配布でき、システム内または外部で組み合わせて、識別可能な真の乱数列の新規の固有の組み合わせを生成できる。これらの娘列の系統は、新規の識別子で再パッケージ化することも、難読化して匿名化することもできるため、ランダム列の真のソースは第三者に認識されない。この難読化と匿名化により、例えば、乱数列を用いた暗号化鍵への攻撃等に対するセキュリティのレベルを追加できる。悪意のある人物は乱数がどのように生成されるかを知らないため、システムは鍵に影響を与える改ざん(シード等)に耐えることができる。上記のように、操作には、この配布コンピューティング環境のソフトウェア構成要素からブロックまたはストリームで乱数を受信することが含まれる。乱数は、ソフトウェアを介してコンピュータシステムおよびハードウェアからさらに切り離すことができる。
乱数列は、本明細書に記載の例示的なシステム100、300、500、700等のRaaSシステム、本明細書に記載の例示的なエンドユーザシステム20、22、24等のエンドユーザシステム、本明細書に記載の例示的な外部ネットワーク470、534、532、544等の外部ネットワーク、ならびにそれらの組み合わせおよび/または変形によって、単回使用または再使用のために管理することができる。いくつかの例において、RaaSシステム、外部ネットワーク、およびエンドユーザシステムはそれぞれ、乱数列の単回使用または再使用のための独自の管理スキームを有することができる。管理スキームは、システム/ネットワーク間で調整でき、または、各システム/ネットワークは、他のシステム/ネットワークには隠された再使用管理スキームを有することができる。
いくつかの例において、RaaSシステム、外部ネットワーク、および/またはエンドユーザシステムは、エンドユーザシステムまたは外部ネットワークからの要求に基づいてアクセスすることができる乱数列を含むキャッシュまたはメモリストアを含んでいてもよく、システム/ネットワークは、乱数列を含むメモリの一部がいつアクセスされたかを監視し、アクセスされた乱数列を上書きして、乱数列へのアクセス一度だけのアクセスであるか、所定の回数以内のアクセスであるか、または制限時間以内のアクセスであるようにすることができる。
いくつかの例において、使用インジケータは、タグ付き乱数列内でヘッダ、パラメータ、または他のタグに含めることができる。使用インジケータは、RaaSシステム、エンドユーザシステム、または外部ネットワークによって生成できる。使用インジケータは、意図された再使用回数、実際の再使用回数、および/または時間的な有効期限に関する情報を含んでいてもよい。RaaSシステムによって生成される場合、一部のタグ付き乱数列にはそれぞれ使用インジケータを含めることができ、タグ付き乱数列は使用インジケータの情報に従って集約および配布できる。一部の実装では、再使用可能な乱数列は、単回使用の乱数と比較して低いコストで提供できる。これは、非暗号化(例えば、実験)アプリケーションまたは重要でない暗号化で望ましい場合がある。
本明細書に含まれる説明は、本発明の実施形態の例であり、本発明の範囲を限定することを決して意図するものではない。本明細書に記載されるように、本発明は、機能ブロックの代替配置、追加および/または代替の機能ブロック、代替のタグ付けおよび集約スキーム、追加のキャッシュ、追加の制御機能、追加の通信機能、本明細書で具体的に説明されていないエンドユーザのニーズを満たすための追加の機能、追加および/または代替の乱数ソース、ランダムなビットストリームを生成するための追加および/または代替のスキームおよび手段、安全でないネットワークを介した安全な転送のために乱数を暗号化および/またはカプセル化するための追加および/または代替のスキーム、仮想エントロピーソースを作成するための追加および/または代替のスキーム等を含む、RaaSプロバイダシステムの多くの変更および修正が意図される。これらの修正は本発明に関する当業者には明らかであり、以下の特許請求の範囲内にあることが意図されている。

Claims (28)

  1. 1つ以上のプロセッサを備える計算システムであって、第1のエントロピーソース、第2のエントロピーソース、および外部コンピューティングネットワークと通信する計算システムを準備する工程と、
    前記計算システムによって、前記第1のエントロピーソースのエントロピー測定値を表す第1の電気信号を前記第1のエントロピーソースから受信する工程と、
    前記計算システムによって、前記第2のエントロピーソースのエントロピー測定値を表す第2の電気信号を前記第2のエントロピーソースから受信する工程と、
    前記計算システムによって、前記第1の電気信号に少なくとも部分的に基づいて第1の複数の乱数列を生成し、前記第2の電気信号に少なくとも部分的に基づいて第2の複数の乱数列を生成する工程と、
    前記計算システムによって、前記第1のエントロピーソースを各々示す第1の複数の識別子を生成し、前記第2のエントロピーソースを各々示す第2の複数の識別子を生成する工程と、
    前記計算システムによって、前記第1の複数の識別子の各識別子を前記第1の複数の乱数列のそれぞれに割り当て、前記第2の複数の識別子の各識別子を前記第2の複数の乱数列のそれぞれに割り当てる工程と、
    前記計算システムによって、前記第1の複数の乱数列、前記第1の複数の識別子、前記第2の複数の乱数列、および前記第2の複数の識別子を前記外部コンピューティングネットワークへ配布する工程とを備える方法。
  2. 前記計算システムによって、前記第1の複数の乱数列のうち1つ以上の乱数列および前記第1の複数の識別子のうち1つ以上の割り当てられた識別子を第1の集約プールに集約する工程と、
    前記計算システムによって、前記第2の複数の乱数列のうち1つ以上の乱数列および前記第2の複数の識別子のうち1つ以上の割り当てられた識別子を第2の集約プールに集約する工程とをさらに備える、請求項1に記載の方法。
  3. 前記計算システムによって、前記第1の複数の識別子のうちの識別子を各々備える第1の複数のタグを生成し、前記第2の複数の識別子のうちの識別子を各々備える第2の複数のタグを生成する工程と、
    前記計算システムによって、前記第1の複数のタグのうちのタグおよび前記第1の複数の乱数列のうちの乱数列を各々備える第1の複数のタグ付き乱数列を生成する工程と、
    前記計算システムによって、前記第2の複数のタグのうちのタグおよび前記第2の複数の乱数列のうちの乱数列を各々備える第2の複数のタグ付き乱数列を生成する工程とをさらに備え、
    前記計算システムによって、前記第1の複数の乱数列、前記第1の複数の識別子、前記第2の複数の乱数列、および前記第2の複数の識別子を前記外部コンピューティングネットワークへ配布する工程は、前記計算システムによって、前記第1の複数のタグ付き乱数列および前記第2の複数の乱数列を前記外部コンピューティングネットワークへ配布する工程を備える、請求項1または請求項2に記載の方法。
  4. 前記計算システムによって、第1の集約ヘッダおよび第2の集約ヘッダを生成する工程と、
    前記計算システムによって、前記第1の複数の乱数列のうち1つ以上のタグ付き乱数列に連結された前記第1の集約ヘッダを備える第1の集約列を生成し、前記第2の複数の乱数列のうち1つ以上のタグ付き乱数列に連結された前記第2の集約ヘッダを備える第2の集約列を生成する工程とをさらに備える、請求項3に記載の方法。
  5. 前記計算システムによって、前記第1の複数の乱数列の各乱数列を変換することによって第1の複数の変換された乱数列を生成し、前記第2の複数の乱数列の各乱数列を変換することによって第2の複数の変換された乱数列を生成する工程をさらに備え、
    前記計算システムによって、前記第1の複数の乱数列、前記第1の複数の識別子、前記第2の複数の乱数列、および前記第2の複数の識別子を前記外部コンピューティングネットワークへ配布する工程は、前記第1の複数の乱数列を前記第1の複数の乱数列の変換された乱数列として配布し、前記第2の複数の乱数列を前記第2の複数の変換された乱数列の変換された乱数列として配布する工程を備える、請求項1から請求項4のいずれか一項に記載の方法。
  6. 前記計算システムによって、前記第1の複数の乱数列の各乱数列を変換する工程は、各乱数列を暗号化および/またはカプセル化する工程を備える、請求項5に記載の方法。
  7. 前記計算システムによって、前記第1のエントロピーソースから発生した乱数列の要求を前記外部コンピューティングネットワークから受信する工程と、
    前記計算システムによって、前記要求に応じて、前記第1の複数の識別子のうちの識別子に関連付けられた前記第1の複数の乱数列のうちの乱数列を前記外部コンピューティングネットワークへ提供する工程であって、当該識別子は前記第1のエントロピーソースに関連付けられている、工程をさらに備える、請求項1から請求項6のいずれか一項に記載の方法。
  8. 前記計算システムによって、前記第1の複数の乱数列、前記第1の複数の識別子、前記第2の複数の乱数列、および前記第2の複数の識別子をメモリストアに格納する工程と、
    前記計算システムによって、前記第1のエントロピーソースから発生した乱数列の要求を前記外部コンピューティングネットワークから受信する工程と、
    前記計算システムによって、前記要求に応じて、取得された列を前記メモリストアから取得する工程であって、当該取得された列は前記第1の複数の識別子のうちの識別子に関連付けられた前記第1の複数の乱数列のうちの乱数列であって、当該識別子は前記第1のエントロピーソースに関連付けられている、工程と、
    前記計算システムによって、前記要求に応じて、前記取得された列を前記外部コンピューティングネットワークへ提供する工程とをさらに備える、請求項1から請求項6のいずれか一項に記載の方法。
  9. 前記計算システムによって、前記第1の複数の識別子および前記第2の複数の識別子をメモリストアに格納する工程をさらに備え、
    前記計算システムによって、前記第1のエントロピーソースに各々関連付けられた第1の複数の識別子を生成し、前記第2のエントロピーソースに各々関連付けられた第2の複数の識別子を生成する工程は、前記メモリストアに格納されたデータに基づいて前記第1の複数の識別子および前記第2の複数の識別子を生成する工程を備える、請求項1から請求項7のいずれか一項に記載の方法。
  10. 前記第1の複数の識別子は相互に識別可能であり、前記第2の複数の識別子は相互に識別可能である、請求項1から請求項9のいずれか一項に記載の方法。
  11. 前記計算システムによって、前記第1の複数の乱数列のうちの乱数列を格納する工程と、
    前記乱数列を一度だけ前記外部コンピューティングネットワークへ配布した後、前記計算システムによって、前記格納された乱数列を上書きする工程とをさらに備える、請求項1から請求項10のいずれか一項に記載の方法。
  12. 前記計算システムによって、前記第1の複数の乱数列のうちの乱数列を格納する工程と、
    前記計算システムによって、前記格納された乱数列を複数回前記外部コンピューティングネットワークへ配布する工程とをさらに備える、請求項1から請求項11のいずれか一項に記載の方法。
  13. 前記計算システムによって、前記第1の複数の乱数列のうちの乱数列に関連付けられた使用インジケータを生成する工程と、
    前記計算システムによって、前記使用インジケータおよび前記乱数列を前記外部コンピューティングネットワークへ配布する工程とをさらに備える、請求項1から請求項12のいずれか一項に記載の方法。
  14. 第1のエントロピーソース、前記第1のエントロピーソースの物理的プロセスに基づいて第1の電気信号を生成するように動作する第1の電気回路、および前記第1の電気信号を提供するように動作する出力を備える第1のエントロピー機器と、
    第2のエントロピーソース、前記第2のエントロピーソースの物理的プロセスに基づいて第2の電気信号を生成するように動作する第2の電気回路、および前記第2の電気信号を提供するように動作する出力を備える第2のエントロピー機器と、
    前記第1のエントロピー機器の前記出力および前記第2のエントロピー機器の前記出力と通信する入力、外部ネットワークと通信するように動作する出力、プロセッサ、および前記プロセッサによって実行されると当該プロセッサに以下の工程を実行させる命令を有するコンピュータ可読媒体を備える計算システムとを備え、
    前記工程は、
    前記第1の電気信号に基づいて第1の識別子および第1の乱数列を生成する工程であって、当該第1の識別子は前記第1のエントロピーソースを示すデータを有する、工程と、
    前記第2の電気信号に基づいて第2の識別子および第2の乱数列を生成する工程であって、当該第2の識別子は前記第2のエントロピーソースを示すデータを有する、工程と、
    前記第1の識別子、前記第1の乱数列、前記第2の識別子、および前記第2の乱数列を表す通信信号を前記計算システムの前記出力に提供する工程とを含む、エントロピー配信システム。
  15. 前記計算システムの前記コンピュータ可読媒体は、前記プロセッサによって実行されると当該プロセッサに以下の工程を実行させる命令をさらに備え、
    前記工程は、
    前記第1の乱数列および前記第1の識別子を1つ以上の追加の乱数列とともに第1の集約プールに集約する工程と、
    前記第2の乱数列および前記第2の識別子を1つ以上の追加の乱数列とともに第2の集約プールに集約する工程とを含む、請求項14に記載のエントロピー配信システム。
  16. 前記計算システムの前記コンピュータ可読媒体は、前記プロセッサによって実行されると当該プロセッサに以下の工程を実行させる命令をさらに備え、
    前記工程は、
    前記第1の識別子を備える第1のタグを生成する工程と、
    前記第2の識別子を備える第2のタグを生成する工程と、
    前記第1のタグを前記第1の乱数列に連結して第1のタグ付き乱数列を生成する工程と、
    前記第2のタグを前記第2の乱数列に連結して第2のタグ付き乱数列を生成する工程とを含み、
    前記通信信号は、前記第1のタグ付き乱数列および前記第2のタグ付き乱数列を表す、請求項14または請求項15に記載のエントロピー配信システム。
  17. 前記計算システムの前記コンピュータ可読媒体は、前記プロセッサによって実行されると当該プロセッサに以下の工程を実行させる命令をさらに備え、
    前記工程は、
    第1の集約ヘッダを生成する工程と、
    前記第1の集約ヘッダを前記第1のタグ付き乱数列および前記第2のタグ付き乱数列に連結して集約列を生成する工程とを含み、
    前記通信信号は、前記集約列を表す、請求項16に記載のエントロピー配信システム。
  18. 前記計算システムの前記コンピュータ可読媒体は、前記プロセッサによって実行されると当該プロセッサに以下の工程を実行させる命令をさらに備え、
    前記工程は、
    前記第1の乱数列を変換することによって第1の変換された乱数列を生成する工程と、
    前記第2の乱数列を変換することによって第2の変換された乱数列を生成する工程とを含み、
    前記通信信号は、前記第1の変換された乱数列および前記第2の変換された乱数列を表す、請求項14から請求項17のいずれか一項に記載のエントロピー配信システム。
  19. 前記計算システムと通信する第1のメモリストアをさらに備え、
    前記計算システムの前記コンピュータ可読媒体は、前記プロセッサによって実行されると当該プロセッサに以下の工程を実行させる命令をさらに備え、
    前記工程は、
    前記第1のメモリストアに格納されたデータに基づいて前記第1の識別子および前記第2の識別子を生成する工程と、
    前記第1の識別子および前記第2の識別子を前記第1のメモリストアに格納する工程とを含む、請求項14から請求項18のいずれか一項に記載のエントロピー配信システム。
  20. ルータと、
    前記第1のエントロピー機器を備える帯域外管理システムであって、前記計算システムの前記入力が当該ルータを介して前記第1のエントロピー機器の前記出力と通信するシステムとをさらに備える、請求項14から請求項19のいずれか一項に記載のエントロピー配信システム。
  21. 複数のエントロピーソースから複数の電気信号を受信するように動作する入力、第1のプロセッサ、および当該プロセッサと通信する第1のコンピュータ可読媒体を備えるランダム配布サービスエンジンと、
    前記ランダム配布サービスと通信する制御システムであって、外部ネットワークと通信するように動作する出力、第2のプロセッサ、および当該プロセッサと通信する第2のコンピュータ可読媒体を備えるシステムとを備え、
    前記ランダム配布サービスエンジンの前記第1のコンピュータ可読媒体は、前記第1のプロセッサによって実行されると当該第1のプロセッサに以下の工程を実行させる命令を備え、
    前記工程は、
    前記複数の電気信号のうちの各電気信号を複数のエントロピーソースのうち固有のエントロピーソースから発生したものとして区別する工程と、
    乱数およびタグを各々備える複数のタグ付き乱数列を生成する工程であって、当該乱数は前記複数の電気信号のうち区別された電気信号のコンピュータ可読表記であり、当該タグは前記区別された電気信号が発生した前記固有のエントロピーソースを示すデータを有する、工程とを含み、
    前記制御システムの前記第2のコンピュータ可読媒体は、前記第2のプロセッサによって実行されると当該第2のプロセッサに以下の工程を実行させる命令を備え、
    前記工程は、
    特定のエントロピーソースからの乱数列の第1の要求を前記外部ネットワークから受信する工程と、
    前記第1の要求に応じて、実行可能な命令を前記ランダム配布サービスに送信する工程であって、当該命令は、前記ランダム配布サービスの前記第1のプロセッサによって実行されると、前記第1のプロセッサに、要求されたタグ付き乱数列を提供させる命令であって、当該要求されたタグ付き乱数列は、前記複数のタグ付き乱数列のうちの前記特定のエントロピーソースを示すデータを有するタグを備えるタグ付き乱数列である、工程と、
    前記要求されたタグ付き乱数列を前記ランダム配布サービスから受信する工程と、
    前記要求されたタグ付き乱数列を前記外部ネットワークに送信する工程とを含む、配布コンピューティング環境システム
  22. 前記ランダム配布サービスエンジンの前記第1のコンピュータ可読媒体は、前記第1のプロセッサによって実行されると当該第1のプロセッサに以下の工程を実行させる命令を備え、
    前記工程は、
    前記複数のタグ付き乱数列の少なくとも一部の組み合わせを示すデータを各々備える複数の集約ヘッダを生成する工程と、
    複数の集約列を生成する工程であって、当該列は、前記複数の集約ヘッダのうちの集約ヘッダと、前記複数のタグ付き乱数列の少なくとも一部の前記組み合わせのうちの、前記集約ヘッダが示すタグ付き乱数列との連結を各々備える、工程とを含み、
    前記制御システムの前記第2のコンピュータ可読媒体は、前記第2のプロセッサによって実行されると当該第2のプロセッサに以下の工程を実行させる命令を備え、
    前記工程は、
    乱数列の特定の組み合わせの第2の要求を前記外部ネットワークから受信する工程と、
    前記第2の要求に応じて、実行可能な命令を前記ランダム配布サービスに送信する工程であって、当該命令は、前記ランダム配布サービスの前記第1のプロセッサによって実行されると、前記第1のプロセッサに、要求された集約列を提供させる命令であって、当該要求された集約列は、前記複数の集約列のうちの乱数列の前記特定の組み合わせを示すデータを有する集約ヘッダを備える集約列である、工程と、
    前記要求された集約列を前記ランダム配布サービスから受信する工程と、
    前記要求された集約列を前記外部ネットワークに送信する工程とを含む、請求項21に記載の配布コンピューティング環境システム
  23. 前記複数のエントロピーソースのうちの量子エントロピーソースであって、前記複数の電気信号のうちの電気信号を前記ランダム配布サービスエンジンに提供する量子エントロピーソースをさらに備える、請求項21または請求項22に記載の配布コンピューティング環境システム
  24. 物理的エントロピープロセスを表す電気信号を提供するエントロピーソースと、
    前記電気信号に少なくとも部分的に基づいてランダムなビットストリームを提供するエントロピーインターフェースと、
    前記ランダムなビットストリームに少なくとも部分的に基づいて前記エントロピーソースを示す情報を備えるタグ付き乱数列を提供する識別子エンジンと、
    外部ネットワークと通信し、前記タグ付き乱数列に少なくとも部分的に基づいて検証可能な乱数列を前記外部ネットワークに提供する配布エンジンとを備えるエントロピーシステムノード。
  25. 前記エントロピーシステムノードは、携帯型電子デバイスである、請求項24に記載のエントロピーシステムノード。
  26. 前記エントロピーシステムノードは、携帯電話、タブレットコンピュータ、およびラップトップコンピュータのうちの1つである、請求項24または請求項25に記載のエントロピーシステムノード。
  27. 前記タグ付き乱数列および1つ以上の追加の乱数列を含む集約された乱数列を提供する集約器エンジンをさらに備え、
    前記検証可能な乱数列は、前記集約された乱数列に少なくとも部分的に基づいている、請求項24から請求項26のいずれか一項に記載のエントロピーシステムノード。
  28. 前記エントロピーシステムノードは、第2のエントロピーシステムノードと前記外部ネットワークを介して通信し、
    前記第2のエントロピーシステムノードは、第2のエントロピーソースを備える、請求項24から請求項27のいずれか一項に記載のエントロピーシステムノード。
JP2021549946A 2019-02-28 2019-08-30 マルチソースエントロピーのランダム性の集約および配布ネットワーク Active JP7399975B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/288,722 US10402172B1 (en) 2019-02-28 2019-02-28 Multi-source entropy and randomness aggregation and distribution network
US16/288,722 2019-02-28
PCT/US2019/048950 WO2020176131A1 (en) 2019-02-28 2019-08-30 Multi-source entropy randomness aggregation and distribution network

Publications (2)

Publication Number Publication Date
JP2022522287A JP2022522287A (ja) 2022-04-15
JP7399975B2 true JP7399975B2 (ja) 2023-12-18

Family

ID=67770308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021549946A Active JP7399975B2 (ja) 2019-02-28 2019-08-30 マルチソースエントロピーのランダム性の集約および配布ネットワーク

Country Status (5)

Country Link
US (3) US10402172B1 (ja)
EP (1) EP3931682A1 (ja)
JP (1) JP7399975B2 (ja)
KR (3) KR102626613B1 (ja)
WO (1) WO2020176131A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10963283B2 (en) * 2018-12-27 2021-03-30 Nutanix, Inc. Configuration management for hybrid cloud
US11177946B2 (en) * 2019-06-21 2021-11-16 Verizon Patent And Licensing Inc. Quantum entropy distributed via software defined perimeter connections
US11949711B2 (en) * 2019-07-08 2024-04-02 Caci International, Inc. Systems and methods for securing information
US20210019119A1 (en) * 2019-07-21 2021-01-21 Cyber Reliant Corp. Random number generator utilizing sensor entropy
CN110737424A (zh) * 2019-09-10 2020-01-31 成都四方伟业软件股份有限公司 一种随机数产生方法及系统
KR102308245B1 (ko) * 2019-09-17 2021-10-01 주식회사 이와이엘 양자엔트로피소스에 기반한 양자난수 제공 방법 및 시스템
US11301215B2 (en) * 2020-01-27 2022-04-12 International Business Machines Corporation Real time configuration of multiple true random number generator sources for optimized entropy generation
US20210240444A1 (en) * 2020-02-05 2021-08-05 Cyber Reliant Corp. Random number generator utilizing sensor entropy
US11956347B2 (en) * 2020-06-30 2024-04-09 Samsung Electronics Co., Ltd. Method and apparatus with mobile payment and verification
US11329811B1 (en) * 2021-03-15 2022-05-10 Motorola Mobility Llc Quantum-based security for hardware devices
US12063300B2 (en) * 2022-07-12 2024-08-13 Veiovia Ltd. Computer implemented methods, apparatuses and software for random number generation based on genetic information

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014510354A (ja) 2011-04-05 2014-04-24 イントリンシツク・イー・デー・ベー・ベー メモリスタートアップ時のノイズに基づいた乱数生成システム
JP2016510137A (ja) 2013-02-28 2016-04-04 アマゾン・テクノロジーズ・インコーポレーテッド 品質設定可能ランダムデータサービス
US20160124716A1 (en) 2014-10-30 2016-05-05 Seagate Technology Llc Deriving Entropy From Multiple Sources Having Different Trust Levels
US20160342394A1 (en) 2015-05-18 2016-11-24 Red Hat Israel, Ltd. Multi-factor entropy sourcing for random number generators
US20180300108A1 (en) 2017-04-18 2018-10-18 International Business Machines Corporation Trusted random number generation by a cloud server

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778069A (en) * 1996-04-10 1998-07-07 Microsoft Corporation Non-biased pseudo random number generator
US6628786B1 (en) 1997-09-30 2003-09-30 Sun Microsystems, Inc. Distributed state random number generator and method for utilizing same
US6667980B1 (en) 1999-10-21 2003-12-23 Sun Microsystems, Inc. Method and apparatus for providing scalable services using a packet distribution table
US6826186B1 (en) 2000-03-07 2004-11-30 Cisco Technology, Inc. Method and apparatus for distributing packets across multiple paths leading to a destination
US7242776B1 (en) 2000-08-08 2007-07-10 Verizon Corporate Services Group Inc. Method and apparatus for the generation and distribution of random bits
US6931128B2 (en) 2001-01-16 2005-08-16 Microsoft Corporation Methods and systems for generating encryption keys using random bit generators
US6871206B2 (en) 2001-11-20 2005-03-22 Ip-First, Llc Continuous multi-buffering random number generator
US7190696B1 (en) 2002-03-05 2007-03-13 Force10 Networks, Inc. System and method for distributing packets among a plurality of paths to a destination
US7304999B2 (en) 2002-08-24 2007-12-04 Cisco Technology Inc. Methods and apparatus for processing packets including distributing packets across multiple packet processing engines and gathering the processed packets from the processing engines
US8718089B2 (en) 2003-09-08 2014-05-06 Toshiba America Research Inc. Aggregation and fragmentation of multiplexed downlink packets
US7706365B2 (en) 2003-11-25 2010-04-27 California Institute Of Technology Randomized distributed network coding
US7930332B2 (en) * 2007-03-23 2011-04-19 Microsoft Corporation Weighted entropy pool service
JP4917478B2 (ja) 2007-05-25 2012-04-18 株式会社ケーヒン 乱数発生装置及び車両制御装置
US8189778B2 (en) * 2008-07-07 2012-05-29 General Instrument Corporation Adaptive generation of a pseudo random number generator seed
WO2010022767A1 (en) 2008-08-26 2010-03-04 Telefonaktiebolaget Lm Ericsson (Publ) Packet forwarding in a network
US8380768B2 (en) 2009-01-30 2013-02-19 Freescale Semiconductor, Inc. Random number generator
CN103119849B (zh) 2010-04-13 2017-06-16 弗劳恩霍夫应用研究促进协会 概率区间分割编码器和译码器
US8429408B2 (en) 2010-06-11 2013-04-23 Certicom Corp. Masking the output of random number generators in key generation protocols
US9128791B1 (en) * 2011-03-21 2015-09-08 Board Of Regents Of The University Of Texas System Generation of distinct pseudorandom number streams based on program context
US8750309B2 (en) 2012-02-29 2014-06-10 Telefonaktiebolaget L M Ericsson (Publ) Compound masking and entropy for data packet classification using tree-based binary pattern matching
US9086936B2 (en) 2012-07-31 2015-07-21 International Business Machines Corporation Method of entropy distribution on a parallel computer
US10275268B2 (en) * 2013-08-26 2019-04-30 Red Hat, Inc. Providing entropy to a guest operating system
WO2015112753A1 (en) 2014-01-24 2015-07-30 Footmarks, Inc. Multi-broadcast beacon signals
JP6342676B2 (ja) 2014-02-28 2018-06-13 パナソニック株式会社 電力増幅装置及び制御方法
US9507566B2 (en) 2014-04-01 2016-11-29 Oracle International Corporation Entropy generation for a distributed computing system
US9749127B1 (en) * 2014-06-03 2017-08-29 Amazon Technologies, Inc. Establishing entropy on a system
US10348704B2 (en) * 2015-07-30 2019-07-09 Helder Silvestre Paiva Figueira Method for a dynamic perpetual encryption cryptosystem
US10037193B2 (en) * 2015-12-09 2018-07-31 International Business Machines Corporation Extracting entropy from mobile devices to generate random numbers
CN109478132B (zh) * 2016-08-19 2023-03-24 甲骨文国际公司 在计算装置中产生熵和在伪随机数发生器中播种熵的方法
KR101963393B1 (ko) * 2016-09-27 2019-03-28 한국과학기술연구원 이미지센서를 이용한 난수 생성 시스템, 난수 생성 방법, 데이터베이스 구축방법, 및 그 방법이 컴퓨터 프로그램으로 기록되어 있는 컴퓨터 판독가능한 기록 매체
US11843695B2 (en) * 2018-11-09 2023-12-12 Visa International Service Association Distributed entropy system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014510354A (ja) 2011-04-05 2014-04-24 イントリンシツク・イー・デー・ベー・ベー メモリスタートアップ時のノイズに基づいた乱数生成システム
JP2016510137A (ja) 2013-02-28 2016-04-04 アマゾン・テクノロジーズ・インコーポレーテッド 品質設定可能ランダムデータサービス
US20160124716A1 (en) 2014-10-30 2016-05-05 Seagate Technology Llc Deriving Entropy From Multiple Sources Having Different Trust Levels
US20160342394A1 (en) 2015-05-18 2016-11-24 Red Hat Israel, Ltd. Multi-factor entropy sourcing for random number generators
US20180300108A1 (en) 2017-04-18 2018-10-18 International Business Machines Corporation Trusted random number generation by a cloud server

Also Published As

Publication number Publication date
WO2020176131A1 (en) 2020-09-03
KR20240009536A (ko) 2024-01-22
US12045583B2 (en) 2024-07-23
US20240329937A1 (en) 2024-10-03
US10402172B1 (en) 2019-09-03
JP2022522287A (ja) 2022-04-15
EP3931682A1 (en) 2022-01-05
KR20210126767A (ko) 2021-10-20
KR102667156B1 (ko) 2024-05-20
KR102712434B1 (ko) 2024-10-04
US20220150051A1 (en) 2022-05-12
KR20240089674A (ko) 2024-06-20
KR102626613B1 (ko) 2024-01-19

Similar Documents

Publication Publication Date Title
JP7399975B2 (ja) マルチソースエントロピーのランダム性の集約および配布ネットワーク
US11991275B2 (en) System and method for quantum-safe authentication, encryption and decryption of information
US10560271B2 (en) Increased communication security
US10581599B2 (en) Cloud storage method and system
US8650657B1 (en) Storing encrypted objects
US11361099B2 (en) Encrypting data records and processing encrypted records without exposing plaintext
TWI420339B (zh) 軟體授權系統及方法
US9419979B2 (en) Increased communication security
EP3001346B1 (en) Directory service device, client device, key cloud system, method thereof, and program
Cai et al. Vizard: A metadata-hiding data analytic system with end-to-end policy controls
Wen-Peng et al. Trusted data access and authorization protocol
JPWO2022053812A5 (ja)
KR20210064046A (ko) 분산 컴퓨팅 시스템에서 로깅 기밀성 및 무결성을 보장하기 위한 방법 및 장치
CN116055105A (zh) 云存储数据的处理方法、装置和服务器
CN118764201A (zh) 一种面向物联网的可信认证安全芯片系统及控制方法
Du et al. Key management scheme based on micro-certificate for Internet of Things
Banasode et al. Secured Storage Path Using Cryptographic Virtual Mapping for Cloud Applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231024

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231206

R150 Certificate of patent or registration of utility model

Ref document number: 7399975

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150