TrueCrypt on Windows
|Stable release||7.1a (February 7, 2012) [±]
|Written in||C, C++, Assembly|
|Available in||Multilingual (30)
(although most are incomplete translations)
|Type||Disk encryption software|
|License||TrueCrypt License v 3.0|
TrueCrypt is a source-available freeware application used for on-the-fly encryption (OTFE). It can create a virtual encrypted disk within a file or encrypt a partition or (under Microsoft Windows except Windows 2000 and Windows 8 with GPT) the entire storage device (pre-boot authentication).
- 1 Operating systems
- 2 Cryptographic algorithms
- 3 Performance
- 4 Security concerns
- 5 Operation Satyagraha
- 6 Licensing and Open Source status
- 7 Trademarks
- 8 Planned features
- 9 TrueCrypt and the Trusted Platform Module
- 10 Incompatibility with FlexNet Publisher
- 11 Release history
- 12 See also
- 13 Notes
- 14 References
- 15 External links
TrueCrypt supports Microsoft Windows, OS X and Linux operating systems (using FUSE). Both 32-bit and 64-bit versions of these operating systems are supported, except for Windows IA-64 (not supported) and Mac OS X 10.6 Snow Leopard (runs as a 32-bit process). The version for Windows 7, Windows Vista, and Windows XP can encrypt the boot partition or entire boot drive. There is an independent, compatible implementation, tcplay, for DragonFly BSD  and Linux.
Individual algorithms supported by TrueCrypt are AES, Serpent, and Twofish. Additionally, five different combinations of cascaded algorithms are available: AES-Twofish, AES-Twofish-Serpent, Serpent-AES, Serpent-Twofish-AES and Twofish-Serpent. The cryptographic hash functions used by TrueCrypt are RIPEMD-160, SHA-512, and Whirlpool.
Modes of operation
TrueCrypt currently uses the XTS mode of operation. Prior to this, TrueCrypt used LRW mode in versions 4.1 through 4.3a, and CBC mode in versions 4.0 and earlier. XTS mode is thought to be more secure than LRW mode, which in turn is more secure than CBC mode.
Although new volumes can only be created in XTS mode, TrueCrypt is backward compatible with older volumes using LRW mode and CBC mode. Later versions produce a security warning when mounting CBC mode volumes and recommend that they be replaced with new volumes in XTS mode.
TrueCrypt supports parallelized encryption for multi-core systems and, under Microsoft Windows, pipelined read/write operations (a form of asynchronous processing) to reduce the performance hit of encryption and decryption. On newer processors supporting the AES-NI instruction set, TrueCrypt supports hardware-accelerated AES to further improve performance. The performance impact of disk encryption is especially noticeable on operations which would normally use Direct Memory Access (DMA), as all data must pass through the CPU for decryption, rather than being copied directly from disk to RAM.
In a test carried out by Tom's Hardware, although TrueCrypt is slower compared to an unencrypted disk, the overhead of real-time encryption was found to be similar regardless of whether mid-range or state-of-the-art hardware is in use, and this impact was "quite acceptable". In another article the performance cost was found to be unnoticeable when working with "popular desktop applications in a reasonable manner", but it was noted that "power users will complain".
TrueCrypt is vulnerable to various known attacks which are also present in other software-based disk encryption software such as BitLocker. To prevent those, the documentation distributed with TrueCrypt requires users to follow various security precautions. Some of those attacks are detailed below.
TrueCrypt supports a concept called plausible deniability, by allowing a single "hidden volume" to be created within another volume. In addition, the Windows versions of TrueCrypt have the ability to create and run a hidden encrypted operating system whose existence may be denied.
The TrueCrypt documentation lists many ways in which TrueCrypt's hidden volume deniability features may be compromised (e.g. by third party software which may leak information through temporary files, thumbnails, etc., to unencrypted disks) and possible ways to avoid this. In a paper published in 2008 and focused on the then latest version (v5.1a) and its plausible deniability, a team of security researchers led by Bruce Schneier states that Windows Vista, Microsoft Word, Google Desktop, and others store information on unencrypted disks, which might compromise TrueCrypt's plausible deniability. The study suggested the addition of a hidden operating system functionality; this feature was added in TrueCrypt 6.0. When a hidden operating system is running, TrueCrypt also makes local unencrypted filesystems and non-hidden TrueCrypt volumes read-only to prevent data leaks. The security of TrueCrypt's implementation of this feature was not evaluated because the first version of TrueCrypt with this option had only recently been released.
Identifying TrueCrypt volumes
||This section possibly contains original research. (October 2011)|
Since TrueCrypt volumes do not contain file headers and their content is indistinguishable from random data, it is theoretically impossible to identify such files as being TrueCrypt volumes without knowing their passwords. However, this brings up the question as to whether the presence of a file made entirely of statistically random bits may be sufficient to create suspicion that they contain encrypted data. TrueCrypt volume files have file sizes that are evenly divisible by 512 and their content passes chi-squared randomness tests. Although these features give reason to suspect a file to be a TrueCrypt volume, there are, however, some programs which exist for the purpose of securely erasing files by employing a method of overwriting file contents, and free disk space, with purely random data (i.e. "shred" & "scrub"), thereby creating reasonable doubt to counter pointed accusations declaring a file, made of statistically random data, to be a TrueCrypt file.
If a system drive, or a partition on it, has been encrypted with TrueCrypt, then only the data on that partition is deniable. When the TrueCrypt boot loader replaces the normal boot loader, an offline analysis of the drive can positively determine that a TrueCrypt boot loader is present and so lead to the logical inference that a TrueCrypt partition is also present. Even though there are features to obfuscate its purpose (i.e. displaying a BIOS-like message to misdirect an observer such as, "Non-system disk" or "disk error"), these reduce the functionality of the TrueCrypt boot loader and do not hide the content of the TrueCrypt boot loader from offline analysis.
Encryption keys stored in memory
TrueCrypt stores its keys in RAM; on an ordinary personal computer the DRAM will maintain its contents for several seconds after power is cut (or longer if the temperature is lowered). Even if there is some degradation in the memory contents, various algorithms can intelligently recover the keys. This method, known as a cold boot attack (which would apply in particular to a notebook computer obtained while in power-on, suspended, or screen-locked mode), has been successfully used to attack a file system protected by TrueCrypt.
TrueCrypt documentation states that TrueCrypt is unable to secure data on a computer if an attacker physically accessed it and TrueCrypt is used on the compromised computer by the user again (this does not apply to a common case of a stolen, lost, or confiscated computer). The attacker having physical access to a computer can, for example, install a hardware/software keylogger, a bus-mastering device capturing memory, or install any other malicious hardware or software, allowing the attacker to capture unencrypted data (including encryption keys and passwords), or to decrypt encrypted data using captured passwords or encryption keys. Therefore, physical security is a basic premise of a secure system. Attacks such as this are often called "evil maid attacks".
TrueCrypt documentation states that TrueCrypt cannot secure data on a computer if it has any kind of malware installed. Some kinds of malware are designed to log keystrokes, including typed passwords, that may then be sent to the attacker over the Internet or saved to an unencrypted local drive from which the attacker might be able to read it later, when he or she gains physical access to the computer.
The "Stoned" bootkit
The "Stoned" bootkit, an MBR rootkit presented by Austrian software developer Peter Kleissner at the Black Hat Technical Security Conference USA 2009, has been shown capable of tampering TrueCrypt's MBR effectively bypassing TrueCrypt's full volume encryption. (but potentially every hard disk encryption software is affected too if it does not rely on hardware-based encryption technologies like TPM, or—even if it does—if this type of attack is made with administrative privileges while the encrypted operating system is running).
Two types of attack scenarios exist in which it is possible to maliciously take advantage of this bootkit: in the first one, the user is required to launch the bootkit with administrative privileges once the PC has already booted into Windows; in the second one, analogously to hardware keyloggers, a malicious person needs physical access to the user's TrueCrypt-encrypted hard disk: in this context this is needed to modify the user's TrueCrypt MBR with the Stoned's one and then place the hard disk back on the unknowing user's PC, so that when the user boots the PC and types his/her TrueCrypt password on boot, the "Stoned" bootkit intercepts it thereafter because, from that moment on, the Stoned bootkit is loaded before TrueCrypt's MBR in the boot sequence. The first type of attack can be prevented as usual by good security practices, e.g. avoid running non-trusted executables with administrative privileges. The second one can be successfully neutralized by the user if he/she suspects that the encrypted hard disk might have been physically available to someone he/she does not trust, by booting the encrypted operating system with TrueCrypt's Rescue Disk instead of booting it directly from the hard disk and restoring boot loader in MBR.
In 2013 a graduate student at Concordia University published an on-line detailed report, in which he states that he has confirmed the integrity of the distributed Windows XP binaries of version 7.1a. There was, a functional evaluation of the deniability of hidden volumes in an earlier version of TrueCrypt by Schneier et al. that found security leaks.
A crowdfunding campaign attempting to conduct an independent security audit of Truecrypt has been successfully funded on October 2013 and has since then established contact with Truecrypt developers.
In 2012 the United States 11th Circuit Court of Appeals ruled that a John Doe TrueCrypt user could not be compelled to decrypt several of his hard drives. The court's ruling noted that FBI forensic examiners were unable to get past TrueCrypt's encryption (and therefore were unable to access the data) unless Doe either decrypted the drives or gave the FBI the password, and the court then ruled that Doe's Fifth Amendment right to remain silent legally prevented the Government from making him or her do so.
In July 2008, several TrueCrypt-secured hard drives were seized from Brazilian banker Daniel Dantas, who was suspected of financial crimes. The Brazilian National Institute of Criminology (INC) tried unsuccessfully for five months to obtain access to his files on the TrueCrypt-protected disks. They enlisted the help of the FBI, who used dictionary attacks against Dantas' disks for over 12 months, but were still unable to decrypt them.
Licensing and Open Source status
^ The "TrueCrypt License" is unique and contains distribution and copyright-liability restrictions. TrueCrypt 6.3a (released Nov 2009) comes under TrueCrypt License Version 2.8 which was changed in some places from the 2.5 license, but TrueCrypt is still not included in most of the major Linux distributions. As of version 7.1a (released Feb 2012), the TrueCrypt License is Version 3.0.
Discussion of the licensing terms on the Open Source Initiative (OSI)'s license-discuss mailing list October 2013 suggests that the TrueCrypt license has made progress towards compliance with the Open Source Definition but would not yet pass if proposed for OSD certification.
Looking at the latest TrueCrypt license, I can see how they responded to some of the criticism coming from Fedora and others, which is something. Some things they didn't change, though.
The TrueCrypt License has not been officially approved by the OSI and is not considered "free" by several major Linux distributions (Arch Linux, Debian, Ubuntu, Fedora, openSUSE, Gentoo), mainly because of the distribution and copyright-liability restrictions.
According to the TrueCrypt website the following features are planned for future releases:
- Full support for Windows 8
- Ability to encrypt Windows system partitions/drives on UEFI-based computers
- Command line options for volume creation (already implemented in Linux and Mac OS X versions)
- "Raw" CD/DVD volumes
TrueCrypt and the Trusted Platform Module
The FAQ section of the TrueCrypt website states that the Trusted Platform Module (TPM) cannot be relied upon for security, because if the attacker has physical or administrative access to the computer and you use it afterwards, the computer could have been modified by the attacker e.g. a malicious component—such as a hardware keystroke logger—could have been used to capture the password or other sensitive information. Since the TPM does not prevent an attacker from maliciously modifying the computer, TrueCrypt will not support the TPM.
Incompatibility with FlexNet Publisher
Installing 3rd party software which uses FlexNet Publisher (used for preventing software piracy) on products such as Adobe Photoshop and other software by Adobe, can damage the TrueCrypt bootloader on Windows partitions/drives encrypted by TrueCrypt and render the drive unbootable. This is caused by the inappropriate design of FlexNet Publisher writing to the first drive track and overwriting whatever non-Windows bootloader exists there, which also damages a dual-boot setup when dual-booting Windows and Linux.
TrueCrypt is based on Encryption for the Masses (E4M), an open source on-the-fly encryption program first released in 1997. However, E4M was discontinued in 2000 as the author, Paul Le Roux, began working on commercial encryption software.
|Version||Release Date||Significant Changes|
|1.0||February 2, 2004||Initial release. Featured support for Windows 98, ME, 2000, and XP. Added plausible deniability for containers (although due to its simplistic nature, the practical value of the "plausible deniability" offered in this version is debatable), and various bugfixes and improvements over E4M.|
|1.0a||February 3, 2004||Removed support for Windows 98 and ME because the author of the Windows 9x driver for E4M (the ScramDisk driver) gave no permission that would allow his code to be used in projects derived from E4M.|
|2.0||June 7, 2004||Added AES algorithm. Release made under the GNU General Public License, and signed as the TrueCrypt Foundation – previous versions were signed by TrueCrypt Team.|
|2.1||June 21, 2004||New release due to licencing issues relating to the GNU General Public License. This release was made under original E4M license. Added RIPEMD-160, size of a volume was no longer limited to 2048 GB, ability to create NTFS volumes.|
|2.1a||October 1, 2004||Removed IDEA encryption algorithm. Version released on SourceForge.net, which became the official TrueCrypt domain. The official TrueCrypt domain moved back to truecrypt.org again at the beginning of May 2005, and the SourceForge website redirects to there.|
|3.0||December 10, 2004||Added hidden volume support for containers. Added the Serpent and Twofish algorithms, along with cascaded cipher support.|
|3.1||January 22, 2005||Added portable "Traveller mode", along with new volume mounting options such as being able to mount as "read only".|
|4.0||November 1, 2005||Added support for Linux, x86-64, Big Endian machines, keyfiles, hot keys, ability to protect hidden volumes against corruption when their outer volumes are mounted, favorite volumes, the Whirlpool hash algorithm, and language packs.|
|4.1||November 25, 2005||Added LRW mode, which is more secure than CBC mode for on-the-fly storage encryption. LRW mode also neutralized an exploit that could (under certain circumstances) be used to compromise the plausible deniability of a TrueCrypt volume by allowing it to be distinguished from random data.|
|4.2||April 17, 2006||Added various features to the Linux version, such as the ability to create volumes, change passwords and keyfiles, generate keyfiles, and backup/restore volume headers. In the Windows version, it introduced support for dynamic (sparse file) volumes.|
|4.3||March 19, 2007||Added support for Windows Vista, support for file systems using sector sizes other than 512 bytes. This release phased out support of 64-bit block ciphers, disallowing creation of new containers using the Blowfish, CAST-128, or Triple DES algorithms.|
|5.0||February 5, 2008||Introduced XTS mode of operation, which is more secure than LRW mode. Added Mac OS X support, Linux GUI and Windows system disk encryption with pre-boot authentication, ability of creation of hidden volumes within NTFS volumes, but removed the ability to create hidden volumes on Linux, use the tool on a non-gui console and the ability to create encrypted partitions from the text mode. Encrypting the system volume for Windows 2000 is no longer supported (encrypting containers and non-system volumes are still supported, however). Pipelining, SHA-512.|
|5.1||March 10, 2008||Added support for hibernation on Windows computers where the system partition is encrypted, the ability to mount a partition in Windows that is within the key scope of system encryption without pre-boot authentication, and added command line options for creating new volumes in Linux and Mac OS X. This version also reduced the minimum memory requirements for the TrueCrypt Boot Loader (AES) from 42 KB to 27 KB in Windows and included significant improvements in AES encryption/decryption performance. Changed to assembly implementation of AES.|
|6.0||July 4, 2008||Parallelized encryption/decryption on multi-core processors (or multi-processor systems). Increase in encryption/decryption speed is directly proportional to the number of cores and/or processors. Deniable encryption support. Volume format updated to allow for a built-in backup, which allows recovery of containers with minor damage to their headers. Ability to create hidden volumes under Mac OS X and Linux.|
|6.0a||July 8, 2008||On systems where certain inappropriately designed chipset drivers were installed, it was impossible to encrypt the system partition/drive. This will no longer occur. Other minor bug fixes.|
|6.1||October 31, 2008||Ability to encrypt a non-system partition without losing existing data on the partition (in place encryption) on Windows Vista and Windows 2008. Added support for security tokens and smart cards (two-factor authentication), though only to store keyfiles (without encryption). TrueCrypt boot loader now customizable. Pre-boot passwords can be used to mount non-system volumes. Linux and Mac OS X versions can now mount an encrypted Windows system partition.|
|6.1a||December 1, 2008||Minor improvements, bug fixes, and security enhancements.|
|6.2||May 11, 2009||The I/O pipeline of the Windows version now uses read-ahead buffering to improve read performance, especially on solid-state drives.|
|6.2a||June 15, 2009||Improved file container creation speed on systems that have issues with write block sizes greater than 64 KB. The "Device not ready" error will no longer occur when the process of decrypting a system partition/drive is finished. Other minor improvements and bug fixes.|
|6.3||October 21, 2009||Full support for Windows 7 and Mac OS X 10.6 Snow Leopard. "System Favorite Volumes" that allow regular TrueCrypt volumes to be mounted before system and application services start and before users start logging on.|
|6.3a||November 23, 2009||"Minor" unspecified improvements and bug fixes.|
|7.0||July 19, 2010||Hardware-accelerated AES. Encryption of hibernation files on Windows Vista and later. Automounting of volumes.|
|7.0a||September 6, 2010||Workaround for a bug that caused system crashes when hibernating Truecrypt-encrypted systems. Other minor bug fixes and minor improvements.|
|7.1||September 1, 2011||Full compatibility with 64-bit and 32-bit Mac OS X 10.7 Lion. Minor improvements and bug fixes (Windows, Mac OS X, and Linux).|
|7.1a||February 7, 2012||Minor improvements and bug fixes (Windows, Mac OS X, and Linux).|
- Using the tcplay implementation
- "TrueCrypt News".
- "DragonFly On-Line Manual Pages". DragonFly BSD Project. Retrieved 2011-07-17.
- "Supported Operating Systems". TrueCrypt Foundation. Retrieved 2010-08-13.
- "Operating Systems Supported for System Encryption". TrueCrypt Foundation. Retrieved 2010-08-13.
- "README". tc-play. Retrieved 2014-03-14.
- "FEDORA : Review Request: tcplay - Utility to create/open/map TrueCrypt-compatible volumes". FEDORA. Retrieved 2012-01-25.
- "TrueCrypt version history". TrueCrypt Foundation. Retrieved 2009-10-01.
- Fruhwirth, Clemens (2005-07-18). "New Methods in Hard Disk Encryption" (PDF). Institute for Computer Languages, Theory and Logic Group, Vienna University of Technology. Retrieved 2007-03-10.
- Parallel encryption for multi-core systems
- Pipelining support only under Windows as for ver 6.3a
- TrueCrypt - Free Open-Source Disk Encryption Software - Documentation - Hardware Acceleration
- Conclusion : System Encryption: BitLocker And TrueCrypt Compared
- Conclusion : Protect Your Data With Encryption
- Security Requirements and Precautions
- Plausible Deniability
- TrueCrypt - Free Open-Source Disk Encryption - Documentation - Hidden Volume
- TrueCrypt - Free Open-Source Disk Encryption Software - Documentation - Hidden Operating System
- TrueCrypt - Free Open-Source Disk Encryption - Documentation - Hidden Volume Precautions
- TrueCrypt - Free Open-Source Disk Encryption - Documentation - Hidden Operating System
- Alexei Czeskis, David J. St. Hilaire, Karl Koscher, Steven D. Gribble, Tadayoshi Kohno, Bruce Schneier (2008-07-18). "Defeating Encrypted and Deniable File Systems: TrueCrypt v5.1a and the Case of the Tattling OS and Applications". 3rd USENIX Workshop on Hot Topics in Security.
- diskscrub - disk overwrite utility - Google Project Hosting
- Plausible Deniability
- Archived May 16, 2009 at the Wayback Machine
- TrueCrypt FAQ - see question I use pre-boot authentication. Can I prevent a person (adversary) that is watching me start my computer from knowing that I use TrueCrypt?
- Alex Halderman et al. "Lest We Remember: Cold Boot Attacks on Encryption Keys".
- "TrueCrypt documentation - Physical security". truecrypt.org.
- Bruce Schneier (2009-10-23). ""Evil Maid" Attacks on Encrypted Hard Drives". Schneier on Security.
- TrueCrypt documentation: Malware. Accessed on: April 10, 2011
- "Stoned bootkit White Paper" (PDF). Black Hat Technical Security Conference USA 2009. Peter Kleissner. Retrieved 2009-08-05.
- "Stoned bootkit Presentation Slides" (PDF). Black Hat Technical Security Conference USA 2009. Peter Kleissner. Retrieved 2009-08-05.
- "Bootkit bypasses hard disk encryption". The H-Security (H-Online.com). Heise Media UK Ltd. Archived from the original on 1 August 2009. Retrieved 2009-08-05.
- David M Williams (2009-09-07). "The dark side of open source software is Stoned". iTWire.
- "TrueCrypt vs Peter Kleissner, Or Stoned BootKit Revisited..". Simon Hunt. Retrieved 2009-08-05.
- Uli Ries (2009-07-30). "Bootkit hebelt Festplattenverschlüsselung aus" (in German). Heise Online.
- "Windows-Hacking: TrueCrypt Verschlüsselung umgangen" (in German). Gulli News. 2009-07-30.
- "Stoned bootkit attacking TrueCrypt's full volume encryption". TrueCrypt Foundation mail in response to Peter Kleissner on 18/07/2009. Retrieved 2009-08-05.
- "Some encryption programs use TPM to prevent attacks. Will TrueCrypt use it too?". TrueCrypt FAQ. TrueCrypt Foundation. Retrieved 2011-08-24.
- "TrueCrypt Foundation is a joke to the security industry, pro Microsoft". Peter Kleissner post and expert comments about Stoned bootkit. Peter Kleissner. Retrieved 2009-08-05.
- Xavier de Carné de Carnavalet (2013). "How I compiled TrueCrypt 7.1a for Win32 and matched the official binaries".
- Schneier, UW Team Show Flaw In TrueCrypt Deniability. Accessed on: June 12, 2012
- "The TrueCrypt Audit Project". Indiegogo. Retrieved 2013-11-02.
- "TrueCrypt Audit Endorsed by Development Team". Threatpost. Retrieved 2013-11-02.
- Court Rules TrueCrypt User Cannot Be Compelled To Decrypt Hard Disk - informationliberation
- United States v. John Doe (11th Circuit, 2012)
- J. Leyden (2010). "Brazilian banker's crypto baffles FBI". The Register. Retrieved 2010-08-13.
- TrueCrypt License. Accessed on: May 21, 2012
- Fontana, Richard (October 2013). "TrueCrypt license (not OSI-approved; seeking history, context).". Retrieved 2013-10-26.
- Arch Linux Truecrypt PKGBUILD Accessed on: July 17, 2011
- Debian Bug report logs - #364034. Accessed on: January 12, 2009.
- Bug #109701 in Ubuntu. Accessed on: April 20, 2009
- TrueCrypt licensing concern Accessed on: April 20, 2009
- non-OSI compliant packages in the openSUSE Build Service. Accessed on: April 20, 2009
- Gentoo bug 241650. Accessed on: April 20, 2009
- Tom Callaway of Red Hat about TrueCrypt licensing concern Accessed on July 10, 2009
- Intellectual Property Digital Library; search trademarks directory for IRN/925625
- Features to be implemented in future versions
- "Freeze when you reboot a Windows system that has TrueCrypt Disk Encryption software and Adobe applications installed". 16 November 2009. Retrieved 5 April 2012.
- "TrueCrypt Documentation: Incompatibilities". Retrieved 5 April 2012.
- "grub fails after running Windows". 4 October 2009. Retrieved 5 April 2012. FlexNet Publisher has been implicated as the cause of this problem.
- Plausible Deniability
- The authors of Scramdisk and E4M exchanged some code – the author of Scramdisk provided a driver for Windows 9x, and the author of E4M provided a driver for Windows NT, enabling cross-platform versions of both programs.
- "TrueCrypt User's Guide" (PDF). TrueCrypt Version 3.1a. TrueCrypt Foundation. 2005-02-07. p. 44. Archived from the original on 2007-03-27. Retrieved 2007-05-01.
- "Version History Part 1". TrueCrypt Documentation. TrueCrypt Foundation. Retrieved 2008-06-04.
|Wikimedia Commons has media related to TrueCrypt.|