Stiamo memorizzando dati sensibili in MySQL e voglio utilizzare AES_ENCRYPT (dati, 'my-secret-key-here') e quindi AES_DECRYPT che funziona alla grande. La mia più grande domanda è come posso proteggere la chiave? In precedenza ho appena eri memorizzare la chiave in un file PHP web, in modo da qualcosa come:Come memorizzare in modo sicuro i dati in MySQL utilizzando AES_ENCRYPT
define("ENCRYPTION_KEY", 'my-secret-key-here');
Questo in realtà non funziona, però, come il nostro server MySQL e server web sono la stessa macchina fisica, quindi se qualcuno ottiene l'accesso al server, possono ottenere sia i dati crittografati memorizzati in MySQL che la chiave.
Qualche idea? Sto pensando di dover spostare la chiave su un server separato e leggerla da remoto. Oppure, per quanto riguarda la generazione dinamica della chiave di crittografia per ogni parte di dati. Ad esempio prendendo il customer_id e eseguendo md5 su di esso, e quindi usando quello come chiave.
Potresti dirci quali sarebbero le autorizzazioni specifiche per i file? – mozgras