首页> 中国专利> 一种软件定义边界框架下的端口保护方法及装置

一种软件定义边界框架下的端口保护方法及装置

摘要

本申请公开了一种软件定义边界框架下的端口保护方法及装置,包括:客户端根据待访问的业务服务器IP地址、目标端口和客户端IP地址生成第一SPA密钥获取请求,若控制服务器中存在第一访问策略以访问目标端口,生成第一SPA密钥并下发,客户端基于随机数、第一SPA密钥、目标端口、客户端IP地址生成端口访问请求发送给业务服务器,业务服务器根据解析结果中的参数生成第二SPA密钥获取请求,若控制服务器中存在第二访问策略以访问目标端口,下发第二SPA密钥,业务服务器根据随机数以及第二SPA密钥生成第二哈希消息认证码,若第二哈希消息认证码与第一哈希消息认证码相同,业务服务器开放目标端口。所述方法可有效防止恶意攻击。

著录项

  • 公开/公告号CN115118442A

    专利类型发明专利

  • 公开/公告日2022-09-27

    原文格式PDF

  • 申请/专利权人 飞天诚信科技股份有限公司;

    申请/专利号CN202211043829.0

  • 发明设计人 陆舟;

    申请日2022-08-30

  • 分类号H04L9/32(2006.01);H04L9/40(2022.01);H04L41/40(2022.01);

  • 代理机构

  • 代理人

  • 地址 100085 北京市海淀区学清路9号汇智大厦B楼17层

  • 入库时间 2023-06-19 17:09:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-11-22

    授权

    发明专利权授予

  • 2022-10-18

    实质审查的生效 IPC(主分类):H04L 9/32 专利申请号:2022110438290 申请日:20220830

    实质审查的生效

  • 2022-09-27

    公开

    发明专利申请公布

说明书

技术领域

本申请涉及信息安全技术领域,尤其涉及一种软件定义边界框架下的端口保护方法及装置。

背景技术

应用服务通常需要绑定一个对外端口,以用来接收业务请求。但是这个端口通常可以被扫描到,并通过DDOS、代码攻击、sql注入等攻击方式进行服务破坏或数据破坏、盗取。上述攻击通常会使服务宕机、无法响应或响应异常,带来较大的安全风险。如何提供一种保护方法以有效保护服务不会被恶意攻击成为亟待解决的技术问题。

发明内容

本申请实施例提供了一种软件定义边界框架下的端口保护方法及装置。所述技术方案如下:

第一方面,本申请实施例提供了一种软件定义边界框架下的端口保护方法,所述方法包括:

步骤S1:客户端生成身份认证请求,并将所述身份认证请求发送给控制服务器;

步骤S2:所述控制服务器对所述身份认证请求进行验证,若验证通过,则将验证通过结果返回给所述客户端,执行步骤S3,否则,向所述客户端返回验证未通过结果并结束;

步骤S3:所述客户端根据待访问的业务服务器IP地址、待访问的目标端口以及客户端IP地址生成第一SPA密钥获取请求,将所述第一SPA密钥获取请求发送给所述控制服务器;

步骤S4:所述控制服务器根据接收的所述第一SPA密钥获取请求判断数据库中是否存在第一访问策略以使所述客户端IP地址能对所述业务服务器IP地址以及所述目标端口进行访问,若存在,则生成第一SPA密钥,并对所述第一SPA密钥与所述第一访问策略进行关联,将所述第一SPA密钥下发给所述客户端,执行步骤S5,若不存在,则向所述客户端返回密钥获取失败响应;

步骤S5:所述客户端获取目标数据,并根据所述目标数据以及所述第一SPA密钥生成第一哈希消息认证码,基于所述目标端口、所述客户端IP地址以及所述第一哈希消息认证码生成端口访问请求,将所述端口访问请求发送给业务服务器;

步骤S6:所述业务服务器对所述端口访问请求进行解析,根据解析结果中的目标端口、客户端IP地址以及业务服务器IP地址生成第二SPA密钥获取请求,将所述第二SPA密钥获取请求发送给所述控制服务器;

步骤S7:所述控制服务器根据接收的所述第二SPA密钥获取请求判断数据库中是否存在第二访问策略以使所述第二SPA密钥获取请求中的客户端IP地址能对业务服务器IP地址以及目标端口进行访问,若存在,则将所述第二访问策略关联的第二SPA密钥下发给所述业务服务器,并执行步骤S8,若不存在,则向所述业务服务器返回密钥获取失败响应;

