1 引言
在计算机技术如此发达的今天,计算机技术应用于人们生活中的各个角落,它已成为人们社会生活不可分割的一部分。同时,有关调查显示,2014年全球人均月消耗流量为10GB,2013年仅一天全球累计产生的流量达到1EB(即10亿GB)。这意味着我们已经进入大数据时代。随着数据量的增加和网络覆盖范围的扩大,信息存储的安全性逐渐受到人们越来越多的关注。如今的云存储技术的发展也使得人们面临另一个严峻的考验,即云存储数据的安全性。对数据保护的措施一般采用数据加密的方法,然而此方法的缺点在于对大数据,采用强数据加密算法会导致加密解密过程比较长;若采用弱加密算法,则数据的保密性不能得到很好的保证。本文探讨一种方法,使得数据加密时间和安全性达到一种平衡。
在利用弱加密算法对数据进行加密时,若他人得到加密后的密文,相对而言会比较容易破解密码从而得到明文。因此在数据保护的过程中,可以从两方面:一是对密文进行保护使他人无法获得密文或者无法获得完整的密文;二是采用强加密算法使他人无法轻易破解密文;提高数据的安全性。由于采用强加密算法会较大增加数据加密的时间代价,因此可以从更有效的保护密文方面提高数据的安全性。
2 DES加密算法
为了保护数据的安全,对数据的加密是必不可少的。DES加密算法是1977年美国采用的IBM公司设计的加密算法,它实现了加密算法的国际标准化,是非机密数据的正式数据加密标准。因此在对个人非机密数据的保护上使用DES加密算法已能满足大多数据保护要求。DES算法由一个主密钥生成16个子密钥,然后读取8个字节的明文将其转换成二进制,即64位的01矩阵。把得到的64位矩阵作为算法的输入,与生成的16个子密钥依次进行迭代运算,最终输出64位的密文矩阵,重复读取加密的过程,由此得到密文文件。而解密过程只是将算法的输入改成8字节的密文,然后将子密钥的使用顺序颠倒即可。
DES加密算法属于对称密码算法,其加密密钥和解密密钥相同,有着较快的加密解密速度。但是,随着计算机性能的不断提高,计算机运算能力的不断增强,DES的缺点也更加突出。DES加密算法的缺点主要在于,加密密钥太短只有8位,对于暴力破解的方法无法进行有效的防护。因此为了在使用DES加密算法的同时提高数据的安全性,有必要对密文采取一定的保护措施。
3 散列存储
南京邮电大学的徐小龙等人在《一种基于数据分割与分级的云存储数据隐私保护机制》中,提出采用将数据分割后加密,然后上传至云端,并将数据的目录信息存放在本地的方法实现云存储中数据的保护。但这种方法的缺点在于:若有k个文件被窃取,那么他人有可能还原出原文件,数据的安全性还是受到一定的威胁;而且个人必须保存一份额外的目录文件,才能使得最后能方便的还原出原数据,增加了一定的空间资源消耗。本文利用散列存储的思想,将一个大文件分割成几份子文件,实现了只有在同时得到所有密文文件时才能还原出原文件。
散列存储技术本来是将数据存放位置与数据关键字建立一种对应关系的查找技术,它的基本思想是,提取数据的关键字从而决定数据的存放位置。散列存储的优点在于访问速度非常快。将散列存储的思想应用到数据分割上,将文件分割成m个文件步骤如下:
(1) 新建1、2、…、m个空白文件;
(2) 从密文中读取一个字节;
(3) 将(2)中所得字节转换成10进制数n;
(4) 将这个字节以追加方式写入第n mod m个文件中;
(5) 重复步骤(2)到(4),最终完成文件的分割。
但是,经过上述步骤得到m个密文文件后,会因为无法得知对解密后的密文重组顺序,从而导致无法进行数据还原。原因在于,对当前字节进行散列存储时计算的此字节本身所存储的位置,但是文件的组合是有顺序的,所以应当计算的是此字节的下一个字节的存储位置,这样以来数据能形成一条数据链,从而在数据还原时,能从数据链的头部依次还原成整个原数据。
因此,提出另一个解决办法,步骤如下:
(1) 新建1、2、…、m个空白文件;
(2) 从密文中读取一个字节;
(3) 若此字节为文件第一个字节则写入文件1中,并将其转换成10进制数n,计算n mod m,记为k;
(4) 若此字节不是文件中第一个字节,则将其写入文件k中(k<=m);
(5) 重复步骤(2)到(4),从而完成对文件的分割。
数据还原阶段步骤如下:
(1) 解密m个密文文件;
(2) 新建一个文件c;
(3) 从文件1中读取一个字节写入c中,并将其转换成10进制数n,计算n mod m,记为k;
(4) 从文件k(k<=m)中读取一个字节以追加的形式写入c中,并将其转换成10进制数n,令 k = n mod m;
(5) 重复(4)步骤,最终得到原文件。
在实际应用中,可以将m个文件分开存储,这样能有效的防止他人同时获取所有密文。从而无法破解密文数据。由此,运用散列存储的思想,既能很好的实现数据分割,又因为其实通过逐字节分开存储的方法,能有效的防止他人通过获得一部分密文数据而还原出部分原数据。再者,通过对使用DES加密后的文件进行密文分割,使得他人只有同时获得所有密文数据,并且破解了DES密钥之后才能还原出明文,提高了数据信息的安全性,增加破解密文的代价。
4 性能分析
利用散列存储的思想对密文数据进行分割,其时间复杂度为0(1)。而且,在数据分割过程中并没有产生出密文数据以外的数据,节约了空间资源。因此,其具有良好的可行性。
在数据安全方面,将密文数据通过散列存储的思想分割后,增加了他人获取全部密文数据的难度,提高了密文数据的安全性。同时,由于通过几个密文数据并不能推算出明文数据,尤其是在没有第一个文件的情况下,即使破解了DES的解密密钥,只能够知道当前字节的下一个字节存放在那个文件,却无法知道存放的具体位置,因此无法通过剩余的文件推算出部分数据信息,这样以来大大增加了数据的安全性。
在数据完整性方面,只有在获得全部密文,并且得到DES解密密钥的情况下,从第一个文件开始执行解密过程,才能够完整的还原出整个明文
数据。若密文数据被破坏,那么从被破坏的位置开始,解密结果将会出现异常很容易被发现,从而保证了数据的完整性。
5 结束语
信息安全已成为当今社会越来越受人关注的问题,尤其是在当前网络如此发达的情况下,局域网、分布式系统以及云存储的数据信息安全问题显得愈发突出。如何保护个人的信息安全,使人们能放心的使用网络这一快捷、方便的资源,是现在计算技术研究的热门话题。本文提出的基于散列存储和DES数据加密的方法,在对数据加密的同时,也考虑到对密文的保护,从而增加他人获取密文的代价,提高还原明文的难度。而且,个人在保护自己的数据时不需要将整个文件全部带走,只需要带走一部分文件就能实现对整个文件的保护,使数据保护更加便捷。然而,由于采用逐字节散列的方法,会增加一定的时间开销。如何进一步的在不增加空间消耗的前提下,降低时间的开销需要我们继续不断研究。
参考文献
[1] 解双建,原亮,谢方方.DES算法原理及其FPGA实现[J].计算机技术与发展,2011(07):158-160+1.
[2] 隋涛.DES与AES数据加密算法探讨[J].湖北第二师范学院学报,2013(08):66-68.
[3] 徐小龙,周静岚,杨庚.一种基于数据分割与分级的云存储数据隐私保护机制[J].计算机科学,2013(02):98-102.
基金项目:
基于群体智能涌现的藏文网络舆情分析及突发事件预警机制研究 国家自然科学基金[61165013]、基于朴素贝叶斯算法的藏文垃圾短信过滤研究[61262086]、藏文软件推广应用 西藏自治区十一五规划项目[175]。
作者简介:
余长春(1990-),男,河南信阳人,西藏大学,在校研究生;主要研究方向和关注领域:网络信息安全。