Encryption of the Data at Rest
When any Process Flow executes, all temporary files are stored in a repository folder. To prevent it from misuse, you may want to secure the folder. You can secure the repository folder by encrypting data in the folder.
To encrypt the data, you need to configure the following:
- Create Keystore using Keytool
- Configure Keystore in Adeptia Suite
Multiple streams in data mapping are not supported when encryption at rest is enabled.
Creating Keystore using Keytool
- Open Command Prompt.
- Go to the directory where JRE is installed (for example, C:/Program Files/Java/jre8/bin).
- Run the following Keytool command to create a Keystore.
For Windows:
keytool.exe -genseckey -keystore <Keystore_path> -storetype <store_type> -storepass <Keystore_password> -keyalg AES -keysize 256 -alias <alias_name> -keypass <Key_password>
For example:
keytool.exe -genseckey -keystore <> -storetype JCEKS -storepass changeit -keyalg AES -keysize 256 -alias <> -keypass changeit
For Linux:
keytool -genseckey -keystore <Keystore_path> -storetype <store_type> -storepass <Keystore_password> -keyalg AES -keysize 256 -alias <alias_name> -keypass <Key_password>
For example:
keytool -genseckey -keystore <> -storetype JCEKS -storepass changeit -keyalg AES -keysize 256 -alias <> -keypass changeit
where,
<Keystore_path> is the location of the Keystore. If the Keystore does not exist, the tool will create a new store.
<store_type> is the type of store. Only JCEKS is supported.
<Keystore_password> is the password related to the Keystore.
<alias_name> is the name to be given to the newly created key.
<Key_password> is the password protecting the use of the key.
The Keystore is generated at the specified location. Exit from the Command Prompt.
Configuring Keystore in Adeptia Suite
- Login to Adeptia Suite as an administrator.
- Go to Administer > Setup > Application Settings > Update System Properties.
- Expand Systems > Data Encryption at rest.
Set the value in the below parameters:
Property Name Description abpm.security.data.encryption.rest.enable To enable or disable data encryption at rest. The possible value can be either Yes or No. abpm.security.data.encryption.rest.keystoreLocation Location (absolute path) of the Keystore that will be used for data encryption. abpm.security.data.encryption.rest.alias Alias name for the key. abpm.security.data.encryption.rest.keystorePasword Password of the Keystore. abpm.security.data.encryption.rest.keyPassword Password of the Key. - Click Save.
- Click Reload Configuration to reflect the changes.
Restart Kernel and WebRunner.
However, after you enable the encryption, the data stored before you enabled the encryption remains in plaintext. Therefore, before enabling the encryption it is advisable to run the Encryption utility to encrypt the existing data present in the repository. If you do not encrypt the existing data, before enabling the encryption, repository data displayed on the GUIs may not be displayed correctly.
If due to any reason if you have not encrypted the existing data and have executed the transaction with encryption enabled, then in the repository folder the data will be a combination of plaintext and encrypted text. Therefore, you must encrypt plaintext separately. To do this:
- Move all the plaintext data in a separate folder.
- Encrypt the folder using the Encryption utility.
- After the records are encrypted successfully, copy the data of the encrypted folder in the repository.
After you have encrypted the data, enable the Encrypting data at rest feature. When the utility executes, you will have the encrypted data in the repository including the previous one.
Using Encryption Utility
You can encrypt or decrypt the repository using Encryption Utility. To encrypt or decrypt, you need to configure the encryption properties in the encryption-info.properties file.
To encrypt or decrypt a folder:
- Download Encryption utility.
- Extract the Encryption_Utility.zip file in the bin folder where Adeptia Suite is installed, for example, C:/Program Files/Adeptia Suite/AdeptiaSuite-x.x/bin/Encryption_utility.
- Open the extracted folder.
- Open encryption-info.properties file in any Text Editor.
Provide the values for the following properties.
Property NameDescriptionencryption.repository.path Path of the folder to encrypt or decrypt. If you are using the utility in the Windows environment, separate the path by either using a backward slash "\\" (C:\\Smith\\Encrypt) or forward slash "/" (C:/Smith/Encrypt). encryption.keystore.location Keystore location. If you are using the utility in the Windows environment, separate the path by either using a backward slash "\\" (D:\\Encrypt\\keystore.jck) or forward slash "/" (D:/Encrypt/keystore.jck). encryption.keystore.alias Alias name for the Keystore. encryption.key.password Password of the key. encryption.keystore.password Password of the Keystore. encryption.excluded.file.pattern Regex pattern to exclude files. You can define the pattern of the file here that you don't want to encrypt/decrypt. For example, in the screenshot below as per the given pattern, the utility will not encrypt the file in a format where there are numerical values of 30 characters on both sides of the exclamation sign. - Save the file.
- Go to the extracted folder.
- For Windows, double-click encrypt.bat.
For Linux, execute encrypt.sh on the Terminal.
The utility starts running. - To encrypt the folder, press 1.
To decrypt the folder, press 2. The utility starts encrypting or decrypting the folder. A message "Encryption or Decryption has successfully completed" indicates successful encryption or decryption.
You can view the details of the execution from the encryptionUtils.log file available at C:/Program Files/Adeptia Suite/AdeptiaSuite-x.x/bin/Encryption_utility. You can also find the reason for the failure of the execution from this file.