L'outil d'encryption Split-Trust (STET) fournit un mécanisme de distribution qui permet de transférer des données de clé de manière sécurisée dans et hors de Google Cloud de manière vérifiable et cryptographiquement protégée des initiés Google Cloud .
Pour ce faire, deux systèmes de gestion des clés (KMS) sont utilisés : l'un interne àGoogle Cloud, l'autre externe. Même si un KMS est compromis, le second est là pour vous aider à protéger la confidentialité de vos données.
Vous trouverez ci-dessous une série d'exemples impliquant des données transmises à Cloud Storage et traitées à l'aide de VM Compute Engine. Les exemples présentent des niveaux de sécurité croissants pour expliquer comment le STET s'intègre à votre flux de sécurité.
Niveau 1: Cloud Storage
Lorsque vous ingérez des données dans Google Cloud, vous pouvez utiliser Cloud Storage pour mettre les données à la disposition de vos charges de travail dans le cloud. Vous pouvez importer les données depuis vos environnements informatiques sur site vers un bucket Cloud Storage, permettre à votre charge de travail d'accéder à ce bucket et faire en sorte que la charge de travail (ou plusieurs charges de travail) utilise ces données si nécessaire. Cette stratégie évite le processus complexe de créer une connexion active directement vers la charge de travail pour lui envoyer les données dont elle a besoin.
Cloud Storage chiffre toujours vos données au repos. Toutefois, si vous confiez ce chiffrement à Cloud Storage, il a nécessairement accès aux données non chiffrées (texte brut) avant le chiffrement, ainsi qu'aux clés de chiffrement utilisées pour créer les données chiffrées (texte chiffré). Selon votre type de menace, il peut être souhaitable de chiffrer les données avant de les envoyer à Cloud Storage, afin que Cloud Storage n'ait jamais de visibilité sur le texte brut.
Niveau 2: Chiffrement côté client
Lorsque vous utilisez le chiffrement côté client, vous chiffrez les données avant de les importer dans Cloud Storage, puis vous ne les déchiffrez qu'après leur téléchargement dans votre charge de travail. En conséquence, Cloud Storage a accès au texte chiffré, mais pas au texte brut. Cloud Storage ajoute une autre couche de chiffrement avant de les stocker, mais la protection principale des données est le chiffrement effectué avant l'importation.
Avec cette approche, vous devez maintenant donner à la charge de travail l'accès à la clé de chiffrement nécessaire pour déchiffrer les données. Cette tâche est potentiellement difficile, car la clé de chiffrement permet de supprimer la couche de chiffrement d'origine et de gagner en visibilité sur les données.
Niveau 3: Gestion des clés externes
Une approche courante de ce problème de gestion des clés consiste à utiliser un service de gestion des clés (KMS, Key Management Service) dédié qui contient les clés et gère l'accès à celles-ci. À chaque tentative de chiffrement ou de déchiffrement, une requête doit être envoyée au service de gestion des clés. Le service de gestion des clés peut accorder l'accès en fonction de divers critères pour s'assurer que seules les parties appropriées peuvent déchiffrer les données.
Les systèmes KMS ont la possibilité d'exiger un certain nombre de critères différents avant d'autoriser l'accès à la clé de chiffrement, mais ils nécessitent généralement des identifiants correspondant à une règle configurée sur le service de gestion des clés. Par conséquent, toute partie disposant de ces identifiants pourra accéder à la clé de chiffrement et déchiffrer les données.
Niveau 4: Informatique confidentielle
Les instances Confidential VM s'exécutent avec une mémoire chiffrée et offrent une protection supplémentaire contre les accès non intentionnels aux données lorsqu'elles sont utilisées. Pour de nombreux types de menaces, les instances de Confidential VM sont plus fiables que les instances standards, ce qui leur permet d'être utilisées pour des charges de travail sensibles.
Si votre modèle de menace repose sur l'informatique confidentielle, l'un des problèmes consiste à s'assurer qu'une charge de travail s'exécute dans une instance de VM de Confidential VMs. L'attestation à distance permet à la charge de travail de prouver à une partie distante qu'elle est exécutée dans une instance de VM Confidential et de confirmer de nombreuses autres propriétés concernant la configuration et l'environnement de la charge de travail. Les attestations étant générées par la plate-forme, la charge de travail ne peut pas créer de fausses attestations qui ne reflètent pas son environnement réel.
Un service de gestion des clés peut exiger et évaluer ces attestations avant d'autoriser l'accès aux clés. Cette exigence permet de garantir que seule la charge de travail prévue est autorisée à déchiffrer les données, même si les identifiants normaux sont compromis.
Niveau 5: Répartir la confiance
Lorsque vous utilisez un seul service de gestion des clés, celui-ci dispose d'un contrôle total sur les clés de chiffrement. Si l'opérateur du service de gestion des clés obtenait le texte chiffré de vos données chiffrées, il disposerait de tous les éléments nécessaires pour les déchiffrer. Bien que ce risque puisse être acceptable si le service de gestion des clés est géré par une entité entièrement approuvée, certains types de menaces entraînent la nécessité de supprimer le contrôle unilatéral du service de gestion des clés.
Avec l'outil de chiffrement par répartition de confiance, vous avez la possibilité de répartir cette approbation entre deux systèmes KMS, sans qu'aucun de ces services ne dispose d'informations suffisantes pour déchiffrer vos données. Il faudrait un conflit entre les deux opérateurs KMS (et l'accès au texte chiffré) pour déchiffrer vos données.
Si vous utilisez une VM confidentielle, STET facilite également le chiffrement et le déchiffrement des données à l'aide de clés stockées dans un service de gestion des clés qui nécessite des attestations.
Dans l'ensemble, l'outil de chiffrement par répartition de confiance permet de s'assurer que les seules entités ayant accès à vos données en texte brut sont l'origine des données (par exemple, un système sur site) et le consommateur des données (par exemple, une charge de travail s'exécutant dans une instance de VM Confidential).
Pour en savoir plus sur l'utilisation de STET, consultez le dépôt GitHub et le guide de démarrage rapide.
Confidential Space avec l'outil de chiffrement par répartition de confiance
Si vous utilisez Confidential Space, STET peut utiliser le jeton d'attestation de Confidential Space comme preuve d'attestation lors de l'accès à la clé de chiffrement de clé (KEK) stockée dans Cloud KMS.
STET gère l'accès aux clés Cloud KMS pour votre charge de travail et permet d'utiliser l'Confidential Space pour effectuer une attestation pour le workflow de chiffrement, le workflow de déchiffrement ou les deux.
Vous pouvez créer une configuration STET qui inclut des informations telles que le nom du pool d'identités de charge de travail (WIP), les URI Cloud KMS et les informations de déchiffrement. STET utilise ensuite ces informations pour s'intégrer à la configuration de votre Confidential Space.
Pour en savoir plus, consultez le dépôt GitHub et le guide d'intégration de l'espace confidentiel.