Architecture Properties for Security Services
Last updated
Was this helpful?
Last updated
Was this helpful?
Developing and maintaining cloud-based security services demands balancing various architectural properties, including security, auditability, durability, availability, and scalability. These services must adhere to strict industry and government compliance and certification standards. This post discusses five key architectural properties that are often missing from cloud-based security services. 1. Provable and formally validated security: Besides ensuring security services operate securely, it's crucial to demonstrate their security properties to stakeholders. Formal proofs and validation techniques enable developers and security experts to mathematically verify the correctness and effectiveness of security invariants and policies, providing strong evidence of the service's security properties. 2. Prioritize correctness, readability, and performance - in that order: Continuous integration and continuous deployment (CI/CD) processes help ensure correctness by identifying and resolving potential issues before they become critical. Readable code enables stakeholders to independently review the implementation and verify its security properties. Adopting high-performance concurrency programming best practices ensures that security measures do not negatively impact the overall performance of the system. Cloud-based security services are I/O heavy, making them ideal candidates for asynchronous and non-blocking I/O programming paradigms. 3. Achieve portability through a strong domain model/service layer decoupled from infrastructure layers: Developing portable security services is essential since their codebase often outlives the infrastructure it was initially designed for. Security services are inherently domain-heavy, embodying domain-specific rules. Domain-Driven Development (DDD) is a natural choice for developing highly portable security services as it promotes the practice of decoupling domain logic from its runtime infrastructure code. The book "Secure by Design" () is an excellent resource for applying domain primitives to address security requirements. 4. Embrace big data best practices and treat logs as first-class citizens: Ensuring that logs are an integral part of the architecture allows for real-time auditing and querying of security operations. Log streaming enables teams to rapidly identify and resolve potential security issues, ensuring that the system remains protected and stable. 5. Embrace workflow thinking and treat admin processes as first-class citizens: Cloud services require regular administrative or maintenance tasks. However, the tools and processes to run these tasks are often developed in an ad-hoc fashion, becoming common sources of security vulnerabilities and operational hazards. Admin processes should be developed as workflows independently from the services serving customer traffic.