CN112689014B - 一种双全工通信方法、装置、计算机设备和存储介质 - Google Patents
一种双全工通信方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112689014B CN112689014B CN202011552858.0A CN202011552858A CN112689014B CN 112689014 B CN112689014 B CN 112689014B CN 202011552858 A CN202011552858 A CN 202011552858A CN 112689014 B CN112689014 B CN 112689014B
- Authority
- CN
- China
- Prior art keywords
- client
- reference data
- word
- websocket connection
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000004044 response Effects 0.000 claims description 58
- 238000012795 verification Methods 0.000 claims description 21
- 238000012546 transfer Methods 0.000 claims description 15
- 238000005538 encapsulation Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 4
- 230000009977 dual effect Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 239000000758 substrate Substances 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 description 13
- 235000014510 cooky Nutrition 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013075 data extraction Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 description 1
- 101100364301 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rsv1 gene Proteins 0.000 description 1
- 101100364302 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rsv2 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种双全工通信方法、装置、计算机设备和存储介质,该方法包括:针对客户端的身份信息生成安全令牌,与客户端建立网络嵌套字WebSocket连接时,与客户端交换参考数据,与客户端基于安全令牌通信之前,根据参考数据校验客户端相对于网络嵌套字WebSocket连接的合法性,若客户端相对于网络嵌套字WebSocket连接合法,则维持网络嵌套字WebSocket连接,通过网络嵌套字WebSocket连接使用安全令牌与客户端进行通信,阻止不法分子脱离合法的客户端自行建立网络嵌套字WebSocket连接与服务端进行通信,防范客户端脱机,提高了服务端及用户数据的安全性。
Description
技术领域
本发明实施例涉及通信的技术领域,尤其涉及一种双全工通信方法、装置、计算机设备和存储介质。
背景技术
在先很多网站采用轮询技术实现即时通讯,即间隔特定的时间,客户端对服务器发出HTTP(HyperText Transfer Protocol,超文本传输协议)请求,服务端返回最新的数据给客户端。由于客户端不断地向服务端发出HTTP请求,而HTTP请求的报文头是比较长的,但报文头包含的数据可能只是一个很小的值,这样会占用较多的带宽,但带宽的利用率较低。
针对上述问题,目前实现了客户端与服务端全双工通信(full-duplex),HTML5(HyperText Markup Language 5,第5版超文本标记语言)中采用网络嵌套字WebSocket协议,网络嵌套字WebSocket协议约定客户端和服务端之间形成一条快速通道,两者之间就可以实现数据互相实时传送。
目前,互联网应用多种多样,其中一大部分应用具有响应迅速、交互频繁和推送响应等特点,比如游戏和聊天应用等,这些应用适用网络嵌套字WebSocket协议,但网络嵌套字WebSocket协议本身没有身份认证机制,当服务端对客户端进行身份认证时,需要额外使用其他身份认证方案来确保安全性。
在身份认证时通常会生成认证信息,如果这个认证信息被泄漏,不法分子则可以绕过客户端自行基于网络嵌套字WebSocket与服务端进行通信,风险性较高。
发明内容
本发明实施例提出了一种双全工通信方法、装置、计算机设备和存储介质,以解决基于WebSocket协议进行验证的风险性较高的问题。
第一方面,本发明实施例提供了一种双全工通信方法,包括:
针对客户端的身份信息生成安全令牌;
与所述客户端建立网络嵌套字WebSocket连接时,与所述客户端交换参考数据;
使用所述安全令牌与所述客户端通信之前,根据所述参考数据校验所述客户端相对于所述网络嵌套字WebSocket连接的合法性;
若所述客户端相对于所述网络嵌套字WebSocket连接合法,则维持所述网络嵌套字WebSocket连接;
通过所述网络嵌套字WebSocket连接使用所述安全令牌与所述客户端进行通信。
可选地,还包括:
若所述客户端相对于所述网络嵌套字WebSocket连接非法,则断开所述网络嵌套字WebSocket连接。
可选地,所述参考数据包括服务端参考数据;
所述与所述客户端建立网络嵌套字WebSocket连接时,与所述客户端交换参考数据,包括:
接收所述客户端基于网络嵌套字WebSocket协议发送的握手请求;
随机生成字符串,作为服务端参考数据;
基于所述网络嵌套字WebSocket协议针对所述握手请求生成握手响应;
将所述服务端参考数据封装至所述握手响应中;
若封装完成,则将所述握手响应发送至所述客户端,以与所述客户端建立网络嵌套字WebSocket连接。
可选地,所述将所述服务端参考数据封装至所述握手响应中,包括:
在所述握手响应的报头中生成自定义的字段,作为服务端字段;
将所述服务端参考数据写入所述服务端字段中。
可选地,所述参考数据还包括客户端参考数据;
所述与所述客户端建立网络嵌套字WebSocket连接时,与所述客户端交换参考数据,还包括:
从所述握手请求中提取指定的字符串,作为客户端参考数据。
可选地,所述从所述握手请求中提取指定的字符串,作为客户端参考数据,包括:
在所述握手请求的报头中查找自定义的字段,作为客户端字段;
读取所述客户端字段中的字符串,作为客户端参考数据。
可选地,所述根据所述参考数据校验所述客户端相对于所述网络嵌套字WebSocket连接的合法性,包括:
通过所述网络嵌套字WebSocket连接接收所述客户端发送的第一目标数据;
基于所述参考数据生成第二目标数据;
若所述第一目标数据与所述第二目标数据相同,则确定所述客户端相对于所述网络嵌套字WebSocket连接合法;
若所述第一目标数据与所述第二目标数据不同,则确定所述客户端相对于所述网络嵌套字WebSocket连接非法。
可选地,所述参考数据包括服务端参考数据、客户端参考数据;所述基于所述参考数据生成第二目标数据,包括:
对所述服务端参考数据进行加密,获得第二目标数据;
或者,
基于所述服务端参考数据与所述客户端参考数据生成综合参考数据;
对所述综合参考数据进行加密,获得第二目标数据。
可选地,所述针对客户端的身份信息生成安全令牌,包括:
基于超文本传输安全协议HTTPS接收客户端发送的身份信息;
对所述身份信息进行验证;
若验证成功,则对所述身份信息生成安全令牌;
基于所述超文本传输安全协议HTTPS将所述安全令牌发送至所述客户端。
可选地,所述通过所述网络嵌套字WebSocket连接使用所述安全令牌与所述客户端进行通信,包括:
通过所述网络嵌套字WebSocket连接接收所述客户端发送的通信请求,所述通信请求中携带所述安全令牌;
对所述安全令牌进行验证;
若验证成功,则通过所述网络嵌套字WebSocket连接将通信响应发送至所述客户端。
第二方面,本发明实施例还提供了一种双全工通信装置,包括:
安全令牌生成模块,用于针对客户端的身份信息生成安全令牌;
参考数据交换模块,用于与所述客户端建立网络嵌套字WebSocket连接时,与所述客户端交换参考数据;
合法性校验模块,用于使用所述安全令牌与所述客户端通信之前,根据所述参考数据校验所述客户端相对于所述网络嵌套字WebSocket连接的合法性;
通信连接维持模块,用于若所述客户端相对于所述网络嵌套字WebSocket连接合法,则维持所述网络嵌套字WebSocket连接;
认证通信模块,用于通过所述网络嵌套字WebSocket连接使用所述安全令牌与所述客户端进行通信。
可选地,还包括:
通信连接断开模块,用于若所述客户端相对于所述网络嵌套字WebSocket连接非法,则断开所述网络嵌套字WebSocket连接。
可选地,所述参考数据包括服务端参考数据;所述参考数据交换模块包括:
握手请求接收子模块,用于接收所述客户端基于网络嵌套字WebSocket协议发送的握手请求;
字符串生成子模块,用于随机生成字符串,作为服务端参考数据;
握手响应生成子模块,用于基于所述网络嵌套字WebSocket协议针对所述握手请求生成握手响应;
参考数据封装子模块,用于将所述服务端参考数据封装至所述握手响应中;
握手响应发送子模块,用于若封装完成,则将所述握手响应发送至所述客户端,以与所述客户端建立网络嵌套字WebSocket连接。
可选地,所述参考数据封装子模块包括:
服务端字段生成单元,用于在所述握手响应的报头中生成自定义的字段,作为服务端字段;
参考数据写入单元,用于将所述服务端参考数据写入所述服务端字段中。
可选地,所述参考数据还包括客户端参考数据;所述参考数据交换模块还包括:
参考数据提取子模块,用于从所述握手请求中提取指定的字符串,作为客户端参考数据。
在本发明的一个实施例中,所述参考数据提取子模块包括:
客户端字段查找单元,用于在所述握手请求的报头中查找自定义的字段,作为客户端字段;
字符串读取单元,用于读取所述客户端字段中的字符串,作为客户端参考数据。
可选地,所述合法性校验模块包括:
第一目标数据接收子模块,用于通过所述网络嵌套字WebSocket连接接收所述客户端发送的第一目标数据;
第二目标数据生成子模块,用于基于所述参考数据生成第二目标数据;
合法确定子模块,用于若所述第一目标数据与所述第二目标数据相同,则确定所述客户端相对于所述网络嵌套字WebSocket连接合法;
非法确定子模块,用于若所述第一目标数据与所述第二目标数据不同,则确定所述客户端相对于所述网络嵌套字WebSocket连接非法。
可选地,所述参考数据包括服务端参考数据、客户端参考数据;所述第二目标数据生成子模块包括:
第一加密单元,用于对所述服务端参考数据进行加密,获得第二目标数据;
或者,
综合参考数据生成单元,用于基于所述服务端参考数据与所述客户端参考数据生成综合参考数据;
第二加密单元,用于对所述综合参考数据进行加密,获得第二目标数据。
可选地,所述安全令牌生成模块包括:
身份信息接收子模块,用于基于超文本传输安全协议HTTPS接收客户端发送的身份信息;
身份信息验证子模块,用于对所述身份信息进行验证;
安全令牌生成子模块,用于若验证成功,则对所述身份信息生成安全令牌;
安全令牌发送子模块,用于基于所述超文本传输安全协议HTTPS将所述安全令牌发送至所述客户端。
可选地,所述认证通信模块包括:
通信请求接收子模块,用于通过所述网络嵌套字WebSocket连接接收所述客户端发送的通信请求,所述通信请求中携带所述安全令牌;
安全令牌验证子模块,用于对所述安全令牌进行验证;
通信响应发送子模块,用于若验证成功,则通过所述网络嵌套字WebSocket连接将通信响应发送至所述客户端。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一项所述的双全工通信方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方中任一项所述的双全工通信方法。
在本实施例中,针对客户端的身份信息生成安全令牌,与客户端建立网络嵌套字WebSocket连接时,与客户端交换参考数据,与客户端基于安全令牌通信之前,根据参考数据校验客户端相对于网络嵌套字WebSocket连接的合法性,若客户端相对于网络嵌套字WebSocket连接合法,则维持网络嵌套字WebSocket连接,通过网络嵌套字WebSocket连接使用安全令牌与客户端进行通信,由于参考数据是合法的客户端与服务端在建立网络嵌套字WebSocket连接时交换的,在安全令牌泄露时,不法分子无法破解合法的客户端获取该参考数据,因此,不法分子使用非法的客户端与服务端建立网络嵌套字WebSocket连接时,无法通过合法性的校验,从而阻止不法分子脱离合法的客户端自行建立网络嵌套字WebSocket连接与服务端进行通信,防范客户端脱机,提高了服务端及用户数据的安全性。
附图说明
图1为本发明实施例一提供的一种双全工通信方法的流程图;
图2为本发明实施例一提供的一种客户端与服务端通信的信令图;
图3为本发明实施例二提供的一种双全工通信装置的结构示意图;
图4为本发明实施例三提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种双全工通信方法的流程图,本实施例可适用于基于网络嵌套字WebSocket协议进行身份信息的验证时,对客户端进行关于建立网络嵌套字WebSocket连接的挑战、以防止脱机的情况,该方法可以由双全工通信装置来执行,该双全工通信装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站,等等,具体包括如下步骤:
步骤101、针对客户端的身份信息生成安全令牌。
在实际应用中,网络嵌套字WebSocket协议可应用于不同的业务场景中,例如,社交订阅、多玩家游戏、协同编辑、点击流数据、股票基金报价、体育实况更新、多媒体聊天、基于位置的应用、在线教育,等等,在网络嵌套字WebSocket协议中,对于客户端而言,该计算机设备可称之为服务端,此外,在不同的业务场景中,客户端的形式也有所不同,例如,在社交订阅中,客户端可以为浏览器、即时通讯工具,在多玩家游戏中,客户端可以为浏览器、游戏应用,在协同编辑中,客户端可以为浏览器、即时通讯工具、办公工具,等等,本实施例对此不加以限制。
如果用户通过客户端的认证登录***,并建立网络嵌套字WebSocket连接,则服务端对客户端的身份信息(如账号、密码,指纹数据,人脸数据等)进行认证的,此时,可在网络嵌套字WebSocket连接中建立身份认证的体系。
一般情况下,服务端与客户端之间可以基于安全令牌token、基于cookie等作为认证信息进行身份信息的认证。
在本实施例中,基于如下至少一种因素,选择基于安全令牌token进行身份信息的认证:
1、耦合性。基于cookie进行身份信息的认证,意味着客户端本身的认证和提供网络嵌套字WebSocket的服务,是同一套session cookie的管理机制。该服务是基于java(一门面向对象编程语言)的一些web framework(网络框架),而socket由Socket.IO来提供。让两个功能的***协调一种共享的认证方式较为困难,基于安全令牌token进行身份信息可解除对服务的依赖。
2、session(会话)的管理。如果提供网络嵌套字WebSocket的服务维护基于cookie的认证,则借助一些存储(DB(data base,数据库)、Redis(Remote Dictionary Server,即远程字典服务))来存储session。而提供网络嵌套字WebSocket的服务作为一个为解决通信连接的服务,维护session的效率较低,基于安全令牌token进行身份信息可解除对session的维护。
3、适用性。cookie也会在有些设备或浏览器设置中被禁用,导致身份信息认证失败,而基于安全令牌token进行身份信息绕开cookie的禁用。
客户端在登录***时,可向服务端发送身份信息,服务端对该身份信息进行验证,若验证成功,则对该客户端生成安全令牌token,安全令牌token中包含用户信息,可用于区分不同身份的用户,一般情况下,安全令牌token由用户信息、时间戳和由hash(哈希)函数加密的签名构成。
在本发明的一个实施例中,为增强身份信息认证的安全性,客户端与服务端之间可以调用HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议)的认证接口进行身份信息认证。
服务端可调用非对称加密算法(如RSA算法)产生公钥和私钥,服务端把公钥传输至数字证书CA,并进行包装传输至客户端,当数字证书CA到达客户端之后,客户端的TLS(安全传输层协议)通过颁发机构、公钥有效期、CA数字签名等因素验证数字证书CA是否有效,若存在问题则弹出警告框,提示数字证书CA存在问题,若数字证书CA没有问题,则客户端会用对称加密产生一个密钥并用数字证书CA加密后发送给服务端,这个密钥就是以后用来通信的密钥。服务端收到数字证书CA加密的密钥,则使用自身的私钥解密从而获得密钥。这样客户端和服务端都获得了密钥,信息交流相对是安全的。
如图2所示,客户端在接收到用户输入的身份信息时,调用对称密钥算法使用该密钥对身份信息进行加密,并将加密之后的身份信息基于超文本传输安全协议HTTPS发送至服务端。
服务端基于超文本传输安全协议HTTPS接收客户端发送的身份信息,并调用对称密钥算法使用该密钥对身份信息进行解密,并对身份信息进行验证,比较当前的身份信息与在先记录的身份信息是否相同,若相同,则确定验证通过,若不同,则确定验证失败。
若验证成功,则服务端可对身份信息生成安全令牌token,调用对称密钥算法使用该密钥对安全令牌token进行加密。基于超文本传输安全协议HTTPS将安全令牌token发送至客户端。
客户端基于超文本传输安全协议HTTPS接收服务端发送的安全令牌token,并调用对称密钥算法使用该密钥对安全令牌token进行解密。
步骤102、与客户端建立网络嵌套字WebSocket连接时,与客户端交换参考数据。
在本实施例中,客户端与服务端完成对身份信息的验证时,客户端可向服务端发起网络嵌套字WebSocket的连接,在服务端与客户端建立网络嵌套字WebSocket连接的过程中,服务端与客户端可以相互交换参考数据,该参考数据可用于在客户端与服务端建立网络嵌套字WebSocket连接之后,基于挑战/应答(Challenge/Response)的方式验证客户端相对于网络嵌套字WebSocket连接的合法性。
由于挑战/应答(Challenge/Response)的方式有所不同,因此,生成的参考数据有所不同,客户端与服务端交换参考数据的方式也有所不同,本实施例对此不加以限制。
在一种情况中,如图2所示,服务端生成参考数据,为便于区分,服务端所生成的参考数据记为服务端参考数据,与客户端建立网络嵌套字WebSocket连接时,服务端将该服务端参考数据传输至客户端。
在具体实现中,客户端基于网络嵌套字WebSocket协议发送握手请求,握手请求的报头header的示例如下:
GET/chat HTTP/1.1
Host:server.example.com
Connection:Upgrade
Upgrade:websocket
Sec-WebSocket-Protocol:chat,superchat
Sec-WebSocket-Version:13
Sec-WebSocket-key:dGhlIHNhbXBsZSBub25jZQ==
其中,“Connection:Upgrade”、“Upgrade:websocket”用于通知服务端将通信协议升级至网络嵌套字WebSocket协议,“Sec-WebSocket-Protocol:chat,superchat”为用户自定义的字符串,本示例表示在同一个URL(Uniform Resource Locator,统一资源***)下,不同服务的所需要的协议,如聊天chat,“Sec-WebSocket-Version”表示网络嵌套字WebSocket协议的版本,“Sec-WebSocket-key”表示加密的字符串。
服务端可接收客户端基于网络嵌套字WebSocket协议发送的握手请求,此时,响应于握手请求,一方面,调用随机函数(如rank())随机生成字符串,作为服务端参考数据,其中,字符串的长度可以根据业务场景对加密强度、时间、带宽等因素的需求而设置,如16位,另一方面,基于网络嵌套字WebSocket协议针对握手请求生成握手响应,将服务端参考数据封装至握手响应中。
进一步而言,服务端可在握手响应的报头中生成自定义的字段,作为服务端字段,将服务端参考数据写入服务端字段中,握手响应的报头header的示例如下:
HTTP/1.1 101Switching Protocols
Upgrade:websocket
Connection:Upgrade
Sec-WebSocket-Accept:s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Sec-WebSocket-Protocol:chat
Server-Salt:123456
其中,“101Switching Protocols”为101状态码,表示切换到网络嵌套字WebSocket协议,“Sec-WebSocket-Accept”是对“Sec-WebSocket-key”中字段的加密,同意握手建立网络嵌套字WebSocket连接,客户端收到“Sec-WebSocket-Accept”后将本地的“Sec-WebSocket-key”中的字符串进行对比验证,“Server-Salt”为服务端字段,“123456”为服务端参数数据。
若封装完成,则将握手响应发送至客户端,此时,客户端与服务端的协议切换完成,服务端与客户端建立网络嵌套字WebSocket连接。
在另一种情况中,如图2所示,客户端与服务端均生成参考数据,为便于区分,客户端所生成的参考数据记为客户端参考数据,服务端所生成的参考数据记为服务端参考数据,与客户端建立网络嵌套字WebSocket连接时,客户端将该客户端参考数据传输至客户端,服务端将该服务端参考数据传输至客户端。
在具体实现中,客户端一方面调用随机函数(如rank())随机生成字符串,作为服务端参考数据,其中,字符串的长度可以根据业务场景对加密强度、时间、带宽等因素的需求而设置,如16位,另一方面基于网络嵌套字WebSocket协议发送握手请求,将客户端参考数据封装至握手响应中。
进一步而言,客户端可在握手请求的报头中生成自定义的字段,作为客户端字段,将客户端参考数据写入客户端字段中,握手请求的报头header的示例如下:
GET/chat HTTP/1.1
Host:server.example.com
Connection:Upgrade
Upgrade:websocket
Sec-WebSocket-Protocol:chat,superchat
Sec-WebSocket-Version:13
Sec-WebSocket-key:dGhlIHNhbXBsZSBub25jZQ==
Client-Slat:741852
其中,“Client-Slat”表示客户端字段,“741852”表示客户端参考数据。
服务端可接收客户端基于网络嵌套字WebSocket协议发送的握手请求,此时,从握手请求中提取指定的字符串,作为客户端参考数据。
进一步而言,可在握手请求的报头中查找自定义的字段,作为客户端字段,如“Client-Slat”,读取客户端字段中的字符串,作为客户端参考数据。
此外,响应于握手请求,一方面,调用随机函数(如rank())随机生成字符串,作为服务端参考数据,其中,字符串的长度可以根据业务场景对加密强度、时间、带宽等因素的需求而设置,如16位,另一方面,基于网络嵌套字WebSocket协议针对握手请求生成握手响应,将服务端参考数据封装至握手响应中。
进一步而言,服务端可在握手响应的报头中生成自定义的字段,作为服务端字段,将服务端参考数据写入服务端字段中,握手响应的报头header的示例如下:
HTTP/1.1 101Switching Protocols
Upgrade:websocket
Connection:Upgrade
Sec-WebSocket-Accept:s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Sec-WebSocket-Protocol:chat
Server-Salt:123456
若封装完成,则将握手响应发送至客户端,此时,客户端与服务端的协议切换完成,服务端与客户端建立网络嵌套字WebSocket连接。
当然,上述交换参考数据的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它交换参考数据的方式,例如,客户端将客户端参考数据传输至服务端,等等,本发明实施例对此不加以限制。另外,除了上述交换参考数据的方式外,本领域技术人员还可以根据实际需要采用其它交换参考数据的方式,本发明实施例对此也不加以限制。
步骤103、使用安全令牌与客户端通信之前,根据参考数据校验客户端相对于网络嵌套字WebSocket连接的合法性。
服务端与客户端建立网络嵌套字WebSocket连接之后,使用安全令牌与客户端通信之前,即,在步骤102之后、步骤105之前,可使用参考数据作为挑战Challenge,客户端对该挑战Challenge进行应答Response,从而校验客户端相对于网络嵌套字WebSocket连接的合法性,即判断客户端相对于网络嵌套字WebSocket连接是合法还是非法。
在具体实现中,如图2所示,客户端可基于参考数据按照预先约定的认证方式生成第一目标数据,将第一目标数据封装至合法性校验请求中,通过网络嵌套字WebSocket连接将合法性校验请求发送至服务端,从而通过网络嵌套字WebSocket连接将第一目标数据发送至服务端。
相对而言,服务端可通过网络嵌套字WebSocket连接接收客户端发送的第一目标数据,基于参考数据预先约定的认证方式生成第二目标数据。
由于挑战/应答(Challenge/Response)的方式有所不同,因此,参考数据有所不同,客户端与服务端预先约定的认证方式也有所不同,本实施例对此不加以限制。
在一种情况中,若参考数据为服务端参考数据,则客户端、服务端均可使用预先约定的加密算法对服务端参考数据进行加密,获得第二目标数据。
进一步而言,该加密算法可以为HMAC(Hash-based Message AuthenticationCode,哈希消息认证码),例如,MD5(Message-Digest Algorithm 5,第5版信息摘要算法)、SHA(Secure Hash Algorithm,安全散列算法)、CRC(Cyclic Redundancy Check,循环冗余校验),等等,本实施例对此不加以限制。
HMAC所使用的密钥可以使用其他方式加密,并预埋在客户端中。
在另一种情况中,若参考数据为服务端参考数据、客户端参考数据,则客户端、服务端均可使用预先约定的组合方式,基于服务端参考数据与客户端参考数据生成综合参考数据,并使用预先约定的加密算法对综合参考数据进行加密,获得第二目标数据。
进一步而言,该组合方式可以为按位相加(相同位的数据相加)、按位相减(相同位的数据相减)、按位异或(相同位的数据异或)、按位插值(其中一个参考数据中的数据***另一个参考数据处于相同位的数据之前或之后),等等,本实施例对此不加以限制。
在一个示例中,假设服务端参考数据为“123456”、客户端参考数据为“741852”,按位相加之后综合参考数据为“864CA8”,其中,“A”表示10,“C”表示12,按位插值之后综合参考数据为“172431485562”。
当然,上述生成第一目标数据、第二目标数据的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它生成第一目标数据、第二目标数据的方式,例如,在参考数据为客户端参考数据的情况下,客户端、服务端均可使用预先约定的加密算法对客户端参考数据进行加密,获得第二目标数据等等,本发明实施例对此不加以限制。另外,除了上述生成第一目标数据、第二目标数据的方式外,本领域技术人员还可以根据实际需要采用其它生成第一目标数据、第二目标数据的方式,本发明实施例对此也不加以限制。
如图2所示,若服务端生成第二目标数据,则可以将第一目标数据与第二目标数据进行比较,将比较的结果封装至合法性校验响应中,通过网络嵌套字WebSocket连接将合法性校验响应发送至客户端。
若比较的结果为第一目标数据与第二目标数据相同,表示两者的参考数据相同,当前的客户端为建立网络嵌套字WebSocket连接时的客户端,则确定当前客户端相对于网络嵌套字WebSocket连接合法。
若比较的结果为第一目标数据与第二目标数据不同,表示两者的参考数据不同,当前的客户端并非建立网络嵌套字WebSocket连接时的客户端,则确定客户端相对于网络嵌套字WebSocket连接非法。
步骤104、若客户端相对于网络嵌套字WebSocket连接合法,则维持网络嵌套字WebSocket连接。
若客户端相对于网络嵌套字WebSocket连接合法,为该客户端生成的安全令牌token泄露的风险较低,则服务端可以维持网络嵌套字WebSocket连接。
若客户端相对于网络嵌套字WebSocket连接非法,为该客户端生成的安全令牌token泄露的风险较高,则服务端可以断开网络嵌套字WebSocket连接。
步骤105、通过网络嵌套字WebSocket连接使用安全令牌与客户端进行通信。
网络嵌套字WebSocket是应用层第七层上的一个应用层协议,使用HTTP协议进行一次握手,在握手成功后,服务端与客户端通信的数据从TCP(Transmission ControlProtocol,传输控制协议)通道传输。
网络嵌套字WebSocket的数据传输是frame形式传输的,将一条消息分为几个frame,按照先后顺序传输出去。这样子,大数据的传输可以分片传输,不用考虑到数据大小导致的长度标志位不足够的情况,并且,可以边生成数据边传递消息,即提高传输效率。
网络嵌套字WebSocket传输使用的协议如下:
FIN:1位,用来表明这是一个消息的最后的消息片断,当然第一个消息片断也可能是最后的一个消息片断。
RSV1、RSV2、RSV3:分别都是1位,如果双方之间没有约定自定义协议,那么这几位的值都为0,否则断掉网络嵌套字WebSocket连接。
Opcode:4位操作码,定义有效负载数据,如果收到了一个未知的操作码,断掉网络嵌套字WebSocket连接,以下是定义的操作码:
%x0表示连续消息片断
%x1表示文本消息片断
%x2表未二进制消息片断
%x3-7为将来的非控制消息片断保留的操作码
%x8表示连接关闭
%x9表示心跳检查的ping
%xA表示心跳检查的pong
%xB-F为将来的控制消息片断的保留操作码。
Mask:1位,定义传输的数据是否有加掩码,如果设置为1,掩码键放在masking-key区域,客户端发送给服务端的所有消息,此位的值都是1。
Payload length:传输数据的长度,以字节的形式表示:7位、7+16位、或者7+64位。如果这个值以字节表示是0-125这个范围,那这个值就表示传输数据的长度;如果这个值是126,则随后的两个字节表示的是一个16进制无符号数,用来表示传输数据的长度;如果这个值是127,则随后的是8个字节表示的一个64位无符合数,这个数用来表示传输数据的长度。多字节长度的数量是以网络字节的顺序表示。负载数据的长度为扩展数据及应用数据之和,扩展数据的长度可能为0,因而此时负载数据的长度就为应用数据的长度。
Masking-key:0或4个字节,客户端发送给服务端的数据,都是通过内嵌的一个32位值作为掩码的;掩码键在掩码位设置为1的时候存在。
Payload data:(x+y)位,负载数据为扩展数据及应用数据长度之和。
Extension data:x位,如果客户端与服务端之间没有特殊约定,那么扩展数据的长度始终为0,任何的扩展都指定扩展数据的长度,或者长度的计算方式,以及在握手时如何确定正确的握手方式。如果存在扩展数据,则扩展数据包括在负载数据的长度之内。
Application data:y位,任意的应用数据,放在扩展数据之后,应用数据的长度=负载数据的长度-扩展数据的长度。
在本实施例中,如图2所示,客户端可以根据业务场景的需求生成通信请求,在该通信请求的应用数据中写入安全令牌token,并网络嵌套字WebSocket连接将通信请求发送至服务端。
则服务端可通过网络嵌套字WebSocket连接接收客户端发送的通信请求,其中,通信请求中携带安全令牌token。
在服务端的Socket.IO等模块可绑定一个全局的回调用,对安全令牌token进行验证。
若验证安全令牌token成功,则响应于通信请求,计算客户端所需的资源,将该资源写入通信响应中,通过网络嵌套字WebSocket连接将通信响应发送至客户端。
在本实施例中,针对客户端的身份信息生成安全令牌,与客户端建立网络嵌套字WebSocket连接时,与客户端交换参考数据,与客户端基于安全令牌通信之前,根据参考数据校验客户端相对于网络嵌套字WebSocket连接的合法性,若客户端相对于网络嵌套字WebSocket连接合法,则维持网络嵌套字WebSocket连接,通过网络嵌套字WebSocket连接使用安全令牌与客户端进行通信,由于参考数据是合法的客户端与服务端在建立网络嵌套字WebSocket连接时交换的,在安全令牌泄露时,不法分子无法破解合法的客户端获取该参考数据,因此,不法分子使用非法的客户端与服务端建立网络嵌套字WebSocket连接时,无法通过合法性的校验,从而阻止不法分子脱离合法的客户端自行建立网络嵌套字WebSocket连接与服务端进行通信,防范客户端脱机,提高了服务端及用户数据的安全性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例二
图3为本发明实施例二提供的一种双全工通信装置的结构框图,具体可以包括如下模块:
安全令牌生成模块301,用于针对客户端的身份信息生成安全令牌;
参考数据交换模块302,用于与所述客户端建立网络嵌套字WebSocket连接时,与所述客户端交换参考数据;
合法性校验模块303,用于使用所述安全令牌与所述客户端通信之前,根据所述参考数据校验所述客户端相对于所述网络嵌套字WebSocket连接的合法性;
通信连接维持模块304,用于若所述客户端相对于所述网络嵌套字WebSocket连接合法,则维持所述网络嵌套字WebSocket连接;
认证通信模块305,用于通过所述网络嵌套字WebSocket连接使用所述安全令牌与所述客户端进行通信。
在本发明的一个实施例中,还包括:
通信连接断开模块,用于若所述客户端相对于所述网络嵌套字WebSocket连接非法,则断开所述网络嵌套字WebSocket连接。
在本发明的一个实施例中,所述参考数据包括服务端参考数据;
所述参考数据交换模块302包括:
握手请求接收子模块,用于接收所述客户端基于网络嵌套字WebSocket协议发送的握手请求;
字符串生成子模块,用于随机生成字符串,作为服务端参考数据;
握手响应生成子模块,用于基于所述网络嵌套字WebSocket协议针对所述握手请求生成握手响应;
参考数据封装子模块,用于将所述服务端参考数据封装至所述握手响应中;
握手响应发送子模块,用于若封装完成,则将所述握手响应发送至所述客户端,以与所述客户端建立网络嵌套字WebSocket连接。
在本发明的一个实施例中,所述参考数据封装子模块包括:
服务端字段生成单元,用于在所述握手响应的报头中生成自定义的字段,作为服务端字段;
参考数据写入单元,用于将所述服务端参考数据写入所述服务端字段中。
在本发明的一个实施例中,所述参考数据还包括客户端参考数据;
所述参考数据交换模块302还包括:
参考数据提取子模块,用于从所述握手请求中提取指定的字符串,作为客户端参考数据。
在本发明的一个实施例中,所述参考数据提取子模块包括:
客户端字段查找单元,用于在所述握手请求的报头中查找自定义的字段,作为客户端字段;
字符串读取单元,用于读取所述客户端字段中的字符串,作为客户端参考数据。
在本发明的一个实施例中,所述合法性校验模块303包括:
第一目标数据接收子模块,用于通过所述网络嵌套字WebSocket连接接收所述客户端发送的第一目标数据;
第二目标数据生成子模块,用于基于所述参考数据生成第二目标数据;
合法确定子模块,用于若所述第一目标数据与所述第二目标数据相同,则确定所述客户端相对于所述网络嵌套字WebSocket连接合法;
非法确定子模块,用于若所述第一目标数据与所述第二目标数据不同,则确定所述客户端相对于所述网络嵌套字WebSocket连接非法。
在本发明的一个实施例中,所述参考数据包括服务端参考数据、客户端参考数据;所述第二目标数据生成子模块包括:
第一加密单元,用于对所述服务端参考数据进行加密,获得第二目标数据;
或者,
综合参考数据生成单元,用于基于所述服务端参考数据与所述客户端参考数据生成综合参考数据;
第二加密单元,用于对所述综合参考数据进行加密,获得第二目标数据。
在本发明的一个实施例中,所述安全令牌生成模块301包括:
身份信息接收子模块,用于基于超文本传输安全协议HTTPS接收客户端发送的身份信息;
身份信息验证子模块,用于对所述身份信息进行验证;
安全令牌生成子模块,用于若验证成功,则对所述身份信息生成安全令牌;
安全令牌发送子模块,用于基于所述超文本传输安全协议HTTPS将所述安全令牌发送至所述客户端。
在本发明的一个实施例中,所述认证通信模块305包括:
通信请求接收子模块,用于通过所述网络嵌套字WebSocket连接接收所述客户端发送的通信请求,所述通信请求中携带所述安全令牌;
安全令牌验证子模块,用于对所述安全令牌进行验证;
通信响应发送子模块,用于若验证成功,则通过所述网络嵌套字WebSocket连接将通信响应发送至所述客户端。
本发明实施例所提供的双全工通信装置可执行本发明任意实施例所提供的双全工通信方法,具备执行方法相应的功能模块和有益效果。
实施例三
图4为本发明实施例三提供的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的双全工通信方法。
实施例四
本发明实施例四还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述双全工通信方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (13)
1.一种双全工通信方法,其特征在于,包括:
针对客户端的身份信息生成安全令牌;
与所述客户端建立网络嵌套字WebSocket连接时,与所述客户端交换参考数据;所述参考数据包括客户端参考数据和服务端参考数据;
使用所述安全令牌与所述客户端通信之前,根据所述参考数据校验所述客户端相对于所述网络嵌套字WebSocket连接的合法性;
若所述客户端相对于所述网络嵌套字WebSocket连接合法,则维持所述网络嵌套字WebSocket连接;
通过所述网络嵌套字WebSocket连接使用所述安全令牌与所述客户端进行通信;
所述与所述客户端建立网络嵌套字WebSocket连接时,与所述客户端交换参考数据,包括:
接收所述客户端基于网络嵌套字WebSocket协议发送的握手请求,从所述握手请求中提取客户端参考数据;
基于所述网络嵌套字WebSocket协议针对所述握手请求生成握手响应;
将所述服务端参考数据封装至所述握手响应中;
若封装完成,则将所述握手响应发送至所述客户端,以与所述客户端建立网络嵌套字WebSocket连接。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述客户端相对于所述网络嵌套字WebSocket连接非法,则断开所述网络嵌套字WebSocket连接。
3.根据权利要求1所述的方法,其特征在于,
所述与所述客户端建立网络嵌套字WebSocket连接时,与所述客户端交换参考数据,还包括:
随机生成字符串,作为服务端参考数据。
4.根据权利要求1所述的方法,其特征在于,所述将所述服务端参考数据封装至所述握手响应中,包括:
在所述握手响应的报头中生成自定义的字段,作为服务端字段;
将所述服务端参考数据写入所述服务端字段中。
5.根据权利要求1所述的方法,其特征在于,所述与所述客户端建立网络嵌套字WebSocket连接时,与所述客户端交换参考数据,还包括:
从所述握手请求中提取指定的字符串,作为客户端参考数据。
6.根据权利要求5所述的方法,其特征在于,所述从所述握手请求中提取指定的字符串,作为客户端参考数据,包括:
在所述握手请求的报头中查找自定义的字段,作为客户端字段;
读取所述客户端字段中的字符串,作为客户端参考数据。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述参考数据校验所述客户端相对于所述网络嵌套字WebSocket连接的合法性,包括:
通过所述网络嵌套字WebSocket连接接收所述客户端发送的第一目标数据;
基于所述参考数据生成第二目标数据;
若所述第一目标数据与所述第二目标数据相同,则确定所述客户端相对于所述网络嵌套字WebSocket连接合法;
若所述第一目标数据与所述第二目标数据不同,则确定所述客户端相对于所述网络嵌套字WebSocket连接非法。
8.根据权利要求7所述的方法,其特征在于,所述基于所述参考数据生成第二目标数据,包括:
基于所述服务端参考数据与所述客户端参考数据生成综合参考数据;
对所述综合参考数据进行加密,获得第二目标数据。
9.根据权利要求1-6任一项所述的方法,其特征在于,所述针对客户端的身份信息生成安全令牌,包括:
基于超文本传输安全协议HTTPS接收客户端发送的身份信息;
对所述身份信息进行验证;
若验证成功,则对所述身份信息生成安全令牌;
基于所述超文本传输安全协议HTTPS将所述安全令牌发送至所述客户端。
10.根据权利要求1-6任一项所述的方法,其特征在于,所述通过所述网络嵌套字WebSocket连接使用所述安全令牌与所述客户端进行通信,包括:
通过所述网络嵌套字WebSocket连接接收所述客户端发送的通信请求,所述通信请求中携带所述安全令牌;
对所述安全令牌进行验证;
若验证成功,则通过所述网络嵌套字WebSocket连接将通信响应发送至所述客户端。
11.一种双全工通信装置,其特征在于,包括:
安全令牌生成模块,用于针对客户端的身份信息生成安全令牌;
参考数据交换模块,用于与所述客户端建立网络嵌套字WebSocket连接时,与所述客户端交换参考数据;所述参考数据包括客户端参考数据和服务端参考数据;
合法性校验模块,用于使用所述安全令牌与所述客户端通信之前,根据所述参考数据校验所述客户端相对于所述网络嵌套字WebSocket连接的合法性;
通信连接维持模块,用于若所述客户端相对于所述网络嵌套字WebSocket连接合法,则维持所述网络嵌套字WebSocket连接;
认证通信模块,用于通过所述网络嵌套字WebSocket连接使用所述安全令牌与所述客户端进行通信;
所述参考数据交换模块包括:
握手请求接收子模块,用于接收所述客户端基于网络嵌套字WebSocket协议发送的握手请求,从所述握手请求中提取客户端参考数据;
握手响应生成子模块,用于基于所述网络嵌套字WebSocket协议针对所述握手请求生成握手响应;
参考数据封装子模块,用于将所述服务端参考数据封装至所述握手响应中;
握手相应发送子模块,用于若封装完成,则将所述握手响应发送至所述客户端,以与所述客户端建立网络嵌套字WebSocket连接。
12.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的双全工通信方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-10中任一项所述的双全工通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011552858.0A CN112689014B (zh) | 2020-12-24 | 2020-12-24 | 一种双全工通信方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011552858.0A CN112689014B (zh) | 2020-12-24 | 2020-12-24 | 一种双全工通信方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112689014A CN112689014A (zh) | 2021-04-20 |
CN112689014B true CN112689014B (zh) | 2024-06-21 |
Family
ID=75452890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011552858.0A Active CN112689014B (zh) | 2020-12-24 | 2020-12-24 | 一种双全工通信方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112689014B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598603A (zh) * | 2022-03-22 | 2022-06-07 | 北京东土科技股份有限公司 | 一种tsn网络的调度方法和集中式网络配置器及外置调度器 |
CN115037507B (zh) * | 2022-04-22 | 2024-04-05 | 京东科技控股股份有限公司 | 用户访问管理的方法、装置和*** |
CN117692448B (zh) * | 2024-02-02 | 2024-04-26 | 深圳安德空间技术有限公司 | 针对三维探地雷达探测地下空间的远程实时监控方法及*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527774B2 (en) * | 2009-05-28 | 2013-09-03 | Kaazing Corporation | System and methods for providing stateless security management for web applications using non-HTTP communications protocols |
JP5662391B2 (ja) * | 2012-08-17 | 2015-01-28 | 株式会社東芝 | 情報操作装置、情報出力装置および情報処理方法 |
US20160184710A1 (en) * | 2014-12-31 | 2016-06-30 | Wrafl, Inc. | Secure Computing for Virtual Environment and Interactive Experiences |
CN109347809B (zh) * | 2018-09-25 | 2021-01-08 | 北京计算机技术及应用研究所 | 一种面向自主可控环境下的应用虚拟化安全通信方法 |
CN111901116B (zh) * | 2019-05-05 | 2023-05-30 | 厦门雅迅网络股份有限公司 | 一种基于eap-md5改进协议的身份认证方法及*** |
CN110190955B (zh) * | 2019-05-27 | 2022-05-24 | 新华三信息安全技术有限公司 | 基于安全套接层协议认证的信息处理方法及装置 |
CN110971616B (zh) * | 2019-12-24 | 2022-04-01 | 广州市百果园信息技术有限公司 | 基于安全传输层协议的连接建立方法、客户端和服务器 |
CN111163164B (zh) * | 2019-12-27 | 2022-09-13 | 山东乾云启创信息科技股份有限公司 | 一种基于鲲鹏芯片的云桌面安全传输方法及装置 |
-
2020
- 2020-12-24 CN CN202011552858.0A patent/CN112689014B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112689014A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112689014B (zh) | 一种双全工通信方法、装置、计算机设备和存储介质 | |
WO2021196915A1 (zh) | 基于加密、解密操作的数据传输方法、***和计算机设备 | |
US8527762B2 (en) | Method for realizing an authentication center and an authentication system thereof | |
CN110096894B (zh) | 一种基于区块链的数据匿名共享***及方法 | |
CN112511514A (zh) | 一种http加密传输方法、装置、计算机设备及存储介质 | |
CN114244508B (zh) | 数据加密方法、装置、设备及存储介质 | |
CN112968910B (zh) | 一种防重放攻击方法和装置 | |
US7363486B2 (en) | Method and system for authentication through a communications pipe | |
US10728045B2 (en) | Authentication device, authentication system, authentication method, and program | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
CN115333839B (zh) | 数据安全传输方法、***、设备及存储介质 | |
CN111600948B (zh) | 基于标识密码的云平台应用和数据安全处理方法、***、存储介质、程序 | |
CN113610526A (zh) | 一种数据信任方法、装置、电子设备及存储介质 | |
CN109862009A (zh) | 一种客户端身份校验方法及装置 | |
CN114448605A (zh) | 加密密文校验方法、***、设备及计算机可读存储介质 | |
CN113630412B (zh) | 资源下载方法、资源下载装置、电子设备以及存储介质 | |
CN116633582A (zh) | 安全通信方法、装置、电子设备及存储介质 | |
CN111249740A (zh) | 一种资源数据的访问方法及*** | |
WO2022042198A1 (zh) | 身份验证方法、装置、计算机设备和存储介质 | |
CN116709325B (zh) | 一种基于高速加密算法的移动设备安全认证方法 | |
CN111294359B (zh) | 压力测试方法、装置、计算机设备和存储介质 | |
CN116647345A (zh) | 权限令牌的生成方法以及装置、存储介质、计算机设备 | |
CN112073963A (zh) | 通信交互数据传输方法及装置 | |
CN111382451A (zh) | 一种密级标识方法、装置、电子设备及存储介质 | |
CN113225348B (zh) | 请求防重放校验方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |