Sistema de criptografia de arquivos - Encrypting File System

O sistema de arquivos com criptografia ( EFS ) no Microsoft Windows é um recurso introduzido na versão 3.0 do NTFS que fornece criptografia em nível de sistema de arquivos . A tecnologia permite que os arquivos sejam criptografados de forma transparente para proteger dados confidenciais de invasores com acesso físico ao computador.

O EFS está disponível em todas as versões do Windows, exceto as versões domésticas (consulte Sistemas operacionais compatíveis abaixo) do Windows 2000 em diante. Por padrão, nenhum arquivo é criptografado, mas a criptografia pode ser habilitada pelos usuários por arquivo, por diretório ou por unidade. Algumas configurações de EFS também podem ser exigidas por meio da Política de Grupo em ambientes de domínio do Windows .

Implementações de sistema de arquivos criptográficos para outros sistemas operacionais estão disponíveis, mas o Microsoft EFS não é compatível com nenhum deles. Veja também a lista de sistemas de arquivos criptográficos .

Ideias básicas

Quando um sistema operacional está sendo executado em um sistema sem criptografia de arquivos, acesso a arquivos normalmente passa por usuário controladas OS autenticação e controle de acesso listas . No entanto, se um invasor obtiver acesso físico ao computador, essa barreira pode ser facilmente contornada. Uma maneira, por exemplo, seria remover o disco e colocá-lo em outro computador com um sistema operacional instalado que possa ler o sistema de arquivos; outra, seria simplesmente reiniciar o computador a partir de um CD de boot contendo um sistema operacional adequado para acessar o sistema de arquivos local.

A solução mais amplamente aceita para isso é armazenar os arquivos criptografados na mídia física (discos, pen drives USB, fitas, CDs e assim por diante).

Na família de sistemas operacionais Microsoft Windows, o EFS permite essa medida, embora apenas em unidades NTFS, e o faz usando uma combinação de criptografia de chave pública e criptografia de chave simétrica para tornar a descriptografia de arquivos extremamente difícil sem a chave correta.

No entanto, as chaves de criptografia do EFS são, na prática, protegidas pela senha da conta do usuário e, portanto, suscetíveis à maioria dos ataques de senha. Em outras palavras, a criptografia de um arquivo é tão forte quanto a senha para desbloquear a chave de descriptografia.

Operação

Operação do sistema de criptografia de arquivos

O EFS funciona criptografando um arquivo com uma chave simétrica em massa , também conhecida como Chave de criptografia de arquivo ou FEK. Ele usa um algoritmo de criptografia simétrica porque leva menos tempo para criptografar e descriptografar grandes quantidades de dados do que se uma cifra de chave assimétrica for usada. O algoritmo de criptografia simétrica usado irá variar dependendo da versão e configuração do sistema operacional; veja Algoritmos usados ​​pela versão Windows abaixo. A FEK (a chave simétrica usada para criptografar o arquivo) é então criptografada com uma chave pública associada ao usuário que criptografou o arquivo e essa FEK criptografada é armazenada no fluxo de dados alternativo $ EFS do arquivo criptografado. Para descriptografar o arquivo, o driver do componente EFS usa a chave privada que corresponde ao certificado digital EFS (usado para criptografar o arquivo) para descriptografar a chave simétrica armazenada no fluxo $ EFS. O driver do componente EFS usa a chave simétrica para descriptografar o arquivo. Como as operações de criptografia e descriptografia são realizadas em uma camada abaixo do NTFS, elas são transparentes para o usuário e todos os seus aplicativos.

As pastas cujo conteúdo deve ser criptografado pelo sistema de arquivos são marcadas com um atributo de criptografia. O driver do componente EFS trata esse atributo de criptografia de maneira análoga à herança de permissões de arquivo em NTFS: se uma pasta for marcada para criptografia, por padrão, todos os arquivos e subpastas criados na pasta também serão criptografados. Quando os arquivos criptografados são movidos em um volume NTFS, os arquivos permanecem criptografados. No entanto, há várias ocasiões em que o arquivo pode ser descriptografado sem que o usuário peça explicitamente ao Windows para fazê-lo.

Arquivos e pastas são descriptografados antes de serem copiados para um volume formatado com outro sistema de arquivos, como FAT32 . Finalmente, quando os arquivos criptografados são copiados pela rede usando o protocolo SMB / CIFS, os arquivos são descriptografados antes de serem enviados pela rede.

A maneira mais significativa de evitar a descriptografia na cópia é usar aplicativos de backup que conhecem as APIs "brutas". Os aplicativos de backup que implementaram essas APIs brutas simplesmente copiarão o fluxo de arquivos criptografados e o fluxo de dados alternativo $ EFS como um único arquivo. Em outras palavras, os arquivos são "copiados" (por exemplo, para o arquivo de backup) de forma criptografada e não são descriptografados durante o backup.

A partir do Windows Vista , a chave privada de um usuário pode ser armazenada em um cartão inteligente ; As chaves do Data Recovery Agent (DRA) também podem ser armazenadas em um cartão inteligente.

Segurança

Vulnerabilidades

Duas vulnerabilidades de segurança significativas existiam no Windows 2000 EFS e foram visadas de várias maneiras desde então.

Descriptografando arquivos usando a conta de administrador local

No Windows 2000, o administrador local é o Agente de Recuperação de Dados padrão, capaz de descriptografar todos os arquivos criptografados com EFS por qualquer usuário local. O EFS no Windows 2000 não pode funcionar sem um agente de recuperação, portanto, sempre há alguém que pode descriptografar os arquivos criptografados dos usuários. Qualquer computador Windows 2000 não associado ao domínio estará suscetível à descriptografia EFS não autorizada por qualquer pessoa que possa assumir o controle da conta de Administrador local, o que é trivial, dadas as muitas ferramentas disponíveis gratuitamente na Internet.

No Windows XP e posterior, não há um Agente de Recuperação de Dados local padrão e nenhum requisito para ter um. Definir SYSKEY para o modo 2 ou 3 (syskey digitado durante a inicialização ou armazenado em um disquete) reduzirá o risco de descriptografia não autorizada por meio da conta Administrador local. Isso ocorre porque os hashes de senha do usuário local, armazenados no arquivo SAM , são criptografados com o Syskey, e o valor Syskey não está disponível para um invasor offline que não possui a frase-senha / disquete Syskey.

Acessando a chave privada por meio de redefinição de senha

No Windows 2000, a chave privada RSA do usuário não é apenas armazenada em uma forma verdadeiramente criptografada, mas também há um backup da chave privada RSA do usuário que é mais fracamente protegida. Se um invasor obtiver acesso físico ao computador Windows 2000 e redefinir a senha de uma conta de usuário local, o invasor pode fazer logon como esse usuário (ou agente de recuperação) e obter acesso à chave privada RSA, que pode descriptografar todos os arquivos. Isso ocorre porque o backup da chave privada RSA do usuário é criptografado com um segredo LSA, que pode ser acessado por qualquer invasor que possa elevar seu login para LocalSystem (novamente, trivial devido às inúmeras ferramentas da Internet).

No Windows XP e além, a chave privada RSA do usuário é copiada usando uma chave pública offline cuja chave privada correspondente é armazenada em um de dois lugares: o disco de redefinição de senha (se o Windows XP não for membro de um domínio) ou no Active Directory (se o Windows XP for membro de um domínio). Isso significa que um invasor que pode se autenticar no Windows XP como LocalSystem ainda não tem acesso a uma chave de descriptografia armazenada no disco rígido do PC.

No Windows 2000, XP ou posterior, a chave privada RSA do usuário é criptografada usando um hash do hash da senha NTLM do usuário mais o nome do usuário - o uso de um hash salgado torna extremamente difícil reverter o processo e recuperar a chave privada sem saber o senha do usuário. Além disso, novamente, definir Syskey para o modo 2 ou 3 (Syskey digitado durante a inicialização ou armazenado em um disquete) atenuará esse ataque, já que o hash da senha do usuário local será armazenado criptografado no arquivo SAM.

Outros problemas

Depois que um usuário faz logon com êxito, o acesso aos seus próprios dados criptografados EFS não requer autenticação adicional, a descriptografia acontece de forma transparente. Assim, qualquer comprometimento da senha do usuário leva automaticamente ao acesso a esses dados. O Windows pode armazenar versões de senhas de contas de usuário com criptografia reversível, embora esse não seja mais o comportamento padrão; ele também pode ser configurado para armazenar (e o fará por padrão na versão original do Windows XP e inferior) hashes do Lan Manager das senhas da conta do usuário local, que podem ser atacadas e quebradas facilmente. Ele também armazena senhas de contas de usuários locais como hashes NTLM , que podem ser facilmente atacados usando " tabelas de arco-íris " se as senhas forem fracas (o Windows Vista e versões posteriores não permitem senhas fracas por padrão). Para mitigar a ameaça de ataques de força bruta triviais em senhas locais, versões mais antigas do Windows precisam ser configuradas (usando a parte de Configurações de Segurança da Política de Grupo) para nunca armazenar hashes LM e, claro, para não habilitar Autologon (que armazena texto simples senhas no registro ). Além disso, o uso de senhas de contas de usuários locais com mais de 14 caracteres evita que o Windows armazene um hash LM no SAM - e tem o benefício adicional de tornar mais difíceis os ataques de força bruta contra o hash NTLM.

