Backup e restauração de arquivos criptografados
O EFS (Encrypting File System) filtra a abertura de um arquivo criptografado de forma que o aplicativo que abriu o arquivo obtenha acesso às informações não criptografadas, desde que tenha as credenciais adequadas para acessar o arquivo e obter a chave necessária para descriptografar o arquivo. As operações de leitura subsequentes neste arquivo produzirão texto não criptografado. Isso é muito desejável para o acesso típico a arquivos criptografados e mantém a criptografia e a descriptografia dos arquivos transparentes. No entanto, isso dificulta o backup de arquivos criptografados, pois se o backup for tentado com as chamadas de E/S de arquivo padrão, como CreateFile, ReadFile e WriteFile, o backup dos arquivos será a versão de texto sem formatação.
As funções de criptografia brutas são fornecidas para resolver esse problema. Os aplicativos de backup são um usuário primário destinado a essas funções. As funções de criptografia brutas diferem de outras funções do sistema de arquivos nas funções abertas, de leitura e de gravação que permitem acesso aos fluxos de dados criptografados brutos e também permitem a leitura/gravação do fluxo de $EFS. Portanto, o chamador das funções de criptografia brutas não precisa de acesso às chaves criptográficas que descriptografam o arquivo. As seguintes APIs de criptografia bruta estão disponíveis para uso com aplicativos de backup e restauração:
API de Criptografia Bruta | Descrição |
---|---|
OpenEncryptedFileRaw | Abra um arquivo criptografado com acesso a dados em formato criptografado. Se o chamador não tiver acesso à chave do arquivo, o chamador precisará de SeBackupPrivilege para exportar arquivos criptografados ou SeRestorePrivilege para importar arquivos criptografados. |
CloseEncryptedFileRaw | Fechar um arquivo criptografado aberto com OpenEncryptedFileRaw |
ReadEncryptedFileRaw | Ler um arquivo criptografado deixando seus dados em formato criptografado |
WriteEncryptedFileRaw | Gravar um arquivo criptografado deixando seus dados em formato criptografado |
ImportCallback | Retorno de chamada definido pelo aplicativo para uso com WriteEncryptedFileRaw |
ExportCallback | Retorno de chamada definido pelo aplicativo para uso com ReadEncryptedFileRaw |