Almacenar dos copias de datos, cifradas de diferentes maneras

1

Nuestro sitio web tiene algunos datos personales que deben ser visibles tanto para el usuario al que pertenece como para los administradores. También necesita estar encriptado.

Como queremos mantener un sistema simple, solo los nombres de usuario y las contraseñas, sentimos que el mejor método para hacerlo era cifrarlo y almacenarlo dos veces, una vez que utilizamos la contraseña del usuario (AES o un sistema simétrico similar) y una vez que usamos PGP. con una clave pública que ya estamos utilizando en el sistema para otros datos.

¿El almacenamiento de estos datos encriptados de varias maneras representa un riesgo de seguridad significativo? ¿Hace que los datos sean más fáciles de recuperar por un atacante? ¿Existe una mejor manera de lograr esto mientras se mantiene la transparencia del cifrado para el usuario final?

    
pregunta Nathan 27.05.2016 - 16:01
fuente

2 respuestas

1

Un atacante ahora tiene la ventaja de poder elegir qué sistema criptográfico quiere romper. Es suficiente para encontrar una debilidad o error de implementación en cualquiera de los dos. En cuanto a usted, esto agrega la responsabilidad de mantener dos sistemas igualmente seguros.

Si asumimos que lo haces correctamente, no puedo ver ninguna ventaja significativa para un atacante ...

    
respondido por el Thomas 27.05.2016 - 16:57
fuente
0

La respuesta a sus preguntas depende un poco de su modelo, sus requisitos y los posibles atacantes.

  1. Suponga que los datos se almacenan en texto sin cifrar en su servidor. Por lo tanto, los usuarios internos (administradores y otras personas) tienen fácil acceso a los datos y pueden leerlos. Un atacante necesita encontrar un camino en su sistema y recuperar los datos a través de algún medio. Si esto sucede, el atacante no necesita más esfuerzo. Los datos están en texto claro.
  2. Ahora suponga que los datos se almacenan utilizando algún algoritmo simétrico (AES, etc.) y la clave es la contraseña del usuario. Los usuarios internos todavía tienen acceso a los datos, pero ahora ya no pueden leerlos fácilmente. También sube la barra para un atacante. Después de que esta persona haya logrado ingresar a su sistema y tener acceso a los datos, no es posible simplemente leerlos. En su lugar, tanto los usuarios internos como el atacante deben adivinar la clave. Como la clave es la contraseña del usuario, puede ser fácil adivinarla. Porque muchos usuarios elegirán contraseñas fáciles de adivinar. Probablemente sea bastante fácil obtener acceso a la mayoría del contenido.
  3. Ahora cifre los datos adicionalmente con un sistema basado en PGP para usuarios internos. Los usuarios internos también podrán acceder a los datos, pero deberán adivinar la clave privada. Es lo mismo con los atacantes externos. Sin embargo, ambas personas podrían buscar la clave privada una vez que tengan acceso al sistema en su totalidad. Si pueden encontrarlo, pueden descifrar fácilmente los datos.

En general, para aumentar la seguridad de su sistema, debe pensar en los siguientes problemas:

  • seguridad de contraseña: puede requerir contraseñas seguras de sus usuarios. De esta manera, será más difícil adivinar la contraseña y descifrar los datos de un atacante.
  • use claves derivadas para cifrar los datos: no utilice la contraseña simple como clave para el descifrado. En su lugar, podría valer la pena utilizar un algoritmo de derivación de claves y tomar el resultado como clave para el descifrado. Esto eleva el nivel para que un atacante adivine la contraseña, incluso si es más débil.
  • Almacene el segundo conjunto de datos en otro lugar: no los almacene en el mismo servidor. Lleve los datos a otra ubicación y limite la cantidad de personas que tienen acceso a esos datos.
  • Refuerce sus sistemas: tome medidas especiales para asegurar su sistema. Monitorear los intentos de robo.

Estas son recomendaciones bastante generales. Si puede revelar más sobre su arquitectura, sería posible una respuesta más específica.

    
respondido por el qbi 27.05.2016 - 17:41
fuente

Lea otras preguntas en las etiquetas