В вебе используют криптографические протоколы SSL (secure sockets layer) и TLS (transport layer security). Эти протоколы построены на алгоритме асиметричного ключа, который состоит из двух ключей — публичного и частного. Публичные ключи доступны и сайтам и браузерам, частные — хранятся на собственных серверах веб-приложений.
Сайты, которые используют HTTPS, имеют уникальный цифровой сертификат (например, SSL-сертификат), который выдан центром сертификации (Certification authority, CA). Когда интернет-пользователь заходит на такой сайт, сервер передает браузеру данные о сертификате и публичный ключ. Веб-браузер использует публичный ключ, чтобы установить цифровую подпись в сертификате. Затем веб-браузер сравнивает подпись с данными, которые получены от CA. Если сертификат действительный, будет установлено соединение с сайтом, а в адресной строке браузера появится пиктограмма в виде зеленого замка. В случае, если на сайте сертификат отсутствует или он не подтвержден браузером, появится соответствующее уведомление, а в адресной строке появится красный замок.
Осталось разобраться, почему в названии алгоритма присутствует слово «асиметричный». Самым примечательным в методе является тот факт, что для шифровки и дешифровки данных используются разные ключи. Например, пользователь передает данные на сайт. В этом случае веб-браузер шифрует данные при помощи публичного ключа. Но дешифровка на сервере осуществляется при помощи частного ключа, который, как мы уже говорили, всегда остается на сайте. Аналогичным образом информация передается с сервера на веб-браузер.
Таким образом, протокол HTTPS отличается от HTTP сложным многоуровневым методом установки соединения и криптошифрованием переданных пакетов данных.
Комментарии к статье