一种消息处理方法及装置、电子设备、存储介质与流程

未命名 09-18 阅读:114 评论:0


1.本技术实施例涉及通信领域,尤其涉及一种消息处理方法及装置、电子设备、存储介质。


背景技术:

2.目前,在服务端启用单包授权认证(spa,single packet authorization)的情况下,服务端将对spa单包授权认证通过前的用户隐藏服务端的全部端口和服务,用户在终端的浏览器中通过直接输入服务端接入地址对所述服务端进行访问失败的情况下,终端用户只知道对服务端访问失败,却不知道采用何种手段才能够正确的对服务端进行访问,这将增加运维的复杂度,降低用户体验。


技术实现要素:

3.为解决上述技术问题,本技术实施例提供了一种消息处理方法及装置、电子设备、存储介质。
4.第一方面,本技术实施提供了一种消息处理方法,所述方法应用于服务端,所述方法包括:
5.接收终端发送的用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息;
6.读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段;
7.在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限。
8.第二方面,本技术实施例提供了一种消息处理方法,所述方法应用于终端,所述方法包括:
9.向服务端发送用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息;其中,所述第一握手协商消息用于所述终端读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段,并在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限;
10.接收服务端发送的所述预置页面数据,并在所述终端显示所述预置页面。
11.第三方面,本技术实施提供了一种消息处理装置,所述装置应用于服务端,所述装置包括:
12.第一接收单元,用于接收终端发送的用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息;
13.第一读取单元,用于读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段;
14.第一发送单元,用于在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限。
15.第四方面,本技术实施提供了一种消息处理装置,所述装置应用于终端,所述终端包括:
16.第二发送单元,用于向服务端发送用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息;其中,所述第一握手协商消息用于所述终端读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段,并在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限;
17.第二接收单元,用于接收服务端发送的所述预置页面数据,并在所述终端显示所述预置页面。
18.本技术实施例的技术方案,若服务端启用了单包授权认证策略,在用户通过终端对服务端进行访问的情况下,通过由服务端向终端反馈预置页面数据,使得用户能够在终端知晓获得服务端的单包授权的方式,用户通过在终端按照预置页面的提示下载目标客户端以及获取合法的单包授权密钥,终端通过目标客户端以及单包授权密钥与服务端建立tls连接,能够获得服务端授予的访问权限,使得终端用户能够在终端上访问服务端的业务数据。
附图说明
19.图1为一种双向tls认证过程的数据流程图;
20.图2为一种终端的浏览器展示页面的示意图;
21.图3为本技术实施例提供的一种消息处理方法的流程示意图一;
22.图4为本技术实施例提供的一种预置页面的示意图;
23.图5为本技术实施例提供的一种用户访问页面示意图;
24.图6为本技术实施例提供的一种spa敲门数据包扩展项示意图;
25.图7为本技术实施例提供的一种消息处理方法的流程示意图二;
26.图8为本技术实施例提供的一种单包授权流程示意图;
27.图9为本技术实施例提供的一种消息处理装置的结构组成示意图一;
28.图10为本技术实施例提供的一种消息处理装置的结构组成示意图二;
29.图11为本技术实施例提供的一种电子设备的硬件结构组成示意图。
具体实施方式
30.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行定义和解释。
32.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
33.下面,对本技术实施例涉及的关键术语介绍如下:
34.零信任访问控制系统:指采用了零信任安全理念的访问控制系统,零信任访问控制系统主要针对网络边界上的用户和设备进行身份验证和授权,需要经过身份认证后,才能访问业务系统;并且零信任理念主张:“从不信任,持续验证”,会对访问过程中的环境、身份状态、操作行为进行持续而动态的监控检测,如果发现异常,则及时处置,从而保障访问的安全性。
35.单包授权认证,简称spa,指客户端通过单一数据包携带认证鉴别信息向服务端发起认证请求,认证通过前不能建立连接或仅能建立传输控制协议(tcp,transmission control protocol)连接,从而无法访问服务端提供的服务,认证通过后才允许和服务端相关服务建立连接。
36.spa敲门密钥,又称为单包授权密钥,是spa单包授权过程中的认证鉴别信息。
37.安全传输层协议(tls,transport layer security),用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成:tls记录协议(tls record)和tls握手协议(tls handshake)。
38.tls协议扩展:在tls握手协议中的client hello和server hello子消息中提供了可选的扩展项,扩展项由扩展类型和具体的扩展数据两部分组件,可以让客户端和服务端在不更新tls协议版本的基础上携带更多的信息。
39.纯静态交互式:指客户端spa敲门认证失败后,服务端固定返回一个纯静态的超文本标记语言(html,hyper text markup language)文件(以及随附的层叠样式表(css,cascading style sheets)和/或javascript(一种脚本语言)文件)来做出响应,在给出引导信息的同时,不暴露服务端真实的服务接口,兼顾安全和体验。
40.目前,对于单包授权方案,包括以下两种方式:
41.方式1:基于相互安全传输层协议(简称为mtls)双向证书认证的spa单包授权方
案。
42.双向认证,顾名思义,客户端和服务器端都需要验证对方的身份,在tls协议握手的过程中,客户端除了需要从服务器端下载服务器的公钥证书进行验证外,还需要把客户端的公钥证书上传到服务器端给服务器端进行验证,等双方都认证通过了,才开始建立安全通信通道进行数据传输,图1为一种双向tls认证过程的数据流程图。
43.方式2:基于tcp的无响应式的spa单包授权方案。
44.对于基于tcp协议的spa敲门包,在spa单包授权认证通过前,客户端与服务端仅能建立tcp三次握手(即开放系统互联(osi,open system interconnect)七层模型的网络层响应),但是osi七层模型中的应用层无任何响应,终端用户在浏览器中仅能看到如图2所示的ssl_prtocol_error(安全套接字协议错误)的提示信息,无其它任何提示文案。spa单包授权认证通过后,客户端和服务端相关服务才能建立应用层连接。
45.对于方式1中的基于mtls双向证书认证的spa单包授权方案,主要技术缺点在于:
46.双向安全套接字协议(ssl,secure sockets layer)加密传输性能损耗和延时高:mtls双向证书认证相比于单向证书认证,在tls协议握手过程中,客户端需要将自己的证书发送给服务端,服务端收到后需要额外验证客户端证书的有效性(利用非对称加密算法验证),额外新增了如图1所示的certificate request即证书申请)、certificate(证书生成)及certificate verify(证书验证)等子步骤,从性能角度分析多了一个以上往返时延(rtt,round-trip time)的传输时延和客户端证书签名非对称加密计算的性能开销,导致ssl加密传输性能的额外损耗。
47.对于方式2中的基于tcp无响应式的spa单包授权方案,主要技术缺点在于:
48.由于服务端启用spa单包授权认证,将对spa单包授权认证通过前的用户隐藏全部端口和服务,对终端无任何响应,导致用户在浏览器直接输入用户接入地址时访问失败,终端用户无法知道是否需要下载客户端以及如何下载客户端,并且无法判断是否需要进行spa单包授权认证,无法了解如何进行spa单包授权认证以及如何获取spa敲门密钥,无响应的方式增加了运维复杂度,降低了用户体验性。
49.本技术实施例提供了一种基于tls协议扩展的纯静态交互式spa单包授权技术,在tls协议的握手过程中,将客户端的spa敲门密钥,又称为单包授权密钥,嵌入在客户端client hello子消息的自定义扩展项中,服务端接收到client hello子消息后,从自定义扩展项中尝试读取spa敲门密钥并进行合法性检查,如果读取成功并且合法性检查通过,则spa敲门成功服务端响应正常的数据;如果读取失败或者合法检查未通过,则spa敲门失败服务端响应固定的纯静态html文件。在不降低spa单包授权安全性和tls加密传输性能的前提下,实现了spa敲门过程必要信息安全交互,降低了运维复杂度,并有效提升终端用户体验。
50.本技术实施例的技术方案能够解决以上方式1和方式2的单包授权方案存在的问题。
51.首先,本技术实施例的方案能够解决无响应式spa单包授权运维复杂,用户体验差的问题。
52.本技术实施例中,新用户通过浏览器首次访问服务端接入地址时,服务端可以在响应的纯静态html文件中展示相关的提示语和客户端下载链接,引导用户从第三方下载客
户端、告知自助申请个人spa敲门密钥的途径和方法,提升终端用户体验。
53.此外,本技术实施例的方案能够解决mtls双向证书认证spa单包授权性能损耗的问题。
54.本技术实施例中,将客户端的spa敲门密钥嵌入在客户端client hello子消息的自定义扩展项中发送给服务端,相比tls双向证书认证的方式,客户端在tls协议握手过程中无需提交独立的客户端证书,成功减少了certificate request、certificate及certificate verify等子步骤,同时将服务端客户端证书验证时非对称加密复杂计算方式替换为更加快速的内存级spa敲门密钥hash值(即哈希值)匹配,计算速度更快。通过以上方法,终端与服务端之间进行数据交互的性能和稳定性都更加优秀。
55.本技术实施例的方案可以应用于包括但不限于以下几种产品中:零信任控制访问(sdp(软件定义边界))类型产品、虚拟专用网络(vpn,virtual private network)类型产品、零信任安全架构类型的产品、零信任安全访问服务边缘(简称sase)访问类型产品。
56.需要说明的是,在一种具体的实施方式中,本技术实施例中涉及的服务端具体为零信任服务端,本技术实施例涉及的目标客户端具体为零信任服务端,此外,本技术实施例中终端访问服务端的数据,具体为终端基于服务端中的零信任访问系统的接入地址,访问服务端中的零信任访问系统。
57.下面,对本技术实施例的技术方案介绍如下。
58.图3为本技术实施例提供的一种消息处理方法的流程示意图一,图3所示的消息处理方法应用于服务端,所述方法包括如下步骤:
59.s301:接收终端发送的用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息。
60.s302:读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段。
61.s303:在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据。
62.本技术实施例中,第一握手协商消息是指终端发出的用于与服务端建立tls连接的client hello子消息,终端的spa敲门密钥,即单包授权密钥可以嵌入在终端client hello子消息的自定义扩展项中发送给服务端。
63.本技术实施例中,所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限。
64.本技术实施例中,若终端设备首次对服务端进行访问,则其不知晓如何获得spa敲门密钥,因此,其向服务端发送的client hello子消息中不存在spa敲门密钥。这种情况下,服务端在接收到终端发送的client hello子消息后,尝试读取该client hello子消息中的spa敲门密钥,显然,由于终端发送的client hello子消息中不存在spa敲门密钥,服务端会将读取spa敲门密钥失败。之后,服务端将会将当前的tls会话对象,即终端标记为【敲门失败】。
65.之后,服务端按照标准的tls握手协议向终端响应server hello子消息,完成终端
与服务端之间的tls握手协议,建立终端与服务端之间的tls连接,并基于tls连接向终端发送预置页面数据,该预置页面数据是管理员提前在服务端配置好的静态页面数据。
66.终端在接收到预置页面数据后,在终端显示预置页面,图4为本技术实施例提供的一种预置页面的示意图。图4的预置页面用于提示用户下载目标客户端,图4中,目标客户端可以是客户端一至客户端五中的任意一个,由用户根据具体使用场景和需求进行选择,并进行对应客户端的下载。预置页面中除了用于提示用户下载目标客户端的内容外,还包括申请spa敲门密钥的引导信息,如引导用户前往安全码申请系统申请用户在终端的个人专属spa敲门密钥。
67.本技术实施例中,用户在终端能够下载并安装客户端,同时前往第三方系统获取spa敲门密钥,在下载的目标客户端输入获取的spa敲门密钥后,进一步完成spa单包授权认证。
68.本技术实施例中,终端用户在终端下载目标客户端并下载用户在终端的个人专属spa敲门密钥后,可以利用目标客户端以及用户在终端的个人专属spa敲门密钥再次对服务器进行访问。在终端用户利用目标客户端以及用户在终端的个人专属spa敲门密钥再次对服务器进行访问时,可以在如图5所示的用户访问页面上输入对服务器访问的接入地址(具体可为服务端的零信任访问系统的接入地址)以及个人专属spa敲门密钥,利用终端实现对服务器的访问,这里,终端首先基于个人专属spa敲门密钥与服务端建立tls连接,获得服务器授予的单包授权,即获得服务器授权的访问权限后,再从服务端获取访问数据。
69.在一种实施方式中,服务端通过如下方式与终端再次建立tls连接:
70.接收所述终端发送的第二握手协商消息;所述第二握手协商消息为在所述终端用户通过在所述终端的目标客户端输入所述合法的单包授权密钥的情况下,由所述终端生成的用于与所述服务端建立tls连接的握手协商消息;所述第二握手协商消息中包括所述合法的单包授权密钥的扩展字段以及所述终端的认证信息的扩展字段;
71.读取所述第二握手协商消息中是否存在包括合法的单包授权密钥的扩展字段;
72.在所述第二握手协商消息中存在所述合法的单包授权密钥的扩展字段的情况下,对所述第二握手协商消息中包括的所述终端的认证信息的扩展字段进行合法性验证;
73.在验证所述终端的认证信息的扩展字段合法的情况下,标记授予所述终端对所述服务器的访问权限;
74.向所述终端发送第三握手协商消息,以建立与所述终端之间的tls连接。
75.由于终端在前次与服务端建立tls连接后,终端用户通过服务端返回的预置页面数据获得了用户在终端的个人专属spa敲门密钥,因此,此次终端与服务端建立tls连接时的client hello子消息中将存在包括个人专属spa敲门密钥的扩展项,此外,本次建立tls连接时的client hello子消息中还包括spa敲门包的扩展项,该spa敲门包中包括终端的认证信息,该认证信息需要由服务端进行合法性认证。
76.示例性的,spa敲门包扩展项可以包括图6所示的一个或多个扩展项,具体如终端设备的标识、spa敲门密钥索引信息、终端设备物理地址、终端设备名称等,以上spa敲门包扩展项包含的各信息可以用个人专属spa敲门密钥进行加密,本技术实施例对于具体的加密算法不作限定。
77.服务端在接收到终端此次发送的client hello子消息后,读取client hello子消
息,确定其中是否存在合法的spa敲门密钥,在存在合法的spa敲门密钥的情况下,进一步验证client hello子消息中的spa敲门包的各项信息是否合法,服务端在读取client hello子消息中存在合法的spa敲门密钥,并且,验证client hello子消息中的spa敲门包的各项信息合法的情况下,会将当前的tls会话对象,即终端标记为【敲门成功】。
78.之后,服务端按照标准的tls握手协议向终端响应server hello子消息,完成终端与服务端之间的tls握手协议,建立终端与服务端之间的tls连接。
79.之后,终端可以与服务端进行正常的业务数据传输。
80.在一种实施方式中,服务端建立与所述终端之间的tls连接后,所述服务端接收所述终端发送的数据访问请求;所述数据访问请求是所述终端基于终端用户在所述目标客户端输入的搜索信息生成的请求数据;
81.响应于所述数据访问请求,向所述终端返回与所述数据访问请求对应的业务数据。
82.由于终端已经获得了对服务端授予的访问权限,因此,用户通过在目标客户端进行信息搜索操作,即可获得服务端返回的用户搜索的相关数据。
83.本技术实施例在tls协议扩展内携带spa敲门密钥不降低tls加密传输性能,将终端的spa敲门密钥嵌入在终端client hello子消息的自定义扩展项中发送给服务端,终端不需要发送独立的spa敲门包,同时相比tls双向证书认证的方式,终端在tls协议握手过程中无需提交独立的终端证书,有效减少至少1个rtt的传输时延,并规避了服务端验证终端证书时的非对称加密计算的性能开销。终端与服务端之间进行数据交互的性能和稳定性都更加优秀。
84.此外,本技术实施例的纯静态交互式不降低服务端spa单包授权安全性,服务端接收到client hello子消息后,从自定义扩展项中尝试读取spa敲门密钥并进行合法性检查,如果读取成功并且合法性检查通过,则spa敲门成功服务端才响应正常的数据;如果读取失败或者合法检查未通过,则spa敲门失败服务端仅响应固定的纯静态html文件,攻击者在缺少spa敲门密钥的前提下,仍然无法对服务端的业务接口进行扫描或者发送各类攻击(如webshell注入、mysql注入、远程命令执行等)。
85.再有,纯静态交互式提升spa单包授权用户体验,相比于无响应的传统spa敲门技术,在新用户通过浏览器首次访问服务器的接入地址时,服务端可以在响应的纯静态html文件中展示相关的提示语和客户端下载链接,引入用户从第三方下载客户端并自助申请个人spa敲门密钥,提升终端用户体验。
86.图7为本技术实施例提供的一种消息处理方法的流程示意图二,图7所示的消息处理方法应用于终端,所述方法包括如下步骤:
87.s701:向服务端发送用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息。
88.s702:接收服务端发送的所述预置页面数据,并在所述终端显示所述预置页面。
89.本技术实施例中,所述第一握手协商消息用于所述终端读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段,并在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据
用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限。
90.本技术实施例中,第一握手协商消息是指终端发出的用于与服务端建立tls连接的client hello子消息,终端的spa敲门密钥,即单包授权密钥可以嵌入在终端client hello子消息的自定义扩展项中发送给服务端。
91.本技术实施例中,若终端设备首次对服务端进行访问,则其不知晓如何获得spa敲门密钥,因此,其向服务端发送的client hello子消息中不存在spa敲门密钥。这种情况下,服务端在接收到终端发送的client hello子消息后,尝试读取该client hello子消息中的spa敲门密钥,显然,由于终端发送的client hello子消息中不存在spa敲门密钥,服务端会将读取spa敲门密钥失败。之后,服务端将会将当前的tls会话对象,即终端标记为【敲门失败】。
92.之后,服务端按照标准的tls握手协议向终端响应server hello子消息,完成终端与服务端之间的tls握手协议,建立终端与服务端之间的tls连接,并基于tls连接向终端发送预置页面数据,该预置页面数据是管理员提前在服务端配置好的静态页面数据。
93.终端在接收到预置页面数据后,在终端显示预置页面,图4为本技术实施例提供的一种预置页面的示意图。图4的预置页面用于提示用户下载目标客户端,图4中,目标客户端可以是客户端一至客户端五中的任意一个,由用户根据具体使用场景和需求进行选择,并进行对应客户端的下载。预置页面中除了用于提示用户下载目标客户端的内容外,还包括申请spa敲门密钥的引导信息,如引导用户前往安全码申请系统申请用户在终端的个人专属spa敲门密钥。
94.本技术实施例中,用户在终端能够下载并安装客户端,同时前往第三方系统获取spa敲门密钥,在下载的目标客户端输入获取的spa敲门密钥后,进一步完成spa单包授权认证。
95.在一种实施方式中,向所述服务端发送第二握手协商消息;所述第二握手协商消息为在所述终端用户通过在所述终端的目标客户端输入所述合法的单包授权密钥的情况下,由所述终端生成的用于与所述服务端建立tls连接的握手协商消息;所述第二握手协商消息中包括所述合法的单包授权密钥的扩展字段以及所述终端的认证信息的扩展字段;所述第二握手协商消息用于所述服务端读取所述第二握手协商消息中是否存在包括合法的单包授权密钥的扩展字段,并在读取所述第二握手协商消息中存在所述合法的单包授权密钥的扩展字段的情况下,对所述第二握手协商消息中包括的所述终端的认证信息的扩展字段进行合法性验证,以及,在验证所述终端的认证信息的扩展字段合法的情况下,标记授予所述终端对所述服务器的访问权限;
96.接收所述服务器发送的用于与所述终端建立tls连接的第三握手协商消息。
97.本技术实施例中,终端用户在终端下载目标客户端并下载用户在终端的个人专属spa敲门密钥后,可以利用目标客户端以及用户在终端的个人专属spa敲门密钥再次对服务器进行访问。在终端用户利用目标客户端以及用户在终端的个人专属spa敲门密钥再次对服务器进行访问时,可以在如图5所示的用户访问页面上输入对服务器访问的接入地址(具体可为服务端的零信任访问系统的接入地址)以及个人专属spa敲门密钥,利用终端实现对
服务器的访问,这里,终端首先基于个人专属spa敲门密钥与服务端建立tls连接,获得服务器授予的单包授权,即获得服务器授权的访问权限后,再从服务端获取访问数据。
98.由于终端在前次与服务端建立tls连接后,终端用户通过服务端返回的预置页面数据获得了用户在终端的个人专属spa敲门密钥,因此,此次终端与服务端建立tls连接时的client hello子消息中将存在包括个人专属spa敲门密钥的扩展项,此外,本次建立tls连接时的client hello子消息中还包括spa敲门包的扩展项,该spa敲门包中包括终端的认证信息,该认证信息需要由服务端进行合法性认证。
99.示例性的,spa敲门包扩展项可以包括图6所示的一个或多个扩展项,具体如终端设备的标识、spa敲门密钥索引信息、终端设备物理地址、终端设备名称等,以上spa敲门包扩展项包含的各信息可以用个人专属spa敲门密钥进行加密,本技术实施例对于具体的加密算法不作限定。
100.服务端在接收到终端此次发送的client hello子消息后,读取client hello子消息,确定其中是否存在合法的spa敲门密钥,在存在合法的spa敲门密钥的情况下,进一步验证client hello子消息中的spa敲门包的各项信息是否合法,服务端在读取client hello子消息中存在合法的spa敲门密钥,并且,验证client hello子消息中的spa敲门包的各项信息合法的情况下,会将当前的tls会话对象,即终端标记为【敲门成功】。
101.之后,服务端按照标准的tls握手协议向终端响应server hello子消息,完成终端与服务端之间的tls握手协议,建立终端与服务端之间的tls连接。
102.之后,终端可以与服务端进行正常的业务数据传输。
103.在一种实施方式中,基于终端用户在所述目标客户端输入的搜索信息生成数据访问请求;
104.将所述数据访问请求发送给所述服务端;所述服务端用于响应于所述数据访问请求,向所述终端返回与所述数据访问请求对应的业务数据;
105.接收所述服务端返回的所述业务数据。
106.由于终端已经获得了对服务端授予的访问权限,因此,用户通过在目标客户端进行信息搜索操作,即可获得服务端返回的用户搜索的相关数据。
107.本技术实施例的技术方案在不降低spa单包授权安全性前提下,有效低了运维复杂度并提升终端用户体验:服务端接收到client hello子消息后,从自定义扩展项中尝试读取spa敲门密钥并进行合法性检查,如果读取成功并且合法性检查通过,则spa敲门成功服务端才响应正常的数据;如果读取失败或者合法检查未通过,则spa敲门失败服务端仅响应固定的纯静态html文件,攻击者在缺少spa敲门密钥的前提下,仍然无法对服务端的业务接口进行扫描或者发送各类攻击(如webshell注入、mysql注入、远程命令执行等)。同时,新用户通过浏览器首次访问服务器的接入地址时,服务端可以在响应的纯静态html文件中展示相关的提示语和客户端下载链接,引入用户从第三方下载客户端并自助申请个人spa敲门密钥,提升终端用户体验。
108.本技术实施例在tls协议扩展内携带spa敲门密钥不降低tls加密传输性能,将终端的spa敲门密钥嵌入在终端client hello子消息的自定义扩展项中发送给服务端,终端不需要发送独立的spa敲门包,同时相比tls双向证书认证的方式,终端在tls协议握手过程中无需提交独立的终端证书,有效减少至少1个rtt的传输时延,并规避了服务端验证终端
证书时的非对称加密计算的性能开销。终端与服务端之间进行数据交互的性能和稳定性都更加优秀。
109.图8为本技术实施例提供的一种单包授权流程示意图,通过图8所示的各步骤能够实现服务端对终端的单包授权,图8所示的流程如下:
110.1、管理员在服务端开启spa单包授权,并同步配置spa敲门失败,返回的静态页面内容(文字或者超链接);
111.2、用户在浏览器中输入服务端接入地址;
112.3、浏览器向服务端发起访问请求,完成tcp三次握手,建立连接;
113.4、终端发起tls握手协商,向服务端发送标准的tls client hello消息;
114.5、服务端接收到client hello子消息后,尝试从自定义扩展项中读取spa敲门密钥,读取失败将当前tls会话对象标记为【敲门失败】;
115.6、服务端按照标准tls handshake协议,响应server hello子消息;
116.7、终端与服务端之间完成tls handshake握手协商,成功建立tls连接;
117.8、服务端判断当前tls会话对象已被标记为【敲门失败】,返回第一步管理员提前配置好的静态页面用户按照静态页面;
118.9、用户按照静态页面的指引,在终端成功下载并安装客户端;
119.10、用户在终端按照静态页面的指引,前往安全码申请系统成功申请到个人spa敲门密钥;
120.11、用户在终端打开客户端,输入接入地址和个人专属spa敲门密钥,点击连接;
121.12、终端向服务端发起访问请求,完成tcp三次握手,建立连接;
122.13、终端发起tls握手协商,发送的tls client hello消息,并且在client hello子消息的自定义扩展项中插入spa敲门包,敲门包中携带了设备标识、敲门密钥索引等内容,并用敲门密钥加密保护;
123.14、服务端接收到client hello子消息后,尝试从自定义扩展项中读取spa敲门密钥,读取成功并且合法性检查通过,将当前tls会话对象标记为【敲门成功】;
124.15、服务端按照标准tls handshake协议,响应server hello子消息;
125.16、终端与服务端之间完成tls handshake握手协商,成功建立tls连接;
126.17、服务端判断当前tls会话对象已被标记为【敲门成功】,正常向终端返回接口的业务数据内容;
127.18、终端与服务端之间正常传输业务数据。
128.需要说明的是,图8中各步骤中的服务端具体为零信任服务端,图8中各步骤的客户端具体为零信任服务端。
129.图9为本技术实施例提供的消息处理装置900的结构组成示意图,所述消息处理装置900应用于服务端,如图9所示,所述消息处理装置900包括:
130.第一接收单元901,用于接收终端发送的用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息;
131.第一读取单元902,用于读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段;
132.第一发送单元903,用于在所述第一握手协商消息中不存在所述合法的单包授权
密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限。
133.在一种实施方式中,所述第一接收单元,还用于:接收所述终端发送的第二握手协商消息;所述第二握手协商消息为在所述终端用户通过在所述终端的目标客户端输入所述合法的单包授权密钥的情况下,由所述终端生成的用于与所述服务端建立tls连接的握手协商消息;所述第二握手协商消息中包括所述合法的单包授权密钥的扩展字段以及所述终端的认证信息的扩展字段;
134.所述第一读取单元,还用于:读取所述第二握手协商消息中是否存在包括合法的单包授权密钥的扩展字段;
135.所述装置还包括:
136.验证单元,用于在所述第二握手协商消息中存在所述合法的单包授权密钥的扩展字段的情况下,对所述第二握手协商消息中包括的所述终端的认证信息的扩展字段进行合法性验证;
137.标记单元,用于在验证所述终端的认证信息的扩展字段合法的情况下,标记授予所述终端对所述服务器的访问权限;
138.所述第一发送单元,还用于:向所述终端发送第三握手协商消息,以建立与所述终端之间的tls连接。
139.在一种实施方式中,所述第一接收单元,还用于接收所述终端发送的数据访问请求;所述数据访问请求是所述终端基于终端用户在所述目标客户端输入的搜索信息生成的请求数据;
140.所述第一发送单元,还用于响应于所述数据访问请求,向所述终端返回与所述数据访问请求对应的业务数据。
141.本领域技术人员应当理解,图9所示的消息处理装置中的各单元的实现功能可参照前述消息处理方法的相关描述而理解。图9所示的消息处理装置中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
142.图10为本技术实施例提供的消息处理装置1000的结构组成示意图,所述消息处理装置1000应用于服务端,如图10所示,所述消息处理装置1000包括:
143.第二发送单元1001,用于向服务端发送用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息;其中,所述第一握手协商消息用于所述终端读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段,并在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限;
144.第二接收单元1002,用于接收服务端发送的所述预置页面数据,并在所述终端显示所述预置页面。
145.在一种实施方式中,所述第二发送单元,还用于:向所述服务端发送第二握手协商消息;所述第二握手协商消息为在所述终端用户通过在所述终端的目标客户端输入所述合法的单包授权密钥的情况下,由所述终端生成的用于与所述服务端建立tls连接的握手协商消息;所述第二握手协商消息中包括所述合法的单包授权密钥的扩展字段以及所述终端的认证信息的扩展字段;所述第二握手协商消息用于所述服务端读取所述第二握手协商消息中是否存在包括合法的单包授权密钥的扩展字段,并在读取所述第二握手协商消息中存在所述合法的单包授权密钥的扩展字段的情况下,对所述第二握手协商消息中包括的所述终端的认证信息的扩展字段进行合法性验证,以及,在验证所述终端的认证信息的扩展字段合法的情况下,标记授予所述终端对所述服务器的访问权限;
146.所述第二接收单元1002,还用于接收所述服务器发送的用于与所述终端建立tls连接的第三握手协商消息。
147.在一种实施方式中,所述装置还包括:
148.生成单元,用于基于终端用户在所述目标客户端输入的搜索信息生成数据访问请求;
149.所述第二发送单元,还用于将所述数据访问请求发送给所述服务端;所述服务端用于响应于所述数据访问请求,向所述终端返回与所述数据访问请求对应的业务数据;
150.所述第二接收单元,还用于接收所述服务端返回的所述业务数据。
151.本领域技术人员应当理解,图10所示的消息处理装置中的各单元的实现功能可参照前述消息处理方法的相关描述而理解。图10所示的消息处理装置中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
152.本技术实施例还提供了一种电子设备。图11为本技术实施例的电子设备的硬件结构示意图,如图11所示,电子设备包括:用于进行数据传输的通信组件1103、至少一个处理器1101和用于存储能够在处理器1101上运行的计算机程序的存储器1102。终端中的各个组件通过总线系统1104耦合在一起。可理解,总线系统1104用于实现这些组件之间的连接通信。总线系统1104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统1104。
153.其中,所述处理器1101执行所述计算机程序时至少执行图1或图7所示的方法的步骤。
154.可以理解,存储器1102可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,
dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器1102旨在包括但不限于这些和任意其它适合类型的存储器。
155.上述本技术实施例揭示的方法可以应用于处理器1101中,或者由处理器1101实现。处理器1101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1101可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器1101可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器1102,处理器1101读取存储器1102中的信息,结合其硬件完成前述方法的步骤。
156.在示例性实施例中,电子设备可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、fpga、通用处理器、控制器、mcu、微处理器(microprocessor)、或其他电子元件实现,用于执行前述的消息处理方法。
157.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时至少用于执行图1或图7所示方法的步骤。所述计算机可读存储介质具体可以为存储器。所述存储器可以为如图11所示的存储器1102。
158.本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
159.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
160.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
161.另外,在本技术各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
162.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。

