SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Secure your application with
Pattern Oriented Design
Chia Yuen Kwan
#ISSLearningFest
Problem-Solution-Reuse
#ISSLearningFest
Christopher Alexander (4 October 1936 – 17 March 2022)
(an architect)
• Designed and built over 100 buildings
• Regarded as the father of the pattern
language movement
• Many urban development projects continue to
incorporate Alexander's ideas.
Agenda
• Design Pattern
• Secure Design Pattern
• Secure Strategy Pattern
• Q&A
#ISSLearningFest
Case Study –
A Shopping Cart Application
#ISSLearningFest
Initial Design
#ISSLearningFest
sum of (price
* qty)
Special Requirement
• eCommerce Operators run special events
• During Christmas Day, the price will be marked up by 10%!
#ISSLearningFest
Initial Design - Problem
#ISSLearningFest
sum of (price
* qty)
Initial Design – Class Diagram
• Does not leverage on the principle of Polymorphism!
#ISSLearningFest
if-else
statement to
compute total
based on
different
occasions
Solving the problem with
Design Pattern
#ISSLearningFest
Look for an
appropriate
Pattern
Adopt the solution
Design Patterns by Gang of Four
• GOF-
• Erich Gamma, Richard Helm, Ralph Johnson,
John Vlissides
• Collection of 23 design patterns
• Capture solutions that have evolved over time
#ISSLearningFest
Solution – Strategy Pattern
#ISSLearningFest
Context
+contextInterface()
-strategy
1
*
Strategy
+algorithmInterface()
ConcreteStrategyA
+ConcreteStrategyA()
+algorithmInterface()
ConcreteStrategyB
+ConcreteStrategyB()
+algorithmInterface()
Client -context
implements
a compliant
algorithm
superclass
subclasses
inherits
Adopting the Strategy Pattern
#ISSLearningFest
contains
Initial Design –
Class Diagram
After applying Strategy Pattern –
Class Diagram
inherits
Strategy Pattern –
Sequence Diagram
#ISSLearningFest
Initial Design –
Sequence Diagram
After applying Strategy Pattern –
Sequence Diagram
Benefits- Strategy Pattern
#ISSLearningFest
contains
• Cohesiveness of the programs
• Robust Design
• Increate in productivity!
After applying Strategy Pattern –
Class Diagram
inherits
Secure Software Design
• Secure Strategy Pattern
• The need to deploy different security mechanisms into different environments
#ISSLearningFest
Cryptography – Various Algorithm
#ISSLearningFest
Cryptography
Encryption
Symmetric
(Secret Key)
Asymmetric
(Public Key)
Hashing
Attacks on Cryptography
• Brute Force Attack
• Dictionary Attack
• Rainbow Attack
• Involves a rainbow table containing hashed common passwords
#ISSLearningFest
Secure Strategy Pattern
#ISSLearningFest
Different Cryptographic algo to be
executed base don configuration settings
Secure Factory and Secure Strategy Pattern
#ISSLearningFest
Conclusion
• Borrow “ready made” design solution
• Proven working solutions
#ISSLearningFest
Q&A
#ISSLearningFest
Survey 1 – Topics
Q&A
#ISSLearningFest
Survey 1 – Topics Survey 2 -Day 1 Programme
Give Us Your Feedback
#ISSLearningFest
Day 1 Programme
Thank You!
isscyk@nus.edu.sg
#ISSLearningFest

Contenu connexe

Plus de NUS-ISS

Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...NUS-ISS
 
Supply Chain Security for Containerised Workloads - Lee Chuk Munn
Supply Chain Security for Containerised Workloads - Lee Chuk MunnSupply Chain Security for Containerised Workloads - Lee Chuk Munn
Supply Chain Security for Containerised Workloads - Lee Chuk MunnNUS-ISS
 
Future of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdfNUS-ISS
 
Future of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan MengNUS-ISS
 
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7NUS-ISS
 
Product Management in The Trenches for a Cloud Service
Product Management in The Trenches for a Cloud ServiceProduct Management in The Trenches for a Cloud Service
Product Management in The Trenches for a Cloud ServiceNUS-ISS
 
Overview of Data and Analytics Essentials and Foundations
Overview of Data and Analytics Essentials and FoundationsOverview of Data and Analytics Essentials and Foundations
Overview of Data and Analytics Essentials and FoundationsNUS-ISS
 
Predictive Analytics
Predictive AnalyticsPredictive Analytics
Predictive AnalyticsNUS-ISS
 
Feature Engineering for IoT
Feature Engineering for IoTFeature Engineering for IoT
Feature Engineering for IoTNUS-ISS
 
Master of Technology in Software Engineering
Master of Technology in Software EngineeringMaster of Technology in Software Engineering
Master of Technology in Software EngineeringNUS-ISS
 
