web-dev-qa-db-ja.com

自己署名SSL証明書またはCAですか?

私のウェブサイトの認証と登録の部分を暗号化したいと思います(理由は明らかです)。このサイトは現在および以前のサイトで、一部の友人と私は中学校で始めて現在も使用しています。近い将来、非営利組織として登録する場合も登録しない場合もありますが、いずれにしても、CAには費用がかかり、組織には何もありません。現在、私たちは大学生です。

Verisignは不合理であり、GoDaddyは年間30ドルです。 GoDaddyはあまりにも不合理ではなく、ほとんどのWebブラウザーでその証明書が受け入れられていると思います。 GoDaddyのことは、なぜ彼らが異なるSSL製品を持っているのかわからないということです(つまり:なぜ私を確認しないのが安いのですか?これは証明書に影響を与えますか、ブラウザがドメイン名のみを含む場合にそれを処理する方法はありますか?)

また、自分の証明書の使用に問題がありますか?ログインページはhttpであり、自己署名証明書を使用していることを示す行があり、これは指紋であり、フォームをhttpsページに投稿できますか? Safariの方法はそれほど悪くないか、あまり怖くない。ただし、firefox 3の方法は人々を怖がらせ、サイトがハッキングされているなどのことを知らせる大量のメールを送ってくれるのではないかと心配しています。 IEが自己署名証明書にどのように応答するかわかりません。(努力なしで自分で作成できるものにお金を払う理由の問題もありますが、私はポーズを取りません。それの哲学的な部分、これはより実用的な質問です。)

要するに、GoDaddyに年間30ドルを与えるのですか、それとも、私がしていることを小さなパラグラフで人々に伝え、指紋を実際に欲しい少数の人々に与えるのですか?

編集:私が読んでいたフォーラムで、GoDaddy証明書はGoDaddyサーバー上にある場合にのみ与えられると述べていましたが、これはそうではありません。 2つのこと:(1)これは本当ですか?ほぼ同じ価格の他のCAが存在するため、引数は同じである必要があります。

48
Jim Keener

SSL証明書は、トラフィックの暗号化(少なくともRSAキー交換の場合)と信頼の検証という2つの目的を解決します。ご存知のように、またはSSL 3.0またはTLSを使用している場合はなし任意の自己署名証明書でトラフィックを暗号化できます。しかし、信頼は証明書のチェーンを通じて達成されます。私はあなたを知りませんが、私はベリサインを信頼します(または少なくともMicrosoftは、デフォルトでオペレーティングシステムにインストールするために多額のお金を支払われているので)、Verisignはあなたを信頼しているので、私はあなたを信頼していますも。その結果、私が信頼している誰かがあなたがあなたであると言っているので、私のWebブラウザでそのようなSSLページに行くとき、怖い警告はありません。

一般的に、証明書の価格が高ければ高いほど、発行する認証局が行う調査が多くなります。そのため、Extended Validation証明書の場合、リクエスターは、自分が本人であることを証明するためにさらにドキュメントを提出する必要があり、その代わりに、現代のWebブラウザーで明るく幸せな緑色のバーが表示されます(Safariは、まだまだ)。

最後に、一部の企業は、ブランド名だけのためにVerisignのような大企業と提携しています。彼らは顧客が少なくともVerisignについて聞いたことがあることを知っているので、オンラインストアで買い物をする人にとって、彼らのシールはGoDaddyのものよりも少しスケッチボールに見えます。

ブランディングが重要でない場合、またはサイトがフィッシング攻撃を受けにくい場合は、ほとんどのWebブラウザーにデフォルトでルートがインストールされている、購入できる最も安価なSSL証明書で問題ありません。通常、行われる唯一の検証は、DNSの管理連絡先に送信された電子メールに返信できる必要があることです。したがって、そのドメイン名を「所有」していることを「証明」します。

