2010-10-15 20 views
13

Necesito guardar los números de tarjeta de crédito y los códigos secretos de los usuarios en la base de datos en texto plano (consenso detrás obviamente) para la operación automática hecha desde el servidor.¿Puedo guardar el código secreto de la tarjeta de crédito en la base de datos?

¿Hay algún problema?

¿Qué debo tener en cuenta?

+10

PCI DSS prohíbe almacenar el código CVV (suponiendo que eso es lo que quiere decir con "código secreto"). – Jeff

+0

@Jeff lo permiten en algunas situaciones si puede probar que es obligatorio. – Incognito

+4

@user. Lo siento, pero te equivocas. No se puede almacenar después de la autorización. Trabajé en la construcción de sistemas de pago compatibles con PCI – PaulG

Respuesta

18

La mayoría de los acuerdos de procesamiento de tarjetas de crédito que he visto no le permiten almacenar el código en la parte posterior de la tarjeta.

Existen otras implicaciones de seguridad para el almacenamiento de números de tarjetas de crédito de texto plano, pero el almacenamiento del código generalmente no está específicamente permitido por su acuerdo. Deberá leer los suyos para asegurarse de que puede hacer eso.

En cuanto al almacenamiento del número de la tarjeta de crédito, también suele ser una muy mala idea. Si su base de datos está comprometida, será considerado responsable y podría costarle mucho dinero.

A menos que tenga una muy buena razón para almacenar el número de tarjeta de crédito y tenga un equipo muy bueno trabajando en seguridad, no recomendaría almacenar ningún dato de tarjeta de crédito.

8

Respuesta corta, no, mala idea. Tendría que tener TANTAS consideraciones que simplemente no es una buena idea. No importa que la mayoría de los acuerdos no te permitan hacerlo de todos modos.

Authorize.net (solo un ejemplo) almacenará la información de la tarjeta de crédito para que pueda hacer refacturaciones. Es un sistema simple que funciona muy bien y le absuelve de cualquier problema relacionado con el almacenamiento.

+1

+1. Terrible y terrible idea de almacenar información de tarjetas de crédito TJX tuvo que pagar $ 10M porque su base de datos fue pirateada. –

5

El código CVV se utiliza para verificar que el titular de la tarjeta tenía la tarjeta en el momento de la transacción original. Una vez que hayas verificado eso, no lo necesitas de nuevo, así que no lo almacenes.

Todos los acuerdos de cuenta mercantil que conozco indican específicamente que NO debe almacenar el CVV. Esto es por razones de seguridad.

Usar el código CVV en cada transacción automatizada sería como decir que su sistema automatizado tiene la tarjeta en su poder en el momento de la transacción, lo que supongo que no es el caso.

No lo necesita una vez que lo haya verificado la primera vez. Definitivamente no lo guarde.

No tiene permitido almacenar los números de tarjeta de crédito en texto sin formato.

19

PCI-DSS (Estándar de seguridad de datos de la industria de tarjetas de pago) prohíbe absolutamente que los detalles de la tarjeta se conserven en el disco en texto sin formato. Además, el código de seguridad de la tarjeta de 3 dígitos (4 dígitos en Amex) no se puede almacenar después de la autorización, e idealmente solo debe guardarlo en la memoria hasta que se complete la autorización.

PCI indica que puede almacenar a lo sumo los primeros seis y los últimos cuatro dígitos en texto sin formato. Los requisitos para los recibos impresos son diferentes, allí solo puede imprimir los últimos cuatro dígitos como máximo.

PCI no es mucho más fácil si desea intentar encriptar los detalles antes de persistirlos. Debe considerar key management, key rotation, split keys.Además, necesitaría someterse a yearly onsite audits sobre la seguridad de su red interna, y quarterly audits de su red pública. El costo neto se ejecutará fácilmente en $ miles.

En resumen. ¡Ni lo pienses!

Cuestiones relacionadas