一种基于WireGuard的网络零信任安全交互方法及系统与流程

文档序号:35248374发布日期:2023-08-25 20:30阅读:203来源:国知局
一种基于WireGuard的网络零信任安全交互方法及系统与流程

本发明涉及网络安全领域,具体而言,涉及一种基于wireguard的网络零信任安全交互方法及系统。


背景技术:

1、软件定义边界(software-defined perimeter,sdp)是由云安全联盟(csa)于2013年提出的一种以身份为中心实施对资源访问控制的安全框架,是零信任模型的一种实现方式。

2、该框架基于美国国防部的“need-to-know”模型,每个终端在连接服务器前必须进行验证,确保每台设备都是被允许接入的。其核心思想是通过sdp架构隐藏核心网络资产与设施,使之不直接暴露在互联网下,使得网络资产与设施免受外来安全威胁。

3、sdp安全模型由3大组件构成,分别是:sdp client,即sdp客户端软件;sdpgateway,即sdp业务代理网关;sdp controller,即sdp控制中心。3大组件构成控制平面和数据平面两个平面。如图1所示,sdp客户端和sdp网关之间的连接通过sdp controller与安全控制信道的交互来管理。该结构使得控制平面能够与数据平面保持分离,以便实现完全可扩展的安全系统。

4、如图2所示,在sdp建立连接过程中,单包授权技术的工作流程大致是:

5、a.终端发送spa包到网关,请求tcp连接;b.如果网关判断spa合法有效(向controller进行验证),则允许访问源ip建立tcp连接,随后进行建立mtls连接所需的双向身份认证;c.终端发起带有独特服务标识的服务连接请求到网关;d.网关代替客户端与业务服务建立连接;e.网关告知客户端连接请求是否成功;f.客户端通过网关与业务服务进行数据消息转发,即正常的业务访问;g.由客户端或者网关发送给对方服务关闭消息,将连接关闭,完成业务访问过程。其中,ih全称为:initiate host,即发起请求的主机,这里指sdp-client;ah全称为:authentication host,即认证主机,这里指sdp-gateway;服务是指sdp-client最终需要接入的服务器。

6、即,sdp通过spa+mtls方式对业务访问源进行身份校验,从而起到sdp服务端口以及业务端口的隐藏,避免非法用户与sdp网关建立ssl/tls连接。具体的,在sdp1.0标准中,首先要进行tcp连接,再进行spa敲门,如此一来会导致端口暴露,从而增加安全风险;而在sdp2.0标准中,将spa流程放在了第一步进行。这个改变进一步隐藏了sdp-gateway的端口,使sdp-gateway免受dos的攻击,从而更加安全。

7、由于传统网络安全模型逐渐失效,零信任安全日益成为新时代下的网络安全的新理念、新架构,甚至已经上升为美国国家的网络安全战略。零信任安全只是理念,企业实施零信任安全理念需要依靠技术方案才能将零信任真正落地。除了目前流行的软件定义边界sdp技术方案外,在nist《零信任架构标准》白皮书中列举了3个技术方案,可以归纳为“sim”组合:(1)sdp,软件定义边界;(2)iam,身份权限管理;(3)msg,微隔离。

8、从以上国内外业界通用的零信任+sdp的实现方法可以看出,比起传统的安全的架构,零信任框架是安全更可见、可控。但是,其交互过程中存在着较多包的交互,实现较为复杂,从而传输速率较差。因此,如何对其框架进行优化,利用更简单有效的框架进行实现,在保证安全交互的同时提升传输速率是亟需解决的技术问题。


技术实现思路

1、本发明的目的在于提供一种基于wireguard的网络零信任安全交互方法及系统,其能够简化网络零信任安全交互实现过程,并在保证安全交互的同时大幅度提升其传输速率。

2、本发明是这样实现的:

3、第一方面,本技术提供一种基于wireguard的网络零信任安全交互方法,包括以下步骤:

4、sdp gateway产生一对非对称的包括第一公钥和第一私钥的第一密钥,并将上述第一公钥、预定的注册信息发送至sdp controller;sdp client向上述sdp controller发起登录请求时,sdp controller将sdp client重定向到第三方的idp进行身份认证;身份认证成功后,sdp controller为sdp client动态分配一个wireguard的udp端口号,sdpclient动态产生一对非对称的第二密钥,上述第二密钥包括第二公钥和第二私钥,并将第二公钥发送至sdp controller;sdp controller将sdp client能访问的服务器列表、wireguard的udp端口号、以及接收的第一公钥,发送至sdp client;以及sdp controller将sdp client能访问的服务器列表、wireguard的udp端口号、以及接收的第二公钥,发送至sdp gateway后,sdp client和sdp gateway基于接收的信息建立wireguard隧道,上述wireguard隧道用于为sdp client访问sdp gateway后面的服务器提供隧道。

5、进一步的,上述sdp client和sdp gateway基于接收的信息建立wireguard隧道,包括:sdp client基于第一密钥、第二公钥以及wireguard的udp端口号发出建立wireguard隧道的握手启动包,上述握手启动包同时用作spa包,用于向sdp gateway进行认证sdpclient;sdp gateway回复建立wireguard隧道的握手响应包,用以建立wireguard隧道。

6、进一步的,上述握手启动包同时用作spa包,用于向sdp gateway进行认证sdpclient,包括:若sdp client提供的第一密钥错误,sdp gateway则通过drop语句处理上述握手启动包。

7、进一步的,上述sdp controller将sdp client重定向到第三方的idp进行身份认证时包括:认证成功后,上述第三方的idp通过预先注册的回调callback函数通知sdpcontroller认证成功的相关信息。

8、第二方面,本技术提供一种基于wireguard的网络零信任安全交互系统,其包括:

9、注册模块,用于sdp gateway产生一对非对称的包括第一公钥和第一私钥的第一密钥,并将上述第一公钥、预定的注册信息发送至sdp controller;登录认证模块,用于sdpclient向上述sdp controller发起登录请求时,sdp controller将sdp client重定向到第三方的idp进行身份认证;动态分配模块,用于身份认证成功后,sdp controller为sdpclient动态分配一个wireguard的udp端口号,sdp client动态产生一对非对称的第二密钥,上述第二密钥包括第二公钥和第二私钥;隧道建立模块,用于sdp controller将sdpclient能访问的服务器列表、wireguard的udp端口号、以及接收的第一公钥,发送至sdpclient;以及sdp controller将sdp client能访问的服务器列表、wireguard的udp端口号、以及接收的第二公钥,发送至sdp gateway后,sdp client和sdp gateway基于接收的信息建立wireguard隧道,上述wireguard隧道用于为sdp client访问sdp gateway后面的服务器提供隧道。

10、第三方面,本技术提供一种电子设备,包括至少一个处理器、至少一个存储器和数据总线;其中:上述处理器与上述存储器通过上述数据总线完成相互间的通信;上述存储器存储有被上述处理器执行的程序指令,上述处理器调用上述程序指令以执行如上述第一方面中任一项所述的方法。

11、第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项上述的方法。

12、相对于现有技术,本发明至少具有如下优点或有益效果:

13、(1)将轻量级的wireguard应用于零信任解决方案替代传统的重量级的mtls,使系统的传输速率提高,同时大大减少系统的延时;

14、(2)将wireguard的第一个handshake包兼用于spa(single packetauthentication),简化了零信任的实现;

15、(3)每一次用户认证会重新生成新的client密钥对,提高系统的安全性;

16、(4)spa包和wireguard包的端口是动态生成,进一步降低了系统受到dos(denailof service)攻击的可能性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1