Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Безопасный 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-адрес платы, нужно загрузить код ниже на плату.

    Затем нужно открыть монитор последовательного порта и перезагрузить плату.
    Если все сделано правильно, то 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 нужно распаковать в две папки с эскизами.

    Шаг пятый: вектор инициализации IV
    Цель вектора инициализации - предотвратить повторную атаку.
    Мастер решил использовать три IV, чтобы еще больше усложнить реализацию атаки повторного воспроизведения.
    Есть много способов сгенерировать случайное число. Мастер решил бросить 20-гранный кубик. Каждый раз, когда он получал номер из двух цифр, то записывал последнюю цифру.
    В конце концов, он создал эти три 8-значных числа:
    48391741
    51206333
    60692408
    Обратите внимание, что каждый раз, когда вы нажимаете кнопку, каждый IV увеличивается на единицу.
    Максимальное значение IV - 99999999 .
    Если вы сгенерировали что-то более 99000000 , то нужно либо изменить первую цифру, либо сгенерировать новый IV.

    Дальше нужно открыть скетч в папке Secure_4-channel_Wireless_Switch-main \ IVs.
    Найти строки fiv, siv, tiv и замените их значения на свои 8-значные IV. Затем загрузить этот скетч в оба ESP.

    Шаг шестой: ключи
    Можно бросать кубики, использовать «программное обеспечение для бросания кубиков» или хешировать картинку. Мастер решил хешировать фото, потому что это самый быстрый способ.
    Чтобы упростить задачу, можно скопировать этот массив трижды и замените 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,
                    };

    Мастер использовал фото ниже в качестве картинки для хеширования.

    Для хеширования использовал следующий калькулятор: https://md5file.com/calculator
    На выходе получаем такой ключ:
    1c1152b89a61eb609e55059de57e38e98a2bf76ad98c5c5658f451c53364c76f8c4d0792faf54339cdc54453150aea21402e58d8109985992740292405e01d99


    Теперь нужно изменить прошивку приемника. Открываем скетч в папке
    \ Secure_4-channel_Wireless_Switch-main \ Secure_4-channel_Wireless_Switch_Receiver.
    Замените три ключа в этом эскизе на созданные.

    Для изменения прошивки передатчика открываем следующий скетч: \ Secure_4-channel_Wireless_Switch-main \ Secure_4-channel_Wireless_Switch_Transmitter.
    Заменяем в нем так же три ключа.

    Нужно убедится, что все три ключа совпадают.

    Шаг седьмой: сборка передатчика
    Теперь нужно согласно схемы собрать передатчик. Нельзя прошивайте передатчик до того, как собрана схема. В противном случае передатчик будет передавать группу пакетов в никуда.



    Шаг восьмой: прошивка плат
    В модуль передатчика нужно загрузить прошивку из этой папки: \ 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.

    Шаг девятый: приемная часть устройства
    Теперь нужно собрать приемную часть устройства.


    Шаг десятый: тестирование
    Теперь нужно подключить питание и проверить, попытаться взломать устройство.

    Дальше предположим, злоумышленник каким-то образом обнаружил MAC-адрес устройства.
    Каждый раз, когда происходит неудачная попытка атаковать устройство, число на дисплее будет увеличиваться.


    Все готово. Мастер приложил все усилия, чтобы сделать это устройство максимально безопасным. По крайней мере, оно неуязвимо для обычного взлома и защищено от повторной атаки. Есть способы взломать это устройство, используя более сложные методы, но большинство из этих методов доступны только хакерам мирового уровня или правительственным учреждениям.



    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    Авиагоризонт на базе Ардуино

    Кабельный трассировщик на Arduino

    0
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    0
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    0
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 0.0 из 10 (голосов: 0 / История оценок)

    Добавить комментарий

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии