- Basics
- About Knox
- Knox licenses
- Knox white paper
- Sign up for Samsung Knox
- Latest release notes
- General Knox FAQ
- General Knox KBAs
- Submit a support ticket
- User Acceptance Testing
- For IT admins
- Knox Admin Portal
- Knox Suite
- Knox Platform for Enterprise
- Knox Mobile Enrollment
- Knox Configure
- Introduction
- Get started
- How to guides
- Manage licenses
- Release notes
- Provide feedback
- Troubleshoot
- Wearables
- FAQ
- KBAs
- Knox Capture
- Welcome
- Overview
- How-to guides
- Manage licenses
- Scanning profiles
- Apps and activities
- Scan engine settings
- Keystroke output and data formatting
- Export configuration and deploy through EMM
- Set the camera scan trigger
- Connect a hardware scanner
- Configure the output path
- Check a configuration in test mode
- Use intent output
- Knox Capture AR
- Get started
- How-to videos
- Release notes
- FAQ
- KBAs
- Troubleshoot
- Knox Capture Scandit Edition
- Introduction
- How it works
- IT admins: Get started
- Getting started with Knox Capture
- Step 1: Launch Knox Capture
- Step 2: Create a scanning profile
- Step 3: Select apps and activities
- Step 4: Configure the scanner
- Step 5: Set keystroke output rules
- Step 6: Test apps in your configuration
- Step 7: Share your configuration
- Step 8: Deploy Knox Capture in Managed mode
- End users: Get started
- Features
- Knox Asset Intelligence
- Knox Manage
- Introduction
- How-to videos
- Get started
- Video: Getting started with Knox Manage
- Integration with Managed Service Provider
- Access Knox Manage
- Configure basic environments
- Create user accounts
- Create groups
- Create organization
- Set up devices and profiles
- Create a new profile
- Assign profiles to groups and organizations
- Enroll devices
- Shared Android device quickstart
- Non-shared Android device enrollment quickstart
- Android Management API device enrollment quickstart
- Apple User Enrollment quickstart
- View device information
- Apply profiles to organizations
- Set up Knox Manage deployment with a Knox Suite license
- Manage Chromebooks
- Manage Android devices with the Android Management API
- Manage Shared iPads
- Configure
- Licenses
- Organization
- Users
- Sync user information
- Groups
- Devices
- Content
- Applications
- Profile
- Knox E-FOTA
- Certificates
- Advanced settings
- Monitor
- Kiosk devices
- Knox Remote Support
- Active Directory
- Microsoft Exchange
- Mobile Admin
- Appendix
- Release notes
- Features
- FAQ
- KBAs
- Knox E-FOTA
- Introduction
- How-to videos
- Get started
- Features
- EMM integration
- Appendix
- Release notes
- FAQ
- KBAs
- Troubleshoot
- Knox E-FOTA On-Premises
- Legacy Knox E-FOTA products
- Knox Guard
- Introduction
- How-to video
- Get started
- Using Knox Guard
- Dashboard
- Manage devices
- Device management
- Accept or reject devices
- Upload devices
- Complete device management
- Delete devices
- Send notifications
- Enable or disable SIM control
- Download devices as CSV
- View device log
- Start and stop blinking reminder
- Lock and unlock devices
- Send relock timestamp
- Update or disable offline lock policy
- Manage policies
- Manage licenses
- Manage resellers
- Manage admins and roles
- Activity log
- Knox Deployment App
- Release notes
- FAQ
- KBAs
- Support
- Knox Guard REST API
- Samsung Care+ for Business
- For Knox Partners
- Knox Deployment Program
- Knox MSP Program
File-based encryption (FBE) and full-disk encryption (FDE)
Environment
- Knox Platform for Enterprise (KPE)
- FDE — Samsung Galaxy devices shipped with an Android version lower than 9.0 and Knox version lower than 3.3
- FBE — Samsung Galaxy devices shipping with Android 9.0 or higher, with Knox 3.3 or higher
Overview
This article provides a general overview of how full-disk encryption (FDE) and file-based encryption (FBE) work, as well as instructions on how to check if your device uses FDE or FBE.
What is full-disk encryption (FDE)?
FDE was introduced in Android 4.4 to provide users with the option to encrypt the entire User Data partition at the Flash Block level. For devices launching with Android 7.0 or higher, the User Data partition is encrypted by default. To meet industry and government security requirements, Samsung Knox builds upon FDE to enhance the Android Open Source Project (AOSP) implementation, taking advantage of hardware security mechanisms and the Trusted Execution Environment (TEE) on Samsung Galaxy devices.
On FDE-based Android devices, all user data is encrypted using AES-256-XTS or AES-256-CBC (depending on the device) with a randomly generated encryption key, also known as the Primary Key. Once a device is encrypted, all data created by the user is automatically encrypted before being committed to disk and decrypted during the read process.
When the user boots up the device for the first time (for example, following a factory reset), the 256-bit Primary Key is randomly generated and encrypted in storage by the TEE-based Keymaster component. This component uses keys derived from a default password and a device-unique hardware based key to protect against offline attacks. If the user sets a PIN, password, or pattern on the device, and configures Secure Startup via Settings > Biometrics and Security, the Primary Key is re-encrypted by the Keymaster using the user's credentials and stored. If Secure Startup is not enabled after being configured, the Primary Key is re-encrypted using the default password instead of the user's credentials.
During subsequent device reboots, the Primary Key is recovered using either the default password or the user's credentials, depending on whether Secure Startup was configured, allowing the system to mount the user data partition and decrypt its data while it is read from Flash memory.
What is file-based encryption (FBE)?
Available on all Samsung Galaxy devices shipping with Android 9.0 or higher and Knox 3.3 or higher, FBE protects files in the user data Flash partition. Each file is independently encrypted using AES-256-XTS, with a unique File Encryption Key that is derived from a Primary Key. In FBE, Primary Keys are randomly generated and protected by the TEE-based Keymaster component, similar to the FDE implementation.
FBE also introduced a new feature called Direct Boot, which lets encrypted devices boot straight to the lock screen. This feature allows for extended functionality over FDE-based devices, which require the user to enter their credentials before the OS boots and any user data is accessed. If the user chooses not to enter their credentials, the device is unable to receive phone calls and alarms are prevented from functioning.
FBE-based devices allow certain apps to be aware of their encryption and run with limited functionality enabled through the use of two storage locations:
- Credential Encrypted (CE) storage is only available after the user enters their credentials and unlocks the device.
- Device Encrypted (DE) storage is accessible during Direct Boot mode, as well as after the user unlocks the device.
This change to device encryption provides a more flexible data protection scheme. Different areas of the user data file system are protected by their own Primary Keys that are derived from different credentials. Separate Primary Keys are generated for CE and DE storage, with CE Primary Keys using both the device-unique hardware key and the user credentials, and DE keys protected using only the device-unique hardware based key.
Since the DE storage area is not bound to the user's credentials, this storage is made available upon device reboot, allowing Direct Boot-aware applications to function before the user unlocks the device. For example, this allows phone calls to be received immediately after startup even before the user unlocks the device. This flexibility also allows work profiles to be protected using a set of Primary Keys separate from personal device data storage.
How do I check if my device uses FDE or FBE?
To check if your device uses FDE or FBE:
- On your device, navigate to Settings > Biometrics and security.
- In the Biometrics and security menu, check if the Secure startup menu exists or not.
- If Secure startup is available, your device uses FDE.
- If Secure startup is unavailable, your device uses FBE.
Related articles
To learn more about Android's implementation of full-disk encryption and file-based encryption:
For a more in-depth view into how KPE protects your data: