Cifrado asimétrico en los datos del usuario para permitir entradas no autenticadas

0

Normalmente, me gustaría desarrollar una aplicación que cifre los datos del usuario con cifrado simétrico (AES 256) a partir de una clave derivada basada en contraseña (PBKDF2).

Para un nuevo proyecto, me gustaría que los usuarios puedan agregar datos a su cuenta sin autenticarse. Todo lo que deberían saber es el identificador de su cuenta (nombre de usuario, correo electrónico, etc.).

¿Puedo lograr esto con un cifrado asimétrico como RSA? La entrada no autenticada se cifraría con la clave pública de una cuenta, y solo el titular de la cuenta podría descifrarla con su clave privada.

¿Sería este un enfoque aceptable, o estoy totalmente fuera?

Editar: Para aclarar, un caso de uso sería la capacidad del propio sistema para generar datos en nombre de un usuario que solo pueden ser descifrados por el usuario. Suponiendo que el sistema no hace registros de esto.

    
pregunta Sterling Beason 21.11.2018 - 07:13
fuente

1 respuesta

0

Creo que sus usuarios deberían estar autenticados para agregar datos a sus cuentas. Tenga en cuenta que si alguien pudiera contaminar los datos solo con conocer las credenciales.

Otro enfoque que puede seguir es que su aplicación solo escribirá los datos del usuario si se ha firmado correctamente. Al crear la cuenta, almacena la clave pública del usuario y para agregar datos a esa cuenta solo los datos que se han firmado con la clave de acceso confidencial que su aplicación puede verificar. Aquí hay un ejemplo:

  1. El usuario genera una clave privada y pública.
  2. Su aplicación genera una cuenta con (nombre de usuario, correo electrónico, clave pública) (account1)
  3. Algunos usuarios desean escribir datos en la cuenta 1.
  4. Su aplicación verifica que los datos recibidos tengan una firma que pueda verificarse con la clave pública de account1. Si esta operación es verdadera, esto significa que los datos recibidos se han firmado con la clave privada de account1, en cualquier otro caso, usted rechaza los datos.

Espero que esto te ayude

    
respondido por el camp0 21.11.2018 - 10:04
fuente

Lea otras preguntas en las etiquetas