高校网络数据的加密传输
2011-10-18张家贵池水明
张家贵 池水明
(金华职业技术学院,浙江 金华 321017)
高校网络数据的加密传输
张家贵 池水明
(金华职业技术学院,浙江 金华 321017)
本文利用AES算法、RSA算法和Hash函数构建一种能够实现数据快速加密、安全传输,并具有数字签名功能的数据加密传输系统,该系统保证了数据的机密性、完整性、身份验证和不可否认性。
高校数据安全;AES算法;RSA算法;Hash函数
一、引言
随着高校计算机网络的普及,越来越多的高校为了实现内部资源共享、数据通信建立了校园网,并且为了使用公共网络教学资源接入互联网,这样就造成一些安全问题。其中网络传输过程中的数据安全显得尤为重要。高校为了保障数据的安全,一般采用的被动方法有物理隔离、防火墙、网络代理、内部网络监控与过滤等;主动的保护方法一般可以建立安全通信通道 (物理或者虚拟)、加密传输数据等。
高校网络数据传输安全指的是数据在网络传输时,数据的机密性、完整性、不可篡改性未遭到破坏,而且顺利到达目的地的过程。当前一种高效的、广泛应用的方法是使用加密技术来保障数据在传输过程中的安全,同时加密技术还能有效保护存储数据的安全,密码技术是保护数据最基本也是最有效的技术。
二、加密技术
为了保护高校网络传输中数据的安全,可从广义上将数据安全分为三个部分:数据加密、数据传输安全和身份认证管理。数据加密是对传输中的数据流加密,以防止传输线路上的信息被窃听和泄漏,保证信息的机密性;传输安全是确保传输信息不被篡改和破坏以保证其完整性;身份认证要求信息交换双方的合法身份,保证信息不被错误地传输给错误的人。
加密技术利用置换和变换的方法将信息转化成为密文,它的安全性取决于所采用的加密算法和密钥强度,根据密钥的类型可将密码技术分为对称加密体制和非对称加密体制,也即私钥密码和公钥密码。对称加密算法采用相同的密钥进行加解密,算法的安全性完全依赖于密钥,最大的困难是密钥秘密分发问题。非对称加密算法采用公钥进行加密而利用私钥进行解密,公钥是对外公开的,算法的安全性依赖于算法与私钥,其不足之处是加密速度慢。数字签名在密码技术上的实现是不可逆加密算法,它利用散列函数提供消息完整性保护。对称加密算法、非对称加密算法和不可逆加密算法可以分别应用于数据加密、身份认证和数据安全传输。
1.对称加密技术
对称密码体制是较为传统成熟的加密体制,用于保证数据的机密性。对称加密算法是将明文和密钥一起经过加密算法,加密形成密文发送,解密则使用加密的密钥和加密算法的逆算法对密文进行解密,恢复明文信息。其优点是算法简单并公开、加解密速度快、计算量小、效率高、运行占用资源少,目前仍然是主流的密码体制之一。
数据加密标准(DES)是最常用的对称加密算法,随着现代密码技术的发展,其56位有效密钥已难以满足现在密钥的要求,同时DES算法还存在弱密钥、半密钥、互补对称性等诸多弱点。旨在用来取代DES成为新一代加密标准的高级加密标准(AES),其算法实现更简单,具有强扩散性,形成的密文有很高的随机性,抗差分和线性密码分析能力强。
AES加密标准使用的Rijndael加密算法,该算法是一个分组长度和密钥长度均可变的迭代型分组密码,分组和密钥长度可分别是128位、192位、256位。AES加密标准可使用 128 位 (AES-128)、192 位 (AES-192)、256位(AES-256)加密128位明文数据,其中标准的AES即128位密钥的AES-128算法,Rijndael算法的密钥长度和分组长度共同决定算法中轮函数的迭代次数,128位密钥加密128位明文时迭代的次数是10次。AES加解密的过程如图1所示。
128位AES加密强度是56位DES加密强度的1021倍,即如果当前存在一台能用1秒时间破解DES密码的密码机,那么利用这台密码机破解128位的AES密码需要大约149万亿年的时间,由此可知AES加密算法的安全性。
2.非对称加密技术
非对称加密技术即公钥密码技术,它利用一对不同的密钥进行加解密,公开的公钥进行加密,私钥进行解密,两个密钥之间不可能从一个推导出另一个。公钥密码算法的安全性是基于一些数学难题,而且是公认短期内不可能得以解决的难题。公钥算法的密钥分配协议简单、应用广泛,不仅可以加密还可以提供数字签名。
公钥加密算法中使用最广的是RSA算法,它是一种基于数论中欧拉定理的公钥密码系统,它的安全性依赖于大数因子分解的困难性,即它的密码强度是建立在计算复杂性的基础上。RSA的密钥长度从40位到2048位可变,加密时也将明文分成大小可变的块,块大小不能超过密钥的长度。RSA算法把明文块转化为与密钥长度相等的密文块,密钥越长,加密效果越佳,但加解密的开销也随之增加,所以一般会折中考虑安全与性能,普遍认为64位是较合适的选择。
RSA算法的加解密过程可分为初始化、加密、解密三部分。初始化阶段进行如下处理,随机选择两个素数p和 q, 计算公开模数 n=p×q 和欧拉指示函数?(n)=(p-1)(q-1),再选择与?(n)互素的随机数 e作为公钥,计算私钥 d 满足(d×e)mod?(n)=1,公开模数 n、公钥 e,保密私钥 d,销毁 p、q,增强安全性。
3.不可逆加密技术
不可逆加密算法不完全符合加密算法的模式,它是通过将明文信息作为不可逆函数的输入,计算得出的函数值即为密文,因为加密函数是不可逆的,因此不存在所谓的解密。只有输入相同的明文和相同的加密函数才能得到相同的密文。因此,不可逆加密算法不存在密钥的分发与保管问题,适合在分布式网络系统上使用,但加密计算复杂,工作量大。Hash算法也叫消息摘要或单向散列,是一种不可逆的加密算法,使用Hash函数的通信双方必须各自计算Hash函数,且目前的计算机对计算Hash函数的逆过程是无能为力的。Hash散列主要用于加密检查,通信双方必须各自计算Hash函数来验证消息。最常用的两种Hash函数分别是MD5和SHA,消息摘要算法MD5是使用64个32位常数,通过散列计算后,得出128位的完整性校验和,安全Hash算法SHA是使用79个32位常数,产生一个160位的完整性校验和,SHA校验和长度比MD5更长,因此安全性要高。
三、高校数据安全方案
1.设计思想
当使用对称密码加密时,需要使用惟一密钥,这就会使通信双方所拥有的密钥数量成几何倍数增长,因此密钥管理困难,使用成本高,在分布式网络中使用较为困难。公钥加密算法使用两个密钥,因而特别适用于分布式系统中的数据加密,公钥密码的应用也非常广泛,但公钥密码加密速度慢,RSA算法加密时间大约是DES算法的1000倍。
保证数据传输安全不仅需要对传输中的数据进行加密,保证数据的机密性,同时还要防止数据遭到恶意破坏和确定发送者的身份,因此还需要数字签名技术的支持。加密可以有效地防止传输线路上的内容被窃听,造成数据信息泄漏,数字签名是利用单向不可逆的Hash函数或者消息摘要算法计算所传输的数据,形成消息摘要,将消息摘要作为数字签名随数据一起发送,数字签名可以防止传输数据被篡改或破坏。
在目前的高校网络环境下,公钥密码符合网络开放性要求,密钥管理简单,在电子商务等技术上应用广泛;对称密码加密具有速度快、效率高、计算量小等优点,因此在传输大量数据时,加密效率异常突出;Hash函数的不可逆性,对密文的解密造成了几近无法破解的效果,对保证数据的完整性提供了保障。
数字信封技术是组合使用了公钥密码和私钥密码,用对称密钥加密数据,用公钥加密对称密钥,将加密的对称密钥和加密数据一起发送。在数字信封技术的基础上,融合数字签名技术,充分利用对称加密、非对称加密和数字签名技术的优点,构建一个在网络传输时能有效保障传输数据安全的安全传输系统。首先利用公钥加密算法传递对称加密算法所使用的密钥,然后利用该密钥对数据进行对称算法加密形成密文,再利用Hash函数对密文进行Hash散列计算,最后将散列值连同密文一起发送。
2.组合方案设计
高校信息安全的数据传输系统包括数据的保密性、完整性以及发送者的不可否认性,因此数据加密传输方案中应包括对称密钥的分发、传输数据的加密和数字签名。基于数字信封技术的安全传输系统设计思想满足信息安全传输系统的这种要求。保密性使用高效的对称加密算法实现,同时利用公钥分发对称加密密钥,数字签名既检查了传输数据的完整性,又保证数据的合法来源。
在该方案中,选择当前最为先进高效的AES算法作为对称加密算法,采用公钥加密算法RSA来分发对称加密密钥,以弥补对称加密在密钥分发上的安全弱点,利用Hash函数MD5作为消息摘要算法来验证信息的完整性,和SHA算法实现数字签名确保数据来源合法。系统发送端处理过程如图2所示。
发送端具体处理步骤如下:
(1)在发送端和接收端分别利用RSA算法的初始化处理产生自己公钥密码的密钥对,公钥对外公布,私钥加以保管,发送端还需要生成对明文数据加密的对称密钥。
(2)利用对称密钥对明文数据进行AES算法加密,形成密文。
(3)用接收端的公钥加密对称密钥,形成对称密钥密文,再对对称密钥密文进行SHA算法的Hash散列,使用发送端自己的私钥对散列值进行加密,作为数字签名。这里选择SHA算法是因为考虑到其安全性要高于MD5,另外基于效率的考虑,这里使用对称密钥进行散列作为数字签名。
(4)将对称密钥密文、数字签名和密文三部分一起进行MD5散列,得出的散列值与这三部分一起作为发送端数据进行发送。这里使用MD5 Hash算法是考虑MD5的速度要优于SHA算法。
接收端具体处理步骤如下:
(1)将接收到的数据密文、对称密钥密文、数字签名三部分进行MD5 Hash散列,得出的散列结果与Hash值2进行比较,以确保传输过程中数据的完整性。
(2)使用发送方的公钥对数字签名进行解密,解密Hash值1,再利用SHA散列算法计算对称密钥密文,得出的散列值与Hash值1进行比较,校验数字签名,以保证数据来源的合法。
(3)接收者使用自己的私钥对对称密钥密文进行RSA算法解密,得到对称加密的密钥。
(4)对密文使用对称密钥和AES解密算法进行明文恢复。
3.安全性分析
对设计的安全传输系统从完整性和机密性两方面来考虑其安全性。在完整性方面,如果发送数据被截获,攻击者就获得了Hash值2、密文、数字签名、对称密钥密文。因为有Hash值2存在,想破坏它的完整性,只能将密文、数字签名和对称密钥密文全部替换掉,重新计算Hash值2。但从解密处理过程中,数字签名使用的是发送者的私钥,所以通过验证数字签名可以很容易校验信息是否被篡改过,所以该方案的完整性是可以保证的。
在机密性方面,攻击者获取Hash值2、密文、数字签名、对称密钥密文后,欲对密文进行解密,需要有对称密钥,而对称密钥密文是利用接收者的公钥加密的,需要有接收者的私钥才能解密,因此机密性也是可以保证的。
综上分析,可知该方案具有很高的安全性,破解需要涉及私钥层面。另外该加密传输过程不仅实现了数据的安全传输,还实现了数字签名,接收端可以认定信息是发送端所发,而不会被假冒。
四、总结
随着公钥密码体制应用的日益广泛,高校网络对其效率、速度等提出了更高的要求,但限于公钥密码的设计思路这个问题难以克服,对称密码正好弥补了公钥密码的不足。将二者取长补短结合使用,虽然在发送端和接收端增加了处理,但可以有效地弥补公钥和对称密码各自被破解的可能性,增加了密码强度,增强了数据传输的可靠性。
[1]刘平.浅谈网络数据的加密传输[J].电脑知识与技术,2008(3).
[2]李长连,李福庆,黄强华.网络环境文件端到端加密传输[J].邮电设计技术,2010(5):69-73.
(编辑:杨馥红)
TP309.2
B
1673-8454(2011)15-0061-03