1.初始阶段

配置:在VPN客户端和VPN服务器(网关)上预先配置相同的预共享秘钥

发起连接:VPN客户端向VPN服务器发起连接请求

 

2.IKEv2阶段1(IKE_SA_INIT)

交换秘钥和随机数: 客户端和服务器交换秘钥交换(KE)载荷和随机数(Nonce)载荷。(KE是用于交换DH的公开值,而NONCE用于传送临时的随机数,由于交换的只是公开值,而并不是真正的密钥,即使被获取了也无法得到真正的密钥。)

这些信息用于生成共享秘钥(Shared Secret),确保后续通信的安全性。

防止DoS攻击: 服务器可能会发送一个Cookie请求,要求客户端返回该Cookie,以防止拒绝服务(DoS)攻击。

生成IKE_SA: 使用PSK和交换的秘钥材料生成IKE_SA(IKE安全关联),用于保护后续的IKEv2通信。

3.IKEv2阶段2(IKE_AUTH)

3.1.客户端身份验证:

客户端发送其身份信息(IDi)和基于PSK的认证载荷(AUTHi)。

AUTHi是一个哈希值,基于PSK和之前交换的消息生成。

3.2.服务器身份验证:

服务器验证客户端的身份和AUTHi的有效性。

服务器发送其身份信息(IDr)和基于PSK的认证载荷(AUTHr)。

3.3.生成CHILD_SA:

双方协商用于保护实际数据流的安全参数(如加密算法、完整性算法等)。 生成CHILD_SA,用于加密和解密VPN数据流量。

4.数据传输阶段

4.1.原始数据

4.2.Transport(传输) 模式

适用于点对点模式-

4.3.Tunnel (隧道) 模式

适用于网关对网关模式

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