EN JA
MODULI(5)
MODULI(5) FreeBSD File Formats Manual MODULI(5)

名称

moduliDiffie-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