(098) 067-12-26 Киевстар (098) 067-12-26   Киевстар
(066) 142-24-48 Vodafone (066) 142-24-48   Vodafone
(098) 067-12-26 Lifecell (063) 642-36-59   Lifecell
 info@arduino.ua
График работы магазина:
Пн-Пт: 9.00 - 19.00
Сб: 10.00 - 19.00
Вс: выходной
г. Киев, ул. Васильковская, 30
ст.м. "Васильковская"
Каталог

Школа робототехники intRobots

Медиа-центр на Raspberry Pi версии 3

Для простого медиа-центра на Raspberry Pi достаточно microSD объемом от 1 ГБ; самой малинки (https://arduino.ua/prod1449-raspberry-pi-3-b), колонок (лучше с усилителем), старого AUX кабеля (от наушников или колонок) и корпуса. В нашем случае донором

Использование звука на садовом участке.

Известно повышение надоя коров, увеличение поголовья свиней, при использовании классической музыки (http://agro-forum.net/threads/143/). В данной статье анализируется возможность использования музыки для повышения урожайности на дачном участке.

Модуль датчика наклона и вибрации SW-520D

Модуль датчика наклона оснащен датчиком наклона и потенциометром. Вы можете прикрепить его к любому объекту, и он определит, наклонен ли объект или нет. На этом уроке мы узнаем, как работает сенсорный модуль наклона и как его использовать с Arduino Board

Дельта 3D принтер

Серия дельта принтеров изначально отличается от своих собратьев, и имеет как плюсы так и минусы, а так же сложность как и сборки так и настрой, но как оказалось собрать это самое простое. И так все же что нужно для этого? Ну все довольно просто, это часть

Фанерный плеер для грибника и рыболова

Однажды наткнулся в интернете на пьесы в формате mp3 и загорелся желанием послушать их в лесу за сбором грибов и ягод. Купил электронную книгу, скопировал несколько пьес. Ходишь, слышишь пение птиц , лесные шорохи и звуки в одном ухе, в другом наушник,
Напиши статью и получи скидку!

Блочное шифрование в IoT

2017-05-22

Все статьи →

Владимир Соколов

Исторически сложилось, что для IoT (Internet of Things) на базе ZigBee сетей в первую очередь стояла цель минимизировать энергопотребление, потому вопрос безопасности остался без внимания. В данной статье предлагается пример безопасной IoT системы с использованием блочного шифрования.

Симметричная (блочная) схема шифрования выбрана, так как для ассимметричной (с открытым ключом) обычно не достаточно производительности микроконтроллера. В качестве блочного шифра выбран xTea-1 (128-битный ключ, 64-битный блок шифруемых данных), который рекомендуется использовать во встраиваемых системах из-за оптимального сочетания потребляемых ресурсов и криптостойкости.

Для проверки производительности системы с шифрованием используются модули Pololu Wixel на базе микроконтроллера TI CC2511F32 с подключенными к ним OLED-дисплей. Библиотека шифрования собрана из исходников mbed TLS и подключена к Wixel SDK.

Сборку библиотеки шифрование нужно проводить с помощью компилятора SDCC версии 3.1.0:

  1. Собрать библиотеку с флагами для микроконтроллера CC2511F32 командой: sdcc -c xtea.c -mmcs51 --model-medium
  2. Создать файл библиотеки: sdcclib xtea.lib xtea.rel
  3. Скопировать xtea.lib в C:\wixel-sdk\libraries\lib\
  4. Скопировать xtea.h в C:\wixel-sdk\libraries\include\
  5. Кроме того, для работы приложении нужно добавить в список задействованных библиотек (options.mk) ссылку на xtea.lib

Для отображения текста на дисплее используется самописная библиотека oled.h для модуля Pololu Wixel, которая реализует моноширинный шрифт одного размера, так для экрана 128×64 максимальное количество символов составляет 168 (8 строк по 21 символу в каждой).

Подключение экрана и к передатчику, и к приемнику производится по одной той же схеме (через I2C интерфейс):

Для установки передатчика и приемника используются в ОС Windows, подробнее см. в документацию от производителя (https://www.pololu.com/docs/0J46/10.b). Загружать прошивку можно с значениями по умолчанию: 128-й канал (2439,84 МГц), I2C дисплей и расположение экрана вниз головой (хотя у экрана сложно понять, где верх). Команда для загрузки:

C:\wixel-sdk>make load_Wixel_2oleds_ssd1306 S="radio_channel=162 i2c_on=1 upside_down=1"

Пример передатчика (установлен на паузу):

Пример приемника (установлен на паузу):

Для шифрования и дешифрования используется одна и та же функция с разными значениями флага type (MBEDTLS_XTEA_ENCRYPT или 1 — на зашифровку и MBEDTLS_XTEA_DECRYPT или 0 — на дешифровку).

uint8 * encrypt(uint8 * get, int type)

{

uint8 XDATA input[8], output[8];

mbedtls_xtea_context * enc = NULL;

sprintf(input, get);

mbedtls_xtea_init(enc);

mbedtls_xtea_setup(enc, key);

mbedtls_xtea_crypt_ecb(enc, type, input, output);

mbedtls_xtea_free(enc);

return output;

}

Передаваемый пакет имеет вид:

Таким образом, можно определить, от кого он был отослан, и формировать собственные алгоритмы транспортного уровня. Так как OSI модель стандарта ZigBee содержит лишь четыре уровня, то все задачи по отслеживанию целостности передаваемых данных возлагаются на пользовательское программное обеспечение. Фактически, передаваемые пакеты представляют собой аналог UDP (пакета).

Для проверки работоспособность системы использовался следующий алгоритм сбора данных:

Таким образом, можно рассчитать количество удачно переданных пакетов и неудачно (утерянных, с однократной и с двукратной ошибкой). Двукратная ошибка соответствует ошибкам после дешифрования пакета. Вероятность ошибки кратности большей трёх ничтожно мала, потому такие пакеты фактически входят в число однократных (для ошибок нечетной кратности) и в двукратных (для четной кратности).

Данная экспериментальная установка может быть использована для выбора наилучших мест для установки IoT хаба и клиентов (или датчиков).

Тестирование системы показало, что при расположении приемника в дальней зоне передатчика (1,36 м при длине волны 12,4 см), процент потерянных пакетов составляет 2,5%, с однократной ошибкой — 4,5%, а ошибок шифрования менее 0,001%. Результаты тестирования наглядно указывают на эффективность шифрования.

В архиве прилагаются собранная библиотека, исходные коды прошивок приемника и передатчика, а также их скомпилированные прошивки.

Ссылки:

Ваша оценка статьи:

Отлично
Хорошо
Удовлетворительно
Плохо
Очень плохо

Благодарим Вас за обращение! Ваш отзыв появится после модерации администратором.
Пока нет отзывов на эту статью.
оплата картами Visa и MasterCard