掌桥专利:专业的专利平台
掌桥专利
首页

一种动态分配的双系统隔离文件系统的方法

文献发布时间:2023-06-19 18:37:28


一种动态分配的双系统隔离文件系统的方法

技术领域

本发明涉及用于数据安全保护的数据处理领域,具体涉及一种动态分配的双系统隔离文件系统的方法。

背景技术

近几年来5G通信技术和智能手机在我国得到了快速发展,由此也带动了以智能手机为核心的移动计算应用迅速普及。与此同时,随着行业应用的不断深入,一些对信息安全要求较高的行业在使用移动应用过程中对设备提出了更高的安全要求,需要在一个硬件设备上部署两个操作系统,一个用户工作,存储涉密信息,一个用于生活,存储个人信息,并且两个操作系统还需要互相隔离,互相不可访问。而传统的双系统是硬性将物理存储进行切割,分别提供给两个操作系统,这样的方式过于死板,往往使得实际使用过程中一个系统存储空间已经告警,而另一个却有大量盈余,然而却无法动态调整。

而调整双系统的存储空间对普通用户来说则几乎是一件几乎不可能完成的工作。一旦某个系统空间耗尽,需要进行一系列耗时而又复杂的任务,来提升磁盘分区中可用的空间,通常这种任务会涉及到重新刷机、重新部署操作系统、引导至恢复模式及创建新的分区和一个文件系统等等操作。这些对于普通用户而言是不可能实现的,因此如何动态对存储空间进行分配,且确保分区后的文件隔离的同时保证双系统文件的安全性成为急需解决的问题。

发明内容

本发明提供一种动态分配的双系统隔离文件系统的方法,以解决现有的问题。

本发明的一种动态分配的双系统隔离文件系统的方法采用如下技术方案:

本发明一个实施例提供了一种动态分配的双系统隔离文件系统的方法,该方法包括以下步骤:

S1:在Android系统的/data分区建立逻辑分区,在逻辑分区建立生活分区和工作分区;对生活分区和工作分区进行隔离,包括:当用户切换到生活系统时,逻辑分区将生活分区挂载在生活系统上,将工作分区卸载;当用户切换到工作系统时,逻辑分区将工作分区挂载在工作系统上,将生活分区卸载;

S2:根据预设长度构建密钥表格,所述密钥表格包括表头行和内容行;将密钥表格保存在用户的存储设备中实现密钥表格的管理;

S3:根据密钥表格对文件进行加密,得到密文文件,包括:

将文件转换为待加密数据;

依次对每个待加密数据进行加密,包括:获取密钥表格的表头行中与待加密数据的值相等的表头,将表头对应的密钥表格的内容行中的元素作为待加密数据的密文;将密钥表格的内容行中密文之前的所有元素依次向后移动一位,将密文填充到密钥表格的内容行中第一个位置;

将所有待加密数据的密文转换为密文文件;

S4:根据密钥表格对密文文件进行解密,得到明文文件,包括:

将密文文件转换为待解密数据;

依次对每个待解密数据进行解密,包括:获取密钥表格的内容行中与待解密数据值相等的元素,作为第一元素,将第一元素对应的密钥表格的表头行中的表头作为待解密数据的明文,将密钥表格的内容行中第一元素之前的所有元素依次向后移动一位,将第一元素填充到密钥表格的内容行中第一个位置;

将所有待解密数据的明文转换为明文文件;

S5:为每个用户分配一个用户标识,将每个用户标识保存在用户的存储设备中;根据密钥表格对用户标识进行加密,将加密后的用户标识保存在工作分区中;根据存储设备中的用户标识与工作分区中加密后的用户标识进行用户登入工作系统验证。

优选的,所述根据预设长度构建密钥表格,包括的具体步骤如下:

