マニュアルページセク ション 1M: システム管理コマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

dnssec-keygen(1M)

名前

dnssec-keygen - DNSSEC 鍵生成ツール

形式

dnssec-keygen -a algorithm -b keysize -n nametype [-ehk] 
     [-c class] [-f flag] [-g generator] [-p protocol] 
     [-r randomdev] [-s strength] [-t type] [-v level] name

説明

dnssec-keygen ユーティリティーは、RFC 2535 および RFC 4034 で定義されている DNSSEC (Secure DNS) の鍵を生成します。また、RFC 2845 で定義されている TSIG (Transaction Signatures) で使用する鍵も生成します。

オプション

サポートしているオプションは、次のとおりです。

–a algorithm

暗号化アルゴリズムを選択します。algorithm の値は、RSAMD5 (RSA) または RSASHA1、DSA、NSEC3RSASHA1、NSEC3DSA、DH (Diffie-Hellman)、HMAC-MD5 のいずれかにする必要があります。これらの値は大文字と小文字が区別されません。

DNSSEC の場合、RSASHA1 は実装が必須のアルゴリズムであるため、DSA が推奨されます。TSIG の場合は、HMAC-MD5 が必須です。


注 - HMAC-MD5 と DH では、–k フラグが自動的に設定されます。
–b keysize

鍵のビット数を指定します。鍵サイズの選択は、使用されるアルゴリズムによって異なります。RSAMD5 鍵と RSASHA1 鍵は、512 - 2048 ビットの間にする必要があります。Diffie-Hellman 鍵は、128 - 4096 ビットの間にする必要があります。DSA 鍵は、512 - 1024 ビットの間で、ちょうど 64 の倍数になる値にする必要があります。HMAC-MD5 鍵は、1 - 512 ビットの間にする必要があります。

–c class

鍵を含む DNS レコードに、指定されたクラスが存在するべきであることを示します。指定されていない場合は、クラス IN が使用されます。

–e

RSAMD5 鍵または RSASHA1 鍵を生成する場合は、大きな指数を使用します。

–f flag

指定されたフラグを KEY/DNSKEY レコードのフラグフィールドに設定します。認識されるフラグは KSK (Key Signing Key) DNSKEY のみです。

–g generator

Diffie Hellman 鍵を生成する場合は、この generator を使用します。指定可能な値は 2 と 5 です。ジェネレータが指定されていない場合は、可能であれば RFC 2539 からの既知の素数が使用されます。それ以外の場合、デフォルトは 2 です。

–h

dnssec-keygen のオプションと引数の簡単なサマリーを出力します。

–k

DNSKEY レコードではなく KEY レコードを生成します。

–n nametype

鍵の所有者型を指定します。nametype の値は、ZONE (DNSSEC ゾーン鍵 (KEY/DNSKEY) の場合)、HOST または ENTITY (ホストに関連付けられた鍵 (KEY) の場合)、USER (ユーザーに関連付けられた鍵 (KEY) の場合)、OTHER (DNSKEY) のいずれかにする必要があります。これらの値は大文字と小文字が区別されません。デフォルトは、DNSKEY 生成用の ZONE です。

–p protocol

生成された鍵のプロトコル値を設定します。protocol 引数は 0 - 255 の数値です。デフォルトは 3 (DNSSEC) です。この引数に指定可能なのほか値は、RFC 2535 およびそれ以降のバージョンに記載されています。

–r randomdev

乱数発生元を指定します。オペレーティングシステムによって /dev/random または同等のデバイスが提供されていない場合、デフォルトの乱数発生元はキーボード入力です。randomdev は、このデフォルトの代わりに使用される、ランダムデータを含む文字デバイスまたはファイルの名前を指定します。特殊な値「keyboard」は、キーボード入力を使用する必要があることを示します。

–s strength

鍵の強さの値を指定します。strength 引数は 0 - 15 の数値で、現時点では DNSSEC でその用途は定義されていません。

–t type

鍵の使用を示します。type は、AUTHCONFNOAUTHCONFNOAUTHNOCONF のいずれかにする必要があります。デフォルトは AUTHCONF です。AUTH はデータを認証する機能を、CONF はデータを暗号化する機能を示します。

–v level

デバッグのレベルを設定します。

生成される鍵

生成される鍵

dnssec-keygen が正常に完了すると、Knnnn.+aaa+iiiii の形式の文字列が標準出力に表示されます。これは、生成された鍵の識別文字列です。

  • nnnn は鍵名です。

  • aaa はアルゴリズムの数値表現です。

  • iiiii は鍵識別子 (またはフットプリント) です。

dnssec-keygen ユーティリティーは、出力された文字列に基づいた名前を持つ 2 つのファイルを作成します。

  • Knnnn.+aaa+iiiii.key には公開鍵が含まれます。

  • Knnnn.+aaa+iiiii.private には秘密鍵が含まれます。

.key ファイルには、ゾーンファイルに (直接、または $INCLUDE 文を使用して) 挿入できる DNS KEY レコードが含まれます。

.private ファイルには、アルゴリズムに固有のフィールドが含まれます。セキュリティー上の理由から、このファイルには一般的な読み取り権はありません。

公開鍵と秘密鍵が同じである場合でも、HMAC-MD5 などの対称暗号化アルゴリズム用に .key ファイルと .private ファイルの両方が生成されます。

使用例 1 768 ビットの DSA 鍵の生成

ドメイン example.com 用に 768 ビットの DSA 鍵を生成するには、次のコマンドを発行します。

dnssec-keygen -a DSA -b 768 -n ZONE example.com

このコマンドは、次の形式の文字列を出力します。

Kexample.com.+003+26160

次のファイルが作成されます。

Kexample.com.+003+26160.key
Kexample.com.+003+26160.private

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
service/network/dns/bind
インタフェースの安定性
流動的

関連項目

dnssec-signzone(1M), attributes(5)

RFC 2539RFC 2845RFC 4033

『BIND 9 Administrator's Reference Manual』を参照してください。このマニュアルページの発行日付時点で、このドキュメントは https://kb.isc.org/article/AA-01031https://kb.isc.org/article/AA-01031 から利用できます。