数据处理方法、装置、系统、介质及程序与流程

文档序号:22041870发布日期:2020-08-28 18:12阅读:109来源:国知局
数据处理方法、装置、系统、介质及程序与流程

本公开涉及互联网技术领域,更具体地,涉及一种应用于软件定义边界sdp框架中的数据处理方法、装置、系统、介质及程序。



背景技术:

sdp(softwaredefinedperimeter,软件定义边界)是一种安全框架,其基本组件包括:连接发起主机、连接接受主机与sdp控制器。在sdp框架中连接发起主机在向连接接受主机建立连接之前需要先与sdp控制器连接并进行身份验证。其中在向sdp控制器进行身份验证之前,连接发起主机要先向sdp控制器发送spa(singlepacketauthorization,单包授权)数据包。只有spa数据包通过验证后连接发起主机才能与sdp控制器建立连接并进行身份验证。

在实现本公开构思的过程中,发明人发现现有技术中至少存在如下问题:在初次登录sdp控制器时,连接发起主机还没有进行任何的身份验证,此时各个不同的连接发起主机均使用默认一致的spa验证信息。那么,当该默认一致的spa验证信息泄漏后或者被窃取后,攻击者就可以通过该默认一致的spa验证信息从sdp控制器处获取对连接接受主机的访问授权,进而会导致连接接受主机存在被攻击的风险,带来极大的网络不安全问题。



技术实现要素:

有鉴于此,本公开实施例提供了一种可以更好地保护连接接受主机的安全性的数据处理方法、装置和系统。

本公开实施例的一个方面提供了一种应用于软件定义边界sdp框架的连接发起主机的数据处理方法。所述方法包括:利用默认加密密钥加密包括所述连接发起主机的用户认证信息和设备指纹的扩展spa单包授权数据包,得到第一spa加密包;将所述第一spa加密包发送给所述sdp框架中的sdp控制器,以通过所述sdp控制器对所述第一spa加密包进行解密和验证;接收所述sdp控制器的反馈信息,其中,在所述sdp控制器用默认解密密码对所述第一spa加密包解密成功并对解密后的所述第一spa加密包中的数据验证通过的情况下,所述反馈信息包括更新加密密钥,其中,所述默认解密密钥与所述默认加密密钥对应,所述更新加密密钥为基于所述用户认证信息和所述设备指纹生成的加密密钥;在所述反馈信息包括所述更新密钥的情况下,利用所述更新加密密钥加密所述扩展spa单包授权数据包,得到第二spa加密包;以及将所述第二spa加密包发送给所述sdp控制器,以请求对所述sdp框架中的连接接受主机的访问授权,其中,在所述sdp控制器利用与所述更新加密密钥对应的更新解密密钥对所述第二spa加密包进行解密成功并对解密后的所述第二spa加密包中的数据验证通过的情况下,所述sdp控制器开启所述访问授权。

根据本公开的实施例,利用默认加密密钥加密扩展spa单包授权数据包,得到第一spa加密包包括:确定是否存在所述更新加密密钥,以及在确定不存在所述更新加密密钥的情况下,利用默认加密密钥加密所述扩展spa单包授权数据包,得到所述第一spa加密包。

根据本公开的实施例,所述数据处理方法还包括:获取所述用户认证信息以及所述设备指纹,将所述用户认证信息与所述设备指纹添加到所述sdp框架的默认的单包授权spa数据包中,得到所述扩展spa单包授权数据包。

根据本公开的实施例,所述数据处理方法还包括:在获得所述访问授权后,向所述sdp控制器请求使用所述用户认证信息对所述连接接受主机进行访问的认证登录授权,以及在获得所述认证登录授权后,使用所述用户认证信息对所述连接接受主机进行访问。

本公开实施例的第二方面提供了一种应用于软件定义边界sdp框架中的sdp控制器的数据处理方法,所述方法包括:接收由所述sdp框架中的连接发起主机发送的第三spa加密包,其中所述第三spa加密包为加密的扩展spa单包授权数据包,其中所述扩展spa单包授权数据包包括所述连接发起主机的用户认证信息和设备指纹;当利用默认解密密钥对所述第三spa加密包解密成功且对解密后的所述第三spa加密包的数据验证通过后,从解密后的所述第三spa加密包的数据中提取所述用户认证信息和所述设备指纹,基于所述用户认证信息和所述设备指纹生成更新加密密钥及其对应的更新解密密钥;将所述更新加密密钥发送给所述连接发起主机;接收由所述连接发起主机发送的第四spa加密包,其中所述第四spa加密包为另一个加密的所述扩展spa单包授权数据包;以及当利用所述更新解密密钥对所述第四spa加密包解密成功且对解密后的所述第四spa加密包的数据验证通过后,向所述连接发起主机开启对所述sdp框架中的连接接受主机的访问授权。

根据本公开的实施例,该数据处理方法还包括:利用所述sdp控制器中的多个解密密钥对所述第三spa加密包进行解密尝试,其中,所述多个解密密钥至少包括所述默认解密密钥。若解密成功,则确定所使用的解密密钥是否为所述默认解密密钥;若所述多个解密密钥均解密失败,则结束对所述第三spa加密包的处理。

根据本公开的实施例,该数据处理方法还包括:接收所述连接发起主机发送的使用所述用户认证信息对所述连接接受主机进行访问的认证登录授权请求,以及授权所述连接发起主机使用所述用户认证信息访问所述连接接受主机。

本公开实施例的第三方面提供了一种应用于软件定义边界sdp框架中的连接发起主机的数据处理装置。所述装置包括第一加密模块、加密数据发送模块、反馈信息接收模块、第二加密模块、以及访问授权模块。其中,第一加密模块用于利用默认加密密钥加密包括所述连接发起主机的用户认证信息和设备指纹的扩展spa单包授权数据包,得到第一spa加密包。加密数据发送模块用于将所述第一spa加密包发送给所述sdp框架中的sdp控制器,以通过所述sdp控制器对所述第一spa加密包进行解密和验证。反馈信息接收模块用于接收所述sdp控制器的反馈信息,其中,在所述sdp控制器利用默认解密密码对所述第一spa加密包解密成功并对解密后的所述第一spa加密包中的数据验证通过的情况下,所述反馈信息包括更新加密密钥,其中,所述默认解密密钥与所述默认加密密钥对应,所述更新加密密钥为基于所述用户认证信息和所述设备指纹生成的加密密钥。第二加密模块用于在所述反馈信息包括所述更新密钥的情况下,利用所述更新加密密钥加密所述扩展spa单包授权数据包,得到第二spa加密包。访问授权请求模块用于将所述第二spa加密包发送给所述sdp控制器,以请求对所述sdp框架中的连接接受主机的访问授权,其中,在所述sdp控制器利用更新解密密钥对所述第二spa加密包进行解密成功并对解密后的所述第二spa加密包中的数据验证通过的情况下,所述sdp控制器开启所述访问授权,所述更新解密密钥与所述更新加密密钥对应。

根据本公开的实施例,所述第一加密模块还用于确定是否存在所述更新加密密钥,以及在确定不存在所述更新加密密钥的情况下,利用默认加密密钥加密所述扩展spa单包授权数据包,得到所述第一spa加密包。

根据本公开的实施例,所述装置还包括第一获得模块。所述第一获得模块用于获取所述用户认证信息以及所述设备指纹,以及将所述用户认证信息与所述设备指纹添加到所述sdp框架的默认的单包授权spa数据包中,得到所述扩展spa单包授权数据包。

本公开实施例的第四方面提供了一种应用于软件定义边界sdp框架中的sdp控制器的数据处理装置。所述装置包括第一接收模块、数据提取模块、密钥生成模块、密钥发送模块、第二接收模块和访问授权模块。其中,第一接收模块用于接收由所述sdp框架中的连接发起主机发送的第三spa加密包,其中所述第三spa加密包为加密的包括所述连接发起主机的用户认证信息和设备指纹的扩展spa单包授权数据包。数据提取模块用于当利用默认解密密钥对所述第三spa加密包解密成功且对解密后的第三spa加密包的数据验证通过后,从解密后的所述第三spa加密包的数据中提取所述用户认证信息和所述设备指纹。密钥生成模块用于基于所述用户认证信息和所述设备指纹生成更新加密密钥及其对应的更新解密密钥。密钥发送模块用于将所述更新加密密钥发送给所述连接发起主机。第二接收模块用于接收由所述连接发起主机发送的第四spa加密包,其中所述第四spa加密包为另一个加密的所述扩展spa单包授权数据包。访问授权模块用于当利用所述更新解密密钥对所述第四spa加密包解密成功且对解密后的所述第四spa加密包的数据验证通过后,向所述连接发起主机开启对所述sdp框架中的连接接受主机的访问授权。

根据本公开的实施例,所述装置还包括解密模块。所述解密模块用于:利用所述sdp控制器中的多个解密密钥对所述第三spa加密包进行解密尝试,其中,所述多个解密密钥至少包括所述默认解密密钥;若解密成功,则确定所使用的解密密钥是否为所述默认解密密钥;若所述多个解密密钥均解密失败,则结束对所述第三spa加密包的处理。

本公开实施例的第五方面提供了一种数据处理系统。所述系统包括:一个或多个存储器以及一个或多个处理器。所述存储器存储有可执行指令。所述处理器执行所述可执行指令,以实现本公开实施例的第一方面和第二方面所提供的方法。

本公开实施例的第六方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行本公开实施例的第一方面和第二方面所提供的方法。

本公开实施例的第七方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现本公开实施例的第一方面和第二方面所提供的方法。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的数据处理方法、装置和系统的应用场景图;

图2示意性示出了根据本公开实施例的软件定义边界sdp框架的示意图;

图3示意性示出了根据本公开实施例的设置于软件定义边界sdp框架中的连接发起主机的数据处理装置的框图;

