隐私的代价  Android 5.0加密内存读写测试
隐私的代价 Android 5.0加密内存读写测试

全盘数据加密功能在Android 3.0时代就出现了,不过谷歌直到2014年的的Nexus 6才将这个功能进行默认开启,其最大原因就在于该功能对手机内存读写性能的影响,至于性能的影响有多大,请看我们的测试。

隐私的代价  Android 5.0加密内存读写测试


隐私的代价  Android 5.0加密内存读写测试 

在之前的针对运行Android 5.0的设备的评测之中, 我们常规的eMMC读写测试得出了异常的结果,拿运行Android 5.0开发者预览版的Nexus 5来说,使用Androbench进行内存读写速度的测试之后,Android 5.0之下结果相较于Android 4.4之下的结果有了2~10倍的提升,这一点在深入探究之后,我们发现造成这一问题的主要原因是我们用于测试的软件Androbench在计算结果的时候是以来Android系统内部的一个时间算法的,而这个算法在4.4上和5.0上不相同。

因此我们换用了另一款软件AndEBench进行测试,该软件功能和Androbench类似,不过这款软件本身使用了低层级的操作指令,所以Android 从4.4升级到5.0对该款软件的结果没有影响。



此外,我们在进行Nexus 6的评测时发现,原生搭载Android 5.0的Nexus 6在出厂状态下就默认启用了Android的全盘加密功能(Full Disk Encryption,下文简称FDE),该功能最早于Android 3.0系统上出现,但是谷歌直到5.0系统才将该功能进行默认开启。FDE开启时,所有写入内存的数据将在写入之前进行加密,从内存读取已经加密的数据之后进行处理之前,也必须进行解密。解密的钥匙自然就是用户设定的锁屏密码了,也就是说任何人在拿到手机之后都无法在没有密码的情况下读取手机之中的数据。

但是,Android手机上这个FDE和SSD上的又不太一样,SSD上的FDE功能常常是具有原生硬件支持的,而手机上用的eMMC芯片则在设计之初没有加入这个模块,大部分的SoC也不具有硬件层面上对FDE的支持。若是在设计SoC之初就加入硬件模块的支持,FDE对于性能的影响是微乎其微的,甚至可以忽略不计。

所以这一切都解释的通了,在默认开启FDE的Nexus 6上我们发现了非常明显的读写性能下降,在刷入摩托罗拉发布的不默认开启FDE的固件之后,我们对二者的测试结果进行了对比,在对比之中,我们也加入了Nexus 5。

隐私的代价  Android 5.0加密内存读写测试 

隐私的代价  Android 5.0加密内存读写测试隐私的代价  Android 5.0加密内存读写测试

图表之中,Nexus 5(Lollipop)的数据是在升级5.0之后使用AndEBench进行测试得出的,Nexus 5则是在4.4下的成绩,并且需要说明的是,Nexus 5在经由OTA或者是刷入镜像包升级到5.0系统之后是不会自动开启FDE功能的。

 从上面的测试结果不难看出,使用软件实现的FDE会导致严重的读写性能下降:随机读取性能下降62.9%,随机写入性能下降50.5%,而序列读取性能更是下降了惊人的80.7%,只要用户让手机进行需要对内存进行读写的操作,FDE对于性能的影响就是可见的,再者来说,谷歌默认开启FDE功能也许对于提高用户实际使用的安全性并没有太大帮助——毕竟在安全性这方面用户的使用习惯还是很重要的,再说Nexus 6上对加密的数据也仅仅是通过密码或者手势来保护,要是不设定密码解锁,那么FDE在安全上就是个个摆设,除了影响性能之外别无任何用处。

在评测Nexus 6的时候,我也发现Nexus 6在某些时候会有性能短板问题,而这一问题在运行Android 5.0的Nexus 5上并不存在,最初我们认为这可能是FDE所致,但是在刷入关闭FDE的固件之后,对于性能的提升却并不明显,至少不如上面测试的那么明显,在Messenger和日历APP之中依旧有着明显的吊针问题,于是这一问题暂时还是只能归咎于Nexus 6所使用的GPU或者是处理器的带宽不足以应付2K屏幕。

对我来说,谷歌在Nexus 6上强制开启FDE或许是在目前这个大环境下是情有可原的,增强手机数据的安全性当然是必要的,但是目前这种简单粗暴的解决办法要以牺牲性能为代价,我认为不太可取。在未来,我还是希望谷歌取消FDE默认开启的设定,或者是采取其他措施,以尽量减小FDE对于性能的影响。

 

Via Anandtech


分享:
RC
编辑
福利!
分享微博 分享微信
爱搞机微信

爱搞机微信

搞机啦微信

搞机啦微信

推荐产品

抱歉,产品库没有您要找的产品

试用