VPN是在不安全的Internet中通信,通信的内容可能涉及企业的机密数据,其安全性非常重要。VPN中的安全技术通常由加密、验证及密钥交换与管理组成,分别叙述如下:
1.加密技术
在VPN中为了保证重要的数据在公共网上传输时不被他人窃取,采用了加密机制。在现代密码学中,加密算法被分为对称加密算法和非对称加密算法。
对称加密算法采用同一把密钥进行加密和解密,优点是速度快,但密钥的分发与交换不便于管理。而采用不对称加密算法进行加密时,通信各方使用两个不同的密钥,一个是只有发送方知道的专用密钥d,另一个则是对应的公用密钥e,任何人都可以获得公用密钥。专用密钥和公用密钥在加密算法上相互关联,一个用于数据加密,另一个用于数据解密。不对称加密还有一个重要用途即数字签名。
VPN采用何种加密技术依赖于VPN服务器的类型,因此可以分为如下两种情况:
1)对于PPTP服务器,将采用MPPE加密技术。MPPE可以支持40位密钥的标准加密方案和128位密钥的增强加密方案。只有在MS-CHAP、MS-CHAP v2或EAP/TLS身份验证被协商之后,数据才由MPPE进行加密,MPPE需要这些类型的身份验证生成的公用客户和服务器密钥。
2)对于L2TP服务器,将使用IPSec机制对数据进行加密。IPSec是基于密码学的保护服务和安全协议的套件。IPSec对使用L2TP的VPN连接提供机器级身份验证和数据加密。在保护密码和数据的L2TP连接建立之前,IPSec在计算机及其远程VPN服务器之间进行协商。IPSec可用的加密包括56位密钥的数据加密标准DES和56位密钥的三重DES(3DES)。
2.认证技术
认证技术可以区分被伪造、篡改过的数据,这对于网络数据传输,特别是电子商务是极其重要的。认证技术防止数据的伪造和被篡改采用一种称为“摘要”的技术。“摘要”技术主要采用HASH函数将一段长的报文通过函数变换,映射为一段短的报文即“摘要”。由于HASH函数的特性,两个不同的报文具有相同的摘要几乎不可能。该特性使得摘要技术在VPN中有两个用途:验证数据的完整性和用户验证。
(1)验证数据的完整性
发送方将数据报文和报文摘要一同发送,接收方通过计算报文摘要与发来数据报文比较,相同则说明数据报文未经修改。由于在报文摘要的计算过程中一般是将一个双方共享的秘密信息连接上实际报文一同参与摘要的计算,不知道秘密信息将很难伪造一个匹配的摘要,从而保证了接收方可以辨认出伪造或篡改过的报文。
(2)用户认证
用户认证功能实际上是验证数据的完整性功能的延伸。当一方希望验证对方,但又不希望验证秘密在网络上传送。这时一方可以发送一段随机报文,要求对方将秘密信息连接上该报文作摘要后发回,接收方可以通过验证摘要是否正确来确定对方是否拥有秘密信息,从而达到验证对方的目的。
3.密钥交换和管理
VPN中无论是认证还是加密都需要秘密信息,VPN中密钥的分发与管理也非常重要。密钥的分发有两种方法:一种是通过手工配置的方式,另一种采用密钥交换协议动态分发。手工配置的方法由于密钥更新困难,只适合于简单网络的情况。密钥交换协议采用软件方式动态生成密钥,适合于复杂网络的情况且密钥可快速更新,可以显著提高VPN的安全性。目前主要的密钥交换与管理标准有IKE(互联网密钥交换)、SKIP(互联网简单密钥管理)和Oakley。
VPN设备所使用的加密算法主要有以下3种:AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;DES(Data Encryption Stand-ard):数据加密标准,速度较快,适用于加密大量数据的场合;3DES(Triple DES):是基于DES,对一块数据用3个不同的密钥进行3次加密,强度更高。
(1)AES
高级加密标准(AES)是一个用来代替数据加密标准(DES)的算法。目前使用的一般为128 bit,196 bit和256 bit密钥,这3种密钥都是相当安全的。
AES实现使用了4个大小为256bit的int32数组(te1,te2,te3,te4)来完成字节代换和列混淆的混合运算(同样,对于逆向运算也存在4个这样的数组(td1,td2,td3,td4));使用了4个大小为256 bit的int32数组(imc1,imc2,imc3,imc4)来实现单独的逆向列混淆运算(用于解密算法的轮密钥生成);还有两个大小为256 bit的int8数组,用于字节代换和逆向字节代换的S盒(sbox)和逆S盒(isbox)。还有一个用于生成轮密钥的轮常量数组(rcon)。这些数组占用的空间不到13KB大小。可以根据具体应用进行修改,用算法变换代替数组变换可能会节约一些空间,但相应地增加了计算时间。
(2)DES
1973年,美国国家标准局(NBS)在认识到建立数据保护标准既明显又急迫的情况下,开始征集联邦数据加密标准的方案。1975年3月17日,NBS公布了IBM公司提供的密码算法,以标准建议的形式在全国范围内征求意见。经过两年多的公开讨论之后,1977年7月15日,NBS宣布接受这个建议,作为联邦信息处理标准46号数据加密标准(Data Encryp-tion Standard,即DES)正式颁布,供商业界和非国防性政府部门使用。(www.xing528.com)
根据密钥类型不同将现代密码技术分为两类:一类是对称加密(秘密钥匙加密)系统,另一类是公开密钥加密(非对称加密)系统。目前最著名的对称加密算法有数据加密标准DES和欧洲数据加密标准IDEA等。随后DES成为全世界使用最广泛的加密标准。
对称式密码是指收发双方使用相同密钥的密码,而且通信双方都必须获得这把钥匙并保持钥匙的秘密。传统的密码都属于对称式密码。非对称式密码是指收发双方使用不同密钥的密码,现代密码中的公共密钥密码就属于非对称式密码。
对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开。但其最大的缺点是实现密钥的秘密分发困难,在有大量用户的情况下密钥管理复杂,而且无法完成身份认证等功能,不便于应用在网络开放的环境中。加密与解密的密钥和流程是完全相同的,区别仅仅是加密与解密使用的子密钥序列的施加顺序刚好相反。DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础。
但是,经过二十多年的使用,已经发现DES很多不足之处,对DES的破解方法也日趋有效。AES(高级加密标准)将会替代DES成为新一代加密标准。
非对称加密算法的优点是能适应网络的开放性要求,密钥管理简单,并且可方便地实现数字签名和身份认证等功能,是目前电子商务等技术的核心基础。其缺点是算法复杂,加密数据的速度和效率较低。因此在实际应用中,通常将对称加密算法和非对称加密算法结合使用,利用DES或者IDEA等对称加密算法来进行大容量数据的加密,而采用RSA等非对称加密算法来传递对称加密算法所使用的密钥,通过这种方法可以有效地提高加密的效率并能简化对密钥的管理。
对称密码系统的安全性依赖于以下两个因素。第一,加密算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的;第二,加密方法的安全性依赖于密钥的秘密性,而不是算法的秘密性,因此,没有必要确保算法的秘密性,却需要保证密钥的秘密性。对称加密系统的算法实现速度极快,从AES候选算法的测试结果看,软件实现的速度都达到了每秒数兆或数十兆比特。对称密码系统的这些特点使其有着广泛的应用。因为算法不需要保密,所以制造商可以开发出低成本的芯片以实现数据加密。这些芯片有着广泛的应用,适合于大规模生产。
对称加密系统最大的问题是密钥的分发和管理非常复杂、代价高昂。比如对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大的情况下,对称加密系统是有效的。但是对于大型网络,当用户群很大并分布很广时,密钥的分配和保存就成了大问题。对称加密算法另一个缺点是不能实现数字签名。
公开密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。由于加密钥匙是公开的,密钥的分配和管理就很简单,比如对于具有n个用户的网络,仅需要2n个密钥。
公开密钥加密系统还能够很容易地实现数字签名。因此,最适合于电子商务应用需要。在实际应用中,公开密钥加密系统并没有完全取代对称密钥加密系统,这是因为公开密钥加密系统是基于尖端的数学难题,计算非常复杂,它的安全性更高,但它的实现速度却远赶不上对称密钥加密系统。在实际应用中可利用二者各自的优点,采用对称加密系统加密文件,采用公开密钥加密系统加密“加密文件”的密钥(会话密钥),这就是混合加密系统,它较好地解决了运算速度问题和密钥分配管理问题。因此,公钥密码体制通常被用来加密关键性的、核心的机密数据,而对称密码体制通常被用来加密大量的数据。
DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密。如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。
DES算法的入口参数有3个:Key、Data和Mode。其中Key为8 B(64 bit),是DES算法的工作密钥;Data也为8B(64bit),是要被加密或被解密的数据;Mode为DES的工作方式,有加密或解密两种。
DES算法是这样工作的:如Mode为加密,则用Key去把Data进行加密,生成Data的密码形式(64 bit)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的Data解密,还原为Data的明码形式(64 bit)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。
通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。
对于详细算法的学习可以参考其他书目或者上网搜索,这里不再赘述。
(3)3DES
3DES(即Triple DES)是DES向AES过渡的加密算法(1999年,NIST将3DES指定为过渡的加密标准),是DES的一个更安全的变形。因为确定一种新的加密法是否真的安全是极为困难的,而且DES的唯一密码学缺点,就是密钥长度相对比较短,所以人们并没有放弃使用DES,而是想出了一个解决其长度问题的方法,即采用三重DES。这种方法用两个密钥对明文进行3次加密,但这种方法的缺点是要花费原来3倍时间。
用户可以根据自己网络环境及数据加密的需求来合理地选择合适的加密算法。
加密技术的实现:
●加密技术可以在协议栈的任意层进行,可以对数据或报文头进行加密。在网络层中的加密标准是IPSec。网络层加密实现的最安全方法是在主机的端到端进行。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。