图4示意性示出了根据本公开实施例的应用于软件定义边界sdp框架中的连接发起主机的数据处理方法的流程图;

图5示意性示出了根据本公开另一实施例的应用于软件定义边界sdp框架中的连接发起主机的数据处理方法的流程图;

图6示意性示出了根据本公开另一实施例的应用于软件定义边界sdp框架中的连接发起主机的数据处理方法的流程图;

图7示意性示出了根据本公开另一实施例的应用于软件定义边界sdp框架中的连接发起主机的数据处理方法的流程图;

图8示意性示出了根据本公开实施例的设置于软件定义边界sdp框架中的sdp控制器的数据处理装置的框图;

图9示意性示出了根据本公开实施例的应用于软件定义边界sdp框架中的sdp控制器的数据处理方法的流程图;

图10示意性示出了根据本公开另一实施例的应用于软件定义边界sdp框架中的sdp控制器的数据处理方法的流程图;

图11示意性示出了根据本公开另一实施例的应用于软件定义边界sdp框架中的sdp控制器的数据处理方法的流程图;

图12示意性示出了可以应用于软件定义边界sdp框架的数据处理方法的整体架构交互图;

图13示意性示出了根据本公开实施例的图12所示的架构中sdp控制器中对spa数据包进行解密处理流程图;

图14示意性示出了根据本公开实施例的图12所示的架构中登录终端的处理流程图;

图15示意性示出了根据本公开实施例的图12所示的架构中sdp控制器中密钥管理模块处理流程图;

图16示意性示出了根据本公开实施例的图12所示的架构中连接接受主机密钥管理模块处理流程图;以及

图17示意性示出了适于实现根据本公开实施例的数据处理方法的计算机系统的框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。本文中“第一”“第二”等限定仅用于术语的区分,不具有限定作用。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。

现有技术中在软件定义边界sdp框架中,连接发起主机在初次登录时使用默认一致的spa验证信息进行连接发起主机的身份验证的方案,会存在攻击者窃取该默认一致的spa验证信息并利用其登录sdp控制器的风险,对连接接受主机的资源和服务构成威胁。

鉴于此,本公开实施例提供了可以分别应用于软件定义边界sdp框架中的连接发起主机和sdp控制器的数据处理方法、装置、系统、介质及程序,用以提高对连接接受主机的安全性的保护。

具体地,根据本公开实施例该应用于软件定义边界sdp框架的连接发起主机的数据处理方法包括,首先利用默认加密密钥加密包括连接发起主机的用户认证信息和设备指纹的扩展spa单包授权数据包,得到第一spa加密包。然后将第一spa加密包发送给sdp框架中的sdp控制器,以通过sdp控制器对第一spa加密包进行解密和验证。接着接收sdp控制器的反馈信息,其中,在sdp控制器用默认解密密码对第一spa加密包解密成功并对解密后的第一spa加密包中的数据验证通过的情况下,反馈信息包括更新加密密钥,其中,默认解密密钥与默认加密密钥对应,更新加密密钥为基于用户认证信息和设备指纹生成的加密密钥。再然后在反馈信息包括更新密钥的情况下,利用更新加密密钥加密扩展spa单包授权数据包,得到第二spa加密包。之后,将第二spa加密包发送给sdp控制器,以请求对sdp框架中的连接接受主机的访问授权,其中,在sdp控制器利用与更新加密密钥对应的更新解密密钥对第二spa加密包进行解密成功并对解密后的第二spa加密包中的数据验证通过的情况下,sdp控制器开启访问授权。

根据本公开实施例的应用于软件定义边界sdp框架中的sdp控制器的数据处理方法包括,首先接收由sdp框架中的连接发起主机发送的第三spa加密包,其中第三spa加密包为加密的扩展spa单包授权数据包,其中扩展spa单包授权数据包包括连接发起主机的用户认证信息和设备指纹。然后当利用默认解密密钥对第三spa加密包解密成功且对解密后的第三spa加密包的数据验证通过后,从解密后的第三spa加密包的数据中提取用户认证信息和设备指纹,基于用户认证信息和设备指纹生成更新加密密钥及其对应的更新解密密钥。接着将更新加密密钥发送给连接发起主机;再然后,接收由连接发起主机发送的第四spa加密包,其中第四spa加密包为另一个加密的扩展spa单包授权数据包。之后,当利用更新解密密钥对第四spa加密包解密成功且对解密后的第四spa加密包的数据验证通过后,向连接发起主机开启对sdp框架中的连接接受主机的访问授权。

以此方式,根据本公开的实施例,在连接发起主机登录sdp控制器的整个流程中使用登录sdp控制器的连接发起主机中的用户认证信息以及设备指纹作为spa认证授权的验证因子之一,避免连接发起主机初始使用默认密钥加密默认一致的单包授权spa数据包导致的sdp控制器端口非法暴露。而且,在初次访问sdp控制器建立连接之后,基于用户认证信息以及设备指纹生成更新密钥(包括更新加密密钥和更新解密密钥),连接发起主机和连接接受主机都更新该更新密钥。此后,在sdp框架中连接发起主机使用该更新密钥登录sdp控制器来获取对连接接受主机的访问权限。这样,该更新密钥就与连接发起主机的用户和设备形成用户-设备-密钥的强绑定关系。即使有攻击者窃取到该更新密钥,由于攻击者的用户认证信息或者设备指纹与该更新密钥无法对应,也无法通过sdp控制器的验证,从而提高了连接接受主机的访问安全性。

图1示意性示出了根据本公开实施例的数据处理方法、装置和系统的应用场景图。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景图的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的应用场景100可以包括服务器101、家庭登录终端102、公司员工登录终端103、其他登录终端104、网络105和sdp控制器106。网络105用以在登录终端102、103、104和服务器105之间提供通信链路的介质。网络105可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

登录终端102、103、104可以通过网络105与sdp控制器106建立连接,然后在经过sdp控制器106进行身份验证之后获取对服务器101的访问授权。再获得访问授权后,登录终端102、103、104可以通过网络105与服务器101交互,以进行收发邮件、处理工作流程、下载资源、或进行远程办公等。

登录终端102、103、104可以是用户终端(例如,手机、个人pc),也可以是互联网中的各类中间设备,例如代理服务器、网关服务器、局域网服务器等。

服务器101可以是部署在云平台的云服务器,也可以是公司本地服务器。服务器101可以是提供各种服务的服务器,例如对用户利用登录终端102、103、104所访问的应用或下载的资源提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给登录终端。

sdp控制器106可以接收到登录终端102、103、104发起访问请求后进行认证,认证通过后令其具有访问服务器101中部分应用的权限,如家庭登录终端102、公司员工登录终端103可以访问支持公司内部资料系统1011,其他登录终端104可以访问外包员工资料系统1022等。

应该理解,图1中的登录终端、网络、服务器和sdp控制器的种类和数目仅仅是示意性的。根据实现需要,可以具有任意种类和数目的登录终端、网络、服务器和sdp控制器。

图2示意性示出了根据本公开实施例的软件定义边界sdp框架200的示意图。

如图2所示,该软件定义边界sdp框架200可以包括连接接受主机21、sdp控制器22、以及连接接受主机23。在图1的应用场景100中,连接发起主机21可以是登录终端102、103、104,sdp控制器22可以是sdp控制器106,连接接受主机23可以是服务器101。

该sdp框架200工作时,先由连接发起主机21与sdp控制器22连接并进行身份认证。认证通过后,sdp控制器22开启连接发起主机21对连接接受主机23的访问权限,并分别通知连接发起主机21和连接接受主机23。此后,连接发起主机21就可以访问连接接受主机23。

根据本公开实施例,连接发起主机2111可以提供跨平台的ui(用户界面,userinterface)和命令行两种登录模式。在连接发起主机21中安装了sdp框架的登录终端应用程序后,连接发起主机21就具有默认一致的默认加密密钥。

在连接发起主机21初次登录sdp控制器22时,提示用户输入用户认证信息(例如,用户名,口令,otp(onetimepassword,一次性密码)等),并将用户认证信息与设备指纹(devicefingerprinting)加入默认的单包授权spa数据包的预定字段中,得到扩展spa单包授权数据包。然后使用默认加密密钥加密扩展spa单包授权数据包,得到第一spa加密包,并向sdp控制器发送第一spa加密包。接着在身份验证通过后收到sdp控制器反馈的更新加密密钥,并利用该更新加密密钥加密扩展spa单包授权数据包,得到第二spa加密包,并向sdp控制器发送第二spa加密包来请求对连接接受主机的访问授权。

在连接发起主机21后续登录sdp控制器22时会根据连接接受主机的状态(是否已经更新过密钥)来确定访问流程。若未更新过密钥则向sdp控制器发起更新密钥请求。若更新过密钥,则在后续访问中利用更新加密密钥以及扩展spa单包授权数据包来登录sdp控制器,以获取对连接接受主机的访问权限。

这样,在用户使用连接接受主机时只需要按照传统使用的方式一样,正常登录账号或用户信息,就可以使更新加密密钥就与连接发起主机21的用户和设备形成用户-设备-密钥的强绑定关系。用户体验方式不变,但是对连接接受主机的安全性保护提高。

根据本公开的实施例,sdp控制器可以用于负责解析扩展spa单包授权数据包,并验证用户认证信息与设备指纹,并在验证成功后开启sdp控制器的访问端口对连接发起主机21可见。其中,在验证用户认证信息与设备指纹的过程中,sdp控制器可以接收连接发起主机21更新密钥的请求,并根据已有的用户密钥判定是否产生更新密钥。若产生更新密钥,则将更新密钥中的更新加密密钥返回给连接发起主机21,同时与连接接受主机的密钥管理功能同步用户的密钥信息。

根据本公开的实施例,连接接受主机密钥可以接收sdp控制器同步的用户密钥信息,用于spa数据包的解密验证。

以下结合图2的框架100对本公开实施例的方案进行示例性描述。

图3示意性示出了根据本公开实施例的设置于软件定义边界sdp框架中的连接发起主机21的数据处理装置300的框图。

如图3所示,根据本公开的实施例,该数据处理装置300可以包括第一加密模块310、加密数据发送模块320、反馈信息接收模块330、第二加密模块340、以及访问授权模块350。根据本公开的另一实施例,该数据处理装置300还可以进一步包括第一获得模块360。

具体地,第一加密模块310用于利用默认加密密钥加密包括连接发起主机21的用户认证信息和设备指纹的扩展spa单包授权数据包,得到第一spa加密包。根据本公开的一实施例,第一加密模块310还用于确定是否存在更新加密密钥,以及在确定不存在更新加密密钥的情况下,利用默认加密密钥加密扩展spa单包授权数据包,得到第一spa加密包。

加密数据发送模块320用于将第一spa加密包发送给sdp框架中的sdp控制器22,以通过sdp控制器22对第一spa加密包进行解密和验证。

反馈信息接收模块330用于接收sdp控制器22的反馈信息,其中,在sdp控制器22利用默认解密密码对第一spa加密包解密成功并对解密后的第一spa加密包中的数据验证通过的情况下,反馈信息包括更新加密密钥,其中,默认解密密钥与默认加密密钥对应,更新加密密钥为基于用户认证信息和设备指纹生成的加密密钥。

第二加密模块340用于在反馈信息包括更新密钥的情况下,利用更新加密密钥加密扩展spa单包授权数据包,得到第二spa加密包。

访问授权请求模块350用于将第二spa加密包发送给sdp控制器22,以请求对sdp框架中的连接接受主机23的访问授权,其中,在sdp控制器22利用更新解密密钥对第二spa加密包进行解密成功并对解密后的第二spa加密包中的数据验证通过的情况下,sdp控制器22开启访问授权,更新解密密钥与更新加密密钥对应。

第一获得模块360用于获取用户认证信息以及设备指纹,以及将用户认证信息与设备指纹添加到sdp框架的默认的单包授权spa数据包中,得到扩展spa单包授权数据包。

该数据处理装置300可以设置于软件定义边界sdp框架中的连接发起主机21,实现根据本公开各个实施例的应用于软件定义边界sdp框架中的连接发起主机21的数据处理方法,具体可以参考如下图4~图7的示意性描述。

图4示意性示出了根据本公开实施例的应用于软件定义边界sdp框架中的连接发起主机21的数据处理方法的流程图。

如图4所示,根据本公开的实施例,该数据处理方法可以包括操作s401~操作s405。

在操作s401,第一加密模块310利用默认加密密钥加密扩展spa单包授权数据包,得到第一spa加密包,其中扩展spa单包授权数据包包括连接发起主机21的用户认证信息和设备指纹。从而扩展spa单包授权数据包与用户、设备两者的结合一一对应的。例如,企业用户可以使用办公室电脑登录sdp控制器22,然而该企业用户回家用自己的电脑登录时,即使是同一用户账户,也无法访问该sdp控制器22,从而不可能连接到连接接受主机23,以此方式可以提高对连接接受主机23的安全保护。

在操作s402,加密数据发送模块320将第一spa加密包发送给sdp框架中的sdp控制器22,以通过sdp控制器22对第一spa加密包进行解密和验证。

在操作s403,反馈信息接收模块330接收sdp控制器22的反馈信息,其中,在sdp控制器22用默认解密密码对第一spa加密包解密成功并对解密后的第一spa加密包中的数据验证通过的情况下,反馈信息包括更新加密密钥,其中,默认解密密钥与默认加密密钥对应,更新加密密钥为基于用户认证信息和设备指纹生成的加密密钥。

在操作s404,第二加密模块340在反馈信息包括更新密钥的情况下,利用更新加密密钥加密扩展spa单包授权数据包,得到第二spa加密包。

在操作s405,访问授权请求模块350将第二spa加密包发送给sdp控制器22,以请求对sdp框架中的连接接受主机23的访问授权,其中,在sdp控制器22利用更新解密密钥对第二spa加密包进行解密成功并对解密后的第二spa加密包中的数据验证通过的情况下,sdp控制器22开启访问授权,更新解密密钥与更新加密密钥对应。

此后,在sdp框架中连接发起主机21使用该更新密钥登录sdp控制器22来获取对连接接受主机23的访问权限。这样,该更新密钥(包括更新加密密钥和更新解密密钥)就与连接发起主机21的用户和设备形成用户-设备-密钥的强绑定关系。即使有攻击者窃取到该更新密钥,由于攻击者的用户认证信息或者设备指纹与该更新密钥无法对应,也无法通过sdp控制器22的验证,从而提高了连接接受主机23的访问安全性。

图5示意性示出了根据本公开另一实施例的应用于软件定义边界sdp框架中的连接发起主机21的数据处理方法的流程图。

