Chapter 1: Risk Discussion

Published: April 04, 2007

Sensitive data, like all data, has a complex life cycle and typically moves from place to place as it performs its business function. Securing data is necessary throughout the entire cycle of its use, but many technologies and processes will be applied in different phases of the data life cycle.

Sample data life cycle

Figure 1.1. Sample data life cycle

This guide focuses on the level of security that can be achieved by using Microsoft technologies to protect data when it is copied to or created on mobile PCs, such as laptop computers.

Discussions of data protection for the following scenarios are out of scope for this guide, except when the data is cached locally:

  • As data transits internal or external networks.
  • As data is presented in Web (thin-client) applications.
  • When data is used within applications after it is decrypted.

Data Security Risks

The two technologies described in this guide, Encrypting File System (EFS) and Microsoft® BitLocker™ Drive Encryption (BitLocker), are examples of two different but complementary approaches to data encryption. EFS is an encryption mechanism that protects data in files and folders on a per-user basis. BitLocker is a full-volume encryption mechanism that encrypts all sectors on the system volume on a per-computer basis, including operating system, applications, and data files. BitLocker provides pre-boot integrity checking and encryption, but it does not provide user authentication. EFS complements BitLocker protection by restricting access to encrypted files to properly authenticated users on a running computer.

Because of their fundamentally different approaches and implementation, EFS and BitLocker have their own strengths and weaknesses and deliver different levels of security across a common set of attacker scenarios. This guide describes those scenarios in detail and examines how the two encryption technologies apply to each.

Understanding Data Types

There are different types of confidential data and many different scenarios for how and why that data might be compromised. This guide discusses the different encryption technologies in the context of the following types of data.

  • Personally identifiable information (PII). Private information about customers or employees of an organization, including Social Security numbers, credit card numbers, health information, and so on. Data of this type is protected by one or more government or industry regulations, such as the Health Insurance Portability and Accountability Act (HIPAA), the European Union Data Protection Directive, and California Bill SB1386. Loss of this type of data generally results in immediate and long-term financial impact to an organization, even though it might never be proved that the data was read from a computer.
  • Intellectual property (IP). Data considered by an organization to be confidential or sensitive, including marketing plans, pre-patent research on new products, software algorithms, lists of potential new customers, and so on. If this type of data is lost and discovered by the wrong people, or if it is present on a device that is deliberately stolen, a loss of competitive advantage or other negative effects could result. The main thing to remember is that there are typically financial implications for the use of IP data, so the cost of risk mitigation can be balanced against the financial implications of exposure. However, this type of calculation may not always be helpful. Public embarrassment can also be a motivating factor, so it might be a good idea to encrypt the data on your CEO's computer to avoid negative publicity.

Attacker Scenarios: Insider and Outsider

When discussing attacks and mitigating technologies, a distinction is often made between whether the threat is from a malicious insider or an outside attacker. Malicious insiders have capabilities that outsiders typically do not have. A partial list of the differences includes:

  • The insider may be able to legitimately log on to the computer using their own account.
  • The insider may be able to access the computer over a network for an extended period of time while the computer is being used by legitimate users. Such an opportunity could increase the likelihood of finding a weakness to exploit.
  • The insider is more likely to be able to mount multi-stage attacks.
  • The insider may be more likely to succeed in obtaining a user’s password (or part of it) through social engineering attacks.

To compare the strengths and weaknesses of different approaches to data encryption, it is necessary to discuss some cryptographic concepts that apply to encryption in general and to EFS and BitLocker specifically.

Cryptographic Concepts for Data Protection

Encryption can be implemented in many ways. For example, encryption can be performed in layers, or in complicated patterns built into unique algorithms. Cryptographic key use is often discussed in terms of key length, but how those keys are calculated, stored, and used is often much more important. Cryptographic key storage and protection is rarely discussed in detail in technical product documentation, but these issues are extremely important to understanding what is usually the weakest part of an encryption technology.

