Introduction
Imagine building a house without thinking about safety features like locks or fire alarms. This can lead to easy break-ins or accidents. Secure design helps prevent such problems in software by planning safety from the start.
Think of building a fortress. Before construction, the builder plans strong walls, limited gates, and guards to watch for enemies. If a gate breaks, the fortress is designed so enemies can't rush in easily. The builder also plans to repair walls regularly to keep the fortress safe.
┌───────────────────────────────┐
│ Secure Design │
├─────────────┬─────────────────┤
│ Planning │ Identify risks │
├─────────────┼─────────────────┤
│ Minimize │ Reduce entry │
│ Attack │ points │
│ Surface │ │
├─────────────┼─────────────────┤
│ Strong │ Controls like │
│ Controls │ locks and checks│
├─────────────┼─────────────────┤
│ Fail Safe │ Safe error │
│ │ handling │
├─────────────┼─────────────────┤
│ Updates │ Fix new threats │
└─────────────┴─────────────────┘