Обычно я хотел бы сделать это, поместив что-то уникальное и случайное в образ ПЗУ, и использовать это в качестве начального числа для шифрования содержимого ЭСППЗУ, чтобы остановить извлечение и перепрограммировать после модификации изображения.
Очевидным недостатком является то, что это не останавливает попытки подмены в виде замены внешнего чипа EEPROM на пустой ... о, вернемся к первому использованному состоянию, давайте запросим ключи для сохранения!
Выбор компонентов для меня не вариант, аппаратная платформа уже определена. ЭСППЗУ программируется в течение срока службы устройства как изменение конфигурации и состояния, поэтому отключение линии стирания также не требуется.
Я искал мнения о возможных решениях для предотвращения подделки первичного состояния (первого запуска), поскольку это позволило бы функциональности сохранять конфиденциальные данные и разблокировать устройство.
Я уверен, что блочного шифра (режим ECB) достаточно для защиты конфиденциальных данных, возможно, чрезмерно! Этот подход, наряду с множеством копий, засорением одного, а не другого, делает финансово невыгодным размещение денег и времени для противодействия этим мерам.