Configuring Your System to Use Hardware Security Modules
Oracle Database supports hardware security modules that use APIs that conform to the RSA Security, Inc., PKCS #11 specification.
Typically, these hardware devices are used to securely store and manage private keys in tokens or smart cards, or to accelerate cryptographic processing.
-
General Guidelines for Using Hardware Security Modules for TLS
Oracle provides a set of guidelines to follow if you are using a hardware security module with Oracle Database. -
Configuring Your System to Use nCipher Hardware Security Modules
You can configure your system to use nCipher hardware security modules for cryptographic processing. -
Configuring Your System to Use SafeNET Hardware Security Modules
You can configure your system to use SafeNET hardware security modules for cryptographic processing. -
Troubleshooting Using Hardware Security Modules
Oracle provides troubleshooting advice for hardware security modules.
General Guidelines for Using Hardware Security Modules for TLS
Oracle provides a set of guidelines to follow if you are using a hardware security module with Oracle Database.
-
Contact your hardware device vendor to obtain the necessary hardware, software, and PKCS #11 libraries.
-
Install the hardware, software, and libraries where appropriate for the hardware security module you are using.
-
Test your hardware security module installation to ensure that it is operating correctly. Refer to your device documentation for instructions.
-
Create a wallet of the type
PKCS11by using Oracle Wallet Manager and specify the absolute path to the PKCS #11 library (including the library name) if you wish to store the private key in the token. OraclePKCS11wallets contain information that points to the token for private key access.
You can use the wallet containing PKCS #11 information just as you would use any Oracle wallet, except the private keys are stored on the hardware device and the cryptographic operations are performed on the device as well.
Configuring Your System to Use nCipher Hardware Security Modules
You can configure your system to use nCipher hardware security modules for cryptographic processing.
-
About Configuring Your System to Use nCipher Hardware Security Modules
Hardware security modules made by nCipher Corporation are certified to operate with Oracle Database. -
Oracle Components Required To Use an nCipher Hardware Security Module
To use an nCipher hardware security module, you must have a special set of components. -
Directory Path Requirements for Installing an nCipher Hardware Security Module
The nCipher hardware security module uses the nCipher PKCS #11 library.
About Configuring Your System to Use nCipher Hardware Security Modules
Hardware security modules made by nCipher Corporation are certified to operate with Oracle Database.
These modules provide a secure way to store keys and off-load cryptographic processing. Primarily, these devices provide the following benefits:
-
Off-load cryptographic processing that frees your server to respond to other requests
-
Secure private key storage on the device
-
Allow key administration through the use of smart cards Note: You must contact your nCipher representative to obtain certified hardware and software to use with Oracle Database.
Oracle Components Required To Use an nCipher Hardware Security Module
To use an nCipher hardware security module, you must have a special set of components.
These components are as follows:
-
nCipher Hardware Security Module
-
Supporting nCipher PKCS #11 library
The following platform-specific PKCS#11 library is required:
-
libcknfast.solibrary for UNIX 32-Bit -
libcknfast- 64.solibrary for UNIX 64-Bit -
cknfast.dlllibrary for WindowsNote:
You must contact your nCipher representative to have the hardware security module or the secure accelerator installed, and to acquire the necessary library.
These tasks must be performed before you can use an nCipher hardware security module with Oracle Database.
-
Directory Path Requirements for Installing an nCipher Hardware Security Module
The nCipher hardware security module uses the nCipher PKCS #11 library.
To use the secure accelerator, you must provide the absolute path to the directory that contains the nCipher PKCS #11 library (including the library name) when you create the wallet by using Oracle Wallet Manager. This enables the library to be loaded at runtime.
Typically, the nCipher card is installed at the following locations:
-
/opt/nfastfor UNIX -
C:\nfastfor Windows
The nCipher PKCS #11 library is located at the following location for typical installations:
-
/opt/nfast/toolkits/pkcs11/libcknfast.sofor UNIX 32-Bit -
/opt/nfast/toolkits/pkcs11/libcknfast-64.sofor UNIX 64-Bit -
C:\nfast\toolkits\pkcs11\cknfast.dllfor Windows Note: Use the 32-bit library version when using the 32-bit release of Oracle Database and use the 64-bit library version when using the 64-bit release of Oracle Database. For example, use the 64-bit nCipher PKCS #11 library for the Oracle Database for Solaris Operating System (SPARC 64-bit).
Configuring Your System to Use SafeNET Hardware Security Modules
You can configure your system to use SafeNET hardware security modules for cryptographic processing.
-
About Configuring Your System to Use SafeNET Hardware Security Modules
Hardware security modules made by SafeNET Incorporated are certified to operate with Oracle Database. -
Oracle Components Required for SafeNET Luna SA Hardware Security Modules
To use a SafeNET Luna SA hardware security module, you must have a special set of components. -
Directory Path Requirements for Installing a SafeNET Hardware Security Module
The SafeNET hardware security module uses the SafeNET PKCS #11 library.
About Configuring Your System to Use SafeNET Hardware Security Modules
Hardware security modules made by SafeNET Incorporated are certified to operate with Oracle Database.
These modules provide a secure way to store keys and off-load cryptographic processing. Primarily, these devices provide the following benefits:
-
Off-load of cryptographic processing to free your server to respond to more requests
-
Secure private key storage on the device Note: You must contact your SafeNET representative to obtain certified hardware and software to use with Oracle Database.
Oracle Components Required for SafeNET Luna SA Hardware Security Modules
To use a SafeNET Luna SA hardware security module, you must have a special set of components.
These components are as follows:
-
SafeNET Luna SA Hardware Security Module
-
Supporting SafeNET Luna SA PKCS #11 library
The following platform-specific PKCS#11 library is required:
-
libCryptoki 2.solibrary for UNIX -
cryptoki.dlllibrary for WindowsNote:
You must contact your SafeNET representative to have the hardware security module or the secure accelerator installed, and to acquire the necessary library.
These tasks must be performed before you can use a SafeNET hardware security module with Oracle Database.
-
Directory Path Requirements for Installing a SafeNET Hardware Security Module
The SafeNET hardware security module uses the SafeNET PKCS #11 library.
To use the secure accelerator, you must provide the absolute path to the directory that contains the SafeNET PKCS #11 library (including the library name) when you create the wallet using Oracle Wallet Manager. This enables the library to be loaded at runtime.
Typically, the SafeNET Luna SA client is installed at the following location:
-
/usr/lunasafor UNIX -
C:\Program Files\LunaSAfor Windows
The SafeNET Luna SA PKCS #11 library is located at the following location for typical installations:
-
/usr/lunasa/lib/libCryptoki2.sofor UNIX -
C:\Program Files\LunaSA\cryptoki2.dllfor Windows
Troubleshooting Using Hardware Security Modules
Oracle provides troubleshooting advice for hardware security modules.
-
Errors in the Oracle Net Trace Files
To detect whether the module is being used, you can turn on Oracle Net tracing. -
Error Messages Associated with Using Hardware Security Modules
Errors that are associated with using PKCS #11 hardware security modules can appear.
Errors in the Oracle Net Trace Files
To detect whether the module is being used, you can turn on Oracle Net tracing.
If the wallet contains PKCS #11 information and the private key on the module is being used, then you will see the following entries in the Oracle Net tracing file without error messages logged between entry and exit:
nzpkcs11_Init: entry
nzpkcs11CP_ChangeProviders: entry
nzpkcs11CP_ChangeProviders: exit
nzpkcs11GPK_GetPrivateKey: entry
nzpkcs11GPK_GetPrivateKey: exit
nzpkcs11_Init: exit
...
nzpkcs11_Decrypt: entry
nzpkcs11_Decrypt: exit
nzpkcs11_Sign: entry
nzpkcs11_Sign: exit
Error Messages Associated with Using Hardware Security Modules
Errors that are associated with using PKCS #11 hardware security modules can appear.
ORA-43000: PKCS11: library not found
Cause: The system cannot locate the PKCS #11 library at the location specified when the wallet was created. This happens only when the library is moved after the wallet is created.
Action: Copy the PKCS #11 library back to its original location where it was when the wallet was created.
ORA-43001: PKCS11: token not found
Cause: The smart card that was used to create the wallet is not present in the hardware security module slot.
Action: Ensure that the smart card that was used when the wallet was created is present in the hardware security module slot.
ORA-43002: PKCS11: passphrase is wrong
Cause: This can occur when an incorrect password is specified at wallet creation, or the PKCS #11 device password is changed after the wallet is created and not updated in the wallet by using Oracle Wallet Manager.
Action: Depending on the cause, take one of the following actions:
If you see this error during wallet creation, then check to ensure that you have the correct password and reenter it.
If the password changed after wallet creation, then use Oracle Wallet Manager to open the wallet and enter a new password.
Note:
The nCipher log file is in the directory where the module is installed at the following location:
/log/logfile
Related Topics
- Oracle Database Enterprise User Security Administrator’s Guide
- Oracle Database Net Services Administrator’s Guide for information about setting tracing parameters to enable Oracle Net tracing
- Oracle Database Enterprise User Security Administrator’s Guide about creating an Oracle wallet to store hardware security credentials
- nCipher and SafeNET documentation for more information about troubleshooting nCipher and SafeNET devices