Что такое HTTPS и как он защищает ваши данные
Если на сайте используется HTTPS, это значит, что ресурс хорошо защищен и надежен. Этот протокол не позволит злоумышленникам перехватить или изменить передаваемые по сети данные. О том, что представляет собой протокол HTTPS и как он обеспечивает безопасность интернет-соединения, поговорим в этой статье.

Что такое HTTPS и в чем его преимущества
HTTPS (от английского HyperText Transfer Protocol Secure) — это защищенный протокол передачи гипертекста. По сути он является поддерживающей шифрование оберткой для HTTP и позволяет безопасно передавать данные в интернете, защищая их от перехвата и хакерских атак. Этот протокол использует TCP-порт 443 и работает через криптографические механизмы SSL и TLS.
В чем преимущества HTTPS:
1. HTTPS — это защищенная версия протокола HTTP. Основная функция обоих протоколов одинакова — передача данных от сервера к клиенту. Однако HTTP не обладает такой защитой, как HTTPS. Он не шифрует данные, что делает их доступными для сторонних пользователей. А передаваемые по HTTPS данные всегда зашифрованы. Их могут прочитать только сервер и браузер.


2. Страницы сайта, защищенного по HTTPS протоколу, занимают более высокие позиции в поисковой выдаче. А незащищенные ресурсы — даже грамотно SEO-оптимизированные — поисковики стараются демонстрировать реже. Google сообщил о приоритете в выдаче сайтов с HTTPS в 2014 году. А Яндекс с 2019 года особо отмечает защищенные страницы.
3. Использование HTTPS позволяет передавать данные, которыми нельзя делиться с третьими лицами. К таким данным относятся, например, банковские реквизиты, данные паспорта, логины и пароли. Если эту информацию не шифровать, она станет доступна для хакерского перехвата. А в случае ее утечки пострадает репутация владельца ресурса.
4. Посетители сайта больше доверяют сайту с HTTPS, что увеличивает показатель CTR — число переходов по ссылке на сайт.
5. С HTTPS нельзя заменить подлинный адрес сайта на фишинговый — созданный для мошеннического сбора конфиденциальной информации.

Как работает HTTPS
Перед запросом по HTTPS клиент и сервер устанавливают безопасное соединение. Опишем этапы соединения и обмена данными по протоколу HTTPS:
Этап 1. Браузер клиента отправляет запрос на зашифрованное соединение.
Этап 2. Сервер направляет браузеру копию сертификата безопасности.
Этап 3. Браузер клиента проверяет копию сертификата по сроку действия и соответствие подлинникам. Этот шаг называется рукопожатием.
Этап 4. Клиент отправляет запрос на сервер и получает от него ответ.
Как HTTPS-протокол шифрует данные
Протокол HTTPS шифрует сообщения двумя способами: асимметричным и симметричным. При этом сперва устанавливается асимметричное соединение, а после клиент и сервер взаимодействуют по симметричному ключу.
Для асимметричного шифрования используется пара ключей — открытый и закрытый. Открытый ключ шифрует данные, а закрытый — их расшифровывает.

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

