IPsec in Linux-2.6(二)

在上篇IPsec in Linux-2.6(一)中,讲述了IPsec 在传输模式(transport mode)两个静态IP建立IPsec 通道的过程。在这一篇文章中主要讲述如何理解IPsec工作原理和过程。

也就是要回答为什么IPsec你能够提供安全的数据通讯通道,或者IPsec 为什么被引入到TCP/IP协议栈中。

其实在原始的TCP/IP模型中,没有包括任何关于网络安全的设计,只要有人接入网络,监控并捕捉你的数据流,就有可能解析出你的数据,泄漏你重要的信息,尤其比如个人安全信息,个人隐私以及安全级别很高的重要信息等等。

那么IPsec引入主要包含了完整的安全机制:

1. 载 荷的加密(IP encapsulating security payload )-----RFC2406http://tools.ietf.org/html/rfc2406

2. 安全认证(IP Authentication)                                     -----RFC2402(http://tools.ietf.org/html/rfc2402

3 Internet密钥管理协议(Internet Key exchange)    -----RFC2409http://tools.ietf.org/html/rfc2409)

IPsec 主要利用封包技术实现数据的安全认证,负载的加密等。这里举一个很有意思的例子,来类比IPsec的工作原理。

假设一种通讯方式,在某些紧急时期,只有身份证的人才能写信通讯。比如老张的儿子叫小张,老李的儿子叫小李,老张/老李都有身份证,但是小张和小李没有身份证。如果小张和小李想写信通讯,那么他们最好的办法就是,小张写好自己的信,转交给老张,老张把小张的信装到一个大的信封,并在寄信栏写上自己的身份证号码,收信栏写老李的身份证号码。当老李收到这份信后,打开信封,发现最终收信人是小李,所以转交给小李。这样通过老张/老李这样的类似监护人中转方式使小张和小李完成一次通讯。

从IPsec的角度看,小张/小李写的信,就相当于原始的IP packet;老张/老李封大信封和拆大信封,就相当于给原始的IPsec packet 做二次封包和解包作用。

1. 载荷的加密(IP encapsulating security payload)

如果有好事之徒想偷看小张/小李写的信的内容,这时就需要引进安全机制,小张用暗语表来写信,那么小李就需要用相同的暗语表来读信。前提条件是他们都彼此有相同的暗语表。

同样在IPsec 中,发送端通过对IP载荷用两个host 端都事先约定的公钥,并使用相同的加密算法对IP packet 的payload加密,接收端用相同的公钥解密。

传输模式如下IPV4的IPsec packet 结构:
                  BEFORE APPLYING ESP
            ----------------------------
      IPv4  |orig IP hdr  |     |      |
            |(any options)| TCP | Data |
            ----------------------------

                 AFTER APPLYING ESP
            -------------------------------------------------
      IPv4  |orig IP hdr  | ESP |     |      |   ESP   | ESP|
            |(any options)| Hdr | TCP | Data | Trailer |Auth|
            -------------------------------------------------
                                |<----- encrypted ---->|
                          |<------ authenticated ----->.

从上图可以看出:EPS Hdr 被插入在IP Hdr 和上层协议TCP中间,因此加密的范围仅包含TCP数据段。

其中ESP Trailer包含Padding,Padding Length以及Next Header 域。


隧道模式IPV4的IPsec packet 结构:
            -----------------------------------------------------------
      IPv4  | new IP hdr* |     | orig IP hdr*  |   |    | ESP   | ESP|
            |(any options)| ESP | (any options) |TCP|Data|Trailer|Auth|
            -----------------------------------------------------------
                                |<--------- encrypted ---------->|
                          |<----------- authenticated ---------->|

从上图可以看出,在隧道模式下ESP对整个IP Packet尽心加密。


2. 安全认证(IP Authentication)   

对数据加密或许还不够,数据加密尽管是好事之徒不能读懂新的内容,但是他可以伪造一份信,或者把信的内容篡改后给小李。但是小李这边并不知道信被修改过。为了防止信件的篡改,所以可以根据信件内容的原始内容生成特征码,这样收信人很快就可以根据特征码判断新的内容是否被修改过。

在IPsec看来就是引入AH 头通过MD5值来认证内容是否被修改过。

传输模式如下IPV4的IPsec packet 结构:
                  BEFORE APPLYING AH
            ----------------------------
      IPv4  |orig IP hdr  |     |      |
            |(any options)| TCP | Data |
            ----------------------------

                  AFTER APPLYING AH
            ---------------------------------
      IPv4  |orig IP hdr  |    |     |      |
            |(any options)| AH | TCP | Data |
            ---------------------------------
            |<------- authenticated ------->|
                 except for mutable fields

隧道模式IPV4的IPsec packet 结构:
          ------------------------------------------------
    IPv4  | new IP hdr* |    | orig IP hdr*  |    |      |
          |(any options)| AH | (any options) |TCP | Data |
          ------------------------------------------------
          |<- authenticated except for mutable fields -->|
          |           in the new IP hdr                  |

 

3. Internet密钥管理协议(Internet Key exchange)

公共密钥。比如小张和小李用暗号写信时双方怎么知道彼此暗语的含义,也就是双方需要相同暗语映射表。

 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值