• No results found

Oracle Database. Advanced Security Administrator s Guide 11g Release 2 (11.2) E

N/A
N/A
Protected

Academic year: 2021

Share "Oracle Database. Advanced Security Administrator s Guide 11g Release 2 (11.2) E"

Copied!
366
0
0

Loading.... (view fulltext now)

Full text

(1)

Oracle® Database

Advanced Security Administrator’s Guide

11g Release 2 (11.2)

E40393-08

(2)

Oracle Database Advanced Security Administrator's Guide 11g Release 2 (11.2) E40393-08

Copyright © 1996, 2014, Oracle and/or its affiliates. All rights reserved. Primary Author: Sumit Jeloka

Contributors: Min-Hank Ho, Peter Knaggs, Adam Lee, Dah-Yoh Lim, Rahil Mir, Gopal Mulagund, Paul Needham, Vikram Pesati, Paul Youn, Peter Wahl

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and

adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

(3)

iii

Contents

Preface

... xxi

Audience... xxi

Documentation Accessibility ... xxi

Related Documentation ... xxii

Conventions ... xxiii

What's New in Oracle Advanced Security?

... xxv

Oracle Database 11g Release 2 (11.2.0.4) New Features in Oracle Advanced Security... xxv

Oracle Database 11g Release 2 (11.2.0.3) New Features in Oracle Advanced Security ... xxvi

Oracle Database 11g Release 2 (11.2) New Features in Oracle Advanced Security... xxvii

Oracle Database 11g Release 1 (11.1) New Features in Oracle Advanced Security... xxviii

Part I Getting Started with Oracle Advanced Security

1 Introduction to Oracle Advanced Security

Security Challenges in an Enterprise Environment... 1-1

Security in Enterprise Grid Computing Environments... 1-1

Security in an Intranet or Internet Environment ... 1-2

Common Security Threats ... 1-2

Eavesdropping and Data Theft ... 1-2

Data Tampering ... 1-2

Falsifying User Identities ... 1-3

Password-Related Threats ... 1-3

Solving Security Challenges with Oracle Advanced Security... 1-3

Data Encryption... 1-3

Supported Encryption Algorithms... 1-4

Data Integrity... 1-5

Federal Information Processing Standard... 1-5

Strong Authentication ... 1-5

Centralized Authentication and Single Sign-On ... 1-6

Supported Authentication Methods ... 1-8

Oracle Advanced Security Architecture... 1-9

System Requirements... 1-10

(4)

2 Configuration and Administration Tools Overview

Network Encryption and Strong Authentication Configuration Tools... 2-1

Oracle Net Manager... 2-1

Starting Oracle Net Manager... 2-2

Navigating to the Oracle Advanced Security Profile ... 2-2

Oracle Advanced Security Profile Property Sheets... 2-3

Oracle Advanced Security Kerberos Adapter Command-Line Utilities... 2-4

Public Key Infrastructure Credentials Management Tools... 2-4

Oracle Wallet Manager... 2-4

Starting Oracle Wallet Manager... 2-5

Navigating the Oracle Wallet Manager User Interface ... 2-5

Toolbar... 2-7

Menus ... 2-7

orapki Utility... 2-9

Duties of a Security Administrator/DBA... 2-9

Part II Oracle Data Redaction

3 Introduction to Oracle Data Redaction

What Is Oracle Data Redaction?... 3-1

When to Use Oracle Data Redaction... 3-2

Benefits of Using Oracle Data Redaction... 3-2

Target Use Cases for Oracle Data Redaction... 3-2

Using Oracle Data Redaction with Database Applications ... 3-2

Considerations When Using Oracle Data Redaction with Ad Hoc Database Queries ... 3-3

4 Oracle Data Redaction Features and Capabilities

Using Full Data Redaction to Redact All Data... 4-1

Using Partial Data Redaction to Redact Sections of Data... 4-2

Using Regular Expressions to Redact Patterns of Data... 4-3

Using Random Data Redaction to Generate Random Values... 4-4

Comparison of Full, Partial, and Random Redaction Based on Data Types... 4-4

Redaction Capabilities for Oracle Built-in Data Types... 4-5

Redaction Capabilities for the ANSI Data Types ... 4-5

Redaction Capabilities for the User Defined Data Types or Oracle Supplied Types... 4-6

Using No Redaction for Testing Purposes... 4-6

5 Configuring Oracle Data Redaction Policies

About Oracle Data Redaction Policies... 5-1

Who Can Create Oracle Data Redaction Policies?... 5-2

Planning the Creation of an Oracle Data Redaction Policy... 5-2

General Syntax of the DBMS_REDACT.ADD_POLICY Procedure... 5-3

Using Expressions to Define Conditions for Data Redaction Policies... 5-5

About Using Expressions in Data Redaction Policies... 5-5

Applying the Redaction Policy Based on User Environment... 5-6

(5)

v

Applying the Redaction Policy Based on Oracle Application Express Session States... 5-6

Applying the Redaction Policy with No Filtering... 5-7

Creating a Full Redaction Policy and Altering the Default Full Redaction Value... 5-7

Creating a Full Redaction Policy... 5-7

About Creating Full Data Redaction Policies ... 5-7

Syntax for Creating a Full Redaction Policy ... 5-8

Examples of Full Data Redaction Policies ... 5-8

Altering the Default Full Data Redaction Value... 5-9

About Altering the Default Full Data Redaction Value ... 5-9

Altering the Default Full Data Redaction Value for Non-LOB Data Type Columns... 5-10

Altering the Default Full Data Redaction Value for LOB Data Type Columns... 5-11

Creating a Partial Redaction Policy... 5-12

About Creating Partial Redaction Policies ... 5-12

Syntax for Creating a Partial Redaction Policy... 5-12

Creating Partial Redaction Policies Using Fixed Character Shortcuts ... 5-13

Settings for Fixed Character Shortcuts... 5-13

Example of a Partial Redaction Policy Using a Fixed Character Shortcut ... 5-14

Creating Partial Redaction Policies Using Character Data Types ... 5-15

Settings for Character Data Types ... 5-15

Example of a Partial Redaction Policy Using Character a Data Type... 5-16

Creating Partial Redaction Policies Using Number Data Types... 5-16

Settings for Number Data Types ... 5-16

Example of a Partial Redaction Policy Using a Number Data Type ... 5-17

Creating Partial Redaction Policies Using Date-Time Data Types ... 5-17

Settings for Date-Time Data Types... 5-17

Example of a Partial Redaction Policy Using Date-Time Data Type ... 5-18

Creating a Regular Expression-Based Redaction Policy... 5-18

About Creating Regular Expression-Based Redaction Policies... 5-19

Syntax for Creating a Regular Expression-Based Redaction Policy ... 5-19

Creating Regular Expression-Based Redaction Policies Using Shortcuts... 5-20

Regular Expression Shortcuts ... 5-20

Example of a Regular Expression Redaction Policy Using Shortcuts ... 5-22

Creating Custom Regular Expression Redaction Policies... 5-23

Settings for Custom Regular Expressions ... 5-23

Example of a Custom Regular Expression Redaction Policy ... 5-24

Creating a Random Redaction Policy... 5-24

About Creating Random Redaction Policies... 5-24

Syntax for Creating a Random Redaction Policy ... 5-24

Example of a Random Redaction Policy... 5-25

Creating a Policy That Uses No Redaction... 5-25

About Creating Policies That Use No Redaction... 5-25

Syntax for Creating a Policy with No Redaction... 5-26

Example of Performing No Redaction ... 5-26

Exempting Users from Oracle Data Redaction Policies... 5-26

Altering an Oracle Data Redaction Policy... 5-27

About Altering an Oracle Data Redaction Policy... 5-27

(6)

Parameters Required for Various DBMS_REDACT.ALTER_POLICY Actions... 5-28

Example of Altering an Oracle Data Redaction Policy... 5-29

Redacting Multiple Columns... 5-30

Disabling and Enabling an Oracle Data Redaction Policy... 5-31

Disabling an Oracle Data Redaction Policy... 5-31

Enabling an Oracle Data Redaction Policy... 5-32

Dropping an Oracle Data Redaction Policy... 5-32

Example: How Oracle Data Redaction Affects Tables and Views... 5-33

Example: Using SQL Expressions to Build Reports with Redacted Values... 5-36

Finding Information About Oracle Data Redaction Policies... 5-37

6 Oracle Data Redaction Use with Oracle Database Features

Oracle Data Redaction and DML and DDL Operations... 6-1

Oracle Data Redaction and Nested Functions, Inline Views, and the WHERE Clause... 6-2

Oracle Data Redaction and Aggregate Functions... 6-2

Oracle Data Redaction and Object Types... 6-2

Oracle Data Redaction and Editions... 6-2

Oracle Data Redaction and Oracle Virtual Private Database... 6-2

Oracle Data Redaction and Oracle Database Vault... 6-3

Oracle Data Redaction and the EXPDP Utility access_method Parameter... 6-3

Oracle Data Redaction and Data Masking and Subsetting Pack... 6-3

7 Security Guidelines for Oracle Data Redaction

General Usage Guidelines... 7-1

Restricting Administrative Access to Oracle Data Redaction Policies... 7-2

How Oracle Data Redaction Affects the SYS, SYSTEM and Default Schemas... 7-2

Writing Policy Expressions That Depend on SYS_CONTEXT Attributes... 7-2

Creating Policies on Materialized Views... 7-3

Dropping Policies When the Recycle Bin Is Enabled... 7-3

Part III Data Encryption and Integrity

8 Securing Stored Data Using Transparent Data Encryption

About Transparent Data Encryption... 8-1

Benefits of Using Transparent Data Encryption... 8-1

Types of Transparent Data Encryption... 8-2

TDE Column Encryption ... 8-2

TDE Tablespace Encryption ... 8-3

Using Transparent Data Encryption... 8-5

Enabling Transparent Data Encryption ... 8-5

Specifying a Wallet Location for Transparent Data Encryption ... 8-5

Using Wallets with Automatic Login Enabled ... 8-5

Setting and Resetting the Master Encryption Key ... 8-6

Setting the Master Encryption Key... 8-6

Resetting the Master Encryption Key ... 8-7

(7)

vii

Encrypting Columns in Tables... 8-8

Creating Tables with Encrypted Columns ... 8-9

Encrypting Columns in Existing Tables ... 8-12

Creating an Index on an Encrypted Column ... 8-13

Adding or Removing Salt from an Encrypted Column ... 8-13

Changing the Encryption Key or Algorithm for Tables with Encrypted Columns ... 8-14

Data Types That Can Be Encrypted with TDE Column Encryption ... 8-14

Restrictions on Using TDE Column Encryption ... 8-15

Encrypting Entire Tablespaces ... 8-15

Setting the Tablespace Master Encryption Key ... 8-16

Opening the Oracle Wallet ... 8-16

Creating an Encrypted Tablespace... 8-17

Restrictions on Using TDE Tablespace Encryption ... 8-19

Using Hardware Security Modules with TDE... 8-19

Set the ENCRYPTION_WALLET_LOCATION Parameter in the sqlnet.ora File ... 8-19

Copy the PKCS#11 Library to Its Correct Path... 8-20

Set Up the HSM... 8-20

Generate a Master Encryption Key for HSM-Based Encryption... 8-21

Reconfigure the Software Wallet (Optional)... 8-21

Ensure that the HSM Is Accessible ... 8-22

Encrypt and Decrypt Data ... 8-23

Using Transparent Data Encryption with Oracle RAC ... 8-23

Using a Non-Shared File System to Store the Wallet ... 8-23

Managing Transparent Data Encryption... 8-23

Oracle Wallet Management ... 8-24

Specifying a Separate Wallet for Transparent Data Encryption ... 8-24

Using an Auto Login Wallet... 8-24

Creating Wallets... 8-25

Backup and Recovery of Master Encryption Keys... 8-25

Backup and Recovery of Oracle Wallet ... 8-25

Backup and Recovery of PKI Key Pair... 8-26

Export and Import of Tables with Encrypted Columns ... 8-26

Performance and Storage Overheads... 8-28

Performance Overheads... 8-28

Storage Overheads... 8-29

Security Considerations ... 8-29

Using Transparent Data Encryption in a Multi-Database Environment ... 8-30

Replication in Distributed Environments... 8-30

Compression and Data Deduplication of Encrypted Data ... 8-31

Transparent Data Encryption with OCI ... 8-31

Transparent Data Encryption in a Multi-Database Environment... 8-31

Transparent Data Encryption Data Dictionary Views... 8-32

Example: Getting Started with TDE Column Encryption and TDE Tablespace Encryption. 8-34

Prepare the Database for Transparent Data Encryption ... 8-35

Specify an Oracle Wallet Location in the sqlnet.ora File... 8-35

Create the Master Encryption Key ... 8-35

(8)

Create a Table with an Encrypted Column ... 8-36

Create an Index on an Encrypted Column ... 8-36

Alter a Table to Encrypt an Existing Column ... 8-37

Create an Encrypted Tablespace... 8-37

Create a Table in an Encrypted Tablespace... 8-37

Troubleshooting Transparent Data Encryption... 8-38

Transparent Data Encryption Reference Information... 8-42

Supported Encryption and Integrity Algorithms... 8-43

Quick Reference: Transparent Data Encryption SQL Commands... 8-43

9 Configuring Network Data Encryption and Integrity for Oracle Servers and

Clients

Oracle Advanced Security Encryption... 9-1

Advanced Encryption Standard ... 9-1

Triple-DES Support ... 9-2

Oracle Advanced Security Data Integrity... 9-2

Data Integrity Algorithms Supported... 9-2

Diffie-Hellman Based Key Negotiation... 9-2

Authentication Key Fold-in ... 9-3

How To Configure Data Encryption and Integrity... 9-3

About Activating Encryption and Integrity ... 9-3

About Negotiating Encryption and Integrity ... 9-4

REJECTED... 9-4

ACCEPTED... 9-4

REQUESTED... 9-5

REQUIRED... 9-5

Configuring Encryption and Integrity Parameters Using Oracle Net Manager... 9-6

Configuring Encryption on the Client and the Server... 9-6

Configuring Integrity on the Client and the Server... 9-7

10 Configuring Network Authentication, Encryption, and Integrity for Thin

JDBC Clients

About the Java Implementation... 10-1

Java Database Connectivity Support... 10-1

Securing Thin JDBC ... 10-2 Implementation Overview... 10-3 Obfuscation ... 10-3 Configuration Parameters... 10-3 CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_LEVEL Parameter ... 10-3 CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_TYPES Parameter ... 10-4 CONNECTION_PROPERTY_THIN_NET_CHECKSUM_LEVEL Parameter... 10-4 CONNECTION_PROPERTY_THIN_NET_CHECKSUM_TYPES Parameter ... 10-5 CONNECTION_PROPERTY_THIN_NET_AUTHENTICATION_SERVICES Parameter .. 10-5 AnoServices Constants ... 10-5

(9)

ix

11 Configuring RADIUS Authentication

About RADIUS... 11-1

RADIUS Authentication Modes... 11-2

Synchronous Authentication Mode... 11-3

Challenge-Response (Asynchronous) Authentication Mode ... 11-4

Enabling RADIUS Authentication, Authorization, and Accounting... 11-7

Step 1: Install RADIUS on the Oracle Database Server and on the Oracle Client ... 11-7

Step 2: Configure RADIUS Authentication ... 11-7

Step 2A: Configure RADIUS on the Oracle Client... 11-7

Step 2B: Configure RADIUS on the Oracle Database Server... 11-8

Step 2C: Configure Additional RADIUS Features ... 11-10

Step 3: Create a User and Grant Access ... 11-12

Step 4: Configure External RADIUS Authorization (optional) ... 11-13

Step 4A: Configure the Oracle Server (RADIUS Client) ... 11-13

Step 4B: Configure the Oracle Client Where Users Log In ... 11-13

Step 4C: Configure the RADIUS Server... 11-13

Step 5: Configure RADIUS Accounting ... 11-14

Step 5A: Set RADIUS Accounting on the Oracle Database Server ... 11-14

Step 5B: Configure the RADIUS Accounting Server ... 11-15

Step 6: Add the RADIUS Client Name to the RADIUS Server Database ... 11-15

Step 7: Configure the Authentication Server for Use with RADIUS ... 11-15

Step 8: Configure the RADIUS Server for Use with the Authentication Server ... 11-16

Step 9: Configure Mapping Roles ... 11-16

Using RADIUS to Log In to a Database... 11-17

RSA ACE/Server Configuration Checklist... 11-17

12 Configuring Kerberos Authentication

Enabling Kerberos Authentication ... 12-1

Step 1: Install Kerberos ... 12-1

Step 2: Configure a Service Principal for an Oracle Database Server... 12-2

Step 3: Extract a Service Key Table from Kerberos ... 12-2

Step 4: Install an Oracle Database Server and an Oracle Client ... 12-3

Step 5: Install Oracle Net Services and Oracle Advanced Security ... 12-3

Step 6: Configure Oracle Net Services and Oracle Database... 12-3

Step 7: Configure Kerberos Authentication ... 12-4

Step 7A: Configure Kerberos on the Client and on the Database Server ... 12-4

Step 7B: Set the Initialization Parameters... 12-5

Step 7C: Set sqlnet.ora Parameters (Optional)... 12-6

Step 8: Create a Kerberos User ... 12-7

Step 9: Create an Externally Authenticated Oracle User... 12-8

Step 10: Get an Initial Ticket for the Kerberos/Oracle User ... 12-8

Utilities for the Kerberos Authentication Adapter... 12-8

Obtaining the Initial Ticket with the okinit Utility ... 12-9

Displaying Credentials with the oklist Utility ... 12-9

Removing Credentials from the Cache File with the okdstry Utility ... 12-10

(10)

Configuring Interoperability with a Windows 2000 Domain Controller KDC... 12-10

Step 1: Configure Oracle Kerberos Client for a Windows 2000 Domain Controller KDC . 12-11

Step 1A: Create the Client Kerberos Configuration Files... 12-11

Step 2A: Specify the Oracle Configuration Parameters in the sqlnet.ora File... 12-11

Step 3A: Specify the Listening Port Number ... 12-12

Step 2: Configure a Windows 2000 Domain Controller KDC for the Oracle Client... 12-12

Step 2A: Create the User ... 12-12

Step 2B: Create the Oracle Database Principal ... 12-12

Step 3: Configure Oracle Database for a Windows 2000 Domain Controller KDC... 12-13

Step 3A: Set Configuration Parameters in the sqlnet.ora File ... 12-13

Step 3B: Create an Externally Authenticated Oracle User ... 12-13

Step 4: Obtain an Initial Ticket for the Kerberos/Oracle User ... 12-13

Troubleshooting the Oracle Kerberos Authentication Configuration... 12-13

13 Configuring Secure Sockets Layer Authentication

Secure Sockets Layer and Transport Layer Security... 13-1

The Difference Between Secure Sockets Layer and Transport Layer Security ... 13-1

How Oracle Database Uses Secure Sockets Layer for Authentication... 13-2

How Secure Sockets Layer Works in an Oracle Environment: The SSL Handshake... 13-2

Public Key Infrastructure in an Oracle Environment... 13-3

About Public Key Infrastructure in an Oracle Environment ... 13-3

About Public Key Cryptography ... 13-3

Public Key Infrastructure Components in an Oracle Environment ... 13-4

Certificate Authority... 13-4

Certificates ... 13-4

Certificate Revocation Lists ... 13-5

Wallets ... 13-5

Hardware Security Modules ... 13-6

Secure Sockets Layer Combined with Other Authentication Methods... 13-6

Architecture: Oracle Advanced Security and Secure Sockets Layer ... 13-6

How Secure Sockets Layer Works with Other Authentication Methods ... 13-7

Secure Sockets Layer and Firewalls... 13-7

Secure Sockets Layer Usage Issues... 13-8

Enabling Secure Sockets Layer... 13-8

Step 1: Install Oracle Advanced Security and Related Products... 13-8

Step 2: Configure Secure Sockets Layer on the Server... 13-9

Step 2A: Confirm Wallet Creation on the Server ... 13-9

Step 2B: Specify the Database Wallet Location on the Server ... 13-9

Step 2C: Set the Secure Sockets Layer Cipher Suites on the Server (Optional) ... 13-10

Step 2D: Set the Required SSL Version on the Server (Optional) ... 13-12

Step 2E: Set SSL Client Authentication on the Server (Optional) ... 13-13

Step 2F: Set SSL as an Authentication Service on the Server (Optional) ... 13-13

Step 2G: Create a Listening Endpoint that Uses TCP/IP with SSL on the Server... 13-14

Step 3: Configure Secure Sockets Layer on the Client ... 13-14

Step 3A: Confirm Client Wallet Creation ... 13-14

Step 3B: Configure the Server DNs and Use TCP/IP with SSL on the Client ... 13-15

(11)

xi

Step 3D: Set the Client Secure Sockets Layer Cipher Suites (Optional)... 13-18

Step 3E: Set the Required SSL Version on the Client (Optional)... 13-20

Step 3F: Set SSL as an Authentication Service on the Client (Optional) ... 13-20

Step 3G: Specify the Certificate to Use for Authentication on the Client (Optional)... 13-20

Step 4: Log on to the Database Instance... 13-21

Troubleshooting Secure Sockets Layer... 13-21

Certificate Validation with Certificate Revocation Lists... 13-24

About Certificate Validation with Certificate Revocation Lists ... 13-24

What CRLs Should You Use? ... 13-24

How CRL Checking Works ... 13-25

Configuring Certificate Validation with Certificate Revocation Lists ... 13-25

About Configuring Certificate Validation with Certificate Revocation Lists ... 13-26

Enabling Certificate Revocation Status Checking for the Client or Server ... 13-26

Disabling Certificate Revocation Status Checking... 13-28

Certificate Revocation List Management... 13-28

About Certificate Revocation Management... 13-28

Displaying orapki Help for Commands That Manage CRLs ... 13-29

Renaming CRLs with a Hash Value for Certificate Validation... 13-29

Uploading CRLs to Oracle Internet Directory... 13-30

Listing CRLs Stored in Oracle Internet Directory ... 13-30

Viewing CRLs in Oracle Internet Directory... 13-31

Deleting CRLs from Oracle Internet Directory... 13-31

Troubleshooting Certificate Validation ... 13-32

Oracle Net Tracing File Error Messages Associated with Certificate Validation... 13-32

Configuring Your System to Use Hardware Security Modules... 13-34

About Configuring Your System to Use Hardware Security Modules... 13-34

Guidelines for Using Hardware Security Modules with Oracle Advanced Security ... 13-34

Configuring Your System to Use nCipher Hardware Security Modules ... 13-35

About Configuring Your System to Use nCipher Hardware Security Modules... 13-35

Oracle Components Required To Use an nCipher Hardware Security Module ... 13-35

About Installing an nCipher Hardware Security Module ... 13-35

Configuring Your System to Use SafeNET Hardware Security Modules ... 13-36

About Configuring Your System to Use SafeNet Hardware Security Modules ... 13-36

Oracle Components for the SafeNET Luna SA Hardware Security Module ... 13-36

About Installing a SafeNET Hardware Security Module ... 13-37

Troubleshooting Using Hardware Security Modules... 13-37

Errors in the Oracle Net Trace Files ... 13-37

Error Messages Associated with Using Hardware Security Modules ... 13-37

Configuring SSL in an Oracle Real Application Clusters Environment... 13-38

Step 1: Configure the TCPS Protocol Endpoints... 13-39

Step 2: Update the Local Listener Parameter on Each Oracle RAC Node ... 13-40

Step 3: Create SSL Certificates and Wallets for the Cluster and for the Clients ... 13-42

Creating the SSL Certificate for Each Cluster and for the Test Client... 13-42

Signing Each User Certificate... 13-43

Step 4: Copy the Wallet to Each Cluster Node and Create an Obfuscated Wallet ... 13-44

Step 5: Define Wallet Locations in the listener.ora and sqlnet.ora Files ... 13-45

(12)

Step 7: Test the Configuration from a Cluster Node... 13-46

Step 8: Test the Configuration from a Remote Client ... 13-47

14 Using Oracle Wallet Manager

Oracle Wallet Manager Overview... 14-1

Wallet Password Management ... 14-2

Strong Wallet Encryption... 14-2

Microsoft Windows Registry Wallet Storage... 14-2

Options Supported:... 14-2

Backward Compatibility ... 14-3

Public-Key Cryptography Standards (PKCS) Support... 14-3

Multiple Certificate Support... 14-3

LDAP Directory Support ... 14-5

Starting Oracle Wallet Manager... 14-6

How to Create a Complete Wallet: Process Overview... 14-6

Managing Wallets... 14-7

Required Guidelines for Creating Wallet Passwords ... 14-7

Creating a New Wallet ... 14-8

Creating a Standard Wallet ... 14-8

Creating a Wallet to Store Hardware Security Module Credentials ... 14-8

Opening an Existing Wallet ... 14-9

Closing a Wallet... 14-10

Exporting Oracle Wallets to Third-Party Environments... 14-10

Exporting Oracle Wallets to Tools that Do Not Support PKCS #12 ... 14-10

Uploading a Wallet to an LDAP Directory ... 14-11

Downloading a Wallet from an LDAP Directory... 14-11

Saving Changes ... 14-12

Saving the Open Wallet to a New Location ... 14-12

Saving in System Default ... 14-13

Deleting the Wallet ... 14-13

Changing the Password ... 14-13

Using Auto Login... 14-14

Enabling Auto Login ... 14-14

Disabling Auto Login ... 14-14

Managing Certificates... 14-14

Managing User Certificates ... 14-15

Adding a Certificate Request ... 14-15

Importing the User Certificate into the Wallet ... 14-17

Importing Certificates and Wallets Created by Third Parties ... 14-18

Removing a User Certificate from a Wallet ... 14-19

Removing a Certificate Request... 14-20

Exporting a User Certificate ... 14-20

Exporting a User Certificate Request ... 14-20

Managing Trusted Certificates... 14-20

Importing a Trusted Certificate ... 14-21

Removing a Trusted Certificate ... 14-21

(13)

xiii

Exporting All Trusted Certificates... 14-22

15 Configuring Multiple Authentication Methods and Disabling Oracle

Advanced Security

Connecting with User Name and Password... 15-1

Disabling Oracle Advanced Security Authentication... 15-1

Configuring Multiple Authentication Methods... 15-2

Configuring Oracle Database for External Authentication ... 15-3

Setting the SQLNET.AUTHENTICATION_SERVICES Parameter in sqlnet.ora ... 15-3

Setting OS_AUTHENT_PREFIX to a Null Value ... 15-3

Part V Appendixes

A Data Encryption and Integrity Parameters

Sample sqlnet.ora File... A-1

Data Encryption and Integrity Parameters... A-2

SQLNET.ENCRYPTION_SERVER Parameter... A-3

SQLNET.ENCRYPTION_CLIENT Parameter ... A-4

SQLNET.SSL_EXTENDED_KEY_USAGE Parameter ... A-4

SQLNET.CRYPTO_CHECKSUM_SERVER Parameter... A-4

SQLNET.CRYPTO_CHECKSUM_CLIENT Parameter ... A-4

SQLNET.ENCRYPTION_TYPES_SERVER Parameter... A-5

SQLNET.ENCRYPTION_TYPES_CLIENT Parameter ... A-5

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER Parameter... A-6

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT Parameter ... A-6

B Authentication Parameters

Parameters for Clients and Servers using Kerberos Authentication ... B-1

Parameters for Clients and Servers using RADIUS Authentication... B-1

sqlnet.ora File Parameters... B-1

SQLNET.AUTHENTICATION_SERVICES Parameter... B-2 SQLNET.RADIUS_AUTHENTICATION Parameter ... B-2 SQLNET.RADIUS_AUTHENTICATION_PORT Parameter ... B-2 SQLNET.RADIUS_AUTHENTICATION_TIMEOUT Parameter ... B-2 SQLNET.RADIUS_AUTHENTICATION_RETRIES Parameter ... B-2 SQLNET.RADIUS_SEND_ACCOUNTING Parameter ... B-3 SQLNET.RADIUS_SECRET Parameter ... B-3 SQLNET.RADIUS_ALTERNATE Parameter ... B-3 SQLNET.RADIUS_ALTERNATE_PORT Parameter... B-3 SQLNET.RADIUS_ALTERNATE_TIMEOUT Parameter... B-3 SQLNET.RADIUS_ALTERNATE_RETRIES Parameter ... B-4 SQLNET.RADIUS_CHALLENGE_RESPONSE Parameter... B-4 SQLNET.RADIUS_CHALLENGE_KEYWORD Parameter... B-4 SQLNET.RADIUS_AUTHENTICATION_INTERFACE Parameter ... B-4 SQLNET.RADIUS_CLASSPATH Parameter ... B-4

(14)

Initialization File Parameters... B-5

Parameters for Clients and Servers Using Secure Sockets Layer... B-5

Secure Sockets Layer Authentication Parameters ... B-5

Cipher Suite Parameters... B-6

Supported SSL Cipher Suites ... B-6

Secure Sockets Layer Version Parameters ... B-6

Secure Sockets Layer Client Authentication Parameters ... B-7

SSL X.509 Server Match Parameters... B-7

Wallet Location... B-8

C Integrating Authentication Devices Using RADIUS

About the RADIUS Challenge-Response User Interface... C-1

Customizing the RADIUS Challenge-Response User Interface... C-1

D Oracle Advanced Security FIPS 140 Settings

About the FIPS 140 Settings... D-1

Configuring Oracle Database for FIPS 140-2... D-1

About the FIPS 140-2 Settings ... D-1

Configuring the SSLFIPS_140 Parameter ... D-1

Selecting Cipher Suites ... D-2

Post-Installation Checks ... D-2

Verifying FIPS Connections... D-3

Configuring Oracle Database for FIPS 140-1... D-3

About the FIPS 140-1 Settings ... D-3

sqlnet.ora FIPS 140-1 Configuration Parameters... D-3

Server Encryption Level Setting ... D-4

Client Encryption Level Setting ... D-4

Server Encryption Selection List ... D-4

Client Encryption Selection List... D-4

FIPS Parameter ... D-4

Post Installation Checks ... D-5

Status Information... D-5

Physical Security ... D-5

E orapki Utility

orapki Utility Overview... E-1

orapki Utility Syntax... E-1

Creating Signed Certificates for Testing Purposes... E-2

Managing Oracle Wallets with orapki Utility... E-2

Creating, Viewing, and Modifying Wallets with orapki... E-2

Creating a PKCS#12 Wallet ... E-3

Creating an Auto Login Wallet... E-3

Viewing a Wallet ... E-4

Modifying the Password for a Wallet ... E-4

Adding Certificates and Certificate Requests to Oracle Wallets with orapki ... E-4

(15)

xv

Managing Certificate Revocation Lists (CRLs) with orapki Utility... E-6

orapki Usage Examples... E-6

orapki Utility Commands Summary... E-8

orapki cert create ... E-8

Purpose... E-8

Syntax ... E-8

orapki cert display ... E-9

Purpose... E-9

Syntax ... E-9

orapki crl delete ... E-9

Purpose... E-9

Prerequisites ... E-9

Syntax ... E-9

orapki crl display ... E-10

Purpose... E-10

Syntax ... E-10

orapki crl hash ... E-10

Purpose... E-10

Syntax ... E-10

orapki crl list ... E-11

Purpose... E-11

Syntax ... E-11

orapki crl upload ... E-11

Purpose... E-11

Syntax ... E-11

orapki wallet add ... E-12

Purpose... E-12

Syntax ... E-12

orapki wallet create... E-13

Purpose... E-13

Syntax ... E-13

orapki wallet display ... E-13

Purpose... E-13

Syntax ... E-13

orapki wallet export... E-13

Purpose... E-13

Syntax ... E-13

F Entrust-Enabled Secure Sockets Layer Authentication

Benefits of Entrust-Enabled Oracle Advanced Security... F-1

Enhanced X.509-Based Authentication and Single Sign-On... F-1

Integration with Entrust Authority Key Management... F-2

Integration with Entrust Authority Certificate Revocation ... F-2

Required System Components for Entrust-Enabled Oracle Advanced Security... F-2

Entrust Authority for Oracle ... F-2

Entrust Authority Security Manager ... F-3

(16)

Entrust Entelligence Desktop Manager ... F-3

Entrust Authority Server Login Feature ... F-3

Entrust Authority IPSec Negotiator Toolkit... F-3

Entrust Authentication Process... F-4

Enabling Entrust Authentication... F-4

Creating Entrust Profiles... F-4

Administrator-Created Entrust Profiles ... F-4

User-Created Entrust Profiles ... F-5

Installing Oracle Advanced Security and Related Products for Entrust-Enabled SSL ... F-5

Configuring SSL on the Client and Server for Entrust-Enabled SSL... F-5

Configuring Entrust on the Client ... F-5

Configuring Entrust on a UNIX Client ... F-6

Configuring Entrust on a Windows Client ... F-6

Configuring Entrust on the Server ... F-6

Configuring Entrust on a UNIX Server ... F-6

Configuring Entrust on a Windows Server... F-7

Creating Entrust-Enabled Database Users ... F-8

Logging Into the Database Using Entrust-Enabled SSL... F-8

Issues and Restrictions that Apply to Entrust-Enabled SSL... F-9

Troubleshooting Entrust In Oracle Advanced Security... F-9

Error Messages Returned When Running Entrust on Any Platform ... F-9

Error Messages Returned When Running Entrust on Windows Platforms... F-10

General Checklist for Running Entrust on Any Platform ... F-12

Checklist for Entrust Installations on Windows... F-12

Glossary

Index

(17)

xvii

List of Figures

1–1 Encryption... 1-4 1–2 Strong Authentication with Oracle Authentication Adapters ... 1-6 1–3 How a Network Authentication Service Authenticates a User... 1-7 1–4 Oracle Advanced Security in an Oracle Networking Environment... 1-10 1–5 Oracle Net Services with Authentication Adapters... 1-10 2–1 Oracle Advanced Security Profile in Oracle Net Manager ... 2-3 2–2 Oracle Wallet Manager User Interface... 2-5 2–3 Certificate Request Information Displayed in Oracle Wallet Manager Right Pane... 2-7 5–1 How Oracle Data Redaction Policies Work in a Chain of Views... 5-36 8–1 TDE Column Encryption Overview... 8-3 8–2 TDE Tablespace Encryption ... 8-4 11–1 RADIUS in an Oracle Environment ... 11-2 11–2 Synchronous Authentication Sequence ... 11-3 11–3 Asynchronous Authentication Sequence ... 11-5 13–1 SSL in Relation to Other Authentication Methods... 13-7 15–1 Oracle Advanced Security Authentication Window ... 15-2 F–1 Entrust Authentication Process... F-4

(18)

List of Tables

1–1 Authentication Methods and System Requirements ... 1-11 2–1 Oracle Wallet Manager Navigator Pane Objects... 2-6 2–2 Oracle Wallet Manager Toolbar Buttons ... 2-7 2–3 Oracle Wallet Manager Wallet Menu Options ... 2-8 2–4 Oracle Wallet Manager Operations Menu Options ... 2-8 2–5 Oracle Wallet Manager Help Menu Options ... 2-9 2–6 Common Security Administrator/DBA Configuration and Administrative Tasks ... 2-10 4–1 Redaction Capabilities for Oracle Built-in Data Types... 4-5 4–2 Redaction Capabilities for the ANSI Data Types ... 4-6 4–3 Redaction Capabilities for the User Defined Data Types or Oracle Supplied Types ... 4-6 5–1 DBMS_REDACT Procedures... 5-2 5–2 Partial Fixed Character Redaction Shortcuts ... 5-13 5–3 Shortcuts for the regexp_pattern Parameter ... 5-21 5–4 Shortcuts for the regexp_replace_string Parameter... 5-22 5–5 Parameters Required for Various DBMS_REDACT.ALTER_POLICY Actions... 5-29 5–6 Data Redaction Views ... 5-38 8–1 Maximum Allowable Size for Data Types ... 8-14 8–2 Description of the ALL_ENCRYPTED_COLUMNS Data Dictionary View ... 8-32 8–3 Description of the V$ENCRYPTED_TABLESPACES View ... 8-33 8–4 Description of the V$WALLET View... 8-33 8–5 Description of the V$ENCRYPTION_WALLET View ... 8-34 8–6 Supported Encryption Algorithms for Transparent Data Encryption... 8-43 8–7 Transparent Data Encryption SQL Commands Quick Reference ... 8-43 9–1 Two Forms of Attack ... 9-2 9–2 Encryption and Data Integrity Negotiations ... 9-5 9–3 Valid Encryption Algorithms... 9-7 10–1 CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_LEVEL Attributes ... 10-3 10–2 CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_TYPES Attributes ... 10-4 10–3 CONNECTION_PROPERTY_THIN_NET_CHECKSUM_LEVEL Attributes... 10-4 10–4 CONNECTION_PROPERTY_THIN_NET_CHECKSUM_TYPES Attributes ... 10-5 10–5 CONNECTION_PROPERTY_THIN_NET_AUTHENTICATION_SERVICES Attributes ... 10-5

11–1 RADIUS Authentication Components... 11-2 12–1 Options for the okinit Utility... 12-9 12–2 Options for the oklist Utility ... 12-10 13–1 SSL Cipher Suites ... 13-11 14–1 KeyUsage Values ... 14-4 14–2 Oracle Wallet Manager Import of User Certificates to an Oracle Wallet ... 14-4 14–3 Oracle Wallet Manager Import of Trusted Certificates to an Oracle Wallet... 14-5 14–4 PKI Wallet Encoding Standards ... 14-10 14–5 Types of Certificates ... 14-15 14–6 Certificate Request: Fields and Descriptions ... 14-16 14–7 Available Key Sizes... 14-17 A–1 Algorithm Type Selection... A-3 A–2 SQLNET.ENCRYPTION_SERVER Parameter Attributes ... A-3 A–3 SQLNET.ENCRYPTION_CLIENT Parameter Attributes... A-4 A–4 SQLNET.EXTENDED_KEY_USAGE Parameter Attributes... A-4 A–5 SQLNET.CRYPTO_CHECKSUM_SERVER Parameter Attributes... A-4 A–6 SQLNET.CRYPTO_CHECKSUM_CLIENT Parameter Attributes ... A-4 A–7 SQLNET.ENCRYPTION_TYPES_SERVER Parameter Attributes ... A-5 A–8 SQLNET.ENCRYPTION_TYPES_CLIENT Parameter Attributes... A-5 A–9 SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER Parameter Attributes ... A-6 A–10 SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT Parameter Attributes... A-6

(19)

xix B–1 Kerberos Authentication Parameters... B-1 B–2 SQLNET.AUTHENTICATION_SERVICES Parameter Attributes... B-2 B–3 SQLNET.RADIUS_AUTHENTICATION Parameter Attributes ... B-2 B–4 SQLNET.RADIUS_AUTHENTICATION_PORT Parameter Attributes ... B-2 B–5 SQLNET.RADIUS_AUTHENTICATION_TIMEOUT Parameter Attributes ... B-2 B–6 SQLNET.RADIUS_AUTHENTICATION_RETRIES Parameter Attributes ... B-2 B–7 SQLNET.RADIUS_SEND_ACCOUNTING Parameter Attributes ... B-3 B–8 SQLNET.RADIUS_SECRET Parameter Attributes ... B-3 B–9 SQLNET.RADIUS_ALTERNATE Parameter Attributes ... B-3 B–10 SQLNET.RADIUS_ALTERNATE_PORT Parameter Attributes... B-3 B–11 SQLNET.RADIUS_ALTERNATE_TIMEOUT Parameter Attributes... B-4 B–12 SQLNET.RADIUS_ALTERNATE_RETRIES Parameter Attributes ... B-4 B–13 SQLNET.RADIUS_CHALLENGE_RESPONSE Parameter Attributes... B-4 B–14 SQLNET.RADIUS_CHALLENGE_KEYWORD Parameter Attributes... B-4 B–15 SQLNET.RADIUS_AUTHENTICATION_INTERFACE Parameter Attributes ... B-4 B–16 SQLNET.RADIUS_CLASSPATH Parameter Attributes ... B-5 B–17 Wallet Location Parameters... B-9 C–1 Server Encryption Level Setting ... C-2 D–1 Sample Output from v$session_connect_info ... D-5

(20)
(21)

xxi

Preface

Welcome to the Oracle Database Advanced Security Administrator's Guide for the 11g

Release 2 (11.2) ofOracle Advanced Security.

Oracle Advanced Security contains a comprehensive suite of security features that protect enterprise networks and securely extend them to the Internet. It provides a single source of integration with multiple network encryption and authentication solutions, single sign-on services, and security protocols.

The Oracle Database Advanced Security Administrator's Guide describes how to implement, configure and administer Oracle Advanced Security.

This preface contains these topics:

■ Audience

■ Documentation Accessibility ■ Related Documentation ■ Conventions

Audience

The Oracle Database Advanced Security Administrator's Guide is intended for users and systems professionals involved with the implementation, configuration, and

administration of Oracle Advanced Security including:

■ Implementation consultants ■ System administrators ■ Security administrators

■ Database administrators (DBAs)

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at

http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

(22)

Related Documentation

For more information, refer to these Oracle resources:

Oracle Database Net Services Administrator's GuideOracle Database Heterogeneous Connectivity User's GuideOracle Database JDBC Developer's Guide and ReferenceOracle Internet Directory Administrator's GuideOracle Database Administrator's Guide

Oracle Database Security Guide

Many books in the documentation set use the sample schemas of the seed database, which is installed by default when you install Oracle. Refer to Oracle Database Sample Schemas for information on how these schemas were created and how you can use them yourself.

To download free release notes, installation documentation, white papers, or other collateral, please visit the Oracle Technology Network (OTN). You must register online before using OTN; registration is free and can be done at

http://www.oracle.com/technetwork/index.html

If you already have a user name and password for OTN, then you can go directly to the documentation section of the OTN Web site at

http://www.oracle.com/technetwork/documentation/index.html

For information from third-party vendors, refer to:

ACE/Server Administration Manual, from Security DynamicsACE/Server Client for UNIX, from Security Dynamics ACE/Server Installation Manual, from Security DynamicsRADIUS Administrator's Guide

■ Notes about building and installing Kerberos from Kerberos version 5 source

distribution

Entrust/PKI for Oracle

Administering Entrust/PKI on UNIX

Application Environment Specification/Distributed Computing

For conceptual information about the network security technologies supported by Oracle Advanced Security, you can refer to the following third-party publications:

Applied Cryptography, Second Edition: Protocols, Algorithms, and Source Code in C by

Bruce Schneier. New York: John Wiley & Sons, 1996.

SSL & TLS Essentials: Securing the Web by Stephen A. Thomas. New York: John

Wiley & Sons, 2000.

Understanding and Deploying LDAP Directory Services by Timothy A. Howes, Ph.D.,

Mark C. Smith, and Gordon S. Good . Indianapolis: New Riders Publishing, 1999.

Understanding Public-Key Infrastructure: Concepts, Standards, and Deployment

Considerations by Carlisle Adams and Steve Lloyd. Indianapolis: New Riders Publishing, 1999.

(23)

xxiii

Conventions

The following text conventions are used in this document:

Convention Meaning

boldface Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

(24)
(25)

xxv

What's New in Oracle Advanced Security?

This section describes new features of Oracle Advanced Security 11g Release 2 (11.2) and provides pointers to additional information.

■ Oracle Database 11g Release 2 (11.2.0.4) New Features in Oracle Advanced Security

■ Oracle Database 11g Release 2 (11.2.0.3) New Features in Oracle Advanced Security

■ Oracle Database 11g Release 2 (11.2) New Features in Oracle Advanced Security ■ Oracle Database 11g Release 1 (11.1) New Features in Oracle Advanced Security

Oracle Database 11

g

Release 2 (11.2.0.4) New Features in Oracle

Advanced Security

This release includes the following new features:

■ Oracle Data Redaction for Masking Data ■ Filtering for Secure Sockets Layer Certificates

■ Dessuport of the DES, MD5, and RC4 Encryption Algorithms

Oracle Data Redaction for Masking Data

This release includes Oracle Data Redaction, which gives you the ability to disguise (mask) data from low-privileged users or applications. For example, suppose you have the following credit card numbers:

■ 5105 1051 0510 5100 ■ 5111 1111 1111 1118 ■ 5454 5454 5454 5454

You can use Data Redaction to disguise the last four digits as follows:

■ 5105 1051 0510 **** ■ 5111 1111 1111 **** ■ 5454 5454 5454 ****

The data is redacted at run time, that is, it is hidden when the user accesses the page containing the data, but it is not hidden in the database. This enables the sensitive data to be processed normally, and it preserves the back-end referential integrity and constraints for the data. You have the option of redacting the data partially so that some of the original data is preserved (such as the last four digits of a credit card

(26)

number), entirely by replacing it with a fixed value, or by replacing the data with an encrypted value. You also can easily apply Oracle Data Redaction policies throughout the databases in your enterprise.

See Part II, "Oracle Data Redaction" for more information.

Filtering for Secure Sockets Layer Certificates

Starting with this release, you can use the SQLNET.SSL_EXTENDED_KEY_USAGE parameter in the sqlnet.ora file to select a Secure Sockets Layer certificate to be used

automatically to authenticate clients. For example, suppose you have multiple certificates for a smart card but only one of the certificates has an extended key usage field of client authentication. In the application, a certificate chooser dialog box would appear, prompting the user to select the type of authentication. Because the type of authentication would always be for clients, the SQLNET.SSL_EXTENDED_KEY_ USAGE parameter can enable the application to bypass this dialog box and

automatically choose client authentication. As a result, the user has fewer steps to perform in a task, thereby making the user’s job easier and more efficient.

See "Step 3G: Specify the Certificate to Use for Authentication on the Client (Optional)"

on page 13-20 for more information.

Dessuport of the DES, MD5, and RC4 Encryption Algorithms

Starting with this release, the following encryption algorithms have been desupported:

■ DES ■ MD5 ■ RC4

For more information about the supported encryption algorithms, see "Supported Encryption Algorithms" on page 1-4.

Oracle Database 11g Release 2 (11.2.0.3) New Features in Oracle

Advanced Security

This release includes the following new features:

■ Support for SHA-2 Certificate Signatures

■ Support for PIN and Multiple Certificates on Smart Card ■ TDE Hardware Acceleration for Solaris

Support for SHA-2 Certificate Signatures

This feature introduces support for SHA-2 (256-bit) signed certificates that are used by the database for network encryption and authentication.

These certificates are issued by a separate certificate authority (CA), and are exchanged between the database and a client when a secure database connection is being established.

Support for PIN and Multiple Certificates on Smart Card

This feature introduces support for authenticating to the database using Common Access Cards (CAC, HSPD-12) that contain multiple certificates.

When a database user inserts a card containing one or more digital certificates into a card reader, the database attempts to intelligently select which certificate to read. If the

(27)

xxvii

database cannot determine which certificate to read, a selection box is presented on Windows clients. The user also must manually enter the correct PIN.

TDE Hardware Acceleration for Solaris

Transparent Data Encryption (TDE) can automatically detect whether the database host machine includes specialized cryptographic silicon that accelerates the encryption and decryption processing. When detected, TDE uses the specialized silicon for cryptographic processing, accelerating the overall cryptographic performance significantly.

In prior releases, cryptographic hardware acceleration for TDE was only available on Intel Xeon, and only for Linux. Starting with release 11.2.0.3, it works with the current versions of Solaris 11 running on both SPARC T-Series and Intel Xeon.

Oracle Database 11

g

Release 2 (11.2) New Features in Oracle Advanced

Security

This release includes the following new features:

■ Enhanced TDE Tablespace Encryption

■ TDE Supports Intel Advanced Encryption Standard New Instructions (Intel AES-NI)

■ Internet Protocol Version 6 (IPv6) Support ■ Kerberos Enhancements

Enhanced TDE Tablespace Encryption

Oracle Database 11g Release 2 (11.2) implements the following enhancements to TDE Tablespace Encryption:

■ A unified master encryption key is used for both Transparent Data Encryption

(TDE) Column Encryption and TDE Tablespace Encryption.

■ The unified master encryption key can optionally be stored in a hardware security

module. This enables you to use the TDE Tablespace Encryption feature along with hardware security modules.

■ You can reset (rekey) the unified master encryption key. This provides enhanced security and helps meet security and compliance requirements.

TDE Supports Intel Advanced Encryption Standard New Instructions (Intel

AES-NI)

Transparent Data Encryption (TDE) now supports Intel AES-NI. Oracle Database 11g

Release 2 (11.2) running on Intel Xeon 5600 series processor-based servers with Intel AES-NI shows a multifold increase in TDE encryption and decryption speed. According to benchmark results, TDE shows a 10x speedup of AES encryption

processing rate and an 8x speedup of decryption processing rate, using 256 bit keys, on Intel Xeon X5680 processor utilizing AES-NI as compared to Intel Xeon X5560

processor without AES-NI.

Internet Protocol Version 6 (IPv6) Support

Oracle Advanced Security fully supports Internet Protocol Version 6 (IPv6) networks.

(28)

Kerberos Enhancements

The Oracle Kerberos authentication mechanism now supports the Microsoft Windows Server 2003 constrained delegation feature. The middle tier can use the Kerberos adapter to authenticate to the Oracle Database without providing the user's forwarded Kerberos credentials.

A user can authenticate to the middle tier using a non-Kerberos authentication mechanism. The middle tier authenticates to the backend Oracle Database using the Kerberos authentication mechanism on behalf of the user.

Oracle Database 11

g

Release 1 (11.1) New Features in Oracle Advanced

Security

This release includes the following new features:

■ Enhanced Transparent Data Encryption

■ Kerberos Authentication More Secure and Manageable

Enhanced Transparent Data Encryption

Transparent Data Encryption enables you to encrypt data in columns without having to manage the encryption key. Businesses can protect sensitive data in their databases without having to make changes to their applications.

Oracle Advanced Security uses industry standard encryption algorithms including AES and 3DES to encrypt columns that have been marked for encryption. Key Management is handled by the database. SQL interfaces to Key Management hide the complexity of encryption.

You can now encrypt entire tablespaces using Tablespace Encryption. All objects created in the encrypted tablespace are automatically encrypted. See "TDE Tablespace Encryption" in on page 8-3 for more information.

Transparent Data Encryption now enables you to use a hardware security module (HSM) to store the master encryption key. This allows for enhanced security. See

"Using Hardware Security Modules with TDE" on page 8-19 for more information.

Kerberos Authentication More Secure and Manageable

The Kerberos implementation now makes use of secure encryption algorithms like

3DES and AES in place of DES. This makes using Kerberos more secure. The Kerberos authentication mechanism in Oracle Database now supports the following encryption types:

■ DES3-CBC-SHA (DES3 algorithm in CBC mode with HMAC-SHA1 as checksum) ■ AES128-CTS (AES algorithm with 128-bit key in CTS mode with HMAC-SHA1 as

checksum)

See Also: Microsoft documentation for more information on the Microsoft Windows Server 2003 constrained delegation feature

See Also: "Supported Encryption Algorithms" on page 1-4 for more information on the encryption algorithms that are supported.

Chapter 8, "Securing Stored Data Using Transparent Data Encryption"

for more information on implementing and using Transparent Data Encryption.

(29)

xxix ■ AES256-CTS (AES algorithm with 256-bit key in CTS mode with HMAC-SHA1 as

checksum)

The Kerberos implementation has been enhanced to interoperate smoothly with Microsoft and MIT Key Distribution Centers.

The Kerberos prinicipal name can now contain more than 30 characters. It is no longer restricted by the number of characters allowed in a database user name.

See Also: Chapter 12, "Configuring Kerberos Authentication"

Note: In this release, the features of Multiplexing and Connection Pooling do not work with SSL transport. Refer to Oracle Database JDBC Developer's Guide and Reference for details of encryption support available in JDBC.

(30)
(31)

Part I

Part I

Getting Started with

Oracle Advanced Security

This part introduces Oracle Advanced Security, describing security solutions it provides, its features, and its tools.

Part I contains the following chapters:

■ Chapter 1, "Introduction to Oracle Advanced Security"

(32)
(33)

1

Introduction to Oracle Advanced Security 1-1

1

Introduction to Oracle Advanced Security

This chapter introduces Oracle Advanced Security, summarizes the security risks it addresses, and describes its features. These features are available to database and related products that interface with Oracle Net Services, including Oracle Database, Oracle Application Server, and Oracle Identity Management infrastructure.

This chapter contains the following topics:

■ Security Challenges in an Enterprise Environment

■ Solving Security Challenges with Oracle Advanced Security ■ Oracle Advanced Security Architecture

■ System Requirements

■ Oracle Advanced Security Restrictions

Security Challenges in an Enterprise Environment

To increase efficiency and lower costs, companies adopt strategies to automate

business processes. One such strategy is to conduct more business on the Web, but that requires greater computing power, translating to higher IT costs. In response to rising IT costs, more and more businesses are considering enterprise grid computing

architecture where inexpensive computers act as one powerful system. While such strategies improve the bottom line, they introduce risks, which are associated with securing data, in rest and motion, and managing an ever increasing number of user identities.

This section examines the security challenges of today's enterprise computing environments in the following topics:

■ Security in Enterprise Grid Computing Environments ■ Security in an Intranet or Internet Environment ■ Common Security Threats

Security in Enterprise Grid Computing Environments

Grid computing is a computing architecture that coordinates large numbers of servers and storage to act as a single large computer. It provides flexibility, lower costs, and IT investment protection because inexpensive, off-the-shelf components can be added to the grid as business needs change. While providing significant benefits, grid

computing environments present unique security requirements because their

computing resources are distributed and often heterogeneous. The following sections discuss these requirements:

(34)

Security Challenges in an Enterprise Environment

Distributed Environment Security Requirements

Enterprise grid computing pools distributed business computing resources to cost effectively harness the power of clustered servers and storage. A distributed environment requires secure network connections. Even more critical in grid environments, it is necessary to have a uniform definition of "who is the user" and "what is the user allowed to do." Without such uniform definitions, administrators frequently must assign, manage, and revoke authorizations for every user on different software applications to protect employee, customer, and partner information. This is expensive because it takes time, which drives up costs. Consequently, the cost savings gained with grid computing are lost.

Heterogeneous Environment Security Requirements

Because grid computing environments often grow as business needs change,

computing resources are added over time, resulting in diverse collections of hardware and software. Such heterogeneous environments require support for different types of authentication mechanisms which adhere to industry standards. Without strict adherence to industry standards, integrating heterogeneous components becomes costly and time consuming. Once again the benefits of grid computing are squandered when the appropriate infrastructure is not present.

Security in an Intranet or Internet Environment

Oracle databases power the largest and most popular Web sites on the Internet. In record numbers, organizations throughout the world are deploying distributed databases and client/server applications based on Oracle Database and Oracle Net Services. This proliferation of distributed computing is matched by an increase in the amount of information that organizations place on computers. Employee and financial records, customer orders, product information, and other sensitive data have moved from filing cabinets to file structures. The volume of sensitive information on the Web has thus increased the value of data that can be compromised.

Common Security Threats

The increased volume of data in distributed, heterogeneous environments exposes users to a variety of security threats, including the following:

■ Eavesdropping and Data Theft ■ Data Tampering

■ Falsifying User Identities ■ Password-Related Threats

Eavesdropping and Data Theft

Over the Internet and in wide area network environments, both public carriers and private networks route portions of their network through insecure land lines,

vulnerable microwave and satellite links, or a number of servers— exposing valuable data to interested third parties. In local area network environments within a building or campus, the potential exists for insiders with access to the physical wiring to view data not intended for them, and network sniffers can be installed to eavesdrop on network traffic.

Data Tampering

Distributed environments bring with them the possibility that a malicious third party can compromise integrity by tampering with data as it moves between sites.

(35)

Solving Security Challenges with Oracle Advanced Security

Introduction to Oracle Advanced Security 1-3

Falsifying User Identities

In a distributed environment, it is more feasible for a user to falsify an identity to gain access to sensitive information. How can you be sure that user Pat connecting to Server A from Client B really is user Pat?

Moreover, in distributed environments, malefactors can hijack connections. How can you be sure that Client B and Server A are what they claim to be? A transaction that should go from the Personnel system on Server A to the Payroll system on Server B could be intercepted in transit and re-routed to a terminal masquerading as Server B.

Password-Related Threats

In large systems, users typically must remember multiple passwords for the different applications and services that they use. For example, a developer can have access to a development application on a workstation, a PC for sending e-mail, and several computers or intranet sites for testing, reporting bugs, and managing configurations. Users typically respond to the problem of managing multiple passwords in several ways:

■ They may select easy-to-guess passwords, such as a name, a fictional character, or

a word found in a dictionary. All of these passwords are vulnerable to dictionary attacks.

■ They may also choose to standardize passwords so that they are the same on all

systems or Web sites. This results in a potentially large exposure in the event of a compromised password. They can also use passwords with slight variations that can be easily derived from known passwords.

■ Users with complex passwords may write them down where an attacker can easily

find them, or they may just forget them, requiring costly administration and support efforts.

All of these strategies compromise password secrecy and service availability. Moreover, administration of multiple user accounts and passwords is complex, time-consuming, and expensive.

Solving Security Challenges with Oracle Advanced Security

To solve enterprise computing security problems, Oracle Advanced Security provides industry standards-based data privacy, integrity, authentication, single sign-on, and access authorization in a variety of ways. For example, you can configure either Oracle Net native encryption or Secure Sockets Layer (SSL) for data privacy. Oracle Advanced Security also provides the choice of several strong authentication methods, including Kerberos, smart cards, and digital certificates.

Oracle Advanced Security provides the following security features:

■ Data Encryption ■ Strong Authentication

Data Encryption

Sensitive information that is stored in your database or that travels over enterprise networks and the Internet can be protected by encryption algorithms. An encryption algorithm transforms information into a form that cannot be deciphered without a decryption key.

(36)

Solving Security Challenges with Oracle Advanced Security

Figure 1–1 shows how encryption works to ensure the security of a transaction sent over the network. For example, if a manager approves a bonus, this data should be encrypted when sent over the network to avoid eavesdropping. If all communication between the client, the database, and the application server is encrypted, then when the manager sends the bonus amount to the database, it is protected.

Figure 1–1 Encryption

This section discusses the following topics:

■ Supported Encryption Algorithms ■ Data Integrity

■ Federal Information Processing Standard

Supported Encryption Algorithms

Oracle Advanced Security provides the following encryption algorithms to protect the privacy of network data transmissions:

■ Triple-DES Encryption

■ Advanced Encryption Standard

Selecting the network encryption algorithm is a user configuration option, providing varying levels of security and performance for different types of data transfers. Prior versions of Oracle Advanced Security provided three editions: Domestic, Upgrade, and Export, each with different key lengths. Oracle Advanced Security 11g

Release 2 (11.2) contains a complete complement of the available encryption

algorithms and key lengths, previously only available in the Domestic edition. Users deploying prior versions of the product can obtain the Domestic edition for a specific product release.

Triple-DES Encryption Oracle Advanced Security also supports Triple-DES encryption (3DES), which encrypts message data with three passes of the DES algorithm. 3DES provides a high degree of message security, but with a performance penalty. The magnitude of penalty depends on the speed of the processor performing the encryption. 3DES typically takes three times as long to encrypt a data block as compared with the standard DES algorithm.

Note: The U.S. government has relaxed its export guidelines for encryption products. Accordingly, Oracle can ship Oracle

Advanced Security with its strongest encryption features to all of its customers.

References

Related documents

Full-scale dynamic analysis of an innovative rockfall fence under impact using the discrete element method: from the local scale to the structure scale.. Full-scale dynamic analysis

The rock fall hazard may be defined as the probability of a rock fall of a given magnitude (or kinetic energy) reaching the element at risk, which can be expressed as the probability

The credit card system, in its simplest form is a method of obtaining credit on hire purchase, whereby the cardholder can make purchases on credit up to an

The linguistic scheme for discourse-level relations is based on the idea that opinion expres- sions are related in the discourse via the relation between their targets and whether/

We designed and developed a new method, MSACompro, to synergistically in- corporate predicted secondary structure, relative solvent accessibility, and residue- residue

As shown in Figure 4, we find very interesting patterns (which are also prevalent in other cases): 1) first two sentences (blue frame), which contain the main topic and idea of

The majority of them (49.2% of all first booking prompted participants) finally enter the offsetting program again as prompted participants in the second booking decision... If

Secondary bond market intervention by EFSF has a twofold objective. First, it serves to support the functioning of the debt markets and appropriate price formation in