Skip to content

Add supports for generating identity signing key (IDK_S)#828

Open
sangho2 wants to merge 2 commits intomainfrom
sanghle/lvbs/idk
Open

Add supports for generating identity signing key (IDK_S)#828
sangho2 wants to merge 2 commits intomainfrom
sanghle/lvbs/idk

Conversation

@sangho2
Copy link
Copy Markdown
Contributor

@sangho2 sangho2 commented May 4, 2026

This PR adds supports for generating identity signing key (IDK_S) to the LVBS platform. A new function, mshv_vsm_gen_identity_signing_key generates an IDK_S key pair based on the platform root key and write the public portion of it to the VTL0-side buffer. Currently, it returns an uncompressed SEC1 P-384 public key (97 bytes).

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new LVBS VSM call for deriving an identity signing key pair (IDK_S) from the platform root key and returning the public key to VTL0. It extends the LVBS VSM surface, adds supporting error/host plumbing, and brings in the crypto dependencies needed for P-384 key derivation.

Changes:

  • Add GenerateIdentitySigningKey VSM function ID and dispatcher support.
  • Implement IDK_S derivation/export logic in mshv::vsm, plus a unit test for the derivation helper.
  • Expose PRK retrieval, add new VSM errors, and update dependency/ratchet metadata.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
litebox_platform_lvbs/src/mshv/vsm.rs Adds IDK_S derivation, public-key export, dispatcher wiring, and a unit test.
litebox_platform_lvbs/src/mshv/mod.rs Defines the new VSM function ID and enum entry.
litebox_platform_lvbs/src/mshv/error.rs Adds PRK/IDK_S error variants and errno mappings.
litebox_platform_lvbs/src/host/mod.rs Re-exports PRK getter for internal use.
litebox_platform_lvbs/src/host/lvbs_impl.rs Adds PRK getter implementation.
litebox_platform_lvbs/Cargo.toml Adds hkdf and p384 dependencies.
dev_tests/src/ratchet.rs Updates the static-count ratchet for LVBS.
Cargo.lock Locks the newly added crypto dependency graph.

Comment thread litebox_platform_lvbs/Cargo.toml
Comment thread litebox_platform_lvbs/src/mshv/vsm.rs
Comment thread litebox_platform_lvbs/src/mshv/vsm.rs
@sangho2 sangho2 force-pushed the sanghle/lvbs/idk branch from 3079fff to ab3058c Compare May 5, 2026 00:34
@sangho2 sangho2 force-pushed the sanghle/lvbs/idk branch from ab3058c to 7c4de61 Compare May 5, 2026 00:42
@sangho2 sangho2 marked this pull request as ready for review May 5, 2026 00:43
@sangho2 sangho2 force-pushed the sanghle/lvbs/idk branch from 7c4de61 to 47835ef Compare May 5, 2026 03:22
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure enum_variant_added: enum variant added on exhaustive enum ---

Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.47.0/src/lints/enum_variant_added.ron

Failed in:
  variant VsmFunction:GenerateIdentitySigningKey in /home/runner/work/litebox/litebox/litebox_platform_lvbs/src/mshv/mod.rs:160

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants