SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
Hasini Gunasinghe
Software Engineer-WSO2
   Security requirements of a SOA solution in
    healthcare domain.

   Security patterns to accomplish them.

   Implementing patterns with WSO2 ESB.
Hospital Services                      Channelling consultation


                                                                            Physicians’
Patients’ data                                                                data



                                      Ceycare
                                      Systems
                 Medical Laboratory                      Collaboration with medical
                      Services                               research institutes


  Medical Test
    results
                                             Medical
                                            statistics
   Why SOA?

     Expose legacy sytem components as services.
     Loose coupling
     Interoperability
     Flexibility
     Business process composition.
   Why security in SOA?

     Business assets exposed to outside as services to
      be discovered.
     Should facilitates interoperability, flexibility.
 Identification and authentication
 Authorization
 Intergrity
 Privacy
 Security auditing
 Survivability
 Non-repudiation
                              Source: Security in SOA-Based Healthcare System
Requirement:


Services need to identify and verify the claimed
identity of internal users of the organization.
Pattern:

Authentication Patterns:

   Direct Authentication
    - Authenticating users with credentials stored internally.

    - Credentials can be :
      - Username/password
      - Username token
      - X.509 certificates
Patient’s Records:
                                     Name:
Credential                   3       Age:
                                     Histroy:
  1
             Secured Proxy

                                 2

                              Ceycare
                             credential
                               store
Requirement:

Services need to identify and verify the claimed
identity of external users – from partner
organizations.
Pattern:
Authentication Patterns:
   Brokered Authentication
     Authenticating users outside the organization boundary.
     Ceycare trusts a token issued by a trusted party in partner
      organization.
     Brokered authentication based on WS-Trust with SAML.
Scenario 1: Authentication accross organizational boundries
                       CeyCare                         4   Patient’s
                                                           Records:
Secure Token                                               Name:
 Service of                                                Age:
  CeyMed                                                   Histroy:
                   2                       Secured Proxy
                                 3

  CeyMed       1
 credential
   store


                             CeyMed
Requirement:

 Facilitate communication between clients and
 services which talk in different authentication
 mechanisms.
Pattern:
Resource Access Patterns:
   Protocol Transition
     ESB authenticates clients with the auth mechanism
      that they understand – eg: UT

     Transform credentials in the form that service
      understands - eg: Basic Auth
Patient’s
                       Records:
                       Name:
                       Age:
                       Histroy:
           BasicAuth
            Header
             3

    1
              2
Username
 Token
               Ceycare
              credential
                store
Requirements:

-   Avoid user credentials to be passed to
    backend service.
-   Avoid user bypassing security processing.
Pattern:

Resource Access Patterns:
 Trusted sub system pattern
   User authenticates to ESB with his/her credentials.
   BE service trusts ESB.
   ESB accesses BE service on behalf of authenticated user.
Patient’s
                                          Records:
                                          Name:
                                ESB       Age:
                             Credential   Histroy:


                              3
   User
Credential
             Secured Proxy
     1
                                    2

                                    Ceycare
                                   credential
                                     store
Requirement:

Control access based on privileges of the users.
  Eg:
  Users in role: ‘Physician’ can update patients’ records
  while users in role: ‘Lab technologist’ can only view
  records
Pattern:

Authorization patterns
 Role based access control:
   Assign users to roles.
   Grant privileges to roles.
   This is a coarse grained authorization model.
Requirement:

Control access based on user’s claims, in a fine
grained manner.
  Eg:
  Heart patients data could only be accessed by
  Physicians with job title: “Cardiologists”
Pattern:

Authorization patterns
 Claim based authorization :
   Provides fine grained authorization.
   Policy based access control with XACML –
   provides flexibilty.
Authorization based on claims carried in SAML token.
                                                           Heart
                                                           Patient’s
                                                           Records:
                                      (4) Allow/deny       Name:
                                      access               Age:
                                                           Histroy:
         SAML
         Token        Secured Proxy

                 1                     (3) Authorization
                                       decision

                       Entitlement                            PAP, PDP,
                       Mediator          (2) XACML            PIP
                         [PEP]           Authorization
                                         request
Requirement:

Delegating access:
 Eg:
 Application in a phisician’s mobile device needs to
 retrieve channelling appointments from his account
 in Ceycare System.
Pattern:

Authorization patterns
 Constrained delegation using OAuth:
  1. Mobile app authenticates to authorization server.
  2. Mobile app requests authorization from resource owner.
  3. Resource owner authenticates to authorization server.
  4. Resource owner grants permissions to the application to
     access resource on behalf of him.
  5. Application obtains access token from access grant.
  6. Resource server (ESB) validates access token.
  7. Allow/Deny access to BE resource.
Chanelling
                                                            appointments
                                                            Name:
                                                            Time:
                                               (7) Allow/   Hospital:
        Access request+                        deny
        Access Token            OAuth          access
                   5           Mediator

                                               (6) Validate Access Token


    Authorization
1
    request
                            (4) Access Token
    2
Authorization             (3) Authorization grant
grant
Requirements:

   Protect sensitive personal data during
    transmission from :
     tampering
     unauthorized access

   Non-repudiation - A patient’s account should
    show who has updated his/her medical
    records.
Patterns:

Message protection patterns:
 Data origin authentication and intergrity -
  digital signatures.
 Data confidentiality - digital encyption.
Example Configuration:
Example Configuration:
Requirement:

Avoid exposing sensitive data through exceptions.
 Legacy application code might throw exceptions
  containing sensitive information.
 Need to filter those expections when system is exposed
  to external parties.
Pattern:

Boundry defense pattern
 Exception shielding:
 - Sanitize unsafe exception data by replacing it with
   non-harmful exception message.
 - Enrich mediator of ESB.
   Example un-safe message:
   Example Configuration:
Requirement:

Log security incidents to trace system abuse:
- Failed login attempts
- Unauthorized access attempts to services
Pattern:

Boundry defense pattern:
 Audit Intercepter
  All messages flow through the a gateway of the
   system. (ESB)
  Necessary auditing is done by the logging at the
   gateway. (Log mediators of ESB)
Example Configuration:
Requirement:

Prevent denial of service attacks caused by
replaying valid messages.
Pattern:

Boundray defense pattern
 Replay mitigation:
- Apply throttling rules at the entry point
  (ESB).
- Validate message freshness by WS-Security
  mechanisms (Timestamp).
Applying throttling rules in ESB:

Control access at three different levels through
throttling:
1. Global
2. Service
3. Operation
   Throttling at global level:
   Throttling at service level:
   Configuring throttling in ESB:
   Example Time Stamp in WS-Security Header:
Requriement:

Mitigate damages to the system from messages
with malicious content :
- SQL injection
- X-Doc attacks
Pattern:

Boundray defense pattern
 Message validation :
- XML Schema validation.
- Regular expression validation to avoid SQL
  injections contained in strings.
- Validation & Filter mediators of ESB.
   Examlpe SQL Injection attack:
Query:
SELECT * FROM p r e s c r i p t i o n s WHERE pat i ent ID = ' + $pat i ent ID +' ;

If
$pat i ent ID = 3 5 2 1 ' ; DROP TABLE p a t i e n t s ;

Resulting query causing SQL injection:
SELECT FROM p r e s c r i p t i o n s WHERE pat i ent ID = ' 3 5 2 1 ' ;
DROP TABLE p a t i e n t s ;


                                                Source: Security in SOA-Based Healthcare System
   Example Configuration:
   Security requierments related to a healthcare
    SOA solution.

   Security patterns used to accomplish them.

   How WSO2 ESB fits in the security patterns.
   WSO2 Security & Identity Gateway solution
    white paper:
    http://wso2.com/casestudies/wso2-security-and-
    identity-gateway-solution/

   Security in SOA based healthcare systems:
    By Richard Sassoon
Selected Customers



 https://ail.google.com/mail/u/0/?ui=2&ik=ad9a
 e58f41&view=att&th=1331a70983344a32&atti
 d=0.1&disp=thd&realattid=f_gtxto6mk0&zw
• QuickStart
• Development
  Support
• Development
  Services
• Production
  Support
• Turnkey Solutions
    • WSO2 Mobile Services Solution
    • WSO2 FIX Gateway Solution
    • WSO2 SAP Gateway Solution
