Назад |
Перейти на главную страницу
Различия в безопасности OpenVPN 2.4 между tls-crypt и tls-auth
Я читал и tls-crypt, и мне было любопытно, повысит ли это безопасность и уменьшит ли вероятность взлома ключей во время рукопожатия, и что он обеспечивает лучшую безопасность по сравнению с tls-auth?
Может быть, кто-нибудь может лучше объяснить tls-auth и tls-crypt и как они повышают безопасность?
мой текущий клиентский файл:
client
tls-client
dev tun
proto udp
remote 1.2.3.4 9999
<ca>
</ca>
<cert>
</cert>
<key>
</key>
pull
auth-nocache
cipher AES-256-CBC
keysize 256
compress lz4-v2
reneg-sec 36000
keepalive 30 120
Рукопожатие TLS можно более или менее разбить на следующие шаги:
- Клиенты отправляют на сервер «приветствие клиента» вместе со случайным значением клиента и поддерживаемым набором шифров.
- Сервер отвечает «привет серверу» клиенту вместе со случайным значением сервера и выбранным набором шифров.
- Сервер отправляет свой сертификат клиенту для аутентификации.
- Клиент проверяет идентичность сервера.
- Клиент создает случайный предварительный секретный ключ и шифрует его открытым ключом из сертификата сервера.
- Клиент отправляет зашифрованный предварительный секрет на сервер.
- Сервер МОЖЕТ запросить сертификат у клиента, если требуется.
- И сервер, и клиент генерируют сеансовый ключ на основе pre-master секрета.
- Теперь сервер и клиент могут обмениваться зашифрованными сообщениями с помощью сеансового ключа.
Разница между tls-auth и tls-crypt заключается в том, что, начиная с шага 1, tls-crypt будет шифровать все сообщения с помощью предварительного общего ключа.
Это дает несколько преимуществ:
- Он скрывает инициализацию установления связи TLS с сервером OpenVPN. Это полезно в некоторых ситуациях, когда подпись протокола OpenVPN обнаружена и заблокирована.
- Это предотвращает атаки отказа в обслуживании TLS. С помощью tls-auth злоумышленник может одновременно открывать тысячи TLS-соединений, но не предоставлять действительный сертификат, блокируя доступные порты. С tls-crypt сервер отклонит соединение заранее на шаге 1.
- Данные шифруются дважды: один раз tls-crypt и один раз сеансом TLS.