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

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

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

ППВМ типа 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.

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

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