There's an important point to understand in the design of Luks thats rarely mentioned: the master key remains constant throughout the life of the encrypted partition, because all the blocks of the partition have already been encrypted using it. Changing the master key would require updating every block of the partition, which could take hours (and must not be interrupted).
Hence their decision to encrypt the master key using another key (the key-encryption-key) and store the encrypted master key in the header of the same partition. The key-encryption-key is never stored on disk - its derived from the passphrase.
Once this design is understood, the caveats explained in the FAQ will make sense:
- You cannot recover data if your partition header is damaged. Possessing the passphrase (and thus the key-encryption-key) is useless since the encrypted master key is missing.
- Changing your passphrase does not stop an attacker who knows your old passphrase and has a copy of your old header. He can simply write the old header on top of the new one, enter the old passphrase, and open the partition.
- If a previous admin was granted a key slot, and a later admin deletes that key slot to secure the system, in reality its not as secure as he thinks it is.
The only secure solution in these scenarios is to use cryptsetup-reencrypt to change the master key and update all blocks on the partition.