基于android系统的加密文件系统设计

android开放性,使其快速发展、并给人们带来便利,但也给个人信息安全带来风险,
个人私密文件面临着被窥视与窃取的风险,哈哈,特别是官员和明星尤其担心!还有商务人士。

网络爆光最多的私密文件:通讯信息包括电话本、通话记录、短信等,手机内存储文件信息包括机主的照片、录音、视频等文件。


明星担心泄露照片,官员担心泄露聊天信息,android又这么开放,且没有易用的加密方法。

于是乎,android系统上研究数据加密,就成了研究方向,


相比运用程序的文件加密,和设备驱动程序层实现的存储介质的全盘加密,加密文件系统具有显示优势:

支持文件粒度的加密,也就是说,用户可以选择对哪些文件或目录加密。而且,应用程序不用关心文件是否被加密,可以完全透明地访问加密文件。


经过查阅大量资料,适合于android系统的加密文件系统只有俩:ecryptfs和encfs 。


下面将这两种文件系统做一个比较性评估,详细的设计原理请阅读参考资料。

列1 文件系统类型 移植性 版本发布和维护 性能
encfs 基于用户空间的加密文件系统,运行于用户空间 移植性好,维护投入人力小 vgough维护于GitHub 性能差,
下图2
ecryptfs 基于Zadok教授的Cryptfs(堆叠式加密文件系统)衍生而来,运行于内核空间 移植性差,维护投入人力大 2.6内核版本引入,稳定性有保证 性能好,
下图3

下面三个文件系统的性能测试来源于同一个ubuntu PC机,仅供参考:

基于android系统的加密文件系统设计_第1张图片图1


基于android系统的加密文件系统设计_第2张图片图2

基于android系统的加密文件系统设计_第3张图片

图3


最新android L 版本data目录(包括sdcard)可以使用dm-crypt机制全盘加密,  运行性能很低。且不支持外挂SD 。



参考资料:
http://en.wikipedia.org/wiki/List_of_cryptographic_file_systems
http://en.wikipedia.org/wiki/Comparison_of_disk_encryption_software
http://en.wikipedia.org/wiki/EncFS
http://en.wikipedia.org/wiki/ECryptfs
https://vgough.github.io/encfs/

https://github.com/vgough/encfs

https://github.com/neurodroid/cryptonite    // Cryptonite brings EncFS and TrueCrypt to Android apk
https://launchpad.net/ecryptfs/
http://www.ibm.com/developerworks/cn/linux/l-cn-ecryptfs/

你可能感兴趣的:(filesystem,android)