Chiffrement du Stockage Azure pour les données au repos

Le service Stockage Azure utilise un chiffrement côté serveur (SSE) pour chiffrer automatiquement vos données quand celles-ci sont conservées dans le cloud. Le chiffrement de Stockage Azure protège vos données et vous aide à répondre aux engagements de votre entreprise en matière de sécurité et de conformité.

Microsoft recommande d’utiliser un chiffrement côté service pour protéger vos données dans la plupart des cas. Toutefois, les bibliothèques de client du Stockage Azure pour le stockage d’objets blob et de files d’attente fournissent également un chiffrement côté client en cas de nécessité de chiffrer les données sur le client. Pour plus d’informations, consultez Chiffrement côté client pour les objets blob et les files d’attente.

À propos du chiffrement côté service du Stockage Azure

Les données dans Stockage Azure sont chiffrées et déchiffrées en toute transparence à l’aide du chiffrement AES 256 bits, un des chiffrements par blocs les plus puissants actuellement disponibles, et sont conformes à la norme FIPS 140-2. Le chiffrement du Stockage Azure est similaire au chiffrement BitLocker sur Windows.

Le chiffrement de Stockage Azure est activé pour tous les comptes de stockage, y compris les comptes de stockage classiques et Resource Manager. Le chiffrement de Stockage Azure ne peut pas être désactivé. Étant donné que vos données sont sécurisées par défaut, vous n’avez pas besoin de modifier votre code ou vos applications pour tirer parti du chiffrement du Stockage Azure.

Les données d’un compte de stockage sont chiffrées, quel que soit le niveau de performance (Standard ou Premium), le niveau d’accès (chaud ou froid) ou le modèle de déploiement (Azure Resource Manager ou Classique). Tous les objets blob du niveau Archive sont également chiffrés. Toutes les options de redondance de Stockage Azure prennent en charge le chiffrement, et toutes les données dans les régions primaire et secondaire sont chiffrées quand la géoréplication est activée. Toutes les ressources de Stockage Azure sont chiffrées, y compris les objets blob, disques, fichiers, files d’attente et tables. Toutes les métadonnées d’objet sont également chiffrées. Le chiffrement de Stockage Azure n’implique aucun coût supplémentaire.

Chaque objet blob de blocs, objet blob d’ajout ou objet blob de pages qui a été écrit dans le Stockage Azure après le 20 octobre 2017 est chiffré. Les objets blob créés avant cette date continuent à être chiffrés à l’aide d’un processus en arrière-plan. Pour forcer le chiffrement d’un objet blob qui a été créé avant le 20 octobre 2017, vous pouvez réécrire l’objet. Pour savoir comment vérifier l’état de chiffrement d’un objet blob, consultez Vérifier l’état de chiffrement d’un objet blob.

Pour plus d’informations sur les modules cryptographiques de chiffrement de Stockage Azure, consultez API de chiffrement : nouvelle génération.

Pour plus d’informations sur le chiffrement et la gestion des clés pour les disques managés Azure, consultez Chiffrement côté serveur de disques managés Azure.

À propos de la gestion des clés de chiffrement

Par défaut, les données d'un nouveau compte de stockage sont chiffrées à l'aide de clés managées par Microsoft. Vous pouvez continuer à vous reposer sur les clés managées par Microsoft pour le chiffrement des vos données, ou vous pouvez gérer le chiffrement avec vos propres clés. Si vous choisissez de gérer le chiffrement avec vos propres clés, deux options s’offrent à vous. Vous pouvez utiliser l'un ou l'autre type de gestion des clés, ou les deux :

  • Vous pouvez spécifier une clé gérée par le client à utiliser pour le chiffrement et le déchiffrement des données dans le stockage d’objets blob et dans Azure Files. 1, 2 clés gérées par le client doivent être stockées dans Azure Key Vault ou le modèle de sécurité matérielle (HSM) Azure Key Vault géré. Pour plus d’informations sur les clés gérées par le client, consultez Utiliser des clés gérées par le client pour gérer le chiffrement du stockage Azure.
  • Vous pouvez spécifier une clé fournie par le client sur les opérations de Stockage Blob. Un client qui effectue une requête de lecture ou d’écriture sur le Stockage Blob peut inclure une clé de chiffrement dans la requête afin de contrôler la précision avec laquelle les données blob sont chiffrées et déchiffrées. Pour plus d’informations sur les clés fournies par le client, consultez Fournir une clé de chiffrement lors d’une requête au Stockage Blob.