步骤S8:所述业务服务器基于所述第二SPA密钥生成第二哈希消息认证码,并判断所述第二哈希消息认证码与解析结果中的第一哈希消息认证码是否相同,若相同,执行步骤S9,若不相同,则向所述客户端返回端口访问失败响应;

步骤S9:所述业务服务器开放所述目标端口,并将所述目标端口的开放结果返回给所述客户端。

第二方面,本申请实施例提供了一种软件定义边界框架下的端口保护装置,所述装置包括:

认证请求生成模块,用于生成身份认证请求,并将所述身份认证请求发送给控制服务器;

认证请求验证模块,用于对所述身份认证请求进行验证,若验证通过,则将验证通过结果返回给客户端,触发密钥请求生成模块,否则,向所述客户端返回验证未通过结果并结束;

所述密钥请求生成模块,用于根据待访问的业务服务器IP地址、待访问的目标端口以及客户端IP地址生成第一SPA密钥获取请求,将所述第一SPA密钥获取请求发送给所述控制服务器;

密钥下发模块,用于根据接收的所述第一SPA密钥获取请求判断数据库中是否存在第一访问策略以使所述客户端IP地址能对所述业务服务器IP地址以及所述目标端口进行访问,若存在,则生成第一SPA密钥,并对所述第一SPA密钥与所述第一访问策略进行关联,将所述第一SPA密钥下发给所述客户端,触发访问请求生成模块,若不存在,则向所述客户端返回密钥获取失败响应;

所述访问请求生成模块,用于获取目标数据,并根据所述目标数据以及所述第一SPA密钥生成第一哈希消息认证码,基于所述目标端口、所述客户端IP地址以及所述第一哈希消息认证码生成端口访问请求,将所述端口访问请求发送给业务服务器;

所述密钥请求生成模块,还用于对所述端口访问请求进行解析,根据解析结果中的目标端口、客户端IP地址以及业务服务器IP地址生成第二SPA密钥获取请求,将所述第二SPA密钥获取请求发送给所述控制服务器;

所述密钥下发模块,还用于根据接收的所述第二SPA密钥获取请求判断数据库中是否存在第二访问策略以使所述第二SPA密钥获取请求中的客户端IP地址能对业务服务器IP地址以及目标端口进行访问,若存在,则将所述第二访问策略关联的第二SPA密钥下发给所述业务服务器,并触发认证码判断模块,若不存在,则向所述业务服务器返回密钥获取失败响应;

所述认证码判断模块,用于基于所述第二SPA密钥生成第二哈希消息认证码,并判断所述第二哈希消息认证码与解析结果中的第一哈希消息认证码是否相同,若相同,触发端口开放模块,若不相同,则向所述客户端返回端口访问失败响应;

所述端口开放模块,用于开放所述目标端口,并将所述目标端口的开放结果返回给所述客户端。

第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项方法的步骤。

第四方面,本申请实施例提供了一种芯片系统,包括处理器和接口,所述处理器用于通过所述接口实现上述任一项方法的步骤。

本申请一些实施例提供的技术方案带来的有益效果至少包括:

本申请提供的软件定义边界框架下的端口保护方法,当控制服务器上存在访问策略使得客户端能对业务服务器IP地址以及目标端口进行访问、且业务服务器对客户端上送的哈希消息认证码校验成功时,业务服务器将目标端口开放给所述客户端,所述方法通过端口保护实现对服务器的保护,可有效防止恶意攻击。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1至图2是本申请实施例提供的一种软件定义边界框架下的端口保护方法的流程示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

下面将结合附图1与附图2,对本申请实施例提供的软件定义边界框架下的端口保护方法进行详细介绍。

请参见图1至图2,为本申请实施例提供的一种软件定义边界框架下的端口保护方法的流程示意图。

如图1所示,本申请实施例的所述方法可以包括以下步骤:

步骤S1’:控制服务器确定客户端IP地址能够访问的业务服务器IP以及目标端口,在客户端IP地址、业务服务器IP地址以及目标端口之间构建访问策略并保存。

客户端可能仅能访问一台业务服务器、也可能可以访问多台业务服务器。

客户端访问一台业务服务器时,可能仅能访问该业务服务器的一个端口,也可能可以访问该业务服务器的多个端口;当客户端仅能访问该业务服务器的一个端口时,控制服务器构建一条访问策略,当客户端能访问该业务服务器的多个端口时,控制服务器对应构建多条不同的访问策略。

客户端访问多台业务服务器时,控制服务器对应构建多条不同的访问策略。

控制服务器在客户端IP地址、业务服务器IP地址以及目标端口之间构建访问策略,也就是构建客户端IP地址对业务服务器IP地址以及目标端口的访问权。

步骤S1:客户端生成身份认证请求,并将身份认证请求发送给控制服务器。

客户端生成的身份认证请求例如为:

ew0KICAiY29uZmlnVHlwZXMiOiBbDQogICAgInBhc3N3b3JkIg0KICBdLA0KICAiZW52SW5mbyI6IHsNCiAgICAiYXJjaCI6ICJ3aW5kb3dzIiwNCiAgICAib3MiOiAid2luZG93cyIsDQogICAgIm9zUmVsZWFzZSI6ICIxMCIsDQogICAgIm9zVmVyc2lvbiI6ICIxMC4xIg0KICB9LA0KICAicGFzc3dvcmQiOiAiVTJGc2RHVmtYMTg2Mmd1bVVscVdjZFNIRFdxZ2ZGY0F5K2d0R1hwUEUwYz0iLA0KICAic2RrSW5mbyI6IHsNCiAgICAiYXBwSWQiOiAiOTg3NjU0MzIxIiwNCiAgICAiYXBwVmVyc2lvbiI6ICIxLjAiLA0KICAgICJicmFuY2giOiAiMS4wIiwNCiAgICAicmV2aXNpb24iOiAiMS4wIiwNCiAgICAidHlwZSI6ICJjbGllbnQiLA0KICAgICJ2ZXJzaW9uIjogIjEuMCINCiAgfSwNCiAgInVzZXJuYW1lIjogInRlc3QiDQp9。

步骤S2:控制服务器对身份认证请求进行验证,若验证通过,则将验证通过结果返回给客户端,执行步骤S3,否则,向客户端返回验证未通过结果并结束。

详尽地,步骤S2包括:

步骤S21:控制服务器解析身份认证请求获取身份认证数据,身份认证数据至少包括用户名与用户密码。

用户名例如为:Test。

用户密码例如为:Ftsafe。

能够用于验证客户端身份的数据均可作为身份认证数据,在其他实施例中,控制服务器解析获取的身份认证数据例如还可能是一次口令、共享密钥等等。

其中,一次口令例如为:739245。

共享密钥例如为:

FJSHFKAJSBFUEWKAB123945JHGF2344D。

步骤S22:控制服务器基于用户名与用户密码,对客户端进行身份验证,若验证通过,则将验证通过结果返回给客户端,执行步骤S3,否则,向客户端返回验证未通过结果并结束。

步骤S3:客户端根据待访问的业务服务器IP地址、待访问的目标端口以及客户端IP地址生成第一SPA密钥获取请求,将第一SPA密钥获取请求发送给控制服务器。

待访问的业务服务器IP地址例如为:

www.ftsafesdp.com。

待访问的目标端口例如为:

443。

客户端IP地址例如为:

192.168.22.19。

根据业务服务器IP地址、目标端口以及客户端IP地址生成的第一SPA密钥获取请求例如为:

ew0KICAibG9jYWxpcCI6ICIxOTIuMTY4LjIyLjE5IiwNCiAgImRpc3RpcCI6ICJ3d3cuZnRzYWZlc2RwLmNvbSIsDQogICJkaXN0cG9ydCI6ICI0NDMiLA0KICAic2RrSW5mbyI6IHsNCiAgICAiYXBwSWQiOiAiOTg3NjU0MzIxIiwNCiAgICAiYXBwVmVyc2lvbiI6ICIxLjAiLA0KICAgICJicmFuY2giOiAiMS4wIiwNCiAgICAicmV2aXNpb24iOiAiMS4wIiwNCiAgICAidHlwZSI6ICJjbGllbnQiLA0KICAgICJ2ZXJzaW9uIjogIjEuMCINCiAgfQ0KfQ。

待访问的业务服务器IP地址、待访问的目标端口为预置数据,或者,可选实施例中,步骤S3之前,还包括:

步骤S3’-1:客户端根据用户名以及业务类型生成待访问数据获取请求,将待访问数据获取请求发送给控制服务器。

