Configure a transaction processing connection and create an application partition
For this step, you need to log in with an identity that has a role with the following permissions: Role:Add, Role:Assign All Permissions, Role:Modify, Keys:All Slots, and Command Settings:Excrypt. You can use the default Administrator role and Admin identities.
This integration guide treats the terms Application Partition and Role as synonymous.
Before logging in to the HSM with an authenticated user, an application first connects through a Transaction Processing connection to the Transaction Processing application partition. So, you must take steps to harden this application partition by configuring the following items for the Transaction Processing partition:
- It should not have access to the All Slots permissions.
- It should not have access to any key slots.
- Enable only the PKCS #11 communication commands.
Choose one of the following methods to configure the Transaction Processing connection:
Go to the Application Partitions menu, select the Transaction Processing application partition, and select [ Modify ].
In the Permissions tab, leave the top-level Keys permission checked and uncheck the All Slots sub permission.
In the Key Slots tab, ensure that the settings do not specify key ranges. By default, the Transaction Processing application partition can access the entire range of key slots on the HSM.
In the Commands tab, make sure to enable only the following PKCS #11 Communication commands:
Command
Description
ECHO
Communication Test/Retrieve Version
PRMD
Retrieve HSM restrictions
RAND
Generate random data
HASH
Retrieve device serial
GPKM
Retrieve key table information
GPKS
General purpose key settings get/change
GPKR
General purpose key settings get (read-only)
To segregate applications on the HSM, you must create an application partition specifically for your use case. Application partitions segment the permissions and keys between applications on an HSM.
Choose one of the following methods to create an application partition:
Go to the Application Partitions menu and select [ Add ].
In the Basic Information tab, configure all of the fields as follows:
Option
Required configuration
Role Name
Specify any name that you would like for this new application partition.
Logins Required
Set to 1
If the HSM is in FIPS mode, you must set Logins Required to 2.
Ports
Set to Prod.
Connection Sources
Set to Ethernet.
Managed Roles
Leave blank because you specify the exact Permissions, Key Slots, and Commands for this application partition or role to have access to.
Use Dual Factor
Set to Never.
Upgrade Permissions
Leave unchecked.
In the Permissions tab, select the following key permissions:
Permission
Description
Keys
Top-level permission
Authorized
Allows for keys that require login
Import PKI
Allows trusting an external PKI. Generally not recommended, but some applications use this option for PKI symmetric key wrapping.
No Usage Wrap
Enables interoperable key wrapping without defining key usage as part of the wrapped key. Use this only if you want to exchange keys with external entities or use the HSM to wrap externally used keys.
In the Key Slots tab, we recommend you create a range of 1000 total keys that do not overlap with another application partition. Within the specified range, you should have ranges for both symmetric and asymmetric keys. If the application requires more keys, configure it accordingly.
To use the HSM functionality, you must enable particular functions on the application partition based on application requirements. Enable the following commands under Commands:
PKCS #11 communication commands:
Command
Description
ECHO
Communication Test/Retrieve Version
HASH
Retrieve device serial
GPKM
Retrieve key table information
GPKS
General-purpose key settings get/change
Key operations commands:
Command
Description
LRSA
Load key into RSA Key Table
GRSA
Generate RSA Private and Public Key
GPKD
General purpose key slot delete/clear
GPCA
General purpose add certificate to key table
Signing commands:
Command
Description
GPSV
General purpose data sign and verify
Miscellaneous Commands:
Command
Description
TIME
Set the HSM internal clock