もちろん、GoDaddy以外のサーバーでそれらのcheap-o証明書を使用できますが、おそらく最初にサーバーに中間証明書をインストールする必要があります。これは、安価な30ドルの証明書とGoDaddyの「本物の」ルート証明書の間にある証明書です。サイトにアクセスするWebブラウザーは、「うーん、これは中間体で署名されたように見えますが、あなたはそれを手に入れました」どれ が必要です 必要な場合があります追加の旅行。しかし、その後、サーバーに中間体を要求し、それが知っている信頼できるルート証明書にチェーンしていることを確認し、問題はありません。

ただし、(共有ホスティングシナリオなどで)サーバーに中間体をインストールすることを許可されていない場合は、運が悪くなります。これが、ほとんどの人がGoDaddy証明書をGoDaddy以外のサーバーでは使用できないと言う理由です。真実ではありませんが、多くのシナリオで十分真実です。

(職場では、オンラインストアにComodo証明書を使用し、データベースへの内部接続を保護するために安価な30ドルのGoDaddy証明書を使用しています。)

斜体を編集して、以下のエリクソンの洞察に富んだ説明を反映しました。毎日新しいことを学びましょう!

36

自己署名証明書は、GoDaddyやVerisignなどの商用CAが販売する証明書よりも本質的に安全性が低く、使用する場合はブラウザの警告/例外に耐えなければならないという一般的な誤解があります。 これは誤りです

自己署名証明書(またはbobinceが示唆するCA証明書)を安全に配布し、サイトを使用するブラウザにインストールする場合、購入した証明書と同じくらい安全ですまた、中間者攻撃や証明書の偽造に対して脆弱ではありません。明らかに、これは少数の人々だけがあなたのサイトへの安全なアクセスを必要とする場合にのみ実行可能であることを意味します(例えば、内部アプリ、個人的なブログなど)。

私のような仲間の小規模ブロガーに自分自身を守るように意識を高め、証明書の背景にある概念と、自己署名証明書を安全に作成して使用する方法を説明するエントリーレベルのチュートリアルを作成しました(完全なコードサンプルとスクリーンショットを使用) here

52
Clint Harris

Let's Encrypt、 この新しい10年の無料のCAから証明書を取得します。これはブラウザで広くサポートされています。

まだ試していませんが、 StartCom同様の質問への回答 で言及されています。どうやら1年間無料で証明書を入手でき、Firefox 3でも受け入れられているようです。

支払いが必要な場合でも、自己署名証明書ではなくCAを使用することをお勧めします。一部の人々はあなたの説明を見ないでしょう、そして、偽のサイトはあなたが提案するように彼ら自身の偽の証明書の指紋を投稿することができます。平均的なユーザーは、証明書の指紋が何であるか、またはそれを確認する方法を知っているとは思わない。

8
erickson

自己署名証明書を作成する代わりに、自己署名CAを作成し、それを使用してHTTPS証明書に署名します。単一のサーバー証明書よりもユーザーにCAのインストールを依頼する方が簡単です。また、ユーザーがサーバー証明書を再度インストールしなくても、新しい証明書を作成できます(たとえば、サブドメイン、または期限切れの証明書を更新します)。

その後、独自のCAによって署名された証明書からGoDaddyによって署名された同じ証明書に変更するのが30ドルの価値があるかどうかを後で決定できます。

いずれにしても、HTTPSに投稿されたフォームを含むHTTPページはありません。ユーザーは、それがどこに向かっているのかを見ることができません。他の場所を指すようにフォームがハイジャックされていないことを確認するために、ソースを表示する必要があります。 CAリンクとHTTPSログインフォームへの別のリンクを含むHTTPフロントページが必要です。

プレーンHTTP経由でダウンロードした証明書を使用してCAをインストールするようにユーザーに求めるのは少し厄介です。中間者がいた場合、その場でCAを置き換え、次のHTTPS接続をハイジャックできます。これは実際に発生する可能性は非常に低く、単純な古い自動スニッフィングとは対照的に標的型攻撃である必要がありますが、実際には他のHTTPSで保護されたサービスでCAダウンロードリンクをホストする必要があります。

