Почему браузеры показывают ужасные ошибки для недоверенных сертификатов SSL? - PullRequest
8 голосов
/ 30 сентября 2010

При столкновении с ненадежным сертификатом каждый известный мне браузер отображает явную ошибку, например:

image

Почему это ?

Настоятельно не рекомендуется веб-разработчикам использовать удивительную технологию, такую ​​как SSL, из-за опасений, что пользователи сочтут веб-сайт крайне сомнительным.Нелегитимные (т. Е. Фишинговые) сайты прекрасно работают по HTTP, так что это не может быть проблемой.

Почему они делают это таким большим делом?Разве SSL не имеет, даже если его нельзя доверять лучше, чем вообще его не иметь?


Похоже, меня неправильно понимают.Я не согласен с тем фактом, что сайты HTTP не могут быть более безопасными, чем сайты HTTPS, даже если они не заслуживают доверия.HTTP не выполняет шифрование или идентификацию.Фишеры могут создавать свои сайты по HTTP, и предупреждения не отображаются.Добросовестно, я как минимум шифрую трафик.Как это может быть плохо?

Ответы [ 7 ]

9 голосов
/ 30 сентября 2010

Они делают это потому, что сертификат SSL предназначен не только для защиты связи по проводам. Это также средство для определения источника защищаемого контента (защищенный контент, исходящий от человека в средней атаке через поддельный сертификат, не очень помогает).

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

5 голосов
/ 30 сентября 2010

SSL обеспечивает безопасную связь между клиентом и сервером, позволяя взаимную аутентификацию , использование цифровых подписей для обеспечения целостности и шифрование для конфиденциальности.

( apache ssl docs )

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

или

Если вы просто используете SSL для небольшой группы людей или для внутренних дел, вы можете попросить людей установить ваш корневой сертификат в своем браузере в качестве доверенного сертификата. Это будет хорошо работать на локальной сети, где сетевой администратор может установить его по всей сети.

Может показаться неловким посылать ваш сертификат другим людям для установки, но если вы подумаете об этом, чему вы доверяете больше: сертификату, пришедшему с вашим браузером, потому что этот орган оплатил их сборы, или сертификату, отправленный вам лично вашим администратором сервера / менеджером аккаунта / внутренним контактом?


Только для дерьма и хихиканья я подумал, что я включу текст, отображаемый по ссылке «Помоги мне понять», на скриншоте в ОП ...

Когда вы подключаетесь к защищенному веб-сайту, сервер, на котором размещен этот сайт, представляет вашему браузеру нечто, называемое «сертификатом», для проверки его личности. Этот сертификат содержит идентификационную информацию, например адрес веб-сайта, который проверяется третьей стороной, которой доверяет ваш компьютер. Убедившись, что адрес в сертификате совпадает с адресом веб-сайта, можно убедиться, что вы безопасно общаетесь с веб-сайтом, который вы намеревались, а не с третьей стороной (например, злоумышленником в вашей сети).

В случае несоответствия домена (например, при попытке перейти на поддомен по сертификату без подстановочных знаков) этот параграф следует:

В этом случае адрес, указанный в сертификате, не совпадает с адресом веб-сайта, на который пытался зайти ваш браузер. Одной из возможных причин этого является то, что ваши сообщения перехватываются злоумышленником, который представляет сертификат для другого веб-сайта, что может привести к несоответствию. Другая возможная причина заключается в том, что сервер настроен на возврат одного и того же сертификата для нескольких веб-сайтов, включая тот, который вы пытаетесь посетить, даже если этот сертификат недействителен для всех этих веб-сайтов. Chromium может точно сказать, что вы достигли, но не может подтвердить, что это тот же сайт, что и foo.admin.example.com , который вы намеревались достичь. Если вы продолжите, Chromium не будет проверять дальнейшие несоответствия имен. В общем, лучше не идти дальше этого пункта.

Если сертификат не подписан доверенным органом, вместо этого следуют следующие параграфы:

В этом случае сертификат не был проверен третьей стороной, которой доверяет ваш компьютер. Любой может создать сертификат, утверждающий, что он является веб-сайтом, который он выберет, поэтому он должен быть проверен доверенной третьей стороной. Без этой проверки идентификационная информация в сертификате не имеет смысла. Поэтому невозможно проверить, что вы общаетесь с admin.example.com вместо злоумышленника, который сгенерировал свой собственный сертификат, утверждающий, что он является admin.example.com . Вы не должны идти дальше этого пункта.

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

Эти последние абзацы, я думаю, дают довольно хороший ответ на этот вопрос.;)

3 голосов
/ 30 сентября 2010

Люди предполагают, что https-соединения безопасны, достаточно хороши для данных своей кредитной карты и важных паролей. Человек в середине может перехватить SSL-соединение с вашим банком или PayPal и предоставить вам собственный самозаверяющий или другой сертификат вместо реального сертификата банка. Важно громко предупредить людей, если такая атака может иметь место.

Если злоумышленник использует фальшивый сертификат для домена банка и подписывает его каким-то изворотливым ЦС, который не проверяет вещи должным образом, он может перехватить трафик SSL в ваш банк, и вы не станете мудрее немного беднее. Без всплывающего предупреждения нет необходимости в хитром CA, а интернет-банкинг и электронная коммерция были бы совершенно небезопасны.

3 голосов
/ 30 сентября 2010

Смысл SSL в том, что вы можете убедиться, что сайт - это тот, о ком он говорит. Если сертификату нельзя доверять, то весьма вероятно , что сайт не тот, о котором он говорит.

Зашифрованное соединение на самом деле является дополнительным преимуществом в этом отношении (то есть вы можете зашифровать соединение без использования сертификатов).

2 голосов
/ 30 сентября 2010

Почему это?

