Skip to content

Platform KMS (WIP)#910

Open
maraino wants to merge 15 commits intomasterfrom
mariano/new-platform-kms
Open

Platform KMS (WIP)#910
maraino wants to merge 15 commits intomasterfrom
mariano/new-platform-kms

Conversation

@maraino
Copy link
Contributor

@maraino maraino commented Dec 13, 2025

This is a first attempt to create a platform KMS. This KMS is supports mackms, tpmkms, softkms, and capikms.

There's a couple of things that I'll like to consider:

  1. Is hw the right argument, or should we use ak?
  2. Should we fail if hw (or ak) is set for softkms and capikms?

@maraino maraino force-pushed the mariano/new-platform-kms branch 2 times, most recently from 5e32cfd to 28c3d96 Compare December 19, 2025 02:51
@maraino maraino force-pushed the mariano/new-platform-kms branch from ccdf027 to 6d85f02 Compare February 19, 2026 20:18
@maraino maraino marked this pull request as ready for review February 26, 2026 05:06
@hslatman
Copy link
Member

  • Is hw the right argument, or should we use ak?

hw and ak must not be considered to mean the same thing. All AKs are hardware-bound (currently, at least; especially in the context of TPMs); not all hardware-bound keys are AKs. Using those interchangeably will cause confusion. In general I would say hw is thus the right term to use. Only use ak when it's specifically about an attestation key. At the moment, using ak=true implies hw=true, but not vice versa.

  • Should we fail if hw (or ak) is set for softkms and capikms?

I think that's OK. In general, when a specific backing KMS doesn't support a certain functionality, and still instructed to do so, it should fail. Technically, the capikms with Microsoft Platform Crypto Provider set as the provider, will have its keys backed by the TPM, so we could take that into account when hw=true is provided to capikms with the provider set. It might also be possible to manage AKs through capikms, but I don't recall having seen functionality related to that before.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants