一种基于隐写术的载体文件库可扩充的隐蔽文件系统的制作方法
【技术领域】
[0001] 本发明设及隐写技术领域,具体是一种基于隐写术的载体文件库可扩充的隐蔽文 件系统。
【背景技术】
[0002] 目前已经出现用于存储数据的各种存储装置或者系统,同时存储数据的安全问题 越来越受到重视。一种常用的数据安全方法是对数据进行加密,并且将密钥存储在存储装 置或主机装置中。该方法的缺点在于只要获得密钥,就可W破译所有数据。
[0003] 一种改进的技术是将存储装置中的数据隐藏起来,从而保护数据的安全。目前实 现该技术的主流方法是截获系统对文件访问的指令,并对用户指定的敏感文件进行过滤从 而达到隐藏文件的效果。该方法的缺陷在于数据是通过"过滤"来实现隐藏,数据还是被直 接存储在硬件之中,如果得到该硬件则可能恢复出被隐藏的文件。
[0004] 隐写术作为信息隐藏的一个分支,可W将消息或者文件嵌入载体文件(图片、文 档、视频、语音等)中,所W直接存储在硬件中的是载体文件而非用户的数据,达到了隐藏 文件的目的,而且即使硬件被窃取,窃取者也只能恢复得到载体文件而不能得到隐藏其中 的数据,从而保护了用户的数据安全。
[0005] 通过隐写技术,载体文件可W提供一定量的存储空间,但是单个载体文件可W提 供的嵌入容量很小(例如1M的bmp格式的图片可W提供0. 3M的存储容量),因此,每个文 件的隐写就需要大量载体文件,载体文件库的庞大势必带来隐蔽文件查找效率低的问题, 同时庞大载体文件库的管理也将是很棘手的问题。
【发明内容】
[0006] 本发明的目的在于提供一种基于隐写术的载体文件库可扩充的隐蔽文件系统,该 系统利用索引的方式有效管理载体文件库,同时提高文件的查找效率。
[0007] 本发明的技术方案为;
[000引一种基于隐写术的载体文件库可扩充的隐蔽文件系统,该系统包括文件管理单元 和文件操作单元;
[0009] 所述文件管理单元,用于生成文件索引和目录索引,所述文件索引用于唯一定位 文件在系统中的虚拟位置,包括文件名、文件类型、文件大小、文件关键值、文件安全等级、 文件索引表张数和最后一张文件索引表中文件分块关键值个数,所述目录索引用于记录文 件索引信息;
[0010] 所述文件操作单元,用于根据文件索引信息对文件进行操作,包括将待上传文件 从用户操作系统分块写入载体文件库对应的载体文件中、将待下载文件从载体文件库对应 的载体文件中分块读出并恢复到用户操作系统W及将待删除文件的文件索引信息从系统 中删除。
[0011] 所述的基于隐写术的载体文件库可扩充的隐蔽文件系统,所述文件管理单元包括 文件分块关键值个数计算单元、文件索引表张数计算单元、最后一张文件索引表中文件分 块关键值个数计算单元;
[0012]所述文件分块关键值个数计算单元,用于采用W下公式对文件分块关键值个数进 行计算:
[001 引
[0014] 其中,keyNum表示文件分块关键值个数也即文件分块个数,FileLen表示文件大 小,FileSecurity表示文件安全等级,BasicBlockLen表示系统预设的基本分块大小;
[0015] 所述文件索引表张数计算单元,用于采用W下公式对文件索引表张数进行计算:
[0016]
[0017] 其中,IndexNum表不文件索引表张数,keyLen表不系统预设的文件分块关键值长 度;
[0018] 所述最后一张文件索引表中文件分块关键值个数计算单元,用于采用W下公式对 最后一张文件索引表中文件分块关键值个数进行计算:
[0019]
[0020] 其中,LastIndexNum表示最后一张文件索引表中文件分块关键值个数,mod表示 取模运算。
[0021] 所述的基于隐写术的载体文件库可扩充的隐蔽文件系统,所述文件操作单元包括 文件上传单元、文件下载单元和文件删除单元;
[0022] 所述文件上传单元,用于在文件管理单元生成待上传文件的文件索引并将其添加 到目录索引后,对待上传文件进行加密,并根据待上传文件的文件安全等级将加密文件分 块隐写进载体文件中,同时将文件分块关键值W及与该文件分块一一对应的载体文件信息 写入文件索引表,所有文件分块上传完成后,将文件索引表隐写进载体文件中;
[0023] 所述文件下载单元,用于在文件管理单元通过目录索引查找到待下载文件的文件 索引后,根据文件索引中的文件关键值,从对应的载体文件中下载文件索引表,遍历文件索 引表,根据文件分块关键值从对应的载体文件中下载文件分块,所有文件分块下载完成后, 对得到的加密文件进行解密并恢复到用户操作系统;
[0024] 所述文件删除单元,用于在文件管理单元通过目录索引查找到待删除文件的文件 索引后,根据文件索引中的文件关键值,从对应的载体文件中下载文件索引表,遍历文件索 引表,擦除文件分块关键值和对应载体文件信息,遍历结束后,删除文件索引表并通知文件 管理单元将文件索引从目录索引中删除。
[0025] 本发明的有益效果为;
[0026] (1)提供了一种更安全的数据存储方式:即将数据隐藏在载体文件库中,可W为 数据提供更强的保护;
[0027] (2)对用户透明;本发明的系统建立在用户操作系统之上,用户可W像使用平常 的文件管理系统一样使用本发明的系统,方便操作.
[002引 (3)移植性强;本发明的系统并不依赖于某个操作系统,可W在任意一个操作系 统上应用;
[0029] (4)文件查找效率高:采用索引的方式管理文件本身就具有高效率,附加文件关 键值可W唯一标识一个文件,使得在载体文件库中查找载密的载体文件效率大大提高;
[0030] (5)载体文件库的可扩充性;本发明并不依赖固定的载体文件库,充分用户可定 审IJ,只要用户将符合要求的载体文件放入载体文件库,系统即可正常运行。
【附图说明】
[0031]图1是本发明的系统结构示意图;
[0032] 图2是本发明的系统与载体文件库交互示意图;
[0033] 图3是文件上传过程流程图;
[0034] 图4是文件下载过程流程图;
[0035] 图5是文件删除过程流程图。
【具体实施方式】
[0036] 下面结合附图和具体实施例进一步说明本发明。
[0037] 如图1所示,一种基于隐写术的载体文件库可扩充的隐蔽文件系统,包括文件管 理单元1和文件操作单元2。
[003引文件管理单元1,用于生成文件索引和目录索引,文件索引用于唯一定位文件在系 统中的虚拟位置,包括文件名、文件类型、文件大小、文件关键值、文件安全等级、文件索引 表张数和最后一张文件索引表中文件分块关键值个数,目录索引用于记录文件索引信息。
[0039] 文件操作单元2,用于根据文件索引信息对文件进行操作,包括将待上传文件从用 户操作系统分块写入载体文件库对应的载体文件中、将待下载文件从载体文件库对应的载 体文件中分块读出并恢复到用户操作系统W及将待删除文件的文件索引信息从系统中删 除。
[0040] 如图2所示,隐蔽文件系统与可扩充载体文件库交互过程,可扩充载体文件库用 于提供载体文件并存储载密的载体文件,分为第一载体文件库和第二载体文件库,第一载 体文件库是充分用户可定制的,根据用户需求自己扩充,理论上是容量无限的;第二载体文 件库用于存储载密的载体文件。
[0041] 当需要上传文件或文件夹时,从第一载体文件库获取相应数量的载体文件,经过 隐写嵌入,将载密的载体文件上传到第二载体文件库;当需要下载文件时,从第二载体文件 库提取相应的载体文件,进行隐写提取,待下载文件恢复到用户操作系统。
[0042] 文件操作单元2包括文件上传单元21、文件下载单元22和文件删除单元23。
[00创如图3所示,文件上传单元21的工作过程如下;
[0044] 本发明所描述的隐蔽文件系统的上传操作需要接收两个参数;(1)待上传文件在 隐蔽文件系统下的虚拟路径;(2)待上传文件在用户操作系统(如windows)下的绝对路 径。两个路径都需要包含文件名和文件类型,例如windows下的绝对路径为;CAexample. txt,隐蔽文件系统下的虚拟路径就应为;.\\index/example.txt。
[0045] 文件管理单元1会根据待上传文件在用户操作系统下的绝对路径获取文件信息, 产生相应的文件索引即数据头,用于唯一定位文件在隐蔽文件系统中的位置,包括文件名、 文件类型、文件大小、文件关键值、文件安全等级、文件索引表张数、最后一张文件索引表中 文件分块关键值个数。
[0046] 文件名、文件类型、文件大小由待上传文件确定,用于在隐蔽文件系统中显示文件 信息。
[0047] 文件关键值,用于唯一定位隐蔽文件系统中的文件,由待上传文件的文件名、文件 类型W及待上传文件在隐蔽文件系统下的虚拟路径经过MD5生成,像身份证一样可W唯一 标识一个文件。
[0048] 文件安全等级,用于确定嵌入隐写算法的嵌入率,决定了每个载体文件的隐写容 量;文件安全等级是由用户设定的,不同的安全等级对应的文件的嵌入率不同,即文件分块 的大小不同,文件安全等级越高,文件分块越小,也就意味着文件将被分成更多个分块,由 于文件分块与载体文件是一一对应的关系,也就意味着将需要更多个载体文件。
[0049] 每个文件分块都具有一个唯一的用于对其进行标识的关键值,称为文件分块关键 值,与上述文件关键值是不同的,文件关键值对应的是整个文件,文件分块关键值对应的是 构成整个文件的各个分块。
[0化0] 文件索引表张数、最后一张文件索引表中文件分块关键值个数是通过文件大小和 文件安全等级计算得到:
[0054] 其中,IndexNum表示文件索引表张数;keyNum表示文件分块关键值个数 也即文件分块个数;keyLen表示关键值长度,由系统设定的固定值;FileSecurity 表示文件安全等级;BasicBlockLen表示基本分块大小,由系统设定的固定值; FileSecurity地asicBlockLen表示在某个文件安全等级下,文件分块的大小; LastIndexNum表示最后一张文件索引表中文件分块关键值个数;FileLen表示文件大小。
[0055] 文件索引表,用于记录文件分块与其嵌入的载体文件之间的一一对应关系;由于 文件索引表也要嵌入载体文件中,而每个载体文件的容量有限,所W文件索引表的大小并 不是没有限制的,每张文件索引表能够存储的文件分块关键值个数是确定的,文件索引表 的最后一条若不为空则指向下一张文件索引表。
[0化6] 文件索引表个数,用于记录待上传文件需要多少张文件索引表来记录信息。
[0化7]最后一张文件索引表中文件分块关键值个数,用于记录最后一张文件索引表中记 录了多少文件分块关键值。
[0化引文件管理单元W文件索引为结构基础,采用树的组织结构,W文件夹为单位,每个 文件夹形成一条目录索引。目录索引,用于记录当前文件夹下的文件索引信息,管理隐蔽文 件系统中的文件,
[0059] 上传文件需要更新隐蔽文件系统中的目录索引,具体执行步骤如下:
[0060] (1)输入;Filelndex*(文件索引指针),isAdd(是否增加文件索引);
[0061] (2)分离文件索引中的文件夹路径,用于读取目录索引;
[0062] 做判断是否为增加文件索引,上传操作isAdd=true,删除操作isAdd=化Ise;
[0063] (4)isAdd=true,执行添加文件索引操作,读取目录索引,目录索引W文件索引 链表的形式呈现;
[0064] (5)遍历目录索引,若待上传文件存在则上传失败,若待上传文件不存在,则将其 文件索引写在链表最后。
[0065] 做调用Writeindex操作,将更新后的目录索引写入。
[0066] 更新目录索引成功后,对待上传文件进行AES加密,形成密文。
[0067] AES加密的输入为;待上传文件在用户操作系统下的绝对路径、加密密钥、密文输 出路径;AES加密的密钥是用户登录隐蔽文件系统口令经过MD5加密得到的。
[0068] 由于单个载体文件的隐写容量有限,所W采用文件分块隐写的做法。文件分块的 输入为经过AES加密的密文,文件分块上传化loa地lock的输出为载密的载体文件。
[0069] 文件分块上传化loa地lock的核屯、是将加密文件分块隐写进载体文件,同时记录 文件分块的关键值和对应的载体文件信息,写入文件索引表,并将载密的载体文件存入第 二载体文件库,移除第一载体文件库中对应的载体文件。循环文件分块上传化loa地lock 操作直至上传完成。最后将文件索引表隐写进载体文件中,至此完成一个文件的上传操作。
[0070] 如图4所示,文件下载单元22的工作过程如下:
[0071] 隐蔽文件系统的下载操作需要接收两个参数;(1)待下载文件在隐蔽文件系统下 的虚拟路径;(2)待下载文件在用户操作系统(如windows)下的绝对路径。路径要求与上 传操作相同。
[0072] 根据待下载文件在隐蔽文件系统下的虚拟路径读取目录索引,通过比较路径找到 文件索引即待下载文件的数据头,若找不到则下载失败,证明待下载文件不在隐蔽文件系 统中。
[0073] W文件索引中的文件关键值作为ID,通过文件分块下载Downloa地lock操作从 第二载体文件库中下载文件索引表;遍历文件索引表,通过文件分块关键值下载文件分块; 循环结束后得到的是AES加密后的密文,通过用户密钥进行解密,完成文件的下载操作。
[0074] 如图5所示,文件删除单元23的工作过程如下:
[0075] 隐蔽文件系统的删除操作只需要接收待删除文件在隐蔽文件系统下的虚拟路径 一个参数。
[0076] 根据待删除文件在隐蔽文件系统下的虚拟路径读取目录索引,通过比较路径找到 文件索引即待删除文件的数据头,若找不到则删除失败,证明待删除文件不在隐蔽文件系 统中。
[0077] W文件索引中的文件关键值作为ID,通过文件分块下载Downloa地lock操作从第 二载体文件库中下载文件索引表;遍历文件索引表,擦除文件分块关键值和对应载体文件 信息,并将载密的载体文件移至第一载体文件库中。
[007引遍历结束,删除文件索引和文件索引表。删除文件索引使用的是上传文件过程中 更新隐蔽文件系统中的目录索引操作,只是isAdd=化Ise。将文件索引从目录索引中删 除,再调用Writeindex操作,将更新后的目录索引写入。
[0079]通过W上步骤,删除文件操作完成。
[0080] W上所述实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范 围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方 案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。
【主权项】
1. 一种基于隐写术的载体文件库可扩充的隐蔽文件系统,其特征在于:该系统包括文 件管理单元和文件操作单元; 所述文件管理单元,用于生成文件索引和目录索引,所述文件索引用于唯一定位文件 在系统中的虚拟位置,包括文件名、文件类型、文件大小、文件关键值、文件安全等级、文件 索引表张数和最后一张文件索引表中文件分块关键值个数,所述目录索引用于记录文件索 引信息; 所述文件操作单元,用于根据文件索引信息对文件进行操作,包括将待上传文件从用 户操作系统分块写入载体文件库对应的载体文件中、将待下载文件从载体文件库对应的载 体文件中分块读出并恢复到用户操作系统以及将待删除文件的文件索引信息从系统中删 除。2. 根据权利要求1所述的基于隐写术的载体文件库可扩充的隐蔽文件系统,其特征在 于:所述文件管理单元包括文件分块关键值个数计算单元、文件索引表张数计算单元、最后 一张文件索引表中文件分块关键值个数计算单元; 所述文件分块关键值个数计算单元,用于采用以下公式对文件分块关键值个数进行计 算其中,keyNum表示文件分块关键值个数也即文件分块个数,FileLen表示文件大小, FileSecurity表示文件安全等级,BasicBlockLen表示系统预设的基本分块大小; 所述文件索引表张数计算单元,用于采用以下公式对文件索引表张数进行计算:其中,IndexNum表示文件索引表张数,keyLen表示系统预设的文件分块关键值长度; 所述最后一张文件索引表中文件分块关键值个数计算单元,用于采用以下公式对最后 一张文件索引表中文件分块关键值个数进行计算:其中,LastIndexNum表示最后一张文件索引表中文件分块关键值个数,mod表示取模 运算。3. 根据权利要求1所述的基于隐写术的载体文件库可扩充的隐蔽文件系统,其特征在 于:所述文件操作单元包括文件上传单元、文件下载单元和文件删除单元; 所述文件上传单元,用于在文件管理单元生成待上传文件的文件索引并将其添加到目 录索引后,对待上传文件进行加密,并根据待上传文件的文件安全等级将加密文件分块隐 写进载体文件中,同时将文件分块关键值以及与该文件分块一一对应的载体文件信息写入 文件索引表,所有文件分块上传完成后,将文件索引表隐写进载体文件中; 所述文件下载单元,用于在文件管理单元通过目录索引查找到待下载文件的文件索 引后,根据文件索引中的文件关键值,从对应的载体文件中下载文件索引表,遍历文件索引 表,根据文件分块关键值从对应的载体文件中下载文件分块,所有文件分块下载完成后,对 得到的加密文件进行解密并恢复到用户操作系统; 所述文件删除单元,用于在文件管理单元通过目录索引查找到待删除文件的文件索 引后,根据文件索引中的文件关键值,从对应的载体文件中下载文件索引表,遍历文件索引 表,擦除文件分块关键值和对应载体文件信息,遍历结束后,删除文件索引表并通知文件管 理单元将文件索引从目录索引中删除。
【专利摘要】本发明提供一种基于隐写术的载体文件库可扩充的隐蔽文件系统,该系统包括文件管理单元和文件操作单元,所述文件管理单元用于生成文件索引和目录索引,所述文件索引用于唯一定位文件在系统中的虚拟位置,所述目录索引用于记录文件索引信息;所述文件操作单元用于根据文件索引信息对文件进行操作,包括文件上传、文件下载、文件删除等。本发明采用文件索引的方式管理载体文件库,提高了文件的查找效率,本发明对用户透明,操作方便,移植性强,载体文件库具有可扩充性,充分的用户可定制。
【IPC分类】G06F21/62, G06F17/30
【公开号】CN104881489
【申请号】CN201510310006
【发明人】郭玉刚, 张卫明, 田辉, 左鑫, 张卓
【申请人】合肥高维数据技术有限公司
【公开日】2015年9月2日
【申请日】2015年6月6日
转载请注明原文地址:https://www.famiwei.com/read-8138586.html