LinuCレベル3 303試験の例題と解説
325.4DNS と暗号化
LinuCレベル3 303試験の試験範囲から「325.4 DNS と暗号化」についての例題を解いてみます。今回はDNSSECについて取り上げます。
DNSSECの基本的な情報を押さえましょう。
例題
DNSSECについての正しい説明を以下の選択肢から選択してください。
- メールが正規のサーバから送られているかどうかを判断するのに有効で、なりすましを防止できる。
- 通信相手の認証に、認証局ではなくDNSを用いて認証する仕組み。
- DNSサービスで、サーバとクライアントで共通の秘密鍵を保持し、メッセージの完全性の保証やリクエスト認証を可能にする仕組み。
- 権威DNSが問い合わせに対して、応答に「鍵」と「署名」を付けて、クライアント側が正しいかどうか検証する仕組み。
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「4」です。
DNSSEC(DNS SECurity Extensions)とは、公開鍵暗号を利用した、DNSレコードの応答元や完全性を検証できる仕組みです。
DNSレコードの完全性とは、レコードが改ざんされていないことです。
このDNSレコードを検証する機能で、DNSキャッシュポイズニングを防止することができます。
もう少し詳しく説明すると、
DNSSECは「公開鍵暗号」と「電子署名」という仕組みを使用しています。
まず、「公開鍵暗号」とは、秘密鍵で暗号化したデータを、公開鍵で復号化してデータのやり取りを行う方法です。秘密鍵は基本的にはメッセージの発信者だけが保持されるものなので、公開されている公開鍵で復号できた場合、メッセージの発信者が正しいことを検証できます。
流れのみ書き出すと以下の様になります。
ーーー
送信者がデータを秘密鍵で暗号化
↓
受信者がデータを公開鍵で復号化
ーーー
次に、「電子署名」とは、先述した公開鍵暗号の仕組みを使い、
受信したデータの送信元が正しいことと改ざんされていないことを証明する仕組みです。署名の流れのみ書き出すと以下の様になります。
ーーー
送信者がデータのハッシュ値を秘密鍵で暗号化
↓
平文のデータと暗号化されたハッシュ値を送信
↓
受信者が平文のデータのハッシュ値を算出
暗号化されたハッシュ値を公開鍵で復号化
↓
2種のハッシュ値を比較
ーーー
上記の仕組みをどのようにDNSSECで利用しているか説明します。
まず、ゾーンの管理者が秘密鍵・公開鍵のペアを作成します。その秘密鍵を利用して、ゾーンのレコードに対して署名を作成します。併せて、署名に使った秘密鍵と対になる公開鍵を公開します。実際にそのゾーンに問い合わせがあった場合、権威DNSサーバは署名付きの応答を返し、キャッシュサーバが、ゾーン管理者が公開している公開鍵で復号を試みます。
そして、復号に成功した場合、正しい送信元であることと改ざんされていないことを確認できます。
流れを書き出すと以下の通りです。
ーーー
ゾーン管理者が秘密鍵・公開鍵のペアを作成
↓
その秘密鍵でレコードを署名
公開鍵を公開
↓
問い合わせに対して、レコードの内容と署名を返す
↓
キャッシュサーバが署名と公開鍵を使って、応答を検証
ーーー
選択肢を見ていきます。
- メールが正規のサーバから送られているかどうかを判断するのに有効で、なりすましを防止できる。
誤った選択肢です。
これはSPFレコードについての説明です。メールを受信する際、SPFレコードを使用して送信元の検証を行います。 - 通信相手の認証に認証局ではなく、DNSを用いて認証する仕組み。
誤った選択肢です。
これはDANEについての説明です。セキュアな通信であるDNSSECを用いて、TLSで一般的に使われているX.509証明書をDNS名に紐づける仕組みです。 - DNSサービスで、サーバとクライアントで共通の秘密鍵を保持し、メッセージの完全性の保証やリクエスト認証を可能にする仕組み。
誤った選択肢です。
これはTSIGについての説明です。サーバとクライアントで共通の秘密鍵を持ち、DNSの通信に署名を行い、完全性の保証やリクエスト認証を可能にする仕組みです。 - 権威DNSが問い合わせに対して、応答に「鍵」と「署名」を付けて、クライアント側が正しいかどうか検証する仕組み。
正しい説明です。
例題作成者
株式会社デージーネット ソリューション開発部 徳武 竜太