Несомненно, многие пользователи компьютеров, работающие с интернетом (и не только), слышали о таком термине, как шифрование данных 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 бит потребуется 65 536 стадий, а для 256 бит – 1,1 х 1077. И как было заявлено американскими специалистами, на подбор правильной комбинации (ключа) уйдет порядка 149 триллионов лет.
Что применить при настройке сети на практике: шифрование AES или TKIP?
Теперь перейдем к использованию AES-256 при шифровании передаваемых и принимаемых данных в беспроводных сетях.
Как правило, в любом маршрутизаторе (роутере) имеется несколько параметров на выбор: только AES, только TKIP и AES+TKIP. Они применяются в зависимости от протокола (WEP или WEP2). Но! TKIP является устаревшей системой, поскольку обладает меньшей степенью защиты и не поддерживает подключения 802.11n со скоростью передачи данных, превышающей 54 Мбит/с. Таким образом, вывод о приоритетном использовании AES вместе с режимом безопасности WPA2-PSK напрашивается сам собой, хотя можно задействовать оба алгоритма в паре.
Вопросы надежности и безопасности алгоритмов AES
Несмотря на громкие заявления специалистов, алгоритмы AES теоретически все же уязвимы, поскольку сама природа шифрования имеет простое алгебраическое описание. Это отмечал еще Нильс Фергюссон. А в 2002 году Йозеф Пепшик и Николя Куртуа опубликовали статью, обосновывающую потенциально возможную атаку XSL. Правда, она в научном мире вызвала много споров, и некоторые посчитали их вычисления ошибочными.
В 2005 году было сделано предположение о том, что атака может использовать сторонние каналы, а не только математические вычисления. При этом одна из атак вычислила ключ после 800 операций, а другая получила его через 232 операций (на восьмом раунде).
Вне всяких сомнений, на сегодняшний день эта система и могла бы считаться одной из самых продвинутых, если бы не одно но. Несколько лет назад по интернету прокатилась волна вирусных атак, при которых вирус-шифровальщик (а по совместительству еще и вымогатель), проникая на компьютеры, полностью шифровал данные, требуя за дешифрацию кругленькую сумму денег. При этом в сообщении отмечалось, что шифрование производилось с использованием алгоритма AES1024, которого, как считалось до недавних пор, в природе не существует.
Так это или нет, но даже самые известные разработчики антивирусного ПО, включая и «Лабораторию Касперского», при попытке расшифровки данных оказались бессильны. Многие специалисты признали, что пресловутый вирус I Love You, в свое время поразивший миллионы компьютеров во всем мире и уничтоживший на них важную информацию, в сравнении с этой угрозой оказался детским лепетом. К тому же I Love You больше был нацелен на файлы мультимедиа, а новый вирус получал доступ исключительно к конфиденциальной информации крупных корпораций. Впрочем, утверждать со всей очевидностью, что здесь использовалось именно шифрование AES-1024, никто не берется.
Заключение
Если подвести некий итог, в любом случае можно сказать, что AES-шифрование на сегодняшний день является самым продвинутым и защищенным, независимо от того, какая применяется длина ключа. Неудивительно, что именно этот стандарт используется в большинстве криптосистем и имеет достаточно широкие перспективы на развитие и усовершенствование в обозримом будущем, тем более что очень вероятным может оказаться и объединение нескольких типов шифрования в одно целое (например, параллельное использование симметричного и асимметричного или блочного и потокового шифрования).