一种软件定义边界的实现方法及系统与流程

文档序号:31928229发布日期:2022-10-25 23:28阅读:151来源:国知局
一种软件定义边界的实现方法及系统与流程

1.本发明涉及一种软件定义边界的实现方法,同时也涉及一种采用该方法的访问控制系统,属于网络安全技术领域。


背景技术:

2.软件定义边界(software defined perimeter,简写为sdp)是由云安全联盟(cloud security alliance,简写为csa)提出一种创新性较强的网络安全解决方案。它根据用户身份控制其对资源的访问,用安全隐身取代安全防护,其核心技术思想是通过sdp架构隐藏核心网络资产与设施,使之不直接暴露在互联网下,使得网络资产与设施免受外来安全威胁。
3.在传统的sdp架构中,由于受保护服务(或应用)的范围较大,因此普遍采用网关模式,围绕某个或某组服务创建基于身份和上下文的逻辑访问边界。每个客户端在访问前,必须通过单包认证(single packet authorization,简写为spa)后,才允许访问受sdp保护的服务(或应用)。
4.但是,传统的sdp架构仍然存在以下几个缺点:
5.(1)sdp网关串联在网络中,采用单点部署。sdp网关作为受保护服务的统一流量入口,对所有网络流量进行转发,网络性能压力较大,一旦宕机,其保护的服务都不可访问。
6.(2)sdp控制器作为spa控制中心,客户端和受保护服务都需要与sdp控制器进行网络连接,因此sdp控制器需要连接在网路中,即暴露在互联网中,容易受到黑客攻击。一旦sdp控制器被攻击,将导致网络瘫痪;若sdp控制器被劫持控制,sdp控制器便可对任意用户进行授权,威胁sdp所需要保护的服务的安全;如sdp控制器被恶意关停,便可导致受保护服务无法正常访问。
7.(3)sdp网关可防御外部网络攻击,但无法有效防御发自内网的非法访问或攻击。
8.因此,需要一种可以将需要保护的服务进行隐藏,使攻击者在网络空间中看不到攻击目标,无法对其进行攻击,使用代理或设备验证指定访问者的身份、上下文和策略合规性,以保护服务资源,显著缩小攻击面的技术解决方案。


技术实现要素:

