Когда открываешь некоторые сайты, то браузер сообщает нам про что-то: «Не защищено». Некоторые думают, что такие страницы все в вирусах и что оставаться на них опасно. На самом деле всё не так страшно — у сайта просто нет SSL-сертификата. Рассказываем, что это за технология и почему с ней не всё так просто.
Минутка технического объяснения про SSL и HTTPS
Стандартный протокол передачи данных в вебе, который используется с 1992 года, — HTTP. Этот протокол задаёт правила, по которым пользователи запрашивают сайты, а серверы — отдают эти сайты. Протокола — это просто договорённости: «Заголовок страницы передавай так-то, текст — так, пароль проси так». Протокол может быть любым внутри, главное — чтобы все договорились использовать именно его.
Минус протокола HTTP в том, что он передаёт данные в открытом виде. Если на сайте с HTTP ввести данные карточки, то они полетят по каналам связи незашифрованными. Злоумышленник может их перехватить и прочитать — достаточно, например, просто «прослушивать» весь трафик в беспроводной сети.
HTTP — это быстрый, но небезопасный протокол. Его сложно в этом винить: когда его создавали, никто не думал, что на сайтах будут вводить данные кредитных карт. Думали, будут обмениваться результатами научных исследований.
Чтобы решить проблему незашифрованных данных, в 2000 году придумали HTTPS — HyperText Transfer Protocol Secure, безопасный протокол передачи гипертекста. Внутри себя он работает как обычный HTTP, но снаружи шифрует весь свой трафик. Даже если кто-то вклинится посередине, он увидит только шифр, который не получится разобрать.
За шифрование страниц в HTTPS отвечает протокол SSL — Secure Sockets Layer, уровень защищённых сокетов. Сокеты — это такие виртуальные соединения между компьютерами. Защищённый сокет означает, что данные, которые идут внутри от одного компьютера к другому, — в безопасности. Если браузер открывает страницу по такому протоколу, то он перед отправкой на сервер шифрует всё, что вы делаете или вводите на сайте. Самое то, если нужно отправить данные платёжной карты или логин с паролем от сервиса.
Как работает SSL-протокол
- После ввода адреса браузер отправляется к нужному серверу и запрашивает у него страницу по протоколу HTTPS. Если страницы работают с HTTPS, то всё отлично, переходим к шагу 2. Если на сервере используется ещё старый протокол HTTP, то он отдаст браузеру страницу по этому незащищённому протоколу и никакого шифрования дальше не будет.
- Сервер отправляет браузеру копию своего SSL-сертификата, чтобы браузер убедился, что всё в порядке. В таком сертификате написано, что это за домен, кто выдал сертификат и информация о владельце.
- Браузер проверяет подлинность сертификата и, если всё хорошо, — извлекает из сертификата ключ шифрования и с его помощью безопасно договаривается с сервером о том, каким образом они будут кодировать всё дальнейшее общение.
- Сервер шифрует страницу и отправляет её браузеру.
- Браузер расшифровывает страницу, показывает её пользователю, а серверу сообщает, что всё в порядке, работаем дальше. Все данные шифруются и можно отправлять на сервер что угодно.
А как быть с обычными сайтами без сертификатов?
Если у сайта нет сертификата, это не значит, что сайт плохой. Это значит, что данные, которые вы там будете вводить, передаются в открытом виде. Значит, их проще перехватить. Если вы на сайте ничего не заполняете или оставляете комментарий без регистрации — страшного ничего не произойдёт.
Есть много сайтов, которые не используют сертификаты и ничего не просят от пользователей — сайты-визитки, корпоративные страницы и информационные порталы.
Некоторые считают, что если безопасного соединения нет, то вас сразу атакуют хакеры или заразят вирусы, но это не так. Вирус можно подцепить даже на сайте с SSL-сертификатом, если владелец домена его туда положит.
Получить SSL-сертификат — это сложно?
Нет. Это не только дело десяти минут, но и в некоторых случаях бесплатная операция. Прогресс дошёл до того, что вы можете получить сертификат на любой новый сайт в автоматическом режиме, даже если у вас мошеннический сайт. Достаточно лишь иметь админский доступ к своему сайту.
Что не так с безопасным соединением
Значок замка и надпись «Защищено» означает лишь то, что браузер установил с сервером защищённое соединение. Если кто-то попытается перехватить трафик, то он всё равно не сможет его расшифровать. Но если злоумышленник поставит себе на сайт SSL-сертификат и будет принимать информацию о платёжных картах, то они попадут к нему в руки.
Никто не может помешать преступнику получить сертификат, установить на свой сайт и сделать вид, что это безопасная страница. SSL-сертификат гарантирует безопасную передачу данных, но не отвечает за то, куда они отправляются. Поэтому перед тем как вводить на сайте секретную информацию, убедитесь в том, что сайт принадлежит нужной компании. Иногда бывает так: злоумышленники меняют в адресе сайта одну букву, получают сертификат и делают точно такой же дизайн, как в оригинале. Кто-то заходит на такой сайт за покупками, вводит реквизиты карты и... вы понимаете. Будьте внимательны.