4NK_vault/docs/index.md

128 lines
4.7 KiB
Markdown

# 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.
### 📋 [Spécification OpenAPI](api-specification-openapi.yaml)
Spécification OpenAPI 3.0.3 complète avec tous les endpoints, schémas et exemples.
### 📖 [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.
### 🔧 [Variables d'environnement](environment-variables.md)
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
```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: <VAULT_USER_ID>" https://127.0.0.1:6666/health
```
### Utilisation avec le SDK TypeScript
```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](../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
- **[Voir la spécification complète](api-specification.md)** → Spécification technique détaillée
- **[Utiliser OpenAPI](api-specification-openapi.yaml)** → Spécification OpenAPI 3.0.3
- **[Développer avec le SDK](sdk-documentation.md)** → SDK TypeScript sécurisé
- **[Comprendre les variables d'environnement](environment-variables.md)** → Traitement automatique des variables
- **[Déployer en production](deployment-guide.md)** → Guide de déploiement sécurisé
## 🔗 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