Come proteggere la chiave di crittografia mentre l'applicazione la sta usando

1

Ho creato un'applicazione J2SE che utilizza AES (in modalità CBC utilizzando la libreria BouncyCastle) per crittografare il file di configurazione dell'applicazione e amp; alcuni file forniti dall'utente.

Ho memorizzato la chiave RAW grezza in un file che è stato memorizzato su un'unità flash. Per utilizzare l'applicazione, l'unità flash deve essere prima collegata alla macchina. Gli utenti non hanno accesso fisico alla porta a cui è collegata la flash drive.

Ma il problema è: che ne dici di copiare il file KEY o aprirlo usando un editor HEX & scrivere byte su un foglio?

Come posso proteggere il file chiave dalla copia (dal file o visivamente)?

Nota: ho pensato di caricare la chiave nella RAM e costringendo l'utente a scollegare l'unità flash, ma questo riduce solo il tempo necessario per copiare la chiave.

    
posta RYN 08.10.2012 - 02:18
fonte

1 risposta

3

Una soluzione è usare una Smart Card piuttosto che l'unità flash: queste possono essere organizzate per eseguire la crittografia senza far uscire la chiave. Funziona bene se la velocità non è un problema.

Per un volume elevato di dati, è possibile utilizzare una chiave casuale per ogni file e preppenderlo al testo cifrato, dopo essere stato codificato utilizzando la chiave a lungo termine nella Smart Card, in modo che la Smart Card sia necessaria per recuperare la chiave che decifra il file. Il passaggio successivo consiste nell'utilizzare la crittografia asimmetrica nella Smart Card e passare alla crittografia ibrida , con il vantaggio di poter cifrare un file per un determinato utente, senza conoscere la chiave di decifrazione dell'utente.

    
risposta data 08.10.2012 - 09:33
fonte

Leggi altre domande sui tag