Лучший в своем классе: история появления стандарта шифрования AES
C мая 2020 года в России стартовали официальные продажи внешних винчестеров WD My Book, поддерживающих аппаратное шифрование AES с 256-битным ключом. В силу законодательных ограничений, ранее подобные устройства можно было приобрести лишь в зарубежных интернет-магазинах электроники либо на «сером» рынке, однако теперь обзавестись защищенным накопителем с фирменной 3-летней гарантией от Western Digital может любой желающий. В честь этого знаменательного события мы решили сделать небольшой экскурс в историю и разобраться, как появился Advanced Encryption Standard и чем же он так хорош по сравнению с конкурирующими решениями.
Долгое время официальным стандартом симметричного шифрования в США являлся DES (Data Encryption Standard — стандарт шифрования данных), разработанный компанией IBM и внесенный в перечень Федеральных стандартов обработки информации в 1977 году (FIPS 46–3). В основу алгоритма легли наработки, полученные в ходе исследовательского проекта под кодовым названием Lucifer. Когда 15 мая 1973 года Национальное бюро стандартов США объявило о проведении конкурса, целью которого стало создание стандарта шифрования для госучреждений, американская корпорация включилась в криптографическую гонку с третьей версией Люцифера, использовавшей обновленную сеть Фейстеля. И наряду с другими конкурсантами потерпела фиаско: ни один из алгоритмов, представленных на первый конкурс, не соответствовал строгим требованиям, сформулированным экспертами НБС.
Разумеется, в IBM не могли просто так смириться с поражением: когда 27 августа 1974 года конкурс был перезапущен, американская корпорация вновь подала заявку, представив улучшенную версию Lucifer. На сей раз у жюри не оказалось ровным счетом ни одной претензии: проведя грамотную работу над ошибками, IBM успешно устранила все недочеты, так что придраться оказалось не к чему. Одержав убедительную победу, Люцифер сменил имя на DES и уже 17 марта 1975 года был издан в Федеральном реестре.
Однако в ходе открытых симпозиумов, организованных в 1976 году с целью обсуждения нового криптографического стандарта, DES подвергся жесткой критике со стороны экспертного сообщества. Причиной этого стали изменения, внесенные в алгоритм специалистами АНБ: в частности, была уменьшена длина ключа до 56 бит (изначально Lucifer поддерживал работу с 64- и 128-битными ключами), а также изменена логика работы блоков перестановки. По мнению криптографов, «улучшения» не имели смысла и единственное, к чему стремилось Агентство национальной безопасности, внедряя модификации, — получить возможность беспрепятственно просматривать зашифрованные документы.
В связи с перечисленными обвинениями, при Сенате США была создана специальная комиссия, целью работы которой стала проверка обоснованности действий АНБ. В 1978 году по итогам расследования был опубликован доклад, в котором сообщалось следующее:
- представители АНБ участвовали в доработке DES лишь косвенно, при этом их вклад касался только изменения работы блоков перестановки;
- окончательная версия DES оказалась более устойчивой к взлому и криптографическому анализу, чем предыдущая, так что внесенные изменения были обоснованы;
- длины ключа 56 бит более чем достаточно для подавляющего большинства приложений, ведь для взлома такого шифра потребуется суперкомпьютер стоимостью как минимум несколько десятков миллионов долларов, а поскольку у обычных злоумышленников и даже профессиональных хакеров подобных ресурсов нет, то и беспокоиться не о чем.
Выводы комиссии частично подтвердились в 1990 году, когда израильские криптографы Эли Бихам и Ади Шамир, работая над концепцией дифференциального криптоанализа, провели большое исследование блочных алгоритмов, в числе которых оказался и DES. Ученые пришли к выводу, что новая модель перестановок оказалась намного более устойчивой к атакам, чем изначальная, а значит, АНБ действительно помогло ликвидировать несколько дыр в алгоритме.
Ади Шамир
В то же время ограничение на длину ключа оказалось проблемой, и притом весьма серьезной, что в 1998 году убедительно доказала общественная организация Electronic Frontier Foundation (EFF) в рамках эксперимента DES Challenge II, проведенного под эгидой RSA Laboratory. Специально для взлома DES был построен суперкомпьютер, получивший кодовое название EFF DES Cracker, над созданием которого трудились Джон Гилмор, сооснователь EFF и руководитель проекта DES Challenge, и Пол Кочер, основатель компании Cryptography Research.
Процессор EFF DES Cracker
Разработанная ими система смогла успешно подобрать ключ к зашифрованному образцу методом простого перебора всего за 56 часов, то есть менее чем за трое суток. Для этого DES Cracker потребовалось проверить около четверти всех возможных комбинаций, а это значит, что даже при самом неблагоприятном стечении обстоятельств на взлом уйдет около 224 часов, то есть не более 10 суток. При этом стоимость суперкомпьютера, с учетом затраченных на его проектирование средств, составила всего 250 тысяч долларов. Нетрудно догадаться, что сегодня взломать подобный шифр еще проще и дешевле: мало того, что железо стало куда мощнее, так еще и благодаря развитию интернет-технологий хакеру вовсе не обязательно покупать или арендовать необходимое оборудование — вполне достаточно создать ботнет из зараженных вирусом ПК.
Данный эксперимент наглядно продемонстрировал, насколько DES морально устарел. А поскольку на тот момент алгоритм использовался в составе практически 50% решений в области шифрования данных (по оценке все той же EFF), вопрос о поиске альтернативы встал как никогда остро.
Новые вызовы — новый конкурс
Справедливости ради стоит сказать, что поиски замены для Data Encryption Standard начались практически одновременно с подготовкой EFF DES Cracker: Национальный институт стандартов и технологий (NIST) США еще в 1997 году объявил о запуске конкурса алгоритмов шифрования, призванного выявить новый «золотой стандарт» криптобезопасности. И если в былые времена аналогичное мероприятие проводилось исключительно «для своих», то, памятуя о неудачном опыте 30-летней давности, в NIST решили сделать конкурс полностью открытым: в нем могли принять участие любая компания и любое частное лицо, независимо от места дислокации или гражданства.
Такой подход оправдал себя еще на этапе отбора претендентов: среди авторов, подавших заявку на участие в конкурсе Advanced Encryption Standard, оказались и всемирно известные криптологи (Росс Андерсон, Эли Бихам, Ларс Кнудсен), и небольшие IT-компании, специализирующиеся на кибербезопасности (Counterpane), и крупные корпорации (немецкая Deutsche Telekom), и образовательные учреждения (Лёвенский католический университет, Бельгия), а также стартапы и небольшие фирмы, о которых мало кто слышал за пределами их стран (например, Tecnologia Apropriada Internacional из Коста-Рики).
Интересно, что в этот раз в NIST утвердили всего два основных требования к алгоритмам-участникам:
- блок данных должен иметь фиксированный размер 128 бит;
- алгоритм должен поддерживать как минимум три размера ключей: 128, 192 и 256 бит.
Добиться такого результата было сравнительно просто, но, как говорится, дьявол кроется в деталях: вторичных требований оказалось куда больше, а соответствовать им было куда сложней. Между тем именно на их основе рецензенты NIST и проводили отбор конкурсантов. Вот каким критериям должны были соответствовать претенденты на победу:
- способность противостоять любым криптоаналитическим атакам, известным на момент проведения конкурса, включая атаки по сторонним каналам;
- отсутствие слабых и эквивалентных ключей шифрования (под эквивалентными подразумеваются такие ключи, которые, хотя и имеют значительные отличия друг от друга, приводят к получению идентичных шифров);
- скорость шифрования стабильна и примерно одинакова на всех актуальных платформах (от 8- до 64-битных);
- оптимизация под многопроцессорные системы, поддержка распараллеливания операций;
- минимальные требования к объему оперативной памяти;
- отсутствие ограничений для использования в стандартных сценариях (в качестве основы для построения хэш-функций, ГПСЧ и т. д.);
- структура алгоритма должна быть обоснованной и простой для понимания.
Последний пункт может показаться странным, однако, если поразмыслить, он не лишен смысла, ведь хорошо структурированный алгоритм гораздо проще анализировать, к тому же в нем куда сложнее спрятать «закладку», с помощью которой разработчик мог бы получить неограниченный доступ к зашифрованным данным.
Прием заявок на конкурс Advanced Encryption Standard продлился полтора года. Всего в нем приняли участие 15 алгоритмов:
- CAST-256, разработанный канадской компанией Entrust Technologies на базе CAST-128, созданного Карлайлом Адамсом и Стаффордом Таваресом;
- Crypton, созданный криптологом Че Хун Лим из южнокорейской компании Future Systems, занятой в сфере кибербезопасности;
- DEAL, концепт которого изначально предложил датский математик Ларс Кнудсен, а впоследствии его идеи развил Ричард Аутербридж, который и подал заявку на участие в конкурсе;
- DFC, совместный проект Парижской высшей педагогической школы, Национального центра научных исследований Франции (CNRS) и телекоммуникационной корпорации France Telecom;
- E2, разработанный под эгидой крупнейшей телекоммуникационной компании Японии Nippon Telegraph and Telephone;
- FROG, детище коста-риканской компании Tecnologia Apropriada Internacional;
- HPC, придуманный американским криптологом и математиком Ричардом Шреппелем из Университета Аризоны;
- LOKI97, созданный австралийскими криптографами Лоуренсом Брауном и Дженнифер Себерри;
- Magenta, разработанный Майклом Якобсоном и Клаусом Хубером для немецкой телекоммуникационной компании Deutsche Telekom AG;
- MARS от компании IBM, в создании которого принимал участие Дон Копперсмит — один из авторов Lucifer;
- RC6, написанный Роном Ривестом, Мэттом Робшау и Рэем Сиднеем специально для конкурса AES;
- Rijndael, созданный Винсентом Рэйменом и Джоан Даймон из Лёвенского католического университета;
- SAFER+, разработанный калифорнийской корпорацией Cylink совместно с Национальной академией наук Республики Армения;
- Serpent, созданный Россом Андерсоном, Эли Бихамом и Ларсом Кнудсеном;
- Twofish, разработанный исследовательской группой Брюса Шнайера на базе криптографического алгоритма Blowfish, предложенного Брюсом еще в 1993 году.
По итогам первого тура были определены 5 финалистов, среди которых оказались Serpent, Twofish, MARS, RC6 и Rijndael. Члены жюри нашли изъяны практически у каждого из перечисленных алгоритмов, кроме одного. Кто же оказался победителем? Немного продлим интригу и для начала рассмотрим основные достоинства и недостатки каждого из перечисленных решений.
MARS
В случае с «богом войны» эксперты отметили идентичность процедуры шифрования и дешифровки данных, однако этим его преимущества и ограничились. Алгоритм IBM вышел на удивление прожорливым, что делало его неподходящим для работы в условиях ограниченных ресурсов. Наблюдались проблемы и с распараллеливанием вычислений. Для эффективной работы MARS нуждался в аппаратной поддержке 32-битного умножения и вращения на переменное число бит, что опять же накладывало ограничения на перечень поддерживаемых платформ.
MARS также оказался достаточно уязвим к атакам по времени и энергопотреблению, имел проблемы с расширением ключей «на лету», а его чрезмерная сложность затрудняла анализ архитектуры и создавала дополнительные проблемы на этапе практической реализации. Одним словом, на фоне других финалистов MARS выглядел настоящим аутсайдером.
RC6
Алгоритм унаследовал часть преобразований от своего предшественника, RC5, тщательно исследованного ранее, что в сочетании с простой и наглядной структурой делало его полностью прозрачным для экспертов и исключало наличие «закладок». К тому же RC6 демонстрировал рекордные скорости обработки данных на 32-битных платформах, а процедуры шифрования и дешифровки были реализованы в нем абсолютно идентично.
Однако алгоритм имел те же проблемы, что и упомянутый выше MARS: тут и уязвимость к атакам по сторонним каналам, и зависимость производительности от поддержки 32-битных операций, а также проблемы с параллельными вычислениями, расширением ключей и требовательность к аппаратным ресурсам. В связи с этим на роль победителя он никак не годился.
Twofish
Twofish оказался довольно шустрым и хорошо оптимизированным для работы на маломощных устройствах, отлично справлялся с расширением ключей и предполагал несколько вариантов реализации, что позволяло тонко адаптировать его под конкретные задачи. В то же время «две рыбки» оказались уязвимы к атакам по сторонним каналам (в частности, по времени и потребляемой мощности), не особо дружили с многопроцессорными системами и отличались чрезмерной сложностью, что, кстати, сказалось и на скорости расширения ключа.
Serpent
Алгоритм имел простую и понятную структуру, что существенно упрощало его аудит, был не особо требователен к мощностям аппаратной платформы, имел поддержку расширения ключей «на лету» и сравнительно легко поддавался модификации, чем выгодно отличался от своих оппонентов. Несмотря на это, Serpent был в принципе самым медленным из финалистов, к тому же процедуры шифровки и дешифровки информации в нем кардинально отличались и требовали принципиально разных подходов к реализации.
Rijndael
Rijndael оказался чрезвычайно близок к идеалу: алгоритм в полной мере удовлетворял требованиям NIST, при этом не уступая, а по совокупности характеристик заметно превосходя конкурентов. Слабых мест у Рейндала было лишь два: уязвимость к атакам по энергопотреблению на процедуру расширения ключа, что является весьма специфичным сценарием, и определенные проблемы с расширением ключа «на лету» (данный механизм работал без ограничений лишь у двух конкурсантов — Serpent и Twofish). Кроме того, по оценкам экспертов, Рейндал имел несколько меньший запас криптостойкости, чем Serpent, Twofish и MARS, что, впрочем, с лихвой компенсировалось устойчивостью к подавляющему большинству разновидностей атак по сторонним каналам и широким спектром вариантов реализации.
По совокупности характеристик Рейндал на голову опережал конкурентов, так что результат финального голосования оказался вполне закономерен: алгоритм одержал уверенную победу, получив 86 голосов «за» и лишь 10 «против». Serpent занял почетное второе место с 59 голосами, тогда как Twofish расположился на третьей позиции: за него вступился 31 член жюри. Вслед за ними следовал RC6, завоевав 23 голоса, а MARS закономерно оказался на последней строчке, получив лишь 13 голосов «за» и 83 «против».
2 октября 2000 года Rijndael был объявлен победителем конкурса AES, по традиции сменив название на Advanced Encryption Standard, под которым он и известен в настоящее время. Процедура стандартизации продлилась около года: 26 ноября 2001 года AES был внесен в перечень Федеральных стандартов обработки информации, получив индекс FIPS 197. Новый алгоритм высоко оценили и в АНБ, а с июня 2003 года Агентство национальной безопасности США даже признало AES с 256-битным ключом шифрования достаточно надежным для обеспечения безопасности документов категории «совершенно секретно».
Внешние накопители WD My Book с поддержкой аппаратного шифрования AES-256
Благодаря сочетанию высокой надежности и производительности, Advanced Encryption Standard быстро обрел мировое признание, став одним из самых популярных в мире алгоритмов симметричного шифрования и войдя в состав множества криптографических библиотек (OpenSSL, GnuTLS, Linux’s Crypto API и др.). В настоящее время AES широко используется в приложениях корпоративного и пользовательского уровня, а его поддержка реализована во множестве разнообразных устройств. В частности, именно аппаратное шифрование AES-256 применяется во внешних накопителях Western Digital семейства My Book для обеспечения защиты сохраненных данных. Давайте познакомимся с этими девайсами поближе.
Линейка настольных жестких дисков WD My Book включает шесть моделей различной емкости: на 4, 6, 8, 10, 12 и 14 терабайт, что позволяет подобрать устройство, оптимально подходящее под ваши потребности. По умолчанию внешние HDD используют файловую систему exFAT, что обеспечивает совместимость с широким спектром операционных систем, включая Microsoft Windows 7, 8, 8.1 и 10, а также Apple macOS версии 10.13 (High Sierra) и выше. Пользователи ОС Linux имеют возможность смонтировать винчестер с помощью драйвера exfat-nofuse.
Подключение My Book к компьютеру осуществляется с помощью высокоскоростного интерфейса USB 3.0, обратно совместимого с USB 2.0. С одной стороны, это позволяет передавать файлы на максимально возможной скорости, ведь пропускная способность USB SuperSpeed составляет 5 Гбит/с (то есть 640 МБ/с), чего оказывается более чем достаточно. В то же время функция обратной совместимости обеспечивает поддержку практически любых устройств, выпущенных за последние 10 лет.
Хотя My Book и не требует установки дополнительного программного обеспечения благодаря технологии автоматического определения и конфигурирования периферических устройств Plug and Play, мы все же рекомендуем воспользоваться фирменным программным пакетом WD Discovery, который поставляется в комплекте с каждым устройством.
В состав набора вошли следующие приложения:
WD Drive Utilities
Программа позволяет получить актуальную информацию о текущем состоянии накопителя на основе данных S.M. A.R.T. и проверить жесткий диск на наличие битых секторов. Помимо этого, с помощью Drive Utilities можно оперативно уничтожить все сохраненные на вашем My Book данные: при этом файлы будут не просто стерты, но и полностью перезаписаны несколько раз, так что восстановить их по завершении процедуры уже не удастся.
WD Backup
Используя эту утилиту, можно настроить резервное копирование по заданному расписанию. Стоит сказать, что WD Backup поддерживает работу с Google Drive и Dropbox, при этом позволяя выбирать при создании бэкапа любые возможные сочетания «источник-цель». Таким образом, вы можете настроить автоматический перенос данных с My Book в облако либо импортировать нужные файлы и папки из перечисленных сервисов как на внешний винчестер, так и на локальную машину. Помимо этого, предусмотрена возможность синхронизации с аккаунтом в социальной сети Facebook, что позволяет автоматически создавать резервные копии фотографий и видеозаписей из вашего профиля.
WD Security
Именно с помощью этой утилиты можно ограничить доступ к накопителю паролем и управлять шифрованием данных. Все, что для этого потребуется, — указать пароль (его максимальная длина может достигать 25 символов), после чего вся информация на диске будет зашифрована, а доступ к сохраненным файлам сможет получить лишь тот, кто знает кодовую фразу. Для большего удобства WD Security позволяет создать список доверенных устройств, при подключении к которым My Book будет разблокироваться автоматически.
Подчеркнем, что WD Security лишь предоставляет удобный визуальный интерфейс для управления криптографической защитой, тогда как шифрование данных осуществляется самим внешним накопителем на аппаратном уровне. Такой подход обеспечивает целый ряд важных преимуществ, а именно:
- за создание ключей шифрования отвечает аппаратный генератор случайных чисел, а не ГПСЧ, что помогает добиться высокой степени энтропии и повысить их криптографическую стойкость;
- в ходе процедуры шифрования и дешифровки криптографические ключи не выгружаются в оперативную память компьютера, равно как и не создаются временные копии обрабатываемых файлов в скрытых папках системного диска, что помогает свести к минимуму вероятность их перехвата;
- скорость обработки файлов никак не зависит от производительности клиентского устройства;
- после активации защиты шифрование файлов будет осуществляться автоматически, «на лету», не требуя дополнительных действий со стороны пользователя.
Все вышеперечисленное гарантирует безопасность данных и позволяет практически полностью исключить вероятность хищения конфиденциальной информации. С учетом дополнительных возможностей накопителя это делает My Book одним из лучших защищенных хранилищ среди доступных на российском рынке.