Почему я должен платить за сертификат SSL?

62

Я заплатил за сертификат SSL от Namecheap, я думаю, что он был сертифицирован ComodoSSL. Это стоило мне 7 $, их активация заняла неделю, и мне пришлось делать это самостоятельно из SSH при редактировании файлов конфигурации моего сайта.

Тогда мой друг рассказал мне о Let's Encrypt, который не только выдает бесплатные SSL-сертификаты, но и может быть установлен с помощью одной команды.

Я уверен, что здесь чего-то не хватает, но зачем мне платить за SSL-сертификат, если я могу получить его легко, бесплатно, с автоматическим обновлением?

Восемь
источник
2
Это появилось недавно и в основном это тот же вопрос: security.stackexchange.com/questions/45491/… Ранее подтвержденный ответ, недавно обновленный, по-прежнему в основном сохраняется. Но во всех ответах мне грустно видеть, что никто не объясняет различия между ценами и затратами и ценой против стоимости (связанные гарантии и страховки - верить или нет и т. Д.)
Патрик Мевзек
Я вижу оплату, когда есть экономическое обоснование для расширенной проверки и т. Д., Чтобы рядом с иконкой замка было название компании и т. Д. С технической точки зрения нет реальной причины для этого.
Иваниван
Весь ответ можно суммировать одним предложением из ответа Марсельма: «Для того чтобы сертификат имел смысл, поставщику программного обеспечения должен доверять выдавший ЦС, в противном случае сертификат бесполезен». Весь сертификат - это шифрование, подтвержденное третьей стороной. вечеринка. Если вы верите, что Let's Encrypt никогда не облажается и никогда не будет взломан, тогда вы получите пользу от этого. Но причина, по которой люди платят, заключается в том, что они действительно больше других ЦС. Просто как тот.
JakeGould
«Все сертификаты - это шифрование, подтвержденное третьей стороной» - бессмысленно. Сертификат не зашифрован, для начала он подписан . @JakeGould
user207421
Я удивлен, что никто еще не сказал этого: «выдавать что-то как законное, когда нацелено на предприятия, которые обычно относятся к letsencrypt с подозрением».
Алек Тил

Ответы:

82

Почему я должен платить за сертификат SSL?

Для большинства случаев нет веских причин платить за них.
Смотрите в самом низу сводку исключений.

Давайте сделаем шаг назад и объясним, что делают сертификаты и как примерно.

То, что обычно называют «сертификатами», состоит из двух связанных частей:

  • Сертификат собственно , который содержит открытый ключ и некоторую идентификацию (например, имя домена).
  • Закрытый ключ , который позволяет держателю (и только держатель) для цифровой подписи сообщений таким образом , что они могут быть проверены с использованием вышеуказанного сертификата.

Если вы хотите получить сертификат yourdomain.com, вы:

  • Создайте приватную / открытую пару ключей и оставьте приватную часть, ну, в общем, приватной
  • Попросите надежную третью сторону («CrediCorp») создать сертификат для yourdomain.comвашего открытого ключа.
  • Докажите каким-то образом CrediCorp, что вы контролируете yourdomain.com.
  • Поместите закрытый ключ и полученный сертификат на свой сервер и настройте веб-сервер для их использования.

Затем, если Алиса заходит yourdomain.com, ее браузер получает сертификат с вашего веб-сервера вместе с сообщением, подписанным вашим закрытым ключом. Затем ее браузер проверяет три вещи:

  • Что подписанное сообщение может быть проверено вашим сертификатом (доказывая, что оно было подписано соответствующим закрытым ключом, который только yourdomain.comдолжен иметь).
  • Домен сертификата - это домен, который браузер пытается посетить ( yourdomain.com).
  • Это сертификат от CrediCorp.

Комбинация этих трех вещей гарантирует Алисе, с которой она на самом деле разговаривает yourdomain.com, а не самозванцу ... При условии, что Алиса доверяет CrediCorp .

(Там также следуют некоторые криптовалютные танцы, чтобы превратить эту подлинность в конфиденциальность.)

