Copia de seguridad y restauración de archivos cifrados
El Sistema de cifrado de archivos (EFS) filtra la apertura de un archivo cifrado de forma que la aplicación que abrió el archivo obtiene acceso a la información sin cifrar, siempre que tenga las credenciales adecuadas para acceder al archivo y obtener la clave necesaria para descifrar el archivo. Las operaciones de lectura posteriores de este archivo producirán texto sin cifrar. Esto es muy deseable para el acceso típico a los archivos cifrados y mantiene transparente el cifrado y el descifrado de los archivos. Sin embargo, dificulta la copia de seguridad de archivos cifrados, ya que si se intenta realizar la copia de seguridad con las llamadas de E/S de archivos estándar, como CreateFile, ReadFile y WriteFile, los archivos de los que se ha hecho una copia de seguridad serán la versión de texto sin formato.
Las funciones de cifrado sin procesar se proporcionan para resolver este problema. Las aplicaciones de copia de seguridad son un usuario principal destinado a estas funciones. Las funciones de cifrado sin procesar difieren de otras funciones del sistema de archivos en que las funciones abiertas, de lectura y escritura permiten el acceso a los flujos de datos cifrados sin procesar y también permiten la lectura y escritura de la secuencia de $EFS. Por lo tanto, el autor de la llamada de las funciones de cifrado sin formato no necesita acceso a las claves criptográficas que descifran el archivo. Las siguientes API de cifrado sin procesar están disponibles para su uso con aplicaciones de copia de seguridad y restauración:
API de cifrado sin formato | Descripción |
---|---|
OpenEncryptedFileRaw | Abra un archivo cifrado con acceso a los datos en formato cifrado. Si el autor de la llamada no tiene acceso a la clave del archivo, el autor de la llamada necesita SeBackupPrivilege para exportar archivos cifrados o SeRestorePrivilege para importar archivos cifrados. |
CloseEncryptedFileRaw | Cierre un archivo cifrado abierto con OpenEncryptedFileRaw |
ReadEncryptedFileRaw | Lectura de un archivo cifrado que deja sus datos en formato cifrado |
WriteEncryptedFileRaw | Escritura de un archivo cifrado que deja sus datos en formato cifrado |
ImportCallback | Devolución de llamada definida por la aplicación para su uso con WriteEncryptedFileRaw |
ExportCallback | Devolución de llamada definida por la aplicación para su uso con ReadEncryptedFileRaw |