一种加密卡的文件存储方法及安全删除方法与流程

文档序号:12462597阅读:454来源:国知局
一种加密卡的文件存储方法及安全删除方法与流程

本发明涉及闪存领域,特别涉及一种加密卡的文件存储方法及安全删除方法。



背景技术:

闪存包括NAND Flash和NOR Flash,是一种掉电后信息不会丢失的非易失型存储区。NOR Flash容量较小,擦除较慢,寿命大概十万次,优点是可以实现XIP(eXecute In Place,芯片内执行)。而NAND Flash容量大,成本低,读取快速,在大容量的存储中应用越来越多,缺点是随着成本的降低和容量的上升,寿命从最初的SLC大概十万次的寿命降低到MLC的一万次寿命,现在的TLC寿命甚至只有几千次。

在加密卡中,一般存储密钥、证书等敏感信息,都使用NOR Flash,但是随着应用范围和人群的扩大,加密卡中需要存储更多更大的数据就必须要使用NAND Flash。

因为NAND Flash的擦写寿命特性,索引NAND Flash的读写都专用的NFTL(NAND Flash Translation Layer)和文件系统负责损耗均衡(Wear Leveling),保证每个Block的磨损情况都是尽量接近,最大程度的延长整个存储器的寿命。所以NAND Flash的读写中都在不停的变换物理地址和逻辑地址的映射,以此来实现坏块处理和损耗均衡。这样的话不可避免的就出现了“数据残留”的问题。在原先的磁性介质存储器上,针对敏感数据多次擦写来实现数据安全删除的方法在NAND Flash上无效了,因为逻辑地址和物理地址的映射在不停的变换,除非经过几乎整盘的擦写才能基本删除目标数据。这样不久效率低下,而且对存储器的寿命有极大损害。



技术实现要素:

鉴于上述问题,提出了本发明,以便提供一种克服上述问题或至少部分地解决上述问题的加密卡的文件存储方法及安全删除方法。

根据本发明的一个方面,提供一种加密卡的文件存储方法,其中所述加密卡包括NOR Flash和NAND Flash,所述存储方法包括:

将大容量的敏感信息存储在所述NAND Flash中;将辅助性的NAND Flash管理信息存放在所述NOR Flash中,所述辅助性的NAND Flash管理信息包括与存储在所述NAND Flash文件相对应的密钥。

进一步的,所述存储方法还包括:对保存在所述NAND Flash中的每个文件进行加密产生对应的随机密钥,每个随机密钥存放在所述NOR Flash中,通过同样存储在所述NOR Flash中的每个文件索引编号与所述NAND Flash中的每个文件对应,密钥生成使用加密卡的内部接口。

进一步的,使用256bit的密钥,针对每个存储在所述NAND Flash中的文件进行加密。

进一步的,所述NOR Flash留出1M的空间给所述NAND Flash安全删除使用,每一行为一个page,一个page包括32个密钥,每个密钥占用32个字节。

进一步的,在所述加密卡执行新建文件的操作的时候,文件名、文件索引编号和对应的密钥同时被创建,所述文件名及相应的文件存储在所述NAND Flash中,所述文件对应的文件索引编号和对该文件加密产生的密钥存放在所述NOR Flash中;

在所述加密卡执行写文件操作的时候,根据所述文件名寻找到所述文件索引编号,根据所述文件索引编号找到所述对应的密钥,提取出所述密钥后使用预置的算法对所述文件进行加密,在加密完成后调用底层写文件接口,将密文写入所述NAND Flash;

在所述加密卡执行读文件操作的时候,根据所述文件名寻找到所述文件索引编号,根据所述文件索引编号找到所述对应的密钥,提取出所述密钥后使用预置的算法对所述文件进行解密,将解密后的文件从底层读文件接口给出,获得文件明文。

进一步的,对所述密钥建立密钥索引,所述密钥索引也存储在NOR Flash中。

根据本发明的另一方面,还提供一种加密卡的文件删除方法,所述加密卡包括NOR Flash和NAND Flash,所述删除方法包括:

收到删除文件指令,根据文件名查询到文件索引编号,将所述文件索引编号从所述NOR Flash的文件列表中删除;

根据所述文件索引编号和/或密钥索引找到与拟删除文件对应的密钥并对所述密钥进行擦除操作。

进一步的,所述方法还包括:和拟擦除的目标密钥处于同一Page的其他密钥,在所述拟擦除的目标密钥进行擦除操作前先进行备份,然后重新在原地或新的Page中写入。

进一步的,所述方法还包括:将已删除的文件索引编号和/或密钥索引和/或密钥置为空,解除和所述NAND Flash中对应文件的连接。

进一步的,所述方法还包括:将原先存放删除数据的NAND Flash放入脏块区。

本发明在现有加密卡平台上实现安全存储及安全删除的方法,不需要改动现有加密卡的硬件结构,利用现有加密卡的自有接口即可,充分利用了NAND Flash和NOR Flash的特性,在保证安全删除的基础上,大大降低了NAND Flash擦写的次数,提高了效率也降低了磨损率。

附图说明

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

图1为本发明一种实施例的NOR Flash中的密钥表结构示意图。

图2为本发明一种实施例的文件表和NAND Flash的映射关系样例示意图。

图3为本发明一种实施例的基于加密卡的安全删除方法流程示意图。

具体实施方式

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例作进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

基于NAND Flash和NOR Flash的特性,在描述加密卡信息安全删除之前,首先先说明本发明采用的存储方法。根据NAND Flash和NOR Flash的特性,对加密卡的存储方法做功能性划分。

一种加密卡的文件存储方法,其中加密卡包括NOR Flash和NAND Flash,存储方法包括:

将大容量的敏感信息存储在NAND Flash中;将辅助性的NAND Flash管理信息存放在NOR Flash中。其中,辅助性的NAND Flash管理信息包括与存储在NAND Flash文件相对应的密钥。具体的,在加密卡中存放的敏感数据,大多数是以文件的形式存在,对保存在NAND Flash中的每个文件进行加密产生对应的随机密钥,每个随机密钥存放在NOR Flash中,通过同样存储在NOR Flash中的每个文件索引编号与NAND Flash中的每个文件对应。为了可以安全删除保存在NAND Flash中的文件,本发明使用256bit的密钥,针对每个存储在NAND Flash中的文件进行加密。这样在删除文件的同时,将对应的密钥也同时删除,则在NAND Flash中残存的数据也是不完整的密文,可以有效保证数据的安全,无法恢复。每个文件的密钥是随机生成,存放在对应文件索引编号的NOR Flash中。如图1所示,NOR Flash留出1M的空间给NAND Flash安全删除使用,每一行为一个page,一个page包括32个密钥,每个密钥占用32个字节,则总共可以存放32768个文件,完全可以满足在加密卡中的文件需要。NOR Flash中的密钥区按照32字节编号,一一对应响应编号的加密卡文件。本专利有效利用了NAND Flash和NOR Flash的擦写特性,将全部NAND Flash数据擦写的复杂度降低为32个字节的密钥删除的复杂度,提高了整体系统的效率,也有效降低了安全删除的磨损率,并且保证了安全删除的有效性。

在加密卡执行新建文件的操作的时候,文件名、文件索引编号和对应的密钥同时被创建,密钥生成使用加密卡的内部接口。文件名及相应的文件存储在NAND Flash中,文件对应的文件索引编号和对该文件加密产生的密钥存放在NOR Flash中。如图2所示,在NOR Flash中文件索引表中文件索引编号为3的密钥,对应存储在NAND Flash中的加密文件如图所示,加密后的文件可以存储的很分散,可能在不同的Block或Page中。这种功能性划分的优势在于既能简化NAND Flash的管理结构,也能有效减少整体的磨损,提高寿命。

在加密卡执行写文件操作的时候,根据文件名寻找到文件索引编号,根据文件索引编号找到对应的密钥,提取出密钥后使用预置的算法对文件进行加密,在加密完成后调用底层写文件接口,将密文写入NAND Flash。

在加密卡执行读文件操作的时候,根据文件名寻找到文件索引编号,根据文件索引编号找到对应的密钥,提取出密钥后使用预置的算法对文件进行解密,将解密后的文件从底层读文件接口给出,获得文件明文。

进一步的,为了进一步提高写文件和读文件的效率,可以对密钥建立密钥索引,密钥索引也存储在NOR Flash中。通过密钥索引,可以找到对应的密钥。

根据本发明的另一方面,与上述原理相对应的,如图3所示,提供一种加密卡的文件删除方法,其中,加密卡包括NOR Flash和NAND Flash,其删除方法包括:

步骤S310,收到删除文件指令,根据文件名查询到文件索引编号(idx),将文件索引编号从NOR Flash的文件列表中删除;

步骤S320,根据文件索引编号和/或密钥索引(key_idx)找到与拟删除文件对应的密钥并对其进行擦除操作。

在关键的删除文件操作的时候,首先将该文件的索引从文件列表中去除,因为文件的数据可能存放散落在NAND Flash不同的Block(块)甚至Page(页)中,如果全部进行擦除搬移操作,则时间、效率和磨损率上都很不经济,所以直接将该文件对应的密钥进行擦除操作。在加密卡删除目标敏感文件后,虽然数据没有完全从NAND Flash中擦除,但是文件索引已经完全删除,而且数据也散落在不同的Block中。即使经过长时间的专业分析,可能将部分的文件数据找回拼接,但是找回的数据为不完整的密文,且密钥已经被完整安全的销毁,所以达到的了安全删除的目的。

进一步的,一种加密卡的文件删除方法,该方法还包括:和拟擦除的目标密钥处于同一Page的其他密钥,在拟擦除的目标密钥进行擦除操作前先进行备份,然后重新在原地或新的Page中写入,保证在逻辑上只删除目标密钥,保证其他密钥的完整性。

进一步的,一种加密卡的文件删除方法,该方法还包括:将已删除的文件索引编号和/或密钥索引和/或密钥置为空,解除和NAND Flash中对应文件的连接。

进一步的,一种加密卡的文件删除方法,该方法还包括:将原先存放删除数据的NAND Flash放入脏块区,以便于快速回收擦除,最大程度减少信息泄漏。

在原有的加密卡架构上应用本安全删除方法,不需要改动硬件架构,软件接口部分的改动也较小,只是在读写时加入加解密接口,在创建和删除的时候在NOR Flash中写一些管理信息。

本发明在现有加密卡平台上实现安全存储及安全删除的方法,不需要改动现有加密卡的硬件结构,利用现有加密卡的自有接口即可,充分利用了NAND Flash和NOR Flash的物理擦写特性,在保证安全删除的基础上,大大降低了NAND Flash擦写的次数,提高了效率也降低了磨损率。本发明的文件安全删除方法可以高效、安全的删除敏感数据,在根本上保证删除后数据不可恢复,而且实现简单,不必大量擦写NAND Flash,与原系统的文件读写速率相比损耗很低,而且保证了NAND Flash的寿命。本发明可应用在加密卡的密钥信息管理中,在原有平台的基础上实现,不依赖于硬件架构的修改,对现有的项目进行软件改造,耦合性低、易用性好、可以有效降低改造成本。

本发明可应用于多种通信架构,不局限于应用环境;另外,本发明通过构造安全结构来实现安全删除,而不需要采用特定的秘密共享方案实现。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块流程并不一定是实施本发明所必须的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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