LinuCレベル3 303試験の例題と解説

主題325暗号化

325.4DNS と暗号化

このエントリーをはてなブックマークに追加

LinuCレベル3 303試験の試験範囲から「325.4 DNS と暗号化」についての例題を解いてみます。今回はDANEについて取り上げます。
DANEの基本的な情報を押さえましょう。

Linucレベル3 303試験 出題範囲


例題

以下の文のうち、DANEについて正しく説明しているものを選択してください。

  1. DNSの拡張プロトコルで、RFC策定当初のDNSプロトコルの制限を緩和したもの
  2. クライアントがDNSSECを受理できることを明示するためのもの
  3. DNSSECを利用して、ドメインに認証に関する情報を紐づけする仕組み
  4. 権威DNSが問い合わせに対して、応答に「鍵」と「署名」を付けて、クライアント側が正しいかどうか検証する仕組み。

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「3」です。

DANEは、「DNS-based Authentication of Named Entities」の略で、通信相手の認証を、一般的なTLSプロトコルで扱われるような認証局ではなく、DNSを利用する仕組みです。

DNSの応答に電子署名を付与し、問い合わせ側で応答元が正しいか、受け取ったデータが欠落していたり改ざんがないことを検証できる仕組みであるDNSSECが導入されました。このDNSSECという仕組みによって、DNSでの通信が信頼できる通信方法として使えるようになりました。

そして、このDNSSECによる信頼性の高い通信方法を応用して、接続先のドメインをキーとして、通信相手が正しい相手なのかどうかを検証する仕組みがDANEです。つまり、TLSにおける機能の1つである「通信先の認証」をDNSで行うという仕組みです。
一般的なTLSの通信の例を挙げると、あるドメインを指定してWebページにアクセスした際、クライアントがサーバからサーバ証明書を受け取り、接続したドメインの所有者が正しい所有者であるかということを検証します。DANEはこの「接続したドメインの所有者が正しい所有者であるか」をDNSを利用して検証する仕組みです。

DANEがどのように認証を行うかですが、2通りあり、DNSから取得してきたサーバ証明書の情報と、通信先から取得したサーバ証明書を比較して認証する方法と、通信先から取得してきたサーバ証明書の証明書チェインの中に、DNSから取得した認証局の証明書が含まれているかを検証します。登録しておくべきリソースレコードの種類はどちらもTLSAというレコードを使いますが、前者は、TLSAレコードにサーバ証明書のハッシュ値を記載し認証を行うのに対して、後者は、TLSAレコードに認証局の証明書そのものの情報を登録して認証を行います。

それぞれの仕組みをhttpsでアクセスする際の例をフローにすると以下のようになります。

[前者のサーバ証明書の情報を比較する方法]

クライアントがサーバにアクセス
	↓
接続先ドメインのTLSAレコードを検索
(レコードの内容がサーバ証明書の情報だとこの時点で判明します)
	↓
クライアントがサーバから証明書を受け取る
	↓
サーバ証明書とTLSAレコードの内容を比較
	↓
一致したら認証成功

[後者の認証局証明書が証明書チェインに含まれているか検証する方法]

クライアントがサーバにアクセス
	↓
接続先ドメインのTLSAレコードを検索
(レコードの内容が認証局証明書だとこの時点で判明します)
	↓
クライアントがサーバから証明書を受け取る
	↓
受け取ったサーバ証明書の証明書チェインとTLSAレコードの内容を比較する
	↓
TLSAレコードの内容(認証局証明書)がチェインに含まれていたら認証成功

どちらの認証方法でも、一般的なTLS通信に必要な証明書を発行する第三者認証局を必要としません。これはDANEの大きな特徴で、第三者認証局を必要としないことで、第三者認証局が脆弱性を突かれ、偽造証明書が発行されて、なりすましが生じるといった問題をクリアできます。

選択肢を見ていきます。

  1. DNSの拡張プロトコルで、RFC策定当初のDNSプロトコルの制限を緩和したもの
    EDNSについての説明なので、誤りです。
  2. クライアントがDNSSECを受理できることを明示するためのもの
    Doビットの説明なので、誤りです。
  3. DNSSECを利用して、ドメインに認証に関する情報を紐づけする仕組み
    正しい選択肢です。
  4. 権威DNSが問い合わせに対して、応答に「鍵」と「署名」を付けて、クライアント側が正しいかどうか検証する仕組み。
    DNSSECについての説明なので、誤りです。

例題作成者

株式会社デージーネット ソリューション開発部 徳武 竜太

ページトップへ