Escenario
- La clave maestra se ingresa al iniciar sesión y luego se cifra con
$server_key - La clave maestra ahora se almacena como
$_COOKIE['encrypted_key']variable para la persistencia (por lo que el usuario no tiene que ingresar cada carga de página) -
$server_keyse almacena dentro de un archivo de configuración en el servidor de aplicaciones - Los datos se descifran primero descifrando
$_COOKIE['encrypted_key'](usando$server_key), por lo tanto, revelando la clave maestra -
$_COOKIE['encrypted_key']se destruye al salir del navegador
Treat
El atacante obtiene acceso al dispositivo / cookie del usuario y a los datos cifrados (pero no a los archivos de configuración del servidor de aplicaciones).
Pregunta
¿Tiene sentido cifrar la clave maestra con $server_key y luego almacenar $server_key dentro de un archivo de configuración en el servidor de aplicaciones?
Razonamiento
Ganar solo el $server_key o solo el $_COOKIE['encrypted_key'] no comprometerá nada. El atacante debe obtener ambos.
Actualizar
- Esto está bajo HTTPS
- El secuestro de la sesión sería difícil ya que verificamos la huella digital de la sesión por solicitud