criptografia em sistemas de arquivos - lisha.ufsc.br · os primeiros bytes do arquivos são usados...

18
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística INE 5355 – Sistemas Operacionais INE 5412 – Sistemas Operacionais I Criptografia em Sistemas de Arquivos Carlos Eduardo de Campos Jucemar Luis Monteiro Rodrigo Valceli Raimundo Florianópolis, Novembro de 2008

Upload: lethien

Post on 21-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

Universidade Federal de Santa CatarinaCentro Tecnológico

Departamento de Informática e EstatísticaINE 5355 – Sistemas OperacionaisINE 5412 – Sistemas Operacionais I

Criptografia em Sistemas de Arquivos

Carlos Eduardo de CamposJucemar Luis Monteiro

Rodrigo Valceli Raimundo

Florianópolis, Novembro de 2008

Page 2: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

Sumário1 Introdução...........................................................................................................................32 Fairly Secure File System – FSFS......................................................................................43 TrueCrypt ............................................................................................................................8

3.1 INTRODUÇÃO ........................................................................................................................83.2 CRIAÇÃO DOS VOLUMES ...................................................................................................93.3 CRIPTOGRAFIA ....................................................................................................................103.4 PROBLEMAS DE SEGURANÇA .........................................................................................11

3.4.1 Swap e Hibernação ..........................................................................................................113.4.2 Journaling e Wear Leveling .............................................................................................12

3.5 CONSIDERAÇÕES ................................................................................................................134 Criptografia no NTFS........................................................................................................14

4.1 Componentes utilizados pelo EFS............................................................................................164.2 Como os arquivos são criptografados e descodificados...........................................................17

Page 3: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

1 Introdução

Os   sistemas   de   arquivos   com   freqüência   contêm   informações   extremamente 

valiosas para seus usuários. Proteger essas informações contra o uso não­autorizado é, 

portanto, uma questão  importante para  todos os sistemas de arquivos.    Este relatório 

aborda aspectos de  funcionamento de alguns sistemas modernos de criptografia para 

sistemas de arquivos.

Page 4: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

2 Fairly Secure File System – FSFSAutor do capítulo: Jucemar Luis Monteiro

Existe   diversos   projetos   de   criptografia   para   sistemas   unix   que   oferecem 

criptografia transparente para arquivos ou sistemas de arquivos, mas essas soluções tem 

alguns problemas:

1. Somente o dono dos dados tem acesso aos arquivos criptografados, caso 

ele queira compartilhar os dados, ele deverá fornecer a senha para descriptografar 

os arquivos. Nesse mecanismo todos que sabem a senha tem o mesmo status do 

dono dos arquivos. Há um grande risco caso algum usuário troque a senha, ele 

passará a ser o único dono dos arquivos, o que é inadmissível.

2. Quando o arquivo é descriptado, partes do arquivo podem ficar em locais 

desprotegidos (área de swap, arquivos temporários, etc). Para manter um alto nível 

de   segurança   em   uma   máquina   é   necessário   criptografar   todo   o   sistema   de 

arquivos, mas há diretórios que são compartilhados por vários usuários, logo todos 

os usuários que utilizam esses diretórios devem saber a chave.

O FSFS consiste de dois componentes principais:  Um dispositivo de driver que 

opera no kernel, o bloco de dados criptografados antes de ser escrito no disco, e um 

programa   setup   no   espaço   do   usuário   que   prove   uma   interface   para   o   driver   de 

Page 5: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

encriptação. Ele é  usado para comunicação com o kernel,  incluindo a transmissão de 

chaves   criptográficas,   diferentes   tags   de   acesso,   criar   novo   arquivo   criptografado   e 

gerenciamento de acesso.

A figura 1 mostra como chaves, senhas e outros valores são combinados.

O driver de encriptação opera no nível mais baixo da pilha do sistema de arquivos e 

age como um driver de um dispositivo. Todos os dados que são enviados para esse bloco 

do   dispositivo   virtual   são   criptografados   e   passados   para   o   hardware   onde   são 

armazenados. Quando o kernel requer um bloco de dados do dispositivo virtual, o driver 

pega um bloco  encriptado do  hardware,  decriptografa  ele  e   retorna os  dados  para  o 

kernel.

O driver de encriptação trabalha com blocos, ele não conhece arquivos, diretórios e 

como o sistema de arquivos implementa eles. Entretanto o FSFS pode somente operar 

sobre  uma partição inteira, não sobre pastas ou arquivos individualmente, ele requer que 

o   usuário   conheça   antes   quanto   espaço   vai   reservar   para   o   sistema   de   arquivo 

criptografado.   Assim   pode   haver   algum   espaço   não   usado   ou   espaço   reservado   é 

insuficiente.   Esse   sistema   faz   encriptação   transparente   para   o   resto   do   sistema 

operacional e algum sistema de arquivos pode ser usado para armazenar os dados. Nem 

o kernel, nem qualquer outra aplicação precisa ser modificada para fazer uso do driver de 

encriptação.

Para   implementar   um   sistema   de   arquivos   com   controle   flexível   de   acesso   e 

gerenciamento de acesso dos usuários aos dados, O FSFS usa várias chaves e senhas. 

Elas são usadas para autenticação, permissão e revogação de acesso para o usuário e 

proteção contra diferentes ataques.

As chaves, senhas e configurações de dados são armazenados em vários locais do 

sistema.   Os   dados   secretos   em   um   arquivo   são   encriptados   usando   uma  chave 

criptografica secreta (SEK). Somente o dono do arquivo encriptado sabe a chave. A SEK é 

gerada quando o dono dos arquivos cria uma nova partição de arquivos criptografada, ao 

mesmo tempo que a  chave do dono(OK)  e  chave de acesso (PK)  são geradas, ambas 

somente  o  dono  sabe.  O     dono  pode  mais   tarde  usar  a  OK para  provar  que  ele   é 

realmente o dono dos arquivos. 

Page 6: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e 

dados de configuração,  como o nome do arquivo de criptografia,  são armazenado.  O 

cabeçalho contêm o SEK, o PK e a os valores da tabela de segurança de OK. Essas 

chaves são criptografadas usando  Secret  Shared Key (SSK).  O arquivo pode ser   lido 

somente pelo proprietário e o programa de setup, que executa com permissão de root.

O SSK é dado a todos os usuários que tem permissão para acessar os arquivos 

criptografados. O usuário guarda o SSK no seu User Key File (UKF) e protege ele com um 

User Password (UP).Quando um usuário quer trabalhar com um dado criptografado, ele 

usa a SSK no FSFS. O driver então usa o SSK para descriptografar o cabeçalho do 

arquivo, receber o SEK e habilitar a decriptografia do arquivo para o usuário.

Para dar a diferentes usuários diferentes  tipos de acessos, o ID do usuário e níveis 

de acesso para cada usuário são armazenados em suas chaves de arquivos (UKF). Para 

proteger o ID e níveis de acesso, eles são criptografados usando a chave de permissão 

PK. Para acessar os dados secretos, um usuário deve entrar com ID/nível de acesso 

encriptado.  O driver descriptografa esse par usando a PK armazenada no cabeçalho. 

Page 7: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

Somente se o ID decriptografado é igual ao usuário, o acesso é permitido. Usuários não 

podem   acessar   o   cabeçalho   do   arquivo   e   todo   acesso   aos   arquivos   encriptados   é 

controlado por um driver de encriptação.

Para fazer isso o driver intercepta todos as chamadas de sistema que podem iniciar 

ou transferir dados de ou para o dispositivo de bloco. A chamada original é trocada por 

um código que checa se uma partição encriptada é invocada na chamada e se o dono do 

processo tem os níveis de privilégio suficiente. Se não um erro retorna, caso contrário, a 

chamada de sistema original é executada.

O FSFS modifica as chamadas de sistema para  open(),   link(),  del(),  chmod()  e 

chdir().  Essa  modificação  é   feita   com um modulo  no  kernel  do   linux  que  substitui   a 

chamada original para o próprio código. O FSFS tem 5 direitos de acesso:

● Read: O usuário pode ler arquivos encriptados, navegar nas pastas e listar 

arquivos.

● Write: Os arquivos podem ser escritos, criados e deletados.

● Export:  O  direito  de   leitura  não  permite  a  cópia  de  dados  de  um  local 

encriptado para  outro   local,  possivelmente não encriptado.  Sem a  tag  export  o 

usuário pode somente ler arquivos do sistema criptografado e gravar nele, esse 

direito serve para o usuário ler um arquivo no sistema criptografado e poder gravá­

lo em outro local. 

● Introduce: Depois de criar um novo sistema de arquivo encriptado, o dono e 

somente ele pode emitir chaves para outro usuário acessarem os dados.

● Admin:  Esse direito  em combinação com “introduce”,  permite  ao usuário 

emitir chaves contendo alguns direito (read,write,export,introduce), exceto “admin”.

Esses  direitos  descritos  são  garantidos  somente  para  processos  da   seção   (ou 

grupo   de   processos)   de   que   o   usuário   autentica   no   driver.   Isso   permite   ao   usuário 

trabalhar com programas que precisam acessar dados encriptados em um terminal sem 

ter que dar para cada processo individualmente direito de acesso. 

Page 8: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

3 TrueCrypt Autor do capítulo: Rodrigo Valceli Raimundo

3.1 INTRODUÇÃO 

O TrueCrypt  é   um software  para  criptografia  de  disco   (e  por   consequencia  de 

sistemas de arquivos) bastante popular, eficiente e seguro. 

Seu  trabalho é   realizado acima e abaixo do sistema de arquivos nativo do SO. 

Acima,   porque   o   TrueCrypt   funciona   através   da   criação   de   discos   virtuais   que   são 

hospedados por qualquer FS nativo.  Abaixo, porque o TrueCrypt  expõe essa  imagem 

como um disco real, o qual o usuário pode usar para criar partições de seu FS preferido. 

Atuar nestas duas camadas permite ao TrueCrypt: 

● prover   um   mecanismo   transparente   de   criptografia   já   que   as 

aplicações não precisam saber que estão em um volume criptografado ;

● estar presente nas principais plataformas (Linux, MacOS, Windows) e 

ser portável para virtualmente qualquer uma ;

● ser   relocável,   no   sentido   que   o   volume   criptografado   por   ser 

transportado para qualquer outro sistema ;

● ser o único sistema de criptografia com "negação plausível", já que é 

possível esconder um volume dentro de outro .

Entretanto com o TrueCrypt não é possível realizar algumas como: 

● compartilhar arquivos criptografados num sistema multi­usuário 

● criptografar arquivos do mesmo volume com chaves/senhas distintas 

Page 9: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

 

Estas duas últimas funções não fazem parte da filosofia ao qual o TrueCrypt se 

propõe. 

Abaixo, o esquema geral do TrueCrypt:

3.2 CRIAÇÃO DOS VOLUMES 

Um volume para o TC é geralmente um grande arquivo contido no FS hospedeiro, 

embora dependendo da plataforma ele seja capaz de operar em um nível mais baixo, 

independente de um FS. 

Durante o processo de criação de um volume o usuário precisa decidir qual será 

seu   tamanho,   o   algoritmo   de   criptografia   e   de   checksum,   além   de   uma   senha   de 

segurança. Em seguida o TC cria o arquivo com o tamanho necessário e o preenche por 

completo com dados aleatórios, algo extremamente importante para garantir a segurança 

Page 10: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

do conteúdo do volume e de prováveis volumes ocultos. Um par de chaves aleatórias é 

gerado e guardado de maneira criptografada no cabeçalho do volume utilizando a senha 

fornecida pelo usuário.  Todo conteúdo do volume será  acessado através dessas duas 

chaves e estas chaves só podem ser decodificadas com a senha estipulada. 

A criação de volumes ocultos é parecida, porém sua metodologia não é de todo o 

interesse para um trabalho sobre SO. 

3.3 CRIPTOGRAFIA 

Como   o   TC   é   destinado   a   sistemas   pessoais   monousuário   a   "montagem"   do 

volume pode se dar a qualquer momento, desde que requisitada pelo usuário. A senha é 

usada apenas uma vez e não fica armazenada na memória. As chaves, porém ficam e 

esse problema será abordado adiante. 

Todo   algoritmo   de   criptografia   exige   um   modo   de   operação.   Tal   modo   é   tão 

importante para a segurança dos dados quanto o próprio algoritmo, no TrueCrypt o único 

modo disponível é o XTS, junto com os algoritmos AES­256, Twofish e Serpent. O modo 

XTS é o único modo de operação reconhecido pela IEEE (IEEE 1619) para criptografia de 

dispositivos de bloco. Usar o XTS é um compromisso entre permitir o acesso aleatório aos 

blocos, porém com propagação de ruído, ou seja é  possível criptografar blocos com o 

mesmo conteúdo sem que o resultado final seja o mesmo, já que a posição que eles se 

encontram no disco é usada como ruído. 

Outro diferencial  do TC é  a criptografia  em cascata que permite  utilizar  AES + 

Serpent e AES + Twofish + Serpent, um após o outro no processo de criptografia. 

Page 11: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

O diagrama abaixo ajuda a entender um pouco melhor o esquema:

3.4 PROBLEMAS DE SEGURANÇA 

O TC é um sistema seguro, porém existem outros fatores que podem levar ao seu 

comprometimento e são nesses fatores que o SO mais impacta, vejamos eles: 

3.4.1 Swap e Hibernação 

Page 12: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

A memória  swap  é   inimiga mortal  da  segurança  de um computador.  Caso um 

computador ou disco seja tomado por terceiros, a análise da memória swap pode revelar 

senhas,   chaves   e   muitas   outras   informações   importantes   que   estavam   em   memória 

principal e foram relocadas para memória secundária. Tal perigo é ainda pior quando se 

trata   de   hibernação,   já   que   TODA  a  memória   principal   foi   transferida  para   memória 

secundária. 

Um exemplo do problema: 

­   Um   atacante   consegue   roubar   um   laptop   contendo   informações   secretas 

criptografadas. O laptop possuia um arquivo/partição de hibernação. O atacante consegue 

obter a chave de decodificação da memória que ofi despejada o arquivo de hibernação e 

compromete o sistema. 

O recomendável  para  tais casos é  desabilitar  a hibernação e a memória swap, 

alguns sistemas como o OpenBSD criptografam a memória swap por padrão. 

3.4.2 Journaling e Wear Leveling 

O recurso de  journaling do sistema nativo pode ser perigoso para o TC, porém 

muito   menos   do   que   o   problema   com   swap   e   hibernação   citados   anteriormente. 

Dificilmente consegue­se comprometer o volume por causa do journal, no entando rastros 

das atividades do FS deixadas no journal podem revelar a um atacante que esteja em 

pose   do   volume   criptografado   informações   como   as   regiões   aonde   os   arquivos   se 

encontram e quando eles forma acessados. 

O recurso de wear leveling presente principalmente nos dispositivos SSD implica 

em alguns problemas de segurança para o TC, isto porque ao reescrever um bloco lógico 

o mesmo não será remapeado ao bloco físico o qual estava anteriormente, deixam várias 

versões do mesmo bloco no dispositivo. Isto é especialmente perigoso quando se trata do 

cabeçalho do volume. Mesmo ao se trocar a senha de um volume, apenas o cabeçalho é 

modificado, qualquer versão anterior do cabeçalho com uma senha conhecida por um 

atacante pode ser usada para decifrar o volume inteiro. 

Page 13: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

 

3.5 CONSIDERAÇÕES 

Todas   as   capacidades   técnicas   e   científicas   para   criptografia   de   sistemas   de 

arquivos   em   nível   de  disco   já   estão  disponíveis   e   implementadas  de  maneira  muito 

eficiente.   Uma   das  deficiências   dos  esquemas  atuais   é   o   baixo  acoplamento   com o 

sistema como um todo. Ser uma extensão tem suas vantagens, porém uma ferramenta 

tão   forte   quanto   o   TC   poderia   ser   acoplada   de   maneira   muito   mais   sofisticada   aos 

sistemas atuais, permitindo a interligação com subsistemas já existentes como o próprio 

subsistema de autenticação fornecido pelo SO.

Page 14: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

4 Criptografia no NTFSAutor do capítulo: Carlos Eduardo de Campos

'O NTFS é um sistema de arquivos proprietário da Microsoft que usa uma arvoreB como estrutura de dados, sua primeira implementação veio no Windows NT, ou seja, antes mesmo do Windows 95.A idéia por traz deste sistemas de arquivo é o gerenciamento de múltiplos usuários.a Tabela de Arquivo Mestre (MFT). é o “coração” de um volume NTFS. Todos os dados de cada volume estarão contidos nela. Quando formatamos um disco para esse sistema, o programa de formatação cria um conjunto de arquivos de Metadados. Estes contêm informações sobre o sistema e sua estrutura ao longo de sua utilização. Nesse momento, também é criada a MTF.

MFTMFT 2Arquivo de LOGArquivo de VolumeTabela de definição de atributoDiretório PrincipalUnidade de alocação BITMAPArquivo de BOOTArquivo de cluster defeituoso...Arquivos de Usuário...

Esquema de implementação da Master File Table em volume NTFS. Cada campo contendo arquivos de Metadados, guarda informações importantes do sistema.

Esses dados inicias, além de todos os arquivos de usuários que surgirão ao longo do tempo, estão distribuídos na MFT sob a forma de Registros de Arquivo. Essa forma de organização dita mais uma vantagem do NTFS. É que, o agrupamento dos dados em uma estrutura única em comum permite sua administração de forma centralizada. Assim sendo, implementando­se um sistema de segurança à própria MFT (o que é feito), a confiabilidade no sistema e em seus componentes, em sua totalidade, já estará assegurada, visto que conseqüentemente eles também estarão protegidos por estarem contidos em tal estrutura.

Page 15: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

o Windows (NT/2000/XP) fornece proteção a diversos objetos do sistema dentre os quais podemos citar arquivos, diretórios, impressoras, entre outros. Tais objetos são protegidos através de Descritores de Segurança que controlam quem tem e que tipo de acesso a eles. No caso de arquivos de dados, tais descritores compõem um atributo a mais nos seus registros da MFT, o qual pode ser observado na estrutura de um registro de arquivo.Para fornecer proteção o SO observa o nome do usuário, usado para entrada no sistema, e o combina com o descritor de segurança de cada objeto. Quando na tentativa de acesso a algo no sistema, essa combinação dirá se o que se pretende manipular poderá ou não ser utilizado pelo usuário em questão

No caso de criptografia, temos o recurso de Encriptação (EFS – Encription FileSystem), que devido ao grande impacto que causou, quando no lançamento do Windows 2000, merece muita importância. Tal mecanismo permite que arquivos sejam criptografados e armazenados em volumes sob a administração do NTFS. O EFS se baseia em chaves privadas para transformar as  informações em códigos que somente ele entende. Os usuários que tiverem o acesso, ou melhor dizendo, o direito a essas chaves, terão acesso livre aos dados. Do contrário, isso não será possível. Esse recurso acrescenta uma segurança ainda maior aos dados e veio compor mais uma interessante característica ao sistema de arquivos em questão.

O Windows usa um Certificado Digital q é associado à conta do usuário, quando o usuário se loga, ele automaticamente carrega o certificado apropriado. A senha e username não tem nada com isso, o usuário teria que exportar o certificado para acessá­lo em outro lugar ou exportá­lo antes de formatar e importado ele na sua nova conta após a reinstalação!

O EFS usa por default o algoritmo DESX com chave de 128 bits, mas pode ser configurado pra usar o 3DES com chave de 168 bits ou AES com chave de 128, 192 e 256 bits. No default, usa o algoritmo DEX com 128 bits é uma chave grande o suficiente pra resistir a ataques de força bruta por um longo tempo.

Componentes utilizados pelo EFS

O EFS utiliza os seguintes componentes para desempenhar as suas funções: 

Page 16: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

• EFS service: O serviço EFS se comunica com o dispositivo EFS através da porta local procedure call (LPC). O EFS service e a Microsoft Cryptographic Application Programming Interface (CryptoAPI) se comunicam,  com o EFS service recebendo as chaves de encriptação dos arquivos da  CryptoAPI. Ele usa essas chaves para gerar campos de dados descriptografados  (DDFs) e campos de recuperação de dados (DRFs). A chave criptografica de arquivo (FEK) é utilizada para os dados dos arquivos. O EFS service passa a FEK, DRF, e DDF para o dispositivo EFS através do EFS File System Run­Time Library (FSRTL). 

• EFS driver: O EFS driver requer FEK’s, DDF’s e DRF’s do EFS service. Ele então retransmite ao EFS FSRTL. 

