HTTPS

редактировать
Расширение протокола связи HTTP до поддержка шифрования TLS

Безопасный протокол передачи гипертекста (HTTPS ) является расширением протокола передачи гипертекста (HTTP). Он используется для безопасной связи по компьютерной сети и широко используется в Интернете. В HTTPS протокол связи зашифрован с использованием Transport Layer Security (TLS) или ранее Secure Sockets Layer (SSL). Поэтому протокол также называется HTTP через TLS или HTTP через SSL .

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

Аспект аутентификации HTTPS требует, чтобы доверенная третья сторона подписывала цифровые сертификаты на стороне сервера. Исторически это была дорогостоящая операция, а это означало, что полностью аутентифицированные HTTPS-соединения обычно обнаруживались только в службах защищенных платежных транзакций и других защищенных корпоративных информационных системах в World Wide Web. В 2016 году кампания Electronic Frontier Foundation при поддержке разработчиков веб-браузеров привела к тому, что протокол стал более распространенным. HTTPS теперь используется веб-пользователями чаще, чем исходный незащищенный протокол HTTP, в первую очередь для защиты аутентичности страниц на всех типах веб-сайтов; безопасные аккаунты; а также для сохранения конфиденциальности общения, идентификации и просмотра веб-сайтов.

Содержание

  • 1 Обзор
    • 1.1 Использование на веб-сайтах
    • 1.2 Интеграция с браузером
  • 2 Безопасность
  • 3 Технические характеристики
    • 3.1 Различия из HTTP
    • 3.2 Сетевые уровни
    • 3.3 Настройка сервера
      • 3.3.1 Получение сертификатов
      • 3.3.2 Использование в качестве контроля доступа
      • 3.3.3 В случае взлома секретного (закрытого) ключа
    • 3.4 Ограничения
  • 4 История
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки

Обзор

URL, начинающийся со схемы HTTPS и домена WWW name label

Схема Uniform Resource Identifier (URI) HTTPS имеет такой же синтаксис использования, что и схема HTTP. Однако HTTPS сигнализирует браузеру использовать дополнительный уровень шифрования SSL / TLS для защиты трафика. SSL / TLS особенно подходит для HTTP, поскольку он может обеспечить некоторую защиту, даже если только одна сторона связи аутентифицирована. Это случай HTTP-транзакций через Интернет, где обычно аутентифицируется только сервер (клиент проверяет сертификат сервера ).

HTTPS создает безопасный канал в незащищенной сети. Это обеспечивает разумную защиту от перехватчиков и атак типа «злоумышленник в середине», при условии, что используются соответствующие наборы шифров и сертификат сервера проверен и надежен..