Что такое SSL/TLS-сертификат
Ключевая составляющая защиты HTTPS — SSL/TLS сертификат. Именно этот цифровой объект дает возможность HTTPS шифровать данные и служит для подтверждения защищенности сетевых подключений.
Протокол SSL (Secure Socket Layer) был разработан в середине 1990-х годов. Однако уже в 1999 году его преемником стал TLS (Transport Layer Security), содержащий множество улучшений в области безопасности. В целом, можно говорить, что SSL и TLS взаимозаменяемы, однако TLS включает в себя более совершенные криптографические алгоритмы и протоколы, демонстрирует лучшую производительность и поддерживает больше современных функций безопасности.
Каждый SSL/TLS-сертификат содержит:
доменное имя, которому присвоен сертификат;
поддомены, связанные с доменным именем;
сведения о владельце сертификата;
название удостоверяющего центра, который выпустил сертификат;
цифровая подпись удостоверяющего центра;
дата выдачи сертификата, срок его действия;
открытый ключ.
При этом SSL-протокол чаще используется при работе с:
ресурсами без конфиденциальных данных: например, на справочных сайтах;
приложениями, которые не успели перейти на TLS.
А для передачи данных с более сложных ресурсов будет правильнее использовать TLS. Например, он подойдет для:
Интернет-магазинов. Такие сайты работают с платежными данными покупателей — критически важной информацией, которую нельзя потерять.
Банков и платежных систем — также из-за большого объема персональных данных.
Почтовых сервисов. Для надежной защиты тайны переписки.
Какие бывают SSL/TLS-сертификаты
Существует три классификации SSL/TLS-сертификатов, рассмотрим их.
По типу удостоверения
По типу удостоверения сертификаты делят на две группы:
Самоподписанные — сертификаты, которые владельцы сайтов делают самостоятельно. Их можно создавать быстро, бесплатно и в неограниченных количествах. Однако таким сертификатам не доверяет большинство браузеров, а потому в основном ими пользуются в локальных или корпоративных сетях.
Подписанные в сертификационном центре — сертификаты, которые владельцы ресурсов получают у сертификационного центра. Они обладают высоким уровнем доверия браузеров, а значит подходят сайтам, которые работают с личной информацией посетителей: например, интернет-магазинам, банкам и государственным организациям.
По уровню проверки владельца сайта
Уровень проверки владельца сайта базируется на том, кто заказывает сертификат: физическое или юридическое лицо.
В этой классификации выделяют три типа:
Сертификат уровня DV (Domain Validation) доказывает, что у владельца есть права на домен. Он выдается физлицам. Чтобы получить DV, достаточно предъявить сертификационному центру адрес электронной почты. Этот сертификат подойдет личным блогам/портфолио.
Сертификат уровня OV (Organization Validation) доказывает, что сайт принадлежит организации. Он выдается юридическим лицам. Чтобы получить OV, нужно предоставить центру сертификации учредительные документы и свидетельства владения доменом. Такой сертификат подойдет интернет-магазинам, небольшим социальным сетям и ресурсам, которые работают с личными и финансовыми данными посетителей
Сертификат уровня EV (Extended Validation) доказывает, что сайт принадлежит организации. Его выдают только юрлицам. Для получения нужны учредительные документы, и еще центр выдачи сертификатов проверяет деятельность компании. У EV самый высокий уровень защиты. Он нужен банкам, государственным организациям и компаниям, работающим с конфиденциальной информацией клиентов.
По числу сайтов
Также сертификаты могут быть индивидуальными и групповыми — в зависимости от количества сайтов, которые он может защитить:
Индивидуальный сертификат выдается только одному ресурсу.
Групповой сертификат может быть выдан нескольким сайтам. То есть им можно защитить несколько веб-сайтов или приложений разными способами: например, SAN защищает несколько доменов и поддоменов, Wildcard — только поддомены.
Как установить SSL/TLS сертификат
Чтобы установить сертификат, нужно:
Определиться с типом сертификата. Надежнее будет заказать индивидуальный сертификат в сертификационном центре.
Убедиться, что в Whois — сервисе для сбора информации о ресурсе по домену — верны все данные вашего сайта. Если не верны, то исправить их.
Создать закрытый ключ. Для этого, например, можно воспользоваться программой csptest.
Создать файл запроса сертификата. Чаще всего это делают в формате .csr.
Передать файл запроса сертификата в удостоверяющий центр.
Когда центр создаст и отправит вам сертификат, добавить его и закрытый ключ на ваш сервер.
Кстати, личный SSL-сертификат можно добавить к CDN-ресурсу в облаке. Или выпустить для него бесплатный SSL-сертификат Let’s Encrypt.
Недостатки HTTPS
Несмотря на преимущества протокола HTTPS, переход на него может сопровождаться рядом сложностей:
HTTPS-соединение нагружает сервер больше, чем HTTP. Причина этому — постоянные операции по шифрованию: обмен ключами между сервером и клиентом. Поэтому защищенное соединение лучше доверить производительному серверу.
При некорректной настройке ресурса в процессе перехода с HTTP на HTTPS появляется риск возникновения ошибки «mixed content», вызванной тем, что часть контента загружается по небезопасному протоколу.
Время действия SSL/TLS сертификата ограничено. Важно отслеживать его состояние, чтобы вовремя обновить.
Коротко о HTTPS
Сайты не обязаны работать исключительно по протоколу HTTPS. Однако его использование значительно увеличивает безопасность интернет-коммуникации, которая очень важна для большинства современных веб-ресурсов.
HTTPS работает благодаря SSL/TLS-сертификату, который выступает своего рода цифровой подписью сайта и подтверждает его подлинность. Вместе HTTPS и SSL/TLS-сертификат можно сравнить с проводом, в котором сердцевина ― это HTTPS-протокол, а сертификат ― защитная оболочка. В совокупности они позволяют создавать безопасное HTTPS-соединение.