Security Guide for Siebel Business Applications > Communications and Data Encryption >
Configuring Data Encryption
You can encrypt sensitive data in the Siebel Database, such as customer credit card numbers, using various encryption alternatives provided by Siebel Systems. Standard Siebel Business Applications provide the option for 56-bit RC2 encryption capabilities for data in the Siebel Database.
If you require stronger encryption capabilities, see About Siebel Strong Encryption Pack.
If you are upgrading from Releases 6.x or 7.0.x, which used the mangle algorithm encryption method (standard encryptor), see Upgrading Encrypted Data to 56-bit RC2 Encryption for information on how to move your data to the RC2 encryption standard using a 56-bit encryption key.
About Siebel Strong Encryption Pack
More secure encryption alternatives are provided with the Siebel Strong Encryption Pack, which includes:
- AES encryption (128, 192, and 256 bits), using AES Encryptor
- RC2 encryption (128 bits), using RC2 Encryptor
The RC2 Encryptor supports 56-bit encryption without requiring you to install the Siebel Strong Encryption Pack.
- Key Database Upgrade utility
This utility decrypts the keyfile (if previously encrypted with a 56-bit or 128-bit RC2 encryption key) and then re-encrypts the keyfile with a longer key and a more secure algorithm.
- An installation guide
This guide describes how to install the Siebel Strong Encryption Pack and upgrade data to the encryption levels supplied in the Siebel Strong Encryption Pack.
AES encryption and RC2 encryption are provided as Siebel business services. You configure AES or RC2 encryption for business component fields using Siebel Tools. For details, see Configuring Business Component Encryption.
The Siebel Strong Encryption Pack is available from Siebel Systems on separate distribution media, and requires a separate installation into your existing Siebel Server environment. For information on how to obtain the Siebel Strong Encryption Pack, see Technical Note 566 on Siebel SupportWeb.
CAUTION: If you are upgrading your encryption level, make sure you read Upgrade Issues for Data Encryption before you install the Siebel Strong Encryption Pack.
How Data Encryption Works
When encryption is enabled for a business component field, unencrypted data from the field is sent through the specified encryptor (that is, the AES Encryptor or RC2 Encryptor). The encryptor encrypts the data using an encryption key stored in the keyfile.
After the data is encrypted, it is sent back to the business component field to be stored in the database. When a user accesses this data, the encrypted data is sent through the encryptor again to be decrypted. The data is decrypted using the same encryption key from the keyfile that was used for encryption. The decrypted data is then sent back to the business component field to be displayed in the application.
The keyfile stores a number of encryption keys that encrypt and decrypt data. The keyfile is named keyfile.bin and is located in the admin subdirectory of the Siebel Server directory. Additional encryption keys can be added to the keyfile. For security, this file is encrypted using an encryption key generated from the keyfile password. To generate a new encryption key to encrypt the keyfile, change the keyfile password.
CAUTION: The loss of the keyfile's password is irrecoverable.
The rest of this section describes how to use the Key Database Manager utility to add encryption keys and to change the keyfile password.
Requirements for Data Encryption
Encrypting field data is subject to the following restrictions and requirements.
CAUTION: Do not attempt to change the encryption key length once a Siebel environment has been set up and running. To do so would require regeneration of all keys (including the keyfile), as well as re-encryption of all applicable data. Rather, set the key length once during installation. You can, however, use the supported mechanisms to explicitly upgrade your encryption key lengths.
- Because encryption and decryption have performance implications, only fields with data that is truly sensitive, such as credit card numbers and social security numbers, should be encrypted.
- Siebel Assignment Manager does not decrypt data before making assignments. Assignment rules should take this limit into consideration.
- Data that is moved into or out of the Siebel Database using Siebel EIM will not be encrypted or decrypted by EIM.
- To configure 128-bit RC2 encryption (RC2 Encryptor) or any AES encryption option (AES Encryptor), you must have first installed the Siebel Strong Encryption Pack. 56-bit RC2 encryption is available for Siebel Business Applications without the Strong Encryption Pack.
- Encrypted field data is retrieved, decrypted, and displayed when records are selected. However, users cannot query or sort on the unencrypted values for these fields. Indexing columns for encrypted fields offers no benefit, because only the encrypted values are indexed.
- Encrypted data requires up to 2.5 times more storage space in the database than unencrypted data. You must specify appropriate data length for the affected columns. For example, data 10 characters long may use 25 characters when encrypted, data 30 characters long may use 75 characters when encrypted, and so on.
- All business component fields that are mapped to the same database column must have encryption turned on and must use consistent user property settings as described in this section. Using different encryption algorithms or different key lengths for different fields is not supported.
- Any business component field that is to store encrypted data must be active.
- Field-level AES or RC2 encryption is not supported for Mobile Web Clients or Developer Web Clients.
- Siebel Systems does not provide AES or RC2 encryption for numeric data. However, you can use the encryptor for any information that is stored as strings in the database. To encrypt a calculated numeric field, map the field to a string field, and then set the encryption property of the string field to
The get-value and set-value methods for the calculated field will take care of the conversion between numeric data and string data. As long as the business component uses the calculated field, encryption and decryption is transparent to the application. The only limitation for this workaround is that sorting and direct queries cannot be performed on a calculated field.