• EFS File System Run­Time Library (FSRTL): O EFS FSRTL existe no EFS driver, e opera com o EFS driver como um componente. Arquivos de controle de chamada do NTFS são utilizadas como mecanismo de comunicação entre os dois. O EFS FSRTL leva a cabo um conjunto de funções do sistema de arquivos que incluem criptografia, desencriptar, e recuperar dados quando o arquivo é lido a partir do disco ou escritas no disco. 

• Criptografia Microsoft Application Programming Interface (CryptoAPI): CryptoAPI é utilizada pelo EFS para funções criptográficas. CryptoAPI suporta criptografia, descriptografia, hashing, assinaturas digitais e verificação dos mesmos, chave de gestão, armazenamento seguro, e operações de chave estrangeira

Como os arquivos são criptografados e descodificada 

Como mencionado anteriormente, o EFS utiliza chaves públicas e criptografia de chave simétrica para assegurar que o conteúdo das pastas e arquivos. Os algoritmos de criptografia utilizam chave pública assimétrica para criptogravar / descriptografar. O que isto significa é que as teclas utilizadas para encriptar e desencriptar os dados são diferentes, porque uma chave privada e uma chave pública é utilizada. A chave privada é mantida pelo proprietário da chave. A chave pública pode ser utilizada na rede. 

Quando os dados são criptografados, o EFS gera uma única FEK para criptografar o arquivo. De seguida, criptografa o FEK utilizando a chave pública do certificado do utilizador. O EFS usa o FEK para garantir que a criptografia ocorra rapidamente. A chave privada do utilizador é utilizada para descriptografar o FEK. 

O processo descrito a seguir ocorre quando um usuário criptografa um arquivo: 

• O arquivo é aberto pelo EFS service.• Os fluxos de dados do arquivo são copiados para um arquivo temporário de texto 

plano localizado no diretório temporário do sistema • EFS gera a única FEK. • A FEK é utilizada para criptografar o arquivo seja através DesX ou 3DES. • O DDF é criado. O DDF contem o FEK criptografado por meio da chave pública do 

usuário. • Quando um agente de recuperação é definido por meio de política de grupo, os 

campos da recuperação dos dados (DRFs) é criado. 

Page 17: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

• Os dados criptografados, DDF, e DRF são armazenadas no arquivo. • O arquivo temporário de texto plano localizado no diretório temporário do sistema é 

apagado. 

O processo descrito a seguir ocorre quando um arquivo é descodificada: 

• NTFS identifica como sendo os arquivos criptografados e, em seguida, apresentar um requerimento para a decriptografia através do EFS driver. 

• O EFS driver obtém os DDF’s e envia para o EFS service. • O EFS service obtém a chave privada do utilizador. Ele usa essa chave para 

descriptografar a DDF. • Depois que o EFS service descodificou o DDF e obteve o FEK, ele o envia para o 

EFS driver. • O EFS driver utiliza o FEK recebido do EFS service para descriptografar os dados 

no arquivo. • O EFS driver passa os dados decodificados dados para NTFS. 

Page 18: Criptografia em Sistemas de Arquivos - lisha.ufsc.br · Os primeiros bytes do arquivos são usados como cabeçalho, onde as chaves e dados de configuração, como o nome do arquivo

Referencias:http://www.securityfocus.com/infocus/1673http://www.tech­faq.com/encrypting­file­system.shtmlMEIOS DE ARMAZENAMENTO, apostila de Marcos Cesar Kossoski (www.apostilando.com)http://www.guiadohardware.net/comunidade/descriptografar­arquivo/267315/http://www.petri.co.il/how_does_efs_work.htmhttp://www.microsoft.com/technet/prodtechnol/winxppro/deploy/cryptfs.mspxhttp://www.ntfs.com/internals­encrypted­files.htmhttp://www.harddiskhome.com/portuguese/NTFS.htmlSistemas Operacionais: projeto e implementação/ Andrew S. Tanenbaum e Albert S. Woodhull; tradução Edson Furmankiewicz – 2ª edição – Porto Alegre: Bookman, 2000. File System Encryption with Integred User Management, Stefan Ludwig – Coporate Technology – Siemens AG – Munich , Prof. Dr. Winfried Kalfa – Operating Systems Group – Chemnitz University of Technology.