AudienceView Connect
AudienceView Documentation

Encryption Tool

Column level data encryption is managed by the application not the database.

AudienceView has taken a master key/column key ring approach to encrypting the information in the database. Rinjdael symmetric cipher (AES standard) was chosen since it is a highly secure industry standard encryption algorithm and fast. Information is secured with a single key. The string being encrypted is transposed and then substituted. In other words, one algorithm is used to encrypt/decrypt actual content, and one algorithm is used to encrypt the private key with a passphase.

Keys in the system are programmatically generated off of two passwords that are driven by user input. The resulting keys are 160 bits in length. This is true of both the master key and the column keys. All column-based keys are stored encrypted in a database table called ts_keyring. This allows for secure, centralized storage of the keys and eases backup and restore.

In addition to the Rinjdael cipher, a checksum is embedded to ensure that the original keys were used to encrypt the information. If, after decrypting, the checksum does not align, the application will not proceed. All data is converted to a text format to minimize impact for searching and the schema.

For AudienceView customers needing encryption, the application can now be set up to encrypt credit card numbers and associated expiry dates. The only functional impact to the system will be that searching will be limited to exact matches or “has a value” type criteria. Also, reports and extracts will display only the encrypted information. The data can be accessed by the application, but normal security rules will apply (i.e. field level controls will be available to limit the visibility of the data).

In addition to encrypting the key ring, the master key will also be used to encrypt the connection information to the database. The master key passwords will need to be either provided as input to the application startup or through the initialization of the application in the global.asa.

Warning
Encryptions keys should not be stored. If they are stored, they should be stored securely in the fewest locations as possible and access to the keys should be restricted to the fewest number of people.

The following sections describe how to work with the encryption tool: