SSL証明書の支払いが必要なのはなぜですか?


62

NamecheapからSSL証明書を購入しました。ComodoSSLによって認証されたと思います。費用は7ドルで、アクティベートに1週間かかりました。サイトの設定ファイルを編集している間にSSHから自分でやらなければなりませんでした。

それから友人は、無料のSSL証明書を提供するだけでなく、単一のコマンドを実行することでインストールできるLet's Encryptを知ってくれました。

ここに何かが欠けていると確信していますが、自動更新を設定して無料で簡単にインストールできるのに、なぜSSL証明書の費用を払わなければならないのですか?


2
これは最近現れたもので、ほとんど同じ質問です:security.stackexchange.com/questions/45491/…最近更新された以前に検証された答えは、まだほとんど保持されています。( -などを信じたりしていないと関連する保証や保険)しかし、すべての答えに、私は誰もが価格とコストと価値対価格の違いを説明見て悲しい
パトリックMevzek

ロックアイコンなどの横に会社名を付けるために、拡張検証などのビジネスケースがある場合に料金を支払うことがわかります。技術的な観点からは、本当の理由はありません。
ivanivan

全体の答えがでまとめることができmarcelmの答えからこの一文、「意味のあるものにする証明書の場合、発行CAは、そうでない場合、証明書は無用である、ソフトウェアベンダーによって信頼されている必要があります。」すべての証明書は、暗号化第三によって検証されていますパーティー。Let's Encryptが決して台無しにならず、ハッキングされることもないと信じているなら、そこから価値を得ます。しかし、人々がお金を払うのは、他のCAの方が本当だからです。そのような単純な。
JakeGould

「証明書はすべて、サードパーティによって暗号化が検証されている」というのは無意味です。証明書は暗号化されていません。最初は署名されています。@JakeGould
user207421

誰もまだこれを言っていないことに驚いています。「letsencryptを疑いを持って扱う企業をターゲットにしたときに、何かを合法的に偽装すること」が通常です。
アレックティール

回答:


82

SSL証明書の支払いが必要なのはなぜですか?

ほとんどの用途では、それらを支払う正当な理由はありません。
例外の概要については、一番下を参照してください。

一歩後退して、証明書の機能と大まかな方法​​を説明しましょう。

一般に「証明書」と呼ばれるものは、2つのリンクされた部分で構成されています。

  • 証明書の 適切な公開鍵と(例えば、ドメイン名などの)いくつかの識別が含まれ、。
  • 秘密鍵ホルダー(とのみ保持者)がデジタルで、彼らは上記の証明書を使用して検証することができるような方法でメッセージに署名することができます。

の証明書がyourdomain.com必要な場合:

  • プライベート/パブリックキーペアを作成し、プライベート部分をプライベートのままにします。
  • 掲載のための証明書を作成するために、信頼できる第三者(「CrediCorp」)をyourdomain.com公開鍵と。
  • あなたがコントロールするCrediCorpに何らかの方法で証明してくださいyourdomain.com
  • 秘密鍵と取得した証明書をサーバーに配置し、それらを使用するようにWebサーバーを構成します。

次に、Aliceがにアクセスするyourdomain.comと、ブラウザはWebサーバーから証明書を取得し、秘密鍵で署名されたメッセージを受け取ります。次に、彼女のブラウザは3つのことを確認します。

  • 署名されたメッセージが証明書によって検証できること(対応する秘密キーのみで署名されているyourdomain.com必要がある場合)
  • 証明書のドメインが、ブラウザーがアクセスしようとしているドメインであること(yourdomain.com)。
  • 証明書がCrediCorpからのものであること。

これら三つの組み合わせは、彼女が実際に話していることを保証アリスyourdomain.comはなく、いくつかの詐欺師に... アリスはCrediCorpを信頼していることを提供します

(この真正性を機密性に変えるための暗号ブードゥー教のダンスもあります。)

どのようにないアリスはCrediCorpを信頼しますか?

ここが本当の核心です。要するに、ある時点でCrediCorpが「おい、証明書を作成する」と言った。多くの規則に従って多くの努力を払った後、彼らは何人かの人々にCrediCorpは確かに信頼できるものであり、証明書を正しく発行するだけだと確信させることができました。

特に、彼らはFirefoxなどのメーカーを納得させることができました。その結果、CrediCorpはFirefoxのAリストに登録され、その証明書はデフォルトでFirefoxによって信頼されています。実際、AliceはFirefoxを信頼し、FirefoxはCrediCorpを信頼し、CrediCorpはあなたがコントロールしたと主張したときに(検証後に)あなたを信頼しますyourdomain.com。それはほとんどチェーンのようなものです

