System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及直播辅助应用,尤其涉及一种通用的文件透明加解密方法、系统、设备及介质。
技术介绍
1、在linux系统下,文件透明加解密存在多重技术:1、堆叠式文件系统,一种利用linux自身特性的特殊文件系统,它通过堆叠的方式实现文件的解密功能。这种文件系统能够在文件被访问时自动进行加解密操作,保护数据的安全性。2、内核系统调用hook,通过hook系统调用表,并在对应的读写接口中,可以插入加解密逻辑,使得文件在读写过程中自动进行解密处理。3、重定向技术,使用一定的手段,拦截文件打开动作,并在打开时,将全文加解密,并让进程操作解密后的文件。
2、但是上述技术方案各有缺点1、堆叠式文件系统,在使用时必须要有挂载行为,所以只能对挂载点下的文件进行加解密操作,而无法实现全盘文件的加解密。使得堆叠式文件系统在某些需要全盘加密的场景中无法应用。2、系统调用hook,目前一些较新的内核版本及硬件架构对系统调用表进行了保护,使得传统的hook方法无法再被使用,从而限制了系统调用hook技术的应用范围。3重定向方案虽然可以实现文件的加解密操作,但它会在磁盘上留下明文文件。一旦磁盘被非法访问,明文文件就有可能被泄露,从而带来数据泄漏的风险。
技术实现思路
1、针对现有技术的上述不足,本申请提供一种通用的文件透明加解密系统、方法及介质,以解决现有的堆叠式文件系统无法实现全盘文件的加解密、系统调用hook技术的应用范围小、重定向方案存在数据泄露的问题。
2、第
3、获取检索需求,确定检索需求对应的文件系统、操作接口;通过应用层的服务模块查找检索需求对应的若干类文件系统,查找各类文件系统中任一文件的绝对路径,并将绝对路径下发至内核层的驱动模块;内核层的驱动模块基于绝对路径,获取若干类文件系统对应的文件操作接口集;将文件操作接口集中检索需求对应的操作接口替换为预设自定义接口,并保存检索需求对应的原始操作接口的指针副本;当任一文件处理应用程序向检索需求对应的文件系统发起文件处理信息且文件处理信息涉及的文件、操作io请求存在于检索需求对应的文件系统、操作接口中时,文件处理信息涉及的操作io请求到达预设自定义接口,进而调用文件操作模块;通过文件操作模块查找环形数据缓存中是否存在文件处理信息涉及的文件内容;当存在文件内容不存在于环形数据缓存中时,通过操作io请求对应的原始操作接口的指针副本从磁盘中读取不存在环形数据缓存中的文件内容,进而获得文件处理信息对应的全部文件内容;基于全部文件内容的字节数,确定通过文件操作模块向加解密算法程序发送满足对齐要求字节数的文件内容;通过加解密算法程序执行文件处理信息对应的加密操作或解密操作,获得文件处理信息涉及的文件的输出内容,并将输出内容返回预设自定义接口;同时将最新读取到的磁盘数据的预设最后预设字节个数据块放入环形数据缓存中;通过预设自定义接口将输出内容返回文件处理应用程序。
4、进一步地,获取检索需求,确定检索需求对应的文件系统、操作接口,具体包括:
5、通过预设检索需求填写界面获取检索需求对应的文件系统名称和操作接口名称。
6、进一步地,内核层的驱动模块基于绝对路径,获取若干类文件系统对应的文件操作接口集,具体包括:
7、驱动模块使用kern_path函数解析绝对路径,得到文件的目录项结构体。
8、通过目录项结构体中目录项的d_inode成员,访问文件的inode结构体;其中,inode结构体中包含了指向文件系统操作接口集的指针;
9、通过inode中的指针,获取到文件系统的文件操作接口子集;
10、进而获得各类文件系统对应的文件操作接口子集,将文件操作接口子集合并为文件操作接口集。
11、进一步地,基于全部文件内容的字节数,确定通过文件操作模块向加解密算法程序发送满足对齐要求字节数的文件内容;通过加解密算法程序执行文件处理信息对应的加密操作或解密操作,获得文件处理信息涉及的文件的输出内容,具体包括:
12、获取全部文件内容的字节数,当字节数小于加解密算法程序的对齐要求字节数时,从环形数据缓存中获取补齐数据,添加至全部文件内容中,进而使全部文件内容满足对齐要求字节数;其中,初始环形数据缓存中存在预设初始默认补齐字节数据;
13、通过文件操作模块向加解密算法程序发送的满足对齐要求字节数的文件内容;
14、执行文件处理信息对应的加密操作或解密操作,获得初始输出内容;
15、当存在补齐数据时,从初始输出内容中去除补齐数据对应的输出内容获得最终输出内容;
16、当不存在补齐数据时,确定初始输出内容为最终输出内容。
17、第二方面,本申请提供了一种通用的文件透明加解密系统,系统包括:
18、确定模块,用于获取检索需求,确定检索需求对应的文件系统、操作接口;应用层的服务模块,用于查找检索需求对应的若干类文件系统,查找各类文件系统中任一文件的绝对路径,并将绝对路径下发至内核层的驱动模块;内核层的驱动模块,用于基于绝对路径,获取若干类文件系统对应的文件操作接口集;将文件操作接口集中检索需求对应的操作接口替换为预设自定义接口,并保存检索需求对应的原始操作接口的指针副本;当任一文件处理应用程序向检索需求对应的文件系统发起文件处理信息且文件处理信息涉及的文件、操作io请求存在于检索需求对应的文件系统、操作接口中时,文件处理信息涉及的操作io请求到达预设自定义接口,进而调用文件操作模块;文件操作模块,用于查找环形数据缓存中是否存在文件处理信息涉及的文件内容;当存在文件内容不存在于环形数据缓存中时,通过操作io请求对应的原始操作接口的指针副本从磁盘中读取不存在环形数据缓存中的文件内容,进而获得文件处理信息对应的全部文件内容;基于全部文件内容的字节数,确定通过文件操作模块向加解密算法模块发送满足对齐要求字节数的文件内容;加解密算法模块,用于执行文件处理信息对应的加密操作或解密操作,获得文件处理信息涉及的文件的输出内容,并将输出内容返回预设自定义接口;缓存处理模块,用于将最新读取到的磁盘数据的预设最后预设字节个数据块放入环形数据缓存中;预设自定义接口,用于将输出内容返回文件处理应用程序。
19、进一步地,确定模块包括获取单元,用于通过预设检索需求填写界面获取检索需求对应的文件系统名称和操作接口名称。
20、进一步地,驱动模块,还用于使用kern_path函数解析绝对路径,得到文件的目录项结构体。
21、通过目录项结构体中目录项的d_inode成员,访问文件的inode结构体;其中,inode结构体中包含了指向文件系统操作接口集的指针;
22、通过inode中的指针,获取到文件系统的文件操作接口子集;
23、进而获得各类文件系统对应的文件操作接口子集,将文本文档来自技高网...
【技术保护点】
1.一种通用的文件透明加解密方法,其特征在于,所述方法包括:
2.根据权利要求1所述的通用的文件透明加解密方法,其特征在于,获取检索需求,确定检索需求对应的文件系统、操作接口,具体包括:
3. 根据权利要求1所述的通用的文件透明加解密方法,其特征在于,内核层的驱动模块基于绝对路径,获取若干类文件系统对应的文件操作接口集,具体包括:
4.根据权利要求1所述的通用的文件透明加解密方法,其特征在于,基于全部文件内容的字节数,确定通过文件操作模块向加解密算法程序发送满足对齐要求字节数的文件内容;通过加解密算法程序执行文件处理信息对应的加密操作或解密操作,获得文件处理信息涉及的文件的输出内容,具体包括:
5.一种通用的文件透明加解密系统,其特征在于,所述系统包括:
6.根据权利要求5所述的通用的文件透明加解密系统,其特征在于,确定模块包括获取单元,
7.根据权利要求5所述的通用的文件透明加解密系统,其特征在于,驱动模块,还用于使用kern_path函数解析绝对路径,得到文件的目录项结构体;
8.根据权
9.一种通用的文件透明加解密设备,其特征在于,所述设备包括:
10.一种非易失性计算机存储介质,其特征在于,其上存储有计算机指令,所述计算机指令在被执行时实现如权利要求1-4任一项所述的一种通用的文件透明加解密方法。
...【技术特征摘要】
1.一种通用的文件透明加解密方法,其特征在于,所述方法包括:
2.根据权利要求1所述的通用的文件透明加解密方法,其特征在于,获取检索需求,确定检索需求对应的文件系统、操作接口,具体包括:
3. 根据权利要求1所述的通用的文件透明加解密方法,其特征在于,内核层的驱动模块基于绝对路径,获取若干类文件系统对应的文件操作接口集,具体包括:
4.根据权利要求1所述的通用的文件透明加解密方法,其特征在于,基于全部文件内容的字节数,确定通过文件操作模块向加解密算法程序发送满足对齐要求字节数的文件内容;通过加解密算法程序执行文件处理信息对应的加密操作或解密操作,获得文件处理信息涉及的文件的输出内容,具体包括:
5.一种...
【专利技术属性】
技术研发人员:张雷,李本学,
申请(专利权)人:中孚安全技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。