AES-256 или OFB: выберите полную конструкцию шифра VPN
Блочный шифр, длина ключа и режим — это разные решения. Оценивайте конфиденциальность и целостность вместе, а затем следуйте поддерживаемой политике канала.
AES-256 и OFB отвечают на разные вопросы, и именно здесь обзоры шифров ошибаются, когда рассматривают их как конкурирующие варианты. Одно называет блочный шифр с длиной ключа; другое описывает, как блочный шифр превращается в поток для более длинного сообщения. Руководство по выбору защиты должно смотреть на всю конструкцию, включая то, как получатель обнаруживает изменённый пакет.
Назовите четыре части конструкции
Каждый обзор сводится к четырём вопросам: какой примитив и длина ключа, как обрабатываются сообщения с его помощью, как получатель отвергает несанкционированное изменение и как протокол управляет входами, ключами и их сроком жизни. Список знакомых имён отвечает только на первый. Второй и третий — там, где живут реальные различия, а четвёртый — там, где реализации тихо расходятся. Задайте их в этом порядке и запишите ответы.
OFB встречается среди режимов конфиденциальности в публикации NIST о режимах блочных шифров, и конфиденциальность — всё, что он даёт. Протокол, который соединяет режим шифрования с отдельным MAC, должен составить их правильно, а название алгоритма не доказывает эту композицию. Поэтому одно название режима не может решить вопрос внедрения.
Четвёртый вопрос — тот, который оператор действительно может проверить на работающей системе.
Предпочитайте аутентифицированную конструкцию
Аутентифицированное шифрование даёт конфиденциальность и целостность вместе, а конструкции AEAD также защищают связанные данные от изменения, не шифруя их. Это свойство защиты пакетов, и оно не связано с тем, вошёл ли человек успешно.
Руководство Руководство Netgate по криптографическим настройкам OpenVPN указывает для канала данных на варианты AEAD, включая AES-GCM, и это тот тип поддерживаемой политики, которого следует придерживаться. Используйте варианты, которые поддерживает установленный выпуск и партнёрские клиенты, вместо копирования исторического рейтинга режимов в новое развёртывание. Совместимость со старым, криптографические бэкенды и поддержка offload ограничивают то, что действительно доступно.
Поддерживаемая конструкция побеждает хитрую композицию каждый раз.
Читайте согласованный результат, а не предложение
Шифр в принятом списке ничего не говорит о текущей сессии. Прочитайте согласованную защиту канала данных у клиента или на шлюзе, а затем сравните её с политикой, которую вы хотели применять. Конфигурация, которая всё ещё перечисляет старый вариант для одного старого партнёра, — это решение о совместимости, а не утверждение о сессии перед вами.
openvpn --config client.conf --verb 4 2>&1 | grep -Ei 'cipher|data channel|auth'
На шлюзе эквивалентный вывод — это ассоциация безопасности или криптографические детали соединения, в зависимости от платформы. В обоих случаях предложение и результат — разные факты. Список со старым вариантом для одного старого партнёра не означает, что каждая сессия его использует, а сессия, которая использует, — это то, что вам нужно было знать.
Запишите оба факта вместе, с датой и версией клиента.
Измеряйте только то, что можно сравнить
Пропускная способность зависит от оборудования оконечных точек, реализации, ускорения, размеров пакетов и выбранной конфигурации. Ни длина ключа, ни слово OFB не скажут, какое развёртывание будет быстрее. Поэтому тест с другого сайта в лучшем случае — подсказка об оборудовании, которым владеет кто-то другой. Ваши собственные числа начинаются с ваших собственных оконечных точек.
Для разрешённого сравнения держите оконечные точки, нагрузку и требуемую политику неизменными и запишите согласованную защиту вместе с версиями реализации. Затем судите о результате по тому, завершилось ли приложение, сколько оно потеряло и что делали оконечные точки, вместо того чтобы выводить стоимость криптографии из одного теста скорости. Число, полученное в других условиях, — это история, а не измерение.
Если старый партнёр не может выполнить политику, это решение о совместимости для его владельца.
Держите целостность вне сделки
Отключение проверок целостности или приём непроверенного сервера — это не оптимизация производительности и не исправление совместимости. Это меняет свойство безопасности, для которого выбиралась конструкция. То же относится к расширению принятого списка шифров, пока не подключится старый партнёр: соединение удаётся, а политики больше нет.
Запишите принятую конструкцию и её владельца в руководство, чтобы следующее изменение начиналось с решения, а не с предпочтения.
Вы хотите политику, которую обе стороны могут применять. Спор о том, какое название сильнее, — другой разговор, и он обычно заканчивается без решения.