¿Hay alguna diferencia entre obtener la clave de cifrado y los datos cifrados del servidor en términos de seguridad?

2

Supongamos que tenemos servidores web y de aplicaciones e intentamos cifrar la información de la tarjeta de crédito para nuestra aplicación web financiera. La comunicación entre los servidores web y de aplicaciones está protegida a través de SSL / TLS. Digamos que los datos cifrados son necesarios en el servidor web que se enviará al servidor de la aplicación para su protección. ¿Hay alguna diferencia entre estos dos enfoques?

  • Obtener la clave de cifrado del servidor de aplicaciones (que obtiene la clave de HSM) y cifrar los datos en el servidor web.
  • El envío de datos no encriptados al servidor de aplicaciones que encripta los datos mediante la clave obtenida de HSM y los devuelve al servidor web.

Detalles sobre el medio ambiente

Estamos tratando de lograr el certificado PCI-DSS para nuestra aplicación de TPV virtual. El servidor web está abierto a Internet fuera de la comunicación también es seguro (SSL). El servidor de aplicaciones contiene la lógica de negocios y solo se accede a través del servidor web. Puede asumir que todos los demás criterios de seguridad para PCI-DSS están garantizados.

    
pregunta berkersonmez 18.05.2016 - 09:29
fuente

2 respuestas

2

Hay una razón para cifrar los datos donde están almacenados: el almacenamiento puede verse comprometido (directamente o desde una copia de seguridad). Si aceptamos que el mantenimiento de los datos en forma cifrada es una buena idea, entonces el acceso a la clave descifrado debe estar restringido.

No especificaste si el cifrado era simétrico o asimétrico. En el caso de la primera, la clave de descifrado es la clave de cifrado.

Tomando el caso de la clave asimétrica, existe el riesgo de que alguien con acceso a los datos, pueda usar su infraestructura como medio para encontrar colisiones y, por lo tanto, forzar la información bruta, pero esto sería muy pequeño.

De manera similar, hacer el cifrado en el cliente significa que está exponiendo el algoritmo; dejando de lado los argumentos sobre el principio de Kerchoff frente a la seguridad por oscuridad, esto extiende la superficie de ataque en el cliente. Nuevamente el riesgo es muy pequeño.

Si la aplicación (del lado del servidor) no tiene visibilidad de los datos no cifrados ni de la clave de descifrado, el compromiso de la aplicación no compromete los datos, pero es difícil imaginar por qué estaría capturando y almacenando los datos que puede " No hagas nada útil con.

    
respondido por el symcbean 18.05.2016 - 14:27
fuente
1

Dado que la comunicación entre la web y los servidores de aplicaciones está protegida a través de SSL / TLS, los datos ya están encriptados en tránsito por la clave de la sesión, por lo que creo que sus dos opciones son muy similares.

Puede haber una pequeña ventaja para el cifrado de la clave HSM del servidor de aplicaciones, de manera que el texto plano de los datos nunca esté en el servidor de aplicaciones, pero si está preocupado por el compromiso del servidor de aplicaciones, entonces tiene más problemas.

Por último, no sé nada sobre PCI-DSS, pero de Wikipedia :

  
  1. Proteger los datos almacenados del titular de la tarjeta
  2.   
  3. Cifre la transmisión de los datos del titular de la tarjeta a través de redes abiertas y públicas
  4.   

Cualquiera de las variantes de su esquema parecería cumplir con ambas.

    
respondido por el Mike Ounsworth 18.05.2016 - 13:29
fuente

Lea otras preguntas en las etiquetas