Le défi de l'air-gap

Un réseau air-gap est physiquement isolé d'internet. Hôpitaux HDS, centrales nucléaires, réseaux militaires, usines critiques — les déploiements sans internet nécessitent une stratégie complète : comment pré-charger les packages, vérifier leur intégrité sans connexion externe et distribuer les mises à jour sans CDN ?

Dans un environnement air-gap, toute vérification d'intégrité qui nécessite une connexion externe est une vérification qui ne se fait pas. Le système de signature ECDSA de Universal Installer est conçu pour fonctionner 100% offline.

Créer un mirror local

# Sur une machine connectée : créer le bundle air-gap
universal-installer airgap bundle   --source dist/app_v1.1.uxc   --include-keys keys/   --include-installer \      # inclure universal-installer lui-même
  --include-python \         # inclure Python 3.12 si non garanti
  --output airgap_bundle_v1.1/

# airgap_bundle_v1.1/
# ├── app_v1.1.uxc
# ├── app_v1.1.uxc.sig
# ├── manifest.json
# ├── keys/public.pem
# ├── universal-installer.exe
# └── install.bat / install.sh

Transfert air-gap

# Options de transfert physique
# 1. Clé USB chiffrée (VeraCrypt / BitLocker)
# 2. DVD/Blu-ray signé GPG
# 3. Diode réseau unidirectionnelle (transfert sans retour)

# Vérifier l'intégrité après transfert (AVANT d'exécuter)
universal-installer verify app_v1.1.uxc   --sig app_v1.1.uxc.sig   --pubkey keys/public.pem   --offline               # aucune requête réseau
# → ✓ Signature ECDSA valide — offline — 2026-12-01

Serveur de distribution interne

# Démarrer un serveur de distribution local
# (remplace le CDN cloud pour les postes du réseau air-gap)
universal-installer serve   --dir airgap_bundle_v1.1/   --port 8080   --bind 192.168.1.10   --auth-token vault:INTERNAL_DIST_TOKEN

# Sur les postes clients (même réseau interne)
from universal_installer.updater import UpdateChecker

checker = UpdateChecker(
    manifest_url="http://192.168.1.10:8080/manifest.json",
    public_key_path="keys/public.pem",
    current_version="1.0.0",
    offline_mode=True  # pas de vérification de révocation en ligne
)

Rotation des clés en air-gap

La rotation des clés ECDSA en environnement air-gap nécessite une procédure rigoureuse :

  1. Générer la nouvelle paire de clés sur une machine offline.
  2. Créer un document de transition signé avec l'ancienne clé privée, contenant la nouvelle clé publique.
  3. Transférer le document de transition via le canal air-gap habituel.
  4. Les clients valident le document de transition avec l'ancienne clé publique, puis adoptent la nouvelle.
  5. L'ancienne clé privée est détruite (cérémoniel de destruction documenté).

Conclusion

Universal Installer V2 est conçu pour fonctionner 100% offline dès la création du bundle air-gap. La vérification ECDSA P-384 ne nécessite aucune connexion externe — la clé publique est distribuée avec le bundle. Le serveur de distribution interne remplace le CDN cloud pour les mises à jour intra-réseau. Pour les environnements les plus stricts (réseau unidirectionnel), le bundle peut être distribué sur support physique avec vérification GPG préalable.

📦
PRODUIT LIÉ
Universal Installer V2.0
← Article précédent Article suivant →