Chapter 13. Security and Trust

The preceding chapter introduced several non-functional properties, such as efficiency, scalability, and dependability, and described architectural design strategies to help achieve those properties. Security is another non-functional property; its increasing, critical importance warrants the separate, in-depth look provided in this chapter. As with many other non-functional properties, it is most effectively addressed while designing a system's architecture.

Consider the example of building architectures introduced in Chapter 1. A building is designed with various structural properties and the owner's requirements in mind. If such requirements and design do not encompass security needs, problems can arise. For instance, if a building has windows or doors that are easy to access from the outside, or its structure prevents the installation of security alarms, the building may be vulnerable to unwanted visitors. If these considerations are addressed during the building's design, however, a secure structure at a reasonable price is achievable.

If the building is not designed from the outset with security in mind, it may still be possible to add external reinforcements to improve security when such demands later occur. For example, thin walls can be reinforced by adding extra layers; doors and windows that represent potential points of entry can be safeguarded using suitable lock mechanisms. In some cases, a building may not be securable by itself but it ...

Get Software Architecture: Foundations, Theory, and Practice now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.