Безопасный 4-канальный беспроводной коммутатор для умного дома - Своими руками
Своими руками

Безопасный 4-канальный беспроводной коммутатор для умного дома

>

Безопасный 4-канальный беспроводной коммутатор для умного домаБезопасный 4-канальный беспроводной коммутатор для умного домаИз этой статьи мы с вами узнаем, как сделать безопасный 4-канальный беспроводной коммутатор для умного дома.
Безопасность устройства определяется его программной защитой.
Инструменты и материалы:-Модуль ESP8266 – 2 шт;-Arduino Nano;
-4-релейный модуль;-Дисплей TM1637;-Резисторы 4,7 кОм – 4 шт;-Тактовая кнопка – 4 шт;-Блок питания 5 В – 2 шт;-Перемычки;
Шаг первый: безопасность
Безопасность этого устройства основана на четырех принципах:
1) злоумышленник не знает MAC-адрес получателя;
2) Злоумышленник не знает ключей;
3) Каждый IV* зашифрован собственным ключом;
4) Злоумышленник не знает IV.
Работает это следующим образом.
1) Нет способа отправить какие-либо инструкции на устройство, если злоумышленник не знает, куда их отправить;
2) Даже если злоумышленник обнаружит MAC-адрес, злоумышленнику все равно понадобятся три ключа и три IV.
3) Даже если один ключ будет расшифрован, злоумышленнику все равно придется угадать два других.
4) Даже если злоумышленник получит MAC-адрес получателя и все три ключа. Злоумышленнику все равно нужно будет угадать все три IV. Есть 10 в степени 24 ( 100000000000000000000000000 ) возможных комбинаций, и это довольно большое число.

Функции устройства:
Зашифрованный канал связи
Неуязвимость к повторным атакам
Счетчик неудачных попыток взаимодействия с устройством
Каждый IV зашифрован собственным ключом
Использование SPIFFS (файловая система флеш-памяти) для хранения IV
Возможность значительно расширить количество каналов, подключив до 253 Arduino
Легкость использования устройства
*В криптографии вектор инициализации (IV) или начальная переменная является входом для криптографического примитива, используемого для обеспечения начального состояния. IV обычно требуется, чтобы он был случайным или псевдослучайным, но иногда IV должен быть только непредсказуемым или уникальным.
Шаг второй: установка драйверов и настройка Arduino IDE
Драйверы для загрузки можно скачать ниже:
Драйвер CH340: https://sparks.gogo.co.nz/ch340.html
Драйвер CP210x: https: //www.silabs.com/developers/usb-to-uart-brid …
Arduino IDE можно скачать здесь:
https://www.arduino.cc/en/software/
Как настроить Arduino IDE можно узнать, ознакомившись со следующим руководством:
https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/
Шаг третий: MAC-адрес приемной платы
Чтобы получить MAC-адрес платы, нужно загрузить код ниже на плату.
Безопасный 4-канальный беспроводной коммутатор для умного дома Показать / Скрыть текст#include <ESP8266WiFi.h>

void setup(){

Serial.begin(115200);

Serial.println();

Serial.print("ESP Board MAC Address: ");

Serial.println(WiFi.macAddress());

}

void loop(){

}
Затем нужно открыть монитор последовательного порта и перезагрузить плату.
Если все сделано правильно, то MAC-адрес будет отображаться в консоли.
MAC-адрес этой платы – 40: F5: 20: 33: 9A: F5.
Безопасный 4-канальный беспроводной коммутатор для умного домаШаг четвертый: прошивка и библиотеки
Скачать прошивку можно здесь : https://github.com/Northstrix/Secure_4-channel_Wireless_Switch
Так же требуются следующие библиотеки:
DES: https://github.com/fcgdam/DES_Library
AsyncTCP: https://github.com/me-no-dev/AsyncTCP
Программный серийный номер: https://github.com/PaulStoffregen/SoftwareSerial
Серийный номер программного обеспечения ESP: https://github.com/plerup/espsoftwareserial
GyverBUS: https: //github.com/AlexGyver/GyverLibs/releases/do …
TM 1637 : https://github.com/Seeed-Studio/Grove_4Digital_Dis …
Процесс распаковки библиотек BESIDES GyverBUS обычный. Просто распакуйте содержимое архива в папку: … Arduino libraries.
Библиотеку GyverBus нужно распаковать в две папки с эскизами.
Безопасный 4-канальный беспроводной коммутатор для умного домаШаг пятый: вектор инициализации IV
Цель вектора инициализации – предотвратить повторную атаку.
Мастер решил использовать три IV, чтобы еще больше усложнить реализацию атаки повторного воспроизведения.
Есть много способов сгенерировать случайное число. Мастер решил бросить 20-гранный кубик. Каждый раз, когда он получал номер из двух цифр, то записывал последнюю цифру.
В конце концов, он создал эти три 8-значных числа:
48391741
51206333
60692408
Обратите внимание, что каждый раз, когда вы нажимаете кнопку, каждый IV увеличивается на единицу.
Максимальное значение IV – 99999999 .
Если вы сгенерировали что-то более 99000000 , то нужно либо изменить первую цифру, либо сгенерировать новый IV.
Безопасный 4-канальный беспроводной коммутатор для умного домаДальше нужно открыть скетч в папке Secure_4-channel_Wireless_Switch-main IVs.
Найти строки fiv, siv, tiv и замените их значения на свои 8-значные IV. Затем загрузить этот скетч в оба ESP.
Безопасный 4-канальный беспроводной коммутатор для умного домаШаг шестой: ключи
Можно бросать кубики, использовать «программное обеспечение для бросания кубиков» или хешировать картинку. Мастер решил хешировать фото, потому что это самый быстрый способ.
Чтобы упростить задачу, можно скопировать этот массив трижды и замените Fs своими значениями.
byte key[] = {
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
};
Мастер использовал фото ниже в качестве картинки для хеширования.
Безопасный 4-канальный беспроводной коммутатор для умного домаДля хеширования использовал следующий калькулятор: https://md5file.com/calculator
На выходе получаем такой ключ:
1c1152b89a61eb609e55059de57e38e98a2bf76ad98c5c5658f451c53364c76f8c4d0792faf54339cdc54453150aea21402e58d8109985992740292405e01d99
Безопасный 4-канальный беспроводной коммутатор для умного домаТеперь нужно изменить прошивку приемника. Открываем скетч в папке
Secure_4-channel_Wireless_Switch-main Secure_4-channel_Wireless_Switch_Receiver.
Замените три ключа в этом эскизе на созданные.
Безопасный 4-канальный беспроводной коммутатор для умного домаДля изменения прошивки передатчика открываем следующий скетч: Secure_4-channel_Wireless_Switch-main Secure_4-channel_Wireless_Switch_Transmitter.
Заменяем в нем так же три ключа.
Безопасный 4-канальный беспроводной коммутатор для умного домаНужно убедится, что все три ключа совпадают.
Безопасный 4-канальный беспроводной коммутатор для умного домаШаг седьмой: сборка передатчика
Теперь нужно согласно схемы собрать передатчик. Нельзя прошивайте передатчик до того, как собрана схема. В противном случае передатчик будет передавать группу пакетов в никуда.
Безопасный 4-канальный беспроводной коммутатор для умного домаБезопасный 4-канальный беспроводной коммутатор для умного домаБезопасный 4-канальный беспроводной коммутатор для умного домаШаг восьмой: прошивка плат
В модуль передатчика нужно загрузить прошивку из этой папки: Secure_4-channel_Wireless_Switch-main Secure_4-channel_Wireless_Switch_Transmitter
В модуль приемника из этой папки: / Secure_4-channel_Wireless_Switch-main Secure_4-channel_Wireless_Switch_Receiver
Загрузжаем прошивку из папки
/ Secure_4-channel_Wireless_Switch-main Secure_4-channel_Wireless_Switch_Arduino
в Arduino.
Шаг девятый: приемная часть устройства
Теперь нужно собрать приемную часть устройства.
Безопасный 4-канальный беспроводной коммутатор для умного домаБезопасный 4-канальный беспроводной коммутатор для умного домаШаг десятый: тестирование
Теперь нужно подключить питание и проверить, попытаться взломать устройство.
Безопасный 4-канальный беспроводной коммутатор для умного домаДальше предположим, злоумышленник каким-то образом обнаружил MAC-адрес устройства.
Каждый раз, когда происходит неудачная попытка атаковать устройство, число на дисплее будет увеличиваться.
Безопасный 4-канальный беспроводной коммутатор для умного домаБезопасный 4-канальный беспроводной коммутатор для умного домаВсе готово. Мастер приложил все усилия, чтобы сделать это устройство максимально безопасным. По крайней мере, оно неуязвимо для обычного взлома и защищено от повторной атаки. Есть способы взломать это устройство, используя более сложные методы, но большинство из этих методов доступны только хакерам мирового уровня или правительственным учреждениям.
Безопасный 4-канальный беспроводной коммутатор для умного домаБезопасный 4-канальный беспроводной коммутатор для умного домаБезопасный 4-канальный беспроводной коммутатор для умного дома

SitesReady

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.