Как же Алиса доверяет CrediCorp?

Это настоящая суть здесь. Короче говоря, в какой-то момент CrediCorp сказал: «Эй, мы собираемся сделать сертификаты». Приложив много усилий, следуя многим правилам , им удалось убедить некоторых людей в том, что CrediCorp действительно заслуживает доверия, и они будут правильно выдавать только сертификаты.

В частности, им удалось убедить создателей, скажем, Firefox. В результате CrediCorp попадает в A-список Firefox, и их сертификаты доверяются Firefox по умолчанию. На самом деле, Алиса доверяет Firefox, Firefox доверяет CrediCorp, а CrediCorp доверяет (после проверки) вам, когда вы утверждали, что контролировали yourdomain.com. Это почти как цепь .

Но Firefox не просто доверяет CrediCorp для выдачи сертификатов yourdomain.com, он доверяет сертификатам CrediCorp для любого домена. И Firefox также доверяет ShabbyCorp для любого домена.

Это имеет последствия. Если кому-то удастся убедить ShabbyCorp в том, что он контролирует yourdomain.com(потому что ShabbyCorp не очень тщательный), он может получить сертификат ShabbyCorp для yourdomain.comсоответствующего закрытого ключа. И с этим сертификатом они могут выдать себя за ваш веб-сервер. Ведь у них есть сертификат (плюс ключ) yourdomain.com, которому доверяет Firefox!

CrediCorp и ShabbyCorp то , что называется центры сертификации , центры сертификации для краткости. В реальном мире ComodoSSL и Let's Encrypt являются примерами CA. Но их намного больше; в этой записи, Firefox доверяет 154 ЦА .

Вау. Но как это отвечает на мой вопрос?

Я, добрался до этого ...

Вот вещь Механика, которую я изложил выше, распространяется на все сертификаты. Если у вас есть правильный, доверенный сертификат для вашего сайта, он будет работать. В сертификатах бренда А нет ничего особенного по сравнению с сертификатами бренда В; все они подчиняются одним и тем же требованиям CA и одной и той же криптографической математике.

И даже если вам нравится CrediCorp лучше - потому что вы знаете, они звучат ооочень более надежно - их использование не поможет вам. Если злоумышленник может убедить ShabbyCorp выдать ему сертификат для вашего сайта, злоумышленник может использовать этот сертификат для олицетворения вашего сайта, независимо от того, где вы его получили.

Пока Firefox доверяет ShabbyCorp, посетители не увидят разницы. (Да, посетители могут получить сертификат и просмотреть его, посмотреть, кто его выдал. Но кто это делает?) Что касается подделки сертификатов, это делает всю систему слабой, как самый слабый из 150+ ЦС. Почему да, это страшно, и это, вероятно , самые большие критики люди всей этой схемы. Тем не менее, это то, что мы застряли.

Дело в том, что если вы не доверяете ЦС в выдаче «хороших» сертификатов, то получение ваших сертификатов в другом месте вам мало поможет.

Понял, все одинаково обречено. Нет предостережений?

