5. 网络层安全IPSec

5.1 IPSec协议

(1)前面使用Outlook进行数字签名和数字加密是应用层实现的安全安全套接字实现的安全是在应用层和传输层之间插入了一层来实现数据通信安全。而IPSec是网络层实现的安全。不需要应用程序的支持,只要配置通信双方的安全规则,传输层的数据传输单元就会被加密后封装到网络层,实现数据通信安全。IPSec工作在OSI模型的网络层

(2)IPSec主要的两个协议

  ①鉴别首部(Authentication Header, AH)协议:提供源点鉴别和数据完整性,但不能保密。AH协议的功能都包含在ESP协议中,因此不再使用AH协议。

  ②封装安全有效载荷(Encapsulation Security Payload, ESP)协议:提供源点鉴别、数据完整性和保密,支持IPv4和IPv6。

5.2 安全关联

(1)IPSec协议的IP数据报(简称IPSec数据报),可以在两个主机之间、两个路由器之间或一个主机和一个路由器之间发送。但发送IPSec数据报之前,源实体和目的实体之间必须创建一条网络逻辑连接,即安全关联(Security Association, SA)

(2)安全关联的状态信息(以Client到Web服务器的安全关联SA1为例)

  ①源点(Client的IP)和终点(Web服务器的地址)

  ②一个32位的连接标识符,称为安全参数索引(Security Parameter Index, SPI)

  ③所使用的加密类型(如DES)、加密密码

  ④完整性检查类型(例如,使用报文摘要MD5的报文鉴别码MAC)

  ⑤鉴别使用的密钥(比如指定身份验证密钥为abc)

【注意】要实现安全通信,Web服务器与Client发送IPSec数据报之前,也要建立一条安全关联SA。

5.3 实战:在Windows系统上配置IPSec实现安全通信

(1)实验环境:Win2003Web(192.168.80.20)WinXP(192.168.80.50)

(2)IPSec(IP安全策略)规则的主要组成

  ①筛选器:定义SA的条件,如源地址、目标地址、协议和端口号等

  ②筛选器动作(允许、拒绝和加密通信):只有“协商安全”才需要指明加密算法和完整性算法,以及身份验证方法。如果是允许和拒绝,则不需要指定上述内容。

  ③身份验证方法(Kerberos、数字证书、共享密钥):默认使用Kerberos来验证,这是为域中的计算机准备的身份验证方法。共享密钥则要求通信双方要使用相同的密钥(可自定义,如abc123)

(3)在Win2003虚拟机上创建IP安全策略

  ①运行“secpol.msc”(也可以从管理工具中找到)打开“本地安全策略”→“IP安全策略”→“创建IP安全策略”。(注意,Windows可以有多个IP安全策略,但同一时间只有一个生效,在“本地安全设置”中有三个默认的IP安全策略,他们是针对加入域的计算机预设的,这里我们要创建自己的IP安全策略)

  ②新增“筛选器”:名称为toWindowsXP,源地址为我的IP、目标地址为192.168.80.50、协议为任意,并选中该筛选器。

  ③设置toWindowsXP筛选器的操作:安全措施为协商安全,并设定数据完整性和加密算法以及新密钥的生成时间。同时勾选“接受不安全的通讯,但总是用IPSec响应”(这意味着只允许进行安全通信)和勾选“使用会话密钥完全向前保密”(意味着通信过程中生成的新的会话密钥就不会使用以前用过的会话密钥)

  ④将身份验证方法修改为“预共享密钥”,如abc123。(可编辑默认的Kerberos来达到修改验证方法的目的)。

  ⑤最后右击创建好的“WebIPSec”,并点击“指派”使策略生效。

(4)在WinXP虚拟机上创建IP安全策略

  ①参照Win2003上操作添加筛选器,目标地址填写192.168.80.20,也就是Win2003Web的地址。

  ②按同样的方法创建筛选器操作和指定身份验证方法(预共享密钥也应设为abc123)

  ③指定新创建的IP安全策略,然后ping 192.168.80.20(注意,第一个响应是Negotiating IP Security,即协商IP安全,说明Win2003返回的ICMP响应数据包是经过IPSec策略加密通信的

5.4 实战:查看安全关联和加密数据包

(1)XP上查看安全关联:运行“mmc” →“文件”→“添加/删除管理单元”→添加“独立管理单元”并选中“IP安全监视器”

(2)Win2003上抓包分析IPSec数据包的格式

  ①IPSec数据包格式

    A.当使用ESP(封装安全有效载荷)时,网络层IP数据包的首部的协议字段变为50。当目标主机检查到协议字段为50时,就知道在IP首部后面紧接着是ESP首部。

    B.在ESP首部中,有标志一个安全关联的安全参数索引SPI(32位)和序号(32位)。同时,在原IP数据报后面增加了两个字段,即ESP尾部和ESP鉴别码(MAC)。

    C.ESP尾部和传输层报文(IP的数据报)一起加密因此攻击者无法得知所使用的传输层协议(它在IP数据报的数据部分中)

    D.SA指明的算法和密钥,对“ESP首部+传输层报文段(或IP数据报)+ESP尾部”生成报文鉴别码MAC。

  ②抓包分析IPSec数据包

第10章 网络安全(4)_网络层安全IPSec的更多相关文章

  1. 第10章 网络安全(5)_访问控制列表ACL

    6. 访问控制列表ACL 6.1 标准访问控制列表 (1)标准ACL ①标准ACL是基于IP数据包的源IP地址作为转发或是拒绝的条件.即,所有的条件都是基于源IP地址的. ②基本不允许或拒绝整个协议组 ...

  2. 第10章 网络安全(3)_安全套接字层SSL

    4. 安全套接字层 4.1 安全套接字层(SSL)和传输层安全(TLS) (1)SSL/TLS提供的安全服务 ①SSL服务器鉴别,允许用户证实服务器的身份.支持SSL的客户端通过验证来自服务器的证书, ...

  3. 《mysql必知必会》学习_第10章_20180731_欢

    第10章,计算字段. P64 select concat (vend_name,'(',vend_country,')') from vendors order by vend_name; # 拼接, ...

  4. Linux就这个范儿 第10章 生死与共的兄弟

    Linux就这个范儿 第10章 生死与共的兄弟 就说Linux系统的开机.必须经过加载BIOS.读取MBR.Boot Loader.加载内核.启动init进程并确定运行等级.执行初始化脚本.启动内核模 ...

  5. JavaScript高级程序设计(第三版)学习笔记8、9、10章

    第8章,BOM BOM的核心对象是window,具有双重角色,既是js访问浏览器的一个接口,又是ECMAScript规定的Global对象.因此,在全局作用域中声明的函数.变量都会变成window对象 ...

  6. 【安富莱】【RL-TCPnet网络教程】第10章 RL-TCPnet网络协议栈移植(FreeRTOS)

    第10章     RL-TCPnet网络协议栈移植(FreeRTOS) 本章教程为大家讲解RL-TCPnet网络协议栈的FreeRTOS操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移植就 ...

  7. <<Python基础教程>>学习笔记 | 第10章 | 充电时刻

    第10章 | 充电时刻 本章主要介绍模块及其工作机制 ------ 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 一个简 ...

  8. 《构建之法》之第8、9、10章读后感 ,以及sprint总结

    第8章: 主要介绍了软件需求的类型.利益相关者,获取用户需求分析的常用方法与步骤.竞争性需求分析的框架NABCD,四象限方法以及项目计划和估计的技术. 1.软件需求:人们为了解决现实社会和生活中的各种 ...

  9. 敏捷软件开发:原则、模式与实践——第10章 LSP:Liskov替换原则

    第10章 LSP:Liskov替换原则    Liskov替换原则:子类型(subtype)必须能够替换掉它们的基类型(base type). 10.1 违反LSP的情形 10.1.1 简单例子 对L ...

随机推荐

  1. GraphQL Gateway Architectures

    转自: https://tomasalabes.me/blog/graphql/node/microservices/2018/08/11/graphql-architectures.html Gra ...

  2. microcks 微服务mocks 工具&&运行时

    microcks 是一个方便的微服务mock 工具,我们可以用来mock request.response,同时获取api 的服务契约,microcks 支持的部署模式也比较多,docker-comp ...

  3. ipfs docker 运行试用

    ipfs 是一个分布式,p2p 的文件系统,参考了git.bt.sfs 以及web 的设计 环境准备 docker-compose 文件 version: "3" services ...

  4. oracle单词

    OEM Blackouts n. 黑朦:灯火管制(blackout的复数)Projection n. 投射:规划:突出:发射:推测premium adj. 高价的:优质的 ############## ...

  5. VMware虚拟机里centos7下安装mysql5.6并授权远程连接Navicat

    这节来安装Mysql5.6,并远程授权连接本地windows的Navicat,可以根据以下步骤安装.此文章为自己收藏,必要时拿出来直接用的,有需要的友友可以查看查看的.文章图片有借助于网络的. 1.新 ...

  6. linux od命令详解

    Linux od命令 Linux od命令用于输出文件内容.od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来 将指定文件以八进制形式(默认)转储到标准输出.如果指定了多于一个的文件参数 ...

  7. SqlServer :利用快捷键快速查看 字段说明查询及表结构 (小技巧)

    1.自定义4个常用的存储过程: sp_select :select * from sp_helpremark :查表的列,列的类型,备注(这里只查询有备注的列) sp_columns1 : 查表所有的 ...

  8. Visual Studio 2010 出现关于ActivityLog.xml错误的解决方案

    在用VS编写程序是第一次会跳出“Visual Studio has encountered an exception.This may be caused by an extension. You c ...

  9. gpio模拟I2C,驱动pcf8574T

    一.pcf8574T介绍 查看pcf8574T的数据手册, A表示读或写,当A为1的时候表示读,当A为0的时候表示写.现把地址控制线,即A2.A1.A0全部接地,可以得到读控制指令为0x41,写控制指 ...

  10. PHP代码实现2 [从变量和数据的角度] 1

    PHP代码实现2 [从变量和数据的角度] 1 数据类型 1.静态类型语言,比如:C/Java等,在静态语言类型中,类型的检查是在<编译>(compile-time)确定的, 也就是说在运行 ...