Salve a tutti!
Vorrei commercializzare una gamma di prodotti elettronici (NDA, non posso dire altro) unici nel loro genere, tutti basati su microcontrollori ATMEGA328p (non necessariamente quelli ma comunque "arduino compatibili").
Il mio obbiettivo sarebbe quello di rendere illeggibile il contenuto della FLASH dei miei prodotti (quindi lock bits e quant'altro), MA permettere un aggiornamento del software da parte dell'utente finale SENZA rendere possibile nessuna lettura in chiaro del firmware (crittografato?).
Ovvero.... io scrivo in C++ con IDE Arduino, compilo il firmware, crittografo a 256 bit il .hex e pubblico il tutto.
L'utente finale scarica il .hex crittografato e tramite una chiavetta ftdi (i dispositivi non hanno porte direttamente interfacciabili con pc) carica il firmware sul dispositivo da aggiornare (immagino la vostra faccia in questo momento). Ho pensato di estrarre codici da librerie AES per inserirle in un eventuale bootloader "custom" che decrittografano qualcosa per fare qualcosa utilizzando chiavi gia presenti nell'aggiornamento precedente (in realtà non lo so nemmeno io che cosa devono fare....) e aggiornare il software.
Dite sia fattibile???
:o