Adding security to a solution late in the design and development lifecycle often results in costly re-work and usability sacrifices that detract from the solution's capability and user experience. Designing solutions to be secure at the outset helps to ensure an appropriate balance of usability, interoperability, resilience and security for the final solution.
Secure by design is the principle that the design, development and delivery practices of a project must include security and compliance practices delivered by a skilled and experience team. Security design principles, such as those that follow, guide the architectural thinking practices.
The design process needs to start with the use of enterprise design thinking to focus on the required user outcomes for risk, compliance and security stakeholders, both internal and external to an organization. The external stakeholders include customer, governments, and regulators. The internal stakeholders include those managing risk, compliance, and security.
The design process continues with architectural thinking to define the architecture characteristics, architectural decision, functional architecture and cloud deployment model. Definition of characteristics, such as resilience, performance and scalability, are then completed for the security services.
After definition of the requirements and architecture, engineering of the security functionality and infrastructure can take place including following the Secure by default principle.
IBM has a long-standing approach to security and privacy by design used in the development of products. The published IBM Redpaper on Security in Development: The IBM Secure Engineering Framework is useful to review.