HeadlinesBriefing favicon HeadlinesBriefing.com

Estrategia de jerarquía de claves a nivel de rack de Oxide

Hacker News •
×

Antecedentes y propósito: Hay muchos tipos de secretos dentro de un rack de Oxide. En la base del sistema tenemos las claves Device Id y Alias almacenadas en el Ro T y usadas para la identidad de la plataforma y la firma de atestación respectivamente [RFD 36]. Estas claves junto con un tercer par de claves Ro T hospedado usado para autenticar acuerdos Diffie-Hellman efímero proporcionan a los sleds la capacidad de formar sesiones sprockets seguras para mensajes de la capa de aplicación [RFD 238].

Estas sesiones sprockets proporcionan a cada sled la capacidad de compartir información confidencial de forma punto a punto, donde la integridad de los mensajes está protegida, la autenticidad del extremo está garantizada y la atestación de su software en ejecución está garantizada. A fin de proporcionar garantías de seguridad a nivel de rack de modo que un atacante no pueda caminarse con un subconjunto de sleds o discos y recuperar información útil, hemos diseñado un Trust Quorum [RFD 238]. El mecanismo de protección principal detrás del trust quorum es el intercambio secreto de Shamir.

Un secreto a nivel de rack que se usa como fuente de derivación de claves para otras claves usadas para proteger el almacenamiento en reposo. El secreto a nivel de rack se divide en N comparticiones únicas por un proceso de dealer y se distribuye sobre sesiones sprockets a cada agente de arranque junto con las identidades de plataforma únicas de los N miembros del trust quorum. Estas identidades de plataforma se graban en las certificados de clave pública en el Ro T para permitir la verificación de que una entidad es quien dice ser.

Después de la distribución de esta información, los agentes de arranque pueden establecer conexiones sprockets con otros agentes de arranque, verificar la membresía en el grupo (a través de los certificados intercambiados), y recuperar K-1 comparticiones de otros agentes de modo que puedan reconstruir el secreto a nivel de rack de K comparticiones. Importante, sin obtener K comparticiones, no se puede aprender información sobre el secreto a nivel de rack. Como se describe en [RFD 238], las comparticiones individuales se almacenan sin cifrar en los M.2 drives de cada sled.

Un atacante tendría que robar al menos K de estos drives para reconstruir el secreto a nivel de rack, lo cual es infactible sin un tiempo significativo y interrupción física durante el acceso. En el futuro planeamos "sellar" estos secretos con la ayuda de nuestro raíz de confianza (Ro T) de modo que solo se desencripten al arrancar el sled. Sellar significaría que un atacante tendría que robar K sleds completos y poder arrancarlos para recuperar el secreto a nivel de rack.

El peso de K sleds hace esto prohibitivo para un atacante casual.