CN112671788A - 一种基于tcp的可扩展的物联网安全通信方法 - Google Patents

一种基于tcp的可扩展的物联网安全通信方法 Download PDF

Info

Publication number
CN112671788A
CN112671788A CN202011599794.XA CN202011599794A CN112671788A CN 112671788 A CN112671788 A CN 112671788A CN 202011599794 A CN202011599794 A CN 202011599794A CN 112671788 A CN112671788 A CN 112671788A
Authority
CN
China
Prior art keywords
array
byte
length
acquiring
check
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.)
Granted
Application number
CN202011599794.XA
Other languages
English (en)
Other versions
CN112671788B (zh
Inventor
杨博
聂学良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Masterpiece Precision Equipment LLC
Original Assignee
Sichuan Masterpiece Precision Equipment LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Masterpiece Precision Equipment LLC filed Critical Sichuan Masterpiece Precision Equipment LLC
Priority to CN202011599794.XA priority Critical patent/CN112671788B/zh
Publication of CN112671788A publication Critical patent/CN112671788A/zh
Application granted granted Critical
Publication of CN112671788B publication Critical patent/CN112671788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于TCP的可扩展的物联网安全通信方法,其特征在于包括以下步骤:S100:构建可扩展的传输协议,协议包括协议头、可扩展内容、校验码;S200:同步服务端状态及客户端状态;S300:加密数据,包括以下步骤:S301:获取待加密字符串及其字节长度L,将字节长度L的字节长度为4字节,将字节长度L进行四次计算后的结果作为四个元素并分别计入第一长度数组,将待加密字符串以字节为单位并以各个字节分别作为各个元素并计入第一数组;S302:构建密钥;S303:加密字符串;S304:加密完成,获取到密文数组计入第二数组;S305:S305:生成第二数组的校验值,根据校验值生成第一校验数组;S306:根据协议头、第一长度数组、第二数组及第一校验数组生成完整的加密数据;S400:解密数据。

Description

一种基于TCP的可扩展的物联网安全通信方法
技术领域
本发明属于物联网技术应用领域,涉及一种基于TCP的可扩展的物联网安全通信方法。
背景技术
物联网将信息网络的连接及服务的对象从人扩展到物,从以人为连接及服务对象加以扩展,从而实现真正意义的万物互联。随着大时代的来临,通信数据安全必然是必须要解决的问题。传统的物联网方案通常存在以下问题:
1、忽视数据的重要性,数据传输基本上都是不做保护,使得整套系统裸露出来,很容易遭到窃取和攻击。
2、使用传统的加密方式:一般使用固定密钥,或者固定的加密方式,一旦出现人为的密钥泄露,那么程序便被不攻自破。
3、某些加密方式会使得传输交互的数据变长,冗余数据的增多会影响整套系统的效率。
4、过度加密,过度加密会影响程序的即时性,不适用于即时性要求高的系统。
5、定义协议的适应性差、扩展性差。
发明内容
针对现有技术的不足,本发明提供了一种基于TCP的可扩展的物联网安全通信方法,本方法完全开放数据区域,整个区域完全使用可变数据的形式,换言之,可扩展内容的内容主体的数据格式及字节长度由用户自行定义并扩展,使得消息体的生成方式和解析方式得到统一,增加指令的扩展性和适应性。同时最大程度保证数据传输的随机性,根据不同的时间,不同的数据长度,不同的目标设备生成不同的密钥,并兼顾保证数据的简洁,不过度加密,滥用加密,尽量减少系统处理数据的负担。本发明具有以下有益效果:
1、针对数据区域进行加密,传输加密数据并保证数据的安全性。
2、通过时间种子、数据长度、目标设备唯一识别码组合使用并生成服务器与目标设备单独的密钥。
3、加密之后整个数据区域长度不变,保证数据的简洁
4、只针对数据区域加密,不过度加密、不影响系统的即时性。
5、提供高度可扩展性,可以适应不同的物联网系统。
本发明申请包括以下步骤:
S100:构建可扩展的传输协议,所述协议包括协议头、可扩展内容、校验码;
S200:同步服务端状态及客户端状态;
S300:加密数据,包括以下步骤:
S301:获取待加密字符串及其字节长度L,将所述字节长度L的字节长度为4字节,将所述字节长度L进行四次计算后的结果作为四个元素并分别计入第一长度数组,将所述待加密字符串以字节为单位并以各个字节分别作为各个元素并计入第一数组;
S302:构建密钥,包括以下步骤:
S3021:获取当前时间为H时M分,当M的值大于40的时候,则H的值修改为H+1,将H以字节为单位并以各个字节为元素,计入第一时间数组;
S3022:获取客户端的MAC地址,将MAC地址以字节为单位并以各个字节为元素,计入第一MAC数组;
S3023:第一长度数组与第一时间数组按位异或,所得结果再与第一MAC数组按位异或,用以生成当前客户端的第一动态密钥,其中,异或运算的各个数组的字节位数不一致则高位填零;
S303:加密字符串,包括以下步骤:
S3031:构建字节长度为所述字节长度L的空数组,记为第二数组;
S3032:遍历第一数组,当存在元素时记为第一数组_当前元素,获取第一数组_当前元素在第一数组中的顺序位置并记为第一数组_当前元素位置,当不存在元素时表示遍历完成,执行步骤S304;
S3033:获取第一动态密钥的元素个数并记为第一动态密钥元素个数,第一数组_当前元素位置除以第一动态密钥元素个数取余并记为第一余数,在第一动态密钥顺序获取第一余数对应位置的元素的值,记为第一动态密钥_第一余数_元素值,将第一动态密钥_第一余数_元素值与第一数组_当前元素位置对应元素的值按位异或,其结果添加到第二数组中,完成当前单字节的加密;
S3034:将当前已加密的单字节对应的元素从第一数组中删除,执行3032;
S304:加密完成,获取到密文数组计入第二数组;
S305:生成第二数组的校验值,根据校验值生成第一校验数组,包括以下步骤:
S3051:创建一个空的2字节长度数组,记为第一校验数组;
S3052:校验值右移8位,再与0xFF作与运算,所得结果作为第一校验数组的第一个元素并计入第一校验数组;
S3053:校验值与0xFF作与运算,所得结果作为第一校验数组的第二个元素并计入第一校验数组;
S306:根据协议头、第一长度数组、第二数组及第一校验数组生成完整的加密数据;
S400:解密数据。
优选地,可扩展内容包括可扩展内容的字节长度内容主体,其中,
所述内容主体的数据格式及字节长度由用户自行定义并扩展;
可扩展内容的字节长度指所述内容主体的字节长度;
可扩展内容的各字节求和所得的值生成校验数组。
优选地,所述步骤S200包括以下步骤:
S201:客户端与服务端经过N次握手建立TCP通道,构建关联字典,其中,N为3;
S202:客户端发送自身的MAC地址,服务端以MAC地址为键,以TCP通道为值,在关联字典中建立关联;
S203:服务端下发时间信息,客户端收到时间信息后完成与服务端的时间同步;
S204:通道关联完成,等待数据交互。
优选地,所述步骤S301中所述四次计算包括以下步骤:
S3011:获取所述字节长度L的内容并右移24位后与0xFF做与运算,其结果为第一长度数组的第一个元素;
S3012:获取所述字节长度L的内容并右移16位后与0xFF做与运算,其结果为第一长度数组的第二个元素;
S3013:获取所述字节长度L的内容并右移8位后与0xFF做与运算,其结果为第一长度数组的第三个元素;
S3014:获取所述字节长度L的内容与0xFF做与运算,其结果为第一长度数组的第四个元素;
待加密字符串及其字节长度L,将所述字节长度L的字节长度为4字节,将所述字节长度L以字节为单位并以各个字节分别作为各个元素计入第一长度数组。
优选地,所述步骤S400包括以下步骤:
S401:验证传输数据的完整性,包括以下步骤:
S4011:从TCP通道中获取到TCP数组并获取其字节长度;
S4012:获取当前TCP数组的协议头的位置;
S4013:TCP数组的字节长度减当前TCP数组的协议头的位置的值是否大于4,如果是,表示剩余的数据能够分割出完整的密文数据,执行步骤S4014,否则,执行步骤S405;
S4014:获取协议头的位置后连续4字节的内容作为数组,并计算出数组的值作为第二长度数组_字节长度;
S4015:判断TCP数组的字节长度减协议头的位置是否大于4+第二长度数组_字节长度+2,如果是,表示剩余的数据能够分割出完整的密文数据,执行步骤S4016,否则,执行步骤S405;
S4016:获取加密数据数组中协议头的位置+4至协议头的位置+4+第二长度数组_字节长度的数组作为第三数组,并获取协议头的位置+4+第二长度数组_字节长度到协议头的位置+4+第二长度数组_字节长度+2的字节内容作为第二校验数组;
S4017:计算第三数组的校验值,并根据第二校验数组生成第二校验值,判断两者是否相等,若不相等,则表示数据异常,不执行解密操作,其中,根据第二校验数组生成第二校验值的步骤如下:
S40171:第二校验数组的第一个元素左移8位,所得结果与0xFF做与运算,记为第一元素校验值;
S40172:第二校验数组的第二个元素与0xFF作与运算记为第二元素校验值;
S40173:第一元素校验值与第二元素校验值作或运算得到的结果即为第二校验值;
S402:构建密钥,包括以下步骤:
S4021:获取当前时间为HH时MM分,当MM的值大于40的时候,则HH的值修改为HH+1,将HH以字节为单位并以各个字节为元素,计入第二时间数组;
S4022:获取客户端的MAC地址,将MAC地址以字节为单位并以各个字节为元素,计入第二MAC数组;
S4023:第二长度数组与第二时间数组按位异或,所得结果再与第二MAC数组按位异或,用以生成当前客户端的第二动态密钥;其中,异或运算的各个数组的字节位数不一致则高位填零;
S403:解密数据,包括以下步骤:
S4031:构建字节长度为所述第二长度数组_字节长度的空数组,记为第四数组;
S4032:遍历第三数组,当存在元素时记为第三数组_当前元素,获取第三数组_当前元素在第三数组中的顺序位置并记为第三数组_当前元素位置,当不存在元素时表示遍历完成,执行步骤S404;
S4033:获取第二动态密钥的元素个数并记为第二动态密钥元素个数,第二数组_当前元素位置除以第二动态密钥元素个数取余并记为第二余数,在第二动态密钥顺序获取第二余数对应位置的元素的值,记为第二动态密钥_第二余数_元素值,将第二动态密钥_第二余数_元素值与第二数组_当前元素位置对应元素的值按位异或,其结果添加到第四数组中,完成当前单字节的解密;
S4034:将当前已解密的单字节对应的元素从第三数组中删除,执行步骤S4032;
S404:解密完成,获取到原文数组计入第四数组;
S405:退出流程。
优选地,所述步骤S4014包括以下步骤:
S40141:所获取连续4字节的内容作为数组之中,第一个元素与0xFF做与运算后的结果左移24位后记为L1;
S40142:第二个元素与0xFF做与运算后的结果左移16位后记为L2;
S40143:第三个元素与0xFF做与运算后的结果左移8位后记为L3;
S40144:第四个元素与0xFF做与运算的结果记为L4;
S40145:计算L1+L2+L3+L4和作为第二长度数组_字节长度。
本发明所通过的方法的有益效果是:解决了现有技术中尚无一种基于TCP的可扩展的物联网安全通信方法的技术问题。
附图说明
图1为本发明所提供的方法的总流程图;
图2为本发明所提供的一个实施例中加密数据的流程图。
具体实施方式
S100:构建可扩展的传输协议,协议包括协议头、可扩展内容、校验码;
可扩展内容包括可扩展内容的字节长度内容主体,其中,
内容主体的数据格式及字节长度由用户自行定义并扩展;
可扩展内容的字节长度指内容主体的字节长度;
可扩展内容的各字节求和所得的值生成校验数组。
S200:同步服务端状态及客户端状态;
步骤S200包括以下步骤:
S201:客户端与服务端经过N次握手建立TCP通道,构建关联字典,其中,N为3;
S202:客户端发送自身的MAC地址,服务端以MAC地址为键,以TCP通道为值,在关联字典中建立关联;
S203:服务端下发时间信息,客户端收到时间信息后完成与服务端的时间同步;
S204:通道关联完成,等待数据交互。
S300:加密数据,包括以下步骤:
S301:获取待加密字符串及其字节长度L,将字节长度L的字节长度为4字节,将字节长度L进行四次计算后的结果作为四个元素并分别计入第一长度数组,将待加密字符串以字节为单位并以各个字节分别作为各个元素并计入第一数组;
步骤S301中四次计算包括以下步骤:
S3011:获取字节长度L的内容并右移24位后与0xFF做与运算,其结果为第一长度数组的第一个元素;
S3012:获取字节长度L的内容并右移16位后与0xFF做与运算,其结果为第一长度数组的第二个元素;
S3013:获取字节长度L的内容并右移8位后与0xFF做与运算,其结果为第一长度数组的第三个元素;
S3014:获取字节长度L的内容与0xFF做与运算,其结果为第一长度数组的第四个元素;
待加密字符串及其字节长度L,将字节长度L的字节长度为4字节,将字节长度L以字节为单位并以各个字节分别作为各个元素计入第一长度数组。
S302:构建密钥,包括以下步骤:
S3021:获取当前时间为H时M分,当M的值大于40的时候,则H的值修改为H+1,将H以字节为单位并以各个字节为元素,计入第一时间数组;
S3022:获取客户端的MAC地址,将MAC地址以字节为单位并以各个字节为元素,计入第一MAC数组;
S3023:第一长度数组与第一时间数组按位异或,所得结果再与第一MAC数组按位异或,用以生成当前客户端的第一动态密钥,其中,异或运算的各个数组的字节位数不一致则高位填零;
S303:加密字符串,包括以下步骤:
S3031:构建字节长度为字节长度L的空数组,记为第二数组;
S3032:遍历第一数组,当存在元素时记为第一数组_当前元素,获取第一数组_当前元素在第一数组中的顺序位置并记为第一数组_当前元素位置,当不存在元素时表示遍历完成,执行步骤S304;
S3033:获取第一动态密钥的元素个数并记为第一动态密钥元素个数,第一数组_当前元素位置除以第一动态密钥元素个数取余并记为第一余数,在第一动态密钥顺序获取第一余数对应位置的元素的值,记为第一动态密钥_第一余数_元素值,将第一动态密钥_第一余数_元素值与第一数组_当前元素位置对应元素的值按位异或,其结果添加到第二数组中,完成当前单字节的加密;
S3034:将当前已加密的单字节对应的元素从第一数组中删除,执行3032;
S304:加密完成,获取到密文数组计入第二数组;
S305:生成第二数组的校验值,根据校验值生成第一校验数组,包括以下步骤:
S3051:创建一个空的2字节长度数组,记为第一校验数组;
S3052:校验值右移8位,再与0xFF作与运算,所得结果作为第一校验数组的第一个元素并计入第一校验数组;
S3053:校验值与0xFF作与运算,所得结果作为第一校验数组的第二个元素并计入第一校验数组;
S306:根据协议头、第一长度数组、第二数组及第一校验数组生成完整的加密数据;
S400:解密数据;步骤S400包括以下步骤:
S401:验证传输数据的完整性,包括以下步骤:
S4011:从TCP通道中获取到TCP数组并获取其字节长度;
S4012:获取当前TCP数组的协议头的位置;
S4013:TCP数组的字节长度减当前TCP数组的协议头的位置的值是否大于4,如果是,表示剩余的数据能够分割出完整的密文数据,执行步骤S4014,否则,执行步骤S405;
S4014:获取协议头的位置后连续4字节的内容作为数组,并计算出数组的值作为第二长度数组_字节长度,步骤S4014包括以下步骤:
S40141:所获取连续4字节的内容作为数组之中,第一个元素与0xFF做与运算后的结果左移24位后记为L1;
S40142:第二个元素与0xFF做与运算后的结果左移16位后记为L2;
S40143:第三个元素与0xFF做与运算后的结果左移8位后记为L3;
S40144:第四个元素与0xFF做与运算的结果记为L4;
S40145:计算L1+L2+L3+L4和作为第二长度数组_字节长度。
S4015:判断TCP数组的字节长度减协议头的位置是否大于4+第二长度数组_字节长度+2,如果是,表示剩余的数据能够分割出完整的密文数据,执行步骤S4016,否则,执行步骤S405;
S4016:获取加密数据数组中协议头的位置+4至协议头的位置+4+第二长度数组_字节长度的数组作为第三数组,并获取协议头的位置+4+第二长度数组_字节长度到协议头的位置+4+第二长度数组_字节长度+2的字节内容作为第二校验数组;
S4017:计算第三数组的校验值,并根据第二校验数组生成第二校验值,判断两者是否相等,若不相等,则表示数据异常,不执行解密操作,其中,根据第二校验数组生成第二校验值的步骤如下:
S40171:第二校验数组的第一个元素左移8位,所得结果与0xFF做与运算,记为第一元素校验值;
S40172:第二校验数组的第二个元素与0xFF作与运算记为第二元素校验值;
S40173:第一元素校验值与第二元素校验值作或运算得到的结果即为第二校验值;
S402:构建密钥,包括以下步骤:
S4021:获取当前时间为HH时MM分,当MM的值大于40的时候,则HH的值修改为HH+1,将HH以字节为单位并以各个字节为元素,计入第二时间数组;
S4022:获取客户端的MAC地址,将MAC地址以字节为单位并以各个字节为元素,计入第二MAC数组;
S4023:第二长度数组与第二时间数组按位异或,所得结果再与第二MAC数组按位异或,用以生成当前客户端的第二动态密钥;其中,异或运算的各个数组的字节位数不一致则高位填零;
S403:解密数据,包括以下步骤:
S4031:构建字节长度为第二长度数组_字节长度的空数组,记为第四数组;
S4032:遍历第三数组,当存在元素时记为第三数组_当前元素,获取第三数组_当前元素在第三数组中的顺序位置并记为第三数组_当前元素位置,当不存在元素时表示遍历完成,执行步骤S404;
S4033:获取第二动态密钥的元素个数并记为第二动态密钥元素个数,第二数组_当前元素位置除以第二动态密钥元素个数取余并记为第二余数,在第二动态密钥顺序获取第二余数对应位置的元素的值,记为第二动态密钥_第二余数_元素值,将第二动态密钥_第二余数_元素值与第二数组_当前元素位置对应元素的值按位异或,其结果添加到第四数组中,完成当前单字节的解密;
S4034:将当前已解密的单字节对应的元素从第三数组中删除,执行步骤S4032;
S404:解密完成,获取到原文数组计入第四数组;
S405:退出流程。
通过本发明提供的方法,解决了现有技术中尚无一种基于TCP的可扩展的物联网安全通信方法的技术问题。
应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (6)

1.一种基于TCP的可扩展的物联网安全通信方法,其特征在于包括以下步骤:
S100:构建可扩展的传输协议,所述协议包括协议头、可扩展内容、校验数组;
S200:同步服务端状态及客户端状态;
S300:加密数据,包括以下步骤:
S301:获取待加密字符串及其字节长度L,将所述字节长度L的字节长度为4字节,将所述字节长度L进行四次计算后的结果作为四个元素并分别计入第一长度数组,将所述待加密字符串以字节为单位并以各个字节分别作为各个元素并计入第一数组;
S302:构建密钥,包括以下步骤:
S3021:获取当前时间为H时M分,当M的值大于40的时候,则H的值修改为H+1,将H以字节为单位并以各个字节为元素,计入第一时间数组;
S3022:获取客户端的MAC地址,将MAC地址以字节为单位并以各个字节为元素,计入第一MAC数组;
S3023:第一长度数组与第一时间数组按位异或,所得结果再与第一MAC数组按位异或,用以生成当前客户端的第一动态密钥,其中,异或运算的各个数组的字节位数不一致则高位填零;
S303:加密字符串,包括以下步骤:
S3031:构建字节长度为所述字节长度L的空数组,记为第二数组;
S3032:遍历第一数组,当存在元素时记为第一数组_当前元素,获取第一数组_当前元素在第一数组中的顺序位置并记为第一数组_当前元素位置,当不存在元素时表示遍历完成,执行步骤S304;
S3033:获取第一动态密钥的元素个数并记为第一动态密钥元素个数,第一数组_当前元素位置除以第一动态密钥元素个数取余并记为第一余数,在第一动态密钥顺序获取第一余数对应位置的元素的值,记为第一动态密钥_第一余数_元素值,将第一动态密钥_第一余数_元素值与第一数组_当前元素位置对应元素的值按位异或,其结果添加到第二数组中,完成当前单字节的加密;
S3034:将当前已加密的单字节对应的元素从第一数组中删除,执行3032;
S304:加密完成,获取到密文数组计入第二数组;
S305:生成第二数组的校验值,根据校验值生成第一校验数组,包括以下步骤:
S3051:创建一个空的2字节长度数组,记为第一校验数组;
S3052:校验值右移8位,再与0xFF作与运算,所得结果作为第一校验数组的第一个元素并计入第一校验数组;
S3053:校验值与0xFF作与运算,所得结果作为第一校验数组的第二个元素并计入第一校验数组;
S306:根据协议头、第一长度数组、第二数组及第一校验数组生成完整的加密数据;
S400:解密数据。
2.根据权利要求1所述的一种基于TCP的可扩展的物联网安全通信方法,其特征在于,可扩展内容包括可扩展内容的字节长度内容主体,其中,
所述内容主体的数据格式及字节长度由用户自行定义并扩展;
可扩展内容的字节长度指所述内容主体的字节长度;
可扩展内容的各字节求和所得的值生成校验数组。
3.根据权利要求1所述的一种基于TCP的可扩展的物联网安全通信方法,其特征在于,所述步骤S200包括以下步骤:
S201:客户端与服务端经过N次握手建立TCP通道,构建关联字典,其中,N为3;
S202:客户端发送自身的MAC地址,服务端以MAC地址为键,以TCP通道为值,在关联字典中建立关联;
S203:服务端下发时间信息,客户端收到时间信息后完成与服务端的时间同步;
S204:通道关联完成,等待数据交互。
4.根据权利要求1所述的一种基于TCP的可扩展的物联网安全通信方法,其特征在于,所述步骤S301中所述四次计算包括以下步骤:
S3011:获取所述字节长度L的内容并右移24位后与0xFF做与运算,其结果为第一长度数组的第一个元素;
S3012:获取所述字节长度L的内容并右移16位后与0xFF做与运算,其结果为第一长度数组的第二个元素;
S3013:获取所述字节长度L的内容并右移8位后与0xFF做与运算,其结果为第一长度数组的第三个元素;
S3014:获取所述字节长度L的内容与0xFF做与运算,其结果为第一长度数组的第四个元素;
待加密字符串及其字节长度L,将所述字节长度L的字节长度为4字节,将所述字节长度L以字节为单位并以各个字节分别作为各个元素计入第一长度数组。
5.根据权利要求1所述的一种基于TCP的可扩展的物联网安全通信方法,其特征在于,所述步骤S400包括以下步骤:
S401:验证传输数据的完整性,包括以下步骤:
S4011:从TCP通道中获取到TCP数组并获取其字节长度;
S4012:获取当前TCP数组的协议头的位置;
S4013:TCP数组的字节长度减当前TCP数组的协议头的位置的值是否大于4,如果是,表示剩余的数据能够分割出完整的密文数据,执行步骤S4014,否则,执行步骤S405;
S4014:获取协议头的位置后连续4字节的内容作为数组,并计算出数组的值作为第二长度数组_字节长度;
S4015:判断TCP数组的字节长度减协议头的位置是否大于4+第二长度数组_字节长度+2,如果是,表示剩余的数据能够分割出完整的密文数据,执行步骤S4016,否则,执行步骤S405;
S4016:获取加密数据数组中协议头的位置+4至协议头的位置+4+第二长度数组_字节长度的数组作为第三数组,并获取协议头的位置+4+第二长度数组_字节长度到协议头的位置+4+第二长度数组_字节长度+2的字节内容作为第二校验数组;
S4017:计算第三数组的校验值,并根据第二校验数组生成第二校验值,判断两者是否相等,若不相等,则表示数据异常,不执行解密操作,其中,根据第二校验数组生成第二校验值的步骤如下:
S40171:第二校验数组的第一个元素左移8位,所得结果与0xFF做与运算,记为第一元素校验值;
S40172:第二校验数组的第二个元素与0xFF作与运算记为第二元素校验值;
S40173:第一元素校验值与第二元素校验值作或运算得到的结果即为第二校验值;
S402:构建密钥,包括以下步骤:
S4021:获取当前时间为HH时MM分,当MM的值大于40的时候,则HH的值修改为HH+1,将HH以字节为单位并以各个字节为元素,计入第二时间数组;
S4022:获取客户端的MAC地址,将MAC地址以字节为单位并以各个字节为元素,计入第二MAC数组;
S4023:第二长度数组与第二时间数组按位异或,所得结果再与第二MAC数组按位异或,用以生成当前客户端的第二动态密钥;其中,异或运算的各个数组的字节位数不一致则高位填零;
S403:解密数据,包括以下步骤:
S4031:构建字节长度为所述第二长度数组_字节长度的空数组,记为第四数组;
S4032:遍历第三数组,当存在元素时记为第三数组_当前元素,获取第三数组_当前元素在第三数组中的顺序位置并记为第三数组_当前元素位置,当不存在元素时表示遍历完成,执行步骤S404;
S4033:获取第二动态密钥的元素个数并记为第二动态密钥元素个数,第二数组_当前元素位置除以第二动态密钥元素个数取余并记为第二余数,在第二动态密钥顺序获取第二余数对应位置的元素的值,记为第二动态密钥_第二余数_元素值,将第二动态密钥_第二余数_元素值与第二数组_当前元素位置对应元素的值按位异或,其结果添加到第四数组中,完成当前单字节的解密;
S4034:将当前已解密的单字节对应的元素从第三数组中删除,执行步骤S4032;
S404:解密完成,获取到原文数组计入第四数组;
S405:退出流程。
6.根据权利要求1所述的一种基于TCP的可扩展的物联网安全通信方法,其特征在于,所述步骤S4014包括以下步骤:
S40141:所获取连续4字节的内容作为数组之中,第一个元素与0xFF做与运算后的结果左移24位后记为L1;
S40142:第二个元素与0xFF做与运算后的结果左移16位后记为L2;
S40143:第三个元素与0xFF做与运算后的结果左移8位后记为L3;
S40144:第四个元素与0xFF做与运算的结果记为L4;
S40145:计算L1+L2+L3+L4和作为第二长度数组_字节长度。
CN202011599794.XA 2020-12-30 2020-12-30 一种基于tcp的可扩展的物联网安全通信方法 Active CN112671788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011599794.XA CN112671788B (zh) 2020-12-30 2020-12-30 一种基于tcp的可扩展的物联网安全通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011599794.XA CN112671788B (zh) 2020-12-30 2020-12-30 一种基于tcp的可扩展的物联网安全通信方法

Publications (2)

Publication Number Publication Date
CN112671788A true CN112671788A (zh) 2021-04-16
CN112671788B CN112671788B (zh) 2023-04-28

Family

ID=75410432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011599794.XA Active CN112671788B (zh) 2020-12-30 2020-12-30 一种基于tcp的可扩展的物联网安全通信方法

Country Status (1)

Country Link
CN (1) CN112671788B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022413A (zh) * 2022-06-27 2022-09-06 四川摩比斯智能物联科技有限公司 一种物联网通信协议的构建及交互的方法、装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0849713A1 (en) * 1996-12-17 1998-06-24 TELEFONAKTIEBOLAGET L M ERICSSON (publ) A method and a system for the encryption of codes
CN101552792A (zh) * 2009-05-20 2009-10-07 中国电信股份有限公司 一种利用动态二级密钥来传递信息的方法和设备
CN105376261A (zh) * 2015-12-21 2016-03-02 Tcl集团股份有限公司 一种用于即时通讯消息的加密方法及系统
US9635011B1 (en) * 2014-08-27 2017-04-25 Jonetix Corporation Encryption and decryption techniques using shuffle function
CN109347883A (zh) * 2018-12-05 2019-02-15 南通星云智能科技有限公司 一种可扩展的通信协议数据包及其通信系统
CN111565206A (zh) * 2020-07-16 2020-08-21 飞天诚信科技股份有限公司 一种安全传输密钥的方法及终端
CN112104454A (zh) * 2020-08-11 2020-12-18 东方红卫星移动通信有限公司 一种数据安全传输方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0849713A1 (en) * 1996-12-17 1998-06-24 TELEFONAKTIEBOLAGET L M ERICSSON (publ) A method and a system for the encryption of codes
CN101552792A (zh) * 2009-05-20 2009-10-07 中国电信股份有限公司 一种利用动态二级密钥来传递信息的方法和设备
US9635011B1 (en) * 2014-08-27 2017-04-25 Jonetix Corporation Encryption and decryption techniques using shuffle function
CN105376261A (zh) * 2015-12-21 2016-03-02 Tcl集团股份有限公司 一种用于即时通讯消息的加密方法及系统
CN109347883A (zh) * 2018-12-05 2019-02-15 南通星云智能科技有限公司 一种可扩展的通信协议数据包及其通信系统
CN111565206A (zh) * 2020-07-16 2020-08-21 飞天诚信科技股份有限公司 一种安全传输密钥的方法及终端
CN112104454A (zh) * 2020-08-11 2020-12-18 东方红卫星移动通信有限公司 一种数据安全传输方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CLIFFORD NEUMAN;JOHN KOHL;THEODORE TS AMP;APOS;O;KEN RAEBURN; TOM YU; EXPIRES 20 JANUARY等: "The Kerberos Network Authentication Service (V5)", 《IETF 》 *
张浩等: "邻位异或算法在WEP协议密钥更换中的应用", 《计算机与数字工程》 *
胡昌慧: "车载自组网络安全协议和安全字符串匹配协议研究", 《万方数据库》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022413A (zh) * 2022-06-27 2022-09-06 四川摩比斯智能物联科技有限公司 一种物联网通信协议的构建及交互的方法、装置

Also Published As

Publication number Publication date
CN112671788B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
CN108664223B (zh) 一种分布式存储方法、装置、计算机设备及存储介质
CN110493202B (zh) 登录令牌的生成及验证方法、装置和服务器
WO2020237868A1 (zh) 数据传输方法、电子设备、服务器及存储介质
CN114730420A (zh) 用于生成签名的系统和方法
CN107612683B (zh) 一种加解密方法、装置、系统、设备和存储介质
US11770370B2 (en) System and method for transferring data
CN111242617A (zh) 用于执行交易正确性验证的方法及装置
CN111130803A (zh) 数字签名的方法、系统及装置
CN111131278A (zh) 数据处理方法及装置、计算机存储介质、电子设备
CN110096894B (zh) 一种基于区块链的数据匿名共享系统及方法
CN109474616B (zh) 多平台数据共享方法和装置及计算机可读存储介质
US20020191785A1 (en) Apparatus and method for encrypting and decrypting data with incremental data validation
CN111274594A (zh) 一种基于区块链的安全大数据隐私保护共享方法
CN109213901A (zh) 一种区块链的数据同步方法、装置、设备及介质
CN116383867A (zh) 一种数据查询方法、装置、电子设备及计算机可读介质
CN112364376A (zh) 一种属性代理重加密医疗数据共享方法
CN114866323B (zh) 一种用户可控的隐私数据授权共享系统及方法
CN115001715A (zh) 基于区块链的加密智能合约检测方法及终端
CN112671788B (zh) 一种基于tcp的可扩展的物联网安全通信方法
CN117240625B (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN111211894A (zh) 一种数据传输方法、装置及系统
CN110336666B (zh) 一种增强ssl/tls协议中随机数随机性的方法
CN115378715A (zh) 一种基于区块链的链式信息加密传递方法、装置
CN110611674B (zh) 不同计算机系统之间的协议交互方法、系统及存储介质
CN111475690A (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