Contact us:
 bizdev@wso2.com

Más contenido relacionado

La actualidad más candente

Firewall presentation
Firewall presentationFirewall presentation
Firewall presentation
Amandeep Kaur
 
Security Mechanisms
Security MechanismsSecurity Mechanisms
Security Mechanisms
priya_trehan
 
Authentication(pswrd,token,certificate,biometric)
Authentication(pswrd,token,certificate,biometric)Authentication(pswrd,token,certificate,biometric)
Authentication(pswrd,token,certificate,biometric)
Ali Raw
 

La actualidad más candente (20)

Dmz
Dmz Dmz
Dmz
 
Firewall Design and Implementation
Firewall Design and ImplementationFirewall Design and Implementation
Firewall Design and Implementation
 
Network forensic
Network forensicNetwork forensic
Network forensic
 
Ch07 Access Control Fundamentals
Ch07 Access Control FundamentalsCh07 Access Control Fundamentals
Ch07 Access Control Fundamentals
 
Information Security Policies and Standards
Information Security Policies and StandardsInformation Security Policies and Standards
Information Security Policies and Standards
 
Firewall presentation
Firewall presentationFirewall presentation
Firewall presentation
 
Intro to Web Application Security
Intro to Web Application SecurityIntro to Web Application Security
Intro to Web Application Security
 
Password cracking and brute force
Password cracking and brute forcePassword cracking and brute force
Password cracking and brute force
 
Types of attacks
Types of attacksTypes of attacks
Types of attacks
 
Symmetric encryption
Symmetric encryptionSymmetric encryption
Symmetric encryption
 
symmetric key encryption algorithms
 symmetric key encryption algorithms symmetric key encryption algorithms
symmetric key encryption algorithms
 
Network Security Fundamentals
Network Security FundamentalsNetwork Security Fundamentals
Network Security Fundamentals
 
Security Mechanisms
Security MechanismsSecurity Mechanisms
Security Mechanisms
 
User authentication
User authenticationUser authentication
User authentication
 
Kerberos
KerberosKerberos
Kerberos
 
Email security presentation
Email security presentationEmail security presentation
Email security presentation
 
public key infrastructure
public key infrastructurepublic key infrastructure
public key infrastructure
 
Security models
Security models Security models
Security models
 
Operating System Security
Operating System SecurityOperating System Security
Operating System Security
 
Authentication(pswrd,token,certificate,biometric)
Authentication(pswrd,token,certificate,biometric)Authentication(pswrd,token,certificate,biometric)
Authentication(pswrd,token,certificate,biometric)
 

Destacado

Security Patterns with WSO2 ESB
Security Patterns with WSO2 ESBSecurity Patterns with WSO2 ESB
Security Patterns with WSO2 ESB
WSO2
 
Аутентификационный центр
Аутентификационный центрАутентификационный центр
Аутентификационный центр
КРОК
 
Разработка интеграционных сервисов в рамках проекта развития удаленных канало...
Разработка интеграционных сервисов в рамках проекта развития удаленных канало...Разработка интеграционных сервисов в рамках проекта развития удаленных канало...
Разработка интеграционных сервисов в рамках проекта развития удаленных канало...
КРОК
 
WSO2 ESB Integration with REST
WSO2 ESB Integration with RESTWSO2 ESB Integration with REST
WSO2 ESB Integration with REST
WSO2
 
Learn with WSO2 - API Security
Learn with WSO2 - API Security Learn with WSO2 - API Security
Learn with WSO2 - API Security
WSO2
 
Implementing API Facade using WSO2 API Management Platform
Implementing API Facade using WSO2 API Management PlatformImplementing API Facade using WSO2 API Management Platform
Implementing API Facade using WSO2 API Management Platform
WSO2
 
Authorization Enterprise Design Pattern
Authorization Enterprise Design PatternAuthorization Enterprise Design Pattern
Authorization Enterprise Design Pattern
Nick Bogden
 

Destacado (20)

Security Patterns with WSO2 ESB
Security Patterns with WSO2 ESBSecurity Patterns with WSO2 ESB
Security Patterns with WSO2 ESB
 