用户名例如为:Test。

业务类型例如为:oaworker。

待访问数据获取请求例如为:

ew0KICAiYnVzaW5lc3N0eXBlIjogIm9hd29ya2VyIiwNCiAgInVzZXJuYW1lIjogIlRlc3QiLA0KICAic2RrSW5mbyI6IHsNCiAgICAiYXBwSWQiOiAiOTg3NjU0MzIxIiwNCiAgICAiYXBwVmVyc2lvbiI6ICIxLjAiLA0KICAgICJicmFuY2giOiAiMS4wIiwNCiAgICAicmV2aXNpb24iOiAiMS4wIiwNCiAgICAidHlwZSI6ICJjbGllbnQiLA0KICAgICJ2ZXJzaW9uIjogIjEuMCINCiAgfQ0KfQ。

步骤S3’-2:控制服务器对待访问数据获取请求进行解析,根据解析结果中的用户名以及业务类型确定待访问的业务服务器IP地址以及待访问的目标端口,并将确定结果返回给客户端。

步骤S4:控制服务器根据接收的第一SPA密钥获取请求判断数据库中是否存在第一访问策略以使客户端IP地址能对业务服务器IP地址以及目标端口进行访问,若存在,则生成第一SPA密钥,并对第一SPA密钥与第一访问策略进行关联,将第一SPA密钥下发给客户端,执行步骤S5,若不存在,则向客户端返回密钥获取失败响应。

第一SPA密钥的生成方式具体为:

控制服务器获取系统时间及计数因子;

控制服务器对系统时间和计数因子按预设运算方式进行运算,生成第一SPA密钥。

对系统时间与计数因子进行异或运算,将运算结果左移8位得到的值作为SPA密钥。

例如,系统时间因子为:1658201545;

计数因子为:2534;

基于上述实例计算获得的SPA密钥为:4F76E76BE0F1C60A002370E5C3C880C1。

本申请中的第一SPA密钥例如为:

OSPENDJDBGJK21350ADSD84N992N93NS。

可选实施例中,除按预设运算方式生成第一SPA密钥外,控制服务器还可以以随机方式生成第一SPA密钥。

可选实施例中,控制服务器生成第一SPA密钥之后,还包括:

控制服务器记录第一SPA密钥的生成时间并保存。

步骤S5:客户端获取目标数据,并根据目标数据以及第一SPA密钥生成第一哈希消息认证码,基于目标端口、客户端IP地址以及第一哈希消息认证码生成端口访问请求,将端口访问请求发送给业务服务器。

步骤S5的一种具体实现方式为:

客户端生成随机数,并根据随机数以及第一SPA密钥生成第一哈希消息认证码,基于目标端口、客户端IP地址、随机数以及第一哈希消息认证码生成端口访问请求,将端口访问请求发送给业务服务器。

客户端生成的随机数例如为:

1322794328。

第一哈希消息认证码例如为:

127164。

端口访问请求例如为:

ew0KICAibG9jYWxpcCI6ICIxOTIuMTY4LjIyLjE5IiwNCiAgImRpc3RpcCI6ICJ3d3cuZnRzYWZlc2RwLmNvbSIsDQogICJkaXN0cG9ydCI6ICI0NDMiLA0KICAiY2hhbGxhZ2UiOiAiMTMyMjc5NDMyOCINCiAgImhtYWMiOiAiMTI3MTY0Ig0KICAic2RrSW5mbyI6IHsNCiAgICAiYXBwSWQiOiAiOTg3NjU0MzIxIiwNCiAgICAiYXBwVmVyc2lvbiI6ICIxLjAiLA0KICAgICJicmFuY2giOiAiMS4wIiwNCiAgICAicmV2aXNpb24iOiAiMS4wIiwNCiAgICAidHlwZSI6ICJjbGllbnQiLA0KICAgICJ2ZXJzaW9uIjogIjEuMCINCiAgfQ0KfQ。

步骤S6:业务服务器对端口访问请求进行解析,根据解析结果中的目标端口、客户端IP地址以及业务服务器IP地址生成第二SPA密钥获取请求,将第二SPA密钥获取请求发送给控制服务器。

步骤S7:控制服务器根据接收的第二SPA密钥获取请求判断数据库中是否存在第二访问策略以使第二SPA密钥获取请求中的客户端IP地址能对业务服务器IP地址以及目标端口进行访问,若存在,则将第二访问策略关联的第二SPA密钥下发给业务服务器,并执行步骤S8,若不存在,则向业务服务器返回密钥获取失败响应。

可选实施例中,当判断到数据库中存在第二访问策略以使第二SPA密钥获取请求中的客户端IP地址能对业务服务器IP地址以及目标端口进行访问时,控制服务器还可执行如下操作:

步骤S71:控制服务器获取当前系统时间以及第二SPA密钥的生成时间,并从第二访问策略中获取密钥有效时长;

要说明的是,本实施例提供的端口保护方法若由控制服务器判断密钥时效性,则控制服务器需预先配置密钥有效时长并将该密钥有效时长记录在访问策略中;若由业务服务器判断密钥时效性(即下述步骤S8),则访问策略中不存在与密钥时效有关的内容。

控制服务器预先配置的密钥有效时长例如为120s。

步骤S72:控制服务器判断当前系统时间是否大于等于第二SPA密钥的生成时间与密钥有效时长之和,若否,则第二访问策略关联的第二SPA密钥有效,将第二SPA密钥下发给业务服务器,并执行步骤S8,若是,则将第二访问策略关联的第二SPA密钥作废,并向业务服务器返回密钥获取失败响应。

可能的实施例中,当业务服务器接收到控制服务器返回的密钥获取失败响应时,业务服务器将该响应反馈给客户端,客户端重新请求控制服务器生成新的SPA密钥并基于新的SPA密钥对业务服务器的端口进行访问。

现有技术中的服务器与客户端之间不存在密钥传输过程,即双方设备共有同一个密钥且该密钥为静态固定密钥,此类密钥易被破获且当其中一方设备的密钥泄露时,用户账号都存在被劫持风险;本申请实施例则是通过控制服务器生成动态非固定密钥,相比于现有技术中的静态固定密钥,大大降低了被破获的可能性、提升了密钥的安全性,以及,客户端在需要时向控制服务器发送请求以生成SPA密钥,该方式大大降低了用户账号被劫持风险,安全系数高。

步骤S8:业务服务器基于第二SPA密钥生成第二哈希消息认证码,并判断第二哈希消息认证码与解析结果中的第一哈希消息认证码是否相同,若相同,执行步骤S9,若不相同,则向客户端返回端口访问失败响应。

其中,业务服务器基于第二SPA密钥生成第二哈希消息认证码的一种具体实现方式为:

业务服务器根据解析结果中的随机数以及第二SPA密钥生成第二哈希消息认证码。

步骤S9:业务服务器将解析结果中的客户端IP地址以及目标端口记录至本地数据库中,完成对目标端口的开放操作,将目标端口的开放结果返回给客户端。

本申请中业务服务器开放的端口为TCP端口。

业务服务器记录客户端IP地址以及目标端口完成数据进入业务服务器时的端口开放操作之后,还包括数据从业务服务器发送出去时的端口开放操作,具体为:

业务服务器获取待发送至任意客户端IP地址或者任意客户端端口的数据;

业务服务器保持目标端口处于开放状态以发送所述数据。

可选实施例中,上述步骤S5的另一种具体实现方式为:

客户端获取第一时间,并根据第一时间以及第一SPA密钥生成第一哈希消息认证码,基于目标端口、客户端IP地址以及第一哈希消息认证码生成端口访问请求,将端口访问请求发送给业务服务器,第一时间为客户端当前时间。

基于RFC6238规范算法对第一时间以及第一SPA密钥进行计算,生成第一哈希消息认证码。

上述步骤S8具体包括:

业务服务器获取第二时间,并根据第二时间以及第二SPA密钥生成第二哈希消息认证码,第二时间为业务服务器当前时间;

业务服务器判断第二哈希消息认证码与解析结果中的第一哈希消息认证码是否相同,若相同,执行步骤S9,若不相同,则向客户端返回端口访问失败响应。

第二哈希消息认证码与解析结果中的第一哈希消息认证码相同时,确定第二SPA密钥处于有效期且密钥正确未发生篡改,执行步骤S9。

进一步地,若判断第二哈希消息认证码与解析结果中的第一哈希消息认证码不相同,则向客户端返回端口访问失败响应,包括:

