ハードウェア乱数ジェネレータ

USB接続可能なハードウェア乱数ジェネレータ

コンピューティングにおいて、ハードウェア乱数発生器( HRNG )、真性乱数発生器( TRNG )、非決定性乱数ビット発生器( NRBG ) [ 1 ]または物理乱数発生器[ 2 ] [ 3 ]は、エントロピーを生成できる物理的なプロセスから乱数を生成するデバイスであり、決定論的アルゴリズムを利用する疑似乱数発生器( PRNG ) [ 2 ]や、エントロピー生成専用のハードウェアを含まない非物理的な非決定性乱数ビット発生器とは異なります。 [ 1 ]

多くの自然現象は、熱雑音やショット雑音、電子回路のジッタ準安定性、ブラウン運動大気雑音など、低レベルの統計的にランダムなノイズ」信号を生成します。[ 4 ]研究者たちは、ビームスプリッターを用いた光電効果、その他の量子現象、[ 5 ] [ 6 ] [ 7] [8 ] [ 9 ] さらに原子核崩壊(実用上の考慮から、後者は大気雑音と同様に、かなり制限された用途やオンライン配信サービス以外では実現不可能)も利用しました。[ 4 ]「古典的な」(非量子的な)現象は真にランダムではありませんが、予測不可能な物理システムは通常、ランダム性の源として受け入れられるため、「真の」と「物理的な」という修飾語は同じ意味で使用されます。[ 10 ]

ハードウェア乱数生成器は、ほぼ完全な乱数(「完全エントロピー」)を出力することが期待されています。[ 1 ]物理的なプロセスは通常この特性を持たず、実用的なTRNGは通常、いくつかのブロックで構成されています。[ 11 ]

  • エントロピーを生成する物理プロセスを実行するノイズ源。通常、このプロセスはアナログであるためアナログ源の出力を2進表現に変換するにはデジタイザが使用されます。
  • ランダム ビットの品質を改善するコンディショナー(ランダム性抽出器) 。
  • ヘルステスト。TRNG は主に、乱数のエントロピーが低い場合に完全に破られる暗号化アルゴリズムで使用されるため、テスト機能が組み込まれているのが一般的です。

ハードウェア乱数生成器は、一般的に1秒あたりに生成される乱数ビット数が限られています。利用可能な出力データレートを向上させるため、より高速なPRNG(擬似乱数生成器)の「シード」を生成するためによく使用されます。PRNGは、ノイズ源の「匿名化」(ノイズ源の識別特性を白色化すること)とエントロピー抽出にも役立ちます。適切なPRNGアルゴリズム(暗号学的に安全な擬似乱数生成器、CSPRNG)を選択すれば、その組み合わせは連邦情報処理標準(FIS)およびコモンクライテリア標準の要件を満たすことができます。[ 12 ]

用途

ハードウェア乱数生成器は、乱数性を必要とするあらゆるアプリケーションで使用できます。しかし、多くの科学アプリケーションでは、TRNGの追加コストと複雑さ(疑似乱数生成器と比較した場合)は、意味のあるメリットをもたらしません。TRNGには、データサイエンスや統計アプリケーションにおいてさらなる欠点があります。例えば、数値列を保存しない限り再実行できないこと、アナログの物理的実体に依存しているため、発生源の障害が分かりにくくなることがあります。そのため、TRNGは主に、その予測不可能性や数値列の再実行不可能性が実装の成功に不可欠となるアプリケーション、例えば暗号技術やギャンブルマシンで使用されます。[ 13 ]

暗号化

ハードウェア乱数生成器の主な用途はデータ暗号化の分野であり、例えばデータの暗号化と署名に必要なランダムな暗号鍵ノンスを生成するために使用されます。ランダム性に加えて、暗号アプリケーションによって少なくとも2つの追加要件が課せられます。[ 14 ]

  1. 前方秘匿性により、攻撃者がデバイスの過去の出力や内部状態に関する情報から将来のデータを予測することができなくなります。
  2. 後方機密性は「反対方向」を保護します。つまり、将来の出力と内部状態に関する知識によって、前のデータが漏洩することはありません。

これらの要件を満たす典型的な方法は、TRNGを使用して暗号的に安全な疑似乱数生成器をシードすることです。[ 15 ]

歴史

物理的な装置は、数千年にわたり、主に賭博のために乱数を生成するために使用されてきた。特にサイコロは5000年以上前から知られており(現在のイラクとイランで発見されている)、コインを投げてランダムなビットを生成する方法は、少なくとも古代ローマ時代にまで遡る。[ 16 ]

物理的乱数発生器が科学的目的に初めて使用されたのは、フランシス・ゴルトン(1890年)によるものです。[ 17 ]彼は、一般的なギャンブル用のサイコロを用いて確率分布をサンプリングする方法を考案しました。ゴルトンは、一番上の数字に加えて、最も近いサイコロの面も参照することで、6×4 = 24通りの結果(約4.6ビットのランダム性)を作り出しました。[ 16 ]

