Перейти к содержанию
    

В описанных условиях, естественно нет :). В подобных случаях для зашиты от ленивого производителя тспользую далласовские однопроводные датчики температуры (есть и просто с серийным номером без ничего) на основе их серийного номера генерится ключик и прописывается в конфигурацию (у меня I2C EEPROM-ки стоят) изделия.

Объясните подробнее.

Допустим у меня на плате есть уникальный серийник (DALLAS или что то подобное), как в этом случае защититься от тиражирования? Я заранее не знаю номера серийника, знаю только, что они не повторятся. Я не имею возможности осуществлять програмирование загрузчика, который бы раскодировал зашифрованый hex файл при загрузке. Но я могу сделать так, чтоб программа читала серийник и отдавала компьютеру (устройству производящему програмирование). Но протокол загрузки LPC открытый и если подслушать програмирование можно восстановить исходный файл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я заранее не знаю номера серийника...

Я кажется почти все написал...

Серийные номера сообщаются мне, по ним генерятся ключи, отсылаются и прошиваются в EEPROM для снятия ограничений в работе на объекте. Рассылкой ключей занимается майлробот - получает письмо с разовым ключем (256 символов) на генерацию и серийником и высылает в ответ письмо с сгенерированным ключем под присланный серийный номер. Разовый ключ вычеркивается из списка действующих, в лог файл заносится факт использования, серийный номер, сгенерированный ключ и кто запросил серийник.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто Вам это сказал :)?

 

Вот ленивые, не собирающиеся менять Flash в своих контроллерах и дают...

 

8K на уровне 128K это совсем не много.

 

Теперь попробуйте вместо рассуждений просто писать программы. Узнаете про "некомпактрость" :) и про потребные размеры Flash.

 

И в этом Вы совершенно не ориентируетесь :( Мало того, что сам чип стоит чуть больше 100 рублей поштучно, так и +128K Flash у следующего стоят рублей 20, примерно...

 

А почему не *1000000000 ????

Короче, пока пустой треп.

Вот и получается , господин zltigo, что Вы трепач... Не вникая в суть вопроса, Вы уже огульно обозвали меня именно этим словом. Вы ведь даже не потрудились прочитать, что мне надо.

 

1. 8 kB это для меня много. И это не обсуждаемо. Это условие вопроса по-умолчанию.

 

2. Насчет компактности кода Вы не правы. Одинаковый функционально код написанный на 51-м и на ARM имеет в ARM больший в 1,5 -- 2 раза размер. И если Вы такой крутой программер Вам это должно быть известно.

3. Это Вы совершенно не ориентируетесь в ценах.

 

А если сказать по-русски -- Вы болтун... :-))) К тому же хам...

Кто Вас пустил в модераторы этого форума мне непонятно. Жду извинений.... Я не злой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. 8 kB это для меня много. И это не обсуждаемо. Это условие вопроса по-умолчанию.

Когда кто-то чем-то не владеет, то сразу начинает для обороны выстраивать догмы "не обсуждаемо" и точка.

И если Вы такой крутой программер Вам это должно быть известно.

Именно по этой причине мне и известны встречающиеся в реальной жизни соотношения размеров кода прилично написанных программ. Если Вы хотите мне доказать, что сможете написать нечто через заднепроходное отверстие на ARM, то я Вам уже верю :( :( :(

3. Это Вы совершенно не ориентируетесь в ценах.

:) Остапа понесло.. Любуйтесь:

http://mt-system.ru/index.php?store_search=lpc236&id=5

Если Вы хотите доказать, что сможете постараться и купить где-то LPC2366 дороже чем LPC2364 на 200 а на 20 рублей, то я опять Вам верю :) и даже отговаривать не буду.

Жду извинений.... Я не злой.

А я от Вас не жду - по всему видно, что безнадежно :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда кто-то чем-то не владеет, то сразу начинает для обороны выстраивать догмы "не обсуждаемо" и точка.

 

Вам трудно это понять, в силу отсутствия опыта написания больших приложений, с выводом на графику и кучей интерфейсов. А диоды зажигать все умеют:-)))

 

