Открыть сервис

HTTPS

HTTPS (HyperText Transfer Protocol Secure — протокол безопасной передачи гипертекста) — это расширение протокола HTTP, поддерживающее шифрование данных для обеспечения конфиденциальности, целостности и аутентификации передаваемой информации между клиентом (например, веб-браузером) и сервером. Работает поверх транспортных протоколов TLS (Transport Layer Security) или его предшественника SSL (Secure Sockets Layer), обеспечивая защиту от перехвата, подмены и атак типа «человек посередине» (MITM). Стандартный порт для HTTPS — 443 (в отличие от порта 80 для HTTP). Является основным протоколом для безопасной передачи данных в современном интернете, обязательным для сайтов, обрабатывающих персональные данные, платежи или аутентификацию.

История

Предпосылки создания

Протокол HTTP, разработанный в начале 1990-х годов, передавал данные в открытом виде. Это делало его уязвимым для перехвата паролей, номеров кредитных карт и другой конфиденциальной информации. С ростом коммерческого использования интернета в середине 1990-х годов возникла острая необходимость в механизме шифрования.

Разработка и внедрение

Первая версия HTTPS была разработана компанией Netscape Communications в 1994 году для своего браузера Netscape Navigator. Она использовала протокол SSL 1.0, который, однако, не был опубликован из-за серьёзных уязвимостей. В 1995 году вышла версия SSL 2.0, которая и стала основой для HTTPS. В 1996 году был представлен SSL 3.0, значительно улучшивший безопасность.

В 1999 году IETF (Internet Engineering Task Force) стандартизировал протокол TLS 1.0 как преемника SSL 3.0. С этого момента HTTPS базируется на TLS, хотя термин «SSL» до сих пор часто используется как синоним. Последующие версии TLS (1.1, 1.2, 1.3) последовательно усиливали криптографическую защиту. Версия TLS 1.3, принятая в 2018 году, существенно сократила время установки соединения и удалила устаревшие и небезопасные алгоритмы шифрования.

Массовое распространение

Долгое время HTTPS использовался только на сайтах, где требовалась высокая степень безопасности (интернет-банкинг, электронная коммерция). Однако после разоблачений Эдварда Сноудена в 2013 году о массовой слежке спецслужб, а также с развитием инициатив вроде Let’s Encrypt (некоммерческий центр сертификации, запущенный в 2016 году, предоставляющий бесплатные SSL/TLS-сертификаты), HTTPS стал внедряться повсеместно. Крупные поисковые системы (Google, Яндекс) начали учитывать наличие HTTPS как фактор ранжирования, а браузеры стали помечать HTTP-сайты как «небезопасные». К началу 2020-х годов доля HTTPS-трафика в интернете превысила 90%.

Принцип работы

HTTPS не является отдельным протоколом прикладного уровня. Он представляет собой наложение HTTP на криптографический протокол TLS. Процесс соединения состоит из двух основных этапов:

Рукопожатие TLS (TLS Handshake)

При первом соединении клиент и сервер выполняют процедуру «рукопожатия», в ходе которой:

  1. Согласование версии протокола и шифров: Клиент и сервер договариваются о версии TLS (например, 1.3) и наборе шифров (cipher suite), который будет использоваться.
  2. Аутентификация сервера: Сервер предоставляет клиенту свой цифровой сертификат, выданный удостоверяющим центром (CA). Клиент проверяет подлинность сертификата, его срок действия и соответствие доменному имени. Это гарантирует, что клиент подключается именно к тому серверу, к которому намеревался.
  3. Обмен ключами: С использованием асимметричной криптографии (например, алгоритмов RSA или Diffie-Hellman) стороны безопасно генерируют и обмениваются общим сеансовым ключом (симметричным ключом).
  4. Завершение рукопожатия: После этого устанавливается защищённое соединение.

Шифрование данных

После успешного рукопожатия все последующие данные, передаваемые по протоколу HTTP (заголовки, тело запроса и ответа), шифруются с использованием полученного сеансового ключа и симметричного шифрования (например, AES). Это делает перехваченные данные нечитаемыми для злоумышленника. Целостность данных обеспечивается с помощью кодов аутентичности сообщений (MAC).

Ключевые компоненты

SSL/TLS-сертификат

Электронный цифровой документ, который удостоверяет подлинность владельца сервера. Сертификат содержит:

Удостоверяющий центр (Certificate Authority, CA)

Организация, которая выпускает и подписывает SSL/TLS-сертификаты. Браузеры и операционные системы имеют встроенный список доверенных корневых CA. Если сертификат подписан неизвестным или недоверенным CA, браузер выдаст предупреждение о небезопасном соединении. Примеры крупных CA: DigiCert, GlobalSign, Let’s Encrypt.

Криптографические алгоритмы

Отличия от HTTP

ХарактеристикаHTTPHTTPS
ШифрованиеОтсутствует (открытый текст)Есть (TLS/SSL)
Порт по умолчанию80443
Аутентификация сервераОтсутствуетЕсть (через сертификаты)
Целостность данныхНе гарантируетсяГарантируется (MAC)
Скорость (теоретически)Выше (нет накладных расходов на шифрование)Ниже (требуется рукопожатие и шифрование)
Скорость (практически)Часто сопоставима или выше (из-за HTTP/2, который требует HTTPS)
URL-схемаhttp://`https://`
Индикация в браузере«Не защищено» (обычно серый значок)Замок, зелёная строка (для EV-сертификатов)

Виды SSL/TLS-сертификатов

По уровню проверки (Validation Level)

  1. DV (Domain Validation): Проверяется только право владения доменом. Выдаётся автоматически, часто бесплатно. Подходит для блогов, информационных сайтов.
  2. OV (Organization Validation): Проверяется также существование и легальность организации. Отображает название компании в сертификате. Используется для корпоративных и коммерческих сайтов.
  3. EV (Extended Validation): Наивысший уровень проверки. Требует тщательной юридической проверки организации. В браузере отображает зелёную строку с названием компании. Используется банками, крупными интернет-магазинами.

По количеству доменов

  1. Одиночный (Single Domain): Защищает одно доменное имя (например, example.com).
  2. Wildcard: Защищает домен и все его поддомены одного уровня (например, *.example.com защищает mail.example.com, shop.example.com).
  3. Multi-Domain (SAN/UCC): Защищает несколько различных доменов (например, example.com, example.org, example.net) в одном сертификате.

Значение и применение

Безопасность данных

Основное назначение HTTPS — защита конфиденциальной информации пользователей: паролей, номеров банковских карт, персональных данных, содержимого переписки. Предотвращает перехват трафика в общественных Wi-Fi-сетях и атаки провайдеров.

Доверие пользователей

Наличие HTTPS (значок замка в адресной строке) является для пользователя визуальным индикатором безопасности сайта. Отсутствие HTTPS часто отпугивает посетителей, особенно при вводе личных данных или совершении покупок.

SEO-продвижение

Поисковые системы (Google, Яндекс) используют HTTPS как один из сигналов ранжирования. Сайты, работающие по HTTPS, имеют преимущество в выдаче перед HTTP-сайтами при прочих равных условиях.

Поддержка современных технологий

Многие современные веб-технологии, такие как HTTP/2 и HTTP/3, требуют использования HTTPS. Без него невозможна работа Service Workers, Geolocation API, и других функций Progressive Web Apps (PWA).

Критика и ограничения

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →