Avec le noyau Linux 6.4, il est possible d’introduire la possibilité que le trousseau de clés de la machine ne puisse éventuellement stocker que les clés appliquées par l’autorité de certification.
Eric Snowberg d’Oracle a travaillé sur les restrictions de trousseau de clés d’application de l’autorité de certification afin qu’il puisse y avoir une application par l’autorité de certification (CA) du trousseau de clés de la machine. Snowberg expliqué dans la série de correctifs :
“Avant l’introduction du trousseau de clés machine, la plupart des distributions permettaient simplement à toutes les clés contenues dans le trousseau de clés de la plate-forme d’être utilisées pour la vérification du noyau et du module. Cela a été fait par un correctif hors arbre. Certaines distributions l’ont même pris plus loin et chargé toutes ces clés dans le trousseau de clés de confiance secondaire. Cela a également permis au propriétaire du système d’ajouter sa propre clé pour l’utilisation d’IMA.
Chaque distribution contient une documentation similaire sur la façon de signer les modules du noyau et d’inscrire la clé dans le MOK. processus est assez simple. Avec l’introduction du trousseau de clés de la machine, le processus reste fondamentalement le même, sans avoir besoin de patchs hors de l’arbre.
Le trousseau de clés de la machine a permis aux distributions d’éliminer les patchs hors de l’arbre pour signature du module du noyau. Cependant, il ne permet pas à l’utilisateur final d’ajouter ses propres clés pour IMA. Actuellement, le trousseau de clés de la machine ne peut pas être utilisé comme une autre ancre de confiance pour ajouter des clés au trousseau de clés ima, car l’application de l’autorité de certification n’existe pas actuellement. Cela élargirait l’écart d’intégrité actuel. Le Kconfig IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY indique que des clés peuvent être ajoutées aux trousseaux de clés ima si la clé est validement signée par un certificat CA dans le trousseau de clés de confiance intégré ou secondaire du système. Actuellement, il n’existe pas de code qui applique le contenu d’un certificat CA.
Cette série présente un moyen d’appliquer l’autorité de certification avec le porte-clés de la machine. Il présente trois manières différentes de configurer le trousseau de clés de la machine. De nouvelles options Kconfig sont ajoutées pour contrôler les types de clés qui peuvent y être ajoutées. L’option par défaut autorise toutes les clés MOK dans le trousseau de clés de la machine. Lorsque CONFIG_INTEGRITY_CA_MACHINE_KEYRING est sélectionné, le bit CA X.509 doit être vrai et l’utilisation de la clé doit contenir keyCertSign ; tout autre champ d’utilisation peut également être défini. Lorsque
CONFIG_INTEGRITY_CA_MACHINE_KEYRING_MAX est également sélectionné, le bit CA X.509 doit être vrai et l’utilisation de la clé doit contenir keyCertSign. Avec cette option, l’utilisation de digitalSignature ne peut pas être définie. Si une clé ne passe pas la vérification de restriction CA, au lieu d’entrer dans le trousseau de clés de la machine, elle est ajoutée au trousseau de clés de la plate-forme. Avec la possibilité de configurer
le trousseau de clés de la machine avec des restrictions CA, le code qui empêchait l’activation du trousseau de clés de la machine avec IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY a été supprimé.”
Encore une fois, comme indiqué, ceci est strictement opt-in avec le comportement par défaut autorisant toutes les clés MOK dans le trousseau de clés de la machine.
Le TPMDD pull request a été envoyée aujourd’hui pour le noyau Linux 6.4 et inclut cette nouvelle fonctionnalité.
“Le trousseau de clés.machine, utilisé pour les clés de propriétaire de machine (MOK), a acquis la capacité de stocker uniquement les CA appliquées clés et placez le reste dans le trousseau de clés.platform, séparant ainsi les clés de signature de code des clés utilisées pour signer les certificats. Cela déverrouille essentiellement l’utilisation du trousseau de clés.machine comme ancre de confiance pour IMA. Il s’agit d’une fonctionnalité opt-in, ce qui signifie que les contraintes supplémentaires ne bloqueront personne qui ne s’en soucie pas.”
Les améliorations de Linux autour de la gestion de l’architecture de mesure d’intégrité (IMA) restent un grand domaine d’intérêt pour les acteurs de l’entreprise.