Gestion externe des clés (EKM)
Gestion externe des clés (EKM)
Stockez et gérez les clés de chiffrement dans un KMS externe tout en protégeant les données Salesforce
L'intégration Salesforce Shield est en préversion et n'est pas encore activée sur les tenants DuoKey Cockpit standard. Ce guide décrit son fonctionnement et sa configuration. Contactez DuoKey pour en discuter dans le cadre de votre projet.
Qu'est-ce que l'EKM ?
La gestion externe des clés (EKM) de Shield connecte votre implémentation Salesforce aux clés de chiffrement stockées dans un KMS externe. Contrairement au BYOK traditionnel où les clés sont téléversées vers Salesforce, l'EKM récupère les clés depuis votre KMS externe uniquement lorsque cela est nécessaire et les met temporairement en cache en mémoire.
Contrôle total des clés
Les clés restent en permanence dans votre KMS externe
Récupération à la demande
Les clés ne sont récupérées que lorsqu'elles sont nécessaires aux opérations
Aucun stockage persistant
Salesforce ne conserve jamais les clés EKM mises en cache
Révocation instantanée
Révoquez l'accès à tout moment depuis votre KMS
Fonctionnement de Salesforce Shield EKM avec DuoKey
Pour l'EKM, le chiffrement de la plateforme Shield s'appuie sur DuoKey KMS (votre service de gestion de clés externe) pour générer et sécuriser les clés de chiffrement des données (DEK) utilisées par le service de chiffrement de la plateforme Shield. Ces DEK résident dans le cache de clés chiffrées de la plateforme Shield, à l'état encapsulé (wrapped). Lorsque des opérations de chiffrement ou de déchiffrement sont nécessaires, le service de la plateforme Shield transmet la DEK encapsulée à DuoKey KMS pour qu'elle soit désencapsulée.
| Édition/Exigence | Détails |
|---|---|
| Expérience | Lightning Experience et Salesforce Classic (non disponible dans toutes les organisations) |
| Éditions | Enterprise, Performance, Unlimited et Developer |
| Licence | Salesforce Shield ou Shield Platform Encryption |
| Service | Service EKM ou Service de clés en cache uniquement |
| Autorisation | Gérer les clés de chiffrement |
Processus de configuration de l'EKM
Le processus commence lorsque vous créez une clé racine dans DuoKey KMS. Vous créez une stratégie qui accorde au KMS régional de Salesforce des autorisations importantes :
- L'autorisation de demander à DuoKey KMS de générer et d'encapsuler une DEK à l'aide de la clé racine
- L'autorisation de demander à DuoKey KMS de désencapsuler la DEK à l'aide de la clé racine du client
Processus de configuration EKM
Configuration initiale entre DuoKey KMS et Salesforce Shield
Créer la clé racine
L'administrateur DuoKey KMS crée une clé racine dans DuoKey KMS
Configurer la stratégie de clé
L'administrateur Salesforce crée une stratégie de clé et la copie dans DuoKey KMS
Demander une DEK
Une fois la stratégie en place, le service de chiffrement Salesforce demande une DEK pour un stockage local
Encapsuler la DEK
DuoKey KMS utilise la clé racine pour créer et encapsuler la nouvelle DEK, qu'il renvoie via un canal sécurisé (TLS/mTLS)
Stocker la DEK encapsulée
Le service de chiffrement stocke la DEK encapsulée dans la table TenantSecret
Processus de récupération de clé EKM
Lorsque le service de chiffrement de la plateforme Shield détecte des opérations de chiffrement nécessitant la DEK EKM, il vérifie son cache de clés chiffrées. Si la DEK désencapsulée n'est pas présente dans le cache, le service de chiffrement de la plateforme Shield initie une requête à travers la chaîne complète de récupération de clé :
Chaîne de récupération de clé
Flux de récupération des clés
Comment Salesforce récupère et met en cache les clés de chiffrement depuis DuoKey
Chiffrer / Déchiffrer avec AES-256
Les données sont chiffrées dans Salesforce — la révocation de clé depuis DuoKey désactive l'accès instantanément
Récupération de clé étape par étape
- Un utilisateur accède à des données chiffrées ou les enregistre
- Le service de chiffrement de la plateforme Shield récupère la DEK encapsulée depuis la table TenantSecret
- Le service de chiffrement obtient la DEK encapsulée depuis la base de données TenantSecret
- Une requête est envoyée à AWS KMS configuré avec un magasin de clés externe
- AWS KMS transmet la requête au XKS Proxy via TLS 1.2+
- Le XKS Proxy achemine la requête vers DuoKey Cockpit pour un routage intelligent
- DuoKey Cockpit transmet à DuoKey MPC, qui désencapsule la DEK à l'aide de la cryptographie à seuil
- La DEK désencapsulée est renvoyée à Salesforce via le canal sécurisé
- Le service de chiffrement stocke la clé désencapsulée dans le cache de clés (en mémoire uniquement, jamais persistée)
- Le service effectue les opérations de chiffrement/déchiffrement à l'aide d'AES-256
Vue d'ensemble de l'architecture
Architecture EKM avec DuoKey
Chaîne complète de récupération des clés : Salesforce → AWS KMS → XKS Proxy → DuoKey MPC
Routage intelligent
DuoKey Cockpit achemine les requêtes vers le coffre approprié en fonction des stratégies de clé
Prise en charge multi-coffres
Connectez-vous à HashiCorp Vault, CyberArk, DuoKey MPC ou AWS KMS
Cryptographie à seuil
DuoKey MPC fournit un calcul multipartite pour une sécurité renforcée
Gestion unifiée
Une interface unique pour gérer les clés à travers différents backends
Processus de chiffrement avec l'EKM
L'utilisateur soumet des données
Un utilisateur enregistre des données dans un champ chiffré de Salesforce
Vérification du cache
Le serveur d'application vérifie si la DEK se trouve dans le cache de clés
Récupération de la clé
Si elle n'est pas en cache, Salesforce demande la clé de manière sécurisée à votre KMS externe
Mise en cache de la clé
La clé est stockée temporairement en mémoire (jamais persistée sur disque)
Chiffrement des données
Les données sont chiffrées à l'aide du chiffrement AES 256 bits
Stockage
Les données chiffrées sont stockées dans la base de données
Flux de récupération de clé
| Scénario | Description | Temps de réponse |
|---|---|---|
| Succès de cache (chemin rapide) | La DEK est déjà dans le cache mémoire. Aucun appel réseau vers le KMS externe n'est requis. | < 10 ms |
| Échec de cache | La DEK est introuvable dans le cache. La clé est récupérée depuis AWS KMS/XKS Proxy puis mise en cache. | 50-200 ms |
En coulisses : le chiffrement de la plateforme Shield
En coulisses : chiffrement Shield
Processus en trois phases pour la génération du secret de tenant, la dérivation de clé et le chiffrement des données
- Chaque enregistrement utilise un IV unique (empêche l'analyse de motifs)
- La DEK n'est jamais stockée en clair
- PBKDF2 rend la force brute coûteuse en calcul
- Rotation de clé prise en charge sans re-chiffrement des données
Phase 1 : Génération du secret de tenant
- Un module de sécurité matériel (HSM) génère un secret de tenant de 256 bits cryptographiquement sécurisé
- Le secret de tenant est chiffré avec la clé maître de Salesforce à l'aide d'AES-256-GCM
- Le secret de tenant chiffré est stocké de manière sécurisée dans la base de données
- Cela garantit la protection du secret de tenant au repos
Phase 2 : Dérivation de clé (PBKDF2)
- Combine le secret de tenant + le secret principal + le sel (identifiant de l'organisation)
- Utilise PBKDF2-HMAC-SHA256 avec 10 000 itérations
- Coûteux en calcul afin de prévenir les attaques par force brute
- Génère une clé de chiffrement des données (DEK) de 256 bits
- La DEK est unique par organisation et change lorsque le secret de tenant est renouvelé
Phase 3 : Chiffrement des données
- Chaque enregistrement reçoit un vecteur d'initialisation (IV) aléatoire unique de 128 bits
- Les données en clair + l'IV + la DEK sont les entrées d'AES-256-CBC
- Sortie : texte chiffré + IV + identifiant de clé stockés dans la base de données
- L'IV empêche l'analyse de motifs entre les enregistrements
- L'identifiant de clé permet la rotation des clés sans migration de données
KMS externes pris en charge
AWS Key Management Service (AWS KMS)
AWS KMS est un service managé qui facilite la création et le contrôle des clés de chiffrement. Il s'intègre de façon transparente avec l'EKM de Salesforce.
| Fonctionnalité | Description |
|---|---|
| Validation HSM | HSM validés FIPS 140-2 niveau 2 |
| Rotation des clés | Prise en charge de la rotation automatique des clés |
| Journalisation d'audit | Journalisation détaillée avec AWS CloudTrail |
| Contrôle d'accès | Contrôle granulaire avec les stratégies IAM |
| Réplication | Réplication de clés multi-régions |
Que peut-on chiffrer avec l'EKM ?
Chiffrement au niveau des champs
- Champs standard : chiffrez les champs standard sensibles
- Champs personnalisés : champs texte, e-mail, téléphone, URL
- Probabiliste : empêche l'analyse statistique
- Déterministe : autorise les recherches insensibles à la casse
Chiffrement de Data Cloud
- Toutes les données Data Cloud : chiffrez les ressources de données
- Clés gérées par le client : utilisez des clés racines EKM
- Stratégie de clé unique : une seule clé racine pour toutes les données
Chiffrement de l'index de recherche
- Fichiers d'index de recherche : chiffrez avec des clés racines EKM
- DEK distinctes : générez des DEK distinctes pour les index
Prérequis de l'EKM
Prérequis
- Licence Salesforce Shield ou Shield Platform Encryption
- Module complémentaire de gestion externe des clés
- Autorisation utilisateur « Gérer les clés de chiffrement »
- Licence Platform Encryption for Consumption (pour Data Cloud)
- Clé de chiffrement symétrique AWS KMS (256 bits)
- Stratégies AWS IAM correctement configurées
- Accès réseau de Salesforce au point de terminaison AWS KMS
- Named Credential Salesforce configuré pour l'authentification AWS
Exigences de robustesse des clés
| Exigence | Spécification |
|---|---|
| Taille de clé minimale | Clé symétrique de 256 bits |
| Algorithme pris en charge | Chiffrement AES-256 |
| Génération de clé | Générateur de nombres aléatoires cryptographiquement sécurisé |
Configuration de l'EKM
Créer une clé AWS KMS
- Connectez-vous à la console de gestion AWS
- Accédez à AWS Key Management Service
- Créez une nouvelle clé de chiffrement symétrique (256 bits)
- Configurez les stratégies de clé pour autoriser l'accès de Salesforce
- Notez l'ID de la clé et la région AWS
Configurer le Named Credential
Créez un Named Credential pour vous authentifier auprès d'AWS :
- Dans Salesforce Setup, accédez à Named Credentials
- Créez un nouveau Named Credential avec l'authentification AWS Signature Version 4
- Configurez : AWS Access Key ID, AWS Secret Access Key, région AWS, service AWS (
kms)
Configurer la stratégie de coordination de clé
- Accédez à Setup → Platform Encryption → Key Management
- Sélectionnez External Key Management
- Cliquez sur New EKM Key
- Renseignez : identifiant de clé (ARN), région AWS, Named Credential, description
Générer la clé de chiffrement des données
- Après avoir créé la clé racine EKM, générez une clé de chiffrement des données (DEK)
- La DEK est créée dans Salesforce et chiffrée avec votre clé racine EKM
- La DEK chiffrée est stockée dans Salesforce mais ne peut être déchiffrée qu'à l'aide de votre clé externe
Activer et tester
- Activez la clé EKM dans Salesforce
- Testez la connexion pour vous assurer que Salesforce peut récupérer la clé
- Appliquez la clé à votre stratégie de chiffrement
- Chiffrez des champs de test pour vérifier la configuration
Opérations de gestion des clés
Rotation des clés EKM
La rotation peut être effectuée sans interruption de service. Les anciennes clés sont archivées et conservées pour le déchiffrement des données existantes. Les nouvelles données sont chiffrées avec la nouvelle clé tandis que des processus en arrière-plan rechiffrent les données existantes.
Vérification de la connexion à la clé EKM
- Accédez à Setup → Platform Encryption → Key Management
- Sélectionnez votre clé EKM
- Cliquez sur Check Connection
- Examinez l'état de la connexion et les éventuels messages d'erreur
Audit de l'utilisation des clés EKM
| Source | Événements suivis |
|---|---|
| Piste d'audit de Salesforce Setup | Création de clé, activation/désactivation, rotation, vérifications de connexion |
| AWS CloudTrail | Demandes d'accès aux clés, opérations de déchiffrement, modifications de stratégie, tentatives d'authentification |
Désactivation d'une clé EKM
La désactivation d'une clé l'évince immédiatement du cache de Salesforce et empêche toute nouvelle opération de chiffrement. Les données déjà chiffrées restent chiffrées et peuvent toujours être déchiffrées si la clé est disponible dans le KMS externe.
- Accédez aux paramètres de votre clé EKM
- Cliquez sur Deactivate
- Confirmez l'action
L'EKM dans les environnements sandbox
Les clés de production ne peuvent être utilisées que pour le déchiffrement dans les sandbox. Créez toujours des clés racines distinctes spécifiquement pour les environnements sandbox.
Bonnes pratiques pour les sandbox
- Créez une clé AWS KMS distincte pour les environnements sandbox
- Configurez des Named Credentials distincts pour le sandbox
- Après un rafraîchissement du sandbox, créez une nouvelle clé racine EKM pour le sandbox
- Effectuez la rotation de toutes les DEK du sandbox pour utiliser la nouvelle clé racine
- N'utilisez jamais de clés de production pour les opérations de chiffrement du sandbox
Considérations critiques
Disponibilité des clés : votre application Salesforce dépend de vos clés externes. Si la clé devient indisponible, les utilisateurs peuvent perdre définitivement l'accès aux données chiffrées.
Prévention de la perte de clé : mettez en œuvre des stratégies robustes de rotation et de sauvegarde des clés pour vous prémunir contre toute perte de clé imprévue.
Impact de la désactivation d'une clé : si une clé n'est pas disponible, ni le chiffrement ni le déchiffrement ne sont possibles. Les utilisateurs verront trois points d'interrogation (???) au lieu des données, et les opérations d'écriture échoueront.
Bonnes pratiques
Liste de contrôle des bonnes pratiques EKM
Considérations spécifiques à Data Cloud
- Clé unique : Data Cloud utilise une seule clé racine pour toutes les données
- Nouvelles données uniquement : la migration d'une clé gérée par le client vers l'EKM n'affecte que les nouvelles données
- Rechiffrement complet : la migration vers une clé gérée par le client déclenche le rechiffrement de toutes les données Data Cloud
- Licence requise : vous devez disposer d'une licence Platform Encryption for Consumption
Dépannage de l'EKM
Obtenir de l'aide
- Consultez la piste d'audit de Salesforce Setup pour les modifications de configuration récentes
- Examinez les journaux AWS CloudTrail pour les tentatives d'accès KMS et les erreurs
- Utilisez la fonctionnalité Check Connection de Salesforce pour diagnostiquer les problèmes de connectivité
- Contactez le support Salesforce en fournissant : identifiant de l'organisation, identifiant de la clé EKM, messages d'erreur, horodatages, extraits de la piste d'audit
Comparaison : EKM vs BYOK vs clés en cache uniquement
| Fonctionnalité | EKM | BYOK | Clés en cache uniquement |
|---|---|---|---|
| Emplacement de la clé | KMS externe | Téléversée vers Salesforce | Service client |
| Stockage de la clé | Jamais stockée dans SF | Stockée chiffrée dans SF | Jamais stockée dans SF |
| Mise en cache de la clé | Temporaire en mémoire | Dérivée d'un secret stocké | Temporaire en mémoire |
| Révocation | Instantanée (désactivation dans le KMS) | Nécessite une rotation de clé | Instantanée |
| Dépendance réseau | Requise pour la récupération | Non requise après le téléversement | Requise pour la récupération |
| Complexité | Élevée | Moyenne | Élevée |
| Idéal pour | Conformité stricte | Équilibre contrôle/simplicité | Contrôle maximal |