Cifrado fuerte de archivos para datos confidenciales [cerrado]

-3

Mi primera pregunta:

Nuestra nueva aplicación funcionará con archivos que contienen datos confidenciales (por ejemplo, finanzas). Estos archivos se almacenarán en el cliente primero que se sincronizarán con nuestro servidor.
Necesito un método para ...

  • pueden existir dispositivos maliciosos de phishing en la PC cliente para recopilar estas informaciones
  • hacer que los datos de los usuarios no se puedan rastrear, lo que impide que alguien sepa qué datos pertenecen a qué persona.
  

Entonces, ¿cuáles son los métodos bien establecidos para hacer esto?

Mi segunda pregunta:

He oído hablar de algunos algoritmos de cifrado como AES, pero no sé si es suficiente para usar esto (me refiero a AES256 al menos).

  

¿AES es bueno para encriptar archivos o me puede sugerir algo mejor?

    
pregunta NagyDani 19.10.2017 - 11:55
fuente

3 respuestas

1
  

la lucha contra el phishing malwares puede existir en la PC cliente

Fundamentalmente esto es imposible. Si la máquina cliente se ve comprometida en un punto donde el código puede ejecutarse como root o el usuario al que intenta acceder a su aplicación, debe asumir que un actor suficientemente determinado podrá leer cualquier cosa que su aplicación pueda.

  

hacer que los datos de los usuarios no se puedan rastrear, lo que impide que alguien sepa qué datos pertenecen a qué persona.

Entonces, ¿cómo sabrá su aplicación qué datos entregar al usuario? Puede hacer que los usuarios inicien sesión con un alias, pero ese es el caso con cualquier sistema de nombre de usuario / contraseña que no verifique la identidad de los usuarios.

  

¿Es AES bueno para encriptar archivos o me puede sugerir algo mejor?

AES-256 (en los modos correctos para el uso) se considera seguro. "Más seguro" y "Menos seguro" no son realmente una cosa. O algo se ve como "improbable que sea rompible en el corto plazo con la progresión tecnológica esperada" o no.

Pero también debe decidir dónde cifrará estos datos (cliente o servidor), dónde almacenará las claves para el cifrado y si cifrará la comunicación con el servidor. ¿Cuál es el sistema de comunicación entre el cliente y el servidor? Es casi seguro que desee utilizar algún tipo de SSL.

Si los datos están cifrados con claves o contraseñas proporcionadas por el usuario (suponiendo que no las almacene), serán completamente irrecuperables si olvidan su contraseña. Si usa el servidor almacenado, si la arquitectura de su servidor se ve comprometida, es probable que obtengan las claves y los datos y puedan recuperarlos.

Le sugeriría que necesite sustancialmente más lectura / aprendizaje hasta que comprenda completamente estos temas y las consecuencias respectivas en las decisiones antes de continuar.

    
respondido por el Hector 19.10.2017 - 12:17
fuente
0

Mi consejo es:

ESENCIAL -Utilice un certificado TLS del servidor para proteger la conexión (confidencialidad, integridad y autenticidad del servidor).

PRIMERA PREGUNTA: - Utilice la autenticación multifactor, en la autenticación o cuando ocurra una operación crucial.

  • Utilice los seudónimos para asociar usuarios a datos, en lugar de asociaciones directas. Debe ser impredecible y el tamaño debe ser seguro (utilice valores hash)

SEGUNDO:

  • Sí, AES es una buena opción. Aunque depende de su sistema, el modo de cifrado que utiliza (ECB, CBC, ...), cómo genera y almacena la clave simétrica. La mejor opción en este caso es utilizar AES-GCM (cifrado autenticado con datos asociados (AEAD).

  • También puede usar RSA, que funciona como criptografía asimétrica. Búscalo.

Espero que ayude

    
respondido por el rew1nd 19.10.2017 - 12:12
fuente
0

Le sugiero que no escriba su propio código de cifrado. Seguramente te equivocarías. Sus usuarios deben usar algún software de cifrado existente como GPG (y cualquier interfaz gráfico que les guste) para cifrar los archivos. (O bien, puede escribir su propio front-end para GPG si necesita que esté integrado de forma limpia dentro de su aplicación).

    
respondido por el Erwan Legrand 19.10.2017 - 12:22
fuente

Lea otras preguntas en las etiquetas