2012-12-28 7 views
9

Attualmente sto creando una configurazione per prendere le informazioni della carta di credito. La seguente struttura è stata utilizzata:Migliora la sicurezza della password nella verifica del server

Server 1:

  • utente MySQL impostato a sola lettura
  • Dichiara le credenziali di accesso.

Uso l'hashing PBKDF2, fatto con una classe i basata su this code.

Server 2:

  • utente MySQL impostato per leggere e scrivere
  • contiene tutte le informazioni ai clienti della carta di credito

La mia domanda:

Se il server 1 memorizza la paswword in questo formato: alg orithm: iterazioni: sale: hash

Ad esempio: sha256:1000:Pe27BkIKkBHklogp9Io80iRKtF+6koly:nrYUwOlixwJECRcjBRKwQ+MVNMTbnYnm

Se un server è stato compromesso, mi sembra che avere la password in questo formato potrebbe rendere più facile per loro per rompere le password per il sito e accedere alle informazioni della carta di credito dell'utente.

Si tratta di un caso in cui è necessario utilizzare Mysql (AES_ENCRYPT() e AES_DECRYPT())?

Sto pensando troppo a questo?

Esiste un modo migliore per proteggere le informazioni nel server 1?

aggiornamento sulla base dei commenti

ho costruito il mio riscaldamento e aria sistema aziendale. Chiunque paghi online può archiviare le proprie informazioni cc con i quickbook se lo desiderano. Ho alcuni clienti più grandi che fatturiamo mensilmente in ufficio e processiamo i cc attraverso un terminale desktop. Questi clienti hanno profili dei clienti sui nostri server, ai quali possono accedere. Questi sono i client che voglio consentire di memorizzare le informazioni di cc. In questo modo non devo avere le informazioni di cc memorizzate su carta nel nostro ufficio per chiunque lo trovi.

+10

È necessario leggere la documentazione PCI ed essere compatibile con esso, se effettivamente * si memorizzano i dati della carta di credito *. – deceze

+0

Non eseguo realmente l'elaborazione cc. Ho solo bisogno di memorizzare le informazioni sul mio sistema aziendale, per pagamenti futuri, che sono fatti tramite i quickbook online –

+6

Non importa se stai elaborando o meno, la conformità PCI riguarda la memorizzazione dei dettagli CC –

risposta

2

Per essere onesti, se riesco a compromettere il server 1, non ho intenzione di provare a decifrare quelle password. Dovrebbero essere sicuri. Quello che farei più probabilmente è provare ad installare il mio codice sul server per inviarmi le password e/o le informazioni della carta di credito quando l'utente esegue il login. Ad esempio, supponiamo che tu elabori l'autenticazione in un file denominato login.php . Se riesco a compromettere login.php, allora quando convalida il login, posso farlo eseguire un comando di arricciatura o qualcosa per inviare le informazioni di accesso al mio server dove posso raccoglierlo.

Ma sto divagando ... La risposta è che l'hashing dei dettagli di accesso dell'utente deve essere sicuro come lo hai descritto. Se il database del server 1 è compromesso, dovrebbe essere il più sicuro possibile.Puoi aggiungere uno strato di offuscamento all'interno del tuo codice PHP per fare qualcosa come munge in un hash del sale o qualcosa in modo che qualcuno con accesso al database ma non al codice avrebbe molto più difficile sapere quale processo hai usato per hash le password, che eviterebbero agli hacker di tentare la password bruta come password, iloveu, ecc. Vorrei anche altamente suggerire che le informazioni della carta di credito sul server 2 sono memorizzate in un formato crittografato usando la funzione o la funzione AES_ENCRYPT().

Assicurati di disinfettare lo tutto l'input tramite i moduli POST e dovresti essere pronto.

+0

Sì, se lo faccio, crittograferò sicuramente i cc. Per ora li ho memorizzati in un documento word in un'unità TrueCrypt sul mio computer. Ho solo 46 clienti che fatturiamo in questo modo ..... forse non vale la pena di andare oltre. ma sarebbe bello se potessero aggiornare le loro informazioni cc sul loro profilo utente. Comunque grazie per l'input –

Problemi correlati