Тема
- #TLS
Создано: 2024-10-27
Создано: 2024-10-27 21:31
Приблизительно с 2020 года в связи с прекращением поддержки TLS 1.1
возникла необходимость проверки старых серверов.
В случае сохранения TLS 1.1 при обмене данными между облачными сервисами AWS, Azure и т.д. могут возникать ошибки,
а также ошибки при взаимодействии с внешними API, например, при оплате, или проблемы в зависимости от версии браузера.
- Похоже, версии 6.x и ниже не поддерживают TLS 1.2. Необходимо переключиться на TLS 1.2 с помощью JRE версии Java 7 и выше.
- Похоже, версия 1.1.13 поддерживает TLS 1.2.
Client Hello: клиент отправляет запрос на соединение серверу (включая поддерживаемые версии TLS и набор шифров).
Server Hello: сервер отправляет используемую версию TLS, набор шифров и SSL-сертификат для подтверждения надежности.
Обмен ключами и создание сеансового ключа: клиент и сервер создают общий сеансовый ключ с помощью алгоритма обмена ключами.
Завершающее сообщение: клиент и сервер отправляют зашифрованные завершающие сообщения с использованием своих ключей.
Передача данных: данные шифруются и передаются с использованием сеансового ключа.
Завершение: после завершения передачи данных обмениваются сообщениями о завершении сеанса и удаляется информация о сеансовом ключе.
TLS — это протокол безопасности на транспортном уровне, лежащий в основе HTTPS. Обеспечивает аутентификацию, целостность и конфиденциальность.
Говорят, что 1.2 превосходит 1.1 по безопасности и производительности.
- 1.1 использует алгоритмы хеширования md5 и sha-1.
- 1.1 может быть уязвим для атак BEAST, Man-in-the-middle и Cipher Suite.
* BEAST: злоумышленник перехватывает HTTPS-соединение и внедряет вредоносный контент
* Man-in-the-middle: злоумышленник перехватывает связь и похищает данные
- 1.2 использует алгоритм sha-256 (более надежный алгоритм безопасности).
- 1.2 поддерживает набор шифров GCM (Galois/Counter Mode), который одновременно выполняет шифрование и аутентификацию, что повышает скорость.
Все необходимые механизмы шифрования для обмена данными между клиентом и сервером, состоящие из 4 частей.
1. Алгоритм обмена ключами
- Способ безопасного обмена секретным ключом, например, RSA, Diffie-Hellman
2. Алгоритм аутентификации
- Проверка надежности сервера с помощью сертификата, например, открытый ключ RSA
3. Алгоритм симметричного шифрования
- Способ шифрования данных во время сеанса и дешифрования клиентом и сервером с помощью одного и того же сеансового ключа, например, AES
4. Код аутентификации сообщения
- Проверка целостности данных, например, HMAC-SHA256
Набор шифров представляет собой сочетание этих четырех элементов.
Комментарии0