Category: 

What are the Different Types of Disk Encryption Software?

Article Details
  • Written By: S.A. Keel
  • Edited By: Lauren Fritsky
  • Last Modified Date: 07 September 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
In late 19th-century London, mail was delivered to residential addresses up to twelve times each day.   more...

September 28 ,  1924 :  Two US military planes complete the first flights around the world.  more...

Disk encryption software is a full disk encryption method,where the different types of software implement different functions and strategies for encryption of an entire disk drive, known as full disk encryption (FDE). Among the various methods, some FDE software will require the use of separate hardware, either for unlocking a drive, or storing the encryption keys, or in some cases both. Other FDE software may unlock the disk at the time the user logs into the computer, while others won't even boot the computer's operating system without authorization. Still other types distinguish themselves by the way they handle the format of the disk and the way the encryption is generated from the disk's structure.

Some disk encryption software implementations have deniable encryption. Here, the data is nested, where lower levels can be denied existence. If the user is required to give up the password for any reason, only certain data can be accessed, such as operating system files, programs, or data that the user has decided isn't really all that secret. The user shows compliance by giving up a password and seemingly unlocking the disk, yet the real secret data remains hidden beneath another password that remains secret.

Ad

In many cases where this plausible deniability is used, the software creates something of a volume within a volume. The main disk partition is loaded with one password, running the operating system and software, while a second, invisible disk partition is only accessible with the second password. Of course, this method only works well if the attacker isn't able to see any distinguishing characteristics of an underlying, encrypted data structure. To get around this, the software doesn't leave any marks lying around that indicate whether disk encryption is being used. To an outside observer the data seems random and uninteresting, unless the key to unlock it is known.

Some disk encryption software is designed to support or even require additional hardware devices that are used to unlock the disk. One such method is the use of expansion cards with an additional processor for handling the encryption and decryption of the data on the drive. Other hardware additions, such as smart cards or universal serial bus (USB) dongles, may need to be inserted into the computer to provide the key for unlocking the disk. Many of these hardware additions adhere to the Trusted Platform Module (TPM) specification, but only certain types of disk encryption software fully implement the TPM.

Lastly, various disk encryption software may work by using a file as the encrypted volume, a separate logical partition of a physical drive, or the entire disk. With full disk encryption software, everything is secured, including the information on how the disk is partitioned, the boot information, as well as the data. This type of FDE software will probably require some additional pre-boot password just to get the computer to start up the operating system. Furthermore, some software may not be capable of handling encryption for the power management techniques of the operating system, such as sleep or hibernation states.

Disk encryption software is not immune to attack techniques. In some software, brute-force dictionary attacks can be made against the passwords. Other types of software may use information about the disk's sectors in unsecured ways, allowing for the detection of encrypted files on a system. Another danger lies in the random access memory (RAM) in the computer, where the operating system has left remnants of the encryption keys. In what's called a cold boot attack, the computer can be quickly restarted and booted from a separate operating system, which can then read what was left over in the computer's RAM.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

exception 'Exception' with message 'error writing captcha: Duplicate entry '2147483647' for key 'PRIMARY'' in /ssd/www/wisegeek/public_html/_core/classes/public/Captcha.php:44
Stack trace:
#0 /ssd/www/wisegeek/public_html/_core/controls/public/ControlDiscussionPostBox.php(324): Captcha->createCaptcha()
#1 /ssd/www/wisegeek/public_html/framework/classes/Control.php(104): ControlDiscussionPostBox->preRender(false)
#2 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): Control->render()
#3 /ssd/www/wisegeek/public_html/tpl/default-nocustom-lu/pages/public/article/article.htm(526): Control->__toString()
#4 /ssd/www/wisegeek/public_html/framework/classes/Control.php(300): require('/ssd/www/wisege...')
#5 /ssd/www/wisegeek/public_html/framework/classes/Control.php(309): Control->requireTpl('pages/public/ar...', Object(PageArticleCom), true)
#6 /ssd/www/wisegeek/public_html/framework/classes/Control.php(131): Control->renderTpl('pages/public/ar...', Object(PageArticleCom))
#7 /ssd/www/wisegeek/public_html/framework/classes/FormDataControl.php(87): Control->renderTemplate()
#8 /ssd/www/wisegeek/public_html/framework/classes/Control.php(109): FormDataControl->renderTemplate()
#9 /ssd/www/wisegeek/public_html/framework/classes/ScriptPage.php(50): Control->render(false)
#10 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): ScriptPage->render()
#11 /ssd/www/wisegeek/public_html/framework/classes/Page.php(97): Control->__toString()
#12 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(443): Page->processRequest()
#13 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(7): PublicFrontController->renderPage()
#14 /ssd/www/wisegeek/public_html/index.php(11): PublicFrontController::run()
#15 {main}