Almacenar detalles de la tarjeta de crédito

60

Necesito almacenar números de tarjeta de crédito para facturación recurrente a través de nuestro comerciante externo.

¿Hay alguna norma que deba cumplir con respecto al almacenamiento de los detalles? Hemos estado aceptando tarjetas de crédito durante años, pero solíamos descartar sus datos tan pronto como terminamos con ellas. Nuestros clientes han solicitado que almacenemos sus datos para que no tengan que pagar manualmente su tarifa de suscripción cada mes.

Mudarse a PayPal para utilizar sus suscripciones no es una opción. Tenemos que almacenarlos, ¡y necesito asegurarme de que el almacenamiento sea seguro!

Usamos MSSQL 2005 para nuestros datos, y todo ya tiene SSL.

Mark Henderson
fuente

Respuestas:

86

Deberá seguir (al pie de la letra) y preferiblemente superar el estándar PCI DSS . Esta no es, de ninguna manera, una tarea fácil de realizar ni debe tomarse de manera trivial.

Yo fuertemente recomiendo que encontrar un procesador de terceros que puede manejar esto para usted e integrarlo en su sistema de facturación. Va mucho más allá de solo tener SSL y cifrar la información en la base de datos. También debe monitorear el acceso, detectar intrusiones, tener sistemas en su lugar que puedan notificar solo a las personas afectadas en caso de una violación (y determinar qué datos pueden haber sido comprometidos), etc.

Luego, hay acceso físico a los servidores, la red, etc. Esto significa un gabinete bloqueado que no se comparte en los servidores que posee donde la LAN física también está protegida. El cumplimiento no será barato ni fácil.

Realmente, dedique todos los esfuerzos posibles para descargar esto a un tercero. La responsabilidad por sí sola simplemente no vale el riesgo a menos que esté hablando de transacciones que ascienden a cientos de miles de (ingrese su moneda aquí) mensualmente. En ese caso, las tarifas que ahorre podrían justificar el talento necesario para implementar y monitorear los sistemas que almacenan la información. Necesitarás:

  • Programadores de sistemas (necesitará ganchos de auditoría a nivel de kernel y sistema de archivos)
  • Gurús de IDS / IPS (a menos que ames el bloqueo de proveedores)
  • Personal 24/7/365 para monitorear las alertas generadas a partir de los sistemas que los expertos diseñaron. Estas personas no son baratas, toman la decisión de desconectar la facturación o informar un error en los algoritmos que utiliza.

Y, de nuevo, podría descargar todo eso a un tercero, de manera bastante económica.

Tim Post
fuente
Hmm, ya estamos a medio camino porque tratamos con información confidencial en nombre de nuestros clientes (servidores bloqueados y detección de intrusos e IPSec en la DMZ ya están en su lugar). Tendré una buena lectura, gracias.
Mark Henderson
@Farseeker: más allá de prevenir el acceso ilegal, la parte más importante es detectarlo y descubrir qué puede haber sido comprometido y quién debe ser notificado rápidamente. Tenga en cuenta que esto también incluiría la copia no autorizada de los archivos que respaldan la base de datos.
Tim Post
55
El hecho de que esté manejando datos de tarjetas de crédito ahora, incluso si no los está almacenando permanentemente, significa que debe cumplir con PCI DSS.
Stephen Jennings
@Stephen: el manejo y el almacenamiento son cosas completamente diferentes cuando se trata de PCI. Manejar solo significa enviar algunos datos a una puerta de enlace y esperar una respuesta. El almacenamiento es su propia lata única de gusanos.
Tim Post
El requisito 3.2 de PCI DSS indica que el código de seguimiento y verificación no puede almacenarse después de la autorización, incluso si está cifrado, y esto incluye TODOS los registros, incluidos los registros de transacciones para la base de datos.
Leigh Riffel
23

Nunca es una buena idea para almacenar datos de su tarjeta de crédito cada vez . Simplemente se está preparando para una caída, cualquier pasarela de pago decente le permitirá realizar transacciones recurrentes con un token donde no tiene que almacenar los detalles de la tarjeta de crédito.