Note This section of the guide is not meant to be a general primer on encryption technologies. If you do not have a basic understanding of encryption fundamentals such as symmetric and asymmetric encryption, you should review the article "Cryptography for Network and Information Security."

An optimal encryption algorithm is designed and implemented so that an attacker’s only way to break the encryption is to correctly guess what particular key was used from a large possible key space, which is the range of values that a key might possibly have. This type of an attack is called a brute-force attack.

Symmetric key algorithms typically have a key space of between 40 and 512 bits, which means that the number of possible values for the key is the maximum numerical value that can be expressed by the number of bits used. 40 bits allows a maximum numerical value of 1,099,511,627,775 (240 -1), which is certainly a large number, although currently available computers could fairly easily try every possible value of a 40-bit key space as an encryption key in an attempt to decrypt data. However, every bit added to the key space doubles the number of possible keys—so a 41-bit key space would offer 2,199,023,255,552 possible keys. Increasing the key space quickly causes the number of possible keys to increase to a point at which brute-force attacks become infeasible using current hardware and known attack techniques.

Encryption technologies, however, rarely provide security that is this strong. Many encryption implementations have one or more of the following weaknesses:

  • The encryption algorithm is flawed. Encryption algorithms are sometimes found to be fundamentally flawed after peer review—or sometimes after they are successfully attacked. Sometimes such flaws are found many years after the algorithm is published and becomes widely used.
  • The implementation is incorrect. Algorithms are implemented by developers, and sometimes they introduce bugs that reduce the effectiveness of the algorithm.
  • The keys have a low level of entropy. Just because a key space is 128 bits, for example, does not mean that the process to generate the 128-bit number is truly random or uses the entire key space.
  • The keys are easily discovered. Keys have to be stored somewhere. If the location is discoverable and the key can be retrieved, the encrypted data can be compromised.

If encryption technologies are subject to such weaknesses, you might wonder why anyone bothers with encryption at all. In practice, there are two factors that help reduce the occurrence of these weaknesses. One factor is that Microsoft invests heavily in validating and verifying the soundness of its encryption implementations. This process begins with choosing mature, well-understood algorithms that provide innate resistance to some types of attacks, and it continues through the ongoing Microsoft commitment to having its cryptographic algorithm implementations certified as meeting the Federal Information Processing Standards (FIPS) 140 Evaluation standards and to submitting its operating systems for Common Criteria certification. For more information about Common Criteria certification, see the Windows Platform Common Criteria Certification page on Microsoft TechNet. In addition, The Trustworthy Computing Security Development Lifecycle (SDL) process has been integrated into Microsoft development processes to ensure that security is incorporated as a core component of product development.

The second factor is that encryption can be made sufficiently resistant to attack to provide a degree of security that is appropriate for the data that is being protected. In other words, it often does not matter if a large government could apply all of its resources and succeed in cracking the encryption that protects your customer database. You might only need an encryption solution that would prevent the data from being easily discoverable if it somehow became available to unauthorized people with very limited resources or knowledge. Another way to assess your encryption needs is to ensure that any data you decide to encrypt is evaluated for its true worth and then compared with the estimated cost to break the encryption. For example, if your customer database is worth $100,000 to a competitor and the estimated cost to break the encryption is $1 million, the level of encryption used is probably sufficient.

Note For more information about ways to assure that a cryptographic implementation is secure, refer to chapter 19 in Special Publication 800-12 – An Introduction to Computer Security: The NIST Handbook, published by the US National Institute of Standards and Technology (NIST).

To evaluate the relative merits of encryption approaches, you need to examine the details of the encryption implementation in its entirety. The following figure shows a typical chain of events that occurs when data is encrypted and decrypted.

Data encryption and decryption

Figure 1.2. Data encryption and decryption

The following factors are important to understand when evaluating an encryption technology:

  • Algorithm choice. The security of a cryptographic implementation depends both on the quality of the implementation and the algorithms it implements. For this reason, most commercial technologies implement a relatively small set of mature, well-tested algorithms that are believed to be secure against various types of attacks. Examples of these algorithms include 3DES (Triple Data Encryption Standard), AES (Advanced Encryption Standard), and Blowfish, all of which are symmetric algorithms, and RSA (Rivest-Shamir-Adelman) and ECC (Elliptic Curve Cryptography), which are public-key algorithms.
  • Key generation. Encryption technologies often use multiple keys. Some of these keys will be generated by hardware or software, some are provided by humans, and some are derived from generated keys, human-provided keys, or a combination of both. The strength of generated keys relies on whether it is possible to predict the value of the key if environmental factors are known. In other words, a key must be sufficiently random and of sufficient length to be effective.
  • Key derivation. Many encryption implementations derive some of their keys from other keys, such as a user-provided password. How each one of the keys is derived is critically important to the overall security of the implementation. The important thing to remember is that keys cannot be made stronger through derivation. It is possible to create a 256-bit AES key from a 56-bit DES (Data Encryption Standard) key, but the resultant strength of the key is no greater than the strength of the 56 bit DES key—which might be derived from an even weaker key.
  • Key storage. Every encryption technology must store and use key material. How that key material is stored is critically important to the security of the implementation. Valuable assets such as root certificate authority signing keys are often protected using tamper-resistant hardware modules that provide strong resistance against attack. Many organizations choose to deploy smart cards because they provide stronger security for key storage than software–based solutions, with the added benefit that the user cannot, even inadvertently, recover and disclose the smart card's key material. Practical issues of user behavior must also be considered, such as whether users properly safeguard key material and passwords. Encryption technologies that make it easier for the user to do the right thing are much more secure, and more successful, then those that do not.
  • Key caching. Cryptographic operations are often computationally complex. To improve performance, encryption technologies often rely on optimizations that involve caching keys or intermediate products of cryptographic operations. Such data items are extremely sensitive, and if the technology does not properly protect them they may become exposed to an attacker. For instance, a technology that caches a cryptographic key in memory may allow an attacker to recover this key from system memory or the page file if the cache is not correctly implemented and protected.
  • Weakest link. The overall security of an encryption implementation should be based on the security of the weakest link. Understanding the weakest link in any encryption technology is therefore the most important aspect of evaluating an encryption implementation. In many environments users are the weakest link, and it is critical to complement the technical measures that protect data on mobile PCs with appropriate user education and training.
  • Usability vs. security. In fact, no encryption solution is perfect. All such solutions can be attacked via brute force—the issue is how long it takes to successfully mount such an attack. Effective implementations tend to be more or less equivalent to the strength of the underlying encryption technology. However, cryptographic strength is often not the most important factor. Other factors, such as user interaction, are very important. Security measures can almost always be increased until it will be difficult for users to access their data, but the degree of difficulty should be carefully analyzed to determine whether it is worth the cost to the organization. You do not want to implement a solution that is so complex to use that your users decide to use pencil and paper instead!

Attack Difficulty

Not all attacks against an encryption solution are equal. As stated earlier, a smart attacker will often attack the weakest link. To estimate the security level of an encryption solution, you can list the possible attacks against the encryption technologies that it implements and then rate the attacks by difficulty.

A low-difficulty attack is one in which no resources are required to read the data of interest. In other words, this type of attack would describe a situation in which an attacker only has to raise the lid of the laptop computer and start reading. The difficulty of an attack is frequently linked to context and other factors of a particular solution.

Understanding Data Risks

The goal of an encryption solution is to encrypt all important data so that no attacker—casual or determined, novice or expert—can access the data as plaintext. However, encryption solutions can be subverted through massive application of resources, by finding an unknown flaw in a specific encryption technology, or simply by user error. Encryption technologies have unique risk characteristics that are based on their design and implementation decisions and on how they are used. Some potential risks are listed in the following subsections and referenced in the scenario descriptions later in this guide. Remember, not every listed risk will apply to every organization. You should consider mitigating those risks that apply to your organization after you determine which of them are significant and warrant appropriate action.

Computer Left in Hibernation

