Tengo n secretos para ocultar, mi objetivo es recordar solo una semilla y derivarla de la semilla. ¿Es este un enfoque seguro?
Calcular n teclas:
k(1) = seed XOR secret(1)
...
k(n) = seed XOR secret(n)
Almacene estas claves en una aplicación, solicitando al usuario una semilla y calcule los secretos usando XOR.
El usuario obtendrá un resultado incluso usando una semilla incorrecta y no sabe si obtuvo los secretos correctos.
¿Cuáles son los inconvenientes al almacenar estas claves en un lugar donde cualquiera puede mirar?
Editar : según las respuestas y otras lecturas, hice algo como esto:
- Use la semilla como contraseña para que un PBKDF2 genere una clave AES y IV
- Escriba los secretos en formato JSON
- Encriptar el texto JSON con la clave AES y IV generados a partir de la semilla
- El texto cifrado se almacena dentro de la aplicación
- La semilla se usa como entrada para calcular la clave y la IV en tiempo de ejecución
Cualquier otro pensamiento sería apreciado