Назад | Перейти на главную страницу

Различия в безопасности 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 можно более или менее разбить на следующие шаги:

  1. Клиенты отправляют на сервер «приветствие клиента» вместе со случайным значением клиента и поддерживаемым набором шифров.
  2. Сервер отвечает «привет серверу» клиенту вместе со случайным значением сервера и выбранным набором шифров.
  3. Сервер отправляет свой сертификат клиенту для аутентификации.
  4. Клиент проверяет идентичность сервера.
  5. Клиент создает случайный предварительный секретный ключ и шифрует его открытым ключом из сертификата сервера.
  6. Клиент отправляет зашифрованный предварительный секрет на сервер.
  7. Сервер МОЖЕТ запросить сертификат у клиента, если требуется.
  8. И сервер, и клиент генерируют сеансовый ключ на основе pre-master секрета.
  9. Теперь сервер и клиент могут обмениваться зашифрованными сообщениями с помощью сеансового ключа.

Разница между tls-auth и tls-crypt заключается в том, что, начиная с шага 1, tls-crypt будет шифровать все сообщения с помощью предварительного общего ключа.

Это дает несколько преимуществ:

  1. Он скрывает инициализацию установления связи TLS с сервером OpenVPN. Это полезно в некоторых ситуациях, когда подпись протокола OpenVPN обнаружена и заблокирована.
  2. Это предотвращает атаки отказа в обслуживании TLS. С помощью tls-auth злоумышленник может одновременно открывать тысячи TLS-соединений, но не предоставлять действительный сертификат, блокируя доступные порты. С tls-crypt сервер отклонит соединение заранее на шаге 1.
  3. Данные шифруются дважды: один раз tls-crypt и один раз сеансом TLS.