APP下载

基于位置跳变的闪存数据安全存储方法

2017-04-14汤胜军贾世杰夏鲁宁

软件 2017年2期
关键词:敏感数据存储设备触发器

汤胜军,贾世杰,夏鲁宁

基于位置跳变的闪存数据安全存储方法

汤胜军1,2,3,贾世杰1,2,3,夏鲁宁1,2

(1. 中国科学院数据与通信保护研究教育中心,北京 100093;2. 中国科学院信息工程研究所,北京 100093;3. 中国科学院大学,北京 100049)

闪存(Flash)器件在电子设备中已经得到广泛应用,其存储安全问题也日益受到关注。多数情况下消费类电子产品中没有特定的安全存储硬件,闪存是其唯一的非易失存储器,因而敏感数据也只能与普通数据一起保存在闪存之中。虽然可以使用存储加密的手段,但密钥仍不得不存放于闪存自身。这使得一旦攻击者可以获得闪存器件的物理镜像,就可以相对容易的获取密钥等敏感数据,进而获得所有的明文数据。本文提出了一种基于位置跳变的闪存数据安全存储方案,通过随机改变敏感数据在闪存的存储位置,大大降低了敏感数据存储位置的可预见性,从而显著增加了攻击者通过闪存物理镜像揭示敏感数据的难度。

信息安全;闪存;存储安全;物理攻击

0 引言

当前的数据存储领域,闪存(Flash)已经逐渐取代机械硬盘(Hard Disk Drives,HDD)成为最主要的大容量数据存储器[1,2]。闪存中可能存储着大量的隐私数据,一些系统安全机制涉及的安全参数大多数情况下也以不同的形式存放在闪存介质之中[8,9,13]。鉴于此,针对闪存的攻击已经逐渐成为黑客攻击的焦点,闪存的数据窃取、数据恢复等攻击手段不断被提出[3,4,5,6],基于闪存的数据安全存储问题已越来越受到重视[17,26,27]。

本文提出一种基于位置跳变的闪存数据安全存储方案,极大的提高攻击者对机密数据的获取难度,增加攻击者的攻击成本,提高闪存设备中敏感数据的安全性。

本文后续部分的内容组织如下:第2章介绍研究背景,第3章介绍基于位置跳变的闪存数据安全存储方案,第4章介绍实验及实验结果分析,第5章评价和总结。

1 研究背景

与传统机械磁盘相比,闪存芯片具有独特的物理组成与使用特性,为了将闪存存储设备模拟成为像机械磁盘一样的普通的块存储设备,需要借助闪存转换层来屏蔽闪存的这些差异,使上层系统可以透明的使用闪存。然而,由于闪存的特殊物理性质,也使其遭受到了多种攻击。本章主要介绍闪存的物理性质、闪存转换层以及针对闪存的常见攻击方法。

1.1闪存物理特性

闪存(Flash)有Nor Flash和Nand Flash之分,用于大容量存储的一般是Nand Flash。鉴于本文的目的,后续描述中所述的“闪存”皆特指Nand Flash。闪存主要支持三种基本操作:读(Read),编程(写),擦除(Erase)。相对于传统磁盘,闪存芯片具有如下独特的物理性质:

第一,不能重复写[15]。闪存编程操作和擦除操作的最小单位不一致,闪存读、写操作的基本单位是页,而擦除操作的基本单位是块。在写操作之前必须先执行擦除操作。

第二,不可原位更新。由于闪存在编程之前必须擦除的物理特性,闪存中的数据若要实现原位更新必须先将整个块内的有效页的数据读出,擦除此块后,再将有效页的数据与更新后的数据写回此块,这将导致写放大[14]。因此闪存中的数据采用非原位更新,即更新数据时,只是将新数据写到一个新的空白页中,然后将原数据所在的物理页标记为无效页。

第三,闪存内的每一个块的擦写寿命都是有限的[19]。通常SLC(Single-Level Cell)类型的闪存中块的擦写寿命是十万次,而MLC(Multi-Level Cell)类型的闪存中块的擦写寿命一般只有一万次。

1.2闪存转换层

由于闪存上述的物理特性,导致常规的文件系统(如FAT32,EXT2等)不能直接用于管理闪存介质。为了屏蔽闪存的物理性质,将闪存模拟为普通的块设备(block device),使其适用于现有的块文件系统,在闪存与文件系统之间有一个专用的软件/固件层——闪存转换层(Flash Translation Layer,FTL)。如图1所示,闪存转换层主要的功能是地址映射,磨损均衡和垃圾回收[20]。

地址映射由于闪存中存储的数据采用非原位更新,随着数据的不断更新,数据在闪存上的物理位置也不断变化,因而需要维持数据在上层系统(如操作系统、文件系统等)的逻辑地址到闪存中内部物理地址的映射关系,即地址映射[21]。

图1 闪存存储系统结构Fig.1 The architecture of a flash-based storage system

垃圾回收随着闪存内数据的不断更新,闪存中的过时数据随之增多,闪存内部的可用物理存储空间逐渐减小。垃圾回收[20]机制,负责将过时数据所占用的空间释放,保障闪存内部空间的持续重复性利用。垃圾回收可以分为被动和主动两种模式。被动模式即在可用存储空间少于一定阈值时,启动垃圾回收;主动模式在系统空闲时即执行垃圾回收,保证一定数量的可用存储空间,从而有效的提高闪存存储系统的性能和效率。

使用均衡由于闪存的每一个块的擦写寿命有限,为了避免因某些块过度使用而使设备报废,使用均衡机制保证均匀的使用每个闪存块[16],从而延长闪存的使用寿命。使用均衡策略分为动态和静态两种,动态磨损均衡就是每次将数据写入到使用次数最小的块中,使用次数较多的块尽量不用;静态磨损均衡策略是将长期没有修改的旧数据从使用次数较少的块中移出来,存放于使用次数较多的块中,增加使用次数较少的块的使用频率。

1.3针对闪存的攻击方法

目前,针对闪存的攻击方法[7]已经可以获取闪存的逻辑快照和物理快照,现有的闪存产品,其密钥等敏感数据大都存放在系统的保留块中,通过逻辑接口并不能读取敏感数据,因此可以抵御逻辑快照攻击。但是,对于物理快照攻击,由于密钥等敏感数据的存储位置相对比较固定,一旦攻击者获取闪存的物理快照,就能相对容易地定位到敏感数据的存放位置,并且一次攻击成功后,能为后续攻击提供先验知识,后续攻击可以直接定位到敏感数据的存放位置,从而直接获取敏感数据。

Marcel Breeuwsma等人在文献[6]中介绍了三种获取闪存物理快照的攻击方法,成功获取了闪存的物理镜像。第一种是非入侵式的攻击[10]方法,攻击者可以直接利用生产商或者应用商场提供的对特定设备的闪存工具(Flasher tools)即可获取闪存的物理快照;第二种方法是通过JTAG的测试接口在外部测试模式或者debug模式下读取闪存内容,从而获取闪存的物理快照;第三种方法是一种半入侵式攻击方法[11,12],其适用场景更广,在前两种方式均不可行的情况下,可以采取这种较为复杂的攻击方法。首先从集成电路中拆卸闪存芯片,然后对闪存芯片进行预处理,除去芯片上的焊料等杂质,最后通过商用的闪存芯片阅读器便可读取闪存的数据,从而获取闪存的物理快照。

后文提出一种闪存数据安全存储的新方案,可以有效抵御针对闪存的物理快照攻击。

2 位置跳变方案

对基于闪存的存储设备的物理快照攻击方法,可以读取出存储在闪存上的所有物理数据[6,7]。如果闪存介质中存储敏感数据的物理位置相对固定,攻击者可以通过针对闪存的物理快照攻击方法,定位分析出敏感数据的存放位置,从而获取基于闪存设备中所存储的敏感数据。一旦攻击成功,攻击者可以获取先验知识,同种类型的闪存设备都将受到安全威胁。

