婆罗门
精华
|
战斗力 鹅
|
回帖 0
注册时间 2007-7-13
|
对于Android来说,自从Marshmallow要求FDE(即全盘加密)之后,完全可以避免这种问题。
开启FDE之后,在恢复出厂设置之后的首次启动时,会生成一个足够强的主密钥,之后所有用户数据(不论是程序数据还是存储)均被加密,并且这个主密钥对用户来说是透明的,用户自己的密钥(PIN、指纹、解锁图案等)只是用来保护这个主密钥的。
换句话说,所有屋子里面的东西是被一个非常安全的锁锁上,钥匙是放在信箱里面,用户有的只是信箱的钥匙。这也是为什么更改用户密钥是不需要重新加密所有数据。拿不到用户密钥,那就只能把屋子推倒重盖,但是撬锁是打不开的。
————
Nougat里引入了新的加密方式FBE(即文件级加密)。FDE固然好,有一个问题,就是说如果用户没有输入密钥,那么系统实际上是无法启动起来的,因为系统启动所需要的文件需要先被解密。比如系统因为什么原因重新启动,那就会导致一直等待用户输入密钥,并且闹钟、电话等等均不能工作。
FBE把文件分为了两级,一级是用户级加密,一级是系统级加密。用户加密的文件仍然是需要用户自己的密钥解密,系统加密的文件系统自己就可以解密。这样,系统可以把启动必须的文件设置成系统级加密,可以先把系统启动起来(闹钟、电话之类的可以工作了),用户数据可以先不解密,直到用户输入密钥。这也是Nougat的新功能Direct Boot的实现原理及方法。
————
说iOS是FDE的其实并不准确。iOS实际上是FBE,而且更细,有4个层级。
————
当然国内魔改版的系统,谁知道怎么做的。 |
|