前へ|次へ|戻る

bind 005 dnssec-keygen rndc.key

dnssec-keygen

鍵の作成方法で もう一つの 方法として dnssec-keygen が あるようだ にゃ んたろう としては これは 現在 保留としておく 方が 良いと 思います。鍵を 作成する場合に 流用出来ると いう 位置付け で 考えると 良いようです

rndc.key

通常は rndc.keyは rndc-confgen で 作成するのでしょうが dnssec-keygen でも 鍵を 作成できて 其鍵を rndc.key として 使用出来るようです この場合 鍵の 作成 方法は 色々有るようですが rndc.key として 使用する場合は rndc.conf.html の 抜粋に有るように

currently only HMAC-MD5 is supported.

この方法で 作成するようです。dnssec-keygen.html の 抜粋

Synopsis
dnssec-keygen {-a algorithm} {-b keysize} {-n nametype} [-c class] [-e] [-g generator] [-h] [-p protocol] [-r randomdev] [-s strength] [-t type] [-v level] {name}
DESCRIPTION
dnssec-keygen generates keys for DNSSEC (Secure DNS), as defined in RFC 2535. It can also generate keys for use with TSIG (Transaction Signatures), as defined in RFC 2845.
OPTIONS
-a algorithm
Selects the cryptographic algorithm. The value of algorithm must be one of RSAMD5 or RSA, DSA, DH (Diffie Hellman), or HMAC-MD5. These values are case insensitive.
Note that for DNSSEC, DSA is a mandatory to implement algorithm, and RSA is recommended. For TSIG, HMAC-MD5 is mandatory.
-b keysize
Specifies the number of bits in the key. The choice of key size depends on the algorithm used. RSA keys must be between 512 and 2048 bits. Diffie Hellman keys must be between 128 and 4096 bits. DSA keys must be between 512 and 1024 bits and an exact multiple of 64. HMAC-MD5 keys must be between 1 and 512 bits.

では 作成してみよう

dnssec-keygen -a HMAC-MD5 -b 512 -n host bcnet.ne.jp

まず dnssec-keygen の 在処を 確認して

# which dnssec-keygen
/usr/local/sbin/dnssec-keygen
# /usr/local/sbin/dnssec-keygen -a HMAC-MD5 -b 512 -n host bcnet.ne.jp
Kbcnet.ne.jp.+157+37289
# ls -l
total 112
-rw-------    1 root     root          120 Apr  4 09:48 Kbcnet.ne.jp.+157+37289.key
-rw-------    1 root     root          145 Apr  4 09:48 Kbcnet.ne.jp.+157+37289.private

鍵は2個できます どんな ものか

# cat Kbcnet.ne.jp.+157+37289.key 
bcnet.ne.jp. IN KEY 512 3 157 \
2XLH3pt1PBnfJ61DALKJp8omj8Zew7DiUihMVrzsqNBGi2\
FcLjieW0JW KKzUA7HDTYTItCgy/ZGqOxkiFzMSxA==
# cat Kbcnet.ne.jp.+157+37289.private 
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: \
2XLH3pt1PBnfJ61DALKJp8omj8Zew7DiUihMVrzsqNBGi2\
FcLjieW0JWKKzUA7HDTYTItCgy/ZGqOxkiFzMSxA==

鍵の部分を 抜き出してみると

2XLH3pt1PBnfJ61DALKJp8omj8Zew7DiUihMVrzsqNBGi2FcLjieW0JW KKzUA7HDTYTItCgy/ZGqOxkiFzMSxA==
2XLH3pt1PBnfJ61DALKJp8omj8Zew7DiUihMVrzsqNBGi2FcLjieW0JWKKzUA7HDTYTItCgy/ZGqOxkiFzMSxA==

文字列の 間に スペースが 有る以外は 同じ文字列の 並びの 内容です 何方 を 使用するのでしょうか?
pattern 1
rndc.conf に Kbcnet.ne.jp.+157+37289.private を 使用
named.conf に Kbcnet.ne.jp.+157+37289.key を 使用
ある FreeBSD の 一例
Kbcnet.ne.jp.+157+37289.private のみを 使用 **
Kbcnet.ne.jp.+157+37289.private と Kbcnet.ne.jp.+157+37289.key は 同じ
※中に書かれている鍵は基本的に同じ。
   たまにどっちかの鍵内に ' ' スペースが入っている事がある。

http://docs.hp.com/ja/B2355-60104-01/dnssec-keygen.1.html
生成される鍵
dnssec-keygen の処理が完了すると、標準出力に Knnnn.+aaa+iiiii という形式の文字列が出力されます これは、生成された鍵を識別する文字列です。この文字列は、 dnssec-makekeyset ユーティリティの引き数として使用されます。
nnnn の部分は、 name で指定した、ドットで終了するドメイン名です。 aaa はDNSSECアルゴリズムの識別子で、001がRSA、002がDiffie-Hellman、003がDSA、157がHMAC-MD5を示します。 iiiii は鍵を識別する5桁の数字です。
dnssec-keygen はファイルを2つ生成します。ファイル名は、前述の鍵識別文字列から取得されます。 名称は、
Knnnn.+aaa+iiiii.key および
Knnnn.+aaa+iiiii.private という形式になります。
これにはそれぞれ、鍵の公開部分と秘密部分が含まれています。 dnssec-keygen が生成したファイルはこの命名規則にしたがっているので、署名ツールの dnssec-signzone は、署名の生成や検証に必要な鍵を、どのファイルを読み出して検索すればいいのか、簡単に判断できます。
.key ファイルには、KEYリソースレコードが含まれます。これは $INCLUDE ステートメントでゾーンファイルに挿入することができます。鍵の秘密部分は .private ファイルに記述されています。これには、使用された暗号化アルゴリズムの詳細と、関連のパラメータの素数、指数、剰余、副素数などが含まれます。そのため、このファイルには、誰でも読めるようなパーミッションは与えられていません。鍵の秘密部分は dnssec-signzone が署名を生成するときに、公開部分は署名を検証するときに使います。公開鍵と秘密鍵が等価でも、 .key と .private 鍵ファイルは、HMAC-MD5など、共通鍵暗号アルゴリズムで生成されます。

暫定処理

使用する鍵は Kbcnet.ne.jp.+157+37289.private の ような .private の 鍵を 使用する 但し 通常は rndc-confgen で 作成 したものを 使用する

http://www.atmarkit.co.jp/flinux/rensai/bind913/bind913a.html
第13回 次世代のセキュリティ拡張DNSSECをBIND 9で実現

目的は 別の ようです 唯単に 鍵を 作成するに dnssec-keygen を 使用して るだけの 場合は 2個も 鍵は 入らないようです にゃんたろうの 今後の 課題 と しておきましょう。

にゃんたろう 拝!
2006年 3月30日 (木) 23:30:05 JST 作成


前へ|次へ|戻る

Copyright © 2004.-2007. nyantarou All Rights Reserved.