login
Sun 26 of Sep, 2021 (16:07 UTC)

[root@madeira.eng.br ~]#

Linux - It is now safe to turn on your computer

atualizar cache imprimir

Criptografia de Disco – Garantindo a segurança de suas informações

Criada por: Frederico Madeira, última modificação em: Wed 14 of Feb, 2007 (04:09 UTC)

1.0 – Introdução


Frequentemente, uma técnica de criptografia conhecida como RSA é usada para esconder o número do seu cartão de crédito ou os seus dados bancários em quanto faz "home banking". Com a RSA temos duas chaves, uma pública para esconder suas informações e outra privada para revelá-las.
O uso de algoritmos de criptografia está se tornando cada vez mais comum. Hoje em dia, a segurança de rede e segurança física não são os maiores problemas e sim pessoas que de alguma forma têm acesso ao seu computador.
Imaginemos que você faz parte de uma empresa, a qual disponibiliza um notebook para suas atividades e você possui informações sigilosas nele. Durante uma viagem, você é assaltado e fica sem seu notebook, o assaltante abre seus arquivos, identifica sua empresa e decide vender as informações para seu concorrente. Qual será o impacto dessa perda para a empresa ? Qual o valor das informações perdidas ?
Para evitar esse tipo de perda, são usadas técnicas de criptografia de forma a garantir que a CIA (Confiabilidade, integridade de disponibilidade) seja garantida.
Poderíamos encriptar toda a partição onde as informações da empresa estariam guardadas, tornando-as inúteis para alguém que não possua a chave para decriptar as informações,
Existem diversos algoritmos de criptografia disponíveis. Ao longo desse texto, descreveremos os mais comumente utilizados em corporações e governos mundiais além de mostrarmos como é possível encriptar um disco rígido em sistemas operacionais Windows e Linux.

Link para versão em PDF:
Criptografia de Disco  Garantindo a seguranca de suas informacoes.pdf


2.0 - Por que Criptografar


Sabemos que existem muitas formas de proteger os sistemas ou até mesmo fazer alterações para prevenir acessos indevidos, mas mesmo assim, a proteção de um usuário a um arquivo pode ser o último recurso de defesa contra brechas indesejadas na privacidade. A forma mais segura de se proteger a informação é usando técnicas de criptografia. O software criptográfico pode ajudar a proteger as informações contidas nos arquivos. A criptografia pode ser usada para proteger os dados armazenados em disco, e os arquivos criptografados podem ser transmitidos sem medo de que possam ser lidos se interceptados. Se os dados, de uma forma em geral, forem considerados suficientemente confidenciais para garantirem proteção interna, a criptografia poderá fornecer a segurança extra necessária.
Quando pensa-se em criptografia em dados, é importante lembrar de poder recuperar os dados quando as chaves originais são perdidas, por exemplo, tendo ainda várias questões técnicas , legais e éticas, assim como de procedimentos a levas em conta. Se for o caso de planejamento com uma boa quantidade de criptografia, lembre na possibilidade de usar aceleradores de hardware, os quais agilizam o processo, descarregando a criptografia da CPU para um dispositivo separado.

Através da criptografia podemos garantir:
• Confidencialidade. Para garantir que os dados permaneçam privados. Geralmente, a confidencialidade é obtida com a criptografia. Os algoritmos de criptografia (que usam chaves de criptografia) são usados para converter texto sem formatação em texto codificado e o algoritmo de descriptografia equivalente é usado para converter o texto codificado em texto sem formatação novamente.
• Integridade de dados. Para garantir que os dados sejam protegidos contra modificação acidental ou deliberada (mal-intencionada). A integridade, geralmente, é fornecida por códigos de autenticação de mensagem ou hashes. Um valor de hash é um valor numérico de comprimento fixo derivado de uma seqüência de dados. Os valores de hash são usados para verificar a integridade dos dados enviados por canais não seguros. O valor do hash de dados recebidos é comparado ao valor do hash dos dados, conforme eles foram enviados para determinar se foram alterados.
• Autenticação. Para garantir que os dados se originem de uma parte específica. Os certificados digitais são usados para fornecer autenticação. As assinaturas digitais geralmente são aplicadas a valores de hash, uma vez que eles são significativamente menores que os dados de origem que representam.

3.0 - Algoritmos atuais