ケンドールとバビントン=スミス(1938)[ 18 ]は、周期的な光バーストで照射される高速回転10セクターディスクを用いた。サンプリングは人間が光線の下の数字をパッドに書き込むことで行われた。この装置は10万桁の乱数表を生成するために利用された(当時、このような表は今日のPRNGのような統計実験に使用されていた)。[ 16 ]

1947年4月29日、ランド社は「電子ルーレットホイール」を用いて乱数生成を開始した。これは、毎秒約10万パルスの乱数周波数パルス源と、毎秒1回の一定周波数パルスのゲート制御によって5ビットのバイナリカウンタに入力される構成であった。ダグラス・エアクラフト社は、セシル・ヘイスティングの提案(RAND P-113)[ 19 ]をノイズ源(おそらく磁場中に置かれた6D4小型ガスサイラトロン管のよく知られた動作[ 20 ])として実装し、この装置を製造した。32通りのカウンタ値のうち20通りが10進数にマッピングされ、残りの12通りのカウンタ値は破棄された。[ 21 ] RANDマシンによる長時間実行の結果は、フィルタリングとテストを経て表に変換されました。当初はパンチカードの束としてのみ存在していましたが、後に1955年に50行50桁の数字が各ページに記された書籍として出版されました[ 16 ] ( A Million Random Digits with 100,000 Normal Deviates )。RAND表は乱数生成における画期的な進歩でした。なぜなら、これほど大規模で綿密に作成された表はそれまで存在しなかったからです。この表は、シミュレーションやモデリング、暗号アルゴリズムにおける任意の定数を導出して、その定数が悪意を持って選択されたものではないことを証明するための有用な情報源となっています(「何も隠していない数字」)。[ 22 ]

1950年代初頭からTRNGの研究は活発に行われており、2017年までに数千の研究論文が発表され、約2000件の特許が付与されています。[ 16 ]

ランダムな性質を持つ物理現象

多様なノイズ源とデジタル化技術(「ハーベスティング」)を用いた、複数の異なるTRNG設計が、長年にわたり提案されてきました。しかし、実用的な考慮事項(サイズ、消費電力、コスト、性能、堅牢性)により、以下の特性が求められます。[ 23 ]

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 は、次の確率過程を「量子」として挙げています。

量子乱数発生器のコストを削減し、堅牢性を高めるために、[ 39 ]オンラインサービスが実装されています。[ 28 ]

量子乱数生成器の複数の設計[ 40 ]は本質的に検証不可能であり、したがって敵対者によって操作される可能性がある。マンナラスらは、これらの設計が完全に制御され、信頼できる環境でのみ動作できるという意味で「信頼できる」と呼んでいる[ 41 ]。

パフォーマンステスト

TRNGの故障は非常に複雑で微妙な場合があり、結果(出力ビットストリーム)だけでなく、エントロピー源の予測不可能性についても検証する必要があります。[ 10 ]ハードウェア乱数生成器は、自然原因や意図的な攻撃によるエントロピー源の劣化を防ぐために、常に適切に動作しているか監視する必要があります。FIPS Pub 140-2およびNIST Special Publication 800-90B [ 42 ]では 、これに使用できるテストが定義されています。

認証機関が義務付けているリアルタイムテストの最小セットはそれほど大きくなく、例えばNISTのSP 800-90Bでは2つの連続ヘルステストのみを要求している。[ 43 ]

  1. 繰り返しカウント テストは、同一の数字のシーケンスが長すぎないことを確認します。一度に 1 ビットをデジタル化する TRNG の (一般的な) ケースでは、これは 0 または 1 の長い文字列がないことを意味します。
  2. 適応型比例検定は、データストリーム内でランダムな数字が過度に頻繁に出現しないこと(低バイアス)を検証します。ビット指向のエントロピー源の場合、これはビットストリーム内の1と0の数がほぼ同じであることを意味します。

攻撃

暗号システムの他のコンポーネントと同様に、暗号乱数生成器は特定の攻撃に耐えられるように設計する必要があります。ハードウェアエントロピーソースがなければ、これらの攻撃に対する防御は困難です。

HRNGにおける物理プロセスは新たな攻撃対象領域を生み出す。例えば、自由走行発振器ベースのTRNGは、周波数注入を用いて攻撃される可能性がある。[ 44 ]

エントロピーの推定

記号列のエントロピーを推定する数学的手法はいくつか存在します。しかし、その推定値を完全に信頼できるほど信頼できるものはありません。常に、検証が非常に困難な仮定が存在します。これらの手法は、例えばシードプールに十分なエントロピーがあるかどうかを判断するのに役立ちますが、一般に、真の乱数源と疑似乱数生成器を区別することはできません。この問題は、ハードウェアエントロピー源を慎重に使用することで回避できます。

参照

参考文献

  1. ^ a b cトゥランら。 2018、p. 64.
  2. ^ a bシンドラー 2009、7ページ。
  3. ^ a bスティプチェヴィッチ & コチ 2014、p. 279.
  4. ^ a bスナール 2009、56ページ。
  5. ^ Herrero-Collantes & Garcia-Escartin 2017、p. 8.
  6. ^ジャカク、マーシン M.ヨジヴィアク、ピョートル。ニエムチュク、ヤクブ。ヤカク、ヤヌシュ E. (2021)。「乱数の量子生成器」科学的報告書11 (1): 16108。ビブコード: 2021NatSR..1116108J土井: 10.1038/s41598-021-95388-7PMC  8352985PMID  34373502
  7. ^馬、雄峰;ユアン、シャオ。曹、朱。チー、ビン。張、鎮(2016)。「量子乱数生成」npj 量子情報2 (1): 16021.arXiv : 1510.08957Bibcode : 2016npjQI...216021M土井10.1038/npjqi.2016.21
  8. ^ 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
  9. ^マナラス、ミシュラ、パタック 2023
  10. ^ a b Herrero-Collantes & Garcia-Escartin 2017、p. 4.
  11. ^ Turan et al. 2018、p.6。
  12. ^サーリネン、ニューウェル&マーシャル、2020
  13. ^ Templ 2016、90ページ。
  14. ^ Herrero-Collantes & Garcia-Escartin 2017、p. 6.
  15. ^ Herrero-Collantes & Garcia-Escartin 2017、p. 7.
  16. ^ a b c d eルキュイエ 2017 .
  17. ^ Galton, Francis (1890). "Dice for statistical experiments" (PDF) . Nature . 42 (1070): 13– 14. Bibcode : 1890Natur..42...13G . doi : 10.1038/042013a0 . S2CID 4038609. 2016年3月4日時点のオリジナルよりアーカイブ(PDF) . 2014年5月14日閲覧 
  18. ^ Kendall, MG, B. Babington-Smith. 1938. 「ランダム性とその他のランダムサンプリング数」. 王立統計学会誌 101:147–166.
  19. ^ Brown, George W. (1949年1月)、P-113、Papers、Rand Corporation、2007年6月5日時点のオリジナルよりアーカイブ、 2009年5月10日閲覧。
  20. ^コバイン、カリー(1947年)、「電気ノイズ発生器」、IRE紀要(1947年9月):875–9
  21. ^モノグラフレポート、ランドコーポレーション、2001年1月、2018年4月15日時点のオリジナルからアーカイブ、 2009年1月29日閲覧。
  22. ^ Schneier, Bruce (1995-11-01). 「その他のストリーム暗号と実数乱数発生器」.応用暗号(第2版). John Wiley & Sons, Inc. p. 423. ISBN 978-0-471-11709-4
  23. ^スナール 2009、57ページ。
  24. ^ Stipčević & Koç 2014、279–280 ページ。
  25. ^スティプチェヴィッチ & コチ 2014、p. 280。
  26. ^スティプチェヴィッチ & コチ 2014、p. 286.
  27. ^ a b Stipčević & Koç 2014、288–289 ページ。
  28. ^ a b Herrero-Collantes & Garcia-Escartin 2017、p. 2.
  29. ^ Herrero-Collantes & Garcia-Escartin 2017、10–13 ページ。
  30. ^ Herrero-Collantes & Garcia-Escartin 2017、13–14 ページ。
  31. ^ Herrero-Collantes & Garcia-Escartin 2017、p. 15.
  32. ^ Herrero-Collantes & Garcia-Escartin 2017、p. 17.
  33. ^ Herrero-Collantes & Garcia-Escartin 2017、p. 20.
  34. ^ Herrero-Collantes & Garcia-Escartin 2017、20–21 ページ。
  35. ^ Herrero-Collantes & Garcia-Escartin 2017、21–22 ページ。
  36. ^ Herrero-Collantes & Garcia-Escartin 2017、23–24 ページ。
  37. ^ Herrero-Collantes & Garcia-Escartin 2017、24–25 ページ。
  38. ^ Herrero-Collantes & Garcia-Escartin 2017、27–28 ページ。
  39. ^ 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 . 
  40. ^マナラス、ミシュラ、パタック 2023、p. 4.
  41. ^マナラス、ミシュラ、パタック 2023、p. 9.
  42. ^ Turan et al. 2018 .
  43. ^トゥランら。 2018、25–27 ページ。
  44. ^ Markettos, A. Theodore; Moore, Simon W. (2009). 「リング発振器ベースの真性乱数生成器に対する周波数注入攻撃」. Lecture Notes in Computer Science (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 .

出典

一般的な参考文献

「 https://en.wikipedia.org/w/index.php?title=ハードウェア乱数ジェネレーター&oldid=1326614679#ソフトウェアホワイトニング」より取得