UStackUStack
AxKeyStore favicon

AxKeyStore

AxKeyStore est un outil en ligne de commande qui gère de manière sécurisée les secrets, les clés et les mots de passe en utilisant votre dépôt GitHub privé comme espace de stockage chiffré et non fiable.

AxKeyStore

Qu'est-ce que AxKeyStore ?

AxKeyStore : Gestion Sécurisée des Secrets avec Sauvegarde GitHub

Qu'est-ce qu'AxKeyStore ?

AxKeyStore est un outil robuste en ligne de commande (CLI) open-source conçu pour les développeurs et les utilisateurs soucieux de la sécurité qui ont besoin d'un moyen fiable pour stocker et gérer les informations d'identification sensibles, les clés et les mots de passe. Son innovation principale réside dans l'utilisation de votre dépôt GitHub privé existant comme mécanisme de stockage dorsal. Cette approche offre les avantages du stockage cloud — accessibilité, contrôle de version et fiabilité — sans compromettre la sécurité, car GitHub est traité strictement comme un stockage non fiable.

Crucialement, AxKeyStore fonctionne sur le principe d'un chiffrement client absolu. Chaque élément de donnée sensible, y compris les secrets eux-mêmes et les clés utilisées pour les chiffrer, est traité entièrement sur votre machine locale avant la transmission. Par conséquent, aucun secret en clair, clé maîtresse ou mot de passe ne transite jamais sur le réseau ou ne réside sans chiffrement sur le serveur distant ou le système de fichiers local. Cette architecture Zero Trust garantit que seul vous, possédant le Mot de Passe Maître correct, pouvez déchiffrer et accéder aux données de votre coffre-fort.

Fonctionnalités Clés

  • Architecture Zero Trust : Construite sur le principe que tous les systèmes externes, y compris GitHub, ne sont pas fiables. Le chiffrement est obligatoire et multi-niveaux.
  • Schéma de Chiffrement à Trois Niveaux :
    • Chiffrement des Secrets : Les secrets sont chiffrés à l'aide de la Clé Maîtresse Distante (RMK).
    • Chiffrement de la RMK : La RMK est chiffrée à l'aide de votre Mot de Passe Maître (via chiffrement côté client).
    • Chiffrement des Identifiants Locaux : Les détails de configuration locaux (comme le jeton GitHub et le nom du dépôt) sont sécurisés à l'aide d'une Clé Maîtresse Locale (LMK), qui est également protégée par votre Mot de Passe Maître.
  • Cryptographie Avancée : Utilise des algorithmes modernes et sécurisés, y compris XChaCha20-Poly1305 pour le chiffrement authentifié et Argon2id pour une dérivation de clé robuste à partir de votre Mot de Passe Maître.
  • GitHub comme Stockage Dorsal : Tire parti du stockage gratuit, versionné et fiable fourni par tout dépôt GitHub privé que vous contrôlez.
  • Prise en Charge Multi-Profils : Gérez facilement plusieurs coffres-forts distincts, chacun avec ses propres identifiants de connexion, Mots de Passe Maîtres et dépôts GitHub associés.
  • Organisation Hiérarchique : Les secrets peuvent être organisés logiquement à l'aide de chemins de catégories (ex. : api/production/internal), améliorant la découvrabilité et la gestion.
  • Authentification Unifiée : Authentifie l'accès de manière sécurisée en utilisant les Applications GitHub et le mécanisme de Flux d'Appareil (Device Flow).

Comment Utiliser AxKeyStore

Commencer avec AxKeyStore implique une installation simple suivie d'un processus initial de connexion et de configuration. L'outil est conçu pour être facile à utiliser une fois configuré.

1. Installation : Installez l'outil CLI en utilisant les scripts spécifiques à la plateforme fournis :

  • macOS/Linux : curl -sSL https://raw.githubusercontent.com/basilgregory/axkeystore/main/install.sh | bash
  • Windows (PowerShell) : powershell -c "irm https://raw.githubusercontent.com/basilgregory/axkeystore/main/install.ps1 | iex" Ces scripts placent automatiquement le binaire dans votre PATH pour un accès immédiat.

