Il trasferimento dei dati della carta crittografata attraverso un server significa che il server deve essere conforme PCI?

3

Sto tentando di configurare una rete di applicazioni Web che forniscono tutti un qualche tipo di sistema di acquisto. Per evitare di dover eseguire scansioni di vulnerabilità su ogni server di applicazioni Web, vorrei invece assegnare a ogni applicazione Web un valore di token creato su un server di elaborazione dei pagamenti, che sarebbe l'unico server compatibile PCI sulla rete.

L'applicazione web invierà quindi questo token al server di elaborazione dei pagamenti, dove verrà quindi decrittografato e addebitato.

Vorrei anche non memorizzare i dettagli della carta sul server di elaborazione dei pagamenti, quindi il mio processo proposto è il seguente:

  • Il client dell'applicazione Web (SPA) raccoglie i dettagli della carta e inoltra una richiesta per un token crittografato direttamente al server di elaborazione dei pagamenti.

    {
      "number": "4242424242424242",
      "exp_month": "12",
      "exp_year": "2018",
      "cvv": "123"
    }
    
  • Il server di elaborazione dei pagamenti crittografa questi dati (ad esempio, usiamo AES256 e password "test") e restituisce il token al client dell'applicazione Web.

    {
      "token": "DmR7/sQW7+EqKc1MvdaMgQ/DPVNIJuGTpoe2uwEfA4UJTdcaXuf63GhLyTvfihK77iTknNQArUHRVhm7kdET1KjetIg7Qj/aImlPXqM6GzwlgVljoofxtuHa8rRkU4/TqKHC+mfabYQrs4E+eb39qIeIenosPTr2b/+I+IOSZ6s="
    }
    
  • Il client dell'applicazione Web invia quindi questo token al server di applicazioni Web, insieme alle informazioni sull'ordine.

    {
      "token": "DmR7/sQW7+EqKc1MvdaMgQ/DPVNIJuGTpoe2uwEfA4UJTdcaXuf63GhLyTvfihK77iTknNQArUHRVhm7kdET1KjetIg7Qj/aImlPXqM6GzwlgVljoofxtuHa8rRkU4/TqKHC+mfabYQrs4E+eb39qIeIenosPTr2b/+I+IOSZ6s=",
      "items": [
        {
          "id": 5,
          "quantity": 1
        }
      ]
    }
    
  • Il server di applicazioni Web riceve i dettagli dell'ordine e quindi richiede un pagamento attraverso il server di elaborazione dei pagamenti.

    {
      "token": "DmR7/sQW7+EqKc1MvdaMgQ/DPVNIJuGTpoe2uwEfA4UJTdcaXuf63GhLyTvfihK77iTknNQArUHRVhm7kdET1KjetIg7Qj/aImlPXqM6GzwlgVljoofxtuHa8rRkU4/TqKHC+mfabYQrs4E+eb39qIeIenosPTr2b/+I+IOSZ6s=",
      "provider": "stripe",
      "currency": "aud",
      "price": 123.45
    }
    
  • Il server di elaborazione dei pagamenti decodifica quindi il token per scoprire i dettagli della carta da addebitare e procede con l'addebito. Il server di elaborazione dei pagamenti ritorna indietro se l'addebito è andato a buon fine e il server di applicazioni Web è quindi libero di contrassegnare l'ordine come elaborato.

In questo scenario la mia preoccupazione principale è se passare i dettagli della carta crittografata al server di applicazioni Web è considerato un problema per la conformità PCI?

Sono consapevole che potrei utilizzare un servizio come Stripe.js per recuperare un token stupido (letteralmente solo un riferimento a Stripe, nessun dato relativo alla carta) tuttavia il sistema di elaborazione dei pagamenti potrebbe supportare più provider, alcuni dei quali potrebbero non disporre di sistemi di tokenizzazione e quindi ho bisogno di coprire tutte le basi qui.

Grazie.

    
posta mitchdav 11.04.2017 - 12:35
fonte

1 risposta

4

In this scenario my main concern is whether passing the encrypted card details to the web application server is considered an issue for PCI compliance?

Nello scenario che hai descritto, non stai passando i dettagli della carta criptata. Stai passando un token, generato dal processore di pagamento e passato a te attraverso il client web, che rappresenta una ricerca dei dati effettivi della carta una volta passati (da te) al processore.

In questo scenario, presumibilmente la pagina del carrello degli acquisti che contiene iframe o javascript che fa in modo che il browser del cliente invii i dettagli della carta al processore viene servita dal tuo server. In tal caso, sei ancora soggetto alla conformità PCI , per SAQ A-EP (sottolineatura mia):

SAQ A-EP has been developed to address requirements applicable to e-commerce merchants with a website(s) that does not itself receive cardholder data but which does affect the security of the payment transaction and/or the integrity of the page that accepts the consumer’s cardholder data.

SAQ A-EP merchants are e-commerce merchants who partially outsource their e-commerce payment channel to PCI DSS validated third parties and do not electronically store, process, or transmit any cardholder data on their systems or premises.

    
risposta data 11.04.2017 - 14:43
fonte

Leggi altre domande sui tag