Pregunta

Alguien tiene experiencia práctica o una referencia para un esquema que implementa un esquema de gestión de claves que cumplir con la PCI DSS estándar de seguridad?

Obviamente, hay un buen número de implementaciones en torno dado el número de empresas que cumplen con la norma PCI DSS, pero tratando de encontrar los detalles de ellos es difícil. Cuando se pone manos a almacenar datos privados la discusión normalmente se detiene en el que el algoritmo de cifrado a utilizar. Después de que hay normalmente una declaración acerca de almacenar apropiadamente la clave privada, pero no hay discusión sobre las formas prácticas para hacerlo o cosas como cambiar periódicamente la clave o proporcionar la clave para las aplicaciones, etc.

specificlly Estoy interesado en ti requisitos de las secciones 3.5 y 3.6 de la norma PCI DSS.

  

3.5.2 almacenar las claves criptográficas segura en las posiciones y formas menor número posible.

     

3.6.a Verificar la existencia de procedimientos de gestión de claves para las teclas usadas para el cifrado de datos de titulares de tarjetas. Nota: Numerosos estándares de la industria para la gestión de claves están disponibles de varias fuentes, incluyendo el NIST, que se pueden encontrar en http: //csrc.nist. gov .

     

3.6.4 Verificar que los procedimientos de gestión de claves se hayan implementado para solicitar cambios clave periódicas por lo menos anualmente.

He echado un vistazo a la NIST criptográficos como el PCI DSS documento de requisitos sugiere, pero aparte de las últimas notas de un criptográfico de clave Taller de Gestión no parece ser mucho que hay en el camino de esquemas ejecutables reales o normas.

En cuanto a lo que estoy tratando de hacer no es:

  1. Almacenar contraseñas + sales como hashes una forma de autenticación,
  2. Elija un algoritmo fuerte symmteric para el cifrado de datos,
  3. evitar la necesidad de almacenar datos privados en el primer lugar.
  4. Evita la necesidad de gestión de claves con otros mecanismos:. Seguridad física, seguridad de bases de datos, dragones y magos, etc.

Todo lo cual son preocupaciones válidas, pero en este caso no son la respuesta. Los tornillos de las tuercas y de mis necesidades están en una pregunta diferente SO . Net Design patrón para almacenar y recuperar datos de usuario sensibles por pero todo se reduce a la gestión de claves, por tanto, esta cuestión más refinado.

¿Fue útil?

Solución

Estoy familiarizado con el dolor que estás pasando. Hemos tenido problemas para actualizar un sistema de EFT de edad hacia el cumplimiento de PCI. gestión de claves fue sin duda (desde mi punto de vista del software) la parte más difícil.

Creo que también tropecé en los href="http://csrc.nist.gov/groups/ST/toolkit/key_management.html" rel="nofollow noreferrer"> recomendaciones del NIST para que Martin ha escrito, y quedó muy frustrado con la falta de ejemplos concretos.

ANSI X9.17 - Institución Financiera de administración de claves es probablemente el más correspondiente a sus necesidades, con PCI-DSS. La buena suerte de leerlo sin embargo, el documento es una gran colección de TLA, que sé que sin duda ha costado leer. (X9.17 se actualiza anualmente, y la última versión es ahora: NIST SP 800-57 Pt. 1 Rev. 4 )

Cuando la frustración se convirtió en desesperación que tropezó en El dinero electrónico Molino que es una historia de ficción, con un buen número de referencias técnicas pertinentes. Capítulo 17 discute X9.17 y puede ayudar en el entendimiento.

A partir de todo este material de referencia que diseñó un sistema de gestión de claves que nuestro auditor se ha mostrado satisfecho con el. Los documentos de diseño son bastante largo, pero en resumen la idea es que usted tiene sus Datos Encrypying clave protegida por una clave de encriptación de clave y la clave de encriptación clave se almacena en una caja separada físicamente, sí protegidos por una clave maestra.

Mi aplicación era tener una aplicación de servidor de claves corriendo en una máquina Windows. Esta aplicación requiere la entrada de dos separadas 'clave servidor maestro claves' antes de que pudiera ser utilizado. Estas teclas serían conocidas sólo por los administradores del servidor de claves. Estas claves se XOR juntos para generar la llave maestra, que se almacena sólo en la memoria protegida mientras se ejecuta la aplicación. Aplicación puede entonces generar automáticamente criptográficamente fuertes clave de encriptación Keys, que se almacenan de forma cifrada utilizando la clave maestra.

Las aplicaciones que tienen una necesidad de cifrado solicitará una clave de cifrado de clave en el servidor de claves. La KEK es utilizado por la aplicación para cifrar / descifrar la clave de cifrado de datos, que puede ser almacenado de forma segura con los datos de aplicación.

Buena suerte. Espero que también les resulta un reto interesante!

Otros consejos

Ha visto NIST SP 800-57 , Recomendación para Key gestión?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top