A whole-value substitution attack replaces one encrypted database value with a ciphertext copied from another record. Encryption can remain intact while the attacker causes an unauthorized plaintext substitution. section 14.6 section 14.8
Robin Round’s salary increase
Robin Round can read and update Employees rows without understanding encrypted salaries. He copies Bob Walford’s encrypted salary into his own row, then both decrypt to $96,000. The substitution succeeds because the ciphertext is accepted without being bound to its original record. section 14.6.2
Reduce the attack surface with these rules:
- Use cell-level encryption sparingly; it can cause serious performance degradation and substantial storage bloat. section 14.6
- Encrypt an authenticator alongside the sensitive value, commonly the row’s primary key, and supply that authenticator during decryption. section 14.6.2
