IPSec VPN学习(四)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27868757/article/details/81275211

IPsec:

IPSec 是一项标准的安全技术,它通过在数据包中插入一个预定义头部的方式,来保障OSI上层协议数据的安全。IPSec主要用于保护网络层(IP)数据,因此它提供了网络层的安全性。

对原始的IP负载实现加密,实现对IPSec头部和原始IP负载的验证,以确保数据的完整性。

对VPN流量提供了如下3个方面的保护:

私密性(Confidentiality):数据私密性也就是对数据进行加密。这样一来,即使第三方能够捕获加密后的数据,也不能将其恢复成明文。

完整性(Integrity):完整性确保数据在传输过程中没有被第三方篡改。

源认证(Authenticity):源认证也就是对发送数据包的源进行认证,确保是合法的源发送了此数据包。

IPSec框架:

1,IPSec的做法是提供一个框架性的结构,但每一次IPSec会话所使用的具体算法,都是通过协商来决定的。

举例说明

如果我们觉得 3DES 这个算法所提供的 168 位的加密强度能够满足当前的需要,那么就不妨暂且使用这个协议来加密数据。但是只要有一天 3DES 出现了严重漏洞,或者出现了一个更好的加密协议,那么我们也可以马上更换加密协议,使 IPSec VPN 总是使用最新最好的协议来进行加密。

散列函数、加密算法,还包括封装协议和模式、密钥有效期等内容都可以通过协商决定,在两个IPSec对等体之间协商的协议叫做IKE,

2,散列函数也叫做HASH函数,主流的散列算法有MD5与SHA-1。散列函数的主要任务是验证数据的完整性。通过散列函数计算得到的结果叫做散列值,这个散列值也常常被称为数据的指纹(Fingerprint)。

为什么散列函数会被称为数据的指纹呢?

这是因为散列函数的工作原理和日常我们对指纹采集和使用的原理几乎一样。

散列函数具有下面4个特点。

1.固定大小 散列函数可以接收任意大小的数据,并输出固定大小的散列值。以 MD5 这个散列算法为例,不管原始数据有多大,通过 MD5计算得到的散列值总是 128比特,而SHA-1的输出长度则为160比特。

2.雪崩效应 原始数据就算修改哪怕一个比特,计算得到的散列值也会发生巨大的变化。

3.单向 只可能从原始数据计算得到散列值,不可能从散列值恢复哪怕一个比特的原始数据。

4.冲突避免 几乎不能够找到另外一个数据和当前数据计算的散列值相同,因此散列函数能够确保数据的唯一性。

看一下散列算法如何验证数据的完整性。

步骤 1:使用散列函数,计算需要发送的“重要文件”的散列值,得到“散列值一”。

步骤2:对需要发送的“重要文件”和步骤1计算得到的“散列值一”进行打包,然后一起发送给接收方。

步骤3:接收方对收到的“重要文件”进行散列函数计算,得到“散列值二”。

步骤4:接收方将收到文件中的“散列值一”和步骤3计算得到的“散列值二”进行对比,如果两个散列值相同,那么根据散列函数雪崩效应和冲突避免的特点,就可以确定“重要文件”的完整性,也就是这份“重要文件”在整个传输过程中没有遭到过别人的篡改。

散列函数虽然能够很好地确认数据的完整性,但是却容易遭受中间人攻击,我们来看看中间人攻击是如何进行的,如图3-6所示。

为了弥补这个漏洞,我们可以使用一个叫做密钥化散列信息认证代码(HMAC, Keyed-hash Message Authentication Code)的技术,这项技术不仅仅能够实现完整性校验,还能完成源认证的任务,

=========================================================

步骤1:首先,网络管理员需要预先在要建立OSPF邻居关系的两台路由器上,通过ipospf message-digest-key 1 md5 cisco命令,配臵预共享秘密“cisco”。

步骤 2:发送方把要发送的路由更新信息加上预共享秘密一起进行散列计算,得到“散列值一”,这种联合共享秘密一起计算散列值的技术就叫做HMAC。

步骤3:发送方路由器把步骤2通过HMAC技术得到的“散列值一”和明文的路由更新信息进行封装,一起发送给接收方(注意路由更新信息是明文发送的,绝对没有进行任何加密处理)。

===========================================================================

步骤1:从收到的信息中提取明文的路由更新信息。

步骤2:把步骤1提取出来的明文路由更新信息加上接收方路由器预先配臵的共享密钥“cisco”一起进行散列计算,得到“散列值二”。

步骤3:提取出收到信息中的“散列值一”,用它和步骤2计算得到的“散列值二”进行比较,如果相同,表示路由更新信息是没有被篡改过的,也就是完整的。同时,还可以确定这是预先配臵共享秘密的那台比邻路由器所发送的路由更新,因为只有这台路由器才知道共享秘密的内容,因此也只有它才能够通过HMAC技术制造出能够校验成功的散列值。

============================================================================

HMAC的两大安全特性,完整性校验和源认证。

IPSec和HTTPS技术都采用了HMAC技术来对每一个传输的数据包做完整性校验和源认证。

猜你喜欢

转载自blog.csdn.net/qq_27868757/article/details/81275211