KSN 0 11 июля, 2015 Опубликовано 11 июля, 2015 · Жалоба Сорри, упустил из виду, что тут такие дебаты. По MCU: использую stm32f103R(V)BT6, STM32F205RB(V)T6, STM32F429(буквы не помню). Стандартно под загрузчик отдаю первые 1-3- страницы по 1кБайту или 1 по 16кБайт. Загрузчик залочен. Обновление прошивки производится по CAN. Мысль бродит, как так сделать, чтобы заказчик сам прошивал свои МК с помощью встроенного бутлодера, но чтобы самая первая передаваемая ему прошивка была зашифрована и не могла ни дешифроваться, ни зашита в МК с помощью программатора и т.д.(чтобы кристаллы не возить туда-обратно, заказчик сам купил кристаллы и сам прошил) Но видимо, без первого программирования залоченого бутлодера с помощью программатора никак. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 3 11 июля, 2015 Опубликовано 11 июля, 2015 · Жалоба Можно через ж..у сделать конечно, например используя серийник чипа, как ключ. Но тогда нужно заказчика просить считать эти номера с камней и прислать вам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KSN 0 11 июля, 2015 Опубликовано 11 июля, 2015 · Жалоба Можно через ж..у сделать конечно, например используя серийник чипа, как ключ. Но тогда нужно заказчика просить считать эти номера с камней и прислать вам. Прислали мне серийник камня. И...? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 35 11 июля, 2015 Опубликовано 11 июля, 2015 · Жалоба (чтобы кристаллы не возить туда-обратно, закачки сам купил кристаллы и сам прошил) Но видимо, без первого программирования залоченого бутлодера с помощью программатора никак. Можно дать заказчику открытый бутлоадер и набор открытых ключей, по одному на каждое устройство. Заказчик шьет бутлоадер и прошивает по одному ключу в каждое устройство. После этого получает зашифрованную прошивку для каждого экземпляра. Это не мешает наделать клонов, но клоны не должны сосуществовать в одной сети CAN. Как вариант- каждый бутлоадер генерит новый ключ при первом запуске, случайным образом, заказчик считывает эти ключи и высылает производителю. Производитель с помощью этих ключей шифрует прошивки. В этом случае производитель точно знает число устройств у заказчика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KSN 0 11 июля, 2015 Опубликовано 11 июля, 2015 · Жалоба to khach, знать количество устройств очень полезно, но есть некоторые замечания: 1. Как только в руки заказчика попадает открытый загрузчик, то ничто ему не мешает дизассемблировать его. 2. Если шифруем прошивку открытым ключом, то пп1 и получаем доступную прошивку. 3. Сгенерировать новый ключ не так просто. Старшие семейства MCU имеют аппаратный RNG, младшие - нет, прийдется изголяться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 11 июля, 2015 Опубликовано 11 июля, 2015 · Жалоба стабилитрон с резистором и ацп Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fedor 0 11 июля, 2015 Опубликовано 11 июля, 2015 (изменено) · Жалоба Как вариант на том же STM сделать свой программатор и шить по SWD В программатор поставить BGA корпус, SWD проложить на внутреннем слое Прошивку расшифровывать залоченным ключем в этом программаторе. Т.е. приложили в посадочное место камень прошились, потом припаяли. Или если нет опасений что просканят SWD шить уже припаянным, или если могут просканить шить бутлодер и зашифрованную часть, ключ передавать в мусорной куче байтов чтобы не нашли сканером. Изменено 11 июля, 2015 пользователем Fedor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 11 июля, 2015 Опубликовано 11 июля, 2015 · Жалоба поставьте панельку или научите заказчика паять Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться