Задать вопрос
@insector

Придумать алгоритм защищенного шифрованного радиоканала ближнего радиуса действия?

Уважаемое, сообщество!

Суть вопроса коротко: почему нет в широкой продаже нормального защищенного радиоканала (пульт-приемник) ближнего радиуса действия?

Подробнее:

Задача: У меня есть гаражные ворота (или свет перед домом и т.п.) и я хочу, чтобы они открывались автоматически по команде с пульта. Очевидно, что несанкционированное открытие этих ворот посторонним лицом с помощью взлома радиоканала - абсолютно неприемлемо. Лучшее, что предлагается в настоящий момент на рынке - это пульт с Keeloq, который легко взламывается, уже не говоря о статическом коде.

Вопрос: почему же, при давно известной дырявости Keeloq, ничего лучше массово не делается?

Как это вижу я: Берем какой-нибудь готовый модуль ESP32 c Wifi или Zigbee, помещаем его с батарейкой в распечатанный корпус и готов брелок. Ответный модуль ESP32 вместе с реле ставится в стационарный блок. В оба ESP заливается прошивка, в которой заранее зашит уникальный длинный ключ шифрования. Я подхожу к объекту, нажимаю кнопку на брелке. Пульт передает стационарному блоку запрос на сработку. Стационар генерирует внутри себя случайный код, шифрует его односторонним шифрованием заданным ключом (вычисляет хеш, который запоминает) и на пульт посылает этот же случайный код. Брелок получает код, таким же ключом его шифрует, получает такой же хэш и этот хэш посылает стационару. Стационар сравнивает оба хэша и при их совпадении делает сработку реле. При несовпадении - тайм-аут на 5 секунд и снова готовность к приему запроса от брелка.
Таким образом, протокол обмена защищен от стандартных методов взлома вроде перехвата статического кода и подмены динамического. Остается только перебор на стационарном компе перехваченного случайного кода и хэша с целью получить такой же хэш и так вычислить ключ. Что решается длиной ключа и сложностью алгоритма. Кроме того, модифицированный алгоритм (длина ключа и т.п.) создаст доп. трудности для непрофессиональных хакеров в связи с необходимостью писать нестандартный софт для взлома.

Кмк, получился надежный алгоритм, аппаратно-программная реализация несложная. Почему по этому пути нет реализаций? Может вычислительных мощностей ESP32 мало, чтобы за 1-2 секунды произвести все операции?

П.С.
1. Вариант с ИК-пультом - не годится. т.к. неудобно по расстоянию и на солнце.
2. Вариант с звонком по телефону - не годится, т.к. нужна еще одна симка, может временно пропасть связь, задержки.
3. Вариант с wifi-реле и системой умного дома на смартфоне - чуть лучше, но все же тоже неудобно и тормознуто.
  • Вопрос задан
  • 157 просмотров
Подписаться 2 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по информационной безопасности
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 4
opium
@opium
Просто люблю качественно работать
sha256 на esp32 занимает <1 мс даже без аппаратного ускорителя, с вычислениями вопросов нет.

Алгоритм нормальный — HMAC challenge-response, от replay защищает. Кстати, уже есть реализация: github.com/tommie/openepo, именно замена KeeLoq на 433 МГц с похожей схемой.

Почему не в продаже: WiFi-модуль потребляет несравнимо больше 433 МГц-чипа, батарейки на пульт не хватит. Если хочется esp32, BLE практичнее WiFi по питанию. Но для dedicated remote всё равно логичнее субгигагерц + нормальная крипто, тот же openepo.
Ответ написан
@rPman
Вот у вас отличная бизнес идея.

Есть маленькая проблема, ее сложно продавать.
Ответ написан
Комментировать
xata6
@xata6
Системный администратор
Решения, не прямые:
1. Gsm реле
2. почти любую РТК можно поставить
3. автоматика гаражных ворот Популярные бренды — Alutech, DoorHan, Hormann, Nice, CAME, FAAC, BFT, Comunello, Marantec и AN-Motors
Ответ написан
Комментировать
@AlexVWill
На вскидку - то, что ты хочешь не реализуемо чисто на аппаратном уровне, ибо алгоритм для этого довольно сложен. Нужно реализовать софтово, т.е. нужна какая то ос, какой то либо интерпретатор языка, либо ядро системы, которое будет работать с компилированным кодом. Иными словами, что будет иметь на борту какой то минимальный Linux. А это по минимуму 100 баксов, загрузка кода, работа от аккумулятора и пр. В общем сделать можно, но на уровне пульта в виде брелока.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы