Применение ПЛИС в системах защиты информации
Использование программируемых логических интегральных схем широко применяется в различных вариантах реализации систем защиты информации. ПЛИС относится к аппаратным методам ускорения работы реализуемых алгоритмов шифрования. Наиболее широкое распространение в этой сфере получили ПЛИС типа 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 |
Операции | Табличная замена байтов,
перемешивание столбцов, |
Подстановка,
перестановка, 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, но нет никаких препятствий для использования его при попытках взломать ПЛИС.
Источники[править]
- ↑ Federal Information Processing Standards, National Bureau of Standards, U.S. Department of Commerce. NIST FIPS PUB 46, Data Encryption Standard, January 15, 1977.
- ↑ Clunning circuits confound crook.
- ↑ Google patent research, Security antifuse that prevents readout of some but not other information from a programmed field programmable gate array
- ↑ D. Kessner, Copy Protection for SRAM based FPGA Designs.
- ↑ B. Dipert. Cunning circuits confound crooks..
- ↑ Design Security in Nonvolatile Flash and Antifuse..
- ↑ P. Kocher, J. Jaffe, and B. Jun Differential Power Analysis. — С. 378-387.
Литература[править]
- Protecting against Cryptographic Trojans in FPGAs // Field-Programmable Custom Computing Machines (FCCM), 2015 IEEE 23rd Annual International Symposium on. — 2015.
- Thomas Wollinger and Christof Paar How Secure Are FPGAs in Cryptographic Applications. — 2003.
- Deshpande, A.M. FPGA implementation of AES encryption and decryption // Control, Automation, Communication and Energy Conservation, 2009. INCACEC International Conference on. — 2009.
- Managing Security in FPGA-Based Embedded Systems // Design & Test of Computers, IEEE (Volume:25 , Issue: 6 ). — 2008.
- И.Тарасов, к.т.н. ПЛИС Xilinx и цифровая обработка сигналов // Электроника. — 2011. — № 3. — С. 70 - 74.