We are implementing safety-critical system, where the FIPS 140-2 compliant HSM (hardware security module) is required to generate and store key material, perform encryption/decryption and run custom code with the following requirements set for the custom module:
- Module is available over RPC
- Module has access to all HSM keys and services
- Module has in-memory and persistent storage (1+ MB both)
- Module memory is secured (FIPS 140-2 level 3+)
As for the HSM services itself, it is required to:
- Support AES, RSA and HMAC
- Has aliases for keys
- Generate new keys with alias over the PKCS11 interface
- Retrieve public key and certificate with alias over the PKCS11 interface
- Delete keys with alias over the PKCS11 interface
As there is very little information available about HSM products due the NDA, it is very hard to evaluate the requirements and options. Are these requirement met by any standards, or by vendor specific solutions, such as Utimaco?