Most laptop computers have a feature called hibernation that allows users to shut down the computers so that they do not use any power but then restart in exactly the same state they were in prior to hibernation. However, leaving the computer in unsecured hibernation mode means that an attacker could have unlimited access to all information on the computer. As with sleep mode, computers can be configured to prompt for user credentials when they resume from hibernation mode. Details about how to enable this setting can be found in To password-protect your computer during standby or hibernation, which is part of the online Windows XP Professional Product documentation.

Important Microsoft strongly recommends that you require the use of credentials to unlock a computer from hibernation mode.

Computer Left in Sleep (Standby) Mode

It is possible that a laptop computer will be configured so that it does not prompt the user for a password or a smart card when it resumes from sleep mode, which means that the computer is effectively left turned on and available for use by anyone. Those users who configure their computers to use sleep mode are at the greatest risk if the computer does not require logon when it resumes from sleep mode. Details about how to enable this setting can be found in To password-protect your computer during standby or hibernation, which is part of the the online Windows XP Professional Product documentation.

Important Microsoft strongly recommends that you require the use of credentials to unlock a computer from sleep mode.

Computer Left Logged On and Desktop Unlocked

Very few encryption technologies will help if a computer is left in a public place while an authorized user is logged on. Some attacks might even succeed against a computer with a locked desktop. An attacker can simply pick up the computer, take it to a private place, and start reading or copying data from it. A few encryption technologies have options that require an external key every time a file is accessed, but the impact on usability is so dramatic that few organizations choose such a restrictive solution. A more common mitigation is the use of an external key or token, such as a smart card, with caching that allows the computer to retain an encrypted copy of the key to provide better usability.

Discover Local/Domain Password

An attacker who obtains a user's credentials might be able to gain access to encrypted data in one of two ways, depending on the encryption implementation: the credentials might be used to decrypt the material directly, or the credentials might be used to gain access to the key material through attacks on credentials that are cached or stored by the operating system.

In any security system, the weakest link of the encryption technology is usually the user’s password because user-selected passwords are typically much weaker than even the weakest keys used by common encryption algorithms. The author of Avoiding bogus encryption products: Snake Oil FAQ asserts that even a 20-character English phrase has only 40 bits of randomness instead of the 20x8=160 bits of randomness you might expect. An 8-character password would have much less than 40 bits of randomness, according to this author's opinion. However, even this scenario is not as much of a concern as someone who writes their password on a piece of paper and tapes it to their laptop—which effectively subverts any encryption solution that is based on a user password!

Note Attacks that discover the user's password through social engineering or other non-technical attack methods are outside the scope of this guide. Password discovery attacks are primarily considered to involve brute-force cryptographic attacks or other technical attacks against credential stores.

Insider Can Read Encrypted Data

This risk is different than previously discussed risks because the attacker is assumed to be a malicious insider instead of an outsider. This risk calls attention to the fact that some encryption technologies, especially per-computer encryption as described in the following section, allow access to encrypted data by any user who can successfully log on to the computer. The user account could be local to the computer or a network user account (for example, an account in the Active Directory® directory service), and the logon could be local or over the network.

Key Discovery through Offline Attack

In this type of attack, the attacker mounts a disk with encrypted data into a different or modified operating system. With detailed knowledge of the implementation, the attacker can attempt to isolate the keys used to encrypt data and attempt a brute-force attack on the storage mechanism used for the keys. The rule of least effort applies in this type of attack, and the attacker will attempt to isolate and attack the weakest link in the storage mechanism. Brute-force attacks on even moderately strong keys are very difficult and require extraordinary amounts of computational resources. If the encryption solution is implemented well enough so that a brute-force attack is the only option for the attacker, the data security goals of the organization have probably been met.

Offline Attacks Against the Operating System

This type of attack attempts to modify or change system files or settings when the operating system is not running to make it easier to access encrypted data. Such attacks are technically difficult and require a deep understanding of the operating system. In the context of a full-volume encryption technology, one possible attack is that an attacker can change some encrypted data on disk in the hope that it changes a single registry value or hard-coded value in an operating system executable that makes the computer less secure.

