web-dev-qa-db-ja.com

SSLのデフォルトのスネークオイル証明書は、本物の正直な証明書ではなく、本当にスネークオイルですか

SSLは、デフォルトで、たとえば/etc/ssl/certs/ssl-cert-snakeoil.pemで、自己署名の「スネークオイル」証明書を生成します。 Wikipedia に記載されているように、スネークオイルは、詐欺的または偽物と見なされる暗号方式または製品です。これらの証明書に偽物はありますか?もちろん、それらは既知の認証局によって署名されていませんが、証明書自体は他の証明書と同じくらい優れた本物の証明書である可能性があります。たとえば、サーバーの公開キーをすべてのクライアントに直接安全に配布しているとします。これを想定して、生成された証明書に価値があるヘビの油はありますか、またはその名前は誤解を招くものですか?

12
Prateek

Remeber SSLは2つの非常に重要な機能を提供します

  1. 安全な通信
  2. 信頼

1.自己生成されたSSL証明書は、暗号化されたトラフィックを許可するか、または有効なSSL証明書を使用することで許可されます。

ただし、自己生成されたSSL証明書は、あなたを信頼する人にのみ信頼を与えることができます。信頼できるサードパーティによってSSL証明書が生成されるのは、番号2を提供するためです。ブラウザはそれらを信頼し、彼らはあなたを信頼します。自分で生成した場合は、www.Microsoft.comであると主張でき、誰かがあなたを信頼している場合は、そのようになります。

また、コメントで指摘されているように、サーバーの自己署名証明書を信頼すべきではないのはこのためです。ブラウザーは、同じサーバーによって署名された将来の証明書を信頼するようです。

これが、自己生成がヘビ油の証明書である理由です。

更新: LetsEncrypt サービスと最新のWebサーバー Caddy などを組み合わせることで、TLS証明書の取得と使用からほとんどすべての問題を取り除くことができるため、スネークオイル証明書が不要になります。

10
Toby Allen

自己署名証明書は、標準のものと同じように通信を暗号化します。したがって、暗号化は問題ではありません。

証明書は、身元の確認にも使用できます。サーバーに安全に接続すると、サーバーが証明書をユーザーまたはブラウザーに提示し、ユーザーまたはブラウザーがサーバーのIDのアサーションを信頼できるかどうかを決定します。

証明書は、通常は証明機関と呼ばれる他の「上位」証明書によって署名できます。したがって、サーバーの証明書がユーザーまたはブラウザーが信頼するCAによって署名されている場合、IDは有効であると見なされます。

ほとんどの主要なブラウザには、Verisignやその他の有名なCAからの、自動的に信頼するいくつかのルート証明書が付属しています。

自己署名証明書では、サードパーティのCAによってではなく、証明書を作成したのと同じエンティティによって署名されているため、証明書を生成した本人以外の人に本人確認を依頼することはできません。これは、誰かが自分のIDカードを印刷し、身元を確認するためにあなたにそれを与えるのと同じです。誰が証明書を生成したか、または自分で作成したかを知っている/信頼している場合、ブラウザーの警告にもかかわらず、これは必ずしも問題ではありません。

4
LawrenceC

ウィキペディアはまた、次のように述べています。「ヘビ油は、もともと詐欺的な健康製品や証明されていない薬を指す表現でしたが、疑わしいまたは検証不可能な品質または利益を伴う製品を指すようになりました」。

このコンテキストで重要なのは、検証不可能な品質です。信頼された認証局への証明書チェーンがないSSLサイトを参照する場合、SSLに依存して、サイトがドメインを所有する個人または組織によって所有および運営されていることを確認できません(ブラウザのURLバー)。

最新のWebブラウザーは、この信頼できる証明書チェーンがないため、自己署名(「スネークオイル」)証明書を使用してサイトを閲覧すると、セキュリティ警告が表示されます。これは、たとえばプライベートイントラネットでは煩わしい場合がありますが、個人データや支払い情報をフィッシングサイトに入力することから人々を保護するのに役立ちます。

2
John Ball