Tengo el siguiente problema:
Nuestro sistema consiste en una aplicación de teléfono inteligente que recopila datos y un sistema back-end que almacena los datos y los comparte con otros sistemas.
Cada usuario tiene su propio ID de usuario y contraseña, que se utilizan para autenticarse en el servidor.
La contraseña (solo conocida por el usuario) se usa para descifrar una clave de cifrado específica del usuario (ubicada en el servidor) que se usa nuevamente para descifrar los datos de los usuarios.
El usuario puede otorgar permiso al sistema para enviar los datos (clave pública cifrada) a otro sistema.
Por lo tanto, el usuario crea una tarea programada en el sistema backend, que tiene que acceder a los datos cifrados específicos del usuario para enviarlos al otro sistema a la hora especificada.
¿Cómo se puede otorgar a esta tarea acceso seguro a los datos de los usuarios?
Mi problema es que la contraseña del usuario es necesaria para descifrar la clave de cifrado específica del usuario, que se usa nuevamente para acceder a los datos. Podía almacenar la clave de cifrado descifrada por contraseña del usuario al crear la tarea, pero no podría persistir de forma segura esa clave de cifrado hasta que se realice la tarea.
Si falta algo o no está claro, no dude en preguntarme. Gracias de antemano por su tiempo y esfuerzo.