Симетричне шифрування — вид шифрування, за якого той самий секретний ключ використовується і для зашифрування, і для розшифрування даних, тому відправник та одержувач мають заздалегідь мати спільний ключ.
Як працює симетричне шифрування
Симетричний алгоритм отримує відкритий текст і секретний ключ шифрування та видає шифротекст, який перетворити назад на відкритий текст може лише власник того самого ключа. Є дві основні родини:
- Блокові шифри шифрують блоки даних фіксованого розміру. Головний приклад — стандарт AES; його попередника DES із 56-бітним ключем публічно зламали повним перебором у 1998 році за допомогою машини EFF Deep Crack.
- Потокові шифри поєднують дані з псевдовипадковою гамою. Сьогодні широко застосовується ChaCha20, а RC4 виявився слабким і був заборонений у TLS документом RFC 7465.
Блокові шифри використовуються в режимах роботи, як-от GCM, що забезпечують автентифіковане шифрування: вони не лише приховують вміст, а й виявляють його підробку.
Чому це важливо
Симетричні алгоритми швидкі й часто мають апаратне прискорення, тож захищають майже всі великі обсяги даних: TLS-сесії, VPN-тунелі, трафік Wi-Fi, повнодискове шифрування та зашифровані резервні копії. Їхнє слабке місце — розподіл ключів: обом сторонам потрібен той самий ключ, і його не має дізнатися стороння особа. На практиці це завдання розв’язує криптографія з відкритим ключем, за допомогою якої узгоджують або захищають симетричний сеансовий ключ (гібридне шифрування).
Зловмисники користуються тією самою технологією: програма-вимагач WannaCry (2017) шифрувала файли алгоритмом AES, а ключі AES захищала за допомогою RSA, тому без закритого ключа злочинців жертви не могли відновити дані.
Рекомендації
- Використовувати сучасні автентифіковані алгоритми — AES-GCM або ChaCha20-Poly1305 — з перевірених бібліотек.
- Ніколи не використовувати nonce повторно з тим самим ключем і не прописувати ключі у вихідному коді.
- Обирати 256-бітні ключі для довгострокового захисту, зокрема від майбутніх квантових атак.
- Зберігати ключі в апаратних модулях безпеки (HSM), TPM або спеціалізованих сервісах керування ключами.