ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
438278
fk0, легенда (03.09.2013 15:58 - 16:01, просмотров: 3891)
Для Evgeny_CD на заметку. О защите от воровства. В другой теме на электрониксе дали ссылку . Здесь я тоже задавался подобным вопросом . Ссылка не отвечает на вопросы из темы на электроникса, а в данном случае очень даже в тему. Я раньше задавался уже подобным вопросом, защиты ПО от копирования, здесь (а некоторые давно пугают ). Напрашивается очевидный вариант , но с очевидным же недостатком . Ссылка данная на электрониксе собственно ответ, как сделать не копируемый идентификатор. Или можно применить мелкий контроллер важно, чтоб не считываемый хранящий нужную криптографическую функцию и ключи. Т.е. идея в том, что прошивка в большом контроллере привязана не к статическому коду (EEPROM), а к функции вычисляемой в мелком контроллере. Код зависит от значения (случайного) сгенерированного большим контроллером и секретного ключа известного мелкому контроллеру. Ключ в открытом виде не передаётся, только результат вычисления хеш функции, т.е. сделать копию ЕЕПРОМ ключа на пик-контроллере нельзя (если мелкий контроллер не копируется или применена спец. EEPROM ссылка на которую). Есть, конечно, мнения, что дескать вот . Но думаю, тут слишком много самоуверенности. Это пол-дня работы (а реально неделя...) для мелких контроллеров и время может устремиться к бесконечности даже для большой команды "реверс-инженеринга" в случае не типовых средств программирования большого МК (собственный интерпретатор scheme и программа на нём же, например). Есть ещё такая тема . Думаю весьма интересная, для приборов работающих из RAM и/или хранящих в RAM критичные данные. Тот же описанный выше вариант с мелким контроллером подвержен coldboot атаке, если хранит ключи в RAM в процессе работы. Даже замораживать не нужно. Сбросили, перешили своей прошивкой, считали RAM. Это кстати о (не)надёжности защиты кода для любых практически МК, где вариант загрузки в RAM из внешней flash, какая бы там криптография не была. Данные считываются из RAM почти всегда, т.к. нет функции обнуления RAM.
[ZX]