通信人家园
标题:
加密学原理-IPSec原理和配置
[查看完整版帖子]
[打印本页]
时间:
2021-8-22 19:27
作者:
136367
标题:
加密学原理-IPSec原理和配置
本帖最后由 136367 于 2021-8-22 19:27 编辑
加密学原理:
IPSec VPN
IPSec:加密数据
VPN:部署路由的过程
如何保证数据在互联网传递的时候,安全?
1、私密性 加密
2、身份认证 预共享密钥&数字证书
3、完整性 散列算法
加密:古典加密学 【二战及二战之前使用的加密方式】
现代加密学 【二战之后的使用的加密方式】
一般来说,网络通信的时候,有加密就有认证;但是又认证未必有加密。
实现私密性
现代加密学:
对称密钥算法:加密和解密使用相同的密钥。 加密速度快。 适合加密大量的实际数据。
【DES 3DES AES--快加密技术】【RC4-流加密技术】
非对称密钥算法:有一对密钥,公钥、私钥。 加密速度慢,据统计,比对称密钥算法慢1500倍。
加密小的东西,以bit计数。 适合加密密码和散列结果【128bit 256bit 384bit 512bit】。
【RSA--SSH会用到】 【DH--IPSEC VPN里面用来动态交互密钥的算法】
SSH配置:
完整性:
散列算法-Hash算法
MD5-128bit SHA-160bit SHA-256bit SHA-512
源认证【身份认证、不可否认性】:
1、HMAC Hash散列函数:实现完整性 在散列的同时,添加一个只有发送方和接收方知道的密钥,来实现身份认证。
2、数字签名技术 【需要用到非对称密钥算法】--需要使用数字证书
公钥加密这个行为称之为加密;私钥加密这个行为称之为签名【签名的目的是为了实现身份认证】。
站点到站点的VPN:【打通企业的两个或者多个内网】
L2L的IPSec VPN、GRE over IPSec【有隧道】、动态多点VPN【DMVPN】---免费的--不需要额外花钱--基于已有互网络
MPLS VPN、Qinq---花钱
远程接入的VPN:【针对移动端远程接入到企业内部】
SSLVPN、PPTP、L2TP、EZVPN
IPSec架构:
IKE 【Isakmp】---控制层面
AH/ESP---数据层面--封装实际数据
IPSec协商过程【一定要有流量出发才会协商】:
阶段一:主要为了保证阶段二的协商是安全 6个包
第一个包:自己所有SA、Cookia值【散列结果】
如果第一个包没有发出去:可能的原因 1、没有去往对方加密点/通信点的路由 2、流量没有撞上感兴趣流 3、可能是VPN流量被执行NAT
4、发起协商的设备没有收到可以出发IPSec协商数据 5、外网接口没有调用IPSec
第二个包:找到一套相匹配的SA发过去
如果第二个包没有发出去:可能的原因 1、对端没有相匹配的SA 2、没有去往对方加密点的路由 3、外网接口没有调用IPSec
前两个包交互完毕,得到了一套双向的阶段一的SA,可以用来加密阶段一的第五个和第六个包,以及阶段二的三个包
第三个包/第四个包:交换DH的公开值,双方通过一系列复杂的数学运算得到三个参数:Ka【认证】 Kd 【加密实际数据】 Ke 【加密消息】
几乎不会出问题
第五个包/第六个包:身份验证
阶段二:主要为了保证后续实际数据的安全 3个包
阶段二没有协商成功,可能的原因:阶段二的安全参数不匹配【感兴趣流要对称】、加密算法Hash算法认证方式工作模式等保持一致。
路由器处理数据包的时候,先看NAT,再看VPN。
L2L IPSec VPN配置:
步骤:
1.确保拥有去往对方公网【加密点】的路由 --注意测试
2.确保拥有去往对方内网【通信点】的路由--设备转发数据包的时候,先看路由 【如果设备有缺省,可以包含1和2】
3.IPSec VPN阶段一 【Isakmp SA -- IKE SA】
Site1(config)#crypto isakmp policy 106
Site1(config-isakmp)#authentication pre-share //仅修改认证方式,加密算法,散列算法,生存时间都默认
Site1(config)#crypto isakmp key cisco address 60.67.1.1 //定义预共享密钥,实现身份认证
4.IPSec VPN阶段二 【IPSec SA】
Site1(config)#crypto ipsec transform-set L2L esp-aes esp-md5-hmac
//转换集名字叫L2L,封装数据用ESP协议,加密是用aes,完整性校验用md5,认证用hmac
Site1(config)#access-list 100 permit ip 172.16.1.0 0.0.0.255 10.1.1.0 0.0.0.255 //定义感兴趣流
关联阶段二转换集和感兴趣流
Site1(config)#crypto map C 10 ipsec-isakmp
Site1(config-crypto-map)#set peer 60.67.1.1
Site1(config-crypto-map)#match address 100
Site1(config-crypto-map)#set transform-set L2L
Site1(config-crypto-map)#exit
5.调用
Site1(config-if)#int e0/0
Site1(config-if)#crypto map C //在外网接口调用,没有方向,发送数据加密,接收数据解密
Site1#show crypto isakmp sa //查看阶段一的协商状态 ACTIVE是协商成功的,
IPv4 Crypto ISAKMP SA
dst src state conn-id status
60.67.1.1 103.231.1.1 QM_IDLE 1001 ACTIVE
Site1#show crypto ipsec sa //查看阶段二SA,有效期1h
Site1#clear crypto session //清理IPSec会话,重新发送实际数据,触发协商
路由器转发IPSec VPN流量的时候,如果没有阶段一的SA【处理消息】,但是有阶段二的SA【处理实际数据】,不重新协商阶段一。
如果没有阶段二的SA,但是有阶段一的SA,肯定需要协商阶段二的。
PFS完美递进保密性的功能默认没有开启,如果要开启,执行:
VRF:虚拟路由转发 Virtual Routing Forwarding
在路由器创建虚拟路由器的技术
工作模式:隧道模式Tunnel模式、传输模式Transport模式
数据协议:ESP/AH
IPSec和NAT并存的实验【不是IPSec流量穿越NAT】
AH会对外层包头做Hash,AH封装的实际数据无法穿越NAT设备。
ESP不会对外层包头做Hash,ESP封装的实际数据可以穿越NAT设备 【下节课我们是说NAT穿越的时候,肯定会使用ESP】。
设备处理数据包的时候,先执行NAT的动作,然后执行VPN的动作。
PPPOE:Point to Point Over Ethernet
PPP:Point to Point,用户接入互联网,ISP端可以使用这个协议对用户做认证。
Chap:挑战握手认证协议 需要三次握手 密文
PAP:密码认证协议 需要两次握手 明文
只能运行在点对点的线路上,比如Serial接口。以太网接口无法直接运行PPP协议。
但是,现在的网络基本上都是以太网。
PPPOE出现了。帮助PPP协议可以在以太网上运行的。
mtu值:从帧头结尾开始计算【不包括帧头】,包括里面所封装的所有内容,加起来最大字节数。-----一般就是1500字节
Ip mtu值:从IP包头开始计算【包括IP包头】,包括里面所封装的所有内容,加起来最大字节数。------未必是1500字节
穿越NAT的问题:
1、加密学原理
2、IPSec VPN 控制层面
3、IPSec VPN 数据层面
4、IPSec VPN和NAT共存---把VPN流量从NAT里面排除出去
5、IPSec VPN穿越NAT的问题
AH【不能穿越NAT设备】/ESP【可以穿越NAT设备】
ESP 三层协议 没有端口口 不是基于TCP/UDP 基于IP包头的
PAT 既转换地址也转换端口号
思科路由器上默认开了NAT-T功能,IPSEC VPN的数据层面的数据【被ESP封装的数据】,就可以正常执行PAT转换。
阶段一
MM1 MM2 用来告诉对方自己是否支持NAT穿越
如果支持NAT穿越,那么
MM3 MM4 用来检测中间是否存在NAT设备,怎么检测呢?源地址 源端口 Hash 目的地址 目的端口 Hash
如果两个站点通过NAT-T机制,发现中间存在NAT设备,这两个站点无法判断是哪种NAT。
但是呢,两个站点,接下来发送的所有数据,包括MM5 MM6 阶段二三个包,包括后续实际数据都会给你添加上UDP4500头部。
为啥?是因为,如果不添加4500头部,那么后续传递的实际数据是被ESP封装的,ESP没有端口号,万一中间的NAT设备做的PAT,那么就无法正常转换,那么就无法正常发数据。
ESP封装的数据,没有端口号,如何经过PAT设备的呢?
备用功能--SPI-Matching
如果两个站点都在NAT设备的身后,那只能做静态NAT。
做UDP 500【给阶段一前四个协商包用的】 和 UDP 4500 【给阶段一MM5 MM6 阶段二 三个包 后续传的所有实际数据】的转换项
如果任意一个站点设备关闭了NAT-T功能,需要做UDP 500 【阶段一和阶段二 9个协商包】和 ESP的转换项
通信人家园 (https://www.txrjy.com/)
Powered by C114