Nascondere in modo sicuro una directory dal sistema operativo usando java?

1

Ho un progetto da fare per il mio master e ho bisogno di fare un'app Java che carica un file (leggi alcuni attributi e copia il file in una directory funzionante), praticamente qualsiasi file, e rende privata la directory di lavoro. Per privato intendo nascondere quella directory in un modo diverso da qualsiasi sistema operativo (beh, in pratica Windows e Linux). Non sono sicuro che le funzioni OS (Windows e Linux) per nascondere le directory funzionino perché un amministratore / superutente può modificare tali impostazioni e accedere facilmente ai miei file.

L'idea per il progetto è di avere accesso esclusivo a quei file caricati dall'app e di renderli disponibili per le applicazioni installate localmente per aprirle / eseguirle (come "Open in media player"), che dovrebbe funzionare anche quando copio l'app su una penna USB.

Ho 2 opzioni:
  1. modifica ogni file dopo averlo caricato per renderlo illeggibile al mondo e annullare le modifiche ogni volta che premo "Apri" dall'interno dell'app;
  2. (che ritengo sia l'opzione migliore e più semplice) Modificare la directory root di quei file (root = la directory di lavoro o qualche sottodirectory di esso) per essere illeggibile / inaccessibile per il mondo mentre si trova all'esterno dell'app e leggibile per l'app in fase di runtime.

Ho pensato a qualcosa come fare una copia localmente crittografata degli attributi del file system della directory, "cancellarli" mentre non sono in fase di runtime dell'app e rimetterli indietro durante il runtime dell'applicazione. Ma non ho mai giocato con questo prima e anche Windows & Il filesystem di Linux non è affatto semplice. Inoltre, una chiavetta USB ha un filesystem FAT (che se non ho torto "appartiene" a DOS), che è, sì, un altro filesystem nell'equazione.

Sono quasi sicuro che non sia fattibile (e non sicuro!) semplicemente riprodurre avanti e indietro con il filesystem a mio piacimento, quindi ho bisogno di alcune idee per trovare quella svolta senza rompere nulla.

    
posta Ionescu Alexandru 07.07.2015 - 17:02
fonte

1 risposta

2

Un trucco che puoi usare in Linux è creare un file, mantenere il puntatore / gestore ed eliminarlo immediatamente. È quindi possibile utilizzare l'handle del file per scrivere e leggerlo. Linux non mostrerà il file a nessuno perché lo hai rimosso dalla tabella dei file del sistema operativo. Sfortunatamente dovresti scrivere di nuovo il file in un file "normale" quando il programma si chiude poiché hai eliminato il file. Questo metodo viene in genere utilizzato per creare file temporanei per programmi.

Per quanto riguarda Windows, non vedo come tu possa gestirlo.

Spero che questo aiuti un po '.

    
risposta data 07.07.2015 - 20:06
fonte

Leggi altre domande sui tag