Set Up Data Encryption
The System enables you to set up data encryption on data drives that support The Computing Group (TCG) Opal Specification and store the encryption secrets in an external Key Management System (KMS) utilizing the Key Management Interoperability Protocol (KMIP). This series of workflows demonstrates generating and storing secrets using the CipherTrust Manager KMS.
A KMIP server, such as Thales CipherTrust Manager, must be available to store secrets.
- The Ocient node must be a registered client of the KMIP server.
- The client certificate and key file must be on the client, e.g., /var/opt/ocient/kmip/client.crt and /var/opt/ocient/kmip/client.key.
- The CA certificate must be present on the client, e.g., /var/opt/ocient/ca.pem.
- The client must be able to communicate with the KMIP server.
The SEDutil CLI utility must be installed to manage the SED configuration of the drive. The sedutil-cli command must be available on the system path variable PATH.
Ensure all NVMe drives intended for use with Ocient are:
- Bound to the kernel NVMe driver.
- Have no partition table.
- Be in the Opal factory state.
- Use --revertTPer or --revertNoErase SEDutil commands.
- Have rolehostd Opal locking disabled by either:
- Bootstrap of all nodes with useOpal: false present in the bootstrap.conf file.
- useOpal: false in the rolehostd.conf file with these configurations:
Foundation Nodes:
SQL Nodes:
Loader Nodes:
Use a configuration file and script to generate the secret or key.
Generate a configuration file with the path /var/opt/ocient/ockmip.conf. The configuration file uses the PyKMIP configuration file format such as this text.
Run this command.
The script performs these operations for each drive that is detected as unused by the OS (no partition table present or with an Ocient partition):
- Generate a password or key for locking the drive.
- Store the secret password or key on the KMIP server.
- Enable Opal locking on the drive and set the admin1 password to the generated secret.
- Set the SIDpassword to admin to enable reverting the drive to the factory state in case the admin1 password is lost.
To enable the script to run on start before the drives are bound to the uio or vfio driver by the system bind-uio-driver.service installed by the ocient package, run this command.
On reboot, the ockmip service unlocks the drives before they are bound to the uio or vfio driver and available for use by the rolehostd process.
The full setup sequence is as follows:
- Configure the ockmip.conf configuration file with all of the appropriate settings.
- Stop the rolehostd process if it is running.
- Unbind drives from the uio or vfio driver back to the NVMe driver.
If Ocient has already been bootstrapped on the node, use the import-drives command. Otherwise, use the init-drives command.
- Set the node role configuration to useOpal: false within the rolehostd.conf file.
- Back up any existing keys in /var/opt/ocient/localKeyStore in case you encounter any issues.
Install the systemd service to unlock drives on the reboot.
- Optionally, perform a power off and power on to ensure the installation was successful and that the ockmip.service successfully unlocks drives on boot.
Migration process output might be similar to this output.
After reboot, the ockmip service output might be similar to this output.
The rolehostd process should start up without the process managing encryption because the ockmip service handles it.
For more details on the possible commands, see the help using this command.
To diagnose issues, examine the log located at /var/opt/ocient/log/ockmip.log
To perform actions on a particular drive or set of drives, you can manually specify with the --drives parameter.
When attempting to register the drives, you see this error.
To fix this, regenerate the certificate on the endpoint of the Thales device (as the root CA has no trust) in the Thales Administrator.
After you swap a disk, initialize it using the ockmip utility to add the encryption secret to Thales.
Check the status after the boot of the system to ensure that all drives have been correctly unlocked.
If there is a network outage, or Thales maintenance happens, you might see this output when you attempt to unlock the drives.