Protezione dei dati su un dispositivo incorporato

1

Devo rilasciare un dispositivo system-on-chip che, durante il suo ciclo di vita, arriverà a memorizzare dati sensibili. Voglio rendere questi dati difficili da estrarre o duplicare.

La crittografia è utile per gestire MiTM, ma non risolve il problema della duplicazione della memoria flash (e dell'indirizzo MAC) del chip e si propone come l'hardware originale.

I TPM (o token di sicurezza, ecc.) sono buoni per gestire la duplicazione, ma sorge un problema. Un utente malintenzionato può ottenere un nuovo dispositivo, incluso un token di sicurezza, nello store e trasferire il token di sicurezza su un dispositivo duplicato che contiene dati riservati.

Non so se posso evitare di sembrare "fai il mio design di prodotto per me", ma sono molto nuovo alle considerazioni sulla sicurezza dell'hardware e qualcuno con esperienza potrebbe facilmente aiutarmi indicandomi in una direzione significativa.

    
posta user907323 02.02.2014 - 16:04
fonte

1 risposta

2

Se gli aggressori possono spostare fisicamente i dati in giro, da Flash a Flash, sarà necessario ricorrere alla crittografia. Se il chip A deve essere in grado di dare un senso ad alcuni byte di dati, ma il chip B (dello stesso modello) non può, allora il chip A deve conosci qualcosa che B non ha. Encryption riduce il problema: se crittografa tutti i tuoi dati sensibili con una chiave segreta nota solo a A (chiamiamola K A ) allora il tuo problema diventa: come puoi fare in modo che A memorizzi la sua chiave, in modo che non possa essere estratto? La lunghezza di K A tipicamente sarebbe di 128 bit, cioè 16 byte; questo è il valore aggiunto della crittografia: la dimensione del tuo problema si è ridotta a 16 byte.

Il primo metodo normale è il seguente: durante una fase iniziale (tipicamente alla fine della riga di fabbrica), un tasto specifico del dispositivo K A viene iniettato in dispositivo A , da memorizzare in un chip anti-manomissione. Quel chip deve essere in grado di memorizzare la chiave (solo pochi byte), fare un po 'di crittografia / decodifica con esso e resistere all'estrazione forzata (resistenza fisica). Un "server master" memorizza una copia di tutte le chiavi del dispositivo (attenzione! Sensibile!) E crittografa gli elementi dei dati che devono essere successivamente inviati in modo sicuro al dispositivo A . I telefoni cellulari usano quel modello; il chip anti-manomissione è la scheda SIM.

Un metodo esteso comporta un chip anti-manomissione con un po 'più di potenza: può fare crittografia asimmetrica ( ad esempio, RSA) e generare la propria coppia di chiavi privata / pubblica. Durante la fase di iscrizione iniziale, in condizioni controllate, il dispositivo genera la sua coppia di chiavi ed esporta la chiave pubblica; la chiave pubblica viene archiviata esternamente e viene utilizzata per la crittografia (quando alcuni dati devono essere inviati in modo sicuro al dispositivo A ) e all'autenticazione (quando il dispositivo A vuole dimostrare la propria identità a un server online). In genere, durante la fase di registrazione, la chiave pubblica viene spostata da un'autorità di certificazione personalizzata in un certificato e utilizzata in protocolli standard come come SSL / TLS . Alcuni terminali di pagamento utilizzano questo modello.

Un TPM è un chip antimanomissione che solitamente può eseguire la crittografia asimmetrica, inclusa la generazione e l'archiviazione di una chiave privata. Questo è lo strumento giusto per il lavoro, ma devi ancora usarlo: il TPM non magicamente, per sua semplice presenza, protegge i dati; devi progettare la fase di iscrizione iniziale e fare la gestione delle chiavi. Come descritto sopra, questo più-o-meno implica l'esecuzione della tua PKI .

    
risposta data 03.02.2014 - 13:20
fonte