当前位置:   article > 正文

IPsec原理+实现 一文全介绍_ipsec加密封装

ipsec加密封装

目录

简介

IPSec协议族

工作模式

传输模式

隧道模式

协议族介绍

AH协议

ESP协议

工作流程

Linux实现

服务器搭建

路由器配置

utils


简介

IPsec(Internet Protocol Security):

        一组基于网络层,密码学的安全通信协议族。不具体指哪个协议,而是一个协议族。可用于VPN或单纯加密数据。

IPSec协议族

ESP:Encapsulating Security Payload,封装安全载荷协议

        功能:

                1. 加密数据。

                2. 数据完整性、数据源验证、抗报文重放。

AH:Authentication Header,报文头验证协议

        功能:数据完整性、数据源验证、抗报文重放。

SA:Security Association,安全联盟

        即AH和ESP协议所使用的密码算法和安全参数集合。通过IKE协议来协商SA。

        SA包括:

                数据校验算法、 加密算法、工作模式(传输或隧道)、密钥生存期等。

IKE:Internet密钥交换协议,一个UDP应用层协议。

        功能:用于协商SA。

总结:

        AH只能数据源验证、数据完整性校验、防报文重放。

        ESP不仅包含AH所有功能外,还可加密IP报文。

        IKE协议作用是协商SA,SA就是具体AH和ESP使用的加密校验参数。

        IKE定义了如何协商安全参数,如何建立共享密钥,但没有定义协商内容

        IKE协商的这些安全参数构成的集合称为安全联盟SA

工作模式

传输模式

封装后的原始IP头的协议字段:IPSec协议的协议号(50或者51)

应用场景:主机和主机间端到端通信数据保护。

隧道模式

可数据加密,还可隐藏原数据包IP地址

应用场景:私网与私网之间通过公网通信,建立安全VPN通道。

协议族介绍

AH协议

在IP头中协议号为51。

特点:

        只能校验数据,不能加密数据。

        哈希校验算法:SHA1或MD5

AH在传输模式下封装:

        原始IP头+AH认证头+传输层+应用层

AH在隧道模式下封装:

        新IP头+AH认证头+原始IP头++传输层+应用层

ESP协议

IP头中协议号为50。

ESP不仅具备ESP头,还有ESP尾。

ESP使用DES、3DES、AES等加密数据,使用MD5或SHA1校验数据完整性。

ESP在传输模式下封装:

ESP在隧道模式下封装:

工作流程

1. 识别感兴趣流。

        根据IPsec策略决定报文是否要IPsec隧道封装或加密。

2. IKE SA协商。

        识别出感兴趣流后,本端向对端发起SA协商。

        SA是单向的,两个对等体间的双向通信,最少需要两个SA。

        SA协商内容包括:加密与鉴别算法、 加密与鉴别密钥、工作模式(传输或隧道)、密钥生存期等。

        SA由一个三元组来唯一标识,三元组包括SPI(Security Parameter Index)、目的IP地址、安全协议号(AH 或ESP)。 SPI是为标识SA生成32比特数,它在IPSec头中传输。

3. IPsec SA协商。

        IKE SA协商完成后继续协商IPsec SA,用于生成加密密钥。

4. 数据传输。

        IPsec SA建立成功后,双方可通过IPsec隧道传输数据。

        IPsec通过AH或ESP协议对数据加密和验证。

5. 隧道拆除。

        通信会话老化,代表空闲,删除隧道。

Linux实现

服务器搭建

目的:实现路由器和服务器之间建立IPsec VPN

        服务器IP:192.168.30.65

        路由器IP:10.30.10.169

使用apt-get install 安装strongswan工具,实现IPsec VPN服务器

配置文件:/etc/strongswan/ipsec.conf和/etc/strongswan/ipsec.secrets

参数讲解:

        left=192.168.30.65 本端IP地址(服务器)

        right=10.30.10.169 对端IP地址(路由器)

        keyexchange:密钥交换方式,例如 IKEv1 或 IKEv2。

        ike:IKE阶段参数,如加密算法3des、哈希校验md5等。

        esp:ESP参数,如加密算法、认证算法等。

        type:连接类型,如tunnel、transport

        rekey:重新协商密钥的间隔时间。

        dpddelay/dpdtimeout:检测连接是否断开的时间间隔和超时值。

        lifetime:ESP SA生存期。

        dpddelay=60s:在断开连接前等待的延迟时间。

        dpdaction:如果DPD失败,动作

路由器配置

路由器上只配置服务器IP和预共享密钥即可(如图5和6),其余信息默认并和服务器一致即可。

路由器上实现也是strongswan-5.3.3,编译成可执行文件ipsec。

上述页面配置保存在ipsec配置文件/var/config/ipsec.conf和/var/config/ipsec.secrets,由ipsec进程读取配置文件生效。

上述参数大多需和对端服务器配置成一致。否则ipsec隧道无法建立。

预共享密钥信息存放在ipsec.secrets文件。

utils

理解公钥,私钥,数字证书

https://www.cnblogs.com/hthf/p/4986507.html

非对称加密:非对称加密算法有DSA、RSA等。

对称加密:DES(数据加密标准)、TripleDES(三重数据加密标准)RC2等。

openssl用于:密钥证书管理、对称加密和非对称加密 。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/814518
推荐阅读
相关标签
  

闽ICP备14008679号