SlideShare a Scribd company logo
WEBSERVICE SECURITY
CONSIDERATIONS AND MEASURES
Maarten Smeets
03-12-2017
@MaartenSmeetsNL
https://nl.linkedin.com/in/smeetsm
About Maarten
• Integration consultant at AMIS since 2014
• Several certifications
SOA, BPM, MCS, Java, SQL, PL/SQL, etc
• Enthusiastic blogger
http://javaoraclesoa.blogspot.com
WEBSERVICE SECURITY
INTRODUCTION TLS/SSL AND APPLICATION
LAYER
TLS IN SOA SUITE
TLS IN THE ORACLE CLOUD AUTHENTICATION
IDENTIFICATION
USING HTTP HEADERS
WS-SECURITY FINAL THOUGHTS
Webservice security considerations and measures
WEBSERVICE SECURITY
GDPR IN THE UK AND WITHDRAWAL FROM THE EU
• 21 June 2017
The Queen’s Speech has confirmed that the General Data Protection
Regulation will form part of UK law following the country’s withdrawal
from the European Union.
GDPR AT UKOUG
Time Session title Conference Presenter
Mo 12:35 GDPR for the Oracle DBA Tech17 Peter Finnigan
PeteFinnigan.com
Tu 9:00 Impact of EU GDPR on Big Data & Business
Intelligence
Apps17 Baljit Sarpal
Sarpal Consultancy
Tu 11:15 EU GDPR Mechanisms of Control with Process
Modelling & Data & Application Services Gov
Apps17 Milomir Vojvodic
Oracle
Tu 14:50 GDPR & IFRS Compliance JDE17 Howard Page
QSoftware
WEBSERVICE SECURITY
GENERAL DATA PROTECTION REGULATION (GDPR)
• "...implement measures to mitigate those risks, such as encryption."
(P51. (83))
• "...appropriate safeguards, which may include encryption" (P121 (4.e))
• "...including inter alia as appropriate: (a) the pseudonymization and
encryption of personal data." (P160 (1a))
• "...unintelligible to any person who is not authorized to access it, such as
encryption" (P163 (3a))
WEBSERVICE SECURITY
• Confidentiality
• Integrity
• Authentication / Identity • Authorization
• Access to specific resources
• Entitlements
WEBSERVICE SECURITY
Application layer
(HTTP, LDAP)
TLS/SSL layer
Transport layer
(TCP, UDP)
Netwerk layer
(IP)
Security only in the application layer
might cause plaintext passwords or
reusable tokens to be transmitted
and potentially intercepted
WEBSERVICE SECURITY
TLS/SSL VS APPLICATION LAYER SECURITY
• Performance
TLS/SSL is much faster than security on message contents
• Granularity
TLS/SSL is usually on host level
• Application security can be much more specific
• Genericity
• TLS/SSL can be used on HTTP, SMTP, T3
• Application layer security is specific for a platform / application
WEBSERVICE SECURITY
WHICH PRODUCTS
• Part of gateway products
• API Gateway
• API Platform Cloud Service
• Part of application server / integration products such as
• WebLogic Server / SOA Suite
• Java Cloud Service / SOA CS
• Part of ‘high’ PaaS and SaaS products such as
• Mobile Cloud Service
• Integration Cloud Service
REPUDIATION OF ORIGIN
Do you trust the source of the message
Authentication and identification
REPUDIATION OF EMISSION
Do you trust the contents of the message
Integrity and confidentiality
1 2
WEBSERVICE SECURITY
TLS/SSL layer Application layer
WEBSERVICE SECURITY
TLS/SSL LAYER
• Client and server perform a handshake
• During the handshake certificates are exchanged
• Certificates are stored in keystores and can be checked
• Client and server agree on further details of the connection (cipher
suite)
WEBSERVICE SECURITY
WHAT’S IN A CERTIFICATE
• A public key
• Information on the issuer
• A serial number, unique per issuer
• A period during which the
certificate is valid
• A hostname
or hostname wildcard
• References to certificate
revocation lists
WEBSERVICE SECURITY
KEYSTORE TYPES IN WEBLOGIC SERVER
• JKS: Java KeyStore
Filesystem storage
• Edit using
• CLI: keytool
• GUI (3rd party):
• KeyExplorer
• Portecle
• KSS: OPSS KeyStoreService
Database storage
• Edit using
• WLST
• REST API
• FMW Control
• Introduced in WLS 10.3.6
(SOA Suite 11.1.1.7) Default in 12c
https://technology.amis.nl/2017/09/24/oracle-soa-suite-and-weblogic-overview-of-key-and-keystore-configuration/
• Used for TLS/SSL and application layer security (OWSM)
WEBSERVICE SECURITY
TLS: USING CIPHER SUITES
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
Key exchange Signature
Bulk encryption
algorithm
Message authentication
algorithm
Repudiation of origin
Integrity
Repudiation of emission
ConfidentialityAuthentication Identification
TRANSPORT LAYER SECURITY
ONE WAY
• The client does not send a certificate the server can check
• The server sends a certificate the client can check
TRANSPORT LAYER SECURITY
TWO WAY
• The client sends a certificate the server can check
• The server sends a certificate the client can check
CONSIDERATIONS ONE OR TWO WAY SSL
• Do you require validation of the client?
Are client and server located in the same data center?
• Can you control the client?
Force the client to use a client certificate?
Manage client certificates next to server certificates
• Performance.
• Per TLS connection extra validations need to be performed.
• More network traffic is required since the client also sends a certificate
1 2
OUTBOUND 2-WAY SSL SOA SUITE
Composites Service Bus
COMPOSITES
• Configure the composite identity keystore
This is domain level configuration! Not customizable per service
• Configure keystore password and key password
Add CSF entries in the folder SOA
• Configure composite reference for 2-way SSL
<property name=”oracle.soa.two.way.ssl.enabled”>true</property>
• Trust the public certificates
Put the client certificate or CA in the server truststore and
the server certificate or CA in the client truststore.
SERVICE BUS
• PKICredentialMapper
Create a PKICredentialMapper in WebLogic Console
Define the keystore and keystore password
• ServiceKeyProvider
Create a ServiceKeyProvider in a project (or a shared location)
This uses the PKICredentialMapper. Contains a reference to the key and key password
http://www.redrock-it.nl/add-client-certificate-outgoing-osb-call/
1 2
TLS IN THE ORACLE CLOUD
IaaS and Compute based PaaS Non Compute based PaaS and SaaS
ORACLE CLOUD
IAAS AND COMPUTE BASED PAAS
• Services in which the customer can access the VM
Like Java Cloud Service, Database Cloud Service
• “bring your own host name” policy
• The customer is responsible for requesting a certificate and
implementing it
http://www.ateam-oracle.com/https-and-trust-in-oracle-public-cloud/
ORACLE CLOUD
NON COMPUTE BASED PAAS AND SAAS
• Services like ICS, SOACS, Mobile Cloud
Service, Document Cloud Service, Sales
Cloud, ERP Cloud
• Oracle offers a (wildcard) certificate
per cloud service per region
• Cipher suites are preconfigured and not
configurable
Application layer security
1 2
AUTHENTICATION / IDENTIFICATION
HTTP HEADERS
Basic authentication OAuth
WEBSERVICE SECURITY
HTTP HEADERS: BASIC AUTHENTICATION
Basic Authentication
HTTP header name :
Authorization
HTTP header contents:
Basic dXNlcjpwYXNzd29yZA==
Base64 encoded
user:password
WEBSERVICE SECURITY
SECURE TOKEN SERVICE
WEBSERVICE SECURITY
HTTP HEADERS: OAUTH 2.0: MOBILE CLOUD SERVICE
WEBSERVICE SECURITY
HTTP HEADERS: OAUTH 2.0: MOBILE CLOUD SERVICE
Use basic authentication to obtain a token
from the tokenservice
Token is valid for 8h
WEBSERVICE SECURITY
HTTP HEADERS: OAUTH 2.0: MOBILE CLOUD SERVICE
Use the token
1 2
AUTHENTICATION / IDENTIFICATION
WS-SECURITY
UsernamePassword token Digest token
AUTHENTICATION
WS-SECURITY USING A USERNAME/PASSWORD TOKEN
• WS-Security Username Authentication
oracle/wss_username_token_client_policy
oracle/wss_username_token_server_policy
AUTHENTICATION
WS-SECURITY USING A DIGEST TOKEN
• WS-Security provides authentication based on a digest token
• A digest token consists of a cryptographic hash of
• A username / password
• A nonce: a number or string which can be used only once
• A timestamp
AUTHENTICATION
WS-SECURITY USING A DIGEST TOKEN IN WLS/OWSM
• WebLogic Server + OWSM
• Only when authenticating using WLS internal LDAP
Password decryption should be possible
• Can only authenticate users created after the digest configuration has been applied
• Nonce
A nonce can be cached in Coherence
Mind the Coherence configuration!
https://thecattlecrew.net/2017/03/22/ws-security-with-username-token-profile-on-oracle-weblogic-server/
CONFIDENTIALITY AND INTEGRITY
ON THE APPLICATION LAYER USING WS-SECURITY
• Confidentiality: XML Encryption
• Message encryption
• Integrity: XML Signature
• Messages have not been changed since signing
• The sending party uses his private key for signing. The receiving party
can check this with the senders public key
CONFIDENTIALITY AND INTEGRITY
ORACLE WEBSERVICE MANAGER: POLICIES
• oracle/wss10_message_protection_client_policy
oracle/wss11_message_protection_client_policy
oracle/wss10_message_protection_server_policy
oracle/wss11_message_protection_server_policy
KSS keystore: Key alias
JKS keystore: CSF entry in oracle.wsm.security
CONFIDENTIALITY
• oracle/pii_security_policy
Encryption of Personally Identifiable Information (PII)
• Only within a composite
• You want to use the value? First decrypt it (using Java embedding)
Personally Identifiable Information
CONFIDENTIALITY
PERSONALLY IDENTIFIABLE INFORMATION
1 2
Considerations Food for thought
CONSIDERATIONS
Performance
Complexity
Coverage
DTAP
Capabilities of software
Futureproof
Sensitivity of data
License fee
Testability
Flexibility
Manageability
PERFORMANCE
• WS SecureConversation
With multiple messages, the number of authentications
performed is reduced
• System entropy (especially on VM’s)
http://oraclemiddlewareblog.com/2012/10/17/how-to-improve-
weblogic-servers-startup-time
http://bugs.java.com/view_bug.do?bug_id=6521844
• Preemptive basic authentication
http://georgie-soablog.blogspot.nl/2013/09/bpel-calling-web-
services-with-http.html
https://en.wikipedia.org/wiki/WS-Security
FOOD FOR THOUGHT
GDPR
• Do you know what Personally Identifiable Information (PII) exactly is?
• Do you know where your PII data is located, cached, stored (backups?),
aggregated, analyzed, …?
• Do you know who can access this data? And for what reason? Do you keep
record of people accessing data?
• Do you know who has the responsibility to provide agreements and
assessments for (storing, processing, transmitting) this data?
• Can you remove PII data in all systems on request?
• Can you provide a client with all the PII data you have on them?
Webservice security considerations and measures
REPUDIATION OF EMISSION
• Send a hash value with the message
• The same message produces the same value with the same hash function
• Only sender and receiver know the hash function
Message
Hash
function
Hash value
TRANSPORT LAYER SECURITY
VERSIONS
TLS versie Uitgekomen Belangrijkste kwetsbaarheden
SSL 1 No Never released due to too many issues
SSL 2 1995 DROWN
SSL 3 1996 POODLE
TLS 1.0 1999 BEAST
TLS 1.1 2006 CBC, Sweet32
TLS 1.2 2008 Logjam, FREAK, Heartbleed (OpenSSL)
TLS 1.3 TBD
Netscape
IETF
TRANSPORT LAYER SECURITY
JAVA
• TLS 1.2 is supported from
• Oracle JDK 6u121
• JRockit R28.3.11
• The best cipher suites require
Java Cryptography Extension (JCE)
Unlimited Strength Jurisdiction Policy Files
• JCE can be installed on JRockit and Oracle JDK
See Oracle support Doc ID 2262067.1
• In new versions of Java installation of JCE is no longer required (default)
6u191, 7u181, 8u171, 9
ORACLE CLOUD
CIPHER SUITES
• TLS 1.0 is supported
Possibly vulnerable for POODLE and BEAST
• TLS 1.2 GCM cipher suites are not
supported. These offer integrity checking.
• Several SHA cipher suites (next to SHA256).
These are vulnerable against collision attacks
• TLS_RSA_WITH_3DES_EDE_CBC_SHA
Is a weak cipher suite
COMPOSITES
CONFIGURE THE COMPOSITE IDENTITY KEYSTORE
• Integratie loket | 3 oktober 2017
COMPOSITES
CONFIGURE THE KEYSTORE PASSWORD AND KEY PASSWORD
COMPOSITES
CONFIGURE THE REFERENCE
• Use an HTTPS endpoint
Add a property to the binding for 2-way SSL
SERVICE BUS
PKICREDENTIALMAPPER
SERVICE BUS
PKICREDENTIALMAPPER
SERVICE BUS
SERVICEKEYPROVIDER
SERVICE BUS
SERVICEKEYPROVIDER
WEBSERVICE SECURITY
SYMMETRIC CRYPTOGRAPHY
Lorem
ipsum dolor
sit amet,
consectetur
adipiscing
elit. Integer
nec odio
Lorem
ipsum dolor
sit amet,
consectetur
adipiscing
elit. Integer
nec odio
Original data
画開リむな
稿料ざぎぱ
る尚継たい
ぼ東作ハレ
宇眠ほ態泰
ヒ主三ネハ
ノヌ済昇ソ
Encrypted data Original data
Encryption Decryption
WEBSERVICE SECURITY
SYMMETRIC CRYPTOGRAPHY
• Challenge
How to get the same key at the
client and server without allowing
someone to intercept the key
AUTHORIZATION
• oracle/binding_authorization_template
• Role based access to a binding
• oracle/component_authorization_template
• Role based access to a component
• oracle/component_permission_authorization_template
• Authenticated subject can access the component / webservice operation
WEBSERVICE SECURITY
WEBLOGIC SERVER: ORACLE WEBSERVICE MANAGER
• Centrally define and store declarative policies applied to the
multiple Web services.
• Locally enforce policies through configurable agents.
• Monitor run time security events such as failed authentication or
authorization.
https://docs.oracle.com/middleware/1221/owsm/security/owsm-predefined-policies.htm
WEBSERVICE SECURITY
WEBLOGIC SERVER: KEYSTORE CONFIGURATION
WEBSERVICE SECURITY
WEBLOGIC SERVER: CREDENTIAL STORE FRAMEWORK

More Related Content

PPTX
CIS Compliance Automations Eevidence Collection, Security and Compliance Be...
PPTX
Design Practices for a Secure Azure Solution
PPTX
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
DOCX
XenMobile Packet Flow
PDF
How to integration DataPower with Zos
PPTX
Windows Azure Security & Compliance
PDF
020618 Why Do we Need HTTPS
PPTX
Service Discovery with Consul
CIS Compliance Automations Eevidence Collection, Security and Compliance Be...
Design Practices for a Secure Azure Solution
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
XenMobile Packet Flow
How to integration DataPower with Zos
Windows Azure Security & Compliance
020618 Why Do we Need HTTPS
Service Discovery with Consul

What's hot (20)

PDF
Networking deep dive
PDF
Security hardening of core AWS services
PPTX
Enterprise Node - Securing Your Environment
PPT
24 Hours Of Exchange Server 2007 ( Part 15 Of 24)
PDF
Using Istio to Secure & Monitor Your Services
PDF
Microservices Technology Stack
PPTX
Securing AWS Accounts with Hashi Vault
PDF
Citrix Day 2014: XenMobile Enterprise Edition
PPTX
Latest Trends in Web Application Security
PPTX
AWS Security
PDF
Alfresco DevCon 2019: Encryption at-rest and in-transit
PPTX
Integrating security into the application development process
PDF
Making Security Approachable for Developers and Operators
PDF
Architecting &Building Scalable Secure Web API
PPTX
Azure network and infrastructure
PPTX
Automating the VMware Virtual Datacenter
PPTX
CCI2018 - Azure Network - Security Best Practices
PPTX
Service Mesh 101 - Digging into your service
PPTX
Shared Security Responsibility for the Azure Cloud
PDF
Introduction to vault
Networking deep dive
Security hardening of core AWS services
Enterprise Node - Securing Your Environment
24 Hours Of Exchange Server 2007 ( Part 15 Of 24)
Using Istio to Secure & Monitor Your Services
Microservices Technology Stack
Securing AWS Accounts with Hashi Vault
Citrix Day 2014: XenMobile Enterprise Edition
Latest Trends in Web Application Security
AWS Security
Alfresco DevCon 2019: Encryption at-rest and in-transit
Integrating security into the application development process
Making Security Approachable for Developers and Operators
Architecting &Building Scalable Secure Web API
Azure network and infrastructure
Automating the VMware Virtual Datacenter
CCI2018 - Azure Network - Security Best Practices
Service Mesh 101 - Digging into your service
Shared Security Responsibility for the Azure Cloud
Introduction to vault
Ad

Similar to Webservice security considerations and measures (20)

PPTX
All you need to know about transport layer security
PDF
Webinar SSL English
PPTX
Certificate pinning in android applications
PPTX
Toronto MuleSoft Meetup: Virtual Meetup #3
PPTX
Securing TCP connections using SSL
PDF
SSL certificates in the Oracle Database without surprises
PDF
Security Patterns with WSO2 ESB
PPTX
Vital Aspects of SSL Support in MySQL
PDF
Securing Oracle EBS on Oracle Cloud Infrastructure_PPT_v2.pdf
PDF
SSL Everywhere!
PDF
RightScale Webinar: Security and Compliance in the Cloud
PDF
Dr. Omar Ali Alibrahim - Ssl talk
PDF
CRYPTOGRAPHY AND NETWORK SECURITY- Transport-level Security
PDF
presentation2-151203145018-lva1-app6891.pdf
PPTX
ION Cape Town - DANE: The Future of Transport Layer Security (TLS)
PDF
White paper - Full SSL automation with OneClickSSL
PDF
Deploying Next Generation Firewalling with ASA - CX
PPTX
Don't Get Schooled: Performance and Security Tips from a Leading Education Sa...
PPT
Introduction to Secure Sockets Layer
All you need to know about transport layer security
Webinar SSL English
Certificate pinning in android applications
Toronto MuleSoft Meetup: Virtual Meetup #3
Securing TCP connections using SSL
SSL certificates in the Oracle Database without surprises
Security Patterns with WSO2 ESB
Vital Aspects of SSL Support in MySQL
Securing Oracle EBS on Oracle Cloud Infrastructure_PPT_v2.pdf
SSL Everywhere!
RightScale Webinar: Security and Compliance in the Cloud
Dr. Omar Ali Alibrahim - Ssl talk
CRYPTOGRAPHY AND NETWORK SECURITY- Transport-level Security
presentation2-151203145018-lva1-app6891.pdf
ION Cape Town - DANE: The Future of Transport Layer Security (TLS)
White paper - Full SSL automation with OneClickSSL
Deploying Next Generation Firewalling with ASA - CX
Don't Get Schooled: Performance and Security Tips from a Leading Education Sa...
Introduction to Secure Sockets Layer
Ad

More from Maarten Smeets (15)

PPTX
Google jib: Building Java containers without Docker
PPTX
Introduction to Anchore Engine
PPTX
R2DBC Reactive Relational Database Connectivity
PPTX
Performance Issue? Machine Learning to the rescue!
PPTX
Performance of Microservice Frameworks on different JVMs
PPTX
Performance of Microservice frameworks on different JVMs
PPTX
VirtualBox networking explained
PPTX
Microservices on Application Container Cloud Service
PPTX
WebLogic Stability; Detect and Analyse Stuck Threads
PPTX
Introduction to Redis
PPTX
Machine learning with R
PPTX
WebLogic Scripting Tool made Cool!
PPTX
Oracle SOA Suite 12.2.1 new features
PPTX
How to build a cloud adapter
PPTX
WebLogic authentication debugging
Google jib: Building Java containers without Docker
Introduction to Anchore Engine
R2DBC Reactive Relational Database Connectivity
Performance Issue? Machine Learning to the rescue!
Performance of Microservice Frameworks on different JVMs
Performance of Microservice frameworks on different JVMs
VirtualBox networking explained
Microservices on Application Container Cloud Service
WebLogic Stability; Detect and Analyse Stuck Threads
Introduction to Redis
Machine learning with R
WebLogic Scripting Tool made Cool!
Oracle SOA Suite 12.2.1 new features
How to build a cloud adapter
WebLogic authentication debugging

Recently uploaded (20)

PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Introduction to Artificial Intelligence
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
AI in Product Development-omnex systems
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Nekopoi APK 2025 free lastest update
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Reimagine Home Health with the Power of Agentic AI​
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Design an Analysis of Algorithms I-SECS-1021-03
Understanding Forklifts - TECH EHS Solution
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
How Creative Agencies Leverage Project Management Software.pdf
Odoo POS Development Services by CandidRoot Solutions
wealthsignaloriginal-com-DS-text-... (1).pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Introduction to Artificial Intelligence
VVF-Customer-Presentation2025-Ver1.9.pptx
Design an Analysis of Algorithms II-SECS-1021-03
AI in Product Development-omnex systems
Upgrade and Innovation Strategies for SAP ERP Customers
How to Choose the Right IT Partner for Your Business in Malaysia
Nekopoi APK 2025 free lastest update
CHAPTER 2 - PM Management and IT Context
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Reimagine Home Health with the Power of Agentic AI​

Webservice security considerations and measures

  • 1. WEBSERVICE SECURITY CONSIDERATIONS AND MEASURES Maarten Smeets 03-12-2017
  • 2. @MaartenSmeetsNL https://nl.linkedin.com/in/smeetsm About Maarten • Integration consultant at AMIS since 2014 • Several certifications SOA, BPM, MCS, Java, SQL, PL/SQL, etc • Enthusiastic blogger http://javaoraclesoa.blogspot.com
  • 3. WEBSERVICE SECURITY INTRODUCTION TLS/SSL AND APPLICATION LAYER TLS IN SOA SUITE TLS IN THE ORACLE CLOUD AUTHENTICATION IDENTIFICATION USING HTTP HEADERS WS-SECURITY FINAL THOUGHTS
  • 5. WEBSERVICE SECURITY GDPR IN THE UK AND WITHDRAWAL FROM THE EU • 21 June 2017 The Queen’s Speech has confirmed that the General Data Protection Regulation will form part of UK law following the country’s withdrawal from the European Union.
  • 6. GDPR AT UKOUG Time Session title Conference Presenter Mo 12:35 GDPR for the Oracle DBA Tech17 Peter Finnigan PeteFinnigan.com Tu 9:00 Impact of EU GDPR on Big Data & Business Intelligence Apps17 Baljit Sarpal Sarpal Consultancy Tu 11:15 EU GDPR Mechanisms of Control with Process Modelling & Data & Application Services Gov Apps17 Milomir Vojvodic Oracle Tu 14:50 GDPR & IFRS Compliance JDE17 Howard Page QSoftware
  • 7. WEBSERVICE SECURITY GENERAL DATA PROTECTION REGULATION (GDPR) • "...implement measures to mitigate those risks, such as encryption." (P51. (83)) • "...appropriate safeguards, which may include encryption" (P121 (4.e)) • "...including inter alia as appropriate: (a) the pseudonymization and encryption of personal data." (P160 (1a)) • "...unintelligible to any person who is not authorized to access it, such as encryption" (P163 (3a))
  • 8. WEBSERVICE SECURITY • Confidentiality • Integrity • Authentication / Identity • Authorization • Access to specific resources • Entitlements
  • 9. WEBSERVICE SECURITY Application layer (HTTP, LDAP) TLS/SSL layer Transport layer (TCP, UDP) Netwerk layer (IP) Security only in the application layer might cause plaintext passwords or reusable tokens to be transmitted and potentially intercepted
  • 10. WEBSERVICE SECURITY TLS/SSL VS APPLICATION LAYER SECURITY • Performance TLS/SSL is much faster than security on message contents • Granularity TLS/SSL is usually on host level • Application security can be much more specific • Genericity • TLS/SSL can be used on HTTP, SMTP, T3 • Application layer security is specific for a platform / application
  • 11. WEBSERVICE SECURITY WHICH PRODUCTS • Part of gateway products • API Gateway • API Platform Cloud Service • Part of application server / integration products such as • WebLogic Server / SOA Suite • Java Cloud Service / SOA CS • Part of ‘high’ PaaS and SaaS products such as • Mobile Cloud Service • Integration Cloud Service
  • 12. REPUDIATION OF ORIGIN Do you trust the source of the message Authentication and identification
  • 13. REPUDIATION OF EMISSION Do you trust the contents of the message Integrity and confidentiality
  • 14. 1 2 WEBSERVICE SECURITY TLS/SSL layer Application layer
  • 15. WEBSERVICE SECURITY TLS/SSL LAYER • Client and server perform a handshake • During the handshake certificates are exchanged • Certificates are stored in keystores and can be checked • Client and server agree on further details of the connection (cipher suite)
  • 16. WEBSERVICE SECURITY WHAT’S IN A CERTIFICATE • A public key • Information on the issuer • A serial number, unique per issuer • A period during which the certificate is valid • A hostname or hostname wildcard • References to certificate revocation lists
  • 17. WEBSERVICE SECURITY KEYSTORE TYPES IN WEBLOGIC SERVER • JKS: Java KeyStore Filesystem storage • Edit using • CLI: keytool • GUI (3rd party): • KeyExplorer • Portecle • KSS: OPSS KeyStoreService Database storage • Edit using • WLST • REST API • FMW Control • Introduced in WLS 10.3.6 (SOA Suite 11.1.1.7) Default in 12c https://technology.amis.nl/2017/09/24/oracle-soa-suite-and-weblogic-overview-of-key-and-keystore-configuration/ • Used for TLS/SSL and application layer security (OWSM)
  • 18. WEBSERVICE SECURITY TLS: USING CIPHER SUITES TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 Key exchange Signature Bulk encryption algorithm Message authentication algorithm Repudiation of origin Integrity Repudiation of emission ConfidentialityAuthentication Identification
  • 19. TRANSPORT LAYER SECURITY ONE WAY • The client does not send a certificate the server can check • The server sends a certificate the client can check
  • 20. TRANSPORT LAYER SECURITY TWO WAY • The client sends a certificate the server can check • The server sends a certificate the client can check
  • 21. CONSIDERATIONS ONE OR TWO WAY SSL • Do you require validation of the client? Are client and server located in the same data center? • Can you control the client? Force the client to use a client certificate? Manage client certificates next to server certificates • Performance. • Per TLS connection extra validations need to be performed. • More network traffic is required since the client also sends a certificate
  • 22. 1 2 OUTBOUND 2-WAY SSL SOA SUITE Composites Service Bus
  • 23. COMPOSITES • Configure the composite identity keystore This is domain level configuration! Not customizable per service • Configure keystore password and key password Add CSF entries in the folder SOA • Configure composite reference for 2-way SSL <property name=”oracle.soa.two.way.ssl.enabled”>true</property> • Trust the public certificates Put the client certificate or CA in the server truststore and the server certificate or CA in the client truststore.
  • 24. SERVICE BUS • PKICredentialMapper Create a PKICredentialMapper in WebLogic Console Define the keystore and keystore password • ServiceKeyProvider Create a ServiceKeyProvider in a project (or a shared location) This uses the PKICredentialMapper. Contains a reference to the key and key password http://www.redrock-it.nl/add-client-certificate-outgoing-osb-call/
  • 25. 1 2 TLS IN THE ORACLE CLOUD IaaS and Compute based PaaS Non Compute based PaaS and SaaS
  • 26. ORACLE CLOUD IAAS AND COMPUTE BASED PAAS • Services in which the customer can access the VM Like Java Cloud Service, Database Cloud Service • “bring your own host name” policy • The customer is responsible for requesting a certificate and implementing it http://www.ateam-oracle.com/https-and-trust-in-oracle-public-cloud/
  • 27. ORACLE CLOUD NON COMPUTE BASED PAAS AND SAAS • Services like ICS, SOACS, Mobile Cloud Service, Document Cloud Service, Sales Cloud, ERP Cloud • Oracle offers a (wildcard) certificate per cloud service per region • Cipher suites are preconfigured and not configurable
  • 29. 1 2 AUTHENTICATION / IDENTIFICATION HTTP HEADERS Basic authentication OAuth
  • 30. WEBSERVICE SECURITY HTTP HEADERS: BASIC AUTHENTICATION Basic Authentication HTTP header name : Authorization HTTP header contents: Basic dXNlcjpwYXNzd29yZA== Base64 encoded user:password
  • 32. WEBSERVICE SECURITY HTTP HEADERS: OAUTH 2.0: MOBILE CLOUD SERVICE
  • 33. WEBSERVICE SECURITY HTTP HEADERS: OAUTH 2.0: MOBILE CLOUD SERVICE Use basic authentication to obtain a token from the tokenservice Token is valid for 8h
  • 34. WEBSERVICE SECURITY HTTP HEADERS: OAUTH 2.0: MOBILE CLOUD SERVICE Use the token
  • 35. 1 2 AUTHENTICATION / IDENTIFICATION WS-SECURITY UsernamePassword token Digest token
  • 36. AUTHENTICATION WS-SECURITY USING A USERNAME/PASSWORD TOKEN • WS-Security Username Authentication oracle/wss_username_token_client_policy oracle/wss_username_token_server_policy
  • 37. AUTHENTICATION WS-SECURITY USING A DIGEST TOKEN • WS-Security provides authentication based on a digest token • A digest token consists of a cryptographic hash of • A username / password • A nonce: a number or string which can be used only once • A timestamp
  • 38. AUTHENTICATION WS-SECURITY USING A DIGEST TOKEN IN WLS/OWSM • WebLogic Server + OWSM • Only when authenticating using WLS internal LDAP Password decryption should be possible • Can only authenticate users created after the digest configuration has been applied • Nonce A nonce can be cached in Coherence Mind the Coherence configuration! https://thecattlecrew.net/2017/03/22/ws-security-with-username-token-profile-on-oracle-weblogic-server/
  • 39. CONFIDENTIALITY AND INTEGRITY ON THE APPLICATION LAYER USING WS-SECURITY • Confidentiality: XML Encryption • Message encryption • Integrity: XML Signature • Messages have not been changed since signing • The sending party uses his private key for signing. The receiving party can check this with the senders public key
  • 40. CONFIDENTIALITY AND INTEGRITY ORACLE WEBSERVICE MANAGER: POLICIES • oracle/wss10_message_protection_client_policy oracle/wss11_message_protection_client_policy oracle/wss10_message_protection_server_policy oracle/wss11_message_protection_server_policy KSS keystore: Key alias JKS keystore: CSF entry in oracle.wsm.security
  • 41. CONFIDENTIALITY • oracle/pii_security_policy Encryption of Personally Identifiable Information (PII) • Only within a composite • You want to use the value? First decrypt it (using Java embedding) Personally Identifiable Information
  • 43. 1 2 Considerations Food for thought
  • 45. PERFORMANCE • WS SecureConversation With multiple messages, the number of authentications performed is reduced • System entropy (especially on VM’s) http://oraclemiddlewareblog.com/2012/10/17/how-to-improve- weblogic-servers-startup-time http://bugs.java.com/view_bug.do?bug_id=6521844 • Preemptive basic authentication http://georgie-soablog.blogspot.nl/2013/09/bpel-calling-web- services-with-http.html https://en.wikipedia.org/wiki/WS-Security
  • 46. FOOD FOR THOUGHT GDPR • Do you know what Personally Identifiable Information (PII) exactly is? • Do you know where your PII data is located, cached, stored (backups?), aggregated, analyzed, …? • Do you know who can access this data? And for what reason? Do you keep record of people accessing data? • Do you know who has the responsibility to provide agreements and assessments for (storing, processing, transmitting) this data? • Can you remove PII data in all systems on request? • Can you provide a client with all the PII data you have on them?
  • 48. REPUDIATION OF EMISSION • Send a hash value with the message • The same message produces the same value with the same hash function • Only sender and receiver know the hash function Message Hash function Hash value
  • 49. TRANSPORT LAYER SECURITY VERSIONS TLS versie Uitgekomen Belangrijkste kwetsbaarheden SSL 1 No Never released due to too many issues SSL 2 1995 DROWN SSL 3 1996 POODLE TLS 1.0 1999 BEAST TLS 1.1 2006 CBC, Sweet32 TLS 1.2 2008 Logjam, FREAK, Heartbleed (OpenSSL) TLS 1.3 TBD Netscape IETF
  • 50. TRANSPORT LAYER SECURITY JAVA • TLS 1.2 is supported from • Oracle JDK 6u121 • JRockit R28.3.11 • The best cipher suites require Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files • JCE can be installed on JRockit and Oracle JDK See Oracle support Doc ID 2262067.1 • In new versions of Java installation of JCE is no longer required (default) 6u191, 7u181, 8u171, 9
  • 51. ORACLE CLOUD CIPHER SUITES • TLS 1.0 is supported Possibly vulnerable for POODLE and BEAST • TLS 1.2 GCM cipher suites are not supported. These offer integrity checking. • Several SHA cipher suites (next to SHA256). These are vulnerable against collision attacks • TLS_RSA_WITH_3DES_EDE_CBC_SHA Is a weak cipher suite
  • 52. COMPOSITES CONFIGURE THE COMPOSITE IDENTITY KEYSTORE • Integratie loket | 3 oktober 2017
  • 53. COMPOSITES CONFIGURE THE KEYSTORE PASSWORD AND KEY PASSWORD
  • 54. COMPOSITES CONFIGURE THE REFERENCE • Use an HTTPS endpoint Add a property to the binding for 2-way SSL
  • 59. WEBSERVICE SECURITY SYMMETRIC CRYPTOGRAPHY Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio Original data 画開リむな 稿料ざぎぱ る尚継たい ぼ東作ハレ 宇眠ほ態泰 ヒ主三ネハ ノヌ済昇ソ Encrypted data Original data Encryption Decryption
  • 60. WEBSERVICE SECURITY SYMMETRIC CRYPTOGRAPHY • Challenge How to get the same key at the client and server without allowing someone to intercept the key
  • 61. AUTHORIZATION • oracle/binding_authorization_template • Role based access to a binding • oracle/component_authorization_template • Role based access to a component • oracle/component_permission_authorization_template • Authenticated subject can access the component / webservice operation
  • 62. WEBSERVICE SECURITY WEBLOGIC SERVER: ORACLE WEBSERVICE MANAGER • Centrally define and store declarative policies applied to the multiple Web services. • Locally enforce policies through configurable agents. • Monitor run time security events such as failed authentication or authorization. https://docs.oracle.com/middleware/1221/owsm/security/owsm-predefined-policies.htm
  • 63. WEBSERVICE SECURITY WEBLOGIC SERVER: KEYSTORE CONFIGURATION
  • 64. WEBSERVICE SECURITY WEBLOGIC SERVER: CREDENTIAL STORE FRAMEWORK

Editor's Notes

  • #5: Why should you care
  • #8: For example, the context for encryption is not specified. In transit? At rest?
  • #9: Topics based on Dutch government architecture documents https://www.earonline.nl/index.php/Overzicht_Baseline_Informatiebeveiliging_Rijksdienst_%28BIR_2012%29
  • #10: Application layer and transport layer are relevant for webservice security
  • #12: API Gateway supports many WS-* standards. API Platform is mainly focused on REST
  • #15: How does TLS work? Certificates are exchanged, a cipher suite is agreed upon by client and server and further communication is encrypted and checked
  • #17: Check serial number!
  • #19: Message authentication algorithm helps check if the message has been altered; integrity Encryption algorithm provides confidentiality This is an example of a currently good ciphersuite. ECDSA migt be a liability with quantum computing
  • #23: Inbound is WLS configuration
  • #24: For the inbound web service bindings, Oracle SOA Suite uses the Oracle WebLogic Server infrastructure and, therefore, the Oracle WebLogic Server libraries for SSL. For the outbound web service bindings, Oracle SOA Suite uses JRF HttpClient and, therefore, the Sun JDK libraries for SSL
  • #32: OAuth, SAML and JWT
  • #37: https://docs.oracle.com/middleware/1221/owsm/security/owsm-predefined-policies.htm#OWSMS4473 Please make it easy on yourselves and don’t use custom SOAP headers for username/password Double encryption is not allowed
  • #39: Replay attacks are mitigates with nonces
  • #46: https://docs.oracle.com/middleware/1212/owsm/OWSMC/owsm-security-concepts.htm#OWSMC116
  • #63: OWSM is the product used to implement application layer security in WebLogic server