How to Secure Your Enterprise Services with WSO2 ESB
How to Secure Your Enterprise Services with WSO2 ESBHow to Secure Your Enterprise Services with WSO2 ESB
How to Secure Your Enterprise Services with WSO2 ESB
 
Patterns and Antipatterns in Enterprise Security
Patterns and Antipatterns in Enterprise SecurityPatterns and Antipatterns in Enterprise Security
Patterns and Antipatterns in Enterprise Security
 
Sonic 7 Hentchel Performance Tuning
Sonic 7 Hentchel   Performance TuningSonic 7 Hentchel   Performance Tuning
Sonic 7 Hentchel Performance Tuning
 
Аутентификационный центр
Аутентификационный центрАутентификационный центр
Аутентификационный центр
 
Разработка интеграционных сервисов в рамках проекта развития удаленных канало...
Разработка интеграционных сервисов в рамках проекта развития удаленных канало...Разработка интеграционных сервисов в рамках проекта развития удаленных канало...
Разработка интеграционных сервисов в рамках проекта развития удаленных канало...
 
WSO2 ESB Integration with REST
WSO2 ESB Integration with RESTWSO2 ESB Integration with REST
WSO2 ESB Integration with REST
 
Learn with WSO2 - API Security
Learn with WSO2 - API Security Learn with WSO2 - API Security
Learn with WSO2 - API Security
 
Implementing API Facade using WSO2 API Management Platform
Implementing API Facade using WSO2 API Management PlatformImplementing API Facade using WSO2 API Management Platform
Implementing API Facade using WSO2 API Management Platform
 
Authorization Enterprise Design Pattern
Authorization Enterprise Design PatternAuthorization Enterprise Design Pattern
Authorization Enterprise Design Pattern
 
WSO2Con 2013 - WSO2 as a Crypto Platform
WSO2Con 2013 - WSO2 as a Crypto PlatformWSO2Con 2013 - WSO2 as a Crypto Platform
WSO2Con 2013 - WSO2 as a Crypto Platform
 
Extended Security with WSO2 API Management Platform
Extended Security with WSO2 API Management PlatformExtended Security with WSO2 API Management Platform
Extended Security with WSO2 API Management Platform
 
Wso2 tutorial
Wso2 tutorialWso2 tutorial
Wso2 tutorial
 
WSO2 API Manager : Going beyond the just API Management
WSO2 API Manager : Going beyond the just API ManagementWSO2 API Manager : Going beyond the just API Management
WSO2 API Manager : Going beyond the just API Management
 
Agile в кровавом энтерпрайзе / Асхат Уразбаев (ScrumTrek)
Agile в кровавом энтерпрайзе / Асхат Уразбаев (ScrumTrek)Agile в кровавом энтерпрайзе / Асхат Уразбаев (ScrumTrek)
Agile в кровавом энтерпрайзе / Асхат Уразбаев (ScrumTrek)
 
WSO2Con USA 2017: Cloud as a Delivery Channel
WSO2Con USA 2017: Cloud as a Delivery ChannelWSO2Con USA 2017: Cloud as a Delivery Channel
WSO2Con USA 2017: Cloud as a Delivery Channel
 
API designing with WSO2 API Manager
API designing with WSO2 API ManagerAPI designing with WSO2 API Manager
API designing with WSO2 API Manager
 
WSO2Con USA 2017: Analytics Patterns for Your Digital Enterprise
WSO2Con USA 2017: Analytics Patterns for Your Digital EnterpriseWSO2Con USA 2017: Analytics Patterns for Your Digital Enterprise
WSO2Con USA 2017: Analytics Patterns for Your Digital Enterprise
 
WSO2Con ASIA 2016: WSO2 Integration Platform Deep Dive
WSO2Con ASIA 2016: WSO2 Integration Platform Deep DiveWSO2Con ASIA 2016: WSO2 Integration Platform Deep Dive
WSO2Con ASIA 2016: WSO2 Integration Platform Deep Dive
 
Shock freezers
Shock freezersShock freezers
Shock freezers
 

Similar a Security Patterns with the WSO2 ESB

