Что такое https?
- Категория: Что такое?
- – Автор: Игорь (Администратор)
В рамках данной статьи я расскажу вам о том, что такое HTTPS, зачем оно нужно и некоторые нюансы его устройства и функционирования.
Сегодня, уже практически никого не удивить аббревиатурой HTTP, так как интернет знаком каждому. Так, например, именно благодаря этому протоколу вы можете смотреть на эту страничку и читать этот текст. Однако, часть пользователей теряется, когда встречает эту странную букву "S" в конце HTTP. Попробуем восполнить этот пробел в знаниях.
И начну я с определения.
Что такое https?
HTTPS (Hypertext Transfer Protocol Secure) - это все тот же протокол HTTP, но поддерживающий передачу данных в шифрованном виде. В отличии от обычного HTTP, где данные передаются открытым текстом, в HTTPS информация передается с помощью криптографического протокола SSL или TLS. Таким образом, ваша деятельность в интернете становится недоступной для злоумышленников. Как и у HTTP (80 TCP-порт), для HTTPS предусмотрен стандартный порт это TCP 443 (т.е. порт по умолчанию). Однако, важно понимать, что в практике бывают ситуации, когда этот порт имеет другое значение.
Чаще всего HTTPS можно встретить в тех сайтах, где важна безопасность данных при передаче. Например, финансы, интернет-магазины и прочие, где передаются важные артефакты (номера кошельков и так далее). Но, и у обычных сайтов это встречается, хотя сегодня это и редкость.
Принцип функционирования https
Как вы уже поняли, HTTPS это не отдельный протокол, а все тот же HTTP, но использующий шифрованные протоколы SSL и TLS. И его основное предназначение это защита от атаки "Человек по середине", которая подразумевает, что между вами и сайтом есть компьютер, который осуществляет либо прослушку, либо дублирует функциональность сайта.
Приведу пример такой атаки. К примеру, есть ваш компьютер и есть какой-либо сайт. Технически, обмен данными и все взаимодействие происходит строго по определенным алгоритмам. Соответственно, если между вашим компом и сайтом поставить компьютер злоумышленника, то он может полностью эмитировать деятельность веб-сайта, тем самым получая доступ ко всем вашим личным данным (например, перехватывать пароль и логин).
Суть же HTTPS состоит в следующем. Для передачи данных используется шифрование с открытым ключом, которое подразумевает наличие двух ключей (идентичных по своему назначению). Каждый из этих ключей можно использовать для шифрования информации, однако дешифровать данные можно только имея тот ключ, который не использовался. Простой пример. Зашифровали данные ключом 1, расшифровать же можно только с ключом 2. Верно и обратное.
Такой подход позволяет передавать в открытый доступ один из ключей, ведь не возможно получить исходные данные, не имея второго ключа. Стоит знать, что хоть ключи и равноценны, все же принято их делить на публичный и закрытый. Первый для обычных пользователей, второй же для сайта.
Однако, сами по себе ключи не позволяют полностью защититься от такой атаки. Дело в том, что при определенных условиях, злоумышленник может прикинуться сайтом и передать вам собственный открытый ключ, ведь все алгоритмы их генерации есть в открытом доступе.
Поэтому в эту цепочку так же добавлены специальные сервера или центры сертификации. Суть их очень проста, они позволяют подтвердить принадлежит ли открытый ключ сайту. Если это так, то можно осуществлять обмен, если ключ не сертифицирован или же у сайта используется самоподписанный ключ (из разряда "сам себе сделал"), то необходимо выдать предупреждение.
Примечание: Кстати, именно из-за того, что не все ключи сертифицированы, в браузерах часто можно встретить "подключение не безопасно и может представлять угрозу". Причем стоит корректно понимать это предупреждение. Дело в том, что проблем с сертификацией много (с бесплатной, так тем более), а вот обеспечить безопасность передачи данных хочется многим. Так, например, периодически можно встретить устаревшие сертификаты у крупных веб-ресурсов.
Стоит знать, что подход с сертификацией используется и в несколько оригинальном стиле. Сертификаты выдаются самим пользователям (загружаются в браузеры), что позволяет автоматически авторизовать пользователей на сайтах. Однако, такой подход является достаточно редким, так как, как минимум, поддержать этот метод на уровне всего интернета не позволяет текущая инфраструктура.
☕ Понравился обзор? Поделитесь с друзьями!
Комментарии / отзывы