Sviluppo hardware commercialmente integrato, utilizzando Microchip dsPIC o processori simili.
Il firmware che ho a volte è molto complesso e costoso e deve essere a prova di hacker e manomissione nell'hardware. Sono presenti tutte le protezioni software di base, ma per $ 500 - $ 1,000 il codice esadecimale può essere recuperato tramite diversi servizi di siti Web stranieri, anche se ci sono micce di sicurezza (che impediscono solo manomissioni non determinate). Dopodiché, sono necessari pochi mesi e il codice può essere retroingegnerizzato utilizzando il disassemblatore, come IDA Pro.
Come posso proteggere un po 'meglio il design dell'hardware (senza necessità di protezione militare)?
Puoi consigliare altri processori non leggibili o forse un'aggiunta al mio progetto esistente?
Tutto ciò di cui ho bisogno è nascondere poche funzioni, non ho bisogno dell'intero prodotto. Inoltre, non è sufficiente nascondere i dati nella memoria esterna protetta, ma devo nascondere un programma.
Aggiornamento (basato su molti commenti): ho dsPIC e 4 anni di sviluppo a tempo pieno sul firmware (farei un grande sforzo per farlo da zero in un altro modo):
1) Questo prodotto vende già e gli hacker hanno accesso se lo desiderano
2) Il NUOVO FIRMWARE non è stato ancora rilasciato. Contiene un codice di 5kB che nessuno di tutti i concorrenti ha ancora. Devo impedire a chiunque di ottenerlo facilmente per circa 12 mesi dopo il rilascio
3) Non c'è budget per andare molto esotici o complicati, forse $ 10 aggiuntivi per prodotto, più o meno
4) Una soluzione come la scheda SIM aggiunta potrebbe fare il trucco?
5) La funzione da nascondere esegue calcoli molto complicati, non standard, per decrittografare / crittografare 16 byte. I processi noti non possono hackerarlo in 1 anno, è necessaria la funzione, motivo per cui voglio nasconderlo.
6) Non mi importa se è pubblicamente visibile, quando la richiesta viene inviata all'hardware "nascosto" o se la risposta è pubblicamente visibile. Devono solo nascondere il processo calcolandolo e non può essere all'interno del processore dsPIC.