Os algoritmos de criptografia são classificados da seguinte forma: simétricos, assimétricos e de hash. Os algoritmos de criptografia simétricos usam a mesma chave para a criptografia e a descriptografia, enquanto que os algoritmos assimétricos usam um par de chaves pública/privada. Já o Hash é gerado a partir da informação original, nada mais é do que a identidade da informação gerada.
Algoritmos simétricos posuem a vantagem em relação a algoritmos assimétricos de onerar menos a CPU, no entanto o fato de compartilhar a mesma chave para o processo de encriptação e desencriptação compromete a segurança, tendo em vista que se a chave em questão for exposta, a segurança é quebrada.

3.1 - Algoritmos Simétricos


3.1.1 - DES (Digital Ecryption Standard)

primeiro cipher disponível. Oferecia chaves de 56 bits, podendo chegar a 64 bits. Desenvolvido nos anos 70 pela IBM e alterado pela NSA. Com o poder computacional atual, já não é mais seguro, pois é sujeito a ataques de força bruta. Em julho de 1998 foi criada uma máquina chamada DES Cracker, que levou 3 dias para quebrar o algoritmo DES Challenge II e em Janeiro de 1999 quebrou o DES Challenge III em 22 horas usando milhares de computadores espalhados pelo mundo1. Em 19 de maio de 2005, foi desaprovado seu uso pelo governo americano.

3.1.2 - 3DES (TripleDES)

substituto do DES. Usa 3 chaves de 64 bits (o tamanho máximo da chave é de 192 bits, embora o comprimento atual seja de 56 bits garantindo chave de 168 bits). Os dados são encriptados com a primeira chave, decriptado com a segunda chave e finalmente encriptado novamente com a terceira chave. Isto faz do 3DES ser mais lento que o DES original, mas oferece maior segurança. Em vez de 3 chaves, podem ser utilizadas apenas 2, fazendo-se K1 = K3.

3.1.3 - Rijndael

também conhecido como AES( Advanced Encryption Standard). Sucessor do DES. Atualmente, é o algoritmo adotado pelo governo americano1 . Suporta chaves de 128 bits, 192 bits e 256 bits.

3.1.4 - RC2

algoritmo de chave variável por blocos. Pode ser configurado para ser mais seguro ou menos seguro do que o DES. Patrocinado pela Lotus. Suporta chaves de 8 a 128 bits. Usa 64 bits por padrão. Em computadores IBM AT o processo de encriptação é duas vezes mais rápido do que o DES.

3.1.5 - BLOWFISH

algoritmo rápido e seguro, desenvolvido por Bruce Schneier. Utiliza chaves de 448 bits.

3.1.6 - TWOFISH

é um algoritmo de 128K blocos que aceita tamanho de chave variável até 256 bits. Não é patenteado. Não é regido por nenhum copyright e já foi exaustivamente analisado

3.2 - Algoritmos Assimétricos

O primeiro projeto de algoritmo assimétrico foi apresentado em 1976 por Diffie and Hellmann

3.2.1 - DSA (Digital Signature Algorithm)

é um algoritmo público. Parte do Digital Signature Standard (DSS). Recomendado para aplicações que requeiram assinatura digital ao invés da escrita. Não pode ser usado para encriptação por chave privada pois é desencriptado pela chave pública. A mensagem é submetida ao algoritmo SHA que gera um hash da mensagem. Esse hash é submetido ao algoritmo DSA usando a chave privada do remetente; ao final temos a mensagem assinada. O remetente submete a mensagem recebida ao SHA para gerar o hash, usa a chave pública do remetente para decriptar a assinatura digital e compara o hash das mensagens. Se forem os mesmos, a mensagem é autêntica. Usa chaves de 512 bits a 128 bits.

3.2.2 - RSA

sua sigla representa os nomes dos desenvolvedores Ron Rivest, Adi Shamir e Len Adleman que inventaram o algoritmo em 1977. Esse algoritmo pode ser usado tanto para assinatura digital como para encriptação através de chave pública. Sua segurança está baseada na dificuldade de fatoração de grandes integrais. Usa chaves de 1024-2048 bits.
  • Encriptação de arquivos: utiliza a chave pública do destinatário para encriptar a informação.
  • Desencriptação: no destino, aplica a chave privada do receptor e desencripta a mensagem.
  • Assinatura Digital: da mesma forma do DSA, após a geração do HASH da mensagem, encripta-se usando a chave privada do remetente.
  • Validação da Assinatura: No destino, gera-se novamente o hash da mensagem recebida, aplica-se a chave pública do remetente ã assinatura recebida e compara o resultado com a o hash gerado. Se forem iguais a mensagem é autêntica.

