|
Status
This project has entered its production/stable phase with version 1.0.
The latest release is 2.1-0. Mailing lists and the tracker system
are available on the SourceForge
Summary Page
for this project.
ScramDisk for Linux comprises the kernel driver scramdisk.ko,
the GUI scramdisk and five small command line utilities sdcreate,
sdchange, sdmount, sdreformat and sdumount as well
as the program sdhelper which is for internal use by the kernel driver
only. At present, the GUI has english and german translations. The language is
chosen at start time from the configuration file or the locale set in the
LANG variable in the users environment. English and german documentation
is provided in the files ScramDisk_2.1-0_en.pdf and
ScramDisk_2.1-0_de.pdf in the
file
release, the english one is also available here.
Project Description
Scramdisk started as an OpenSource project written by Shaun Hollingworth for
Windows 9x, and provided the ability to create and use virtual encrypted drives
which were mapped to container files, as well as the creation and use of
encrypted partitions. This was accomplished through the use of strong encryption
algorithms and On-The-Fly-Encryption (OTFE). One distinguishing feature of
ScramDisk containers was that they appeared to be filled with random data,
thus permitting plausible deniability. The original author of ScramDisk has
since moved on to a related commercial enterprise named
SecurStar which sells the new product
DriveCrypt.
The last stable OpenSource ScramDisk software (v3.01r3c) for Windows has
been in existence for quite awhile, and has had the luxury of much peer review
by members of the cryptographic community. As such, it was a time-tested and
useful cryptographic privacy tool, and it was widely accepted in some circles.
Unfortunately, it is no longer maintained. Until August 2005, there has not
been a Linux driver to access encrypted ScramDisk containers or partitions. Now,
the existence of a Linux driver and accompanying toolset allows cross-platform
portability of ScramDisk encrypted containers. ScramDisk for Linux can also
open and create TrueCrypt containers
since version 1.0. The supported TrueCrypt container format is that of
versions 4.1 to 7.0a.
It is the goal of the ScramDisk for Linux (SD4L) project to maintain
the Linux driver, as well as the tools needed to create and maintain ScramDisk
encrypted containers. With Scramdisk for Linux 2.0 packages for the
major Linux distros have been released. The latest version provides packages
for 5.0 (Lenny) and 6.0 (Squeeze), Fedora 14, SuSE 11.3 and Ubuntu 10.04 and
10.10. Packages for earlier versions of some of these distros may be found in
back packages of SD4L. The Linux driver is written in C, the additional tools
in C++. The GUI utilizes the Qt library (version 3). Cryptographic code was
taken from the
Catacomb Library written by Mark Wooding. The kernel driver supports the Linux
kernel versions 2.4.x and 2.6.x up to 2.6.37.
ScramDisk For Linux is licensed by the GPL. Among the features which the
SD4L suite provides, are:
- Access to ScramDisk containers generated on other platforms —
either by another SD4L installation, or by the original Windows
ScramDisk v3.01r3c version.
- Creation of compatible ScramDisk containers.
- Access to TrueCrypt containers generated on other platforms —
either by another SD4L installation, or by the TrueCrypt software
versions 4.1 to 7.0 on Windows, MacOS or Linux.
- Creation of compatible TrueCrypt containers which can be opened by
the TrueCrypt versions which are equal or higher than the chosen format
version.
- On Linux, SD4L would provide privacy for sensitive data through the use
of strong encryption, which are transparently accessible via a mounted
container.
- SD4L includes a repair tool for damaged ScramDisk and TrueCrypt 6 and 7
containers. It is accessable by the Change button in the GUI or by
sdchange.
- ScramDisk containers can be reformatted to TrueCrypt containers without
creating a new container and copying its contents. The created formats
are that of TrueCrypt 4 or 5.
- Containers can be automatically unmounted after they have been inactive
for a period of time given on mounting the container. Here, inactivity
means that no read or write operation has taken place on the container
within this period of time.
- Encrypted hard disks or containers which comprise several partitions
can be opened and the partitions will be automatically mounted on
mount directories created below a chosen directory.
- A new container can be formatted as swap space and such a container
can be used for swapping out areas of the main memory.
After a container has been "mounted" any data could be read
from or written to the file system inside the container transparently with help
of the driver scramdiks.ko. By "unmounting" the
container the file system becomes inaccessible again. New encrypted containers
to be used by ScramDisk can be created using the Create button. The
passphrase of a container can be changed later using the Change button.
All ciphers of the Windows ScramDisk v3.01r3c and some additional ciphers like
AES are supported except for Idea, wich is patented, Tea
with 16 rounds and Misty1. Moreover, ScramDisk for Linux supports the
additional digests Ripemd160, SHA256, SHA512 and
Whirlpool. If windows container compatibility is checked, the created
container can be opened by the Windows ScramDisk as well. In this case a digest
or a cipher not supported by the Windows ScramDisk is not accepted and the
container is formatted msdos/vfat. On the other hand, any container
created with ScramDisk for Windows can be opened with ScramDisk for Linux if it
does not use Idea, Tea with 16 rounds or Misty1. For
TrueCrypt containers ScramDisk for Linux supports exactly the cipher and digest
algorithms which are implemented by the TrueCrypt software. The encryption mode
of ScramDisk for Linux for TrueCrypt containers is the LRW mode which is named
after Liskov, Rivest and Wagner or the XTS mode which is an improved variant of
the former. The mode depends on the chosen TrueCrypt version, for TrueCrypt 4
the LRW mode and for TrueCrypt 5, 6 and 7 the XTS mode is used.
History
ScramDisk for Linux developement was started roughly in July 2000 by
Andy Jeffries with support from Sam Simpson. Andy published a first, not yet
working version of the kernel driver in April 2003 together with a container
creation utility sdcreate 0.2 from Ulrich Jüttner. The SourceForge
project SD4L was registered by Hannes Beinert on 2004-02-12. The first complete
version 0.8-2 was published on SourceForge.net on 2005-08-06.
An internationalization with a german translation besides the english
language was introduced with version 0.9-0. This release also had
several new features such as brutal unmounting or bookmarks.
Version 1.0-0 implemented support for TrueCrypt containers and the
handling of block devices as containers. Version 1.0-1 fixed two
vulnerabilities by which a normal user could obtain root privileges. We advise
everyone not to use earlier releases productively. Version 1.0-2 fixed
two bugs and solved a small feature request. The bugs concern mounting of ext3
file systems with option "auto" and unmounting from kernel if file
system mount failed. The new feature disables access right checks on block
devices to be mounted as containers.
Version 1.1-0 has reworked the kernel driver. It now handles input
and output requests in separate kernel threads for each container. Thereby,
input/output errors are fixed which occasionally occured in previous versions
under heavy load. It, moreover, fixes a bug in the handling of large containers
of 2 GB and above. In order to comply with the behavior of Scramdisk for Windows
v3.01r3c, the SD4L passphrase dialog for scramdisk containers has been modified
sligthly in version 1.1-0 to accept only 39 characters per line (instead of 40
characters previously).
Version 1.2-0 offers the new option of reformatting containers from
ScramDisk to TrueCrypt container format. Only this direction of format change is
supported since the TrueCrypt format with the LRW mode is the more modern on.
A file based container decreases by 9728 bytes in size in this format change.
A section Encryption Scheme and Container Format was added to the
documentation. It provides technical background information. Finally, version
1.2-0 fixed six bugs of earlier versions.
Version 1.3-0 added an optional container timeout which takes effect
when a container is inactive for a configurable period of time. Support for
the NTFS file system was added in this version. Moreover, size, position and
font size of the GUI have been made adjustable. Version 1.3-1 added some
includes to the sources which new compilers considered an error if missing.
Version 1.3-2 fixed crashes with kernels 2.6.26 and 2.6.27, a rare
deadlock in the GUI and a wrong reporting of the size of containers which are
partitions on a drive.
Version 2.0-0 implemented support for TrueCrypt 5 and 6 containers
and the XTS mode. Support for partitioned containers and for encrypted swap
space has been added. Moreover, there is a new option to use default mount
points. These are directories created by ScramDisk below the directory /media
when they are needed. On unmounting these directories are removed again.
Version 2.0-1 fixes wrong size information for partitions in the kernel
driver for kernels 2.6.28 and higher and version 2.0-2 fixes some
dependencies of options which weren't always satisfied on start of the GUI.
Version 2.0-3 compiles on kernels 2.6.34 to 2.6.37.
Finally version 2.1-0 implementes support for TrueCrypt 7 containers.
Last updated: 2011-02-14 (Ulrich Jüttner),
hosted by:
|