¿Dónde almacenar las claves del algoritmo de cifrado?

Necesito desarrollar una aplicación de Android donde el cifrado / descifrado se hace en el lado del cliente. Los datos que se transportan y almacenados en el servidor DEBE ser cifrado. El problema es que no puedo almacenar la clave de cifrado / descifrado en cualquier lugar.

Las claves no se pueden almacenar en la máquina cliente. Debido a que los administradores (o alguien que puede acceder al servidor) no deben tener acceso a los datos no cifrados.

¿Cómo generar claves entonces? ¿Puede sugerir algún método?

Supongo que cuando usted dice que las claves de cifrado no deben ser almacenados en el dispositivo, lo que realmente significa que 🙂 Porque si esa restricción no estaban allí, podría utilizar el KeyStore . Sin embargo, esto significa que las claves se almacenan en el dispositivo, que parece no ser lo que desea.

Por lo tanto, suponiendo que las claves de cifrado son externas al dispositivo, es algo sencillo ya que no hay mucho espacio para elegir: su aplicación cliente le pide al usuario que introduzca la clave de cifrado de alguna manera (hasta usted), que utiliza para cifrar el Datos y, a continuación, olvida la clave de cifrado de forma inmediata.

A continuación, envía los datos cifrados al servidor, donde se almacena. El servidor no conoce las claves de cifrado, así que para el servidor es sólo una gota opaca de datos.

Cuando el usuario desea recuperar los datos, tiene que proporcionar la clave de descifrado en el lugar, ya que no se almacena en el dispositivo.

  • MapActivity: establece APIKey de forma programática
  • Cómo imprimir todas las claves y valores de HashMap en Android?
  • Cómo ocultar la clave pública en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.