3.3 - Algoritmos de HASH


3.3.1 - M2

segunda geração do algoritmo MD. Produz um Hash de 128 bits (16 bytes)

3.3.2 - MD5

evolução do MD2. Muito mais rápido e forte do que seus antecessores. Tornou-se o algoritmo dominante e ainda é comumente utilizado. Produz um Hash de 16 bytes. Nunca foi quebrado.evolução do MD2. Muito mais rápido e forte do que seus antecessores. Tornou-se o algoritmo dominante e ainda é comumente utilizado. Produz um Hash de 16 bytes. Nunca foi quebrado.

3.3.3 - HMAC

hash de autenticação de mensagem.

3.3.4 - SHA1

muito parecido com o MD5. Suas partes internas são mais fortes do que as do MD5, além de produzir um hash mais longo (160 bits em relação aos 128 bits do MD5). Existem variantes que produzem Hashes maiores: SHA192, SHA256 e SHA512.

4.0 - Requisitos legais


Não basta criptografar os dados, sem fornecer e usar procedimentos apropriados, para não arriscar invalidar seus esforços. Se não for implementado adequadamente, a criptografia poderá fornecer um senso falso de segurança, tendo em vista, que se você usar criptografia ‘sozinho’ não fornecerá uma base segura para os dados do sistema.
Aos arquivos confidencias, o software de criptografia proporciona a segurança extra necessária, só que alguns países possuem alguma forma de restrição em vez de lidar com o que você pode ou não pode fazer ao usar criptografia. Essas restrições se aplicam ao hardware e software e há leis que regulam o tamanho e o uso das chaves.
Nem sempre é necessário fazer uso de uma chave grande, é preciso determinar quais tamanhos são adequados com o grau de proteção aos dados. Lógico que as chaves grandes são mais difíceis de decifrar, mas o inconveniente é que tornam o processo mais demorado, assim o seu fluxo de trabalho ou a carga que você está colocando nas máquinas poderá ser impactado pelo tempo que levará para criptografar ou decriptografar um arquivo. Dois sites úteis no comprimento dessas ordens legais no cumprimento de leis:

U.S. Bureau of Industry and Security: orienta a lidar com questões criptográficas ao lidar com pessoas ou empresas de outros países. www.bis.doc.gov/encryption/

Crypto Link Farm: dentro dos Estados Unidos ou na Europa, você não pode se preocupar muito com o uso de criptografia para uso pessoal, pois apesar de ela estar regulada, as leis provavelmente não inibirão esse tipo de utilitário, onde o foco fica no compartilhamento de dados nas fronteiras que podem causar problemas. www.cs.auckland.ac.nz/~pgut001/links/standards.html

5.0 - Criptografia de Sistemas de Arquivos – Linux


Em algumas publicações do Linux (SUSE, Red Hat), vem com o “gpg” que é atribuído ao nome de comando do GnuPG (GNU Privacy Guard). É uma substituição gratuita e completa do PGP e não possui nenhum problema de patente ou licenciamento, sendo compatível com o padrão OpenPGP que pode ser encontrado na RFC 2440.
É uma ferramenta bastante utilizada sendo útil na comunicação com outras pessoas que usam o “gpg” ou algum outro aplicativo orientado para PGP. O “gpg” usa um método de proteção de arquivos comumente chamado de criptografia de chave pública. Um dos termos mais comuns associados a esse tipo de uso é PKI (Public Key Infrastructure – Infra Estrutura de Chave Pública).
Na implementação de criptografia de sistemas de arquivos em sistema operacional linux podemos usar dois padrões: para kernels mais antigos usamos os pacotes loop-AES1 e util-linux já nas versões atuais (>2.6.12) usamos o dm-crypt2 chamado de Device-Mapper.

6.0 - Criptografia de Sistemas de Arquivos – Linux – Implementando


7.0 - Criptografia de Sistemas de Arquivos – Linux – Vantagens e Desvantagens


8.0 - Criptografia de Sistemas de Arquivos – Windows


Nos capítulos anteriores, foram apresentadas as motivações, os algoritmos e os requisitos legais de uso de técnicas de criptigrafia de dados. Neste capitulo, apresentar-se-ão as características de uma implementação de disco em ambiente windows, para tal, serão usados os seguintes aplicativos:

GnuPG: também conhecido como GPG, implementação opensource do padrão OpenPGP definido na RFC2440. Usado para geração de chaves. Disponível em http://www.gnupg.org/
WinPT (Windows Privacy Tools): usado como Keyring para armazenar e gerenciar chaves de criptografia. Open Source. Disponível em http://winpt.sourceforge.net/en/
TrueCrypt: software de encriptação de disco. Possibilita a encriptação de uma unidade inteira, um dispositivo de armazenamento USB ou através da criação de uma unidade encriptada a partir de um arquivo no sistema de arquivos. Disponível em http://www.truecrypt.org/


9.0 - Criptografia de Sistemas de Arquivos – Windows – Implementando


10 - Criptografia de Sistemas de Arquivos – Windows – Vantagens e Desvantagens


Durante o processo de encriptação de uma unidade de disco em windows, deve-se levar em consideração os aspectos abaixo:

- Vantagens
Garante confiabilidade/integridade da informação encriptada;
Para montar a unidade são usados dois mecanismos de autenticação: algo que eu sei e algo que eu possuo;
Com a chave privada armazenada no dispositivo de armazenamento USB, em caso de acesso não autorizado ou roubo do equipamento, não será possível a leitura das informações sem a chave privada inserida através da porta USB.

- Desvantagens
Caso a unidade encriptada já esteja montada e um invasor consiga acesso ao computador, será possível ler as informações encriptadas;
Caso seja feita uma troca de usuário (não é logoff) o segundo usuário terá acesso a unidade encriptada;
Maior lentidão nas operações de leitura e escrita dentro da unidade encriptada

11 - Certificado Digital


O certificado digital nada mais é do que um arquivo eletrônico que acompanha um documento assinado digitalmente e cujo conteúdo é criptografado por meio de sofisticados algoritmos matemáticos. Ele contém um conjunto de informações que identificam uma pessoa ou empresa com alto grau de segurança e confiabilidade, pois garante autenticidade da origem, autoria e a integridade de seu conteúdo. Por se tratar de arquivo de dados, o certificado pode ser facilmente armazenado dentro do próprio computador, no chip de um cartão inteligente (smartcard) ou em um dispositivo portátil conhecido como token criptográfico, conectado à porta USB do microcomputador.
O Brasil montou a sua própria Infra-Estrutura de Chaves Públicas, a ICP-Brasil, por meio da Medida Provisória 2.200-2, de 24 de agosto de 2001, a qual reúne um conjunto de técnicas, práticas e procedimentos a serem implementados pelas organizações governamentais e privadas brasileiras com o objetivo de estabelecer os fundamentos técnicos e metodológicos de um sistema de certificação digital baseado em chave pública.
As regras e normas que regulam as entidades integrantes da ICP-Brasil são baseadas em padrões públicos internacionais e deliberadas no país por meio de um Comitê Gestor, composto de representantes do governo e da sociedade civil. Pelo regulamento são passíveis de homologação mídias como tokens criptográficos e cartões inteligentes (smartcards), sistemas como de assinatura eletrônica, de autenticação de assinatura, de autoridades certificadoras e de registro, entre outros.

12 - O que são Tokens e para que servem?


São hardwares portáteis que funcionam como mídias armazenadoras. Em seus chips são armazenadas as chaves privadas dos usuários. O acesso às informações neles contidas é feito por meio de uma senha pessoal, determinada pelo titular.
O Token pode apresentar-se sob a forma de cartões magnéticos, smart cards e dispositivos USB (USB Tokens).
Os Tokens servem para armazenar certas informações (chave privada, matricula de um funcionário, credito dentre outros). Com essas informações é possível realizar uma identificação / autenticação de algo ou alguém perante algum equipamento que leia essas informações. Eles podem ser aplicados em uma vasta área, como em telefonia móvel, telefonia fixa, sistema financeiro, carteiras eletrônicas, cartões de crédito, autenticação de usuários em um computador, encriptação de unidades de disco dentre outros.
São muito utilizados também em notebooks para certificar de que as informações dos mesmos estejam protegidas contra roubo, piratas digitais, espiões ou simples curiosos. Pois garante que as informações confidenciais sejam acessadas apenas por pessoas autorizadas.

13 - Tipos de Tokens


13.1 - Smart Card


Os smart cards são cartões, similares aos cartões de credito, que contém microprocessador e memória e atendem o padrão ISSO 7816.
O padrão ISSO 7816 define as seguintes normas para os Smarts Cards:
Características Físicas;
Dimensões e localização dos contatos (8 contatos);
Sinais elétricos e protocolos de transmissão;
Comandos para intercâmbio entre empresas;
Sistema de numeração e procedimento de registro de identificadores de aplicação.

Existem basicamente dois tipos de Smart Cards:

Cartões de memória (memory cards) – Esse tipo de Smart Card apenas armazena informações. Ele não possui a capacidade de ragir a invasões nem suporta algoritmos de segurança (não há processamento).

Cartões com Microprocessador (Microprocessor cards) – Tem todas as características de um computador simples. Nele contém um chip (Self Programmable One Microcalculator – SPOM) que integra todos os elementos de um microprocessador. Como:
Interface de entrada e saída;
Mecanismos anti-intrusão;
Memórias RAM, ROM e EEPROM;
Unidade de processamento.

13.2 - Token


Possui as mesmas características lógicas e de segurança que um Smart Card (o seu conteúdo é protegido por PIN, guarda o par de chaves assimétricas, executa funções criptográficas, gera a chave privada, etc.), porém difere ao nível físico. Como o próprio nome indica, é ligado à porta USB (Universal Serial Bus) do computador, não necessitando de leitor.

14 - Algumas comparações entre Token USB e Smart Card


A diferença básica está no formato físico: um Smart Card é idêntico a um cartão de crédito. Pode conter foto, nome e outras informações. Um Token tipicamente não armazena este tipo de informações, guarda, apenas chaves e certificados digitais. No máximo, o logotipo da empresa que emitiu o certificado. Tem o tamanho de uma chave doméstica e cabe perfeitamente no seu chaveiro.
A segunda diferença importante está na facilidade e na forma de instalar as duas mídias: o cartão necessita de uma leitora, que por sua vez requer a instalação de drivers específicos. Já o Token precisa apenas de seu próprio driver.
Portabilidade e ciclo de vida são fatores vitais. Ambos são “portáteis”, mas a experiência mostra que a opção recai mais sobre o Token. Quando se compara os ciclos de vida, o Token mostra-se superior. Já os cartões podem quebrar ou deformar com o tempo se não forem cuidadosamente manuseados.
Do ponto de vista de segurança e robustez lógica, ambos são idênticos e, se forem do mesmo fabricante, poderão usar os mesmos drivers e utilitários.
Desempenho também é um fator importante, que pesa a favor dos Tokens. O processamento criptográfico dentro deles é, em média, sete vezes mais rápido do que em Smart Cards, devido à forma de comunicação de dados. Nos cartões, a chave privada deve ser lida primeiro pela leitora, que só depois transmite a informação para o computador. No Token, essa intermediação não existe, e está limitada apenas à velocidade da porta USB.

15 - Bibliografia:


Burnett,Steve e Paine, Stephen Criptografia e Segurança – O Guia Official RSA
Editora Campus - 1st Ediçõ 2002

Wouters, Paul e Bantoft, Ken Building and Integrating Virtual Private Networks with Openswan
Packet Publishing, 1st Edição 2006

Rivest, R. RFC 2268 - A Description of the RC2(r) Encryption Algorithm
Disponível em http://www.ietf.org/rfc/rfc2268.txt

Callas, J. RFC 2440 - OpenPGP Message Format
Disponível em http://www.ietf.org/rfc/rfc2440.txt

Federal Information Processing Standards Publication DIGITAL SIGNATURE STANDARD (DSS)
Disponível em: http://www.itl.nist.gov/fipspubs/fip186.htm

RSA Laboratories What is RC2?
Disonível em: http://www.rsasecurity.com/rsalabs/node.asp?id=2249

Microsoft Criptografia, chaves e certificados
Disponível em: http://www.microsoft.com/brasil/security/guidance/topics/devsec/secmod39.mspx



Comentários