SSD中基于密码学的文件快速销毁方法研究

2021-07-25 10:01熊臣宇
电脑知识与技术 2021年16期
关键词:密码学

熊臣宇

摘要:固态硬盘(Solid-state Drive,SSD)的数据销毁问题已提出了解决方法,但多数方法的销毁粒度为单个存储介质;而在实际应用中往往只需要销毁单个文件,因此现有的SSD数据销毁方法存在销毁粒度不对等的问题。针对SSD中销毁粒度不对等的问题,提出对存储文件使用密码学方法,将文件销毁问题转化为密钥销毁问题。文件加密存储,密钥存放在SSD中的指定空间上,进行数据销毁时仅销毁指定文件的密钥,实现销毁粒度为文件的数据销毁。最后通过实验验证了该方案的可行性。

关键词:固态硬盘;数据销毁;密码学;销毁粒度;快速销毁

中图分类号:TP393      文献标识码:A

文章编号:1009-3044(2021)16-0048-04

开放科学(资源服务)标识码(OSID):

Research on fast File Destruction Method Based on Cryptography in SSD

XIONG Chen-yu

(Sichuan University, Chengdu 610207, China)

Abstract: Solid-state Drive have been put forward many solutions to the problem of SSD data destruction, but the destruction granularity of the proposed method is mostly a single storage medium so far. In reality, users only need to destroy a file in most cases, so the existing SSD data destruction methods have the problem of unequal destruction granularity. In order to solve the problem of unequal destruction granularity in SSD, a cryptography method is proposed to store files. By this way, the problem of data destruction is transformed into the problem of keys destruction. The file is encrypted, and the key is stored in the specified space in SSD. When data need to be destroyed, only the key of specified file need to be destroyed, so as to realize the destruction of data with file destruction granularity. Finally, the feasibility of the scheme is verified.

Key words: SSD; data destruction; cryptography; destruction granularity; fast destruction

1 背景

固態硬盘(Solid-state disk, SSD)作为一种数据存储介质,在个人电脑、服务器、移动设备上均有着十分广泛的应用。和另一种常用的存储介质机械硬盘(Hard disk drive, HDD)相比,SSD具有读写速度快、功耗低、抗震防摔等优点[1]。在某些特殊情况下,使用者需要对存储介质中的数据进行销毁[2],为了解决SSD中的数据销毁问题,研究人员提出了许多解决方法。

对SSD的数据安全销毁研究中,Michael Wei等人[3]针对HDD的数据销毁方法是否能用于SSD的数据销毁问题展开研究。在研究中他们发现,由于SDD的写入基本单位为“页写入”,擦除基本单位为“块擦除”[4-5],SSD在执行擦除操作时需要先将目标数据块中的有效数据先写入其他数据块的空白存储页上,随后再对该目标数据块进行擦除操作。用DoD 5220M等适用于HDD的安全销毁方法对SSD进行全盘数据销毁后,目标文件在经过多次覆写后仍然能在SSD中找到一个甚至多个目标文件的复制。在该篇文章中,提出了一种针对SSD的数据销毁方法“Scrubbing”。具体方法为让SSD的闪存转换层(Flash Translation Layer, FTL)能够直接将新的数据写入需要销毁的闪存存储页中,有效解决了由于SSD数据擦除规则导致的数据多次拷贝问题。但其中存在的问题是,SSD存储器闪存芯片不同会导致该方法的擦除效果有很大的差异,不能很好的保证数据被安全销毁[6-7]。

Kim G等人[8]提出了TRIM算法,TRIM能够在操作系统层面反映SSD闪存存储层数据安全销毁的结果。Guomeng Wang等人[9]使用基于异步I/O的多线程技术,增加HDD存储器的数据读写速度,加快了数据的销毁速率。Xiaolong Xu等人[10]提出了数据折叠方法,该方法将数据等分成大小相同两段,在数据覆写阶段使用后段数据与前段数据进行异或操作,对新产生的数据继续进行等分操作,直到数据大小被减少到一定程度时,便对全部数据进行擦除操作。该方法同样采用了多次覆写的方式,每次覆写的空间大小逐渐减少,提高了数据销毁的速度。秦雄等人[11]提出了CREAM(梳状随机销毁算法,comb-like randomly eliminating algorithm)方法,该方法从某个起始偏移量开始,利用具有特定间隔的擦写梳对存储空间进行“梳理”。在区间内随机但不重复地选择起始偏移量,并执行梳理操作,不断重复该过程直到取完区间内所有整数实现数据销毁。

为了实现数据快速销毁,Chen Liu等人提出了数据加密销毁策略[12]。对一个闪存块区中的每个组进行加密,一个块区的密钥组集中存放在一特定数据存储块上,将数据销毁问题转化为密钥销毁问题,数据销毁仅需对密钥存储块进行数据销毁,大幅加快了销毁速度且满足数据安全销毁的要求。之后,该团队就该方法进行了相应优化,对一个SSD进行功能划分,划分为加密区和非加密区,保证了数据能够按需对应存储,减少销毁非重要数据消耗的时间,一定程度上加快了数据销毁的速度,也一定程度上减少了销毁对SSD带来的磨损[7]。

Tianran Xiao等人提出了基于NAND Flash的SSD单文件销毁方法[5]。对每个文件加入独一无二的头部,在进行单文件数据销毁时在全盘范围内对具有该特征的文件进行销毁。Younsung Choi等人[13]针对SSD的单文件销毁问题设计了以口令为基础的SSD安全存储系统。用户针对文件设置销毁口令,由可信第三方和本地存储SSD系统同时保管,用户发出销毁口令时,第三方和本地存储系统进行验证确认身份,允许用户对其的相应操作。I. Shin等人[14]提出了一种使用身份认证的IBE-DHT (Identity-Based Encryption Secure and Distributed Hash Table)文件自销毁系统。

SSD具有两个特点,一是写入和擦除的基本单元不同,为“页写入,块擦除”;二是每个闪存存储块都有一定的擦写次数,即有一定的使用寿命。数据销毁需要对原存储位置进行多次数据覆写操作,覆写操作违背了SSD的数据擦除规则,且多次覆写过程需要的时间过长;在SSD上使用覆写方法会造成空间的大量占用,完成销毁后仍然有数据副本存在于SSD存储介质中[3];多次擦写会严重影响闪存存储块的使用寿命,影响SSD的性能[6]。综上,针对SSD的数据销毁问题亟需一个高效可行的销毁办法。此外用户在进行数据销毁时的基本操作单位为文件[5],在存储介质内销毁粒度为文件进行数据销毁可以减少需要销毁的数据大小,一定程度上降低数据销毁对存储介质造成的损耗[5][7]。以文件为基本单位进行数据安全销毁能够帮助用户更加直观的知晓销毁的目标,确保重要数据能够及时销毁。所以本文提出了一种在SSD中基于密码学的文件快速销毁方法。

基于密码学的文件快速销毁方法使用基于密码学的存储方法,将文件加密后存储至SSD中。需要销毁文件时,仅需销毁文件对应的密钥,即可保证数据不可获取,即将SSD的数据销毁问题转化为文件加密密钥的销毁问题。基于密码学的文件存储方法包含了密码学功能和密钥管理功能。密码学功能实现了文件的加密存储和解密读取;密钥管理功能将密钥存储在指定的闪存存储块上,该闪存存储块称为密钥存储区域。数据销毁功能使用Scrubbing方法对密钥存储页进行多次覆写,实现数据销毁目的。

2 系统整体设计

SSD中基于密码学方法的文件销毁方法架构如图1所示:

基于密码学的文件销毁方案架构图如图1所示。在FTL原有的功能上增加了密码学功能和数据销毁功能。密码学功能使用AES-256加密算法,对存储文件进行加密存储,密文存放在一般闪存存储块上,密钥存放在密钥存储块上;读取文件时解密读取,从一般闪存存储块上获取密文,从密钥存储块上获取对应的密钥,密文解密后明文返回至操作系统。

数据销毁模块执行数据销毁功能,使用Scrubbing方法对密钥存储块进行数据销毁,通过5次覆写,实现数据销毁。该方法经过实验验证,发现覆写5次以上,能够保证数据的恢复概率低于10-5。

密钥存储块专门用于存放加密的密钥。密钥存储块需要保证仅用于密钥存储,不能存放其他数据;对密钥存储块执行磨损平衡时,密钥存储块上的数据只能迁移至密钥存储块上;非密钥存储块不能用于存储密钥。

3 基于密码学的文件快速销毁方法

为解决SSD数据销毁中的销毁时间过长和对SSD性能损耗问题,提出了数据加密销毁方法。数据加密销毁主要分为以下几个部分:数据加密写入和解密读取、数据销毁,本节将就上述内容进行详细介绍。

3.1 数据加密写入

主机通过接口发送写命令至SSD,SSD接收该命令后执行,并接收主机要写入的明文数据,FTL使用AES算法对数据进行加密,获得一个256bit的密钥,将密钥存放到指定的密钥存储块上。加密后的密文数据先缓存在SSD的RAM中,FTL为每个逻辑数据块分配一个物理地址,逻辑地址与物理地址的映射关系存放在FTL的地址映射表中。当缓存中的密文数据达到一定数量后,FTL将发送写闪存的请求给后端,后端根据写请求,将缓存中的密文数据写入预先分配的闪存空间。数据加密流程如图2所示:

3.2 数据解密读取

SSD进行数据解密读取操作时,由主机发送读命令,从密钥存储块中提取密钥至缓存中;SSD根据需要读取数据块的逻辑地址在地址映射表中查找对应的物理地址,获取物理地址位置后FTL从对应的物理地址上将密文数据读取到缓存中,使用缓存中的密钥对密文数据进行解密,得到明文数据;最后把存储在缓存中的明文数据返回至用户。数据解密流程如图3所示:

3.3 数据销毁

SSD中存储的数据由于使用密码学方法存储,保证了加密数据在没有密钥的情况下无法得到其中包含的信息;假设销毁了加密数据所使用的密钥,那么就能够确保数据无法在可接受的代价下被破译,即数据无法在可接受的代价下被恢复。本文将数据的销毁问题通过密码学方法转化为密钥的销毁问題。一般而言,密钥大小远小于加密密文的大小,转换销毁的对象减少了需要销毁的闪存块数量,解决SSD数据销毁造成销毁时间过长和销毁对SSD性能影响的问题。

Scrubbing算法由Michael Wei等人[3]针对SSD数据销毁提出的方法,多次将数据直接覆写至原数据页上,可以达到数据销毁的目的。该方法能够很好解决地址映射为页级映射的SSD数据销毁问题,其结果已经得到验证。本文将使用5次覆写的Scrubbing算法对数据销毁问题进行研究。

基于密码学的文件存储方法中数据销毁功能针对目标为密钥,只需对存储密钥的闪存存储块销毁,即可达到数据销毁目的。数据销毁功能在FTL中实现,需要进行数据销毁时,FTL查找到存放密钥的数据存储块,对该存储块执行数据销毁算法,实现密钥的销毁。上述操作导致密钥对应的密文不可破译,无法获取密文对应的明文信息,实现了存储文件的数据销毁。

4 基于密码学的文件销毁方法评价

在本节中,我们使用Flash-DBSim模拟器对的模型进行仿真,以评估本文中使用的数据销毁算法与ErasuCrypto算法对不同大小文件的销毁速度,ErasuCrypto算法是SSD数据销毁中的一种数据销毁技术。

模拟器存储空间1G,其中页大小2KB,一块包含64个页,一个分组包含1024个块,共有2个芯片;存储数据文件大小2MB、1MB,密钥大小256bit。

据表1构建了了一个基于Flash-DBSim模拟器的SSD存储区域。在FTL模块中加入了数据加解密功能,实现了数据加密写入,数据解密读取、数据销毁功能。本次实验将模拟数据写入、读取和数据销毁功能,对基于密码学的数据存储方法和ErasuCrypto方法在数据销毁方面进行比较。

1) 构造大小为2MB和1MB的文件。使用密码学功能,分别对两个不同大小的文件进行加密写入。

2) 使用Chen Liu等人的ErasuCrypto方法在Flash-DBSim中模拟数据销毁流程。同样使用AES-256密码学功能,分别对两个不同大小的文件进行加密写入。得到两个数据销毁总延迟时间。

3) 执行完成1)、2)操作后可以获得下述数据。2MB文件:a)、使用基于密码学的文件快速销毁方法,获得使用AES-256加密的4MB密文,存放在密钥销毁块区的1个256bit密钥,密钥数据销毁时间约为2049ms;b)、使用ErasuCrypto方法,获得使用AES-256加密的4MB密文,存放在密钥销毁块区的128个256bit密钥,密钥数据销毁时间约为3930ms。1MB文件:a)使用基于密码学的文件快速销毁方法,获得使用AES-256加密的2MB密文,存放在密钥销毁块区的1个256bit密钥,密钥数据销毁时间约为2049ms;b)使用ErasuCrypto方法,获得使用AES-256加密的2MB密文,存放在一个密钥销毁块区的64个256bit密钥,密钥数据销毁时间约为1887ms。

Flash-DBSim模拟了基于密码学的文件存储方法和Chen Liu等人的ErasuCrypto,实验结果如图4所示:

销毁2MB文件的密钥,本文基于密码学的文件存储方法在销毁速度上快于ErasuCrypto方法。本文基于密码学的文件存储方法,加密对象为文件,在进行数据销毁时,无论文件大小如何变化,需要销毁的密钥存储页数量不会发生变化;ErasuCrypto方法加密对象为一个分组中的所有闪存页,密钥数量会随着文件增大而增多。对于2MB大小文件,本文提出的方法产生了1个密钥,占据1个密钥存储页;ErasuCrypto方法产生了128个密钥,占据2个密钥存储页。所以销毁2MB大小文件时,基于密码学的文件存储方法文件销毁速度快于ErasuCrypto方法。

对1MB大小的文件进行加密销毁,基于密码学的文件存储方法速度略微慢于ErasuCrypto方法。此时两种方法均只需要对1个密钥页进行销毁,但由于ErasuCrypto方法在密钥存储页中写满了数据,单文件加密方法仅在密钥存储页上写有1个256bit的密钥,ErasuCrypto需要从1写为0的数据量更少,理论上销毁速度应该更快,但由于单字节写入需要的时间是200μs,对结果影响过小,导致两种方法在耗时上区别不明显。综上,基于密码学的数据存储方法和ErasuCrypto数据销毁方法相比,当文件越大时,基于密码学的文件销毁方法速度更快。

设文件明文大小为m,销毁时间为t,文件加密方法的销毁速度定义为销毁1B数据需要的时间(μs/B),设为η,则销毁速度公式1为:

η=t/m                                  (1)

Scrubbing算法是對闪存存储页进行覆写,根据公式1可知:数据越多,写入时间越长,即销毁时间越长。基于密码学的文件存储方法中,单个文件产生1个密钥,销毁时间t为定值,则m越大,速度越快;m越小,单位时间里销毁的数据越少,速度越慢。所以文件大小对文件加密销毁方法的销毁速度有着很大的影响。

5 结束语

本文提出了基于密码学的文件快速销毁方法,是一种以文件为粒度的数据加密销毁方法。本文首先对数据加密写入,解密读取过程进行了描述,设计了单文件加密销毁方案。其次,对比基于密码学的数据存储方法与ErasuCrypto方法对不同大小文件的数据销毁时间比较,发现文件大小会对单文件加密销毁方法的销毁速度产生影响;文件越大,基于密码学的数据存储方法数据销毁速度越快。

以文件为销毁粒度的数据销毁方法能够很好地满足使用者的需求,更加直观地反映销毁目标。其次,基于密码学的文件快速销毁方法很好地解决了销毁过程时间长和影响SSD性能的问题。但是,通过研究发现,文件大小对文件加密销毁方法的销毁速度有着重大影响,如何降低文件大小带来的影响是一个值得思考的问题。

参考文献:

[1] National Industrial Security Program Operating Manual (NISPOM)[M]. The Federal Register / FIND,2020,85(245).

[2] 中共中央办公厅、国务院办公厅关于转发《中共中央保密委员会办公室、国家保密局关于国家秘密载体保密管理的规定》的通知[N].浙江政报,2001(2):12-15.

[3] M. Wei, L. M. Grupp, F. E. Spada, and S. Swanson, Reliably Erasing Data from Flash-Based Solid State Drives[J]. in 9th USENIX Conference on File and Storage Technologies, Feb.2011:105–117.

[4] Gutmann P. Secure deletion of data from magnetic and solid-state memory[J]. Proceedings of Usenix Security Symposium, 1996:77-89.

[5] Xiao, Tianran. Per-File Secure Deletion for Flash-Based Solid State Drives[J]. Proceedings, August 2019, 2019 IEEE International Conference on Networking, Architecture and Storage, NAS 2019.

[6] Ji-Yong Shin, Zeng-Lin Xia, et al. FTL design exploration in reconfigurable high-performance SSD for server applications[J]. Supercomputing, 2009.

[7] Hoda Aghaei Khouzani,Chen Liu,Chengmo Yang. Architecting data placement in SSDs for efficient secure deletion implementation[J]. Computer-Aided Design,2018.

[8] Kim G, Shin D. Performance analysis of SSD write using TRIM in NTFS and EXT4. Computer Sciences and Convergence Information Technology (ICCIT). IEEE.2011: 422-423.

[9] Wang Guomeng, Zhao, Yanping. A Fast Algorithm for Data Erasure[J]. IEEE International Conference on Intelligence and Security Informatics, 2008, IEEE ISI 2008:254-256.

[10] Xu Xiaolong, Gong Peipei, Xu, Jia. Data Folding: A New Data Soft Destruction Algorithm[J]. 2014 6th International Conference on Wireless Communications and Signal Processing, WCSP 2014, December 18, 2014.

[11] 秦雄.半導体存储器数据自毁方法及其核心算法的研究[D].成都:四川大学,2014.

[12] Chen Liu, Hoda Aghaei Khouzani, Chengmo Yang. ErasuCrypto: A Light-weight Secure Data Deletion Scheme for Solid State Drives[J]. Proceedings on Privacy Enhancing Technologies,2017(1).

[13] 胡洋.高性能固态盘的多级并行性及算法研究[D].武汉:华中科技大学,2012.

【通联编辑:代影】

猜你喜欢
密码学
图灵奖获得者、美国国家工程院院士马丁·爱德华·海尔曼:我们正处于密钥学革命前夕
密码学“微”课程实践
信息安全专业密码学课程体系的建设
密码学课程教学中的“破”与“立”
浅析密码学在信息安全中的应用
密码学综述
“不可破译”的密码
应用型本科高校密码学课程教学方法探究
矩阵在密码学中的应用
面向应用型人才培养的《密码学》教学探讨