Ao criptografar arquivos com EFS - ao converter arquivos de texto simples em arquivos criptografados - os arquivos de texto simples não são apagados, mas simplesmente excluídos (ou seja, blocos de dados marcados como "não em uso" no sistema de arquivos). Isso significa que, a menos que, por exemplo, sejam armazenados em um SSD com suporte TRIM , eles podem ser facilmente recuperados, a menos que sejam sobrescritos. Para atenuar totalmente ataques técnicos conhecidos e não desafiadores contra o EFS, a criptografia deve ser configurada no nível da pasta (de forma que todos os arquivos temporários, como backups de documentos do Word, criados nesses diretórios também sejam criptografados). Ao criptografar arquivos individuais, eles devem ser copiados para uma pasta criptografada ou criptografados "no local", seguido pela limpeza segura do volume do disco. O utilitário Windows Cipher pode ser usado (com a opção / W) para limpar o espaço livre, incluindo aquele que ainda contém arquivos de texto simples excluídos; vários utilitários de terceiros também podem funcionar.

Qualquer pessoa que possa obter acesso de administrador pode substituir, substituir ou alterar a configuração do Data Recovery Agent. Este é um problema muito sério, já que um invasor pode, por exemplo, hackear a conta do Administrador (usando ferramentas de terceiros), definir qualquer certificado DRA que desejar como o Agente de Recuperação de Dados e esperar. Isso às vezes é referido como um ataque de dois estágios, que é um cenário significativamente diferente do risco devido a um PC perdido ou roubado, mas que destaca o risco devido a usuários internos mal-intencionados.

Quando o usuário criptografa arquivos após o primeiro estágio de tal ataque, os FEKs são criptografados automaticamente com a chave pública do DRA designado. O invasor só precisa acessar o computador mais uma vez como Administrador para obter acesso total a todos os arquivos criptografados por EFS subsequentemente. Mesmo o uso do modo Syskey 2 ou 3 não protege contra esse ataque, porque o invasor pode fazer backup dos arquivos criptografados offline, restaurá-los em outro lugar e usar a chave privada do DRA para descriptografar os arquivos. Se esse insider malicioso puder obter acesso físico ao computador, todos os recursos de segurança devem ser considerados irrelevantes, porque eles também podem instalar rootkits , software ou até mesmo keyloggers de hardware etc. no computador - o que é potencialmente muito mais interessante e eficaz do que substituir Política DRA.

Recuperação

Os arquivos criptografados com EFS só podem ser descriptografados usando a (s) chave (s) privada (s) RSA correspondente (s) à (s) chave (s) pública (s) usada (s) anteriormente. A cópia armazenada da chave privada do usuário é, em última análise, protegida pela senha de logon do usuário. O acesso a arquivos criptografados de fora do Windows com outros sistemas operacionais ( Linux , por exemplo) não é possível - principalmente porque não existe atualmente nenhum driver de componente EFS de terceiros. Além disso, o uso de ferramentas especiais para redefinir a senha de login do usuário tornará impossível descriptografar a chave privada do usuário e, portanto, inútil para obter acesso aos arquivos criptografados do usuário. O significado disso é ocasionalmente perdido para os usuários, resultando em perda de dados se um usuário esquecer sua senha ou deixar de fazer backup da chave de criptografia. Isso levou à criação do termo "lixeira atrasada", para descrever a aparente inevitabilidade da perda de dados se um usuário inexperiente criptografar seus arquivos.

Se o EFS estiver configurado para usar chaves emitidas por uma infraestrutura de chave pública e a PKI estiver configurada para habilitar o arquivamento e recuperação de chaves, os arquivos criptografados podem ser recuperados recuperando-se primeiro a chave privada.

Chaves

  • senha do usuário (ou chave privada do smart card): usada para gerar uma chave de descriptografia para descriptografar a chave mestre DPAPI do usuário
  • Chave mestre DPAPI: usada para descriptografar a (s) chave (s) privada (s) RSA do usuário
  • Chave privada RSA: usada para descriptografar FEK de cada arquivo
  • Chave de criptografia de arquivo (FEK): usada para descriptografar / criptografar os dados de cada arquivo (no fluxo NTFS primário)
  • SYSKEY: usado para criptografar o verificador de domínio em cache e os hashes de senha armazenados no SAM

