① 什么叫网络加密,网络加密有哪几种方式
IP层是TCP/IP网络中最关键的一层,IP作为网络层协议,其安全机制可对其上层的各种应用服务提供透明的覆盖式安全保护。因此,IP安全是整个TCP/IP安全的基础,是网络安全的核心。IPSec是目前唯一一种能为任何形式的Internet通信提供安全保障的协议。IPSec允许提供逐个数据流或者逐个连接的安全,所以能实现非常细致的安全控制。对于用户来说,便可以对于不同的需要定义不同级别地安全保护(即不同保护强度的IPSec通道)。IPSec为网络数据传输提供了数据机密性、数据完整性、数据来源认证、抗重播等安全服务,使得数据在通过公共网络传输时,不用担心被监视、篡改和伪造。 IPSec是通过使用各种加密算法、验证算法、封装协议和一些特殊的安全保护机制来实现这些目的,而这些算法及其参数是保存在进行IPSec通信两端的SA(Security Association,安全联盟),当两端的SA中的设置匹配时,两端就可以进行IPSec通信了。 在虚拟专用网(VPN)中主要采用了IPSec技术。
② AES和WPA2 -PSK有什么区别
AES是一种加密算法:
在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
WPA2-PSK:
WPA2 (WPA 第二版) 是 Wi-Fi 联盟对采用 IEEE 802.11i 安全增强功能的产品的认证计划。简单一点理解,WPA2是基于WPA的一种新的加密方式。
WPA2是WPA的升级版,现在新型的网卡、AP都支持WPA2加密。WPA2则采用了更为安全的算法。CCMP取代了WPA的MIC、AES取代了WPA的TKIP。
区别:
WPA2-PSK中可以使用AES算法,但不代表WPA2就是AES。AES算法应用领域很广,很多软件的加密使用的是AES加密算法。
WPA2-PSK主要应用于无线加密领域,是一种常见的安全性较高的认证类型。
③ 无线路由器中 WEP wpa wpa2 这三种加密方式有什么区别
区别:
1、加密技术
WEP:RC4的RSA数据加密技术
WPA:RC4的RSA数据加密技术
WPA2:AES加密算法
2、安全性
WEP:使用一个静态的密钥来加密所有的通信,那么如果网管人员想更新密钥,就得亲自访问每台主机
WPA:与之前WEP的静态密钥不同,WPA需要不断的转换密钥。WPA采用有效的密钥分发机制
WPA2:实现了802.11i的强制性元素,特别是Michael算法被公认彻底安全的CCMP(计数器模式密码块链消息完整码协议)讯息认证码所取代
(3)安全联盟常见加密算法有哪些扩展阅读
无线网络中已存在好几种加密技术,由于安全性能的不同,无线设备的不同技术支持,支持的加密技术也不同, 一般常见的有:WEP、WPA/WPA2、WPA-PSK/WPA2-PSK
在802.11i颁布之后,Wi-Fi联盟推出了WPA2,它支持AES(高级加密算法),因此它需要新的硬件支持,它使用CCMP(计数器模式密码块链消息完整码协议)。
在WPA/WPA2中,PTK的生成依赖PMK,而PMK获的有两种方式,一个是PSK的形式就是预共享密钥,在这种方式中PMK=PSK,而另一种方式中,需要认证服务器和站点进行协商来产生PMK。
④ 解决有分!wep,wpa这些都是什么附图
WEP WPA/WPA2 WPA-PSK/WPA2-PSK的相互关系 在无线局域网中,移动终端和AP采用静态WEP加密,AP和它所联系的所有移动终端都使用相同的加密密钥,这便带来如下问题:一旦其中一个用户的密钥泄漏,其他用户的密钥也无法保密了。为了改善WEP的这些安全性缺陷,Wi-Fi联盟提出一种新的方法——WPA,用以改善网络的安全性。WPA的出现给用户暂时提供了一个完整的认证机制。 在802.11中有一个对数据基于共享密钥的加密机制,称为“有线对等保密WEP”(Wired Equivalent Privacy)的技术, WEP/WEP2是一种基于RC4算法的40bit、128bit、256bit加密技术。移动终端和AP采用静态WEP加密。AP和它所联系的所有移动终端都使用相同的加密密钥,因此带来如下问题: 一旦其中一个用户的密钥泄漏,其他用户的密钥也无法保密了。 为了改善WEP的这些安全性缺陷,0rVzxUQSXeZ,$fP@Wi -Fi联盟提出一种新的方法——WPA,用以改善网络的安全性。WPA的出现给用户提供了一个完整的认证机制,AP根据用户的认证结果决定是否允许其接入无线网络中;认证成功后可以根据多种方式(传输数据包的多少、用户接入网络的时间等)动态地改变每个接入用户的加密密钥。另外,对用户在无线中传输的数据包进行MIC编码,确保用户数据不会被其他用户更改。作为802.11i标准的子集,WPA的核心就是IEEE802.1x和TKIP(Temporal Key Integrity Protocol)。 图1所示为WEP到WPA的转变内容。 三大部分组成WPA WPA系统一般由三部分构成,即用户认证、密钥管理、数据完整性保证。 1.认证 WEP是数据加密算法,它不完全等同于用户的认证机制,WPA用户认证是使用802.1x和扩展认证协议(Extensible Authentication Protocol,EAP)来实现的。 WPA考虑到不同的用户和不同的应用安全需要,例如:企业用户需要很高的安全保护(企业级),否则可能会泄露非常重要的商业机密;而家庭用户往往只是使用网络来浏览 Internet、收发E-mail、打印和共享文件,这些用户对安全的要求相对较低。为了满足不同安全要求用户的需要,WPA中规定了两种应用模式。 ● 企业模式:通过使用认证服务器和复杂的安全认证机制,来保护无线网络通信安全。 ● 家庭模式(包括小型办公室):在AP(或者无线路由器)以及连接无线网络的无线终端上输入共享密钥,以保护无线链路的通信安全。 根据这两种不同的应用模式,WPA的认证也分别有两种不同的方式。对于大型企业的应用,常采用“802.1x+ EAP”的方式,用户提供认证所需的凭证。但对于一些中小型的企业网络或者家庭用户,WPA也提供一种简化的模式,它不需要专门的认证服务器。这种模式叫做“WPA预共享密钥(WPA-PSK)”,它仅要求在每个WLAN节点(AP、无线路由器、网卡等)预先输入一个密钥即可实现。 这个密钥仅仅用于认证过程,而不用于传输数据的加密。数据加密的密钥是在认证成功后动态生成,系统将保证“一户一密”,不存在像WEP那样全网共享一个加密密钥的情形,因此大大地提高了系统的安全性。 2.加密 WPA使用RC4进行数据加密,国G件(]Kg件cC8;f@pX\)59up9u8b["1ho用临时密钥完整性协议(TKIP)进行密钥管理和更新。TKIP通过由认证服务器动态生成分发的密钥来取代单个静态密钥、把密钥首部长度从24位增加到48位等方法增强安全性。而且,m'q\^`&T3件:eYTKIP利用了802.1x/EAP构架。认证服务器在接受了用户身份后,使用802.1x产生一个惟一的主密钥处理会话。 然后,TKIP把这个密钥通过安全通道分发到AP和客户端,并建立起一个密钥构架和管理系统,使用主密钥为用户会话动态产生一个惟一的数据加密密钥,来加密每一个无线通信数据报文。TKIP的密钥构架使WEP单一的静态密钥变成了500万亿个可用密钥。虽然WPA采用的还是和WEP一样的RC4加密算法,但其动态密钥的特性很难被攻破。 3.保持数据完整性 TKIP在每一个明文消息末端都包含了一个信息完整性编码(MIC),?s0t"网中c无Xw$r件u"来确保信息不会被“哄骗”。MIC是为了防止攻击者从中间截获数据报文、篡改后重发而设置的。除了和802.11一样继续保留对每个数据分段(MPDU)进行CRC校验外,WPA为802.11的每个数据分组(MSDU)都增加了一个8个字节的消息完整性校验值,这和802.11对每个数据分段(MPDU) 进行ICV校验的目的不同。 ICV的目的是为了保证数据在传输途中不会因为噪声等物理因素导致报文出错,因此采用相对简单高效的CRC算法,但是黑客可以通过修改ICV值来使之和被篡改过的报文相吻合,可以说没有任何安全的功能。 而WPA中的MIC则是为了防止黑客的篡改而定制的,它采用Michael算法,具有很高的安全特性。当MIC发生错误时,数据很可能已经被篡改,系统很可能正在受到攻击。此时,WPA会采取一系列的对策,比如立刻更换组密钥、暂停活动60秒等,来阻止黑客的攻击。 WPA如何进行安全认证 WPA是如何对无线局域网进行安全认证的呢? ● 客户端STA(Supplicant)利用WLAN无线模块关联一个无线接入点(AP/Authenticator); ● 在客户端通过身份认证之前,AP对该STA的数据端口是关闭的,只允许STA的EAP认证消息通过,所以STA在通过认证之前是无法访问网络的; ● 客户端STA利用EAP(如MD5/TLS/MSCHAP2等)协议,wnee]*=_q%AD_通过AP的非受控端口向认证服务器提交身份凭证,认证服务器负责对STA进行身份验证; ● 如果STA未通过认证,客户端将一直被阻止访问网络;如果认证成功,则认证服务器(Authentication Server)通知AP向该STA打开受控端口,N,}ox^15_IFF继续以下流程; ● 身份认证服务器利用TKIP协议自动将主配对密钥分发给AP和客户端STA,主配对密钥基于每用户、每个802.1x的认证进程是惟一的; ● STA与AP再利用主配对密钥动态生成基于每数据包惟一的数据加密密钥; ● 利用该密钥对STA与AP之间的数据流进行加密,f育d络cl@,I.zn就好象在两者之间建立了一条加密隧道,保证了空中数据传输的高安全性; STA与AP之间的数据传输还可以利用MIC进行消息完整性检查,从而有效抵御消息篡改攻击。 WPA存在的问题 WPA只是在802.11i正式推出之前的Wi-Fi企业联盟的安全标准,!垠网;2yA0lgu[业B*!:8 由于它仍然是采用比较薄弱的RC4加密算法,所以黑客只要监听到足够的数据包,借助强大的计算设备,即使在TKIP的保护下,同样可能破解网络。因此,WPA是无线局域网安全领域的一个过客。 今年6月,IEEE标准委员会终于通过了期待已久的最新无线局域网安全标准—802.11i,该标准通过使用CCM (Counter-Mode/CBC-MAC)认证方式和AES(Advanced Encryption Standard)加密算法,更进一步加强了无线局域网的安全和对用户信息的保护。
⑤ WPA-PSK/WPA2-PSK AES加密方式 是什么意思
WPA-PSK(WPA-Preshared Key,WPA预共享密钥)是指WEP预分配共享密钥的认证方式,在加密方式和密钥的验证方式上作了修改,使其安全性更高。
WPA2 (WPA第二版)是Wi-Fi联盟对采用IEEE 802.11i安全增强功能的产品的认证计划。简单一点理解,WPA2是基于WPA的一种新的加密方式。
WPA2-PSK AES则是采用更高级加密标准。
lWPA
WPA是用来替代WEP的。WPA继承了WEP的基本原理而又弥补了WEP的缺点:WPA加强了生成加密密钥的算法,因此即便收集到分组信息并对其进行解析,也几乎无法计算出通用密钥;WPA中还增加了防止数据中途被篡改的功能和认证功能。
lWPA-PSK(预先共享密钥Wi-Fi保护访问)
WPA-PSK适用于个人或普通家庭网络,使用预先共享密钥,秘钥设置的密码越长,安全性越高。WPA-PSK只能使用TKIP加密方式。
lWPA2(WPA第二版)
WPA2是WPA的增强型版本,与WPA相比,WPA2新增了支持AES的加密方式。
lWPA2-PSK
WPA-PSK类似,适用于个人或普通家庭网络,使用预先共享密钥,支持TKIP和AES两种加密方式。
⑥ WPA2-PSK 和 Mixed WPA/WPA2-PSK 两个模式有啥区别
区别:
WPA/WPA2是一种最安全的加密类型,不过由于此加密类型需要安装Radius服务器,因此,一般普通用户都用不到,只有企业用户为了无线加密更安全才会使用此种加密方式,在设备连接无线WIFI时需要Radius服务器认证,而且还需要输入Radius密码。
WPA-PSK/WPA2-PSK是我们现在经常设置的加密类型,这种加密类型安全性能高,而且设置也相当简单,不过需要注意的是它有AES和TKIP两种加密算法。
TKIP:Temporal Key Integrity Protocol(临时密钥完整性协议),这是一种旧的加密标准。
AES:Advanced Encryption Standard(高级加密标准),安全性比 TKIP 好,推荐使用。
使用AES加密算法不仅安全性能更高,而且由于其采用的是最新技术,因此,在无线网络传输速率上面也要比TKIP更快。
拓展资料:
WPA(Wi-Fi Protected Access)加密方式目前有四种认证方式:WPA、WPA-PSK、WPA2、WPA2-PSK。采用的加密算法有二种:AES(Advanced Encryption Standard高级加密算法)和TKIP(Temporal Key Integrity Protocol临时密钥完整性协议)。
WPA
WPA是用来替代WEP的。WPA继承了WEP的基本原理而又弥补了WEP的缺点:WPA加强了生成加密密钥的算法,因此即便收集到分组信息并对其进行解析,也几乎无法计算出通用密钥;WPA中还增加了防止数据中途被篡改的功能和认证功能。
WPA-PSK(预先共享密钥Wi-Fi保护访问
WPA-PSK适用于个人或普通家庭网络,使用预先共享密钥,秘钥设置的密码越长,安全性越高。WPA-PSK只能使用TKIP加密方式。
WPA2(WPA第二版)
WPA2是WPA的增强型版本,与WPA相比,WPA2新增了支持AES的加密方式。
WPA2-PSK
WPA-PSK类似,适用于个人或普通家庭网络,使用预先共享密钥,支持TKIP和AES两种加密方式。
一般在我们家庭无线路由器设置页面上,选择使用WPA-PSK或WPA2-PSK认证类型即可,对应设置的共享密码尽可能长些,并且在经过一段时间之后更换共享密码,确保家庭无线网络的安全。
⑦ 802.11i标准使用什么加密算法进行数据加密
一种数据加密算法,用于提供等同于有线局域网的保护能力。它的安全技术源自于名为RC4的rsa数据加密技术,是无线局域网WLAN的必要的安全防护层。目前常见的是64位wep加密和128位wep加密。wpa(WiFiProtectedAccess
,WiFi网络安全存取)。wpa协议是一种保护无线网络(WiFi)安全的系统,它是在前一代有线等效加密(wep)的基础上产生的,解决了前任wep的缺陷问题,它使用tkip(临时密钥完整性)协议,是ieee
802.11i标准中的过渡方案
。其中wpa-PSK主要面向个人用户。
wpa2,即wpa加密的升级版。它是WiFi联盟验证过的ieee 802.11i标准的认证形式,wpa2实现了802.11i的强制性元素,特别是Michael算法被公认彻底安全的ccmp(计数器模式密码块链消息完整码协议)讯息认证码所取代、而RC4加密算法也被aes(高级加密)所取代。
wpa-PSK+wpa2-PSK。从字面便可以看出,很明显,最后一种是两种加密算法的组合,可以说是强强联手。wpa-PSK 也叫做 wpa-Personal(wpa个人)。wpa-PSK使用tkip加密方法把无线设备和接入点联系起来.wpa2-PSK使用aes加密方法把无线设备和接入点联系起来。
1、聊胜于无的wep
wep作为一种老式的加密手段,它的特点是使用一个静态的密钥来加密所有的通信
,这就意味着,网管人员如果想更新密钥,必须亲自访问每台主机,并且其所采用的RC4的rsa数据加密技术具有可预测性,对于入侵者来说很容易截取和破解加密密钥,使用户的安全防护形同虚设,因此如非迫不得已,不建议选择此种安全模式。
2、升级后的WPA
继WEP之后,人们将期望转向了其升级后的WPA,与之前WEP的静态密钥不同,WPA需要不断的转换密钥。WPA采用有效的密钥分发机制,可以跨越不同厂商的无线网卡实现应用。它作为WEP的升级版,在安全的防护上比WEP更为周密,主要体现在身份认证、加密机制和数据包检查等方面,而且它还提升了无线网络的管理能力。
3、追求,永无止境:WPA2
WPA2是WiFi联盟验证过的ieee 802.11i标准的认证形式,WPA2实现了802.11i的强制性元素,特别是Michael算法被公认彻底安全的ccmp(计数器模式密码块链消息完整码协议)讯息认证码所取代、而RC4加密算法也被AES所取代。
目前WPA2加密方式的安全防护能力非常出色,只要用户的无线网络设备均能够支持WPA2加密,那么恭喜你,你的无线网络处于一个非常安全的境地。
⑧ wpapsk是什么意思
WPA-PSK(WPA-Preshared Key,WPA预共享密钥)是指WEP预分配共享密钥的认证方式,在加密方式和密钥的验证方式上作了修改,使其安全性更高。
WPA (Wi-Fi Protected Access) 是一种保护无线电脑网络(Wi-Fi)安全的系统,全名为 Wi-Fi Protected Access,有WPA 和 WPA2两个标准。
PSK(Pre-shared Key ),中文意思为“预共享密钥模式(个人模式)”。PSK是设计给负担不起 802.1X 验证服务器的成本和复杂度的家庭和小型公司网络用的,每一个使用者必须输入密语来取用网络,而密语可以是 8 到 63 个 ASCII 字符、或是 64 个16进位数字(256位元)。
拓展资料:
WPA-PSK(WPA-Preshared Key,WPA预共享密钥)是指WEP预分配共享密钥的认证方式,在加密方式和密钥的验证方式上作了修改,使其安全性更高。客户的认证仍采用验正用户是否使用事先分配的正确密钥。WPA-PSK提出一种新的加密方法:时限密钥完整性协议(Temporal Key Integrity Protocol,TKIP)。预先分配的密钥仅仅用于认证过程,而不用于数据加密过程,因此不会导致像WEP密钥那样严重的安全问题。
预共用密钥模式(pre-shared key,PSK, 又称为个人模式)是设计给负担不起 802.1X 验证服务器的成本和复杂度的家庭和小型公司网络用的,每一个使用者必须输入密语来取用网络,而密语可以是 8 到 63 个 ASCII 字符、或是 64 个16进位数字(256位元)。使用者可以自行斟酌要不要把密语存在电脑里以省去重复键入的麻烦,但密语一定要存在 Wi-Fi 取用点里。
⑨ 密钥管理的管理技术
1、对称密钥管理。对称加密是基于共同保守秘密来实现的。采用对称加密技术的贸易双方必须要保证采用的是相同的密钥,要保证彼此密钥的交换是安全可靠的,同时还要设定防止密钥泄密和更改密钥的程序。这样,对称密钥的管理和分发工作将变成一件潜在危险的和繁琐的过程。通过公开密钥加密技术实现对称密钥的管理使相应的管理变得简单和更加安全,同时还解决了纯对称密钥模式中存在的可靠性问题和鉴别问题。 贸易方可以为每次交换的信息(如每次的EDI交换)生成唯一一把对称密钥并用公开密钥对该密钥进行加密,然后再将加密后的密钥和用该密钥加密的信息(如EDI交换)一起发送给相应的贸易方。由于对每次信息交换都对应生成了唯一一把密钥,因此各贸易方就不再需要对密钥进行维护和担心密钥的泄露或过期。这种方式的另一优点是,即使泄露了一把密钥也只将影响一笔交易,而不会影响到贸易双方之间所有的交易关系。这种方式还提供了贸易伙伴间发布对称密钥的一种安全途径。
2、公开密钥管理/数字证书。贸易伙伴间可以使用数字证书(公开密钥证书)来交换公开密钥。国际电信联盟(ITU)制定的标准X.509,对数字证书进行了定义该标准等同于国际标准化组织(ISO)与国际电工委员会(IEC)联合发布的ISO/IEC 9594-8:195标准。数字证书通常包含有唯一标识证书所有者(即贸易方)的名称、唯一标识证书发布者的名称、证书所有者的公开密钥、证书发布者的数字签名、证书的有效期及证书的序列号等。证书发布者一般称为证书管理机构(CA),它是贸易各方都信赖的机构。数字证书能够起到标识贸易方的作用,是目前电子商务广泛采用的技术之一。
3、密钥管理相关的标准规范。目前国际有关的标准化机构都着手制定关于密钥管理的技术标准规范。ISO与IEC下属的信息技术委员会(JTC1)已起草了关于密钥管理的国际标准规范。该规范主要由三部分组成:一是密钥管理框架;二是采用对称技术的机制;三是采用非对称技术的机制。该规范现已进入到国际标准草案表决阶段,并将很快成为正式的国际标准。
数字签名
数字签名是公开密钥加密技术的另一类应用。它的主要方式是:报文的发送方从报文文本中生成一个128位的散列值(或报文摘要)。发送方用自己的专用密钥对这个散列值进行加密来形成发送方的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收到的原始报文中计算出128位的散列值(或报文摘要),接着再用发送方的公开密钥来对报文附加的数字签名进行解密。如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。通过数字签名能够实现对原始报文的鉴别和不可抵赖性。
ISO/IEC JTC1已在起草有关的国际标准规范。该标准的初步题目是“信息技术安全技术带附件的数字签名方案”,它由概述和基于身份的机制两部分构成。 密码学简介 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。
随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了AES、ECC等。
使用密码学可以达到以下目的:
保密性:防止用户的标识或数据被读取。
数据完整性:防止数据被更改。
身份验证:确保数据发自特定的一方。
二. 加密算法介绍根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。
对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。
非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。 在对称加密算法中,只有一个密钥用来加密和解密信息,即加密和解密采用相同的密钥。常用的算法包括:DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;
2000年10月,NIST(美国国家标准和技术协会)宣布通过从15种侯选算法中选出的一项新的密匙加密标准。Rijndael被选中成为将来的AES。Rijndael是在 1999 年下半年,由研究员Joan Daemen 和 Vincent Rijmen 创建的。AES 正日益成为加密各种形式的电子数据的实际标准。
美国标准与技术研究院 (NIST) 于 2002 年 5 月 26 日制定了新的高级加密标准(AES) 规范。
算法原理 AES 算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES 使用几种不同的方法来执行排列和置换运算。
AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。
AES与3DES的比较 算法名称 算法类型 密钥长度 速度 解密时间(建设机器每秒尝试255个密钥) 资源消耗 AES 对称block密码 128、192、256位 高 1490000亿年 低 3DES 对称feistel密码 112位或168位 低 46亿年 中 常见的非对称加密算法如下:
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
在1976年,由于对称加密算法已经不能满足需要,Diffie 和Hellman发表了一篇叫《密码学新动向》的文章,介绍了公匙加密的概念,由Rivet、Shamir、Adelman提出了RSA算法。
随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展,为了保障数据的安全,RSA的密钥需要不断增加,但是,密钥长度的增加导致了其加解密的速度大为降低,硬件实现也变得越来越难以忍受,这对使用RSA的应用带来了很重的负担,因此需要一种新的算法来代替RSA。
1985年N.Koblitz和Miller提出将椭圆曲线用于密码算法,根据是有限域上的椭圆曲线上的点群中的离散对数问题ECDLP。ECDLP是比因子分解问题更难的问题,它是指数级的难度。
原理——椭圆曲线上的难题 椭圆曲线上离散对数问题ECDLP定义如下:给定素数p和椭圆曲线E,对Q=kP,在已知P,Q 的情况下求出小于p的正整数k。可以证明由k和P计算Q比较容易,而由Q和P计算k则比较困难。
将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,将椭圆曲线中的乘法运算与离散对数中的模幂运算相对应,我们就可以建立基于椭圆曲线的对应的密码体制。
例如,对应Diffie-Hellman公钥系统,我们可以通过如下方式在椭圆曲线上予以实现:在E上选取生成元P,要求由P产生的群元素足够多,通信双方A和B分别选取a和b,a和b 予以保密,但将aP和bP公开,A和B间通信用的密钥为abP,这是第三者无法得知的。
对应ELGamal密码系统可以采用如下的方式在椭圆曲线上予以实现:
将明文m嵌入到E上Pm点,选一点B∈E,每一用户都选一整数a,0<a<N,N为阶数已知,a保密,aB公开。欲向A送m,可送去下面一对数偶:[kB,Pm+k(aAB)],k是随机产生的整数。A可以从kB求得k(aAB)。通过:Pm+k(aAB)- k(aAB)=Pm恢复Pm。同样对应DSA,考虑如下等式:
K=kG [其中 K,G为Ep(a,b)上的点,k为小于n(n是点G的阶)的整数]
不难发现,给定k和G,根据加法法则,计算K很容易;但给定K和G,求k就相对困难了。
这就是椭圆曲线加密算法采用的难题。我们把点G称为基点(base point),k(k<n,n为基点G的阶)称为私有密钥(privte key),K称为公开密钥(public key)。
ECC与RSA的比较 ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:
抗攻击性强。相同的密钥长度,其抗攻击性要强很多倍。
计算量小,处理速度快。ECC总的速度比RSA、DSA要快得多。
存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。
带宽要求低。当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。
ECC的这些特点使它必将取代RSA,成为通用的公钥加密算法。比如SET协议的制定者已把它作为下一代SET协议中缺省的公钥密码算法。
下面两张表示是RSA和ECC的安全性和速度的比较。 攻破时间(MIPS年) RSA/DSA(密钥长度) ECC密钥长度 RSA/ECC密钥长度比 10 512 106 5:1 10 768 132 6:1 10 1024 160 7:1 10 2048 210 10:1 10 21000 600 35:1 RSA和ECC安全模长得比较 功能 Security Builder 1.2 BSAFE 3.0 163位ECC(ms) 1,023位RSA(ms) 密钥对生成 3.8 4,708.3 签名 2.1(ECNRA) 228.4 3.0(ECDSA) 认证 9.9(ECNRA) 12.7 10.7(ECDSA) Diffie—Hellman密钥交换 7.3 1,654.0 RSA和ECC速度比较 散列算法也叫哈希算法,英文是Hash ,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
HASH主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128位的编码,这些编码值叫做HASH值. 也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。
单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:
MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法。
SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值;
在1993年,安全散列算法(SHA)由美国国家标准和技术协会(NIST)提出,并作为联邦信息处理标准(FIPS PUB 180)公布;1995年又发布了一个修订版FIPS PUB 180-1,通常称之为SHA-1。SHA-1是基于MD4算法的,并且它的设计在很大程度上是模仿MD4的。现在已成为公认的最安全的散列算法之一,并被广泛使用。
原理 SHA-1是一种数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。
单向散列函数的安全性在于其产生散列值的操作过程具有较强的单向性。如果在输入序列中嵌入密码,那么任何人在不知道密码的情况下都不能产生正确的散列值,从而保证了其安全性。SHA将输入流按照每块512位(64个字节)进行分块,并产生20个字节的被称为信息认证代码或信息摘要的输出。
该算法输入报文的最大长度不超过264位,产生的输出是一个160位的报文摘要。输入是按512 位的分组进行处理的。SHA-1是不可逆的、防冲突,并具有良好的雪崩效应。
通过散列算法可实现数字签名实现,数字签名的原理是将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘要),报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果不一致表示明文已被篡改。
MAC (信息认证代码)就是一个散列结果,其中部分输入信息是密码,只有知道这个密码的参与者才能再次计算和验证MAC码的合法性。MAC的产生参见下图。 输入信息 密码 散列函数 信息认证代码 SHA-1与MD5的比较 因为二者均由MD4导出,SHA-1和MD5彼此很相似。相应的,他们的强度和其他特性也是相似,但还有以下几点不同:
对强行供给的安全性:最显着和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2数量级的操作,而对SHA-1则是2数量级的操作。这样,SHA-1对强行攻击有更大的强度。
对密码分析的安全性:由于MD5的设计,易受密码分析的攻击,SHA-1显得不易受这样的攻击。
速度:在相同的硬件上,SHA-1的运行速度比MD5慢。 对称与非对称算法比较
以上综述了两种加密方法的原理,总体来说主要有下面几个方面的不同:
一、 在管理方面:公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n)。所以私钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。
二、 在安全方面:由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。
三、 从速度上来看:AES的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍,如果用硬件来实现的话这个比值将扩大到1000倍。
加密算法的选择 前面的章节已经介绍了对称解密算法和非对称加密算法,有很多人疑惑:那我们在实际使用的过程中究竟该使用哪一种比较好呢?
我们应该根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。
对称加密算法不能实现签名,因此签名只能非对称算法。
由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。
在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。
如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。
密码学在现代的应用, 随着密码学商业应用的普及,公钥密码学受到前所未有的重视。除传统的密码应用系统外,PKI系统以公钥密码技术为主,提供加密、签名、认证、密钥管理、分配等功能。
保密通信:保密通信是密码学产生的动因。使用公私钥密码体制进行保密通信时,信息接收者只有知道对应的密钥才可以解密该信息。
数字签名:数字签名技术可以代替传统的手写签名,而且从安全的角度考虑,数字签名具有很好的防伪造功能。在政府机关、军事领域、商业领域有广泛的应用环境。
秘密共享:秘密共享技术是指将一个秘密信息利用密码技术分拆成n个称为共享因子的信息,分发给n个成员,只有k(k≤n)个合法成员的共享因子才可以恢复该秘密信息,其中任何一个或m(m≤k)个成员合作都不知道该秘密信息。利用秘密共享技术可以控制任何需要多个人共同控制的秘密信息、命令等。
认证功能:在公开的信道上进行敏感信息的传输,采用签名技术实现对消息的真实性、完整性进行验证,通过验证公钥证书实现对通信主体的身份验证。
密钥管理:密钥是保密系统中更为脆弱而重要的环节,公钥密码体制是解决密钥管理工作的有力工具;利用公钥密码体制进行密钥协商和产生,保密通信双方不需要事先共享秘密信息;利用公钥密码体制进行密钥分发、保护、密钥托管、密钥恢复等。
基于公钥密码体制可以实现以上通用功能以外,还可以设计实现以下的系统:安全电子商务系统、电子现金系统、电子选举系统、电子招投标系统、电子彩票系统等。
公钥密码体制的产生是密码学由传统的政府、军事等应用领域走向商用、民用的基础,同时互联网、电子商务的发展为密码学的发展开辟了更为广阔的前景。
加密算法的未来 随着计算方法的改进,计算机运行速度的加快,网络的发展,越来越多的算法被破解。
在2004年国际密码学会议(Crypto’2004)上,来自中国山东大学的王小云教授做的破译MD5、HAVAL-128、MD4和RIPEMD算法的报告,令在场的国际顶尖密码学专家都为之震惊,意味着这些算法将从应用中淘汰。随后,SHA-1也被宣告被破解。
历史上有三次对DES有影响的攻击实验。1997年,利用当时各国 7万台计算机,历时96天破解了DES的密钥。1998年,电子边境基金会(EFF)用25万美元制造的专用计算机,用56小时破解了DES的密钥。1999年,EFF用22小时15分完成了破解工作。因此。曾经有过卓越贡献的DES也不能满足我们日益增长的需求了。
最近,一组研究人员成功的把一个512位的整数分解因子,宣告了RSA的破解。
我们说数据的安全是相对的,可以说在一定时期一定条件下是安全的,随着硬件和网络的发展,或者是另一个王小云的出现,目前的常用加密算法都有可能在短时间内被破解,那时我们不得不使用更长的密钥或更加先进的算法,才能保证数据的安全,因此加密算法依然需要不断发展和完善,提供更高的加密安全强度和运算速度。
纵观这两种算法一个从DES到3DES再到AES,一个从RSA到ECC。其发展角度无不是从密钥的简单性,成本的低廉性,管理的简易性,算法的复杂性,保密的安全性以及计算的快速性这几个方面去考虑。因此,未来算法的发展也必定是从这几个角度出发的,而且在实际操作中往往把这两种算法结合起来,也需将来一种集两种算法优点于一身的新型算法将会出现,到那个时候,电子商务的实现必将更加的快捷和安全。
⑩ IKE密钥交换原理
在采用IKE动态协商方式建立IPSec隧道时,SA有两种:一种IKE SA,另一种是IPSec SA。建立IKE SA目的是为了协商用于保护IPSec隧道的一组安全参数,建立IPSec SA的目的是为了协商用于保护用户数据的安全参数,但在IKE动态协商方式中,IKE SA是IPSec SA的基础,因为IPSec SA的建立需要用到IKE SA建立后的一系列密钥。
手工方式建立SA存在配置复杂、不支持发起方地址动态变化、 建立的SA永不老化、不利于安全性等缺点。本节具体介绍动态协商方式的好处,以及IKE与IPSec的关系。
(1) 降低了配置的复杂度, 在IKE动态协商方式下,SPI, 认证密钥和加密密钥等参数将自动生成,而手工方式中需根据SA出方向和入方向分别指定。
(2) 提供抗重放功能, IPSec使用AH或ESP报头中的序列号实现抗重放(不接受序列号相同的数据包)。当AH或ESP报头中的序列号溢出(也是达到了最大值,不能再继续往下编 号,要开始新一轮的重新编号了)后,为实现抗重放,SA需要重新建立,这个过程需要IKE协议的配合,所以手工方式下不支持抗重放功能。
(3)支持协商发起方地址动态变化情况下(如采用PPP。E拨号方式接入Internet)的身份认证,手工方式不支持,只能适用于在两端都采用专线连接方式接入Internet情形。
(4)支持认证中心CA (Certificate Authority)在线对对等体身份的认证和集中管理,有利于IPSec的大规模部署,手工方式不支持在线认证方式。
(5)通过IKE协商建立的SA具有生存周期,可以实时更新,降低了SA被破解的风险,提高了安全性。
生存周期到达指定的时间或指定的流量,SA就会失效。在SA快要失效前,IKE将为对等体协商新的SA。在新的SA协商好之后,对等体立即采用新的SA保护通信。生存周期有两种定义方式:
IKE 协议建立在 ISAKMP (Internet Security Association and Key Management Pr otocol, Internet安全联盟和密钥管理协议)定义的框架上,是基于UDP的应用层协议(对应UDP500端口. 它为IPSec提供了自动协商交换密钥、建立SA的服务,能够简化IPSec的使用和管理。
其实IKE也不是一个单独的协议,它包括三大协议:ISAKMP (Internet Security Association and Key Management Protocol,因特网安全联盟和密钥管理协议),Oakley (Oakley Key Determination Protocol,奥利克密钥确定协议)和SKEME (Sec ure Key Exchange Mechanism for Internet,因特网安全密钥交换机制)。ISAKMP主 要定义了IKE对等体(IKE Peer)之间合作关系,建立IKE SA。OakLey协议是一个产生和交换IPSec密钥材料并协调IPSec参数的框架(包括支持哪些安全协议);SKEM E协议决定了IKE密钥交换的方式,主要采用DH (Diffie-Hellman)算法。
IKE与IPSec (包括AH和ESP协议)的关系如下图所示,IKE是UDP之上的一个 应用层协议(AH和ESP是网络层协议),是IPSec的信令协议;IKE为IPSec协商建立 SA,并把建立的参数及生成的密钥交给IPSec; IPSec使用IKE建立的SA对IP报文加密 或认证处理。
对等体之间建立一个IKE SA后,在IKE SA保护了IPSec隧道的情况下,再根据配置的AH、ESP安全协议等参数协商出一对IPSec SA,用于对等体间的数据在IPSec隧道中的安全数据传输。
IKE协议目前有IKEv1和IKEv2两个版本。IKEv1版本使用两个阶段为IPSec进行密 钥协商并最终建立IPSec SA。第一阶段,通信双方协商建立IKE本身使用的安全通道 (即隧道),即建立一对IKE SA。第二阶段,利用这个已通过了认证和安全保护的安全通道建立一对用于保护隧道中数据安全传输的IPSec SA。而IKEv2版本则简化了协商过程,在一次协商中可直接产生IPSec的密钥,生成IPSec SA。
下面先来了解IKE在产生SA (包括IKE SA和IPSec SA)的过程中所用的一些安全机制,这是后面介绍具体的IKE协商过程中所要用到的。
IPSec应用方案之所以能在公网(如Internet)上安全地进行网络通信,其重要原因是可在对等体间的整个隧道建立和数据传输过程中均有各种安全机制来做保障,这方面如果采用的是IKE来进行自动的密钥交换和协商同样可以做到,因为IKE本身就具有一整套自我保护机制,可以在不安全的网络上安全地认证身份,分发密钥。具体体现在以下几种安全保护方面。
当使用IKE在对等体间进行信息交换时,首先要识别对方的合法性,也就是身份认证问题。在IKE中可用于确定对等体身份(对等体的IP地址或名称)的机制比较全面,包括预共享密钥PSK (pre-shared key)认证,RSA数字证书(rsa-signature,或称RSA数字签名)认证和RSA数字信封认证。
在数字信封中,发送方采用对称密钥(需要发送方事先随机产生一个对称密钥)来对要发送的报文进行数字签名,然后将此对称密钥用接收方的公钥来加密 (这部分称数字信封)之后,再将加密后的对称密钥连同经过数字签名的报文一起发送给接收方。接收方在收到后,首先用自己的私钥打开数字信封,即可得到发送方的对称密钥,然后再用该对称密钥解密原来被数字签名的报文,验证发送方的数字签名是否正确。如果正确,则认证通过;否则认证失败。
对于预共享密钥认证方法,当有一个对等体对应多个对等体时,需要为每个对等体配置预共享的密钥,工作量大,所以该方法在小型网络中容易建立,但安全性较低。使用数字证书安全性高,但需要CA来颁发数字证书,适合在大型网络中使用。而数字信封认证用于设备需要符合国家密码管理局要求时使用(需要使用国家 密码管理局要求的哈希算法SM3),且此认证方法只能在IKEv1的主模式协商过程中支持。
以上所提到的用于身份认证的各种密钥都属于IKE认证密钥,支持的算法有: MD5,SHA1, SHA2-256,SHA2-384,SHA2-512,SM3。MD5算法使用128位的密钥,SHA-1算法使用160位的密钥,SHA2-256,SHA2-384,SHA2-512分别采用256 位,384位和512位密钥,SM3使用128位密钥。它们之间的安全性由高到低顺序 是:SM3>SHA2-512>SHA2-384>SHA2-256>SHA1>MD5。 对于普通的安全要求,认证算法推荐使用SHA2-256,SHA2-384和SHA2-512,不推荐使用MD5和SHA1,对于安全性要求特别高的地方,可采用SM3算法。
以上所涉及的身份认证密钥(包括预共享密钥,公/私钥),证书都是作为发送方的“验证数据”要通过对应方式发给对方予以验证的。
IPSec的数据加密机制主要用在两个方面:一是在IKE协商阶段,保护所传输的用于身份认证的数据信息(如共享密钥、证书、认证密钥等),二是在IPSec隧道建立后保护在隧道中传输的用户数据。但这里所说的数据加密机制所采用的对称密钥机制,即加密和解密采用相同的密钥,而不是像前面介绍的数字证书身份认证和数字签名应用中所采用的非对称密钥体系。
IKE支持的加密算法包括:DES,3DES,AES-128,AES-192,AES-256,SM1和SM4等。DES算法使用56位密钥,3DES使用168位密钥,AES-128,AES-192,AES-256分别使用128,192和256位密钥,SM1和SM4均使用128位密钥。这些加密算法的安全级别由高到低的顺序是:SM4 > SMI1> AES-256 > AES-192 > AES-128 > 3DES > DES,推荐使用AES-256、AES-192和AES-128,不推荐使用3DES和DES算法, SM1和SM4仅建议在保密及安全性要求非常高的地方采用,因为它们的运算速度比较慢。非对称密钥体系中通常使用的是RSA或DSA (Digital Signature Algorithm,数字签名算法)加密算法。
Diffie-HeLlman算法是一种公开密钥算法。通信双方可在不传送密钥的情况下,仅通过交换一些数据,即可计算出双方共享的密钥。而且可以做到,即使第三方截获了双方用于计算密钥的所有交换数据,也不足以计算出真正的密钥。
DH主要用于IKE动态协商时重新生成新的IPSec SA所用的密钥,因为它可以通 过一系列数据的交换,最终计算出双方共享的密钥,而不依赖于在前期生成的密钥生成材料。但DH没有提供双方身份的任何信息,不能确定交换的数据是否发送给合法方,第三方可以通过截获的数据与通信双方都协商密钥,共享通信,从而获取和传递信息,所以IKE还需要身份认证来对对等体身份进行认证。
PFS (Perfect Forward Secrecy,完善的前向安全性)是一种安全特性,指一个密钥被破解后并不影响其他密钥的安全性,因为这些密钥间没有派生关系。
由本章后面的介绍就可知道,IPSec SA的密钥是从IKE SA的密钥导出的。由于一个IKE SA协商可生成一对或多对有一定派生关系的IPSec SA,所以当IKE的密钥被窃取后,攻击者很可能通过收集到足够的信息来非法导出IPSec SA的密钥,这样就不安全了。如果在生成IPSec阶段启用了PFS,即可通过执行一次额外的DH交换,生成新的,独立的IPSec SA,这样就可以保证IPSec SA密钥的安全了。
上文已提到,IKEvl版本产生最终的IPSecSA是需要经过两个阶段,分别用来建立IKESA和IPSecSA。本节先介绍第一阶段。
IKEvl的第一阶段的最终目的是在对等体之间创建了一条安全通道,建立对等 体的IKESA。在这个阶段中,IKE对等体间彼此验证对方,并确定共同的会话密 钥。这个阶段需要用到Diffie-Hellman (简称DH)算法进行密钥交换,完成IKE SA 建立,使后面的第二阶段过程的协商过程受到安全保护。
在IKEvl版本中,建立IKE SA的过程有主模式(Main Mode)和野蛮模式(Aggr essive Mode,也称“积极模式”)两种交换模式。下面分别予以介绍。
在IKEv1的主模式的IKE SA建立过程中,包含三次双向消息交换,用到了六条信息,交换过程如图所示。
这6条消息其实总体上是三个步骤,各包含两条相邻编号的消息。
第一个步骤对应的是消息①和②,是隧道两端对等体间通过交换彼此配置的IKE策略协商好要共同采用的IKE安全策略,因为只有双方都采用相同的安全策略才能相互识别对方加密的数据,并对对方身份进行正确认证。
第二个步骤对应的是消息③和④,是对等体间通过DH算法交换彼此的密钥生成所需的参数信息(DH公开值和随机数nonce等),建立两端相同的一系列共享密钥,主要包括用于在第二阶段协商的身份认证密钥和协商数据的加密密钥。
第三步对应的是消息⑤和⑥,用前面已创建好的加密密钥彼此相互发送各自的身份(如对等体的IP地址或名称)和验证数据(所采用的身份认证方式中的密钥, 或证书数据等),采用相应认证方法在对等体间进行身份认证。最终完成IKE SA的建立。
在正式进行消息交换前,发起方和接收方必须先计算出各自的cookie (在ISKMP报头中,可以防重放和DoS攻击),这些cookie用于标识每个单独的协商交换消息。RFC建议将源/目IP地址,源/目端口号,本地生成的随机数,日期和时间进行散列操作生成cookie。cookie成为在IKE协商中交换信息的唯一标识,在IKEv1版本中为Cookie, 在IKEv2版本中的Cookie即为IKE的SPI (安全参数索引)。
下面再具体介绍以上所提到的这6条消息。
如图所示,野蛮模式只用到三条信息,消息①和②用于在对等体间协商IKE安全策略,交换DH公钥,必需的辅助信息和身份信息(通常不以IP地址进行标识,而是以主机名进行标识的)。
由野蛮模式和主模式的对比可以发现,与主模式相比,野蛮模式减少了交换信息的数目,提高了协商的速度,但是没有对身份信息和验证数据进行加密保护,因为双方在发送身份信息时(对应第①和第②条消息)是不加密的(但主模式中发送的身份信息和验证数据是加密的,对应第⑤和第⑥条消息)。虽然野蛮模式不提供身份保护,它仍可以满足某些特定的网络环境需求。
当IPSec 隧道中存在NAT设备时,需要启用NAT穿越功能,而NAT转换会改变对等体的IP地址,由于野蛮模式不依赖于IP地址标识身份,使得如果采用预共享密钥验证方法时,NAT穿越只能在野蛮模式中实现。如果发起方的P地址不固定或者无法预知,而双方都希望采用预共享密钥验证方法来创建IKE SA,则只能采用野蛮模式。
如果发起方已知响应方的策略,或者对响应者的策略有全面的了解,采用野蛮模式能够更快地创建IKE SA.
ikev1版本的第二阶段就是要在第一阶段基础上最终建立一对SA ,它只有一种模式,即快速模式(Quick Mode )。快速模式的协商是受SA 保护的,整个协商过程如图所示。
在快速模式的协商过程中主要是完成以下IPSec 安全策略的确定:
在上述几方面达成一致后,将建立起两个PSec SA ,分别用于入站和出站通信。
在消息①和②中的IPSec安全提议包括了安全协议,spi,IPSec封装模式,PfS(可选),IPSec SA生存周期等。这两条消息中还包括双方的身份信息(如IP地址,传输层端口),验证数据(包括所采用的身份认证机制中的密钥,证书等),以及nonce (一个随机数,用于抗重放,还被用作密码生成的材料,仅当启用PFS时用到)。接收方会利用所收到的对方数据生成加密密钥,消息③为确认消息,通过确认发送方收到该阶段的消息②,使响应方获知可以正式通信了。
IKEv1需要经历两个阶段,至少交换6条消息才能最终建立一对PSec SA, 而IKEv2在保证安全性的前提下, 减少了传递的信息和交换的次数,实现起来更简单。
IKEv2保留了IKEv1的大部分特性,而且IKEv1的一部分扩展特性(如NAT穿越)作为IKEv2协议的组成部分被引入到IKEv2框架中。与IKEV1不同,IKEv2中所有消息都以“请求-响应”的形式成对出现,响应方都要对发起方发送的消息进行确认,如果在规定的时间内没有收到确认报文,发起方需要对报文进行重传处理,提高了安全性。
IKEv2还可以防御DoS攻击。在IKEv1中,当网络中的攻击方一直重放消息,响应方需要通过计算后,对其进行响应而消耗设备资源,造成对响应方的DoS攻击。而在KEv2中,响应方收到请求后,并不急于计算,而是先向发起方发送一个cookie类型的Notify载荷(即一个特定的数值),两者之后的通信必须保持Fcookie与发起方之间的对应关系,有效防御了DoS攻击。
IKEv2定义了三种交换类型:初始交换(InitialExchanges),创建子SA交换(Create _Child _SA Exchange)以及通知交换(InformationalExchange)。IKEv2通过初始交换就可以完成一个IKE SA和第一对IPSec SA的协商建立。如果要求建立的IPSec SA大于一对时, 每一对IPSec SA值只需要额外增加一次创建子SA交换(而如果采用IKEv1,则子SA 的创建仍然需要经历两个阶段)。
IKEv2初始交换对应IKEv1的第一阶段,初始交换包含两次交换四条消息,如图所示。消息①和②属于第一次交换,以明文方式完成IKE SA的参数协商,主要是协商加密算法,交换nonce 值,完成一次DH交换,从而生成用于加密,并验证后续交换的密钥材料。消息③和④属于第二次交换,以加密方式完成身份认证(通过交换身份信息和验证数据),对前两条信息的认证和IPSec SA的参数协商。
在初始交换完成后,可以由任何一方发起创建子SA交换,该次交换中的发起者和初始交换中的发起者可能是不同的。该交换必须在初始交换完成后进行,交换消息由初始交换协商的密钥进行保护。
创建子SA交换包含两条消息,用于一个IKE SA创建多个IPSec SA或IKE的重协商,对应IKEv1的第二阶段。如果需要支持PFS,创建子SA交换可额外进行一次DH交换,建立勇于建立IPSEC SA的新密钥。
通信双方在密钥协商期间,某一方可能希望向对方发送控制信息,通知某些错误或者某事件的发生,这就需要由“通知交换过程来完成。
通知交换如图2-15所示,用于对等体间传递一些控制信息,如错误信息,删除消息,或通知信息。收到信息消息的一方必须进行响应,响应消息中可能不包含任何载荷。通知交换只能发生在初始交换之后,其控制信息可以是IKE SA的(由IKES A保护该交换),也可以是子SA的(由子SA保护该交换)。