将预设长度记为k,对[0,2

优选的,所述将密钥表格保存在用户的存储设备中实现密钥表格的管理,包括的具体步骤如下:

将密钥表格保存在用户的存储设备中,当用户向工作分区写入文件时,工作系统根据插入的存储设备中的密钥表格对文件进行加密,得到密文文件;

当用户从工作分区读取文件时,工作系统根据插入的存储设备中的密钥表格对密文文件进行解密,得到明文文件。

优选的,所述将文件转换为待加密数据,包括的具体步骤如下:

将文件编码成二进制数据,将二进制数据分割成多个预设长度的二进制数,将每个二进制数转换为十进制数,作为待加密数据。

优选的,所述将所有待加密数据的密文转换为密文文件,包括的具体步骤如下:

将所有待加密数据的密文转换为预设长度的二进制数,并将所有二进制数拼接在一起得到二进制密文数据;对二进制密文数据解码得到密文文件。

优选的,所述根据存储设备中的用户标识与工作分区中加密后的用户标识进行用户登入工作系统验证,包括的具体步骤如下:

根据存储设备中的密钥表格对工作分区中加密后的用户标识进行解密,当解密结果与存储设备中的用户标识一致时,用户登入工作系统验证通过,否则不通过。

本发明的技术方案的有益效果是:本发明无需重新编译操作系统即可实现双系统手机动态调整存储空间大小,确保了工作系统和生活系统存储空间的隔离,同时本发明中的方法无需运行两个操作系统,设备效率更高,电池待机时间更长;本发明构建的密钥表格的密钥空间大,可抵抗暴力破解攻击;本发明通过查找待加密数据在密钥表格中对应的内容实现待加密数据的加密,加密方法简单高效,同时本发明根据待加密数据的密文对密钥表格进行动态更新,确保了相同的待加密数据的密文不同,破坏了所有待加密数据中的数据规律,得到的密文复杂,使得攻击者难以根据密文内容猜测原始的待加密数据,确保了工作分区中文件的安全性;本发明根据前一个待加密数据的密文调整密钥表格,使得后续的每一个待加密数据的密文都与之前的待加密数据的密文相关,若改变一个待加密数据,则会导致后续所有的待加密数据的密文改变,如此可使得两个相似的文件对应的待加密数据的密文完全不同,进一步使得最终得到的密文文件完全不同,攻击者难以根据多个密文文件猜测出原始的文件之间的联系,进一步提高了工作分区中文件的安全性;本发明通过专门的存储设备管理用户的密钥表格,进行用户登入工作系统的验证,确保了用户只能登入自己的工作系统,无法登入其他用户的工作系统,进一步确保了工作系统文件的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一种动态分配的双系统隔离文件系统的方法的步骤流程图;

图2为本发明的一种动态分配的双系统隔离文件系统的方法的生活分区和工作分区示意图;

图3为本发明的一种动态分配的双系统隔离文件系统的方法的一个密钥表格示意图;

图4为本发明的一种动态分配的双系统隔离文件系统的方法的一个密钥表格示意图;

图5为本发明的一种动态分配的双系统隔离文件系统的方法的加密过程示意图;

图6为本发明的一种动态分配的双系统隔离文件系统的方法的解密过程示意图。

具体实施方式

为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种动态分配的双系统隔离文件系统的方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。

下面结合附图具体的说明本发明所提供的一种动态分配的双系统隔离文件系统的方法的具体方案。

请参阅图1,其示出了本发明一个实施例提供的一种动态分配的双系统隔离文件系统的方法的步骤流程图,该方法包括以下步骤:

S001.动态分配存储空间,实现双系统隔离。

本实施例考虑到需要动态调整文件分区大小的同时实现不同系统的隔离,因此本实施例在实际的物理存储与前端交互层之间实现一个逻辑分区,用于管理底层的物理存储的实际分配。逻辑分区用于将存储管理抽象到更高的层次,形成更简单的管理模式,是实现逻辑分区与物理映射的关键。本实施例考虑到Android系统所有物理分区是在刷机时通过镜像预分配且已经固定,如/boot分区,/system分区等等,因此无法调整这些分区的大小。但是对于/data分区而言,则可以进一步将其看成是一个独立的设备。因此,可根据/data分区来实现逻辑分区的构建以及存储空间的动态分配,具体过程如下:

将/data分区看成是一个独立的设备,建立逻辑分区,之后在此之上建立逻辑的生活分区和工作分区。由于生活分区、工作分区均建立在逻辑分区之上,因此可以根据用户的实际需求创建或调整生活分区以及工作分区的大小。

至此,实现了生活分区、工作分区的构建以及存储空间的动态分配。

需要说明的是,为了确保生活系统与工作系统隔离,禁止两个系统的文件进行互相访问,还需进行以下操作:

当用户切换到对应的系统时,比如当手机启动后进入生活系统,此时逻辑分区将生活分区挂载在生活系统上,同时将工作分区进行卸载,此时用户只能访问生活系统内对应的生活分区的文件内容;当用户切换到工作系统时,逻辑分区先将生活分区卸载,再将工作分区挂载在工作系统上,此时用户只可见工作系统内对应的工作分区的文件内容,此时原来的生活系统的内容由于对应的生活分区已经被卸载而无法访问。如此,实现了生活系统与工作系统的隔离。生活分区和工作分区示意图参见图2。

需要说明的是,本实施例无需重新编译操作系统即可实现双系统手机的动态调整存储空间大小,确保了工作系统和生活系统存储空间的隔离,同时本实施例中的方法无需运行两个操作系统,设备效率更高,电池待机时间更长。

S002.对工作分区中待加密文件进行编码,获得待加密数据。

需要说明的是,生活分区和工作分区为逻辑隔离,逻辑隔离可以一定程度上保证数据的安全性,但逻辑隔离并不能完全防止黑客的攻击。工作分区需要存储用户工作相关的涉密文件,为确保工作分区中的涉密文件不被黑客窃取,还需对工作分区中的文件进行加密。工作分区中文件可能包含多种类型,如图片文件、文本文件、结构化数据文件等。为对不同类型的文件进行加密,需将待加密文件编码成统一的形式再进行加密。

本实施例中,将待加密文件编码成二进制形式,例如对文本文件、结构化数据文件等利用 GB2312、UTF-8、GBK等编码方式编码成二进制数据,对图片文件中每个像素点的像素值利用十进制转二进制的方法转换为二进制形式。如此,实现了将所有待加密文件编码成统一的形式。例如对文本“我爱编程”利用GB2312编码进行编码的结果为:

1100111011010010101100001010111010110001111000001011001111001100

将编码得到的二进制数据的长度记为L,将二进制数据分割成

需要说明的是,当二进制数的长度k越大,转换为十进制数之后,可能得到的不同的十进制数就越多,最多为2

例如文本“我爱编程”对应的二进制数据的长度为64,将其分割成8个长度为8的二进制数为11001110、11010010、10110000、10101110、10110001、11100000、10110011、11001100。将每个二进制数转换为十进制数,则待加密数据分别为206、210、176、174、177、224、179、 204。

至此,获取了待加密数据。需要说明的是,本实施例通过将不同类型的文件编码成统一的形式,使得后续的加密过程更简单。

S003.构建初始的密钥表格。

需要说明的是,本实施例的目的是构建一个初始的密钥表格,在密钥表格中查找待加密数据对应的元素作为待加密数据的密文,实现对待加密数据进行加密的同时动态更新密钥表格,因此密钥表格的表头需要包含所有可能的待加密数据,以确保加密时每个待加密数据都可根据表头在密钥表格中找到对应的元素。而待加密数据由长度为k的二进制数转换而来,则待加密数据共有2

在本实施例中,构建密钥表格的方法为:

对[0,2

至此,获得了密钥表格,密钥表格共包含两行2

需要说明的是,密钥表格存储在专门的存储设备中,本实施例中,将密钥表格存在U盘中,并将存储了密钥表格的U盘作为用户的密钥U盘,在其他实施例中,实施人员可采用其他的存储设备进行密钥表格的存储。存在(2

S004.根据密钥表格对待加密数据进行加密,获得密文文件。

在本实施例中,依次对每个待加密数据进行加密,具体的加密方法为:

对于第i个待加密数据N

为了方便展示,图4、5表示的是以k=4为例时的密钥表格(参见图4,其中图中灰色的一行为密钥表格的表头行,白色的一行为密钥表格的内容行)以及多个待加密数据3、9、5、 5、14为例进行加密的加密过程示意图(参见图5)。根据图5可知,多个待加密数据3、9、5、5、14的密文分别为8、12、3、2、0,密文与待加密数据完全不同,且破坏了多个待加密数据之间的数据规律,如存在两个相同的待加密数据5,但不存在相同的密文。

至此,实现了对每个待加密数据的加密以及密钥表格的动态更新,获得了每个待加密数据的密文,密文为十进制数,将每个密文转换为长度为k的二进制数,对所有二进制数组成的二进制密文数据进行解码,将二进制密文数据转换为与待加密文件格式相同的文件,将得到的文件作为密文文件。如待加密文件为文本文件时,将二进制密文数据转换为文本文件。

至此,完成了待加密文件的加密,获得了密文文件。当用户切换到工作系统时,需要将密钥U盘插入手机。当用户向工作分区写入文件时,工作系统根据密钥U盘中的密钥表格实现写入文件的加密。需要说明的是,在加密时,工作系统将密钥U盘中的密钥表格读入缓冲区,在加密过程中,对密钥表格进行动态更新的操作是在工作系统缓冲区完成的,在加密完成后,将缓冲区的密钥表格删除。在整个加密过程中,对于密钥U盘中的密钥表格不做任何修改。

需要说明的是,本实施例通过查找待加密数据在密钥表格中对应的内容实现待加密数据的加密,加密方法简单高效。同时本实施例根据待加密数据的密文对密钥表格进行动态更新,确保了相同的待加密数据的密文不同,破坏了所有待加密数据中的数据规律,得到的密文复杂,使得攻击者难以根据密文内容猜测原始的待加密数据,确保了工作系统中文件的安全性。本实施例根据前一个待加密数据的密文调整密钥表格,使得后续的每一个待加密数据的密文都与之前的待加密数据的密文相关,若改变一个待加密数据,则会导致后续所有的待加密数据的密文改变,如此可使得两个相似的文件对应的待加密数据的密文完全不同,进一步使得最终得到的密文文件完全不同,攻击者难以根据多个密文文件猜测出原始的文件之间的联系,进一步提高了工作分区中文件的安全性。

S005.工作系统登入验证,对密文文件进行解密。

当用户读取工作分区中的文件时,工作系统根据密钥U盘中的密钥表格进行密文文件的解密。对密文文件的解密方法如下:

将密文文件利用步骤S002中的方法转换为多个十进制数,分别作为待解密数据。依次对每个待解密数据进行解密:

对于第j个待解密数据U

为了方便展示,图4、6表示的是以k=4为例时的密钥表格(参见图4)以及多个待解密数据8、12、3、2、0为例进行解密的解密过程示意图(参见图6)。根据图6可知,多个待解密数据8、12、3、2、0的明文分别为3、9、5、5、14。

至此,实现了对每个待解密数据的解密,获得了每个待解密数据的明文,明文为十进制数,将每个明文转换为长度为k的二进制数,对所有二进制数组成的二进制明文数据进行解码,将二进制明文数据转换为与密文文件格式相同的文件,将得到的文件作为明文文件,即加密前的文件。如密文文件为文本文件时,将二进制明文数据转换为文本文件。

需要说明的是,为确保每个用户的工作分区中文件的安全性,需为每个用户分配不同的密钥表格,即每个用户的密钥U盘中的密钥表格都不相同。同时需为每个用户分配一个用户标识,每个用户的密钥U盘需保存该用户的用户标识,工作分区需保存利用密钥表格加密后的用户标识,当用户将密钥U盘插入到手机中时,工作系统利用密钥表格对工作分区中的加密后的用户标识进行解密,当解密结果与密钥U盘中的用户标识一致时,用户登入工作系统验证通过,此时用户才可向工作分区读取或写入文件。当解密结果与密钥U盘中的用户标识不一致时,用户登入工作系统验证不通过,此时用户无权限向工作分区读取或写入文件。若一个用户将自己的密钥U盘插入到其他用户的手机中,由于用户标识以及密钥表格不同,该用户无法读取其他用户的工作分区中的文件,也无法向其他用户的工作分区中写入文件。本实施例通过密钥U盘管理用户的密钥表格,进行用户登入工作系统的验证,确保了用户只能登入自己的工作系统,无法登入其他用户的工作系统,进一步确保了工作系统文件的安全性。

通过以上步骤,完成了双系统存储空间的动态分配、双系统隔离以及工作系统文件的加密与解密。

本发明实施例无需重新编译操作系统即可实现双系统手机动态调整存储空间大小,确保了工作系统和生活系统存储空间的隔离,同时本发明实施例中的方法无需运行两个操作系统,设备效率更高,电池待机时间更长;本发明实施例构建的密钥表格的密钥空间大,可抵抗暴力破解攻击;本发明实施例通过查找待加密数据在密钥表格中对应的内容实现待加密数据的加密,加密方法简单高效,同时本发明实施例根据待加密数据的密文对密钥表格进行动态更新,确保了相同的待加密数据的密文不同,破坏了所有待加密数据中的数据规律,得到的密文复杂,使得攻击者难以根据密文内容猜测原始的待加密数据,确保了工作分区中文件的安全性;本发明实施例根据前一个待加密数据的密文调整密钥表格,使得后续的每一个待加密数据的密文都与之前的待加密数据的密文相关,若改变一个待加密数据,则会导致后续所有的待加密数据的密文改变,如此可使得两个相似的文件对应的待加密数据的密文完全不同,进一步使得最终得到的密文文件完全不同,攻击者难以根据多个密文文件猜测出原始的文件之间的联系,进一步提高了工作分区中文件的安全性;本发明实施例通过密钥U盘管理用户的密钥表格,进行用户登入工作系统的验证,确保了用户只能登入自己的工作系统,无法登入其他用户的工作系统,进一步确保了工作系统文件的安全性。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120115638246