web-dev-qa-db-ja.com

DNSSECが非常に疑わしい場合、DNSCurveの採用が進んでいるのはなぜですか?

すべての人々 だれが DNSSECの実行可能性を問う を見ると、 導入率が非常に悪い であることも不思議ではありません。

しかし、DNSCurveはどうですか?それはおそらく すべてのDNSセキュリティとプライバシーの問題を修正します DNSSECとは関係なく、DNSSECに固有で固有の問題に悩まされることはなく、どちらかのアプローチの成熟度を無視すると、状況の明らかな勝利— DNSSECよりもはるかに若いにもかかわらず、OpenDNSによるdjbdnsとDNSCryptのサポート以外に、DNSCurveの実装はまだ実質的にありません。どうして?

26
cnst

問題があります:

DNSCurveは、DNSSECと比較して、DNSサーバーのTLSに似ています。これは、署名付きレコードです。 DNSCurveはポイントツーポイント暗号化を使用して通信を保護し、DNSSECは事前に計算された署名を使用して提供されたレコードの正確性を保証します。

したがって、次のように要約できます。
[〜#〜] dnssec [〜#〜]:正確な結果
DNSCurve:暗号化されたトラフィック

理論的には、TLSがWebサイトに対して行うように、トラフィックの暗号化を使用して正確さを保証できます。正確さを保証しているのは実際には暗号化ではないことを除いて、PKIを通じて提供されるauthenticationです。また、基本的なDNSCurve PKIには一連の重大な問題があります。

ここでの最初の問題は、DNSCurveの場合関係するすべてのDNSサーバーに秘密キーが必要であり、キー署名がリゾルバーのアドレスにエンコードされているため、次に、エニーキャストDNSサーバーの場合、各サーバーには同じ同じ秘密鍵が必要です。しかし、それらが異なるキーを使用していても、DNSサーバーがインストールされているlocal securityを信頼しています。サーバーが悪意のある場所にインストールされている場合、結果が損なわれる可能性があります。これはDNSSECには当てはまりません。

ICANNは、DNSルートゾーンサーバーの場合、 DNSCurveは実装されないことを述べています。ルートサーバーの多くは信頼性の低い場所で動作しており、地方自治体による悪用の可能性は非常に大きいでしょう。これが、DNSサーバーの外部で署名が行われるようにDNSSECが設計された理由です。 DNSは、個別に信頼できない可能性のあるサーバーの広大なネットワークに依存しているため、DNSSECは、信頼がオペレーターの誠実さではなく、提供する情報のみに基づくように設計されています。

2番目の問題は、DNSCurveがリゾルバー名にエンコードすることによって公開鍵を保護することです。ただし、DNSSECはリゾルバー名に署名しません。これは、DNSSEC(ルートゾーンに実装されているである)をDNSCurveの信頼ルートとして使用できないことを意味します。 DNSSECが正確性を保証できないもの。

したがって、本質的にDNSCurveは、ほとんどスターターではありません。単一のDNSリゾルバーとの通信のセキュリティを保証するために使用できますが、現在、取得した結果の正確性を保証できる方法で信頼をグローバルに固定する方法はありません。

DNSCurveが信頼できるキー配布を可能にするように再設計されていない限り、DNSレコードの信頼性を保証するツールではなく、クライアント側のセキュリティツールである必要があります。

DNSCurveは比較的新しく、主にdjbによって単独で開発されたため、おそらくこれらのショーを停止する問題は彼の側の単純な見落としであり、将来的に修正される可能性があります。バーンスタイン博士の発明を維持した実績はあるものの、私は息を止めません。

51
tylerl

主な理由は、DNSCurveの登場時にDNSSECが主要なルートサーバーで既に採用されていたことです。さらに、それらは同じ問題に取り組むわけではなく、いくつかの点で重複していますが、他の点では異なります。それらを一緒に使用することもできます。

質問があることに注意してください DNSSec(Comcast)vs DNSCurve(OpenDNS) これは違いを非常に詳しく説明しています:

まず、DNSSECはクエリに署名しません。むしろDNSSECは、ゾーン(ドメインなど)がその所有者によって署名されることを許可し、リゾルバー(たとえば、ComcastのDNSサーバー)が署名を検証することを許可します。したがって、取得するゾーンデータが本物であることを確認してください。これは、リゾルバーを不良データの受信から保護しますが、MITMやユーザーとリゾルバーの間のスヌーピングを防ぐことはできません。

一方、DNSCurveは、再帰リゾルバーと権威サーバー間の通信を暗号化し、権威サーバーが偽造に対してデータに署名できるようにしますが、エンドユーザークライアントを不正な再帰リゾルバーから保護することはできません。 OpenDNSのDNSCryptソリューションはDNSCurveと同じテクノロジーに基づいていますが、OpenDNSのような信頼できるサードパーティの再帰リゾルバーとエンドクライアント間のラストマイルを保護します。

どちらがより安全であるかについては、どちらもそうではありません。どちらも安全ですが、セキュリティはさまざまな分野で適用されます。どちらの場合も、セキュリティツールの方が強力ではなく、DNSセキュリティのどちらがより重要であるかを選択します。

10
Lucas Kauffman