Files
NLnetLabs-krill/doc/development/hsm/overview.md
T
Ximon EighteenandGitHub faf6bd2549 HSM: Support multiple signers (#539) (#674)
Support multiple signers of different types behind a HSM feature flag, and support in principle selecting which signer to use for which purpose. (#539)
2021-10-05 14:50:58 +02:00

1.9 KiB

HSM: Overview

New or changed functionality

The feature adds (or will add) the following to Krill:

  • Pluggable signers:

  • Key ownership tracking:

    • To sign with a key the request must be delegated to the correct signer.
    • Therefore we must keep track of which signer "owns" each key.
  • Random value generation fallback support:

    • Not all PKCS#11 or KMIP compatible devices support generating random values.
    • Fallback in such cases to the OpenSSL signer (or to a user specified signer?)
  • The concept of signing with specific signers for specific purposes:

    • Signer for one-time keys (avoid slow HSMs for keys that don't need the security guarantees an HSM provides)
    • Signer for new keys
    • Signer for existing keys (based on key tracking as mentioned above)
    • Signer for key rollover
    • Signer for fallback random value generation

The feature also adds two new Rust crates for KMIP support:

Impacted source components

The feature only lightly touches the core RPKI related code in Krill in order to dispatch signing related requests to the correct signer. The main source code components impacted by this feature are:

  • src/daemon/crypto/signing.rs