Recommandations pour le chiffrement des données

S’applique à la recommandation de liste de contrôle de Well-Architected Framework Security :

SE :07 Chiffrez les données à l’aide de méthodes modernes standard pour protéger la confidentialité et l’intégrité. Aligner l’étendue du chiffrement avec les classifications de données ; hiérarchiser les méthodes de chiffrement de plateforme native.

Si vos données ne sont pas protégées, elles peuvent être modifiées de manière malveillante, ce qui entraîne une perte d’intégrité et de confidentialité.

Ce guide décrit les recommandations relatives au chiffrement et à la protection de vos données. Le chiffrement est le processus d’utilisation d’algorithmes de chiffrement pour rendre les données illisibles et verrouiller les données avec une clé. Dans l’état chiffré, les données ne peuvent pas être déchiffrées. Il ne peut être déchiffré qu’à l’aide d’une clé associée à la clé de chiffrement.

Définitions

Termes Définition
Certificats Fichiers numériques qui contiennent les clés publiques pour le chiffrement ou le déchiffrement.
Suite de chiffrement Ensemble d’algorithmes utilisés pour chiffrer et déchiffrer des informations afin de sécuriser une connexion réseau via TLS (Transport Layer Security).
Informatique confidentielle L’informatique confidentielle est la protection des données en cours d’utilisation en effectuant des calculs dans un environnement d’exécution approuvé basé sur le matériel et attesté.
Déchiffrement Processus dans lequel les données chiffrées sont déverrouillées avec un code secret.
Double chiffrement Processus de chiffrement des données à l’aide de deux couches de chiffrement indépendantes ou plus.
Chiffrement Processus par lequel les données sont rendues illisibles et verrouillées avec un code secret.
Hashing Processus de transformation de données en texte ou en nombres dans l’intention de masquer des informations.
Touches Code secret utilisé pour verrouiller ou déverrouiller des données chiffrées.
Signature Empreinte chiffrée de l’authentification sur les données.
Signature Processus de vérification de l’authenticité des données à l’aide d’une signature.
X.509 Standard qui définit le format des certificats de clé publique.

Stratégies de conception

Les mandats organisationnels ou les exigences réglementaires peuvent appliquer des mécanismes de chiffrement. Par exemple, il peut être nécessaire que les données restent uniquement dans la région sélectionnée et que les copies des données soient conservées dans cette région.

Ces exigences sont souvent le minimum de base. S’efforcer d’obtenir un niveau de protection plus élevé. Vous êtes responsable de la prévention des fuites de confidentialité et de la falsification des données sensibles, qu’il s’agisse de données d’utilisateur externe ou de données d’employés.

Scénarios de chiffrement

Les mécanismes de chiffrement doivent probablement sécuriser les données en trois étapes :

  • Les données au repos sont toutes les informations qui sont conservées dans des objets de stockage.

    Un exemple de sécurisation des données au repos consiste à utiliser BitLocker pour chiffrer les données enregistrées dans le stockage sur un disque.

  • Les données en transit sont des informations transférées entre des composants, des emplacements ou des programmes.

    Un exemple de sécurisation des données en transit est le chiffrement des données avec TLS afin que les paquets qui se déplacent sur des réseaux publics et privés soient sécurisés.

  • Les données utilisées sont des données qui sont activement travaillées en mémoire.

    Un exemple de sécurisation des données en cours d’utilisation est le chiffrement avec l’informatique confidentielle pour protéger les données au fur et à mesure qu’elles sont traitées.

Les choix précédents ne s’excluent pas mutuellement. Ils sont souvent utilisés ensemble dans le contexte de l’ensemble de la solution. Une étape peut servir de contrôle de compensation. Par exemple, vous devrez peut-être isoler les données pour empêcher la falsification lorsque les données sont lues à partir de la mémoire.

Étendue du chiffrement

Classifiez les données en fonction de leur objectif et de leur niveau de confidentialité pour déterminer les données à chiffrer. Pour les données qui doivent être chiffrées, déterminez le niveau de protection requis. Avez-vous besoin d’un chiffrement TLS de bout en bout pour toutes les données en transit ? Pour les données au repos, quelles fonctionnalités Azure peuvent répondre à vos besoins ? Avez-vous besoin de double chiffrer les données à chaque point de stockage ? Comment implémentez-vous la protection des informations ?

Il est important d’équilibrer vos décisions de chiffrement, car il existe d’importants compromis.

