Говорят, что умные люди не всегда финишируют первыми. В университете я помню, как некоторые однокурсники копировали мои работы, а затем получали лучшие оценки, чем я. Быть умным не гарантировало мне лучшие оценки в колледже, и наблюдение за тем, как другие добиваются успеха на основе моих идей, становилось удручающим.
Бизнес-мир похож; не редкость, когда компании копируют концепции, которые хорошо работают у их конкурентов, и используют их для доминирования на рынке. Хотя с этической точки зрения это спорно, подделка дизайнов на самом деле довольно распространена. Как инженер-конструктор, моя задача - сделать подделку моего дизайна как можно более сложной.
Не покрывая всю печатную плату эпоксидной смолой, я пробовал все возможные уловки. Это включает использование уникального ID EEPROM (электрически стираемой программируемой постоянной памяти), чтобы сделать невозможным создание точной копии моего аппаратного обеспечения и его функционирование. Включив уникальный ID EEPROM в вашу встроенную систему, вы тоже можете подготовиться к худшему сценарию и предотвратить подделку дизайна.
EEPROM — это тип неизменяемой памяти, который полезен для хранения небольших объемов данных. Обычно он подключается к микроконтроллеру через Inter-Integrated Circuit (I2C) или Serial Peripheral Interface (SPI). EEPROM существует на электронной арене уже десятилетия и используется для хранения таких параметров, как значения конфигурации.
EEPROM с уникальным идентификатором — это EEPROM, который содержит нестираемый ID. Длина уникального идентификатора варьируется от 32-бит до 128-бит в зависимости от производителя. Теоретически, нет реалистичной возможности, что два EEPROM будут иметь одинаковый ID. Это похоже на концепцию уникального Media Access Control (MAC) адреса для ваших устройств, подключенных к интернету.
В полностью незащищенной встроенной системе подделанные модели могут быть легко созданы путем реверс-инжиниринга печатной платы и извлечения прошивки из микроконтроллера. Конечно, даже с включенными функциями защиты кода, дублирование прошивки все еще может быть возможным, хотя и более сложным.
Включение в вашу конструкцию EEPROM с уникальным идентификатором и реализация процедур проверки в прошивке помогает предотвратить массовое подделывание. Вот как я реализую это в моих встроенных системах:
Создайте простую прошивку, которая считывает уникальный идентификатор из EEPROM и сохраняет его в файл на SD-карте. Эта прошивка предназначена только для извлечения уникального идентификатора и будет перезаписана фактической прикладной прошивкой позже.
Проверьте соответствие уникальному идентификатору, чтобы предотвратить загрузку поддельных программ.
Затем создайте специальную функцию в прикладной прошивке для извлечения уникального идентификатора из файла и записи значения во внутреннюю флэш-память микроконтроллера. После безопасного хранения микроконтроллер должен удалить сохраненный файл на SD-карте.
В фактической прикладной прошивке создайте функцию, которая проверяет уникальный идентификатор EEPROM на печатной плате с зашифрованным идентификатором EEPROM во флэш-памяти микроконтроллера. Это позволяет функционировать только скомпилированной прошивке с правильным зашифрованным уникальным идентификатором на конкретной печатной плате.
Как и в любом дизайне, безопасность и удобство всегда находятся на противоположных концах спектра. Жизнеспособность вашего метода защиты от подделок зависит от характера ваших приложений и предполагаемого влияния подделок на ваш бизнес.
Очевидное преимущество проверки уникального идентификатора заключается в том, что вашу встроенную систему нельзя подделать оптом. Даже если прошивка будет извлечена, её внедрение в несколько печатных плат не приведет к работоспособности любого из устройств. Не считая возможности самоуничтожения микроконтроллера, это самая надежная мера защиты, которую я когда-либо внедрял.
Недостатком этого метода является то, что производство будет значительно медленнее, поскольку это включает в себя загрузку прошивки для извлечения уникального идентификатора и использование SD-карты. После сохранения уникального идентификатора производственному технику необходимо будет внедрить прикладную прошивку. Кроме того, EEPROM с уникальным идентификатором обычно стоят дороже их обычных аналогов.
Ожидайте длительный, но надежный процесс внедрения прошивки.
Если последствия подделки являются серьезной проблемой для вашего бизнеса, размещение уникального ID EEPROM является лучшим способом защиты вашего дизайна. Это легко настроить с помощью универсального программного обеспечения для проектирования печатных плат, такого как Altium Designer®. Если уникальный ID EEPROM не доступен в интегрированном виде, вы можете легко создать его, используя стандартный футпринт.
Вам нужны дополнительные советы по защите вашего дизайна встроенных систем от подделки?