Reference articles on history, science, culture and more
Encyclopedia

Filesystem-level encryption

Method of data encryption

Filesystem-level encryption, often called file-based encryption, FBE, or file/folder encryption, is a form of disk encryption where individual files or directories are encrypted by the file system itself.

This is in contrast to the full disk encryption where the entire partition or disk, in which the file system resides, is encrypted.

Types of filesystem-level encryption include:

  • the use of a 'stackable' cryptographic filesystem layered on top of the main file system
  • a single general-purpose file system with encryption

The advantages of filesystem-level encryption include:

  • flexible file-based key management, so that each file can be and usually is encrypted with a separate encryption key
  • individual management of encrypted files e.g. incremental backups of the individual changed files even in encrypted form, rather than backup of the entire encrypted volume
  • access control can be enforced through the use of public-key cryptography, and
  • the fact that cryptographic keys are only held in memory while the file that is decrypted by them is held open.

01General-purpose file systems with encryption

Unlike cryptographic file systems or full disk encryption, general-purpose file systems that include filesystem-level encryption do not typically encrypt file system metadata, such as the directory structure, file names, sizes or modification timestamps. This can be problematic if the metadata itself needs to be kept confidential. In other words, if files are stored with identifying file names, anyone who has access to the physical disk can know which documents are stored on the disk, although not the contents of the documents.

One exception to this is the encryption support being added to the ZFS filesystem. Filesystem metadata such as filenames, ownership, ACLs, extended attributes are all stored encrypted on disk. The ZFS metadata relating to the storage pool is stored in plaintext, so it is possible to determine how many filesystems (datasets) are available in the pool, including which ones are encrypted. The content of the stored files and directories remain encrypted.

Another exception is CryFS replacement for EncFS.

02Cryptographic file systems

Cryptographic file systems are specialized (not general-purpose) file systems that are specifically designed with encryption and security in mind. They usually encrypt all the data they contain, including metadata. Instead of implementing an on-disk format and their own block allocation, these file systems are often layered on top of existing file systems e.g. residing in a directory on a host file system. Many such file systems also offer advanced features, such as deniable encryption, cryptographically secure read-only file system permissions and different views of the directory structure depending on the key or user ...

One use for a cryptographic file system is when part of an existing file system is synchronized with 'cloud storage'. In such cases the cryptographic file system could be 'stacked' on top, to help protect data confidentiality.

Watch videos about Filesystem-level encryptionExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Filesystem-level encryption, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.