HN
Today

Has anybody seen my keys? A key-hierarchy strategy for rack-level security

Oxide presents a meticulous "Request for Discussion" detailing their rack-level security, centered on a robust key-hierarchy strategy using Shamir Secret Sharing. This deep technical dive explains how a "Trust Quorum" protects data at rest on U.2 drives through sophisticated key derivation, wrapping, and secure rotation mechanisms. It's a prime example of rigorous security engineering that delights Hacker News's audience with its practical, in-depth approach to critical infrastructure.

7
Score
0
Comments
#6
Highest Rank
6h
on Front Page
First Seen
Sep 7, 5:00 AM
Last Seen
Sep 7, 10:00 AM
Rank Over Time
1268181419

The Lowdown

This Request for Discussion (RFD) from Oxide outlines their comprehensive strategy for achieving rack-level security, specifically focusing on the management of cryptographic keys to protect data at rest within their hardware racks. The core of their approach is a sophisticated key-hierarchy built upon Shamir Secret Sharing, designed to secure various types of sensitive data stored on U.2 devices and internal systems. The document addresses critical questions regarding data protection, key lifecycles, spatial locality, and the mechanisms for key derivation and wrapping, all while ensuring robust resilience against potential compromises.

  • Trust Quorum & Rack Secret: The system employs a "Trust Quorum" using Shamir Secret Sharing, where a shared rack-level secret is split into N shares distributed among bootstrap agents. Reconstructing the secret requires K shares, making it infeasible for an attacker to recover data by stealing fewer than K sleds or drives.
  • Data Protection Scope: The rack secret is the root of the key hierarchy, protecting control plane data, metrics, Crucible extents and encryption keys, user authentication tokens, and internal service certificates, all primarily residing on U.2 devices.
  • Key Derivation vs. Wrapping: The strategy carefully balances key derivation (regenerating keys on demand) and key wrapping (encrypting keys with another key). Derivation avoids storing keys on disk but ties downstream keys to parent key changes, while wrapping allows parent key rotation without re-encrypting large datasets.
  • Individual U.2 Drive Keys: To limit the blast radius of a key compromise, each U.2 drive uses a unique ZFS encryption key, derived from the rack secret and contextualized by the drive's serial number.
  • Secure Rack Secret Rotation: A complex, multi-epoch process is detailed for rotating the rack secret during reconfigurations. This involves the dealer encrypting the old rack secret with a key derived from the new rack secret, ensuring that the old secret can only be decrypted and used for key updates once the new configuration is committed. This prevents adversaries from using a compromised old secret on newly configured systems.
  • Key Derivation Functions: HKDF with sha3-256 is used for key derivation, and chacha20poly1305 and AES-GCM-256 are employed for encryption, ensuring 256-bit key strength. info parameters bind derived keys to their specific context and purpose.

In essence, Oxide has engineered a highly secure and resilient key management system that adeptly handles the challenges of physical security, key rotation, and distributed system reconfiguration to safeguard sensitive data within its rack infrastructure.