Files
NLnetLabs-krill/doc/development/hsm/overview.md
Ximon EighteenandGitHub b0be88bc10 HSM support for keys (#21) (#733)
Adds support for PKCS#11 v2.20 and/or KMIP 1.2 compatible HSMs.
Includes backward compatible extensions to the krill.conf syntax.
Includes HSM related developer docs.
Excludes HSM specific API (REST, krillc, Prometheus) or UI extensions.
2022-01-14 14:19:24 +01:00

1.8 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.
  • Signer tracking:

    • To delegate a request to the correct signer we must know which signer "instance" corresponds to which signer "configuration".
  • The concept of signing with specific signers for specific purposes:

    • Signer for one-off 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)

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/
  • src/daemon/config.rs