Ускорение криптоанализа при помощи вычислительных систем на ПЛИС

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Прямо сейчас ведется война в информационном пространстве, затрагивающая каждого пользователя, участвующего в обмене данными. По одну сторону находятся шифровальщики, эксперты по защите данных — которые работают над обеспечением конфиденциальности - начиная с личных данных и заканчивая «закрытием» информации, представляющей интерес в рамках национальной безопасности.

С другой стороны — хакеры, политическая оппозиция и недружественные государства — используют все более сложные методы получения доступа к казалось бы, хорошо защищенным данным.
Оружием в этой войне, для обеих сторон - является вычислительная мощность — берущая начало с электромеханических компьютеров наподобие Энигмы времен второй Мировой, проходящее через эпохи вычислений на CPU, графических адаптерах - и заканчивающаяся решениями 21 века - аналогичными по силе атомной бомбе — реконфигурируемыми вычислителями на микросхемах ПЛИС.

Криптография — требующая большой скорости обработки данных для создания и взлома устойчивых математических алгоритмов — была одной из важнейших движущих сил в развитии вычислительных машин на протяжении более 70 лет . На самом деле, технология — применяющаяся в современных компьютерах — основана на исследованиях, проведенными пионерами в вычислительном криптоанализе, такими как Алан Тьюринг, Клод Шеннон, и их коллегами — во время Второй мировой войны.
В современную эпоху проводной и беспроводной связи, криптографические исследования вновь приводят к ускорению прогресса в вычислительной технике. Чем больше передается через средства коммуникаций «чувствительных» данных — тем больше интерес к ней по обе стороны баррикад — хакеры стремятся расшифровывать информацию быстрее, а специалисты по информационной безопасности — применяют все более ухищренные алгоритмы шифрования. Как результат — и тем, и другим — требуются мощные вычислители для решения их задач.

Сегодня я расскажу, как криптографические вычисления могут быть ускорены при помощи кластеров, собираемых из широко доступных программируемых логических микросхем — сокращенно ПЛИС или FPGA по англ.
Алгоритмы, которые используются для взлома большинства механизмой защиты данных — требуют больших вычислительных мощностей и длительного времени, посколько фактически решают задачу перебором пароля методом «грубой силы». И, если короткий пароль — можно взломать за несколько минут на обычном персональном компьютере, то перебор длинного пароля, может занять десятки и даже сотни лет итеративных вычислений.
В последние годы получило широкое развитие использование видеокарт в качестве ускорителей для криптоанализа. Эти устройства, благодаря своим структурам — могут обеспечить параллельный запуск множества n расчетных модулей, что ускоряет взлом пароля так же в n раз.
Благодаря наличию таких средств разработки как OpenCL и CUDA — использование мощности графического адаптера для вычислений, доступно любому программисту.

Но — видеокарты изначально разработаны для обработки графики, поэтому довольно плохо оптимизированы для параллельных вычислений, таких как перебор хешей.
В частности, многие алгоритмы потокового (побитового) шифрования — DES, SAFER (используется в bluetooth), семейство A5 — A5/1, A5/3 (шифрование мобильной телефонии) и другие - не поддаются эффективной реализации ни на CPU, ни на GPU.
Второй существенный недостаток GPU — высокое энергопотребление. Графические процессоры обеспечивают существенное ускорение вычислений, но обратная сторона — киловатты потребляемой мощности.

Вычислительные кластеры на ПЛИС — альтернативное решение, лишенное этих недостатков.

ПЛИС — это программируемая микросхема для создания цифровых логических схем. При этом логическая структура не заложена на заводе, как в cpu или gpu — а задается программистом в специальных средствах проектирования, таких как ISE или Vivado.

Одна микросхема может вмещать в себя десятки программных модулей, работающих параллельно над взломом одного и того же пароля. Несколько таких микросхем можно установить на печатную плату. Печатные платы — объединить к серверные корпуса, а корпуса — в стойки (и целые машинные залы).
Таким образом мы получаем так называемый реконфигурируемую вычислительную систему (РВС) — суперкомпьютер, решающий только одну узкоспециализированную задачу (например подбор хеша) — но в миллионы параллельных потоков на высокой скорости.
При необходимости — РВС можно реконфигурировать для решения другой задачи (например перенастроить с алгоритма DES на A5), но это занимает довольно длительное время — секунды, т. к. фактически требуется одновременная «перепрошивка» сотен микросхем в составе компьютера.

Одна из первых таких систем называется COPACOBANA. На фотографиях представлены отдельные вычислительные модули, собираемые при помощи некой «материнской платы» в законченный unit-корпус.
cobana1.jpg

photo_b4.jpg

photo_2.jpg



