Применение ПЛИС в системах защиты информации

Материал из Циклопедии
Перейти к навигации Перейти к поиску

 → Информационная безопасность

ППВМ типа Stratix IV GX фирмы Altera

Использование программируемых логических интегральных схем широко применяется в различных вариантах реализации систем защиты информации. ПЛИС относится к аппаратным методам ускорения работы реализуемых алгоритмов шифрования. Наиболее широкое распространение в этой сфере получили ПЛИС типа FPGA (программируемые пользователем вентильные матрицы).

Подобного рода схемы пользуются спросом во многом благодаря быстродействию и возможности быстрой замены скомпрометированного или устаревшего алгоритма шифрования, сочетая в себе гибкость чисто программных методов и мощности аппаратных реализаций, таких как ASIC

Система защиты данных на базе сопроцессора

Производительность[править]

Большинство криптографических операций ПЛИС выполняет быстрее, чем обычные программы. Чем больше в алгоритме фиксированных параметров, тем более эффективно будет работать устройство. Параметрами для криптографических операций могут быть, например, ключи, конечное и начальное поле, различные коэффициенты. Быстродействие достигается за счет большого количества логических элементов и автоматическому распараллеливанию используемых алгоритмов.

Возведение в степень в поле требует операции при реализации на обычных интегральных схемах, на ПЛИС возведение осуществляется за одну операцию. Такое возведение в степень по модулю, широко используемое при шифровании на открытых ключах, можно реализовать на FPGA со скоростью 1000 транзакций в секунду.

Сравнение реализации шифра AES[править]
Реализация Скорость
DSP Т. TMS320C6201 112,3 Мбит/с
Pentium III 718,4 Мбит/с
FPGA Virtex XCV-1000BG560-6 12 Гбит/с
ASIC Amphion CS5240TK 25,6 Гбит/с

Интегральные схемы специального назначения работают быстрее программируемых пользователем вентильных матриц, но практически не используются в системах защиты информации. ASIC программируются при изготовлении и не имеют возможности перепрограммирования.

Криптографические приложения[править]

Основной целью большинства работ по исследованию реализации указанных алгоритмов является достижение эффективного использования ресурсов кристалла и максимально возможной скорости шифрования данных. Благодаря возможности перепрограммирования FPGA «на лету», на её базе создаются криптографические системы, в которых изменение алгоритма шифрования необходимо после каждого сеанса. ПЛИС такого типа применяются в реализации DES, 3DES, Blowfish, CAST, IDEA и др. Так же ПЛИС широко используются в задачах генерации случайных чисел.

Возможность перепрограммирования[править]

Записанные на микросхему алгоритмы шифрования/дешифрирования могут перестать быть актуальными по причине нахождения уязвимости[1] , утверждения новых стандартов или изменения протоколов. Решения на основе FPGA позволяют модифицировать микросхемы в самой системе.

Масштабируемость[править]

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

Сравнение реализаций различных шифров на разных кристаллах[править]

Характеристика алгоритма Алгоритм
AES DES ГОСТ 28147-89 IDEA RSA
Тип шифрования Симметричный, блочный Ассимметричный
Длина блока, бит 128 64 64 64
Число раундов 10 16 32 8
Размер ключа 256 56 256 128 1024
Операции Табличная замена байтов,

циклический сдвиг,

перемешивание столбцов,

поразрядное сложение по модулю 2

Подстановка,

перестановка,

XOR

Сложение по модулю ,

XOR,

циклический сдвиг

Умножение по модулю сложение по модулю

XOR

Возведение в степень по модулю
Частота 347,6 МГц 19,4 МГц 126 МГц 33 МГц 13,21 МГц
Скорость 44,5 Гб/с 4,25 Гб/с 748 Мб/с 528 Мб/с 12,81 Кб/с
Кристалл ПЛИС Xilinx Virtex 5 Xilinx Virtex 5-Е Altera Arria IIGX EP2AGX125 Xilinx XC4000 Altera Cyclone IV

EP4CE115F29C7

Уязвимости[править]

С точки зрения активного криптоанализа аппаратный метод имеет некоторые уязвимости. Большинство из них легко устранимы, что делает ПЛИС FPGA с достаточно высокой вероятностью безопасным и надежным методом реализации систем защиты информации.

Черный ящик[править]