Blacklisting and blocking anonymous credential users
Blacklisting and blocking anonymous credential usersBlacklisting and blocking anonymous credential users
Blacklisting and blocking anonymous credential users
IAEME Publication
 
Blacklisting and blocking anonymous credential users
Blacklisting and blocking anonymous credential usersBlacklisting and blocking anonymous credential users
Blacklisting and blocking anonymous credential users
IAEME Publication
 
Identity Federation on JBossAS
Identity Federation on JBossASIdentity Federation on JBossAS
Identity Federation on JBossAS
Roger CARHUATOCTO
 
Privacypreservingauthenticationbiometrics 100228075830-phpapp02
Privacypreservingauthenticationbiometrics 100228075830-phpapp02Privacypreservingauthenticationbiometrics 100228075830-phpapp02
Privacypreservingauthenticationbiometrics 100228075830-phpapp02
Hai Nguyen
 
An Enhanced Security System for Web Authentication
An Enhanced Security System for Web Authentication An Enhanced Security System for Web Authentication
An Enhanced Security System for Web Authentication
IJMER
 
Federated SOA Security Example From the Dutch National Healthcare Exchange
Federated SOA Security Example From the Dutch National Healthcare Exchange Federated SOA Security Example From the Dutch National Healthcare Exchange
Federated SOA Security Example From the Dutch National Healthcare Exchange
CA API Management
 

Similar a Security Patterns with the WSO2 ESB (20)

Presentation
PresentationPresentation
Presentation
 
Computer security module 4
Computer security module 4Computer security module 4
Computer security module 4
 
Blacklisting and blocking anonymous credential users
Blacklisting and blocking anonymous credential usersBlacklisting and blocking anonymous credential users
Blacklisting and blocking anonymous credential users
 
Blacklisting and blocking anonymous credential users
Blacklisting and blocking anonymous credential usersBlacklisting and blocking anonymous credential users
Blacklisting and blocking anonymous credential users
 
Unit 5
Unit 5Unit 5
Unit 5
 
Authentication and Authorization Models
Authentication and Authorization ModelsAuthentication and Authorization Models
Authentication and Authorization Models
 
Better Together: JWT and Hashi Vault in Modern Apps
Better Together: JWT and Hashi Vault in Modern AppsBetter Together: JWT and Hashi Vault in Modern Apps
Better Together: JWT and Hashi Vault in Modern Apps
 
Week3 lecture
Week3 lectureWeek3 lecture
Week3 lecture
 
UMA as Authorization mechanism for IoT: a healthcare scenario
UMA as Authorization mechanism for IoT: a healthcare scenarioUMA as Authorization mechanism for IoT: a healthcare scenario
UMA as Authorization mechanism for IoT: a healthcare scenario
 
api-security-Jan23.pptxsdfffffffffffffffffffffffffffff
api-security-Jan23.pptxsdfffffffffffffffffffffffffffffapi-security-Jan23.pptxsdfffffffffffffffffffffffffffff
api-security-Jan23.pptxsdfffffffffffffffffffffffffffff
 
Identity Federation on JBossAS
Identity Federation on JBossASIdentity Federation on JBossAS
Identity Federation on JBossAS
 
SOA Security - So What?
SOA Security - So What?SOA Security - So What?
SOA Security - So What?
 
Privacypreservingauthenticationbiometrics 100228075830-phpapp02
Privacypreservingauthenticationbiometrics 100228075830-phpapp02Privacypreservingauthenticationbiometrics 100228075830-phpapp02
Privacypreservingauthenticationbiometrics 100228075830-phpapp02
 
ch14.ppt
ch14.pptch14.ppt
ch14.ppt
 
PharmaLedger: A Digital Trust Ecosystem for Healthcare
PharmaLedger: A Digital Trust Ecosystem for HealthcarePharmaLedger: A Digital Trust Ecosystem for Healthcare
PharmaLedger: A Digital Trust Ecosystem for Healthcare
 
An Enhanced Security System for Web Authentication
An Enhanced Security System for Web Authentication An Enhanced Security System for Web Authentication
An Enhanced Security System for Web Authentication
 
New Trends in Web Security
New Trends in Web SecurityNew Trends in Web Security
New Trends in Web Security
 