2. Connexion Initiale et Configuration : Exécutez la commande de connexion pour lancer la séquence de configuration : axkeystore login Lors de cette première exécution, il vous sera demandé de créer et de confirmer votre Mot de Passe Maître. Ce mot de passe est la clé ultime pour déchiffrer votre coffre-fort et sécuriser votre configuration locale. Après la configuration du mot de passe, l'interface CLI vous guidera pour installer l'Application GitHub nécessaire sur votre compte ou organisation, accordant à AxKeyStore les permissions requises pour lire/écrire sur le dépôt privé désigné.

3. Gestion des Secrets : Une fois connecté et configuré, vous pouvez utiliser des commandes simples pour stocker et récupérer des informations d'identification. Par exemple, stocker un nouveau secret pourrait impliquer de spécifier la catégorie et le nom de la clé, tandis que la récupération utilise la commande correspondante, garantissant que les données ne sont déchiffrées qu'en local après avoir récupéré le blob chiffré depuis GitHub.

Cas d'Utilisation

  1. Sécurisation des Secrets de Pipeline CI/CD : Les développeurs peuvent stocker des clés API sensibles, des jetons de déploiement et des variables d'environnement nécessaires aux constructions et déploiements automatisés dans leur coffre-fort privé AxKeyStore, garantissant que ces secrets ne sont jamais codés en dur ni exposés dans les fichiers de configuration intégrés au contrôle de version.
  2. Gestion des Identifiants de Développeur Personnels : Les développeurs individuels peuvent centraliser toutes leurs clés SSH, clés d'accès aux fournisseurs cloud (AWS, Azure, GCP) et mots de passe de bases de données. En utilisant leur dépôt GitHub, ils bénéficient d'un historique des versions sur les événements de rotation des informations d'identification.
  3. Environnements de Développement Multiplateformes : Étant donné que le stockage est basé sur le cloud (GitHub) et que l'outil est piloté par CLI, les utilisateurs peuvent passer sans problème de leur machine locale à un serveur de développement ou à une station de travail temporaire, accédant en toute sécurité aux secrets requis après avoir effectué la connexion/configuration initiale.
  4. Partage de Secrets en Petite Équipe (Contrôlé) : Bien que principalement conçu pour la sécurité individuelle, les équipes peuvent utiliser un dépôt privé partagé et dédié pour le partage de secrets de base, non liés à la production, en se fiant à la connaissance partagée du Mot de Passe Maître (bien que la gestion individuelle soit recommandée pour une sécurité maximale).

FAQ

Q : Que se passe-t-il si j'oublie mon Mot de Passe Maître ? A : Étant donné qu'AxKeyStore utilise un schéma de chiffrement multi-niveaux robuste côté client sécurisé par votre Mot de Passe Maître, l'oublier signifie que les données sont définitivement inaccessibles. Il n'existe aucun mécanisme de récupération, adhérant strictement au modèle de sécurité Zero Trust.

Q : Mes données sont-elles vraiment en sécurité si GitHub est l'emplacement de stockage ? A : Oui. GitHub ne stocke que des blobs binaires chiffrés. Même si GitHub était compromis, les attaquants ne récupéreraient que des données chiffrées, car les clés de déchiffrement (RMK et LMK) sont protégées par votre Mot de Passe Maître et ne quittent jamais votre machine locale sans chiffrement.

Q : Puis-je utiliser un dépôt public pour le stockage ? A : Non. AxKeyStore exige explicitement un dépôt GitHub privé. L'utilisation d'un dépôt public exposerait tous vos secrets chiffrés au monde, ce qui irait à l'encontre de l'objectif de l'architecture de sécurité.

Q : Comment AxKeyStore gère-t-il l'authentification et l'autorisation ? A : Il utilise une Application GitHub dédiée que vous devez installer. Cette application facilite l'authentification sécurisée via le Flux d'Appareil et accorde à l'interface CLI les permissions nécessaires (lecture/écriture) uniquement au dépôt spécifique désigné comme votre coffre-fort.

Q : Cet outil coûte-t-il de l'argent ? A : AxKeyStore est un projet open-source publié sous la Licence MIT. L'outil lui-même est gratuit à utiliser. Cependant, l'utilisation de GitHub pour le stockage nécessite que vous ayez un compte GitHub, qui offre des dépôts privés gratuits.

AxKeyStore | UStack