しかし、Firefoxはの証明書を発行するためにCrediCorpを信頼するだけでなくyourdomain.comあらゆるドメインのCrediCorp証明書を信頼します。また、Firefox はどのドメインで ShabbyCorpを信頼しています。

これには結果があります。誰かがShabbyCorpに自分が制御していると納得させた場合yourdomain.com(ShabbyCorpはあまり徹底的ではないため)、yourdomain.com対応する秘密キーを使用してShabbyCorp証明書を取得できます。そして、その証明書を使用すると、Webサーバーになりすますことができます。結局のところ、yourdomain.comFirefoxによって信頼されている証明書(およびキー)があります!

CrediCorpおよびShabbyCorpは、認証局、略してCA と呼ばれるものです。現実の世界では、ComodoSSLとLet's EncryptはCAの例です。しかし、もっとたくさんあります。この記事の執筆時点では、Firefoxは154のCAを信頼しています。

おっ しかし、それは私の質問にどのように答えますか?

私はええと、それに到達しています...

つまりね。上記で説明した仕組みは、すべての証明書に適用されます。Webサイト用の正しい信頼できる証明書があれば、それは機能します。ブランドA証明書とブランドB証明書には特別なことはありません。それらはすべて同じCA要件と同じ暗号演算の対象です。

そして、たとえあなたがCrediCorpの方が好きであっても(ご存知のように、彼らは信じられないほど聞こえるだけです)、それらを使用しても、本当に助けにはなりません。攻撃者がShabbyCorpを説得してサイトの証明書を提供できる場合、攻撃者はその証明書を使用して、どこで入手したかに関係なく、サイトになりすますことができます。

FirefoxがShabbyCorpを信頼している限り、訪問者は違いを見ることはありません。(はい、訪問者は証明書を取得し、そこを掘り下げて、だれが発行したかを確認できます。しかし、だれがそれを行いますか?)なぜそうなのか、それ恐ろしいことであり、おそらくこのスキーム全体に対する人々の最大の批判でしょう。それでも、それは我々が立ち往生しているものです。

ポイントは、CAが「良い」証明書を発行することを信頼していない場合、証明書を他の場所で取得してもあまり役に立ちません。

ガッチャ、すべてが等しく運命づけられています。警告はありませんか?

