Almacenar números de tarjetas de crédito

11

Estaré creando un sitio web con un tipo de opción de membresía para el sitio web, y lo más probable es que utilice Authorize.Net para realizar las transacciones. Sin embargo, necesito saber qué tipo de cifrado puedo usar para ¿Almacenar números de tarjeta de crédito en una base de datos MySQL?

    
pregunta AviD 13.01.2012 - 13:43
fuente

3 respuestas

14

¿Por qué incluso almacenarlo en una base de datos MySQL cuando puede utilizar API del Administrador de información del cliente de Authorize.Net y tomarla? ¿El cumplimiento de PCI y los problemas de seguridad están fuera de sus manos por completo y dejar que ellos hagan todo el levantamiento por usted? CIM le permite crear perfiles de pago de los clientes almacenando la información de la tarjeta de crédito del cliente en su final y luego cargarlos contra ese perfil en una fecha futura siempre que necesite simplemente refiriéndose a la ID del perfil de pago en el momento de la transacción.

    
respondido por el John Conde 13.01.2012 - 19:20
fuente
12

El reglamento clave que debe es el Estándar de Seguridad de Datos de la Industria de Tarjetas de Pago (PCI DSS) y de interés específico aquí está la sección 3.4 -

Proteger los datos almacenados del titular de la tarjeta

Render PAN ilegible en cualquier lugar Se almacena (incluso en portátiles digitales medios, medios de copia de seguridad, y en los registros) por utilizando cualquiera de los siguientes enfoques:

  • hashes unidireccionales basados en fuertes criptografía (hash debe ser de la todo el PAN)
  • Truncamiento (no se puede utilizar hashing para reemplazar el segmento truncado de PAN)
  • fichas de índice y almohadillas (las almohadillas deben ser almacenado de forma segura)
  • Criptografía fuerte con asociado procesos de gestión de claves y procedimientos

¡El resto de la sección 3 también vale la pena leerlo en profundidad!

    
respondido por el Rory Alsop 13.01.2012 - 14:30
fuente
2

Probablemente (vea la nota a continuación) cumple con los requisitos si usa un cifrado simétrico bien conocido (como AES o blowfish / twofish) en los datos confidenciales usando una clave almacenada en algún lugar que no sea accesible desde la base de datos. Dado que el resultado no es imprimible, puede codificar el resultado para almacenamiento en formato hexadecimal o base64.

Obviamente, cualquier sistema que realice cifrado y descifrado automáticos será intrínsecamente menos seguro que un sistema manual, ya que las claves deberán almacenarse allí mismo en el servidor para que funcione. Pero cuanto más se puedan separar, mejor.

Mejor aún, muchos proveedores de pasarelas permiten mecanismos en los que no tiene que almacenar la tarjeta del cliente en su servidor, incluido el CIM de Authorize.net y las Transacciones de referencia de Paypal solo para mencionar un par de ejemplos.

Nota : Esto no constituye un consejo legal o de seguridad y no debe interpretarse como tal. Siempre debe contratar a un profesional de seguridad local si tiene preguntas o inquietudes.

    
respondido por el tylerl 24.02.2012 - 08:52
fuente

Lea otras preguntas en las etiquetas