What Fuck Android.fbe is?

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: What Fuck Android.fbe is?

哈哈哈,真的是什么狗鸡儿文件格式都有,当我在去配置安卓挂载文件的时候,made,什么鬼?.fbe文件属实把我惊艳到了。

下面来学习一下。

1、Android对文件的加密-理论

加密是使用对称加密密钥对 Android 设备上的所有用户数据进行编码的过程

设备经过加密后,所有由用户创建的数据在存入磁盘之前都会自动加密,并且所有读取操作都会在将数据返回给调用进程之前自动解密数据。加密可确保未经授权方在尝试访问相应数据时无法进行读取。

Android 有两种设备加密方法,即文件级加密和全盘加密。

1)全盘加密(FDE):

Android 5.0 到 Android 9 支持全盘加密。全盘加密是使用单个密钥(由用户的设备密码加以保护)来保护设备的整个用户数据分区。在启动时,用户必须先提供其凭据,然后才能访问磁盘的任何部分。

虽然这种加密方式非常有利于确保安全性,但这也意味着当重新启动设备时,用户无法立即使用手机的大多数核心功能。由于此单个用户凭据的保护,系统无法访问用户的数据,所以闹钟等功能将无法运行,无障碍服务将无法使用,并且手机也无法接听电话。

2)文件级加密(FBE):

Android 7.0 及更高版本支持文件级加密。采用文件级加密时,可以使用不同的密钥对不同的文件进行加密,也可以对加密文件单独解密。支持文件级加密的设备还可以支持直接启动。该功能处于启用状态时,已加密设备在启动后将直接进入锁定屏幕,从而可让用户快速使用重要的设备功能,例如无障碍服务和闹钟。

引入文件级加密和可以将应用设为加密感知型应用的 API 后,应用可以在受限环境中运行。这意味着,应用可以在用户提供凭据之前运行,同时系统仍能保护私密用户信息。

(精细化的保护)

在启用了 FBE 的设备上,每位用户均有两个可供应用使用的存储位置:
凭据加密 (CE) 存储空间,这是默认存储位置,仅在用户解锁设备后可用。
设备加密 (DE) 存储空间,该存储位置在直接启动模式下和用户解锁设备后均可使用。
这种分离能够使工作资料更加安全,因为这样一来,加密不再只基于启动密码,从而能够同时保护多位用户。

3)Android 9

Android 9 引入了对存在硬件支持的元数据加密的支持。采用元数据加密时,启动时出现的单个密钥会加密未通过 FBE 进行加密的任何内容(例如目录布局、文件大小、权限和创建/修改时间)。该密钥受到 Keymaster 的保护,而 Keymaster 受到启动时验证功能的保护。

4)更多

关于FBE加密的理论必须要看原文【Android 加密之文件加密(FBE)】

2、Android FBE加密源码分析

【从代码分析Android分区挂载过程】

【Android FBE加密源码分析(一)】

【Android FBE加密源码分析(二)】

这三篇文章很有价值,观后的感觉有一丢丢不好的,就是这个白话文太少了。哈哈哈,少了点文字去串联三篇文章,不过这个排版和内容都有价值。

目录
相关文章
|
5月前
|
Android开发 开发者
Android Split APK介绍
【2月更文挑战第5天】
|
Android开发 数据库
|
Android开发 开发者
|
数据安全/隐私保护 Android开发
|
Shell 测试技术 Android开发