Ch14
Ch14Ch14
Ch14
 
When and Why Would I use Oauth2?
When and Why Would I use Oauth2?When and Why Would I use Oauth2?
When and Why Would I use Oauth2?
 
Federated SOA Security Example From the Dutch National Healthcare Exchange
Federated SOA Security Example From the Dutch National Healthcare Exchange Federated SOA Security Example From the Dutch National Healthcare Exchange
Federated SOA Security Example From the Dutch National Healthcare Exchange
 

Más de WSO2

Más de WSO2 (20)

Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+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...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
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
Safe Software
 

Último (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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 - 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...
 
+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...
 
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 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 

Security Patterns with the WSO2 ESB

  • 2. Security requirements of a SOA solution in healthcare domain.  Security patterns to accomplish them.  Implementing patterns with WSO2 ESB.
  • 3. Hospital Services Channelling consultation Physicians’ Patients’ data data Ceycare Systems Medical Laboratory Collaboration with medical Services research institutes Medical Test results Medical statistics
  • 4. Why SOA?  Expose legacy sytem components as services.  Loose coupling  Interoperability  Flexibility  Business process composition.
  • 5. Why security in SOA?  Business assets exposed to outside as services to be discovered.  Should facilitates interoperability, flexibility.
  • 6.  Identification and authentication  Authorization  Intergrity  Privacy  Security auditing  Survivability  Non-repudiation Source: Security in SOA-Based Healthcare System
  • 7. Requirement: Services need to identify and verify the claimed identity of internal users of the organization.
  • 8. Pattern: Authentication Patterns:  Direct Authentication - Authenticating users with credentials stored internally. - Credentials can be : - Username/password - Username token - X.509 certificates
  • 9. Patient’s Records: Name: Credential 3 Age: Histroy: 1 Secured Proxy 2 Ceycare credential store
  • 10. Requirement: Services need to identify and verify the claimed identity of external users – from partner organizations.
  • 11. Pattern: Authentication Patterns:  Brokered Authentication  Authenticating users outside the organization boundary.  Ceycare trusts a token issued by a trusted party in partner organization.  Brokered authentication based on WS-Trust with SAML.
  • 12. Scenario 1: Authentication accross organizational boundries CeyCare 4 Patient’s Records: Secure Token Name: Service of Age: CeyMed Histroy: 2 Secured Proxy 3 CeyMed 1 credential store CeyMed
  • 13. Requirement: Facilitate communication between clients and services which talk in different authentication mechanisms.
  • 14. Pattern: Resource Access Patterns:  Protocol Transition  ESB authenticates clients with the auth mechanism that they understand – eg: UT  Transform credentials in the form that service understands - eg: Basic Auth
  • 15. Patient’s Records: Name: Age: Histroy: BasicAuth Header 3 1 2 Username Token Ceycare credential store
  • 16. Requirements: - Avoid user credentials to be passed to backend service. - Avoid user bypassing security processing.
  • 17. Pattern: Resource Access Patterns:  Trusted sub system pattern  User authenticates to ESB with his/her credentials.  BE service trusts ESB.  ESB accesses BE service on behalf of authenticated user.
  • 18. Patient’s Records: Name: ESB Age: Credential Histroy: 3 User Credential Secured Proxy 1 2 Ceycare credential store
  • 19. Requirement: Control access based on privileges of the users. Eg: Users in role: ‘Physician’ can update patients’ records while users in role: ‘Lab technologist’ can only view records
  • 20. Pattern: Authorization patterns  Role based access control:  Assign users to roles.  Grant privileges to roles.  This is a coarse grained authorization model.
  • 21. Requirement: Control access based on user’s claims, in a fine grained manner. Eg: Heart patients data could only be accessed by Physicians with job title: “Cardiologists”
  • 22. Pattern: Authorization patterns  Claim based authorization :  Provides fine grained authorization.  Policy based access control with XACML – provides flexibilty.
  • 23. Authorization based on claims carried in SAML token. Heart Patient’s Records: (4) Allow/deny Name: access Age: Histroy: SAML Token Secured Proxy 1 (3) Authorization decision Entitlement PAP, PDP, Mediator (2) XACML PIP [PEP] Authorization request
  • 24. Requirement: Delegating access: Eg: Application in a phisician’s mobile device needs to retrieve channelling appointments from his account in Ceycare System.
  • 25. Pattern: Authorization patterns  Constrained delegation using OAuth: 1. Mobile app authenticates to authorization server. 2. Mobile app requests authorization from resource owner. 3. Resource owner authenticates to authorization server. 4. Resource owner grants permissions to the application to access resource on behalf of him. 5. Application obtains access token from access grant. 6. Resource server (ESB) validates access token. 7. Allow/Deny access to BE resource.
  • 26. Chanelling appointments Name: Time: (7) Allow/ Hospital: Access request+ deny Access Token OAuth access 5 Mediator (6) Validate Access Token Authorization 1 request (4) Access Token 2 Authorization (3) Authorization grant grant
  • 27. Requirements:  Protect sensitive personal data during transmission from :  tampering  unauthorized access  Non-repudiation - A patient’s account should show who has updated his/her medical records.
  • 28. Patterns: Message protection patterns:  Data origin authentication and intergrity - digital signatures.  Data confidentiality - digital encyption.
  • 31. Requirement: Avoid exposing sensitive data through exceptions.  Legacy application code might throw exceptions containing sensitive information.  Need to filter those expections when system is exposed to external parties.
  • 32. Pattern: Boundry defense pattern  Exception shielding: - Sanitize unsafe exception data by replacing it with non-harmful exception message. - Enrich mediator of ESB.
  • 33. Example un-safe message:
  • 34. Example Configuration:
  • 35. Requirement: Log security incidents to trace system abuse: - Failed login attempts - Unauthorized access attempts to services
  • 36. Pattern: Boundry defense pattern:  Audit Intercepter  All messages flow through the a gateway of the system. (ESB)  Necessary auditing is done by the logging at the gateway. (Log mediators of ESB)
  • 38. Requirement: Prevent denial of service attacks caused by replaying valid messages.
  • 39. Pattern: Boundray defense pattern  Replay mitigation: - Apply throttling rules at the entry point (ESB). - Validate message freshness by WS-Security mechanisms (Timestamp).
  • 40. Applying throttling rules in ESB: Control access at three different levels through throttling: 1. Global 2. Service 3. Operation
  • 41. Throttling at global level:
  • 42. Throttling at service level:
  • 43. Configuring throttling in ESB:
  • 44. Example Time Stamp in WS-Security Header:
  • 45. Requriement: Mitigate damages to the system from messages with malicious content : - SQL injection - X-Doc attacks
  • 46. Pattern: Boundray defense pattern  Message validation : - XML Schema validation. - Regular expression validation to avoid SQL injections contained in strings. - Validation & Filter mediators of ESB.
  • 47. Examlpe SQL Injection attack: Query: SELECT * FROM p r e s c r i p t i o n s WHERE pat i ent ID = ' + $pat i ent ID +' ; If $pat i ent ID = 3 5 2 1 ' ; DROP TABLE p a t i e n t s ; Resulting query causing SQL injection: SELECT FROM p r e s c r i p t i o n s WHERE pat i ent ID = ' 3 5 2 1 ' ; DROP TABLE p a t i e n t s ; Source: Security in SOA-Based Healthcare System
  • 48. Example Configuration:
  • 49. Security requierments related to a healthcare SOA solution.  Security patterns used to accomplish them.  How WSO2 ESB fits in the security patterns.
  • 50. WSO2 Security & Identity Gateway solution white paper: http://wso2.com/casestudies/wso2-security-and- identity-gateway-solution/  Security in SOA based healthcare systems: By Richard Sassoon
  • 51.
  • 52. Selected Customers https://ail.google.com/mail/u/0/?ui=2&ik=ad9a e58f41&view=att&th=1331a70983344a32&atti d=0.1&disp=thd&realattid=f_gtxto6mk0&zw
  • 53. • QuickStart • Development Support • Development Services • Production Support • Turnkey Solutions • WSO2 Mobile Services Solution • WSO2 FIX Gateway Solution • WSO2 SAP Gateway Solution