Безсумнівно, багато користувачів комп'ютерів, які працюють з інтернетом (і не тільки), чули про такий термін, як AES шифрування даних. Що це за система, які алгоритми вона використовує і для чого застосовується, має уявлення досить обмежене коло людей. Звичайному юзеру це за великим рахунком знати і не потрібно. Тим не менш розглянемо цю криптографічну систему, особливо не вникаючи в складні математичні обчислення і формули, щоб це було зрозуміло будь-якій людині.
Що таке AES-шифрування?
Почнемо з того, що сама по собі система представляє набір алгоритмів, які дозволяють приховати початковий вигляд якихось передаються, одержуваних користувачем або збережених на комп'ютері даних. Найчастіше вона застосовується в інтернет-технологіях, коли потрібно забезпечити повну конфіденційність інформації, і відноситься до так званих алгоритмів симетричного шифрування.
Тип шифрування AES передбачає використання для перетворення інформації в захищений вид і зворотного декодування одного і того ж ключа, який відомий і відправляє, і приймаючій стороні, на відміну від симетричного шифрування, в якому передбачено застосування двох ключів – закритого і відкритого. Таким чином, неважко зробити висновок, що, якщо обидві сторони знають правильний ключ, процес шифрування і дешифрування проводиться досить просто.
Трохи історії
Вперше AES-шифрування згадується ще в 2000 році, коли на конкурсі вибору наступника системи DES, яка була стандартом у США з 1977 року, переможцем став алгоритм Rijndael.
У 2001 році AES-система була офіційно прийнята в якості нового федерального стандарту шифрування даних і з тих пір використовується повсюдно.
Види шифрування AES
Еволюція алгоритмів включала в себе декілька проміжних стадій, які в основному були пов'язані із збільшенням довжини ключа. Сьогодні розрізняють три основних типи: AES-128-шифрування AES-192 і AES-256.
Назва говорить сама за себе. Цифрове позначення відповідає довжині застосовуваного ключа, вираженої в бітах. Крім того, AES-шифрування відноситься до блокового типу, який працює безпосередньо з блоками інформації фіксованої довжини, шифруючи кожен з них, на відміну від потокових алгоритмів, що оперують окремими символами відкритого повідомлення, переводячи їх в зашифрований вид. У AES довжина блоку складає 128 біт. Якщо говорити науковою мовою, ті ж алгоритми, які використовує AES-256 шифрування, розуміють операції на основі полиноминального подання операцій і кодів при обробці двовимірних масивів (матриць).
Як це працює?
Алгоритм роботи досить складний, проте включає в себе використання декількох базових елементів. Спочатку застосовується двовимірна матриця, цикли перетворення (раунди), раундовий ключ і таблиці початкової і зворотного підстановки.
Процес шифрування даних складається з декількох етапів: обчислення всіх раундових ключів; підстановка байтів з допомогою основної таблиці S-Box; зрушення у формі з використанням розрізняються величин (див. малюнок вище); змішування даних усередині кожного стовпця матриці (форми); складання форми і раундового ключа. Дешифрування проводиться в зворотному порядку, але замість таблиці S-Box застосовується таблиця зворотних постановок, яка була згадана вище.
Якщо навести приклад, при наявності ключа довжиною 4 біта для перебору потрібно всього 16 стадій (раундів), тобто необхідно перевірити всі можливі комбінації, починаючи з 0000 і закінчуючи 1111. Природно, такий захист зламується досить швидко. Але якщо взяти ключі побільше, для 16 біт потрібно 65536 стадій, а для 256 біт – 11 х 10 77 . І як було заявлено американськими фахівцями, на вибір правильної комбінації (ключа) піде близько 149 трильйонів років.
Що застосувати при налаштуванні мережі на практиці: шифрування AES або TKIP?
Тепер перейдемо до використання AES-256 при шифруванні переданих і прийнятих даних в бездротових мережах.
Як правило, в будь-якому маршрутизатор (роутер) є кілька варіантів на вибір: тільки AES, тільки TKIP і AES+TKIP. Вони застосовуються в залежності від протоколу (WEP або WEP2). Але! TKIP є застарілою системою, оскільки володіє меншим ступенем захисту і не підтримує підключення 80211 n зі швидкістю передачі даних, що перевищує 54 Мбіт/с. Таким чином, висновок про пріоритетному використанні AES разом із режимом безпеки WPA2-PSK напрошується сам собою, хоча можна задіяти обидва алгоритму в парі.
Питання надійності та безпеки алгоритмів AES
Незважаючи на гучні заяви фахівців, алгоритми AES теоретично все ж уразливі, оскільки сама природа шифрування має просте алгебраїчне опис. Це відзначав ще Нільс Фергюссон. А в 2002 році Йозеф Пепшик і Ніколя Куртуа опублікували статтю, обгрунтувальну потенційно можливу атаку XSL. Правда, вона в науковому світі викликала багато суперечок, і деякі вважають їх обчислення помилковими. У 2005 році було зроблено припущення про те, що атака може використовувати сторонні канали, а не тільки математичні обчислення. При цьому одна з атак вирахувала ключ після 800 операцій, а інша отримала його через 2 32 операцій (на восьмому раунді).
Поза всяких сумнівів, на сьогоднішній день ця система і могла б вважатися однією з найбільш просунутих, якщо б не одне але. Кілька років тому по інтернету прокотилася хвиля вірусних атак, при яких вірус-шифрувальник (а за сумісництвом ще й вимагач), проникаючи на комп'ютери, повністю шифрував дані, вимагаючи за дешифрацию кругленьку суму грошей. При цьому в повідомленні зазначалося, що шифрування проводилося з використанням алгоритму AES1024 якого, як вважалося донедавна, в природі не існує. Так це чи ні, але навіть найвідоміші розробники антивірусного ПЗ, включаючи і «Лабораторію Касперського», при спробі розшифровки даних виявилися безсилі. Багато фахівці визнали, що горезвісний вірус I Love You, свого часу вразив мільйони комп'ютерів у всьому світі і знищив на них важливу інформацію, в порівнянні з цією загрозою опинився дитячим лепетом. До того ж I Love You більше був націлений на медіафайли, а новий вірус отримував доступ виключно до конфіденційної інформації великих корпорацій. Втім, стверджувати з усією очевидністю, що тут використовувалося саме шифрування AES-1024 ніхто не береться.
Висновок
Якщо підвести якийсь підсумок, в будь-якому випадку можна сказати, що AES-шифрування на сьогоднішній день є найбільш просунутим і захищеним, незалежно від того, яка застосовується довжина ключа. Не дивно, що саме цей стандарт використовується в більшості криптосистем і має досить широкі перспективи на розвиток і удосконалення в осяжному майбутньому, тим більше, що дуже ймовірним може виявитися і об'єднання декількох типів шифрування в одне ціле (наприклад, паралельне використання симетричного і асиметричного або блочного і потокового шифрування).