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

Защита от клонирования и перепрошивки.

Советую вам разобраться как работает лицензирование.

Грубо:

Программа расшифровывает конфигурацию аппликации или проекта публичным ключом. В конфигурации указан срок действия лицензии. Много можно чего напридумывать.

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


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

Задался вопросом, как защитить свое устройство на базе линукса на не секюрном процессоре с внешней SPI флешкой.аря по цифровой подписи, но лучше чем ничего.

...

У кого какие мысли?

Мысль такая, что юные дарования валом "задавались вопросом" как защитить их "гениальные творения" :santa2: ещё со времён раннего MS-DOS.

Вы находитесь в разделе Linux, и в мире Linux, который является, вообще-то говоря open+free, где действуют GPL-лицензии в разных вариантах, которые, кстати, предписывают и что вы со своим "гениальным творением" имеете право делать, а чего нет ... раз уж вы опираетесь на Linux ... да ещё и на другие GNU инструменты.

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


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

Мысль такая, что юные дарования валом "задавались вопросом" как защитить их "гениальные творения" :santa2: ещё со времён раннего MS-DOS.

Вы находитесь в разделе Linux, и в мире Linux, который является, вообще-то говоря open+free, где действуют GPL-лицензии в разных вариантах, которые, кстати, предписывают и что вы со своим "гениальным творением" имеете право делать, а чего нет ... раз уж вы опираетесь на Linux ... да ещё и на другие GNU инструменты.

У Вас по ходу инженерные мысли отсутствуют, а отметиться в этой ветке заходелось :biggrin:

 

Отвечу сам себе может кому-то пригодится.

Если в проца нет секюрного загрузчика то на 100% защититься от перепрошивки кастомными прошивками не получится. Есть чипы ATECC608A, ATSHA204.. отличное решение если конечно secure boot обеспечивает запуск u-boot к примеру в котором реализован драйвер этих чипов. Тогда вы можете проверить цифровую подпись линукса открытыми ключами которые будут хратиться в чипах упомянутых выше. Но без secure boot злоумышленник может просто заменить ваш u-boot своим и наплевав на цифровую подпись загрузить линукс напрямую.

Чтобы хоть как-то усложнить взлом, Ambarella и Atmel тоже рекомендуют загрузчик прописывать в OTP сектор в NAND либо лочить его от перезаписи.

http://ww1.microchip.com/downloads/en/AppNotes/doc8753.pdf

Но такую защиту можно обойти: снять дамп с оригинальной флеши, перепаять на новую заменив при этом u-boot.

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


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

У Вас по ходу инженерные мысли отсутствуют, а отметиться в этой ветке заходелось :biggrin:

 

Отвечу сам себе может кому-то пригодится.

Если в проца нет секюрного загрузчика то на 100% защититься от перепрошивки кастомными прошивками не получится. Есть чипы ATECC608A, ATSHA204.. отличное решение если конечно secure boot обеспечивает запуск u-boot к примеру в котором реализован драйвер этих чипов. Тогда вы можете проверить цифровую подпись линукса открытыми ключами которые будут хратиться в чипах упомянутых выше. Но без secure boot злоумышленник может просто заменить ваш u-boot своим и наплевав на цифровую подпись загрузить линукс напрямую.

Чтобы хоть как-то усложнить взлом, Ambarella и Atmel тоже рекомендуют загрузчик прописывать в OTP сектор в NAND либо лочить его от перезаписи.

http://ww1.microchip.com/downloads/en/AppNotes/doc8753.pdf

Но такую защиту можно обойти: снять дамп с оригинальной флеши, перепаять на новую заменив при этом u-boot.

 

Вы бы полегче. У Olej вообще-то несколько книг с блестящими инженерными мыслями. Нa сайте IBM его книги тоже есть.

https://www.ibm.com/developerworks/ru/libra...l_01/index.html

https://www.ibm.com/developerworks/ru/libra...s_02/index.html

 

И еще много.

 

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


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

А как же стильный, модный, молодежный способ - перенести часть функционала в облако?

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


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

Вы бы полегче. У Olej вообще-то несколько книг с блестящими инженерными мыслями. Нa сайте IBM его книги тоже есть.

https://www.ibm.com/developerworks/ru/libra...l_01/index.html

https://www.ibm.com/developerworks/ru/libra...s_02/index.html

 

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

 

А как же стильный, модный, молодежный способ - перенести часть функционала в облако?

У меня облако тоже есть. Но это не значит что это лечение от всего. ;)

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


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

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

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


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

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

 

Человек высказал отношение к вопросу сообщества Open Source и GNU лицензии. Это жизненная позиция.

Хотя самый цирк начинается. Микрософт купил Github.

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


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

Подыму старую тему.

Возникла похожая потребность защитить девай на основе чипа с OpenWRT(по сути встраиваемый Linux). Основная часть прошивки будет крутится на контроллере СТМ, линуксовая часть будет занята лишь установкой сетевых подключений и их раутингом, "секретного кода" в этой части не предполагается, разве что вебморда, но это не критично. И что бы не нарушать ГНУ лицензию, можно все это выложить на офф. сайте. Проблема заключается в секюрном хранении пароля доступа к серверу и логина, а так же ключа шифрования данных (SSL). У кого будут какие идеи по реализации? Заранее предположим, что хардварная защита СТМ32 не поддается взлому(опять же будем просто считать это звено не взламываемым, т.е. самым надежным в этой цепи.)

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


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

Повторюсь.. Лучше всего юзать более современный и дорогой процессор с secure-boot. Обычно в них есть внутри защищенная память для хранения ключей и процей приватной инфы.

Если это обычный проц с линуксом на борту, то я бы хранил ключи и пароли на STM32. Но обмен по шине лучше зашифровать. Хэш для шифрования трафика можно сгенерить на основе уникального серийника в STM32.

На этапе производства линукс вычитает хеш, зашифрует захардкодженым ключем и бросит на ФС. Константный ключ можно спрятать в статическом модуле ядра и вычитывать его с /proc. Таким образом спрятать концы в воду. Можно поставить готовое решение типа ATECC608A от Atmel. Но имхо тоже самое вы можете на STM32 програмно соорудить если цена критична.

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


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

К сожалению доступных контроллеров(до 15$ при покупке 100шт с учетом стоимости флеш+озу) с поддержкой linux, wifi, lan+wan, usb не так и много, а с возможностью secure boot я вовсе не смог найти. Предполагаю использовать один из вариантов готовых модулей на MTK7688. Может я чего проглядел? Подскажите.

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


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

12 hours ago, Neo_Matrix said:

К сожалению доступных контроллеров(до 15$ при покупке 100шт с учетом стоимости флеш+озу) с поддержкой linux, wifi, lan+wan, usb не так и много, а с возможностью secure boot я вовсе не смог найти. Предполагаю использовать один из вариантов готовых модулей на MTK7688. Может я чего проглядел? Подскажите.


Серия процессоров imx - в свободном доступе инструменты и документация для secure boot

https://www.nxp.com/docs/en/application-note/AN4581.pdf

 

OP-TEE

https://source.codeaurora.org/external/imx/imx-optee-os/?h=OP-TEE/coverity_scan

Это наверно единственный доступный вариант.

 

Обратите внимание на imx7 и imx6sx - у них есть ядро cortex-m4f вместе с линуксовыми ядрами cortex-a, так что stm можно выкинуть.

Изменено пользователем sasamy

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


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

iMX6ULL посмотрите. В него есть секюрити, но надо подписывать NDA чтоб доки получить.

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


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

Спасибо за предложенные варианты,  но они выглядят монстроузорно на фоне необходимого мне функционала, да и стоимость получается космической, посчитайте к цене проца стоимость RAM+FLASH+PHY и в случае модуля еще и дорогой разъем формата SO-DIMM, а иначе BGA монтаж, который тоже не дешево стоит. По сути искал плату, которая в себе включала бы возможности дешевого роутера, с максимальным количеством сетевых интерфейсов(wifi+lan+wan(2 сетевых) и желательно USB), вполне могла даже подойти ESP32 но у нее 1-сетевой интерфейс и к ней мало доверия(8266 - повлияла) + более сложная разработка сетевых протоколов. Основная часть софта уже давно написана и функционирует на СТМ32, не хватает только портов для передачи инфы в сеть. Аппаратной защиты прошивки СТМа вполне достаточно, если считать ее недостаточно надежной, то можно еще долго делать идеальную защиту вложив в это кучу денег, но в таком случае проект станет уже нерентабельным. На данный момент вопрос в скрытии логина\пароля\сертификата для подключения к серверу. Пытался понять как реализовать защиту вышеперечисленными методами, но так и не понял, как можно безопасно передать эту инфу от СТМ в линукс, через внешний порт(который можно соснифить, а флешку с линуксом за несколько минуть выпаять и закинуть на программатор. Дальше за несколько дней найти все пассворды...).

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


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

1 hour ago, Neo_Matrix said:

На данный момент вопрос в скрытии логина\пароля\сертификата для подключения к серверу. Пытался понять как реализовать защиту вышеперечисленными методами, но так и не понял, как можно безопасно передать эту инфу от СТМ в линукс, через внешний порт(который можно соснифить, а флешку с линуксом за несколько минуть выпаять и закинуть на программатор. Дальше за несколько дней найти все пассворды...).

 

Вопрос больше в том что вы осилите на стм сделать - какой протокол для безопасной передачи и насколько прогрессирует паранойя а то от снифера внешней памяти SDRAM вообще не скрыться. Можно блеклистить логин/пароль/сертификат на сервере в случае подозрения на копию и приязывать ПО к серийнику процессора с Linux и к стм.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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