[arch-general] Encrypting remote system

Thomas Bächler thomas at archlinux.org
Mon Nov 2 13:20:30 EST 2009


Karol Babioch schrieb:
> Hi,
> 
> I'm wondering whether there is a possibility to encrypt a remote system
> using Arch Linux? I have installed Arch on a remote server, and don't
> like the idea that anyone with physical access to my system has access
> to my data. So is there something I can do about it?
> 
> Using dm-crypt (with luks) doesn't work at all, as I can't input the
> passphrase when I reboot my system, the technician would really hate me
> if I ask them to attach a remote console each time I reboot my system.
> 
> So is there anything I can do?

I thought about this topic and concluded that security will be the same 
as without encryption:

What is encryption good for? It protects against someone with physical 
access being able to decrypt your data. Once the machine is running, 
you'd have to circumvent the usual access control, whether the system is 
encrypted or not.

This security relies on two things:
1) The passphrase ensures that only authorized people can access the 
data on the drive.
2) Somehow, you need to ensure that you only give the passphrase to the 
machine it belongs to.

The first point would be rather easy, even with a remote system. But the 
second is the problem.

On your desktop or laptop, you verify 2) by looking at it and saying 
"Yes, this is definitely my machine, so I can give it the passphrase". 
For a remote machine, you have to rely on cryptography. The security of 
cryptography is based on the remote machine having a private secret 
(like a private key to a certificate or a SSH private host key).
Now, as we said, encrypting the hard drive is for protecting against 
people getting physical access to your hard drive. So if someone has 
physical access to the machine, he/she can easily grab that private 
secret and perform an effective man-in-the-middle attack and sniff your 
passphrase - or even better, install a modified cryptsetup binary and 
make it save the raw encryption key in some place.

In other words: You'd have to trust the unencrypted portion of your 
system to do what you expect it to do - which you can't.

That said, such an attack is also easily possible on your desktop or 
laptop. If someone would steal the laptop, modify your kernel or 
initramfs and then give it back to you, he/she could have done anything 
to it to sniff the passphrase as you enter it. In case you can not 
ensure that the laptop has not been tampered with, you'd have to 
re-create your bootloader, kernel and initramfs from a trusted source 
before using it again (also impossible for a remote machine).

However, one bit of added security is possible for a remote machine: If 
someone steals the hard drive without getting to your passphrase first, 
he/she would not be able to obtain any data. But someone who would 
simply steal it, wouldn't be interested in your data anyway. Everyone 
who is interested can (as seen above) easily get it.

My conclusion: You should rather concentrate on securing against remote 
attacks via the network, which are more likely than physical attacks, 
and you can actually protect yourself effectively against those.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.archlinux.org/pipermail/arch-general/attachments/20091102/44328a70/attachment.bin>


More information about the arch-general mailing list