Concepts et sécurité

Portal Credential : principe de fonctionnement

Portal Credential combine trois mécanismes de sécurité complémentaires pour sécuriser la récupération des secrets par les conteneurs applicatifs.

Authentification mutuelle TLS (mTLS)

Le portal et le conteneur s’authentifient mutuellement par certificats issus d’une PKI interne dédiée à cet usage. Le portal présente son certificat serveur ; le conteneur présente son certificat client. Aucune communication n’est possible si l’authentification mutuelle échoue. Seuls les conteneurs Reemo légitimes peuvent joindre le portal, et inversement.

Bi-clé éphémère

Le conteneur génère une paire de clés en mémoire au moment de la requête, avec une durée de validité de 5 minutes par défaut. Cette paire n’est jamais persistée sur disque et est régénérée à chaque récupération de credentials.

Token Vault temporaire

Un token Vault éphémère, valide 5 minutes par défaut, sert de jeton d’autorisation. Généré à la volée, il expire automatiquement et n’est pas renouvelable au-delà de sa durée. Son accès est limité aux permissions autorisées pour le conteneur spécifique.

Surface d’attaque réduite

La combinaison de ces trois mécanismes crée plusieurs lignes de défense :

  • Attaquant externe sans certificat client : bloqué au handshake TLS.

  • Conteneur compromis : le token Vault limité à 5 minutes réduit la fenêtre d’exploitation.

  • Capture de trafic : le payload est chiffré avec la clé publique éphémère du conteneur.

  • Attaque par rejeu : la bi-clé est régénérée à chaque requête, rendant impossible le rejeu d’une requête antérieure.

  • Accès réseau : seuls les environnements d’exécution des conteneurs accèdent aux services Portal Credential.

Pourquoi Vault doit être déverrouillé après un redémarrage

Pour des raisons de sécurité, Vault ne garde jamais en clair sur disque les clés qui chiffrent ses données. Au démarrage, Vault est « scellé » (sealed) et ne peut pas lire ses propres secrets. Il faut lui fournir des clés de descellement (unseal) pour le rendre opérationnel. Ce processus se reproduit à chaque redémarrage : reboot serveur, redémarrage Docker, recréation du conteneur ou crash.

Shamir’s Secret Sharing

Vault protège sa master key via l’algorithme Shamir. À l’initialisation, deux paramètres sont configurés :

  • nombre total de clés générées (par défaut 5)

  • nombre requis pour déverrouiller (par défaut 3)

Il faut donc au minimum 3 clés parmi les 5 pour déverrouiller le Vault. Avoir moins de 3 clés ne donne aucune information sur la master key. Cette architecture offre une tolérance aux défaillances : on peut perdre jusqu’à 2 clés sans perdre l’accès à Vault.