sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server 2008 + Cumplimiento PCI? Pertenece a PCI, así como a claves simétricas.

Si almacena el PAN (número de tarjeta), entonces debe estar absolutamente encriptado.

Si almacena el nombre del titular de la tarjeta, la fecha de vencimiento, el número de emisión (y se pueden vincular al PAN), entonces deberían estar encriptado, pero (según tengo entendido) es que no es absolutamente necesario. PCI-DSS solo establece que, como mínimo, el PAN debe estar encriptado.

El código CV2/AVS/CSC no se puede almacenar después de la autorización, e idealmente querrá probar que no está almacenado en absoluto (por ejemplo, solo se mantiene en la memoria mientras se realiza la autorización)

Con respecto a los certificados/claves, solo puede usar una clave para el cifrado de todos los datos relacionados con la tarjeta. La mejor práctica es no usar claves para múltiples propósitos, por lo que si tiene otros datos (no relacionados con la tarjeta) que están encriptados, use una clave separada para eso.

La parte más difícil es una que realmente no ha mencionado en detalle, y esa es la gestión de claves. Para cumplir con los requisitos de PCI, la clave debe almacenarse en una caja física separada de la base de datos y debe poder cambiar la clave al menos una vez al año. SQL 2008 admite esto con Administración de claves extensible (EKM)

Todos estos puntos se discuten mejor con un QSA (asesor de seguridad calificado) independiente a quien en algún momento deberá involucrar independientemente para cumplir con el cumplimiento de PCI. Su QSA podrá guiarlo sobre preguntas como esta y, en última instancia, es su consejo que debe seguir para cumplir con el cumplimiento.

Vale la pena mencionar que la mayoría de las personas pronto se dan cuenta de la carga que puede ser el cumplimiento de PCI y buscan minimizar esa carga mediante el uso de una pasarela de pago de terceros. La mayoría de las pasarelas de pago le permitirán realizar autorizaciones/liquidaciones y almacenar los detalles de la tarjeta en sus servidores (que ya cumplen con PCI). Luego, solo necesita almacenar un TokenId que haga referencia a esos detalles de pago en caso de que necesite realizar más cargos/reembolsos en esa tarjeta.

¡Buena suerte de cualquier manera!