Come proteggere i file da qualcuno che ha accesso al computer che contiene quei file?

3

Fondamentalmente, ho un Raspberry Pi installato in un'auto. Se la macchina viene rubata, come posso assicurarmi che i file non possano essere decifrati?

Il Raspberry Pi contiene uno script Python che registra i movimenti nell'automobile. Al termine di una sequenza, viene crittografato, quindi lo script deve avere accesso alla chiave di crittografia.

Lo script Python deve anche decodificare il file, perché deve essere in grado di inviare la sequenza a un client tramite una rete in HTTPS. Deve avere accesso alla chiave di decodifica.

Se le chiavi sono codificate in modo rigido nello script, sarà facile per il ladro decrittografare i file.

Posso utilizzare una chiave generata da password utente (ho visto alcune persone parlare di PBKDF2)? In tal caso, come funzionerebbe se il client invia quella password tramite HTTPS al server (il server è il Raspberry Pi)? La chiave generata dovrebbe ancora essere archiviata da qualche parte, quindi non vedo come potrebbe aiutare.

    
posta maximedupre 21.01.2016 - 02:51
fonte

2 risposte

7

Se il tuo Raspberry Pi non ha bisogno di decifrare i dati usa invece la crittografia asimmetrica (chiave pubblica / privata). Quindi la chiave pubblica (crittografica) può essere utilizzata sul Raspberry Pi e solo quando arriva al tuo client (tramite HTTPS) può essere decifrata con la chiave privata.

Non ho usato Python in questo modo ma il seguente URL sembra un buon inizio:

Blog di Laurent Luce - Python e crittografia con pycrypto

EDIT: Poiché il tuo Raspberry Pi ha bisogno sia delle funzionalità di crittografia che di decrittografia, il metodo più sicuro è quello di incorporare ancora la crittografia asimmetrica. Proprio come il tuo attuale metodo di utilizzo della crittografia simmetrica (chiave condivisa), bisogna stare attenti a dove archiviare le chiavi. Incorporando le smart card, la chiave privata (decodifica) verrebbe memorizzata sulla carta stessa. Proprio come avere una chiave per avviare la tua auto, potrebbe essere necessaria una smart card per utilizzare il tuo Raspberry Pi. Mentre ciò aumenterebbe i costi (acquisto di smart card, lettore di schede, ecc.), È l'opzione più sicura.

Se questa soluzione non è valida, la crittografia completa del disco è la soluzione migliore, come menzionato da pjc50 .

    
risposta data 21.01.2016 - 03:24
fonte
2

A seconda di quanto è critico e della probabilità di un attacco sofisticato (il tuo modello di minaccia), puoi provare l'approccio dell'autoradio:

Utilizza la crittografia a disco intero o un database crittografato per archiviare i dati. Il Pi avrà quindi bisogno di una password inserita ogni volta che si avvia. Per salvare l'utente che deve fare ciò ogni volta che avvia l'auto, aggiungi una SRAM seriale SPI al Pi con la password in essa contenuta. La SRAM dimenticherà i dati ogni volta che perde potenza. Mettilo su un alimentatore separato sempre collegato alla batteria (presumibilmente il Pi non lo è), e metti il tutto in una valigetta con un microinterruttore antimanomissione che controlla il coperchio. L'apertura del coperchio rimuove l'alimentazione dalla SRAM e dal Pi, causando la dimenticanza della password.

Non è una prova del 100% contro un attaccante dedicato, ma dovrebbe funzionare abbastanza bene contro i ladri regolari.

    
risposta data 21.01.2016 - 15:27
fonte

Leggi altre domande sui tag