Безопасно ли соединение HTTPS без действительного сертификата SSL?

Я использую соединение HTTPS без действительного сертификата SSL. Безопасно ли соединение? Информация зашифрована?


person user466981    schedule 05.10.2010    source источник
comment
Вы не можете использовать https-соединение без SSL-сертификата, не так ли? Вероятно, вы имеете в виду использование самоподписанного сертификата.   -  person Pekka    schedule 05.10.2010
comment
Почему это должно принадлежать суперпользователю?   -  person SilentGhost    schedule 05.10.2010
comment
Никакая информация или связь не могут быть безопасными. Если Интернет представляет собой серию трубок, эти трубки полупрозрачны, и любой может видеть сквозь них и в ваше приложение.   -  person Moses    schedule 05.10.2010
comment
Вам следует уточнить свой вопрос. Серверу всегда нужен сертификат, а клиенту нет.   -  person musiKk    schedule 05.10.2010
comment
@Moses Современное шифрование обеспечивает разумный уровень безопасности для любых данных, с которыми может столкнуться обычный человек - номера SSN, кредитные карты и т. д. Я полагаю, что правительство не доверит ему информацию о захваченных инопланетянах.   -  person ceejayoz    schedule 05.10.2010
comment
@Moses - То есть вы говорите, что HTTPS-соединение с вашим банком совершенно бесполезно?   -  person m.edmondson    schedule 05.10.2010
comment
@SilentGhost: Я думаю, это должно было быть фантастикой. Этот вопрос касается серверов, сетей или администрирования многих машин и лучше подходит для Server Fault.   -  person cHao    schedule 06.10.2010
comment
@Pekka - Что это? У вас есть ссылки?   -  person m.edmondson    schedule 06.10.2010
comment
@eddy Я не могу найти ссылку прямо сейчас, но она есть в спецификации CSS 3.   -  person Pekka    schedule 06.10.2010
comment
@Pekka웃 как спецификация таблицы стилей снижает видимость данных? Кстати, хорошее использование хангыля, чтобы сделать фигуру дуд. ооо и тебе.   -  person user137717    schedule 01.01.2015
comment
@user137717 user137717 Я думаю, что Пекка немного сбит с толку и имеет в виду реальную визуальную непрозрачность. Тем временем @ Moses говорит о том, как легко копировать передаваемые данные. Хотя Моисей все еще немного не в себе. Зашифрованные данные не являются прозрачными, как открытый текст, непрозрачность зависит от типа и уровня шифрования, а не зависит от навыков взломщика и уровня его ресурсов.   -  person Garet Claborn    schedule 01.06.2015
comment
Закрепленный самоподписанный сертификат намного безопаснее. Незакрепленный сертификат, подписанный ЦС, — это просто ложное чувство безопасности.   -  person ego2dot0    schedule 25.10.2016


Ответы (6)


Соединение шифруется, даже если сертификат SSL недействителен (истек срок действия, змеиное масло, ненадежный ЦС и т. д.). Проверка SSL-сертификата просто гарантирует, что вы подключаетесь к тем людям, к которым, по вашему мнению, подключаетесь. Шифрование не принесет вам никакой пользы, если люди, расшифровывающие ваши данные, являются взломщиками, а не PayPal.

person ceejayoz    schedule 05.10.2010
comment
Но в том-то и дело, что сертификат все равно требуется (действительный или нет) - person m.edmondson; 05.10.2010
comment
Да, но вы можете сгенерировать самозаверяющий файл за считанные секунды. Я воспринял вопрос как вопрос о том, нужен ли вам действующий сертификат. - person ceejayoz; 05.10.2010
comment
В этом случае вы правы, однако вопрос заключался в том, требовался ли сертификат - или ничего не будет зашифровано. - person m.edmondson; 05.10.2010
comment
Однако в вопросе говорится, что он использует HTTPS-соединение. Если подойти к вопросу на 100% буквально, то это невозможно. - person ceejayoz; 05.10.2010

На самом деле можно установить зашифрованное соединение между совершенно незнакомыми людьми без сертификата, используя алгоритмы обмена ключами Диффи-Хеллмана или подобные.

Алиса и Боб договариваются о случайном числе x. Алиса вычисляет xa, где a — большое простое число, известное только Алисе, и отправляет его Бобу. Боб вычисляет xb и отправляет его Алисе. Алиса вычисляет (xb)a, а Боб вычисляет (xa)b . Поскольку (xa)b = (xb)a = xab, Алиса и Боб теперь оба знают число xab и могут его использовать. в качестве ключа шифрования. Прелесть этого в том, что Боб не знает a, Алиса не знает b, а любые перехватчики не знают ни одного числа (поскольку вычисление a от xa, в случае больших чисел, потребуются годы).

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

Кстати, пары ключей в сертификатах не используются для шифрования фактического трафика; они используются для создания нового одноразового ключа для гораздо более быстрого симметричного шифра (такого как DES), который затем выполняет остальную часть работы.

person bobtato    schedule 28.03.2013
comment
Примечание: я думаю, вы забыли упомянуть, что все вычисления выполняются по модулю N, где N — другое большое число, согласованное Алисой и Бобом. Заметьте также, что ни X, ни N не обязательно должны быть случайными числами — они могут быть даже константами, встроенными в алгоритм; только a и b являются переменными и секретами. - person Edward Falk; 07.05.2013
comment
Предостережение в том, что это должно быть реализовано в первую очередь в браузере, верно? - person Amunak; 30.05.2013

Если бы не было проверки SSL-сертификатов, то кто-то, перехвативший канал связи, мог бы перехватить запрос на подключение к https://www.acmebank.com, отправить собственный запрос на www.acmebank.com и согласовать ключи как с acmebank.com, так и с пользователем. После этого он может получить каждый кусочек данных от пользователя, расшифровать с помощью ключа пользователя и зашифровать с помощью ключа acmebank, а также сделать то же самое с данными с acmebank.com. Конечным результатом будет то, что ни пользователь, ни acmebank не увидят ничего неправильного, но перехватчик сможет расшифровать все данные между пользователем и acmebank. Пользователь и банк будут использовать разные ключи для связи, но ни одна организация не будет об этом знать. Добавление в протокол любого стандартного аспекта для запроса того, какой ключ используется, не поможет, поскольку перехватчик может обнаружить такие запросы и соответствующим образом изменить ответы.

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

person supercat    schedule 05.10.2010
comment
По сути, вы говорите, что использование SSL без сертификата бессмысленно против опытных хакеров. - person bobobobo; 07.04.2013
comment
@bobobobo: SSL без сертификата защищает от одних угроз, но не от других. Полезна ли такая защита, зависит от типа необходимой защиты. Если бы у каждой стороны был сертификат, подтверждающий через какой-либо внешний канал, что он защищен другой стороной, не было бы необходимости в сертификатах, выдаваемых каким-либо внешним ЦС. Например, даже без центров сертификации банки могли бы размещать на билбордах отпечаток собственного сертификата, указывать во всех своих объявлениях и рассылках места, где такие... - person supercat; 08.04.2013
comment
... рекламные щиты могут быть найдены, и люди должны следить за такими рекламными щитами, чтобы убедиться, что они не подделаны. Затем их клиенты могли бы подтвердить при первом подключении к банку, что сертификат, который они получают, имеет правильный отпечаток пальца. На практике это доставило бы столько хлопот, что мало кто из клиентов захочет с этим возиться; наличие SSL, автоматически использующего сертификаты от небольшого числа доверенных органов, значительно упрощает работу. - person supercat; 08.04.2013

Не беспокойтесь больше о недействительном ssl-сертификате. Теперь вы можете сгенерировать бесплатный действительный сертификат браузера для своего сервера так же легко, как и сертификат змеиного масла (самозаверяющий, недействительный для браузера). Посетите https://letsencrypt.org/, это бесплатно и открыто для внесения вклада.

