У меня возникают проблемы с пониманием того, почему нам нужно приобретать SSL-сертификаты, когда мы можем генерировать их локально, используя openSSL. В чем разница между сертификатом, который я приобретаю, и тестовым сертификатом, который я генерирую локально? Это просто большая афера?
57
Ответы:
Одним словом - доверие. Сертификат SSL от провайдера, которому доверяет ваш браузер, означает, что он, по крайней мере, провел базовую проверку, чтобы сказать, что вы тот, кем вы себя называете.
В противном случае я мог бы сделать свои собственные сертификаты для google.com или yourbank.com и притвориться ими.
Платные сертификаты не обеспечивают какой-либо дополнительный уровень шифрования по сравнению с собственной подписью (обычно). Но самозаверяющий сертификат заставит браузер выдать ошибку.
Да, части SSL - это мошенничество (сертификат verisign против geotrust, где verisign до 100 раз дороже), но не все.
Если это все внутреннее, то нет необходимости в платном сертификате, так как вы можете использовать свои собственные методы доверия (например, ничего не делать или, возможно, просто проверять отпечатки пальцев).
источник
Весь смысл SSL-сертификата заключается в том, что браузер имеет достаточную степень доверия к открытому ключу сервера для транзакций HTTPS.
Сначала давайте рассмотрим, что произойдет, если мы не будем использовать сертификаты. Вместо этого сервер отправлял открытый ключ в виде открытого текста, а браузер инициировал зашифрованное соединение с его использованием (первое, что он сделал бы, - это зашифровал свой открытый ключ и надежно отправил его). Что если я и нападающий вклинились посередине? Я мог бы на лету заменить ваш открытый ключ на мой, иметь зашифрованное соединение с браузером, расшифровать все, что я получаю, зашифровать его с помощью вашего открытого ключа и отправить его (и наоборот для трафика типа ответа). Ни одна из сторон не заметит разницы, так как никто не знает открытых ключей заранее.
Итак, мы установили, что браузеру нужно как-то доверять моему открытому ключу. Один из способов сделать это - сохранить все зарегистрированные открытые ключи в браузере. Конечно, это потребовало бы обновления каждый раз, когда кто-то регистрировал открытый ключ, и это привело бы к раздутию. Можно также хранить открытые ключи в руках DNS-серверов 1 , но DNS-серверы также могут быть подделаны, и DNS не является безопасным протоколом.
Таким образом, единственный оставшийся вариант - «связать» доверие через механизм подписи. В браузере хранится информация о нескольких центрах сертификации, и ваш сертификат будет отправлен вместе с цепочкой других сертификатов, каждый из которых подписывает следующий и переходит в корневой / доверенный / встроенный центр сертификации. Задача CA - убедиться, что домен принадлежит вам, прежде чем подписывать сертификат для вас.
Поскольку CA является бизнесом, они взимают за это плату. Некоторые больше, чем другие.
Если вы сделали свой собственный сертификат, вы получите ошибку, похожую на:
Там нет значения для неподписанного сертификата. Это все равно что взять карандаш и буклет, нарисовать паспорт, в котором утверждается, что вы - Барак Обама. Никто не будет доверять этому.
1. В конце концов, ваша DNS-запись создается при регистрации домена. Использование более надежного протокола, который позволяет одновременно регистрировать открытые ключи, было бы интересной концепцией.
источник
Ответ на ваш вопрос зависит от вашей аудитории: поскольку вся система сертификатов основана на «доверии», ваши пользователи должны иметь возможность самостоятельно проверять свои сертификаты или доверять третьей стороне, которая выполнила эти проверки и продемонстрировала успех, подписав подпись. ваш сертификат Термин «для подтверждения ваших сертификатов», который я использовал, немного неточен: длинная версия должна звучать так: «для подтверждения того, что вы являетесь владельцем сертификата и имеете право его использовать».
Если все ваши пользователи знают вас лично и у вас есть техническая возможность доказать, что ваш сертификат был выдан вами, техническая необходимость в использовании сертификата «сертифицированного» поставщика отсутствует. В этом случае самозаверяющий сертификат может быть даже лучше, чем у одного из провайдеров.
Но в большинстве случаев у пользователей нет возможности сделать этот процесс самостоятельно. Здесь эти поставщики SSL выходят на рынок. Они предлагают услугу для выполнения этих проверок и выражают результат проверок, подписывая сертификат. Но один важный факт, который нужно иметь в виду: подписывая сертификат, провайдер SSL выражает, что он проверил личность издателей сертификатов в соответствии со своей собственной политикой подписания. Таким образом, пользователь должен решить, является ли эта политика достаточно точной и может ли он / она доверять поставщику.
источник
Суть в том, что если сертификат является самогенерируемым, обычные пользователи не могут проверить его достоверность. Для купленного сертификата они предполагают, по крайней мере, проверить, что печать внутри сертификата является правильной. Идея: если вы поместите свой телефон и адрес в сертификат, CA предположит проверить это, но они редко делают.
Кроме того, сертификат покупки отслеживается, это означает, что пользователь всегда может отследить, откуда поступил сертификат, в то время как самоподписанный сертификат является только случайным идентификатором.
Для многих систем «подписывание кода» требовалось от авторизованного ЦС в прошлом, что обусловлено политикой, но поскольку самоподписанного сертификата так много, теперь он уже не на 100% обеспечен.
источник
Нет технической разницы (ваши собственные не менее безопасны), кроме организационной: сертификат вашего CA не является частью стандартной установки браузера. Это делает неудобным для большинства людей подключение к вашему сертификату. Но не имеет смысла покупать сертификат для внутренней сети.
источник
Все сводится к доверию. «Сертифицированный» поставщик SSL предположительно заслуживает уважения (хотя этим можно манипулировать) по сравнению с самозаверяющим сертификатом самого сервера.
Если в вашей организации есть своя собственная подпись сертификата, то это вполне приемлемо и не должно вызывать каких-либо предупреждений для пользователей (при условии, что они используют вашу цепочку сертификатов в качестве надежного источника), но все равно создаст предупреждение, если вы попытаетесь использовать его извне.
Итог: для внутреннего использования хорошо, если вы предоставляете его внешне платящему клиенту, отсутствие предупреждений является душевным спокойствием. Вы бы чувствовали себя безопаснее, если бы ваши финансовые операции проходили через аккредитованный источник или какого-то парня, стоящего на улице, которого вы на самом деле не знаете?
источник
Недавно LetsEncrypt объявил о доступности инструментов командной строки для создания действительных сертификатов.
Для тех, кто интересуется, действительны ли эти сертификаты в основных браузерах, ответ - Да:
Ссылка для системного администратора и разработчиков: https://letsencrypt.org/getting-started/
В эпоху технологии блокчейнов и ликвидации сторонних систем доверия пришло время ставить под сомнение вопрос о выпуске дорогих сертификатов несколькими избранными органами.
Хотя Letsencrypt не имеет ничего общего с технологией блокчейна, это начало в правильном направлении. Надо надеяться, что необходимость ежегодно платить высокую цену дорогостоящему центру сертификации подходит к концу.
источник
Проще говоря, самоподписанный сертификат SSL ничего не значит. Это не имеет значения для внешнего мира. Это все равно, что сказать: «У меня есть Испания» Вы могли бы честно думать, что вы делаете, но никто не собирается признать ваше требование.
По аналогии можно было бы придумать что-то, а затем заявить, что вы владеете правами на изобретение, но если вы не зарегистрировали патент в ведомстве, вам будет сложно поверить на это, не так ли?
Весь смысл сертификата в том, что он подписан властью, которой доверяют люди. Если какой-то веб-сайт имеет действительный сертификат SSL, это означает, что владелец столкнулся с проблемой регистрации своего веб-сайта, оплаты SSL-сертификата и получения официальной сертификации от какого-либо реального центра сертификации, так что это, вероятно, не дешевый фишинговый сайт. С другой стороны, если вы доверяете самозаверяющим сертификатам, то указанный фишинговый веб-сайт может просто создать свой собственный поддельный сертификат (который вы с радостью примете) и вуаля.
Конечно, если это внутренняя сеть в частной интрасети, то вы, вероятно, уже доверяете друг другу, поэтому в этом случае авторитетный сертификат на самом деле ничего не добавляет, так что вы можете смело игнорировать ярко-красные огни, которые ваш браузер бросит на вас. , То же самое относится и к небольшим веб-сайтам, где вы все еще хотите, чтобы трафик клиент-сервер был зашифрован, но ваша модель угроз не требует строгой аутентификации, и в этом случае вы можете обойтись самозаверяющим сертификатом и принять (незначительно по вашей модели угроз) риск MITM.
Что, вероятно, удовлетворительно, учитывая, насколько дорогими могут быть доверенные сертификаты SSL.
Другими словами, самоподписанный сертификат означает: «Я подтверждаю, что я тот, кто я есть - поверь мне !».
источник
Чтобы быть кратким и простым ... и немного опровергнуть то, что было сказано ...
Это не проблема шифрования, с помощью надлежащих инструментов вы можете сгенерировать сертификат локально с типом шифрования, который вы хотите ... и получить действительный сертификат.
Основное преимущество, которое вы имеете при покупке сертификата у сертифицирующего субъекта, заключается в том, что в течение срока действия сертификата они хранят на своих серверах механизм проверки всего, что вы подписали с помощью своей сертификации онлайн ...
К вашему ПК не нужно подключаться для того, чтобы ваши цифровые продукты были проверены и подтверждены вашим сертификатом ... вы должны перенаправить проверку в орган по сертификации.
источник
Извините, что пришел к этому обсуждению так поздно - я подумал, что стоит указать, что с помощью openssl можно настроить частный ЦС с собственным корневым сертификатом, а затем создать сертификаты сервера, подписанные этим ЦС. При условии, что корневой сертификат CA импортирован в браузер, и браузеру сказано принять его, сертификат сервера будет принят без комментариев. (Очевидно, что это приемлемый вариант, если сообщество пользователей небольшое, и пользователи все знают друг друга лично.)
источник
Доверяете ли вы кому-то, кто говорит "Доверяй мне"? Уверенность в подлинности может быть обеспечена только «Доверенным органом», которому все доверяют. Вот почему мы должны копить большие деньги за сертификаты.
источник