¿Cómo cifrar el número de tarjeta de crédito para almacenarlo en la base de datos del servidor SQL de acuerdo con el requisito de PCI DSS?

4

Según el requisito de PCI-DSS 3.4:

Render PAN ilegible en cualquier lugar que se almacena mediante los siguientes métodos:

  1. hash unidireccional
  2. Truncamiento
  3. fichas y almohadillas de índice
  4. Criptografía sólida con procesos y procedimientos de administración de claves asociados

Mi pregunta basada en el requisito anterior es:

  1. Entonces, si necesita cifrar los detalles de la tarjeta de crédito, ¿cuál sería un mejor proceso?

  2. Si vamos a cifrar el número de la tarjeta de crédito para el almacenamiento, entonces deberíamos tener una Clave de cifrado de datos (DEK) para cifrar el número de la tarjeta de crédito. Entonces, ¿necesitamos generar una clave de cifrado única para cifrar cada número de tarjeta de crédito? o ¿Para generar una clave de cifrado única para cada usuario (cada usuario puede tener dos o más CC)? o ¿Para generar una clave de cifrado única para cifrar todos los números de tarjetas de crédito?

  3. ¿También proporciona algún enlace relacionado con las almohadillas de una vez o explica sobre esto?

pregunta RajeshKannan 22.01.2014 - 18:46
fuente

1 respuesta

4
  1. Las dos primeras opciones (hash unidireccional, truncamiento) no lo dejan con un número de trabajo, por lo que si espera usar la tarjeta nuevamente en el futuro, estas no funcionarán para usted. En el otro extremo del espectro, la criptografía sólida le dará esa capacidad, pero es más difícil e implica la configuración de procesos (como la rotación y la gestión de claves).

  2. Debido a los requisitos de rotación de claves, las soluciones generalmente se enfocan en el uso de una clave a lo largo de su criptoperiodo, en lugar de vincular claves con usuarios o tarjetas.

    Por lo general, usaría un DEK (llámelo DK1) para el cifrado de varias tarjetas, durante la duración de la OUP de DEK (Período de uso del originador). Digamos que la OUP es de 3 meses. Después de 3 meses, generaría un nuevo DEK (DK2), y todos los nuevos encriptados de tarjetas comenzarán a usar ese número. Sin embargo, para todas las tarjetas que cifró en los primeros tres meses, es posible que tenga que descifrarlas, ¿verdad? Por lo tanto, DK1 puede continuar usándose para descifrar esas tarjetas encriptadas existentes a lo largo de su RUP (Período de uso del destinatario) que es más largo (digamos 12 meses).

    Entonces, en un momento dado, tendrá al menos un DEK en uso como OUP y un RUP, y 3 otros DEK utilizados únicamente como RUP. Y a medida que el DEK más antiguo se acerca al final de su RUP, debe volver a cifrar todas sus tarjetas con un DEK más reciente.

    Eso es lo que significa PCI con "con procesos y procedimientos de administración de claves asociados". La terminología anterior es de NIST 800-57, que PCI cita como un ejemplo del tipo de directrices de gestión de claves que buscan en DSS 3.6.4.

    También debe proteger este establo de DEK con una KEK (Clave de cifrado de clave).

  3. No. < OPINIÓN > Las almohadillas de una sola vez no son una solución realista; Si bien criptográficamente son seguros, no son manejables en ninguna escala utilizable. ¡Imagina lo que dije para el # 2, pero con un DEK por tarjeta! < / OPINION >

respondido por el gowenfawr 22.01.2014 - 23:20
fuente

Lea otras preguntas en las etiquetas