
- ✅ Suppression des fichiers redondants (api_server.py, start_api.sh, test_api.py) - ✅ Renommage des fichiers sécurisés vers les noms standards - ✅ Consolidation des exemples SDK en un seul fichier usage.ts - ✅ Suppression du client SDK déprécié - ✅ Mise à jour de la documentation principale - ✅ Simplification de la structure du projet - 🔒 Conservation de la sécurité (authentification par clés utilisateur) - 📁 Respect du stockage en lecture seule (storage/)
111 lines
3.9 KiB
Markdown
111 lines
3.9 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.
|
|
|
|
### 📖 [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/<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
|
|
|
|
## 🎯 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 |