![]() Previous |
![]() Next |
Transparent data encryption enables you to encrypt individual table columns or an entire tablespace. When a user inserts data into an encrypted column, transparent data encryption automatically encrypts the data. When users select the column, the data is automatically decrypted.
To encrypt data by using transparent data encryption, you create the following components:
A wallet to store the master encryption key. The wallet is an operating system file located outside the database. The database uses the wallet to store the master encryption key. To create the wallet, you can use Enterprise Manager or the ALTER SYSTEM command. The wallet is encrypted using a password as the encryption key. You create the password when you create the wallet. Access to the contents (or master key) of the wallet is thus restricted to only those who know the password. After the wallet is created, you must open the wallet using the password so that the database can access the master encryption key.
A location for the wallet. You can specify the wallet location in the sqlnet.ora file.
Afterward, when a user enters data, Oracle Database performs the following steps:
Retrieves the master key from the wallet.
Decrypts the encryption key using the master key.
Uses the encryption key to encrypt the data the user entered.
Stores the data in encrypted format in the database.
If the user is selecting data, the process is similar: Oracle Database decrypts the data and then displays it in clear text format.
Transparent data encryption has the following advantages:
As a security administrator, you can be sure that sensitive data is safe if the storage media or data file is stolen or lost.
Implementing transparent data encryption helps you address security-related regulatory compliance issues.
Data from tables is transparently decrypted for the database user. You do not need to create triggers or views to decrypt data.
Database users need not be aware of the fact that the data they are accessing is stored in encrypted form. Data is transparently decrypted for the database users and does not require any action on their part.
Applications need not be modified to handle encrypted data. Data encryption and decryption is managed by the database.
Transparent data encryption has a minimal impact on performance. Transparent data encryption column encryption affects performance only when data is retrieved from or inserted into an encrypted column. There is no impact on performance for operations involving unencrypted columns, even if these columns are in a table containing encrypted columns. However, be aware that encrypted data needs more storage space than clear text data. On average, encrypting a single column requires between 32 and 48 bytes of additional storage for each row. Transparent tablespace encryption provides even better performance because Oracle Database performs the encryption and decryption at the I/O block layer. Once blocks are decrypted, they are cached in Oracle Database memory for optimal performance.