若判断第二哈希消息认证码与解析结果中的第一哈希消息认证码不相同,则获取预置的时间窗口,基于第二时间与时间窗口计算获取第三时间与第四时间,分别根据第三时间以及第二SPA密钥生成第三哈希消息认证码、根据第四时间以及第二SPA密钥生成第四哈希消息认证码;

判断解析结果中的第一哈希消息认证码是否与第三哈希消息认证码或者第四哈希消息认证码相同,若否,确定第二SPA密钥被篡改,向控制服务器重新发送第二SPA密钥获取请求,若是,则确定第二SPA密钥已超时失效,将第二SPA密钥作废,并向业务服务器返回密钥获取失败响应。

业务服务器预置的时间窗口即为密钥有效期,例如为120s。

业务服务器预置的时间窗口需与控制服务器配置的密钥有效时长保持一致。

将业务服务器当前时间(即第二时间)向前推算一个时间窗口获得一个超时时间:第三时间,将业务服务器当前时间向后推算一个时间窗口再获得一个超时时间:第四时间,若解析结果中的第一哈希消息认证码与基于第三时间/第四时间生成的第三哈希消息认证码/第四哈希消息认证码相同时,则确定第二SPA密钥已超时失效,向客户端返回端口访问失败响应;否则,当解析结果中的第一哈希消息认证码与第二哈希消息认证码、第三哈希消息认证码、第四哈希消息认证码均不相同时,则确定第二SPA密钥在传输过程中遭到了篡改,向控制服务器重新发送第二SPA密钥获取请求。

可选实施例中,步骤S9之后,还包括:

步骤S10:业务服务器接收客户端发送的业务请求,并对业务请求进行解析获得客户端IP地址、待访问端口以及业务数据。

步骤S11:业务服务器对解析获得的客户端IP地址以及待访问端口与本地数据库中记录的客户端IP地址以及目标端口进行匹配,若匹配成功,则允许业务数据通过路由并对目标端口进行访问,执行步骤S12,否则,向客户端返回端口访问失败响应。

步骤S12:业务服务器针对业务请求生成业务响应结果,并将业务响应结果返回给客户端。

具体的,客户端发送的业务请求例如可以是绑定请求,客户端利用设备出厂时内置的厂商公钥对待绑定数据进行加密获得业务数据,客户端基于客户端IP地址、待访问端口(即客户端从开放结果中得到的端口)以及业务数据生成业务请求并发送给业务服务器,当业务服务器本地数据库中记录有业务请求中的客户端IP地址以及待访问端口时,则通过该端口接收业务数据并利用内部存储的厂商私钥对该业务数据进行解密处理获得绑定数据进行绑定处理,向客户端返回绑定结果。

客户端发送的业务请求例如还可以是认证请求等等,类似于绑定请求的处理过程,此处不再详述通过开放端口处理其他业务请求的具体过程。

可选实施例中,业务服务器开放目标端口之后,还包括:

业务服务器获取目标端口的开放时长;

业务服务器判断开放时长是否到达预设时长,若是,则对目标端口进行关闭,若否,则保持目标端口处于开放状态。

预设时长例如为:5min。

其中,目标端口的预设时长可以由业务服务器设置,也可以通过控制服务器进行配置。

当由业务服务器设置预设时长时,该预设时长为固定值;当由控制服务器进行配置时(业务服务器需向控制服务器发送请求以获得开放时长),该预设时长为可变值,可根据实际情况灵活配置。

进一步地,当判断到开放时长达到预设时长时,对目标端口进行关闭,可包括:

判断目标端口当前是否被访问,若是,则保持目标端口处于开放状态直至访问结束,若否,则从本地数据库中对已记录的客户端IP地址以及目标端口进行删除,关闭目标端口。

本申请提供的软件定义边界框架下的端口保护方法,当控制服务器上存在访问策略使得客户端能对业务服务器IP地址以及目标端口进行访问、且业务服务器对客户端上送的哈希消息认证码校验成功时,业务服务器将目标端口开放给所述客户端,所述方法通过端口保护实现对服务器的保护,可有效防止恶意攻击。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

本申请一个示例性实施例提供的软件定义边界框架下的端口保护装置包括:

认证请求生成模块,用于生成身份认证请求,并将所述身份认证请求发送给控制服务器;

认证请求验证模块,用于对所述身份认证请求进行验证,若验证通过,则将验证通过结果返回给客户端,触发密钥请求生成模块,否则,向所述客户端返回验证未通过结果并结束;

