Cryptographic goals
Threat-model encrypted data
Decide which attacker, endpoint, storage system, administrator, or physical loss encryption should protect against.
8 minute lesson
Encryption is not useful in the abstract. Ask who has the key and who you are trying to keep out.
Disk encryption protects a powered-off stolen disk but not an attacker controlling the running server. Application encryption can protect a database dump, but the application may still decrypt records. Map keys and plaintext locations before choosing the layer.
A database field is encrypted, but the decryption key sits in the same application environment. A stolen database backup is protected; remote code execution in the application is not.
Moving the key to a managed service can reduce direct key exposure, but an authorized application may still request decryption. Encryption changes the attack path rather than removing it.
Draw the plaintext and key locations for one customer address from browser input through logs, database, backups, and application memory. Mark which attacker each encryption layer blocks and save the diagram. Then assume the application process is compromised and identify every remaining plaintext and decryption path.
Lesson completed