Это устройство довольно старое, собрано на медленных компонентах (fpga xilinx spartan3) и представляет разве что историческую ценность.
Более новый вычислитель собран уже на Virtex 4.

photo_v1.jpg



Существуют и "гибридные" варианты - например, вычислитель, состоящий из плат Pico SC3 (77 штук микросхем Xilinx Virtex-5 ), SC4 (176шт spartan3), SC5 (72шт Spartan6). Эти платы умещаются в стандартном серверном корпусе размерностью 4U и суммарно потребляют всего 1.4кВт электрической мощности (не сильно больше чем обычный компьютер с быстрым GPU ускорителем типа Теслы).

cluster1.jpg



Используя такое оборудование, были проведены сравнения скорости взлома следующих алгоритмов:

FileVault

Базируется на алгоритме AES и используется для шифрования файловой системе в компьютерах Apple. Восстановление пароля для FileVault требует вычисления хеша от предполагаемого пароля при помощи функции SHA-1, тысячи раз. В данном бенчмарке использовался метод восстановления ключа, называемый PBKDF2. При использовании всего 72шт микросхем из РВС, достигнуто уменьшение времени расшифровки ключа доступа к файловой системе более чем в 498 раз по сравнению с процессором Intel Core i7 с частотой 2,93ГГц. Как результат — уменьшение времени взлома с 21 часа до 2.5 минут.

vault.jpg




Wifi — WPA2
Так же использует SHA-1 для создания хешей. Соответственно, результат по производительности — аналогичен предыдущему — 498 раз.
Ну а результаты для более старого алгоритма WEP Вы можете увидеть на изображении:

wep.jpg





Кластеры на FPGA могут быть использованы для взлома множества стойких алгоритмов.

Как пример — на системе всего из 176 ПЛИС, с суммарным потреблением в 1.5кВт - достигается скорость перебора в 280 биллионов ключей DES за секунду, тогда как на довольно современный GPU Nvidia Tesla «выдает» всего лишь 16 миллионов ключей в секунду.
Таким образом, по сравнению с аналогичным по габаритам и потребляемой мощности компьютером — мы получаем колоссальное увеличение скорости.
Тот пароль, взлом которого на видеокарте потребует несколько лет — при помощи ПЛИС вычислителя размером с обычный 4U сервер, займет всего 2...3 дня.

Причем, при сборке РВС-вычислителей в кластеры — скорость растет почти линейно, т. к. существует возможность использования таких скоростных шин обмена данными как Infiniband, PciExpress, RocketIO и других. Тут уместно напомнить, что "нет пределов совершенству" - и на базе РВС может быть построен не только машинный зал, но и целый датацентр...

Отдельную нишу РВС занимают в атаках типа MiTM — когда длина ключа относительно небольшая (64...128бит), но взломать его нужно быстро — за время пока не истек таймаут аутентификации. Так, абсолютно все комплексы перехвата мобильной связи — используют дешифраторы, построенные на ПЛИС — по причине известного, стабильного и прогнозируемого времени взлома ключа сессии. Ведь, реконфигурируемый вычислитель - это не обязательно датацентр и мегаватты мощности, а иногда и маленькая плата размером не больше ладони, питающаяся от lipo аккумулятора...

Как пример производительности - российская вычислительная система Орфей, созданная в 2011 году - состоит из 850шт fpga, занимает одну серверную стойку и потребляет 50квт мощности (плис старые...). 50 квт кажется много, но... по производительности эта стойка равна суперкомпьютеру "Ломоносов", установленному в МГУ - машзал на 250кв м площади с потреблением примерно 3мегаВатт !
И это разработка 2011 года, сделанная на чипах 2006 года!

По некоторым причинам, в данном обзоре я показал сравнение с вычислителем, построенном на медленных FPGA более чем 10и летней давности… И оставил за кадром некоторые современные, более чем интересные - разработки российского оборонно-промышленного комплекса, в частности ФГУП "Квант" (их учредитель кстати ФСБ). Кому будет сильно интересно и нужно - гугл в помощь, я - не хочу заниматься "сбором, анализом и систематизированием информации, составляющей гостайну" :) А если таки решите собрать информацию - поверьте, это не сложно и более чем интересно.

Оставлю читателю простор для фантазии — попробуйте самостоятельно оценить, за какое время можно взломать Ваш «стойкий» 20и значный пароль для контейнера TrueCrypt, используя РВС, построенную например с использованием скажем 1000шт Xilinx UltraScale ? А ведь это всего лишь одна серверная стойка, которая - возможно, прямо сейчас занимает почетное место на кухне рядом с холодильником какого-нибудь old-school хакера специалиста и питается от вполне бытовой 3ф сети для электроплит...
stoika.png
 
Сверху Снизу