VeraCrypt

From The Hidden Wiki
Jump to navigationJump to search

VeraCrypt is a source-available freeware utility used for on-the-fly encryption (OTFE).<ref name="VeraCrypt Official Site">"VeraCrypt Official Site"</ref> It can create a virtual encrypted disk within a file or encrypt a partition<ref name="VeraCrypt Volume">Template:Cite web</ref> or (under Microsoft Windows except Windows 8 with UEFI or GPT) the entire storage device with pre-boot authentication.<ref name="OS Supported for System Encryption">Template:Cite web</ref>

VeraCrypt is a fork of the discontinued TrueCrypt project.<ref name="VeraCrypt a Worthy TrueCrypt Alternative">Template:Cite web</ref> It was initially released on June 22, 2013 and has produced its eleventh release (version 1.16) as of October 7, 2015.<ref>"VeraCrypt Downloads"</ref> According to its developers, security improvements have been implemented and issues raised by the initial TrueCrypt code audit have been addressed.<ref>Template:Cite web</ref>

Encryption scheme

Algorithms

Individual ciphers supported by VeraCrypt 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.<ref>Template:Cite web</ref> The cryptographic hash functions available for use in VeraCrypt are RIPEMD-160, SHA-256, SHA-512, and Whirlpool.<ref>Template:Cite web</ref>

Modes of operation

VeraCrypt uses the XTS mode of operation.<ref name=modes>Template:Cite web</ref>

Keys

The header key and the secondary header key (XTS mode) are generated using PBKDF2 with a 512-bit salt and 327,661 to 655,331 iterations, depending on the underlying hash function used.<ref>Template:Cite web</ref>

Security improvements

According to its developers, VeraCrypt has made several security improvements over TrueCrypt.

While TrueCrypt uses 1000 iterations of the PBKDF2-RIPEMD160 algorithm for system partitions, VeraCrypt uses 327,661 iterations. For standard containers and other partitions, VeraCrypt uses 655,331 iterations of RIPEMD160 and 500,000 iterations of SHA-2 and Whirlpool. While this makes VeraCrypt slower at opening encrypted partitions, it also makes password guessing based attacks slower.<ref name="VeraCrypt a Worthy TrueCrypt Alternative" />

A vulnerability in the bootloader was fixed on Windows and various optimizations were made as well. The developers added support for SHA-256 to the system boot encryption option and also fixed a ShellExecute security issue. Linux and Mac OS X users benefit from support for hard drives with sector sizes larger than 512. Linux also received support for the NTFS formatting of volumes.

Due to the security improvements, the VeraCrypt storage format is incompatible with that of TrueCrypt. The VeraCrypt development team believes that the old TrueCrypt format is too vulnerable to an NSA attack and thus it must be abandoned.Template:Citation needed This is one of the main differences between VeraCrypt and its competitor, CipherShed, as CipherShed continues to use the TrueCrypt format. However, beginning with version 1.0f, VeraCrypt is capable of opening and converting volumes in the TrueCrypt format.<ref name="VeraCrypt Release Notes">"VeraCrypt Release Notes"</ref><ref>Castle, Alex (March, 2015). "Where Are We At With TrueCrypt?". MaximumPC, p. 59.</ref>

Plausible deniability

VeraCrypt supports a concept called plausible deniability,<ref name=deniability>Template:Cite web</ref> by allowing a single "hidden volume" to be created within another volume.<ref>Template:Cite web</ref> In addition, the Windows versions of VeraCrypt have the ability to create and run a hidden encrypted operating system whose existence may be denied.<ref name=hiddenOS>Template:Cite web</ref>

The VeraCrypt documentation lists many ways in which VeraCrypt'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.<ref name="IDRIX">Template:Cite web</ref>

Performance

VeraCrypt supports parallelized<ref name=guide-1.0f>Template:Cite web</ref>Template:Rp encryption for multi-core systems and, under Microsoft Windows, pipelined read/write operations (a form of asynchronous processing)<ref name=guide-1.0f />Template:Rp to reduce the performance hit of encryption and decryption. On newer processors supporting the AES-NI instruction set, VeraCrypt supports hardware-accelerated AES to further improve performance.<ref name=guide-1.0f />Template:Rp 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 *****U for decryption, rather than being copied directly from disk to RAMTemplate:Citation needed.

Security concerns

VeraCrypt is vulnerable to various known attacks that also affect other software-based disk encryption software such as BitLocker. To mitigate these attacks, the documentation distributed with VeraCrypt requires users to follow various security precautions.<ref name="IDRIX"/><ref name="Security Requirements and Precautions">Template:Cite web</ref> Some of these attacks are detailed below.

Encryption keys stored in memory

VeraCrypt stores its keys in the 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.<ref>Template:Cite web</ref>

Physical security

VeraCrypt documentation states that VeraCrypt is unable to secure data on a computer if an attacker physically accessed it and VeraCrypt is then used on the compromised computer by the user again. This does not affect the common case of a stolen, lost, or confiscated computer.<ref>Template:Cite web</ref> 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".<ref>Template:Cite web</ref>

Malware

VeraCrypt documentation states that VeraCrypt 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.<ref>Template:Cite web</ref>

Trusted Platform Module

The FAQ section of the VeraCrypt website <ref>Template:Cite web</ref> 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, VeraCrypt will not support TPM.

Security audits

An independent code audit of VeraCrypt is currently in the initial planning stage.<ref name="Veracrypt Security audit">Template:Cite web</ref>

VeraCrypt is based on the source code of TrueCrypt, which passed an independent security audit. Phase I of the audit was successfully completed on 14 April 2014, finding "no evidence of backdoors or malicious code."<ref>Bombus<ref name="xeps-dnock">Template:Citation</ref></ref> Phase II of the audit was successfully completed on 2 April 2015, finding "no evidence of deliberate backdoors, or any severe design flaws that will make the software insecure in most instances."<ref name="Truecrypt report">Template:Cite web</ref><ref name="Truecrypt Phase Two Audit Announced">Template:Cite web</ref>

License and source model

VeraCrypt has been licensed under the Apache License 2.0 since 28 June 2015.<ref>Template:Cite web</ref> Prior to that, it was released under the Microsoft Public License.<ref>Template:Cite web</ref> VeraCrypt inherited a substantial amount of code from its TrueCrypt predecessor and thus is also subject to the terms of version 3.0 of the "TrueCrypt License" which is unique to the TrueCrypt software.<ref name=license>TrueCrypt License. Accessed on: May 21, 2012 Template:Dead link</ref><ref name=license2>TrueCrypt Collective License. Accessed on: June 4, 2014</ref> It is not part of the pantheon of widely used open source licenses and is not a free software license according to the Free Software Foundation (FSF) license list, as it contains distribution and copyright-liability restrictions.<ref name=Phipps>Bombus<ref name="xeps-dnock">Template:Citation</ref></ref>

Planned features

Planned features include adding the capability to encrypt GPT System Partitions.<ref>Template:Cite web</ref>

See also

Template:Portal

References

1 }}
     | references-column-width 
     | references-column-count references-column-count-{{#if:1|{{{1}}}}} }}
   | {{#if: 30em
     | references-column-width }} }}" style="{{#if: 
   | {{#iferror: {{#ifexpr: 1 > 1 }}
     | Template:Column-width
     | Template:Column-count }}
   | {{#if: 30em
     | Template:Column-width }} }} list-style-type: {{#switch: 
   | upper-alpha
   | upper-roman
   | lower-alpha
   | lower-greek
   | lower-roman = {{{group}}}
   | #default = decimal}};">
<references group=""></references>

External links

Template:Commons category