首页> 中国专利> 一种用于彻底删除存储设备中数据的方法

一种用于彻底删除存储设备中数据的方法

摘要

本发明提供了一种用于彻底删除存储设备中数据的方法,属于电子产品技术领域。它解决了现有的技术对硬件的要求高的问题。本用于彻底删除存储设备中数据的方法,包括:A接收待删除的存储设备,读取首个扇区;B、并定义两个用于解析首个扇区的结构体,MBR结构体和DBR结构体;C、磁盘总容量的计算;D、根据FAT32文件系统格式化算法和C步骤中计算的存储设备的磁盘总容量将整个存储设备格式化成一个FAT32文件系统的分区;E、识别用户针对所述存储设备选择的清除等级,基于所选的清除等级生成相应地清除算法,并通过应用所生成的清除算法来彻底删除存储设备中的数据。本方法可以快捷且有效地清除数据,成本低。

著录项

  • 公开/公告号CN104346105A

    专利类型发明专利

  • 公开/公告日2015-02-11

    原文格式PDF

  • 申请/专利权人 三木控股集团有限公司;

    申请/专利号CN201410667263.8

  • 发明设计人 林夏森;

    申请日2014-11-20

  • 分类号G06F3/06;

  • 代理机构台州市方圆专利事务所;

  • 代理人张智平

  • 地址 317606 浙江省台州市玉环经济开发区三木工业园

  • 入库时间 2023-12-17 04:10:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-26

    授权

    授权

  • 2015-04-08

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20141120

    实质审查的生效

  • 2015-02-11

    公开

    公开

说明书

技术领域

本发明属于电子产品技术领域,涉及一种用于彻底删除存储 设备中数据的方法,特别是一种用于彻底删除U盘、SD卡、TF 卡等移动存储设备中数据的方法。

背景技术

如今U盘、SD卡、移动硬盘已经非常普及,人民习惯于使 用它们拷贝各种信息。但是如今数据安全已成为个人、各企 业共同面临的一个问题,由于对存储设备原理的不够了解, 很多时候人们认为已经删除了的数据,其实并没有完全删除, 通过一定的技术可以将这些数据恢复出来,如此很容易造成 数据泄密等。因此,为了保障数据安全,市面上出现了各种 各样的文件粉碎软件或工具,但是由于便携式存储设备所使 用的文件系统类型繁多,尤其像NTFS文件系统为微软的商业 机密,为了兼容这些存储设备,就不得不使用操作系统,其 软件方案就是在操作系统上运动一个文件粉碎的软件。由于 需要运行操作系统,其硬件方案要么是一个简化了的PC机或 者是一个典型的嵌入式系统,如此成本就很高。为此本申请 提供一种简单可行文件粉碎的方法,可以大为降低对硬件的 要求,降低成本。

发明内容

本发明的目的是针对现有的技术存在上述问题,提出了一种 用于彻底删除存储设备中数据的方法,该方法可以快捷且有效地 清除数据,成本低。

本发明的目的可通过下列技术方案来实现:一种用于彻底删 除存储设备中数据的方法,其特征在于,所述方法包括:

A、接收待删除的存储设备,从存储设备中读取待清除数据的 分区的首个扇区;

B、设定一个与扇区大小相同的缓冲区,并定义两个用于解析 首个扇区的结构体,该定义的结构体分别为:MBR结构体和DBR 结构体;将首个扇区读入缓冲区,再根据缓冲区中的前几个字节 判断是将首个扇区的数据按照MBR结构体解析,还是按照DBR结 构体解析;

C、根据首个扇区的解析方式,对存储设备的磁盘总容量进行 计算;

D、根据FAT32文件系统格式化算法和C步骤中计算的存储设 备的磁盘总容量将整个存储设备格式化成一个FAT32文件系统的 分区;

E、识别用户针对所述存储设备选择的清除等级,基于所选的 清除等级生成相应地清除算法,并通过应用所生成的清除算法来 彻底删除存储设备中的数据。

该用于彻底删除存储设备中数据的方法不需要PC机或者嵌 入式系统,只需要一般的MCU或者单片机就能实现数据删除此种 功能,成本低廉、清洗速度快,能彻底且稳定有效的清除数据, 防止数据恢复。本发明是先将存储设备格式化成一个FAT文件系 统的分区,再开始清除。通过格式化的操作能较快、较方便、较 安全的删除数据,之后再进行清除的操作,可以快捷且有效地彻 底清除数据。另外,在进行清除的操作时,本发明需要按照FAT32 文件系统的结构删除,这样能保证存储设备经过清除数据操作后 能像新的一样用来使用,避免因为不正规的数据删除破坏了存储 设备文件系统结构、导致其不能被操作系统正常识别和使用。通 过先格式化再清除的操作可以快捷且安全的清除数据的同时,又 可以保证存储设备能正常使用,不受损坏。

在上述的用于彻底删除存储设备中数据的方法中,在所述步 骤A中,在接收到待删除的存储设备后,对存储设备进行间隔一 定时间的两次检测,检测存储设备是否稳定接入。对接收到的存 储设备进行间隔一定时间的两次检测,用于确保存储设备连接的 稳定性,进一步保证数据清除的安全性和快速稳定性。

在上述的用于彻底删除存储设备中数据的方法中,在所述步 骤B中,若首个扇区按照DBR结构体解析,读取的首个扇区即为 第一个分区的起始扇区,从该起始扇区中可读取出包括跳转指令, OEM ID,BPB参数块以及引导程序和有效结束标志;若首个扇区 的数据按照MBR结构体解析,从首个扇区中可读取出包括MBR引 导程序,DPT硬盘分区表以及分区有效结束标志。在DPT硬盘分 区表中共有64个字节,以16个字节为分区表项单位描述一个分 区的属性,也就是说,一个分区表项描述一个分区的属性;第一 个分区为主分区,第一个分区之后的分区可能为逻辑分区也可能 为扩展分区。64个字节记录着4个分区信息,每16个字节记录 一个分区信息,磁盘可能没有4个分区,不存在的分区对应的分 区信息条目全部为零,因此可以得知有几个分区。

在上述的用于彻底删除存储设备中数据的方法中,在所述步 骤C中,若首个扇区的数据按照MBR结构体解析,从DPT硬盘分 区表中可获得4条分区表项记录,每一个分区表项中记载了分区 的开始磁头、开始扇区、分区类型、结束扇区、分区起始扇区、 分区总扇区数,通过将每个分区总扇区数相加,再加第一个分区 的分区起始扇区即可计算得到存储设备的磁盘总容量。

在上述的用于彻底删除存储设备中数据的方法中,在所述步 骤C中,若首个扇区的数据按照DBR结构体解析,则磁盘只有一 个分区,可从DBR中的BPB参数块中获取包括每簇扇区数、保留 扇区数、隐藏扇区数、分区总扇区数、一个FAT表的扇区数,通 过将分区总扇区数加上隐藏扇区数即可计算得到扇区总容量。

在上述的用于彻底删除存储设备中数据的方法中,在所述步 骤D中,所述FAT32文件系统格式化算法包括重构MBR扇区中的 分区表项、重构DBR扇区、初始化FAT表、初始化首目录簇。存 储设备格式化后将只有一个分区,就像一块新的存储设备一样, 用户可以根据自己的需求重新分区或格式操作,通过该种格式化 方式可以快捷有效的清洗磁盘数据且实现简单。

在上述的用于彻底删除存储设备中数据的方法中,在所述步 骤D中,首先重构MBR扇区中的分区表项信息:将第一个分区表 项中的分区起始扇区项改为0x3F、分区类型项改为0x0B、分区总 扇区项改为磁盘总扇区数量减去0x3F,其他分区表项全部清零; 然后重构DBR扇区中的信息:将BPB参数块中的每扇区字节数项 改为512、每簇扇区数项改为8、FAT表个数项改为2、保留扇区 数项改为32、分区总扇区数项改为存储设备的磁盘总容量减去 0x3F、文件系统版本项改为0x0B、根目录簇号项改为2,再根据 改写BPB参数块中的信息计算每一个FAT表所占扇区数量,并更 新到BPB参数块的对应信息项中,计算公式如下:

(X*512-8)4*8Y-2X-63-32

简化得:X≥(Y-79)/1026.....................①

其中Y为扇区总容量;X为FAT表所占扇区数;根据公式①求 出X的最小值,这个值即为每一个FAT表需要占用的扇区数量。

在上述的用于彻底删除存储设备中数据的方法中,在所述步 骤D中,根据计算得到的FAT表所占扇区数重新填充DBR数据结 构中的DBP信息项,所述FAT表有两个,两个FAT表的内容完全 相同,其中一个用来备份。重新填充DBR数据结构中的DBP信息 项的作用是用于重新构建格式化的磁盘的分区信息;填充操作是: 首先开辟一个512字节的缓冲区,将新生成的分区信息填充到这 个缓冲区中,当所有的数据都填充完毕后,再将缓冲区整体写入 DBR扇区中。

