Backup e restauração de arquivos criptografados
O Sistema de Encriptação de Ficheiros (EFS) filtra a abertura de um ficheiro encriptado de tal forma que a aplicação que abriu o ficheiro obtém acesso às informações não encriptadas, desde que, claro, tenha as credenciais adequadas para aceder ao ficheiro e obter a chave necessária para desencriptar o ficheiro. As operações de leitura subsequentes neste ficheiro produzirão texto não encriptado. Isto é muito desejável para o acesso típico a ficheiros encriptados, e mantém a encriptação e desencriptação dos ficheiros transparentes. No entanto, isso dificulta o backup de arquivos criptografados, porque se o backup for tentado com as chamadas de E/S de arquivo padrão, como CreateFile, ReadFilee WriteFile, os arquivos de backup serão a versão de texto simples.
As funções de criptografia bruta são fornecidas para resolver esse problema. Os aplicativos de backup são o principal usuário pretendido para essas funções. As funções de criptografia bruta diferem de outras funções do sistema de arquivos na medida em que as funções de abertura, leitura e gravação permitem o 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 acessar as 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 ficheiro encriptado com acesso aos dados em formato encriptado. Se o chamador não tiver acesso à chave do arquivo, ele precisará SeBackupPrivilege para exportar arquivos criptografados ou SeRestorePrivilege para importar arquivos criptografados. |
CloseEncryptedFileRaw | Feche um ficheiro encriptado aberto com OpenEncryptedFileRaw |
ReadEncryptedFileRaw | Ler um ficheiro encriptado deixando os seus dados em formato encriptado |
WriteEncryptedFileRaw | Escreva um ficheiro encriptado deixando os seus dados em formato encriptado |
ImportCallback | Retorno de chamada definido pelo aplicativo para uso com WriteEncryptedFileRaw |
ExportCallback | Retorno de chamada definido pelo aplicativo para uso com ReadEncryptedFileRaw |