¿Pasar los datos de la tarjeta cifrada a través de un servidor significa que el servidor debe ser compatible con PCI?

3

Estoy intentando configurar una red de aplicaciones web que proporcionan algún tipo de sistema de compra. En un esfuerzo por evitar tener que ejecutar exploraciones de vulnerabilidad en cada servidor de la aplicación web, me gustaría simplemente darle a cada aplicación web un valor de token que se crea en un servidor de procesamiento de pagos, que sería el único servidor compatible con PCI en la red.

La aplicación web enviaría este token al servidor de procesamiento de pagos, donde luego se descifraría y cobraría.

También me gustaría no almacenar los detalles de la tarjeta en el servidor de procesamiento de pagos, por lo que mi proceso propuesto es el siguiente:

  • El cliente de aplicaciones web (SPA) recopila los detalles de la tarjeta y realiza una solicitud de un token cifrado directamente al servidor de procesamiento de pagos.

    {
      "number": "4242424242424242",
      "exp_month": "12",
      "exp_year": "2018",
      "cvv": "123"
    }
    
  • El servidor de procesamiento de pagos cifra estos datos (por ejemplo, usemos AES256 y la contraseña "prueba") y devuelve el token al cliente de la aplicación web.

    {
      "token": "DmR7/sQW7+EqKc1MvdaMgQ/DPVNIJuGTpoe2uwEfA4UJTdcaXuf63GhLyTvfihK77iTknNQArUHRVhm7kdET1KjetIg7Qj/aImlPXqM6GzwlgVljoofxtuHa8rRkU4/TqKHC+mfabYQrs4E+eb39qIeIenosPTr2b/+I+IOSZ6s="
    }
    
  • El cliente de la aplicación web luego envía este token al servidor de la aplicación web, junto con la información del pedido.

    {
      "token": "DmR7/sQW7+EqKc1MvdaMgQ/DPVNIJuGTpoe2uwEfA4UJTdcaXuf63GhLyTvfihK77iTknNQArUHRVhm7kdET1KjetIg7Qj/aImlPXqM6GzwlgVljoofxtuHa8rRkU4/TqKHC+mfabYQrs4E+eb39qIeIenosPTr2b/+I+IOSZ6s=",
      "items": [
        {
          "id": 5,
          "quantity": 1
        }
      ]
    }
    
  • El servidor de aplicaciones web recibe los detalles del pedido y luego solicita un pago al servidor de procesamiento de pagos.

    {
      "token": "DmR7/sQW7+EqKc1MvdaMgQ/DPVNIJuGTpoe2uwEfA4UJTdcaXuf63GhLyTvfihK77iTknNQArUHRVhm7kdET1KjetIg7Qj/aImlPXqM6GzwlgVljoofxtuHa8rRkU4/TqKHC+mfabYQrs4E+eb39qIeIenosPTr2b/+I+IOSZ6s=",
      "provider": "stripe",
      "currency": "aud",
      "price": 123.45
    }
    
  • El servidor de procesamiento de pagos luego desencripta el token para descubrir los detalles de la tarjeta a cobrar y continúa con el cargo. El servidor de procesamiento de pagos devuelve si el cargo fue exitoso y el servidor de aplicaciones web es libre de marcar el pedido como procesado.

En este escenario, mi principal preocupación es si pasar los detalles de la tarjeta cifrada al servidor de aplicaciones web se considera un problema para el cumplimiento de PCI.

Soy consciente de que podría usar un servicio como Stripe.js para recuperar simplemente un token dumb (literalmente, solo una referencia a Stripe, sin datos de tarjeta), sin embargo, el sistema de procesamiento de pagos puede admitir múltiples proveedores, algunos de los cuales pueden no tener ningún sistema de tokenización, por lo que debo cubrir todas las bases aquí.

Gracias.

    
pregunta mitchdav 11.04.2017 - 12:35
fuente

1 respuesta

4
  

En este escenario mi principal preocupación es si pasar la tarjeta cifrada   Los detalles del servidor de aplicaciones web se consideran un problema para PCI   ¿Cumplimiento?

En el escenario que has descrito, no estás pasando los detalles de la tarjeta cifrada. Usted está pasando un token, generado por el procesador de pagos y devuelto a través del cliente web, que representa una búsqueda de los datos reales de la tarjeta una vez que usted la devolvió (usted) al procesador.

En este escenario, presumiblemente, la página del carrito de compras que contiene el iframe o javascript que hace que el navegador del cliente envíe los detalles de la tarjeta al procesador recibe servicio de su servidor. En ese caso, aún está sujeto a la conformidad con PCI , según SAQ A-EP (énfasis mío):

  

SAQ A-EP ha sido desarrollado para abordar los requisitos aplicables a   Comerciantes de comercio electrónico con un (s) sitio (s) web (s) que no recibe   Datos del titular de la tarjeta pero que sí afectan a la seguridad del pago.   transacción y / o la integridad de la página que acepta la   datos del titular de la tarjeta del consumidor.

     

Los comerciantes de SAQ A-EP son comercio electrónico   comerciantes que subcontratan parcialmente su canal de pago de comercio electrónico a   Los terceros validados por PCI DSS y no almacenan electrónicamente,   procesar, o transmitir cualquier dato del titular de la tarjeta en sus sistemas o instalaciones.

    
respondido por el gowenfawr 11.04.2017 - 14:43
fuente

Lea otras preguntas en las etiquetas