互联网安全协议(英语:Internet Protocol Security,缩写:IPsec):
本质上一个协议包,透过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
IPsec主要由以下协议组成:
一、认证头(AH),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护;
二、封装安全载荷(ESP),提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性;
三、安全关联(SA),提供算法和数据包,提供AH、ESP操作所需的参数。
IPsec设计意图
(1)入口对入口通信安全,在此机制下,分组通信的安全性由单个节点提供给多台机器(甚至可以是整个局域网);
(2)端到端分组通信安全,由作为端点的计算机完成安全操作。
上述的任意一种模式都可以用来构建虚拟专用网(VPN),而这也是IPsec最主要的用途之一。
IPsec业务流程
认证头(AH,Authentication Header):
字段含义:
下一个头:标识被传送数据所属的协议。
载荷长度:认证头包的大小。
保留:为将来的应用保留(当前都置为0)。
安全参数索引:与IP地址一同用来标识安全参数。
串行号:单调递增的数值,用来防止重放攻击。
认证数据:包含了认证当前包所必须的数据。
AH协议封装和AH协议头格式
封装安全载荷(ESP,Encapsulating Security Payload):
字段含义:
安全参数索引:与IP地址一同用来标识安全参数
串行号:单调递增的数值,用来防止重放攻击。
载荷数据:实际要传输的数据。
填充:某些块加密算法用此将数据填充至块的长度。
填充长度:以位为单位的填充数据的长度。
下一个头:标识被传送数据所属的协议。
认证数据:包含了认证当前包所必须的数据。
ESP协议封装和ESP协议头和协议尾格式:
AH和ESP协议组合使用: