Concevoir une architecture sécurisée signifie structurer les systèmes avec des principes de sécurité intégrés — défense en profondeur, moindre privilège, zéro confiance, défauts sécurisés, et bien d'autres. Ces principes guident la construction de systèmes résilients aux attaques par conception.
Principes fondamentaux de sécurité
DEFENSE IN DEPTH → multiple LAYERS of security (network, app, data, etc.) → no single
point of failure; if one layer fails, others still protect
LEAST PRIVILEGE → every component/user gets the MINIMUM access needed → limits blast radius
ZERO TRUST → "never trust, always verify" → don't trust based on network location;
authenticate/authorize every request (vs old "trusted internal network" model)
SECURE DEFAULTS → secure out of the box (closed by default, opt-in to open)
FAIL SECURELY → on failure, default to a SAFE/denied state (not open)
