.png/500px-NeuG_HRNG_(22539520445).png)
コンピューティングにおいて、ハードウェア乱数発生器( HRNG )、真性乱数発生器( TRNG )、非決定性乱数ビット発生器( NRBG ) [1]または物理乱数発生器[2] [3]は、エントロピーを生成できる物理プロセスから乱数を生成するデバイスです(言い換えると、デバイスは常に物理エントロピー ソースにアクセスできます[1] )。これは、決定論的アルゴリズム[2]を使用する疑似乱数発生器(PRNG、別名「決定性乱数ビット発生器」、DRBG)や、エントロピー生成専用のハードウェアを含まない非物理的な非決定性乱数ビット発生器とは異なります。[1]
多くの自然現象は、低レベルの統計的にランダムな「ノイズ」信号を生成する。これには、熱雑音やショット雑音、電子回路のジッタや準安定性、ブラウン運動、大気雑音などが含まれる。[4]研究者らは、ビームスプリッタを伴う光電効果、その他の量子現象、[5] [6] [7] [8] [9]、さらには原子核崩壊(実用上の考慮から、後者は大気雑音と同様に実現不可能)も使用した。[4]「古典的」(非量子)現象は真にランダムではないが、予測不可能な物理システムはランダム性の源として通常受け入れられるため、「真の」と「物理的」という修飾語は同じ意味で使用されている。[10]
ハードウェア乱数生成器は、ほぼ完全な乱数(「完全なエントロピー」)を出力することが期待されています。[1]物理的なプロセスは通常この特性を持たず、実用的なTRNGは通常、いくつかのブロックで構成されています。[11]
- エントロピーを生成する物理プロセスを実装するノイズ ソース。通常、このプロセスはアナログであるため、デジタイザーを使用してアナログ ソースの出力をバイナリ表現に変換します。
- ランダムビットの品質を向上させるコンディショナー(ランダム性抽出器) 。
- ヘルス テスト。TRNG は主に、乱数のエントロピーが低いと完全に破られてしまう暗号化アルゴリズムで使用されるため、通常はテスト機能が含まれています。
ハードウェア乱数ジェネレータは、通常、1 秒あたりに限られた数のランダム ビットしか生成しません。利用可能な出力データ レートを上げるために、より高速な PRNG の「シード」を生成するためによく使用されます。DRBG は、ノイズ ソースの「匿名化」(ノイズ ソースの識別特性をホワイトアウトする) とエントロピー抽出にも役立ちます。適切な DRBG アルゴリズム (暗号的に安全な疑似乱数ジェネレータ、CSPRNG)を選択すると、その組み合わせは連邦情報処理標準とCommon Criteria標準の要件を満たすことができます。 [12]
用途
ハードウェア乱数ジェネレータは、ランダム性を必要とするあらゆるアプリケーションで使用できます。ただし、多くの科学アプリケーションでは、TRNG の追加コストと複雑さ (疑似乱数ジェネレータと比較した場合) は意味のある利点をもたらしません。TRNG には、データ サイエンスや統計アプリケーションにとってさらに欠点があります。数値を保存しない限り、数値を再実行できないこと、アナログの物理的エンティティに依存するとソースの障害がわかりにくくなることなどです。そのため、TRNG は主に、その予測不可能性と数値シーケンスの再実行の不可能性によって実装が成功することが決定的に重要なアプリケーション、つまり暗号化やギャンブル マシンで使用されます。[13]
暗号化
ハードウェア乱数ジェネレータの主な用途は、データ暗号化の分野であり、例えば、データの暗号化や署名に必要なランダムな暗号鍵やノンスを生成することである。ランダム性に加えて、暗号化アプリケーションによって課せられる要件が少なくとも2つある。[14]
- 前方秘匿性は、デバイスの過去の出力と内部状態に関する情報によって攻撃者が将来のデータを予測できないことを保証します。
- 後方秘密は「反対方向」を保護します。つまり、将来の出力と内部状態に関する知識によって、前のデータが漏洩することはありません。
これらの要件を満たす典型的な方法は、TRNGを使用して暗号的に安全な疑似乱数ジェネレータをシードすることです。[15]
歴史
物理的な装置は何千年もの間、主にギャンブルのために乱数を生成するために使用されていました。特にサイコロは5000年以上前から知られており(現代のイラクとイランの場所で発見されています)、コインを投げる(ランダムなビットを生成する)ことは少なくとも古代ローマの時代にまで遡ります。[16]
物理的乱数発生器を科学的目的に初めて使用した記録は、フランシス・ゴルトン(1890年)によるものです。[17]彼は一般的なギャンブル用サイコロを使用して確率分布をサンプリングする方法を考案しました。ゴルトンは、一番上の数字に加えて、自分に最も近いサイコロの面も調べ、6*4 = 24の結果(約4.6ビットのランダム性)を作成しました。[16]
ケンドールとバビントン・スミス(1938)[18]は、周期的な光のバーストで照らされた高速回転する10セクターディスクを使用しました。サンプリングは人間が光線の下の数字をパッドに書き込むことで行われました。この装置は10万桁の乱数表を作成するために使用されました(当時、このような表は現在のPRNGのような統計実験に使用されていました)。[16]
1947 年 4 月 29 日、RAND 社は「電子ルーレット ホイール」を使用して乱数の生成を開始しました。これは、1 秒あたり約 100,000 パルスのランダム周波数パルス ソースで構成され、1 秒あたり 1 回の一定周波数パルスでゲートされ、5 ビットのバイナリ カウンタに入力されます。ダグラス エアクラフト社は、ノイズ ソース (おそらく、磁場内に置かれた6D4 小型ガスサイラトロン管のよく知られた動作[20] ) として、セシル ヘイスティングの提案 (RAND P-113) [19]を実装して装置を製造しました。32 の可能なカウンタ値のうち 20 が 10 進数の桁にマッピングされ、残りの 12 のカウンタ値は破棄されました。[21] RANDマシンによる長時間実行の結果は、フィルタリングされテストされた後、表に変換されました。この表は、もともとパンチカードのデッキとしてのみ存在していましたが、後に1955年に50行50桁の書籍として出版されました[16](100,000の正規偏差を持つ100万のランダム数字)。RAND表は、乱数を生成する上で大きな進歩でした。なぜなら、これほど大規模で慎重に作成された表は、それまでに存在したことがなかったからです。これは、シミュレーション、モデリング、および暗号アルゴリズムの任意の定数を導出して、定数が悪意を持って選択されていないことを証明するための有用な情報源となっています(「秘密の数字」)。[22]
1950年代初頭以来、TRNGの研究は活発に行われており、2017年までに数千の研究論文が発表され、約2000件の特許が付与されています。[16]
ランダムな性質を持つ物理現象
多種多様なノイズ源とデジタル化技術(「ハーベスティング」)を備えたさまざまなTRNG設計が長年にわたって提案されてきました。しかし、実用的な考慮事項(サイズ、電力、コスト、パフォーマンス、堅牢性)により、次の望ましい特性が決定されます。[23]
- 一般的に入手可能な安価なシリコンプロセスの使用。
- デジタル設計技術のみを使用します。これにより、システムオンチップの統合が容易になり、 FPGAの使用が可能になります。
- コンパクトで低消費電力の設計。これにより、アナログ部品(アンプなど)の使用が抑制されます。
- エントロピー収集メカニズムの数学的正当化。
2014年にStipčevićとKoçはTRNGの実装に使用される物理現象を4つのグループに分類しました。[3]
- 電気ノイズ;
- 自走発振器;
- カオス;
- 量子効果。
電気ノイズベースのRNG
ノイズベースのRNGは、一般的に同じ概要に従います。ノイズジェネレータのソースはコンパレータに入力されます。電圧がしきい値を超えるとコンパレータの出力は1になり、そうでない場合は0になります。ランダムビット値はフリップフロップを使用してラッチされます。ノイズの発生源はさまざまで、次のものがあります。[24]
- ジョンソン・ナイキストノイズ(「熱ノイズ」)
- ツェナーノイズ;
- 雪崩の崩壊。
RNG設計にノイズ源を使用することの欠点は以下の通りである。[25]
- ノイズレベルは制御が難しく、環境の変化やデバイスごとに変化します。
- 保証されたエントロピー量を確保するために必要な較正プロセスには時間がかかります。
- ノイズ レベルは通常低いため、設計には電力を大量に消費するアンプが必要です。アンプの入力が敏感なため、攻撃者による操作が可能になります。
- 近くにある回路は多くの非ランダムノイズを生成するため、エントロピーが低下します。
- 複数の相互作用する物理プロセスが関与しているため、ランダム性の証明はほぼ不可能である。[26]
カオスベースのRNG
カオスベースのノイズというアイデアは、時間の経過に伴う動作を観察するだけでは特徴づけるのが難しい複雑なシステムの使用から生まれた。たとえば、レーザーは、カオス的に変動する電力を持つカオスモード(他の用途では望ましくない)にすることができ、その電力はフォトダイオードを使用して検出され、コンパレータによってサンプリングされる。すべてのフォトニクス要素をオンチップに統合できるため、設計は非常に小さくなる。スティプチェヴィッチとコチは、カオス的な動作は通常微分方程式によって制御され、新しいランダム性は導入されないため、カオスベースのTRNGが可能な出力文字列の限られたサブセットを生成する可能性があることを主な理由として、この手法を「最も好ましくない」と特徴づけている。[27]
フリーランニングオシレータベースのRNG
フリーランニングオシレーター(FRO)をベースにしたTRNGは、通常、1つ以上のリングオシレーター(RO)を使用し、その出力は別のオシレーターを使用してサンプリングされます。ROを形成するインバーターは非常に大きなゲインを持つアンプと考えることができるため、FRO出力は周波数領域で位相が非常に高速に振動します。FROベースのTRNGは、ランダム性証明やチップ間のばらつきの問題にもかかわらず、標準的なデジタルロジックを使用しているため、非常に人気があります。[27]
量子ベースのRNG
量子乱数生成技術は確立されており、2017年までに8つの商用量子乱数生成器(QRNG)製品が提供されました。[28]
Herrero-Collantes と Garcia-Escartin は、次の確率過程を「量子」として挙げています。
- 核崩壊は歴史的に見て1960年代から使われ始めた最も古い量子手法であり、ガイガーカウンターや較正された放射線源が利用できるようになったことで人気が高まった。エントロピーの採取は、定期的にサンプリングされるイベントカウンターか、イベント発生時にサンプリングされる時間カウンターを使って行われた。同様の設計は1950年代にアナログコンピューターでランダムノイズを生成するために使われた。主な欠点は放射線安全上の懸念、ビットレートの低さ、不均一な分布であった。[29]
- 電子回路に見られる量子力学的雑音源であるショット雑音は、技術的には量子効果であるが、熱雑音から分離することが困難であるため、いくつかの例外を除いて、それを利用する雑音源は部分的に量子的であり、通常は「古典的」に分類される。[30]
- 量子光学:
- ビームスプリッターを用いた分岐経路発生器。単一光子源からの光子がランダムに2つの経路のうちの1つを取り、2つの単一光子検出器のうちの1つで感知され、ランダムビットが生成される。[31]
- 到着時間発生器と光子計数発生器は弱い光子源を使用し、放射性崩壊の場合と同様にエントロピーを収穫する。[32]
- 減衰パルス発生器は、上記の方法を一般化(装置を簡素化)したもので、システム内に一度に複数の光子を許容するものである。[33]
- 真空揺らぎ発生器はレーザーホモダイン検出を用いて真空状態の変化を調べる。 [34]
- レーザー位相雑音発生器は、単一空間モードレーザーの出力の位相雑音を不平衡マッハツェンダー干渉計を使用して振幅に変換する。雑音は光検出器によってサンプリングされる。[35]
- 増幅自然放出光発生器は、光増幅器内に存在する自然放出光をノイズ源として利用する。[36]
- ラマン散乱発生器は光子と固体物質との相互作用からエントロピーを抽出する。 [37]
- 光パラメトリック発振器発生器は、縮退光パラメトリック発振器における二値位相状態選択につながる自発的なパラメトリックダウンコンバージョンを使用する。 [38]
量子乱数発生器のコストを削減し、堅牢性を高めるために、[39]オンラインサービスが実装されています。[28]
量子乱数発生器の設計の多くは[40]本質的にテスト不可能であり、そのため敵対者によって操作される可能性がある。マンナラスらは、これらの設計が完全に制御され、信頼できる環境でのみ動作できるという意味で「信頼できる」と呼んでいる[41] 。
パフォーマンステスト
TRNGの障害は非常に複雑で微妙な場合があり、結果(出力ビットストリーム)だけでなく、エントロピーソースの予測不可能性も検証する必要があります。[10]ハードウェア乱数ジェネレータは、自然原因や意図的な攻撃によるエントロピーソースの劣化を防ぐために、常に適切に動作しているかどうかを監視する必要があります。FIPS Pub 140-2およびNIST Special Publication 800-90B [42]では、 これに使用できるテストを定義しています。
認証機関が義務付けているリアルタイムテストの最小セットはそれほど大きくなく、例えばNISTのSP 800-90Bでは2つの連続ヘルステストのみを要求している。[43]
- 繰り返しカウント テストは、同一の数字のシーケンスが長すぎないことを確認します。一度に 1 ビットをデジタル化する TRNG の (一般的な) ケースでは、これは 0 または 1 の長い文字列がないことを意味します。
- 適応比例テストは、データ ストリーム内でランダムな数字があまり頻繁に発生しない (低バイアス) ことを確認します。ビット指向のエントロピー ソースの場合、これはビット ストリーム内の 1 と 0 の数がほぼ同じであることを意味します。
攻撃
暗号化システムの他のコンポーネントと同様に、暗号化乱数ジェネレーターは特定の攻撃に耐えられるように設計する必要があります。ハードウェア エントロピー ソースがなければ、これらの攻撃を防御するのは困難です。[引用が必要]
HRNGの物理的プロセスは新たな攻撃対象領域を生み出す。例えば、フリーランニングオシレーターベースのTRNGは周波数注入によって攻撃される可能性がある。[44]
エントロピーの推定
シンボルのシーケンスのエントロピーを推定する数学的手法はいくつかあります。しかし、その推定値を完全に信頼できるものはありません。常に、確認が非常に難しい仮定が存在します。これらの手法は、たとえばシード プールに十分なエントロピーがあるかどうかを判断するのに役立ちますが、一般に、真のランダム ソースと疑似ランダム ジェネレーターを区別することはできません。この問題は、ハードウェア エントロピー ソースを慎重に使用することで回避できます。
参照
- AN/CYZ-9
- ベルテスト実験
- /dev/ランダム
- アーニー
- Lavarand (溶岩ランプ内の浮遊物質の動きに基づいたハードウェア乱数ジェネレータ)
- 乱数ジェネレーターのリスト
- 宝くじ機
- RDRAND
- トラステッド プラットフォーム モジュール
参考文献
- ^ abcd トゥランら。 2018、p. 64.
- ^ Schindler 2009、7ページより。
- ^ ab Stipčević & Koç 2014、p. 279.
- ^ スナール2009、56ページ。
- ^ Herrero-Collantes & Garcia-Escartin 2017、p. 8.
- ^ ジャカク、マーシン M.ヨジヴィアク、ピョートル。ニエムチュク、ヤクブ。ヤカク、ヤヌシュ E. (2021)。 「乱数の量子生成器」。科学的報告書。11 (1): 16108。ビブコード:2021NatSR..1116108J。土井: 10.1038/s41598-021-95388-7。PMC 8352985。PMID 34373502。
- ^ 馬、雄峰;ユアン、シャオ。曹、朱。チー、ビン。張、鎮(2016)。 「量子乱数生成」。npj 量子情報。2 (1): 16021.arXiv : 1510.08957。ビブコード:2016npjQI...216021M。土井:10.1038/npjqi.2016.21。
- ^ Kollmitzer , Christian; Petscharnig, Stefan; Suda, Martin; Mehic, Miralem (2020). 「量子乱数生成」。量子乱数生成:理論と実践。Springer International Publishing。pp . 11–34。doi :10.1007/ 978-3-319-72596-3_2。ISBN 978-3-319-72596-3。
- ^ マナラス、ミシュラ、パタック 2023.
- ^ ab Herrero-Collantes & Garcia-Escartin 2017、p. 4.
- ^ Turan et al. 2018、6ページ。
- ^ サーリネン、ニューウェル&マーシャル、2020.
- ^ テンプル2016、90頁。
- ^ Herrero-Collantes & Garcia-Escartin 2017、p. 6.
- ^ Herrero-Collantes & Garcia-Escartin 2017、p. 7.
- ^ abcde L'Ecuyer 2017.
- ^ Galton, Francis (1890). 「統計実験のためのダイス」(PDF) . Nature . 42 (1070): 13–14. Bibcode :1890Natur..42...13G. doi : 10.1038/042013a0 . S2CID 4038609. 2016年3月4日時点のオリジナルよりアーカイブ(PDF) . 2014年5月14日閲覧。
- ^ Kendall, MG, B. Babington-Smith. 1938.「ランダム性とその他のランダムサンプリング数」Journal of the Royal Statistical Society 101:147–166。
- ^ Brown, George W. (1949年1月)、P-113、Papers、Rand Corporation、2007年6月5日時点のオリジナルよりアーカイブ、 2009年5月10日取得。
- ^ コバイン、カリー(1947年)、「電気ノイズ発生器」、IRE議事録(1947年9月):875-9
- ^ モノグラフレポート、ランドコーポレーション、2001年1月、2018年4月15日時点のオリジナルよりアーカイブ、 2009年1月29日閲覧。
- ^ Schneier, Bruce (1995-11-01). 「その他のストリーム暗号と実数ランダムシーケンスジェネレータ」.応用暗号(第 2 版). John Wiley & Sons, Inc. p. 423. ISBN 978-0-471-11709-4。
- ^ スナール2009、57ページ。
- ^ Stipčević & Koç 2014、279–280 ページ。
- ^ スティプチェヴィッチ & コチ 2014、p. 280。
- ^ スティプチェヴィッチ & コチ 2014、p. 286.
- ^ ab Stipčević & Koç 2014、288–289 ページ。
- ^ ab Herrero-Collantes & Garcia-Escartin 2017、p. 2.
- ^ Herrero-Collantes & Garcia-Escartin 2017、10–13 ページ。
- ^ Herrero-Collantes & Garcia-Escartin 2017、13–14 ページ。
- ^ Herrero-Collantes & Garcia-Escartin 2017、p. 15.
- ^ Herrero-Collantes & Garcia-Escartin 2017、p. 17.
- ^ Herrero-Collantes & Garcia-Escartin 2017、p. 20.
- ^ Herrero-Collantes & Garcia-Escartin 2017、20–21 ページ。
- ^ Herrero-Collantes & Garcia-Escartin 2017、21–22 ページ。
- ^ Herrero-Collantes & Garcia-Escartin 2017、23–24 ページ。
- ^ Herrero-Collantes & Garcia-Escartin 2017、24–25 ページ。
- ^ Herrero-Collantes & Garcia-Escartin 2017、27–28 ページ。
- ^ Huang, Leilei; Zhou, Hongyi; Feng, Kai; Xie, Chongjin (2021-07-07). 「量子乱数クラウドプラットフォーム」. npj Quantum Information . 7 (1). Springer Science and Business Media LLC: 107. Bibcode :2021npjQI...7..107H. doi : 10.1038/s41534-021-00442-x . ISSN 2056-6387.
- ^ マナラス、ミシュラ、パタック 2023、p. 4.
- ^ マナラス、ミシュラ、パタック 2023、p. 9.
- ^ トゥランら2018年。
- ^ トゥランら。 2018、25–27ページ。
- ^ Markettos, A. Theodore; Moore, Simon W. (2009). 「リング発振器ベースの真乱数ジェネレータに対する周波数注入攻撃」。 コンピュータサイエンスの講義ノート(PDF)。ベルリン、ハイデルベルク: Springer Berlin Heidelberg。pp. 317–331。doi :10.1007/978-3-642-04138-9_23。ISBN 978-3-642-04137-2. ISSN 0302-9743.
出典
- Turan, Meltem Sönmez; Barker, Elaine; Kelsey, John; McKay, Kerry A; Baish, Mary L; Boyle, Mike (2018). NIST SP800-90B: ランダムビット生成に使用するエントロピーソースに関する推奨事項 (レポート)。メリーランド州ゲイサーズバーグ: 米国国立標準技術研究所。doi : 10.6028 /nist.sp.800-90b。
- Templ, M. (2016). R. Packt Publishing によるデータサイエンスのためのシミュレーション。ISBN 978-1-78588-587-7. 2023年8月7日閲覧。
- Saarinen, Markku-Juhani O.; Newell, G. Richard; Marshall, Ben (2020-11-09). 最新の TRNG の構築: RISC-V 用のエントロピー ソース インターフェイス(PDF)。ニューヨーク、ニューヨーク、米国: ACM。doi : 10.1145/3411504.3421212。2021-03-16 にオリジナルからアーカイブ。2023-09-09に取得。
{{cite conference}}: CS1 maint: bot: 元の URL ステータス不明 (リンク) - Schindler, Werner (2009)。「暗号化アプリケーションのための乱数ジェネレータ」。暗号化エンジニアリング。ボストン、マサチューセッツ州:Springer US。pp. 5–23。doi : 10.1007 / 978-0-387-71817-0_2。ISBN 978-0-387-71816-3。
- Sunar, Berk (2009)。「暗号化のための真の乱数生成器」。暗号化エンジニアリング。ボストン、マサチューセッツ州:Springer US。pp. 55–73。doi : 10.1007 / 978-0-387-71817-0_4。ISBN 978-0-387-71816-3。
- L'Ecuyer, Pierre (2017). 一様乱数生成の歴史(PDF) . 2017 Winter Simulation Conference (WSC). ラスベガス、ネバダ州、米国: IEEE. doi :10.1109/wsc.2017.8247790. ISBN 978-1-5386-3428-8. ISSN 1558-4305.
- Stipčević, Mario; Koç, Çetin Kaya (2014). 「真の乱数ジェネレーター」。数学と計算科学における未解決問題(PDF)。Cham: Springer International Publishing。pp. 275–315。doi :10.1007 / 978-3-319-10683-0_12。ISBN 978-3-319-10682-3。
- Herrero-Collantes, Miguel; Garcia-Escartin, Juan Carlos (2017-02-22). 「量子乱数ジェネレーター」.現代物理学レビュー. 89 (1).アメリカ物理学会(APS): 015004. arXiv : 1604.03304 . Bibcode :2017RvMP...89a5004H. doi :10.1103/revmodphys.89.015004. ISSN 0034-6861.
- 量子乱数生成:理論と実践。量子科学と技術。Springer Cham。2020年。doi:10.1007/978-3-319-72596-3。ISBN 978-3-319-72596-3。
- Mannalath, Vaisakh; Mishra, Sandeep; Pathak, Anirban (2023). 「量子乱数ジェネレーターの包括的レビュー:概念、分類、ランダム性の起源」.量子情報処理. 22 (12): 439. arXiv : 2203.00261 . doi : 10.1007/s11128-023-04175-y .
一般的な参考文献
- Brown, George W (1949 年 6 月)、「Rand の百万桁の歴史」、論文、RAND Corporation、2007 年 6 月 5 日にオリジナルからアーカイブ、2009 年 5 月 10 日に取得
- Brown, Bernice (1948 年 10 月)、「百万桁のランダム性のいくつかのテスト」、RAND Corporation の論文、2007 年 6 月 5 日にオリジナルからアーカイブ、 2009 年 5 月 10 日に取得
- 「真空管タイプ 6D4」、電子管データ ハンドブック、シルバニア、1957 年
- 100,000 正規偏差を持つ 100 万のランダム数字、RAND Corporation、2001 年 1 月、2002 年 12 月 16 日にオリジナルからアーカイブ、 2002 年 12 月 22 日に取得。
- Galton, Francis (1890)、「統計実験のためのダイス」、Nature、42 (1070): 13–4、Bibcode :1890Natur..42...13G、doi : 10.1038/042013a0、2004-04-04にオリジナルからアーカイブ、2004-03-28に取得
- ランダム性と自己テスト機能を備えた真の乱数生成器(PDF) 、日本: LE Tech RNG、 2018-03-01 にオリジナル(PDF)からアーカイブ、2015-04-20に取得
- D. Eastlake、3rd; J. Schiller; S. Crocker (2005 年 6 月)。セキュリティのためのランダム性要件。doi : 10.17487/RFC4086。BCP 106。RFC 4086。 ベスト コモン プラクティス。RFC 1750 は 廃止されます。
外部リンク
- Intel 乱数ジェネレータ(PDF)、Intel、1999 年 4 月 22 日。
- ProtegoST SG100、ProtegoST、「ツェナー ダイオードからの量子物理学の乱数ソースに基づくハードウェア乱数ジェネレーター」。
