您的位置:首页 > 移动开发 > Android开发

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

2014-11-03 11:41 513 查看
android开放性,使其快速发展、并给人们带来便利,但也给个人信息安全带来风险,

个人私密文件面临着被窥视与窃取的风险,哈哈,特别是官员和明星尤其担心!还有商务人士。

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

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

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

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

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

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

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

列1文件系统类型移植性版本发布和维护性能
encfs基于用户空间的加密文件系统,运行于用户空间移植性好,维护投入人力小vgough维护于GitHub性能差,

下图2
ecryptfs基于Zadok教授的Cryptfs(堆叠式加密文件系统)衍生而来,运行于内核空间移植性差,维护投入人力大2.6内核版本引入,稳定性有保证性能好,

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


图1


图2



图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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: