メインコンテンツまでスキップ

1. Introduction and Overview (導入と概要)

1. Introduction and Overview (導入と概要)

ソフトウェア暗号化はより広く使用されるようになっていますが, それが普及するまでにはまだ長い道のりがあります。SSH, IPSEC, TLS, S/MIME, PGP, DNSSEC, Kerberos などのシステムは成熟し, ネットワークランドスケープの一部になりつつあります [SSH] [IPSEC] [TLS] [S/MIME] [MAIL_PGP*] [DNSSEC*]。比較のため, このドキュメントの以前のバージョン [RFC1750] が 1994 年に発行されたとき, IETF で唯一のインターネット暗号セキュリティ仕様は Privacy Enhanced Mail プロトコル [MAIL_PEM*] でした。

これらのシステムは, スヌーピングやなりすましに対する実質的な保護を提供します。しかし, 潜在的な欠陥があります。すべての暗号システムの中心には, 秘密で推測不可能な (つまり, ランダムな) 数の生成があります。

そのようなランダムな数を生成するための一般的に利用可能な機能の欠如 (つまり, 真に予測不可能なソースの一般的な可用性の欠如) は, 暗号ソフトウェアの設計における開いた傷を形成します。幅広いハードウェア上で動作する鍵またはパスワード生成手順を構築したいソフトウェア開発者にとって, これは非常に現実的な問題です。

要件は, 敵が推測または決定する確率が非常に低いデータであることに注意してください。これは, ランダム性の従来の統計テストのみを満たす擬似ランダムデータを使用する場合, またはクロックなどの限定範囲のソースに基づいている場合, 容易に失敗する可能性があります。時には, そのような擬似ランダム量は, 恥ずかしいほど小さな可能性の空間を検索する敵によって推測される可能性があります。

このベストカレントプラクティスドキュメントは, 攻撃に耐性のあるランダム量を生成するための技術を説明します。将来のシステムがハードウェア乱数生成を含むか, またはこの目的に使用できる既存のハードウェアへのアクセスを提供することを推奨します。そのようなハードウェアが利用できない場合に使用する方法を提案し, サンプルアプリケーションに必要なランダムビット数のいくつかの推定値を示します。