.\" .\" %FreeBSD: src/usr.sbin/ntp/doc/ntp-genkeys.8,v 1.5 2003/06/17 09:51:17 sobomax Exp % .\" .\" $FreeBSD$ .Dd August 2, 2001 .\" .\" WORD: private key 秘密鍵 .\" WORD: public key 公開鍵 .\" WORD: generator 原始根(Diffie-Hellman 鍵交換アルゴリズムの) .\" WORD: prime modulus 素数係数(Diffie-Hellman 鍵交換アルゴリズムの) .\" .Dt NTP_GENKEYS 8 .Os .Sh 名称 .Nm ntp-genkeys .Nd 公開鍵、秘密鍵を生成する .Sh 書式 .Nm .Op Fl dfhlnt .Op Fl c Ar conffile .Op Fl g Ar target .Op Fl k Ar keyfile .Sh 解説 .Nm ユーティリティは NTPv3/NTPv4 の対称鍵暗号化認証スキーム、または NTPv4 の公開鍵 (Autokey) 暗号化認証スキームで用いられるランダム鍵を 生成します。 .Pp 以下のオプションが利用可能です。 .Bl -tag -width indent .It Fl c Ar conffile .Xr ntp.conf 5 ファイルの位置を指定します。 .It Fl d デバッグメッセージ出力を有効にします (複数回指定可能です)。 .It Fl f 生成した鍵を強制的にインストールします。 .It Fl g target 文字列 .Ar target の文字で指定されたファイルを生成します。 .Bl -tag -width X .It Li d D-H パラメータファイルを生成します。 .It Li m MD5 鍵ファイルを生成します。 .It Li r RSA 鍵を生成します。 .El .It Fl h 鍵をその場所 (現在のディレクトリ) に作成します。 これは、オプション .Fl l を暗黙的に含みます。 .It Fl k Ar keyfile 鍵ファイルの場所を指定します。 .It Fl l シンボリックリンクを作りません。 .It Fl n 実際には何もしません。 何をしようとするかだけを出力します。 .It Fl t シンボリックリンクの先の (古い) ファイルを抹消します。 .El .Pp デフォルトでは、このプログラムは、16 個のランダム対称鍵を含むファイル .Xr ntp.keys 5 を生成します。 加えて、ソフトウェアビルドの際に rsaref20 パッケージが組み込まれている 場合、このプログラムは、Autokey スキームで使用する暗号値を生成します。 これらの値は次の 3 個のファイルになります。 .Pa ntpkey は、RSA 秘密鍵を含みます。 .Pa ntpkey_ Ns Ar host は、RSA 公開鍵を含みます。 ここで .Ar host は、鍵を生成したマシンの DNS 名です。 .Pa ntpkey_dh は、Diffie-Hellman 鍵交換アルゴリズムで用いるパラメータを含みます。 すべてのファイルは印字可能な ASCII 形式です。 NTP 秒で示した タイムスタンプがそれぞれのファイルに追加されます。 このアルゴリズムはシステムクロックを乱数の種としますので、 このプログラムは、実行するごとに異なるファイルとファイル名を 生成します。 .Pp ファイル .Xr ntp.keys 5 は 16 個の MD5 鍵を含みます。 それぞれの鍵は、ASCII の印字可能部分集合 95 文字からランダムに選んだ 16 文字からなります。 デーモンは、 設定ファイルコマンド .Ic keys によって指定された位置からこのファイルを読み込みます。 また、このファイルは root だけが見ることができるようにします。 プログラム .Xr ntpq 8 や .Xr ntpdc 8 とともに使用するためには、簡単に思い出せるパスワードからなる 鍵を手で追加しなければなりません。 このファイルは同じセキュリティ区画を共有するサーバとクライアントに配布する 際には、安全な手段で配布しなければなりません。 一方、MD5 鍵と DES 鍵に 対する鍵の識別子は、1-65534 の (両端を含む) 範囲に含まれる必要が ありますが、プログラム .Nm ユーティリティは、1 から 16 の識別子のみを使用します。 各アソシエーションに対する 鍵の識別子は、設定ファイルコマンド .Ic server または .Ic peer の鍵引数として指定されます。 .Pp ファイル .Pa ntpkey は RSA 秘密鍵を含みます。 デーモンは、設定ファイルコマンド .Ic crypto の引数 .Ar privatekey で指定される位置からこのファイルを読み込みます。 このファイルは、 root のみが見ることができるようにします。 このファイルは、これを生成したマシンに対してだけ有効であり、 他のデーモンやアプリケーションプログラムと共有されることは 決してありません。 .Pp ファイル .Pa ntpkey_ Ns Ar host は RSA 公開鍵を含みます。 ここで、 .Ar host は、このファイルを生成したホストの DNS 名です。 デーモンは、 設定ファイルコマンド .Ic server または、 .Ic peer の引数 .Ar publickey で指定した位置からこのファイルを読み込みます。 このファイルに含まれるデータは公開値であるため、このファイルは 安全な手段によらずとも配布、格納することができます。 .Pp ファイル .Pa ntp_dh は、2 個の Diffie-Hellman パラメータ、 原始根 (generator) と素数係数 (prime modulus) を含みます。 デーモンは、設定ファイルコマンド .Ic crypto の引数 .Ar dhparams により指定された位置からこのファイルを読み込みます。 このファイルは、同じ鍵交換区画を共有する他のサーバ、クライアントに対し 安全な手段によらずとも配布することができます。 .Pp ファイル形式の最初の部分は 2 行からなります。 最初の行は、 ファイルを生成したシステムの DNS 名を含み、2 行目は日付スタンプを 含みます。 .Ql # から始まる行はコメントとみなされ、デーモンはこの行を無視します。 ファイル .Xr ntp.keys 5 の中で、次の 16 行は MD5 鍵を順序通り含みます。 必要があれば、通常のテキストエディタを用いてこのファイルをさらに 変更することができます。 次のセクションでこの形式を説明します。 ファイル .Pa ntpkey と、 .Pa ntpkey_ Ns Ar host では、 次の行は係数 (modulus) の長さ (ビット単位) と、鍵を PEM でコード化した文字列を含みます。 ファイル .Pa ntpkey_dh では、次の行は素数 (prime) の長さ (バイト単位) と、素数を PEM で コード化した文字列を含みます。 その次、すなわち最後行は、原始根 (generator) の長さ (バイト単位) と、原始根を PEM でコード化した文字列を含みます。 .Pp 注意: 必要があれば、戻り値の説明は、rsaref20 パッケージのファイル .Pa ./source/rsaref.h を参照して下さい。 .Sh 関連項目 .Xr ntp.keys 5 , .Xr ntpdc 8 , .Xr ntpq 8 .Sh バグ RSA 公開鍵/秘密鍵の組と Diffie-Hellman パラメータを生成する際に かなり時間がかかることがあります。 最新のワークステーションで数秒、 古いマシンなら数分の範囲です。