android开放性,使其快速发展、并给人们带来便利,但也给个人信息安全带来风险, 个人私密文件面临着被窥视与窃取的风险,哈哈,特别是官员和明星尤其担心!还有商务人士。
网络爆光最多的私密文件:通讯信息包括电话本、通话记录、短信等,手机内存储文件信息包括机主的照片、录音、视频等文件。
明星担心泄露照片,官员担心泄露聊天信息,android又这么开放,且没有易用的加密方法。
于是乎,android系统上研究数据加密,就成了研究方向,
相比运用程序的文件加密,和设备驱动程序层实现的存储介质的全盘加密,加密文件系统具有显示优势:
支持文件粒度的加密,也就是说,用户可以选择对哪些文件或目录加密。而且,应用程序不用关心文件是否被加密,可以完全透明地访问加密文件。
经过查阅大量资料,适合于android系统的加密文件系统只有俩:ecryptfs和encfs 。
下面将这两种文件系统做一个比较性评估,详细的设计原理请阅读参考资料。
列1 文件系统类型 移植性 版本发布和维护 性能
ecryptfs 基于用户空间的加密文件系统,运行于用户空间 移植性好,维护投入人力小 vgough维护于GitHub 性能差, 下图2
encfs 基于Zadok教授的Cryptfs(堆叠式加密文件系统)衍生而来,运行于内核空间 移植性差,维护投入人力大 2.6内核版本引入,稳定性有保证 性能好, 下图3
下面三个文件系统的性能测试来源于同一个ubuntu PC机,仅供参考:
图1
图2
图3 基于android系统的加密文件系统设计
参考资料:
https://vgough.github.io/encfs/ https://launchpad.net/ecryptfs/