一种用于可移动存储设备上隐藏数据的方法及系统与流程

文档序号:19217006发布日期:2019-11-26 01:47阅读:251来源:国知局
一种用于可移动存储设备上隐藏数据的方法及系统与流程

本发明涉及存储技术领域,特别涉及一种用于可移动存储设备上隐藏数据的方法及系统。



背景技术:

nandflash(闪存)是目前最主流的非易失性存储介质,因具备高性能、低功耗、防震、较长寿命等优点,被广泛应用于移动u盘、固态硬盘(solidstatedrivers,ssd)、移动存储卡等常见存储产品中。

存储设备如固态硬盘是由控制单元和固态存储单元(nandflash)组成的硬盘。固态硬盘采用nandflash芯片存储数据,数据写入之前需要对nandflash芯片进行擦除操作,擦除操作的基本单位为块(block),每个block包含若干个页(page),page是数据读写操作的基本单元。

存储设备通过usb接口与计算机建立连接时,存储设备上电,计算机的操作系统能够识别出存储设备中的数据,进而能够对存储设备中的数据进行读写操作,进而使得存储设备能够适用于每台计算机使用,随之而来的数据安全问题也越来越受用户的重视。

因此,现有的存储设备面对需要保护的信息不被其他人访问,提高数据的安全性而存在改进之处。



技术实现要素:

针对现有技术存在的不足,本发明的目的在于提供一种用于可移动存储设备上隐藏数据的方法,具有提高数据安全性的特点。

本发明的上述技术目的是通过以下技术方案得以实现的:

一种用于可移动存储设备上隐藏数据的方法,包括如下步骤:

预先对存储设备进行分区以形成显示分区和隐藏分区,其中,显示分区和隐藏分区中均写入有基于分区容量生成逻辑地址到物理地址的映射表;

存储设备上电时仅上报显示分区以被主机的操作系统识别;

通过文件应用软件发送私有命令至存储设备以确定存储设备中存在隐藏分区,基于文件应用软件对隐藏分区中的数据进行显示和操作。

优选的,所述文件应用软件被存储在与主机相连的其他存储设备中,或文件应用软件被存储在存储设备的显示分区中。

优选的,在存储设备上电时仅上报显示分区以被主机的操作系统识别中,包括如下步骤:

存储设备的显示分区设置有多个,每个显示分区中存储有适配不同主机操作系统类型的文件应用软件;

存储设备上电时识别主机操作系统类型;

基于主机操作系统类型,上报存储有与之适配的文件应用软件的显示分区。

优选的,通过文件应用软件发送私有命令至存储设备以确定存储设备中存在隐藏分区,基于文件应用软件对隐藏分区中的数据进行显示和操作,包括如下步骤:

文件应用软件确定存储设备中存在隐藏分区后,文件应用软件接收存储设备反馈的隐藏分区映射表中对应的逻辑地址;

文件应用软件基于隐藏分区映射表中逻辑地址对应的物理地址,读取隐藏分区的数据;

文件应用软件通过其嵌套的虚拟文件系统解析隐藏分区数据的目录及文件结构,将解析后的数据以文件形式显示;

文件应用软件对显示后的隐藏分区数据进行读写操作。

优选的,所述文件应用软件可下发切换指令至存储设备中,存储设备响应于切换指令以将隐藏分区上报以被主机的操作系统识别。

针对现有技术存在的不足,本发明的另一目的在于提供一种用于可移动存储设备上隐藏数据的系统,具有提高数据安全性的特点。

本发明的上述技术目的是通过以下技术方案得以实现的:

一种用于可移动存储设备上隐藏数据的系统,包括:

分区模块,用于预先对存储设备进行分区以形成显示分区和隐藏分区,其中,显示分区和隐藏分区中均写入有基于分区容量生成逻辑地址到物理地址的映射表;

上报模块,用于在存储设备上电时仅上报显示分区以被主机的操作系统识别;

文件应用软件,用于发送私有命令至存储设备以确定存储设备中存在隐藏分区,以对隐藏分区中的数据进行显示和操作。

优选的,文件应用软件被存储在与主机相连的其他存储设备中,或文件应用软件被存储在存储设备的显示分区中。

优选的,所述上报模块包括:

配置模块,存储设备的显示分区设置有多个,每个显示分区中存储有适配不同主机操作系统类型的文件应用软件;

识别模块,存储设备上电时识别主机操作系统类型;

匹配模块,基于主机操作系统类型,上报存储有与之适配的文件应用软件的显示分区。

优选的,文件应用软件包括:

识别模块,用于确定存储设备中存在隐藏分区后,接收存储设备反馈的隐藏分区映射表中对应的逻辑地址;

读取模块,基于隐藏分区映射表中逻辑地址对应的物理地址,读取隐藏分区的数据;

显示模块,用于通过虚拟文件系统解析隐藏分区数据的目录及文件结构,将解析后的数据以文件形式显示;

操作模块,用于对显示后的隐藏分区数据进行读写操作。

优选的,所述文件应用软件还包括:

切换模块,用于下发切换指令至存储设备中,存储设备响应于切换指令以将隐藏分区上报以被主机的操作系统识别。

综上所述,本发明对比于现有技术的有益效果为:

存储设备在出厂设置的时候就进行了分区,分别形成显示分区和隐藏分区,存储设备在连接主机上电时,存储设备仅上报显示分区被主机操作系统识别,因此,主机操作系统仅能够对显示分区中的数据进行读写操作;

进而本申请中文件应用软件能够略过主机操作系统直接对存储设备的隐藏分区中数据进行读取识别,用户只有通过文件应用软件才能够进入到存储设备的隐藏分区中,使得隐藏分区中的数据以文件形式在文件应用软件中显示,方便用户直接对隐藏分区中的数据进行读写操作;

从而只有通过配套的文件应用软件才能读取隐藏分区中数据的方式,以提高存储设备中数据的安全性。

附图说明

图1为本发明技术方案中存储设备的结构示意图;

图2为本发明技术方案中存储设备与主机的交互示意图;

图3为本发明技术方案中隐藏数据方法的流程示意图;

图4为本发明技术方案中文件应用软件适配主机操作系统类型的流程示意图;

图5为本发明技术方案中文件应用软件读写及显示隐藏分区数据的流程示意图;

图6为本发明技术方案中隐藏数据系统的系统框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

存储设备包括有移动u盘、固态硬盘(solidstatedrivers,ssd)、移动存储卡。如图1所示,存储设备包括控制单元、闪存芯片和缓存单元,控制单元分别电性连接于闪存芯片和缓存单元,控制单元用于与主机实现数据交互,控制单元接收主机发送的命令,控制单元负责解析主机命令、分配缓存单元、实现逻辑地址与物理地址的映射、协调垃圾回收与主机业务等。

缓存单元可以暂存数据(如主机读写数据、垃圾回收过程中的中间数据等)、以及各种表项信息(如逻辑地址与物理地址的映射关系、数据块磨损及使用信息、数据块等级链表等)。通常缓存单元由控制单元外挂高速存储器(如sdram、ddr。。。)实现,在高性能企业级ssd中缓存容量可达到数百mb。

其中,存储设备具有可移动的特点被广泛应用于文件拷贝传输的场景,因此在现有存储设备的使用过程中,我们能够经常发现存储设备通过usb接口连接在计算机(也称为主机、host)中时,主机将会看到存储设备中所有的数据情况,从而在文件拷贝传输时,任何人只要将存储设备连接上主机,即可将存储设备中数据进行拷贝,从而导致存储设备中数据的安全性较低。

因此应对于上述技术问题,本申请预先对存储设备进行了分区,分别形成显示分区和隐藏分区,显示分区可用来保存基础类数据,隐藏分区可用来保存重要数据,因此,在存储设备在连接主机上电时,存储设备仅上报显示分区被主机操作系统识别,因此,主机操作系统仅能够对显示分区中的数据进行读写操作,而主机操作系统无法识别到存储设备隐藏分区中的数据,进而也无法对隐藏分区中的数据进行读写操作。

进而本申请中能够预先开发适配主机操作系统的文件应用软件,文件应用软件能够略过主机操作系统直接对存储设备的隐藏分区中数据进行读取识别,用户只有通过文件应用软件才能够进入到存储设备的隐藏分区中,使得隐藏分区中的数据以文件形式在文件应用软件中显示,方便用户直接对隐藏分区中的数据进行读写操作,因此只有通过配套的文件应用软件才能读取隐藏分区中数据的方式,以提高存储设备中数据的安全性。

实施例一

针对于上述内容,如图3所示,本发明提供了一种用于可移动存储设备上隐藏数据的方法,包括如下步骤:

步骤s100,预先对存储设备进行分区以形成显示分区和隐藏分区,其中,显示分区和隐藏分区中均写入有基于分区容量生成逻辑地址到物理地址的映射表。

根据步骤s100所限定的技术方案,具体地,在存储设备出厂时,通过在存储设备中控制单元中配置一个嵌入式程序,通过嵌入式程序能够对存储设备进行分区,以使得存储设备形成显示分区和隐藏分区,本实施例中,显示分区和隐藏分区的数量不做具体限制,根据实际应用情况实际设置,但显示分区和隐藏分区至少设置为一个。

存储设备进行分区的方式具体如下:

结合图1和图2所示,预先通过嵌入式程序下发用户设置指令,存储设备根据用户设置指令进行分区,设置显示分区和隐藏分区的数量以及显示分区和隐藏分区的分区容量,如存储设备的总容量是4g,将存储设备分成显示分区和隐藏分区两个分区,可设置显示分区的分区容量为1g,隐藏分区的分区容量为3g。

根据显示分区和隐藏分区的分区容量生成对应的逻辑地址,读取显示分区和隐藏分区的物理地址,基于逻辑地址和物理地址生成对应显示分区和隐藏分区的映射表,并将上述映射表写入到对应的显示分区和隐藏分区中,因此,显示分区和隐藏分区中均写入有基于分区容量生成逻辑地址到物理地址的映射表。

逻辑地址指应用程序中使用的相对地址,物理地址指闪存芯片中的绝对地址,映射表中存储的内容是逻辑地址到物理地址的映射关系,通过逻辑地址查询映射表,可以找到对应的物理地址,再对闪存芯片中的数据做读写访问。

当主机操作存储设备进行数据写入或数据读取时,通常都是发送一个目标操作的逻辑地址,存储设备接收到该逻辑地址后,转换成闪存芯片上对应的物理地址,再将数据写入或者从中读取数据,上述为主机操作存储设备读写的基本流程。

因此,如何明确数据要写到闪存芯片的哪个物理地址,或者数据从闪存芯片的那个物理地址读取出来,所有逻辑地址到物理地址的转换,都是由存储设备中控制单元的ftl转换层算法来管理,即管理逻辑地址到物理地址的映射表来实现。

步骤s200,存储设备上电时仅上报显示分区以被主机的操作系统识别。

根据步骤s200所限定的技术方案,具体地,现有技术中存储设备中生成有一张映射表,映射表对应存储设备整个物理地址对逻辑地址的映射,在存储设备上电时,存储设备将会上报整个映射表至主机中,主机识别映射表得到整个存储设备的逻辑地址,无论是linux操作系统还是windows操作系统,只需要存储设备的文件系统能够被主机识别,存储设备中数据在主机操作系统中是完全可见的。

而本申请中,存储设备中显示分区和隐藏分区中均被写入有映射表,主机操作系统中配置有应用软件和文件系统驱动层,存储设备将仅上报显示分区的分区容量、以及映射表的逻辑地址至主机中,应用软件获取到存储设备上报的显示分区的逻辑地址后,应用软件对逻辑地址进行读取从而识别显示分区中的数据,通过文件系统驱动层将显示分区中的数据以文件形式进行显示。

而存储设备没有将隐藏分区映射表的逻辑地址上报至主机中,从而主机无法将隐藏分区进行识别,也无法对隐藏分区中的数据进行显示和读写操作,因此隐藏分区对于用户来说是出于不可见状态。其中,存储设备的显示分区和隐藏分区的文件系统被设置成与主机操作系统相匹配。

显示分区对于主机操作系统来说是可见,但是隐藏分区对于主机操作系统来说是不可见的,本申请为达到打开存储设备中隐藏分区的目的,开发了文件应用软件进行应用。文件应用软件与主机操作系统相适配,文件应用软件能够在主机操作系统下操作使用,在主机操作系统下打开文件应用软件能够识别存储设备中隐藏分区的数据并进行读写操作。

在一个实施例中,文件应用软件被存储在存储设备的显示分区中。在另一个实施例中,文件应用软件被存储在主机中,即被存储在与主机相连的其他存储设备中。但存储设备由于可移动的特性,经常被连接不同操作系统的主机,文件应用软件能够适应linux操作系统,但不能适应windows操作系统,因此需要配置两套文件应用软件进行专门使用。

在存储设备上电时仅上报显示分区以被主机的操作系统识别中,如图4所示,包括如下步骤:

步骤s210,存储设备的显示分区设置有多个,每个显示分区中存储有适配不同主机操作系统类型的文件应用软件;

步骤s220,存储设备上电时识别主机操作系统类型;

步骤s230,基于主机操作系统类型,上报存储有与之适配的文件应用软件的显示分区。

根据步骤s210~步骤s230所限定的技术方案,具体地,存储设备在出厂时就被建立多个显示分区,从而将适配不同主机操作系统类型的文件应用软件存储在不同的显示分区中。在一个实施例中,存储设备被配置有第一显示分区、第二显示分区和隐藏分区,在第一显示分区中存储有适配linux操作系统的文件应用软件,在第二显示分区中存储有适配windows操作系统的文件应用软件。

因此在存储设备上电时,存储设备能够识别主机操作系统的类型,存储设备上电时主机操作系统将与存储设备进行数据交互,数据交互中不同主机操作系统将会下发不同的数据交互指令,通过该数据交互指令即可识别主机操作系统类型。如存储设备识别到主机操作系统类型为linux操作系统,存储设备将上报第一显示分区,以使得仅有第一显示分区被主机的操作系统识别。如存储设备识别到主机操作系统类型为windows操作系统,存储设备将上报第二显示分区,以使得仅有第二显示分区被主机的操作系统识别。

通过上述方式,从而达到存储设备中的文件应用软件能够适应多个主机操作系统的目的。

以下对文件应用软件打开存储设备隐藏分区中的数据做如下说明:

步骤s300,通过文件应用软件发送私有命令至存储设备以确定存储设备中存在隐藏分区,基于文件应用软件对隐藏分区中的数据进行显示和操作。

根据步骤s300所限定的技术方案,具体地,存储设备上电后,主机与存储设备建立连接,进而文件应用软件与存储设备建立连接。

文件应用软件确定存储设备中是否存在隐藏分区具体过程如下:用户在主机操作系统中打开文件应用软件,文件应用软件将发送私有命令至存储设备中,私有命令中携带有验证密钥,存储设备接收到私有命令后,能够获取私有命令中的验证密钥,进而将私有命令的验证密钥与预设密钥进行匹配,在验证密钥与预设密钥匹配成功后,存储设备将返回隐藏分区映射表对应的逻辑地址、及隐藏分区的分区容量至文件应用软件中,以确定存储设备中存在隐藏分区,使得用户能够通过文件应用软件对隐藏分区中数据进行显示和读写。

反之,在验证密钥与预设密钥匹配失败后,存储设备将不会返回隐藏分区映射表对应的逻辑地址,以表示存储设备中无隐藏分区。

为提高文件应用软件使用的唯一性,文件应用软件中还配置有登录页面,需要在登录页面中输入账号和密码才能够进入到文件应用软件中,进而确定存储设备中隐藏分区的存在。

值得说明的是,通过文件应用软件发送私有命令至存储设备以确定存储设备中存在隐藏分区,基于文件应用软件对隐藏分区中的数据进行显示和操作,如图5所示,包括如下步骤:

