MODULI(5) | FreeBSD File Formats Manual | MODULI(5) |
名称
moduli — Diffie-Hellman (ディフィー-ヘルマン) 係数解説
/etc/ssh/moduli ファイルは、Diffie-Hellman Group Exchange キー交換方法の sshd(8) によって使用するための素数とジェネレータを含んでいます。新しい係数は、ツーステップのプロセスを使用して、 ssh-keygen(1) で生成されます。 ssh-keygen -G を使用する最初の 候補生成 (candidate generation) パスは、有用となりそうな数値を計算します。 ssh-keygen -T を使用する 2 番目の 素数性テスト (primality testing) パスは、数値が、素数で、 sshd(8) によって Diffie-Hellman 操作で使用するために安全である高度な保証を提供します。この moduli 形式は、各パスからの出力として使用されます。
ファイルは、改行で分離されたレコード、係数毎に 1 つ、 7 つの空白で分離されたフィールドを含んでいるものから成ります。これらのフィールドは、次の通りです:
- timestamp
- 係数が YYYYMMDDHHMMSS として最後に処理された時間。
- type
-
素数係数の内部構造を指定する 10 進数。サポートされるタイプは、次の通りです:
- 0
- 未知、テストされていません。
- 2
- "安全な"素数。 (p-1)/2 も素数です。
- 4
- Sophie Germain (ソフィージェルマン)。 2p+1 も素数です。
ssh-keygen(1) によって最初に生成された係数候補は、Sophie Germain 素数 (タイプ 4) です。さらなる ssh-keygen(1) での素数性テストは、 sshd(8) で使用するの準備ができている安全な素数係数 (タイプ 2) を生成します。他のタイプは、OpenSSH で使用されていません。
- tests
-
数値が次の値のビットマスクとして表わされる対象となる素数性テストのタイプを示す 10 進数:
- 0x00
- テストされていません。
- 0x01
- 合成数 (composite number) –素数でない。
- 0x02
- エラトステネスのふるい (sieve of Eratosthenes)。
- 0x04
- 確率論的 Miller-Rabin (ミラー-ラビン) 素数性テスト。
ssh-keygen(1) 係数候補生成は、エラトステネスのふるい (フラグ 0x02) を使用します。続く ssh-keygen(1) の素数性テストは、Miller-Rabin テスト (フラグ 0x04) です。
- trials
- 係数で実行された素数性トライアル (primality trial) の数を示す 10 進数。
- size
- ビット単位の素数のサイズを示す 10 進数。
- generator
- この係数 (16 進数) で使用される推奨されるジェネレータ。
- modulus
- 16 進数の係数自体。
Diffie-Hellman Group Exchange を実行するとき、 sshd(8) は、最初に、選択された対称な暗号に十分なキーとするために Diffie-Hellman 出力を十分に生成するために必要な係数のサイズを推定します。次に sshd(8) は、要求されたサイズを最も良く満たす /etc/ssh/moduli からランダムに選択されます。
関連項目
ssh-keygen(1), sshd(8) Diffie-Hellman Group Exchange for the Secure Shell (SSH) Transport Layer Protocol, RFC 4419, 2006.July 19, 2012 | FreeBSD |