Utilice EEPROM con ID Único en Su Sistema Embebido para Prevenir la Falsificación de Diseños

Creado: Mayo 4, 2018
Actualizado: Deciembre 17, 2020

Fingerprint at the center of circuits on a board

Hay un dicho que menciona que las personas inteligentes no siempre terminan la carrera primero. En la universidad, recuerdo que algunos compañeros copiaban mis tareas, solo para terminar obteniendo mejores calificaciones que yo. Ser inteligente no necesariamente me garantizaba las mejores notas en la universidad y ver a otros alcanzar el éxito basado en mis ideas se volvía desmoralizador.

El mundo empresarial es similar; no es raro que las empresas copien conceptos que funcionan bien para sus competidores y los usen para dominar el mercado. Aunque éticamente cuestionable, los diseños falsificados son bastante comunes. Como ingeniero de diseño, es mi trabajo hacer que falsificar mi diseño sea lo más difícil posible.

Salvo por cubrir toda la PCB con epoxi, he intentado todos los trucos posibles. Esto incluye usar EEPROM de ID única (memoria de solo lectura programable y borrable eléctricamente) para hacer imposible duplicar una copia exacta de mi hardware y hacerlo operativo. Al incluir EEPROM de ID única en tu sistema embebido, tú también puedes prepararte para el peor de los casos y prevenir la falsificación de diseño.

¿Qué es una EEPROM de ID única?

Una EEPROM es un tipo de memoria no volátil que es útil para almacenar pequeñas cantidades de datos. Por lo general, se conecta a un microcontrolador a través de Circuito Inter-Integrado (I2C) o Interfaz Periférica Serial (SPI). La EEPROM ha estado presente en el escenario electrónico durante décadas y se utiliza para almacenar parámetros como valores de configuración.

Una EEPROM de ID Único es una EEPROM que lleva una ID no borrable. La longitud de la ID Única varía de 32 bits a 128 bits, dependiendo del fabricante. Teóricamente, no hay posibilidad realista de que dos EEPROM compartan la misma ID. Esto es similar al concepto de una dirección única de Control de Acceso al Medio (MAC) para tus dispositivos capaces de conectarse a internet.

Usar una EEPROM de ID Único para Prevenir la Falsificación

En un sistema embebido totalmente desprotegido, los modelos falsificados pueden crearse fácilmente mediante la ingeniería inversa del PCB y la extracción del firmware del microcontrolador. Por supuesto, incluso con las características de protección de código activadas, duplicar el firmware todavía puede ser posible, aunque más desafiante.

Incluir una EEPROM de ID Único en tu diseño e implementar procedimientos de verificación en el firmware ayuda a prevenir la falsificación en masa. Así es como lo implemento en mis sistemas embebidos:

1. Crear un Firmware Lector de ID Único

Cree un firmware sencillo que lea el ID único desde la EEPROM y lo guarde en un archivo dentro de una tarjeta SD. Este firmware solo está programado para recuperar el ID único y será sobrescrito por el firmware de la aplicación real más tarde.

Fingerprint embedded as routing

Verificar contra el ID Único para prevenir la carga de programas falsificados.

2. Codificar Duro el ID Único en el Firmware de la Aplicación

Luego, cree una función especial en el firmware de la aplicación para extraer el ID único del archivo y escribir el valor en la memoria Flash interna del microcontrolador. El microcontrolador entonces necesita eliminar el archivo guardado en la tarjeta SD, después de almacenarlo de manera segura.

3. Implementar la Verificación del ID de EEPROM en el Firmware de la Aplicación Real

En el firmware de la aplicación real, cree una función que verifique el ID único de la EEPROM en el PCB con un ID de EEPROM codificado duro en la memoria Flash del microcontrolador. Esto permite que solo el firmware compilado con el ID único codificado duro correcto funcione en un PCB particular.

Pros y Contras del Método de Protección de ID Único de EEPROM

Como en cualquier diseño, la seguridad y la comodidad siempre están en extremos opuestos del espectro. La viabilidad de tu método de protección contra falsificaciones depende de la naturaleza de tus aplicaciones y del impacto proyectado de la falsificación en tu negocio.

La ventaja obvia de la verificación de ID única es que tu sistema embebido no puede ser falsificado en masa. Incluso si se extrae el firmware, inyectarlo en múltiples PCBs no hará que ninguno de los dispositivos se vuelva operativo. Salvo que se consiga que el microcontrolador se autodestruya, esta es la medida de protección más segura que he implementado.

La desventaja de este método es que la producción será un proceso mucho más lento, ya que esto implica descargar firmware de extracción de ID única y usar una tarjeta SD. Después de guardar el ID único, el técnico de producción necesitaría inyectar el firmware de la aplicación. Además, los EEPROMs de ID única generalmente son más caros que sus contrapartes regulares.

Engineer is connecting microchip to microcontroller with the help of usb cable

Espera un proceso largo pero seguro de inyección de firmware.

Si las consecuencias de la falsificación son una gran preocupación para su negocio, colocar un EEPROM con ID único es la mejor manera de proteger su diseño. Esto es simple de configurar usando un software de diseño de PCB versátil como Altium Designer®. Si un EEPROM con ID único no está disponible de manera integrada, puede crear fácilmente uno usando un footprint estándar.

¿Necesita más consejos sobre cómo proteger su diseño de sistemas embebidos contra la falsificación?

Hable con un experto en Altium.

Recursos Relacionados

Documentación técnica relacionada

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.