22.2. Des clés fiables et cryptées

Trusted keys et encrypted keys sont des éléments importants du renforcement de la sécurité des systèmes.

Les clés de confiance et les clés cryptées sont des clés symétriques de longueur variable générées par le noyau qui utilisent le service de trousseau du noyau. L'intégrité des clés peut être vérifiée, ce qui signifie qu'elles peuvent être utilisées, par exemple, par le module de vérification étendu (EVM) pour vérifier et confirmer l'intégrité d'un système en cours d'exécution. Les programmes de niveau utilisateur ne peuvent accéder aux clés que sous la forme d'informations chiffrées ( blobs).

Clés de confiance

Les clés de confiance nécessitent la puce du module de plate-forme de confiance (TPM), qui est utilisée pour créer et crypter (sceller) les clés. Chaque TPM possède une clé d'enveloppement principale, appelée clé racine de stockage, qui est stockée dans le TPM lui-même.

Note

RHEL 9 ne prend en charge que TPM 2.0. Si vous devez utiliser TPM 1.2, utilisez RHEL 8. Pour plus d'informations, consultez la solution Le Trusted Platform Module (TPM) est-il pris en charge par Red Hat ?

Vous pouvez vérifier qu'une puce TPM 2.0 a été activée en entrant la commande suivante :

$ cat /sys/class/tpm/tpm0/tpm_version_major
2

Vous pouvez également activer une puce TPM 2.0 et gérer le dispositif TPM 2.0 par le biais de paramètres dans le micrologiciel de la machine.

En outre, vous pouvez sceller les clés de confiance avec un ensemble spécifique de valeurs du TPM platform configuration register (PCR). Le PCR contient un ensemble de valeurs de gestion de l'intégrité qui reflètent le micrologiciel, le chargeur de démarrage et le système d'exploitation. Cela signifie que les clés scellées par PCR ne peuvent être décryptées par le TPM que sur le même système que celui sur lequel elles ont été cryptées. Toutefois, lorsqu'une clé de confiance scellée par PCR est chargée (ajoutée à un trousseau) et que les valeurs PCR qui lui sont associées sont vérifiées, elle peut être mise à jour avec de nouvelles (ou futures) valeurs PCR, de sorte qu'un nouveau noyau, par exemple, puisse être démarré. Vous pouvez également enregistrer une seule clé sous la forme de plusieurs blobs, chacun avec une valeur PCR différente.

Clés cryptées
Les clés chiffrées ne nécessitent pas de MPT, car elles utilisent la norme de chiffrement avancé (AES) du noyau, ce qui les rend plus rapides que les clés de confiance. Les clés chiffrées sont créées à l'aide de nombres aléatoires générés par le noyau et chiffrées par master key lorsqu'elles sont exportées dans des blobs de l'espace utilisateur.

La clé principale est soit une clé de confiance, soit une clé d'utilisateur. Si la clé principale n'est pas de confiance, la clé cryptée n'est aussi sûre que la clé utilisateur utilisée pour la crypter.