# 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](../README.md) Vue d'ensemble du projet, architecture sécurisée et utilisation avec authentification. ### 🔧 [Spécification API](api-specification.md) Spécification technique complète de l'API REST sécurisée avec authentification par clés utilisateur. ### 📖 [Référence API](api-reference.md) Référence complète des endpoints sécurisés, paramètres, réponses et codes d'erreur. ### 🛡️ [Modèle de sécurité](security-model.md) Architecture de sécurité, authentification par clés utilisateur, rotation automatique et bonnes pratiques. ### 🚀 [Guide de déploiement](deployment-guide.md) Instructions complètes pour déployer le système sécurisé en développement et production. ### 💻 [Documentation SDK](sdk-documentation.md) Documentation complète du SDK TypeScript sécurisé avec exemples et API reference. ## 🔐 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//_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 ## 🎯 Démarrage rapide ### Installation et test ```bash # 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 ```typescript import { createSecureVaultClient } from '@4nk/vault-sdk'; // Création du client avec authentification const client = createSecureVaultClient( 'https://vault.4nkweb.com:6666', 'your_user_id' // ID utilisateur obligatoire ); // Récupération d'un fichier chiffré const file = await client.getFile('dev', 'bitcoin/bitcoin.conf'); console.log(file.content); // Contenu déchiffré avec la clé utilisateur ``` ## 🔑 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](../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é](security-model.md)** → Modèle de sécurité complet - **[Utiliser l'API](api-reference.md)** → Référence des endpoints sécurisés - **[Développer avec le SDK](sdk-documentation.md)** → SDK TypeScript sécurisé - **[Déployer en production](deployment-guide.md)** → Guide de déploiement sécurisé - **[Tester le système](api-specification.md)** → Spécifications techniques ## 🔗 Liens utiles - **Repository** : [git.4nkweb.com:4nk/4NK_vault.git](https://git.4nkweb.com:4nk/4NK_vault.git) - **Domaine** : vault.4nkweb.com:6666 - **Protocole** : HTTPS uniquement - **Authentification** : Header `X-User-ID` obligatoire