
- ✅ 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/)
3.9 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.
📖 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.
🔐 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
# 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 { 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 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
- Développer avec le SDK → SDK TypeScript sécurisé
- Déployer en production → Guide de déploiement sécurisé
- Tester le système → Spécifications techniques
🔗 Liens utiles
- Repository : git.4nkweb.com:4nk/4NK_vault.git
- Domaine : vault.4nkweb.com:6666
- Protocole : HTTPS uniquement
- Authentification : Header
X-User-ID
obligatoire