System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于第三方辅助的TLS协议的NAT穿透方法技术_技高网

一种基于第三方辅助的TLS协议的NAT穿透方法技术

技术编号:40354926 阅读:7 留言:0更新日期:2024-02-09 14:40
本发明专利技术公开了一种基于第三方辅助的TLS协议的NAT穿透方法,包括:准备NAT穿透,第一TLS节点A和第二TLS节点B分别与第三方节点C建立连接;第三方节点C获取第一TLS节点A和第二TLS节点B的信息,并通过该信息确定第一TLS节点A和第二TLS节点B的身份,并把确定的身份发送至第一TLS节点A和第二TLS节点B;第一TLS节点A和第二TLS节点B获取TLS握手时身份后建立TCP连接,并基于TLS握手时身份执行对应的TLS握手。通过第三方节点,解决了TLS握手过程中出现身份异常,导致无法完成TLS握手的问题。

【技术实现步骤摘要】

本专利技术涉及网络安全,更具体的说是涉及一种基于第三方辅助的tls协议的nat穿透方法。


技术介绍

1、目前,tls(transport layer security,安全传输层协议)协议的nat(networkaddress translation,网络地址转换)穿透方法步骤是:先穿透nat建立tcp连接,再基于tcp完成tls握手。其中,穿透nat建立tcp连接过程为:双方发送建立连接请求,双方的连接请求一起发送时才能穿透nat让对方收到,从而完成tcp的建立连接过程,因为双方都是主动发送连接请求后成功建立tcp连接的,于是双方都认为自己是这个tcp连接的客户端。基于tcp连接完成tls握手过程为:双方都视自己为tcp的客户端,于是由客户端向服务器均发起加密通信请求clienthello,然后均等待对方的serverhello(将服务器选择的连接参数传送回客户端),但是tcp协议是串行发送消息,所以双方都在等待对方serverhello的时候,首先收到了对方发送的clienthello,于是出现身份异常,tls握手失败。

2、因此,如何提供一种借助第三方协商确定身份的方法,解决tls握手时身份异常是本领域技术人员亟需解决的问题。


技术实现思路

1、有鉴于此,本专利技术提供了一种基于第三方辅助的tls协议的nat穿透方法,解决了tls握手过程中出现身份异常,导致无法完成tls握手的问题,具有优秀的穿透性、实现全密文通信。

2、为了实现上述目的,本专利技术采用如下技术方案:

3、一种基于第三方辅助的tls协议的nat穿透方法,包括:

4、准备nat穿透,第一tls节点a和第二tls节点b分别与第三方节点c建立连接;

5、第三方节点c获取第一tls节点a和第二tls节点b的信息,并通过该信息确定第一tls节点a和第二tls节点b的身份,并把确定的身份发送至第一tls节点a和第二tls节点b;

6、第一tls节点a和第二tls节点b获取tls握手时身份后建立tcp连接,并基于tls握手时身份执行对应的tls握手。

7、优选地,第一tls节点a和第二tls节点b获取tls握手时身份后建立tcp连接,并基于tls握手时身份执行对应的tls握手具体包括:

8、若第一tls节点a是客户端、第二tls节点是服务端,第一tls节点a和第二tls节点同时发送连接请求,建立tcp连接,第一tls节点a执行客户端的握手操作,第二tls节点b执行服务端的握手操作,完成tls握手流程,实现tls协议的nat穿透;

9、若第一tls节点a是服务端、第二tls节点是客户端,第一tls节点a和第二tls节点同时发送连接请求,建立tcp连接,第二tls节点a执行客户端的握手操作,第一tls节点b执行服务端的握手操作,完成tls握手流程,实现tls协议的nat穿透。

10、优选地,第一tls节点a和第二tls节点b分别与第三方节点c建立连接的方式,包括但不限于tcp连接或udp连接。

11、优选地,第三方节点c获取第一tls节点a和第二tls节点b的信息,该信息包括但不限于节点id或网络地址。

12、优选地,第一tls节点a和第二tls节点b获取tls握手时身份后建立tcp连接,包括但不限于通过打洞的方式创建tcp连接。

13、优选地,第一tls节点a和第二tls节点b处于各自nat设备的后面。

14、经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种基于第三方辅助的tls协议的nat穿透方法,通过第三方节点,提前获得nat穿透过程中tls握手时,本节点是作为tls的客户端还是tls的服务端,从而在tls握手阶段,根据提前获知的身份,执行对应的tls握手操作,从而完成整个tls握手,建立tls连接,实现tls协议的nat穿透。

本文档来自技高网...

【技术保护点】

1.一种基于第三方辅助的TLS协议的NAT穿透方法,其特征在于,包括:

2.根据权利要求1所述的一种基于第三方辅助的TLS协议的NAT穿透方法,其特征在于,第一TLS节点A和第二TLS节点B获取TLS握手时身份后建立TCP连接,并基于TLS握手时身份执行对应的TLS握手具体包括:

3.根据权利要求1所述的一种基于第三方辅助的TLS协议的NAT穿透方法,其特征在于,第一TLS节点A和第二TLS节点B分别与第三方节点C建立连接的方式,包括但不限于TCP连接或UDP连接。

4.根据权利要求1所述的一种基于第三方辅助的TLS协议的NAT穿透方法,其特征在于,第三方节点C获取第一TLS节点A和第二TLS节点B的信息,该信息包括但不限于节点id或网络地址。

5.根据权利要求1所述的一种基于第三方辅助的TLS协议的NAT穿透方法,其特征在于,第一TLS节点A和第二TLS节点B获取TLS握手时身份后建立TCP连接,包括但不限于通过打洞的方式创建TCP连接。

6.根据权利要求1所述的一种基于第三方辅助的TLS协议的NAT穿透方法,其特征在于,第一TLS节点A和第二TLS节点B处于各自NAT设备的后面。

...

【技术特征摘要】

1.一种基于第三方辅助的tls协议的nat穿透方法,其特征在于,包括:

2.根据权利要求1所述的一种基于第三方辅助的tls协议的nat穿透方法,其特征在于,第一tls节点a和第二tls节点b获取tls握手时身份后建立tcp连接,并基于tls握手时身份执行对应的tls握手具体包括:

3.根据权利要求1所述的一种基于第三方辅助的tls协议的nat穿透方法,其特征在于,第一tls节点a和第二tls节点b分别与第三方节点c建立连接的方式,包括但不限于tcp连接或udp连接。

4.根据权利要求1所述...

【专利技术属性】
技术研发人员:谢博阳万明超董进任常锐
申请(专利权)人:北京微芯区块链与边缘计算研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1