📣 Разбираем TLS по байтам. Кто такой этот HTTPS?
HTTPS — это не протокол, а схема URI, то есть инструкция для браузера (или любой программы-клиента), как подключаться к серверу. Схема http:// значит, что браузер должен открыть TCP-соединение и отправлять по нему HTTP-сообщения. Схема https:// значит, что надо открыть TCP-соединение, затем TLS-соединение, и отправлять HTTP-сообщения по нему. Про схему HTTPS говорить не очень интересно, поэтому будем обсуждать именно протокол, который обеспечивает защиту соединения — TLS.
Протоколы HTTP, TCP, IP (которые используются в схеме http) никак не скрывают передаваемые данные. Поэтому нужно как-то «защитить» соединение, то есть сделать так, чтобы мать не могла ни читать, ни изменять сообщения (по крайней мере, оставаясь незамеченной).
Свойство протокола, что никакие сообщения нельзя расшифровать в будущем, даже зная долгосрочные ключи, которые использовались во время соединения, называется прямой секретностью (forward secrecy). Соответственно, если ключи RSA долговременные, прямая секретность не достигается — meh.
Два основных способа защиты от изменений — электронная подпись и MAC (Message Authentication Code, он же имитовстáвка).
▫️Первый вам уже должен быть известен: есть пара ключей, закрытым подпись создаётся, открытым проверяется.
▫️Во втором ключ всего один: им MAC создаётся, им же проверяется.
Очень похоже на разницу между асимметричным и симметричным шифрованием. Похоже ещё и тем, что MAC производительнее ЭП, соответственно раз уж мы всё равно решили, что шифрование будет симметричным, то и смысла использовать ЭП вместо MAC особого нет — поэтому да будет MAC.
💬 Подробнее тут
#TLS | 🌐 Сетевик Джонни
Post #467
2.1K

- 🔥 6
- ❤ 1
- 👍 1