-
Notifications
You must be signed in to change notification settings - Fork 50
Description
Harbor Satellite operates on edge devices that are often physically accessible and deployed in untrusted environments. Currently, device identity and config encryption rely entirely on software-based mechanisms — credentials stored in config files, software-derived device fingerprints, and in-memory or disk-based key storage (see #254, #288).
This is insufficient for zero-trust edge deployments because:
- Software keys can be extracted. An attacker with physical access to an edge device can read credentials from disk or memory.
- Device identity is not hardware-attested. There is no cryptographic proof that a satellite is running on a specific, authorized device. Software-based fingerprints can be spoofed.
- Config encryption has no hardware binding. Encrypted configs can be copied to a different device and decrypted, since the encryption keys are not sealed to specific hardware.
- Ground Control cannot verify device authenticity. Without hardware attestation, Ground Control must trust software-reported identity, which is vulnerable to impersonation.
This is different from Cloud HSM (#254), which targets cloud-hosted key storage. Edge devices need on-device hardware security via TPMs, secure enclaves, or similar — abstracted through a platform-agnostic API.
Proposed Solution
Integrate CNCF PARSEC (Platform AbstRaction for SECurity) to provide hardware-backed device identity. PARSEC offers a uniform API across different hardware security backends (TPM 2.0, ARM TrustZone/CryptoCell, Intel SGX, PKCS#11 HSMs) without coupling Satellite to any specific platform.
Scope
-
Hardware-backed device attestation — Use PARSEC to generate and store device identity keys in hardware. The private key never leaves the secure element.
-
Hardware-sealed config encryption — Bind config encryption to the hardware identity so configs are only decryptable on the authorized device. Graceful fallback to software-based encryption when hardware is unavailable (VMs, dev environments).
-
X.509 device certificates — Issue device certificates backed by hardware-stored keys. Ground Control can cryptographically verify that a satellite's certificate is bound to a specific physical device.
-
SPIFFE/SPIRE integration — Extend the existing SPIFFE/SPIRE authentication (Embedded SPIRE: Use Persistent KeyManager Instead of In-Memory #288, Short-lived Satellite Credentials With Heartbeat-based Refresh #285) so that SVIDs can be backed by hardware key storage via PARSEC, adding hardware root-of-trust to the existing workload identity model.
-
Zero-touch provisioning (ZTP) — Enable new satellites to securely self-register using hardware attestation, without requiring manual credential distribution.
Design Constraints
- Must work alongside existing software-only mode (not all deployments have hardware security)
- PARSEC backend selection should be configurable (TPM, PKCS#11, etc.)
- Should not require changes to the OCI artifact sync protocol
- Must support air-gapped enrollment scenarios
Related Issues
- Cloud HSM Integration for Key Storage #254 — Cloud HSM Integration for Key Storage (cloud-side, complementary)
- Embedded SPIRE: Use Persistent KeyManager Instead of In-Memory #288 — Embedded SPIRE: Use Persistent KeyManager Instead of In-Memory
- Short-lived Satellite Credentials With Heartbeat-based Refresh #285 — Short-lived Satellite Credentials With Heartbeat-based Refresh
- mTLS Between Satellite and Ground Control #251 — mTLS Between Satellite and Ground Control
- FIPS/GDPR Compliance Audit and Hardening #253 — FIPS/GDPR Compliance Audit and Hardening