Online Attacks Against the Operating System

This type of attack attempts to subvert protections in the operating system while it is running. Examples include escalation of privilege attacks or attempts to execute code remotely. If an attacker can successfully complete this type of attack, they can recover encrypted data by running code of their choice on the computer.

Plaintext Data Found on Computer

The existence of plaintext confidential data is a basic risk that any encryption solution must mitigate. Almost all encryption solutions mitigate this risk unless the encryption algorithm they use can be broken with little or no effort. Both of the Microsoft encryption technologies discussed in this guide use industry-accepted encryption algorithms, so this risk is assumed to be mitigated in general for each analyzed option. However, in some situations, the encryption technology might not get applied to a specific file that contains confidential data. Many of the risk discussions in the rest of this guide describe such situations.

Plaintext Data Leaks through Hibernation File

Hibernation is similar to the concept of system paging, except that the computer takes a snapshot of all physical memory and writes this data to disk in a hibernation file. If any sensitive data is in physical memory at the time the snapshot is taken, it will be written to disk as part of the hibernation file. Like attacks on the paging file, attacks against the hibernation file are typically performed offline.

Plaintext Data Leaks through System Paging File

Modern operating systems provide large amounts of virtual memory to applications by swapping data in memory that is not being used to a paging file stored on the hard disk drive. This functionality creates a risk, however, because an application running on the computer may load encrypted data from disk, decrypt it in memory for use, and then write it as unencrypted data to the hard disk drive in the form of a paging file. Some operating systems delete the page file during shutdown operations, but there are known ways to prevent the deletion of the page file (including causing the operating system to crash). Also, it might be trivial to undelete the pagefile and explore its contents. Attacks against the paging file almost always include removing the hard disk drive from the target computer and mounting it on another computer or else booting another operating system on the target computer. These attacks are known as offline attacks.

Note Sensitive material such as cryptographic keys may leak through other operating system or application cache mechanisms, including temporary files written to disk. The measures described in the Data Encryption Toolkit for Mobile PCs focus on mitigating the risk of data leakage through the system paging file but might also mitigate leaks from other application-specific caching mechanisms.

Platform Attacks

Some attacks target hardware or software features of a particular platform. For example, some attacks use the direct memory access (DMA) feature offered by the IEEE 1394 (FireWire) interface to attempt to read or write to system memory without notice of the operating system. Other attacks include the possibility of DMA–based memory access performed by an active PCI device and attacks that exploit features or vulnerabilities in PCI and RAM bus bridge chips. The costs of implementing these attacks have historically been quite significant, but they are decreasing as the required techniques and equipment become more widely available.

Required Authentication Factor Left with Computer

This risk applies to encryption technologies that can use an external device, such as a smart card or a USB device, to store encryption keys. Users who are unaware of the security risk of doing so may become careless and leave the device attached to their computer or stored in the same piece of luggage. Because this is a common scenario, most organizations will not rely on a single physical factor for their encryption solution. (This risk also applies to users who note PINs or pass phrases on paper, but such behavior should primarily be addressed through user education and is not addressed in this guidance.)

User Error

Users do not always understand everything about the technology they use or pay as much attention to policies as IT administrators would prefer. This risk includes users who don't do what they should because they don't know how to turn on encryption, because they forget to encrypt a particular file, or because they do not pay attention to data security policies.

Data Protection Approaches

The design and implementation of data protection technology involves choices that affect security, usability, and operational management of the technology when it is deployed. Although it is not comprehensive, a discussion of the technologies in the following list will help you understand the material presented in this guide. These data protection technologies include:

  • Software–based encryption
  • Hardware–based encryption
  • Pre-boot (pre-operating system) encryption
  • Post-boot (operating system) encryption
  • Application-level encryption
  • File/folder level encryption
  • Full-volume encryption
  • Per-user encryption
  • Per-computer encryption

Software–based Encryption

