Integrigy Encrypting Sensitive Data in Oracle EBS
Integrigy Encrypting Sensitive Data in Oracle EBS
Stephen Kost
Chief Technology Officer
Integrigy Corporation
About Integrigy
Products Services
Verify
Security Security Assessments
AppSentry
Validates
Security ERP, Database, Sensitive Data, Pen Testing
ERP Application and Database
Security Auditing Tool Ensure
Compliance Compliance Assistance
SOX, PCI, HIPAA
AppDefend
Protects
Oracle EBS
Build
Enterprise Application Firewall Security Security Design Services
for the Oracle E-Business Suite
Auditing, Encryption, DMZ
You
Agenda
1 2 3 4 5
EBS Native Network
Encryption Encryption
Agenda
1 2 3 4 5
EBS Native Network
Encryption Encryption
Why – Sensitive Data Encryption Drivers
Custom tables
- Customizations may be used to store or process sensitive data
“Maintenance tables”
- DBA copies tables to make backup prior to direct SQL update
Database
- hr.per_all_people_f_011510
Interface tables
- Credit card numbers are often accepted in external applications
and sent to Oracle EBS or processed using XML Gateway
Oracle EBS Flexfields
- It happens – very hard to find
Interface files
Flat files used for interfaces or batch processing
File System
-
Log files
- Log files generated by the application (e.g., Oracle Payments)
How – Integrigy EBS Data Protection Process
P1
Enterprise Data EBS Data Protection Policy
1 Privacy Policy to the data element level
P2
2 Data Protection Design
and Data Discovery
Detailed Data Inventory
(element table.column action)
Annually
3 Native EBS
E1 Access Controls
Encryption C1
(application & database)
(credit card/bank acct)
Add-on Encryption
Clone
E2 Auditing A1 Scrambling/
(disk or database) 4 Data Masking
S1
Network Encryption E3
(web and database)
Production Test/Development
How – Integrigy EBS Data Protection Process
P1
Enterprise Data EBS Data Protection Policy
1 Privacy Policy to the data element level
P2
2 Data Protection Design
and Data Discovery
Detailed Data Inventory
(element table.column action)
Annually
3 Native EBS
E1 Access Controls
Encryption C1
(application & database)
(credit card/bank acct)
Add-on Encryption
Clone
E2 Auditing A1 Scrambling/
(disk or database) 4 Data Masking
S1
Network Encryption E3
(web and database)
Production Test/Development
Types of Encryption
Database
View/Trigger Encryption for Customizations
(access = db account)
User
Native EBS SSL Encryption
Application
SSL Endpoint
Server
− Use a load balancer or reverse proxy
(http)
Application
Server SQL*Net Encryption
Database − Formerly part of Advanced Security Option
Server
− Now included with Oracle EBS Database
(SQL*Net)
Big 3 Sensitive Data Elements in EBS
Employee HR No
Social Security
Vendor Tax ID/1099 AP No
Number
Customer AR/Custom No
1 2 3 4 5
EBS Native Network
Encryption Encryption
Oracle EBS Native Encryption
Oracle E-Business Suite includes native application-level
encryption for a limited set of fields based on version and
module.
Employee HR No
Social Security
Vendor Tax ID/1099 AP No
Number
Customer AR/Custom No
iby_security_segments
ap_bank_accounts_all
Collections
oks_k_headers_*
aso_payments oe_order_headers_all
oks_k_lines_*
iStore
iPayment
iby_trxn_summaries_all
iby_credit_card
Not pictured:
Internet Expenses (AP) – R12
Lease Management (AP) – same as AR
Student System (IGS) – IGS patch
EBS Native Encryption Challenges
Encryption keys must be rotated
periodically as required by PCI
1 2 3 4 5
EBS Native Network
Encryption Encryption
What is Oracle TDE?
Tablespace encryption
- Tablespace encryption only supported in 11g for
11i/R12
- Tablespace must be exported and imported to
implement encryption
- OATM uses large tablespaces (APPS_TS_TX_DATA)
- Use for custom tablespaces or entire database
Performance Considerations
Impact is limited to CPU performance
- Data must be encrypted and decrypted
- Highly dependent on access patterns to data
Column Encryption
- 5% to 20% CPU performance impact for several
customers
Tablespace Encryption
- Encrypting entire database is feasible
- 10% to 15% CPU performance impact for one customer
on high transaction volume tables
Agenda
1 2 3 4 5
EBS Native Network
Encryption Encryption
Oracle EBS Default Network Communication
Oracle EBS
Application Server
1 2
1 Communication from the client browser to the application server uses the HTTP
protocol and all traffic is unencrypted, including passwords.
2 Communication from the application server to the database uses the Oracle
SQL*Net protocol and all traffic is unencrypted, except database passwords.
Client to Application Server (Native)
1 Oracle EBS
Application Server
2
SSL/
Client HTTPS SQL*Net
Database
Browser Java
Apache
Container
SSL encryption (just like with your bank uses) should be implemented for Oracle EBS as
EBS natively supports SSL. Modify SSL encryption settings to strengthen.
See My Oracle Support Notes 376700.1 (R12) and 123718.1 (11i).
Many Oracle EBS implementations will only encrypt external application servers
(iSupplier, iStore, etc.).
Client to Application Server (Proxy)
SSL/ Load 2
Balancer HTTP
Client HTTPS Oracle EBS SQL*Net
or Application Database
Browser
Server
Reverse
Proxy
SSL encryption may be off-loaded to a load balancer (F5 BigIP) or reverse proxy server to
centralize the SSL implementation and reduce load on the application server. SSL
terminates on the load balancer and communication is HTTP between load balancer and
application server.
See My Oracle Support Notes 380489.1 (R12), 217368.1 (11i) , and 727171.1 for more
information.
Application Server to Database Server
Oracle EBS
Application Server
1 2
SQL*Net encryption requires Advanced Networking Option (ANO). ANO is included with
the database as of July 2013.
See My Oracle Support Notes 376700.1 (R12) and 391248.1 (11i) for implementation
details.
How - Data Protection vs. Threats
Options
Data Access Method and Threats 1 2 3 4a 4b 4c 3 +4
EBS Trigger Oracle FGAC Internal External TDE +
Encrypt View TDE Audit Audit Auditing
1 2 3 4 5
EBS Native Network
Encryption Encryption
Contact Information