|
Site highlights
LUKS - Linux Unified Key Setup
New Methods In Hard Disk Encryption - Close encounter with storage encryption
Ego - introducing myself
Recent Blog Lines
|
cryptsetup 1.0.3 Thu Apr 6 11:46:53 CEST 2006
Finally, cryptsetup-luks 1.0.3 is out.
Plausible Denial Thu Mar 30 19:26:01 CEST 2006
Every quarter of a year, worried postings appear about governments and
law enforcement on the hard disk encryption mailing list I'm
subscribed to. The solutions are different every time but the problem
stays the same: "Rubberhose attacks". This term is an elegant
description of the attack path that works without ever touching
cryptography: torture.
MetadataDon't store a shell history, don't use "Recent Document"-like features, don't use programs that create things like thumbnail caches. Make sure your disk access pattern is uniform.Steganography"Steganography" can also be read as "hide data within other data". Files are the most uniform and convenient way of storing data. Unfortunately you can't hide arbitrary files in arbitrary other files, as the format will vary. But you can hide file systems in the free space of other file systems. In fact, if you store something in the free space, it won't be free space anymore. But without the right access token (password), thinking of this space as anything but free space is big no-no.Think again of rule number #1 "don't let any metadata hint the existence of the data you want to keep secret". Hence in any such layered file system implementation, the outer file system must known nothing about the inner file system and it's management algorithms must regard space occupied by the inner file system as free space. Potemkin CitiesThis concept must be stackable. The file system layering must be able to grow infinitely deep. Again this is because of rule number #1 - the metadata rule. Do you think that the man with the stick believes that you don't have anything to hide if you use software that is made for hiding data? No, of course not. The installed software is metadata itself and as its existence can't be removed from the system obviously, you need to provide a plausible explaination.Now, here is the point where your creativity comes in. You need to build Potemkin Cities. You need to build a fake data repository that is private enough that others would buy that you have a strong interest in keeping these fake data private. If you are a spy that poses the launch codes of intercontinental nuclear missles, it would be wise to put pornographic pictures on the middle layers that depict you cheating on your wife (that is surely part of your cover-marriage). Facing torture, you reveal access to these potemkin cities and therefore provide an explanation for using encryption software. As the same principal "don't hint metadata about the more inner layers" applies to the middle layer, the attacker has no way of knowning how much layers are left in the free space he seeing. He only sees this space shrinking with every key you reveal (I strongly suggest that you only reveal a single key, because this looks most innocent -- at least to me). You can't do thatThere is no such system -- at least none that I know of. You need to implement these things at file system level, as the free space must "flow" between the layers dynamically. Whenever you write to this file system, you must provide the keys to all file system layers, otherwise new files might be written into locations that are marked as free (remember the requirement that the outer layers must know nothing about the inner layers) but in fact contain data.The most hardest thing to conceil -- in my oppinion -- is the hardware usage pattern. Every write request to the disk leaves magnetic traces that might be analysable. The steganography file system software must schedule disk writes in a way that will yield a uniform disk writing pattern. That's a tasty requirement, right? Update: There seems to be such a file system for Linux. Unforunately, outdated. http://www.mcdonald.org.uk/StegFS/ cryptsetup-luks 1.0.2 out Tue Feb 21 13:41:45 CET 2006A new version of cryptsetup-luks is out. Get 1.0.2 at http://luks.endorphin.org. New LUKS spec Sat Feb 18 10:51:58 CET 2006http://luks.endorphin.org/spec has an update to the LUKS specification. Changes:
|