Master of Technology in Enterprise Business Analytics
Master of Technology in Enterprise Business AnalyticsMaster of Technology in Enterprise Business Analytics
Master of Technology in Enterprise Business AnalyticsNUS-ISS
 
Diagnosing Complex Problems Using System Archetypes
Diagnosing Complex Problems Using System ArchetypesDiagnosing Complex Problems Using System Archetypes
Diagnosing Complex Problems Using System ArchetypesNUS-ISS
 
Satisfying the ‘-ilities’ of an Enterprise Cloud Service
Satisfying the ‘-ilities’ of an Enterprise Cloud ServiceSatisfying the ‘-ilities’ of an Enterprise Cloud Service
Satisfying the ‘-ilities’ of an Enterprise Cloud ServiceNUS-ISS
 
Preparing and Acing your Kubernetes Certification
Preparing and Acing your Kubernetes CertificationPreparing and Acing your Kubernetes Certification
Preparing and Acing your Kubernetes CertificationNUS-ISS
 
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...NUS-ISS
 
Architecting Across Healthcare and Technology Boundaries
Architecting Across Healthcare and Technology BoundariesArchitecting Across Healthcare and Technology Boundaries
Architecting Across Healthcare and Technology BoundariesNUS-ISS
 
Driving Product Success through Experimentation
Driving Product Success through ExperimentationDriving Product Success through Experimentation
Driving Product Success through ExperimentationNUS-ISS
 
Transition from Project to Product
Transition from Project to Product Transition from Project to Product
Transition from Project to Product NUS-ISS
 
Journey towards Organisational Digital Excellence
Journey towards Organisational Digital Excellence Journey towards Organisational Digital Excellence
Journey towards Organisational Digital Excellence NUS-ISS
 
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...NUS-ISS
 

Plus de NUS-ISS (20)

Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
 
Supply Chain Security for Containerised Workloads - Lee Chuk Munn
Supply Chain Security for Containerised Workloads - Lee Chuk MunnSupply Chain Security for Containerised Workloads - Lee Chuk Munn
Supply Chain Security for Containerised Workloads - Lee Chuk Munn
 
Future of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdf
 
Future of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
 
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
 
Product Management in The Trenches for a Cloud Service
Product Management in The Trenches for a Cloud ServiceProduct Management in The Trenches for a Cloud Service
Product Management in The Trenches for a Cloud Service
 
Overview of Data and Analytics Essentials and Foundations
Overview of Data and Analytics Essentials and FoundationsOverview of Data and Analytics Essentials and Foundations
Overview of Data and Analytics Essentials and Foundations
 
Predictive Analytics
Predictive AnalyticsPredictive Analytics
Predictive Analytics
 
Feature Engineering for IoT
Feature Engineering for IoTFeature Engineering for IoT
Feature Engineering for IoT
 
Master of Technology in Software Engineering
Master of Technology in Software EngineeringMaster of Technology in Software Engineering
Master of Technology in Software Engineering
 
Master of Technology in Enterprise Business Analytics
Master of Technology in Enterprise Business AnalyticsMaster of Technology in Enterprise Business Analytics
Master of Technology in Enterprise Business Analytics
 
Diagnosing Complex Problems Using System Archetypes
Diagnosing Complex Problems Using System ArchetypesDiagnosing Complex Problems Using System Archetypes
Diagnosing Complex Problems Using System Archetypes
 
Satisfying the ‘-ilities’ of an Enterprise Cloud Service
Satisfying the ‘-ilities’ of an Enterprise Cloud ServiceSatisfying the ‘-ilities’ of an Enterprise Cloud Service
Satisfying the ‘-ilities’ of an Enterprise Cloud Service
 
Preparing and Acing your Kubernetes Certification
Preparing and Acing your Kubernetes CertificationPreparing and Acing your Kubernetes Certification
Preparing and Acing your Kubernetes Certification
 
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...
AI in Finance: An Ensembling Architecture Incorporating Machine Learning Mode...
 
Architecting Across Healthcare and Technology Boundaries
Architecting Across Healthcare and Technology BoundariesArchitecting Across Healthcare and Technology Boundaries
Architecting Across Healthcare and Technology Boundaries
 
Driving Product Success through Experimentation
Driving Product Success through ExperimentationDriving Product Success through Experimentation
Driving Product Success through Experimentation
 
Transition from Project to Product
Transition from Project to Product Transition from Project to Product
Transition from Project to Product
 
Journey towards Organisational Digital Excellence
Journey towards Organisational Digital Excellence Journey towards Organisational Digital Excellence
Journey towards Organisational Digital Excellence
 
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
Agile Architecture – Enabling the Organisation’s Successful Digital-Agile Tra...
 

Dernier

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 

Dernier (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

Secure Your Application With Pattern Oriented Design