Dove si dovrebbe memorizzare la chiave di cifratura quando si utilizza la crittografia AES con PHP?

StackOverflow https://stackoverflow.com/questions/2210011

  •  18-09-2019
  •  | 
  •  

Domanda

I sono l'attuazione AES-256 bit codice cliccando nella mia web app:

http: //www.utoxin. nome / 2009/07 / automatico-db-campo-crittografia-in-CakePHP /

Uno dei passi dice per memorizzare il cifrario utilizzato e la chiave in un file di bootstrap. Ma ciò che è fermare qualcuno dal scansione del file system con PS o qualcosa e decodificare i dati?

Qual è il modo migliore per proteggere i dati?

È stato utile?

Soluzione

Se qualcuno ha accesso a tutti i file sul disco rigido del server, tutte le scommesse sono spenti. Non v'è alcun modo è possibile proteggere i dati, allora, perché il vostro webapp deve ancora essere in grado di accedervi.

Questa crittografia si proteggerà soltanto da attaccanti che possono accedere alla banca dati, ma non il file system, per esempio mediante iniezione SQL. E anche in questo caso possono essere in grado di leggere i dati: a seconda del particolare delle perdite, la webapp potrebbe felicemente decifrare per loro

Altri suggerimenti

(Mi rendo conto che è un antico domanda, ma come l'autore del post sul blog collegato, ho voluto aggiungere alcuni commenti)

Che la risposta accettata dice è tutti corretti. Una volta che il file system è compromessa non c'è alcuna protezione. Inoltre, sì, se scritto male è possibile esporre i dati in forma non crittografata. Questo strumento è stato pensato per fornire semplicemente un modo per rendere molto più facile gestire la crittografia dei dati nel database. Se non ti piace la funzionalità di auto-decrypt, sarebbe banale per rimuovere il callback afterFind () sul comportamento in modo che si innesca più, così come un numero qualsiasi di altri aggiustamenti che potrebbero migliorare la sicurezza (al costo di convenienza).

Spero che questo aiuta chiunque altro che si imbatte in questo post. Qualcuno ha, dal momento che ho appena ricevuto un paio di colpi al mio blog da questa domanda. :)

In un'unix dialogo è possibile memorizzare in un file, creato da l'account utente per apache, con 0600 permisions. Questo si può accedere dalla radice, quindi se la casella è sicuro non ci sono finestre problem.On scatole, io non lo so.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top