Цель исследования обусловлена тем, что в связи с ростом технологий появляется большое количество мобильных и стационарных роботов, используемых в повседневной жизни, например квадрокоптеры, доставляющие посылки, или системы «умный дом», служащие для автоматизации управления различными гаджетами, используемыми в домашних нуждах. Малоресурсная криптография служит для обеспечения защиты таких систем.
Хотелось бы отметить некоторые работы в области малоресурсной криптографии. Авторы статей предлагают различные подходы к реализации тех или иных легковесных алгоритмов шифрования. Некоторые из алгоритмов ориентированы на аппаратную реализацию, другие, наоборот, показывают лучшие характеристики при программной реализации.
Малоресурсная криптография
Например, статья Л.К. Бабенко, Д.В. Голотина, О.Б. Макаревича [1] содержит описание поточного шифра Trivium [2] и его аппаратной реализации. В статье сказано, что шифр Trivium является алгоритмом, наиболее ориентированным на аппаратную реализацию, чем на программную. Авторы описали, что данный шифр реализован на ПЛИС, плате Марсоход2Bis. В реализации осуществлена связь с компьютером, при этом передача данных компьютеру осуществляется с фиксированной скоростью в 9600 бит/с, или 1200 байт/с и ограничивается характеристиками com-порта. Также авторы рассматривают разработанную уменьшенную модель в сравнении с моделью, реализованной создателями, которая может быть полезной при работе с небольшими мобильными роботами.
В статье Л.К. Бабенко, Д.В. Голотина [3] описана программная реализация шифра Trivium. Авторы рассказывают, что полученная программа выполняет шифрование 13,5 Мб за 168,7 с, что означает скорость примерно в 640 Кбит/с. Также авторы отмечают, что полученное решение в сравнении, например, с DES превышает скорость вдвое, при условии использования процессора с частотой 2,1 ГГц.
Шифр Present [4] описан в статье Л.К. Бабенко, Д.А. Беспалова, О.Б. Макаревича, Р.Д. Чеснокова, Я.А. Трубникова [5]. Авторы данной статьи разработали программную реализацию и синтезировали аппаратный блок для системы на кристалле в рамках требований к малоресурсной криптографии и получили достаточно эффективное решение для применения его в устройствах. Полученные авторами характеристики: частоты ПЛИС – 160 МГц максимально (работа схемы алгоритма), скорость 301.2 Мбит/с.
Статьи Жукова [6] и [7] содержат обзор исследований, содержащих описание шифров по малоресурсной криптографии, куда попали такие шифры, как Present, Trivium и Clefia. Автор отметил, что некоторые аппаратные шифры, такие как Present или KATAN, теряют свои полезные свойства при программной реализации и показывают худшие результаты. Проанализировав сводные таблицы автора статьи, отражающие скорость работы различных шифров, например, такого, как Clefia, можно сказать, что данный шифр является неплохим вариантом для использования его для шифрования в мобильной робототехнике.
Шифр Clefia [8] был разработан компанией Sony для использования в качестве безопасной альтернативы шифру AES. Размер блока алгоритма шифрования Clefia составляет 128 бит, а ключи могут быть длиной как 128 бит, так и 192 и 256 бит. В основе алгоритма лежит сеть Фейстеля, а именно две различные 32-битные функции – F0 и F1, поэтому количество раундов алгоритма зависит напрямую от длины ключа: при длине ключа 128 бит количество раундов будет составлять 18, при 192 битах – 22 раунда, при 256 битах – 36 раундов. Количество подключей также подчиняется данному принципу и составляет 36, 44 и 52 подключа соответственно. При этом в алгоритме применяются отбеливающие ключи, замедляющие процесс криптоанализа данного шифра. Также для защиты от методов дифференциального и линейного криптоанализа разработчики Sony применили Diffusion Switching Mechanism. Также было объявлено, что данный шифр защищен и от алгебраических атак, и от другого вида атак ввиду использования двух типов таблиц подстановки. Также хотелось бы отметить ключевые функции алгоритма, такие как Double Swap (двойная замена), функции получения S-блоков замены. Шифр Clefia реализован компанией Sony на языке программирования C и упора на скорость не осуществлялось. Следует отметить, что функцию двойной замены можно удачно реализовать с упором на скорость с помощью операций битовых сдвигов, используемых в С++.
В статьях Жукова [6] и [7] помимо обзора легковесных шифров содержится информация о скоростных и других показателях данного вида шифров. На основе проанализированных статей [8] и [9] и полученных данных мы можем предположить скорость работы программных реализаций малоресурсных алгоритмов шифрования, таких как Clefia, Present и Trivium. Например, при предполагаемой частоте работы процессора примерно в 2 ГГц вышерассмотренные алгоритмы будут иметь характеристики, отображенные в таблице.
Сравнения программных реализаций малоресурсных алгоритмов шифрования
Алгоритм |
Clefia |
Present |
Trivium |
Параметр оценки |
|||
Реализация (программная/аппаратная) |
программная |
программная |
программная |
Длина ключа (бит) |
128 |
80 |
80 |
Размер блока |
128 |
64 |
поточный шифр |
Скорость шифрования одного блока данных |
5 Мбайт/с |
1 Мбайт/с |
0,6 Мбайт/с |
Количество раундов шифрования |
18 |
31 |
– |
Количество памяти, занимаемое реализацией |
4780 байт |
1000 байт |
– |
Задействование оперативной памяти |
180 байт |
18 байт |
– |
По имеющимся данным из статей [7] и [10] можно сказать, что шифр Clefia имеет хорошую скорость работы и обработки блоков данных. Аппаратно-ориентированный шифр Present имеет более низкую скорость обработки при программной реализации. Шифр Trivium также более ориентирован на аппаратную реализацию.
Сравнение алгоритмов шифрования
В общем смысле в области классической криптографии наиболее распространенными являются, например, AES [10] – Американский стандарт шифрования и ГОСТ 34.12–2015 [11] – Российский стандарт шифрования, включающий алгоритмы шифрования Магма и Кузнечик.
В сравнении с малоресурсной криптографией, такие стандарты шифрования, как AES и ГОСТ, обрабатывают информацию достаточно быстро. Например, Кузнечик (длина блока – 128 бит, длина ключа – 256 бит) в своей скоростной реализации 54 Мбайт/с [12], а AES (длина блока – 128 бит, длина ключа – 128 бит) – 51 Мбайт/с [13]. Но подобные шифры занимают гораздо больше ROM и RAM памяти компьютера, примерно соразмерно со скоростью выполнения, что отвергает применение данных алгоритмов в режимах ограниченных возможностей, таких как конечный запас энергии и ограниченный объем памяти.
Протоколы
Также хотелось бы отметить использование протоколов в Интернете вещей. Для того, чтобы любые компоненты Интернета вещей могли полноценно функционировать и взаимодействовать между собой, зачастую необходимо устанавливать защищенное соединение между всеми компонентами данной системы. Данный процесс подразумевает использование криптографических алгоритмов и ключей для шифрования трафика, с предварительным прохождением процесса аутентификации. Сам процесс аутентификации является ключевой процедурой, так как без него зло- умышленник может вмешаться в сетевое взаимодействие, отправлять свои команды, чем полностью нарушит функционирование всей сети Интернета вещей. Для всех вышеперечисленных целей, как правило, используются протоколы.
Например, протокол IKE (Internet Key Exchange) [14] используется в виртуальных частных сетях, устанавливает защищенный канал связи, осуществляет процесс аутентификации сторон взаимодействия, а также основан на протоколе разделения секрета Диффи – Хеллмана [15]. Собственно, протокол Диффи – Хеллмана позволяет нескольким взаимодействующим сторонам получить общий секретный ключ для использования его в симметричном шифровании, например, в любом алгоритме малоресурсной криптографии, что весьма удобно. Но, в процессе применения протокола IKE лежит использование криптографии с открытым ключом, что автоматически неприемлемо в Интернете вещей. Криптография с открытым ключом довольно ресурсоемкая, не отвечает требованиям малоресурсности и не может поддерживаться устройствами Интернета вещей.
Аналогичным образом существуют стандарты ZigBee [16, 17] и Bluetooth LE [18], описывающие взаимодействие устройств Интернета вещей между собой. Главным недостатком этих протоколов является отсутствие защиты от атаки методом «человек посередине». Злоумышленник может вклинится в обмен информацией, «подслушать» трафик и перехватить обмен ключами, а затем использовать link key – стандартный ключ связи, которые используют производители. Это вмешательство «человека посередине» позволяет скомпрометировать сетевой ключ, сетевое взаимодействие, открыть устройства сети для атак.
Существуют следующие протоколы для обеспечения коммуникации устройств Интернета вещей:
– MQTT [19]. Данный протокол собирает данные с различных устройств и оборудования и передает полученную информацию на сервер. При этом он обеспечивает надежную передачу данных, без потерь, и также может работать в условиях связи с перебоями;
– XMPP [20]. Протокол, используемый для обмена мгновенными сообщениями между людьми, а также сообщениями о присутствии. Для Интернета вещей реализует простой способ адресации устройств;
– DDS [21]. Протокол, который распределяет данные, полученные с одних устройств, для передачи другим устройствам. Основная задача протокола – соединение с целевыми устройствами.
– AQMP [22]. Промежуточный протокол, который организует и обрабатывает очередь сообщений.
Как можно увидеть, особенности протокола напрямую зависят от области его применения. Например, MQTT следует использовать при сборе показателей давления или температуры, а AQMP – при организации очереди сообщений при совершении банковских транзакций.
Атаки на алгоритмы малоресурсной криптографии
Так как малоресурсные криптографические алгоритмы зачастую используются в мобильной робототехнике и в Интернете вещей, то на них могут совершаться разнообразные атаки с целью кражи или фальсификации обрабатываемой, хранимой или передаваемой информации.
Например, в работе [23] содержится описание алгебраической атаки на малоресурсный шифр Present. Как известно, Present является симметричным блочным алгоритмом шифрования с длиной блока 64 бита и длиной ключа 80 или 128 бит, при этом количество раундов шифра равно 32 м. Авторам работы [23] удалось описать и провести алгебраический анализ пяти раундов шифра Present. Исходя из полученных авторами данных и составленной таблицы можно сделать вывод, что Алгебраический анализ пяти раундов и восстановление ключа 128 бит при заданных вычислительных мощностях (2 ГГц ЦПУ и 1 Гб оперативной памяти) выполняется успешно за очень короткое время. Также при комбинировании некоторых методов криптоанализа авторы смогли весьма успешно проанализировать до 26 раундов данного шифра. Поэтому для обеспечения безопасности компонентов Интернета вещей необходимо использовать максимальное количество раундов данного криптографического алгоритма.
В работе [24] аналогичным образом осуществлялся алгебраический анализ шифра Present, и методы авторов данной работы также оказались успешными на первых пяти раундах шифра. Начиная с шестого раунда шифр Present оказывается стойким против алгебраического криптоанализа.
Что касается криптоанализа малоресурсного шифра Clefia, разработанного Sony Corporation, то сама компания привела документ, содержащий различные подходы к криптоанализу данного шифра [25]. Авторы разбирают множество способов криптоанализа Clefia, приводят примеры и обосновывают, как тот или иной метод анализа может быть направлен на данный шифр. Например, авторы отмечают, что Clefia благодаря своим особенностям является стойкой к дифференциальному криптоанализу, более 10 раундов Clefia стойки к атакам прямоугольником, и обладает достаточной стойкостью против слайдовой атаки. Также авторы рассматривают не только програм- мно-реализованный алгоритм, но и аппаратно-ориентированную версию.
Заключение
В заключение хотелось бы отметить, что различные легковесные шифры используются для разных целей, в зависимости от поставленной задачи. В одном случае необходима быстрая скорость обработки данных, а в другом, например, нужно ограничить энергопотребление или же обрабатывать информацию в условиях ограниченных запасов памяти. У классических криптографических шифров отмечаются высокие скорости шифрования данных, но при этом они не могут быть использованы в системах с ограниченными ресурсами, где нашли применение легковесные шифры. Также среди малоресурсных шифров имеются аппаратно- и программно-ориентированные алгоритмы, использование которых также варьируется в зависимости от поставленной задачи перед системой.
Что касается протоколов взаимодействия устройств Интернета вещей, они имеют различные степени защищенности, или вообще их отсутствие. Использование асимметричной криптографии малоресурсными устройствами Интернета вещей нецелесообразно, в силу высокой ресурсоемкости данных алгоритмов, поэтому и не используются аналогичные протоколы, основанные на асимметричной криптографии.
В результате исследования атак на малоресурсные шифры следует отметить, что большинство из рассмотренных на данный момент не способны максимально успешно взломать шифры целиком за приемлемое время, но в связи с ростом вычислительных мощностей устройства Интернета вещей могут оказаться под угрозой.
Работа выполнена при поддержке гранта РФФИ № 17-07-00654-а.
Библиографическая ссылка
Ищукова Е.А., Толоманенко Е.А. АНАЛИЗ АЛГОРИТМОВ ШИФРОВАНИЯ МАЛОРЕСУРСНОЙ КРИПТОГРАФИИ В КОНТЕКСТЕ ИНТЕРНЕТА ВЕЩЕЙ // Современные наукоемкие технологии. – 2019. – № 3-2. – С. 182-186;URL: https://top-technologies.ru/ru/article/view?id=37462 (дата обращения: 03.12.2024).