Hardware Security Module (2024)

A Hardware Security Module (HSM) is a physical device that provides more secure management of sensitive data, such as keys, inside CipherTrust Manager.

CipherTrust Manager internally uses a chain of key encryption keys (KEKs) to securely store and protect sensitive data such as user keys. When an HSM is used, the CipherTrust Manager generates and uses a set of keys on the HSM partition that protect the KEKs chain and become the root of trust. If multiple CipherTrust Manager instances are configured to use the same HSM partition they end up using shared 'root of trust' keys.

After setting up an HSM to allow CipherTrust Manager to connect as a client, you can configure an HSM as the root-of-trust using the CipherTrust Manager GUI. This can also be done using the API or the CLI toolkit ksctl, as shown below. It is assumed that you have added a CipherTrust Manager user and URL to the ksctl configuration file.

You must set up the HSM to allow CipherTrust Manager to connect as a client, including creating necessary passwords, certificates, and string values. For more detailed information on creating these HSM objects, refer to HSM product documentation.

Note

Using the cloud-init method to set up a root-of-trust is not recommended because it exposes sensitive information, such as the partition password, that can be viewed by anyone with access to the associated cloud console.

Note

HSM setup might fail if time of the system is out of sync. It is recommended to set up time sync using NTP before continuing.

With the CipherTrust Manager API or CLI toolkit ksctl, it is possible to:

  • Setup HSMs

  • Get and List detailed information on existing HSMs

  • Add HSMs

  • Delete HSMs

Refer to the CipherTrust Manager API and CLI online documentation for more information.

Supported HSMs

The CipherTrust Manager supports the following HSMs:

  • SafeNet Luna Network HSM (version 5, 6 and 7)

    Note

    CipherTrust Manager has been tested with the Luna Network HSM firmware versions 7.0.3 and 7.3.3. These firmware versions are validated with Federal Information Processing Standard (FIPS) level 140-2.

  • Luna T-Series Network HSM

  • SafeNet Luna PCIe HSM

  • AWS CloudHSM (Cavium)

  • Azure Dedicated HSM with a Virtual CipherTrust Manager which is also hosted on Microsoft Azure. This setup requires a specific deployment architecture.

Change to Thales Data Protection on Demand Luna Cloud HSM Service Support

On December 31st, 2021, Data Protection on Demand (DPoD) Luna Cloud HSM service mandated JWT-based authentication for all new client connections and discontinued legacy authentication using the CVAppSpecificData value. Because of this, CipherTrust Manager 2.0 and NextGen KeySecure are no longer compatible with Luna Cloud HSM.

You cannot create a new root of trust configuration for Luna Cloud HSM on CipherTrust Manager 2.0. If you wish to configure Luna Cloud HSM as root of trust, you must first upgrade the CipherTrust Manager software.

If you have an existing root of trust configuration for Luna Cloud HSM, do the following to ensure JWT-based authentication:

  1. Backup the CipherTrust Manager data.

  2. Upgrade the CipherTrust Manager software.

  3. Download a new Luna Cloud HSM client bundle from DPoD portal.

  4. Delete the HSM configuration.

  5. Configure a new root-of-trust using the new Luna Cloud HSM client bundle. Consult the CipherTrust Manager documentation version associated with the new software version, for example, the Hardware Security Module page for CipherTrust Manager 2.1.

  6. Restore the system backup.

Hybrid HSM

Since release 1.3.0, any CipherTrust Manager can be clustered with another CipherTrust Manager, regardless of the HSM partition it is using, or even if it is not using an HSM partition at all. This is different from prior releases that required all CipherTrust Manager's in a cluster to be connected to the same HSM partition. When cluster nodes have different HSMs, it is called a "Hybrid HSM" configuration. When cluster nodes share the same HSM partition, it is called a "Shared HSM" configuration. There are several implications to a "Hybrid HSM" configuration that should be taken into consideration when deploying a cluster.

  1. System Security: A system is only as secure as its weakest link. In a Hybrid HSM configuration, a CipherTrust Manager instance that is rooted in an HSM can be clustered with an instance that is not - this reduces the overall security of the system. The most secure configuration is to have all CipherTrust Manager instances use an HSM.

  2. Cluster Join Security: When a system is joined to a cluster, it must receive certain keys that allow it to join the cluster. A shared HSM partition can protect these keys from ever being exposed. In this scenario, the join operation should use the ksctl utility's --shared-hsm-partition flag for the best security.

  3. Backup Security: When a backup is created, there is a ksctl option called --tied-to-hsm that can tie the backup to the HSM of the instance. This is the most secure backup, but also limits it to being restored on a system with access to that specific HSM partition. By default, a backup is not tied to a specific HSM partition and can be restored to any compatible CipherTrust Manager system.