Sistemas operacionais suportados

janelas

Outros sistemas operacionais

Nenhum outro sistema operacional ou sistema de arquivos tem suporte nativo para EFS.

Novos recursos disponíveis na versão Windows

Windows XP
  • Criptografia do cache do lado do cliente ( banco de dados de arquivos offline )
  • Proteção de backup de chave mestre DPAPI usando chave pública de todo o domínio
  • Registro automático de certificados de usuário (incluindo certificados EFS)
  • Acesso de vários usuários (compartilhado) a arquivos criptografados (arquivo por arquivo) e verificação de revogação de certificados usados ​​ao compartilhar arquivos criptografados
  • Os arquivos criptografados podem ser mostrados em uma cor alternativa (verde por padrão)
  • Nenhum requisito para Agente de Recuperação obrigatório
  • Aviso quando os arquivos podem ser descriptografados silenciosamente ao mover para um sistema de arquivos não suportado
  • Disco de redefinição de senha
  • EFS sobre WebDAV e criptografia remota para servidores delegados no Active Directory
Windows XP SP1
  • Suporte e uso padrão do algoritmo de criptografia simétrica AES-256 para todos os arquivos criptografados por EFS
Windows XP SP2 + KB 912761
  • Impedir a inscrição de certificados EFS autoassinados
Windows Server 2003
  • Serviço de gerenciamento de identidade digital
  • Aplicação da configuração RSAKeyLength para impor um comprimento mínimo de chave ao inscrever certificados EFS autoassinados
Windows Vista e Windows Server 2008
  • Criptografia por usuário do cache do lado do cliente (arquivos offline)
  • Suporte para armazenamento (usuário ou DRA) de chaves privadas RSA em um cartão inteligente PC / SC
  • Assistente de redefinição de EFS
  • Prompts de backup da chave EFS
  • Suporte para derivar chave mestre DPAPI do cartão inteligente PC / SC
  • Suporte para criptografia de pagefile.sys
  • Proteção de segredos relacionados ao EFS usando o BitLocker (edição Enterprise ou Ultimate do Windows Vista)
  • Controles de política de grupo para aplicar
    • Pasta de criptografia de documentos
    • Criptografia de arquivos offline
    • Indexação de arquivos criptografados
    • Requer cartão inteligente para EFS
    • Criação de uma chave de usuário com capacidade de armazenamento em cache a partir do cartão inteligente
    • Exibindo uma notificação de backup de chave quando uma chave de usuário é criada ou alterada
    • Especificando o modelo de certificado usado para inscrever certificados EFS automaticamente
Windows Server 2008
  • Os certificados autoassinados EFS registrados no servidor Windows Server 2008 terão como padrão o comprimento de chave RSA de 2.048 bits
  • Todos os modelos EFS (certificados de agente de recuperação de dados e usuário) são padronizados para comprimento de chave RSA de 2.048 bits
Windows 7 e Windows Server 2008 R2
  • Algoritmos criptográficos de curva elíptica (ECC). O Windows 7 oferece suporte a uma operação de modo misto de algoritmos ECC e RSA para compatibilidade com versões anteriores
  • Os certificados autoassinados EFS, ao usar ECC, usarão a chave de 256 bits por padrão.
  • O EFS pode ser configurado para usar chaves de 1K / 2k / 4k / 8k / 16k bits ao usar certificados RSA autoassinados ou chaves de 256/384/521 bits ao usar certificados ECC.
Windows 10 versão 1607 e Windows Server 2016
  • Adicione suporte EFS em FAT e exFAT.

Algoritmos usados ​​pela versão Windows

O Windows EFS oferece suporte a uma variedade de algoritmos de criptografia simétricos, dependendo da versão do Windows em uso quando os arquivos são criptografados:

Sistema operacional Algoritmo padrão Outros algoritmos
Windows 2000 DESX (Nenhum)
Windows XP RTM DESX DES triplo
Windows XP SP1 AES DES triplo, DESX
Windows Server 2003 AES DES triplo, DESX
Windows Vista AES DES triplo, DESX
Windows Server 2008 AES DES triplo, DESX (?)
Windows 7
Windows Server 2008 R2
Misto (AES, SHA e ECC) DES triplo, DESX

Veja também

Referências

Leitura adicional