Partitions
Partitions are the storage areas for HSM users' keys and objects. Each user has an associated partition that is for their exclusive use and access.
In addition to permissions over their own partition, a user can be granted permission to operate on other users' partitions. These are referred to as partition permissions and have the following properties:
- Non-transitive. If user A grants permission on their partition to user B, and user B grants permission to user C, it does not imply that C has permission over A's partition;
- Reflexive. The user will always have all permissions over their own partition. These permissions cannot be revoked;
- Non-symmetric. If user A grants permission to user B, it does not imply that B grants permission to A.
The partition permissions a user can grant to another user are:
- Create objects;
- Remove objects;
- Access to object content;
- Update object attributes log
Assigned permissions apply to all objects within the partition; there is no object-specific discretion.
The partition can optionally be configured when it is created to require authorization for the use of the keys, in which case the authorization is done locally in the HSM via a set of cards in an M of N scheme. With this configuration activated, the partition has three possible states:
- initial;
- associated;
- authorized.
As soon as the partition is created, it will be in the initial state, which means that it has not yet been linked to a set of cards in an M of N scheme. Once the partition has been linked to a set of cards and is in the associated state, it can be authorized for encryption operations with the keys in the partition, leaving it in the authorized state. Keys can be generated in the partition in the initial and associated states, but they can only be used for encryption effectively when the partition is in the authorized state, and as long as it remains in this state, new keys cannot be created and existing keys cannot be removed.
In addition to the states, there is an ACL (Access Control List), which defines the permitted actions with the keys: creation, reading (for use in cryptographic operations), destruction, blocking, and the destruction of the partition itself (along with all keys it contains).
The effective use of keys then becomes a function of the partition's state and the ACL configuration, allowing the administrator more precise and granular control over cryptographic keys.
All actions involving the keys, state and ACL changes are recorded in the HSM event log, including identifying the smart cards in the set used in the operation, when the label is available on the smart card.