为减少上述攻击的可能性,本文提出了一种在闪存转换层(FTL)实现的基于位置跳变思想的闪存数据安全存储方案。

在闪存存储设备的使用过程中,设置一定的触发条件,当触发条件满足时,则启动敏感数据移动机制。通过不断的移动、改变敏感数据存储的物理位置,增加敏感数据存储位置的不确定性,增大攻击者分析、寻找定位敏感数据存储位置的难度;并且即使攻击者一次攻击成功,也不能够获取任何先验知识,可以减小同类型存储设备中敏感数据存储位置的可预见性,从而提高存储设备的安全性。

2.1设计思想

本文所提出的基于闪存的存储设备敏感数据安全存储方案,主要是通过修改闪存存储设备中的闪存转换层的逻辑,从而实现闪存存储设备中敏感数据的安全存储,提高敏感数据存储的安全性。

初始化基于闪存的存储设备时,在闪存转换层中设置一个触发器。当触发条件满足时,启动敏感数据移动机制,此时将占用系统资源,挂起系统的读、写线程。移动敏感数据时,首先选择合适的安全存储区作为存放敏感数据的“安全块”,然后对目标安全块进行垃圾回收,最后将机密数据移动到目标安全块中。敏感数据移动完成后,需要对安全块进行伪装,避免暴露安全块的物理位置。本方案主要需要解决四个问题,即系统如何访问敏感数据,移动敏感数据的时机,移动数据的方式,以及敏感数据的伪装。

本方案的具体算法如下:

算法1 敏感数据转移算法if(触发条件满足) NextBlock=RandomSelectBlock();//随机选取敏感数据的转移块NextPage=RandomPage();//随机选取敏感数据的转移页GC(NextBlock);//对NextBlock垃圾回收ReadSensitiveData();//从原始位置读取敏感数据DataShift(NextBlock, NextPage);//将敏感数据转移到NextBlock,Nextpage位置DataCamouflage();//填充随机数伪装EraseData();//擦除原位置的敏感数据endif

2.2关键问题

2.2.1 初始工作

闪存转换层FTL维护着一个两级的地址映射,如图2所示。一级地址映射是文件系统逻辑地址到FTL层逻辑地址的映射,二级地址映射是FTL层逻辑地址到闪存物理地址的映射。

图2 地址映射Fig.2 Address Mapping

基于位置跳变的闪存数据安全存储方案中,敏感数据的存储位置是不断变化的,不固定的位置。为了保证每次敏感数据的物理存储位置变化之后,系统合法用户可以正确的获取敏感数据,在初始阶段,我们在FTL层预留一个逻辑地址作为闪存中敏感数据的专用逻辑地址。此后,无论敏感数据如何移动,系统只需根据FTL层专用逻辑地址查找二级地址映射表即可获取敏感数据的物理位置。

2.2.2 触发条件

设置合理的触发条件。在敏感数据移动时伴随一系列读、写操作和擦除操作,因此敏感数据的移动时机会直接影响基于闪存的存储设备的性能。本方案提出了两种触发器,即基于时间的触发器和基于事件的触发器。

1. 基于时间的触发器

顾名思义,以时间作为触发器。初始时,设置一个计时器,达到设定的时间阈值时,挂起读、写线程,启动敏感数据移动机制,将敏感数据转移到另一个安全位置。

2. 基于事件的触发器

分两种情况设置触发条件,即系统空闲时的闲时触发器和系统工作时的工作触发器。闲时触发器,系统的空闲时不存在读、写任务,可以设置为时间触发,达到设置的时间阈值即转移敏感数据;工作触发器,在系统工作时,记录系统连续执行读写操作的次数或时间,达到一个较大阈值时,启动敏感数据移动机制,保证在工作时触发频率小。

实际应用时,需要在系统性能和数据安全性上权衡,根据不同的应用场景,设置合理的触发条件。

