¿Se puede eliminar EEPROM u otro almacenamiento para microcontroladores?

1

¿Existe el almacenamiento permanente de EEPROM?

Los datos escritos deben ser ineludibles.

Una vez escrito, debería estar allí siempre que el chip no esté destruido o dañado.

Cualquier otra alternativa a EEPROM son bienvenidas.

Yo uso unidades de DVD para PC. Pero necesito un chip o sistema similar para los microcontroladores.

Importante: no quiero que esto se implemente en el software de mi microcontrolador mediante un código personalizado. El chip o el IC o el sistema deben tener eso por defecto.

Enlace en Security.SE:

enlace

    
pregunta Wally

5 respuestas

5

Sí: lo que está buscando existe, al menos para tamaños pequeños. Si bien la mayoría de las EPROM OTP son dispositivos paralelos diseñados para ser "grabados" en un hardware de programación EPROM dedicado, Maxim hace exactamente la parte que busca en la forma de DS2505 - 16kbits de OTP EPROM programable en el sistema, con un número de serie único incluido en el chip que también se puede usar para impedir ataques de reemplazo de chips.

Necesitará un poquito de circuitos de unidad, así como algunos códigos de bit banging para hablar 1-Wire, ya que el DS2505 requiere que su pulso Vpp se transmita a la interfaz de 1-Wire junto con la potencia y los datos normales. / p>     

respondido por el ThreePhaseEel
2

Uno de tus comentarios sugiere que debe ser resistente a un 'ataque interno'. Lo que será difícil.

¿Qué es lo que realmente quieres lograr?

a) ¿Acceso 100% confiable a sus datos? Si es así, un ataque de denegación de servicio, daño a los datos o al chip sería una pérdida para usted.

b) Confianza 100% confiable en la veracidad de sus datos, ¿por lo tanto, sin alteración sin detección? Como menciona datos válidos hasta que se dañan en su OP, esto podría ser suficiente, dependiendo de si 'destruido' significa el chip físico (o el sistema en el que está integrado) o los datos que contiene.

Si a) entonces tiene un problema insuperable si el atacante tiene acceso físico al sistema. Si puede cambiar el chip, o el sistema, o golpearlo con un martillo, realmente todas las apuestas están cerradas si tiene acceso.

Si b) entonces no necesitas ningún control físico. Una suma de comprobación criptográfica suficientemente sólida almacenada con los datos le dirá si se ha alterado de alguna manera desde que se escribió.

Por lo tanto, los bits OTP y de escritura no son necesarios (para b) ni suficientes (para a). Asegúrese de elegir una solución que se adapte a sus necesidades reales y entienda lo que realmente necesita.

    
respondido por el Neil_UK
1

Sí, se llama ROM, solo lectura. Una ROM programable por única vez (OTP) es lo que desea. Alternativamente, una EEPROM con un pin de protección de escritura o habilitación de escritura que puede vincular a VCC o GND para evitar la reescritura. Es una solución inferior al 100%, si tiene acceso físico, aunque luego podría verter epoxi o compuesto para macetas sobre la EEPROM para hacer que sea realmente difícil habilitar la escritura.     

respondido por el Passerby
1

Otras personas le han pedido que cubra sus reglas básicas, por lo que sabemos que todo lo que se ponga puede dañarse o eliminarse si el agresor tiene acceso a los componentes.

No sé cuántos datos de ROM necesitas. Pero mirando lo que puede ser programable por usted y luego manténgase a prueba de manipulaciones, sugeriría usar un FPGA Lattice iCE40 como un iCE40LP1K. Contiene la configuración de OTP de Flash, por lo que solo usted puede programarlo, pero nadie puede leerlo o reprogramarlo.

Según la p6 de la Programación y configuración del iCE40 de Lattice TN1248:

"Los contenidos NVCM están completamente contenidos dentro del dispositivo iCE40 y no se pueden leer una vez que están protegidos por los bits de seguridad programables una sola vez. Además, no hay una diferencia observable entre una celda de memoria programada o no programada usando microscopía óptica o electrónica La memoria NVCM tiene una interfaz de programación similar a una PROM flash serie SPI de la serie 25. Por lo tanto, se puede programar usando el Programador Diamond (versión 2.2 o posterior) antes o después del ensamblaje de la placa de circuitos o programado en el sistema desde un microprocesador u otro controlador inteligente. "

Luego, diseñas un circuito FPGA para implementar una ROM de tus datos y tu puerto de comunicaciones. Ese circuito luego se carga en la configuración de FPGA desde la memoria interna de OTP.

Su protocolo de puerto de comunicaciones ROM es de su elección. Puede ser un estándar (por ejemplo, SPI, I2C) o uno que sea difícil de entender por un intruso con un 'alcance'. Aprecio que la ofuscación de datos no te guarde en tu aplicación, pero ralentizará un poco a los intrusos y es una opción barata.

El dispositivo que necesita y si un iCE40 puede almacenar todos sus datos depende de cuánto tenga y eso no lo sé. Ah, y creo que el iCE40 también tiene un oscilador interno, pero tendría que comprobarlo.

Poner un recubrimiento conforme para que sea muy difícil observar la actividad del pasador parece ser una opción barata después, si es de uso. Puedes hacerlo profesionalmente o convertirte en medieval con un paquete de Araldite.

    
respondido por el TonyM
0

¡Pero EEPROM puede ser 'permanente' si escribes tu programa para que no se pueda sobrescribir!

    
respondido por el Daniel

Lea otras preguntas en las etiquetas