一种基于时间期限和访问次数控制的文件生命周期控制方法

2017-01-03 06:12:48王志坚杨家奇
计算机应用与软件 2016年11期
关键词:数据文件加密算法密文

傅 晓 王志坚 杨家奇 王 宇

(河海大学计算机与信息学院 江苏 南京 211100)



一种基于时间期限和访问次数控制的文件生命周期控制方法

傅 晓 王志坚 杨家奇 王 宇

(河海大学计算机与信息学院 江苏 南京 211100)

针对目前互联网环境中电子文件数据到期后无法安全彻底自毁现象,提出一种文件生命周期控制方法。通过两次散列和多重加密,引入Web分层思想,将时间、次数和销毁策略作为属性添加到文件头部,将加密后的文件分为存储层和控制层,文件生命周期结束后按照销毁策略销毁文件。实验结果表明,该方法在实现可抵抗传统密码攻击和蛮力攻击的基础上,不需要任何用户或者可信第三方进行干预,混合加密后的文件安全性得到增强,销毁后的明文和密钥皆无法恢复。

用户文件 自毁 时间期限 访问次数

0 引 言

云是近年来IT领域最重要的技术之一,它可以共享基础机构,大大发展了分布式处理、并行处理和网格计算等技术[1]。人们借助计算机、互联网等先进技术,将企业的经营及管理流程在线实现。所有业务数据经由系统处理,快速形成管理层所需商业智能,以KPI(关键绩效指标)、图表以及可追溯的报表形式呈现,各类技术方案的交流也是以电子文件的方式进行。这样,电子文件就成为企业信息的主要存储方式及企业内、外部之间进行信息交换的重要载体。以Windchill为例,包含各种电子文件数据,这些电子文件可远程调用,检入检出,造成文件副本残留,并在不安全信道中传输,造成信息泄露[2]。如何保护电子文件的安全问题,作为信息安全领域的一个重要内容,越来越受到重视。

数据加密是保护数据的一种有效手段,近几年国内外学者提出一些基于属性加密的方法。如采用基于属性的加密算法[3]和基于代理重加密[4]等技术,在很大程度上实现数据安全加密,但均未提出数据的生命周期概念,无法将数据文档自动销毁;而采用Dissolver系统[5]进行数据自毁的策略具有生命周期概念,但无法实现传送至他人终端的数据自动销毁。熊金波等[3]提出的组合文档加密方式在很大程度上实现了具有生命周期的文档控制,但基于DHT网络的应用使其难以满足大型办公系统文件的时间性能效率;岳风顺[6]提出了基于DHT网络将文件进行拆分成密文和密钥,从密文中随机抽取密钥存储在DHT网络,在生命周期结束后文档密钥消失,密文也就无法破解,但由于密文的大小决定了密钥的随机性很大,其密钥的复杂度受密文大小以及随机函数影响较大。王丽娜等[7]和Zeng等[8]先后提出Vanish系统和SafeVanish系统,通过树结构提高密钥管理效率,但会受到Sybil攻击,只要获得足够密钥分量,就可以解析密钥;尤其是SafeVanish系统增加了密钥长度,增加了加解密算法的时间损耗。

本文基于对称加密算法(Rijndael)和非对称加密算法(2048位RSA算法),采用类似Web编程的分层思想,将电子文件的加密过程分为存储层加密和控制层加密,最后合并为持久层数据,结构清晰明朗。不同的层根据两种加密算法的特性而采用不同加密算法。在电子文件头部添加时间期限、访问次数和销毁策略的属性,通过双重散列转换,以实现文件生命周期的控制。将时间作为属性添加到文件头部,作为生命周期结束与否的标志,同时作为散列的密文,增加文件被暴力破解的复杂度。电子文件生命周期结束后,通过查看销毁策略,决定对当前文件执行相应的自毁步骤。密文和密钥均受控制条件限制,控制条件可根据实际情形设置,实现对电子文件生命周期的细粒度控制。

