Gestion du chiffrement dans Event Streams
Par défaut, le contenu du message dans IBM® Event Streams for IBM Cloud® est chiffré au repos à l'aide d'une clé générée de manière aléatoire. Bien que ce modèle de chiffrement par défaut fournisse une sécurité au repos, il se peut que vous ayez besoin d'un niveau de contrôle plus élevé. Pour ces cas d'utilisation, Event Streams prend en charge le cryptage géré par le client avec les services de gestion de clés suivants : IBM Cloud®:
- IBM® Key Protect for IBM Cloud® (Bring Your Own Key - BYOK) vous aide à fournir des clés cryptées pour les applications à travers les services IBM Cloud. Lorsque vous gérez le cycle de vie de vos clés, vous avez l'avantage de savoir qu'elles sont sécurisées par des modules de sécurité matériels (HSM) certifiés FIPS 140-2 de niveau 3, basés dans le nuage, qui protègent contre le vol d'informations. Pour plus d'informations sur l'utilisation de Key Protect, voir le tutoriel d'initiation.
- Hyper Protect Crypto Services (Keep Your Own Key-KYOK) est un module HSM dédié à service exclusif que vous contrôlez. Le service repose sur un matériel certifié FIPS 140-2 Level 4, qui propose le niveau de sécurité maximal offert par un fournisseur de cloud sur le marché. Notez que Hyper Protect Crypto Services est obsolète.
IBM Cloud® transfère les services de gestion des clés dédiées de Hyper Protect Crypto Services à IBM® Key Protect Dedicated. Migrer les clés racine existantes de Hyper Protect Crypto Services (HPCS) vers IBM® Key Protect Dedicated (Single Tenant) avant la fin de vie de HPCS (EOL) le 20 mars 2027 pour assurer une disponibilité continue du service. Après cette date, les instances restantes seront supprimées. Pour garantir la disponibilité continue du service et le support, vous devez migrer toutes les clés racine HPCS existantes vers IBM Key Protect Dedicated (Single Tenant) avant la date EOL. Apprenez à migrer vos clés racines.
Ces services permettent l'utilisation d'une clé fournie par le client pour contrôler le chiffrement. En désactivant ou en supprimant cette clé, vous pouvez empêcher tout accès ultérieur aux données stockées par le service, car il n'est plus possible de les décrypter.
Envisagez d'utiliser des clés gérées par le client si vous avez besoin des caractéristiques suivantes :
- Le chiffrement des données au repos est contrôlé par votre propre clé.
- Contrôle explicite du cycle de vie des données stockées au repos.
Les clés gérées par le client sont disponibles sur le plan Enterprise et uniquement sur les clusters créés après octobre 2019.
La suppression de la clé gérée par le client est irrécupérable et entraîne la perte de toutes les données stockées dans votre instance Event Streams.
Cryptage au niveau du message pour assurer la conformité
Certaines normes réglementaires, telles que PCI DSS, exigent que les données sensibles des messages (telles que les informations relatives aux titulaires de cartes) soient cryptées tout au long de leur cycle de vie - au repos, en mouvement et en cours d'utilisation.
Les systèmes de fichiers utilisés par Event Streams pour stocker les données des messages sont cryptés, ce qui les protège contre tout accès non autorisé. Cependant, lorsque les messages passent par la couche de transport, Event Streams doit décrypter ces systèmes de fichiers pour traiter les messages. Bien que cela signifie que les charges utiles des messages ne sont pas chiffrées de bout en bout, le chiffrement en transit et au repos garantit une protection solide tout au long du cycle de vie des messages, conformément aux meilleures pratiques de l'industrie.
Pour garantir que les données sensibles restent illisibles pour toute personne autre que les destinataires prévus, les clients doivent crypter le message lui-même au niveau de l'application avant de l'envoyer à Event Streams- une pratique connue sous le nom de cryptage au niveau du message.
Ce qui n'est pas couvert par le chiffrement géré par le client
Si la fonction de cryptage gérée par le client est sélectionnée, sachez que seules les données utiles des messages sont couvertes par ce cryptage. Event Streams crypte au repos les autres données liées à l'utilisation du service. Toutefois, bien qu'elles soient cryptées, les données utiles autres que les messages ne sont pas cryptées par le système de cryptage géré par le client. Il s'agit par exemple des métadonnées du client telles que les noms des sujets, les données de configuration des sujets, les schémas stockés dans le registre des schémas et les métadonnées stockées en relation avec la configuration de l'instance d'Enterprise.
Par conséquent, n'utilisez pas d'informations confidentielles dans ces métadonnées client.
Fonctionnement du chiffrement géré par le client
Event Streams utilise un concept appelé cryptage d'enveloppe pour mettre en œuvre des clés gérées par le client.
Le chiffrement d'enveloppe est une pratique qui consiste à chiffrer une clé de chiffrement avec une autre clé de chiffrement. La clé utilisée pour chiffrer les données réelles porte le nom de clé DEK (Data Encryption Key). La DEK elle-même n'est jamais stockée, mais elle est enveloppée par une seconde clé, appelée clé de cryptage (KEK), afin de créer une DEK enveloppée.
Pour déchiffrer les données, la clé DEK encapsulée doit d'abord être désencapsulée pour obtenir la clé DEK. Ce processus n'est possible qu'en accédant à la clé KEK, qui est dans ce cas votre clé racine stockée dans Key Protect ou Hyper Protect Crypto Services.
Vous êtes propriétaire de la clé KEK, que vous créez en tant que clé racine dans le service Hyper Protect Crypto Services ou Key Protect. Le service Event Streams ne voit jamais la clé KEK racine. Son stockage, sa gestion et son utilisation pour encapsuler et désencapsuler la clé DEK sont effectués intégralement dans le service de gestion des clés. Si vous désactivez ou supprimez la clé, les données ne peuvent plus être déchiffrées.
Activation d'une clé gérée par le client pour Event Streams
Procédez comme suit pour mettre à disposition votre instance Event Streams afin d'utiliser une clé gérée par le client :
- Mettez à disposition une instance de Key Protect ou Hyper Protect Crypto Services.
- Créez une règle d'autorisation pour permettre au service Event Streams d'accéder à l'instance de service de gestion de clés en tant que Lecteur. Pour plus d'informations, voir Utilisation des autorisations pour accorder l'accès entre les services.
- Créez ou importez une clé racine dans votre instance de service de gestion de clés.
- Récupérer le nom de ressource cloud (CRN) de la clé en utilisant l'option View CRN dans l'interface graphique de l'instance de service de gestion de clés.
- Mettez à disposition une instance d'Event Streams. Cette fonctionnalité n'est prise en charge que sur le plan Enterprise uniquement.
Si vous procédez à la mise à disposition au moyen de la console IBM Cloud®, sélectionnez une instance de service de gestion de clés, puis sélectionnez une clé racine dans cette instance.
Si procédez à la mise à disposition au moyen de l'interface de ligne de commande, utilisez la commande suivante :
ibmcloud resource service-instance-create EVENT-STREAMS-INSTANCE-NAME messagehub ibm.message.hub.enterprise.3nodes.2tb REGION -p '{"kms_key_crn":"KMS_KEY_CRN"}'
Un cluster existant sans clé gérée par le client ne peut pas être mis à jour car il s'agit d'une opération destructive qui entraînera la perte de toutes les définitions de messages et de sujets. Vous devez supprimer et recréer votre instance avec une clé de chiffrement.
Utilisation d'une clé gérée par le client
Après avoir approvisionné une instance d' Event Streams avec une clé gérée par le client, elle fonctionne avec les capacités supplémentaires suivantes.
Interdiction d'accéder aux données
Pour empêcher temporairement l'accès, désactivez votre clé racine. De ce fait, Event Streams ne peut plus accéder aux données car il ne peut plus accéder à la clé.
Pour supprimer définitivement l'accès, effacez la clé. Agissez toutefois avec une extrême prudence, car il est impossible de revenir en arrière. Vous perdez l'accès à toutes les données stockées dans votre instance Event Streams. Il n'est pas possible de récupérer ces données.
Dans les deux cas, l'instance Event Streams s'arrête et n'accepte ou ne traite plus les connexions. Un événement Activity Tracker est généré pour signaler l'action. Pour plus d'informations, voir Evénements Activity Tracker.
L'autorisation doit être laissée en place entre votre Event Streams et l'instance de service de gestion des clés à tout moment, même après la suppression de l'instance de service. Event Streams continuera à avoir besoin de la politique de service à service en place pour désenregistrer la clé. Pour déterminer à quel moment il est prudent de supprimer la règle de service à service, vérifiez les ressources associées sur la clé racine KMS. Si la clé racine est toujours associée à l'instance Event Streams, laissez la politique en place. Si la suppression de cette autorisation empêche Event Streams d'accéder à vos données à l'avenir, les données déjà utilisées restent disponibles pendant un certain temps.
Vous êtes facturé pour votre instance de Event Streams jusqu'à ce que vous la déprovisionniez à l'aide de la console IBM Cloud ou du CLI. Ces frais sont toujours appliqués même si vous avez choisi d'empêcher l'accès à vos données.
Restauration de l'accès aux données
L'accès ne peut être restauré que si la clé n'a pas été supprimée. Pour restaurer l'accès, réactivez votre clé racine. Après une courte période d'initialisation, votre instance Event Streams est redémarrée et recommence à accepter les connexions. Toutes les données sont conservées, dans les limites de conservation normales configurées dans votre instance.
Un événement de suivi d'activité est généré pour signaler l'action. Pour plus d'informations, voir Evénements Activity Tracker.
Rotation des clés
Key Protect et Hyper Protect Crypto Services prennent en charge la rotation des clés racine, à la demande ou de façon planifiée. Lors de la rotation de la clé, Event Streams adopte la nouvelle clé en réencapsulant la clé DEK comme décrit précédemment dans Comment fonctionne le chiffrement géré par le client.
Un événement de suivi d'activité est généré pour signaler l'action. Pour plus d'informations, voir Evénements Activity Tracker.
Désactivation du chiffrement géré par le client
Une fois que vous avez activé le chiffrement géré par le client, il n'est plus possible de le désactiver. Vous devez à la place supprimer l'instance de service et créer une nouvelle instance.
Migration de Hyper Protect Crypto Services (HPCS) vers Key Protect Dedicated (KP-ST)
Lors de la migration de Hyper Protect Crypto Services (HPCS) vers Key Protect Dedicated (KP-ST), le phénomène suivant se produit :
- Chaque instance KMS conserve ses propres clés racine. La migration consiste à réassocier le service à une nouvelle clé racine IBM® Key Protect Dedicated.
- Les clés de chiffrement des données existantes (DEK) sont réenveloppées de manière sécurisée.
- Pendant la transition, les politiques d'accès à Hyper Protect Crypto Services to Service et à Key Protect to Service doivent rester en place.
- Les données cryptées ne sont pas recryptées ni déplacées.
- La disponibilité du service est maintenue.
Prérequis
Avant de commencer la migration, assurez-vous d'avoir
- Une instance Key Protect Dedicated (Single Tenant).
- Clé racine créée dans l'instance Key Protect Dedicated (KP-ST).
- Permissions de gérer les clés et les politiques d'accès aux services.
Etapes de migration
- Identifier la clé racine Hyper Protect Crypto Services existante. La clé doit exister dans une instance Hyper Protect Crypto Services et le service doit déjà y avoir accès.
- Créez ou sélectionnez une clé racine dédiée à Key Protect. La clé doit se trouver dans l'instance Key Protect Dedicated (Single Tenant) appropriée et être accessible au service.
- Créer une intention de migration reliant les deux clés. L'intention de migration fait correspondre la clé actuelle Hyper Protect Crypto Services (source) à la nouvelle clé dédiée Key Protect (cible). Pour plus d'informations sur la migration vers Key Protect, voir Migration de Hyper Protect Crypto Services(HPCS)vers Key Protect Dedicated.
- Comptez 1 à 2 jours ouvrables pour l'exécution de la migration. Event Streams réassocie et réenveloppe les DEK en toute sécurité, le cas échéant, sans réencrypter ni déplacer les données.
- Vérifier l'achèvement de la migration. Le service doit maintenant référencer la clé racine Key Protect ST. Key Protect La clé racine ST doit être visible et active et l'association Hyper Protect Crypto Services doit être supprimée.