web-dev-qa-db-ja.com

真ん中の男があなたのサーバーの証明書を要求するのを防ぐのは何ですか?

shop.example.comにサーバーがあり、Comodoなどの信頼できるCAからの証明書を要求しているとします(オンラインで数分以内に発行するとします)。

  • まず最初に、あなたが本当にshop.example.comの管理者であることをどのようにして確認できるでしょうか?おそらく、中間者攻撃を実行できるようにこの証明書を要求したのは攻撃者でした。

  • 第二に、それが本当にあなたであり、あなたはその証明書を得たとしましょう。同じ攻撃者が他のCAから同じドメインの証明書を要求するのを防ぐものは何ですか?

  • CAがそのような重複を簡単に検出できるように、すべての要求の共通のストレージはありますか?それともそれを防ぐ他の方法はありますか?

  • 誰かがshop.example.netの証明書を簡単に取得して、タイプミスしているユーザーを希望することもできますか?

24

CAは、発行する証明書に真実の情報のみが含まれていることを確認することになっています。 方法彼らがすることは彼らのビジネスです。深刻なCAは、その手順を文書化した詳細な「認定実務声明」を公開することになっています。

実際には、www.myshop.comドメインの証明書を購入する場合、CAが「チャレンジ」して、実際にそのドメインを制御していることを証明します。いくつかの古典的な方法は次のとおりです。

  • CAはランダムなデータを送信し、ドメインにホスト名として含めます。したがって、ドメインに関連するDNSの制御を示します。

  • CAは、www.myshop.comサイトからダウンロードするために(プレーンHTTP経由で)置く必要のあるランダムなデータを送信します。したがって、ドメインに対応するメインサーバーを制御していることがわかります。

  • CAは、ランダムなデータを[email protected]に送信された電子メールで送信します。そのデータをユーザーに返し、ドメインの管理者に送信された電子メールを読むことができることを示します。

これらのメカニズムはどれも本当に強力ではありません。さらに、攻撃者が何百もの中から通常のWebブラウザでデフォルトで信頼されているone CAをだまして成功するのに十分です。それにもかかわらず、詐欺的な証明書は珍しいようです(たとえば、世界中で年に1〜2回)。そのため、これらの認証メカニズムは、見た目がどんなに細かくても、その仕事には十分なものでなければならないことを認めなければなりません。

誤って入力されたドメインに関しては、これは非常に古典的な方法であり、一般的に、それらの誤って入力されたドメインを購入するか、自分のドメインに「近すぎる」と思われるドメインを購入しようとする者に弁護士を解雇します。

32
Thomas Pornin

認証局は、ドメインの正当な管理者にのみ証明書を与えるという評判に基づいて生計を立てています。 CAが非常に多くの不正な証明書を発行し始めた場合、ブラウザーはルート証明書を引き出し、CAは破産するため、これを行わないことがCAの最大の利益になります。

CAが申請者の身元を確認する正確な方法は、CAによって、および顧客が証明書に費やす意思があるかどうかによって異なります。広い範囲で、さまざまなレベルの証明書があります:ドメイン検証済み(DV)自動チェックのみを実行し、 Extended Validation(EV)。これは、申請者の会社のCEOとの電話や対面式の会議などの人から人への検証を必要としますが、購入にはより費用がかかります。

質問に答えるために、最も単純なDVの場合、中間者がドメインの証明書を取得できないのは何ですか?一般的な検証方法含める:

  • 次のいずれかのアドレスでメールを受信できることを証明してください:admin@<domain.com>administrator@<domain.com>hostmaster@<domain.com>postmaster@<domain.com>webmaster@<domain.com>、ドメインのWHOISリストに記載されているアドレスでメールを受信できることに加えて。 (例: GlobalSign

  • それらはあなたがあなたのサイトのホームページに挿入しなければならないあなたが送った証明書署名要求(CSR)のハッシュを含む(私は信じます)HTMLのブロックをあなたに与えます。これは、申請者がサーバーの管理者権限を持っていることを証明します。 (例: GlobalSign

  • CSRのハッシュを.txtドメインのルートにあるファイル、例:http://yourdomain.com/<Upper case value of MD5 hash of CSR>.txt。 (例: Comodo

14
Mike Ounsworth

あなたが本当にこのmyshop.comの管理者であることをどのようにして確認できますか?多分、中間認証攻撃を実行できるようにこの証明書を要求したのは攻撃者だったのでしょうか?

彼らはできません。 [email protected]のメールを受信できる場合は、そのサイトの証明書を取得できます。

同じ攻撃者が他のCAから同じドメインの証明書を要求するのを防ぐものは何ですか?

何もない。ただし、価値の高いドメインの証明書を要求すると、内部アラートと手動チェックがトリガーされる場合があります。正確に「高価値ドメイン」が何であるかは、指定されていません。多分アレクサトップ10000のウェブサイトか何か。 (CABForumの 一般向けの情報 情報ページでこれについて説明しています。(アーカイブ ここ 。))

誰かがmyhsop.comの証明書を簡単に取得して、誤入力しているユーザーを希望することもできますか?

原則として、はい。上記の「高価値ドメイン」の例外を除きます。 CAがどのように(そして何に対して)類似性を検出しようとするかの詳細も、公の知識ではありません。

CAがそれを簡単に検出できるように、またはそれを防止する他の方法ですべての要求の共通のストレージはありますか?

いいえ。しかし、Googleの " Certificate Transparency "(CT)イニシアチブがあります。発行されたすべての証明書の公開ログがあるという考え方です。心配しているドメイン所有者は、これらのログを見て、ドメインの1つに対して新しく発行された証明書がないかどうかを確認できます。これにより、事実の後で迅速に二重発行が検出されるようになります。 -すべてのCAが実際にCTの取り組みに参加している場合に限ります。そしてブラウザがこれを強制するなら。 (ログエントリなし?トラフィックなし!)

5
StackzOfZtuff

他のサブ質問はすべて適切に回答されているので、元のドメインと同様のドメインの登録に関する質問に回答しようとします。

このアクションは typosquatting と呼ばれ、タイプミスキャタがドメインを所有しているため、SSL認証局が送信する検証要求を完全に制御できます。したがって、CAに正当なすべての目的と目的のための証明書を取得できます。

この形式の攻撃を防御する唯一の手法は、タイプミスドメインを防御的に取得するか、誤植者に対して法的措置を取ることです レゴが行ったように

4
March Ho

ドメイン検証済み証明書のプロバイダーは通常、myshop.comで選択したTXT DNSレコードを作成するか、選択したWebページをオンラインで公開するように要求します http:/ /myshop.com/ 、あなたがドメインを所有していることを証明します。これにより、DNSまたはWebサーバーがすでに侵害されていない限り、攻撃者がドメインのSSL証明書を取得するのを阻止できます。EV証明書(通常、ブラウザで緑色のバーが表示されます)チェックはより厳密です。そのため、これらの証明書はより高価です。

SSL証明書要求の中央登録はないため、提案されているように、異なるCA間で相互に関連付けることはできません。

ドメインmyhsop.comを所有するすべてのユーザーが、そのドメインのSSL証明書を取得できます。入力ミスが気になる場合は、気になるタイプミスのドメインを登録してください。

3
Mike Scott