Главная страница > Протокол HTTPS :

Протокол HTTPS .
HTTPS — расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных. В отличие от HTTP, для HTTPS по умолчанию используется TCP-порт 443. Эта система была разработана компанией Netscape Communications Corporation, чтобы обеспечить аутентификацию и защищённое соединение. HTTPS широко используется в мире Веб для приложений, в которых важна безопасность соединения, например, в платежных системах.
В настоящее время HTTPS поддерживается наиболее популярными браузерами.
Как это работает ...
Строго говоря, https не является отдельным протоколом. По сути это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS. Это обеспечивает защиту от атак, основанных на прослушивании сетевого соединения — от снифферских атак, но не защищает от атак типа man-in-the-middle.
По умолчанию https: URL использует 443 TCP-порт (для незащищённого HTTP — 80). Чтобы подготовить веб-сервер для обработки https соединений, администратор должен получить и установить в систему сертификат для этого веб-сервера. Сертификат состоит из двух частей (двух ключей) - public и private. Public часть сертификата используется для зашифровывания трафика от клиента к серверу в защищённом соединении, private часть - для расшифровывания полученного от клиента зашифрованного трафика на сервере. Сертификат можно получить в компании-сертификаторе (например, VeriSign). Естественно, это стоит денег. Сертификат должен быть подписан уполномоченной стороной (компанией-сертификатором - Certificate authority), которая будет гарантировать клиентам, что держатель сертификата является тем, за кого себя выдаёт.
Некоторые сайты используют собственные сертификаты. Существует возможность создать такой сертификат, не обращаясь в компанию-сертификатор. Такие сертификаты могут быть созданы для серверов, работающих под Unix, с помощью таких утилит, как ssl-ca от OpenSSL [1] или gensslcert от SuSE. Подписываются такие сертификаты этим же сертификатом и называются self-signed. Такие сертификаты менее надёжны, чем сертификаты подписанные компаниями-сертификаторами. Такое использование защищает от пассивного прослушивания, но без проверки сертификата каким-то другим способом (например, звонок владельцу и проверка контрольной суммы сертификата) этот метод не будет являться вполне безопасным.
Эта система также может использоваться для аутентификации клиента, чтобы обеспечить доступ к серверу только авторизированным пользователям. Для этого администратор обычно создаёт сертификаты для каждого пользователя и загружает их в браузер каждого пользователя. Также будут приниматься все сертификаты, подписанные организациями, которым доверяет сервер. Такой сертификат обычно содержит имя и адрес электронной почты авторизованного пользователя, которые проверяются при каждом соединении, чтобы проверить личность пользователя без ввода пароля.
В HTTPS для шифрования используется длина ключа 40, 56, или 128 бит. Старые версии браузеров использует длину ключа 40 бит (пример тому — IE), что связано с экспортными ограничениями в США. Длина ключа 40 бит не является сколько-нибудь надёжной. Многие современные сайты требуют использования новых версий браузеров, поддерживающих шифрование с длиной ключа 128 бит с целью обеспечить достаточный уровень безопасности. Такое шифрование значительно затрудняет злоумышленнику поиск паролей и другой личной информации.