Security Patterns¶
Tier: 2 (Architectural Judgment)
Concepts: 14
Durability: Timeless (These principles derive from fundamental constraints of adversarial environments, information asymmetry, and the impossibility of proving system correctness)
Fundamental Tensions¶
| Tension | Description |
|---|---|
| Security vs. Usability | Every security measure adds friction. Strong authentication requires effort; encryption requires key management. Users circumvent security that impedes their work, creating shadow systems. Perfect security would make systems unusable; perfect usability ignores threats. |
| Security vs. Performance | Security operations consume resources. Encryption has computational cost; validation requires cycles; logging consumes storage and bandwidth. Systems under load face pressure to bypass security checks. This tension is physical - cryptographic operations require computation. |
| Transparency vs. Confidentiality | Debugging requires visibility; security requires opacity. Users want to understand system behavior; attackers exploit that same understanding. Audit trails must be detailed enough to detect attacks but not so detailed they become attack vectors themselves. |
| Convenience vs. Safety | Secure defaults often inconvenience legitimate use cases. Remembering passwords is hard; frequent re-authentication interrupts flow; least privilege requires explicit permission requests. Making systems "just work" often means insecure defaults. |
| Defense Depth vs. Complexity | More layers provide more protection but increase system complexity. Complex systems have more failure modes, harder debugging, and larger attack surfaces. The security gained from additional layers can be lost to bugs introduced by complexity. |
Concepts¶
- Defense in Depth
- Least Privilege Principle
- Trust Boundaries
- Authentication vs. Authorization (Identity vs. Permission)
- Fail Securely
- Secure by Default
- Complete Mediation
- Economy of Mechanism
- Input Validation at Boundaries (Never Trust External Data)
- Threat Modeling
- Zero Trust Architecture
- Secrets Management
- Security Logging and Audit Trails
- Separation of Duties
Cross-Domain Transfer Summary¶
| This Domain Concept | Transfers To |
|---|---|
| Defense in Depth | Physical security, safety engineering, quality assurance, financial controls |
| Least Privilege | Organizational management, API design, microservices, financial controls |
| Trust Boundaries | Organizational boundaries, distributed systems, API design, physical security |
| Authentication vs. Authorization | Physical access, API design, database access, organizational hierarchy |
| Fail Securely | Safety engineering, circuit design, API error handling, mechanical systems |
| Secure by Default | Product design, API design, configuration management, privacy |
| Complete Mediation | Physical security, financial transactions, API gateways |
| Economy of Mechanism | Software architecture, cryptography, API design, legal contracts |
| Input Validation | Data quality, API design, distributed systems, parsing |
| Threat Modeling | Risk management, safety engineering, business strategy, insurance |
| Zero Trust | Organizational trust, distributed systems, supply chain security |
| Secrets Management | Physical key management, cryptography, personal security |
| Security Logging | Financial auditing, legal compliance, debugging, scientific research |
| Separation of Duties | Financial controls, governance, legal systems, cryptography |
Canonical Sources¶
| Source | Coverage |
|---|---|
| Saltzer & Schroeder, "The Protection of Information in Computer Systems" (1975) | Foundational security principles: least privilege, defense in depth, fail securely, economy of mechanism, complete mediation, secure by default |
| Shostack, "Threat Modeling: Designing for Security" (2014) | Threat modeling methodology, STRIDE framework, trust boundaries, attack surfaces |
| McGraw, "Software Security: Building Security In" (2006) | Secure software development lifecycle, input validation, security testing concepts |
| Anderson, "Computer Security Technology Planning Study" (1972) | Reference monitor concept, complete mediation |
| Lampson, "Protection" (1971) | Access control concepts, capability-based security, authorization models |
| Clark & Wilson, "A Comparison of Commercial and Military Computer Security Policies" (1987) | Separation of duties, integrity models |
| NIST Special Publication 800-207, "Zero Trust Architecture" (2020) | Zero trust principles, identity-based access, micro-segmentation |
| OWASP Foundation Resources | Practical security guidance, input validation, secrets management, current attack patterns |
| Forrester Research, "No More Chewy Centers" (2010) | Zero trust origin, perimeter-less security concept |