Протокол HTTPS

Материал из DiPHOST.Ru wiki system

(Различия между версиями)
Перейти к: навигация, поиск
Строка 18: Строка 18:
Такая система иерархии сертификатов позволяет вполне достоверно идентифицировать сайт и защитить его от "подмены" и прослушивания.
Такая система иерархии сертификатов позволяет вполне достоверно идентифицировать сайт и защитить его от "подмены" и прослушивания.
-
Кроме предъявления своего сертификата, сервер может попросить предъявить сертификат клиента. В этом случае, сертификат клиента может быть использован как его логин и пароль. Эта система не получила широкого распространения.
+
Кроме предъявления своего сертификата, сервер может попросить предъявить сертификат клиента. В этом случае сертификат клиента может быть использован как его логин и пароль. Эта система не получила широкого распространения.

Версия 10:49, 4 апреля 2014

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

Идея HTTPS состоит в том, что сначала устанавливается защищённое соединение, использующее алгоритм шифрования с открытым ключом, сервер предъявляет "сертификат". Сертификат удостоверяет ключ сервера (в нём содержится публичная часть ключа), используемый при соединении, а также содержит некоторую дополнительную информацию о сервере. Сертификат подписан секретным ключом или того ключа, который он удостоверяет (так называемый самоподписанный сертификат), или секретным ключом, публичный ключ которого удостоверен другим сертификатом. Таким образом может быть создана целая цепочка сертификатов.

Что делает браузер (или утилита вроде curl или wget):

  • Проверяет целостность цепочки предложенных сервером сертификатов, по очереди проверяя подписи каждого следующего из них.
  • Сравнивает пришедший от сервера самоподписанный сертификат или самый последний (который никем не подписан, или подписан сам собой) в цепочке сертификатов с набором эталонных (корневых) сертификатов, идущих в поставке браузера. Именно списки браузера определяют так называемые Удостоверяющие Центры сертификатов. На сегодняшний день все производители популярных браузеров ведут примерно один список корневых сертификатов. Также обычно пользователь может создать свой список и указать на него браузеру.
  • Сравнивает доменные имена в специальных служебных полях сертификата с доменным именем, которое запросил пользователь.
  • При ошибке на любом этапе браузер выдаёт предупреждение и ведёт себя в соответствии с реакцией пользователя.
  • Если соединение всё-таки установлено, то поверх него начинает работать обычный HTTP-протокол.

Современные версии протокола TLS предполагают передачу браузером запрашиваемого доменного имени ещё на этапе установки защищённого соединения. Это так называемая технология SNI (Server Name Indication). Однако, до сих пор не все операционные системы и не всё программное обеспечение умеет использовать этот новый протокол. Поэтому обычно предполагается, что каждый сайт (в данном случае — доменное имя, или набор доменных имён, указанных в сертификате) иметь уникальный IP-адрес.

Такая система иерархии сертификатов позволяет вполне достоверно идентифицировать сайт и защитить его от "подмены" и прослушивания.

Кроме предъявления своего сертификата, сервер может попросить предъявить сертификат клиента. В этом случае сертификат клиента может быть использован как его логин и пароль. Эта система не получила широкого распространения.

Источник — «https://wiki.diphost.ru/HTTPS»
Личные инструменты
© 2006 — ООО «Дремучий лес»
Служба техподдержки: support@diphost.ru
Тексты этого сайта являются полностью оригинальными
или оригинальными компиляциями ООО «Дремучий Лес».
Распространяются по лицензии WTFPL
Отзывы о хостинге diphost.ru Отзывы на hostobzor.ru