9.本发明所要解决的首要技术问题在于提供一种软件定义边界的实现方法。利用该方法,可以实现授权用户对预定服务的隐身访问。
10.本发明所要解决的另一技术问题在于提供一种采用该方法的访问控制系统。
11.为了实现上述目的,本发明采用以下的技术方案:
12.根据本发明实施例的第一方面,提供一种软件定义边界的实现方法,包括如下步骤:
13.将预先生成的受保护服务的网络信息注册到sdp系统,生成spa服务认证信息;
14.sdp客户端获取spa服务认证信息,生成访问报文,并通过交换机向所述受保护服
务发送所述访问报文;
15.所述sdp系统获取所述交换机流量的镜像数据,所述镜像数据包含所述访问报文;
16.所述sdp系统根据所述spa服务认证信息对所述访问报文进行匹配,在匹配成功时对所述sdp客户端进行授权并对所述访问报文放行。
17.其中较优地,所述预先生成的受保护服务的网络信息包括:受保护服务的ip地址、服务端口、spa认证端口、校验码、单次认证有效时长、公私钥对。
18.其中较优地,所述sdp客户端获取spa服务认证信息,生成访问报文,还包括如下子步骤:
19.所述sdp客户端离线获取spa认证端口、校验码、公钥文件,基于所述公钥文件和校验码构造认证令牌,生成包含所述认证令牌的单包认证报文。
20.其中较优地,对所述sdp客户端进行授权,包括如下子步骤:
21.将sdp客户端的ip地址与所述受保护服务的ip地址和所述服务端口绑定。
22.其中较优地,所述认证令牌的加密内容包括:客户端发起访问报文的时间戳和校验码。
23.其中较优地,在所述sdp系统根据所述spa服务认证信息对所述访问报文进行匹配的步骤之前,还包括如下子步骤:
24.sdp系统采用私钥对所述认证令牌解密并对所述校验码进行校验,当所述认证令牌为合法时,所述sdp系统根据所述sdp客户端的信息和所述受保护服务的信息生成白名单。
25.其中较优地,当所述sdp客户端的访问时长超过所述单次认证有效时长后,所述白名单失效,所述sdp系统对所述sdp客户端的ip地址访问进行阻断。
26.其中较优地,所述sdp系统根据所述spa服务认证信息对所述访问报文进行匹配,在匹配不成功时对所述sdp客户端的ip地址访问进行阻断,丢弃所述访问报文。
27.其中较优地,所述sdp系统采用旁路部署方式获取所述交换机流量的镜像数据,并且仅对所述镜像数据进行监测和阻断,不进行数据转发。
28.根据本发明实施例的第二方面,提供一种访问控制系统,包括sdp系统、sdp客户端、交换机;其中,所述sdp系统和所述sdp客户端分别连接所述交换机,并通过所述交换机,采用上述软件定义边界的实现方法访问预先生成的受保护服务。
29.与现有技术相比较,本发明采取旁路部署sdp系统的方式镜像接入交换机流量,仅对镜像数据进行监测和阻断,不进行数据转发,避免一旦出现sdp系统的故障,导致sdp系统所保护的服务都不可访问的问题出现。另外,本发明中的sdp系统无需暴露在互联网中,避免sdp系统被攻击控制后,授权任意用户访问内网数据的风险。另一方面,本发明还可以通过镜像内网流量,实现对内部用户访问内部服务时的sdp功能,有效抵御内部攻击。利用本发明,不需要改变用户的网络结构,也不需要改造受保护服务的软件架构,从而实现透明部署。
附图说明
30.图1为本发明所提供的软件定义边界的实现方法的整体流程图;
31.图2为本发明所提供的访问控制系统的架构示意图;
32.图3为本发明的实施例1中,软件定义边界的实现方法的流程示意图;
33.图4为本发明的实施例2中,软件定义边界的实现方法的流程示意图;
34.图5为本发明的实施例3中,软件定义边界的实现方法的流程示意图。
具体实施方式
35.下面结合附图和具体实施例对本发明的技术内容进行详细具体的说明。
36.如图1所示,本发明所提供的软件定义边界的实现方法,至少包括如下步骤:
37.将预先生成的受保护服务的网络信息注册到sdp系统,生成spa服务认证信息;
38.sdp客户端获取spa服务认证信息,生成访问报文,并通过交换机向所述受保护服务发送所述访问报文;
39.所述sdp系统获取所述交换机流量的镜像数据,所述镜像数据包含所述访问报文;
40.所述sdp系统根据所述spa服务认证信息对所述访问报文进行匹配,在匹配成功时对所述sdp客户端进行授权并对所述访问报文放行。
41.同时,本发明还提供一种用于实施上述方法的访问控制系统。如图2所示,该访问控制系统包括sdp系统、sdp客户端、交换机;其中,所述sdp系统和所述sdp客户端分别连接所述交换机,并通过所述交换机,采用上述软件定义边界的实现方法访问预先生成的受保护服务。
42.在本发明的一个实施例中,sdp系统为一体化硬件(可以基于现有的sdp认证服务器实现),可以采取旁路部署方式并联接入网络,镜像接入交换机流量。sdp客户端以软件方式实现,可以运行在用户的电脑、手机、pad等终端设备上。用户可通过离线方式(例如u盘拷贝)或在线方式(例如电子邮件、社交软件、网盘等)从sdp系统处获取到服务ip地址、服务端口、公钥、服务绑定校验码、spa认证端口等信息。sdp客户端在获取到上述信息后才能使用。sdp客户端需要经过源代码混淆、加壳等方式,以便有效抵抗逆向分析,避免源代码泄露,保护客户端认证流程的安全。在sdp客户端中,可以内置令牌(token)算法(在第一实施例中有具体说明),计算生成认证令牌后,将认证令牌组装成单包认证报文(采用udp报文格式),并向受保护服务的服务ip地址和spa认证端口发送udp报文。
43.下面,通过不同实施例对上述软件定义边界的实现方法及系统进行详细具体的说明。
44.《第一实施例》
45.如图3所示,本发明的第一实施例公开了一种软件定义边界的实现方法,至少包括如下步骤:
46.s11,将预先生成的受保护服务的网络信息注册到sdp系统,生成spa服务认证信息。
47.其中,受保护服务的网络信息可以包括受保护服务的ip地址、服务端口、spa认证端口、校验码、单次认证有效时长、公私钥对,这些信息为用于单包认证的信息。
48.受保护服务在sdp系统中的注册信息生成过程如下:
49.(1)在sdp系统中新建一个受保护服务。sdp系统对每一个受保护的服务生成注册信息可以包括但不限于:服务名称、服务ip地址、服务端口、spa认证端口、服务绑定校验码、单次认证有效时长、公私钥对等信息。
50.(2)为受保护服务生成一对专用公私钥对:公钥由sdp客户端保存,用于生成认证令牌;私钥由sdp系统保存,用于对接收到的客户端的认证令牌进行解密,获取明文认证信息。
51.受保护服务信息注册到sdp系统后,sdp系统开始监听网络上所有发往受保护服务的ip地址和spa认证端口的udp报文。
52.s12,sdp系统对受保护服务生成默认黑名单,禁止所有未授权访问。
53.s13,sdp客户端获取spa服务认证信息,生成访问报文。sdp客户端通过交换机向受保护服务发送所述访问报文。
54.在本发明的实施例中,由sdp客户端发起单包认证。sdp客户端离线获取公钥文件、spa认证端口、验证码,生成认证令牌并利用公钥文件对认证令牌进行加密,发送单包认证报文。
55.所述认证令牌的加密内容包括:时间戳(sdp客户端发起单包认证请求时的本地系统时间戳)和验证码。认证令牌加密算法采用rsa或sm2算法进行非对称加密,计算令牌公式为token=publickeyencrypt(时间戳-校验码)。
56.针对未通过单包认证的sdp客户端访问流量,sdp系统在监测到sdp客户端尝试与受保护服务建立连接进行tcp三次握手时,会同时向sdp客户端和受保护服务分别发送reset数据包,阻断网络连接,从而使sdp客户端无法访问受保护服务。
57.s14,sdp系统根据spa授权认证信息,采集来自sdp客户端的单包认证报文。
58.在本发明的实施例中,sdp系统获取交换机流量的镜像数据,所述镜像数据包含所述访问报文,用于sdp系统进行解析认证。其中,sdp系统采用旁路部署方式,获取交换机流量的镜像数据,仅对镜像数据进行监测和阻断,不进行数据转发。因此,实现了sdp系统的隐身监控。当sdp系统出现故障的时候,也不会影响网路上的数据交互。
59.上述实施例的技术方案一方面可以避免sdp系统出现故障时,影响已授权的sdp客户端对受保护服务的访问,另一方面由于sdp系统是旁路部署方式,镜像接入交换机流量,因此本身在网路上是隐身的,可以避免sdp系统被攻击或者劫持。
60.接下来,sdp系统从所述镜像数据中采集来自客户端的访问报文,进行解析认证。
61.s15,sdp系统解析并判断认证令牌的合法性。当认证令牌被判定为合法时,sdp系统根据客户端信息和目标服务信息,生成白名单。
62.s16,sdp系统根据spa服务认证信息对访问报文进行匹配,在匹配成功时对sdp客户端进行授权,并转发访问报文至目标服务信息指定的目标服务。
63.通过上述步骤,sdp系统在确认请求者的合法身份后,授权合法的sdp客户端对受sdp系统保护的服务进行访问。sdp系统在镜像数据的后续监测过程中,若发现经过授权的合法客户端访问受保护服务,则直接放行。
64.在本发明的实施例中,对sdp客户端进行授权包括:将sdp客户端的ip地址与所述受保护服务的ip地址和所述服务端口绑定。具体包括如下的子步骤:
65.(1)sdp客户端构造并向受保护服务的ip地址和端口发送udp报文。
66.(2)sdp系统监听网络流量中的udp报文,根据配置列表中的服务ip地址和对应的spa认证端口匹配到的udp报文进行过滤,获取udp报文中的认证令牌,并确认使用的公私钥对。
67.(3)sdp系统采用私钥对认证令牌进行解密,解密成功后获得明文数据。
68.(4)sdp系统取出认证令牌中的时间戳,并计算和系统当前时间戳的差值,若小于预定时间(例如10分钟等),则认为认证令牌有效,从而进一步对校验码进行校验。
69.(5)sdp系统使用本地保存的受保护服务的校验码与客户端的认证令牌中的校验码进行比较,若相同,则认为验证通过,并搜索与验证码匹配的服务ip地址和端口,并和源ip地址绑定加入白名单。
70.在本发明的实施例中,sdp客户端向服务端ip和spa认证端口发送携带令牌的udp报文。sdp系统通过单包认证后,对客户端ip、服务端ip和服务端口生成一条白名单,进行成对加白处理。在认证成功后,sdp客户端可以正常访问受保护服务。sdp系统持续监测流量,在监测过程中会放过该sdp客户端对受保护服务端的请求,使数据正常交互。超过准入时长后,sdp客户端与受保护服务端的成对加白的白名单失效,sdp系统将对sdp客户端的访问进行阻断,sdp客户端需要重新进行单包认证。
71.在上述步骤s16之前,即,在sdp系统根据spa服务认证信息对访问报文进行匹配的步骤之前,还可以包括如下步骤:
72.sdp系统采用私钥对所述认证令牌进行解密,并对所述校验码进行校验,当所述认证令牌为合法时,所述sdp系统根据所述sdp客户端的信息和所述受保护服务的信息生成白名单;
73.sdp系统根据接收到的访问报文的源ip地址、目的ip地址和目的端口进行匹配,若匹配白名单成功,则转发访问报文至目标服务信息指定的目标服务。
74.《第二实施例》
75.如图4所示,本发明的第二实施例公开了一种软件定义边界的实现方法,至少包括如下步骤:
76.s21,将预先生成的受保护服务的网络信息注册到sdp系统,生成spa服务认证信息。
77.在本发明的实施例中,受保护服务的网络信息包括:服务ip地址、服务端口、spa认证端口。相应地,spa服务认证信息包括:公私钥秘钥对、验证码等用于单包认证的信息。
78.s22,sdp客户端获取spa服务认证信息,生成访问报文;所述sdp客户端通过交换机向受保护服务发送所述访问报文。sdp客户端离线获取公钥文件、spa认证端口、验证码,生成认证令牌并利用公钥对认证令牌进行加密,发送单包认证报文(采用udp报文格式)。所述认证令牌的加密内容包括:sdp客户端发起访问报文的时间戳和校验码。
79.s23,sdp采集来自sdp客户端的单包认证报文,解析并判断认证令牌的合法性。
80.在本发明的实施例中,sdp系统获取交换机流量的镜像数据,所述镜像数据包含访问报文。sdp系统根据spa授权认证信息,从所述镜像数据中采集来自sdp客户端的访问报文,进行解析认证。
81.s24,当认证令牌被判定为合法时,sdp系统根据sdp客户端的信息和受保护服务的信息,生成白名单。所述白名单包括:客户端ip、服务端ip、服务端端口。
82.s25,sdp系统持续监测网络流量,对满足白名单的流量予以放过;对不匹配白名单的网络流量予以阻断。
83.在本发明的实施例中,sdp系统根据所述spa服务认证信息对单包认证报文进行匹
配,在匹配成功时对所述sdp客户端进行授权,并对访问报文放行;在匹配不成功时对sdp客户端的ip地址访问进行阻断,丢弃所述单包认证报文。
84.具体地说,sdp系统通过监测网络流量中的访问报文是否匹配白名单,判断是否对访问报文放行。当sdp客户端的访问时长超过单次认证有效时长后,所述白名单失效并被删除,sdp系统将对sdp客户端的ip地址访问进行阻断。此后,sdp客户端需要重新生成访问报文,重新进行单包认证才可以继续访问受保护服务。
85.在本发明的实施例中,对所述sdp客户端进行授权包括:将sdp客户端的ip地址与所述受保护服务的ip地址和所述服务端口进行绑定。
86.需要说明的是,在sdp系统根据所述spa服务认证信息对所述访问报文进行匹配的步骤之前,还可以包括如下步骤:
87.sdp系统采用私钥对认证令牌进行解密,并对所述校验码进行校验。当所述认证令牌为合法时,sdp系统根据sdp客户端的信息和受保护服务的信息生成白名单。
88.《第三实施例》
89.如图5所示,本发明的第三实施例公开了一种软件定义边界的实现方法。在该实施例中,由sdp系统进行单包认证,并进行访问控制。该实现方法至少包括如下步骤:
90.s31,将预先生成的受保护服务的网络信息注册到sdp系统,生成spa服务认证信息;
91.在本发明的实施例中,受保护服务的网络信息包括:服务ip地址、服务端口、spa认证端口。相应地,spa服务认证信息包括:公私钥秘钥对、验证码等用于单包认证的信息。
92.s32,sdp系统持续监测网络流量,并基于访问控制列表对访问权限进行判断:若网络流量匹配到允许访问规则,sdp系统会对访问放行;若网络流量匹配到禁止访问规则,sdp系统直接阻断访问;若未匹配到访问控制列表,则执行后续步骤:当sdp系统监测到udp报文时,检测udp报文的目的端口是否匹配spa认证端口:若匹配,则执行s33;
93.s33,sdp系统获取交换机流量的镜像数据,所述镜像数据包含所述访问报文。sdp系统根据spa授权认证信息,采集来自sdp客户端的访问报文。
94.sdp系统根据udp报文中的目的地址、认证端口匹配对应的私钥,对udp报文中的数据部分使用私钥解密:若解密成功,则获取到明文的认证令牌,继续执行s34。
95.s34,sdp系统从明文的认证令牌中获取sdp客户端的时间戳和验证码:sdp系统对验证码进行校验,若校验通过,则执行s35。
96.s35,所述sdp系统根据spa服务认证信息对所述访问报文进行匹配,在匹配成功时对所述sdp客户端进行授权并对所述访问报文放行。
97.sdp系统校验udp报文是否在有效认证时间内,若udp报文有效,则完成单包认证,对udp报文的源ip地址、目的ip地址和目的端口增加一条访问控制规则,实现sdp客户端和受保护服务的成对加入白名单。
98.需要说明的是,本发明中的各个实施例或变形例均采用相关的方式描述,各个实施例或变形例之间相同相似的部分互相参见即可,每个实施例或变形例重点说明的都是与其他实施例的不同之处,但它们都是基于软件定义边界的工作原理实现的,在此就不一一赘述了。
99.与现有技术相比较,本发明采取旁路部署sdp系统的方式镜像接入交换机流量,仅
对镜像数据进行监测和阻断,从而不进行数据转发,避免一旦出现sdp系统的故障,导致sdp系统所保护的服务都不可访问的问题出现。另外,本发明中的sdp系统无需暴露在互联网中,避免sdp系统被攻击控制后,授权任意用户访问内网数据的风险。另一方面,本发明还可以通过镜像内网流量,实现对内部用户访问内部服务时的sdp功能,有效抵御内部攻击。利用本发明,不需要改变用户的网络结构,也不需要改造受保护服务的软件架构,从而实现透明部署。
100.上面对本发明所提供的软件定义边界的实现方法及系统进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质内容的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1