SlideShare a Scribd company logo
Securing Insecure
Prabath Siriwardena, WSO2
Twitter : @prabath
About the presenter (@prabath)
• 7+ years at WSO2
• Member of OASIS Identity Metasystem Interoperability (IMI)
TC,OASIS eXtensible Access Control Markup Language
(XACML) TC, OASIS Security Services (SAML) TC, OASIS
Identity in the Cloud TC and OASIS Cloud Authorization
(CloudAuthZ) TC
• Blog: http://blog.facilelogin.com
• Books:
Perception
Perception
Perception
Correctness
C-I-
A
Confidentiality
Integrity
Availability
Correctness
The Weakest Link
Insider Attacks
Defense In Depth
Threat Modeling
Pattern 01
Problem Statement
A medium-scale enterprise has a limited number of RESTful APIs. These APIs should
only be accessed by company employees via a single web application while they are
behind the company firewall. All the user data are stored in an Active Directory and the
web application is connected to it to authenticate users. The web application passes
logged in user’s identifier to the backend APIs and retrieves data related to the user.
Securing Insecure
Securing Insecure
Pattern 02
Problem Statement
A medium-scale enterprise has a limited number of RESTful APIs. These APIs should
only be accessed by company employees via a single web application while they are
behind the company firewall. All the user data are stored in an Active Directory and the
web application is connected to it to authenticate users. The web application needs to
access the backend APIs on behalf of the logged in user.
Securing Insecure
Securing Insecure
Pattern 03
Problem Statement
A medium-scale enterprise has a limited number of RESTful APIs. These APIs should
only be accessed by company employees via multiple web applications while they are
behind the company firewall. All the user data are stored in an Active Directory and all
the web applications are connected to a SAML 2.0 Identity Provider to authenticate
users. The web applications need to access backend APIs on behalf of the logged in
user.
Securing Insecure
Pattern 04
Problem Statement
A medium-scale enterprise has a limited number of RESTful APIs. These APIs should
only be accessed by company employees via multiple web applications while they are
behind the company firewall. All the user data are stored in an Active Directory and all
the web applications are connected to a SAML 2.0 Identity Provider to authenticate
users. The web applications need to access backend APIs on behalf of the logged in
user. All the users are in a Windows domain and once they are logged into their
workstations – they should not be asked to provide credentials at any point for any other
application.
Securing Insecure
Pattern 05
Problem Statement
A medium-scale enterprise has a limited number of RESTful APIs. These APIs should
only be accessed by company employees as well as employees from trusted partners
via multiple web applications. All the internal user data are stored in an Active Directory
and all the web applications are connected to a SAML 2.0 Identity Provider to
authenticate users. The web applications need to access backend APIs on behalf of the
logged in user.
Securing Insecure
Pattern 06
Problem Statement
A medium-scale enterprise has a limited number of RESTful APIs. These APIs should
only be accessed by company employees via multiple web applications while they are
behind the company firewall. All the user data are stored in an Active Directory and all
the web applications are connected to an OpenID Connect Identity Provider to
authenticate users. The web applications need to access backend APIs on behalf of the
logged in user.
Securing Insecure
Pattern 07
Problem Statement
A medium-scale enterprise in the finance industry needs to expose an API to its
customers through a mobile application. One major requirement is that all the API calls
should support non-repudiation.
Securing Insecure
Pattern 08
Problem Statement
A medium-scale enterprise that sells bottled water has a RESTful API (Water API),
which can be used to update the amount of water consumed by a registered user. These
APIs should be accessed by any registered user via any client application - could be an
android app, an iOS app or even a web application. The company only provides APIs
and anyone can develop client applications to consume those. All the user data are
stored in an Active Directory. Client applications should not be able to access the API
directly and query about users. Only registered users can access the API – and they
also should not be able to see other users information. At the same time for each
update by the user – the Water API must also update user’s health care record
maintained at the MyHealth.org. The user also has a user record at MyHealth.org and it
too exposes an API (MyHealth API). The Water API has to call MyHealth API to update
user record, on be half of the user.
Securing Insecure
Pattern 09
Problem Statement
A large-scale enterprise has a set of RESTful APIs. The APIs are hosted in different
departments and each department runs its own OAuth authorization server due to
vendor incompatibilities in different deployments. These APIs should only be accessed
by company employees via multiple web applications while they are behind the company
firewall – irrespective of the department they belong to. All the user data are stored in a
centralized Active Directory and all the web applications are connected to a centralized
OAuth Authorization Server (also supports OpenID Connect) to authenticate users. The
web applications need to access backend APIs on behalf of the logged in user. These
APIs may come from different departments – having their own authorization servers.
The company also has a centralized OAuth authorization server and an employee
having an access token from the centralized authorization server must be able to access
any API hosted in any department.
Securing Insecure
Pattern 10
Problem Statement
A global organization has APIs and API clients distributed across different regions. Each
region operates independent from each other. Currently both the clients and the APIs
are non-secured. Need to secure the APIs without doing any changes either at the API
end or at the client end.
Securing Insecure
Pattern 11
Problem Statement
A company wants to expose an API to its own employees. But the user credentials must
not ever go over the wire.
Pattern 12
Problem Statement
A medium-scale enterprise has a limited number of RESTful APIs. These APIs should
only be accessed by company employees via a single web application while they are
behind the company firewall. All the user data are stored in an Active Directory and the
web application is connected to it to authenticate users. The web application needs to
access the backend APIs on behalf of the logged in user. The backend API must
authorize the user.
Securing Insecure
Contact us !

More Related Content

PPTX
Connected Identity : The Role of the Identity Bus
PDF
Securing Single-Page Applications with OAuth 2.0
PPTX
Authentication and single sign on (sso)
PDF
Authlete: API Authorization Enabler for API Economy
PDF
API Security Best Practices & Guidelines
PDF
Gravitee.io
PDF
API Security In Cloud Native Era
PDF
Client Initiated Backchannel Authentication (CIBA) and Authlete’s Approach
Connected Identity : The Role of the Identity Bus
Securing Single-Page Applications with OAuth 2.0
Authentication and single sign on (sso)
Authlete: API Authorization Enabler for API Economy
API Security Best Practices & Guidelines
Gravitee.io
API Security In Cloud Native Era
Client Initiated Backchannel Authentication (CIBA) and Authlete’s Approach

What's hot (20)

PPTX
Kodak - OpenID Retail Summit at PayPal
PDF
Identity Hub’s Role in Social Logins
PPTX
OpenID Connect and Single Sign-On for Beginners
PPTX
An Introduction to OAuth 2
ODP
Security components in mule esb
PPTX
Best Practices in Building an API Security Ecosystem
PPTX
Rest API Security - A quick understanding of Rest API Security
PPTX
OAuth - Don’t Throw the Baby Out with the Bathwater
PDF
OBIE Directory Integration - A Technical Deep Dive
PPTX
API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...
PDF
Checkmarx meetup API Security - API Security in depth - Inon Shkedy
PDF
Strong Customer Authentication - All Your Questions Answered
PDF
[Kong summit 2019] Egress Gateway Pattern - Zhuojie Zhou
PPTX
Protecting APIs from Mobile Threats- Beyond Oauth
PPTX
apidays LIVE India - 10 steps to secure your API by Pabitra Kumar Sahoo, Qual...
PDF
CloudStack Identity and Access Management (IAM)
PDF
42Crunch Security Audit for WSO2 API Manager 3.1
PDF
APIdays Paris 2019 : Financial-grade API (FAPI) Security Profile
PDF
Enterprise Single Sign On
PDF
Trends in Banking APIs
Kodak - OpenID Retail Summit at PayPal
Identity Hub’s Role in Social Logins
OpenID Connect and Single Sign-On for Beginners
An Introduction to OAuth 2
Security components in mule esb
Best Practices in Building an API Security Ecosystem
Rest API Security - A quick understanding of Rest API Security
OAuth - Don’t Throw the Baby Out with the Bathwater
OBIE Directory Integration - A Technical Deep Dive
API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...
Checkmarx meetup API Security - API Security in depth - Inon Shkedy
Strong Customer Authentication - All Your Questions Answered
[Kong summit 2019] Egress Gateway Pattern - Zhuojie Zhou
Protecting APIs from Mobile Threats- Beyond Oauth
apidays LIVE India - 10 steps to secure your API by Pabitra Kumar Sahoo, Qual...
CloudStack Identity and Access Management (IAM)
42Crunch Security Audit for WSO2 API Manager 3.1
APIdays Paris 2019 : Financial-grade API (FAPI) Security Profile
Enterprise Single Sign On
Trends in Banking APIs
Ad

Viewers also liked (14)