Поскольку HTTPS полностью совмещает HTTP с TLS, весь базовый протокол HTTP может быть зашифрован. Это включает URL-адрес запроса (какая конкретная веб-страница была запрошена), параметры запроса, заголовки и файлы cookie (которые часто содержат идентифицирующую информацию о пользователе). Однако, поскольку адреса веб-сайтов и номера портов обязательно являются частью базовых протоколов TCP / IP, HTTPS не может защитить их раскрытие. На практике это означает, что даже на правильно настроенном веб-сервере перехватчики могут определить IP-адрес и номер порта веб-сервера, а иногда даже имя домена (например, www.example.org, но не остальную часть URL-адреса), пользователь общается вместе с объемом переданных данных и продолжительностью связи, но не с содержанием сообщения.

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

  • Пользователь верит, что программное обеспечение браузера правильно реализует HTTPS с правильно предварительно установленными центрами сертификации.
  • Пользователь доверяет центру сертификации, чтобы поручиться только за легитимные веб-сайты.
  • Веб-сайт предоставляет действительный сертификат, что означает, что он был подписан доверенным центром.
  • Сертификат правильно идентифицирует веб-сайт (например, когда браузер посещает «https://example.com », полученный сертификат правильно предназначен для «example.com», а не какой-либо другой сущности).
  • Пользователь верит, что уровень шифрования протокола (SSL / TLS) достаточно защищен от перехватчиков.

HTTPS особенно важен в небезопасных сетях и сетях, которые могут быть подвержены взлому. Небезопасные сети, такие как общедоступные точки доступа Wi-Fi, позволяют любому пользователю в той же локальной сети анализировать пакеты и обнаруживать конфиденциальную информацию, не защищенную HTTPS. Кроме того, в некоторых бесплатных и платных WLAN сетях было замечено вмешательство в веб-страницы путем использования внедрения пакетов для показа собственной рекламы на других веб-сайтах. Эта практика может быть использована злонамеренно разными способами, например, путем внедрения вредоносного ПО на веб-страницы и кражи личной информации пользователей.

HTTPS также важен для подключений через анонимную сеть Tor, поскольку злонамеренные узлы Tor могут иначе повредить или изменить содержимое, проходящее через них, небезопасным образом и внедрить вредоносное ПО в соединение. Это одна из причин, по которой Electronic Frontier Foundation и проект Tor начали разработку HTTPS Everywhere, который включен в пакет Tor Browser Bundle.

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

Развертывание HTTPS также позволяет использовать of HTTP / 2 (или его предшественник, ныне устаревший протокол SPDY ), который представляет собой новое поколение HTTP, предназначенное для уменьшения времени загрузки страницы, размера и задержки.

Рекомендуется использовать HTTP Strict Transport Security (HSTS) с HTTPS для защиты пользователей от атак типа «злоумышленник посередине», особенно Удаление SSL.

HTTPS следует не следует путать с редко используемым Secure HTTP (S-HTTP), указанным в RFC 2660.

Использование на веб-сайтах

По состоянию на апрель 2018 г., 33,2% лидеров Alexa 1000000 веб-сайтов используют HTTPS по умолчанию, 57,1% из 137 971 наиболее популярных веб-сайтов в Интернете имеют безопасную реализацию HTTPS, а 70% загрузок страниц (по данным Firefox Telemetry) используют HTTPS.

Интеграция с браузером

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

Сравнение различных типов сертификатов SSL/TLS. (на примере Firefox )

Electronic Frontier Foundation, полагая, что «В идеальном мире каждый веб-запрос может быть настроен по умолчанию на HTTPS», предоставил надстройку HTTPS Everywhere для Mozilla Firefox, Google Chrome, Chromium и Android, который по умолчанию включает HTTPS для сотен часто используемых веб-сайтов.

Безопасность

Безопасность HTTPS - это безопасность базового TLS, который обычно использует долгосрочные общедоступные и частные ключи для генерации краткосрочного сеансового ключа, который затем используется для шифрования поток данных между клиентом и сервером. X.509 сертификаты используются для аутентификации сервера (а иногда и клиента). Как следствие, центры сертификации и сертификаты открытых ключей необходимы для проверки связи между сертификатом и его владельцем, а также для генерации, подписи и управления действительностью сертификатов. Хотя это может быть более выгодно, чем проверка личности через сеть доверия, раскрытие информации о массовом слежении 2013 привлекло внимание к центрам сертификации как к потенциальному слабому месту, позволяющему вмешиваться Атаки посередине. Важным свойством в этом контексте является прямая секретность, которая гарантирует, что зашифрованные сообщения, записанные в прошлом, не могут быть извлечены и расшифрованы, если долгосрочные секретные ключи или пароли будут скомпрометированы в будущем. Не все веб-серверы обеспечивают прямую секретность.

Чтобы HTTPS был эффективным, сайт должен полностью размещаться по HTTPS. Если часть содержимого сайта загружается через HTTP (например, сценарии или изображения), или если только определенная страница, содержащая конфиденциальную информацию, например страницу входа, загружается по HTTPS, а остальная часть сайта загружается через простой HTTP пользователь будет уязвим для атак и наблюдения. Кроме того, для файлов cookie на сайте, обслуживаемом через HTTPS, должен быть включен атрибут безопасности . На сайте, который содержит конфиденциальную информацию, пользователь и сеанс будут открываться каждый раз, когда к этому сайту обращаются по протоколу HTTP вместо HTTPS.

Технические

Отличия от HTTP

HTTPS URL-адреса начинаются с «https: //» и по умолчанию используют порт 443, тогда как URL-адреса HTTP начинаются с «http: //» и по умолчанию использовать порт 80.

HTTP не зашифрован и поэтому уязвим для атак типа «человек посередине» и подслушивания, которые могут позволить злоумышленникам получить доступ к учетным записям веб-сайтов и конфиденциальной информации. и изменять веб-страницы для внедрения вредоносного ПО или рекламы. HTTPS разработан для противодействия таким атакам и считается защищенным от них (за исключением реализаций HTTPS, которые используют устаревшие версии SSL).

Сетевые уровни

HTTP работает на самом высоком уровне модели TCP / IP - прикладном уровне ; также как и протокол безопасности TLS (работающий как нижний подуровень того же уровня), который шифрует сообщение HTTP перед передачей и расшифровывает сообщение по прибытии. Строго говоря, HTTPS не является отдельным протоколом, а относится к использованию обычного HTTP поверх зашифрованного соединения SSL / TLS.

HTTPS шифрует все содержимое сообщения, включая заголовки HTTP и данные запроса / ответа. За исключением возможной криптографической атаки CCA, описанной в разделе ограничения ниже, злоумышленник должен, самое большее, иметь возможность обнаружить соединение между двумя сторонами, а также их доменные имена и IP-адреса.

Настройка сервера

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

Получение сертификатов

Существует ряд коммерческих центров сертификации, предлагающих платные сертификаты SSL / TLS нескольких типов, включая сертификаты расширенной проверки.

Let's Encrypt, запущенный в апреле 2016 года, предоставляет бесплатный автоматизированный сервис, доставляющий базовые сертификаты SSL / TLS на веб-сайты. Согласно Electronic Frontier Foundation, Let's Encrypt сделает переключение с HTTP на HTTPS «таким же простым, как выполнение одной команды или нажатие одной кнопки». Большинство веб-хостов и облачных провайдеров теперь используют Let's Encrypt, предоставляя своим клиентам бесплатные сертификаты.

Использование в качестве контроля доступа

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

В случае взлома секретного (закрытого) ключа

Важным свойством в этом контексте является совершенная прямая секретность (PFS). Обладание одним из долговременных асимметричных секретных ключей, используемых для установления сеанса HTTPS, не должно упростить получение краткосрочного сеансового ключа для последующего дешифрования разговора даже в более позднее время. Обмен ключами Диффи – Хеллмана (DHE) и Обмен ключами Диффи – Хеллмана на эллиптической кривой (ECDHE) в 2013 году были единственными известными схемами, обладающими этим свойством. В 2013 г. его использовали только 30% сеансов браузера Firefox, Opera и Chromium и почти 0% сеансов Apple Safari и Microsoft Internet Explorer. TLS 1.3, опубликованный в августе 2018 года, отказался от поддержки шифров без прямой секретности. По состоянию на февраль 2020 года 96,6% опрошенных веб-серверов поддерживают ту или иную форму прямой секретности, а 52,1% будут использовать прямую секретность с большинством браузеров.

Сертификат может быть отозван до истечения срока его действия, например, из-за секретности закрытый ключ был скомпрометирован. В более новых версиях популярных браузеров, таких как Firefox, Opera и Internet Explorer в Windows Vista, реализован Online Certificate Status Protocol. (OCSP), чтобы убедиться, что это не так. Браузер отправляет серийный номер сертификата центру сертификации или его представителю через OCSP (Online Certificate Status Protocol), и центр отвечает, сообщая браузеру, действителен ли сертификат. CA также может выдать CRL сказать людям, что эти сертификаты отозваны.

Ограничения

Шифрование SSL (Secure Sockets Layer) и TLS (Transport Layer Security) можно настроить в двух режимах: простом и взаимном. В простом режиме аутентификация выполняется только сервером. Взаимная версия требует, чтобы пользователь установил личный сертификат клиента в веб-браузере для аутентификации пользователя. В любом случае уровень защиты зависит от правильности реализации программного обеспечения и используемых криптографических алгоритмов.

SSL / TLS не препятствует индексации сайта веб-сканером , и в некоторых случаях URI зашифрованного ресурса можно вывести, зная только размер перехваченного запроса / ответа. Это позволяет злоумышленнику получить доступ к незашифрованному тексту (общедоступному статическому содержимому) и зашифрованному тексту (зашифрованной версии статического содержимого), разрешая криптографический атака.

Поскольку TLS работает на уровне протокола ниже, чем HTTP, и не имеет сведений о протоколах более высокого уровня, серверы TLS могут строго представлять только один сертификат для конкретной комбинации адреса и порта. В прошлом это означало, что использовать виртуальный хостинг на основе имен с HTTPS было невозможно. Существует решение под названием Server Name Indication (SNI), которое отправляет имя хоста на сервер перед шифрованием соединения, хотя многие старые браузеры не поддерживают это расширение. Поддержка SNI доступна начиная с Firefox 2, Opera 8, Apple Safari 2.1, Google Chrome 6 и Internet Explorer 7 в Windows Vista.

С архитектурной точки зрения:

  • Соединение SSL / TLS управляется первым передним компьютером, который инициирует соединение TLS. Если по каким-либо причинам (маршрутизация, оптимизация трафика и т. Д.) Этот передний компьютер не является сервером приложений и должен расшифровывать данные, необходимо найти решения для распространения информации аутентификации пользователя или сертификата на сервер приложений, который должен знать, кто будет подключаться.
  • Для SSL / TLS с взаимной аутентификацией сеанс SSL / TLS управляется первым сервером, который инициирует соединение. В ситуациях, когда шифрование должно распространяться на подключенные серверы, управление timeOut сеанса становится чрезвычайно сложным для реализации.
  • Безопасность максимальна при использовании взаимного SSL / TLS, но на стороне клиента нет способа правильно завершить SSL / TLS-соединение и отключение пользователя, за исключением ожидания окончания сеанса сервера или закрытия всех связанных клиентских приложений.

Изощренный тип атаки типа «человек посередине», называемый разделением SSL, был представлен на Blackhat Conference 2009 года. Этот тип атаки сводит на нет безопасность, обеспечиваемую HTTPS, заменяя ссылку https:на ссылку http:, пользуясь тем фактом, что немногие интернет-пользователи фактически вводят https в свои интерфейс браузера: они попадают на безопасный сайт, щелкнув ссылку, и, таким образом, обманываются, полагая, что они используют HTTPS, хотя на самом деле они используют HTTP. Затем злоумышленник открыто общается с клиентом. Это побудило к разработке контрмеры в HTTP под названием HTTP Strict Transport Security.

Было показано, что HTTPS уязвим для ряда атак анализа трафика. Атаки анализа трафика - это тип атаки по побочному каналу, которая основывается на изменениях времени и размера трафика, чтобы сделать вывод о свойствах самого зашифрованного трафика. Анализ трафика возможен, поскольку шифрование SSL / TLS изменяет содержимое трафика, но оказывает минимальное влияние на размер и время трафика. В мае 2010 года исследовательская работа исследователей из Microsoft Research и Университета Индианы обнаружила, что подробные конфиденциальные пользовательские данные могут быть получены из побочных каналов, таких как размеры пакетов. Исследователи обнаружили, что, несмотря на защиту HTTPS в нескольких известных, первоклассных веб-приложениях в области здравоохранения, налогообложения, инвестиций и веб-поиска, перехватчик может сделать вывод о заболеваниях / лекарствах / операциях пользователя, его / ее семейный доход и инвестиционные секреты. Хотя эта работа продемонстрировала уязвимость HTTPS для анализа трафика, подход, представленный авторами, требовал ручного анализа и был сфокусирован специально на веб-приложениях, защищенных HTTPS.

Тот факт, что большинство современных веб-сайтов, включая Google, Yahoo !, и Amazon, используют HTTPS, вызывает проблемы у многих пользователей, пытающихся получить доступ к общедоступным точкам доступа Wi-Fi, поскольку страница входа в точку доступа Wi-Fi не работает. load, если пользователь пытается открыть ресурс HTTPS. Некоторые веб-сайты, такие как neverssl.com и nonhttps.com, гарантируют, что они всегда будут доступны по HTTP.

История

Netscape Communications создал HTTPS в 1994 году для своего веб-браузера Netscape Navigator. Первоначально HTTPS использовался с протоколом SSL. Поскольку SSL превратился в Transport Layer Security (TLS), HTTPS был официально указан в RFC 2818 в мае 2000 года. В феврале 2018 года Google объявил, что его браузер Chrome будет отмечать HTTP-сайты как «Не Безопасность "после июля 2018 года. Этот шаг был направлен на то, чтобы побудить владельцев веб-сайтов внедрить HTTPS, чтобы сделать World Wide Web более безопасным.

См. Также

Ссылки

Внешние ссылки

На Викискладе есть носители, связанные с HTTPS.
Последняя правка сделана 2021-05-22 09:51:46
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте