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 не скажуть, яке розгортання буде швидшим. Тому тест з іншого сайту в найкращому разі — підказка про обладнання, яким володіє хтось інший. Ваші власні числа починаються з ваших власних кінцевих точок.
Для дозволеного порівняння тримайте кінцеві точки, навантаження й потрібну політику незмінними та запишіть узгоджений захист разом із версіями реалізації. Потім оцінюйте результат за тим, чи завершився застосунок, скільки він втратив і що робили кінцеві точки, замість виводити вартість криптографії з одного тесту швидкості. Число, отримане в інших умовах, — це історія, а не вимірювання.
Якщо старий партнер не може виконати політику, це рішення про сумісність для його власника.
Тримайте цілісність поза угодою
Вимкнення перевірок цілісності або прийняття неперевіреного сервера — це не оптимізація продуктивності й не виправлення сумісності. Це змінює властивість безпеки, для якої обиралася конструкція. Те саме стосується розширення прийнятого списку шифрів, доки не підключиться старий партнер: з’єднання вдається, а політики більше немає.
Запишіть прийняту конструкцію та її власника в посібник, щоб наступна зміна починалася з рішення, а не з уподобання.
Ви хочете політику, яку обидві сторони можуть застосувати. Суперечка про те, яка назва найсильніша, — інша розмова, і вона зазвичай закінчується без рішення.