Software–based encryption is the standard for most data protection technologies and products. The alternative, hardware–based encryption, requires specialized cryptographic hardware that historically has not been commonly available on personal computers. With software–based encryption, cryptographic operations are performed in the computer's CPU. When the computer is turned off, hibernating, or sleeping, encryption keys are typically stored in encrypted form on disk. A typical option is to store an initial key separate from the computer, for example on a USB device, which is used to decrypt the stored key material. When the computer is operating, encryption keys are usually stored in memory.

The strengths of software–based encryption include:

  • The ability to update and revise the implementation. Software–based encryption technologies can be updated at any time to fix implementation flaws, add new capabilities, or take advantage of new algorithms.
  • No special hardware requirements. Because they require no special hardware, technologies that rely on software–based encryption can typically be applied to all computers in the organization.

The weaknesses and issues of software–based encryption include:

  • Software weaknesses. In implementations that rely only on software, the software might be attacked in an attempt to subvert its intended secure mode of operation. A typical attack would be to change the operating system binary files in a way that prevents encryption, manipulates the keys in some way, or significantly weakens the encryption operation.
  • Key discovery. If any encryption key is stored on the computer, an attack could discover the key value. The important thing to understand is how the key is protected. If the key is decrypted using only other key material that is stored on the same computer, assume that a determined and skilled attacker could discover the key.

Hardware–based Encryption

Some encryption mechanisms leverage special cryptographic hardware to isolate cryptographic operations from the main CPU and to provide increased security for key storage. Such hardware usually includes a means of securely storing one or more cryptographic keys, and might also include functions for performing cryptographic operations in hardware so that the key is never made available to other hardware or software components.

The strengths of hardware–based encryption include:

  • Encryption keys are protected from software and operating system vulnerabilities. Hardware–based encryption typically ensures that private portions of key pairs are separated from the memory that is controlled by the operating system.
  • Cryptographic operations are protected from software and operating system vulnerabilities. Hardware–based encryption is independent of the host operating system and is not exposed to external software vulnerabilities.

The weaknesses and issues of hardware–based encryption include:

  • Limited availability. Encryption hardware is not always available. For example, the TPM module used by BitLocker cannot be retrofitted to older computers and is not universally available on newer computers.
  • Difficult to update. If a flaw is found in a hardware–based system, it generally must be replaced. The same is true if the manufacturer wants to add new features or support for new algorithms to the hardware.

Pre-boot (Pre-Operating System) Encryption

BIOS-level firmware can be added to computers so that all data written to a hard disk volume is encrypted and all data read from the disk is decrypted. This operation can be transparent to the operating system and can therefore be applied to the operating system files.

If cryptographic hardware such as a TPM is available, it can be used to make the pre-boot encryption and decryption more secure. Computers that incorporate a TPM can also create a key that is both encrypted and tied to certain platform measurements such as the Master Boot Record (MBR) Code, the NTFS Boot Sector, the NTFS Boot Block, and the NTFS Boot Manager. This type of key can only be decrypted when those platform measurements have the same values that they had when the key was created. This process is called sealing the key to the TPM, and decrypting it is called unsealing.

The TPM can also seal and unseal data generated outside of the TPM. The practical effect of this feature is that the ability to unwrap the key can depend on whether certain characteristics of the platform have changed, supposedly through malicious tampering that attempts to defeat security measures such as encryption.

Because encryption is applied to the operating system files, the key to decrypt these files must be supplied prior to the operating system boot sequence. The key might vary across different solutions and might be derived from a personal identification number (PIN) or a key stored on a hardware device such as a USB token or smart card.

The strengths of pre-boot encryption include:

  • Operating system files are protected against offline attack. All system and configuration files are protected by the full-volume encryption solution. Even if an attacker can mount a protected volume with a different operating system—an offline attack—they will not be able to do anything except make the operating system inoperable.
  • Increased protection for operating system files. Cryptographic hardware such as the TPM v1.2 with compatible BIOS upgrades provide the ability to validate the integrity of critical early boot components.

