bannerman
驱动牛犊
驱动牛犊
  • 注册日期2010-01-26
  • 最后登录2014-05-29
  • 粉丝2
  • 关注1
  • 积分41分
  • 威望341点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分22分
阅读:4378回复:1

[源代码]基于ecryptfs的linux透明加解密模型

楼主#
更多 发布于:2012-04-18 18:47

基于ecryptfs的linux透明加解密模型, 当前代码纯粹验证可行性。
代码主要完成hook功能,并在hook点根据进程进行文件的重定向,文件加密处理借用ecryptfs。只简单在ubuntu10.10(内核2.6.35)上进行了测试,测试软件包括gedit/firefox/openoffice, openoffice有问题,保存时无响应,由于本代码只是出于验证的目的,没有深究,有时间再慢慢研究。
使用方法及实现原理:
安装ecryptfs-utils,ubuntu10.10用apt-get install ecryptfs-utils.
把代码拷贝到某个目录中,make生成syshook.ko.
在当前目录中 insmod ./syshook.ko加载模块, 加载后创建/proc/syshook用于命令处理。内置gedit/firefox/openoffice为加密进程,加密重定向目录为/tmp/flyecrypt。
调用echo s > /proc/syshook, 该命令开始hook do_filp_open, 由于do_filp_open并没有导出这里是通过filp_open找到do_filp_open的地址。在new_do_filp_open中判断进程是否是加密进程,如果是重定向到/tmp/flyecrypt/中,如果不是且其访问/tmp/flyecrypt/中文件则重定向回原始路径,防止非加密进程访问加密文件。
cd /tmp
mkdir flyecrypt
上述两个命令创建临时目录用于加密文件重定向
mount -t ecryptfs / /tmp/flyecrypt
把根目录mount到临时目录中用于加密进程访问,mount后会提示输入密码,加密算法,密码长度,是否允许明文文件(这里要输入y),是否文件名加密(这里输入n)。
启动加密进程如gedit保存文件将加密,用vi访问只能看到密文。
如果不想加密了调用echo t > /proc/syshook停止,但无法umount /。
通过目前的方法个人认为基于ecryptfs进行透明加密是可行的,并能做到双缓存透明,完全透明还需要测试。如果要真正做产品还需要深入研究ecryptfs以及vfs,当然做过透明加密的都知道加密仅仅是个开始。完全不了解ecryptfs的同学用google。
附件名称/大小 下载次数 最后更新
flyenc.rar (13KB)  87 2012-04-18 18:47
Z16300
驱动牛犊
驱动牛犊
  • 注册日期2002-06-04
  • 最后登录2018-01-17
  • 粉丝3
  • 关注0
  • 积分88分
  • 威望239点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2012-07-08 09:43
当前涉及windows平台加解密的企业有几百家,但是涉及linux平台加解密的公司却很少,为了帮助一部分安全产品厂商快速进入linux透明加解密市场,青岛健明科技发展有限公司特推出针对软件企业的linux内核级透明加解密模块.
1. 本模块对上层以系统调用的方式提供接口。
2. 软件开发企业可以定制加解密模块的功能。
3. 对外可以以集成软件开发商自主产品推出。.
欢迎希望进入linux加解密市场的软件公司与本公司联系.

公司网站http://www.jm8848.com
游客

返回顶部