Передача данных по радиоканалу осуществляется с помощью приемопередатчика Si1000 на 868MHZ.
С одной стороны управление происходит с компьютера , переходник USB-TTL.
С другой стороны МК Attiny848 который принимает команду на включение/выключение двух отдельных друг от друга устройств с обратной связью , т.е. проверяется статус в каком положении находится устройство.
Hex пакет передачи открытый (пример: FF 55 01 01 85 00 ) , поэтому запросто можно перехватить команды устройства и управлять с другого пульта управления.
Может кто-нибудь сталкивался с такой задачей , подскажите у кого какие идеи , как можно реализовать шифратор/дешифратор команд , чтоб невозможно было при перехвате дублировать передаваемый пакет с другого компьютера.
Вопрос конечно интерсный)) Сам приемопередатчик Si1000 на 868MHZ стандартный и перехватить вполне реально... даже простейшим радиосканером... Обычно для шифрования используют стандартный алгоритмы шифрования... типа таких - https://ru.wikipedia.org/wiki/Advanced_ ... n_Standard Такое ещё не делал)) Хотя это для передачи данных, а для двух отдельных друг от друга устройств с обратной связью на включение/выключение думаю можно придумать самому, попроще)) С одной стороны и с другой стороны МК, шифратор/дешифратор. Может типа таблицы замещения, чтобы коды не повторялись... и добавить в пакет избыточную информацию - случайный набор цифр... и добавить в пакет контрольную сумму, с неизвесным никому полиномом и начальным значением... )) Например контрольная сумма может высчитаваеться хитро... например от всех пакетов, начиная с первого пакета... При этом контрольную сумму расчитать невозможно, не имея всех пакетов сообщения... )) И т.д. Вариантов много))
Вопрос конечно интерсный)) Сам приемопередатчик Si1000 на 868MHZ стандартный и перехватить вполне реально... даже простейшим радиосканером... Обычно для шифрования используют стандартный алгоритмы шифрования... типа таких - https://ru.wikipedia.org/wiki/Advanced_ ... n_Standard Такое ещё не делал)) Хотя это для передачи данных, а для двух отдельных друг от друга устройств с обратной связью на включение/выключение думаю можно придумать самому, попроще)) С одной стороны и с другой стороны МК, шифратор/дешифратор. Может типа таблицы замещения, чтобы коды не повторялись... и добавить в пакет избыточную информацию - случайный набор цифр... и добавить в пакет контрольную сумму, с неизвесным никому полиномом и начальным значением... )) Например контрольная сумма может высчитаваеться хитро... например от всех пакетов, начиная с первого пакета... При этом контрольную сумму расчитать невозможно, не имея всех пакетов сообщения... )) И т.д. Вариантов много))
Спасибо , что откликнулись !
Была у меня идея на подобие вашей , добавить в пакет избыточную информацию типа серийного номера каждого приёмного устройства с общим с пакетом контрольной суммой . Как Вы и сказали вариантов то много но Я в электронике разбираюсь , а в программировании к сожалению нет , поэтому ничего не получилось хоть и имею первоисточник программы МК приёмника . Вы пишете такое ещё не делали , но похоже опыт у Вас есть , может попробуете сделать нечто подобное ? Ели что пишите в личку договоримся.
шифрование методом магического квадрата, да еще с плавающим ключем. запарятся расшифровывать.
Спасибо что откликнулись !
Погуглил после вашего ответа, идея отличная , но к сожалению мне эту идею не осилить , тут нужен программист , а Я просто электронщик. Я был бы рад , если бы кто нибудь мог бы воплотить эту идею (разумеется не безвозмездно)
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650.
Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
я не программист... я только учусь)) Помочь только советом. )) Сам тоже думал... сам по себе магический квадрат ничего не даст. Данные будут повторяться... Понятно, что расшифровать это не составит труда)) С плавающим ключем? Это другое дело)) Только как передавать ключ? И т.д. ...
Вообще задача не стоит в шифровании данных, задача стоит в защите от несанкционированного доступа. Для управления двумя нагрузками можно просто забить в массив таблицу кодов вкл/выкл нагрузкой, при этом коды вкл/выкл никогда не будут повторяться. Простой перебор кодов не поможет, т.к. если код не верный - сработает защита. При повторной передачи кода тоже сработает система защиты и на экране появится сообщение "попытка несанкционированного доступа". )) Проблема только в ограниченной памяти МК... Массив должен переодически обновляться... например по специальной команде или автоматически, когда закончатся коды... ))
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Шахту ракетную защищаем ? Простейшего шифрование, когда ключ, вшитый в приемник и передатчик, и точный алгоритм известен только программисту в случае единичных девайсов, imho, достаточно. Ну добавить еще систему команд посложнее. Кто будет париться взломом нестандартной защиты ? ЦРУ ? ФСБ ? ИГИЛ ?
_________________ "Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл / "Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Шахту ракетную защищаем ? Простейшего шифрование, когда ключ, вшитый в приемник и передатчик, и точный алгоритм известен только программисту в случае единичных девайсов, imho, достаточно. Ну добавить еще систему команд посложнее. Кто будет париться взломом нестандартной защиты ? ЦРУ ? ФСБ ? ИГИЛ ?
Друг Кота , Вы высказали то , что Я и хотел сказать , мне нужно хоть как то отбить желание от попытки запросто повторить подобное , а то тут предлагают действительно шахту защищать от ЦРУ !!! Простое шифрование с нестандартным алгоритмом , где ключ вшит в программу , и хорошо бы немного усложнить команды , с разницей , что с одной стороны используется ПК а с другой МК , тем более , что первоисточник программы у меня имеется в открытой форме и ничего не нужно ломать и считывать с МК. Асы программирования где Вы , отзовитесь и воплотите идею в железо !
ну дело в том, что ЮСБ- Трансививеры(реже), а ЮСБ Ресиверы на 433 и 800 Мгц щас стоят просто копейки, а в инете есть красивый GUI софт(кто ищет тот найдет..), с так наз Learn Function ну и Replay там тоже есть! Отдельным макаром реализуются готовые брелки "нажал и забыл"
И даже GSM взламывают, а не то что простейший радиомодуль))
Про него больше известно, чем про неизвестный протокол обмена с неизвестным шифрованием, который применяется несколько раз в сутки. Ну присобачить часы еще и чтоб алгоритм с ключом зависели от времени - радиолюбитель забодается и взломает к пенсии шлагбаум или ворота, вот праздник то будет
Асы программирования где Вы , отзовитесь и воплотите идею в железо !
А в каком месте проблема то ? Придумайте какой нибудь кадр обмена с командами и параметрами и перед передачей самый простейший вариант - это все со всеми байтами xor с ключом, в приемнике обратно. Дальше навороты по вкусу. По мне так даже "эффекта неуловимого джо" достаточно если эта штука в единичном экземпляре и работает всего несколько раз в день. Можно еще два передатчика сделать на разных частотах с разными ключами и наборами команд, ловим 2 одинаковых команды, если поймали - выполняем, для "радиолюбителя" сюрприз будет гарантировано в том бардаке, который сейчас в эфире. Чтобы нельзя было записать и передать команду лучше всего использовать двусторонний обмен и тогда вообще ушифроваться можно.
_________________ "Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл / "Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
)) коды записывыаются на компьютер... и обработка идёт в автоматическом режиме)) поэтому не важно сколько времени это займёт... как только соберётся достаточно данных о вашем шлагбауме... он будет взлома))
Morroc писал(а):
Придумайте какой нибудь кадр обмена с командами и параметрами и перед передачей самый простейший вариант - это все со всеми байтами xor с ключом, в приемнике обратно.
Ну так вот и придумайте... вопрос именно про это. Все алгоритмы используют Операцию ХОР с ключом, в приемнике обратно. - https://ru.wikipedia.org/wiki/Advanced_ ... n_Standard Вопрос только в самом ключе или алгоритме шифрования... простая операция ХОР с ключом, в приемнике обратно. - вас никак не защитит. Или нужно постоянно менять ключ (после кажной передачи) или использовать другой алгоритм.
В простейшем случае забить коды (массив) заранее в приёмник и передатчик... случайными числами... белый ШУМ... и использовать Операцию ХОР с этими числами. На выходе получим шумоподный сигнал)) Взломать такой алгоритм невозможно, белый ШУМ ещё никто не взломал)) Одна проблема - память для массива в МК ограничена. Тогда подключить к МК внешнюю флешку... на несколько гигабайт)) Для шлагбаума кодов хватит на несколько лет..)) Потом придётся обновлять массив в флешке...
Я не вижу тут над чем думать. Готовых алгоритмов полно, надо лишь выбрать степень параноидальности, определиться однонаправленная передача будет ли двунаправленная и подобрать соответствующий.
Вопрос только в самом ключе или алгоритме шифрования... простая операция ХОР с ключом, в приемнике обратно. - вас никак не защитит. Или нужно постоянно менять ключ (после кажной передачи) или использовать другой алгоритм.
Если команда одна и никак не меняется - не защитит. Ключ конечно можно менять и даже перебирать в приемнике, ориентируясь на контрольную сумму блока команды (если влом синхронизацию какую то делать). Или использовать там и там часы с батарейкой. Запутать надо ведь не ЦРУ с ФСБ, а малость двинутого случайного человека, думаю ему надоест довольно быстро и защите нужно продержаться только это время.
В простейшем случае забить коды (массив) заранее в приёмник и передатчик... случайными числами... белый ШУМ... и использовать Операцию ХОР с этими числами. На выходе получим шумоподный сигнал)) Взломать такой алгоритм невозможно, белый ШУМ ещё никто не взломал)) Одна проблема - память для массива в МК ограничена.
Если ключ один - это почти тоже самое, только ключ длинный и его подбирать долго. В плане ограничения памяти можно просто написать свой собственный генератор псевдослучайной последовательности и тогда ключом будет значение "random.seed".
Тогда подключить к МК внешнюю флешку... на несколько гигабайт)) Для шлагбаума кодов хватит на несколько лет..)) Потом придётся обновлять массив в флешке...
Навсегда хватит И памяти МК скорее всего тоже.
_________________ "Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл / "Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
частоту менять после каждого байтика рандомно. отправили такой то байтик, приемник отвечает ок, частота сегодня будет такая. перестроились оба, опять байтик отправили, опять частота будет такая. и так несколько раз поговорили с друг другом на разных частотах. если все совпало, команда принята
Современные приёмники могут АВТОМАТИЧЕСКИ принимать и записывать всё сигналы, на разных частотах, на разных диапазонах... с записью на жёсткий диск... и последующим их декодированием... )) Даже если сигнал на разных частотах, программа АВТОМАТИЧЕСКИ определит что это один и тот же сигнал, только на разных частотах... )) Вопрос только в софте... https://www.youtube.com/watch?v=EK7oNxERNus Сейчас таких приёмников навалом. И даже для телефона...)) https://www.youtube.com/watch?v=LUNCMEs2qX8 ... и т.д.))
Morroc писал(а):
однонаправленная передача будет ли двунаправленная
Однозначно двунаправленная. Мы должны получать на пульт подтверждение открытия шлагбаума... или что у нас там... ))
Morroc писал(а):
Если ключ один - это почти тоже самое, только ключ длинный и его подбирать долго. В плане ограничения памяти можно просто написать свой собственный генератор псевдослучайной последовательности и тогда ключом будет значение "random.seed".
Если ключ один - это не тоже самое. Любой алгоритм имеет свою криптостойкость. Любой алгоритм, имеющий фиксированный алгоритм шифрования, с конечным количеством ключей, может быть взломан... Вопрос только в вычислительной мощности... )) Кратко вот.))
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения