Configuring Encryption at Rest
Note:
Encryption at rest has a measurable performance impact to XLA and other database operations. See XLA and TimesTen Event Management in Oracle TimesTen In-Memory Database C Developer's Guide.
TimesTen supports these encryption algorithms:
-
AES-128
-
AES-192
-
AES-256
TimesTen provides these data store attributes to set up encryption at rest upon database creation:
-
DbEncrypted: Enables encryption at rest and specifies the encryption algorithm to be used. Valid values are:-
none(default) -
AES128 -
AES192 -
AES256
See DbEncrypted in Oracle TimesTen In-Memory Database Reference.
-
-
DbKeyWallet: Specifies the path for the Oracle wallet used to store the master key for encryption at rest. Default value isinstance_home/info/wallets. The Oracle wallet is an auto-login wallet. See DbKeyWallet in Oracle TimesTen In-Memory Database Reference.WARNING:
If the wallet with the master key for encryption at rest is lost or deleted, the database becomes unreadable and cannot be recovered.
Encryption at rest in TimesTen supports FIPS 140-2 mode. While it is not
a requirement to encrypt a database, FIPS mode consists of a set of tests performed
on the cryptographic engine to validate that it has not been tampered with or
modified. You can enable FIPS mode during the creation of the TimesTen instance or
by restarting the instance after enabling FIPS mode (db_fips_140=1)
in the TimesTen instance configuration file (timesten.conf). See
TimesTen Instance Configuration File in Oracle TimesTen In-Memory Database
Reference.
You can switch databases files from non-encrypted to encrypted on an existing database by using a rekey operation (see Re-Keying an Encrypted Database). However, for security, you cannot switch encrypted database files to non-encrypted.
Example 3-1 DSN Specification for an Encrypted Database
This is an example of a DSN specification for a database,
database1, configured for encryption at rest. Encryption at
rest is enabled and set to use the AES-256 encryption algorithm upon database
creation. The wallet for the master key is set to be stored within the
/disk1/wallets directory.
[database1]
DataStore=/disk1/databases/database1
LogDir=/disk1/logs
DatabaseCharacterSet=AL32UTF8
DbEncrypted=AES256
DbKeyWallet=/disk1/wallets