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

OpenVPN 2.4 tls-crypt и dh против эллиптической кривой

  1. Если я правильно понимаю из OpenVPN 2.4 руководство, если используется ECDH TLS cipher suites тогда они могут установить dh none. Это будет иметь тот же уровень безопасности (или лучше), что и использование ключа dh, это правильное предположение?

  2. Что касается tls-auth, в руководстве говорится: «Вместо этого используйте –tls-crypt, если вы хотите использовать файл ключа не только для аутентификации, но и для шифрования канала управления TLS».

В настоящее время я делаю НЕ иметь tls-auth или tls-crypt настройка в конфигурации, но в журналах я вижу

Control Channel: TLSv1.2, cipher TLSv1.2 ECDHE-ECDSA-AES256-GCM-SHA384, 521 bit EC, curve: secp521r1

Означает ли это, что tls-crypt опция НЕ нужна, если используется эллиптическая кривая? или что делает дополнительная безопасность tls-crypt добавить, если канал управления уже зашифрован даже без этой опции? и какая разница, если используется UDP или TCP?

Спасибо!

  1. ECDH и DH оба варианта Обмен ключами Диффи-Хеллмана и требуют абелева группа с вычислительно сложным делением. Тем не мение:

    • Создание хороших конечных полей для DH алгоритм относительно прост (хотя и требует много времени), поэтому OpenVPN просит вас сделать это с openssl dhparam и обеспечить результат dh <filename>. Таким образом, вы не используете предопределенные группы, которые могут подпадать под действие Тупиковая атака, что находится в пределах бюджета АНБ. Однако факторизация в конечных полях - хорошо изученная тема, поэтому DH медленнее, чем ECDH с сопоставимым уровнем безопасности.

    • Создать хорошие эллиптические кривые сложно, поэтому вы должен использовать предопределенные и нет ecdh <filename> вариант. Для dh вариант, вы можете использовать dh none с эллиптическими кривыми. Деление на эллиптической кривой развито не очень хорошо, поэтому для обеспечения такого же уровня безопасности, как DH в настоящее время вам нужны кривые меньшего размера.

  2. Даже без tls-auth или tls-crypt варианты, ваш данные воля всегда быть зашифрованным. В TLS Протокол шифрует данные с помощью ключа, полученного при обмене ключами, как и в предыдущем пункте. Эти параметры определяют, что делать с 4 пакетами Рукопожатие TLS:

    Обычно (как в HTTPS протокол) они не зашифрованы, так как одноранговые узлы не знают друг друга заранее. Но с OpenVPN у вас есть преимущество: вы можете настроить на сервере и всех авторизованных клиентах общий симметричный ключ, который подпишет или зашифрует эти 4 пакета.

    Это позволит серверу сбросить все неподписанные ClientHello Сообщения, перед даже выделяя ресурсы для вычислительно тяжелый TLS протокол. Следовательно, ему будет легче пережить DDoS атака, при которой злоумышленник инициирует тысячи подключений одновременно.

    С помощью tls-auth похож на настройку общего WEP ключ в сети Wi-Fi вместе с каждым клиентом WPA-Enterprise аутентификация. Главное отличие в том, что WEP шифрование сильно нарушено, тогда как HMAC подписи или AES шифрование нет. Следовательно, вы не сможете воспроизвести вышеупомянутую конфигурацию в сети Wi-Fi (она не поддерживается программным обеспечением).

  3. В UDP против TCP выбор не составляет труда: используйте UDP как только возможно. TCP гарантирует, что все отправленные IP-пакеты не будут потеряны и будут доставлены в том порядке, в котором они были отправлены.

    Звучит хорошо, но твой VPN туннель также будет транспортировать внутренние TCP соединения. Если пакет потерян, оба OpenVPN клиент и программа, установившая внутренний TCP соединение начнется ретрансляция. Однако повторно переданные пакеты из внутреннего соединения прибудут к месту назначения. после те, которые ретранслируются OpenVPN были доставлены. Это вызывает ненужный сетевой трафик.

редактировать: Сравнение силы DH и ECDH доступен, например, на Keylength.com:

  • необходимый размер DH группа находится в столбце Discrete Logarithm Group,

  • размер эллиптической кривой с эквивалентной прочностью указан в столбце Elliptic Curve,

Например, следующая конфигурация эллиптических кривых:

ecdh-curve prime256v1

эквивалентно генерированию DH параметры с openssl dhparam -out /etc/openvpn/dh.pem 3072 и используя:

dh /etc/openvpn/dh.pem

Значения, указанные в рекомендациях NIST, примерно соответствуют Уровни безопасности OpenSSL. Уровень безопасности по умолчанию: 1-й уровень, что означает минимум 2048 биты для DH группы и 224 биты для эллиптических кривых. Вы можете увеличить его, используя tls-cipher вариант (ср. Документация OpenSSL для формата). Например. настройка:

tls-cipher DEFAULT:@SECLEVEL=4

приведет к сбою соединений OpenVPN до тех пор, пока вы не отрегулируете два вышеуказанных параметра на требуемый размер группы (7680 для DH и 384 для ECDH).