Offloading delle operazioni di chiave privata su un dispositivo attendibile

3

Se ho un criptosistema costruito attorno a PGP / GnuPG, posso mantenere i miei segreti al sicuro usando una smart card OpenPGP e memorizzando le mie chiavi private lì. Se invece sto usando DJ NaCl , c'è una sorta di smart card programmabile che posso usare per memorizzare le mie chiavi private e anche il codice NaCl che opera su di loro?

Ho letto su Java Cards, ma sembra che l'unico modo per inserire il proprio codice su di loro fosse attraverso il defunto MUSCOLO progetto, quindi non sembra un approccio praticabile. Mi piacerebbe sapere che mi sbaglio comunque, perché altrimenti sembrava promettente.

Il mio obiettivo è in definitiva avere un certo grado di crittografia affidabile sul mio cellulare (un BlackBerry 10, ma una soluzione che funziona per Android e iPhone sarebbe l'ideale), quindi non sono legato alle smart card esattamente, ma solo l'idea di scaricare la parte della chiave privata della crittografia su un dispositivo fidato. Se c'è un modo per caricare NaCl su un piccolo dispositivo Linux e parlare con quello del mio BlackBerry tramite NFC, funzionerebbe anche questo. Tutti i suggerimenti sono ben accetti.

    
posta tsuraan 20.09.2013 - 20:00
fonte

1 risposta

3

In questi giorni Java Cards hanno una competizione: . Schede NET . Il principio principale è lo stesso: il codice fornito dall'utente viene eseguito in una macchina virtuale ospitata dalla scheda stessa. Il tuo problema principale sarà di prestazioni.

Una parte importante del motivo per cui si ritiene che tali carte programmabili siano "sicure" si basa su questa VM: il codice applicativo non può sfuggire ai limiti della VM; per esempio, non avrà un overflow del buffer o sarà in grado di leggere o scrivere byte arbitrari nella RAM. Questa funzione ha un prezzo elevato: tutto il codice applicativo è interpretato . Una smart card è già abbastanza sottodimensionata (una buona smart card può essere dotata, ad esempio, di una CPU simile a ARM a 50 MHz) ma l'interpretazione implica un ulteriore fattore di rallentamento di 10x o 20x, il che significa che qualsiasi crittografia vorresti eseguire su tale il sistema sarà lento come l'inferno.

Per far fronte a ciò, queste smart card includono acceleratori hardware, cioè codice nativo e circuiti dedicati per eseguire alcune operazioni specifiche, in genere RSA. Quindi una tale scheda può ancora calcolare una firma RSA a 2048 bit in meno di un secondo, una prestazione che è piuttosto un'impresa, dato l'hardware. Ma non avrai un acceleratore per curve non ancora mainstream come quelle in NaCl - di solito non hai l'acceleratore per la curva qualsiasi .

Le smart card cercano di ottenere manomissione : un segreto archiviato in una tale scheda deve rimanere segreto, anche se è rubato e il ladro cerca di aprirlo. Questo tipo di sicurezza tende a venire a caro prezzo. Potrebbe anche essere piuttosto eccessivo nel tuo caso.

    
risposta data 20.09.2013 - 20:54
fonte

Leggi altre domande sui tag