Résumé
Dans le cadre d’un projet d’authentification forte avant démarrage (MFA pré-boot) utilisant YubiKey et LUKS, nous avons identifié des divergences importantes entre distributions Linux, notamment entre Fedora, Debian et Ubuntu, liées au module 73pcsc de dracut-ng.
Ce travail a conduit à l’ouverture de l’issue “Dracut compatibility with Ubuntu and Debian”, visant à stabiliser une solution uniforme, robuste et maintenable à long terme.
“Dracut compatibility with Ubuntu and Debian”
afin de stabiliser une solution uniforme, robuste et maintenable à long terme.
Ce travail améliore directement la sécurité de la chaîne de démarrage et profitera à l’ensemble de l’écosystème Linux. Ou comment être conforme à des exigences de sécurité gratuitement et nativement sous Linux !
Contexte technique
L’objectif initial était simple : comprendre comment déverrouiller un volume chiffré LUKS via une YubiKey (PKCS#11) dès le démarrage du système.
Nous avons suivi la documentation de cryptsetup, qui fonctionne correctement sous Fedora. En revanche, lors du portage vers Ubuntu et Debian, nous avons rencontré une série de dysfonctionnements.
D’un point de vue technique, notre analyse a mis en évidence que :
- Les fichiers
opensc.modulesont gérés différemment selon les distributions - Certaines dépendances OpenSC ne sont pas copiées
- Les chemins de configuration varient d’une distribution à l’autre
Ces écarts expliquent les difficultés de portabilité et de stabilité entre Fedora, Debian et Ubuntu.
Quand la problématique devient stratégique
Ubuntu a officialisé l’adoption de dracut :
- Optionnel dès 25.04
- Par défaut à partir de 25.10
Le nombre de systèmes concernés va donc croître rapidement.
La nécessité d’une solution inter-distributions, stable et standardisée devient un enjeu stratégique.
Notre contribution
- Reproduire les dysfonctionnements Debian/Ubuntu vs Fedora
- Isoler les causes techniques
- Documenter précisément les divergences inter-distributions
Nous avons ensuite proposé des correctifs structurants, notamment :
- Meilleure détection des modules
p11-kit(wildcards) - Gestion multi-chemins des configurations OpenSC
- Inclusion fiable et systématique des dépendances OpenSC
- Renforcement des mécanismes de détection des fichiers PC/SC
Notre démarche s’inscrit dans une logique de contribution open source, durable, traçable et bénéfique à l’ensemble de la communauté cybersécurité.
Un enjeu de souveraineté numérique
Les enjeux dépassent le simple cas d’usage technique : aujourd’hui, nous parlons de souveraineté numérique.
Nous proposons une solution permettant d’augmenter significativement la sécurité des systèmes, de façon :
- Native sous Linux
- Compatible smartcards (au-delà des seules YubiKey)
Nous espérons une adoption massive de cette approche.
Aujourd’hui vs demain
Aujourd’hui
- Solutions payantes ou propriétaires (notamment dans l’écosystème Windows)
- Scripts ad hoc
- Chemins codés en dur
- Copies manuelles de bibliothèques
- Implémentations fragiles à chaque mise à jour
Demain
- Open source
- Standardisé
- Robuste
- Pérenne
Ce que nous apportons concrètement
En corrigeant directement les fondations dans dracut, nous apportons :
- Une solution standardisée
- Une configuration auditée et prévisible
- Un déploiement reproductible
Cette fonctionnalité bénéficie immédiatement à :
- Le durcissement des configurations critiques
- La maîtrise et l’inventaire des composants logiciels
- La réduction de la surface d’attaque dès l’amorçage
Conformité réglementaire
Cette approche facilite la mise en conformité avec :
- NIS 2
- DORA
- ANSSI – Guide d’hygiène informatique
- Etc.
Et maintenant ?
Nous finalisons actuellement plusieurs PRs distinctes afin de faciliter leur revue et leur intégration. Une fois fusionnées, elles pourront être intégrées dans les prochaines versions de Debian/Ubuntu au rythme de l’adoption de dracut.
📌 Issue publique et discussions techniques :
Lien vers le GitHub Dracut
📌 Une documentation complète d’implémentation arrive très bientôt.
Benjamin Aimard

