Come prefazione alla mia domanda, lasciatemi dire che sono un neofita relativamente nel campo della sicurezza.
Lavoro per un fornitore di software finanziario di back-office incaricato di elaborare, generare e scambiare migliaia di file con centinaia di terze parti ogni giorno. Secondo i nostri più recenti audit di sicurezza, questi file devono essere crittografati quando non sono in uso.
Posso risolvere quel problema semplicemente usando la crittografia PGP quando riceviamo / costruiamo il file e lo decifriamo quando abbiamo bisogno di leggerlo / consegnarlo.
Quello a cui sto lavorando è come farlo in modo sicuro, dato che lo stesso ambiente ha bisogno sia di crittografare che di decodificare i file. Capisco il paradosso di ciò che sto cercando di fare ... Mi piacerebbe che lo stesso server fosse crittografato e decrittografato, ma non permettere a un utente che accede a quel server di fare lo stesso. Ho pensato all'idea di avere un amministratore che immette la password di decodifica all'avvio del servizio, ma sembra clunky.
Ho bisogno di un'altra strada?
EDIT:
Ecco lo scenario esatto di cui mi sto interrogando ... Mi rendo conto che è contro-intuitivo, ma spero che la comunità della sicurezza sia abbastanza brillante da aver risolto questo problema.
08:15 - Business Partner consegna un file di transazioni per l'elaborazione. 08:16 - Il file viene decodificato utilizzando la coppia di chiavi assegnata a quel business partner. 08:17 - Mentre la finestra di elaborazione batch è scaduta, il file viene crittografato fino a quando richiesto in seguito. 20:00 - La finestra di elaborazione batch è attiva, il file viene decrittografato e le transazioni vengono elaborate.
Ci chiediamo se c'è un modo per far sì che un'applicazione gestisca tutti quelli (che abbiamo già) e allo stesso tempo impedisca a Joe User di accedere all'ambiente e decrittografare il file alla (ad esempio) 14:03?
Il motivo per cui mi sembra controintuitivo è che se l'applicazione / server / ambiente ha tutte le informazioni necessarie per crittografare e decifrare, sembrerebbe che qualsiasi utente che può entrare nell'ambiente avrebbe anche accesso a tale informazione. Spero che ci sia un modo elegante per evitarlo.
Ha senso?