所述密钥请求生成模块,用于根据待访问的业务服务器IP地址、待访问的目标端口以及客户端IP地址生成第一SPA密钥获取请求,将所述第一SPA密钥获取请求发送给所述控制服务器;

密钥下发模块,用于根据接收的所述第一SPA密钥获取请求判断数据库中是否存在第一访问策略以使所述客户端IP地址能对所述业务服务器IP地址以及所述目标端口进行访问,若存在,则生成第一SPA密钥,并对所述第一SPA密钥与所述第一访问策略进行关联,将所述第一SPA密钥下发给所述客户端,触发访问请求生成模块,若不存在,则向所述客户端返回密钥获取失败响应;

所述访问请求生成模块,用于获取目标数据,并根据所述目标数据以及所述第一SPA密钥生成第一哈希消息认证码,基于所述目标端口、所述客户端IP地址以及所述第一哈希消息认证码生成端口访问请求,将所述端口访问请求发送给业务服务器;

所述密钥请求生成模块,还用于对所述端口访问请求进行解析,根据解析结果中的目标端口、客户端IP地址以及业务服务器IP地址生成第二SPA密钥获取请求,将所述第二SPA密钥获取请求发送给所述控制服务器;

所述密钥下发模块,还用于根据接收的所述第二SPA密钥获取请求判断数据库中是否存在第二访问策略以使所述第二SPA密钥获取请求中的客户端IP地址能对业务服务器IP地址以及目标端口进行访问,若存在,则将所述第二访问策略关联的第二SPA密钥下发给所述业务服务器,并触发认证码判断模块,若不存在,则向所述业务服务器返回密钥获取失败响应;

所述认证码判断模块,用于基于所述第二SPA密钥生成第二哈希消息认证码,并判断所述第二哈希消息认证码与解析结果中的第一哈希消息认证码是否相同,若相同,触发端口开放模块,若不相同,则向所述客户端返回端口访问失败响应;

所述端口开放模块,用于开放所述目标端口,并将所述目标端口的开放结果返回给所述客户端。

可选实施例中,所述端口开放模块具体用于:

将解析结果中的客户端IP地址以及目标端口记录至本地数据库中,完成对所述目标端口的开放操作;

将所述目标端口的开放结果返回给所述客户端。

可选实施例中,所述装置还包括:

请求解析模块,用于接收所述客户端发送的业务请求,并对所述业务请求进行解析获得客户端IP地址、待访问端口以及业务数据;

信息匹配模块,用于对解析获得的客户端IP地址以及待访问端口与本地数据库中记录的客户端IP地址以及目标端口进行匹配,若匹配成功,则允许所述业务数据通过路由并对所述目标端口进行访问,触发业务响应模块,否则,向所述客户端返回端口访问失败响应;

所述业务响应模块,用于针对所述业务请求生成业务响应结果,并将所述业务响应结果返回给所述客户端。

可选实施例中,所述装置还包括端口开放时长模块,具体包含:

开放时长获取单元,用于获取所述目标端口的开放时长;

端口操作单元,用于判断所述开放时长是否到达预设时长,若是,则对所述目标端口进行关闭,若否,则保持所述目标端口处于开放状态。

可选实施例中,所述端口操作单元具体用于:

判断所述开放时长是否到达预设时长,若到达预设时长,则继续判断所述目标端口当前是否被访问,若被访问,则保持所述目标端口处于开放状态直至访问结束,若未被访问,则对所述目标端口进行关闭,若未到达预设时长,则保持所述目标端口处于开放状态。

可选实施例中,所述密钥下发模块具体用于:

根据接收的所述第一SPA密钥获取请求判断数据库中是否存在第一访问策略以使所述客户端IP地址能对所述业务服务器IP地址以及所述目标端口进行访问,若存在,则获取系统时间及计数因子,并对系统时间和计数因子按预设运算方式进行运算,生成第一SPA密钥;

对所述第一SPA密钥与所述第一访问策略进行关联,将所述第一SPA密钥下发给所述客户端,触发访问请求生成模块,若不存在,则向所述客户端返回密钥获取失败响应。

可选实施例中,所述密钥下发模块具体用于:

根据接收的所述第一SPA密钥获取请求判断数据库中是否存在第一访问策略以使所述客户端IP地址能对所述业务服务器IP地址以及所述目标端口进行访问,若存在,则以随机方式生成第一SPA密钥;

对所述第一SPA密钥与所述第一访问策略进行关联,将所述第一SPA密钥下发给所述客户端,触发访问请求生成模块,若不存在,则向所述客户端返回密钥获取失败响应。

可选实施例中,所述密钥下发模块具体用于:

根据接收的所述第二SPA密钥获取请求判断数据库中是否存在第二访问策略以使所述第二SPA密钥获取请求中的客户端IP地址能对业务服务器IP地址以及目标端口进行访问,若存在,则获取当前系统时间以及所述第二访问策略的第二SPA密钥的生成时间,并从所述第二访问策略中获取密钥有效时长;

判断所述当前系统时间是否大于等于所述第二SPA密钥的生成时间与密钥有效时长之和,若否,则所述第二访问策略关联的第二SPA密钥有效,将所述第二SPA密钥下发给所述业务服务器,触发认证码判断模块,若是,则将所述第二访问策略关联的第二SPA密钥作废,并向所述业务服务器返回密钥获取失败响应;

若不存在,则向所述业务服务器返回密钥获取失败响应。

可选实施例中,所述访问请求生成模块具体用于:

获取第一时间,并根据所述第一时间以及所述第一SPA密钥生成第一哈希消息认证码,基于所述目标端口、所述客户端IP地址以及所述第一哈希消息认证码生成端口访问请求,将所述端口访问请求发送给业务服务器,所述第一时间为客户端当前时间;

可选实施例中,所述认证码判断模块具体用于:

获取第二时间,并根据所述第二时间以及所述第二SPA密钥生成第二哈希消息认证码,所述第二时间为业务服务器当前时间;

判断所述第二哈希消息认证码与解析结果中的第一哈希消息认证码是否相同,若相同,执行步骤S9,若不相同,则向所述客户端返回端口访问失败响应。

可选实施例中,若判断所述第二哈希消息认证码与解析结果中的第一哈希消息认证码不相同,则向所述客户端返回端口访问失败响应,具体包括:

若判断所述第二哈希消息认证码与解析结果中的第一哈希消息认证码不相同,则获取预置的时间窗口,基于所述第二时间与所述时间窗口计算获取第三时间与第四时间,分别根据所述第三时间以及所述第二SPA密钥生成第三哈希消息认证码、根据所述第四时间以及所述第二SPA密钥生成第四哈希消息认证码;

判断解析结果中的第一哈希消息认证码是否与所述第三哈希消息认证码或者所述第四哈希消息认证码相同,若否,确定所述第二SPA密钥被篡改,向所述控制服务器重新发送第二SPA密钥获取请求,若是,则确定所述第二SPA密钥已超时失效,将所述第二SPA密钥作废,并向所述业务服务器返回密钥获取失败响应。

可选实施例中,所述装置还包括:

数据请求生成模块,用于根据用户名以及业务类型生成待访问数据获取请求,将所述待访问数据获取请求发送给所述控制服务器;

数据下发模块,用于对所述待访问数据获取请求进行解析,根据解析结果中的用户名以及业务类型确定待访问的业务服务器IP地址以及待访问的目标端口,并将确定结果返回给所述客户端。

可选实施例中,所述装置还包括:

策略构建模块,用于确定客户端IP地址能够访问的业务服务器IP以及目标端口,在所述客户端IP地址、所述业务服务器IP地址以及所述目标端口之间构建访问策略并保存。

需要说明的是,上述实施例提供的软件定义边界框架下的端口保护装置在执行软件定义边界框架下的端口保护方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的软件定义边界框架下的端口保护装置与软件定义边界框架下的端口保护方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本申请提供的软件定义边界框架下的端口保护装置,当控制服务器上存在访问策略使得客户端能对业务服务器IP地址以及目标端口进行访问、且业务服务器对客户端上送的哈希消息认证码校验成功时,业务服务器将目标端口开放给所述客户端,所述装置通过端口保护实现对服务器的保护,可有效防止恶意攻击。

本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。

本申请实施例还提供了一种芯片系统,包括处理器和接口,所述处理器用于通过所述接口实现上述任一项方法的步骤。

在本申请中,术语“第一”、“第二”等仅用于描述的目的,而不能理解为指示或暗示相对重要性或顺序;术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

本申请的描述中,需要理解的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或单元必须具有特定的方向、以特定的方位构造和操作,因此,不能理解为对本申请的限制。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号