HeadlinesBriefing favicon HeadlinesBriefing.com

Stratégie de hiérarchie des clés au niveau du rack Oxide

Hacker News •
×

Contexte et objectif : Il existe de nombreux types de secrets à l'intérieur d'un rack Oxide. Au niveau de base du système, nous avons les clés Device Id et Alias stockées sur le Ro T et utilisées pour l'identité de la plateforme et la signature d'attestation respectivement [RFD 36]. Ces clés, ainsi qu'un troisième paire de clés Ro T hébergée utilisée pour authentifier l'accord Diffie-Hellman éphémère, permettent aux sleds de former des sessions sprockets sécurisées pour les messages de la couche d'application [RFD 238].

Ces sessions sprockets offrent à chaque sled la capacité de partager des informations de manière point à point, où l'intégrité des messages est protégée, l'authenticité du point de terminaison est garantie et l'attestation de son logiciel en cours d'exécution est garantie. Afin de fournir des garanties de sécurité au niveau du rack de sorte qu'un attaquant ne puisse pas partir avec un sous-ensemble de sleds ou de lecteurs et récupérer des informations utiles, nous avons conçu un Trust Quorum [RFD 238]. Le mécanisme de protection principal derrière le trust quorum est le partage secret de Shamir.

Un secret au niveau du rack qui sert de source de dérivation de clés pour d'autres clés utilisées pour protéger le stockage au repos. Le secret au niveau du rack est divisé en N parts uniques par un processus de dealer et distribué sur des sessions sprockets à chaque agent de démarrage avec les identités de plateforme uniques des N membres du trust quorum. Ces identités de plateforme sont gravées dans les certificats de clé publique sur le Ro T pour permettre la vérification qu'une entité est bien ce qu'elle prétend être.

Après la distribution de ces informations, les agents de démarrage peuvent établir des connexions sprockets avec d'autres agents de démarrage, vérifier l'appartenance au groupe (via les certificats échangés), et récupérer K-1 parts d'autres agents de sorte qu'ils puissent reconstruire le secret au niveau du rack à partir de K parts. Important, sans obtenir K parts, aucune information sur le secret au niveau du rack ne peut être apprise. Comme décrit dans [RFD 238], les parts individuelles sont stockées non chiffrées sur les lecteurs M.2 de chaque sled.

Un attaquant devrait voler au moins K de ces lecteurs pour reconstruire le secret au niveau du rack, ce qui est infaisable sans un temps significatif et une interruption physique pendant l'accès. Dans le futur, nous prévoyons de "sceller" ces secrets avec l'aide de notre racine de confiance (Ro T) de sorte qu'ils ne soient décryptés qu'au démarrage du sled. Sceller signifierait qu'un attaquant devrait voler K sleds entiers et être capable de les démarrer pour récupérer le secret au niveau du rack.

Le poids de Ksleds rend cela prohibitif pour un attaquant occasionnel.