RSS

2018/10/02

[第3回]KSKロールオーバーへの備え~ZSKでは十分でない信頼性を補完するKSK(鍵署名鍵)とは

Category:

Tag:

ksk3

 

第1回はDNSの仕組みとDNSSECについて解説しました。

また、第2回は電子署名の仕組みとZSK(ゾーン署名鍵)の役割について解説しました。

第3回となる本稿では、ZSKでは十分でない信頼性を補完するKSK(鍵署名鍵)について説明します。

 

 

1.上位ゾーンとの信頼の架け橋となるKSK

 

ZSKだけでもDNSの応答データが改ざんされていないことは可能です。

しかし応答したDNSサーバが不正なサーバで、DNS応答データ(リソースレコード)も元から不正なデータであれば意味がありません。

 

KSKはこの問題を解消します。

 

KSKは上位のゾーンとの信頼関係を結ぶ役割を持ちます。

上位ゾーンに登録されたKSK公開鍵と対になるKSK秘密鍵を利用してZSK公開鍵を署名することにより、ZSK公開鍵もまた、上位ゾーンに信頼されたものとして扱うことができます。

 

 

2.KSKの役割

 

KSKの役割は大きく分けて2つあります。

 

● KSK秘密鍵でZSK公開鍵を署名する

ZSK公開鍵は自ゾーンのDNS応答データの検証を行うために利用します。

不正に作成されたゾーンのDNS応答データに対する検証が成功する場合、そのゾーンを署名したZSK秘密鍵/公開鍵もまた不正であるということです。

そこで自ゾーンに対してもう1種類の鍵、KSK秘密鍵/公開鍵を生成します。

 

ksk_3-1

 

KSKの秘密鍵を利用してZSK公開鍵を署名します。

そして自ゾーンにKSK公開鍵、ZSK公開鍵(KSKによる署名あり)を登録します。

 

ksk_3-2

 

しかしこのKSKが不正なものであれば意味がありません。

そのため後述する上位ゾーンへの登録により、自ゾーンのKSK公開鍵が信頼できるものであることを確認できるようにします。

 

 

● KSK公開鍵を上位ゾーンへ登録し、信頼の連鎖を構築する

KSK公開鍵が信頼できるものであれば、そのKSK公開鍵で署名の検証が成功するZSK公開鍵もまた信頼できるものとなります。このKSK公開鍵の信頼性は上位のゾーンによって担保されます。

 

ksk_3-3

 

DNSSECを利用する場合はKSK公開鍵のハッシュ値を含む情報「DS(Delegation Signer)」を上位ゾーンに登録します。これは上位ゾーンにKSK公開鍵を登録することとほぼ同義になります。

 

自ゾーンのKSK公開鍵と上位ゾーンのKSK公開鍵が一致した場合、自ゾーンのKSK公開鍵は信頼できるものと考えられます。上位のゾーンにDSとしてKSK公開鍵を登録できるのは、そのゾーンに対するドメイン管理者でなければできないからです。

 

 

3.信頼できるKSKによって検証が成功したZSKは信頼できる

 

前述に通り、上位ゾーンのDSにより自ゾーンのKSK公開鍵が信頼できるものとなります。

ZSK公開鍵はKSK秘密鍵で署名されているので、KSK公開鍵で検証します。

 

ksk_3-4

 

信頼されたKSK公開鍵で検証に成功した場合、そのZSK公開鍵もまた信頼できるものと考えられます。

なぜなら信頼されたKSK公開鍵の対となるKSK秘密鍵は正規のゾーンを管理する者でなければ利用できないためです。

 

ksk_3-5

 

たとえば不正に作成された同名ゾーンに信頼されたKSK公開鍵を登録するとします。

攻撃者はこのKSK公開鍵の対となるKSK秘密鍵で不正なZSKを署名する必要がありますが、KSK秘密鍵は公開されていないため手に入れることができません。そこで不正なKSK秘密鍵を自身で生成し、不正なZSK公開鍵を署名することもできますが、不正なKSK秘密鍵と信頼されたKSK公開鍵は対となっていないためZSK公開鍵の検証に失敗します。

 

ZSK公開鍵の検証に失敗した場合はDNSSECの検証失敗、つまり名前解決が失敗となります。

 

 

4.信頼の連鎖

 

KSKにより上位ゾーンとの信頼関係が構築されます。

しかし上位ゾーンもまた信頼できるものでなければ意味がありません。

 

(クリックで拡大)

ksk_3-6

 

DNSSECでは上位ゾーンもZSKによる署名がされます。

そして上位ゾーンのZSKもまた上位ゾーンのKSKにより署名されます。

上位ゾーンのKSKの信頼性を担保するのは、そのさらに上のゾーンです。

 

(クリックで拡大)

ksk_3-7

 

DNSSECはこの信頼の連鎖により下位のゾーンが信頼される仕組みです。

では最上位のルートゾーンはどうなるのでしょうか。

 

ルートゾーンのKSK公開鍵の信頼性を担保する上位ゾーンはありません。

ルートゾーンのKSK公開鍵は無条件で信頼される鍵となり、多くのキャッシュDNSサーバ(厳密にはDNSSECのバリデーター)に同等の情報が登録されています。

 

つまりルートゾーンKSK公開鍵から信頼の連鎖が始まります。

このルートゾーンKSK公開鍵は「トラストアンカー(信頼の基点)」と呼ばれます。

 

 

5.KSKロールオーバーはトラストアンカーの変更

 

第1回で触れた「ルートゾーンKSKロールオーバー」と呼ばれる作業はルートゾーンのKSK秘密鍵/公開鍵を更新(変更)する作業です。

 

前述の通り、多くのキャッシュDNSサーバではルートゾーンKSK公開鍵がトラストアンカーとなっています。

そのため、DNSSECを利用するキャッシュDNSサーバの管理者はトラストアンカーを新しいルートゾーンKSK公開鍵に変更する必要があります。

 

既存のルートゾーンKSK公開鍵はいずれ失効します。

もし既存のルートゾーンKSK公開鍵をトラストアンカーに設定したままにすると、そのDNSキャッシュサーバを利用したDNSSECの検証は失敗し、名前解決ができなくなります。

 

 

第3回目の本稿ではKSKの役割とKSKロールオーバーについて説明しました。

次回はKSKロールオーバーに対する確認事項について説明します。

 

 

=====================================

>>CDNetworksのサービス全般についてはこちら

>> お問い合わせ、ご相談はこちら

株式会社シーディーネットワークス・ジャパン

TEL:03-5909-3373(営業部)

 

PAGE TOP