基于TCP通信自定义协议的配置方法技术

技术编号:30640492 阅读:16 留言:0更新日期:2021-11-04 00:35
本发明专利技术公开了基于TCP通信自定义协议的配置方法,通过客户端连接服务端成功建立TCP通信;之后客户端或服务端通过心跳机制维持TCP长连接,心跳消息传输采用步骤三消息格式;再之后客户端或服务端通过TCP长连接进行数据传输,数据传输协议采用自定义协议数据;之后客户端或服务端对数据按照上述自定义协议格式进行解析,根据消息体签名验证消息体数据是否完整,若根据预设规则校验通过,则执行步骤五,否则终止处理流程,响应客户端或服务端;最后客户端或服务端对已正常解析消息体数据进行SM4解密,按照指令类型执行相应处理,处理完成,响应客户端或服务端。实现通信协议的友好配置,也能对相关消息进行合理加密,防止窥视。防止窥视。防止窥视。

【技术实现步骤摘要】
基于TCP通信自定义协议的配置方法


[0001]本专利技术属于协议配置领域,涉及TCP通信技术,具体是基于TCP通信自定义协议的配置方法。

技术介绍

[0002]众所周知,当前是个信息时代,信息的价值在于能够传输和交换,不管是日常事务还是计算机本身,如果没有数据的交互这将使得互联网变得毫无价值。信息的传递必然伴随着传递方式的约定,而且对于不同的场景约定也会有所不同,虽然当前已经存在了诸多协议来解决各种场景的数据传输问题,但是众口难调,无法一规以蔽之。于是日益增长的网络传输需要和落后的现实之间的矛盾油然而生。于是面对不同的场景不同的需求,协议“定制”就显得灵活和必要。
[0003]公开号为CN103428839A的专利公开了一种TCP命令字的处理方法及装置,用以保障发送端的工作性能,进而保障系统的整体性能。该方法为:发送端向接收端不连续发送数据,以及接收接收端返回的TCP命令字,其中,发送端针对接收端在无数据发送的初始时刻开始的第M个子帧之后的连续L+1个子帧上发送的TCP命令字不进行响应,以及发送端针对接收端发送的其他TCP命令字进行响应,其中,M为接收端针对TCP命令字的反馈时延,L为发送端相对于接收端无数据发送的子帧数目。这样,既可以保证链路性能,又能够最大程度地避免发送功率出现过高、过低或者波动现象,进而有效保障了发送端的工作性能,以及保障了系统的整体性能。
[0004]但是,该系列专利中,缺乏自定义协议格式,且该自定义协议格式对部分内容缺乏合理的加密处理;基于此,现提供一种解决方案。

技术实现思路

[0005]本专利技术的目的在于提供基于TCP通信自定义协议的配置方法。
[0006]本专利技术的目的可以通过以下技术方案实现:
[0007]基于TCP通信自定义协议的配置方法,包括如下步骤:
[0008]步骤一:Websocket客户端连接服务端成功建立TCP通信;
[0009]步骤二:客户端或服务端通过心跳机制维持TCP长连接,心跳消息传输采用步骤三消息格式;
[0010]步骤三:客户端或服务端通过TCP长连接进行数据传输,数据传输协议采用自定义协议数据;自定义协议数据包括消息头和消息体;
[0011]消息头由指令类型、消息体长度、消息体签名、消息体依次拼接;指令类型使用十六进制表示,字节数为两个字节;消息体长度描述消息体加密后的数据长度,字节数为四个字节;消息体签名描述消息体信息摘要,采用挑选性加密算法加密;消息体描述真实数据,采用国密SM4对称加密算法加密,字节数不定;
[0012]消息体为服务之间交互所发送或接受的加密数据,数据格式为json字符串,加密
方式为SM4算法加密;
[0013]自定义协议数据由指令类型、消息体长度、消息体签名、消息体依次拼接,验证时需要依据上述格式依次解析校验;
[0014]步骤四:客户端或服务端对数据按照上述自定义协议格式进行解析,根据消息体签名验证消息体数据是否完整,若根据预设规则校验通过,则执行步骤五,否则终止处理流程,响应客户端或服务端;
[0015]步骤五:客户端或服务端对已正常解析消息体数据进行SM4解密,按照指令类型执行相应处理,处理完成,响应客户端或服务端。
[0016]进一步地,步骤三中,对消息体签名进行挑选性加密算法加密的具体过程为:
[0017]S1:获取到消息体签名,将其所有字符标记为Fi,i=1...n;其中Fi表示为消息体签名的第i个字符;
[0018]S2:之后获取到所有的标准参照表,标准参照表为所有作为消息体签名的内容的组成字符,所有字符采取无序的方式随机排列,每一个都具备有指定的序列号;
[0019]S3:之后获取到Fi,将Fi与标准参照表进行比对,得到对应的序列号,将对应序列号标记为Fi的列序值;
[0020]S4:对列序值进行从大到小的方式进行排序之后,按照该顺序给Fi进行重组,将得到的内容标记为核验签名,将核验签名和Fi融合。
[0021]进一步地,步骤三中,对消息体签名进行挑选性加密算法加密的具体过程为:
[0022]SS1:获取到消息体签名,将其所有字符标记为Fi,i=1...n;其中Fi表示为消息体签名的第i个字符;
[0023]SS2:之后获取到消息体签名Fi的时间戳,以月日时分的格式获取,将各个位置上的数值按照顺序依次标记为时间数字组T1

T8;
[0024]SS3:之后利用公式对时间数字组进行计算,得到剔除值Ct,具体计算公式为:
[0025][0026]式中,QGZ表示为对括号内的数值取个位上的数值;
[0027]SS4:当Ct小于等于n时,获取到剔除值Ct;将消息体签名Fi按照次序排列,之后从i=1开始进行计数;
[0028]SS5:当i=Ct时,或者等于Ct的整数倍的对应值挑选出来,将对应的消息体签名Fi标记为剔除签名;
[0029]此处当Ct大于n时,则不采用上述方式,此时会自动对Ct进行重新赋值,具体赋值方式为:
[0030]将剔除值重新认定为:取余{Ct/n};得到新的剔除值,重新借助步骤S5的原理获取到所有的剔除签名;
[0031]SS6:去除掉对应的剔除签名,将剩余的标记为核验签名,将核验签名和Fi融合。
[0032]进一步地,步骤三中,对消息体签名进行挑选性加密算法加密的具体过程为:
[0033]S001:获取到消息体签名,将其所有字符标记为Fi,i=1...n;其中Fi表示为消息体签名的第i个字符;
[0034]S002:之后获取到消息体签名Fi的时间戳,以月日时分的格式获取,将各个位置上
的数值按照顺序依次标记为时间数字组T1

T8;
[0035]S003:之后利用公式对时间数字组进行计算,得到剔除值Ct,具体计算公式为:
[0036][0037]式中,QGZ表示为对括号内的数值取个位上的数值;
[0038]S004:获取到所有的标准参照表,标准参照表为所有作为消息体签名的内容的组成字符,所有字符采取无序的方式随机排列,每一个都具备有指定的序列号;
[0039]S005:将i+Ct,之后对应将i的消息体签名转换为对应标准参照表内序列号,对应的字符,得到新的字符构成的,得到新的内容标记为核验签名。
[0040]进一步地,步骤三中的,对消息体签名进行挑选性加密算法加密的具体过程为:
[0041]S01:将权利要求2到权利要求4的三种对消息体签名加密为核验签名的方式,依次标记为方式一、方式二和方式三;
[0042]S02:获取到消息体签名Fi的时间戳,以月日时分的格式获取,将各个位置上的数值按照顺序依次标记为时间数字组T1

T8;
[0043]S03:之后利用公式对时间数字组进行计算,得到剔除值Ct,具体计算公式为:
[0044][0045]式中,QGZ表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于TCP通信自定义协议的配置方法,其特征在于,包括如下步骤:步骤一:Websocket客户端连接服务端成功建立TCP通信;步骤二:客户端或服务端通过心跳机制维持TCP长连接,心跳消息传输采用步骤三消息格式;步骤三:客户端或服务端通过TCP长连接进行数据传输,数据传输协议采用自定义协议数据;自定义协议数据包括消息头和消息体;步骤四:客户端或服务端对数据按照自定义协议数据的格式进行解析,根据消息体签名验证消息体数据是否完整,若根据预设规则校验通过,则执行步骤五,否则终止处理流程,响应客户端或服务端;步骤五:客户端或服务端对已正常解析消息体数据进行SM4解密,按照指令类型执行相应处理,处理完成,响应客户端或服务端。2.根据权利要求1所述的基于TCP通信自定义协议的配置方法,其特征在于:消息头由指令类型、消息体长度、消息体签名、消息体依次拼接;指令类型使用十六进制表示,字节数为两个字节;消息体长度描述消息体加密后的数据长度,字节数为四个字节;消息体签名描述消息体信息摘要,采用挑选性加密算法加密;消息体描述真实数据,采用国密SM4对称加密算法加密,字节数不定;消息体为服务之间交互所发送或接受的加密数据,数据格式为json字符串,加密方式为SM4算法加密。3.根据权利要求1所述的基于TCP通信自定义协议的配置方法,其特征在于:自定义协议数据由指令类型、消息体长度、消息体签名、消息体依次拼接,验证时需要依据上述格式依次解析校验。4.根据权利要求1所述的基于TCP通信自定义协议的配置方法,其特征在于,步骤三中,对消息体签名进行挑选性加密算法加密的具体过程为:S1:获取到消息体签名,将其所有字符标记为Fi,i=1...n;其中Fi表示为消息体签名的第i个字符;S2:之后获取到所有的标准参照表,标准参照表为所有作为消息体签名的内容的组成字符,所有字符采取无序的方式随机排列,每一个都具备有指定的序列号;S3:之后获取到Fi,将Fi与标准参照表进行比对,得到对应的序列号,将对应序列号标记为Fi的列序值;S4:对列序值进行从大到小的方式进行排序之后,按照该顺序给Fi进行重组,将得到的内容标记为核验签名,将核验签名和Fi融合。5.根据权利要求1所述的基于TCP通信自定义协议的配置方法,其特征在于,步骤三中,对消息体签名进行挑选性加密算法加密的具体过程为:SS1:获取到消息体签名,将其所有字符标记为Fi,i=1...n;其中Fi表示为消息体签名的第i个字符;SS2:之后获取到消息体签名Fi的时间戳,以月日时分的格式获取,将各个位置上的数值按照顺序依次标记为时间数字组T1~T8;SS3:之后利用公式对时间数字组进行计算,得到剔除值Ct,具体计算公式为:...

【专利技术属性】
技术研发人员:龚徐建徐赟吴剑锋徐宏王家良
申请(专利权)人:杭州天宽科技有限公司
类型:发明
国别省市:

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

1