TrueCrypt

From Wikipedia, the free encyclopedia
Jump to: navigation, search
TrueCrypt
TrueCrypt Logo.png
TrueCrypt on windows vista.png
TrueCrypt on Windows
Developer(s) TrueCrypt Foundation
Stable release 7.1a (February 7, 2012; 2 years ago (2012-02-07)[1]) [±]
Written in C, C++, Assembly
Operating system
Available in Multilingual (30)[5]
(although most are incomplete translations)
Type Disk encryption software
License TrueCrypt License v 3.0
Website truecrypt.org

TrueCrypt is an open source[6][7][8][9] 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 8 with GPT) the entire storage device (pre-boot authentication).

Operating systems[edit]

TrueCrypt supports Microsoft Windows, OS X and Linux operating systems[10] (using FUSE[citation needed]). 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).[10] The version for Windows 7, Windows Vista, and Windows XP can encrypt the boot partition or entire boot drive.[11] There is an independent, compatible[2][12] implementation, tcplay, for DragonFly BSD [2] and Linux.[12][13]

Cryptographic algorithms[edit]

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[edit]

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.[14] XTS mode is thought to be more secure than LRW mode, which in turn is more secure than CBC mode.[15]

Although new volumes can only be created in XTS mode, TrueCrypt is backward compatible with older volumes using LRW mode and CBC mode.[14] Later versions produce a security warning when mounting CBC mode volumes and recommend that they be replaced with new volumes in XTS mode.

Plausible deniability[edit]

TrueCrypt supports a concept called plausible deniability,[16] by allowing a single "hidden volume" to be created within another volume.[17] In addition, the Windows versions of TrueCrypt have the ability to create and run a hidden encrypted operating system whose existence may be denied.[18]

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.[19] 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.[20] 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.[21]

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.[22]

Identifying TrueCrypt volumes[edit]

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.[citation needed] 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.[citation needed] 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"[23]), thereby creating reasonable doubt to counter pointed accusations declaring a file, made of statistically random data, to be a TrueCrypt file.[24][25]

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.[26]

Performance[edit]

TrueCrypt supports parallelized[27] encryption for multi-core systems and, under Microsoft Windows, pipelined read/write operations (a form of asynchronous processing)[28] 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.[29] 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".[30] 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".[31]

Security concerns[edit]

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.[32] Some of those attacks are detailed below.

Encryption keys stored in memory[edit]

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.[33]

Physical security[edit]

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).[34] 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".[35]

Malware[edit]

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.[36]

The "Stoned" bootkit[edit]

The "Stoned" bootkit, an MBR rootkit presented by Austrian software developer Peter Kleissner at the Black Hat Technical Security Conference USA 2009,[37][38] has been shown capable of tampering TrueCrypt's MBR effectively bypassing TrueCrypt's full volume encryption.[39][40][41][42][43] (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).[44][45]

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.[46]

Security Audits[edit]

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 binaries of version 7.1a.[47]

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.[48][49] A partial audit has been successfully completed, finding "no evidence of backdoors or malicious code" and Matthew Green added "I think it's good that we didn't find anything super critical."[50]

Legal aspects[edit]

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.[51] 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.[52]

Operation Satyagraha[edit]

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.[53]

License and Trademark[edit]

The TrueCrypt License has not been officially approved by the OSI[54] and is not packaged by several major Linux distributions (Arch Linux,[55] Debian,[56] Ubuntu,[57] Fedora,[58][59] openSUSE,[60] Gentoo[61]).

The TrueCrypt trademark was registered in the Czech Republic under name of David Tesařík.[62]

Planned features[edit]

According to the TrueCrypt website[63] 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[edit]

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.[45]

Incompatibility with FlexNet Publisher[edit]

Installing third party software which uses FlexNet Publisher (used for preventing software piracy on products by Adobe such as Adobe Photoshop), can damage the TrueCrypt bootloader on Windows partitions/drives encrypted by TrueCrypt and render the drive unbootable.[64] This is caused by the inappropriate design of FlexNet Publisher writing to the first drive track and overwriting whatever non-Windows bootloader exists there.[65]

Release history[edit]

Truecrypt was initially released in 2004, with several releases after that.[66]

See also[edit]

Notes[edit]

  1. ^ Using the tcplay implementation

References[edit]

  1. ^ "TrueCrypt News". 
  2. ^ a b c "DragonFly On-Line Manual Pages". DragonFly BSD Project. Retrieved 2011-07-17. 
  3. ^ https://play.google.com/store/apps/details?id=csh.cryptonite
  4. ^ https://play.google.com/store/apps/details?id=com.sovworks.edslite
  5. ^ http://www.truecrypt.org/localizations.php
  6. ^ http://www.infoworld.com/t/encryption/sloppy-secure-open-source-truecrypt-passes-audit-240478
  7. ^ http://www.computerworld.com/s/article/9243873/NSA_spying_prompts_open_TrueCrypt_encryption_software_audit_to_go_viral
  8. ^ http://www.infoworld.com/d/open-source-software/truecrypt-or-false-would-be-open-source-project-must-clean-its-act-230862
  9. ^ http://www.tomshardware.com/reviews/bitlocker-truecrypt-encryption,2587.html
  10. ^ a b "Supported Operating Systems". TrueCrypt Foundation. Retrieved 2010-08-13. 
  11. ^ "Operating Systems Supported for System Encryption". TrueCrypt Foundation. Retrieved 2010-08-13. 
  12. ^ a b "README". tc-play. Retrieved 2014-03-14. 
  13. ^ "FEDORA : Review Request: tcplay - Utility to create/open/map TrueCrypt-compatible volumes". FEDORA. Retrieved 2012-01-25. 
  14. ^ a b "TrueCrypt version history". TrueCrypt Foundation. Retrieved 2009-10-01. 
  15. ^ 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. 
  16. ^ Plausible Deniability
  17. ^ TrueCrypt - Free Open-Source Disk Encryption - Documentation - Hidden Volume
  18. ^ TrueCrypt - Free Open-Source Disk Encryption Software - Documentation - Hidden Operating System
  19. ^ TrueCrypt - Free Open-Source Disk Encryption - Documentation - Hidden Volume Precautions
  20. ^ TrueCrypt - Free Open-Source Disk Encryption - Documentation - Hidden Operating System
  21. ^ 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. 
  22. ^ Schneier, UW Team Show Flaw In TrueCrypt Deniability. Accessed on: June 12, 2012
  23. ^ diskscrub - disk overwrite utility - Google Project Hosting
  24. ^ Plausible Deniability
  25. ^ Archived May 16, 2009 at the Wayback Machine
  26. ^ 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?
  27. ^ Parallel encryption for multi-core systems
  28. ^ Pipelining support only under Windows as for ver 6.3a
  29. ^ TrueCrypt - Free Open-Source Disk Encryption Software - Documentation - Hardware Acceleration
  30. ^ Conclusion : System Encryption: BitLocker And TrueCrypt Compared
  31. ^ Conclusion : Protect Your Data With Encryption
  32. ^ Security Requirements and Precautions
  33. ^ Alex Halderman et al. "Lest We Remember: Cold Boot Attacks on Encryption Keys". 
  34. ^ "TrueCrypt documentation - Physical security". truecrypt.org. 
  35. ^ Bruce Schneier (2009-10-23). ""Evil Maid" Attacks on Encrypted Hard Drives". Schneier on Security. 
  36. ^ TrueCrypt documentation: Malware. Accessed on: April 10, 2011
  37. ^ "Stoned bootkit White Paper" (PDF). Black Hat Technical Security Conference USA 2009. Peter Kleissner. Retrieved 2009-08-05. 
  38. ^ "Stoned bootkit Presentation Slides" (PDF). Black Hat Technical Security Conference USA 2009. Peter Kleissner. Retrieved 2009-08-05. 
  39. ^ "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. 
  40. ^ David M Williams (2009-09-07). "The dark side of open source software is Stoned". iTWire. 
  41. ^ "TrueCrypt vs Peter Kleissner, Or Stoned BootKit Revisited..". Simon Hunt. Retrieved 2009-08-05. 
  42. ^ Uli Ries (2009-07-30). "Bootkit hebelt Festplattenverschlüsselung aus" (in German). Heise Online. 
  43. ^ "Windows-Hacking: TrueCrypt Verschlüsselung umgangen" (in German). Gulli News. 2009-07-30. 
  44. ^ "Stoned bootkit attacking TrueCrypt's full volume encryption". TrueCrypt Foundation mail in response to Peter Kleissner on 18/07/2009. Retrieved 2009-08-05. 
  45. ^ a b "Some encryption programs use TPM to prevent attacks. Will TrueCrypt use it too?". TrueCrypt FAQ. TrueCrypt Foundation. Retrieved 2011-08-24. 
  46. ^ "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. 
  47. ^ Xavier de Carné de Carnavalet (2013). "How I compiled TrueCrypt 7.1a for Win32 and matched the official binaries". 
  48. ^ "The TrueCrypt Audit Project". Indiegogo. Retrieved 2013-11-02. 
  49. ^ "TrueCrypt Audit Endorsed by Development Team". Threatpost. Retrieved 2013-11-02. 
  50. ^ http://arstechnica.com/security/2014/04/truecrypt-audit-finds-no-evidence-of-backdoors-or-malicious-code/
  51. ^ Court Rules TrueCrypt User Cannot Be Compelled To Decrypt Hard Disk - informationliberation
  52. ^ United States v. John Doe (11th Circuit, 2012)
  53. ^ J. Leyden (2010). "Brazilian banker's crypto baffles FBI". The Register. Retrieved 2010-08-13. 
  54. ^ Fontana, Richard (October 2013). "TrueCrypt license (not OSI-approved; seeking history, context).". Retrieved 2013-10-26. 
  55. ^ Arch Linux Truecrypt PKGBUILD Accessed on: July 17, 2011
  56. ^ Debian Bug report logs - #364034. Accessed on: January 12, 2009.
  57. ^ Bug #109701 in Ubuntu. Accessed on: April 20, 2009
  58. ^ Tom Callaway of Red Hat about TrueCrypt licensing concern Accessed on July 10, 2009
  59. ^ Fedora Project wiki: ForbiddenItems - TrueCrypt
  60. ^ non-OSI compliant packages in the openSUSE Build Service. Accessed on: April 20, 2009
  61. ^ Gentoo bug 241650. Accessed on: April 20, 2009
  62. ^ Intellectual Property Digital Library; search trademarks directory for IRN/925625
  63. ^ Features to be implemented in future versions
  64. ^ "Freeze when you reboot a Windows system that has TrueCrypt Disk Encryption software and Adobe applications installed". 16 November 2009. Retrieved 5 April 2012. 
  65. ^ "TrueCrypt Documentation: Incompatibilities". Retrieved 5 April 2012. 
  66. ^ http://www.truecrypt.org/docs/?s=version-history

External links[edit]