Da quello che raccolgo la chiave AES viene caricata nel chip. Inoltre, potrebbe esserci un controllo CR232 sul firmware o set di fusibili OTP
Questo non significa che non possa essere hackerato, se ci metti il tempo. Vorrei verificare se i pin JTAG sono stati disabilitati e iniziare da lì.
7.1 Caso d'uso della linea di produzione Nella linea di produzione NXP l'OTP verrà testato e programmato utilizzando JTAG. In modalità test, si accederà direttamente al blocco fusibili stesso. Durante la programmazione, il VPP avrà bisogno di una tensione maggiore rispetto al caso d'uso dell'applicazione. I dati scritti vengono successivamente controllati leggendo i fusibili (utilizzando una bassa tensione su VPP) Il cliente programmerà anche l'OTP solo sulla linea di produzione, qui verrà utilizzata la programmazione DFU. Un'immagine per la programmazione dei bit selezionati dal cliente può essere caricata nel dispositivo tramite USB.
7.2 Caso d'uso dell'applicazione in modo nitido è importante assicurarsi che il registro data_15 sia aggiornato anticipatamente durante l'inizializzazione (tramite il codice di avvio), questo imposterà il livello di sicurezza. Nel progetto sono implementati quattro livelli di sicurezza:
• Livello 0: nulla è protetto.
• Livello 1: protetto da password. A questo livello, JTAG può essere abilitato dal software dopo la sequenza di password (dipende dall'applicazione del cliente) impostando il bit appiccicoso "JTAG_EN" nel registro OTP_con.
• Livello 2: a questo livello, l'accesso JTAG può essere abilitato utilizzando speciali apparecchiature di prova. Utilizzato da NXP solo per l'analisi del materiale restituito.
• Livello 3: JTAG è completamente disabilitato e quindi il chip è praticamente bloccato.
Il cliente può programmare il livello di sicurezza del chip. Per il livello 1, è necessario impostare il bit del fusibile 509. Per il livello 2, vengono impostati i bit dei fusibili 509 e 510. Per il livello 3, i bit dei fusibili 509, 510 e 511 sono programmati. Un caso speciale sarà per il cliente disabilitare la scrittura sui fusibili, ma poiché nell'applicazione verrà collegata una bassa tensione (per la lettura) al VPP, la scrittura non sarà comunque possibile. Durante la normale applicazione, i fusibili saranno già stati programmati sulla linea di produzione. Rimangono quindi tre opzioni: copiare i dati dei fusibili nei registri dei dati, leggere questi dati e impostare la protezione di lettura. Il codice di avvio copierà i dati dei fusibili nei registri dei dati poiché ciò è necessario per la sicurezza e il DRM. Successivamente, i dati possono essere letti dai registri dati tramite il bus APB0 (in base alle impostazioni di protezione della lettura).
Modifica: se la chiave è davvero caricata, sarà possibile caricare il firmware personalizzato solo se si dispone della chiave.