Batidor
fuente
3
+1 por la idea de nunca almacenar CC en su base de datos. Nuestro proveedor de pasarela de pago almacena toda esa información ahora, lo que es un gran alivio para nuestra exposición de seguridad.
Milner
Por ejemplo, una de esas ofertas es Authorize.net Customer Information Manager (CIM) authorize.net/solutions/merchantsolutions/merchantservices/cim y, dado que se mencionó la facturación recurrente, la facturación recurrente automatizada (ARB) authorize.net/solutions/merchantsolutions/merchantservices/ ... Puedes almacenarlos, pero nunca estarán a salvo. Al final, pagará por lo que los servicios le habrían costado en pérdida de reputación, pérdida de ventas, multas de su procesador y cualquier litigio que provenga del compromiso de los datos.
Fiasco Labs
13

Puede encontrar muchas respuestas que busca en el sitio web de la Guía de cumplimiento de la industria de tarjetas de pago . Su página de enlaces es particularmente útil.

La mejor sugerencia sería dejar que un tercero maneje este almacenamiento.

Bryson
fuente
He visto esta cosa PCI lanzada por algunos años, nunca tuve idea de lo que realmente era. Gracias.
Mark Henderson
8

¿Su comerciante tercero no incluye la opción de pagos continuos con tarjeta de crédito? La mayoría de los principales aquí en el Reino Unido ciertamente lo hacen (DataCash, RBS World Pay, etc.).

Básicamente, les envía los Detalles de la Tarjeta una vez, con una solicitud de una autoridad CCC (que, si recuerdo bien, debe incluir el cronograma esperado y la cantidad regular), y luego recibe un token de ellos. Luego, cada mes / lo que sea que encuesta al comerciante con el token, y procesan las transacciones posteriores por usted, generalmente también hay instalaciones para configurarlas para solicitudes variables y ad-hoc. El requisito clave de su parte es notificar al cliente (generalmente al menos 10 días) antes de tomar el pago.

De esta manera, no está almacenando los detalles de CC en ningún lado, todo eso es manejado por personas que cumplen con los requisitos.

Esto es similar a hacer preautorizaciones en una tarjeta, por lo que nunca debería tener que almacenar la tarjeta de crédito, solo un token del comerciante al que puede llamar según sea necesario.

Zhaph - Ben Duguid
fuente
4

Tenemos que almacenarlos, ¡y necesito asegurarme de que el almacenamiento sea seguro!

Una pregunta: ¿por qué?

Solo pido eso porque tengo que lidiar con PCI yo mismo, y seguir con eso es un dolor. A pesar de que mi trabajo diario nos califica como el peldaño más bajo para el cumplimiento de PCI, todavía hay mucho que hacer. Cifrado, menos consideraciones de privilegios, seguridad del sistema operativo del servidor, seguridad de la red interna, seguridad de la frontera, auditorías de terceros ... todo es mucho para mantenerse al día. ¡Y eso incluso con nosotros sin almacenar información de tarjeta de crédito!

(Nota al margen: si está haciendo comercio electrónico, tiene que cumplir con PCI incluso si no está almacenando los datos de CC. Si no tiene una queja ahora, considérese afortunado de que aún no lo haya mordido).

Busque que su procesador lo maneje. Usamos Authorize.net y tienen una API maravillosa para que podamos construir nuestro propio front-end personalizado, pero se encargan de almacenar y manejar los pagos reales. Si quisiéramos configurar la facturación recurrente, tienen un sistema para almacenar la información. Honestamente, confío en ellos más de lo que confío en mí mismo.

dragonmantank
fuente
4

Como otras personas mencionaron, está buscando PCI-DSS. Además, como mencionaron otras personas, es probable que el cumplimiento sea prohibitivamente costoso para sitios pequeños.

Mudarse a PayPal para utilizar sus suscripciones no es una opción. Tenemos que almacenarlos, ¡y necesito asegurarme de que el almacenamiento sea seguro!

Puede almacenar localmente una identificación que identifique la información de la tarjeta de crédito del cliente en su pasarela de pago. No estoy seguro de que PayPal ofrezca esta opción, pero hay otras pasarelas de pago que sí lo hacen.

También tenga en cuenta que incluso si no está almacenando los datos de la tarjeta de crédito en el disco, todavía está dentro del alcance de algunos requisitos de PCI-DSS. Con mucho, la forma más fácil de cumplir es no tomar ningún dato CC (es decir: PUBLICAR el formulario de pago directamente en la pasarela de pago).

Thiago Figueiro
fuente
3

Servicios como http://chargify.com/ ofrecen una capa adicional sobre las pasarelas de pago existentes. Es probable que ofrezcan todo tipo de formas de almacenar tarjetas de crédito para usted, implementar pagos recurrentes e incluso crear informes para usted.

Esto le permitirá evitar toda la responsabilidad y el problema de cumplimiento de PCI. Una preocupación que tengo es si algún día quieres cambiar de proveedor, de cuenta mercantil o de pasarela. ¿Cómo llevas a tus 10.000 clientes contigo? ¿Entregan una base de datos de tarjetas de crédito? ¿Funcionará con un competidor para trasladar la información de la tarjeta de crédito?

Lo dudo. Es probable que tenga que pedir a todos sus clientes que vuelvan a enviar su información de facturación si cambia de proveedor. Este es un pequeño argumento a favor de almacenar la información de la tarjeta de crédito usted mismo. Probablemente solo valga la pena si vas a tener muchos clientes y muchos ingresos. Sería muy curioso escuchar los pensamientos de otras personas sobre este enigma en particular.

zaqintosh
fuente
Ese es un muy buen punto, no había pensado en eso. Hemos estado usando SecurePay durante aproximadamente 5-6 años y no hemos tenido ninguna preocupación con ellos, así que creo que nos quedaríamos con ellos, pero quién sabe lo que depara el futuro ...
Mark Henderson
2

Todavía no tengo suficiente representante para votar o comentar, así que esto va en una nueva respuesta. Como señaló Zhaph , muchas compañías comerciales ofrecen un sistema de pago recurrente donde manejan el almacenamiento por usted.

Hemos estado utilizando Authorize.net para cualquier cliente que no esté dispuesto a usar PayPal y ha funcionado bastante bien (nuestra única gran queja es que la clave API se restablece cada 6 meses y no se molestan en notificarte cuando sucede, por lo que la página simplemente deja de funcionar). Su API está basada en XML y puede encontrar contenedores en casi todos los idiomas.

ChiperSoft
fuente
1

Tenga en cuenta que si decide guardar la información de la tarjeta de crédito en su propia base de datos, en ningún caso debe guardar el código de seguridad de la tarjeta de 3 dígitos . Hacerlo está estrictamente prohibido por las asociaciones de tarjetas.

Por cierto, no necesita el código de seguridad de la tarjeta para realizar una transacción. Mejora la tasa de detección de fraudes, pero no debería necesitarla si tiene una relación continua con el cliente. (E incluso si cree que lo necesita, no puede almacenarlo. Pase lo que pase).

También secundo las otras recomendaciones para no almacenar la información. El Administrador de información del cliente de Authorize.Net es fácil y económico de usar. Será MUCHO MÁS barato usarlo en lugar de incurrir en los costos PCI inherentes al almacenamiento de la información en sus propios servidores.

Larry K
fuente
1

Si va a almacenar tarjetas de crédito en su base de datos, el cifrado es clave. También querrá (o tal vez necesite) que un tercero realice pruebas de cumplimiento de rutina para asegurarse de que sus sistemas estén a la altura.

Milner
fuente
55
Pero no almacene CCs en su base de datos. No lo hagas
dimo414
El cifrado es solo el comienzo. Descargue su SAQ (Cuestionario de autoevaluación) aplicable pcisecuritystandards.org/merchants/self_assessment_form.php y comience a descubrir que el cifrado de la base de datos está muy por debajo de la lista de requisitos. Hay tantas formas de filtrar las credenciales de la tarjeta de crédito que ni siquiera ha tocado el almacenamiento de la tarjeta de crédito.
Fiasco Labs