Memorizzazione dei numeri delle carte di credito

11

Creerò un sito Web con un'opzione di tipo di iscrizione per il sito Web, e molto probabilmente userò Authorize.Net per effettuare le transazioni, tuttavia, ho bisogno di sapere che tipo di crittografia posso usare per memorizzare i numeri delle carte di credito in un database MySQL?

    
posta AviD 13.01.2012 - 13:43
fonte

3 risposte

14

Perché memorizzarlo anche in un database MySQL quando puoi utilizzare API di Customer Information Manager di Authorize.Net e prendere La conformità PCI e i problemi di sicurezza sono completamente fuori mano e lascia che facciano tutto il sollevamento per te? CIM ti consente di creare profili di pagamento dei clienti archiviando i dati della carta di credito del cliente al loro fine e addebitandoli su tale profilo in una data futura ogni volta che è necessario semplicemente facendo riferimento all'ID del profilo di pagamento al momento della transazione.

    
risposta data 13.01.2012 - 19:20
fonte
12

La norma chiave che devi seguire è Standard di sicurezza dei dati di settore delle carte di pagamento (PCI DSS) e di interesse specifico qui è la sezione 3.4 -

Proteggi i dati dei titolari di carte memorizzati

Render PAN illeggibile ovunque è memorizzato (anche su portatile digitale media, supporto di backup e nei registri) di utilizzando uno dei seguenti approcci:

  • Gli hash unidirezionali basati su strong crittografia (l'hash deve essere del intero PAN)
  • Troncamento (l'hashing non può essere utilizzato sostituire il segmento troncato di PAN)
  • Token e pad indice (i pad devono essere archiviati in modo sicuro)
  • Crittografia strong con associati processi di gestione delle chiavi e procedure

Anche il resto della sezione 3 vale la pena di leggerlo in profondità!

    
risposta data 13.01.2012 - 14:30
fonte
2

Probabilmente (vedi nota sotto) soddisfa i requisiti se si utilizza un noto algoritmo simmetrico (come AES o blowfish / twofish) sui dati sensibili usando una chiave memorizzata in un posto non accessibile dal database. Poiché il risultato non è stampabile, puoi esadecimale o base64 codificare il risultato per l'archiviazione.

Ovviamente qualsiasi sistema che esegue la crittografia e la decrittografia automatica sarà intrinsecamente meno sicuro di un sistema manuale, poiché le chiavi dovranno essere memorizzate proprio lì sul server affinché la cosa funzioni. Ma più puoi separarli, meglio è.

Ancora meglio, molti provider di gateway consentono meccanismi in cui non è necessario memorizzare la carta del cliente sul server, inclusi CIM di Autorize.net e Transazioni di riferimento di Paypal solo per citare un paio di esempi.

Nota : Questo non costituisce un consiglio legale o di sicurezza e non deve essere interpretato come tale. Dovresti sempre assumere un professionista della sicurezza locale se hai domande o dubbi.

    
risposta data 24.02.2012 - 08:52
fonte

Leggi altre domande sui tag