为了防止Android手机的数据被非法盗取,Google在Android 3.0之后的版本支持对手机加密,那个时候还是一个option的功能,用户可以在setting->security中根据自己的需要对手机加密。但在Android 6.0之后的版本,Google要求手机默认开启加密功能。
一.FDE(Full Disk Encryption简写)
FDE是对手机/data分区的raw data数据进行加密,对于文件系统,Android Framework,Application来说,/data的数据是透明的。非法用户无法通过tool工具,将/data分区的数据readback回来,来盗取信息。 即FDE保护的是/data分区的raw data数据。对于通过锁屏进入盗取数据的情况,无法保护。
二.FDE原理
借助DM-crypt这个虚拟device,来实现加解密动作。
1,将block device映射到dm-crypt这个虚拟device上
2,将Ext4等file system mount到dm-crypt
这样在访问data分区的时候,会在dem-crypt device上做加密解密的动作,然后再把数据写入emmc block上。下面是FDE的加解密流程。