Documentation Technique
Le parcours, les clés, le réseau, la sécurité.
Le parcours, de bout en bout
Voici exactement ce qui se passe entre le moment où vous choisissez une offre et celui où votre trafic passe dans le tunnel. Aucune étape masquée, aucun compte à créer.
- Choix de l'offre : Solo, Plus ou Pro, sur 1, 3, 6 ou 12 mois, depuis
/tarifs. - Paiement : Stripe (carte), PayPal (carte ou compte) ou CoinGate (crypto-monnaies). Le site ne voit jamais vos coordonnées bancaires, seulement une confirmation du prestataire choisi.
- Clé d'accès : un code à 16 caractères s'affiche à l'écran, une seule fois. Il n'est envoyé nulle part, ni par e-mail ni ailleurs, et le serveur n'en garde jamais la version en clair.
- Activation : vous saisissez la clé dans l'application (desktop ou Android). L'application génère alors une paire de clés WireGuard directement sur votre appareil et n'envoie au serveur que la clé publique : la clé privée ne le quitte jamais.
- Provisionnement : le serveur associe cette clé publique à un créneau d'accès sur l'un des nœuds VPN et vous renvoie une configuration WireGuard prête à l'emploi.
- Connexion : le tunnel chiffré s'établit directement entre votre appareil et le nœud. Tout le trafic qui y transite est illisible pour quiconque l'intercepte en chemin, y compris votre FAI.
- Expiration : à la fin de la durée souscrite, le profil est automatiquement révoqué côté serveur et le nœud oublie votre clé publique.
Vous Site bloomvpn.com Backend API Nœud VPN
│ 1. Paiement │ │ │
│───────────────────▶│ │ │
│ │ confirmation │ │
│ │────────────────────▶│ │
│ 2. Clé affichée │ │ │
│◀────────────────────│ │ │
│ │
│ 3. Activation (app) : paire de clés générée localement, │
│ seule la clé PUBLIQUE part vers le serveur │
│────────────────────────────────────────────▶│ │
│ │ 4. Crée le profil│
│ │─────────────────▶│
│ 5. Reçoit la configuration WireGuard │ │
│◀─────────────────────────────────────────────│ │
│ 6. Tunnel chiffré établi directement avec le nœud │
│──────────────────────────────────────────────────────────────▶│Le réseau de serveurs
4 nœuds dédiés, situés aux Pays-Bas, au sein de l'Union européenne. Chacun exécute l'implémentation officielle de WireGuard : rien d'autre n'est exposé publiquement que le port UDP du tunnel.
- Sélection du nœud : automatique parmi les nœuds disponibles, ou manuelle depuis le sélecteur de serveur de l'application. Aucune bascule « intelligente » basée sur l'analyse de votre trafic n'existe : un nœud ne regarde jamais ce que vous faites pour décider où vous router.
- Ce qu'un nœud connaît de vous : uniquement votre clé publique WireGuard, un paramètre cryptographique qui ne révèle ni votre identité, ni l'offre souscrite, ni le temps restant.
- Ce qu'un nœud ne fait jamais : journaliser le contenu du trafic, les destinations, les requêtes DNS, ou établir une correspondance entre une clé publique et une session dans le temps.
- Accès administratif : restreint, par authentification forte, et limité à des opérations d'exploitation prédéfinies, jamais à une inspection du trafic des utilisateurs.
Système de clés
La clé d'accès est l'élément central du parcours VPN. Elle évite un formulaire de profil BloomVPN, sans supprimer les états d'achat et d'appareil nécessaires au fonctionnement.
- Format :
BLOOM-XXXX-XXXX-XXXX-XXXX, soit 16 symboles aléatoires préfixés par BLOOM. - Entropie : environ 78,5 bits issus du générateur cryptographique du système.
- Encodage : alphabet de 30 symboles sans I, L, O, U, 0 ni 1 ; un rejet statistique évite le biais de modulo.
- Stockage : enveloppe AES-GCM jusqu'à la récupération unique, puis suppression de l'enveloppe et conservation de l'empreinte SHA-256.
- Vérification : À chaque connexion, le serveur hache la clé fournie et la compare à l'empreinte stockée.
# Génération (pseudo-code côté backend Go)
key := random_symbols(count=16, alphabet_size=30)
// → BLOOM-A7K2-XPQ9-M3NZ-WR4T
# Après récupération : l'empreinte reste conservée
hash := sha256(key) // irréversible
db.store(hash, expires_at, plan)
# Vérification à la connexion
if sha256(submitted_key) == db.hash:
allow_connection()Résolution DNS
La résolution DNS est un angle mort classique des VPN : chiffrer le trafic ne sert à rien si les requêtes DNS fuient en dehors du tunnel.
- Par défaut : vos requêtes DNS passent dans le tunnel chiffré et sont résolues côté serveur, hors de portée de votre FAI. Elles ne sont journalisées nulle part.
- Add-on anti-tracker (optionnel, désactivé par défaut) : bascule la résolution DNS vers un résolveur filtrant tiers (AdGuard DNS), qui bloque publicités et trackers connus au niveau DNS.
- Ce que ça change concrètement : quand l'anti-tracker est actif, vos requêtes DNS sortent directement vers AdGuard et non plus via l'infrastructure BloomVPN, qui n'y a alors aucun accès. La politique de confidentialité d'AdGuard s'applique à ce trafic précis, pas la nôtre.
Fonctionnalités
Ce qui existe réellement dans l'application aujourd'hui : on préfère une liste courte et honnête à une liste longue et à moitié vraie.
- Kill switch : coupe l'accès réseau de l'appareil si le tunnel WireGuard tombe de façon inattendue, pour ne jamais laisser fuiter du trafic en clair.
- Redirection de port (add-on) : alloue un port public sur le nœud et le redirige vers votre appareil à l'intérieur du tunnel, utile pour l'auto-hébergement ou le partage pair-à-pair.
- Anti-tracker (add-on) : voir la section DNS ci-dessus.
- Multi-appareils : 1 connexion simultanée (Solo), 5 (Plus) ou 10 (Pro), selon l'offre souscrite.
Ce qu'on ne propose pas encore, malgré ce qu'on voit parfois ailleurs sous forme de case à cocher qui ne fait rien : multi-hop (double VPN), split tunneling, IP dédiée, obfuscation du protocole. Si l'une de ces fonctions arrive un jour, elle sera documentée ici, jamais affichée comme active avant de l'être réellement.
WireGuard®
WireGuard® est le protocole VPN retenu. Il impose un jeu limité de primitives cryptographiques modernes, ce qui simplifie la configuration sans prouver à lui seul la sécurité du service complet.
- ChaCha20-Poly1305 : chiffrement symétrique à 256 bits et authentification de chaque paquet.
- Curve25519 : échange de clés Diffie-Hellman avec confidentialité persistante.
- BLAKE2s : hachage et dérivation de clés de session.
- Handshake : échanges limités pour établir les clés de session ; le délai réel dépend du réseau.
La compacité de l'implémentation de référence facilite la revue, mais le périmètre varie selon les plateformes. BloomVPN ne publie pas encore de benchmark reproductible et ne garantit ni débit, ni latence, ni autonomie.
# Configuration client (extrait)
[Interface]
PrivateKey = <générée localement, jamais transmise en clair>
Address = 10.66.x.x/32
DNS = 10.66.0.1
[Peer]
PublicKey = <clé publique du serveur BloomVPN>
Endpoint = fr-par.bloomvpn.com:51820
AllowedIPs = 0.0.0.0/0, ::/0Sécurité
La sécurité est appliquée à chaque couche, du navigateur au serveur VPN.
- En-têtes navigateur : CSP, anti-framing, Referrer-Policy et HSTS sont configurés dans le frontend.
- Routes web : contrôles d'origine, limites de taille et validation côté serveur protègent les opérations sensibles.
- Récupération : jeton haché, durée limitée, affichage unique et réponses sans cache.
- Validation des entrées : formats, montants, plans et preuves de paiement sont recalculés ou validés côté serveur.
- Accès aux nœuds : clé Ed25519, empreinte d'hôte obligatoire, utilisateur non-root et commande distante limitée.
# En-têtes de sécurité appliqués
Content-Security-Policy: default-src 'self'; ...
Strict-Transport-Security: max-age=63072000; includeSubDomains
X-Frame-Options: DENY
Referrer-Policy: no-referrer
Permissions-Policy: geolocation=(), microphone=(), camera=()Questions fréquentes
Pouvez-vous voir ce que je fais sur Internet ?
Non. Le tunnel WireGuard chiffre tout le trafic de bout en bout. Le nœud ne voit passer que des paquets chiffrés vers leur destination ; il ne journalise ni le contenu, ni les destinations, ni les requêtes DNS.
Que se passe-t-il si une autorité vous demande des journaux de connexion ?
On ne peut transmettre que ce qu'on possède. Il n'existe aucun journal nominatif de connexion, aucune correspondance entre une clé publique WireGuard, une adresse IP et un horodatage. La seule donnée persistante liée à un accès est l'empreinte SHA-256 irréversible de la clé et sa date d'expiration.
Conservez-vous une trace de mon adresse IP ?
Le tunnel VPN lui-même n'en garde aucune trace. Le site web, en dehors du tunnel, journalise pour la sécurité anti-abus un segment réseau tronqué (jamais l'adresse IP complète), détail dans notre politique de confidentialité.
Puis-je payer sans laisser de trace bancaire ?
Oui, en crypto-monnaies. Ce n'est pas un paiement anonyme au sens strict (le prestataire applique ses propres contrôles), mais BloomVPN ne reçoit qu'une confirmation de paiement, jamais l'identité de l'acheteur ni l'adresse de portefeuille au-delà de ce qui confirme la transaction.
Que se passe-t-il si je perds ma clé d'accès ?
Rien ne peut la retrouver, y compris nous : le serveur ne conserve qu'une empreinte irréversible, jamais la clé en clair. Il faut en racheter une.
Utilisez-vous un fork de WireGuard, ou un protocole maison ?
Ni l'un ni l'autre. L'implémentation officielle de WireGuard est utilisée telle quelle, sans modification du protocole.
Où sont physiquement les serveurs ?
Les 4 nœuds VPN sont situés aux Pays-Bas, au sein de l'Union européenne. L'infrastructure du site (API, base de données) est hébergée séparément en Allemagne. Détail complet dans nos mentions légales.
Le code est-il open source ?
Le protocole WireGuard, oui : c'est un standard ouvert et audité publiquement. Le code applicatif de BloomVPN (site, API, applications) ne l'est pas à ce jour.
Pourquoi faire confiance à une micro-entreprise plutôt qu'à un grand fournisseur ?
C'est un compromis honnête à évaluer soi-même : une petite structure a une surface d'exposition plus réduite, mais n'a pas (encore) fait l'objet d'audit de sécurité indépendant publié. Notre choix a été de documenter le fonctionnement du service aussi précisément que possible (cette page et nos pages légales) plutôt que de demander une confiance sur parole.