Par défaut, un compte de stockage est chiffré avec une clé étendue au compte de stockage entier. Les étendues de chiffrement vous permettent de gérer le chiffrement à l'aide d'une clé étendue à un conteneur ou à un objet blob individuel. Vous pouvez utiliser des étendues de chiffrement pour créer des limites sécurisées entre les données qui résident dans le même compte de stockage mais qui appartiennent à des clients différents. Les étendues de chiffrement peuvent utiliser des clés gérées par Microsoft ou des clés gérées par le client. Pour plus d’informations sur les étendues de chiffrement, consultez Étendues de chiffrement pour le stockage d’objets blob.

Le tableau suivant compare les options de gestion de clés pour le chiffrement de Stockage Azure.

Paramètre de gestion des clés Clés managées par Microsoft Clés gérées par le client Clés fournies par le client
Opérations de chiffrement/déchiffrement Azure Azure Azure
Services de stockage Azure pris en charge Tous Stockage Blob, Azure Files1,2 Stockage Blob
Stockage des clés Magasin de clés Microsoft Azure Key Vault ou HSM Key Vault Magasin de clés du client
Responsabilité de la permutation des clés Microsoft Customer Customer
Contrôle des clés Microsoft Customer Customer
Étendue de clé Compte (par défaut), conteneur ou blob Compte (par défaut), conteneur ou blob N/A

1 Pour plus d’informations sur la création d’un compte qui prend en charge l’utilisation de clés gérées par le client avec Stockage File d’attente, consultez Créer un compte qui prend en charge les clés gérées par le client pour les files d’attente.
2 Pour plus d’informations sur la création d’un compte qui prend en charge l’utilisation de clés gérées par le client avec Stockage Table, consultez Créer un compte qui prend en charge les clés gérées par le client pour les tables.

Notes

Les clés gérées par Microsoft font l'objet d'une rotation appropriée en fonction des exigences de conformité. Si vous avez des exigences spécifiques en matière de rotation des clés, Microsoft vous recommande de passer aux clés gérées par le client afin de pouvoir gérer et vérifier vous-même la rotation.

Chiffrer les données doublement avec le chiffrement de l’infrastructure

Les clients qui doivent s’assurer que leurs données sont sécurisées peuvent également activer le chiffrement AES 256 bits au niveau de l’infrastructure Stockage Azure. Lorsque le chiffrement d’infrastructure est activé, les données d’un compte de stockage sont chiffrées deux fois (une fois au niveau du service et une fois au niveau de l’infrastructure) avec deux algorithmes de chiffrement et deux clés différents. Le double chiffrement des données Stockage Azure permet d’éviter un scénario impliquant une possible compromission d’un algorithme ou d’une clé de chiffrement. Dans un tel scénario, la couche de chiffrement supplémentaire continue de protéger vos données.

Le chiffrement au niveau du service prend en charge l’utilisation de clés gérées par Microsoft ou de clés gérées par le client avec Azure Key Vault. Le chiffrement au niveau de l’infrastructure s’appuie sur des clés gérées par Microsoft et utilise systématiquement une clé distincte.

Pour plus d’informations sur la création d’un compte de stockage qui permet le chiffrement de l’infrastructure, consultez Créer un compte de stockage avec le chiffrement d’infrastructure activé à des fins de double chiffrement des données.

Chiffrement côté client des blobs et files d’attente

La bibliothèque de client de Stockage Blob Azure pour .NET, Java et Python prend en charge le chiffrement des données dans les applications clientes avant chargement dans Stockage Azure, et le déchiffrement des données pendant leur téléchargement sur le client. Les bibliothèques de client de Stockage File d’attente pour .NET et Python prennent également en charge le chiffrement côté client.

Notes

Au lieu du chiffrement côté client, envisagez d’utiliser les fonctionnalités de chiffrement côté service fournies par Stockage Azure pour protéger vos données.

Les bibliothèques de client de Stockage Blob et Stockage File d’attente utilisent AES pour chiffrer les données utilisateur. Deux versions de chiffrement côté client sont disponibles dans les bibliothèques de client :

  • La version 2 utilise le mode Galois/Counter Mode (GCM) avec AES. Les SDK Stockage Blob et Stockage File d’attente prennent en charge le chiffrement côté client avec v2.
  • La version 1 utilise le mode Cipher Block Chaining (CBC) avec AES. Les SDK Stockage Blob, File d’attente et Stockage Table prennent en charge le chiffrement côté client avec v1.

Avertissement

L’utilisation du chiffrement côté client v1 n’est plus recommandée en raison d’une vulnérabilité de sécurité dans l’implémentation du mode CBC de la bibliothèque de client. Pour plus d’informations à ce sujet, consultez Stockage Azure mettant à jour le chiffrement côté client dans le Kit de développement logiciel (SDK) pour résoudre la vulnérabilité de sécurité. Si vous utilisez actuellement v1, nous vous recommandons de mettre à jour votre application afin d’utiliser le chiffrement côté client v2, et de migrer vos données.

Le SDK Stockage Table Azure prend uniquement en charge le chiffrement côté client v1. L’utilisation d’un chiffrement côté client avec Stockage Table n’est pas recommandée.

Le tableau suivant montre quelles bibliothèques de client prennent en charge quelles versions du chiffrement côté client, et fournit des instructions pour la migration vers le chiffrement côté client v2.

Bibliothèque cliente Version du chiffrement côté client pris en charge Migration recommandée Conseils supplémentaires
Bibliothèques de client de Stockage Blob pour .NET (versions 12.13.0 et ultérieures), Java (versions 12.18.0 et ultérieures) et Python (versions 12.13.0 et ultérieures) 2.0

1.0 (pour la compatibilité descendante uniquement)
Mettez à jour votre code pour utiliser le chiffrement côté client v2.

Téléchargez toutes les données chiffrées afin de les déchiffrer, puis les re-chiffrer avec le chiffrement côté client v2.
Chiffrement côté client des blobs
Bibliothèque de client de Stockage Blob pour .NET (versions 12.12.0 et antérieures), Java (versions 12.17.0 et antérieures) et Python (versions 12.12.0 et antérieures) 1.0 (non recommandée) Mettez à jour votre application pour utiliser une version du Kit de développement logiciel (SDK) Stockage Blob prenant en charge le chiffrement côté client v2. Pour plus d’informations, consultez Matrice de prise en charge du Kit de développement logiciel (SDK) pour le chiffrement côté client.

Mettez à jour votre code pour utiliser le chiffrement côté client v2.

Téléchargez toutes les données chiffrées afin de les déchiffrer, puis les re-chiffrer avec le chiffrement côté client v2.
Chiffrement côté client des blobs
Bibliothèques de client de Stockage File d’attente pour .NET (versions 12.11.0 et ultérieures) et Python (versions 12.4 et ultérieures) 2.0

1.0 (pour la compatibilité descendante uniquement)
Mettez à jour votre code pour utiliser le chiffrement côté client v2. Chiffrement côté client des files d’attente
Bibliothèques de client de Stockage File d’attente pour .NET (versions 12.10.0 et antérieures) et Python (versions 12.3.0 et antérieures) 1.0 (non recommandée) Mettez à jour votre application pour utiliser une version du Kit de développement logiciel (SDK) Stockage File d’attente prenant en charge le chiffrement côté client v2. Consultez Matrice de prise en charge du Kit de développement logiciel (SDK) pour le chiffrement côté client.

Mettez à jour votre code pour utiliser le chiffrement côté client v2.
Chiffrement côté client des files d’attente
Bibliothèque de client de Stockage Table pour .NET, Java et Python 1.0 (non recommandée) Non disponible. N/A

Étapes suivantes