Meilleures pratiques relatives aux magasins de clés

Utilisez les meilleures pratiques de sécurité pour sécuriser vos magasins de clés et vos clés principales.

Données d'identification Magasin de clés

La plupart des configurations de magasin de clés exigent que les données d'identification soient transmises au magasin de clés avant que l'accès aux clés stockées soit autorisé. Puisque Db2 doit avoir accès à la base de données des clés, Db2 doit également avoir accès aux informations d'identification de la base de données. Ces informations sont requises lors de l'exécution de la commande db2start . Il existe plusieurs façons de fournir de manière sécurisée Db2 les données d'identification Keystone:
  • Invite de saisie des données d'identification par l'opérateur
  • Accès via un argument de fichier fourni
  • Utilisation d'un fichier "stash"
Un fichier de dissimulation est un fichier brouillé qui contient les données d'identification nécessaires pour accéder au magasin de clés. Définissez ce fichier pour qu'il soit lisible uniquement par le propriétaire de l'instance Db2 . Des détails sur la création d'un fichier de dissimulation sont fournis dans les informations détaillées sur la configuration du magasin de clés .
Remarque: Vérifiez que vous sauvegardez vos mots de passe, en plus d'utiliser un fichier de dissimulation. Cela s'applique en particulier au mot de passe utilisé pour un fichier de clés local. Si votre fichier de dissimulation est corrompu, vous devrez fournir manuellement le mot de passe. Si vous oubliez le mot de passe et que vous ne créez pas de sauvegarde, l'accès à vos clés et à vos données est perdu.

Lors de la création ou de la modification des mots de passe des fichiers keystone locaux, vérifiez que les mots de passe sont fiables à l'aide du paramètre –strong de la commande gsk8capicmd_64 . Pour plus d'informations sur la syntaxe complète de la commande gsk8capicmd_64 , voir le manuel GSKCapiCmd -Guide d'utilisation.

Sauvegardes du magasin de clés

Le contenu de votre magasin de clés est critique et il est important que vous le sauvegardiez à intervalles réguliers. Des sauvegardes doivent être effectuées chaque fois que le contenu du magasin de clés est modifié, par exemple lorsqu'une clé ou un certificat est ajouté, qu'une clé principale (MK) est pivotée ou que le mot de passe est modifié.
Remarque: La sauvegarde en cas de changement de mot de passe s'applique uniquement aux fichiers de dissimulation et non à tous les magasins de clés. Elle s'applique également aux fichiers de clés locaux.

Les fichiers de configuration du magasin de clés ne sont pas inclus dans une sauvegarde de base de données Db2 et doivent être sauvegardés manuellement. Les données d'identification du magasin de clés, si elles sont stockées sur le disque, doivent également être sauvegardées manuellement.

Pour les fichiers de clés locaux, le fichier de configuration n'est pas inclus dans une sauvegarde de base de données Db2 et doit être sauvegardé manuellement.

Pour un magasin de clés centralisé, consultez la documentation de votre produit de magasin de clés afin de comprendre les recommandations relatives aux sauvegardes de magasin de clés.

Unicité du libellé MK

Db2 utilise le libellé MK pour identifier chaque MK de manière unique et stocke la valeur de libellé dans chaque objet chiffré, qu'il s'agisse d'une base de données, d'un journal de transactions ou d'un fichier de sauvegarde. Cette valeur de libellé stockée identifie le MK qui est utilisé pour déchiffrer la clé de chiffrement de données (DEK), qui est utilisée pour chiffrer les données dans l'objet. Il est essentiel d'utiliser des étiquettes MK uniques pour éviter la duplication. Si des libellés uniques ne sont pas utilisés, l'accès aux données chiffrées peut être perdu. L'accès aux données chiffrées est perdu lorsque la valeur MK extraite du magasin de clés pour un libellé est différente de la valeur MK utilisée pour chiffrer la clé DEK dans l'objet.

Conservation de la clé principale

Les clés de chiffrement de données sont nécessaires pour accéder aux clés de chiffrement de données qui sont stockées dans des bases de données chiffrées, des journaux de transactions et des images de sauvegarde. Etant donné que plusieurs MKs peuvent exister pendant la durée de vie de ces objets, il est nécessaire de les conserver pendant la conservation des données chiffrées. Par conséquent, ne supprimez pas les clés gérés du magasin de clés.

Modifications apportées à la configuration du magasin

Une planification réfléchie doit précéder les modifications apportées aux paramètres de configuration du magasin de clés géré par la base de données Db2 ou au contenu d'une configuration de magasin de clés, car toutes les modifications ne peuvent pas être effectuées en ligne. Chaque nouvelle demande de clé lit ces valeurs lorsqu'elle accède au magasin de clés. A quelques exceptions près, les modifications apportées à ces valeurs de configuration sont reflétées dans le traitement Db2 lors de la demande de clé suivante. Bien que les paramètres de configuration du gestionnaire de base de données Db2 keystore_type et keystore_location soient configurables en ligne, vous devez les définir dans une seule commande db2 update dbm cfg . Sinon, Db2 peut tenter d'accéder au magasin de clés entre les mises à jour et signaler une erreur d'accès.

Les modifications apportées aux valeurs de configuration du magasin de clés SSL_KEYDB, SSL_KEYDB_STASH et SSL_KMIP_CLIENT_CERTIFICATE_LABEL nécessitent un redémarrage de l'instance pour prendre effet. Les modifications apportées à la valeur de configuration du magasin de clés LIBRARY ne prennent effet qu'après le redémarrage de Db2 . De même, si la valeur de configuration n'est pas modifiée, les modifications apportées à la copie physique de la bibliothèque ne prennent effet que lorsque Db2 est redémarré. Comme Db2 peut accéder au magasin de clés de manière périodique, il est fortement recommandé d'arrêter Db2 lors des modifications de configuration afin d'éviter les erreurs potentielles. S'il existe une combinaison de bases de données chiffrées et non chiffrées sous la même instance, il suffit de mettre au repos les bases de données chiffrées.

Rotation des clés

La rotation des clés fait référence au processus de modification des clés de chiffrement et est souvent requise à des fins de conformité. La rotation de la clé est effectuée pour réduire le risque qui peut provenir de l'exposition de la clé, alors qu'elle existe. Etant donné que la clé DEK utilisée par Db2 pour le chiffrement n'est jamais en dehors de la base de données chiffrée, de la sauvegarde ou du journal des transactions, le risque d'exposition est faible. Il n'en va pas de même pour le MK, qui vit en dehors de la base de données. Db2 offre un moyen simple de faire pivoter le MK à l'aide de la SYSPROC.ADMIN_ROTATE_MASTER_KEY . Cette procédure déchiffre la clé DEK intégrée, à l'aide de l'ancienne clé MK, puis la rechiffre avec la nouvelle. La rotation de la clé MK n'affecte pas le chiffrement de la clé DEK dans les sauvegardes existantes ou les journaux de transactions archivés, mais elle affecte les futures entrées de clé DEK. Une rotation des clés sur la base de données principale dans un environnement HADR entraîne une rotation des clés automatiquement sur la base de données de secours. Toutefois, la modification n'est pas effectuée tant que d'autres enregistrements de journal ne sont pas envoyés à la base de données de secours. Si vous souhaitez forcer la rotation de la clé sur la base de données de secours, vous pouvez utiliser la commande de journal d'archivage pour générer les enregistrements de journal nécessaires à la relecture de la rotation sur la base de données de secours. Lors de la rotation de la clé MK, la base de données commence à utiliser la nouvelle clé immédiatement, mais l'accès à l'ancienne valeur MK est toujours nécessaire dans les scénarios suivants:
  • Fichiers journaux des transactions qui n'ont pas été réutilisés depuis la rotation des clés
  • Fichiers journaux de transactions chiffrés archivés qui utilisaient la valeur MK précédente
  • Images de sauvegarde chiffrées utilisant la valeur MK précédente
Ne supprimez pas une MK du magasin de clés sauf si vous êtes certain qu'elle n'est plus référencée par un objet chiffré.