Economy of Mechanism¶
Security mechanisms should be simple enough to verify; complexity is the enemy of security because it creates hiding places for vulnerabilities.
Tension Addressed¶
Defense Depth vs. Complexity
Recognizable As¶
Small trusted computing bases; simple authentication protocols; minimal attack surface; avoiding clever security code; preferring well-analyzed standard approaches over custom implementations.
Canonical Sources¶
Saltzer & Schroeder, "The Protection of Information in Computer Systems" (1975)
Transfers To¶
Software architecture (simplicity), cryptography (using standard algorithms), API design (minimal surface area), contract law (simpler contracts are more enforceable)
Every line of security code is a potential vulnerability. The only code guaranteed to have no bugs is code that doesn't exist.