Come inviare le informazioni della carta di credito a un server / sito Web (PCI) separato

5

La mia azienda ha un sito Web / servizio che memorizza / elabora carte di credito ed è conforme PCI (sito A). Abbiamo anche siti Web con vetrine che devono inviare i dati della carta di credito a quel sito per l'elaborazione (sito B). Quando qualcuno ordina qualcosa sul sito B e inserisce i dati di fatturazione, come posso inviare tali informazioni al sito A e mantenere la conformità PCI?

Ovviamente si trovano su una pagina protetta sul Sito B, quando inseriscono i loro dettagli di fatturazione.

Posso semplicemente inviare il modulo a una pagina protetta sul Sito A da una pagina protetta sul Sito B? Devo crittografare la carta di credito durante questa transazione? Ovviamente è memorizzato in una sorta di stato crittografato, ma deve essere crittografato durante la transazione di invio?

Devo impostare una sorta di stretta di mano tra i siti web, come una chiave segreta? Se sì, quale sarebbe un modo sicuro per creare quella chiave / stretta di mano?

Abbiamo letto e letto sulla conformità PCI cercando di trovare risposte concrete, ma sembra piuttosto soggettiva e oscura quello che dovremmo fare.

Questa domanda è attualmente pubblicata su StackOverflow .

    
posta mikemick 14.04.2011 - 20:42
fonte

2 risposte

6

Lo standard PCI DSS si applica a qualsiasi sistema che memorizza, elabora o trasmette i dati dei titolari di carta. Nello scenario che descrivi sopra, alla lettera della legge, dovresti applicare lo standard a tutti i sistemi e le reti che compongono il Sito B.

Dato che non stai memorizzando i dati dei titolari di carta nel Sito B questo ridurrà almeno la quantità di lavoro che avresti bisogno di coprire, ad esempio, per quanto posso vedere, l'intero "Requisito 3 - Proteggi i dati memorizzati dei titolari di carta" "sarebbe N / A.

Sarà comunque necessario assicurarsi che elementi come il firewall / l'architettura DMZ siano messi insieme e gestiti correttamente (Requisito 1), che i dati dei titolari di carta siano criptati in trasmissione se la connessione tra il Sito A e il Sito B è "aperta, rete pubblica "come Internet.

Raccogliendo il tuo punto, e per echo @Rook, SSL andrà bene per questo scopo (vedi Requisito 4.1). Non hai bisogno di hash o criptare i dati della carta a questo punto. È solo quando è a riposo.

Passando attraverso lo standard, praticamente tutto il resto si applicherà, i sistemi dovrebbero essere temprati (Requisito 2), Antivirus (se si tratta di un sistema "comunemente influenzato dai virus") e gestione delle patch (Requisito 5), buon sviluppo del software processi (Requisito 6) - senza dimenticare il leggendario 6.6, revisione del codice o WAF.

Forti controlli di accesso (requisiti 7 e 8), sicurezza fisica (9), registrazione e monitoraggio (10), test regolari (11) e buona gestione della sicurezza delle informazioni (12) si applicheranno per quanto posso vedere.

Senza uno di questi elementi se fossi l'autore dell'attacco, sceglierei semplicemente il sito B come destinazione e raccogli i dati direttamente dal server quando vengono inviati dal cliente o trasmessi dal sito B al sito A.

Questo è in realtà uno scenario comune nel mondo dell'elaborazione dei pagamenti (si pensi a PayPal, WorldPay, ecc.). I "commercianti" (qualcuno che accetta pagamenti con carta di credito) hanno in genere due scelte quando desiderano integrarsi con un processore di pagamento per prendere i pagamenti con carta di credito.

1) Ricevono i dati della carta da soli, in genere tramite un modulo Web e quindi POSTANO i dati all'API del processore di pagamento per l'autorizzazione, ecc. In genere ciò viene eseguito dai commercianti più grandi. Elaborano la risposta e aggiornano i loro sistemi e rispondono al cliente in modo appropriato.

2) Loro "reindirizzano" il cliente al processore di pagamento che poi prende i dati della carta attraverso un modulo sul proprio sito web in modo che il commerciante non veda mai i dati della carta. In genere, il commerciante viene aggiornato come il successo dell'ordine da alcuni POST HTTP "fuori banda" sul sito Web del commerciante. Il cliente ha ovviamente un risultato immediato sullo schermo.

Nell'opzione 1, al commerciante sarebbe richiesto di ottenere la piena conformità PCI DSS. Nell'opzione 2 il commerciante non ha la necessità di conformarsi in quanto non memorizza, elabora o trasmette i dati della carta.

Se il Sito B non è attualmente conforme alla tua conformità PCI DSS e desideri mantenerlo in questo modo, ti suggerirei di sviluppare un mezzo per prendere i dati di pagamento direttamente sul Sito A e il Sito B indica semplicemente le persone in quel modo.

Spero che questo sia stato utile. Ho molta esperienza con il PCI DSS, quindi sarei lieto di discuterne ulteriormente. Tuttavia, non sono un QSA, quindi qualsiasi decisione riguardante l'ambito deve essere verificata con un Qualified Security Assessor prima di iniziare a lavorare.

    
risposta data 14.04.2011 - 21:38
fonte
0

In breve, il PCI-DSS afferma che le informazioni della carta di credito non devono mai essere in chiaro. Detto ciò non dovresti innalzare il tuo protocollo per questo. HTTPS è un'ottima soluzione.

    
risposta data 14.04.2011 - 21:06
fonte

Leggi altre domande sui tag