Alex@ndr 0 26 декабря, 2006 Опубликовано 26 декабря, 2006 (изменено) · Жалоба Генерировать случайные числа буду через АЦП, например так: провёл 1000 замеров, три младших разряда суммы результатов -трёхзначное случайное число. Защёт погрешности АЦП результат будет абсолютно непредсказуемый и случайный. Это дело не сработает... Во-первых там всего 256 возможных значений из которых реально используется отсилы 20. Во-вторых бывает, что у всех МК одной партии значения калибровочных констант равны. Ну больше подходящих вариантов я невижу, а так хоть какаято защита. И ещё очень легко организуема, вызовет зависание: ... while (OSCCAL!=0x6A) { }; ... Кстати, я надеюсь калибровочную константу МК изменить нельзя? Изменено 26 декабря, 2006 пользователем Alex@ndr Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fate 0 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба Ну если есть хотя-бы минимум доверия, то можно поступить следующим образом: разделить задачу на две части, на bootloader который вы отдаете свободно, который, так сказать готовит камень заказчика (вот здесь то и нужно доверие, если вы конечно хотите знать на какое конкретно устройство все это будет установлено) который генерирует пару не симметричных ключей (DES, SHA или еще что…) и сохраняет их, открытый ключ bootloader сообщает пользователю, он вам, вы шифруете этим ключом firmware и передаете заказчику, при установке bootloader с помощью закрытого ключа его расшифровывает и программирует в камень по пути устанавливая все флаги, вот собственно и все. Кстати, за основу можно взять Application Notes AVR231, там не так много надо переделовать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bodja74 0 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба Ну больше подходящих вариантов я невижу, а так хоть какаято защита. И ещё очень легко организуема, вызовет зависание: делайте случайное число от таймера, проттос дело говорит. Кстати, я надеюсь калибровочную константу МК изменить нельзя? А вот и не угадали :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба вот собственно и все. Перед 'все', заказчику нужно не полениться считать установившийся bootloader и затем копировать его в нужных количествах :). И зачем тогда все эти пляски? Кстати, за основу можно взять Application Notes AVR231, там не так много надо переделовать Там надо абсолютно все переделовать, ибо используемый там AES, как и вышеупомянутые, симметричный да собственно загрузчик через заднепроходное отверстие написан. Нет, я понимаю, что полученный AES ключ можно слегка изуродовать и назвать его "открытым", но главную проблему это не решит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fate 0 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба В идеале, лучше переделать на SHA и это не так уж и сложно :) mega640/1280/1281/2560/2561(возможно и mega88/168 и некоторые другие, надо проверять, по крайней мере для 640/1280/1281/2560/2561 - это даже описанно в документации) позволяет програмировать биты LB2, LB1, так что ничто не мешает bootloader-у их запрограммировать перед генерацией ключей Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arttab 0 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба А чем неустраивает поставки мк с зашитыми загрузщиками и золочеными битами? Другого варианта не вижу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tanya 4 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба Вот еще такой бредовый вариант. Вы сами шьете дистанционно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TomaT 0 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба Вот еще такой бредовый вариант. Вы сами шьете дистанционно. При большом желании ловится сниффером... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tanya 4 26 декабря, 2006 Опубликовано 26 декабря, 2006 (изменено) · Жалоба Вот еще такой бредовый вариант. Вы сами шьете дистанционно. При большом желании ловится сниффером... Вот это Вы напрасно. SSH, sftp... Другое дело, что есть "подсматривающие" программы, но получив права root'а, можно все процессы в системе контролировать. Изменено 26 декабря, 2006 пользователем Tanya Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ahulap 0 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба А такой вариант: прошивка совмещается с простеньким программатором (напр. byte-blaster) и передается в виде одного exe-файла. При первом удачном программировании создает ключи в реестре, скрытые файлы и т.п. ... и дальше отказывается работать. Можно попытаться хотя бы имитировать защиту покруче, что может отбить охоту заниматься взломом или запускать на другом комрьютере... понти - велика сила :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба ничто не мешает bootloader-у их запрограммировать перед генерацией ключей Так, если bootloader может иметь доступ к защите, то это действительно какая-никакая Идея! требующая уже некоторого копания в коде загрузчика для обхода. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex@ndr 0 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба Вон чё в даташите на AtMega16 нарыл: Насколько я ничего не понимаю в английском, это значит что всётаки можно прочитать фьюзы и локи самим контроллером!!!Только как, для меня пока остаётся загадкой... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ahulap 0 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба Например, как в app.note avr109 (flash.h). Но как шифрование прошивки может помочь, если и загрузчик, и прошивку будет зашивать заказчик? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex@ndr 0 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба Например, как в app.note avr109 (flash.h). Спасибо, щас буду смотреть. Но как шифрование прошивки может помочь, если и загрузчик, и прошивку будет зашивать заказчик? См. первое сообщение. Прошивка будет неработоспособна без моего кода, единственный вариант -считать ЕЕРRОМ с уже разблокированного МК(с обеими кодами) и шить его в остальные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ahulap 0 26 декабря, 2006 Опубликовано 26 декабря, 2006 · Жалоба См. первое сообщение. Прошивка будет неработоспособна без моего кода, единственный вариант -считать ЕЕРRОМ с уже разблокированного МК(с обеими кодами) и шить его в остальные. Но ведь прошивка открыта и посмотреть в ней таблицу соответствий или формулу вычисления ответного числа особого труда не составит. ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться