Skip to content

Trust model ​

This page explains whom a customer has to trust when using OpenKCM: who holds which keys, who decides about their use, how access to the platform is checked, and what happens when a customer withdraws a key.

Principles ​

  1. The customer controls the key. Every tenant key is managed through CMK under the tenant's own roles; HYOK keys stay in the customer's own keystore.
  2. Governance is separated from key material. CMK decides and records; the keystore holds the key material and performs key operations.
  3. Tenants are isolated. Each tenant has its own keys, identity provider, roles and data.
  4. Least privilege and separation of duties. Administration, key management and auditing are separate roles; sensitive changes can require approval.
  5. Everything is traceable. Key changes, system changes, logins and rejected requests are recorded as audit events.

Who holds what ​

PartyHoldsCan
CustomerHYOK keys in their own keystore; their identity provider and directoryDisable or delete HYOK keys in their keystore; decide who belongs to which group
Tenant users in CMKTheir role in the tenantCreate, import, link, enable, disable and delete keys; link systems; approve changes
CMKKey references, metadata, policies, roles, workflow stateInstruct keystores through plugins; inform systems of changes. Never holds key material
KeystoreKey materialPerform key operations
CMK-2-Krypton BridgeThe mapping of CMK's keys to Krypton keysCreate and update keys in Krypton on behalf of CMK
Krypton (pre-production)Sealed key material of key hierarchiesGenerate keys and deliver them to authorized workloads
Systems of the cloud serviceThe keys they are allowed to useEncrypt and decrypt the tenant's data

Key ownership and revocation ​

Key typeKey materialHow the customer withdraws access
BYOKProvided by the customer, imported into the keystore provided for the tenantA key administrator disables or deletes the key in CMK. The customer keeps their own copy of the material
HYOKGenerated and kept in the customer's own keystoreThe customer disables the key in their own keystore. CMK notices it at its next check

When a key is disabled:

  1. CMK registers the change. For a HYOK key disabled in the customer's keystore, CMK notices it at its next check, every five minutes by default.
  2. CMK sends the change to every system linked to the key, in every region.
  3. Each system stops using the key. How quickly that takes effect depends on the system and how it caches keys.

For HYOK keys, the keystore itself refuses further operations as soon as the customer disables the key, independent of OpenKCM.

Key hierarchy ​

In the target architecture, the customer key is the root of trust of a key hierarchy. Each key protects the keys below it, so withdrawing the customer key makes every key below it unusable:

PartStatus
L1 customer keys managed through CMK, with propagation to systemsAvailable
Key hierarchies with sealing in KryptonPre-production
CMK creating the L2 to L4 keys in Krypton through the CMK-2-Krypton BridgeEarly stage
L1 protecting the Krypton hierarchyNot yet available
Key delivery to workloads over KMIPPre-production

Access to the platform ​

Every request to CMK passes several independent checks:

  1. Sign-in. Users sign in with their tenant's identity provider through Session Manager. Technical clients use tokens or client certificates.
  2. Gateway check. ExtAuthZ checks the session, token or certificate and the access policies, and signs a short-lived statement about the caller.
  3. Authorization. CMK verifies that statement, maps the caller's groups to a role, and checks that the role may perform the operation in that tenant.

The request walkthrough shows these steps in detail.

Target architecture ​

The diagram shows the target architecture of OpenKCM: CMK as the governance control plane, Krypton as the execution plane, and gateways close to the workloads. Parts of it are not implemented yet; the status tables above and the component documentation describe what is available today.

Target architecture of OpenKCM

See also ​

EU and German government funding logos

Funded by the European Union – NextGenerationEU.

The views and opinions expressed are solely those of the author(s) and do not necessarily reflect the views of the European Union or the European Commission. Neither the European Union nor the European Commission can be held responsible for them.