CHAPTER 3Secure Design
In the previous chapter we discussed security requirements. When making any product, requirements are a must, and ensuring you have security built into your requirements from the beginning is the first step to ensure your final product will be of high quality. In this chapter we will discuss the next phase of the System Development Life Cycle: Design (Figure 3-1).
Figure 3-1: The System Development Life Cycle (SDLC)
When designing software applications, software architects not only need to worry about business requirements (what the customer has asked for) and functional requirements (user requirements, scheduling, system requirements), but also non-functional requirements that are often taken for granted, such as usability, quality, and the focus of this book: security.
Secure by design, in software engineering, means that the software has been designed from the ground up to be secure. Malicious practices are taken for granted and care is taken to minimize impact when a security vulnerability is discovered or on invalid user input.
—Wikipedia23
When we talk about designing software, there are several different ways this might be interpreted, so let's define it here.
Software design is planning out how you will build your software, and how it will connect or work with anything else it needs to. This can be a very high-level document that shows ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access