如图5所示,根据本公开的实施例该数据处理方法除了包括操作s401~操作s405以外,还可以包括操作s501~操作s502。其中,操作s501和操作s502可以在操作s401之前执行。

在操作s501,获取用户认证信息以及设备指纹。

在操作s502,将用户认证信息与设备指纹添加到sdp框架的默认的单包授权spa数据包中,得到扩展spa单包授权数据包。

操作s501和操作s502可以由第一获得模块360来执行。例如,在连接发起主机2111初次登录sdp控制器22时,提示用户输入用户认证信息(例如,用户名,口令,otp(onetimepassword,一次性密码)等),并将用户认证信息与设备指纹(devicefingerprinting)加入默认的单包授权spa数据包的预定字段中,得到扩展spa单包授权数据包。

图6示意性示出了根据本公开另一实施例的应用于软件定义边界sdp框架中的连接发起主机21的数据处理方法的流程图。

如图6所示,根据本公开实施例该数据处理方法在s401~操作s405之后,还可以包括操作s606和操作s607

在操作s606,在获得访问授权后,向sdp控制器22请求使用用户认证信息对连接接受主机23进行访问的认证登录授权。

在操作s607,在获得认证登录授权后,使用用户认证信息对连接接受主机23进行访问。

图7示意性示出了根据本公开另一实施例的应用于软件定义边界sdp框架中的连接发起主机21的数据处理方法的流程图。

如图7所示,根据本公开实施例该数据处理方法可以包括操作s701,操作s401~操作s404和/或操作s702、以及操作s405、

在操作s701,确定是否存在更新加密密钥。

若操作s701的判断结果为是,则说明不是首次登陆sdp控制器22。此时执行操作s702,利用更新密钥加密扩展spa单包授权数据包,得到第二spa加密包。然后执行操作s405,将第二spa加密包发送给sdp控制器22,以请求对sdp框架中的连接接受主机23的访问授权。

若操作s701的判断结果为否,则说明是首次登陆sdp控制器22。此时执行操作s401~操作s405。

图8示意性示出了根据本公开实施例的应用于软件定义边界sdp框架中的sdp控制器22的数据处理装置800的框图。

如图8所示,根据本公开的实施例,该数据处理装置800可以包括第一接收模块810、数据提取模块820、密钥生成模块830、密钥发送模块840、第二接收模块850和访问授权模块860。根据本公开的另一实施例,该数据处理装置800还可以进一步包括解密模块870。

具体地,第一接收模块810用于接收由sdp框架中的连接发起主机21发送的第三spa加密包,其中第三spa加密包为加密的包括连接发起主机21的用户认证信息和设备指纹的扩展spa单包授权数据包。

数据提取模块820用于当利用默认解密密钥对第三spa加密包解密成功且对解密后的第三spa加密包的数据验证通过后,从解密后的第三spa加密包的数据中提取用户认证信息和设备指纹。

密钥生成模块830用于基于用户认证信息和设备指纹生成更新加密密钥及其对应的更新解密密钥。

密钥发送模块840用于将更新加密密钥发送给连接发起主机21。

第二接收模块850用于接收由连接发起主机21发送的第四spa加密包,其中第四spa加密包为另一个加密的扩展spa单包授权数据包。

访问授权模块860用于当利用更新解密密钥对第四spa加密包解密成功且对解密后的第四spa加密包的数据验证通过后,向连接发起主机21开启对sdp框架中的连接接受主机23的访问授权。

解密模块870用于利用sdp控制器22中的多个解密密钥对第三spa加密包进行解密尝试,其中,多个解密密钥至少包括默认解密密钥;若解密成功,则确定所使用的解密密钥是否为默认解密密钥;若多个解密密钥均解密失败,则结束对第三spa加密包的处理。

该数据处理装置800可以设置于软件定义边界sdp框架中的sdp控制器22,用于实现根据本公开实施例的应用于软件定义边界sdp框架中的sdp控制器22的数据处理方法,具体可以参考如下图9~图11的示意性描述。

图9示意性示出了根据本公开实施例的应用于软件定义边界sdp框架中的sdp控制器22的数据处理方法的流程图。

如图9所示,根据本公开的实施例,该数据处理方法可以包括操作s901~操作s906。

在操作s901,第一接收模块810接收由sdp框架中的连接发起主机21发送的第三spa加密包,其中第三spa加密包为加密的扩展spa单包授权数据包;其中扩展spa单包授权数据包包括连接发起主机21的用户认证信息和设备指纹。

在操作s902,数据提取模块820当利用默认解密密钥对第三spa加密包解密成功且对解密后的第三spa加密包的数据验证通过后,从解密后的第三spa加密包的数据中提取用户认证信息和设备指纹。

在操作s903,密钥生成模块830基于用户认证信息和设备指纹生成更新加密密钥及其对应的更新解密密钥。

在操作s904,密钥发送模块840将更新加密密钥发送给连接发起主机21。

在操作s905,第二接收模块850接收由连接发起主机21发送的第四spa加密包,其中第四spa加密包为另一个加密的扩展spa单包授权数据包。

在操作s906,访问授权模块860当利用更新解密密钥对第四spa加密包解密成功且对解密后的第四spa加密包的数据验证通过后,向连接发起主机21开启对sdp框架中的连接接受主机23的访问授权。

以此方式,在初次登录sdp控制器22时,sdp控制器22会在身份验证通过后给连接发起主机21反馈更新加密密钥,并根据对由更新加密密钥加密的扩展spa单包授权数据包的解密和验证通过,来对连接发起主机21授予对连接接受主机23的访问权限。这样可以极大地降低攻击者使用默认一致的默认加密密钥从sdp控制器22获取连接接受主机23的访问权限的可能性。

图10示意性示出了根据本公开另一实施例的应用于软件定义边界sdp框架中的sdp控制器22的数据处理方法的流程图。

如图10所示,根据本公开的实施例,该数据处理方法在操作s901~操作s906之后,还可以包括操作s1007~操作s1008。

在操作s1007,接收连接发起主机21发送的使用用户认证信息对连接接受主机23进行访问的认证登录授权请求。

在操作s1008,授权连接发起主机21使用用户认证信息访问连接接受主机23。

图11示意性示出了根据本公开另一实施例的应用于软件定义边界sdp框架中的sdp控制器22的数据处理方法的流程图。

如图11所示,根据本公开的实施例该数据处理方法除了操作s901~操作s906以外,还可以包括操作s1102~操作s1105。

在操作s901之后执行操作s1102,即利用sdp控制器22中的多个解密密钥对第三spa加密包进行解密尝试,其中,多个解密密钥至少包括默认解密密钥。sdp控制器22在接收到第三spa加密包后,尚不能确定该第三spa加密包是来自哪个登录设备的,此时可以使用默认解密密钥、以及对应于各个登录设备生成的更新解密密钥对第三spa加密包进行解密尝试。

然后在操作s1103,确定是否解密成功。若解密成功,则执行操作s1104确定所使用的解密密钥是否为默认解密密钥。若解密失败,即多个解密密钥均解密失败,则执行操作s1105,结束对第三spa加密包的处理。

其中,当在操作s1104中确定所使用的解密密钥是默认解密密钥时,说明该第三spa数据包为登录终端初次访问sdp控制器22的数据,则执行操作s902~操作s906的流程。

当在操作s1104中确定所使用的解密密钥不是默认解密密钥时,说明解密成功的密钥为更新解密密钥。这意味着第三spa数据包的发送终端不是初次登录sdp控制器22。此时可以执行操作s906,即当利用某个登录终端的更新解密密钥对第四spa加密包解密成功,且对解密后的第四spa加密包的数据验证通过后,向该登录终端开启对sdp框架中的连接接受主机23的访问授权。

图12示意性示出了可以应用于软件定义边界sdp框架的数据处理方法的整体架构交互图。

如图12所示,该整体架构交互可以包括操作s1201~操作s1206。

在操作s1201,用户输入用户认证信息(例如,用户名,口令,otp(onetimepassword,一次性密码)后,连接发起主机21(即,登录终端21)向sdp控制器22发送第一spa加密包(包含用户认证信息和设备指纹)。sdp控制器22中的spa模块提取对应的信息到授权模块进行解密和验证。解密和验证通过后根据第一spa加密包中的信息对该登录终端21开启密钥管理模块的访问端口或者开启认证授权的访问端口。

在操作s1202,若登录终端21判断到还未进行密钥更新,则访问sdp控制器22的密钥管理模块,请求更新密钥。若密钥已更新过,则跳到操作s1204。若sdp控制器22的密钥管理模块判定允许更新密钥,则对此登录终端21的用户产生更新密钥并建立绑定关系(用户-设备-密钥)。同时将此更新密钥的信息同步到连接接受主机23的密钥管理模块。

在操作s1203,若登录终端21接收到sdp控制器22密钥管理模块返回的更新加密密钥,则进行密钥更新。若密钥管理模块不允许更新密钥则给出提示信息,终止流程。

在操作s1204,登录终端21使用上述更新加密密钥加密扩展spa单包授权数据包,向sdp控制器22请求开启认证授权端口访问。

在操作s1205,登录终端21继续使用操作s1201中的用户认证信息进行sdp控制器22的认证登录授权。

在操作s1206,认证授权通过后,获取到相关信息,对连接接受主机23发起正常请求访问。

图13示意性示出了根据本公开实施例的图12所示的架构中sdp控制器22中对spa数据包进行解密处理流程图。

如图13所示,sdp控制器22中对spa数据包进行解密处理流程包括操作s1301~操作s1306。

在操作s1301,sdp控制器22中的spa模块启动,捕获到连接发起主机21发出的spa数据包。

在操作s1302,利用sdp控制器22中的多个解密密钥对spa加密包进行解密尝试。

在操作s1303,判断是对spa数据包解密成功,若成功则进行下一步,若失败则结束对spa数据包的操作。

在操作s1304,解密后验证spa数据包中的口令及密钥、用户、设备的绑定关系。

在操作s1305,若验证成功则进行操作s1306,若验证失败则结束对spa数据包的操作。

在操作s1306,当操作s1303中使用的是默认解密密钥解密成功,则启动sdp控制器22中的密钥管理模块生成更新密钥,并将更新密钥中的更新加密密钥反馈给等登陆终端;或者,当操作s1303中使用的是登录终端21的更新解密密钥解密成功,则根据spa数据包中的信息开启端口访问。

图14示意性示出了根据本公开实施例的图12所示的架构中登录终端21的处理流程图。

如图14所示,在图12所示的架构中登录终端21的处理流程可以包括操作s1401~操作s1410。

在操作s1401,登录该登录终端21。

在操作s1402,判断spa包是否存在用户认证信息,若存在则进行操作s1404,若不存在则进行操作s1403。

在操作s1403,提示用户输入相关认证信息(用户名,口令otp(onetimepassword,一次性密码)等),并将用户认证信息与设备指纹(devicefingerprinting)加入spa授权字段中,得到扩展spa单包授权数据包。

在操作s1404,判断是否有更新密钥需求,若有则进行操作s1405。若无则跳转到操作s1409。

在操作s1405,登录终端21发送含扩展spa单包授权数据包,请求sdp控制器22开启密钥更新端口。

在操作s1406,访问sdp控制器22的密钥管理模块。

在操作s1407,判断密钥是否更新成功,若是则进行操作s1409,若否则进行操作s1408。

在操作s1408,密钥更新失败则给出提示信息。

在操作s1409,密钥更新成功则登录sdp控制器22。

在操作s1410,进行后续业务流程。

图15示意性示出了根据本公开实施例的图12所示的架构中sdp控制器22中密钥管理模块处理流程图。

如图15所示,该sdp控制器22中密钥管理模块处理流程可以包括操作s1501~操作s1505。

在操作s1501,接收密钥更新请求。

在操作s1502,判断是否允许更新密钥,若允许则进行操作s1503,若不允许则返回失败信息。

在操作s1503,产生更新密钥,包括更新加密密钥和更新解密密钥。

在操作s1504,将更新密钥同步更新到连接接收主机。

在操作s1505,向登录终端21发送反馈信息,反馈信息中包括该更新加密密钥。

图16示意性示出了根据本公开实施例的图12所示的架构中连接接受主机23密钥管理模块处理流程图。

如图16所示,连接接受主机23密钥管理模块处理流程可以包括操作s1601~操作s1604。

在操作s1601,初始化连接接受主机23中密码管理模块,初始化后密码管理模块置包含已经更新过的用户-设备-密钥绑定关系。

在操作s1602,收到sdp控制器22发送的同步密钥请求。

在操作s1603,根据收到的密钥信息,判断用户-设备-密钥绑定关系是否在密码管理模块中已存在,若未存在则新建绑定关系,若已存在,则进行操作s1604。

在操作s1604,根据新的密钥信息,更新用户-设备-密钥绑定关系。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,第一加密模块310、加密数据发送模块320、反馈信息接收模块330、第二加密模块340、访问授权模块350、第一获得模块360、第一接收模块810、数据提取模块820、密钥生成模块830、密钥发送模块840、第二接收模块850和访问授权模块860中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一加密模块310、加密数据发送模块320、反馈信息接收模块330、第二加密模块340、访问授权模块350、第一获得模块360、第一接收模块810、数据提取模块820、密钥生成模块830、密钥发送模块840、第二接收模块850和访问授权模块860中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一加密模块310、加密数据发送模块320、反馈信息接收模块330、第二加密模块340、访问授权模块350、第一获得模块360、第一接收模块810、数据提取模块820、密钥生成模块830、密钥发送模块840、第二接收模块850和访问授权模块860中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图17示意性示出了适于实现根据本公开实施例的数据处理方法的计算机系统的框图。图17示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图17所示,根据本公开实施例的计算机系统1700包括处理器1701,其可以根据存储在只读存储器(rom)1702中的程序或者从存储部分1708加载到随机访问存储器(ram)1703中的程序而执行各种适当的动作和处理。处理器1701例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器1701还可以包括用于缓存用途的板载存储器。处理器1701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在ram1703中,存储有计算机系统1700操作所需的各种程序和数据。处理器1701、rom1702以及ram1703通过总线1704彼此相连。处理器1701通过执行rom1702和/或ram1703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除rom1702和ram1703以外的一个或多个存储器中。处理器1701也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,计算机系统1700还可以包括输入/输出(i/o)接口1705,输入/输出(i/o)接口1705也连接至总线1704。系统1700还可以包括连接至i/o接口1705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1707;包括硬盘等的存储部分1708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至i/o接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入存储部分1708。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被处理器1701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom1702和/或ram1703和/或rom1702和ram1703以外的一个或多个存储器。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

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