米国 NIST SP 800-90C(第4次公開ドラフト)ランダムビット生成器(RBG)の構造に関する推奨事項 (2024.07.03)
こんにちは、丸山満彦です。
NISTが、SP 800-90C(第4次公開ドラフト)ランダムビット生成器(RBG)の構造に関する推奨事項を公表し、意見募集をしていますね...
● NIST- ITL
プレス...
文書...
NIST SP 800-90C (4th Public Draft) Recommendation for Random Bit Generator (RBG) Constructions | NIST SP 800-90C(第4次公開ドラフト)ランダムビット生成器(RBG)の構造に関する推奨事項 |
Announcement | 発表 |
The NIST SP 800-90 series of documents supports the generation of high-quality random bits for cryptographic and non-cryptographic use. SP 800-90A specifies several deterministic random bit generator (DRBG) mechanisms based on cryptographic algorithms. SP 800-90B provides guidance for the development and validation of entropy sources. SP 800-90C specifies constructions for the implementation of random bit generators (RBGs) that include DRBG mechanisms as specified in SP 800-90A and that use entropy sources as specified in SP 800-90B. | NIST SP 800-90シリーズは、暗号および非暗号用の高品質ランダムビットの生成をサポートする文書である。SP 800-90Aは、暗号アルゴリズムに基づくいくつかの決定論的ランダムビット生成器(DRBG)メカニズムを規定している。SP 800-90Bは、エントロピー源の開発と検証のためのガイダンスを提供する。SP 800-90C は、SP 800-90A に規定される DRBG メカニズムを含み、SP 800-90B に規定されるエントロピー源を使用するランダムビット生成器(RBG)の実装のための構造を規定する。 |
This draft includes constructions for four classes of RBGs: | このドラフトには、4つのクラスのRBGが含まれている: |
1. An RBG1 construction provides random bits from a device that is initialized from an external RBG. | 1. RBG1構造は、外部RBGから初期化されたデバイスからランダムビットをプロバイダする。 |
2. An RBG2 construction includes an entropy source that is available on demand. | 2. RBG2構造は、オンデマンドで利用可能なエントロピー源を含む。 |
3. An RBG3 construction includes an entropy source that is continuously accessed to provide output with full entropy. | 3. RBG3は、連続的にアクセスされ、完全なエントロピーを持つ出力を提供するエントロピー源を含む。 |
4. An RBGC construction allows the use of a chain of RBGs that consists of only RBGC constructions on the same computing platform. | 4. RBGC構築は、同じコンピューティング・プラットフォーム上でRBGC構築のみからなるRBGの連鎖の使用を可能にする。 |
SP 800-90C includes a note to readers, guidance for accessing and handling the entropy sources in SP 800-90B, specifications for the initialization and use of the four RBG constructions that incorporate the DRBGs from SP 800-90A, and guidance on health testing and implementation validation using NIST's Cryptographic Algorithm Validation Program (CAVP) and the Cryptographic Module Validation Program (CMVP), which is jointly operated by NIST and the Canadian Centre for Cyber Security (CCCS). | SP 800-90Cには、読者への注記、SP 800-90Bのエントロピー源へのアクセスと取り扱いに関する指針、SP 800-90AのDRBGを組み込んだ4つのRBG構築の初期化と使用に関する仕様、NISTの暗号アルゴリズム検証プログラム(CAVP)およびNISTとカナダサイバーセキュリティセンター(CCCS)が共同で運営する暗号モジュール検証プログラム(CMVP)を使用したヘルステストと実装の検証に関する指針が含まれている。 |
Abstract | 概要 |
The NIST Special Publication (SP) 800-90 series of documents supports the generation of high-quality random bits for cryptographic and non-cryptographic use. SP 800-90A specifies several deterministic random bit generator (DRBG) mechanisms based on cryptographic algorithms. SP 800-90B provides guidance for the development and validation of entropy sources. This document (SP 800-90C) specifies constructions for the implementation of random bit generators (RBGs) that include DRBG mechanisms as specified in SP 800-90A and that use entropy sources as specified in SP 800-90B. Constructions for four classes of RBGs — namely, RBG1, RBG2, RBG3, and RBGC — are specified in this document. | NIST特別刊行物(SP)800-90シリーズは、暗号および非暗号用の高品質ランダムビットの生成をサポートする文書である。SP 800-90Aは、暗号アルゴリズムに基づくいくつかの決定論的ランダムビット生成器(DRBG)メカニズムを規定している。SP 800-90Bは、エントロピー源の開発と検証のためのガイダンスを提供する。この文書(SP 800-90C)は、SP 800-90Aに規定されるDRBGメカニズムを含み、SP 800-90Bに規定されるエントロピー源を使用するランダムビット生成器(RBG)の実装のための構造を規定する。この文書では、RBG1、RBG2、RBG3、および RBGC の 4 クラスの RBG の構成が規定されている。 |
・[PDF] NIST.SP.800-90C.4pd
目次...
1. Introduction and Purpose | 1. 序文と目的 |
1.1. Audience | 1.1. 想定読者 |
1.2. Document Organization | 1.2. 文書の構成 |
2. General Information | 2. 一般情報 |
2.1. RBG Security | 2.1. RBGのセキュリティ |
2.2. RBG Constructions | 2.2. RBGの構造 |
2.3. Sources of Randomness for an RBG | 2.3. RBGのランダム性の源 |
2.4. DRBGs | 2.4. DRBG |
2.4.1. DRBG Instantiations | 2.4.1. DRBGのインスタンス化 |
2.4.2. Reseeding, Prediction Resistance, and Compromise Recovery | 2.4.2. リシード、予測耐性、妥協の回復 |
2.5. RBG Security Boundaries | 2.5. RBGのセキュリティ境界 |
2.6. Assumptions and Assertions | 2.6. 仮定と主張 |
2.7. General Implementation and Use Requirements and Recommendations | 2.7. 一般的な実装と使用に関する要件と推奨事項 |
2.8. General Function Calls | 2.8. 一般的な機能呼び出し |
2.8.1. DRBG Functions | 2.8.1. DRBG機能 |
2.8.1.1. DRBG Generation Request | 2.8.1.1. DRBG生成要求 |
2.8.1.2. DRBG Reseed | 2.8.1.2. DRBGリシード |
2.8.1.3. Get_randomness-source_input Call | 2.8.1.3. Get_randomness-source_inputコール |
2.8.2. Interfacing With Entropy Sources | 2.8.2. エントロピー・ソースとのインターフェイス |
2.8.3. Interfacing With an RBG3 Construction | 2.8.3. RBG3構築とのインターフェイス |
2.8.3.1. Instantiating a DRBG Within an RBG3 Construction | 2.8.3.1. RBG3コンストラクション内でDRBGをインスタンス化する |
2.8.3.2. Generation Using an RBG3 Construction | 2.8.3.2. RBG3コンストラクションを使用して生成する |
3. Accessing Entropy Source Output | 3. エントロピー・ソース出力へのアクセス |
3.1. Get_entropy_bitstring Process | 3.1. Get_entropy_bitstring処理 |
3.2. External Conditioning | 3.2. 外部条件付け |
3.2.1. Conditioning Function Calls | 3.2.1. コンディショニング機能呼び出し |
3.2.1.1. Keys Used in External Conditioning Functions | 3.2.1.1. 外部コンディショニング機能で使用されるキー |
3.2.1.2. Hash Function-based Conditioning Functions | 3.2.1.2. ハッシュ機能ベースの条件関数 |
3.2.1.3. Block Cipher-Based Conditioning Functions | 3.2.1.3. ブロック暗号ベースの条件関数 |
3.2.2. Using a Vetted Conditioning Function | 3.2.2. 吟味された条件関数を使う |
3.2.2.1. External Conditioning When Full Entropy is Not Required | 3.2.2.1. フルエントロピーが不要な場合の外部コンディショニング |
3.2.2.2. Conditioning Function to Obtain Full-Entropy Bitstrings | 3.2.2.2. 完全エントロピーのビット列を得るためのコンディショニング機能 |
4. RBG1 Construction Based on RBGs With Physical Entropy Sources | 4. 物理エントロピー源を持つRBGに基づくRBG1の構成 |
4.1. RBG1 Description | 4.1. RBG1の説明 |
4.2. Conceptual Interfaces | 4.2. 概念的インターフェイス |
4.2.1. Instantiating the DRBG in the RBG1 Construction | 4.2.1. RBG1構築におけるDRBGのインスタンス化 |
4.2.2. Requesting Pseudorandom Bits | 4.2.2. 疑似ランダムビットを要求する |
4.3. Using an RBG1 Construction With Subordinate DRBGs (Sub-DRBGs) | 4.3. 下位DRBG(サブDRBG)を持つRBG1コンストラクションを使用する |
4.3.1. Instantiating a Sub-DRBG | 4.3.1. サブDRBGのインスタンス化 |
4.3.2. Requesting Random Bits From a Sub-DRBG | 4.3.2. サブDRBGにランダムビットを要求する |
4.4. Requirements | 4.4. 要件 |
4.4.1. RBG1 Construction Requirements | 4.4.1. RBG1構築要件 |
4.4.2. Sub-DRBG Requirements | 4.4.2. サブDRBGの要件 |
5. RBG2 Constructions Based on Physical and/or Non-Physical Entropy Sources | 5. 物理的および/または非物理的エントロピー源に基づくRBG2コンストラクション |
5.1. RBG2 Description | 5.1. RBG2の説明 |
5.2. Conceptual Interfaces | 5.2. 概念的インターフェイス |
5.2.1. RBG2 Instantiation | 5.2.1. RBG2のインスタンス化 |
5.2.2. Requesting Pseudorandom Bits From an RBG2 Construction | 5.2.2. RBG2構築に疑似ランダムビットを要求する |
5.2.3. Reseeding an RBG2 Construction | 5.2.3. RBG2コンストラクションのリシード |
5.3. RBG2 Construction Requirements | 5.3. RBG2コンストラクションの要件 |
6. RBG3 Constructions Based on the Use of Physical Entropy Sources | 6. 物理的エントロピー源の使用に基づくRBG3コンストラクション |
6.1. General RBG3 Description | 6.1. 一般的なRBG3の説明 |
6.2. RBG3 Construction Types and Their Variants | 6.2. RBG3コンストラクションのタイプとそのバリエーション |
6.3. General Requirements | 6.3. 一般要件 |
6.4. RBG3(XOR) Construction | 6.4. RBG3(XOR)コンストラクション |
6.4.1. Conceptual Interfaces | 6.4.1. 概念的インターフェイス |
6.4.1.1. Instantiation of the DRBG | 6.4.1.1. DRBGのインスタンス化 |
6.4.1.2. Random Bit Generation by the RBG3(XOR) Construction | 6.4.1.2. RBG3(XOR)構成によるランダム・ビット生成 |
6.4.1.3. Pseudorandom Bit Generation Using a Directly Accessible DRBG | 6.4.1.3. 直接アクセス可能なDRBGを用いた擬似乱数ビット生成 |
6.4.1.4. Reseeding the DRBG Instantiation | 6.4.1.4. DRBGインスタンシエーションの冗長化 |
6.4.2. RBG3(XOR) Requirements | 6.4.2. RBG3(XOR)の要件 |
6.5. RBG3(RS) Construction | 6.5. RBG3(RS)の構築 |
6.5.1. Conceptual Interfaces | 6.5.1. 概念的インターフェイス |
6.5.1.1. Instantiation of the DRBG Within an RBG3(RS) Construction | 6.5.1.1. RBG3(RS)コンストラクション内でのDRBGのインスタンス化 |
6.5.1.2. Random and Pseudorandom Bit Generation | 6.5.1.2. ランダムおよび擬似ランダムビット生成 |
6.5.1.3. Reseeding | 6.5.1.3. リシード |
6.5.2. Requirements for an RBG3(RS) Construction | 6.5.2. RBG3(RS)構築の要件 |
7. RBGC Construction for DRBG Chains | 7. DRBGチェーンのRBGCコンストラクション |
7.1. RBGC Description | 7.1. RBGCの説明 |
7.1.1. RBGC Environment | 7.1.1. RBGCの環境 |
7.1.2. Instantiating and Reseeding Strategy | 7.1.2. インスタンス化と再播種戦略 |
7.1.2.1. Instantiating and Reseeding the Root RBGC Construction | 7.1.2.1. ルートRBGC構築のインスタンス化と再播種 |
7.1.2.2. Instantiating and Reseeding a Non-Root RBGC Construction | 7.1.2.2. 非ルートRBGC構築のインスタンス化と再播種 |
7.2. Conceptual Interfaces | 7.2. 概念的インターフェイス |
7.2.1. RBGC Instantiation | 7.2.1. RBGCのインスタンス化 |
7.2.1.1. Instantiation of the Root RBGC Construction | 7.2.1.1. ルートRBGC構築のインスタンス化 |
7.2.1.2. Instantiating an RBGC Construction Other Than the Root | 7.2.1.2. ルート以外のRBGC構築物のインスタンス化 |
7.2.2. Requesting the Generation of Pseudorandom Bits From an RBGC Construction | 7.2.2. RBGC構築からの疑似ランダムビットの生成的要求 |
7.2.3. Reseeding an RBGC Construction | 7.2.3. RBGCコンストラクションのリシード |
7.2.3.1. Reseed of the DRBG in the Root RBGC Construction | 7.2.3.1. ルートRBGC構築におけるDRBGの再シード |
7.2.3.2. Reseed of the DRBG in an RBGC Construction Other Than the Root | 7.2.3.2. ルート以外のRBGCコンストラクションにおけるDRBGの播種 |
7.3. RBGC Requirements | 7.3. RBGCの要件 |
7.3.1. General RBGC Construction Requirements | 7.3.1. 一般的なRBGC建設の要件 |
7.3.2. Additional Requirements for the Root RBGC Construction | 7.3.2. ルートRBGC建設に関する追加要件 |
7.3.3. Additional Requirements for an RBGC Construction That is NOT the Root of a DRBG Chain | 7.3.3. DRBGチェーンのルートではないRBGCコンストラクションに関する追加要件 |
8. Testing- | 8. テスト |
8.1. Health Testing | 8.1. 健全性テスト |
8.1.1. Testing RBG Components | 8.1.1. RBGコンポーネントのテスト |
8.1.2. Handling Failures | 8.1.2. 故障の処理 |
8.1.2.1. Entropy-Source Failures… | 8.1.2.1. エントロピー源の故障... |
8.1.2.2. Failures by Non-Entropy-Source Components | 8.1.2.2. 非エントロピー源コンポーネントによる故障 |
8.2. Implementation Validation | 8.2. 実装の検証 |
References… | 参考文献... |
Appendix A. Auxiliary Discussions (Informative) | 附属書A. 補助的な議論(参考資料) |
A.1. Entropy vs. Security Strength | A.1. エントロピーとセキュリティ強度 |
A.1.1. Entropy | A.1.1. エントロピー |
A.1.2. Security Strength | A.1.2. セキュリティ強度 |
A.1.3. A Side-by-Side Comparison | A.1.3. サイド・バイ・サイドの比較 |
A.1.4. Entropy and Security Strength in This Recommendation | A.1.4. この勧告におけるエントロピーとセキュリティ強度 |
A.2. Generating Full-Entropy Output Using the RBG3(RS) Construction | A.2. RBG3(RS)構成によるフルエントロピー出力の生成 |
A.3. Additional Considerations for RBGC Constructions | A.3. RBGC構成に関する追加の考慮事項 |
A.3.1. RBGC Tree Composition | A.3.1. RBGC木の合成 |
A.3.2. Changes in the Tree Structure | A.3.2. ツリー構造の変更 |
A.3.3. Using Virtual Machines | A.3.3. 仮想マシンの使用 |
A.3.4. Reseeding From Siblings of the Parent | A.3.4. 親の兄弟からのリシード |
Appendix B. RBG Examples (Informative) | 附属書B. RBGの例(参考) |
B.1. Direct DRBG Access in an RBG3 Construction | B.1. RBG3構築における直接DRBGアクセス |
B.2. Example of an RBG1 Construction | B.2. RBG1コンストラクションの例 |
B.2.1. Instantiation of the RBG1 Construction | B.2.1. RBG1コンストラクションのインスタンス化 |
B.2.2. Generation by the RBG1 Construction | B.2.2. RBG1コンストラクションによる生成的 |
B.3. Example Using Sub-DRBGs Based on an RBG1 Constructior | B.3. RBG1構築に基づくサブDRBGの使用例 |
B.3.1. Instantiation of the Sub-DRBGs | B.3.1. サブDRBGのインスタンス化 |
B.3.1.1. Instantiating Sub-DRBG1 | B.3.1.1. サブDRBG1のインスタンス化 |
B.3.1.2. Instantiating Sub-DRBG2 | B.3.1.2. サブDRBG2のインスタンス化 |
B.3.2. Pseudorandom Bit Generation by Sub-DRBGs | B.3.2. サブDRBGによる疑似ランダムビット生成 |
B.4. Example of an RBG2(P) Construction | B.4. RBG2(P)の構成例 |
B.4.1. Instantiation of an RBG2(P) Construction | B.4.1. RBG2(P)構築のインスタンス化 |
B.4.2. Generation Using an RBG2(P) Construction | B.4.2. RBG2(P)コンストラクションを使った生成的方法 |
B.4.3. Reseeding an RBG2(P) Construction | B.4.3. RBG2(P)コンストラクションのリシード |
B.5. Example of an RBG3(XOR) Construction | B.5. RBG3(XOR)構築の例 |
B.5.1. Instantiation of an RBG3(XOR) Construction | B.5.1. RBG3(XOR)構築のインスタンス化 |
B.5.2. Generation by an RBG3(XOR) Construction | B.5.2. RBG3(XOR)構文による生成的なもの |
B.5.2.1. Generation | B.5.2.1. 生成 |
B.5.2.2. Get_conditioned_full-entropy_input Function | B.5.2.2. Get_conditioned_full-entropy_input機能 |
B.5.3. Reseeding an RBG3(XOR) Construction | B.5.3. RBG3(XOR)コンストラクションのリシード |
B.6. Example of an RBG3(RS) Construction | B.6. RBG3(RS)構築の例 |
B.6.1. Instantiation of an RBG3(RS) Construction | B.6.1. RBG3(RS)コンストラクションのインスタンス化 |
B.6.2. Generation by an RBG3(RS) Construction | B.6.2. RBG3(RS)コンストラクションによる生成的生成 |
B.6.3. Generation by the Directly Accessible DRBG | B.6.3. 直接アクセス可能なDRBGによる生成的 |
B.6.4. Reseeding a DRBG | B.6.4. DRBGのリース |
B.7. DRBG Chains Using the RBGC Construction | B.7. RBGC構造によるDRBGチェーン |
B.7.1. Instantiation of the RBGC Constructions | B.7.1. RBGC構造のインスタンス化 |
B.7.1.1. Instantiation of the Root RBGC Construction | B.7.1.1. ルートRBGC構造のインスタンス化 |
B.7.1.2. Instantiation of a Child RBGC Construction (RBGC2) | B.7.1.2. 子RBGC構成(RBGC2)のインスタンス化 |
B.7.2. Requesting the Generation of Pseudorandom Bits | B.7.2. 疑似ランダムビットの生成的要求 |
B.7.3. Reseeding an RBGC Construction | B.7.3. RBGC構築の冗長化 |
B.7.3.1. Reseeding the Root RBGC Construction | B.7.3.1. ルートRBGC構築のリシード |
B.7.3.2. Reseeding a Child RBGC Construction | B.7.3.2. 子RBGCコンストラクションのリース |
Appendix C. Addendum to SP 800-90A: Instantiating and Reseeding a CTR_DRBG | 附属書 C. SP 800-90A の補遺: CTR_DRBG のインスタンス化と再導入 |
C.1. Background and Scope | C.1. 背景と範囲 |
C.2. CTR_DRBG Without a Derivation Function | C.2. 派生機能を持たない CTR_DRBG |
C.3. CTR_DRBG Using a Derivation Function | C.3. 派生機能を使用するCTR_DRBG |
C.3.1. Derivation Keys and Constants | C.3.1. 派生キーと定数 |
C.3.2. Derivation Function Using CMAC | C.3.2. CMACを使った導出機能 |
C.3.3. Derivation Function Using CBC-МАС | C.3.3. CBC-МАСを用いた導出機能 |
Appendix D. List of Abbreviations and Acronyms | 附属書D. 略語と頭字語のリスト |
D.1. List of Symbols | D.1. 記号一覧 |
Appendix E. Glossary | 附属書E. 用語集 |
« 米国 NIST SP 800-224(初期公開ドラフト) 鍵付きハッシュメッセージ認証コード(HMAC): HMACの仕様とメッセージ認証の推奨事項 (2024.06.28) | Main | 米国 NIST SP 800-73-5 個人アイデンティティ検証用インタフェース Part1-3 »
Comments