Потому что большинство людей не читают. Они не понимают, что означает https. Большая ошибка - ОБЯЗАТЕЛЬНО , чтобы заставить людей читать это.

Настоятельно не рекомендуется веб-разработчикам использовать такую ​​удивительную технологию, как SSL, из-за опасений, что пользователи сочтут веб-сайт крайне сомнительным.

Нет, это не так. У вас есть доказательства этого? Это утверждение смешно.

Это настоятельно поощряет разработчиков и пользователей знать, с кем они имеют дело.

"опасения, что пользователи сочтут сайт крайне сомнительным"

Что это вообще значит? Вы имеете в виду «опасения, что отсутствие сертификата означает, что пользователи сочтут сайт крайне сомнительным»?

Это не "страх": это цель.

Цель состоит в том, что " отсутствие сертификата означает, что пользователи сочтут веб-сайт крайне ненадежным". Это цель.

1 голос
/ 30 сентября 2010

Судя по вашим комментариям, я вижу, что вы путаетесь между тем, что, по вашему мнению, люди говорят, и тем, что они на самом деле говорят.

Почему они делают это таким большим делом??Разве SSL не поддерживается, даже если он не заслуживает доверия, а не вообще?

Но почему они должны показывать ошибку?Конечно, «недоверенный» сертификат не может быть гарантированно более безопасным, чем отсутствие SSL, но он не может быть менее безопасным.

Если вы заинтересованы исключительно в зашифрованном соединении, да, этоправда.Но SSL предназначен для дополнительной цели: идентификация.Таким образом, сертификаты.

Я не говорю о сертификатах, которые не соответствуют домену (да, это довольно плохо).Я имею в виду сертификаты, подписанные органами, не входящими в доверенный центр сертификации браузера (например, самоподписанный)

Как вы можете доверять сертификату, если ему не доверяет тот, кому вы доверяете?

Редактировать

Необходимость предотвращения атак "человек посередине" возникает из-за того, что вы пытаетесь установить привилегированное соединение.

Что выНеобходимо понимать, что с простым HTTP нет никаких гарантий безопасности, и любой может прочитать содержимое, переданное по соединению.Следовательно, вы не передаете конфиденциальную информацию.Нет необходимости в предупреждении, поскольку вы не передаете конфиденциальную информацию.

Когда вы используете HTTPS, браузер предполагает, что вы будете передавать конфиденциальную информацию, в противном случае вы будете использовать обычный HTTP.Таким образом, он сильно суетится, когда не может проверить подлинность сервера.

0 голосов
/ 04 октября 2010

Почему это?

Потому что, если есть сайт, который претендует на то, чтобы быть законным сайтом, вы действительно хотите знать об этом как пользователь!

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

Это настоятельно не рекомендует веб-разработчикам использовать потрясающую технологию, такую ​​как SSL, из-за опасений, что пользователи сочтут этот сайт крайне сомнительным. Нелегитимные (т. Е. Фишинговые) сайты отлично работают по HTTP, поэтому это не может быть проблемой.

Что ?! Вы можете получить законный сертификат за очень мало. Вы можете установить свой собственный корень доверия бесплатно (плюс немного работы). Любой, кто развивается и стонет по этому вопросу, просто ленится и / или слишком дешев, и я не сочувствую таким отношениям.

В идеале браузер должен искать информацию, которую вы хотите сохранить в безопасности (например, вещи, похожие на номера кредитных карт), и выдавать такого рода предупреждения, если была попытка отправить эти данные по небезопасному или ненадежно защищенному каналу. , Увы, по результатам проверки трудно понять, являются ли данные частными или нет; так же, как нет такого понятия, как бит ЗЛО, так и бит ЧАСТНЫЙ. (Может быть, распространенная система метаданных могла бы сделать это… Да, верно. Забудьте об этом.) Поэтому они просто делают все возможное, и отмечают ситуации, когда существует большая вероятность возникновения проблемы.

Почему они делают это таким большим делом? Разве SSL не имеет, даже если его нельзя доверять лучше, чем его вообще нет?

С какой моделью угрозы вы имеете дело?

Производители браузеров сосредоточились на случае, когда любой может синтезировать сертификат SSL (потому что это действительно так), и взломы DNS слишком распространены; комбинация этих средств означает, что вы не можете знать, что IP-адрес, который вы получили для имени хоста, соответствует законному владельцу этого домена, и любой может претендовать на то, что владеет этим доменом. Ах, но вы вместо этого доверяете центру сертификации, чтобы хотя бы проверить, что он выдает сертификат нужному человеку, и этого, в свою очередь, достаточно (плюс несколько других вещей), чтобы можно было решить, говорите ли вы с законный владелец домена; это обеспечивает основу для всего остального доверия, вовлеченного в безопасный разговор. Надеемся, что банк будет использовать другие неблокируемые сообщения (например, письмо, отправленное по почте), чтобы сказать людям, чтобы убедиться, что идентификация сайта правильная (сертификаты EV немного помогают здесь), но это все еще немного, учитывая бинт как не подозрительны некоторые пользователи.

Проблемы с этим исходят от ЦС, которые не применяют надлежащие проверки (честно говоря, их следует выгнать с поезда для невыполнения своих обязанностей) и пользователей, которые скажут кому-нибудь что-нибудь. Вы не можете помешать им преднамеренно размещать свои собственные CC # на общедоступной доске объявлений, управляемой некоторыми смутными персонажами из Смоленска [1] , независимо от того, насколько глупа идея, которая…


[1] Не то чтобы с этим городом что-то не так. Смысл был бы таким же, если бы вы заменили Таллахасси, Балларата, Лагоса, Чунцина, Боготы, Салерно, Дурбана, Мумбаи,… Везде есть сволочи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...