Skip to content

Spec gap: key bootstrap mechanism for air-gapped environments #3

@asiridalugoda

Description

@asiridalugoda

Summary

HDP verification is fully offline — verifyToken() makes zero network calls. However, the specification does not define how implementations should obtain the issuer's public key in environments where /.well-known/hdp-keys.json is also unreachable (air-gapped industrial, classified, or edge deployments).

The gap

The only specified key distribution mechanism is the well-known endpoint format (KeyRegistry.exportWellKnown() / registry.loadWellKnown()). This requires HTTP access. In truly air-gapped environments, there is no specified fallback.

Proposed resolution (targeting §-01 of the IETF draft)

Define a Key Bundle format — a signed JSON object for out-of-band distribution:

{
  "version": "1",
  "issued_at": "<ISO 8601>",
  "keys": [{ "kid": "...", "alg": "Ed25519", "pub": "<base64url>" }],
  "bundle_signature": "<Ed25519 sig over canonical bundle body>"
}
  • The bundle is signed by an offline root key whose fingerprint is embedded in the verifying system at manufacture or deployment time
  • Distribution channels (USB, QR, secure file transfer) are explicitly out of scope for the spec
  • KeyRegistry would gain a loadBundle() method alongside loadWellKnown()

Target

  • IETF draft §-01 (new §4.4)
  • v0.2 of @helixar_ai/hdp (KeyRegistry.loadBundle())

Related

  • README: "HDP verification requires zero network calls" — this is true for verification; key bootstrap is the unspecified part
  • See also: #[agent-anonymity issue]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions