Memorizzando le informazioni sensibili per un breve periodo, come dovrei crittografarlo o ne ho bisogno anche io?

0

Quindi accetterò alcune informazioni sensibili tramite un modulo html, userò PHP per memorizzare le informazioni. Tutto questo è stato impostato, testato ecc. Il modulo funziona in 4 "step", ogni fase è il suo modulo html unico su una pagina php separata (step1.php, step2.php, step3.php, step4.php).

Il mio problema ora è che stiamo iniziando a memorizzare alcune informazioni sensibili (numeri SS, numeri di telefono, cronologia di lavoro, ecc.) che vengono memorizzate da noi solo per la durata delle fasi del modulo una volta inviate a step4 tutte le informazioni vengono inviate a un ambiente sicuro e memorizzato in modo sicuro lì (il server remoto non è sotto il mio controllo) e rimosso dal nostro ambiente.

I dati vengono memorizzati in sessioni PHP, che memorizzano i dati nei file tmp. Tutti i file temporanei vengono rimossi automaticamente ogni 30 minuti solo nel caso in cui una sessione non abbia completato tutte le informazioni ancora rimosse.

Quindi si tratta della vera domanda ora che hai tutte le informazioni, dovrei crittografare questi dati? Non so molto su crittografia e standard.

    
posta AZer0 27.09.2015 - 20:43
fonte

2 risposte

0

Hai poche opzioni per gestire le informazioni sensibili

  1. raccoglie i dati e li restituisce al cliente per ogni passaggio (attraverso i dati nascosti del modulo) per garantire che né il server né il client stiano memorizzando i dati in qualsiasi momento.
  2. Memorizza i dati sul lato client (usando cookie, memoria locale, ecc.) e poi ripulisci lo stesso una volta completato il processo. Ciò garantirà che non conservi alcun dato sul lato server.
  3. Archivia i dati sul lato server per la durata della transazione i cui dati di sessione devono essere cancellati non appena la transazione è completata.

Se si desidera memorizzare i dati sul lato server, la crittografia è decisamente raccomandata. In base alla tua descrizione, sembra che NON stai pianificando il failover. Tenendo questo in mente, puoi

  1. Usa tmpfs (disco RAM) per archiviare file di dati di sessione che eviteranno di scrivere i dati sul disco (il disco di pulizia come indicato da altri può essere difficile).
  2. Genera una lunga chiave di crittografia all'avvio e memorizzala in $ Global. Utilizzare tale chiave per crittografare e decrittografare i dati prima di archiviare e dopo aver recuperato i dati dalla sessione.
  3. Nel caso si stia utilizzando un'infrastruttura di sessione condivisa (come memcached), sarà necessario creare un'impostazione più complicata per garantire che la chiave di crittografia sia condivisa e adeguatamente protetta da tutti i server che fanno parte dell'infrastruttura. Inoltre, saranno necessari i protocolli aggiuntivi per l'aggiornamento delle chiavi.
risposta data 28.09.2015 - 07:49
fonte
0

Se qualcuno accede al tuo sistema mentre è in esecuzione, anche se crittografate i dati, l'utente malintenzionato può semplicemente utilizzare la stessa chiave per decrittografarlo. Quindi in tal caso non viene aggiunta alcuna sicurezza.

Tuttavia, se un utente malintenzionato è in grado di ottenere un accesso fisico al server e ruba il supporto di memorizzazione, il fatto che i dati vengano crittografati gli negherebbe l'accesso se la password viene salvata solo in memoria (e creata casualmente all'avvio). Dovresti fare attenzione però che tutti i file che memorizzi sono archiviati immediatamente in forma crittografata e non toccare mai l'hard disk perché in quel caso potrebbero essere ancora recuperabili.

    
risposta data 27.09.2015 - 21:10
fonte

Leggi altre domande sui tag