Безопасный протокол передачи гипертекста

Метод веб-шифрования, аналогичный HTTPS

Протокол защищенной передачи гипертекста ( S-HTTP ) — устаревшая альтернатива протоколу HTTPS для шифрования веб -коммуникаций, передаваемых через Интернет. Он был разработан Эриком Рескорлой и Алланом М. Шиффманом в EIT в 1994 году [1] и опубликован в 1999 году как RFC  2660. Доминирование Netscape на рынке браузеров привело к тому, что HTTPS стал фактическим методом защиты веб-коммуникаций.

Сравнение с HTTP через TLS (HTTPS)

S-HTTP шифрует только данные обслуживаемой страницы и отправленные данные, такие как поля POST, оставляя инициализацию протокола неизменной. Благодаря этому S-HTTP может использоваться одновременно с HTTP (незащищенным) на том же порту, поскольку незашифрованный заголовок будет определять, зашифрована ли остальная часть передачи.

Напротив, HTTP через TLS оборачивает всю коммуникацию в Transport Layer Security (TLS; ранее SSL), поэтому шифрование начинается до отправки любых данных протокола. Это создает проблему "курица и яйцо" виртуального хостинга на основе имени с определением того, какое имя DNS предназначалось для запроса.

Это означает, что реализации HTTPS без поддержки указания имени сервера (SNI) требуют отдельного IP-адреса для каждого имени DNS, а все реализации HTTPS требуют отдельного порта (обычно 443 по сравнению со стандартным портом HTTP 80) [2] для однозначного использования шифрования (рассматриваемого в большинстве браузеров как отдельная схема URI , https:// ).

Как описано в RFC 2817, HTTP также может быть защищен путем внедрения заголовков HTTP/1.1 Upgrade и обновления до TLS. Запуск HTTP поверх TLS, согласованного таким образом, не имеет последствий HTTPS в отношении виртуального хостинга на основе имен (никаких дополнительных IP-адресов, портов или пространства URI). Однако лишь немногие реализации поддерживают этот метод.

В S-HTTP нужный URL не передается в заголовках открытого текста, а остается пустым; другой набор заголовков присутствует внутри зашифрованной полезной нагрузки. В HTTP через TLS все заголовки находятся внутри зашифрованной полезной нагрузки, и серверное приложение обычно не имеет возможности корректно восстановиться после фатальных ошибок TLS (включая «сертификат клиента не является доверенным» и «сертификат клиента просрочен»). [2]

Ссылки

  1. ^ "The Secure HyperText Transfer Protocol". ietf.org . IETF. ID draft-ietf-wts-shttp-01.txt . Получено 8 февраля 2022 г. .
  2. ^ Том Шелдон (2001). "S-HTTP (Secure Hypertext Transfer Protocol)" . Получено 01.01.2016 .
  • RFC 2660 Безопасный протокол передачи гипертекста
Взято с "https://en.wikipedia.org/w/index.php?title=Безопасный_протокол_передачи_гипертекста&oldid=1251132329"