Надежен ли HTTPS?
Если HTTPS безопасен, как такие инструменты, как Fiddler, могут перехватывать сетевые пакеты, отправленные через HTTPS?
* Fiddler помогает отлаживать веб-приложения, захватывая сетевой трафик между Интернетом и тестовыми компьютерами. Инструмент позволяет проверять входящие и исходящие данные для мониторинга и изменения запросов и ответов до того, как браузер их получит.
На приведенной ниже диаграмме показан сценарий, при котором вредоносный посредник перехватывает пакеты.
Предварительное условие: корневой сертификат промежуточного сервера присутствует в хранилище доверия (trust store).
Шаг 1 - Клиент запрашивает установление TCP-соединения с сервером. Запрос злонамеренно направляется на промежуточный сервер, а не на реальный сервер. Затем устанавливается TCP-соединение между клиентом и промежуточным сервером.
Шаг 2 - Промежуточный сервер устанавливает TCP-соединение с фактическим сервером.
Шаг 3 - Промежуточный сервер отправляет SSL-сертификат клиенту. Сертификат содержит открытый ключ, имя хоста, даты истечения срока действия и т. д. Клиент проверяет сертификат.
Шаг 4 - Фактический сервер отправляет свой сертификат промежуточному серверу. Промежуточный сервер проверяет сертификат.
Шаг 5 - Клиент генерирует ключ сессии и шифрует его с помощью открытого ключа с промежуточного сервера. Промежуточный сервер получает зашифрованный ключ сессии и расшифровывает его с помощью закрытого ключа.
Шаг 6 - Промежуточный сервер шифрует ключ сессии с помощью открытого ключа с фактического сервера и затем отправляет этот ключ на фактический сервер. Фактический сервер расшифровывает ключ сессии с помощью закрытого ключа.
Шаги 7 и 8 - Теперь клиент и сервер могут взаимодействовать с помощью ключа сессии (симметричное шифрование). Зашифрованные данные передаются по безопасному двунаправленному каналу. Промежуточный сервер всегда может расшифровать данные.
Теперь давайте ответим на вопросы, с которых мы начали:
1. HTTPS надежен, но клиент не должен принимать вредоносный сертификат с ненадежного стороннего сервера.
2. Fiddler может расшифровать данные, потому что его сертификат принят и браузер доверяет ему.
Вопрос к вам:
Почему HTTPS использует симметричное шифрование для передачи данных? Это безопасно?
Ответ:
Симметричное шифрование может быть таким же безопасным, как и асимметричное. Самой слабой частью симметричного шифрования является обмен ключами, который хорошо защищен в HTTPS с асимметричным шифрованием. Симметричное шифрование означает, что вы используете один и тот же ключ для шифрования и расшифровки. Таким образом, оно еще и быстрое.
https://t.me/itarchitecture
Post #217
331
- 👍 1