person Nicolas Manzini    schedule 07.01.2016
comment
Это многообещающее решение, особенно для проектов, в которых вы не можете просить людей платить за доверенный сертификат. Я надеюсь, что нет возможности отозвать сертификат по нетехническим причинам, я беспокоюсь о цензуре как со стороны правительства, так и со стороны корпораций. Вижу Facebook в списке спонсоров, меня это не успокаивает. - person gouessej; 22.01.2016
comment
Действительно? Если вы не планируете иметь безопасный сайт с детской порнографией или какую-то террористическую хрень нового мирового порядка, вам нечего скрывать или бояться... - person Nicolas Manzini; 22.01.2016
comment
Во-первых, я не интересуюсь детской порнографией. Во-вторых, Петен считал, что де Голль был террористом, когда он организовывал сопротивление нацистам, это показывает субъективное значение слова «террорист», часто используемого по отношению к политическим оппонентам, каждый может стать террористом для кого-то другого. В-третьих, политика сертификатов ISRG не упоминает детскую порнографию и терроризм в разделе «Запрещенное использование сертификатов», формулировка менее точна. - person gouessej; 22.01.2016
comment
В-четвертых, можете ли вы представить себе, что вы можете подвергаться цензуре по другим причинам, кроме детской порнографии и террористов нового мирового порядка? Полиция может проводить обыск дома во Франции во время чрезвычайного положения, мы активисты, чтобы бояться нашего собственного правительства, тогда как нас не интересует террористическое дерьмо нового мирового порядка. - person gouessej; 22.01.2016
comment
Это примерно такая же сложность, если вы не используете определенную конфигурацию сервера, которую требует Let's Encrypt. Возможно, это гораздо сложнее поддерживать, потому что вам нужно вручную продлевать каждые 90 дней. Это очень бета-продукт. - person William; 03.02.2016
comment
Let's encrypt требует доменное имя. Вы также не можете получить групповой сертификат. - person user2284570; 28.12.2017

Неа. Что вы делаете при использовании HTTPS, так это говорите браузеру подключаться через другой порт (443), тогда как обычно вы подключаетесь через (80). Без сертификата сервер откажет в соединении. HTTPS просто невозможен без сертификата. Посмотрите здесь, и вы увидите, что для работы необходим сертификат.

person m.edmondson    schedule 05.10.2010
comment
браузер спросит вас, доверяете ли вы соединению, если я приму это соединение, передаваемая информация все равно не будет зашифрована? - person user466981; 05.10.2010
comment
Если ваш браузер просит вас доверять недействительному сертификату, информация зашифровывается. Вы просто не можете проверить, что лицо, получающее его, является законным. - person ceejayoz; 05.10.2010
comment
Это означает, что сертификат, вероятно, является самоподписанным или просроченным (поэтому он спрашивает, уверены ли вы). Вопрос был в том, нужен ли сертификат - какой он есть. - person m.edmondson; 05.10.2010
comment
Сервер НЕ собирается отказываться от соединения. Браузер предупредит вас об отсутствии сертификата (или о том, что срок его действия истек), после чего вы несете единоличную ответственность за завершение или продолжение сеанса. Пока вы используете протокол SSL, соединение будет зашифровано. - person Jean-François; 20.01.2013
comment
@ Жан-Франсуа - без сертификата откуда браузер получает ключ шифрования? - person m.edmondson; 21.01.2013
comment
без сертификата открытые ключи обмениваются в виде обычного текста, что уязвимо для атаки mitm. Следовательно, https использует сертификаты для решения этой проблемы. Но злоумышленник может перехватить даже сертификат сервера и отправить самоподписанный сертификат, в этом случае браузер предупреждает пользователя. Поскольку большинство пользователей не знают об этом, они продолжат сеанс без аутентификации. - person Manikandan Kbk DIP; 15.07.2021

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

person divaidee    schedule 08.04.2014