The weaknesses and issues of pre-boot encryption include:

  • Data recovery strategy is mandatory. Any failure of the BIOS, TPM, or key storage mechanism will make all data on the computer unreadable. Hardware failures are often more difficult to diagnose, triage, and repair than software failures. Repairs might take longer if hardware has to be returned to the manufacturer or repaired at an outside facility. An effective and reliable strategy for key backup and recovery must be developed and frequently tested.
  • Software updates may be more difficult. Because the operating system and other files are encrypted and validated against a signature, updating these files might require a special process. Such a requirement could lead to additional operational overhead for computers that use pre-boot encryption technology.

Post-boot (Operating System) Encryption

Post-boot encryption can be performed by the operating system or by any application running on the computer. EFS is an example of a post-boot encryption technology. It is built into the Windows operating system, and therefore cannot be used to encrypt the operating system itself. However, it is an effective means for protecting user and application data.

The strengths of post-boot encryption include:

  • Encryption failures do not make the computer unusable. Even if the encryption technology fails, the computer will still be usable. Therefore, it is possible to recover encrypted data without the use of a second computer.

The weaknesses and issues of post-boot encryption include:

  • No protection for operating system files and configuration. If the hard disk that contains confidential data is accessed while mounted on a different computer or while the mobile computer is booted into a different operating system, it may be possible to alter the original operating system in a way that allows the encryption to be subverted.
  • Data recovery strategy is mandatory. Any failure of the operating system or application software could render protected data unreadable. An effective and reliable strategy for key backup and recovery must be developed and frequently tested.

Application-level Encryption

Encryption can also be implemented outside of the BIOS or operating system levels and performed at the application level. Many applications today offer some capability to encrypt data, including WinZip, Microsoft Office, and Intuit Quicken.

The strengths of application-level encryption include:

  • Platform independence. If the application runs on different operating systems, application-encrypted data can usually be moved from one platform to another and still be decrypted if the correct key is present.
  • Move data while encrypted. When data is encrypted at the operating system level, it is usually decrypted when file system operations such as copy and move are performed. If the target folder or system is configured for encryption, the data might be encrypted with a completely different set of keys. Application-level encryption usually allows the user to move the data in its original encrypted form to another location.

The weaknesses and issues of application-level encryption include:

  • Application dependence. Data moved from one application's format or container to another format or container cannot generally maintain the encryption. For example, a user can extract a file from an encrypted WinZip archive, and the extracted file will be decrypted. If the user does not delete the file when they finish with it, the data could be compromised.

File/Folder Level Encryption

File and folder level encryption is a way to protect certain files and folders and the data they contain. With such a solution, only those files specifically configured to be encrypted are protected. All other data on the computer is unencrypted. A typical approach to file/folder level encryption is to create a unique encryption key for each file or folder. This approach has the added benefit of making it possible to implement per-user encryption as described later in this chapter.

The strengths of well-implemented file/folder level encryption include:

  • Better performance than full-volume encryption. Computer performance should not be drastically affected. However, some effect on system performance will inevitably result. File/folder encryption reduces the overall performance impact of encryption because the additional overhead is only applicable to those files that need to be encrypted to satisfy the organization's data security policy.
  • Selective encryption. The precise controls of such a solution will allow users to only encrypt sensitive data and allow administrators to force or block encryption of specific folders, files, or data types.
  • Support for multiple users. File owners can allow additional users to read or modify the file while keeping it encrypted. This capability allows encrypted files to be safely shared among users.

The weaknesses of file/folder level encryption include:

  • Confidential data might leak through files generated by the operating system or applications. Typically, the operating system writes application data contained in memory to files on disk. This application data can contain confidential data. In the Windows operating system, these files include the system paging file and the hibernation file. The operating system might also generate log files or other innocuous file types that could contain confidential data.
  • Confidential data might leak through application-level data caching. Applications might implement their own caching or logging mechanisms, such as temporary files, through which confidential data could leak. A good example is the recovery files that get created by Microsoft Word. This weakness can be mitigated to some extent by configuring the application to always create temporary files in a specific directory and then configuring the encryption solution to encrypt all files in that folder.
  • Files may be accidentally copied to an unencrypted file or folder. Because only certain files and folders are encrypted, it is possible that a user might inadvertently copy a file’s contents to a different file in a folder that is not configured for encryption.

