The Encrypting File System
By Roberta Bragg
On This Page
An Overview of the Encrypting File System
What EFS Is
Basic How-tos
Planning for and Recovering Encrypted Files: Recovery Policy
How EFS Works
Key Differences Between EFS on Windows 2000, Windows XP, and Windows Server 2003
Misuse and Abuse of EFS and How to Avoid Data Loss or Exposure
Remote Storage of Encrypted Files Using SMB File Shares and WebDAV
Best Practices for SOHO and Small Businesses
Enterprise How-tos
Troubleshooting
Radical EFS: Using EFS to Encrypt Databases and Using EFS with Other Microsoft Products
Disaster Recovery
Overviews and Larger Articles
Summary
An Overview of the Encrypting File System
The Encrypting File System (EFS) is a component of the NTFS file system on Windows 2000, Windows XP Professional, and Windows Server 2003. (Windows XP Home doesn't include EFS.) EFS enables transparent encryption and decryption of files by using advanced, standard cryptographic algorithms. Any individual or program that doesn't possess the appropriate cryptographic key cannot read the encrypted data. Encrypted files can be protected even from those who gain physical possession of the computer that the files reside on. Even persons who are authorized to access the computer and its file system cannot view the data. While other defensive strategies should be used, and encryption isn't the correct countermeasure for every threat, encryption is a powerful addition to any defensive strategy. EFS is the built-in file encryption tool for Windows file systems.
However, every defensive weapon, if used incorrectly, carries the potential for harm. EFS must be understood, implemented appropriately, and managed effectively to ensure that your experience, the experience of those to whom you provide support, and the data you wish to protect aren't harmed. This document will
Provide an overview and pointers to resources on EFS.
Point to implementation strategies and best practices.
Name the dangers and counsel mitigation and prevention from harm.
Many online and published resources on EFS exist. The major sources of information are the Microsoft resource kits, product documentation, white papers, and Knowledge Base articles. This paper provides a brief overview of major EFS issues. Wherever possible, it doesn't rework existing documentation; rather, it provides links to the best resources. In short, it maps the list of desired knowledge and instruction to the actual documents where they can be found. In addition, the paper catalogs the key elements of large documents so that you'll be able to find the information you need without having to work your way through hundreds of pages of information each time you have a new question.
The paper discusses the following key EFS knowledge areas:
What EFS is
Basic how-tos, such as how to encrypt and decrypt files, recover encrypted files, archive keys, manage certificates, and back up files, and how to disable EFS
How EFS works and EFS architecture and algorithms
Key differences between EFS on Windows 2000, Windows XP, and Windows Server 2003
Misuse and abuse of EFS and how to avoid data loss or exposure
Remote storage of encrypted files using SMB file shares and WebDAV
Best practices for SOHO and small businesses
Enterprise how-tos: how to implement data recovery strategies with PKI and how to implement key recovery with PKI
Troubleshooting
Radical EFS: using EFS to encrypt databases and using EFS with other Microsoft products
Disaster recovery
Where to download EFS-specific tools
Using EFS requires only a few simple bits of knowledge. However, using EFS without knowledge of best practices and without understanding recovery processes can give you a mistaken sense of security, as your files might not be encrypted when you think they are, or you might enable unauthorized access by having a weak password or having made the password available to others. It might also result in a loss of data, if proper recovery steps aren't taken. Therefore, before using EFS you should read the information links in the section "Misuse and Abuse of EFS and How to Avoid Data Loss or Exposure." The knowledge in this section warns you where lack of proper recovery operations or misunderstanding can cause your data to be unnecessarily exposed. To implement a secure and recoverable EFS policy, you should have a more comprehensive understanding of EFS.
What EFS Is
You can use EFS to encrypt files stored in the file system of Windows 2000, Windows XP Professional, and Windows Server 2003 computers. EFS isn't designed to protect data while it's transferred from one system to another. EFS uses symmetric (one key is used to encrypt the files) and asymmetric (two keys are used to protect the encryption key) cryptography. An excellent primer on cryptography is available in the Windows 2000 Resource Kit as is an introduction to Certificate Services. Understanding both of these topics will assist you in understanding EFS.
A solid overview of EFS and a comprehensive collection of information on EFS in Windows 2000 are published in the Distributed Systems Guide of the Windows 2000 Server Resource Kit. This information, most of which resides in Chapter 15 of that guide, is published online at https://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/default.mspx. (On this site's page, use the TOC to go to the Distributed Systems Guide, Distributed Security, Encrypting File System.)
There are differences between EFS in Windows 2000, Windows XP Professional, and Windows Server 2003. The Windows XP Professional Resource Kit explains the differences between Windows 2000 and Windows XP Professionals implementation of EFS, and the document "Encrypting File System in Windows XP and Windows Server 2003" (https://www.microsoft.com/technet/prodtechnol/winxppro/deploy/cryptfs.mspx) details Windows XP and Windows Server 2003 modifications. The section below, "Key Differences between EFS on Windows 2000, Windows XP, and Windows Server 2003," summarizes these differences.
The following are important basic facts about EFS:
EFS encryption doesn't occur at the application level but rather at the file-system level; therefore, the encryption and decryption process is transparent to the user and to the application. If a folder is marked for encryption, every file created in or moved to the folder will be encrypted. Applications don't have to understand EFS or manage EFS-encrypted files any differently than unencrypted files. If a user attempts to open a file and possesses the key to do so, the file opens without additional effort on the user's part. If the user doesn't possess the key, they receive an "Access denied" error message.
File encryption uses a symmetric key, which is then itself encrypted with the public key of a public key encryption pair. The related private key must be available in order for the file to be decrypted. This key pair is bound to a user identity and made available to the user who has possession of the user ID and password. If the private key is damaged or missing, even the user that encrypted the file cannot decrypt it. If a recovery agent exists, then the file may be recoverable. If key archival has been implemented, then the key may be recovered, and the file decrypted. If not, the file may be lost. EFS is an excellent file encryption system—there is no "back door."
File encryption keys can be archived (e.g. exported to a floppy disk) and kept in a safe place to ensure recovery should keys become damaged.
EFS keys are protected by the user's password. Any user who can obtain the user ID and password can log on as that user and decrypt that user's files. Therefore, a strong password policy as well as strong user education must be a component of each organization's security practices to ensure the protection of EFS-encrypted files.
EFS-encrypted files don't remain encrypted during transport if saved to or opened from a folder on a remote server. The file is decrypted, traverses the network in plaintext, and, if saved to a folder on the local drive that's marked for encryption, is encrypted locally. EFS-encrypted files can remain encrypted while traversing the network if they're being saved to a Web folder using WebDAV. This method of remote storage isn't available for Windows 2000.
EFS uses FIPS 140-evaluated Microsoft Cryptographic Service Providers (CSP—components which contain encryption algorithms for Microsoft products).
Basic How-tos
How to Encrypt and Decrypt Files, Recover Encrypted Files, Archive Keys, Manage Certificates, Back Up Files; and Disable EFS
EFS functionality is straightforward, and you can find step-by-step instructions in many documents online. Links to specific articles for each possible EFS function, as well as some documents which summarize multiple functionality, follow. If the document is a Knowledge Base article, the Knowledge Base number appears in parentheses after the article title.
Encrypting and Decrypting
The process of encrypting and decrypting files is very straightforward, but its important to decide what to encrypt and to note differences in EFS based on the operating system.
"Encrypting Files in Windows 2000" (222054) explains setting folder encryption. Remember, once a folder is marked for encryption, it isn't necessary to manually mark for encryption the files placed within it.
"HOW TO: Encrypt a File in Windows XP" (307877) includes error messages and warnings that a user may get when attempting to open files encrypted by another.
Folders aren't encrypted; however, setting the folder property to "encrypt" does mean that all files placed in the folder will be automatically encrypted "HOW TO: Encrypt a Folder in Windows XP" (308989) tells how to set the property.
"HOW TO: Remove File Encryption in Windows XP" (308993) tells how to decrypt a file by removing the file encryption property.
Sharing Encrypted Files
The GUI for sharing encrypted files is available only in Windows XP and Windows Server 2003.
- "HOW TO: Share Access to an Encrypted File in Windows XP" (308991) introduces the methodology by which encrypted files can be shared. You can find a short description, including screen shots, in the "5-Minute Security Advisor—Using the Encrypting File System." Remember: sharing encrypted files is a facility that only Windows XP and Windows Server 2003 have.
Planning for and Recovering Encrypted Files: Recovery Policy
A recovery policy can be an organization's security policy instituted to plan for proper recovery of encrypted files. It's also the policy enforced by Local Security Policy Public Key Policy or Group Policy Public Key Policy. In the latter, the recovery policy specifies how encrypted files may be recovered should the user private key be damaged or lost and the encrypted file unharmed. Recovery certificate(s) are specified in the policy. Recovery can be either data recovery (Windows 2000, Windows XP Professional, and Windows Server 2003) or key recovery (Windows Server 2003 with Certificate Services). Windows 2000 EFS requires the presence of a recovery agent (no recovery agent, no file encryption), but Windows XP and Windows Server 2003 don't. By default, Windows 2000 and Windows Server 2003 have default recovery agents assigned. Windows XP Professional doesn't.
The data recovery process is simple. The user account bound to the recovery agent certificate is used to decrypt the file. The file should then be delivered in a secure manner to the file owner, who may then encrypt the file. Recovery via automatically archived keys is available only with Windows Server 2003 Certificate Services. Additional configuration beyond the installation of Certificate Services is required. In either case, it's most important that a written policy and procedures for recovery are in place. These procedures, if well written and if followed, can ensure that recovery keys and agents are available for use and that recovery is securely carried out. Keep in mind that there are two definitions for "recovery policy." The first definition refers to a written recovery policy and procedures that describe the who, what, where, and when of recovery, as well as what steps should be taken to ensure recovery components are available. The second definition, which is often referred to in the documents below, is the Public Key Policy that's part of the Local Security Policy on stand-alone systems, or Group Policy in a domain. It can specify which certificates are used for recovery, as well as other aspects of Public Key Policies in the domain. You can find more information in the following documents:
Windows XP and Windows Server 2003 documentation includes steps "To Add a Recovery Agent for a Domain."
A "Five-Minute Security Advisor—Recovering Encrypted Data Using EFS" explains the importance of backing up encrypted files and EFS keys as well as the basics of recovery.
"HOW TO: Back Up the Recovery Agent Encrypting File System Private Key in Windows 2000" (241201) explains how archiving the private key of the recovery agent ensures that it will be available to recover EFS files that are protected by it.
User and recovery agent private keys should be archived.
If the recovery private key is corrupt or lost, you can create a new Enterprise Data Recovery Policy in Windows 2000. Use the article "HOW TO: Reinitialize the EDRP on a Workgroup Computer Running Windows 2000" (257705) to do so. However, you should realize that this won't allow you to recover previously encrypted files. If a backup of the previous recovery agent certificate and private key is available, those keys should be used. If a new policy is implemented, currently encrypted files should be decrypted and re-encrypted so that the new recovery agent certificate can be used and thus the files will be recoverable.
Information on the existence of a recovery agent under the control of an administrator is mentioned in" Methods for Recovering Encrypted Data Files"(255742).
Instructions on using Ntbackup to back up encrypted files, as well as information on system configuration and how to use Ntbackup to restore these files, are discussed in "HOW TO: Use Ntbackup to Recover an Encrypted File or Folder in Windows 2000" (313277).
The first step in recovery is determining the recovery agent. "Using Efsinfo.exe to Determine Information About Encrypted Files" (243026) describes how to do this using the Windows 2000 Resource Kit tool, esfinfo.exe. The Advanced file properties of encrypted files in Windows XP and Windows Server 2003 display this information automatically.
"The Local Administrator Is Not Always the Default Encrypting File System Recovery Agent" (255026) explains why the first account defined (during installation) in a Windows 2000 Professional computer becomes the recovery agent.
Disabling or Preventing Encryption
You may decide that you don't wish users to have the ability to encrypt files. By default, they do. You may decide that specific folders shouldn't contain encrypted files. You may also decide to disable EFS until you can implement a sound EFS policy and train users in proper procedures. There are different ways of disabling EFS depending on the operating system and the desired effect:
System folders cannot be marked for encryption. EFS keys aren't available during the boot process; thus, if system files were encrypted, the system file couldn't boot. To prevent other folders being marked for encryption, you can mark them as system folders. If this isn't possible, then a method to prevent encryption within a folder is defined in "Encrypting File System."
NT 4.0 doesn't have the ability to use EFS. If you need to disable EFS for Windows 2000 computers joined to a Windows NT 4.0 domain, see "Need to Turn Off EFS on a Windows 2000-Based Computer in Windows NT 4.0-Based Domain" (288579). The registry key mentioned can also be used to disable EFS in Window XP Professional and Windows Server 2003.
Disabling EFS for Windows XP Professional can also be done by clearing the checkbox for the property page of the Local Security Policy Public Key Policy. EFS can be disabled in XP and Windows Server 2003 computers joined in a Windows Server 2003 domain by clearing the checkbox for the property pages of the domain or organizational unit (OU) Group Policy Public Key Policy.
"HOW TO: Disable/Enable EFS on a Stand-Alone Windows 2000-Based Computer" (243035) details how to save the recovery agent's certificate and keys when disabling EFS so that you can enable EFS at a future date.
"HOW TO: Disable EFS for All Computers in a Windows 2000-Based Domain" (222022) provides the best instruction set and clearly defines the difference between deleted domain policy (an OU-based policy or Local Security Policy can exist) versus Initialize Empty Policy (no Windows 2000 EFS encryption is possible throughout the domain).
Special Operations
Let enough people look at anything, and you'll find there are questions that are just not answered by existing documentation or options. A number of these issues, third-party considerations, and post introduction issues can be resolved by reviewing the following articles.
Specifications for the use of a third-party Certification Authority (CA) can be found at "Third-Party Certification Authority Support for Encrypting File System" (273856). If you wish to use third-party CA certificates for EFS, you should also investigate certificate revocation processing. Windows 2000 EFS certificates aren't checked for revocation. Windows XP and Windows Server 2003 EFS certificates are checked for revocation in some cases, and third-party certificates may be rejected. Information about certificate revocation handling in EFS can be found in the white paper "Encrypting File System in Windows XP and Windows Server 2003".
When an existing plaintext file is marked for encryption, it's first copied to a temporary file. When the process is complete, the temporary file is marked for deletion, which means portions of the original file may remain on the disk and could potentially be accessible via a disk editor. These bits of data, referred to as data shreds or remanence, may be permanently removed by using a revised version of the cipher.exe tool. The tool is part of Service Pack 3 (SP3) for Windows 2000 and is included in Windows Server 2003. Instructions for using the tool, along with the location of a downloadable version, can be found in "HOW TO: Use Cipher.exe to Overwrite Deleted Data in Windows" (315672) and in "Cipher.exe Security Tool for the Encrypting File System" (298009).
How to make encrypted files display in green in Windows Explorer is explained in "HOW TO: Identify Encrypted Files in Windows XP" (320166).
"How to Enable the Encryption Command on the Shortcut Menu" (241121) provides a registry key to modify for this purpose.
You may wish to protect printer spool files or hard copies of encrypted files while they're printing. Encryption is transparent to the printing process. If you have the right (possess the key) to decrypt the file and a method exists for printing files, the file will print. However, two issues should concern you. First, if the file is sensitive enough to encrypt, how will you protect the printed copy? Second, the spool file resides in the <system root>\system32\Spool\Printers folder. How can you protect it while its there? You could encrypt that folder, but that would slow printing enormously. The Windows 2000 Resource Kit proposes a separate printer for the printing of these files and how to best secure that printer in the Distributed Systems, Distributed Security, Encrypting Files System, Printing EFS Files section.
How EFS Works
EFS Architecture and Algorithms
To understand EFS, and therefore anticipate problems, envision potential attacks, and troubleshoot and protect EFS-encrypted files, you should understand the architecture of EFS and the basic encryption, decryption, and recovery algorithms. Much of this information is in the Windows 2000 Resource Kit Distributed Systems Guide, the Windows XP Professional Resource Kit, and the white paper, "Encrypting File System in Windows XP and Windows Server 2003." Many of the algorithms are also described in product documentation. The examples that follow are from the Windows XP Professional Resource Kit:
A straightforward discussion of the components of EFS, including the EFS service, EFS driver, and the File System Run Time Library, is found in "Components of EFS," a subsection of Chapter 17, "Encrypting File System" in the Windows XP Professional Resource Kit.
A description of the encryption, decryption, and recovery algorithms EFS uses is in the Resource Kit section "How Files Are Encrypted." This section includes a discussion of the file encryption keys (FEKs) and file Data Recovery Fields and Data Decryption Fields used to hold FEKs encrypted by user and recovery agent public keys.
"Working with Encryption" includes how-to steps that define the effect of decisions made about changing the encryption properties of folders. The table defines what happens for each file (present, added later, or copied to the folder) for the choice "This folder only" or the option "This folder, subfolders and files."
"Remote EFS Operations on File Shares and Web Folders" defines what happens to encrypted files and how to enable remote storage.
Key Differences Between EFS on Windows 2000, Windows XP, and Windows Server 2003
EFS was introduced in Windows 2000. However, there are differences when compared with Windows XP Professional EFS and Windows Server 2003 EFS, including the following:
You can authorize additional users to access encrypted files (see the section "Sharing Encrypted Files", above). In Windows 2000, you can implement a programmatic solution for the sharing of encrypted files; however, no interface is available. Windows XP and Windows Server 2003 have this interface.
Offline files can be encrypted. See "HOW TO: Encrypt Offline Files to Secure Data in Windows XP."
Data recovery agents are recommended but optional. XP doesn't automatically include a default recovery agent. XP will take advantage of an existing Windows 2000 domain-level recovery agent if one is present, but the lack of a domain recovery agent won’t prevent encryption of files on an XP system. A self-signed recovery agent certificate can be requested by using the cipher /R:filename command, where filename is the name that will be used to create a *.cer file to hold the certificate and a *.pfx file to hold the certificate and private key.
The Triple DES (3DES) encryption algorithm can be used to replace Data Encryption Standard X (DESX), and after XP SP1, Advanced Encryption Standard (AES) becomes the default encryption algorithm for EFS.
For Windows XP and Windows Server 2003 local accounts, a password reset disk can be used to safely reset a user's password. (Domain passwords cannot be reset using the disk.) If an administrator uses the "reset password" option from the user's account in the Computer Management console users container, EFS files won't be accessible. If users change the password back to the previous password, they can regain access to encrypted files. To create a password reset disk and for instructions about how to use a password reset disk, see product documentation and/or the article "HOW TO: Create and Use a Password Reset Disk for a Computer That Is Not a Domain Member in Windows XP" (305478).
Encrypted files can be stored in Web folders. The Windows XP Professional Resource Kit section "Remote EFS Operations in a Web Folder Environment" explains how.
Windows Server 2003 incorporates the changes introduced in Windows XP Professional and adds the following:
A default domain Public Key recovery policy is created, and a recovery agent certificate is issued to the Administrator account.
Certificate Services include the ability for customization of certificate templates and key archival. With appropriate configuration, archival of user EFS keys can be instituted and recovery of EFS-encrypted files can be accomplished by recovering the user's encryption keys instead of decrypting via a file recovery agent. A walk-through providing a step-by-step configuration of Certificate Services for key archival is available in "Certificate Services Example Implementation: Key Archival and Recovery."
Windows Server 2003 enables users to back up their EFS key(s) directly from the command line and from the details property page by clicking a "Backup Keys" button.
Misuse and Abuse of EFS and How to Avoid Data Loss or Exposure
Unauthorized persons may attempt to obtain the information encrypted by EFS. Sensitive data may also be inadvertently exposed. Two possible causes of data loss or exposure are misuse (improper use of EFS) or abuse (attacks mounted against EFS-encrypted files or systems where EFS-encrypted files exist).
Inadvertent Problems Due to Misuse
Several issues can cause problems when using EFS. First, when improperly used, sensitive files may be inadvertently exposed. In many cases this is due to improper or weak security policies and a failure to understand EFS. The problem is made all the worse because users think their data is secure and thus may not follow usual precautionary methods. This can occur in several scenarios:
If, for example, users copy encrypted files to FAT volumes, the files will be decrypted and thus no longer protected. Because the user has the right to decrypt files that they encrypted, the file is decrypted and stored in plaintext on the FAT volume. Windows 2000 gives no warning when this happens, but Windows XP and Windows Server 2003 do provide a warning.
If users provide others with their passwords, these people can log on using these credentials and decrypt the user's encrypted files. (Once a user has successfully logged on, they can decrypt any files the user account has the right to decrypt.)
If the recovery agent's private key isn't archived and removed from the recovery agent profile, any user who knows the recovery agent credentials can log on and transparently decrypt any encrypted files.
By far, the most frequent problem with EFS occurs when EFS encryption keys and/or recovery keys aren't archived. If keys aren't backed up, they cannot be replaced when lost. If keys cannot be used or replaced, data can be lost. If Windows is reinstalled (perhaps as the result of a disk crash) the keys are destroyed. If a user's profile is damaged, then keys are destroyed. In these, or in any other cases in which keys are damaged or lost and backup keys are unavailable, then encrypted files cannot be decrypted. The encryption keys are bound to the user account, and a new iteration of the operating system means new user accounts. A new user profile means new user keys. If keys are archived, or exported, they can be imported to a new account. If a revocation agent for the files exists, then that account can be used to recover the files. However, in many cases in which keys are destroyed, both user and revocation keys are absent and there is no backup, resulting in lost data.
Additionally, many other smaller things may render encrypted files unusable or expose some sensitive data, such as the following:
"EFS Files Appear Corrupted When You Open Them" (329741) explains that AES is used to encrypt files after XP SP1 has been installed. This means that these files cannot be decrypted if they're moved to a pre-XP SP1 computer or a Windows 2000 computer since the AES algorithm won't be available.
"EFS, Credentials, and Private Keys from Certificates Are Unavailable After a Password Is Reset" (290260).
"User Cannot Gain Access to EFS Encrypted Files After Password Change or When Using a Roaming Profile."
You can find instructions for using cipher.exe at "HOW TO: Use Cipher.exe to Overwrite Deleted Data in Windows" (315672), which introduces this new tool.
"Access Is Denied Error Message When Encrypting or Decrypting Files or Folders" (264064) may be the result when encrypting or attempting to encrypt system folders.
Don't encrypt system files. "Logon Process Hangs After Encrypting Files on Windows 2000," (269397) for example, explains that if you've encrypted a system file such as Autoexec.bat, the file cannot be decrypted because its processed before logon.
Finally, keeping data secure takes more than simply encrypting files. A systems-wide approach to security is necessary. You can find several articles that address best practices for systems security on the TechNet Best Practices page at https://www.microsoft.com/technet/archive/security/bestprac/bpent/sec2/secentbb.mspx. The articles include
"Security Considerations for Administrative Authority" discusses security in an enterprise
Attacks and Countermeasures: Additional Protection Mechanisms for Encrypted Files
Any user of encrypted files should recognize potential weaknesses and avenues of attack. Just as its not enough to lock the front door of a house without considering back doors and windows as avenues for a burglar, encrypting files alone isn't enough to ensure confidentiality.
Use defense in depth and use file permissions. The use of EFS doesn't obviate the need to use file permissions to limit access to files. File permissions should be used in addition to EFS. If users have obtained encryption keys, they can import them to their account and decrypt files. However, if the user accounts are denied access to the file, the users will be foiled in their attempts to gain this sensitive information.
Use file permissions to deny delete. Encrypted files can be deleted. If attackers cannot decrypt the file, they may choose to simply delete it. While they don't have the sensitive information, you don't have your file.
Protect user credentials. If an attacker can discover the identity and password of a user who can decrypt a file, the attacker can log on as that user and view the files. Protecting these credentials is paramount. A strong password policy, user training on devising strong passwords, and best practices on protecting these credentials will assist in preventing this type of attack. An excellent best practices approach to password policy can be found in the Windows Server 2003 product documentation. If account passwords are compromised, anyone can log on using the user ID and password. Once user have successfully logged on, they can decrypt any files the user account has the right to decrypt. The best defense is a strong password policy, user education, and the use of sound security practices.
Protect recovery agent credentials. Similarly, if an attacker can log on as a recovery agent, and the recovery agent private key hasn't been removed, the attacker can read the files. Best practices dictate the removal of the recovery agent keys, the restriction of this account's usage to recovery work only, and the careful protection of credentials, among other recovery policies. The sections about recovery and best practices detail these steps.
Seek out and manage areas where plaintext copies of the encrypted files or parts of the encrypted files may exist. If attackers have possession of, or access to, the computer on which encrypted files reside, they may be able to recover sensitive data from these areas, including the following:
Data shreds (remanence) that exist after encrypting a previously unencrypted file (see the "Special Operations" section of this paper for information about using cipher.exe to remove them)
The paging file (see "Increasing Security for Open Encrypted Files," an article in the Windows XP Professional Resource Kit, for instructions and additional information about how to clear the paging file on shutdown)
Hibernation files (see "Increasing Security for Open Encrypted Files" at https://technet.microsoft.com/library/bb457116.aspx)
Temporary files (to determine where applications store temporary files and encrypt these folders as well to resolve this issue
Printer spool files (see the "Special Operations" section)
Provide additional protection by using the System Key. Using Syskey provides additional protection for password values and values protected in the Local Security Authority (LSA) Secrets (such as the master key used to protect user's cryptographic keys). Read the article "Using the System Key" in the Windows 2000 Resource Kit's Encrypting File System chapter. A discussion of the use of Syskey, and possible attacks against a Syskey-protected Windows 2000 computer and countermeasures, can be found in the article "Analysis of Alleged Vulnerability in Windows 2000 Syskey and the Encrypting File System."
Remote Storage of Encrypted Files Using SMB File Shares and WebDAV
If your policy is to require that data is stored on file servers, not on desktop systems, you will need to choose a strategy for doing so. Two possibilities exist—either storage in normal shared folders on file servers or the use of web folders. Both methods require configuration, and you should understand their benefits and risks.
If encrypted files are going to be stored on a remote server, the server must be configured to do so, and an alternative method, such as IP Security (IPSec) or Secure Sockets Layer (SSL), should be used to protect the files during transport. Instructions for configuring the server are discussed in "Recovery of Encrypted Files on a Server" (283223) and "HOW TO: Encrypt Files and Folders on a Remote Windows 2000 Server" (320044). However, the latter doesn't mention a critical step, which is that the remote server must be trusted for delegation in Active Directory. Quite a number of articles can be found, in fact, that leave out this step. If the server isn't trusted for delegation in Active Directory, and a user attempts to save the file to the remote server, an "Access Denied" error message will be the result.
If you need to store encrypted files on a remote server in plaintext (local copies are kept encrypted), you can. The server must, however, be configured to make this happen. You should also realize that once the server is so configured, no encrypted files can be stored on it. See the article "HOW TO: Prevent Files from Being Encrypted When Copied to a Server" (302093).
You can store encrypted files in Web folders when using Windows XP or Windows Server 2003. The Windows XP Professional Resource Kit section "Remote EFS Operations in a Web Folder Environment" explains how.
If your Web applications need to require authentication to access EFS files stored in a Web folder, the code for using a Web folder to store EFS files and require authentication to access them is detailed in "HOW TO: Use Encrypting File System (EFS) with Internet Information Services" (243756).
Best Practices for SOHO and Small Businesses
Once you know the facts about EFS and have decided how you are going to use it, you should use these documents as a checklist to determine that you have designed the best solution.
"Best Practices for Encrypting File System" (223316) lists several best practices.
Best Practices: Windows 2000 Resource Kit, "Administrative Procedures", an article in the EFS chapter of the Windows 2000 Resource Kit, provides insight into the management procedures that should or can be done, including ensuring recovery, disabling EFS, recovery, configuring the agent policy, and viewing recovery agent information. These are best practices from the administrative perspective.
The white paper "Encrypting File System in Windows XP and Windows Server 2003" provides much information about the pluses and minuses of different EFS techniques and many sound practices for managing encryption.
Enterprise How-tos
How to Implement Data Recovery Strategies with PKI and How to Implement Key Recovery with PKI
By default, EFS certificates are self-signed; that is, they don't need to obtain certificates from a CA. When a user first encrypts a file, EFS looks for the existence of an EFS certificate. If one isn't found, it looks for the existence of a Microsoft Enterprise CA in the domain. If a CA is found, a certificate is requested from the CA; if it isn't, a self-signed certificate is created and used. However, more granular control of EFS, including EFS certificates and EFS recovery, can be established if a CA is present. You can use Windows 2000 or Windows Server 2003 Certificate Services. The following articles explain how.
"Using a Certificate Authority for the Encrypting File Service" (223338) provides three reasons for using a CA.
"Using the Cipher.exe Utility to Migrate Self-Signed Certificates to Certification Authority – Issued Certificates" (295680) explains that using cipher /k will archive the self-signed certificate and request a new EFS certificate from the CA.
User, EFS, and Administrator certificates support EFS use; recovery agent certificates are required for recovery operation.
Implementation of certificate services for public key infrastructure (PKI) is detailed in the article "Step-by-Step Guide to Encrypting File System (EFS)" and in "Certificate Services Example Implementation: Key Archival and Recovery".
Troubleshooting
Troubleshooting EFS is easier if you understand how EFS works. There are also well known causes for many of the common problems that arise. Here are a few common problems and their solutions:
You changed your user ID and password and can no longer decrypt your files. There are two possible approaches to this problem, depending on what you did. First, if the user account was simply renamed and the password reset, the problem may be that you're using XP and this response is expected. When an administrator resets an XP user's account password, the account's association with the EFS certificate and keys is removed. Changing the password to the previous password can reestablish your ability to decrypt your files. For more information, see "User Cannot Gain Access to EFS Encrypted Files After Password Change or When Using a Roaming Profile" (331333), which explains how XP Professional encrypted files cannot be decrypted, even by the original account, if an administrator has changed the password. Second, if you truly have a completely different account (your account was damaged or accidentally deleted), then you must either import your keys (if you've exported them) or ask an administrator to use recovery agent keys (if implemented) to recover the files. Restoring keys is detailed in "HOW TO: Restore an Encrypting File System Private Key for Encrypted Data Recovery in Windows 2000" (242296). How to use a recovery agent to recover files is covered in "Five-Minute Security Advisor—Recovering Encrypted Data Using EFS."
You've formatted your hard disk and reinstalled the operating system and cannot decrypt your encrypted files. Unless you've exported your EFS keys, or a recovery agent existed and those keys are available, you may not be able to decrypt your files. If your keys, or those of the recovery agent, are available, then it should be possible to either import your keys and decrypt the file or import the recovery agent keys (if necessary) and recover the file. You can determine who the recovery agent of a file is by using esfinfo.exe in Windows 2000 or by looking at the Advanced file properties in XP Professional or Windows Server 2003.
There is no Advanced button on the file properties page of your Windows XP Home computer, so you cannot mark the file for encryption. No solution is necessary because Windows XP Home doesn't have EFS.
Many other common issues have to do with why users get "Access Denied" messages. (The reason is that they're attempting to access files encrypted by someone else.) By far, however, the largest issue is the recovery of EFS files after a disk crash. See the following articles for troubleshooting other EFS issues:
The Troubleshooting EFS section of the Windows 2000 Resource Kit includes information explaining that virus checkers can check only files encrypted by the current users.
"FIX: Incorrect Text 'There Are No EFS Keys' in Sqlstp.log for Error 6006 During Upgrade" (299494) explains an error message during a SQL Server upgrade that has nothing to do with EFS.
"Users with Roaming Profiles Cannot Use EFS on Domain Controllers" (311513) explains a fix resolved with Windows 2000 SP3.
"EFS Files Appear Corrupted When You Open Them" (329741) explains the different encryption algorithms used by Windows XP Professional after SP1 and how data might appear corrupted or even be lost if the files are opened with an earlier version of the OS. It also details how to use an XP registry entry to control which algorithm is used.
When a profile gets overwritten, the private key of the EFS key pair may no longer be accessible. This may be why the "EFS Recovery Agent Cannot Export Private Keys" (259732).
Sysprep shouldn't be used on a production machine. Two articles that cover EFS-related problems are "Sysprep.exe May Re-Enable the Encrypting File System" (294844) and "Unable to Access Encrypted Files After Using Sysprep.exe" (288348), which details how Sysprep changes the SIDs on the Administrator and User accounts.
"HOW TO: Encrypt a File in Windows XP" (307877) includes error messages and warnings that a user may get when attempting to open files encrypted by another user.
"'Access Is Denied' Error Message When Encrypting or Decrypting Files or Folders" (264064) explains how to remove the system attribute if this is what's blocking file encrypting and what's really desired. (Remember, however, that system files shouldn't be encrypted. The process defined here is for folders that may have inadvertently had the system attribute checked.)
Encrypted files can be backed up by using Ntbackup, and they remain encrypted. They cannot be restored to a FAT or FAT32 volume. An attempt to do so results in the error message "'Warning: The Restore Destination Device . . . ' Error Message During Restore" (245044).
"Logon Process Hangs After Encrypting Files on Windows 2000" (269397) explains that if you've encrypted a system file such as Autoexec.bat, the file cannot be decrypted because its processed before logon.
"Cannot Open Encrypted Files on a Computer with Multiple Windows 2000 Installations" (256168) explains that booting a different operating system means the user is a different user, and thus the encrypted files cannot be decrypted.
When encrypting many files at once by marking a folder that contains files and/or folder for encryption, or using the Cipher command, you may receive an "Error Message When Attempting to Encrypt Files or Folders" (227465).
An "Error Message 'Access Denied' When Starting a Recently Installed Program" (272412) may be the result when the temporary folder is encrypted.
"Recovery of Encrypted Files on Server" (283223) explains how if there is no roaming profile for an account used to remotely encrypt files on a server, a profile is created and a new key pair and certificate are created. This means the keys are different than those used on the local computer.
"Cannot Gain Access to Microsoft Encrypted File Systems" (243850) explains that a mandatory profile cannot store keys.
"You Cannot Access Protected Data After You Change Your Password" (322346) explains how changing the password while not connected to the domain can remove access to the original password that was present when the file was encrypted.
Radical EFS: Using EFS to Encrypt Databases and Using EFS with Other Microsoft Products
"XGEN: Using Windows 2000 Encrypted File System to Encrypt Mdbdata Folder and Contents" (233400) provides information about using EFS to encrypt the Exchange Server 5.5 database.
Disaster Recovery
You should plan for EFS disaster recovery as part of your Business Continuity Plan. There are three areas of concern:
In Windows 2000 networks, use a recovery agent and archive user and recovery agent keys.
Backup of encrypted files should be part of any best practice. Backup of system state is also important, as it provides possible recovery via restoration of the user profile wherein keys lie.
In Windows 2000 networks that use Certificate Services to provide EFS certificates, and in Windows Server 2003 networks where EFS certificates are used and key archival is exercised, disaster recovery planning should also have plans for the recovery of Certificate Services. The Windows 2000 Resource Kit article "Disaster Recovery Practices" provides some details.
Overviews and Larger Articles
EFS documentation is primarily located in product Help files, resource kits, and Knowledge Base articles. In addition, some specific columns exist, such as the 5-minute security pieces mentioned earlier and a few white papers.
The following are some recommended white papers, along with other useful references:
"Encrypting File System in Windows XP and Windows Server 2003" is a large white paper which thoroughly documents how EFS works in these operating systems and is must reading for the IT manager or others responsible for designing and deploying formal EFS policy in organizations which use or will use EFS in these operating systems. There are a large number of step-by-step instructions including screen shots that can be helpful to those new to using and administering EFS. However, the paper presumes knowledge of EFS in Windows 2000 and rarely comments on the differences. Key pieces of this document that are essential reading for all are the following:
"Importing and Exporting Data Recovery Agent Keys."
"Data Recovery—Best Practices," which discusses the use of a central recovery workstation. The section also covers the use of EFS and CAs and the use of auto enrollment.
"Encrypting Offline Files."
"Clearing Page File at Shutdown."
"Default Encryption Algorithms."
"Resetting Local Passwords on Windows XP."
"EFS with WebDAV Folders."
"EFS and System Restore," which discusses the effect of the use of XP's System Restore on encrypted files.
"Data Recovery Versus Key Recovery."
"Data Protection and Recovery in Windows XP" was published prior to "Encrypting File Systems in Windows XP and Windows Server 2003" and includes nothing that's not in the latter.
"Encrypting Files System for Windows 2000" was published pre-release of Windows 2000 and is very outdated. Some misinformation is in this guide; therefore, I recommend reading product documentation, Resource Kit material, and Knowledge Base articles instead.
"Step-by-Step Guide to the Encrypting File System" provides a walk-through for implementing EFS in a Windows 2000 domain and includes instructions about restoring EFS-encrypted files and EFS credentials to another computer and setting up Certificate Services for use with EFS.
"Troubleshooting Certificate Status and Revocation" explains how the certificate revocation list (CRL) is checked to determine whether a certificate has been revoked. It also documents that Windows 2000 EFS does no certificate revocation checking, while Windows XP checks the status of certificates added to a file.
The Windows 2000 Resource Kit includes an entire chapter (Chapter 15) about EFS, as well as many references to EFS. The following are a few of the key, or interesting, gems of information in this document:
The section "Choosing Security Solutions That Use Public Key Technology" documents that EFS uses the base CSP and CryptoAPI and gives a step-by-step explanation about how EFS works.
"How Encryption Keys Are Protected" explains the five levels of protection for EFS keys.
"Certificates" lists the requirements for third-party certificates for interoperability with Windows 2000 EFS.
"Troubleshooting EFS" lists several issues users may encounter when first attempting to use EFS.
The Windows XP Professional Resource Kit includes a chapter about EFS that gives a solid overview of EFS and details XP-specific EFS functions:
The section "Remote EFS Operations on File Shares and Web Folder" gives the most comprehensive information about using EFS on remote servers.
"Considerations for Shared Files" raises issues that should be taken into consideration when sharing encrypted files.
"Data Recovery Implementation Considerations" discusses data recovery in XP and in Windows 2000 domains. Security considerations of different strategies are described.
"Configuring Recovery Policy in a Standalone Environment" describes how to use the cipher /R:filename command to create a self-signed recovery agent certificate for XP systems that aren't joined in a domain.
"Strengthening Key and File Security" describes how the Data Protection API generates a master key to protect the users private key and to protect the master key.
Where to Download EFS-specific Tools
You can download the following EFS-specific tool by clicking the appropriate link:
Cipher.exe: https://support.microsoft.com/default.aspx?scid=kb;en-us;298009
Summary
EFS is a valuable addition to your information security tool chest. But it must be properly managed and correctly used. You will have to invest time in training users and planning for recovery.