Что такое протокол HTTPS?

13.04.2020

HTTPS –  (англ. HyperText Transfer Protocol Secure — «протокол передачи гипертекста безлопастный») – по сути это расширение протокола HTTP, которое поддерживает шифрование с целью повышения безопасности.  Все данные в этом протоколе передаются поверх криптографических протоколов SSL или TLS.

Чем отличаются HTTP и HTTPS?

  1. HTTPS не является отдельным протоколом передачи данных, а представляет собой расширение протокола HTTP с надстройкой шифрования;
  2. передаваемые по протоколу HTTP данные не защищены, HTTPS обеспечивает конфиденциальность информации путем ее шифрования;
  3. HTTP использует порт 80, HTTPS — порт 443.

Почему HTTPS протокол безопасен?

Безопасность информации обеспечивается за счет использования криптографических протоколов SSL/TLS, имеющих 3 уровня защиты:

  • Шифрование данных. Позволяет избежать их перехвата.
  • Сохранность данных. Любое изменение данных фиксируется.
  • Аутентификация. Защищает от перенаправления пользователя.

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

Сертификат безопасности SSL

Первое, что делает система при установке безопасного соединения – проверяет наличие у сайта сертификата безопасности. Сертификат подтверждает, что организация или лицо, которому он выдан, действительно существует, и веб-адрес ему принадлежит.

Сертификат безопасности можно получить или купить в центре сертификации. Сертификаты бывают разных типов:

  • Одиночный сертификат для одного защищенного домена (например, www.example.com).
  • Мульти-доменный сертификат для нескольких известных защищенных доменов (например, www.example.com, cdn.example.com, example.co.uk).
  • Сертификат-шаблон для защищенного источника с несколькими динамическими субдоменами. (например, a.example.com, b.example.com).

Так же сертификаты SSL делятся по степени защиты:

  • Domain Validation – подтверждение домена (стоимость несколько десятков долларов в год).
  • Organization Validation – подтверждение домена и организации (стоимость несколько сотен долларов в год),
  • Extended Validation – подтверждение домена и организации с расширенной проверкой (стоимость порядка несколько сотен долларов в год). Именно этот сертификат дает зеленую строку в адресной строке браузера.

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

Как работает HTTPS?

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

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

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

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

Использование протокола HTTPS

Зачем и где нужно использовать протокол HTTPS и когда это необходимо в действительности:

  • Если для вашего сайта важно SEO продвижение, т.к. Google объявил использование зашифрованного протокола фактором ранжирования.
  • Если вам важна безопасность данных которые передаются между пользователем и вашем сайтом. Например на вашем интернет- магазине есть оплата банковской карточной и вы хотите что оплата была максимально безопасной для вашего клиента.

Зачем нужно переходить на HTTPS?

Причин несколько и все достаточно весомые:

  • Протокол https обеспечивает безопасность передаваемой информации.
  • С 2014 года наличие https соединения на сайте для поисковой системы Google является фактором ранжирования со знаком плюс.
  • C начала 2017 года браузер Google Chrome версии 56 начнет помечать все HTTP-сайты, которые передают личные данные пользователей, как «небезопасные».

Еще по теме 

Что такое протокол HTTP?

HTTP. Полный список кодов ответов HTTP