Crittografia basata su chiave per i file con la chiave memorizzata su un'unità USB?

4

Siamo una piccola startup che esegue un server all'interno dei client e determinati file devono essere mantenuti crittografati su quel server. Vogliamo che la decrittografia sia possibile solo quando inseriamo una particolare unità USB (con la chiave privata al suo interno). Esistono implementazioni gratuite di questo? Ho provato a utilizzare GPG ma non consente la memorizzazione della chiave privata temporaneamente (diversamente da SSH).

    
posta Grim Reaper 29.03.2017 - 19:50
fonte

2 risposte

3

Non vorrei usare questo approccio. Quando monti un'unità USB, leggi un file da esso, ecc. Tutte le copie di tali dati potrebbero finire nella memoria del sistema operativo, nei registri, ecc. Combatterai una dura battaglia per renderlo sicuro, specialmente se l'attaccante ha la possibilità di eseguire il dump della memoria del server o di installare malware sul server.

Un approccio migliore sarebbe utilizzare una sorta di modulo crittografico hardware USB in modo che il server stesso non debba mai toccare le chiavi private. L'idea è che le chiavi di crittografia vivano sul dispositivo crittografico e non lo abbandonino mai, invii i dati che desideri crittografare / decodificare sul dispositivo, esegue l'operazione di crittografia per te e restituisce i risultati.

Con questo approccio è garantito che sul server non esistono cache della chiave privata perché il server non lo ha mai toccato, e se si estrae il dispositivo USB, il server perde la capacità di eseguire operazioni crittografiche, che penso sia quello che vuoi.

Alcune tecnolgie / termini di ricerca che puoi cercare includono:

  • smartcard USB
  • token crittografico
  • PKCS # 11 token
  • TPM (modulo piattaforma di fiducia)
  • HSM (modulo di sicurezza hardware)

Si consiglia di esaminare le soluzioni basate su hardware come le smart card USB, i TPM o HSM leggeri in cui la crittografia viene eseguita sul dispositivo in modo che il server non tocchi mai effettivamente la chiave.

    
risposta data 29.03.2017 - 20:13
fonte
2

Una possibilità sarebbe quella di utilizzare una partizione crittografata o un file contenitore usando luks / cryptsetup. È possibile memorizzare la chiave di decodifica in un file su una chiavetta e configurare la posizione in /etc/crypttab . In questo modo, la partizione crittografata può essere montata solo quando l'unità USB è disponibile, ma rimarrà leggibile finché non la smonterai manualmente, anche se scolleghi l'unità USB.

Ovviamente, la chiave può essere facilmente duplicata dall'unità, ma dovrai conviverci, dato che hai detto sopra che non vuoi usare nessuna smartcard.

    
risposta data 04.04.2017 - 09:08
fonte

Leggi altre domande sui tag