Setting up an HSM

Creating the first HSM requires that you supply the hsm type and connection information (connInfo).

The general ksctl hsm setup command is:

$ ksctl hsm setup <hsm type> <config parameters>

The valid options for hsm type are:

  • "luna" for SafeNet Luna HSM,

  • "lunapci" for the embedded SafeNet Luna PCIe HSM in CipherTrust Manager k570 models,

  • "lunatct"for Luna T-Series Network HSM,

  • "aws" for AWS CloudHSM,

  • "dpod" for DPoD HSM on Demand Service

The configuration info (config parameter) depends on the hsm type and is described below. You must set up the HSM to allow CipherTrust Manager to connect as a client, including creating necessary passwords, certificates, and string values. For more detailed information on creating these HSM objects, refer to HSM product documentation.

Note

CipherTrust Manager is reset after adding the HSM, with a delay in seconds (default: 5) specified before the reset is performed.

Caution

Be aware that performing a reset is destructive; it deletes all data in the CipherTrust Manager and so must be used with great care. You must backup all information you wish to retain.

SafeNet Luna Network HSM and Luna T-Series HSM (hsm type: luna, lunatct)

Caution

At least one of the following TLS ciphers must be enabled on the Luna Network HSM to allow communication with CipherTrust Manager:
AES256-SHA
AES256-SHA256
AES256-GCM-SHA384
If you disable all of these TLS ciphers, CipherTrust Manager cannot add the Luna Network HSM as a root of trust, and receives a no shared ciphers error. By default, these TLS ciphers are enabled.

CipherTrust Manager has been tested with the Luna Network HSM firmware versions 7.0.3 and 7.3.3. These firmware versions are validated with Federal Information Processing Standard (FIPS) level 140-2.

For the SafeNet Luna Network HSM or Luna T-Series HSM, the required parameters for initial configuration are:

  • - hsm-host: IP or hostname of the HSM

  • - partition-name: The name of the HSM partition to use

  • - partition-password: The password of the initial partition to use. For Luna 7 and most Luna 6, this is the Crypto Officer role password or challenge secret. For Luna 5 and some Luna 6, this is the partition password or challenge secret. This password will also be used if more servers and high-availability (HA) mode is used, in which case all HSM must have the same password.

  • - serial: Serial number of the partition to use

  • - server-cert-file: File containing server certificate in PEM format

  • - client-cert-file: File containing client certificate in PEM format

  • - client-cert-key-file: File containing client private key in PEM format

  • - delay: Delay in seconds before reset, defaults to 5 seconds

  • - reset: Reset the CipherTrust Manager instance as part of operation

Note

The Luna Network HSM Documentation provides detailed information to configure values for hsm-host, partition-name, partition-password, serial, server-cert-file, client-cert-file, and client-cert-key-file.

Following is a full example for a SafeNet Luna Network HSM setup command:

$ ksctl hsm setup luna --reset --partition-name “partition name” --partition-password “sOmeP@ssword” --hsm-host https://192.168.0.1 --serial 1234 --server-cert-file server_cert.pem --client-cert-file client_cert.pem --client-cert-key-file client_cert_key.pem

Embedded SafeNet Luna PCIe HSM (hsm type: lunapci)

For the embedded Luna PCIe HSM in CipherTrust Manager k570 models, the required parameters for initial configuration are:

  • - partition-name: The name of the HSM partition to use

  • - partition-password: The password of the initial partition to use

  • - delay: Delay in seconds before reset, defaults to 5 seconds

  • - reset: Reset CipherTrust Manager instance as part of operation

The SafeNet Luna PCIe HSM does not require any extra configuration information.

Following is a full example for a Luna PCIe HSM setup command:

