2013-06-17 19 views
5

esiste un modo per proteggere le chiavi di crittografia che vengono archiviate nella RAM da un attacco di congelamento? (Attaccare il computer in un freezer prima di riavviare il codice dannoso per accedere al contenuto della RAM)Protezione delle chiavi crittografiche nella RAM?

Questo sembra essere un problema legittimo con la sicurezza nella mia applicazione.

EDIT: vale anche la pena di menzionare che probabilmente sto facendo una dimostrazione del concetto di OS per farlo sul bare metal, quindi tieni presente che meno dipendenze, meglio è. Tuttavia, TRESOR sembra davvero interessante, e potrei portare il codice sorgente di questo al mio sistema operativo proof of concept se sembra gestibile, ma sono aperto ad altre soluzioni (anche a quelle con pesanti dipendenze).

+2

Forse meglio per [security.SE]? – djechlin

+0

ah. si, sono d'accordo. se un amministratore vuole trasferirsi lì, va bene per me. – coder543

risposta

9

si potrebbe usare qualcosa come la patch del kernel TRESOR Linux per tenere la chiave all'interno dell'anello 0 (il più alto livello di privilegio) di debug CPU registra solo che in combinazione con una CPU Intel che supporta l'istruzione AES-NI, non deve comportare una penalizzazione delle prestazioni (nonostante la necessità di ricalcolare la chiave) rispetto a un'implementazione di crittografia generica.

+0

+1 per aver menzionato TRESOR, anche se non l'ho mai usato. – Xaqq

+0

Questa sembra la più promettente di tutte le risposte finora, ma aspetterò un giorno o due per vedere se qualcun altro può inventare qualcosa di ancora migliore. – coder543

+0

Ovviamente, ora il tuo aggressore utilizzerà l'elio liquido ~ zero assoluto per congelare la CPU ed esaminarlo con microscopi elettronici e SQUID e finalmente avrà la tua password di Facebook :) –

0

Come sottolinea Sergey, non è possibile impedire a qualcuno di attaccare la RAM se l'hardware è in loro possesso. L'unica soluzione possibile per difendere l'hardware è con un modulo di sicurezza hardware antimanomissione. Ci sono un paio di varietà sul mercato: vengono in mente chip TPM e Smart Card. Le smart card potrebbero funzionare meglio per te perché l'utente dovrebbe rimuoverle dal dispositivo quando si allontanano e puoi semplicemente cancellare i tasti quando la scheda viene rimossa.

Vorrei fare un po 'più di analisi del rischio che ti aiuterebbe a capire quanto è probabile un attacco RAM congelato. Quali computer sono maggiormente a rischio di essere rubati? Computer portatili, server, tablet o smartphone? Che valore possono ottenere i tuoi aggressori da un computer rubato? Stai cercando di impedirgli di decodificare un'immagine disco crittografata? Dal ripristino di un documento attualmente caricato nella RAM? Dal recupero di una chiave che porterebbe alla decodifica di un intero disco? Dal recupero delle credenziali che fornirebbero accesso privilegiato alla tua rete?

Se i rischi sono davvero così elevati ma è necessario un accesso remoto per l'azienda, è consigliabile tenere i segreti solo sui server aziendali protetti e consentire solo l'accesso al browser. Utilizza l'autenticazione a due fattori, ad esempio un token di accesso hardware. Forse è quindi necessario che le macchine remote vengano avviate solo da supporti di sola lettura e elenchi di segnalibri di sola lettura per garantire la protezione da virus e altri attacchi basati su browser.

Se si può mettere un valore monetario sul rischio, si dovrebbe essere in grado di giustificare l'infrastruttura aggiuntiva necessaria per difendere i dati.

Problemi correlati