技术特征:
1.一种消息处理方法,其特征在于,所述方法应用于服务端,所述方法包括:接收终端发送的用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息;读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段;在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述终端发送的第二握手协商消息;所述第二握手协商消息为在所述终端用户通过在所述终端的目标客户端输入所述合法的单包授权密钥的情况下,由所述终端生成的用于与所述服务端建立tls连接的握手协商消息;所述第二握手协商消息中包括所述合法的单包授权密钥的扩展字段以及所述终端的认证信息的扩展字段;读取所述第二握手协商消息中是否存在包括合法的单包授权密钥的扩展字段;在所述第二握手协商消息中存在所述合法的单包授权密钥的扩展字段的情况下,对所述第二握手协商消息中包括的所述终端的认证信息的扩展字段进行合法性验证;在验证所述终端的认证信息的扩展字段合法的情况下,标记授予所述终端对所述服务器的访问权限;向所述终端发送第三握手协商消息,以建立与所述终端之间的tls连接。3.根据权利要求2所述的方法,其特征在于,所述建立与所述终端之间的tls连接之后,所述方法还包括:接收所述终端发送的数据访问请求;所述数据访问请求是所述终端基于终端用户在所述目标客户端输入的搜索信息生成的请求数据;响应于所述数据访问请求,向所述终端返回与所述数据访问请求对应的业务数据。4.一种消息处理方法,其特征在于,所述方法应用于终端,所述方法包括:向服务端发送用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息;其中,所述第一握手协商消息用于所述终端读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段,并在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限;接收服务端发送的所述预置页面数据,并在所述终端显示所述预置页面。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:向所述服务端发送第二握手协商消息;所述第二握手协商消息为在所述终端用户通过在所述终端的目标客户端输入所述合法的单包授权密钥的情况下,由所述终端生成的用于与所述服务端建立tls连接的握手协商消息;所述第二握手协商消息中包括所述合法的单包授权密钥的扩展字段以及所述终端的认证信息的扩展字段;所述第二握手协商消息用于
所述服务端读取所述第二握手协商消息中是否存在包括合法的单包授权密钥的扩展字段,并在读取所述第二握手协商消息中存在所述合法的单包授权密钥的扩展字段的情况下,对所述第二握手协商消息中包括的所述终端的认证信息的扩展字段进行合法性验证,以及,在验证所述终端的认证信息的扩展字段合法的情况下,标记授予所述终端对所述服务器的访问权限;接收所述服务器发送的用于与所述终端建立tls连接的第三握手协商消息。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:基于终端用户在所述目标客户端输入的搜索信息生成数据访问请求;将所述数据访问请求发送给所述服务端;所述服务端用于响应于所述数据访问请求,向所述终端返回与所述数据访问请求对应的业务数据;接收所述服务端返回的所述业务数据。7.一种消息处理装置,其特征在于,所述装置应用于服务端,所述装置包括:第一接收单元,用于接收终端发送的用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息;第一读取单元,用于读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段;第一发送单元,用于在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限。8.一种消息处理装置,其特征在于,所述装置应用于终端,所述装置包括:第二发送单元,用于向服务端发送用于与所述服务端建立安全传输层协议tls连接的第一握手协商消息;其中,所述第一握手协商消息用于所述终端读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段,并在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限;第二接收单元,用于接收服务端发送的所述预置页面数据,并在所述终端显示所述预置页面。9.一种电子设备,其特征在于,所述电子设备包括:存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现权利要求1至3,或者,权利要求4至6中任一项所述的消息处理方法。10.一种计算机存储介质,其特征在于,所述存储介质上存储有可执行指令,该可执行指令被处理器执行时实现权利要求1至3,或者,权利要求4至6中任一项所述的消息处理方法。

技术总结
本申请公开了一种消息处理方法及装置,所述方法应用于服务端,所述方法包括:接收终端发送的用于与所述服务端建立TLS连接的第一握手协商消息;读取所述第一握手协商消息中是否存在包括合法的单包授权密钥的扩展字段;在所述第一握手协商消息中不存在所述合法的单包授权密钥的扩展字段的情况下,向所述终端发送预置页面数据;所述预置页面数据中包括获取目标客户端以及合法的单包授权密钥的提示信息;所述预置页面数据用于提示终端用户在所述终端下载所述目标客户端以及获取所述合法的单包授权密钥,以使所述终端用户利用所述目标客户端以及所述单包授权密钥获得所述服务端对所述终端授权的访问权限。所述终端授权的访问权限。所述终端授权的访问权限。


技术研发人员:余敏文 郭炳梁 周尚武
受保护的技术使用者:深圳市深信服信息安全有限公司
技术研发日:2023.06.29
技术公布日:2023/9/14
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