Domanda

Ciao a tutti sto cercando di decifrare il mio file di codice esadecimale per un chip ATTiny e la programmazione utilizzando l'interfaccia a riga di comando avrdude. Problema essere, non voglio che l'utente sia in grado di vedere ciò che il file HEX è in un dato momento.

Può il VB.net crittografia cripta file HEX prima ho messo sul server e poi decifrarlo dopo il programma di download dal server e l'esegue attraverso il programma senza vedere il file HEX decifrato?

Ovviamente il file HEX non può rimanere crittografato pur essendo programmato per il chip ATTiny Così come posso andare su di esso in modo che io possa creare il file HEX originale deve essere programmato all'interno del programma, senza doversi preoccupare di esso scrivere un file temporaneo al disco rigido e quindi eliminarlo dopo? (Perché potrebbero chiudere il programma dopo lo fa file temporaneo e sarebbero in grado di navigare e di aprirlo e vedere il codice)

Qualsiasi aiuto sarebbe grande! : O)

David

È stato utile?

Soluzione

Come già fatto notare, se si decodifica il file sul computer host è lì in una forma non criptata, e non si può far nulla.

L'industria ha lo stesso problema di volta in volta, in modo da hanno ottenuto i loro sensi con la crittografia: A volte è necessaria per evitare che qualcun altro è in grado di ottenere un file compilato ed eseguibile come "loro" avrebbero decompilarlo o guardare in assemblea, a volte è necessaria solo per impedire che anyoneelse è in grado di eseguire i loro file, in casa brewn corrette sul dispositivo.

Come ha detto, decifrare il file sul host (l'host utenti / clienti) è fuori discussione. Quindi spingerla un attimo dopo. È possibile, per esempio, hanno il bootloader decifrare il file del firmware che si legge dalla linea seriale.

In questo caso, si esprime l'hardware (chip bootloader e versione iniziale del firmware), e gli aggiornamenti vengono installati tramite linea seriale (al posto di JTAG / ASP / ISP). Il bootloader dovrebbe contenere la chiave segreta che decifra il file del firmware. Questa chiave segreta può essere utilizzato anche per verificare che il file del firmware viene da voi, e nessun altro compilato qualcosa.

Se è necessario distribuire il (file hex) bootloader così, si troveranno ad affrontare il problema che qualcuno possa estrarre o modificare la chiave segreta. In questo caso, la crittografia asimmetrica vi farà risparmiare. Si mantiene la chiave privata per voi, e il bootloader ottiene la parte della chiave pubblica. Anche se qualcuno è in grado di estrarre la chiave pubblica, che non sarà in grado di creare un file che sarà riconosciuto come la tua. Ahimè, l'ATTiny è di gran lunga troppo debole per la crittografia asimmetrica, e anche la crittografia simmetrica sarà già gonfiare il codice del bootloader.

Altri suggerimenti

Non può essere fatto con i vincoli specificati. L'ATtiny non può eseguire un bootloader utile (senza flash auto-programmazione.) Dovrà essere decriptato sull'host Il file hex. Mantenere i dati decriptati in memoria potrebbe rallentare gli attaccanti un po '.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top