Gentoo Archives: gentoo-user-br

From: Dalton Barreto <daltonmatos@×××××.com>
To: gentoo-user-br@l.g.o
Subject: Re: [gentoo-user-br] Partição criptografada
Date: Fri, 26 Mar 2010 14:09:58
Message-Id: 4930b0511003260709p78ec6d73rc81af34e7c45a352@mail.gmail.com
In Reply to: [gentoo-user-br] Partição criptografada by CBnet
1 Em 26 de março de 2010 10:29, CBnet <cbneti@×××××.com> escreveu:
2 > Olá!
3 >
4 > Não é um problema especifico do gentoo, mas recorro a melhor
5 > comunidade linux ;-)
6 >
7 > Estou criando uma maquina virtual vmware rodando gentoo,  nesta
8 > máquina rodara uma
9 > aplicação java web no tomcat,  a exigência de meus superiores é que
10 > não seja possível
11 > acessar os arquivos da aplicação, mas sei que posso facilmente acessar
12 > os arquivos de
13 > uma máquina virtual de diversas formas,  pensei em criptografar um
14 > partição e colocar
15 > a aplicação la dentro, que seria montada claro quando a maquina
16 > estivesse executando,
17 > mas e aonde colocar a chave de segurança, posso fechar a casa e deixar a chave
18 > debaixo do tapete mas isso so dificultaria um pouco o acesso ;-), bem
19 > a pergunta é, tenho
20 > alguma forma de criptografar uma partição, que seja montada na
21 > inicialização sem ter
22 > que ter a chave gravada em algum lugar ?
23
24 Acredito que não. Se essa partição estará mesmo encriptada, em algum
25 lugar deve existir uma "chave" (ou senha) para desencriptar os dados.
26 Se voce quer que a máquina de boot *sozinha* e consiga montar as
27 partições encriptadas *sem ajuda de uma pessoa* então as chaves
28 *devem* estar em algum lugar.
29
30 Caso você queria bootar a máquina, mas sempre com a ajuda de alguém,
31 esse alguém tem que saber a senha, ou sabe onde está a tal "chave".
32
33 >
34 > Essa sistema será  distribuído gratuitamente, mas não querem
35 > disponibilizar os fontes,
36 > e sabemos que é fácil fazer engenharia reversa em .class.
37 >
38
39 É aqui que a coisa começa a se complicar de verdade. Como o usuário
40 que vai receber essa "máquina virtual" vai montar as partições para
41 que a máquina funcione? Se a máquina vai bootar "sozinha" (com disse
42 acima) essa chave tem que estar nas maos do usuário também (mesmo que
43 ele não saiba disso), mas tem que estar! Ou ele deve saber a senha
44 para montar as partições.
45
46 Imagina que é possível a máquina virtual bootar sozinha e montar as
47 partições encriptadas. Depois que essa máquina estiver *rodando* basta
48 eu acessá-la, por exemplo, via ssh ou via qualquer outro acesso que o
49 vmware pode me dar e eu poderei olhar o conteúdo dessa partição, pois
50 ela já está aberta e montada.
51
52 Uma coisa que você deve ser lembrar é que a criptografia de uma
53 pertição só te protege quando a máquina está *desligada*, ou claro,
54 quando a partição ainda não está montada. A partir do momento que a
55 partição é montada qualquer pessoa com acesso à maquina (seja físico
56 ou remoto) poderá ler tranquilamente os dados.
57
58 Você poderia pensar em encriptar todo o arquivo gerado pelo vmware
59 (que será enviado ao usuário) mas voltamos ao *mesmo* problema. Como
60 ele vai abrir esse arquivo para adicionar essa máquina ao vmware? Se o
61 vmware conseguir abrir esse arquivos "sozinho" significa que o
62 "segredo" para abrir esse arquivo está dentro dele mesmo e o vmware
63 "sabe" onde encontrar esse segredo e por isso consegue abrir a máquina
64 virtual.
65
66
67 Claro que não é todo usuário que vai saber "burlar" sua implementação,
68 mas eu acho, sinceramente, que não é possível *garantir* que o código
69 da aplicação estará 100% seguro.
70
71 A partir do momento em que o "segredo" para rodar essa tal máquina
72 virtual (ou para montar as partições encriptadas) está nas mãos do
73 usuário *não temos* mais controle do que ele pode fazer com ela.
74
75 Espero ter ajudado e não ter te confundido ainda mais. =) Qualquer
76 dúvida, não deixe de questionar.
77
78
79 p.s. O texto indicado pelo Raphael parece muito interessante, mas acho
80 que o problema aqui é mais teórico do que prático.
81
82 []'s
83 --
84 Dalton Barreto