Where does OS X keep the FileVault password during reboots in an upgrade?
Solution 1:
There's an OS X feature called authenticated restart that stores the FileVault key in the SMC for the duration of the reboot. Apple acknowledges in the manpage that it does reduce FileVault security for the duration of the restart:
On supported hardware,
fdesetup
allows restart of a FileVault-enabled system without requiring unlock during the subsequent boot using theauthrestart
command.WARNING: FileVault protections are reduced during authenticated restarts.
In particular,
fdesetup
deliberately stores at least one additional copy of a permanent FDE (full disk encryption) unlock key in both system memory and (on supported systems) the System Management Controller (SMC).fdesetup
must be run as root and itself prompts for a password to unlock the FileVault root volume. Usepmset destroyfvkeyonstandby
to prevent saving the key across standby modes. Onceauthrestart
is authenticated, it launchesreboot(8)
and, upon successful unlock, the unlock key will be removed.