Статья 'Организация защищенной передачи данных в сенсорной сети на базе микроконтроллеров AVR' - журнал 'Кибернетика и программирование' - NotaBene.ru
по
Journal Menu
> Issues > Rubrics > About journal > Authors > About the Journal > Requirements for publication > Council of Editors > Peer-review process > Policy of publication. Aims & Scope. > Article retraction > Ethics > Online First Pre-Publication > Copyright & Licensing Policy > Digital archiving policy > Open Access Policy > Article Processing Charge > Article Identification Policy > Plagiarism check policy
Journals in science databases
About the Journal

MAIN PAGE > Back to contents
Cybernetics and programming
Reference:

Organization of secure data transmission in a sensor network based on AVR microcontrollers

Gibadullin Ruslan Farshatovich

ORCID: 0000-0001-9359-911X

PhD in Technical Science

Associate Professor of the Computer Systems Department of Kazan National Research Technical University named after A.N. Tupolev-KAI (KNRTU-KAI)

420015, Russia, Republic of Tatarstan, Kazan, Bolshaya Krasnaya str., 55, office 432

rfgibadullin@kai.ru
Other publications by this author
 

 

DOI:

10.25136/2644-5522.2018.6.24048

Received:

30-08-2017


Published:

15-01-2019


Abstract: The subject of the research is the implementation of the AES encryption algorithm based on AVR microcontrollers to provide secure data transmission in the sensor network. The sensor network is a network technique for the implementation of Ubiquitous computing environment. It is wireless network environment that consists of the many sensors of lightweight and low-power. Though sensor network provides various capabilities, it is unable to ensure the secure authentication between nodes. Eventually it causes the losing reliability of the entire network and many secure problems. Therefore, encryption algorithm for the implementation of reliable sensor network environments is required to the applicable sensor network. In this paper, the author proposes the solution of reliable sensor network to analyze the communication efficiency through measuring performance of AES encryption algorithm by plaintext size, and cost of operation per hop according to the network scale.


Keywords:

wireless sensor networks, AES algorithm, AVR Microcontroller, data encoding, data protection, low power consumption, encryption, decryption, transmission speed, network latency

This article written in Russian. You can find original text of the article here .
Введение

Сенсорная сеть представляет собой сеть, воплощающая в себе концепцию вездесущей вычислительной среды. Это беспроводная сетевая среда, которая состоит из множества датчиков малой мощности. Она исследуется и разрабатывается в различных стандартах и научно-исследовательских организациях. В результате различные сферы деятельности, такие как логистика, контроль окружающей среды, домашняя сеть применены в сенсорной сети [1]. В этой среде данные собираются с помощью датчиков и используются путем систематического анализа и передачей данных между различными сервисами. Для обеспечения безопасности в данной среде необходимо соблюдение общепринятых требований, таких как целостность, конфиденциальность, аутентификация, безотказность и т.д.

Алгоритм шифрования с открытым ключом широко используется во всем мире. Однако с данным алгоритмом сложно использовать сенсорную сеть из-за высоких требований к памяти и энергопотреблению [2]. Поэтому в сенсорной сети предпочтительнее использовать симметричный алгоритм шифрования с низкими требованиями по энергопотреблению.

В данной работе используется алгоритм шифрования 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 Байт SRAMУ, два 8-разрядных таймера счетчика, сторожевой таймер, аналоговый компаратор, BOD, датчик температуры, 10-разрядный АЦП, интерфейсы SPI, USI, debugWire.

Обновляются версии уже существующих микроконтроллеров. Так, корпорация Atmel выпустила новые версии микроконтроллеров AVR ATmega164PA, ATmega64A, ATmega324PA, ATmega48/88PA на замену микроконтроллерам ATmega164P, ATmega64, ATmega324P и ATmega48/88P. В новых микроконтроллерах, имеющих в наименовании суффикс «A», переработана топология металлизированных слоев кристалла. Таким образом, чтобы уменьшить энергопотребление микросхемы, но при этом сохранить полную обратную совместимость. Новые микросхемы имеют меньший ток потребления как в активном режиме работы микросхем (улучшение параметра от 25%), так и в режимах энергосбережения (от 17%).

Быстродействие и потребляемая мощность всегда были ключевыми элементами развития микроконтроллеров AVR, начиная с выпуска первого микроконтроллера AT90S1200.

Американская система шифрования AES

AES (AdvancedEncryptionStandart) представляет собой алгоритм шифрования 128-битных блоков данных ключами по 128, 192 и 256 бит. AES является упрощенной версией алгоритма Rijndael. Оригинальный алгоритм Rijndael отличается тем, что поддерживает более широкий набор длин блоков [3].

Для шифрования в алгоритме AES применяются следующие процедуры преобразования данных:

  1. ExpandKey – вычисление раундных ключей для всех раундов;
  2. SubBytes – подстановка байтов с помощью таблицы подстановок;
  3. ShiftRows – циклический сдвиг строк в форме на различные величины;
  4. MixColumns – смешивание данных внутри каждого столбца формы;
  5. AddRoundKey – сложение ключа раунда с формой.

Шифрование производится по алгоритму приведенному на риc. 1.

