A troca pode ser criptografada por usuário?

8

O problema surge em um computador multiusuário com troca criptografada, sobre como permitir que cada usuário hiberne e retome a partir da hibernação sem comprometer a segurança dos outros usuários.

Estou procurando uma maneira pela qual o uso de troca de cada usuário seja criptografado especificamente para eles, de modo que, quando eles quiserem sair da hibernação, possam fazê-lo digitando apenas sua senha / senha. Eles não devem ser capazes de descriptografar a troca de outros usuários; todos os processos dos usuários devem ser interrompidos até que o respectivo usuário possa fornecer sua senha para descriptografar sua troca e continuar seus processos.

Os usuários podem desejar que alguns ou todos os seus processos não sejam criptografados, para que possam continuar, independentemente de quem retoma o computador.

Desde que nenhum dado pessoal seja armazenado nos processos do sistema e o sistema não permita que as chaves dos usuários acessem a troca, a troca do sistema não precisa ser criptografada e isso significa que qualquer usuário pode retomar o sistema sem comprometer outros usuários. .

Observe que isso pode ser complementado com a criptografia do sistema com uma chave armazenada no firmware do BIOS, como Coreboot ou LibreBoot, para dificultar a adulteração, mas essa é uma abordagem fundamentalmente diferente, com base na aparente dificuldade de adulteração do hardware envolvido, em vez de uma completa abordagem criptográfica para impedir que as pessoas leiam dados pessoais de outras pessoas, assumindo que a violação não é um problema. Para uma segurança ideal, esses dois mecanismos podem ser usados ​​juntos, mas nesta pergunta, estou pedindo uma abordagem totalmente criptográfica.

Na teoria, faz sentido, mas na prática pode não ser implementado. Espero que isso seja possível no Linux.

James Haigh
fonte
1
Esses outros usuários podem obter acesso root a este host? Se não puderem, acho que estou certo em dizer que o sistema de permissões normal deve impedi-los de ler os arquivos de troca de outros usuários (ou seja, acho correto que, mesmo em trocas não criptografadas, os usuários não possam leia os arquivos de troca uns dos outros). Se eles conseguirem o root, provavelmente poderão extrair as chaves para a outra partição de swap criptografada de outros usuários?
Geeb 13/01/2015
Se os usuários tiverem acesso root ao computador (e efetivamente o terão se tiverem acesso direto a todo o computador, o que está implícito no fato de poderem suspendê-lo em primeiro lugar!), Então não haverá criptografia e footwork sofisticado. com partições de troca diferentes para cada usuário protegerá os usuários um do outro. Use hardware diferente para cada usuário!
Greg A. Woods,
Pode haver uma maneira de hackear algo assim, mantendo a sessão de login de cada usuário em um contêiner LXC, com suas próprias instâncias systemd e trocando espaço armazenado em chroots privados, mas não posso oferecer uma sugestão concreta de como, precisamente , isso seria implementado.
BRPocock

Respostas:

1

Sim, tudo é possível via software. Você teria que modificar provavelmente algumas partes significativas do kernel para fazer isso. Se você está falando agora .... não. Na verdade, você não pode alocar espaço de troca do sistema com base em um determinado usuário.

Outra via de abordagem é não alocar espaço de troca na partição física e criar um grande arquivo pré-alocado para um volume de truecrypt, montá-lo e criar um arquivo de troca sob esse. Em seguida, configure o sistema para usar esse arquivo no volume truecrypt como um arquivo de troca. Não garanto a estabilidade nem a eficiência do processamento de tal mudança, no entanto, isso seria para você experimentar. No entanto, isso seria por sistema e não por usuário.

mdpc
fonte
4
Eu desencorajaria o uso do TrueCrypt, existem soluções específicas do Linux para criptografia de bloco que devem ser favorecidas (dm-crypt / LUKS et al).
Andreas Wiese