|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|
Авторизация устройств22.12.2016, 13:46. Показов 7706. Ответов 43
Метки нет (Все метки)
Всем привет,
Есть у меня своя поделка устройств, которые обмениваются с центральным ХАБом командами и данными по радиоканалу. Заморочился я зашифровать протокол обмена, чтоб данные не светились в эфире. Прикрутил алгоритм AES (либа от ST), все хорошо, теперь хочу еще усилить, дело в том, что у меня есть исполнительные устройства, например выключатель, которому посылается команда, так вот одинаковые данные зашифрованные AES тоже будут одинаковые что не составляет труда перехватить радио посылку и отправлять ту же самую команду но зашифрованную и устройство её примет и обработает. Какие мне видятся способы защиты: <ul>- самое простое - посылать дополнительный случайный байт (два, три), который будет являться "шумом", тогда кодированные данные всегда будут разные, но все равно повторив одну такую посылку устройство её примет. - посылать счетчик команд и не принимать команды, если этот счетчик не увеличивается или меньше чем ожидается, уже лучше, но нужно помнить последнюю команду и как-то синхронизироваться с хабом. - использовать токен и сеансы (сессии) - при включении устройства оно посылает на ХАБ запрос, хаб генерит токен и отсылает его устройству, далее идет обмен данными, "подписаными" этим токеном (например CRC32). Токен протухает на ХАБе раз в N времени и нужно его заново генерить. Все это естественно еще шифруется AES. Вроде не сильно сложно. Но опять же - в пределах одного токена посылка для одной команды будет одинаковая. - ваш вариант?</ul>
0
|
|
| 22.12.2016, 13:46 | |
|
Ответы с готовыми решениями:
43
Авторизация Вконтакте для мобильных устройств Asus K56CB (Win 8) ...диспечере устройств горит куча неизвестных устройств...
|
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
| 22.12.2016, 14:13 | |
|
счетчик нужен, причем, достаточного размера и не с нуля (можно счетчик+nonce).
нужно рассмотреть атаку с рандомными посылками. если у вас там байт команды и байт счетчика, то одна из 64к случайных посылок сработает, и т.п..
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|
| 22.12.2016, 14:49 | |
|
Вот и я к этому больше склоняюсь, но со счетчиком нужен какой-то алгоритм его сброса и обновления. Т.е.е ситуация когда команда не дошла (а без подтверждения команды мы не можем знать дошла она или нет) и когда устройство было отключено, п потом его подключили.
И еще когда команда дошла, но не дошло подтверждение.
0
|
|
|
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 1,625
|
|
| 22.12.2016, 14:55 | |
|
Еще один вариант, устойчивый к перехвату, но бессильный против утечки - тогда теряется всё и сразу.
В пакете говорится: "От Иоанна гл.15 ст.27 стр.4 сл.7". Библия содержится на борту и сервера, и клиента, но цедится в эфир тонкой струйкой и никогда не будет накоплена целиком у перехватчика.
0
|
|
|
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 361
|
|
| 22.12.2016, 15:04 | |
|
Передатчик в открытом виде передаёт текущее время в миллисекундах (открытый ключ) и закодированное этой меткой слово управления из нескольких байт по своему алгоритму (AES + XOR +сдвиг и их комбинации).
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
|
|
| 22.12.2016, 15:06 | |
|
otixsom, два варианта защиты от replay attack из самых тупых (оба исходят из того, что ключи шифрования не скомпрометированы и что пакет проверяется на подлинность):
1. Использовать текущее время (требует синхронизации часов) 2. Three-way connection: мастер шлёт запрос, слэйв отвечает (добавляя в пакет случайное число), мастер шлёт запрос на действие уже с этим числом. Запрос на действие, естественно, принимается только в течение короткого промежутка времени после генерации "токена" (по сути, та же схема, что у вас для токена, но токен одноразовый и протухает очень быстро) Собственно, что синхронизацию часов, что "регенерацию" счётчика можно проводить, если слейв принял пакет с неверным временем/счётчиком. Т.е. при получении такого пакета он не выполняет команду, а шлёт серверу запрос на синхронизацию и какое-то время ждёт ответа на него.
0
|
|
|
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 48
|
|
| 22.12.2016, 15:27 | |
|
Совместить 2 и 3 варианты.
При включении исполнительное устройство шлёт пакет, содержащий идентификатор устройства и случайный ключ доступа, по 32 бита каждый. Шлёт пока хаб не ответит пустой командой, содержащей этот ключ доступа. Каждая команда от хаба устройству содержит индивидуальный для устройства 32-битный счётчик, который увеличивается на 1 при каждой отправке. Если исполнительное устройство получает значение счётчика, которое увеличилось более, чем на 2^31 от последнего - команда игнорируется. Если от хаба не было корректной команды N секунд, то устройство опять запускает процесс отправки ключа. CRC32 не нужно, достаточно включать в 128-битный пакет значения счётчика и ключа. Подразумевается, что шифрование AES используется в обе стороны. Такая система позволяет исключить возможность управления исполнительным устройством, но не защищена от DoS-атаки на хаб.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|
| 22.12.2016, 15:53 | |
|
Использование времени отпадает в любом случае - не хочу ставить внешние часовые кварцы - много места занимают и часть устройств уже работает "в полях".
С таблицей тоже не вариант, 16КБ флеша из них занять 1КБ данными тоже не хочу. Пока рассматриваю варианты со счетчиком и одноразовым токеном. YvomSh - ваш вариант - это вообщем-то счетчик.
0
|
|
|
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 48
|
||
| 22.12.2016, 16:08 | ||
Если использовать только лишь счётчик - потребуется синхронизации этого счётчика, и устройство не защищёно от атаки сразу после сброса питания.
0
|
||
|
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 361
|
||
| 22.12.2016, 16:22 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|||
| 22.12.2016, 17:13 | |||
0
|
|||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
||
| 22.12.2016, 17:14 | ||
|
[QUOTE="friiom"][QUOTE="Цитата:[/QUOTE]
Пока-что я посмеялся с твоей невнимательности.
0
|
||
|
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 752
|
||
| 22.12.2016, 22:37 | ||
https://www.cyberforum.ru/savedimages/2016/12/22/xrsfnqxd2ygdsewysy.jpg А если много, то сколько будет немного? В реальных цифрах. Еще момент: устройства "в поле" на внутреннем RC-генераторе? Даже с их точностью уход по времени за сутки будет не смертельный, можно загрубить время для смены ключей по времени (набор ключей забить и менять). Тем более раз обмен уже реализован, подстроить время проблем не составит.
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|
| 22.12.2016, 23:10 | |
|
Да тут даже дело не в свободном месте, а в доп. компонентах.
А само время убегает очень сильно. Устройство находится большую часть времени в STOP Mode (STM32F030F4) и при этом RTC внутренние убегают так, что WakeUp настроенный на каждую минуту по факту плавает +/-8 сек. Мне это сейчас не критично вообще, но на него надеяться точно нельзя.
0
|
|
|
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 752
|
|
| 23.12.2016, 09:38 | |
|
...жаль, что дополнительных компонентов низзя: RTC в SMD выше отпали, GPS по понятным причинам вообще несерьезно из-за размеров, возможного отсутствия видимости на спутники и существенном удорожании устройства в поле. Но, когда не было GPS уже были сигналы точного времени и сейчас по радиоэфиру (60, 66 кГц и т.д.), например от длинноволнового DCF77. Технология стара как само радио, а впихнуть функцию синхронизации от тиков в радиоэфире смогли даже в наручные часы, в те же часы Casio с функцией радиоконтроля (GW-7900-RD-4ER). Вкратце. Места хватило людям.
--- вариации на тему Кстати, есть аналоговый радиоприемничек все в одном в TO-92 корпусе: https://www.cyberforum.ru/savedimages/2016/12/23/tavadkzqbm3uybanm.png контур ему и готовая часть для синхронизации с радиоэфира. MK484 около одного абамы.
0
|
|
|
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 721
|
|||
| 23.12.2016, 16:27 | |||
Вот реальный пример подобной комбинации методов одной программы 10-ти летней давности - тут и микрософт крипт и ксоры и роры и ролы... в качестве источника генерации ключа используется имя файла... https://www.cyberforum.ru/savedimages/2016/12/23/tkhrr5yshrwtsdrqqsnpyejr.jpg аналогично для передачи данных можно использовать любое меняющееся число, в том числе и текущий отсчёт времени, в том числе несинхронизированного с мировым и жыпээсным абстрактного локального в процессоре времени... каждую микросекунду у вас будет новая база для создания ключа открытого пароля. если иметь полный исходник или исполняемый код, то расшифровать подобные перехваченные передачи не составит труда... но не зная алгоритма шифрования при переменном по времени ключе передаваемые защищаемые данные "Команда Включить утюг" будут не совпадать и нельзя будет набить статистику.... ... Но как в анекдотичных случаях с банкоматами... зачем тратить время на взлом пароля , когда можно просто подать питание на моторчик выбрасывателя денех... возможность глушения вафли глупого дома из вне никто не отменял и ваша розетка может не принять команду "Выключить утюг" или "Поставить машину на сигнализацию" :)
0
|
|||
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
||
| 23.12.2016, 16:37 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
||
| 23.12.2016, 17:10 | ||
Если уж на то пошло, то там почти Гиг свободной памяти!... Но использовать её в продакшене нельзя ибо не гарантируют. Хотя я на всех чипах, которые у меня были тестировал её и ни разу не натыкался на сбойные страницы...
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|||
| 23.12.2016, 17:14 | |||
0
|
|||
|
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 721
|
||
| 23.12.2016, 18:49 | ||
0
|
||
| 23.12.2016, 18:49 | |
|
Помогаю со студенческими работами здесь
20
В диспетчере устройств, в контроллерах запоминающих устройств висит желтый значек Правильный режим работы устройств и портов устройств для функционирования беспроводной сети Найти вероятность того, что из 300 устройств выйдет из строя не больше 10 устройств
Установка драйверов для устройств без самих устройств Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|