Рисунок 1. Алгоритм шифрования AES
Риcунок 1. Алгоритм шифрования AES

Реализация и оценка эффективности

Для анализа производительности алгоритма AES-шифрования в сенсорной сети 8-битного микроконтроллера, в качестве аппаратного устройства мы используем ATmega644p [4]. В качестве средств разработки в WinAVR используются AVR Studio 4 и специального окна редактора программиста. Эмулятор JTAG (Joint Test Action Group – Группа совместных испытаний) используется в качестве средства отладки. На рис. 2 показано устройство для анализа производительности алгоритма AES-шифрования.

Рисунок 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.

Рисунок 3. Режим шифрования CBC
Рисунок 3. Режим шифрования CBC

Режим таймера использует режим таймер/счетчик CTC (Clear Timer on Compare Match – таймер для сравнения). Режим CTC генерирует сравнение прерывания, если значение счетчика (TCNT), которое очищено до нуля, соответствует OCR. Таймер измерения, измеряет количество (P) сравниваемых прерываний на 1 мс. Время работы на 1 такт следующее:

Формула 1

У ATmega644P есть предварительный делитель системных часов, и системные часы можно разделить, установив регистр Prescale Clock. Предварительно установленное время настройки предделителя системных часов следующее:

Формула 2

Таймер/счетчик (TCNT) и регистр выходного сравнения (OCR) являются 8-разрядными регистрами. OCR для генерации сравнения прерывания следующее:

Формула 3

Для сравнения производительности шифрования и дешифрования мы используем режим AES-128 CBC. Время операции шифрования и дешифрования измеряется для размеров данных в 16, 32, 64, 128, 256 и 512 байт. Табл. 1, рис. 4 и рис. 5 показывают время работы шифрования и дешифрования и цикл процессора (ЦП) в соответствии с указанным размером данных.

Таблица 1. Времена работы криптографических операций
Таблица 1. Времена шифрования и расшифрования

Рисунок 4. График времени работы криптографических операций
Рисунок 4. График времени работы криптографических операций

Рисунок 5. Процессорный цикл
Рисунок 5. Процессорный цикл

В результате время работы и ЦП по размерам данных увеличиваются примерно в 2 раза. Для шифрования и дешифрования 512 байт требуется приблизительно 14 минут.

Рис. 6 показывает, что общий узел (Ni) отправляет защищенный пакет данных в головку кластера (CH) в той же подсети.

Рисунок 6. Модель приложения сенсорной сети
Рисунок 6. Модель приложения сенсорной сети

Для измерения задержки передачи данных и дешифрования по количеству пересылок связи делаются следующие допущения. А именно, каждый узел в подсети имеет одинаковую производительность и в передаче данных нет помех или потерь пакетов. Каждый узел совместно использует общий ключ с соседними узлами наперед, и шифрование и дешифрование работают единожды за один шаг. Связь для генерации парного ключа общего типа аналогична протоколу μTESLA (Micro Timed Efficient Stream Loss-tolerant Authentication) сенсорной сети [5].

В процессе связи сенсорной сети команда запроса радиомаяка и команда запроса ассоциации передаются между новым узлом и головкой кластера. Общий узел (N1) шифрует данные, используя ключ безопасности, и отправляет защищенные данные соседнему узлу (N2). Узел (N2) дешифрует зашифрованное сообщение (msgЕ), используя предварительно развернутые ключи безопасности. Затем он получает зашифрованный файл. Узел (N2) повторяет тот же процесс на предыдущем шаге, используя закрытый ключ, совместно используемый с его узлом-соседом (N3).

Процесс доставки данных по хоп-соединению следующий:

Формула 4

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

Формула 5

Δt представляет задержку для распределения и доступа к каналу. Он имеет между нулем и Thop-by-hop. Когда общий узел и головка кластера соединяются с зашифрованными пакетными данными, генерируемая общая задержка выглядит следующим образом:

Формула 6

Значение n в уравнении представляет общее количество прыжков. Он имеет значение больше 1 для связи с соседним узлом.

Рисунок 7. Суммарная задержка в соответствии с количеством хопов
Рисунок 7. Суммарная задержка в соответствии с количеством хопов

Рис. 7 показывает, что общая задержка зависит от количества прыжков между CH и Ni. Мы интерполируем, что задержка шифрования составляет 449 мс., задержка дешифрования – 456 мс., а задержка передачи данных – 10 мс. в 16-байтовых данных. Число узлов во всей сети – 215, что меньше максимального числа узлов 65535 в области WPAN. Мы не рассматриваем задержку доступа и распределения канала.

На рис. 7 задержка в 30 прыжках и 180 прыжках составляет 27450 мс., 164700 м. соответственно. Если количество узлов во всей сети равно 65535 (максимальное количество узлов в сети датчиков), задержка составит примерно 16 часов. Основная причина большой задержки связана с производительностью оборудования – 8-разрядный микроконтроллер обладает низкой производительностью [6]. Таким образом, при увеличении масштаба сети датчиков потребление энергии также будет возрастать.

References
1.
2.
3.
4.
5.
6.
Link to this article

You can simply select and copy link from below text field.


Other our sites:
Official Website of NOTA BENE / Aurora Group s.r.o.