步骤s310,文件应用软件确定存储设备中存在隐藏分区后,文件应用软件接收存储设备反馈的隐藏分区映射表中对应的逻辑地址;

步骤s320,文件应用软件基于隐藏分区映射表中逻辑地址对应的物理地址,读取隐藏分区的数据;

步骤s330,文件应用软件通过其嵌套的虚拟文件系统解析隐藏分区数据的目录及文件结构,将解析后的数据以文件形式显示;

步骤s340,文件应用软件对显示后的隐藏分区数据进行读写操作。

根据步骤s310~s340所限定的技术方案,具体地,文件应用软件获取到隐藏分区映射表的逻辑地址后,识别映射表中对应隐藏分区的分区容量起始逻辑地址和结束逻辑地址,进而相应获得隐藏分区的分区容量,进而通过逻辑地址得到对应的物理地址,从而文件应用软件能够读取隐藏分区中的数据。

其中,文件应用软件中嵌套配置有虚拟文件系统,若文件应用软件直接读取隐藏分区中的数据,数据呈现的形式是“010101……”二进制码形式将无法形成有效显示给予用户查看,因此虚拟文件系统能够解析隐藏分区数据的目录及文件结构,将解析后的数据以文件形式显示。文件形式显示的样式将由文件应用软件的ui界面进行限定。

由此,将虚拟文件系统配置进入到文件应用软件中,使得文件应用软件构成能够打开隐藏分区中数据并显示的整体程序,而无需调用主机操作系统的文件系统驱动层,从而文件应用软件能够直接读取隐藏分区中的数据,以略过主机操作系统,直接将隐藏分区中的数据以文件形式在文件应用软件的ui界面进行显示。因此,文件应用软件打开隐藏分区中数据的安全性更高。

文件应用软件对显示后的隐藏分区数据进行读写操作。具体地,文件应用软件对隐藏分区中数据进行读操作时,文件应用软件能够下发读操作的私有命令至存储设备,私有命令中携带有读操作指令、读取文件的逻辑地址、以及私有密钥,存储设备接收到私有命令时,首先将预设的私有密钥与预设密钥进行匹配,匹配成功后再进行读操作,存储设备基于逻辑地址在映射表中寻找文件位于闪存芯片中的物理地址,进而读取闪存芯片中的数据反馈至文件应用软件,文件应用软件将反馈的数据经虚拟文件系统后进行显示。

同理,文件应用软件系统对隐藏分区中进行写操作时,文件应用软件下发写操作的私有命令至存储设备,私有命令中携带有写操作指令、写入文件的逻辑地址、以及私有密钥,存储设备接收到私有命令时,首先将预设的私有密钥与预设密钥进行匹配,匹配成功后再进行写操作,存储设备将数据写入到闪存芯片中,并将写入文件的物理地址和逻辑地址相映射,进而更新隐藏分区的映射表,并相应将映射表反馈给文件应用软件。

当用户通过文件应用软件将存储设备中的数据拷贝到主机中时。用户通过文件应用软件选择存储设备中的文件或目录,以及拷贝至主机的操作,文件应用软件通过虚拟文件系统得到用户待拷贝的文件信息及文件内容相关的所有逻辑地址,文件应用软件下发私有命令至存储设备,存储设备基于逻辑地址从映射表中读取文件对应的物理地址,文件应用软件在主机的操作系统中创建相同文件信息的文件,文件应用软件将存储设备读到的文件数据,写入到操作系统创建的文件中。

当用户通过文件应用软件将主机中的数据拷贝到存储设备中时。用户通过文件应用软件选中主机中的文件,并选择拷贝至存储设备,文件应用软件通过操作系统读取主机文件的文件信息及文件内容,文件应用软件通过虚拟文件系统生成写入存储设备的逻辑地址,文件应用软件下发私有命令至存储设备,将文件信息和内容写入到存储设备中,存储设备将写入存储设备的物理地址与逻辑地址映射并更新在映射表中,完成文件从主机操作系统中写入到存储设备的操作。

值得说明的是,文件应用软件还可下发切换指令至存储设备中,存储设备响应于切换指令以将隐藏分区上报以被主机的操作系统识别。

因此,通过上述方式能够实现隐藏分区对主机操作系统显示,使得存储设备的隐藏分区能够被主机操作系统识别,在存储设备接收到文件应用软件下发的切换指令时,存储设备将隐藏分区映射表对应的逻辑地址上报给主机操作系统,使得存储设备的隐藏分区能够被主机操作系统访问。

但应用上述方式使得主机操作系统识别出存储设备的隐藏分区后,需要重新插拔存储设备,才能够避免存储设备的隐藏分区被主机操作系统识别。从而通过上述方式,能够将隐藏分区对于主机操作系统在显示与隐藏之间切换,切换方式简单、方便,无需对存储设备进行复杂配置操作。

可见,本申请中文件应用软件能够略过主机操作系统直接对存储设备的隐藏分区中数据进行读取识别,用户只有通过文件应用软件才能够进入到存储设备的隐藏分区中,使得隐藏分区中的数据以文件形式在文件应用软件中显示,方便用户直接对隐藏分区中的数据进行读写操作,从而只有通过配套的文件应用软件才能读取隐藏分区中数据的方式,以提高存储设备中数据的安全性。

实施例二

本发明还提出了一种用于可移动存储设备上隐藏数据的系统,如图6所示,系统应用于存储设备和主机,存储设备包括控制单元、闪存芯片和缓存单元,控制单元分别电性连接于闪存芯片和缓存单元,控制单元用于与主机实现数据交互,控制单元接收主机发送的命令,控制单元负责解析主机命令、分配缓存单元、实现逻辑地址与物理地址的映射、协调垃圾回收与主机业务等。存储设备的控制单元中还配置有分区模块和上报模块。

分区模块用于预先对存储设备进行分区以形成显示分区和隐藏分区,其中,显示分区和隐藏分区中均写入有基于分区容量生成逻辑地址到物理地址的映射表;上报模块用于在存储设备上电时仅上报显示分区以被主机的操作系统识别。

其中,在一个实施例中,存储设备的显示分区中存储有文件应用软件,文件应用软件用于发送私有命令至存储设备以确定存储设备中存在隐藏分区,以对隐藏分区中的数据进行显示和操作。

在另一个实施例中,文件应用软件被存储在与主机相连的其他存储设备中。文件应用软件用于发送私有命令至存储设备以确定存储设备中存在隐藏分区,以对隐藏分区中的数据进行显示和操作。

值得说明的是,上报模块包括配置模块、识别模块和匹配模块。

配置模块用于在存储设备的显示分区设置有多个,每个显示分区中存储有适配不同主机操作系统类型的文件应用软件;识别模块用于存储设备上电时识别主机操作系统类型;匹配模块用于基于主机操作系统类型,上报存储有与之适配的文件应用软件的显示分区。

文件应用软件包括识别模块、读取模块、显示模块和操作模块。

识别模块用于确定存储设备中存在隐藏分区后,接收存储设备反馈的隐藏分区映射表中对应的逻辑地址;读取模块用于基于隐藏分区映射表中逻辑地址对应的物理地址,读取隐藏分区的数据;显示模块用于通过虚拟文件系统解析隐藏分区数据的目录及文件结构,将解析后的数据以文件形式显示;操作模块用于对显示后的隐藏分区数据进行读写操作。

文件应用软件还包括切换模块,切换模块用于下发切换指令至存储设备中,存储设备响应于切换指令以将隐藏分区上报以被主机的操作系统识别。

本申请中文件应用软件能够略过主机操作系统直接对存储设备的隐藏分区中数据进行读取识别,用户只有通过文件应用软件才能够进入到存储设备的隐藏分区中,使得隐藏分区中的数据以文件形式在文件应用软件中显示,方便用户直接对隐藏分区中的数据进行读写操作,从而只有通过配套的文件应用软件才能读取隐藏分区中数据的方式,以提高存储设备中数据的安全性。

以上所述仅是本发明的示范性实施方式,而非用于限制本发明的保护范围,本发明的保护范围由所附的权利要求确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1