顧客の受け入れは、ユーザーだけが知っている、あなただけが答えることができる問題です。確かに、Firefoxのインターフェースは非常に恐ろしいものです。 GoDaddyのようなCAが最近$ 30に下がったら、おそらくそれを選びます。かつては非常にひどかった。

古いブラウザやニッチなブラウザでのサポートはそれほど大きな問題ではないと想定し、利用可能な最も安価なCAを選択してください。あなたは想定あなたが誰であるかをCAに適切に確認させるためにお金を払っていますが、実際にはそれは機能する方法ではなく、かつてないことです。ベリサインの恐ろしい価格は、企業の慣性だけで存続します。

CAは、数百ビットの秘密キーを所有しているだけでお金を受け取ることができます。 CAのマンデートの一部であると考えられていた身元を確認するものは、EV証明書に移動されました。それはさらにはぎ取りです。喜び。

7
bobince

自己署名証明書 安全ではない 。はい、そうです。 「少なくとも暗号化されている」ということはまったく役に立ちません。記事から:

ワールドクラスの暗号化*認証なし=セキュリティなし

自分のWebサイトが自分と数人の友人向けである場合、独自のCAを作成し、証明書を友人に配布できます。

それ以外の場合は、既知のCAから証明書を取得するか( 無料 )、または自己署名証明書をまったく気にしません。取得できるのはfalse 安心感。


暗号化されたトラフィックだけが安全ではないのはなぜですか?常に相手のトラフィックを復号化することを許可しています(そうしないと、意味不明なものを送信することになります)。

相手が誰であるかを確認しないと、誰でもあなたのトラフィックを復号化することができます。送信しても違いはありません。データを攻撃者に安全に、または安全に—攻撃者はとにかくデータを取得します。

私は、例えばPaypal.comは信頼できる金融機関に属しています(これは大きな問題です)。データを送信しているかどうかを確認することについて話している その Paypal.com、または証明書を送信する角を曲がったバンに 「ええ、私は完全にPaypal.comのようです。あなたはそれが真実だという私の言葉を持っています!」

3
Kornel

Internet Explorerに関する質問に答えるために、IEが既知の(残念ながら「信頼できる」CA)によって証明書が署名されていないサイトについてユーザーに警告します。これには、独自のCAおよび自己署名証明書が含まれます。また、証明書内のドメインがアクセスされているドメインではない場合にも警告を出します。

これがプライベートサイトの場合、リンクレベルの暗号化を取得している限り、気にする必要はありません(そして、誰かがトラフィックを盗聴することを恐れていますか?)。パブリックアクセスがあり、SSLが必要な場合は、他の人が既にアドバイスしているように、認識されたCAから署名付き証明書を取得します。

2
orcmid

ついに私はついに故障し、サーバーを自己署名からGoDaddy証明書に昨夜切り替えましたが、プロセスが明確でないことを除けば、それほど大したことではありませんでした。年間30ドルは妥当なコストであり、GoDaddy以外のサーバーで証明書を使用することは問題ではありません。

SSLを公開する場合は、実際のCAによって署名された実際の証明書を取得してください。最低賃金で働いている場合でも、ユーザーの恐怖や不信に対処するために1年あたり30ドル以上の無駄な時間を節約できます。それは、サイトから怖がっている可能性があるために収益が失われる可能性を考慮する前ですらあります。

2
Dave Sherohman

角を曲がったバンがすでにインターネット接続をハイジャックできる場合、自己署名証明書よりも悪い問題があります。

銀行は、認証にクライアント証明書を使用する必要があります。それは、そのバンが銀行の秘密鍵を持っていないので、そのバンが何もすることを不可能にします。

自己署名証明書は完全に問題ありません...インターネット接続が危険にさらされていないと仮定します。接続hasが侵害された場合...とにかくおそらくあなたは犬を飼っています。

1
erik

GoDaddyは、このサイトの[今すぐ購入]リンクを介して、SSL証明書を年間15ドルで提供しています。クーポンコードを適用しないでください。価格が年間30ドルに戻り、そこから割引が適用されます。

http://www.sslshopper.com/ssl-certificate-comparison.html?ids=17,25,34,37,62

0
Diwant Vaidya