信息技术和网络通信的发展,尤其是Internet的高速发展,大大加快了全球信息化的进程,同时信息安全方面的问题越来越多,这也引起人们的高度重视。不解决信息安全问题,信息化将不可能健康地发展。数据加密是保证信息安全的基本技术。它以很小的代价为信息提供了一种有效的安全保护,国内外学者对比进行了有效的研究。本文提出了一个基于多模式加密算法的文件加密保护方案来保证计算机中信息的安全。
为了保护文件的保密性和完整性,防止信息被窜改、伪造和假冒,传统的方法是对同一个文件采用单一模式的加密方案。本文提出的文件加密保护方案是对同一文件不同内容用不同加密方法的多模式加密:采用128bits(16Bytes)密钥,使用对称密码算法3DES、IDEA、AES中的一种(可选)和类似CBC(密码分组链接)的加密模式对原文件进行加密以保证数据的安全;另外使用散列算法MD5、SHA1、SHA-256中的一种(可选)对原文件生成散列值,通过校对散列值检测文件是否被更改,从而保证文件的完整性。该方案较传统的方案有更高的安全性。
1 本文涉及的加密和散列函数算法
本文主要使用了对称密码算法3DES、IDEA、AES和类似CBC(密码分组链接)的加密模式,散列算法采用了MD5、SHA1、SHA-256等对原文件生成散列值,通过校对散列值检测文件是否被更改,下面分别进行简单介绍。
1.1 加密算法
DES用56bits密钥将64bits的明文转换成64bits的密文。其中,密钥总长为64bits,另外8bits是奇偶校验位。DES的密钥存在弱密钥、半弱密钥等。实用中较多是它的改进型,即用最小密钥进行三重加密。IDEA算法基于“相异代数群上的混合运算”设计思想。其密钥长度为128bits,是DES密钥的两倍多,分组长度为64bits。一些文献讨论IDEA算法的不足,但目前尚未有进行有效攻击的方法。AES 算法其设计策略是宽轨迹策略(Wide Trail Strategy)。其使用128 、192 或256bits长度的密钥,对于128、192或256bits的加密分组进行加密(密钥跟加密分组长度无须相等共九种组合)。
1.2 密码模式
分组加密算法在加密数据时可以分为四个模式。ECB是最简单和最快的分组密码模式,当然也是最弱的。本文加密文件头使用该模式。在CBC 模式下,每一个分组加密之前必须与前一个分组的密文进行一次XOR 运算,之后再进行加密。因此,每一个区块的加密结果均会受到之前所有分组内容的影响。本文加密文件体系用该模式。
1.3 单向散列算法
本文所用的单向散列函数是消息摘要算法MD5 和安全散列算法SHA。MD5以512bits分组来处理输入的消息,且每一分组又被划分为16个32bits子分组,经过一系列的处理后算法的输出由4个32bits分组组成,将这4个32bits分组级联后将生成一个128bits的散列值。 其运算速度非常快。SHA设计思想和MD5 相似,但是比MD5 具有更长的散列值,因此更能够抵抗攻击。SHA1有160bits散列值。具备扩展转换,并且为产生更快的雪崩效应而将上一轮的输出送至下一轮。SHA-256是SHA1的改进:具有更大的数字指纹、更复杂的非线性函数和压缩函数、每一步均有唯一的加法常数等。因此,SHA-256具有更高的安全性。
2 强加密算法文件加密保护方案的实现
下面介绍该文件加密保护方案的具体实现思想。主要包括文件的加密和解密两个过程。
2.1 文件的加密过程
用户选择好要保护的文件、加密受保护文件头部信息的密码算法、加密原文件的密码算法、散列算法、加密密钥。
使用用户选择的散列算法求出原文件的散列值,然后连同原文件的长度、加密原文件的密码算法、散列算法,这四部分作为受保护文件的头部信息加密后写入受保护文件。头部信息的内容如下:前16Bytes包含了原文件的长度、加密原文件的密码算法、散列算法,接下来的16或32Bytes则是原文件的散列值。其中MD5(128bits)为16Bytes,SHA-256(256bits)为32Bytes,而SHA1(160bits)为16Bytes,剩余的32bits放到前16Bytes空闲的第13-16Bytes中。
使用用户选择的加密受保护文件头部信息的密码算法对头部信息以ECB(电子密码本)模式进行加密。在这里需要注意的是无论选择3DES、IDEA,还是AES,其密钥长度均为128bits。IDEA的密钥长度为128bits,可直接使用;AES的密钥长度和分组长度都是可选的,在本方案中它使用128bits的密钥和分组;对于3DES,它使用了文献[3]介绍的方法,先用128bits的密钥产生三个64bits的密钥,再使用DES算法加密。
接下来,本文使用用户选择的加密原文件的密码算法对原文件进行加密。在加密时用到了一个基于CBC模式,它可以下面的公式表示:Ci=E(PiIV);IV=IVCi;在这个加密模式中,第i个密文分组是由第i个明文分组与初始向量IV异或后再使用具体的密码算法加密得到的,然后IV与第i个密文异或得到新的IV以备对第i+1个明文分组加密时使用。最初的初始向量IV是由受保护文件头部的密码算法产生的子密钥的异或和,不同的密钥产生不同的IV,不同的密码算法产生不同的IV。在本方案中,各个密码算法先产生128bits的IV,在加密原文件时再灵活使用(在加密原文件时,若用户选择了AES算法则128bits的IV可直接使用;若选择了3DES或IDEA,则要将128bits的IV分为前后两个64bits,再将它们异或得到一个64bits的IV来使用)。
各个密码算法产生128bits初始向量IV的方法:AES产生44个子密钥,长度为32bits。将其按顺序分成四组异或得到128bits的初始向量IV,如图2所示。DES先将128bits的密钥分成两个64bits的密钥,生成64个子密钥(DES产生16个子密钥,长度为48bits,在本方案中一个48bits的子密钥被分成两个24bits的子密钥),接着将64个子密钥平均分成四组异或得到128bits的初始向量IV。IDEA产生52个子密钥,长度为16bits。在本方案中,使用前48个子密钥将其合并成24个32bits的分组,然后按顺序分成四组异或得到128bits的初始向量IV。
最后要说明的是,由于DES、IDEA的分组长度为64bits,AES为128bits,若将原文件制作为受保护文件后,受保护文件的长度是64bits的倍数而不是128bits的倍数,那么密码分析者即可确定加密原文件的密码算法不是DES就是IDEA,这样会降低破译的难度。在加密完原文件后,将检测受保护文件的长度是否为128bits的倍数,若不是128bits的倍数则再加上一些随机数据使其为128bits的倍数(是128bits的倍数必然是64bits的倍数,那么密码分析者将不能从文件长度中确定密码算法了)。
2.2 文件的解密过程
(1)软件根据用户提供的解密密钥、受保护文件的头部信息密码算法解密受保护文件的前16Bytes,获取原文件的长度、加密算法、散列算法信息;
(2)根据散列算法产生的散列值的长度读取受保护文件中相应的字节,将其解密得到原文件的散列值H1;
(3)根据解密受保护文件的前16Bytes时得到的原文件加密算法信息和原文件的长度,解密受保护文件剩余部分,将解密得到数据写入文件;
(4)对上一步得到文件用解密受保护文件的前16Bytes时得到的散列算法信息求出该文件的散列值H2;
(5)比较H1与H2,若两者相等则表示文件未被修改;若不等则表示文件已修改。
3 试验结果和该方案的特点
对该方案的实用性进行如下试验:分别对一个txt文件(49.7KB),一个MP3文件(4.95MB),一个exe文件(11.2MB)进行加密和解密试验,使用的散列算法: SHA256,文件头部用3DES加密,文件体分别用3DES、IDEA、AES进行加密,从试验结果可看出该方案的执行时间并没有大幅度的提高,但安全性有很大提高,数据如表1、2(CPU1.1GHz,256MB内存)。
其中,IV是受保护文件头部的密码算法产生的子密钥的异或和。这种加密模式保留了CBC的优点——增加了安全性,而且一旦密文遭到修改其错误将会扩散到修改点以后的全部密文,这样可以更加容易地检测到改动。这些方法较好保证了数据的完整性。在一定程度上将三种密码算法混合起来,增加了破译的难度。密文遭修改后,在解密时该错误会被扩大,可更加容易发现密文被改动。
该方案目前也存在着一些不足:密钥过长(128bits),解密时需提供受保护文件头部信息的密码算法。加密保护文件头部信息时只用了电子密码本模式(ECB),降低了安全性。密文被修改后无法正确解密恢复原文,容错性不理想。
该方案用多种模式加密算法对同一文件进行加密。它是对已有的加密方案的有效改进和整合。虽然该方案还有一些不足之处,但较传统单一模式的加密方案其能更好保证文件的安全性和完整性。
小知识之散列函数概念:
散列函数(或散列算法)是一种从任何一种数据中创建小的数字“指纹”的方法。该函数将数据打乱混合,重新创建一个叫做散列值的指纹。散列值通常用来代表一个短的随机字母和数字组成的字符串。好的散列函数在输入域中很少出现散列冲突。在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。
电子文档管理系统的重要性:企业数字化转型的得力助手
在这个智能信息爆炸的时代,数据成为了企业最宝贵的资产之一。如何有效地管理和使用这种信息,已成为每个企业必须面对的重要课题。电子文档管理系统是解决这一问题的关键工具。今日,我们将探讨电子文档管理系统的重要性。在热点话题中,我们经常听到数据泄漏、信息安全等事件。这些事件不仅给企业带来了极大的经济损失,并且严重影响到企业的声...
it资产管理系统:IT资产大管家
在这个智能飞速发展的时代,公司的IT资产如同无形金矿,非常有价值。可是您有没有经历过这种困扰:IT资产种类繁多,数量庞大,管理耗时费力,还常常担忧数据安全和合规性?别担心,今天就给大家介绍一个IT资产管家——安企神IT资产管理系统。一、IT资产管理,为何如此重要?随着企业业务的不断增加,IT资产的数量和种类也在增加。这...
PHP线上加密解密:确保数据安全的有效途径
在如今智能化快速发展的时代,数据安全成为了人或单位不可忽视的重要话题。据最新统计,过去一年超出50%的企业遭到黑客入侵,数据泄露事件高发,给企业信誉和经济损失导致双重打击。在这种情况下,PHP线上加密解密技术的发展至关重要,既能提升数据安全性,又能帮助企业有效防范潜在威胁。一、PHP在线加密解密是什么意思?PHP是一种...
U盘管理工具大曝光:管理便捷,安全无忧!
在这个信息爆炸的时代,U盘已经成为我们日常生活中不可或缺的小帮手。不论是工作材料的备份或是学习课件的存储,U盘都以其小巧便携、容积丰富的特征受到大家的喜爱。但是,随着U盘的广泛使用,管理里的不便也随之而来。别担心,下面我就给大家介绍一款优秀的U盘管理工具,使你的U盘管理更安全!一、U盘管理,为何这么重要?想象一下,你U...
桌面管理软件怎样帮企业提高管理效益?
近日,一家知名科技公司因为桌面管理不当,造成内部数据泄漏,导致了业内的高度重视。这一事件不但揭露了桌面管理在企业管理中的作用,也催生了对高效安全桌面管理软件的需求。在此背景下,安企神桌面管理软件因其卓越的性能和全面的功能迅速成为很多企业的新宠。一、桌面管理:企业安全高效的基石桌面管理不仅关系到企业日常办公的顺利进行,也...