StateWarden repose sur une architecture découplée de type Zero Trust. En séparant le plan de contrôle du plan de données et en déléguant les tâches de traitement à l'agent déployé sur le point de terminaison, le système monte en charge linéairement tout en préservant la confidentialité cryptographique.
1. Composants principaux
StateWarden s'appuie sur trois composants spécialisés. L'approvisionnement initial est établi à l'aide de la cryptographie post-quantique (ML-KEM/Kyber) ; tous les composants communiquent ensuite exclusivement sur des canaux TLS mutuellement authentifiés (mTLS).
L'agent : calcul en périphérie et cryptographie
L'agent StateWarden est un binaire compilé déployé sur les points de terminaison (Windows et Linux).
- Déduplication locale : l'agent découpe et hache les données localement. Il ne transmet que les blocs de données uniques à l'échelle du Realm, ce qui réduit les besoins en bande passante réseau.
- Moteur PrimeKEM : avant toute transmission, l'agent chiffre les données selon le modèle de cryptographie en cascade. La clé de chiffrement réside uniquement dans la mémoire volatile de l'agent.
- Transfert direct des données : l'agent communique directement avec le plan de données pour la transmission, ce qui évite de faire transiter les données par un serveur central.
Artemis : le plan de contrôle (orchestration)
Artemis est la couche d'orchestration chargée de la planification, de l'application des politiques, du contrôle d'accès basé sur les rôles (RBAC) et de la supervision.
- Courtier de métadonnées : Artemis gère les métadonnées (planifications et statuts des sauvegardes, par exemple), mais ne traite ni ne stocke les blocs de données proprement dits ni les clés de déchiffrement. Lors de l'appairage d'un agent, Artemis provisionne les identités à l'aide d'une charge utile hybride post-quantique (Kyber + AES-256-GCM).
- Moteur de quotas : Artemis répartit la charge sur le plan de données, planifie les tâches pour éviter les pics de trafic réseau et applique des quotas d'utilisation par appareil.
Driad : le plan de données (stockage)
Les nœuds Driad fournissent l'infrastructure de stockage des blocs de données chiffrés.
- Stockage d'objets immuable : Driad reçoit les fragments chiffrés envoyés par les agents et les organise dans un stockage adressable par contenu (CAS) afin de prendre en charge la déduplication.
- Architecture distribuée : Driad fonctionne selon un modèle d'« affinité d'appareil ». Artemis répartit les flux de sauvegarde entrants entre les nœuds de stockage disponibles.
- Validation d'équivalence : Driad effectue une vérification en lecture après écriture (Read-After-Write, RAW) des fragments pour garantir que les données écrites sur le disque correspondent au hachage généré par l'agent.
2. Flux d'interaction : exécution d'une sauvegarde
- Commande : Artemis évalue une politique de sauvegarde et envoie une tâche de sauvegarde à l'agent cible.
- Traitement : l'agent reçoit la tâche, crée un snapshot (via Smart CBT ou VSS), découpe les données et les chiffre avec PrimeKEM.
- Transmission : l'agent établit une connexion mTLS avec le nœud Driad attribué et y transmet les fragments chiffrés en flux continu.
- Finalisation : l'agent compile un manifeste de sauvegarde, le chiffre, l'envoie à Driad, puis renvoie la progression et les résultats à Artemis.
3. Périmètre de sécurité
Grâce à l'architecture découplée :
- Le plan de contrôle (Artemis) n'a accès ni aux blocs de données ni aux clés de déchiffrement.
- Le plan de données (Driad) stocke des objets binaires chiffrés et dédupliqués, sans contexte ni clés de déchiffrement.
Ce compartimentage réserve l'accès aux données en clair au seul agent du point de terminaison.