Организация защищенной передачи данных в сенсорной сети на базе микроконтроллеров AVR
Гибадуллин Руслан Фаршатович
кандидат технических наук
доцент кафедры компьютерных систем Казанского национального исследовательского технического
университета им. АН. Туполева-КАИ
420015, Россия, республика Татарстан, г. Казань, ул. Большая Красная, 55, каб. 432
И landwatersun@mail.ru
Статья из рубрики 'Телекоммуникационные системы и компьютерные сети"
Аннотация.
Предметом исследования в работе является реализация алгоритма шифрования AES на базе микроконтроллеров АУЯ для обеспечения защищенной передачи данных в сенсорной сети, представляющую собой беспроводную сетевую среду из множества датчиков малой мощности. В этой среде данные собираются с помощью датчиков и используются путем систематического анализа и передачей данных между различными сервисами. В работе используется алгоритм шифрования AES Я^^ае!, проводятся замеры производительности шифрования и дешифрования на 8-разрядном микроконтроллере. Анализируется эффективность коммуникации на основе общей задержки передачи данных за транзитный участок в сенсорной сети. Исследования проводились с привлечением теории защиты информации, компьютерного моделирования, компьютерных сетей и принципов программирования микроконтроллеров. Новизна исследования заключается в получении знаний о скорости передачи данных в сенсорной сети при условии защиты коммуникации симметричным алгоритмом шифрования на базе микроконтроллеров АУЯ для выполнения криптографических вычислений. В результате анализа выявлено, что время криптографических вычислений и процессорный цикл по размерам данных увеличиваются примерно в 2 раза. Задержка в 30 прыжках и 180 прыжках между узлами сенсорной сети составляет 27450 мс., 164700 мс. соответственно. А если количество узлов во всей сети равно 65 535 (максимальное количество узлов в сети датчиков), то задержка составит примерно 16 часов.
Ключевые слова: малое энергопотребление, защита информации, кодирование данных, АУЯ микроконтроллер, алгоритм AES, беспроводная сенсорная сеть, шифрование, расшифрование, скорость передачи, латентность сети
DOI:
10.25136/2306-4196.2018.6.24048
Дата направления в редакцию:
31-08-2017
Дата рецензирования:
08-09-2017
Введение
Сенсорная сеть представляет собой сеть, воплощающая в себе концепцию вездесущей вычислительной среды. Это беспроводная сетевая среда, которая состоит из множества датчиков малой мощности. Она исследуется и разрабатывается в различных стандартах и научно-исследовательских организациях. В результате различные сферы деятельности, такие как логистика, контроль окружающей среды, домашняя сеть применены в сенсорной сети -Ш. В этой среде данные собираются с помощью датчиков и используются путем систематического анализа и передачей данных между различными сервисами. Для обеспечения безопасности в данной среде необходимо соблюдение общепринятых требований, таких как целостность, конфиденциальность, аутентификация, безотказность и т.д.
Алгоритм шифрования с открытым ключом широко используется во всем мире. Однако с данным алгоритмом сложно использовать сенсорную сеть из-за высоких требований к
памяти и энергопотреблению ^^ Поэтому в сенсорной сети предпочтительнее использовать симметричный алгоритм шифрования с низкими требованиями по энергопотреблению.
В данной работе используется алгоритм шифрования AES Rijndael, проводятся замеры производительности шифрования и дешифрования на 8-разрядном микроконтроллере. Также анализируется эффективность коммуникации на основе общей задержки передачи данных за транзитный участок в сенсорной сети.
Микроконтроллеры семейства AVR
В отличие от других компаний (Microchip, NEC, Motorola и т.д.) компания Atmel Corp. -один из мировых лидеров в производстве широкого спектра микросхем энергонезависимой памяти, FLASH-микроконтроллеров и микросхем программируемой логики, взяла старт по разработке RISC-микроконтроллеров в середине 90-х годов, используя все свои технические решения, накопленные к этому времени.
AVR - это относительно молодой продукт корпорации Atmel. В этой линии микроконтроллеров общего назначения постоянно появляются новые кристаллы. Например, корпорация Atmel выпустила новый микроконтроллер AVR tiny43U с ультранизким питающим напряжением 0.7 В. Благодаря встроенному импульсному повышающему преобразователю, микроконтроллер может работать от 0.7 В и идеально подходит для приложений с батарейным питанием и содержит: 4K Flash-памяти программ, 64 Байт EEPROM, 256 Байт SRAMy, два 8-разрядных таймера счетчика, сторожевой таймер, аналоговый компаратор, BOD, датчик температуры, 10-разрядный АЦП, интерфейсы SPI, USI, debugWire.
Обновляются версии уже существующих микроконтроллеров. Так, корпорация Atmel выпустила новые версии микроконтроллеров AVR ATmega164PA, ATmega64A, ATmega324PA, ATmega48/88PA на замену микроконтроллерам ATmega164P, ATmega64, ATmega324P и ATmega48/88P. В новых микроконтроллерах, имеющих в наименовании суффикс «A», переработана топология металлизированных слоев кристалла. Таким образом, чтобы уменьшить энергопотребление микросхемы, но при этом сохранить полную обратную совместимость. Новые микросхемы имеют меньший ток потребления как
в активном режиме работы микросхем (улучшение параметра от 25%), так и в режимах энергосбережения (от 17%).
Быстродействие и потребляемая мощность всегда были ключевыми элементами развития микроконтроллеров АУЯ, начиная с выпуска первого микроконтроллера AT90S1200.
Американская система шифрования AES
AES (AdvancedEncryptionStandaгt) представляет собой алгоритм шифрования 128-битных блоков данных ключами по 128, 192 и 256 бит. AES является упрощенной версией алгоритма Я^^ае!. Оригинальный алгоритм Я^^ае! отличается тем, что поддерживает более широкий набор длин блоков ^^
Для шифрования в алгоритме AES применяются следующие процедуры преобразования данных:
1. ExpandKey - вычисление раундных ключей для всех раундов;
2. SubBytes - подстановка байтов с помощью таблицы подстановок;
3. ShiftRows - циклический сдвиг строк в форме на различные величины;
4. MixColumns - смешивание данных внутри каждого столбца формы;
5. AddRoundKey - сложение ключа раунда с формой.
Шифрование производится по алгоритму приведенному на рис. 1.
Рисунок 1. Алгоритм шифрования AES
Реализация и оценка эффективности
Для анализа производительности алгоритма AES-шифрования в сенсорной сети 8-битного
микроконтроллера, в качестве аппаратного устройства мы используем ATmega644p [4]. В качестве средств разработки в WinAVR используются AVR Studio 4 и специального окна редактора программиста. Эмулятор JTAG (Joint Test Action Group - Группа совместных испытаний) используется в качестве средства отладки. На рис. 2 показано устройство для анализа производительности алгоритма AES-шифрования.
Рисунок 2. Устройство для анализа производительности алгоритма AES-шифрования
ATmega644p в 8-битном микроконтроллере был разработан компанией Atmel. Основная функция ATmega644p - обеспечить правильное выполнение программы. Поэтому он должен иметь доступ к памяти, производить вычисления, управлять периферией и обрабатывать прерывания. Он имеет системные часы с частотой 20 МГц, предварительный делитель 8, 64, 256 или 1024 и расширенную архитектуру RISC.
AVR Studio - это среда исполнения/отладки без платы AVR микроконтроллера. Скомпилированные программы применяются к AVR. Окно редактора программиста с компилятором Win-GCC компилирует исходный код, написанный на языке Си. Скомпилированные программы применяются к AVR Studio. JTAG Emulator это устройство ввода/вывода, использующее порт JTAG, получает информацию от PCB или IC.
Для оценки эффективности алгоритма шифрования AES мы применяем режим AES-128 CBC (Cipher Block Chaining - сцепления блоков шифртекста) к EEPROM ATmega644p. В режиме CBC каждый блок открытого текста XORed (логическая операция исключающее ИЛИ) с предыдущим блоком зашифрованного текста перед тем, как его зашифровать. Кроме того, чтобы каждое сообщение было уникальным, в первом блоке должен использоваться вектор инициализации. На рисунке 3 показано шифрование в режиме CBC.
Encryption Text 1 Encryption Text» Encryption Textn
Рисунок 3. Режим шифрования CBC
Режим таймера использует режим таймер/счетчик CTC (Clear Timer on Compare Match -таймер для сравнения). Режим CTC генерирует сравнение прерывания, если значение счетчика (TCNT), которое очищено до нуля, соответствует OCR. Таймер измерения, измеряет количество (P) сравниваемых прерываний на 1 мс. Время работы на 1 такт следующее:
У ATmega644P есть предварительный делитель системных часов, и системные часы можно разделить, установив регистр Prescale Clock. Предварительно установленное время настройки предделителя системных часов следующее:
Tf = presenter *L:
Таймер/счетчик (TCNT) и регистр выходного сравнения (OCR) являются 8-разрядными регистрами. OCR для генерации сравнения прерывания следующее:
Для сравнения производительности шифрования и дешифрования мы используем режим AES-128 CBC. Время операции шифрования и дешифрования измеряется для размеров данных в 16, 32, 64, 128, 256 и 512 байт. Табл. 1, рис. 4 и рис. 5 показывают время работы шифрования и дешифрования и цикл процессора (ЦП) в соответствии с указанным размером данных.
Таблица 1. Времена работы криптографических операций
Data Size (byte) 16 32 64 128 256 512
Enc Time (ms) 449 893 1,796 3,592 7,184 14.368
CPU Cycle 8,980 17,960 35,920 71,840 143,680 287,360
Dec Time (ms) 456 912 1,825 3,649 7,297 14.592
CPU Cycle 9.120 18,240 36,500 72,980 145,940 291,840
~ |1б, ООО
® 14, С00
Ы I 12, C0Q
с ^ 10.С00
2 2 а.™
ал 0.СОО
а а
ш ° г.соо о
Рисунок 4. График времени работы криптографических операций
350,000 300.000 JE 250,000 g- 200,000 = 150.000 § 100.000 50,000 0
Рисунок 5. Процессорный цикл
В результате время работы и ЦП по размерам данных увеличиваются примерно в 2 раза. Для шифрования и дешифрования 512 байт требуется приблизительно 14 минут.
Рис. 6 показывает, что общий узел отправляет защищенный пакет данных в головку кластера в той же подсети.
Encyptlon - - - - - Decyption
16 32 M 130 2 56 512 Data Size [byte)
Ercyptior ......'Decypt ion
16 32 64 120 256 512 Cata Size [byte)
Рисунок 6. Модель приложения сенсорной сети
Для измерения задержки передачи данных и дешифрования по количеству пересылок связи делаются следующие допущения. А именно, каждый узел в подсети имеет одинаковую производительность и в передаче данных нет помех или потерь пакетов. Каждый узел совместно использует общий ключ с соседними узлами наперед, и шифрование и дешифрование работают единожды за один шаг. Связь для генерации парного ключа общего типа аналогична протоколу ijTESLA (Micro Timed Efficient Stream Loss-tolerant Authentication) сенсорной сети J5!.
В процессе связи сенсорной сети команда запроса радиомаяка и команда запроса ассоциации передаются между новым узлом и головкой кластера. Общий узел (N^) шифрует данные, используя ключ безопасности, и отправляет защищенные данные соседнему узлу (N2). Узел (N2) дешифрует зашифрованное сообщение (msgE), используя предварительно развернутые ключи безопасности. Затем он получает зашифрованный файл. Узел (N2) повторяет тот же процесс на предыдущем шаге, используя закрытый ключ, совместно используемый с его узлом-соседом (N3).
Процесс доставки данных по хоп-соединению следующий:
Если связь с задержкой по ходу включает задержку шифрования, дешифрования и задержку передачи данных, общая задержка будет следующей:
Дt представляет задержку для распределения и доступа к каналу. Он имеет между нулем и Тьор-Ьу-Иор- Когда общий узел и головка кластера соединяются с зашифрованными пакетными данными, генерируемая общая задержка выглядит следующим образом:
Значение п в уравнении представляет общее количество прыжков. Он имеет значение больше 1 для связи с соседним узлом.
£50,000 j£ 200,000 £ 150.000
<5 100,000
I 50.000
I—
о
5 30 55 ао 105 130 155 130 205 Number of hop count
Рисунок 7. Суммарная задержка в соответствии с количеством хопов
Рис. 7 показывает, что общая задержка зависит от количества прыжков между CH и N|.
Мы интерполируем, что задержка шифрования составляет 449 мс., задержка дешифрования - 456 мс., а задержка передачи данных - 10 мс. в 16-байтовых данных. Число узлов во всей сети - 215, что меньше максимального числа узлов 65535 в области WPAN. Мы не рассматриваем задержку доступа и распределения канала.
На рис. 7 задержка в 30 прыжках и 180 прыжках составляет 27450 мс., 164700 м. соответственно. Если количество узлов во всей сети равно 65535 (максимальное количество узлов в сети датчиков), задержка составит примерно 16 часов. Основная причина большой задержки связана с производительностью оборудования - 8-
разрядный микроконтроллер обладает низкой производительностью i61. Таким образом, при увеличении масштаба сети датчиков потребление энергии также будет возрастать.
Библиография
1. IEEE Std 802.15.4: Wireless Medium Access Control(MAC) and Physical Layer(PHY) Specifications for Low-Rate Wireless Personal Area Networks (LR-WPANs), 2003.
2. Yun Zhou, Yuguang Fang, Yanchao Zhang, Securing wireless sensor networks: a survey, IEEE Communications Surveys and Tutorials, 2008, Vol. 10, No. 3, 3rd Quarter.
3. M. Feldhofer, J. Wolkerstorfer, and V. Rijmen, AES implementation on a grain of sand, IEE Proc. Inf. Security, 2005, vol. 152, IEE, pp. 13-20.
4. S. Kim, Ingrid Verbauwhede, AES implementation on 8-bit microcontroller, Department of Electrical Engineering, University of California, Los Angeles, USA, 2002.
5. A. Perrig et al., SPINS: Security Protocols for Sensor Networks, ACM Wireless Networks, 2002, vol. 8, no. 5.
6. Hyubgun Lee, Kyounghwa Lee, Yongtae Shin, AES Implementation and Performance Evaluation on 8-bit Microcontrollers, (IJCSIS) International Journal of Computer Science and Information Security, 2009, Vol. 6 No. 1, pp. 70-74