PDF
Building an API Security Ecosystem
PPTX
Evolution of Internet Identity
PPTX
Securing the Insecure
PPTX
Next-Gen Apps with IoT and Cloud
PPTX
The Evolution of Internet Identity
PPTX
Connected Identity : Benefits, Risks & Challenges
PDF
Identity Management for Web Application Developers
PPTX
WSO2Con USA 2014 - Identity Server Tutorial
PPTX
API Security : Patterns and Practices
PPTX
XML Signature
PDF
Open Standards in Identity Management
PPTX
XML Encryption
PPTX
Deep dive into Java security architecture
PPTX
Preparing for Tomorrow
Building an API Security Ecosystem
Evolution of Internet Identity
Securing the Insecure
Next-Gen Apps with IoT and Cloud
The Evolution of Internet Identity
Connected Identity : Benefits, Risks & Challenges
Identity Management for Web Application Developers
WSO2Con USA 2014 - Identity Server Tutorial
API Security : Patterns and Practices
XML Signature
Open Standards in Identity Management
XML Encryption
Deep dive into Java security architecture
Preparing for Tomorrow
Ad

Similar to Securing Insecure (20)

PPTX
Securing the Insecure
PDF
O Dell Secure360 Presentation5 12 10b
PPT
Enterprise API deployment best practice
PDF
APIdays Paris 2019 - API Security Tips for Developers by Isabelle Mauny, 42Cr...
PDF
GHC18 Abstract - API Security, a Grail Quest
PPTX
Enterprise Access Control Patterns for Rest and Web APIs
PDF
Addressing Integration needs in the education industry with the WSO2 Platform
PDF
API Security best practices Protect your APIs with Anypoint Platform
PDF
Implementing Microservices Security Patterns & Protocols with Spring
PDF
Layer 7: 2010 RSA Presentation on REST and Oauth Security
PDF
OWASP Top 10 Overview
PDF
Scalable threat modelling with risk patterns
PDF
WSO2 Use Case - API Facade Pattern
PDF
API Security Best Practices & Guidelines
PDF
Microservice architecture-api-gateway-considerations
PDF
Role of Rest vs. Web Services and EI
PDF
WebApp_to_Container_Security.pdf
PDF
Identity patterns and anit-patterns in real world web services
PPTX
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
PDF
Keamanan Digital dan Privasi di Masa Pandemi-Taro Lay (Director-Kalama Cyber)
Securing the Insecure
O Dell Secure360 Presentation5 12 10b
Enterprise API deployment best practice
APIdays Paris 2019 - API Security Tips for Developers by Isabelle Mauny, 42Cr...
GHC18 Abstract - API Security, a Grail Quest
Enterprise Access Control Patterns for Rest and Web APIs
Addressing Integration needs in the education industry with the WSO2 Platform
API Security best practices Protect your APIs with Anypoint Platform
Implementing Microservices Security Patterns & Protocols with Spring
Layer 7: 2010 RSA Presentation on REST and Oauth Security
OWASP Top 10 Overview
Scalable threat modelling with risk patterns
WSO2 Use Case - API Facade Pattern
API Security Best Practices & Guidelines
Microservice architecture-api-gateway-considerations
Role of Rest vs. Web Services and EI
WebApp_to_Container_Security.pdf
Identity patterns and anit-patterns in real world web services
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
Keamanan Digital dan Privasi di Masa Pandemi-Taro Lay (Director-Kalama Cyber)

More from Prabath Siriwardena (11)

PDF
Microservices Security Landscape
PDF
Cloud Native Identity with SPIFFE
PDF
Identity is Eating the World!
PPTX
Microservices Security Landscape
PPTX
OAuth 2.0 Threat Landscape
PDF
GDPR for Identity Architects
PDF
Blockchain-based Solutions for Identity & Access Management
PDF
OAuth 2.0 Threat Landscapes
PDF
OAuth 2.0 for Web and Native (Mobile) App Developers
PDF
Advanced API Security
PPTX
Microservices Security Landscape
Cloud Native Identity with SPIFFE
Identity is Eating the World!
Microservices Security Landscape
OAuth 2.0 Threat Landscape
GDPR for Identity Architects
Blockchain-based Solutions for Identity & Access Management
OAuth 2.0 Threat Landscapes
OAuth 2.0 for Web and Native (Mobile) App Developers
Advanced API Security

Securing Insecure

  • 1. Securing Insecure Prabath Siriwardena, WSO2 Twitter : @prabath
  • 2. About the presenter (@prabath) • 7+ years at WSO2 • Member of OASIS Identity Metasystem Interoperability (IMI) TC,OASIS eXtensible Access Control Markup Language (XACML) TC, OASIS Security Services (SAML) TC, OASIS Identity in the Cloud TC and OASIS Cloud Authorization (CloudAuthZ) TC • Blog: http://blog.facilelogin.com • Books:
  • 12. Pattern 01 Problem Statement A medium-scale enterprise has a limited number of RESTful APIs. These APIs should only be accessed by company employees via a single web application while they are behind the company firewall. All the user data are stored in an Active Directory and the web application is connected to it to authenticate users. The web application passes logged in user’s identifier to the backend APIs and retrieves data related to the user.
  • 15. Pattern 02 Problem Statement A medium-scale enterprise has a limited number of RESTful APIs. These APIs should only be accessed by company employees via a single web application while they are behind the company firewall. All the user data are stored in an Active Directory and the web application is connected to it to authenticate users. The web application needs to access the backend APIs on behalf of the logged in user.
  • 18. Pattern 03 Problem Statement A medium-scale enterprise has a limited number of RESTful APIs. These APIs should only be accessed by company employees via multiple web applications while they are behind the company firewall. All the user data are stored in an Active Directory and all the web applications are connected to a SAML 2.0 Identity Provider to authenticate users. The web applications need to access backend APIs on behalf of the logged in user.
  • 20. Pattern 04 Problem Statement A medium-scale enterprise has a limited number of RESTful APIs. These APIs should only be accessed by company employees via multiple web applications while they are behind the company firewall. All the user data are stored in an Active Directory and all the web applications are connected to a SAML 2.0 Identity Provider to authenticate users. The web applications need to access backend APIs on behalf of the logged in user. All the users are in a Windows domain and once they are logged into their workstations – they should not be asked to provide credentials at any point for any other application.
  • 22. Pattern 05 Problem Statement A medium-scale enterprise has a limited number of RESTful APIs. These APIs should only be accessed by company employees as well as employees from trusted partners via multiple web applications. All the internal user data are stored in an Active Directory and all the web applications are connected to a SAML 2.0 Identity Provider to authenticate users. The web applications need to access backend APIs on behalf of the logged in user.
  • 24. Pattern 06 Problem Statement A medium-scale enterprise has a limited number of RESTful APIs. These APIs should only be accessed by company employees via multiple web applications while they are behind the company firewall. All the user data are stored in an Active Directory and all the web applications are connected to an OpenID Connect Identity Provider to authenticate users. The web applications need to access backend APIs on behalf of the logged in user.
  • 26. Pattern 07 Problem Statement A medium-scale enterprise in the finance industry needs to expose an API to its customers through a mobile application. One major requirement is that all the API calls should support non-repudiation.
  • 28. Pattern 08 Problem Statement A medium-scale enterprise that sells bottled water has a RESTful API (Water API), which can be used to update the amount of water consumed by a registered user. These APIs should be accessed by any registered user via any client application - could be an android app, an iOS app or even a web application. The company only provides APIs and anyone can develop client applications to consume those. All the user data are stored in an Active Directory. Client applications should not be able to access the API directly and query about users. Only registered users can access the API – and they also should not be able to see other users information. At the same time for each update by the user – the Water API must also update user’s health care record maintained at the MyHealth.org. The user also has a user record at MyHealth.org and it too exposes an API (MyHealth API). The Water API has to call MyHealth API to update user record, on be half of the user.
  • 30. Pattern 09 Problem Statement A large-scale enterprise has a set of RESTful APIs. The APIs are hosted in different departments and each department runs its own OAuth authorization server due to vendor incompatibilities in different deployments. These APIs should only be accessed by company employees via multiple web applications while they are behind the company firewall – irrespective of the department they belong to. All the user data are stored in a centralized Active Directory and all the web applications are connected to a centralized OAuth Authorization Server (also supports OpenID Connect) to authenticate users. The web applications need to access backend APIs on behalf of the logged in user. These APIs may come from different departments – having their own authorization servers. The company also has a centralized OAuth authorization server and an employee having an access token from the centralized authorization server must be able to access any API hosted in any department.
  • 32. Pattern 10 Problem Statement A global organization has APIs and API clients distributed across different regions. Each region operates independent from each other. Currently both the clients and the APIs are non-secured. Need to secure the APIs without doing any changes either at the API end or at the client end.
  • 34. Pattern 11 Problem Statement A company wants to expose an API to its own employees. But the user credentials must not ever go over the wire.
  • 35. Pattern 12 Problem Statement A medium-scale enterprise has a limited number of RESTful APIs. These APIs should only be accessed by company employees via a single web application while they are behind the company firewall. All the user data are stored in an Active Directory and the web application is connected to it to authenticate users. The web application needs to access the backend APIs on behalf of the logged in user. The backend API must authorize the user.