鍵の更新サイクルの設計
最後の4点目は、鍵の更新サイクルをどのように設計するかである。DNSSECにおける権威DNSサーバの役割でも述べたとおり、DNSSECではセキュリティ強度を一定に保つために定期的な鍵の更新が必要となる。
現在の鍵から新しい鍵への切り替えを「キーロールオーバー(Key Rollover)」と呼ぶ。キーロールオーバーは、キャッシュDNSサーバのキャッシュをきちんと考慮した上で、正しい手順で実施しなければならない。手順に誤りがあると、信頼の連鎖が切れ、検証ができなくなるなどの問題が発生する。このため、DNSSECの運用の中でも特に注意が必要だ。
一般に鍵の更新サイクルには2つの手法があり、ゾーンの規模や鍵の種類によって使い分ける。
事前公開法
現在署名に使用している鍵と並行して、事前に新しい鍵を公開しておくことで、キャッシュDNSサーバにその鍵の情報を知らせておき、鍵の切り替えを行う際は新しい鍵を使って署名をする方法である(図1)。
事前公開法のメリットは、ゾーンデータに対する署名がどの状態でも1つですむため、後述の二重署名法と比較してゾーンデータが小さく収まり、応答サイズも比較的小さくなることだ。デメリットとしては、鍵の公開と署名のタイミング時期が異なるため、運用手順がやや複雑になることが挙げられる。
二重署名法
キーロールオーバーの期間中、現在署名利用中の鍵と新しく置き換える鍵の両方で署名を行う方法である(図2)。
二重署名法のメリットは、キーロールオーバーが完了するまでの状態(Step)が3Stepですむということだ。一方で、キーロールオーバー中は署名が二重に付加されるため、ゾーンデータが膨らみ、応答サイズも大きくなるというデメリットがある。
前述の通りDNSSECではZSK、KSKともに、定期的にキーロールオーバーを行う必要がある。
ZSKにおいては、一般に、TLDなどのようにレコード数の多いゾーンにおいては事前公開法を用いることが多く、比較的小さなゾーンにおいては二重署名法を用いることが多い。また、KSKにおいては、二重署名法を使うのが一般的である。これは、KSKは上位ゾーンにDSレコードを登録・削除を依頼する必要があるが、二重署名法では上位ゾーンに依頼する回数が1回ですむためである。
事前公開法で実施した場合、図1におけるStep2で新しいKSKに対するDSレコードを登録し、Step4で古いKSKに対するDSレコードを削除するというように、登録・削除を別々のステップで行う必要がある。一方で二重署名法では、図2におけるStep2のタイミングで新しいKSKに対するDSレコードの登録、および古いKSKに対するDSレコードの削除を同時に行えばよい。
また、キーロールオーバーを行う間隔であるが、DNSSECの運用ガイドラインが記載されたRFC 4641(注2)では、KSKは約1年、ZSKは1カ月が適切としている。このあたりは実際の運用に合わせて検討していくといいだろう。
JPドメイン名では、これら4つの項目に対して下記のようなパラメータを設定している。
パラメータ | 内容 |
---|---|
SOAシリアル番号表記 | unixtime |
鍵のアルゴリズム(KSK) | RSASHA256 |
鍵長(KSK) | 2048bit |
鍵のアルゴリズム(ZSK) | RSASHA256 |
鍵長(ZSK) | 1024bit |
署名有効期間(KSK) | おおむね2カ月 |
署名有効期間(ZSK) | おおむね1カ月 |
再署名の間隔(KSK) | 1カ月ごと |
再署名の間隔(ZSK) | 1週間ごと |
キーロールオーバー(ZSK) | 1カ月ごと/事前公開法 |
キーロールオーバー(KSK) | 1年ごと/二重署名法 |
表2 JPドメイン名におけるDNSSEC関連パラメータ |
また「JPドメイン名におけるDNSSEC運用ステートメント」(JP DPS)では上記のパラメータも含め、JPドメイン名のDNSSEC運用の考え方などが記述されている。こちらを参考に各自のDNSSEC運用を設計していくのも1つの手である。
注2:RFC 4641: DNSSEC Operational Practices(http://www.ietf.org/rfc/rfc4641.txt)
日本語訳(http://jprs.jp/tech/material/rfc/RFC4641-ja.txt)
Copyright © ITmedia, Inc. All Rights Reserved.