Las cuatro tentaciones
Configuración en claro, cadena incrustada en el binario, fichero cifrado con la clave al lado y almacenamiento del navegador. Por qué cada una parece razonable y por qué ninguna lo es.
Las cuatro
La tercera merece su párrafo
Es la más interesante porque es la única que parece un diseño y no un atajo, y es donde más gente inteligente acaba.
El razonamiento es correcto hasta el último paso: los datos van cifrados, el algoritmo es bueno, la implementación es de una librería seria. Y entonces llega la pregunta que no tiene respuesta local: ¿dónde está la clave?
- En el binario — es la fila 3. La clave se extrae y sirve para todos los usuarios a la vez.
- En otro fichero al lado — el mismo problema con un paso más.
- Derivada de algo de la máquina —el identificador del equipo, el nombre del usuario— es la variante sofisticada, y se rompe igual: el atacante que corre en esa máquina tiene los mismos ingredientes que tú.
- Derivada de una contraseña que el usuario introduce — ésta sí funciona, y es la única que funciona sin almacén del sistema. Su precio es que el usuario escribe una contraseña cada vez que arranca la aplicación.
- En el almacén del sistema — que es la respuesta de esta fase: el sistema guarda la clave, tú cifras con ella.
Fíjate en que las dos últimas son la misma idea: el secreto raíz lo custodia algo que no está en tu binario. En un caso, la cabeza del usuario; en el otro, el sistema operativo, que ya tiene ese trabajo resuelto y atado al inicio de sesión.
Mal y peor no es lo mismo
Una nota que evita el fatalismo: las cuatro son inadecuadas y no son equivalentes.
Un fichero en claro y una cadena en el binario se leen sin saber nada. Un fichero cifrado con clave incrustada exige alguien que se moleste, y esa diferencia importa cuando el atacante realista es un programa automático que busca patrones conocidos en directorios de usuario, no una persona interesada en tu aplicación concreta.
Eso no es una defensa de la opción tres —el nivel 29.5 ya dijo lo que pasa cuando algo que solo entretiene se cuenta como protección—. Es una observación de orden: si estás en la uno o en la dos, salir de ahí es lo urgente; refinar entre la tres y el almacén del sistema es lo siguiente.
Y la quinta, que no está en la tabla
Porque no es una tentación sino un olvido: el secreto que dejaste en un registro. Un testigo impreso en la consola durante una depuración, un error que incluye la cabecera de autorización, un informe de fallos que adjunta el estado entero. La fase XII lo trata, y merece nombrarse aquí porque el que guarda bien y registra mal ha hecho la mitad del trabajo por nada.