Fethi BoughaliaPortfolio d’ingénierie de sécurité
← Toutes les études de cas

04 / Réseau sécurisé

KryptaLink

Une implémentation VPN open source pour explorer les réseaux Linux bas niveau, le transport chiffré de datagrammes et la conception modulaire de systèmes.

Rôle
Concepteur et développeur
Technologies
C++ · Linux · UDP
Interface
TUN/TAP
Statut
Projet pédagogique open source

Le problème

Un VPN doit transporter des paquets entre une interface réseau virtuelle et un transport non fiable tout en préservant confidentialité et intégrité. KryptaLink rend ce chemin explicite plutôt que de le masquer derrière un framework.

L’objectif est une implémentation vérifiable démontrant la capture de paquets, le transport UDP chiffré et la séparation des responsabilités réseau, cryptographiques et d’orchestration.

Architecture

Trafic privé
Interface TUN/TAP
→
KryptaLink
Chiffrer · encadrer · transmettre
→
Réseau non fiable
Datagrammes UDP

Frontière de confiance : le texte en clair n’existe que du côté de l’interface privée ; les paquets de transport doivent être authentifiés et chiffrés.

Choix d’ingénierie

  • TUN/TAP expose de vrais paquets IP et maintient l’expérience proche des primitives réseau Linux.
  • UDP rend explicites l’encadrement, la perte et l’ordre des paquets.
  • Les options de chiffrement authentifié incluent AES-GCM et une construction fondée sur ChaCha20.
  • Une structure C++ modulaire et multithread sépare les entrées-sorties de la cryptographie.

Propriétés de sécurité

  • Le chiffrement authentifié vise à protéger la confidentialité et détecter les modifications en transit.
  • Des frontières de paquets explicites facilitent la validation avant l’arrivée du texte en clair sur l’interface privée.
  • La séparation des responsabilités facilite l’inspection du code sensible.

Limite assumée : il s’agit d’une implémentation de portfolio, sans prétention de maturité de production ni d’audit cryptographique indépendant. Une mise en production exigerait échange de clés documenté, protection anti-rejeu, gestion du cycle de vie, fuzzing, tests d’interopérabilité et revue tierce.

État des preuves : dépôt public et étude d’ingénierie. Aucun niveau de préparation à la production n’est revendiqué.