Domanda

Implementerò un PHP/mySQL configurazione per memorizzare i dati della carta di credito.

Sembra che AES_ENCRYPT/AES_DECRYPT è la strada da percorrere,

ma sono ancora confuso su un punto:

Come mantengo sicura la chiave di crittografia?

Collegarlo direttamente ai miei script PHP (che vivranno sullo stesso server del db) sembra un grave buco di sicurezza.

Qual è la soluzione "migliore pratica" in questo caso?

È stato utile?

Soluzione

Dovresti pensare a lungo e intensamente se hai VERAMENTE bisogno di mantenere il CC#.Se non hai una buona ragione, NON FARLO!Ogni due settimane senti di alcune aziende compromesse e di furti di CC#.Tutte queste aziende avevano un difetto fatale: conservavano troppe informazioni.Conserva il CC# finché la transazione non viene completata.Successivamente, eliminalo.

Per quanto riguarda la protezione del server, la soluzione migliore è proteggere l'hardware e utilizzare il socket di sistema interno su MySQL e assicurarsi di bloccare qualsiasi accesso di rete al server MySQL.Assicurati di utilizzare sia le autorizzazioni di sistema che le autorizzazioni MySQL per consentire il minimo accesso necessario.Per alcuni script, potresti prendere in considerazione l'autenticazione di sola scrittura.Non esiste in realtà alcun metodo di crittografia che sia infallibile (poiché dovrai sempre decrittografare e quindi memorizzare la chiave).Questo non vuol dire che non dovresti: puoi archiviare la chiave in una posizione e se rilevi una compromissione del sistema puoi distruggere il file e rendere i dati inutilizzabili.

Altri suggerimenti

MySQL, ci sono sei semplici passaggi che puoi eseguire per proteggere i tuoi dati sensibili.

Passo 1:Rimuovere i caratteri jolly nelle tabelle di concessione

Passo 2:Richiedere l'uso di password sicure

Nota:Utilizza l'opzione MySQL “--secure-auth” per impedire l'uso di formati di password MySQL meno recenti e meno sicuri.

Passaggio 3:Controlla i permessi dei file di configurazione

Passaggio 4:Crittografare le trasmissioni client-server

Passaggio 5:Disabilita l'accesso remoto

Passaggio 6:Monitora attivamente il registro di accesso MySQL

Strumenti di sicurezza

Sono d'accordo, ma non fare il cc se non ti serve.Ma se lo hai davvero anche tu, assicurati che il file che lo contiene non sia accessibile sul web.Puoi scrivere un binario che restituisca la chiave.In questo modo non viene memorizzato in testo non crittografato.Ma se il tuo server è compromesso è comunque facile ottenerlo.

la sicurezza di cui hai bisogno dipende dalla tua applicazione.ad esempio, se l'unica volta in cui verrà utilizzato il cc# è quando l'utente ha effettuato l'accesso (scenario di tipo negozio online ridotto), è possibile crittografare il cc# con l'hash a della password in testo semplice dell'utente, un per- salt utente e un salt cc# dedicato.non memorizzare questo valore in modo permanente.

poiché non stai memorizzando questo valore, l'unica volta che puoi ottenere questo valore è quando l'utente inserisce la propria password per accedere.assicurati solo di avere una buona scadenza della sessione e politiche di garbage collection in atto.

se questa situazione non si applica al tuo caso, descrivi la tua situazione in modo più dettagliato in modo che possiamo fornire una risposta più appropriata.

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