1 需求与模型

1.1 设计需求

数据是有意义的实体。销毁是将实体从有意义变为无意义状态的过程。本文就自毁数据这一概念做一个定义:

定义1自毁数据,是指一条计算机数据,不论以何种形式存储,在特定条件下能够对人或计算机系统变为不可读状态。

从定义1中可以看出,自毁数据具备两个基本特征:首先,自毁数据作为计算机数据,其内容必然包含有意义的信息;其次,在特定条件下,该数据能够变为不可读状态,即对人或计算机系统呈现无意义的序列。

因此,文件生命周期控制需要解决三个问题:

(1) 在传输过程中防止文件被截取并被而已篡改;

(2) 在文件生命周期内保护数据不泄密,特定用户可查看;

(3) 在文件生命周期结束后自动彻底销毁。

为解决问题(1),需要对文件数据进行加密和解密,保证传输过程中文件是不可读的状态,到达特定终端后,解密成可读状态呈现给特定用户。为解决问题(2),需要对文件进行控制条件设计,保证文件在生命周期内可读,在生命周期外销毁。为解决问题(3),需要对文件进行自毁设计,采用DOD 5220-22-M保证文件变为不可读状态,且无法恢复。此时不仅密钥销毁,密文也随之销毁,使得文件数据无迹可寻,实为安全彻底自毁。

1.2 文件加密设计

文件是由一条条数据组成,其实质就是一份数据。加密后的文件分为两个部分:首部和主体。分别用Header表示首部数据,Body表示主体数据。加密后的数据文件模型如图1所示。

SelfDestConditionQRKeyHHDBH

图1 数据文件模型

1.2.1 加密流程设计

加密流程如图2所示。

图2 数据文件加密流程图

1.2.2 对称加密算法设计

设文件自身数据为D,利用Hash函数进行散列转换,产生哈希信息BH的哈希过程为BHash (Data),产生随机密钥RKey的伪随机过程为Random( )。产生的密钥负责对Body加密,并存储在Header中,对称加密过程为SymmetricEncrypt (PlainText,Key),则主体数据Body由以下公式得出:

BH = BHash (D)

(1)

RKey = Random ( )

(2)

Body = SymmetricEncrypt (D+BH,RKey)

(3)

1.2.3 非对称加密算法设计

设任务完成时的判断条件为SelfDestCondition,销毁策略为Q,利用Hash函数再次进行散列转换,产生哈希信息HH的哈希过程为HHash (Data),非对称加密过程AsymmetricEncrypt (PlainText,PrivateKey),产生密钥对(PublicKey,PrivateKey)的过程为Generator( )。并利用私有密钥对首部进行加密,公开密钥负责系统解密使用,则首部数据Header由以下公式得出:

HH=HHash(SelfDestCondition+Q+RKey)

(4)

(PublicKey,PrivateKey)= Generator ( )

(5)

Header =AsymmetricEncrypt(SelfDestCondition+Q+

RKey+HH,PrivateKey)

(6)

1.3 文件解密设计

解密过程不是简单的加密逆过程,而是一个验证+解密的过程,其解密流程如图3所示。

图3 解密流程图

2 模型安全性分析

2.1 时间期限依据

该方案通过判断条件中与设定的到期时间和当前时间比较,以判断终端文件是否到期。需注意的是,不论操作系统时钟还是主板上的硬件时钟,终端的系统时间都可以被用户更改从而绕过自毁控制。为抵抗此类攻击,该方案有必要与Internet日期时间服务器进行同步,使用世界标准时间而非终端系统时间作为当前时间。Internet日期时间服务器使用日期时间协议[9],向发起TCP连接请求的主机返回标准格式的Daytime数据。原型系统与Internet日期时间服务器的时间同步过程如图4所示。

图4 Internet时间同步

2.2 传输过程安全性

加密文件数据分为两部分的益处在于:

(1) 只有使用匹配的公钥才能解密首部数据,得到解密主体数据所需的对称密钥。由于对称密钥由伪随机过程生成,直接蛮力攻击主体数据等价于唯密文破解对称加密过程SymmetricEncrypt所用加密算法的难度;

(2) 攻击首部数据的唯一方法是旁路攻击获取公钥,否则只有通过蛮力攻击,也就是唯密文破解非对称加密过程AsymmetricEncrypt所用加密算法的等价问题。

本文使用Rijndael算法作为对称加密算法,其中密钥长度设为256 bit,块大小设置为128 bit,以符合FIPS PUB 197关于国家秘密级别数据的加密要求[10]。使用RSA作为非对称加密算法,其中密钥长度设置为2048 bit,以符合SET(Secure Electronic Transaction)协议中关于CA(Certificate Authority)中心安全级别的密钥长度要求。

本文方法实现了双重散列转换,即使加密文件被中间人攻击获取,被篡改后的数据生成的验证散列H_H和B_H必然与文件内包含的hash值不同,使得传输后的文件失效从而从新传输加密文件。而希望通过进一步修改散列函数BHash()和Hhash(),由于散列函数种类繁多并且研究成果非常之多,以此来实现验证hash值与文件内hash值相同从而打开文件获取原数据的可能性非常低。双重散列转换进一步保证了数据文件的防篡改性,加强了数据文件的安全。

为区别加密前文件,加密后的文件名添加“-protected”后缀。

2.3 文件彻底自毁

当文件到期时间大于或等于当前时间,原型系统将销毁文件数据。需注意的是,在通常的文件系统中删除一个文件并不意味着将其数据销毁,仅是对需删除的文件进行一个标记操作。

为防止攻击者通过技术手段恢复文件系统中删除的文件,必须调用安全销毁策略对映射文件内容进行清理和销毁,而非简单的删除。美国国防部推荐了一种针对可写入媒体中信息的销毁方法:依次使用一个字符、该字符的反码、一个随机字符覆盖所有媒体上的可寻址区域并校验[11]。基于该方法的原理,在原型系统中引入DOD 5220-22-M标准作为安全销毁策略,用以实现对文件系统中到期映射文件数据的销毁。具体算法流程如下:

(1) 使用0x00对映射文件中对应的每个簇进行覆盖;

(2) 使用0x00的反码,即0xFF再次覆盖;

(3) 使用伪随机函数生成的随机字节最后一次覆盖。

三个步骤即为一次擦除,当以上三步均成功完成之后,从文件系统中将映射文件删除。可选择一次擦除、三次擦除和七次擦除,视需求自由设置。经过该安全销毁策略销毁的文件数据,即使其索引被恢复,由于其数据所在的簇(在分布式文件系统中则为块)中的数据已被完全覆盖,故而不可能重建原文件,攻击者仅能获得最后一次覆盖过程所写入的无意义的随机字节序列,如图5所示。

图5 安全销毁策略算法流程图

3 系统设计

3.1 伪代码设计

本节以Windows系统环境为例,说明如何添加文件自毁系统,实现文件自毁功能。在Microsoft Visual Studio .Net集成开发环境中编写上述所设计的自毁层原型系统代码,并编译成动态链接库形式。自毁设计的功能有三个:1)对源文件进行加密;2)对加密文件进行解密;3)对于一个文件,如若其生命周期结束,将其销毁。

所设计的文件模型代码定义如下:

Public Class File{

Header as Byte () = AsymmetricEncrypt (Serialize (Header),PublicKey)

Body as Byte () = SymmetricEncrypt (Serialize (Body),Header.RKey)

End Class}

Public Class Header{

SelfDestCondition as Datetime+Times+Q

RKey as Byte () = Random()

HH as Byte () = HHash (SelfDestCondition+RKey)

End Class}

Public Class Body{

D as Stream

BH as Byte() = BHash (D)

End Class}

其中,AsymmetricEncrypt使用RSA 2048,SymmetricEncrypt使用Rijndael,HHash和BHash均使用MD5[12]。动态链接库仅向外部暴露两个接口:一个将原数据文件转换为加密文件;另一个则将加密文件转换为解密数据。其命名空间与接口如下:

Public Shared Function SelfDestructingData.DataToFile (Data as Stream,SelfDestCondition as Datetime+Times+Q,PrivateKey as Byte ()) as Filestream

Public Shared Function SelfDestructingData.FileToData (Filepath as String,PublicKey as Byte ()) as XMLStream

其中,SelfDestructingData.DataToFile供发送者在系统中使用,SelfDestructingData.FileToData供接收者在系统中使用。

3.2 实验数据

本文中,参照Fu等[13]的测试方法,结合本系统的实验可行性分析,在实现该系统的同时在源码中添加时间开销测试代码。由于电子文档(如txt)具有非常好的直观性,故采取新建特殊大小的txt文件10个,每个测试100次,取其加密解密时间平均值作为时间开销,而空间开销上可对比加密前后的大小可得到文件大小的变化。

3.2.1 空间开销

在空间开销上,该方案增加了Header头部和HH哈希值,文件大小增加1 KB大小左右。在上述 txt文件的基础上进行加密处理,得到加密后的数据与原文件大小对比,挑选一部分截图如表1所示。

表1 空间开销占比对比

3.2.2 时间开销

由于对称加密与非对称加密算法的各自特殊性,采用对称加密算法对Body进行加密比采用非对称加密对其加密和解密节约时间。尤其是当文件较大时,对称加密算法比非对称加密算法效率高很多。在源码中添加测试模块,实验通过建立1~10 MB的10个特殊大小txt文件,分别测试100次,取其平均值,加密时间如图6所示。

图6 加密解密时间

4 与现有技术比较

4.1 性能对比

对比现有文献[3,5-8],可看出本文提出的方法在抵抗攻击、稳定性、可扩展性方面都已经很好实现功能。同时能够进行多属性多重散列加密,规避了密钥管理的烦恼;在生命周期结束后无需担心密文未删除带来的泄露风险。具体对比如表2所示。

表2 性能对比

4.2 功能对比

本文方案技术与现有文件生命周期控制方法比较,本方法增加了自主时间期限、访问次数自动检测等功能,实现对数据的主动有效控制,当达到判断条件后自动彻底销毁,比文献[3]的方法实现方法简单,算法通用性好,且实践可行;将文献[6]的方法中被动控制转化为主动设置时间期限和访问次数等控制条件,且无需进行拉格朗日中值定理进行文档验证进行解密。具体表现为下面4点:

(1) 通过双重散列实现文件数据的散列转换和首部验证消息散列转换,多重安全机制保障密文数据的安全性。将对称加密密钥封装在Header中,并使用非对称加密手段加密Header部分,防止密钥丢失或者被窃导致文件数据被查看。

(2) 在加解密过程中,引入时间期限、访问次数以及销毁策略等因素,充分考虑文件数据的使用规范,实现对文件数据的有效控制,避免文件接收者可以无限期和无限次的访问数据。

(3) 检测到数据文件使用时间已到期或访问次数结束,自动调用销毁策略将数据文件销毁,根据数据文件安全程度的高低,对于数据文件分为三种销毁方式:一次随机序列覆盖、三次覆盖和七次随机序列覆盖,降低了用户残留文件数据泄漏的风险。

(4) 达到判断条件后自动销毁,无需用户或可信第三方介入,避免因意外因素导致的文件数据外泄、漏删等情况,规避人为导致的数据外泄风险。

5 结 语

本文基于现实生活中一种常见的共享文件泄密现象,提出一种数据生命周期控制方法,用以降低共享文件数据泄密风险,包括密文和密钥。本文提出的解决方案仍然是基于传统的密码学原理,后续工作将会把研究重心放在更加适合于分布式环境的相关技术上。例如对等网络、分布式哈希表以及与文献[13]在线方法结合等,形成一套完整的在线离线安全文件共享环境,并希望扩展此方案至网络云数据的全方位保护。

[1] 陈全,邓倩妮.云计算及其关键技术[J].计算机应用,2009,29(9):2562-2567.

[2] Balinsky H Y,Simske S J.Differential access for publicly-posted composite documents with multiple workflow participants[C]//Proceedings of the 10th ACM symposium on Document engineering.ACM,2010:115-124.

[3] 熊金波,姚志强,马建峰,等.基于属性加密的组合文档安全自毁方案[J].电子学报,2014(2):366-376.

[4] 北京邮电大学.基于代理重加密的安全DRM互操作架构:中国,CN201110421186.4[P].2012-8-1.

[5] 徐菁,余建桥,朱有佃,等.基于远程控制的数据销毁技术的研究与实现[J].计算机工程与设计,2008,29(9):2206-2208.

[6] 岳风顺.云计算环境中数据自毁机制研究[D].中南大学,2011.

[7] 王丽娜,任正伟,余荣威,等.一种适于云存储的数据确定性删除方法[J].电子学报,2012,40(2):266-272.

[8] Zeng L,Shi Z,Xu S,et al.Safevanish:An improved data self-destruction for protecting data privacy[C]//Cloud Computing Technology and Science (CloudCom),2010 IEEE Second International Conference on.IEEE,2010:521-528.

[9] Postel J.RFC 867:Daytime protocol [S].1983.

[10] FPUB NIST.FIPS PUB 197:Advanced Encryption Standard (AES)[S].2001.

[11] DOE DoD,NRC CIA,DoD 5220.22-M:National Industrial Security Program Operating Manual[S].1995.

[12] Rivest R.RFC 1321:The MD5 Message-Digest Algorithm[S].1992.

[13] Fu X,Wang Z,Wu H,et al.How To Send A Self-Destructing Email:A Method Of Self-Destructing Email System[C]// Big Data (BigData Congress),2014 IEEE International Congress on.2014:304-309.

A FILES LIFECYCLE CONTROL METHOD BASED ON DEADLINE AND ACCESS TIMES CONTROL

Fu Xiao Wang Zhijian Yang Jiaqi Wang Yu

(College of Computer and Information,Hohai University,Nanjing 211100,Jiangsu,China)

In order to solve that the electronic documents in Internet environment cannot safely and completely self-destruct when expiring,this paper presents a file lifecycle control method.Through two hash calculations and multiple encryptions,and by introducing the layers idea in Web programming,we added the deadline,times and destruction strategies to the header of files as attributes.We divided the encrypted files into the storage layer and the control layer.The files will be destroyed according to destruction policy after their lifecycles are expired.Experimental results showed that this method did not need the intervention exposed by any user or the trusted third party on the basis of implementing the capability of resisting traditional cryptographic or brute-force attacks.The safety of the files with hybrid encryption is enhanced,and the destructed cipher text or keys can no longer be restored.

User files Self-destruction Deadline Access times

2015-06-01。江苏省自然科学基金项目(BK20130852)。傅晓,博士,主研领域:信息安全。王志坚,教授。杨家奇,硕士。王宇,副教授。

TP309.2

A

10.3969/j.issn.1000-386x.2016.11.069

猜你喜欢
数据文件加密算法密文
一种针对格基后量子密码的能量侧信道分析框架
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
数据文件恢复专题问答
数据文件安全管控技术的研究与实现
SQL数据文件恢复工具
基于小波变换和混沌映射的图像加密算法
云存储中支持词频和用户喜好的密文模糊检索
Hill加密算法的改进
对称加密算法RC5的架构设计与电路实现