$ ksctl hsm setup lunapci --reset --partition-name “partition name” --partition-password “sOmeP@ssword”

AWS CloudHSM (Cavium) (hsm type: aws)

Prerequisite - Prepare an instance of CloudHSM in AWS:

  • Prior to configuring CipherTrust Manager instance to use AWS CloudHSM service, an instance of CloudHSM must be prepared in AWS. Refer to AWS CloudHSM documentation to create, initialize and activate a CloudHSM cluster. This step involves running a separate AWS client instance to connect and setup HSM users as well as sign the cluster CSR of your cloudhsm cluster instance. Upon completion of this step you will have a cloudhsm cluster in "Active" state. See: https://docs.aws.amazon.com/cloudhsm/latest/userguide/getting-started.html

  • Create a new cryptouser on your new cloudhsm instance. Similar to the cluster activation step when you reset the CO password, use the cloudhsm_mgmt_util utility on the AWS client instance to create a new user with cryptouser role (CU). CipherTrust Manager will communicate to the HSM instance on behalf of this CU user you setup.

For AWS CloudHSM (Cavium), the required parameters for initial configuration are:

  • - partition-name: (Optional) The name of the HSM partition to use for CloudHSM. Defaults to "cavium"

  • - cryptouser-password: Specify the credentials of a cryptouser in the form of "username:password"

  • - hsm-host: IP Address or host name of cloudhsm cluster

  • - server-cert-file: This is the CA public certificate that was used to sign the CloudHSM Cluster CSR during the cluster initialization. Restated, it is the certificate that signed the Cluster certificate. Referto: https://docs.aws.amazon.com/cloudhsm/latest/userguide/initialize-cluster.html

  • - delay: Delay in seconds before reset, defaults to 5 seconds

  • - reset: Reset CipherTrust Manager instance as part of operation

Following is a full example of an AWS CloudHSM setup command:

$ ksctl hsm setup aws-cloud-hsm --reset --cryptouser_password “sOmeP@ssword” --hsm-host https://192.168.0.1 --server-cert-file server_cert.pem

Getting and Listing HSMs

Get and List return detail information about the instance(s) added previously, Get returns a single instance and List returns an array of data.

Following is a full example of a HSM Servers List command:

$ ksctl hsm servers list{ "total": 2, "resources": [ { "id": "2f81163b-f53d-45c1-b151-9bc333ce3a04", "type": "luna", "config": { "host": "192.168.0.1", "serial": "1234", "server-cert": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----" } }, { "id": "be942b82-b00e-4f73-9081-28186e1580e6", "type": "luna", "config": { "host": "192.168.0.2", "serial": "4321", "server-cert": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----" } } ]}

Adding an HSM

Note

This operation is only supported by the SafeNet Luna Network HSM and Luna T-Series HSM.

Adding subsequent HSMs to a CipherTrust Manager inserts them into the HA group. The first hsm servers add command that you do automatically creates an HA group. Adding an HSM only requires that you supply the configuration information.

Note

To add extra AWS CloudHSM instances to the existing HSM cluster, no change is required on CipherTrust Manager; consult AWS CloudHSM documentation.

The configuration information (config) is a JSON blob; it has the following keys:

  • host

  • serial

  • server-cert

  • forceClear (optional)

    When set to "true", forcefully clears all existing data on the partition of the joining node before adding it to the HA group. Make sure the existing objects are not used elsewhere. They cannot be recovered after the deletion. Use with caution.

  • forceCopy (optional)

    When set to "true", all existing objects on the joining partition are retained and propagated within the HA group. This option can be useful if the joining partition is shared among CipherTrust Manager instances that use the partition only as a member of a current HA group. This option can also be useful if the joining partition is shared among different applications other than CipherTrust Manager, and the goal is to retain the existing security objects.

    Do not use the forceCopy option if the joining partition was previously used as root of trust for other CipherTrust Manager instance(s) and that it was not part of the current HSM HA group. Using this option in such cases can break the existing CipherTrust Managers that use the HA group servers. Use with caution.

Following is a full command example for adding a SafeNet Luna Network HSM:

$ ksctl hsm servers add --config '{ "host": "192.168.0.2", "serial": "4321", "server-cert": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----" }'

If the joining HSM partition contains data, the operation will fail unless forceClear or forceCopy flags are specified. The following example command shows how to forcefully add a partition by first wiping all its data:

$ ksctl hsm servers add --config '{ "host": "192.168.0.2", "serial": "4321", "forceClear": "true", "server-cert": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----" }'

Warning

DO NOT use forceClear and forceCopy flags by default when adding a new HSM server. If the command fails indicating the joining node contains objects:
1. Manually log on to the partition.
2. Carefully investigate the use of existing objects.
3. Repeat the command with forceClear or forceCopy flag.

Deleting an HSM

Delete will remove the record for the "--id" provided, with optional parameters for reset and delay. Just as in the Setup function, deleting the last HSM requires a reset of the CipherTrust Manager. After the reset operation, newly encrypted data is longer rooted to an HSM.

Note

Just as in the Setup function (see Setting up an HSM after deleting the last HSM, a reset of the CipherTrust Manager must be performed before the HSM is reused.

Warning

Performing a CipherTrust Manager reset is destructive; it deletes all information in the system and so must be used with great care. You must backup all information you wish to retain.

Following is a full example for the delete command:

$ ksctl hsm servers delete --id ce6da730-c266-44f8-a0f6-97e49c7596eb --reset
Hardware Security Module (2024)
Top Articles
5 Tips From The Automatic Millionaire
Ultra Price (UOS), Market Cap, Price Today & Chart History - Blockworks
Katie Pavlich Bikini Photos
Gamevault Agent
Hocus Pocus Showtimes Near Harkins Theatres Yuma Palms 14
Free Atm For Emerald Card Near Me
Craigslist Mexico Cancun
Hendersonville (Tennessee) – Travel guide at Wikivoyage
Doby's Funeral Home Obituaries
Vardis Olive Garden (Georgioupolis, Kreta) ✈️ inkl. Flug buchen
Select Truck Greensboro
Things To Do In Atlanta Tomorrow Night
Non Sequitur
How To Cut Eelgrass Grounded
Pac Man Deviantart
Alexander Funeral Home Gallatin Obituaries
Craigslist In Flagstaff
Shasta County Most Wanted 2022
Energy Healing Conference Utah
Testberichte zu E-Bikes & Fahrrädern von PROPHETE.
Aaa Saugus Ma Appointment
Geometry Review Quiz 5 Answer Key
Walgreens Alma School And Dynamite
Bible Gateway passage: Revelation 3 - New Living Translation
Yisd Home Access Center
Home
Shadbase Get Out Of Jail
Gina Wilson Angle Addition Postulate
Celina Powell Lil Meech Video: A Controversial Encounter Shakes Social Media - Video Reddit Trend
Walmart Pharmacy Near Me Open
A Christmas Horse - Alison Senxation
Ou Football Brainiacs
Access a Shared Resource | Computing for Arts + Sciences
Pixel Combat Unblocked
Cvs Sport Physicals
Mercedes W204 Belt Diagram
Rogold Extension
'Conan Exiles' 3.0 Guide: How To Unlock Spells And Sorcery
Teenbeautyfitness
Where Can I Cash A Huntington National Bank Check
Facebook Marketplace Marrero La
Nobodyhome.tv Reddit
Topos De Bolos Engraçados
Gregory (Five Nights at Freddy's)
Grand Valley State University Library Hours
Holzer Athena Portal
Hampton In And Suites Near Me
Stoughton Commuter Rail Schedule
Bedbathandbeyond Flemington Nj
Free Carnival-themed Google Slides & PowerPoint templates
Otter Bustr
Selly Medaline
Latest Posts
Article information

Author: Jerrold Considine

Last Updated:

Views: 6152

Rating: 4.8 / 5 (78 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Jerrold Considine

Birthday: 1993-11-03

Address: Suite 447 3463 Marybelle Circles, New Marlin, AL 20765

Phone: +5816749283868

Job: Sales Executive

Hobby: Air sports, Sand art, Electronics, LARPing, Baseball, Book restoration, Puzzles

Introduction: My name is Jerrold Considine, I am a combative, cheerful, encouraging, happy, enthusiastic, funny, kind person who loves writing and wants to share my knowledge and understanding with you.