Compromis : chaque tronçon de chiffrement peut introduire une latence des performances. Des complexités opérationnelles peuvent se produire en ce qui concerne la résolution des problèmes et l’observabilité. La récupération peut être un défi.

Limitez ces compromis. Anticipez les compromis pour les données classées comme sensibles. Les exigences peuvent même déterminer les compromis, par exemple si un certain type de données doit être chiffré et stocké dans certains seuils.

Il existe des cas où le chiffrement n’est pas possible en raison de limitations techniques, d’investissements ou d’autres raisons. Assurez-vous que ces raisons sont claires, valides et documentées.

Les mécanismes de chiffrement forts ne doivent pas être votre seule forme de défense. Implémentez des processus de prévention du vol de données, des méthodes de test appropriées et la détection des anomalies.

Pour plus d’informations sur la classification, consultez Recommandations sur la classification des données.

Mécanismes de chiffrement natifs

La plupart des services Azure fournissent un niveau de chiffrement de base. Explorez les options de chiffrement fournies par la plateforme.

Il est vivement recommandé de ne pas désactiver les fonctionnalités de la plateforme pour développer vos propres fonctionnalités. Les fonctionnalités de chiffrement de plateforme utilisent les normes modernes du secteur, sont développées par des experts et sont hautement testées.

Dans de rares cas, si vous devez remplacer le chiffrement fourni par la plateforme, évaluez les avantages et les inconvénients et utilisez des algorithmes de chiffrement standard.

Les développeurs doivent utiliser des API de chiffrement intégrées au système d’exploitation plutôt que des bibliothèques de chiffrement non plateforme. Pour .NET, suivez le modèle de chiffrement .NET.

Clés de chiffrement

Par défaut, les services Azure utilisent des clés de chiffrement gérées par Microsoft pour chiffrer et déchiffrer les données. Azure est responsable de la gestion des clés.

Vous pouvez opter pour des clés gérées par le client. Azure utilise toujours vos clés, mais vous êtes responsable des opérations de clé. Vous avez la possibilité de modifier les clés quand vous le souhaitez. Le déchiffrement est une raison convaincante d’utiliser des clés gérées par le client.

Vous devez associer un chiffrement fort à un déchiffrement fort. Du point de vue de la sécurité, la protection d’une clé de déchiffrement est importante, car la rotation est un moyen courant de contrôler le rayon d’explosion si une clé est compromise. Surveillez l’accès pour détecter les activités et les accès anormals.

Stockez des clés distinctes des données chiffrées. Ce découplage permet de s’assurer que la compromission d’une entité n’affecte pas l’autre. Si vous utilisez des clés gérées par le client, stockez-les dans un magasin de clés. Stockez des données hautement sensibles dans un module de sécurité matérielle managée (HSM).

Les deux magasins sont protégés par un accès basé sur l’identité. Cette fonctionnalité vous permet de refuser l’accès, même à la plateforme.

Algorithmes de chiffrement normalisés

Utilisez des algorithmes de chiffrement bien établis et qui respectent les normes du secteur au lieu de créer des implémentations personnalisées.

Les normes du secteur pour les algorithmes exigent que les schémas de chiffrement aient un certain niveau d’entropie. Les sources d’entropie sont injectées pendant le chiffrement. L’entropie rend l’algorithme fort et rend difficile pour un attaquant d’extraire des informations. Déterminez les seuils tolérables de l’entropie. Les procédures de chiffrement sont gourmandes en processeur. Trouvez le bon équilibre afin d’optimiser les cycles de calcul qui sont dépensés sur le chiffrement, par rapport aux objectifs de performances globales de la demande de calcul.

Compromis : Si vous choisissez un algorithme très complexe ou injecte plus d’une quantité raisonnable d’entropie, cela dégrade les performances de votre système.

Hachages et sommes de contrôle

En règle générale, le hachage est une technique de détection d’erreurs. Vous pouvez également utiliser le hachage pour la sécurité, car il détecte les modifications apportées aux données qui peuvent être provoquées par une falsification. Les fonctions de hachage sont basées sur le chiffrement, mais elles n’utilisent pas de clés. Les fonctions de hachage utilisent des algorithmes pour produire des sommes de contrôle. Les sommes de contrôle peuvent comparer des données pour vérifier leur intégrité.

Les applications doivent utiliser la famille SHA-2 d’algorithmes de hachage, tels que SHA-256, SHA-384 ou SHA-512.

Données au repos

Classifiez et protégez les objets de stockage d’informations conformément aux exigences de conformité internes et externes. Consultez les recommandations suivantes :

  • Chiffrez les données à l’aide d’options natives fournies pour les services de stockage, les magasins de données et d’autres ressources utilisées pour conserver les données. Chiffrez ces données même si vous stockez des données dans ces services ou ressources de stockage uniquement temporairement. Chiffrez également vos données de sauvegarde pour conserver le même niveau de sécurité que la source d’origine.

    Pour plus d’informations, consultez Protection des données au repos.

  • Utilisez le double chiffrement. Si les besoins de votre entreprise demandent une assurance plus élevée, vous pouvez effectuer un double chiffrement. Chiffrez les données dans deux couches ou plus à l’aide de clés gérées par le client indépendantes. Stockez les données dans un HSM managé. Pour lire les données, vous devez accéder aux deux clés. Si une clé est compromise, l’autre clé protège toujours les données. Cette technique vise à augmenter les coûts des attaquants.

    Vous pouvez également utiliser le chiffrement fourni par la plateforme pour double chiffrer les données. Le chiffrement fourni par la plateforme protège le support de stockage au niveau de l’infrastructure, et vous appliquez une autre couche de chiffrement au niveau des données. Par exemple, un service de répartiteur de messages dispose d’un chiffrement fourni par la plateforme via des clés gérées par Microsoft qui protège le canal de message. Cette méthode vous permet de chiffrer les messages avec des clés gérées par le client.

    Utilisez plusieurs clés de chiffrement. Utilisez une clé de chiffrement de clé (KEK) pour protéger votre clé de chiffrement des données (DEK).

  • Utilisez des contrôles d’accès basés sur l’identité pour contrôler l’accès aux données. Ajoutez des pare-feu réseau pour fournir une couche de sécurité supplémentaire qui bloque les accès inattendus et non sécurisés.

    Pour plus d’informations, consultez Recommandations pour la gestion des identités et des accès.

  • Stockez les clés dans un HSM managé qui dispose d’un contrôle d’accès avec privilèges minimum. Séparez les données des clés des données.

  • Stockez une quantité limitée de données afin de chiffrer uniquement ce qui est nécessaire. Vos données ne doivent pas durer plus longtemps que votre cycle de chiffrement. Lorsque les données ne sont plus nécessaires, supprimez les données chiffrées sans passer des cycles de déchiffrement.

Données en transit

  • Utilisez des protocoles sécurisés pour la communication client-serveur. Les protocoles de transport ont une couche de sécurité intégrée. TLS est la norme du secteur pour l’échange de données entre les points de terminaison client et serveur.

    N’utilisez pas de versions inférieures à TLS 1.2. Migrez des solutions pour prendre en charge TLS 1.2 et utilisez cette version par défaut. Tous les services Azure prennent en charge TLS 1.2 sur les points de terminaison HTTPS publics.

    Risque : les clients plus anciens qui ne prennent pas en charge TLS 1.2 peuvent ne pas fonctionner correctement si la compatibilité descendante n’est pas prise en charge.

    Toutes les communications sur le site web doivent utiliser HTTPS, quelle que soit la sensibilité des données transférées. Lors d’une négociation client-serveur, négociez l’utilisation de la stratégie HTTP Strict Transport Security (HSTS) afin que le transport HTTPS soit conservé et ne soit pas transféré vers HTTP pendant la communication. Cette stratégie protège contre les attaques de l’intercepteur.

    La prise en charge de HSTS concerne les versions plus récentes. Vous risquez d’interrompre la compatibilité descendante avec les navigateurs plus anciens.

    Notes

    Vous pouvez également chiffrer des protocoles pour établir des connexions sécurisées pour les bases de données. Par exemple, Azure SQL Database prend en charge le protocole TDS (Tabular Data Stream), qui intègre une liaison TLS.

    Une suite de chiffrement est un ensemble d’algorithmes utilisés pour normaliser l’établissement d’une liaison entre le client et le serveur. Les chiffrements garantissent que l’échange est chiffré et authentifié. Le choix des chiffrements dépend de la version TLS que le serveur utilise. Pour certains services, tels que Azure Application Gateway, vous pouvez choisir la version de TLS et les suites de chiffrement que vous souhaitez prendre en charge. Implémentez des suites de chiffrement qui utilisent la norme AES (Advanced Encryption Standard) comme chiffrement par blocs symétriques. AES-128, AES-192 et AES-256 sont acceptables.

  • Gérer le cycle de vie des certificats. Les certificats ont une durée de vie prédéterminée. Ne conservez pas les certificats de longue durée et ne les laissez pas expirer par eux-mêmes. Implémentez un processus qui renouvelle les certificats à une fréquence acceptable. Vous pouvez automatiser le processus pour les renouvellements qui se produisent à de courts intervalles.

    Notes

    Si vous utilisez l’épinglage de certificat, familiarisez-vous avec les limitations d’agilité et de gestion des certificats.

    Votre workflow ne doit pas autoriser l’acceptation de certificats non valides dans l’environnement. Le processus d’épinglage de certificat doit valider les certificats et appliquer ces case activée de validation. Vous devez surveiller les journaux d’accès pour vous assurer que la clé de signature est utilisée avec les autorisations appropriées.

    Si une clé est compromise, le certificat doit être révoqué immédiatement. Une autorité de certification fournit une liste de révocation de certificats qui indique les certificats qui sont invalidés avant leur expiration. Votre case activée de validation doit prendre en compte les listes de révocation de certificats.

    Compromis : le processus de validation de certification peut être fastidieux et implique généralement une autorité de certification. Déterminez les données que vous devez chiffrer avec des certificats. Pour d’autres types de communication, déterminez si vous pouvez implémenter des contrôles de compensation localisés pour ajouter de la sécurité.

    L’une des façons de localiser les contrôles consiste à utiliser le protocole TLS mutuel (mTLS). Il établit l’approbation dans les deux sens entre le client et le serveur. Le client et le serveur ont leurs propres certificats, et chaque certificat est authentifié avec leur paire de clés publique ou privée. Avec mTLS, vous ne dépendez pas de l’autorité de certification externe. L’inconvénient est la complexité supplémentaire de la gestion de deux certificats.

  • Double chiffrement des connexions VPN si nécessaire. Effectuez un double chiffrement pour ajouter une défense en profondeur à votre tunnel VPN. Lorsque vous utilisez deux serveurs VPN, vous pouvez masquer l’adresse IP entre les serveurs, ainsi que l’adresse IP entre le serveur et la destination. Pendant ce processus, les données en transit sont également chiffrées deux fois.

    Compromis : par rapport aux configurations VPN uniques, les configurations VPN doubles sont souvent plus coûteuses et les connexions sont souvent plus lentes.

  • Implémenter des processus de journalisation et de surveillance. Effectuez le suivi des ressources de connexion d’accès qui stockent des informations sur les clients, telles que leur adresse IP source, leur port et leur protocole. Utilisez ces informations pour détecter les anomalies.

Données en cours d’utilisation

Pour les charges de travail à haute sécurité, la segmentation, l’isolation et le moindre privilège sont des modèles de conception recommandés.

Dans le contexte de la protection en cours d’utilisation, les limites matérielles peuvent nécessiter un chiffrement des données pendant leur utilisation dans le processeur physique et la mémoire pour garantir l’isolation des machines virtuelles, du code de gestion de l’hôte et d’autres composants.

Le chiffrement et le déchiffrement des données ne doivent être effectués que dans ces limites d’isolation.

Des exigences de sécurité ou réglementaires plus strictes peuvent également exiger une preuve matérielle et signée par chiffrement que les données sont chiffrées pendant leur utilisation, ce qui peut être obtenu via une attestation.

L’utilisation de mesures de sécurité et de confidentialité modernes est une exigence courante pour les charges de travail réglementaires. L’informatique confidentielle est une technologie de ce type qui prend en charge l’exigence. Des services spécifiques dans Azure offrent la possibilité de protéger les données pendant leur calcul. Pour plus d’informations, consultez Facilitation Azure : Calcul confidentiel Azure.

Tenez compte du cycle de vie final des données que vous protégez, qui transitent souvent par plusieurs systèmes au cours de leur durée de vie, veillez à ce que toutes les parties d’une solution puissent fournir les niveaux de protection requis, ou assurez-vous que votre stratégie de gestion des données fournit une segmentation ou un masquage appropriés.

Facilitation Azure

Les sections suivantes décrivent les services et fonctionnalités Azure que vous pouvez utiliser pour chiffrer vos données.

Clés gérées par le client

Stockez des clés gérées par le client dans Azure Key Vault ou dans un HSM géré par Key Vault.

Key Vault traite les clés comme n’importe quel autre secret. Les contrôles d’accès en fonction du rôle (RBAC) Azure accèdent aux clés via un modèle d’autorisation. Ce contrôle basé sur l’identité doit être utilisé avec Key Vault stratégies d’accès.

Pour plus d’informations, consultez Fournir l’accès à Key Vault clés, certificats et secrets à l’aide de RBAC.

Azure Key Vault Premium et Managed-HSM améliore davantage l’offre en incluant des capabilites d’informatique confidentielle et une mise en production de clé sécurisée qui prend en charge une stratégie pour garantir qu’une clé n’est jamais publiée qu’à une charge de travail qui peut prouver par chiffrement qu’elle s’exécute à l’intérieur d’un environnement d’exécution approuvé (TEE).

Protection des données au repos
  • Stockage Azure chiffre automatiquement vos données avec des chiffrements de blocs lorsque les données sont conservées dans un compte de stockage. Pour Stockage Blob Azure et stockage File d’attente Azure, le stockage fournit également un chiffrement côté client via des bibliothèques.

    Pour plus d’informations, consultez Chiffrement du stockage.

  • Azure Machines Virtuelles a des fichiers de disque qui servent de volumes de stockage virtuel. Vous pouvez chiffrer les fichiers de disque virtuel afin que le contenu ne soit pas accessible.

    Les disques managés peuvent être exportés à partir du portail. Le chiffrement côté serveur et le chiffrement sur l’hôte ne peuvent protéger les données qu’après leur exportation. Toutefois, vous devez protéger les données pendant le processus d’exportation. Vous pouvez utiliser Azure Disk Encryption pour protéger et protéger vos données pendant le processus d’exportation.

    Azure offre plusieurs options de chiffrement pour les disques managés. Pour plus d’informations, consultez Vue d’ensemble des options de chiffrement de disque managé.

  • SQL Database offre une fonctionnalité de chiffrement de données transparente utilisée pour chiffrer un fichier de base de données au niveau de la page.

Protection des données en transit

Avec Key Vault, vous pouvez approvisionner, gérer et déployer des certificats SSL (Secure Sockets Layer) publics et privés ou TLS. Vous pouvez utiliser les certificats avec Azure et avec vos ressources connectées internes.

Protection des données en cours d’utilisation

Des services spécifiques dans Azure offrent la possibilité de protéger les données lorsqu’elles sont calculées sur le processeur physique et la mémoire d’un hôte à l’aide de l’informatique confidentielle Azure.

  • Les Machines Virtuelles confidentielles offrent une machine virtuelle entière s’exécutant à l’intérieur d’un TEE, la mémoire et le contenu du processeur d’exécution de la machine virtuelle sont chiffrés, offrant une approche simple de « lift & shift » pour déplacer des applications non modifiées avec des exigences de sécurité élevées vers Azure. Chaque machine virtuelle confidentielle Azure a son propre module de plateforme de confiance (TPM) virtuel dédié. Le chiffrement est effectué lors du démarrage sécurisé des composants du système d’exploitation.

  • Les nœuds de travail AKS confidentiels, les conteneurs confidentiels sur AKS ou les conteneurs confidentiels sur Azure Container Instances (ACI) offrent la possibilité d’exécuter et de gérer des conteneurs non modifiés à l’intérieur d’un TEE qui permet aux clients de bénéficier d’une protection en cours d’utilisation. Les offres de conteneurs sont basées sur des Machines Virtuelles confidentielles et bénéficient des mêmes protections.

  • Les solutions d’enclave d’application sont des applications spécialement créées qui tirent parti des extensions de processeur spécifiques offertes par les références SKU de machine virtuelle qui prennent en charge les extensions Intel Software Guard (SGX), celles-ci offrent une base de calcul approuvée (TCB) très granulaire, mais nécessitent que les applications soient spécifiquement codées pour tirer parti des fonctionnalités.

  • La mise en production de clé sécurisée peut être combinée à ces technologies pour garantir que les données chiffrées ne sont jamais déchiffrées qu’à l’intérieur d’un TEE, ce qui prouve qu’elle fournit le niveau de protection requis par le biais d’un processus appelé Attestation.

Gestion des secrets

Vous pouvez utiliser Key Vault pour stocker et contrôler en toute sécurité l’accès aux jetons, mots de passe, certificats, clés API et autres secrets. Utilisez Key Vault comme solution de gestion des clés et des certificats. La référence SKU Premium prend en charge les HSM.

Exemple

L’exemple suivant montre des solutions de chiffrement que vous pouvez utiliser pour gérer des clés, des certificats et des secrets.

Diagramme montrant des solutions de chiffrement pour la gestion des clés, des certificats et des secrets.

Liste de contrôle de sécurité

Reportez-vous à l’ensemble complet de recommandations.

Liste de contrôle de sécurité