Let's Encrypt は、Electronic Frontier Foundation(EFF)、Mozilla、Cisco、Akamai、IdenTrust、およびミシガン大学の研究者によるイニシアチブであり、すべてのドメイン所有者に、 TLSに使用されます。
ドメインを所有していることを証明するには、特定の(ランダムに生成された)コンテンツを含むファイルを、そのドメインの特定の(ランダムに生成された)URLにインストールする必要があります。 Let's Encryptサーバーは、証明書に署名する前に、URLにアクセスしてこれを確認します。
ここで、ドメインawesomebank.example
をサーバーに解決させる攻撃があるとします。一部の人々のhttps://awesomebank.example/
への接続もMITMできると仮定します。 TLSの目的は、検出されずにサーバーへの通信を確認または変更できないようにすることです。
Let's Encryptサーバーでこの攻撃を使用してawesomebank.example
の証明書を取得し、それをAwesomeBankのMITM顧客に検出されずに使用することを妨げているのはなぜですか(有効な証明書があるため)。完全に自動化されたCAの存在により、インターネットがless安全になりますか?
Let's Encryptサーバーでこの攻撃を使用してawesomebank.exampleの証明書を取得し、検出されずにAwesomeBankのMITM顧客に使用することを妨げているのは何ですか(有効な証明書があるため)。
何もない。ネットワークを所有している場合は、ネットワークを所有しています。また、DVタイプの証明書(以下を参照)は、ドメインの所有権の証明をネットワークに依存しています。通常、帯域外チェックは行われません。 (誰もあなたの電話をかけたり、あなたの写真付き身分証明書をチェックしたり、会社が登録されている場所にあなたを訪問したりすることはありません。)
完全に自動化されたCAの存在はインターネットの安全性を低下させませんか?
いいえ。 DVタイプの証明書と同じレベルのセキュリティ。
X509証明書には(現在)3つの保証レベルがあります。
DVが最も安い。これは基本的にを意味します "誰かが[email protected]への電子メールに答えることができる場合、その人はexample.comの証明書を取得します"。
OV、EVの追加チェックがあります。
証明書の種類の詳細:GlobalSign.com: SSL証明書のさまざまな種類は何ですか? (アーカイブ ここ 。)
はい、あなたが説明するプロトコルは、電話をかけるときに「素晴らしい銀行で電話を取る人」が、Let's Encryptサーバーが電話したときに素晴らしい銀行で電話を取る人と同じであることを保証するだけです。 Let's Encryptとあなたの両方からの素晴らしい銀行への呼び出しを傍受できる場合、私はあなたをだますことができます。
理想的には、TLSで伝えたいことは、電話をかけるときに「素晴らしい銀行で電話を取る人」が実際には素晴らしい銀行の従業員であるということです。しかし、コンピュータはだれのために働いているかを知ることができないので、これを自動化することは困難です。 Let's Encryptは、他のCAよりも安全性が低いことは何もしていません。
Let's Encryptが、あなたの電話を傍受するよりも、素晴らしい銀行への呼び出しを傍受することを困難にすることを期待しています。一部のインターネットアクセスポイントは他のアクセスポイントよりもいじくるのが簡単(安全でないワイヤレススコアが低い)であり、複数のアクセスポイントを同時にいじるのはたった1つより難しい(したがって、Let's Encryptは、多くの異なる場所からダウンロードしたときに同じファイルを受信することを確認します)世界の場所ですが、彼らがそれを必要と考えるかどうかは検討していません)。 NSAのような組織を除いて、MITM攻撃は実際にはローカライズされ、一時的である傾向です。
したがって、それはMITM Let's EncryptがMITMよりも難しい場合にのみ、ある程度のセキュリティを提供します。 Let's Encryptやすばらしい銀行のいずれかを制御するよりも、インターネットへのアクセスを制御する方が簡単だと思います。それが、Let's EncryptをCAとして「信頼」する理由です。
当然、これは実際には電話ではなく、着信ソケット接続です。
Let's Encryptは、さまざまな攻撃を防ぎ、TLSの使用の一般化を推進して、グローバルに安全でプライベートなインターネットを実現するように設計されています。これは、一部のWebマスターがTLS証明書をより広く使用することを妨げる可能性がある技術的および財政的制約を取り除くことをより正確に目的としています。
ただし、セキュリティ対策として、これはすべての可能な証券問題を解決し、Webサイトを「100%安全なWebサイト」としてスタンプできる奇跡的な製品にはなりません。 (たとえ一部のウェブサイトがそのようなスタンプをためらわなくても...)セキュリティとは、いくつかの層の組み合わせを意味し、各層は独自のクラスの脅威に対処するように設計されています。
実際にドメイン名の所有権を取得できた場合、Let'sEncrypt証明書の配信が自動化されているという事実は、この場合、他の状況よりも大きな影響を与えない可能性があります。
注意として、従来のCAから証明書を取得するために必要なのは、「[email protected]」のような管理アドレスを所有し、お金を支払うことだけです。ドメインの所有権を取得できた場合は、自分のメールサーバーに自由にメールをリダイレクトできるため、選択したメールアドレスを効果的に所有できます。
これは理論上の脅威ではありません。あなたは ここで見つける と、彼のメールの所有権を取得するためにドメインが盗まれた誰かによって書かれた記事です。この正確なケースでは、サードパーティの社会から送信されたパスワードリセットメールにアクセスするためのものでしたが、攻撃者はこの立場でこのドメインの新しい証明書を生成し、セキュリティで保護されていると見なされるフィッシングサイトを構築することもできました。ブラウザ。
自動チェックの使用はこのCAに固有のものではありませんが、エントリレベルの証明書では一般的です。他の回答で述べたように、使用中の証明書には3つのレベルがあります。
基本的なDV証明書の場合(OVおよびEVアプリケーションの最初のステップとして)、ほとんどのCAは何らかの形の自動化された「ドメイン制御検証」を使用します。たとえば、 Comodoには3つのオプションがあります :
Lets Encryptの取り組みの一環として開発されている ACMEプロトコル は、このチェックのclient側を自動化することです。彼らの テクノロジーの概要 は、このように自動化できる例として、DNSベースのチェックとHTTPベースのチェックの両方を実際に言及しています。
インストールするソフトウェアは、アクセスできる構成に基づいて、これらの課題に対処する方法を自動的に決定できるという考え方です。検証するドメインのドキュメントルートを見つけて書き込むことができる場合、HTTPベースのチャレンジは自動化が非常に簡単です。より伝統的な電子メールベースの検証方法は、メール配信の複雑さのために自動化が難しくなりますが、実際に提供される証明の量に違いはありません。
発行時のMITM攻撃に対する主な防御策は、地理的に分散した多くの場所からサーバーまたはそのDNSを監視して検証チェックを実行することです。これは、偽造や詐欺を検出するために自動化されたWebチェックのために現在運用されているCAの数です。
IRC部屋で聞いたところによると、Let's Encryptはすべての検証チェックに対して同じことを行います。