Partager via


Sauvegarde et restauration de fichiers chiffrés

Le système de fichiers de chiffrement (EFS) filtre l’ouverture d’un fichier chiffré de telle sorte que l’application qui a ouvert le fichier accède aux informations non chiffrées, à condition bien sûr qu’elle dispose des informations d’identification appropriées pour accéder au fichier et obtenir la clé nécessaire pour déchiffrer le fichier. Les opérations de lecture suivantes sur ce fichier produisent du texte non chiffré. Cela est très souhaitable pour l’accès classique aux fichiers chiffrés, et maintient le chiffrement et le déchiffrement des fichiers transparents. Toutefois, elle empêche la sauvegarde de fichiers chiffrés, car si la sauvegarde est tentée avec les appels d’E/S de fichier standard comme CreateFile, ReadFileet WriteFile, les fichiers sauvegardés seront la version de texte brut.

Les fonctions de chiffrement brutes sont fournies pour résoudre ce problème. Les applications de sauvegarde sont un utilisateur principal destiné à ces fonctions. Les fonctions de chiffrement brutes diffèrent d’autres fonctions de système de fichiers dans ces fonctions ouvertes, de lecture et d’écriture autorisent l’accès aux flux de données chiffrés bruts et autorisent également la lecture/écriture du flux de $EFS. Par conséquent, l’appelant des fonctions de chiffrement brutes n’a pas besoin d’accéder aux clés de chiffrement qui déchiffrent le fichier. Les API de chiffrement brutes suivantes sont disponibles pour une utilisation avec les applications de sauvegarde et de restauration :

API de chiffrement brut Description
OpenEncryptedFileRaw Ouvrez un fichier chiffré avec accès aux données au format chiffré. Si l’appelant n’a pas accès à la clé du fichier, l’appelant a besoin de SeBackupPrivilege pour exporter des fichiers chiffrés ou SeRestorePrivilege pour importer des fichiers chiffrés.
CloseEncryptedFileRaw Fermez un fichier chiffré ouvert avec OpenEncryptedFileRaw
ReadEncryptedFileRaw Lire un fichier chiffré en laissant ses données au format chiffré
WriteEncryptedFileRaw Écrire un fichier chiffré en laissant ses données au format chiffré
ImportCallback Rappel défini par l’application à utiliser avec WriteEncryptedFileRaw
ExportCallback Rappel défini par l’application à utiliser avec ReadEncryptedFileRaw