Если криптосистема представляет собой ПЛИС, и аналитик имеет свободный доступ к входам и выходам, то набрав необходимую статистику и, используя карту Карно, он может извлечь внутреннюю логику ПЛИС и скомпрометировать шифр. Этот способ будет действенным, если аналитик обладает достаточными вычислительными мощностями и имеет свободный доступ к системе. В настоящее время это не является реальной угрозой из-за сложности и размеров современных ПЛИС. Реализуемые потоковые или блочные шифры имеют слишком длинные ключи, чтобы искать их методом перебора.

Readback[править]

Для большинства устройств типа FPGA предусмотрена специальный функция «readback»[2], предназначенная для чтения конфигурации схемы для в целях облегчения отладки. Злоумышленник может попробовать использовать её через JTAG или интерфейс программирования. Предотвратить доступ к конфигурации можно при помощи битов безопасности[3]. Тем не менее, использование специальных регистров не гарантирует полной защищенности и, используя аппаратные сбои и деактивировав биты безопасности, аналитик может получить доступ к конфигурации. В большинстве случаев уязвимость устраняется увеличением количества битов безопасности и встраиванием ПЛИС в безопасную среду, в которой при обнаружении вмешательство вся конфигурация удаляется или устройство самоуничтожается.

Физическое вмешательство[править]

Физическим вмешательством является исследование дизайна чипа с целью получения информации об используемых алгоритмах и ключах путём зондирования точек внутри чипа. Атака нацелена на те части ПЛИС, которые недоступны через обычные линии ввода/вывода. Потенциально это может быть достигнуто путём визуального осмотра с помощью оптических микроскопов или механических датчиков. В настоящее время в системах защиты информации используются такие вентильные матрицы, которые можно исследовать только при помощи концентрации ионного пучка. В качестве контрмеры может служить нейтрализация остаточного напряжения путём использования противоположного тока или фиктивных циклов в схеме.

Получение доступа к статистической памяти[править]

ПЛИС хранит часть данных в энергозависимой статистической памяти с произвольным доступом. Согласно исследованиям, SRAM не полностью освобождает содержимое при отключении питания, природа этого явления связана с физическими свойствами полупроводников. Главным образом это объясняется электромиграцией, инжекцией горячих носителей и ионными загрязнениями. Используя IDDQ тестирование, аналитик может следить за состоянием ячеек SRAM, в которых хранятся параметры алгоритмов. При включении питания наблюдаются аномалии, благодаря которым можно получить необходимую информацию. Этот метод успешно работает для взлома отдельных ячеек SRAM памяти, так же используемой в ПЛИС. Такого рода атаки очень дорогостоящие и редко используются в виду сложности.[4]

Восстановление перемычек FPGA[править]

Определив порядок соединения элементов на микросхеме криптоаналитик может получить данные о методе шифрования и скомпрометировать шифр. Связи между комплектующими ПЛИС устанавливаются путём подачи на слои микросхемы напряжения при программировании, поэтому, чтобы получить данные о перемычках, нужно удалить слой за слоем или использовать кросс-секционирование. При анализе одной ячейки таким методом данные в остальных ячейках могут уничтожиться. Анализ одной ячейки может достигать двух месяцев[5], поэтому на деле он не применяется. Так как при отключении питания информация не теряется, связь между компонентами можно определить путём сверления отверстий в месте предполагаемых перемычек.[6] Уязвимость устраняется встраиванием ПЛИС в безопасную среду, в которой при обнаружении вмешательство вся конфигурация удаляется или устройство самоуничтожается.

Использование дополнительных каналов[править]

Любая физическая реализация криптосистемы может иметь каналы, пропускающие ненужную или нежелательную информацию. Примерами таких каналов могут быть линии электропитания или электромагнитное излучение[7]. Анализируя потребляемую ПЛИС мощность при выполнении криптографических операции можно определить области, которые коррелируют с ключом или другими нужными криптоанатилику параметрами. Метод применяется для взлома программных средств или ASIC, но нет никаких препятствий для использования его при попытках взломать ПЛИС.

Источники[править]

  1. Federal Information Processing Standards, National Bureau of Standards, U.S. Department of Commerce. NIST FIPS PUB 46, Data Encryption Standard, January 15, 1977.
  2. Clunning circuits confound crook.
  3. Google patent research, Security antifuse that prevents readout of some but not other information from a programmed field programmable gate array
  4. D. Kessner, Copy Protection for SRAM based FPGA Designs.
  5. B. Dipert. Cunning circuits confound crooks..
  6. Design Security in Nonvolatile Flash and Antifuse..
  7. P. Kocher, J. Jaffe, and B. Jun Differential Power Analysis. — С. 378-387.

Литература[править]

Ссылки[править]