Line 43:
Line 43:
* Include all skillsets required for delivery, including for requirements, design, development, and operations
* Include all skillsets required for delivery, including for requirements, design, development, and operations
* Work across the entire application lifecycle, from development and testing to deployment and operations
* Work across the entire application lifecycle, from development and testing to deployment and operations
−
* Ensure quality is considered throughout the Software Development Lifecycle
+
* Ensure quality <u><i>and security</i></u> is <u><i>underpinning</i></u> the Software Development Lifecycle
* Ensure accountability for privacy is clear
* Ensure accountability for privacy is clear
−
* Encourage and adopt Test Driven Development (TDD) to improve the trust between Business and IT
+
* Encourage and adopt <u><i>a process (for example:</i></u> Test Driven Development (TDD)) to improve the trust between Business and IT
<b>Design Systems to be Measurable and Accountable</b>
<b>Design Systems to be Measurable and Accountable</b>
Line 67:
Line 67:
* Ensure data is collected through ethical practices supporting appropriate citizen and business-centric use
* Ensure data is collected through ethical practices supporting appropriate citizen and business-centric use
* Data should only be purchased once and should align with international standards
* Data should only be purchased once and should align with international standards
−
* Where necessary, ensure collaboration with department/agency data stewards/custodians, other levels of government and indigenous people
+
* Where necessary, ensure collaboration with department/agency data stewards/custodians, other levels <u><i>and jurisdiction</i></u> of government and indigenous people
+
* Reduce the collection of redundant data
<b>Data Management</b>
<b>Data Management</b>
Line 77:
Line 78:
<b>Data Storage</b>
<b>Data Storage</b>
−
* Ensure data is stored in a secure manner in accordance with the National Cyber Security Strategy and the Privacy Act
+
* <i><u> Only handle data which is essential to your service. Do not store all data that you capture unless absolutely necessary</i></u>
−
* Follow existing retention and disposition schedules
+
* Ensure data is stored in a secure manner in accordance with <I><u>CSE approved cryptographic algorithms and protocols</I></u> and <I><u>legislation such as</I></u> the Privacy Act
+
* <I><u>Retain data fro the minimum time necessary.</u></I> Follow existing retention and disposition schedules
* Ensure data is stored in a way to facilitate easy data discoverability, accessibility and interoperability
* Ensure data is stored in a way to facilitate easy data discoverability, accessibility and interoperability
<b>Data Sharing</b>
<b>Data Sharing</b>
−
* Data should be shared openly by default as per the Directive on Open Government
+
* Data should be shared openly by default as per the Directive on Open Government <I><u>while taking into consideration existing laws and regulations the safeguarding of security and the privacy of data, while permitting free and open access</I></u>
* Ensure government-held data can be combined with data from other sources enabling interoperability and interpretability through for internal and external use
* Ensure government-held data can be combined with data from other sources enabling interoperability and interpretability through for internal and external use
−
* Reduce the collection of redundant data
* Reduce existing data where possible
* Reduce existing data where possible
* Encourage data sharing and collaboration
* Encourage data sharing and collaboration
+
* <I><u>Validate or transform all external input before processing</I></u>
|}
|}
Line 115:
Line 117:
* Run applications in containers
* Run applications in containers
* Leverage the [[gccollab:groups/profile/1238235/engovernment-of-canada-digital-exchangefru00c9change-numu00e9rique-du-gouvernement-du-canada|GC Digital Exchange Platform]] for components such as the API Store, Messaging, and the GC Service Bus
* Leverage the [[gccollab:groups/profile/1238235/engovernment-of-canada-digital-exchangefru00c9change-numu00e9rique-du-gouvernement-du-canada|GC Digital Exchange Platform]] for components such as the API Store, Messaging, and the GC Service Bus
+
+
<I><u><b>Develop with Security in mind</b>
+
* Applications that store, process, handle, or have network access to sensitive information should be developed with security in mind from the start, and should be audited and assessed before use
+
* Ensure sensitive data is protected appropriately when stored and transmitted
+
* Minimise the opportunity for accidental data leakage across application boundaries
+
* Ensure only authorised parties can access sensitive information
+
* Restrict access to sensitive data to those applications designed to handle such material in a secure manner</u></I>
|}
|}
Line 133:
Line 142:
* Support zero-downtime deployments for planned and unplanned maintenance
* Support zero-downtime deployments for planned and unplanned maintenance
* Use distributed architectures, assume failure will happen, handle errors gracefully, and monitor actively
* Use distributed architectures, assume failure will happen, handle errors gracefully, and monitor actively
+
* <u><I>Establish architectures that supports new technology insertion with minimal disruption to existing programs and services</I></u>
|}
|}
Line 142:
Line 152:
<b>Design for Security and Privacy</b>
<b>Design for Security and Privacy</b>
−
* Implement security across all architectural layers
+
<I><u>
−
* Categorize data properly to determine appropriate safeguards
+
* Perform security categorization to identify and categorize information based on the degree of injury that could be expected to result from a compromise of its confidentiality, integrity and availability.
−
* Perform a privacy impact assessment (PIA) when personal information is involved
+
* Build in security from the outset of design, development, and throughout the system life cycle, across all architectural layers.
−
* Balance user and business needs with proportionate security measures
+
* Implement appropriate and cost-effective security measures and privacy protections, proportionate to user and business needs. Apply graduated safeguards that are commensurate with the security category of the information and assets.
+
* Protect data while in transit, in use and at rest using appropriate encryption and protocols.
+
* Apply a defense in depth approach to reduce exposure to threats and minimize the degree of compromise.
+
* Design services that:
+
i. Prioritize ease of use in security design to make security simple for users;
+
ii. Protected from common security vulnerabilities;
+
iii. Expose and secure only the interfaces necessary to operate the service;
+
iv. Are resilient and can be rebuilt quickly to a known clean state in the event that a compromise is detected; and
+
v. Fail secure even if the system encounters an error or crashes.
+
* Integrate and automate security testing to validate code and address vulnerabilities prior to deployment
+
* Reduce human intervention and maximize automation of security tasks and processes.
+
+
<b> Ensure Secure Access to Systems and Services </b>
+
* User access to service interfaces should be constrained to authorised individuals, with clearly defined roles.
+
* Identify and authenticate individuals, processes, and/or devices to an appropriate level of assurance before being granted access to information and services.
+
* Separate and compartmentalise user responsibilities and privileges. Assign the least set of privileges necessary to complete the job.
+
* Use GC-approved multi-factor authentication where possible to protect against unauthorized access.
+
+
<b> Maintain Secure Operations </b>
+
* Design processes to operate and manage services securely in order to impede, detect or prevent attacks.
+
* Collect all relevant security events and logs at infrastructure and application levels to support root-cause analysis. Use a trusted time source and protect audit logs from manipulation.
+
* Continuously monitor system events and performance, and include a security audit log function in all information systems.
+
* Promptly apply security-related patches and updates to reduce exposure to vulnerabilities. Apply a risk-based mitigations when patches can’t be applied.
+
* Establish appropriate mechanisms to respond effectively to security incidents. Monitor security advisories and patches.
+
+
<b> Privacy by Design </b>
+
* Perform a privacy impact assessment (PIA) to support risk mitigation activities when personal information is involved
+
* Implement security measures to assure the protection of personal information
+
* Take into consideration the 7 foundational privacy design principles when designing services.
+
</i></u>
|}
|}