In the design of secure systems, several key design features must be
incorporated to address typical system vulnerabilities: security protocol design,
password management design, access control, addressing distributed system
issues, concurrency control, fault tolerance, and failure recovery. Appendix E