¿Qué significa la declaración de PCI-DSS "Almacenar por separado de la clave de cifrado de datos"?

6

Según el requisito de PCI-DSS 3.5.2

Cifrado con una clave de cifrado de clave que es al menos tan fuerte como la clave de cifrado de datos, y que se almacena por separado de la clave de cifrado de datos.

¿Significa esto:

  1. Almacenar las claves (DEK y KEK) en diferentes servidores (server1 y server2) o
  2. Almacenar las claves (DEK y KEK) en una ruta de ubicación diferente en la misma máquina.
  

ruta1 (DEK): c: \ user \ chandru \ Document \ DEK \ DEK.txt

     

ruta2 (KEK): c: \ user \ chandru \ Document \ KEK \ KEK.txt

o 3. Almacenar las claves (DEK y KEK) en una ubicación diferente del usuario en la misma máquina.

  

ruta1 (DEK): c: \ user \ chandru \ Document \ DEK \ DEK.txt   path2 (KEK): c: \ user \ somenewuser \ Document \ KEK \ KEK.txt

¿Hay alguna otra manera de almacenar la clave aparte del HSM según los estándares PCI-DSS?

  

Servidor dedicado con HSM:

  

DosservidoresdedicadossinHSM:

    
pregunta chandru 27.02.2014 - 14:28
fuente

2 respuestas

5

Hay dos formas de hacer esto:

Enfoque simple de solo almacenamiento

El primer método es utilizar un dispositivo para cifrar los datos y otro dispositivo para almacenarlo. De modo que los datos se cifran en algunos servidores de aplicaciones, pero se almacenan en un servidor de base de datos. El lugar donde se almacenan los datos no posee ninguna de las claves, es solo el almacenamiento.

Un enfoque más complejo pero más seguro

El segundo método es usar un par de claves público / privado. Se genera una clave de sesión aleatoria única para cada pieza que desea cifrar. Cifra los datos confidenciales con la clave de sesión y la clave de sesión con tu clave pública, y luego descartas tu clave de sesión.

Luego puede almacenar el bloque cifrado en el mismo servidor que la clave pública que se utilizó para cifrarlo, ya que la clave pública no sirve para descifrarla.

Para descifrar sus datos, usa la clave privada para descifrar su clave de sesión, y la clave de sesión para descifrar los datos confidenciales.

Así es como funcionan las herramientas como PGP / GPG, por lo que no necesita (y no debería) implementarlo usted mismo, solo puede usar una de estas utilidades comunes.

    
respondido por el tylerl 27.02.2014 - 19:31
fuente
0

Así que tienes 2 preguntas

¿Qué significa almacenado por separado en el requisito 3.5.2?

"Separar" significa, bueno, separado, por lo que en lo que respecta a ese requisito en particular, sus métodos 1º, 2º y 3º están bien. Sin embargo, en otros requisitos (p. Ej., Lea todos los Requisitos 3.5 y amp; 3.6) PCI-DSS quiere que se asegure de que su almacenamiento de claves sea seguro, por lo que no solo necesita separar el KEK del DEK, debe almacenar los KEK de forma segura (por ejemplo, en un HSM o en un almacén de claves basado en software)

¿Hay alguna otra manera de almacenar la clave aparte del HSM según los estándares PCI-DSS?

Por supuesto que sí, el estándar PCI-DSS no requiere que use un HSM para el almacenamiento de claves. Siempre que el almacenamiento de su clave (los KEK) sea seguro, está bien. En nuestros proyectos, usamos exactamente su enfoque "Dos servidores dedicados sin HSM". Tenga en cuenta que su "Servidor de claves" debería proporcionar la función de almacenamiento de claves y la función de cifrado / descifrado (por lo tanto, debería llamarse otra cosa). De esa manera, sus KEK (sus claves más "preciosas") nunca se exponen al código del cliente (aplicaciones que se ejecutan en el Servidor de aplicaciones en nuestro diagrama).

    
respondido por el dnang 04.02.2015 - 07:22
fuente

Lea otras preguntas en las etiquetas