当前位置:文档之家› 文件透明加密系统的设计与实现

文件透明加密系统的设计与实现


IRP_MJ_WRITE
7
删除加密节 点,删除缓冲
进行 查询后处理
进行读后处理
进行写后处理
设计思路—CREAT_IRP预处理
获取文件路径 获得打开期望 是否成功 否
分配缓冲区 打开文件
是否成功 是 是否在加 密链表中 否 文件大小 是否为零 否 文件是否 小于4k 是 是否有写或追 加内容的期望 否 返回ret= Sf_IRP_GO_ON 是 文件头是 否一致 否 是否有写或追加内 容的期望 否 返回ret= SF_IRP_PASS 是
应用领域: 办公应用 教学应用 个人应用
3
概念解释
过滤驱动
IRP
IRP:
即驱动程序中的“请求”。类似于Windows应用程序中的 “消息”,每当上层各类操作时,都由IO管理器将其转化 为相应的IRP请求再传给设备,设备再根据不同的IRP调用, 用提前注册好的派遣函数来进行相应的处理。
4
设计思路—整体设计
IRP_MJ_QUERY _INFOMATION
IRP_MJ_READ
IRP_MJ_WRITE
修改文件大小 和设置文件的 当前指针位置
进行 读预处理
进行 写预处理
返回 SF_IRP_GO_ON
返回 SF_IRP_PASS
返回 SF_IRP_PASS
返回 SF_IRP_GO_ON
返回 SF_IRP_GO_ON
初始化
IRP预处理
IRP后处理
5
设计思路—IRP预处理
获得当前调用 栈,捕获IRP
是否为空文件 否

返回 SF_IRP_PASS
IRP主功能号是否为 IRP_MJ_CREATE

是否是 指定进程 是

返回 SF_IRP_GO_ON
否 进行打开预 处理 IRP主功能号
IRP_MJ_CLOSE
IRP_MJ_SET_ INFORMATION

放过IRP,返回 ret=SF_IRP_PA SS



添加文件头, 返回ret= Sf_IRP_GO_ON
8

成果展示 • 演示录像
9
工作总结
总结 对现有的加密软件安全性 不足以及加密的不透明性 进行了重新设计,同时应 用了当前比较热门的文件 系统过滤驱动技术,在微 软提供的Sfilter架构的基础 上设计并基本实现了文件 透明加密。
文件透明加密系统的设计与实现
内容概要
1 2 3 4 5
系统介绍 概念解释
设计思路
成果展示工作总结
2
系统介绍
今天介绍的文件透明加密系统是在Windows文件系统 之上通过驱动程序过滤文件操作,并对经特定操作的 指定类型文件进行用户可控的,透明的加密系统。 文 件 透 明 加 密 系 统
功能: 1.新建的文档均为加密文档; 2.未加密的文档经过写操作之后变为加密文档; 3.经过加密的文档在未安装该系统的计算机上 打开之后为密文;
6
设计思路—IRP后处理
获得 当前调用栈
IRP主功能号是否是 IRP_MJ_CREATE

是否是 指定进程 否

将文件追加进 加密链表中

IRP主功能号
根据是否是加密文 件,如果是加密文件 则否决这个操作
IRP_MJ_CLOSE
IRP_MJ_QUERY _INFORMATION
IRP_MJ_READ
展望 该系统还有不足之处,设置的 机密进程数量不够,因为每一 个进程创建的文件都有其自身 的特点,需要经过大量的实验 去验证和分析。但是我相信经 过老师的指导和我自身的努力, 一定会让这个系统尽快完善。
10
相关主题