Именно по этой причине мне и известны встречающиеся в реальной жизни соотношения размеров кода прилично написанных программ. Если Вы хотите мне доказать, что сможете написать нечто через заднепроходное отверстие на ARM, то я Вам уже верю :( :( :(

 

Просил же не хамить... :-)))

 

:) Остапа понесло.. Любуйтесь:

http://mt-system.ru/index.php?store_search=lpc236&id=5

 

 

 

Если Вы хотите доказать, что сможете постараться и купить где-то LPC2366 дороже чем LPC2364 на 200 а на 20 рублей, то я опять Вам верю :) и даже отговаривать не буду.

 

Процессоры покупаются при сборке в Китае и у них свои цены. Видимо сложности с поставкой следующих камней. И еще вы не осознаете насколько заказчик жадничает из-за каждого доллара удорожания. Удавиться просто готов. Планка себестоимости всего изделия с корпусом и накладными расходами не более 500-600 рублей. На элементы остается очень мало...

 

А я от Вас не жду - по всему видно, что безнадежно :(

Ну почему же? Извините если я Вас чем-то оскорбил...

 

Ладно... Что болтать -- работать надо. Все равно никто не ответит на мой вопрос. Зарекался же на форумы ходить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Любимые мои LPC чипы с цифирью кончающейся на 8 причем "картинок" во Flash у них нет. Посему своими "большими" приложениями можете гордится перед другими :).

Просил же не хамить... :-)))

Это констатация факта. Для ориентации в реалиях можете попробовать собрать чего-нибудь стандартное, например, попугаемер Dhrystone 2.1 под ARM и 51.

Процессоры покупаются при сборке в Китае и у них свои цены.

Видимо Вам стоит для начала сменить контрактного производителя, ибо разница в цене в разы по сравнению с его реальной, практически розничной, стоимостью ни в какие ворота не лезет.

Все равно никто не ответит на мой вопрос.

Уже ответил - овчинка, при сколь-нибудь нормальном комплексном подходе к делу (покупаем контоллеры по реальным ценам, аккуратно пишем программы) выделки не стоит :).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы предлагаете поставить процессор побольше? А Вы знаете насколько повышается стоимость изделия? Следующий в серии камень стоит в 3 раза дороже. Удорожание составляет примерно 180-200 руб. 200 *1000шт/мес*12=2 400 000 руб в год. А если выпуск больше? Нифига себе решение, да? Мне -то вроде бы все равно, а вот заказчик на такое не пойдет.

 

Арифметика у Вас какая-то жестокая. :( Только что проверил по прайс-листу. LPC2366 дороже LPC2364 в 1.196 раза. А запись во флеш не раскрываем по двум причинам:

- совместимость.

- патентованный МАМ модуль.

 

13. NXP сама не разрабатывает. Или покупает лицензию или заказывает где-то. Поэтому маловероятно, что изменится механизм программирования.

Так было с 8-битными. Вернее не совсем так, но с привлечением 3-й компании. С АРМ NXP всё разрабатывает сам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Арифметика у Вас какая-то жестокая. :( Только что проверил по прайс-листу. LPC2366 дороже LPC2364 в 1.196 раза. А запись во флеш не раскрываем по двум причинам:

- совместимость.

- патентованный МАМ модуль.

Так было с 8-битными. Вернее не совсем так, но с привлечением 3-й компании. С АРМ NXP всё разрабатывает сам.

Спасибо, за наиболее полный ответ.

А насчет цен ошибочка вышла -- при производстве в Китае 2366 стоит около 160 руб.

 

Я так понял Вы имеете какое-то отношение к NXP. ("не раскрываем"). Всвязи с этим вопрос.

По даташиту в LPC boot располагается в верхних адресах флэш.

От одного человека слышал, что на последних сериях камней boot находится совсем в другом месте(???) и не занимает флэш пользователя. То есть , например, в 2364 практически все 128 кБ свободны для программ пользователя. Верно ли это?

 

--- zltigo, обрати внимание на человека умеющего общаться без хамства и гипертрофированного самомнения...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А насчет цен ошибочка вышла...

Угу.. Только просьба перечитать свои посты и дать оценку апломбу с которым Вы пытались рассказывать о ценах. Да и обовсем остальном :( тоже...

От одного человека слышал, что на последних сериях камней boot находится совсем в другом месте(???) и не занимает флэш пользователя...

Для этого не надо слушать "человеков", нужно просто читать документацию - у всех, кроме 512K моделей вся Flash доступна пользователю. Только у 512K от 8 до 12K занимает загрузчик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я Вам больше скажу, lpc2364/66/68 - это один и тот же кристалл.

NXP не заморачивается изготовлением трех процессоров. Реально выпускается один и только в последнем цикле часть функций блокируется.

Отсюда следует, что себестоимость у них одинаковая. Различия в цене - чисто маркетинговый ход.

 

Поэтому на больших количествах цена на 64 и на 68 будет практически одинаковой.

 

Насчет того что лень копаться в дизассемблере - а как в таком случае Вы собираетесь написать реальный загрузчик? В отличии от Вас китайцам очень хорошо знакома IDA и если Ваше изделие их заинтересует, то они все равно его скопируют.

 

забыл сказать - 2366 в диджикее при количестве 5000 штук стоит 5,795 USD.

 

если в Китае есть хоть один проект с его использованием в нормальных объемах, т о там он стоит 3-4 доллара.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я кажется почти все написал...

Серийные номера сообщаются мне, по ним генерятся ключи, отсылаются и прошиваются в EEPROM для снятия ограничений в работе на объекте. Рассылкой ключей занимается майлробот - получает письмо с разовым ключем (256 символов) на генерацию и серийником и высылает в ответ письмо с сгенерированным ключем под присланный серийный номер. Разовый ключ вычеркивается из списка действующих, в лог файл заносится факт использования, серийный номер, сгенерированный ключ и кто запросил серийник.

Вот тут и начинаются мелкие нюансы. Чтоб пересылать мне номера ключей, у производителя должна быть прошивка, которая могла бы их читать. А еще лучше, могла бы выполнять ограниченый набор функций (для проверки работоспособности изделия перед продажей). Если ограничения в работе на объекте зависят от выданых ключей, значит у производителя есть вся прошивка (без ключей работающая в ограниченном режиме и не шифрованная), которую он волен запустить в дизасемблере под отладчиком, обнаружить затычку (или несколько) и заблокировать ее (в простейшем случае заменой условного перехода на безусловный). Все будет зависеть от квалификации ломателя. Поэтому, выдавать нешифрованную прошивку смысла нет. Но чтоб можно было пользоваться шифрованной прошивкой в проц нужно загрузить бутлоадер с дешифрователем. А как это сделать? Снова речь идет о выдаче открытого hex-а с алгоритмом дешифровки (пусть даже он привязан к серийнику). А это просто еще одна ступенька в лестнице к взлому, не более того.

Не хотелось бы орентироваться на защиту через незнание, все тайное когдато станет явным (вспомните MIFARE), а хотелось бы придумать такой алгоритм, где суть алгоритма известна, но все же вскрыть его сложно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хотелось бы придумать такой алгоритм, где суть алгоритма известна, но все же вскрыть его сложно.

 

Тогда "враги" поставят "симулятор серийника" :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Угу.. Только просьба перечитать свои посты и дать оценку апломбу с которым Вы пытались рассказывать о ценах. Да и обовсем остальном :( тоже...

 

Для этого не надо слушать "человеков", нужно просто читать документацию - у всех, кроме 512K моделей вся Flash доступна пользователю. Только у 512K от 8 до 12K занимает загрузчик.

 

Я тебе не очень верю,а в документации я не нашел. Возможно я что-то пропустил? Может быть приведешь название документа и номер страницы?

Ты меня уж совсем загрыз... Тебе это зачем надо? Чтобы почувствовать себя что-то из себя представляющим разработчиком? А треп насчет камней с восьмерками в конце -- возможно просто треп. Назови свое изделие которое выпускается партией более 500 шт. в месяц. Хотелось бы глянуть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда "враги" поставят "симулятор серийника" :)

Кстати-да! кто мешает поставить эмулятор датчика с зашитым в него "уникальным" серийником?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в документации я не нашел. Возможно я что-то пропустил?

 

UM10211 (user.manual.lpc23xx.pdf)

Chapter 29: LPC2300 Flash memory

страница 591 of 600

 

Because of the boot block, the amount of flash available for user code and data is 504 K bytes in "512K" devices.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...