Чому більше число бітів ключа не робить VPN безпечнішим
Розмір ключа щось означає в межах одного алгоритму й однієї ролі. Перевірка партнера, вибір набору, оновлення та записи оператора — питання, на які він не відповідає.
Реклама каже 256 біт, інший продукт каже 128 біт, і висновок здається очевидним, доки не помітиш, що числа описують різні речі. Ключ симетричного шифру, відкритий ключ сертифіката й параметр обміну ключами не вимірюються однією шкалою. Жоден з них не охоплює питання, чи перевірив клієнт сервер узагалі. Число — це реальна інформація, і вона значно вужча, ніж натякає маркетинг навколо нього.
Перш ніж щось порівнювати, запитайте, який ключ рахують і що він захищає.
Три ключі з трьома завданнями
Шифр даних шифрує корисне навантаження тунелю, і його ключ виводиться заново для кожної сесії. Відкритий ключ сертифіката доводить ідентичність кінцевої точки під час автентифікації. Етап обміну ключами, зазвичай ефемерний варіант Diffie-Hellman, встановлює спільний секрет, який згодом жодна сторона не може відтворити. Кожен має власні припущення про стійкість і власні конвенції розміру.
Тому 256 поряд із 2048 поряд із 32 не можна впорядкувати за величиною; це відповіді на різні питання.
Навіть у межах однієї ролі число говорить щось лише стосовно використовуваної родини алгоритмів.
Де число допомагає, а де зупиняється
У межах одного алгоритму більший ключ підвищує вартість перебору, а опубліковані настанови встановлюють мінімуми для ключів сертифікатів у міру зміни обчислювальної потужності. Це законне й вузьке порівняння: AES-128 і AES-256 обидва протистоять прямій атаці з великим запасом, тож різниця на практиці рідко буває вирішальним чинником.
Поза цим порівнянням число нічого не передбачає про помилки конфігурації, перевірку сертифікатів або версію протоколу.
Читайте весь узгоджений набір
Те, що з'єднання насправді використовує, — це набір: режим шифру, конструкція цілісності або автентифікованого шифрування, група обміну ключами та метод автентифікації. Сучасний режим AEAD із правильним рукостисканням — інша пропозиція, ніж старіший режим з окремим MAC, навіть коли заявлений розмір ключа однаковий.
openvpn --show-ciphers | head -20 openvpn --show-tls | head -20 openssl x509 -in server.crt -noout -text | grep -E 'Public-Key|Signature Algorithm' wg show
Читайте узгоджений результат, а не налаштований максимум. Клієнт, що пропонує сильний набір, усе одно підключається слабко, якщо сервер вибирає слабший варіант і профіль це дозволяє. Якщо важлива продуктивність, вимірюйте її на конкретному пристрої та шляху, бо розмір ключа погано передбачає пропускну здатність, щойно в гру входять апаратне прискорення й розмір пакета.
Частини, яких число ніколи не вимірює
Супровід програмного забезпечення — перша прогалина. Тунель, збудований на бібліотеці, що перестала отримувати виправлення, слабший, ніж підказує розмір його ключа, і жодне значення конфігурації це не виправить. Поведінка оператора — друга: журнали з'єднань, дані облікових записів і робота підтримки повністю поза криптографією. Сервіс, що зберігає більше, ніж ви очікували, не стає безпечнішим від довшого ключа.
Перевірка партнера — третя й найважливіша за наслідками. Клієнт, який приймає будь-який сертифікат, має сильний шифр, обгорнутий навколо неавтентифікованого партнера, і це гірше за скромний шифр із правильною перевіркою. Перевірте ці три речі до числа, і число займе належне місце.