Full-Volume Encryption

Full-volume encryption complements file/folder level encryption by mitigating common problems with file/folder-level encryption. If the volume to be protected contains operating system files, pre-boot encryption is a requirement for the full-volume encryption approach. If an organization chooses to configure a full-volume encryption solution that does contain operating system files, the weaknesses and strengths of pre-boot encryption should be considered.

The following main strengths of full-volume encryption are primarily mitigations to the file/folder level encryption weaknesses described earlier.

  • Operating system temporary files are encrypted. Because the full volume is encrypted, any files that are written to the volume are automatically encrypted, including the system paging file and the hibernation file.
  • Application temporary files are encrypted. Any temporary files that are created by an application are written to the encrypted volume and are therefore automatically encrypted.
  • All files created by the user are automatically encrypted. If the user copies a file to a different folder on the volume, it will still be encrypted automatically. With full-volume encryption it is much harder for the user to mistakenly subvert the encryption solution.

The weaknesses and issues of full-volume encryption include:

  • Reduced performance. Every block on a protected volume must be decrypted when it is read, and if it is written back to disk it needs to be encrypted again. This functionality applies to the operating system's executable and configuration files, application executable and configuration files, and all data files. Although modern encryption is relatively efficient, system performance degradation of 5 to 15 percent can be expected with full-volume encryption.
  • Limited protection against insider attacks. Full-volume encryption provides protection against a variety of offline attacks, but generally provides limited protection against attacks mounted by malicious insiders who typically have (or can gain) the ability to log on to a target computer with a legitimate account.

Per-User Encryption

Encryption can be implemented in such a way that multiple users have the ability to decrypt the keys that are needed to encrypt and decrypt the data files on the computer using their own unique key, which might be a password or a key stored on a USB or similar device. When this approach is combined with individually keyed file/folder level encryption, it is possible to provide access to individual users on a file-by-file basis.

The strengths of per-user encryption include:

  • Precise control over who can read encrypted data. Other users of the computer cannot read encrypted data unless specifically granted that ability by the owner of the file. This functionality provides a level of access control as well as data confidentiality.
  • The ability to selectively encrypt only sensitive data. With a properly implemented per-user encryption system, you can select exactly which files and folders are protected.
  • The ability to encrypt files for multiple users. A properly implemented per-user encryption system allows a file owner to encrypt a single file for multiple users, enabling sharing while maintaining good security. In addition, this functionality can be used to implement data recovery by allowing an authorized recovery agent to decrypt protected files.

The weaknesses and issues of per-user encryption include:

  • Only secure as weakest key/credential. With this approach, each encryption/decryption key must be encrypted with multiple keys (one for each unique user). Each encrypted key can be attacked separately by an attacker who is looking for one key that is particularly weak, especially when local logon, network logon, or non-logon passwords are used to derive key material.

Per-Computer Encryption

Some data encryption implementations do not provide the ability for different users, each with a different key or password, to decrypt the master key(s) needed to decrypt data on the computer. In such an implementation there is exactly one key that can be used to access the computer, including all encrypted data.

The strengths of per-computer encryption include:

  • Simpler key derivation sequence. If only one key can be used to initiate the key derivation sequence, the entire mechanism is substantially less complicated. Reduced complexity can—but will not always—lead to increased security.

The weaknesses and issues of per-computer encryption include:

  • No protection against malicious insiders. Any user who is allowed by policy to log on to the protected computer can access any file on the computer in unencrypted form.

More Information

This accelerator is part of a larger series of tools and guidance from Solution Accelerators.

Download

Get the Data Encryption Toolkit for Mobile PCs

Update Notifications

Sign up to learn about updates and new releases

Feedback

Send us your comments or suggestions