
- Spécification technique détaillée (api-specification.md) - Spécification OpenAPI 3.0.3 (api-specification-openapi.yaml) - Mise à jour de l index de documentation Nouvelles fonctionnalités documentées: - Authentification par clés utilisateur (X-User-ID) - Chiffrement ChaCha20-Poly1305 quantique résistant - Variables d environnement avec résolution automatique - Rotation automatique des clés - Protection contre les attaques de traversée - Endpoints /health, /info, /routes, /{env}/{file_path} - Codes d erreur détaillés (400, 401, 403, 404, 500) - Exemples d utilisation complets - Structure du payload chiffré - Gestion des headers X-Next-Key Spécification OpenAPI inclut: - Tous les endpoints avec paramètres - Schémas de réponse complets - Codes d erreur avec exemples - Sécurité UserKeyAuth - Tags et descriptions détaillées - Exemples de requêtes/réponses
4.7 KiB
Documentation 4NK Vault - Système Sécurisé
Bienvenue dans la documentation complète du projet 4NK Vault, un système de stockage sécurisé avec authentification par clés utilisateur et chiffrement quantique résistant.
📚 Documentation disponible
🚀 Guide principal
Vue d'ensemble du projet, architecture sécurisée et utilisation avec authentification.
🔧 Spécification API
Spécification technique complète de l'API REST sécurisée avec authentification par clés utilisateur.
📋 Spécification OpenAPI
Spécification OpenAPI 3.0.3 complète avec tous les endpoints, schémas et exemples.
📖 Référence API
Référence complète des endpoints sécurisés, paramètres, réponses et codes d'erreur.
🛡️ Modèle de sécurité
Architecture de sécurité, authentification par clés utilisateur, rotation automatique et bonnes pratiques.
🚀 Guide de déploiement
Instructions complètes pour déployer le système sécurisé en développement et production.
💻 Documentation SDK
Documentation complète du SDK TypeScript sécurisé avec exemples et API reference.
🔧 Variables d'environnement
Traitement automatique des variables d'environnement avec résolution récursive et protection contre les boucles infinies.
🔐 Sécurité Avancée
Authentification par clés utilisateur
- ID utilisateur obligatoire pour tous les accès
- Clés individuelles par utilisateur et environnement
- Rotation automatique des clés toutes les heures
- Stockage sécurisé dans
storage/<env>/_keys/
Chiffrement quantique résistant
- ChaCha20-Poly1305 pour le chiffrement
- HTTPS obligatoire pour toutes les communications
- Métadonnées sécurisées avec timestamps et versions de clés
- Compatibilité API/SDK avec
@noble/ciphers
Variables d'environnement
- Résolution automatique des variables
$VAR
et${VAR}
- Traitement en mémoire (fichiers originaux non modifiés)
- Protection contre les boucles infinies
🎯 Démarrage rapide
Installation et test
# 1. Installation des dépendances
cd 4NK_vault
python3 -m venv venv_api
source venv_api/bin/activate
pip install -r requirements.txt
# 2. Démarrage de l'API sécurisée
./start_api.sh
# 3. Test avec authentification
curl -k -H "X-User-ID: demo_user_001" https://127.0.0.1:6666/health
Utilisation avec le SDK TypeScript
import { SecureVaultClient } from '@4nk/vault-sdk';
// Création du client (charge automatiquement le .env)
const client = new SecureVaultClient();
// Récupération d'un fichier avec variables résolues
const file = await client.getFile('dev', 'bitcoin/bitcoin.conf');
console.log(file.content); // Contenu déchiffré avec variables résolues
// Synchronisation locale
const syncResult = await client.syncLocalFiles({
environment: 'dev',
localDir: '../confs'
});
🔑 Gestion des clés
Structure des clés par environnement
storage/
├── dev/
│ └── _keys/
│ └── keys.json # Clés pour l'environnement DEV
└── prod/
└── _keys/
└── keys.json # Clés pour l'environnement PROD
Rotation automatique
- Déclenchement : Toutes les heures automatiquement
- Transition : Ancienne clé conservée pour compatibilité
- Logs : Traçabilité complète des rotations
⚠️ Avertissements de sécurité
Voir SECURITY_NOTICE.md pour les détails sur :
- Les limitations de sécurité en mode démonstration
- Les recommandations pour la production
- L'implémentation d'un échange de clés sécurisé
📋 Navigation par cas d'usage
Je veux...
- Comprendre la sécurité → Modèle de sécurité complet
- Utiliser l'API → Référence des endpoints sécurisés
- Voir la spécification complète → Spécification technique détaillée
- Utiliser OpenAPI → Spécification OpenAPI 3.0.3
- Développer avec le SDK → SDK TypeScript sécurisé
- Comprendre les variables d'environnement → Traitement automatique des variables
- Déployer en production → Guide de déploiement sécurisé
🔗 Liens utiles
- Repository : git.4nkweb.com:4nk/4NK_vault.git
- Domaine : vault.4nkweb.com:6666
- Protocole : HTTPS uniquement
- Authentification : Header
X-User-ID
obligatoire