非物理的な真性乱数生成器( NPTRNG ) [ 1 ] は、な非決定性乱数ビット生成器とも呼ばれ、専用のハードウェアエントロピーソースを使用せずに予測不可能な乱数を生成できる。 NPTRNG は、アプリケーションプログラミングインターフェイス関数 の出力、ランダムアクセスメモリ内の残留情報、システム時間、または人間の入力 (マウスの動きやキーストロークなど) などのシステムデータからエントロピーを取得する非物理的なノイズソースを使用し、そのデータに真にランダムな要素、または少なくとも他者には知られていない、または制御できない要素が含まれていることを期待している。典型的な NPTRNG は、コンピュータ上で実行されるソフトウェアとして実装される。 NPTRNG は、一般的な CPU で動作することが期待される 一般的なオペレーティングシステムのカーネルによく見られる
信頼性
NPTRNGは、非物理的なノイズ源が動作するために特定の条件を必要とするため、物理的な乱数生成器よりも本質的に信頼性が低く、エントロピーの推定には外部環境と攻撃者のスキルに関する大きな仮定が必要になります。
典型的な攻撃には以下のものがある:
- システム アクセス権を持つ攻撃者に対する脆弱性 (ソフトウェア ベースのTRNGと同様)。
- 攻撃者が予測可能なイベントソース(マウスシミュレータなど)を接続する。
- システムの動作に関する想定が当てはまらなくなった環境(たとえば、仮想マシン)で動作すること。
2007年には、より洗練された攻撃により、いくつかの実装上の欠陥を悪用して、 Windows 2000のNPTRNGの前方秘匿性が侵害されました。
実装
NPTRNGの設計はTRNGの伝統的なものです。ノイズ源の後に後処理乱数抽出器が続き、オプションで真乱数ビットをシードとする疑似乱数生成器(PRNG)が続きます。例えばLinuxでは、/dev/randomは真乱数シードを必要とします(そのため、起動時など、より多くのエントロピーを収集する必要があるときにブロックする可能性があります)。一方、/dev/urandomは常により多くのビットを提供し、非ブロッキングです。
2025年現在、Linux NPTRNG実装は以下からエントロピーを抽出している:
- 割り込み、CPU サイクル カウンタ、カーネル タイマー値、IRQ 番号、および割り込みを受けた命令の命令ポインタをエントロピーの「高速プール」に混合します。
- ランダム時間 I/O (キーボード、マウス、ディスクからのイベント) では、カーネル タイマー値、サイクル カウンター、デバイス固有の情報が「入力プール」に混合されます。
当時、仮想化環境でのテストでは、初期の(非)ランダム出力が壊滅的に非ランダムな場合、ブート時の「エントロピーホール」(リセット脆弱性)が存在することが示されていましたが、一般的にシステムは攻撃者を阻止するのに十分な不確実性を提供していました。
アラムらは、エントロピーの源としてハードウェアパフォーマンスカウンタを使用することを提案した。
参考文献
出典
- アラム、マナール、シン、アスティキー、バッタチャリヤ、サラニ、プラティハール、クヘリ、ムコパディアイ、デブディープ (2020)。「ハードウェア・パフォーマンス・カウンターによるコンピュータ・アーキテクチャからのランダム性のその場抽出」。スマートカード研究と高度アプリケーション。第11833巻。Cham: Springer International Publishing。doi : 10.1007 /978-3-030-42068-0_1。ISBN 978-3-030-42067-32025年11月1日閲覧
- Bouez, Alexandre; Daemen, Joan; Mennink, Bart (2025). 「Linuxにおけるエントロピー蓄積の統計的評価」. 2025 IEEE ヨーロッパセキュリティ・プライバシーシンポジウムワークショップ (EuroS&PW) . IEEE. pp. 600– 612. doi : 10.1109/EUROSPW67616.2025.00075 . ISBN 979-8-3315-9546-3。
- Everspaugh, Adam; Zhai, Yan; Jellinek, Robert; Ristenpart, Thomas; Swift, Michael (2014).仮想化Linuxにおけるそれほどランダムではない数値と旋風のようなRNG (PDF) . 2014 IEEE Symposium on Security and Privacy. IEEE. pp. 559– 574. doi : 10.1109/SP.2014.42 . ISBN 978-1-4799-4686-0。
- ホール、ティム(2021年4月29日)「非物理的エントロピー源」(PDF)。NIST
- ピーター、マティアス。シンドラー、ヴェルナー(2022年9月2日)。乱数生成器の機能クラスの提案(2.35 ドラフト版)。Bundesamt für Sicherheit in der Informationstechnik。
- 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 .
- Schindler, Werner (2008). 「暗号アプリケーションのための乱数生成器」 . Koc, CK (編). 『暗号工学』 . ボストン, マサチューセッツ州: Springer US. pp. 5– 23. doi : 10.1007/978-0-387-71817-0_2 . ISBN 978-0-387-71817-02024年8月24日閲覧。