Hardware Security Modules with KeyControl Vault

A hardware security module (HSM) is a physical device that stores, protects, and manages cryptographic material. An HSM is often used to do cryptographic processing as well, including the generation of secure cryptographic keys. It is used in a client-server environment, which means that the server and the client each need to be prepared in advance. One of the advantage of an HSM is that it protects and stores cryptographic keys such as the Admin key or Key Encryption Keys (KEK) you have created for you KMIP or BYOK tenants.

When an HSM is used with BYOK, keys are never stored as plaintext. In-memory keys are also encrypted (wrapped), except for software-protected keys in Azure. When a software-protected key has to be uploaded to Azure, KeyControl Vault unwraps it before upload. For other keys, including hardware-protected keys on Azure, when KeyControl Vault has to upload them to the cloud, it encrypts (wraps) them in the HSM using the master key and the cloud provider's wrapping key before uploading the wrapped keys to the cloud.

KeyControl Vault supports the following HSMs: 

  • nShield HSM
  • nShield as a Service (nSaaS)

  • Luna HSM
  • Luna Cloud HSM

Requirements and Recommendations for nShield HSM Servers

The nShield HSM client version 13.3.2 is included in KeyControl Vault. Only nShield HSMs compatible with the 13.3.2 client are supported. You can also use either the on-premise nShield HSM or nShield as a Service (nSaaS).

The following details apply where nShield HSMs are configured in a FIPS 140-2 Level 3 compliant Security World environment:

Security World Files—For each nShield HSM, the following files must be present and up to date in KeyControl Vault. These files are supplied in the world.zip file uploaded when configuring the HSM:

  • world

  • A module_<ESN> file for each module that KeyControl uses

  • A cards_<IDENT> file for each card set that is to be used

  • A card_<IDENT>_<NUMBER> file for each card in each card set that is to be used to provide FIPS authorization

These files are not updated automatically. You must ensure that they are synchronized whenever the Security World is updated on the module. For more information, see ‘Creating a Security World’ in your HSM User Guide. The updated files should be in included in a world.zip archive and updated using the 'Upload Security World' action on the nShield HSM Server Settings page.

Important: The Security World must be created with nShield client software version 12.50 or later, without using the compatibility pack that allows creation of the previous Security World version.

Smart cards—When using an nShield HSM with a FIPS 140-2 Level 3 Security World, a FIPS authorization token is required to authorize most operations, including the creation of keys. This is provided by an ACS or OCS card must be loaded in the HSM or presented using a remote admin client. Cards are usually configured when setting up an HSM, so Entrust recommends leaving one of the configured OCS cards in the HSM slot to satisfy this requirement.

Smart card serial numbers—nShield HSMs include a security feature that checks the serial numbers of the cards as well as checking they are part of an OCS for this HSM. This allows the admin to disable a card that is mislaid for example. In KeyControl, you can specify whether all cards are accepted, no cards are accepted, or cards in a specific list are accepted. Card serial numbers are 16 decimal digits and, if you enable the option, KeyControl checks that the card in use matches one of the serial numbers listed.

For additional details, see your nShield documentation https://nshielddocs.entrust.com or the nShield support site https://nshieldsupport.entrust.com.

Requirements and Recommendations for Luna HSM Servers

You can configure the nodes in your KeyControl Vault cluster to either connect to the HSM using one certificate that they all share or with individual certificates for each node. The KeyControl Vault nodes can also be connected to multiple HSM servers that have been configured as an HA Group to allow for High Availability. For more information, see Configuring KeyControl Vault as a Luna HSM Client with a Single Cluster Certificate and Configuring KeyControl Vault as a Luna HSM Client with Individual Node Certificates.

Note: If you have a Luna HSM server with the ipcheck feature enabled, you must use unique node certificates.

  • The Luna client version 10.5.1 is included in KeyControl Vault. Luna client 10.5.1 is compatible with HSMs running Luna 6.2.1 or higher.
  • Bandwidth recommendation:

    • Minimum: 10 Mbps half duplex
    • Recommended: 100 Mbps full duplex
  • Latency recommendation:

    • Maximum: 500 ms
    • Recommended: 0.5 ms
  • TCP port 1792 is required to establish a trusted connection between KeyControl Vault and Luna. The other ports used are:

    • TCP port 22 for SSH (Secure Shell).
    • TCP port 1503 for Remote PED. This is the only configurable port.
    • UDP port 514 for the Syslog service.
    • UDP port 123 for NTP service.
    • UDP ports 161/162 for SNMP service.

For additional details, see your Luna HSM documentation.