Page cover

Public Keys & Key IDs

Production signing keys embedded in the NØNOS bootloader.


Embedded Production Keys

The bootloader contains these trusted Ed25519 public keys:

Key 0: Primary Development Key

Algorithm:  Ed25519
Purpose:    Primary kernel signing
Public Key: 579adcf9f563fdaa6824b4f01d65ccb6fa1ef13fd99489a88848e641749b7ffb

Key 1: Secondary Development Key

Algorithm:  Ed25519
Purpose:    Secondary/backup signing
Public Key: 3d4017c3e8438935a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660

Key 2: Recovery Key

Algorithm:  Ed25519
Purpose:    Emergency recovery
Public Key: fc51cd8e6218a1a38da47ed00230f0580816868d13ba3303ac5deb911548908025

Key Metadata

The signing key includes metadata for audit:


Key ID Derivation

Key IDs are derived using BLAKE3:

Key Fingerprints

Key
Fingerprint (BLAKE2b)

Primary (v1)

7931e665aa013b8cfbe0eb16fed5b132b129fe3814658b96ea047684c4f7e8e8


Key Storage

Development Key

Production Keys

Production keys are stored in:

  • Hardware Security Module (HSM)

  • Air-gapped secure storage

  • Multiple geographic locations

Public keys only are embedded in bootloader binary.


Signature Format


Verification Process


Key Rotation

To rotate production keys:

  1. Generate new Ed25519 keypair (air-gapped)

  2. Add new public key to bootloader source

  3. Build and sign new bootloader with OLD key

  4. Deploy bootloader update

  5. Sign future kernels with NEW key

  6. After transition period, remove old key


Multi-Signature Support

NØNOS supports N-of-M multisig for critical operations:

Operation
Threshold

Kernel signing

1-of-3 (any key)

Community circuits

N-of-M configurable

Key rotation

2-of-3


Domain Separators

Domain
Purpose

NONOS:KEYID:ED25519:v1

Key ID derivation

NONOS:CAPSULE:COMMITMENT:v1

Capsule commitment

NONOS:ZK:PROGRAM:v1

ZK program hash

NONOS:CIRCUIT_KEY:v1

Circuit key derivation

Verifying Key Authenticity

To verify you have authentic NØNOS keys:


Security Considerations

Key Compromise

If a key is compromised:

  1. Remove compromised key from bootloader

  2. Build new bootloader signed with uncompromised key

  3. Deploy emergency update

  4. Revoke old key in all documentation

Key Generation

Production keys are generated:

  • On air-gapped hardware

  • Using hardware RNG (RDRAND + external entropy)

  • With multiple witnesses

  • With ceremony documentation


Last updated

Was this helpful?