Slashdot Mirror


Seeking Current Info on Linux Encrypted FS?

slick_rick asks: "I'm looking for info on encrypted file systems under Linux to help my employers company move away from Microsoft centric solutions. However the latest HOWTO is two years old, the latest kernel patch dates back to April (and 2.4.3) and even the Sourceforge project has nearly zero documentation and appears to be very dead. Are slashdotters using encrypted file systems? If so, what are your experiences?" We last talked about this topic, just over a year ago, in this article.

36 of 297 comments (clear)

  1. FreeBSD & NFS by stygian · · Score: 5, Insightful

    It's been a long time since I set it up under FreeBSD...but, as I recall, it had a very easy-to-setup system for creating an encrypted filesystem. I just 'cattach' it when I boot the machine...and I'm the only user than can look at the contents. It's really quite nifty. And I've never been able to find a good Linux equivalent.

    1. Re:FreeBSD & NFS by stygian · · Score: 5, Informative

      csfd - that's what it was. The Cryptographic File System.... The readme for the FreeBSD port is:

      This is CFS, Matt Blaze's Cryptographic File System. It provides transparent encryption and decryption of selected directory trees. It is implemented as a user-level NFS server and thus does not require any kernel modifications.

      ftp://research.att.com/dist/mab/cfs.ps

    2. Re:FreeBSD & NFS by Marcus+Brody · · Score: 3, Informative

      I've never been able to find a good Linux equivalent.

      Try SuSE. Because they are a European distro (ie no problems with US export controls), and also aimed at secure/server market (unlike mandrake), they have Very Good built in security measures. It is really very trivial to set up a crypto file system. You really should give it a go. See this for some breif details.
      Only problem is SuSE dont make iso's downloadable, so you might need to buy (gasp!) a copy. Money well worth spent though.

  2. loop-AES by Sami · · Score: 4, Informative

    Have you tried the loop-AES patch? It isn't exactly an encrypted FS, but you can create encrypted virtual drives with it.

  3. Stuck in Windows? Bestcrypt works okay... by Bonker · · Score: 4, Informative

    It's a fairly decent encrypted filesystem implementation. I'm certain is has it downsides, but besides being non-free, I haven't found any others.

    BC allows you to create encrypted volumes up to the max size of your harddrive, and encrypts anything therein with your choice of encryption schemas. It also comes with a 'Wipe' command that will allow you to delete a file or clean a drive with a 7-stage delete process.

    --
    The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
  4. Reiser4 by jeffphil · · Score: 5, Informative

    If you can wait until September 2002, ReiserFS v4 will have an encryption plugin builtin.

  5. Encryption is fine. Decryption doesn't work by Karma+50 · · Score: 3, Funny

    ÖcéqêK8N& #9561;fö,á>c GîIk&#85 96;:á9fYé7$¼F~ ÿeCCLìM& #9616;ÿ4-
    /ñlöúi;`&#957 1;r÷\^"Ç SHNHÄN$RiDeb"&# 9492;3@É-'&#983 5;úïfM¼fz&#978 8;
    ÷¥ä=jN¥ká&#9567 ;êå0#0_R'&#955 3;lf'\@& #9524;te1q :Æ¥ôä&# 9580;Eüb#
    .¥c&#9688 ;Æ>ÿ"w&#9562 ;å+íÅ ï8XRO"# )Wÿ'fò^òY&#9571 ;Kñ2">[.0&#9 786;0Z
    ÿ!(VIi±(Av#;d}x övëëúóî|KÖ9&# 9792;9Jq]@2Oü-ö @[WcáÅU3 j

    --
    http://www.thehungersite.com
    1. Re:Encryption is fine. Decryption doesn't work by rjw57 · · Score: 3, Funny

      There is always someone who'll find a way to get Mr. Goatse past the moderators....

      --
      Rich
  6. SuSE does this out of the box... by pwagland · · Score: 5, Informative
    I am not sure about the other distributions, but as of SuSE 7.2, they do this out of the box. The support was improved in 7.3.

    Note that this filesystem based encryption, not user based. I.e. you must enter a password to mount the filesystem, but after that it acts as a normal filesystem (but slower due to the aforementioned encryption).

    The way that SuSE do it is to have an encrypted block device, so that you can throw anything you want on top of it. Typically this would be a filesytem ;-)

    From the SuSE webpage:

    * A highlight of SuSE Linux security technology: the so-called "crypto file system". Secret or sensitive data is encrypted on your own PC. This method is so safe that even if your notebook ist stolen, nobody, absolutely nobody (!) has even the slightest chance of decrypting your data. In addition, the crypto file system is so smart that the thief will not even notice that encrypted data exists.
    1. Re:SuSE does this out of the box... by MKalus · · Score: 5, Informative

      Actually I am using this activly on my Notebook and I haven't really seen any performance degredation (It's a PII 366). The nice thing about it is: It completly prevents you from booting the box at all so the security on the notebook is greatly enhanced:

      - Login Bios Password (Yeah, no security there I know)
      - crypto FS
      - OS Security

      Now the two weak links are the BIOS password as well as the OS Security (just boot from CDROM and on you go), but everything on the /data/ partition is encrypted and the parition is invisible if you boot from a boot disk.

      Really neat.

      Michael

      --
      If you want to e-mail me, use my PGP Key.
    2. Re:SuSE does this out of the box... by pwagland · · Score: 5, Interesting
      Indeed the patch is available.

      Also, you can get all of the patches that SuSE use on their kernel, not only this one. Please note that this link is

      1. A mirror of the official SuSE site, and
      2. The SuSE development kernel. I.e. this kernel is not guaranteed for production use!
      3. The production kernel source is here.
    3. Re:SuSE does this out of the box... by Drone-X · · Score: 4, Insightful
      I take it that if you want to play really safe you'd have to encrypt your swap partition too, after all, any file you recently opened may get swapped to disk.

      It would be convinient if you could have multiple entries in fstab share the same password, for now a little shell script will do (also because Aurora doesn't support text input yet).

  7. XOR encryption is supported out of the box... by grytpype · · Score: 4, Informative

    ... take a look at "man losetup", which has a good example of setting up an XOR encrypted loopback filesystem. XOR is pretty crappy encryption however.

    --

    - Have a picture

  8. Deniability by Tet · · Score: 5, Informative

    Encrypted filesystems are useless without deniability. Rubberhose gives you that: http://www.rubberhose.org

    --
    "The invisible and the non-existent look very much alike." -- Delos B. McKown
    1. Re:Deniability by Syberghost · · Score: 4, Insightful

      Rubberhose doesn't give you deniability.

      The presence of Rubberhose software and a huge segment of random noise on the disk is going to be enough to convince a court that you have a Rubberhose partition.

      The suggested "create 1GB of noise and then put two partitions in it, and just say you've got one" isn't going to work either. The court is gonna say "oh, you've got 1GB of noise according to our expert, but only a 300MB partition with nothing incriminating on it? Yeah, right, buddy; gimme the password for the other 700MB partition or you can rot in jail on contempt".

      Even a couple megs of "unused" space is going to be taken as a sign you've got a small partition hidden, if you've got Rubberhose software on the system to access it.

      Steganography only works when the carrier files have utility beyond that of the hypothetical encrypted information.

    2. Re:Deniability by Syberghost · · Score: 3, Funny

      I forgot to add, which do you think a judge is more likely to believe:

      1) There's an encrypted partition, but I forgot the password.

      2) There's software for accessing steganized encrypted partitions, with documentation that recommends creating a large chunk of noise to hide it in, and there's a large chunk of noise, but there's no partition, I just keep random noise on my 2GB drive and only use this 1GB partition, the rest is just where I store the random noise, honest.

    3. Re:Deniability by Syberghost · · Score: 3, Informative

      But that means nothing compared to actual precendence, of which I am not aware, 'cause I don't really keep up with this stuff. I assume it's protected, as the recent case against that mobster was borderline and it wasn't a question of whether the guy would be forced to give his password, but what to do once it had been aquired.

      There's a great analysis on the Rubberhose web site, talking about the legal precedents and arguments currently existing.

      The argument that Fifth Amendment protection doesn't extend to things you've already said, such as information on a hard drive already, is scary, even if you don't find it compelling. Courts don't always rule in accordance with a particular interpretation of the law, much less in accordance with logic.

    4. Re:Deniability by friscolr · · Score: 4, Funny
      which do you think a judge is more likely to believe

      use OutGuess and store your data across your porn jpegs! I've been collecting porn over the past 8 years for just this purpose!!!

      the judge is *most* likely to believe:
      "Your Honour, all those files are of naked men and women getting it on. i have 40+ gigs of it for variety!"

      like you said...
      Steganography only works when the carrier files have utility beyond that of the hypothetical encrypted information.

  9. 50 ways to leave your lover by mAsterdam · · Score: 4, Informative

    ...and at least 10 ways to encrypt your data:
    http://koeln.ccc.de/~drt/crypto/linux-disk.html
    gives them.

  10. cryptfs by sdxxx · · Score: 4, Informative
    There is a cryptographic file system you can get for SFS. If you go to the download page, it's called cryptfs. Unfortunately, you have to install SFS first to compile cryptfs.

    Cryptfs is fully functional, though it was indented mostly as a proof of concept. The point is that such file systems are not hard to build, should someone want to maintain one. Here's an undergraduate programming assignment in which the students build a fully-functional cryptographic file system as an NFS loopback server.

  11. It's Really Pretty Trivial by Lethyos · · Score: 5, Insightful

    The kernel patch you refer to is not outdated. There just is no reason to release new versions. Here's how you patch your kernel with the international patch.

    One level up from your Linux source tree (typically /usr/src), do...

    zcat ~/patch-int-2.4.3.1.gz | patch -p0 -E

    You'll notice a chunk fails. The ONLY problem here is patching the root Makefile. Look at the file /usr/src/linux/Makefile.rej. It shows you what lines failed. You can easily fix this by adding (under the DRIVERS line)

    CRYPTO = crypto/crypto.o

    And changing the line

    SUBDIRS = kernel drivers mm fs net ipc lib

    to...

    SUBDIRS = kernel drivers mm fs net ipc lib crypto

    Now your kernel should be properly patched. Make it mrproper, then configure as needed. Add the proper cyphers (I'm sure you can figure this out). Typically, serpent and blowfish are the best choices. Also, build them as modules so you can harvest a little extra entropy. :) Also, make sure you build the loopback device as a module, and then add crypto support. I assume you know how to load modules

    Now for the easy part. Once you have the kernel modules built and loaded, make sure you have the latest mount tools (including losetup). Pick the device file you want to use as an encrypted file system. For this example, I'm going to use hda3 with 256 bit serpent encryption for shits & giggles.

    losetup --keybits 256 --encryption serpent /dev/loop0 /dev/hda3

    It will prompt you for a pass phrase. Use a PHRASE and REMEMBER this. You cannot change the passphrase of an encrypted fs after you set it. Get it right. Next, format the device /dev/loop0 with your favorite file system (I prefer ReierFS because I've had trouble with ext2 fscking of encrypted file systems -- data loss most notably whenever I mistyped my passphrase). Do something like

    mkreiserfs /dev/loop0

    Now, destroy the loopback device...

    losetup -d /dev/loop0

    And add the following line to your /etc/fstab

    /dev/hda3 /mountpoint reiserfs defaults,loop,auto,encryption=serpent 0 0

    Now, every time you boot or mount that file system, it will ask you for the key length and the pass phrase. And there you go. Encrypted file system. Yea.

    You can see how trivially easy that was and if you had put about half an hour's thought into it, you could have realized that the "outdated" howto hasn't been updated because the process is pretty much unchanged and you would not have wasted our time with yet another linux newbie Ask /. question. But that's just my opinion.

    --
    Why bother.
    1. Re:It's Really Pretty Trivial by Anonymous Coward · · Score: 3, Interesting
      You were doing a stellar job there until the uncalled for jabs at the end of that post. Maybe there are other slashdot readers out there that are interested in having an encrypted file system?

      Maybe having an encrypted file system could be part of the install process for upcoming Linux distributions - an easy to use system for encryption in the partitioning stage of the install. Couple that with a runtime tool that can create encrypted partitions after the install, and you immediately have another big plus point over Windows, especially for people in government who have a habit of leaving laptops with top secret material on in taxi cabs.

      In other news, the UK government is going to buy 500,000 copies of Windows XP. As a taxpayer, I disagree with this use of my tax money, and with the close relationship that the current government has with Microsoft. I feel that the best solution for the taxpayers is not being researched in the name of PR and photo opportunities for government ministers. And why does the government need to upgrade their computer system to Windows XP? What is wrong with 2000 - a proven OS now, not a just released one...

    2. Re:It's Really Pretty Trivial by dman123 · · Score: 3, Interesting
      Although I will not be verifying your implementation, your post is well written and seems very informative. Why did you go and blow it at the end??

      I constantly have to defend myself against being called part of a cult that is "drinking the Kool-Aid" and this type of attitude does not help. I am proud to be a geek/nerd, but the moment anyone thinks of me as arrogant or haughty, I feel bad.

      --

      --
      dman123 forever!
      Filtering out the -1s and 0s since 1999.
    3. Re:It's Really Pretty Trivial by Lethyos · · Score: 3, Informative

      As I already wrote in another post, I didn't do extensive testing to compare patch-int and cryptoapi, but I *did* have lost data with patch-int: some files got garbled beyond repair (to quantify, I'd say less than 1% of them). I was using twofish.

      I had this problem once or twice, but using either serpent or blowfish. It happened after typing a bad passphrase... and e2fsck kicked in and complained about fs errors. Of course, I've gone a little crazy with my set up. I have two hard disks, each encrypted with a different algorithm, that are then interleaved using RAID0. I love it. :) But it's trouble prone.

      Now I'm using cryptoapi, and I didn't have any trouble (at least not yet).

      Got any links or should I just look in standard locations? (Kernel archives, freshmeat?)

      Another point: you may have troubles with losetup/mount, depending on the distribution you use. In that case, download util-linux from the kernel site, apply the patches and recompile. I keep two separate copies (called losetup-crypto and (u)mount-crypto) of the utilities.

      That's one reason I mentioned having the latest utilities. Older versions don't support crypto stuff (obviously). But there's really nothing wrong with making hte latest util-linux package your primary. Why do you keep separate binaries?

      I don't think I agree with the the suggestion about reiserfs. ReiserFS has no trouble with fsck simply because it doesn't do fsck... I'd suggest use whatever you want but disable auto-checking or, even better, modify the startup scripts to make sure that the passphrase is good (just try to mount the fs) before attempting a fsck.

      Well, I suggested Reiser because in light of things not being set up properly, I think it's a little more careful before it goes and tries to replay a journal on a corrupted fs. That may actually be a positive fault here, as giving up early protects your data. In general though, I prefer a journaled fs so I'm boasting some advocacy here. :)

      --
      Why bother.
  12. Try BestCrypt by Wee · · Score: 4, Informative
    I know it's not really an encrypted filesystem, per se, but BestCrypt might be enough for you. It's a bit like NAI's PGPDisk. Essentially, you mount an encrypted file and then access it like any other disk (it has a mount point, etc). The nice part (for me) is that they have a Win32 version as well, so using BestCrypt and Samba means that I can have my wife's securely store her Quicken stuff on my fileserver (which is the only machine that gets a backup). The only "bad" thing about BestCrypt is installation. You have to make real sure your kernel sources are in good shape. I had a few issues installing it because I had a few different kernel sources laying around (not good, I know, I know...). Anyway, it's not that hard to install, but not a userland type thing either.

    Like I said, it's not a filesystem, but it might get you by. I personally don't care if /etc is encrypted or not. But I might care if /home was encrypted. It's easy enough to mount a BestCrypt container file at /home, so that might be enough.

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  13. Maybe for you.... by coyote-san · · Score: 5, Interesting

    Maybe you need deniability, but out here in the real world a lot of people should be using encrypted file systems just to ensure that sensitive or confidential information is not exposed to others if the disk is stolen, the cleaning people are bored, etc.

    Personally, I don't want my doctor to have deniability about his records regarding me. Or my lawyer. Or my accountant. And most especially not my banker, financial adviser, etc.

    In fact, for these people deniability makes a solution look much less attractive. People get *really* nervous when their accountant or lawyer has strong deniability about what the advice they gave you, about where your money went, etc.

    --
    For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
  14. CryptoAPI by Agent_Leprechaun · · Score: 5, Informative

    Do a search on google for CryptoAPI. That's the new encrypted filesystem interface for linux. The pathes for 2.4.3 are old. I have an encrypted file system working with 2.4.16 patched with GRSecurity. You no longer need to patch the kernel with CryptoAPI, it just creates kernel modules that you install. It's pretty easy to do.

  15. I've used it the last 2 years by lessthan0 · · Score: 5, Insightful

    For the past two years, I've been using it in several distributions, manually applying the kernel patches and compiling the necessary programs (utils). But with SuSE (>7.2), kernel encryption is built in which has saved me a load of time compiling it into the kernel.

    SuSE uses twofish as the encryption algorithm which is good enough for me. I would prefer to use serpent, but not enough to recompile everything. Both twofish and serpent were finalists in the U.S. Federal AES competition, both losing to rijndeal. Of course, W2K/XP use weak 56-bit DES in their EFS and have administrator back doors, so it barely qualifies as encryption.

    If you want fast, reliable, and easy to use enrypted file systems, choose SuSE!

    1. Re:I've used it the last 2 years by sheldon · · Score: 3, Informative

      Wrong. EFS does not use 56-bit DES you idiot.

      Microsoft is using 128-bit DESX encryption for EFS. What is DESX? It's a strengthened version of DES created by RSA Laboratories.

      http://www.rsa.com/rsalabs/faq/3-2-7.html

      As far as the back doors are concerned. If it's your own machine you have nothing to worry about because only you would know the backdoor. However for a corporation the administrative back door is regarded as a must-have feature in case an employee is fired, dies, leaves the company, whatever.

      Why are Linux users so bloody ignorant?

  16. Re:Here is how to do it by EnderWiggnz · · Score: 4, Insightful

    good thing that you have the ultra-secure, no government backdoors UBER-MS encryption there, right...

    sigh...

    "its encrypted because we say it is, and trust us on that"

    --
    ... hi bingo ...
  17. encrypted root + warning about crypto in linux 2.4 by patbernier · · Score: 5, Insightful

    For the truly paranoid, or as used to be my case, for laptops that travel a lot and hence are very prone to theft, the cool thing to do is to encrypt your (almost) entire disk, with your root filesystem on an encrypted loopback device, and no swap at all (because swap can't efficiently be encrypted, and RAM is so cheap anyway nowadays). Of course you still need to keep a small unencrypted boot partition to host your kernel, and an initrd image. The initial ramdisk must have a script that will setup the loop device -- prompting you for your passphrase -- before proceeding with system boot.

    For additional protection, you might be tempted to keep this boot partition on a business-card size CD-R, thus making sure that nobody can insert code to steal your passphrase, but if they have access to your system for long enough, they could install a hardware keylogger and you're screwed anyway ^_^... Still, might be worth it to put some tamper detection right after the root fs is mounted (i.e. an md5sum check of your entire boot partition)

    In any case, I've used such a laptop on a day-to-day basis for over a year and it worked great -- but do expect a huge performance loss on disk access.

    On a related note, there is a warning on http://www.kernel.org/pub/linux/kernel/crypto/v2.4 /README.WARNING to the effect that encryption might be a bit broken in 2.4 kernels. I guess you better stick with 2.2 for now if you really need loopback crypto filesystems...

    --
    "Words have meaning, and names have power." -- Lorien
  18. Apologies by Lethyos · · Score: 3, Insightful

    Sorry to everyone who was offended by my last comment in this post. I did in fact mean to help, but I just though that the original submitter of this Ask /. question could have done a little more work figuring this out. Hell, even I managed to get my file systems encrypted with that outdated HOWTO.

    Nonetheless, I'm sorry for spoiling something informative with some elitist babble. It's just a knee-jerk reaction from time to time.

    --
    Why bother.
  19. Lame, Windows XP implementation by Zeinfeld · · Score: 4, Interesting
    So I happily install XP Professional because it has the ability to use encrypted file stores. This would be just the thing to carry files from one machine to another on a 128Mb Compact flash or so.

    Bzztt... wrong...

    Turns out that NTFS cannot be used on removable disks, even though the NTFS semantics are better suited (think what happens when a disk is unmounted unexpectedly.

    The main reason I use an encrypted disk is that I have a lot of client sensitive info on my machine, including high level strategic plans for a Nasdaq 100 company.

    Encrypted disks should be used as a matter of course on machines used by lawyers, doctors, accountants, anyone with a professional confidentiality duty. Laptops get stolen, machines get sold with confidential information still on the drives.

    I am more skeptical about the need for encrypting file systems for geeks, after all most sysops would do better to keep less secrets rather than more.

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/
  20. swap encryption ? use OpenBSD by ^BR · · Score: 4, Informative

    By setting just one sysctl (vm.swapencrypt.enable=1)OpenBSD encrypt its swap using AES.

    You just have to uncomment one line in /etc/sysctl.conf to activate it permanently.

  21. OpenBSD filesystem encryption by friscolr · · Score: 4, Informative
    Why not just use OpenBSD, which has filesystem encryption by default

    It has the code for it, but it isn't enabled by default.

    Enabling swap encryption is easiest, you just modify you /etc/sysctl.conf (it's labelled well in that file) and/or use the sysctl command.
    i use swap encryption on my 1.2 athlon, but not on my 486's running openbsd.

    Enabling filesystem encryption requires a kernel build (you need to add "option TCFS" to your config) and some commands to be compiled and run. i found this article to be helpful.
    i just did this to see what it'd be like. the documentation is rather minimal but it is workable. You have the option of using 3DES, RC5 and Blowfish. Check out that link for more info.

  22. Re:win2k by TheCabal · · Score: 4, Informative

    Can anyone fill us in on this windows folder/file encryption? How does it work? What does it use as a key, and how is that key accessed?
    I read it uses AES

    I would assume a key/certificate/whatever is stored in the user account profile....

    But what prevents Administrator from changing your password, and signing into your account to read your files? I suppose this leaves a trail... but still.


    The certificate is stored on the user's workstation. If they use multiple workstations, the user must carry their certificate with them. EFS works using 128-bit DESX. A symmetrical recovery key is generated and is encrypted using the Recovery Agent(s) public key, so that those people designated as people who can decrypt other's files can do so.

    For those who still can't understand this, and think that a cracked account/BO Trojan and other absurd conditions are going to make a difference, the answer is Very Little. An agent still needs the certificate installed on the workstation that he/she is going to be recovering files from. Microsoft even recommends that a certificate be generated, the public key added as a recovery agent, and the certificate kept on removable media and stored securely until it is needed. They also recommend storing the certificate as a PKCS#12 cert since you can lock the private key with a password.

    An Admin can't just change your password and sign in as you, unless he can do it at your workstation or wherever you have your certificate installed. He may be a designated Recovery Agent, though in which he can look at your files anyway. But this has always been the case on windows network, but even on Unix/Linux nobody can stop root from reading a file, right?