Encryption Service

It makes sense to activate the encryption service exactly when the contents of the archive are to be encrypted. Examples of this would be if the content itself should not be read by administrators. For example, if PDF files are archived as documents in a cloud storage and a service provider has access to the data, the contents can be encrypted so that they cannot be read by humans.

Caution: The access key for decrypting the content must not be lost under any circumstances and it has to be stored securely so that authorized employees can access the access key at any time.

Requirements

There are no special requirements for using the encryption service. Only configuration of the service is necessary. The service can be configured individually for repositories. Only one included encryption algorithm is currently supported: AES/GCM/NoPadding

The encryption service can be enabled at any time. Any existing, unencrypted files are still accessible.

The encryption service can also be disabled at any time. Any existing encrypted files are still accessible, if the configured secret remains the same in the config, i.e. to disable the encryption and keep existing encrypted files accessible, only the encryptionservice.type has to be changed to none. The setting for the secret must remain the same.

Configuration

The encryption service is addressed via the repository (here using the CE repository as an example).

CE.encryptionservice.type=aes_gcm CE.encryptionservice.aes_gcm.secret=<please use a key for encryption>


It makes sense that the secret is stored as an alias in the keystore, which points to a password in the KeystoreService. If no keystore is used, the secret must be entered here in plain text.

Caution: Changing the secret is currently not possible, but can be implemented if necessary.

During encryption, a random vector is initially generated, which ensures that the same content is encrypted differently. This vector is placed in front of the encrypted data stream because it is needed again for decryption. Depending on the process, the size of the original file increases by up to 32 bytes, i.e. a different content length appears on the storage system.

Setting up the keystore

The keystore service should be set up to store the secrets (in the example for the CE repository):

 

CE.keystoreservice.type = pkcs12 CE.keystoreservice.pkcs12.name = ce-ks.p12 CE.keystoreservice.pkcs12.path = C://tiacore//config//CE


The keystore can be created in different ways:

Related articles

Filter by label

There are no items with the selected labels at this time.