Weeeelllll ...

  1. 最後のセクションで作成したポイントを削除することから始めましょう。現在では、DNS-CAA 使用して、選択したCAのみにドメインロックすることが可能です。あなたがComodoを信頼し、他のCAを信頼しないと仮定すると、Comodo以外のすべてのCAにドメインの証明書を発行しないよう要求することができます。理論的には。(DNS-CAAはブラウザによってチェックされず、CAの発行によってのみチェックされるため、侵害されたCAはこのセーフガードを無視できます。)

    あなたがそのトラブルを喜んで経験するなら、質問は次のようになります:Let's Encryptは実際には信頼性が低いのですか?または安全性が低い?信頼性は難しいものですが、それをどのように定量化しますか?私が言えるのは、Let's Encryptが他のCAよりも信頼できるという認識です。検証のセキュリティに関しては、商用CAが行うことと非常に似ています(とにかくDV証明書の場合)。この質問も参照してください。

    価値があるのは、このサイトの一部であるStackExchangeネットワークが現在Let's Encrypt証明書を使用していることです。ほとんどの人はこれに気付かないでしょう。もし気付いたなら、それが彼らにとって大きな意味があるのか​​どうか、私は心から疑います。

  2. 証明書を有効にするには、発行元のCA がソフトウェアベンダーによって信頼されている必要があります。そうでない場合、証明書は役に立ちません。私はFirefoxを例として使用しましたが、実際には、少なくとも最新バージョンのFirefox、Chrome、Windows、Mac OS X、iOS、AndroidでCAを信頼するようにしたいと考えています。そして、数十人の小さなプレーヤー。考慮する価値のあるCA(ComodoSSLやLet's Encryptを含む)は、これらすべてのエンティティによって信頼されています。

  3. CAが誤動作したり、信頼できないと判明した場合、証明書所有者の日を台無しにするのに十分な速さで、さまざまなトラストストアから削除されます。私が知っている2つの注目すべき例は、DigiNotarStartCom / WoSignです(記事をチェックしてください。信頼のダイナミクスに関する興味深い洞察を提供します!)。したがって、Let's Encryptが台無しになるか、何らかの理由でドロップされると思われる場合、それらを使用しないと、その特定のフォールアウトに巻き込まれるのを防ぐことができます。

  4. 証明書は、暗号数学の魔法を使用します。問題は、どの 暗号数学の魔法ですか?弱い魔法の場合はどうなりますか?これは実際に懸念事項であり、CAもこれをアップグレードする際に足を引っ張ることを示しています。幸いなことに、ブラウザベンダーは、証明書を受け入れるための最小値をここに設定することにより、この余裕を取り戻しました。たとえば、RSA-1024またはSHA-1を使用する証明書は現在ほとんどのブラウザで拒否されているため、実際に機能する証明書はこれらの非推奨の暗号プリミティブを使用しません。結論としては、CA(Let's Encryptを含む)がこの部分を失望させることはもう非常に困難です。

  5. 以前、私は多かれ少なかれ、すべての証明書が平等に作成されると言いました。私は嘘をついた、そうではない。特に、これまで私が議論したのは「ドメイン検証(DV)証明書」で、これは大部分のWebサイトで使用されています。これらは、ブラウザがURLバーに表示されるドメインと実際に通信しているという確実性の尺度を提供します。また、「Organization Validated(OV)」および「Extended Validation(EV)」証明書もあります。これらの証明書には、CAによるより詳細なチェックが必要です。特に、somebank.com実際にSomeBank、Inc.であることを証明できる場合にのみ、/ SomeBank Inc.のEV証明書を取得できる必要があります。

    EV証明書は取得するのにはるかに費用がかかり(球場:年間数百ユーロ/米ドル)、ブラウザに緑色のURLバーまたは南京錠が表示され、「SomeBank、Inc.」と表示される場合があります。同じように。DV証明書とは異なり、彼らはWebサイトが実際に誰に属しているかもしれないかについてのいくつかのアイデアも提供します。利点は、彼らはより合法的に見えるかもしれません。残念なことに、ユーザーはめったに注意を払わないため、その有効性は限られています。

    偽造されたDV証明書を持つ攻撃者は、EV証明書が提供する余分な視覚的な手がかりがなくても、サイトになりすますことができ、ユーザーは一般的に区別に気付きません。逆に、誤解を招くEV証明書取得して、フィッシングを容易にすることもできます。その結果、ChromeFirefoxの両方がEV証明書に視覚的なうなずきをドロップし、一部の人々は完全になくなると信じています。

    あなたが銀行の場合、おそらく今のところまだEV証明書が必要です。そうでなければ、それほどではありません。ただし、EV 必要な場合、Let's Encryptは適切ではありません。EV証明書を提供しないからです。

  6. 証明書は限られた期間のみ有効です。典型的な商用CAからの証明書は1年間有効である傾向がありますが、3か月から3年まで何でも見ました。Let's Encrypt証明書は90日間有効です。これはその範囲の短い側にあるため、頻繁に更新する必要があります。Let's Encryptユーザーの場合、これは通常、証明書が60日ごとに置き換えられるように自動化されています。

    広く利用可能なソフトウェアを使用して更新を自動化できることは、証明書が期限切れになることよりも実際には快適ですか?CAでのログインは何ですか?これはどのように再び機能しますか?ほとんどの小規模サイトが商用CAで終わるように見える儀式。

  7. 以前は、私たち全員が信頼しなければならないCAが非常に多いことを怖いと言いました。ただし、トラストストアから1つのCAを削除しても、ユーザーへの影響は限られているという意味で、多くのCAを持つことは利点です。特に、単一のCAを削除しても、その1つのCAによって発行された証明書にのみ影響します。誰もが単一のCAを使用することになった場合(一部の人々はLet's Encryptで起こるかもしれないと恐れている)、そこにすべての信頼集中し、その断片化の利点を失います。

  8. そして最後に、商用サポートや100万ドルのSSL保証など、有料のCAが提供するその他の利点があります。私はこれらの両方の側面にほとんど信仰を持ちませんが、それらはLet's Encryptが提供しないものです。

頭が痛い...質問がありましたか?

快適に感じるものを使用してください!DV証明書の場合、実際にさまざまなCAを区別するものはほとんどありません。Let's Encryptを専門的にも個人的にも使用していますが、満足しています。

Let's Encryptを避けるために考えられる4つの潜在的な理由は本当にあります。

  • EV(またはOV)証明書が必要な場合。
  • 証明書の更新を自動化できない、またはしたくない場合、3か月の証明書の有効期限は短すぎます。
  • Let's Encryptを信頼していない場合(ただし、DNS-CAAなどの他の手段も検討する必要があります。ブラウザでLet's Encryptもブラックリストに登録する必要があります)。
  • Let's Encryptが何らかの理由で中止またはブラウザから削除されると思われる場合。

これらのいずれにも該当しない場合は、証明書の代金を支払わないでください。


17
EV証明書はユーザーが無視するため、もはや有用とは見なされないことに注意してください。ブラウザ、特にChromeおよびモバイルデバイスでは、緑色のテキストと名前の表示が削除または埋め込まれています。
シンプルユーザー

8
信頼できる第三者に秘密鍵の証明書を作成するように依頼するのではなく、対応する公開鍵の証明書を作成するように依頼してください。マイナーなピックですが、重要です。秘密鍵がシステムから離れることはありません
MechMK1

両方の良い点。全体像を正確に保ちながら詳細レベルを管理しようとしていましたが、これら2つのことをもっと明確にすべきでした。これらの事実を少しでもうまく反映できるように、答えを更新しました。
マルセルム

4
具体的には、Chrome v77(現在v67)の時点で、ChromeはEV証明書を直接表示しなくなりました。Firefox(現在68)はv70と同じことを計画しています。
knallfrosch

1
:そして、EV証明書の約3分のコメントを追加するには、トロイハント(再)は、彼らが本当に死んでいる理由を説明する良い記事書くtroyhunt.com/...
Neyt

7

Let's Encryptは、次のようなあなたが言及したものを含む多くの点で優れています。

  1. それは無料です。それを乗り越えるのは難しい。
  2. 自動更新機能があります(ただし、Let's Encryptだけではないはずです)
  3. 設定はとても簡単です。
  4. Googleはこれを署名付きSSLとしてサポートしています。これは、SEOとセキュリティに関しては大きな問題です。

ただし、いくつかの短所があります。

  1. あなたがサイトを所有していることを確認するために動作する検証システムは、いくつかのウェブサイトのホストと互換性がありません.InfinityFreeでLet's Encryptを動作させようとしてかなりの頭痛がして、運命を受け入れましたできなかった。
  2. 「これが壊れた場合、私たちはあなたを助けます」と言う種類の保険はありません。それはオープンソースであるため、Let's Encryptが機能しないか、何らかの形でクラックされた場合、あなたはあなた自身です。

「動作する検証システム」これは、IETFおよびCABフォーラムの要件で説明されているHTTP-01とDNS-01の両方の標準メカニズムです。DV証明書の場合、すべてのCAはまったく同じCAにバインドされます。
パトリックメヴゼク

10
「オープンソースだから」それは(ビールのように)無料であり、オープンソースではありません。APIは標準であり(IETFのACMEを参照)、オープンソースクライアント(およびサーバー)があります。
パトリックメヴゼク

4
「自動更新します」自分で暗号化しようではありません。証明書の所有者は更新を依頼するために連絡する必要があります。自動的にプッシュされることはありません。これは、証明書の発行にACMEなどの自動プロトコルを使用することの副作用です。
パトリックメヴゼク

GoogleはGoogleだけでなく、「Googleを署名付きSSLとしてサポートします」とあなたはおそらく「完全に信頼できるCA」としてサポートします(暗号化しましょう)(「署名付きSSL」は意味がありません)。letsencrypt.org/2018/08/06/…を
パトリックメヴゼク

HTTPS通信に使用されるX.509証明書の保険については、security.stackexchange.com / questions
Patrick Mevzek

4

LetsEncrypt証明書は素晴らしいです。証明書を購入する代わりに自分で使用します。いくつかの欠点があります。

  • LetsEncryptは、過去3か月間のみ証明書を暗号化します。購入した証明書のほとんどは、1〜2年間有効です。それは、証明書を更新するために自動化されたプロセスが絶対に必要であることを意味します。そうしないと忘れがちになります。
  • LetsEncryptは、最も低い検証タイプの証明書のみを提供します。ドメイン検証(DV)は、証明書の所有者がドメインを制御できることのみを検証します。組織検証(OV)証明書は、証明書を要求している個人または会社の文書も確認します。Extended Validation(EV)証明書にはさらにチェックが必要です。証明書が優れているほど、偽造が難しくなり、そのためにサイトの信頼性が信頼できるようになります。実際には、ブラウザーはEV証明書に視覚的なうなずきを与えるだけで、通常はアドレスバーに緑色で何かを表示します。この時点まで、ほとんどのユーザーはさまざまな検証レベルを知りませんし、気にしません。
  • ワイルドカード証明書は、LetsEncryptから取得するのが少し難しくなります。他の場所からは、通常より多くのお金を払うだけです。LetsEncryptでは、ワイルドカード証明書のDNS検証が必要です。

これまで、セキュリティ証明書には常に費用がかかりました。無料の証明書を提供している他の企業が出入りしています。以前は、SSLを使用して単一ドメインの無料の証明書を提供していたStartSSLを使用しました。LetsEncryptは、以前の無料の証明書ベンダーよりも制限が少なく、はるかに自動化されています。また、EFF、Mozilla、Chrome、Ciscoなどの大きな支持者もいます。https://letsencrypt.org/sponsors/を参照してください 。何年も実行されると予想されるほど十分に実行されているようです。


1
DVとOF / EVの間に実際の機能的な違いはありますか?それとも、文字通りもっと徹底的なチェックですか?
8

4
「証明書を最後の3か月間だけ暗号化します。」それは意図的に行われ、欠点としてではなく、実際にはポジティブなことと見なされています。
パトリックメヴゼク

1
@Eight異なるチェックと異なる最終結果:DV証明書はホスト名を識別し、OV / EV証明書はエンティティを識別します。また、CABフォーラムの要件にはさまざまな制約があり、たとえば3年間はEVを使用できず、ワイルドカードも使用できません。
パトリックメヴゼク

5
「LetsEncryptは、最も低い検証タイプの証明書のみを提供します。[..]証明書が優れているほど、サイトの信頼性が高まります。」これは個人的な好みの問題であり、普遍的な真実ではありません。そして、現在のWeb PKIのため、ほとんど問題ではありません。エコシステム全体のセキュリティを定義するのは、トラストストアで最も安全なCAのセキュリティです。誰もがドメインでCAA + DNSSECを使用し、検証中の最小DNSSECおよび複数の有利なポイント。
パトリックメヴゼク

2
「この時点まで、ほとんどのユーザーはさまざまな検証レベルを知りませんし、気にしません。」-それは彼らをかなり無意味にします。ユーザーがEV / DV証明書を区別しない場合、一部のドメインの有効なDV証明書を取得した攻撃者は、元のサイトにEV証明書がある場合でも、そのドメインでMITM攻撃を実行できます。
marcelm

0

すべてが自動更新を使用できるわけではありません

CertBotを使用すると、Webサイトでの使用が簡単になります...

Webサイトの認証に使用するLDAPサーバーがあります。安全なポートで実行されますが、実行するには署名付き証明書が必要です。無料のワイルドカード証明書を使用することもできますが、それは、証明書を3か月ごとにPKCS12に変換し(WebサーバーはPEMを使用)、新しい証明書をインポートすることを意味します。ああ、私たちのネットワークファイアウォールもPKCS12を使用しています。無料で手間がかかります。


1
あなたがそんなに傾いているなら、あなたはその変換を自動化することもできます。証明書を更新するためにcertbot/ acmetool/ whathaveyouを実行しているcronjobが既にある場合opensslは、変換を実行するために呼び出すcronjobを追加できます。
marcelm

-1

これに対する単純な答えは、多くのウェブマスターが貴重な時間を不必要に消費するこれらのことをしたくないということです。letsencryptの場合、使いやすく無料ですが、3か月ごとに証明書を覚えて再インストールする必要があります。あなたがそれをしないか、単に忘れると、サイトは訪問者と検索エンジンに404エラーを表示します。


10
「覚えておく必要があります」いいえ、必要な自動化を配置し、覚えておくことなく仕事をさせる必要があります。監視も行う必要があります。
パトリックメヴゼク

14
「それからあなたのサイトは404エラーを表示します」確かにそうではありません。証明書の有効期限が切れるとTLSハンドシェイクの失敗がトリガーされ、HTTPレベルでは何も届きません。クライアントには、ブラウザにいくつかのテキスト(基本的には理解できない)と、通過するかどうかを尋ねるボタンが付いた大きな警告が表示されます。
パトリックメヴゼク

多くのホスティングサイトは、追加料金なしで、ボタンを押すだけのletencryptを作成しています。文字通り、ウェブサイト設定パネルで「欲しい!」と書かれたボタンをクリックするだけです。更新を含め、その時点からすべてが自動的に行われます。
ジェームズKポーク

1
〜100個のドメインのプロフェッショナルな管理者として、以前のCAで以前必要であったように、毎年手動で証明書を更新するよりも、自動更新でLet's Encryptを好むことを伝えることができます。
マーセル

acme.shLet's Encrypt証明書のインストールに使用すると、更新もインストールされます。それを行わないことは、より多くの作業です。
Colin 't Hart
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.