Weeeelllll ...

  1. Давайте начнем с того, что убил то, что я высказал в предыдущем разделе. В настоящее время можно заблокировать ваш домен только для выбранных вами ЦС, используя DNS-CAA . Предположим, что вы доверяете Comodo и не доверяете другим CA, можно попросить все CA, кроме Comodo, не выдавать сертификаты для вашего домена. В теории. (Поскольку DNS-CAA не проверяется браузерами, а только путем выдачи CA. Таким образом, скомпрометированный CA может игнорировать эту защиту.)

    Если вы готовы пережить эту проблему, то возникает вопрос: действительно ли Let's Encrypt менее надежен? Или менее безопасно? Надежность - это сложный вопрос, как вы это оцениваете? Все, что я могу сказать, это то, что в моем восприятии Let's Encrypt не менее заслуживает доверия, чем другие CA. Что касается безопасности их проверок, они очень похожи на то, что делают коммерческие ЦС (для сертификатов DV в любом случае). Смотрите также этот вопрос .

    Для чего это стоит: сеть StackExchange, частью которой является этот сайт, в настоящее время использует сертификаты Let's Encrypt. Большинство людей никогда бы этого не заметили, и если бы они это сделали, я искренне сомневаюсь, что это будет много для них значить.

  2. Чтобы сертификат имел смысл, выдавшему ЦС должны доверять поставщики программного обеспечения , в противном случае сертификат бесполезен. Я использовал Firefox в качестве примера, но на самом деле вы хотите, чтобы ЦС доверял по крайней мере текущие и несколько более старые версии Firefox, Chrome, Windows, Mac OS X, iOS и Android. И десятки мелких игроков. CA, которые стоит рассмотреть (включая ComodoSSL и Let's Encrypt), доверяют всем этим объектам.

  3. Если ЦС ведет себя неправильно или считается ненадежным, он будет удален из различных хранилищ доверия достаточно быстро, чтобы испортить день владельцев сертификатов. Два известных примера, о которых я знаю, это DigiNotar и StartCom / WoSign (ознакомьтесь со статьями, они дают интересную информацию о динамике доверия!). Так что, если вы думаете, что Let's Encrypt испортится или будет сброшен по какой-то другой причине, то, если вы не будете их использовать, вы не сможете попасть в этот конкретный случай.

  4. Сертификаты используют магию крипто-математики ; вопрос в том, какая крипто- математическая магия ? Что если это слабая магия? Это на самом деле реальная проблема, и CA показали, что тоже могут ее улучшить. К счастью, поставщики браузеров преодолели отставание, установив здесь минимумы для принятия сертификатов. Например, сертификаты, использующие RSA-1024 или SHA-1 , теперь отклоняются большинством браузеров, поэтому любой работающий на практике сертификат не использует эти устаревшие крипто-примитивы. В результате любой CA (включая Let's Encrypt) довольно сложно разочароваться в этой части.

  5. Раньше я более или менее говорил, что все сертификаты созданы равными. Я солгал, это не так. В частности, то, что я обсуждал до сих пор, это « Сертификаты домена (DV)», которые используют подавляющее большинство веб-сайтов. Они обеспечивают определенную степень уверенности в том, что ваш браузер фактически общается с доменом, который он показывает в строке URL. Существуют также сертификаты « Подтверждение организации (OV)» и « Расширенная проверка (EV)», которые требуют гораздо более тщательной проверки со стороны ЦС. В частности, вы должны быть в состоянии получить сертификат EV только для somebank.com/ SomeBank Inc., если вы можете доказать , что вы находитесь SomeBank, Inc.

    Сертификаты EV намного дороже получить (приблизительная сумма: сотни евро / долл. США в год), и они могут быть вознаграждены зеленой строкой URL или замком в браузере, возможно, с отображением «SomeBank, Inc.» также. В отличие от сертификатов DV, они также предлагают некоторую идею относительно того, кому этот сайт может фактически принадлежать. С другой стороны, они могут выглядеть более законными. Разочарование в том, что пользователи редко обращают на них внимание, поэтому их эффективность ограничена.

    Злоумышленник с поддельным сертификатом DV может по-прежнему выдавать себя за сайт, просто без дополнительной визуальной подсказки, которую может предложить сертификат EV, а пользователи обычно не замечают различий. И наоборот, можно получить вводящий в заблуждение сертификат EV, чтобы облегчить фишинг. В результате и Chrome, и Firefox будут отказываться от своих визуальных указаний на сертификаты EV, и некоторые люди считают, что они полностью исчезнут.

    Если вы являетесь банком, вам, вероятно, все еще нужен сертификат EV. Иначе не так уж и много. Но если сделать нужно EV, Давайте шифровать не для вас , потому что они просто не предлагают сертификаты EV.

  6. Сертификаты действительны только в течение ограниченного времени . Сертификаты от типичного коммерческого центра сертификации, как правило, действительны в течение одного года, но я видел что-то от трех месяцев до трех лет. Сертификаты Let's Encrypt действительны в течение 90 дней , что составляет короткую сторону этого диапазона, поэтому вам придется часто их обновлять. Для пользователей Let's Encrypt это обычно автоматизировано, поэтому сертификаты заменяются каждые 60 дней.

    Возможность автоматизировать обновление с помощью широко доступного программного обеспечения на самом деле более приятна, чем ежегодный О, черт возьми, мой сертификат истек? Какой у меня логин в ЦС? Как это работает снова? ритуал, который большинство небольших сайтов, кажется, в конечном итоге в коммерческих центрах сертификации.

  7. Раньше я называл это страшным, что существует так много CA, которым мы все должны доверять. Наличие множества ЦС также является преимуществом в том смысле, что удаление одного из наших хранилищ доверия оказывает ограниченное влияние на пользователей. В частности, исключение одного ЦС повлияет только на сертификаты, выпущенные этим ЦС. Если все заканчивают тем, что используют один единственный CA (который, как некоторые опасаются, может случиться с Let's Encrypt ), мы концентрируем все наше доверие и теряем преимущества этой фрагментации.

  8. И, наконец, есть и другие преимущества , которые может предложить платный CA, такие как коммерческая поддержка или гарантия SSL на миллион долларов . Я мало верю в оба этих аспекта, но это то, что Let's Encrypt не предлагает.

Голова болит ... У меня был вопрос, я думаю?

Используйте то, что вам удобно! Для сертификатов DV мало что фактически отличает различные CA. Я использую Let's Encrypt как профессионально, так и в частном порядке, и я доволен этим.

На самом деле есть только четыре потенциальные причины, чтобы избежать Let's Encrypt:

  • Если вам нужны сертификаты EV (или OV).
  • Если вы не можете или не хотите автоматизировать продление сертификата и срок действия сертификата три месяца слишком короток для вас.
  • Если вы не доверяете Let's Encrypt (но обязательно учтите и другие меры, такие как DNS-CAA, и вам, вероятно, также следует занести черный список Let's Encrypt в ваш браузер).
  • Если вы считаете, что Let's Encrypt по каким-либо причинам будет прекращен или удален из браузеров.

Если ни один из них не относится к вам, не стесняйтесь не платить за ваши сертификаты.

marcelm
источник
17
Обратите внимание, что сертификаты EV больше не считаются полезными, потому что пользователи игнорируют их; браузеры, особенно Chrome и на мобильных устройствах, удаляют или скрывают зеленый текст и отображают имя.
просто
8
Помните, что вы не просите надежную третью сторону создать сертификат для вашего закрытого ключа, а скорее для соответствующего открытого ключа. Незначительный, но важный. Ваш закрытый ключ никогда не покидает вашу систему.
МечМК1
Оба хороших момента; Я пытался управлять уровнем детализации, оставаясь в то же время корректным, но мне следовало бы прояснить эти две вещи. Я обновил ответ, чтобы, надеюсь, отразить эти факты немного лучше.
Марсель
4
Чтобы быть более конкретным, начиная с Chrome v77 (в настоящее время v67), Chrome больше не будет напрямую отображать сертификаты EV. Firefox (в настоящее время 68) планирует сделать то же самое, что и с v70.
knallfrosch
1
И чтобы добавить третий комментарий о сертификатах EV, Трой Хант (re) пишет хорошую статью, объясняющую, почему они действительно мертвы: troyhunt.com/…
Neyt
7

Let's Encrypt превосходит во многих отношениях, в том числе те, которые вы упомянули, такие как:

  1. Это бесплатно. Трудно пройти это.
  2. Он имеет автоматическое обновление (я уверен, что это не просто эксклюзивно с Let's Encrypt, однако)
  3. Это довольно легко настроить.
  4. Google поддерживает его как подписанный SSL, что очень важно, когда речь заходит о SEO и безопасности.

Однако есть пара минусов.

  1. Система проверки, на которой она работает, чтобы убедиться, что вы, в общем-то, являетесь владельцем сайта, не совместима с некоторыми хостами веб-сайтов, у меня было довольно много головной боли, пытаясь заставить Let's Encrypt работать на InfinityFree, и я просто принял судьбу что я не мог этого сделать.
  2. Вы не получаете никакой страховки, которая говорит: «Если это сломается, мы поможем вам», так как это с открытым исходным кодом, вы сами, если Let's Encrypt не работает или каким-то образом взломан.
Esmoothy
источник
«Система проверки работоспособности». Это стандартный механизм, HTTP-01 и DNS-01, как описано в требованиях IETF и CAB Forum. Все ЦС привязаны к одному и тому же сертификату для сертификатов DV.
Патрик Мевзек
10
"Так как это с открытым исходным кодом" Это бесплатно (как в пиве), а не с открытым исходным кодом. API является стандартным (см. ACME в IETF), и есть клиенты с открытым исходным кодом (и, возможно, серверы).
Патрик Мевзек
4
«У него есть автоматическое обновление». Это не Let's Encrypt от tiself. Вы, как владелец сертификата, должны связаться с ними, чтобы попросить продления. Они не выдвигают это вам автоматически. Это побочный эффект использования автоматизированного протокола, такого как ACME, для выдачи сертификатов.
Патрик Мевзек
«Google поддерживает его как подписанный SSL», а не только Google, и вы, вероятно, хотели сказать, что он поддерживает его (Let's Encrypt) как «полностью доверенный CA» («подписанный SSL» не имеет смысла). Смотрите letsencrypt.org/2018/08/06/…
Патрик Мевзек
Что касается страхования сертификатов X.509, используемых для связи HTTPS, см. Также security.stackexchange.com/questions/179415/… и scotthelme.co.uk/…
Патрик Мевзек
4

Сертификаты LetsEncrypt великолепны. Я использую их сам, а не покупаю сертификаты. Есть несколько недостатков:

  • Сертификаты LetsEncrypt действуют только 3 месяца. Большинство купленных сертификатов действительны в течение одного или двух лет. Это означает, что вам абсолютно необходим автоматизированный процесс для обновления ваших сертификатов, иначе его будет слишком легко забыть.
  • LetsEncrypt предлагает только самый низкий тип проверки сертификата. Проверка домена (DV) только подтверждает, что владелец сертификата имеет контроль над доменом. Сертификаты организации (OV) также проверяют документацию лица или компании, запрашивающей сертификат. Сертификаты расширенной проверки (EV) требуют еще дополнительных проверок. Чем лучше ваш сертификат, тем сложнее его подделать, и тем больше можно доверять подлинности вашего сайта. На практике браузеры только визуально кивают на сертификаты EV, обычно показывая для них что-то зеленое в адресной строке. До этого момента большинство пользователей не знают или не заботятся о различных уровнях проверки.
  • Немного сложнее получить сертификаты Wild Card от LetsEncrypt. Из других мест вы обычно просто платите больше денег. LetsEncrypt требует проверки DNS для подстановочных сертификатов.

Исторически сертификаты безопасности всегда что-то стоили. Другие компании, которые предложили бесплатные сертификаты, приходили и уходили. Раньше я использовал StartSSL, который предлагал один бесплатный домен сертификат, пока они не сделали некоторые тенистые вещи, и браузеры перестали доверять их сертификатам. LetsEncrypt имеет меньше ограничений, чем предыдущие производители бесплатных сертификатов, и гораздо более автоматизирован. У этого также есть некоторые большие сторонники, такие как EFF, Mozilla, Chrome и Cisco. См. Https://letsencrypt.org/sponsors/. Кажется, он достаточно хорошо работает, и я ожидаю, что он будет в течение многих лет.

Стивен Остермиллер
источник
1
Есть ли реальная функциональная разница между DV и OF / EV? Или это буквально просто более тщательная проверка?
Восемь
4
«Сертификаты LetsEncrypt действуют только 3 месяца». это сделано нарочно и не рассматривается как недостаток, а на самом деле положительный момент.
Патрик Мевзек
1
@ Восемь различных проверок и разных конечных результатов: сертификат DV идентифицирует имя хоста, сертификат OV / EV идентифицирует объект. Кроме того, требования CAB Forum накладывают различные ограничения, вы не можете иметь EV на 3 года, например, ни для групповых символов.
Патрик Мевзек
5
«LetsEncrypt предлагает только самый низкий тип проверки сертификата. [..] Чем лучше ваш сертификат, тем больше вашему сайту можно доверять». Это вопрос личных предпочтений, а не универсальной правды. И в большинстве случаев это не имеет значения, поскольку текущая веб-инфраструктура открытых ключей - это безопасность самого низкого защищенного центра сертификации в вашем хранилище доверенных сертификатов, которое определяет безопасность всей экосистемы ... пока все не используют CAA + DNSSEC на своих доменах, а все CA используют на минимум DNSSEC во время проверки и несколько точек зрения.
Патрик Мевзек
2
«До этого момента большинство пользователей не знают или не заботятся о разных уровнях проверки». - Что делает их довольно бессмысленными. Если пользователи не различают сертификаты EV / DV, злоумышленник, получивший действительный сертификат DV для какого-либо домена, может проводить атаки MITM на этот домен, даже если исходный сайт имеет сертификат EV.
Марсель
0

Не все могут использовать автоматическое обновление

CertBot облегчает использование для веб-сайтов ... но что, если вы используете сертификаты для других целей?

У нас есть сервер LDAP, с которым аутентифицируется наш веб-сайт. Он работает через безопасный порт, но для его работы требуется подписанный сертификат. Я мог бы пойти с бесплатным подстановочным сертификатом ... но это означает, что нужно конвертировать сертификат в PKCS12 каждые 3 месяца (веб-серверы используют PEM), а затем импортировать новый сертификат. Да, и наш сетевой брандмауэр тоже использует PKCS12. Это много хлопот бесплатно.

Machavity
источник
1
Если вы так склонны, вы также можете автоматизировать это преобразование; уже есть cronjob, работающий с certbot/ acmetool/ whathaveyou, чтобы обновить сертификат, вы можете добавить тот, который вызывает opensslпреобразование.
Марсель
-1

Простой ответ на это - многие веб-мастера просто не хотят заниматься такими вещами, которые излишне отнимают их драгоценное время. В случае letsencrypt его легко использовать и бесплатно, но вы должны помнить и переустанавливать сертификат каждые 3 месяца. Если вы этого не сделаете или просто забудете сделать это, то ваш сайт покажет ошибку 404 вашим посетителям и поисковым системам.

Павел
источник
10
«Вы должны помнить» Нет, вам нужно установить необходимую автоматизацию и позволить ей делать свою работу, не имея ничего запоминать. Вы также должны сделать мониторинг.
Патрик Мевзек
14
"Это тогда ваш сайт покажет ошибку 404" Конечно, нет. Сертификат с истекшим сроком действия вызовет сбой рукопожатия TLS, и ничто не достигнет уровня HTTP. Клиенты увидят большое предупреждение в своем браузере с текстом (который они в основном не поймут) и кнопкой, спрашивающей их, хотят ли они пройти или нет.
Патрик Мевзек
Многие хостинговые сайты просто делают letsencrypt нажатием кнопки без дополнительной оплаты. Вы буквально просто нажимаете кнопку на панели конфигурации сайта, которая говорит: «Я хочу это!» и с этого момента все происходит автоматически, включая обновление.
Джеймс восстановил Монику Полк
1
Как профессиональный администратор для ~ 100 доменов, я могу вам сказать, что я очень предпочитаю Let's Encrypt с автоматическим обновлением, а не с ручным обновлением сертификатов каждый год, как я делал это раньше с нашим предыдущим CA.
Марсель
Использование acme.shдля установки сертификатов Let's Encrypt также устанавливает обновление. Это больше работы, чтобы не делать это.
Colin 't Hart