在上述的用于彻底删除存储设备中数据的方法中,在所述步 骤E中,将FAT表前三项写成0X0FFFFFF8、0X0FFFFFFF、 0X0FFFFFFF,其他项全部写成0,所述两个FAT表进行相同的操 作;再将首目录簇全部写0。

在上述的用于彻底删除存储设备中数据的方法中,在所述步 骤E中,数据簇部分根据选择的清除等级进行扇区全部清除或者 选择每簇清除若干个扇区。将数据簇部分的数据进行全部清零是 其最安全的方法。

与现有技术相比,本用于彻底删除存储设备中数据的方法具 有如下优点:

1、本方法操作便捷且可以有效地清除数据,可靠性高,应用 于一般的MCU上就能实现数据的彻底清除,比起昂贵的嵌入式系 统,本方法成本低廉,清洗速度快,能彻底的清除数据,防止数 据恢复,保障了用户使用各种存储设备的数据的安全性。

2、本方法可以对两种首扇区的情况进行区分,并生成相应的 清洗方法对存储设备进行清除,功能更加齐全,可以对不同类型 的存储设备进行清洗,兼容性高。

具体实施方式

以下是本发明的具体实施例,对本发明的技术方案作进一步 的描述,但本发明并不限于这些实施例。

本用于彻底删除存储设备中数据的方法包括:

A、接收待删除的存储设备,在接收到待删除的存储设备后, 对存储设备进行间隔一定时间的两次检测,检测存储设备是否稳 定接入,该时间可设定为200毫秒;在稳定接入后,从存储设备 中读取待清除数据的分区的首个扇区;

B、设定一个与扇区大小相同的缓冲区,并定义两个用于解析 首个扇区的结构体,定义的结构体分别为:MBR结构体和DBR结 构体;将首个扇区读入缓冲区,再根据缓冲区中的前几个字节判 断是将首个扇区的数据按照MBR结构体解析,还是按照DBR结构 体解析;具体地,若在首个扇区中的前两个字节是EB、58的,将 首个扇区的数据按照到DBR结构体解析,从中读取的首个扇区即 为第一个分区的起始扇区,从该起始扇区中可读取出包括占用3 个字节长的跳转指令,占用8个字节长的OEM ID,占用79个字 节长的BPB参数块以及420个字节长的引导程序和2个字节的有 效结束标志;如果不是上述两个字节,则按照MBR结构体解析, 从首个扇区中可读取出包括占用446个字节长MBR引导程序,占 用随后64个字节长的DPT硬盘分区表以及占用最后2个字节长的 分区有效结束标志;

C、根据首个扇区的解析方式,对扇区总容量进行计算;若首 个扇区的数据按照MBR结构体解析,从DPT硬盘分区表中可获得 4条分区表项记录,每一个分区表项中记载了分区的开始磁头、 开始扇区、分区类型、结束扇区、分区起始扇区、分区总扇区数, 通过将这些分区总扇区数相加,再加第一个分区的分区起始扇区 即可计算得到存储设备的磁盘总容量;若首个扇区的数据按照 DBR结构体解析,则磁盘只有一个分区,可从DBR中的BPB参数 块中获取包括每簇扇区数、保留扇区数、隐藏扇区数、分区总扇 区数、一个FAT表的扇区数,通过将分区总扇区数加上隐藏扇区 数即可计算得到存储设备的磁盘总容量;

D、根据FAT32文件系统格式化算法和C步骤中计算的扇区总 容量将整个存储设备格式化成一个FAT32文件系统的分区;FAT32 文件系统格式化算法包括重构MBR扇区中的分区表项、重构DBR 扇区、初始化FAT表、初始化首目录簇;具体格式化算法为:首 先重构MBR扇区中的分区表项信息:将第一个分区表项中的分区 起始扇区项改为0x3F、分区类型项改为0x0B、分区总扇区项改为 扇区总容量减去0x3F,其他分区表项全部清零;然后重构DBR扇 区中的相应信息:将BPB参数块中的每扇区字节数项改为512、 每簇扇区数项改为8、FAT表个数项改为2、保留扇区数项改为32、 分区总扇区数项改为磁盘总扇区数减去0x3F、文件系统版本项改 为0x0B、根目录簇号项改为2,再根据改写BPB参数块中的信息 计算每一个FAT表所占扇区数量,并更新到BPB参数块的对应信 息项中,FAT表所占扇区数量计算公式如下:

(X*512-8)4*8Y-2X-63-32

简化得:X≥(Y-79)/1026.....................①

其中Y为扇区总容量;X为FAT表所占扇区数;根据公式①求 出X的最小值,这个值即为每一个FAT表需要占用的扇区数量。

之后,根据计算得到的FAT表所占扇区数重新填充DBR数据 结构中的DBP信息项,所述FAT表有两个,两个FAT表的内容完 全相同,其中一个用来备份。重新填充DBP信息项的作用是用于 重新构建格式化的磁盘的分区信息;填充的操作是:首先开辟一 个512字节的缓冲区,将新生成的分区信息填充到这个缓冲区中, 当所有的数据都填充完毕后,再将缓冲区整体写入DBR扇区中。

E、识别用户针对所述存储设备选择的清除等级,基于所选的 清除等级生成相应地清除算法,并通过应用所生成的清除算法来 彻底删除存储设备中的数据;将FAT表前三项写成0X0FFFFFF8、 0X0FFFFFFF、0X0FFFFFFF,其他项全部写成0,两个FAT表进行 相同的操作;再将目录簇全部写0;数据簇部分根据选择的清除 等级进行扇区全部清除或者选择每簇清除若干个扇区。

具体来说,存储设备包括硬盘、移动硬盘、U盘、SD卡、存 储卡等。

MBR结构体的具体结构为:定义446字节长的引导程序、定 义4个分区表项、定义有效结束标志55AA,如果没有这个结束标 志,操作系统会认为磁盘没有初始化,无法正确加载磁盘的分区;

定义一条分区表项结构为:定义分区状态,其中0X80表示活 动分区、00表示非活动分区;定义分区的开始磁头、开始扇区、 开始柱面;定义分区类型,如0x0B表示FAT32,0x83表示Linux, 0x04表示FAT16,0x07表示NTFS,0表示此项未用;定义分区的 结束头、结束扇区、结束柱面;定义4个字节的分区的分区起始 扇区;定义4个字节的分区总扇区数。

DBR结构体结构为:定义3字节跳转指令;定义8字节厂方 标志;定义53字节BPB参数块、23字节扩展BPB;定义420字节 引导程序代码;定义2字节有效扇区55AA;

BPB参数块结构如表1所示:

1 03H-0AH OEM号 2 0BH-0CH 每扇区字节数 3 0DH 每簇扇区数 4 0EH-0FH 保留扇区数 5 10H FAT备份数 6 11H-12H 根目录项数 7 13H-14H 磁盘总扇区数 8 15H 描述介质 9 16H-17H 每FAT扇区数 10 18H-19H 每磁道扇区数 11 1AH-1BH 磁头数 12 1CH-1FH 特殊隐含扇区数 13 20H-23H 总扇区数 14 24H-25H 物理驱动器数 15 26H 扩展引导签证 16 27H-2AH 卷系列号 17 2BH-35H 卷标号 18 36H-3DH 文件系统号

其中整个存储设备可分为MBR,DBR,FAT,BD和数据区。MBR 位于存储设备第一个物理扇区,即绝对扇区,柱面0,磁头0,扇 区1处。MBR中包含存储设备的主引导程序和硬盘分区表。分区 表有4个分区记录区。记录区就是记录有关分区信息的一张表。 它从主引导记录偏移地址01BEH处连续存放,每个分区记录区占 16个字节。4个分区中只能有1个活跃分区,即C盘。标志符是 80H在分区表的第一个字节处。若是00H则表示非活跃分区。例 如:

80 01 01 00 07 FE FF FF 3F 00 00 00 B1 62 A9 03

00 00 C1 FF 0F FE FF FF F0 62 A9 03 D1 73 99 21

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00;

DBR位于柱面0,磁头1,扇区1,即逻辑扇区0。DBR分为两 部分:DOS引导程序和BPB参数块。其中DOS引导程序完成DOS 系统文件的定位与装载,而BPB参数块用来描述本DOS分区的磁 盘信息,BPB位于DBR偏移0BH处,共13字节。它包含逻辑格式 化时使用的参数,可供DOS计算磁盘上的文件分配表,目录区和 数据区的起始地址,BPB之后三个字提供物理格式化时采用的一 些参数。引导程序或设备驱动程序根据这些信息将磁盘DOS扇区 号转换成绝对扇区号。

本用于彻底删除存储设备中数据的方法的具体过程为:

在确定存储设备稳定接入后,首先读取存储设备的首个扇区, 首个扇区存在两种情况,这两种情况通过判断前两个字节是不是 EB、58来区分。如果前两个字节是EB、58那为第二种情况,否 则为第一种情况。

第一种情况:存储设备结构包括MBR结构的首个扇区、若干个 空闲扇区、DBR和数据扇区;首个扇区中的64个字节长的DPT 硬盘分区表存储着整个存储设备的分区情况,64个字节记录着4 个分区信息,每16个字节记录一个分区信息,存储设备可能没有 4个分区,不存在的分区对应的分区信息条目全部为零,因此可 以得知有几个分区。如果首个扇区中的64个字节长的DPT硬盘分 区表的数据为80 01 01 00 07 FE FF FF 3F 00 00 00 B1 62 A9  03 00 00 C1 FF 0F FE FF FF F0 62 A9 03 D1 73 99 21 00 00 00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 00;那么该存储设备有2个分区,其 中从每一个分区表项中读取出占一个字节的引导指示符、占一个 字节长的开始磁头、占两个字节长的开始扇区、占一个字节长的 分区类型、占一个字节长的结束磁头、占两个字节长的结束扇区、 占四个字节长的分区起始扇区和占四个字节长的分区总扇区数, 其中从B1 62 A9 03中可以得出第一个分区的分区总扇区数,从 3F 00 00 00中得出第一个分区的起始扇区数,从D1 73 99 21 得出第二个分区的分区总扇区数,通过将这些分区的分区总扇区 数相加,再加第一个分区的起始扇区数即可计算得到存储设备的 磁盘总容量,由于数据是按小端格式存储的,所以三个数据相加 时需要按照小端格式对齐,即将0000003F、03A962B1和219973D1 这三个数值相加即得到存储设备的磁盘总容量;得到扇区总容量 后根据FAT文件系统格式化算法将整个存储设备格式化成一个 FAT32文件系统,首先重构MBR扇区中的分区表项信息:将第一 个分区表项中的分区起始扇区项改为0x3F、分区类型项改为 0x0B、分区总扇区项改为磁盘总扇区数量减去0x3F,其他分区表 项全部清零;然后重构DBR扇区中的信息:将BPB参数块中的每 扇区字节数项改为512、每簇扇区数项改为8、FAT表个数项改为 2、保留扇区数项改为32、分区总扇区数项改为存储设备的磁盘 总容量减去0x3F、文件系统版本项改为0x0B、根目录簇号项改为 2,再根据改写BPB参数块中的信息计算每一个FAT表所占扇区数 量,并更新到BPB参数块的对应信息项中,再根据公式 取X最小值,计算FAT表所占扇区数, 其中512表示每个扇区512字节;8表示每个簇8个扇区;63表 示分区起始扇区为63号扇区;DBR扇区和FAT表之间保留32个 扇区,本发明采用这几个条件进行格式化,将这些信息更新到新 的分区的第一个扇区中;再根据求出来的FAT表所占扇区数填充 DBR数据结构中的DBP信息项;重新填充DBR数据结构中的DBP 信息项的作用是用于重新构建格式化的磁盘的分区信息,具体操 作是:首先开辟一个512字节的缓冲区,将新生成的分区信息项 填充到这个缓冲区中,当所有的数据都填充完毕后,再将缓冲区 整体写入DBR扇区中。之后再进行数据清除,其清除过程为:将 FAT表前三项写成0X0FFFFFF8、0X0FFFFFFF、0X0FFFFFFF,其他 项全部写成0,两个FAT表进行相同的操作;再将首目录簇全部 写0;数据簇部分根据选择的清除等级进行扇区全部清除或者选 择每簇清除若干个扇区。

第二种情况:存储设备结构包括DBR结构的首个扇区和数据 扇区;首个扇区即为第一分区的起始扇区,这时候磁盘只有一个 分区,此时首个扇区应该按照分区起始扇区的结构来处理,其中 可以从BPB参数块中获得磁盘和分区的详细信息,此时将从BPB 参数块中获取分区总扇区数和隐藏扇区数相加即得到磁盘总扇区 数,其他过程与第一种情况的处理方式相同。

本文中所描述的具体实施例仅仅是对本发明精神作举例说 明。本发明所属技术领域的技术人员可以对所描述的具体实施例 做各种各样的修改或补充或采用类似的方式替代,但并不会偏离 本发明的精神或者超越所附权利要求书所定义的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号