Links

Configuring and using Tonic data encryption

Required license: Professional or Enterprise
Not available on Tonic Cloud.
Required global permission: Configure Tonic data encryption

About Tonic data encryption

A common use case for custom processing is encrypted source data. The data might need to be decrypted before a generator is applied, and encrypted before it is saved to the destination database.
Tonic data encryption allows you to configure decryption and encryption to use during data generation. The data encryption process supports AES encryption, and allows you to use either the CBC, ECB, or CFB cipher modes.
When Tonic data encryption is enabled, the configuration panel for each column includes a toggle to use Tonic data encryption for that column.
Generator configuration panel with data encryption setting
For columns that use both Tonic data encryption and a custom value processor:
  • Decryption occurs before a pre-processing custom value processor.
  • Encryption occurs after a post-processing custom value processor.
You enable and configure the data encryption from the Data Encryption tab of the Tonic Settings view. To display the Tonic Settings view, in the Tonic heading, click Tonic Settings.

Setting the encryption key environment settings

To use Tonic data encryption, you must provide:
  • A Base64-encoded decryption key as the value of the TONIC_DATA_DECRYPTION_KEY environment setting.
  • A Base64-encoded encryption key as the value of the TONIC_DATA_ENCRYPTION_KEY environment setting.
Both key values must use the same key size - either 128, 192, or 256.
For more information, go to Configuring environment settings.
Tonic validates whether the values are set correctly. Tonic enables the rest of the Data Encryption tab settings only if the keys are set correctly.

Enabling Tonic data encryption

By default, Tonic data encryption is disabled. To enable it, toggle Enable Data Encryption to the on position.
Data Encryption tab on the Tonic Settings view

Choosing whether to decrypt, encrypt, or both

When you enable Tonic data encryption, you choose whether to use decryption, encryption, or both.
You use decryption if the source data is encrypted and must be decrypted before the generators are applied.
You use encryption to encrypt the transformed data before saving it to the destination database.
To use decryption only, select Use Decryption.
To use encryption only, select Use Encryption.
To both decrypt and encrypt data, select Use Decryption and Encryption.

Viewing the AES encryption key size

Tonic only supports AES encryption. The AES Encryption setting shows the current key size.
The key size is based on the values you provided for the decryption and encryption key environment settings.

Selecting the cipher mode

From the Cipher Mode dropdown list, select the cipher mode to use for Tonic data encryption. The available cipher modes are:
  • CBC
  • ECB
  • CFB

Configuring the initialization vector

Before it decrypts or encrypts data, Tonic applies an initialization vector.
By default, Tonic generates a random initialization vector, and Use custom Initialization Vector (IV) is in the off position.
To provide custom initialization vectors for Tonic to use:
  1. 1.
    Toggle Use custom Initialization Vector (IV) to the on position.
  2. 2.
    If the Tonic data encryption configuration includes encryption, then in the Encryption IV field, enter the static initialization vector to use to encrypt data.
  3. 3.
    If the Tonic data encryption configuration includes decryption, then in the Decryption IV field, enter the static initialization vector to use to decrypt data.

Providing a prepend value for encryption

After it encrypts the destination data, but before it stores it, Tonic can prepend a string to the encrypted data.
To configure Tonic data encryption to prepend a string:
  1. 1.
    Toggle Prepend value to encrypted data to the on position.
  2. 2.
    In the Custom Value field, enter the string to prepend.

Testing the data encryption

After you complete the configuration, the Preview Results panel allows you to test the decryption and encryption.
If the configuration is incomplete, you cannot run the test.

Testing decryption only

If the configuration is for decryption only:
  1. 1.
    In the Ciphertext field, enter an encrypted text string.
  2. 2.
    Click Run Test.
  3. 3.
    Verify that the text in the Plaintext Result field is correct.

Testing encryption only

If the configuration is for encryption only:
  1. 1.
    In the Plaintext field, enter an unencrypted text string.
  2. 2.
    Click Run Test.
  3. 3.
    Verify that the text in the Ciphertext Result field is correct.

Testing both decryption and encryption

If the configuration is for both decryption and encryption, then you provide an encrypted string. The test decrypts the string into plain text, then re-encrypts that string.
  1. 1.
    In the Ciphertext field, enter an encrypted text string.
  2. 2.
    Click Run Test.
  3. 3.
    Verify that the text in the Plaintext Result field and the Ciphertext Result field is correct.

Saving or reverting the Tonic data encryption configuration

To save the configuration, click Save.
To revert any changes since you last saved the configuration, click Revert.
Last modified 30d ago