2.2.3 移动敏感数据

当触发条件满足时,系统会启动敏感数据移动机制,将敏感数据移动到闪存芯片中的另一个不同物理位置的安全块中。

首先,需要确定敏感数据移动的目标位置。由于闪存不可重复写的物理特性,在数据移动到下一个安全位置(安全块)时,必须先擦除该闪存块,因此,需要对安全块中原有的数据进行垃圾回收。这会增加系统的额外开销,对闪存性能产生不利影响。为降低垃圾回收的系统负载,提高系统性能,需要选择合适的目标安全块。本方案中,应尽量选择闪存块中无效页数目较多的块作为安全块,以此来减少安全块垃圾回收时的系统开销。对安全块的垃圾回收完成后,将敏感数据移动到安全块中。

敏感数据写入目标安全块后,一级映射表始终不记录安全块中敏感数据所在闪存页的映射信息,使得文件系统将其视为无效页,保证敏感数据不能直接从文件系统的逻辑接口读取,从而保证敏感数据的安全性。在二级映射表中需要更新敏感数据的映射项,保证闪存系统通过查找二级映射表可以正确获取敏感数据。

2.2.4 踪迹隐藏

将敏感数据移动到预先垃圾回收的目标安全块之后,由于敏感数据不会占用安全块中的所有页,因此,安全块中会存在未使用的页,这将会导致安全块中闪存页的使用情况与其它的闪存块之间存在明显区别。

如图3所示,在一个正常闪存块的生命周期内只可能出现三种状态:1)空状态,即该块被擦除后还未使用,所有页的数据均为逻辑“1”;2)分配状态,即该块是当前正在使用的闪存块,部分页已写入数据,部分页仍未使用;3)满状态,块中的所有页均已写入数据。由于目标安全块的状态有别于这三种状态,因此容易被敌手定位到敏感数据的存放位置,从而获取敏感数据。

图3 闪存块状态Fig.3 Nand Flash Block States

要实现敏感数据在目标安全块的伪装和隐藏,防止攻击者通过安全块的特殊物理状态而定位到敏感数据的存储位置,可以向安全块中填充随机数据,将安全块伪装成“满状态”的数据块。

3 实验与结果

3.1实验环境

3.1.1 硬件环境

我们在图4所示的闪存开发板上实现了基于位置跳变的闪存数据安全存储方案。控制器型号为ARM926EJ-S[22],Nand Flash为Samsung公司生产的K9F4G08U0M,该Nand Flash共有4096个块,每块含64页,每页2 KB,容量为512 MB。

3.1.2 软件环境

本实验基于OpenNFM(Open Nand Flash Manager)项目[23],该项目是一个针对固态硬盘和嵌入式存储设备的闪存FTL开源项目。在OpenNFM项目中,主要通过两个层次来实现具体功能。

图4 闪存开发板Fig.4 Nand Flash development board

一个是UBI层,主要负责管理闪存的物理存储资源,实现坏块管理和静态使用均衡策略,维护用户数据区逻辑地址,到闪存中物理地址的二级地址映射。

另一个是FTL层,主要实现页级地址映射,负责分配和回收闪存页,维护文件系统逻辑地址到用户数据区逻辑地址的一级地址映射。FTL层中添加了热数据标记(Hot Data Identifier,HDI),用以分离冷、热数据[24]。热数据,即经常更新的数据;冷数据,就是相对稳定的数据。分离冷热数据,可以提高垃圾回收的效率。

在OpenNFM项目中,系统的前46个闪存逻辑块(块号0-45)是系统数据区,存储包括ROOT表、脏页表(Block Dirty Table,BDT)、热数据标记(HDI)、页映射表(Page Mapping Table,PMT)等系统数据。BDT记录所有闪存块中的无效页数目,为垃圾回收提供依据;HDI,记录文件系统逻辑地址数据的更新次数,用以区分冷热数据;PMT,记录逻辑地址到物理地址的映射;ROOT表,记录各系统数据的存放位置,包括BDT,HDI,PMT在闪存中的存放的物理位置。基于闪存的存储设备工作时,系统维护三个工作块,分别是热数据工作块、冷数据工作块和垃圾回收工作块,分别用于存储热数据、冷数据和垃圾回收块中的有效数据。

3.2实验过程

我们在OpenNFM项目的基础上,添加了基于位置跳变的闪存数据安全存储机制。

首先,设置敏感数据移动的触发器。闪存设备挂载后进入正常工作状态,初始化触发器,循环监听上层文件系统下传的读、写命令并处理。每次监听文件系统指令时,判断触发条件是否满足,若满足触发条件,则启动敏感数据移动机制。根据BDT中记录的各闪存块中无效页数目,在无效页数目较多的闪存块中随机选取一个闪存块作为敏感数据转移的安全块。

随后对目标安全块垃圾回收,将块中的有效页复制到系统的冷数据工作块中[20](安全块中的无效页因为已经被更新过,可以将其视为热数据,而安全块中的有效页,因为未被更新,可以将其当作冷数据处理)。擦除安全块后,将敏感数据转移到安全块,并将安全块中的空白页填充随机数。

敏感数据移动完成后,重置触发器,并更新二级地址映射,将敏感数据的FTL层逻辑地址(专用逻辑地址)映射到安全块中敏感数据所在的闪存页上。

3.3实验分析

本文提出的基于位置跳变的闪存数据安全存储方案,由于在敏感数据移动时存在额外的系统负载,包括复制有效页、擦除闪存块,写入敏感数据等,这些读、写,擦除等操作会增加系统负载,因此闪存存储系统的读、写性能会存在一定程度的下降。

利用I/O测试工具fio[25],分别测试原始OpenNFM项目和添加了基于位置跳变的闪存数据安全存储方案后项目的性能,测试其顺序读、写和随机读、写数据的性能。本文分别对两种触发条件均进行实验和测试。

1. 基于时间的触发器,即无论系统是空闲或者工作状态,达到一定时间则启动敏感数据移动机制。分别测试时间阈值(即移动频率)为5 s、30 s,以及60 s时系统的读写性能。

2. 基于事件的触发器,即根据系统的状态设置闲时触发器和工作触发器。设置闲时触发器为60 s,工作触发器为系统持续不间断执行读写任务10 min,分别测试系统的读、写性能。

实验测试结果如下表1,性能测试结果图如图5所示。

通过性能测试结果,可以得出如下结论。

如表1、图5所示从性能测试结果图可以看到,添加本方案后闪存的读、写效率与敏感数据移动的频率有关,也与触发条件有关。图5中四条曲线均成上升趋势,可以知道:敏感数据移动的频率越大,闪存的读、写效率越低;基于事件的触发器,其闪存读、写性能优于基于时间的触发器,它能根据系统的当前状态选择是否启动敏感数据移动机制。

通过性能测试结果图看到,本方案对基于闪存的存储设备的顺序读、写性能影响较大,对随机读、写性能影响相对较小。由于敏感数据的位置跳变策略会破坏闪存的顺序读、写机制,因此对顺序读、写性能影响较大,对随机读、写性能影响相对较小。

表1 性能测试结果(KB/s)Table 1 Performance Testing Results (KB/s)

图5 性能测试结果Fig.5 Performance Testing Results

对于基于时间的触发器,闪存读、写效率均有比较明显的降低。闪存性能的影响与敏感数据的移动频率存在一定的相关性,即敏感数据的移动频率越大,闪存性能的下降程度也越大。如果敏感数据的移动频率越大,那么单位时间内系统的额外负载就越多,因此闪存的读、写效率降低越大。

对于基于事件的触发器,闪存读、写性能下降不明显,并且较之基于时间的触发器,闪存性能有显著提升。因为基于事件的触发器,会考虑闪存系统的当前状态,在闪存工作时,较少地触发敏感数据移动机制。在实际使用闪存设备时,用户的读、写命令一般都是断续的,长时间的持续读、写操作并不多,因此敏感数据的移动大多发生在系统处于空闲状态的时候,对闪存的读、写性能影响较小。

4 总结

本文提出的基于位置跳变的闪存数据安全存储方案与数据加密与否无关,敏感数据可以是明文或者密文的方式存储,敏感数据可以是密钥,也可以是用户的重要隐私文件。本方案的目的是增加攻击者定位敏感数据存储位置的难度。

本方案利用Nand Flash闪存中的无效页存放敏感数据,保证上层文件系统不能直接访问和读取数据内容;通过不断移动、变化敏感数据在闪存的物理存储位置,增大攻击者的攻击难度,并减小其下次存储位置的可预见性,提供较高的安全保障。在FTL中增加基于位置跳变的安全存储保护机制,闪存的读、写性能有一定程度的下降,移动的频率越高,对敏感数据的保护越安全,闪存的性能下降程度也越大。通过将基于时间的触发器优化为基于事件的触发器,使敏感数据的移动尽可能发生在系统的空闲状态,这既保证了敏感数据的机密性,又保证了闪存数据的读、写效率。

[1] http://www.csia.net.cn/Article/ShowInfo.asp?InfoID=34726

[2] Ji S, Shin D. An efficient garbage collection for flash memory-based virtual memory systems[J]. Consumer Electronics, IEEE Transactions on, 2010, 56(4): 2355-2363.

[3] Phillips B J, Schmidt C D, Kelly D R. Recovering data from USB flash memory sticks that have been damaged or electronically erased[C]//Proceedings of the 1st international conference on Forensic applications and techniques in telecommunications, information, and multimedia and workshop. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), 2008: 19. [4] Qiu W, Su Q, Liu B, et al. iOS data recovery using low-level NAND images[J]. IEEE Security & Privacy, 2013(5): 49-55.

[5] Luck J, Stokes M. An integrated approach to recovering deleted files from nand flash data[J]. Small Scale Digital Device Forensics Journal, 2008, 2(1): 1941-6164.

[6] Breeuwsma M, De Jongh M, Klaver C, et al. Forensic data recovery from flash memory[J]. Small Scale Digital Device Forensics Journal, 2007, 1(1): 1-17.

[7] Skorobogatov S P. Semi-invasive attacks: a new approach to hardware security analysis[D]. University of Cambridge, 2005.

[8] Jain A K, Hong L, Pankanti S, et al. An identity- authentication system using fingerprints[J]. Proceedings of the IEEE, 1997, 85(9): 1365-1388.

[9] George P. User Authentication with Smart Cards in Trusted Computing Architecture[C]//Security and Management. 2004: 25-31.

[10] Messerges T S, Dabbish E A, Sloan R H. Investigations of Power Analysis Attacks on Smartcards[J]. Smartcard, 1999, 99: 151-161.

[11] Skorobogatov S. Flash memory ‘bumping’attacks[M]// Cryptographic Hardware and Embedded Systems, CHES2010. Springer Berlin Heidelberg, 2010: 158-172.

[12] Skorobogatov S P, Anderson R J. Optical fault induction attacks[M]//Cryptographic Hardware and Embedded Systems-CHES 2002. Springer Berlin Heidelberg, 2002: 2-12.

[13] Bellare M, Canetti R, Krawczyk H. Keying hash functions for message authentication[C]//Advances in Cryptology—CRYPTO’96. Springer Berlin Heidelberg, 1996: 1-15.

[14] Hu X Y, Eleftheriou E, Haas R, et al. Write amplification analysis in flash-based solid state drives[C]//Proceedings of SYSTOR 2009: The Israeli Experimental Systems Conference. ACM, 2009: 10.

[15] Kang J U, Jo H, Kim J S, et al. A superblock-based flash translation layer for NAND flash memory[C]//Proceedings of the 6th ACM & IEEE International conferenceon Embedded software. ACM, 2006: 161-170.

[16] Chang L P. On efficient wear leveling for large-scale flash-memory storage systems[C]//Proceedings of the 2007 ACM symposium on Applied computing. ACM, 2007: 1126-1130.

[17] 魏兴伟. OpenStack 对象存储身份和访问控制管理的安全性分析与改进[J]. 软件, 2015, 36(2): 36-38

[18] Lin M, Chen S. Efficient and intelligent garbage collection policy for NAND flash-based consumer electronics[J]. Consumer Electronics, IEEE Transactions on, 2013, 59(3): 538-543.

[19] Wang C, Wong W F. Extending the lifetime of NAND flash memory by salvaging bad blocks[C]//Proceedings of the Conference on Design, Automation and Test in Europe. EDA Consortium, 2012: 260-263.

[20] Yang M C, Chang Y M, Tsao C W, et al. Garbage collection and wear leveling for flash memory: Past and future[C]// Smart Computing (SMARTCOMP), 2014 International Conference on. IEEE, 2014: 66-73.

[21] Gupta A, Kim Y, Urgaonkar B. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings[M]. ACM, 2009.

[22] http://www.mouser.cn/ProductDetail/Olimex-Ltd/LPC-H313 1/?qs=%2fha2pyFadugd%2fNl9FDPn1bJUcs0TNDsLJCo0Ht uGS0s%3d

[23] https://code.google.com/archive/p/opennfm/

[24] Shin I. Hot/cold clustering for page mapping in NAND flash memory[J]. Consumer Electronics, IEEE Transactions on, 2011, 57(4): 1728-1731.

[25] Fio. http://freecode.com/projects/fio.

[26] 王又立, 王晶. 一种基于Kerberos和HDFS 的数据存储平台访问控制策略[J]. 软件, 2016, 37(01): 67-70

[27] 单武. 基于CC 标准的物联网数据安全需求分析及应用研究[J]. 软件, 2015, 36(8): 121-127

A Secure Data Storage Method of Flash Memory Based on Position Shifting

TANG Sheng-jun1,2,3, JIA Shi-jie1,2,3, XIA Lu-ning1,2
(1. Data Assurance and Communication Security Research Center, Chinese Academy of Sciences, Beijing 100093, China; 2. State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China; 3. University of Chinese Academy of Sciences, Beijing 100049, China)

Flash memory is widely used in electronic devices, and the data storage security in flash memory devices is much concerned by researchers. In most cases, there is no specific security firmware in consumer electronic products, flash memory devices are the only nonvolatile storage devices, so sensitive information must be stored in flash memory just as common data. Though encryption method can be applied, keys still have to be stored in flash. Once attackers get the physical images of flash memory, they can easily get keys and other sensitive information in flash memory, and then get all plain text in flash. In this paper, a secure data storage method of flash memory is proposed. It significantly reduces the predictability of the storage location through randomly shifting the position of sensitive information, which can greatly increases the difficulty of getting sensitive information in flash memory through physical images.

Information security; Nand flash; Storage security; Physical attack

TP309

A

10.3969/j.issn.1003-6970.2017.02.016

信工所973云计算(Y460011103)

汤胜军(1992-),男,硕士研究生,信息安全。

贾世杰,博士研究生,主要研究方向:信息安全。

本文著录格式:汤胜军,贾世杰,夏鲁宁. 基于位置跳变的闪存数据安全存储方法[J]. 软件,2017,38(2):68-74

猜你喜欢

敏感数据存储设备触发器
干扰条件下可检索数字版权管理环境敏感数据的加密方法
实现虚拟机敏感数据识别
基于透明加密的水下通信网络敏感数据防泄露方法
基于4A平台的数据安全管控体系的设计与实现
主从JK触发器逻辑功能分析
使用触发器,强化安全性
Windows 7下USB存储设备接入痕迹的证据提取
基于Flash芯片的新型存储设备数据恢复技术研究
用批处理管理计算机USB设备的使用
对触发器逻辑功能转换的分析