2009-02-26 3 views
4

Как правило, я хотел бы сделать это, поместив что-то уникальное и случайное в изображение ПЗУ и использовать его как семя для шифрования содержимого EEPROM, чтобы остановить извлечение и перепрограммирование после мода.Защита данных EEPROM от модификации

Очевидным недостатком, по-видимому, является то, что это не мешает вмешательству в замену внешнего чипа EEPROM пустым ... oh look back to first time used state, позволяет запросить ключи для сохранения!


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

Я искал мнения о возможных решениях для предотвращения фальсификации состояния девственницы (первого запуска), поскольку это позволило бы функциональности сохранять конфиденциальные данные и разблокировать устройство.

Я уверен, что блочный шифр (режим ECB) достаточен для защиты конфиденциальных данных, возможно, сверху! Такой подход наряду с несколькими копиями, засовывая один, а не другой, должен сделать его финансово неуместным для размещения денег и времени, чтобы противостоять этим мерам.

+0

Прочитайте 'Dooled by Randomness', и вы узнаете, насколько случайным является то, что вы считаете« случайным »:) – dirkgently

+0

Я считал квалификацию своего« случайного », но считал это ненужным, но, похоже, мне это показалось. Я взгляну на эту рекомендацию, я обязательно найду что-то интересное. Но я полностью осознаю, что представляет собой случайное и RANDOM в шифровании. – Oliver

ответ

5

Некоторые мысли: если под обеспечение от модификации "вы имеете в виду, что вы можете обнаружить такие фальсификации, то вы можете

  1. генерировать контрольную сумму по всей ЭСППЗУ, только запустить приложение, если контрольная сумма в порядке
  2. используйте дополнительный чип, который предоставляет уникальный номер, используйте этот номер для шифрования содержимого eeprom.
  3. сохраните всю вашу информацию в нескольких местах в eeprom (два раза, если вы хотите только обнаружить изменение, три раза, если вы хотите обнаружить и отклонить измененное значение и использовать «все еще правильные» значения)

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

3

Поверните стержень для стирания и эпоксидный чехол на чипе на доске? Использовать ПРОМ?

Если вы не хотите, чтобы изображение было изменено, сделайте невозможным его изменение.

2

Если аппаратные меры из , и вы застряли в программном подходе, и то, что читает EEPROM, может обрабатывать public-key algorithms, тогда вы могли бы использовать подписанный с открытым ключом блок данных в EEPROM (берут данные EEPROM, предшествующие ему фиксированным блоком, содержащим длина данных и безопасный хэш данных, которые были зашифрованы с помощью закрытого ключа).

Для этого требуется, чтобы содержимое EEPROM использовалось для проверки его с помощью соответствующего открытого ключа (очевидно, не помещайте это в один и тот же eeprom). Алгоритмы с открытым ключом являются вычислительно дорогостоящими, поэтому немного сложно обосновать этот подход для микроконтроллеров.


Если вы не можете остановить людей от несанкционированного доступа с помощью аппаратных средств, но вы можете выбрать, какие аппаратные средства вы используете, вы можете также использовать безопасный EEPROM, например, Maxim DS28CN01 (хотя я должен признать, что я ненавижу Максим так как их части дорогие и имеют длительные сроки и часто являются амортизаторами, пока достаточное количество людей не закажет для их изготовления свои части) или Atmel's AT88SC series.

+1

все в порядке, mr. -1, возможно, вы могли бы прокомментировать свое мнение? –

Смежные вопросы