Математика є загальнодоступною. Алгоритми також відкриті всім. Однак, ви можете зробити повідомлення між двома людьми повністю приватними. Як? Вони використовують спільний ключ.
У цьому полягає суть симетричного шифрування.
Воно називається “симетричним”, тому що і відправник, і одержувач мають абсолютно однаковий рівень доступу. Усі мають ключі. Якщо інша сторона втратить його, двері до повідомлення будуть заблоковані назавжди. Як тільки зловмисник отримає його, двері відчиняться для всіх.
Від стародавніх методів до сучасних стандартів
Це не нова розробка. Її коріння сягає глибокої давнини.
Згадайте шифр Цезаря. Він зсуває символи на задану кількість позицій. Або квадрат Полібія. Відповідайте оцінкам координат. На той час безпека покладалася на збереження методів у секреті. Якщо ворог не може зашифрувати текст, він не може його прочитати.
Цей підхід зазнав невдачі.
Сучасне шифрування змінює цей сценарій протилежний. Перестаньте ховати алгоритми та почніть ховати свої ключі. Це відповідає принципу Керкгоффса, сформульованому в XIX столітті. Він говорить, що криптографічна система має бути безпечною навіть у тому випадку, якщо вся інформація про систему (крім ключа) є загальнодоступною.
Цей алгоритм може бути опублікований у підручниках. Деталі доступні у вихідному коді з відкритим доступом. Поки ключ зберігається у секреті, обмін даними залишається таємним.
Симетричне шифрування поділяє дані на два основні набори.
- Блочні шифри : Вони обробляють дані фіксованими блоками. AES (Advanced Encryption Standard) є тут королем. Він обробляє блоки бітів і шифрує в шифротекст.
- Потокові шифри : Вони обробляють дані як безперервний потік. RC4 є найпоширенішим прикладом, але в останні роки зіткнувся з проблемами.
Мета цих алгоритмів – перемішування та розсіювання. Статистичні атаки зазнають невдачі, тому що вони ретельно перемішують дані. Паттерни приховані. Ви не можете вгадати ключа, не перебираючи всі можливі комбінації.
DES (Data Encryption Standard) У 1970-х роках була спроба формалізувати це. То був перший великий міжнародний стандарт. Однак комп’ютери стають все швидше та швидше. Ключі DES довжиною 56 біт уразливі для атак повним перебором (brute force). У 2001 році його замінили на AES. Який висновок? Безпека – це мета, що постійно рухається.
Проблема розподілу ключів
Уся система залежить від цього загального секрету.
Шифрування марно, якщо ключ потрапляє до рук неавторизованого обличчя. Безпека руйнується. Це призводить до найскладнішої частини симетричного шифрування: безпечного отримання ключів обома сторонами.
Протоколи, такі як Diffie-Hellman, можуть допомогти в цьому. Але технічно це техніка асиметричного шифрування. Насправді їх часто плутають. Ми використовуємо асиметричний підхід для безпечного обміну симетричними ключами. Після того, як ключі передані, ми перемикаємось на симетричне шифрування для фактичної передачі даних.
Чому? Швидкість.
Симетричне шифрування обчислювально дешевше. Воно обробляє дані дуже швидко. Асиметричне шифрування є ресурсомістким. Це занадто повільне для великих файлів або потокової передачі. Тому можна використовувати швидкий метод для виконання основної роботи.
Але є проблема.
У міру збільшення числа користувачів керування ключами стає логістичним кошмаром. Це проблема розподілу ключів.
Якщо Аліса хоче надіслати повідомлення Бобу, їй потрібний унікальний ключ Боба. Якщо вона все ще хоче надіслати повідомлення Чарлі, їй знадобиться ще один ключ. Для набору з * n * людина вам потрібно * n (n-1) / 2 * унікальних ключів. Кількість ключів зростає експонентно.
Саме тому симетричне шифрування є таким ефективним у закритих групах. Банки використовують його. Військові мережі використовують його. Ці групи або невеликі, або мають централізовані системи для управління хаосом генерації та розповсюдження ключів. Воно було створено підтримки відкритих мереж.
Довжина ключа та стійкість до перебору
Не всі ключі створені рівними.
Довжина ключа визначає, скільки часу знадобиться зловмиснику, щоб вгадати ключ. Це стійкість до атак повним перебором (brute force). Вони пробують кожну комбінацію, доки не підберуть правильну.
Сучасне спеціалізоване обладнання може зламати 56-бітові ключі, які використовуються в DES, за лічені години. Це застарілий стандарт.
128-бітові ключі забезпечують надійний захист. Вони витримують поточну обчислювальну потужність. Хоча 256-бітові ключі надто великі для більшості програм, вони забезпечують безпеку на майбутнє.
Параметри потрібно оновлювати. Обчислювальна потужність покращується. Деградація алгоритмів. Прихильність до старих стандартів просто не захистить вас. Ви будете вразливі.
Перевага симетричного шифрування – його ефективність. Недолік полягає у логістиці. Збільшення швидкості відбувається за рахунок складнішого управління ключами.
Це угода. Ви не можете оволодіти всім. Є інструменти для побудови безпеки, але вам потрібно зібрати шматочки самостійно.
Чому симетричне шифрування все ще працює в мережі
Асиметричне шифрування забезпечує рукостискання. Воно дуже повільне. Воно дуже ресурсомістке. Але це вирішує вихідну проблему надійності. Як тільки сесія встановлена, розпочинається основна робота. Тут входить у гру симетричне шифрування.
Він не відображається в адресному рядку браузера. Ім’я алгоритму не відображається. Але воно там є. TLS щоразу під час завантаження сторінки за HTTPS узгоджує тимчасові симетричні ключі. Інфраструктуру відкритих ключів було модернізовано. Симетричні ключі відповідають за передачу даних. Обробляють великі обсяги даних швидкості лінії. Завдяки цій гібридній моделі відеодзвінки не зависають, а відправлення онлайн-форм не затримується на 5 секунд. Баланс між безпекою та продуктивністю.
Чесність і конфіденційність однаково важливі
Шифрування приховує дані. Це не доводить, що вони не були змінені. Тут входять у гру коди аутентифікації повідомлень (MAC).
MAC використовують той самий загальний ключ. Відправник створює позначку. Одержувач перевіряє її. Якщо зміниться хоч один біт повідомлення, тег не пройде перевірку. Отримувач знає, що дані були пошкоджені чи підроблені. Це важливий прошарок. Однієї лише секретності недостатньо. Потрібно переконатись, що ви отримуєте саме те, що відправили.
Головний біль управління ключами
Симетричне шифрування швидке. Але він має очевидні недоліки. Проблема розподілу ключів.
Якщо Аліса та Боб розділяють закритий ключ, це безпечно. Додаємо Чарлі? Тепер потрібно три ключі. Бажаєте додати мільйон користувачів? Кількість ключів зростає експонентно. Управління цим циклом (виробництво, розподіл, звернення, збирання) – це логістичний кошмар. Якщо один ключ скомпрометовано, скомпрометовано весь канал.
Організації часто зазнають невдачі у цій галузі. Ключ закодовано у скрипті. Старі ключі залишаються в базі даних ще довго після закінчення терміну дії. Потрібна військова дисципліна. Без цього навіть найпотужніші алгоритми у світі марні, тому що неправильні люди отримують доступ до ключів.
Квантова тінь
Апаратне забезпечення постійно розвивається. Закон Мура уповільнюється, але спеціалізація пришвидшується. Вхід квантових обчислень.
Алгоритм Шора загрожує RSA та ECC. Проте симетричні алгоритми гнучкіші. Алгоритм Гровера ефективно зменшує силу ключа вдвічі. 128-бітові ключі також захищені від квантових атак, як 64-бітові. 256-бітові ключі все ще надійні. Тому ми перейшли на AES-256 і зберегли довші ключі у симетричному режимі. Це не паніка. Це запланований перехід.
Майбутнє спільних секретів
Дослідження ніколи не закінчуються. Нові симетричні примітиви тестуються. ChaCha20 перевершує AES у мобільних середовищах. Працює швидше на пристрої без апаратного прискорення. Впровадження інформаційної безпеки стає простішим.
Ціль ясна. Конфіденційність. вгору. Еластичність. ефективність. Адаптація протоколу. Алгоритми постійно розвиваються. Практики керування ключами зміцнюються. Інтернет ніколи не закінчується. Просто будьте обережнішими.
