CN112671788B - 一种基于tcp的可扩展的物联网安全通信方法 - Google Patents
一种基于tcp的可扩展的物联网安全通信方法 Download PDFInfo
- Publication number
- CN112671788B CN112671788B CN202011599794.XA CN202011599794A CN112671788B CN 112671788 B CN112671788 B CN 112671788B CN 202011599794 A CN202011599794 A CN 202011599794A CN 112671788 B CN112671788 B CN 112671788B
- Authority
- CN
- China
- Prior art keywords
- array
- length
- byte
- check
- current
- 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
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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的可扩展的物联网安全通信方法。
背景技术
物联网将信息网络的连接及服务的对象从人扩展到物,从以人为连接及服务对象加以扩展,从而实现真正意义的万物互联。随着大时代的来临,通信数据安全必然是必须要解决的问题。传统的物联网方案通常存在以下问题:
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做与运算,其结果为第一长度数组的第四个元素。
优选地,所述步骤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:步骤S4014的所述数组之中,第一个元素与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做与运算,其结果为第一长度数组的第四个元素。
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:步骤S4014的该数组之中,第一个元素与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 (4)
1.一种基于TCP的可扩展的物联网安全通信方法,其特征在于包括以下步骤:
S100:构建可扩展的传输协议,所述协议包括协议头、可扩展内容、校验数组;
S200:同步服务端状态及客户端状态;
S300:加密数据,包括以下步骤:
S301:获取待加密字符串及其字节长度L,所述字节长度L为4字节,将所述字节长度L的内容进行四次计算后的结果作为四个元素并分别计入第一长度数组,将所述待加密字符串以字节为单位并以各个字节分别作为各个元素并计入第一数组,所述步骤S301中所述四次计算包括以下步骤:
S3011:获取所述字节长度L的内容并算术右移24位后与0xFF做与运算,其结果为第一长度数组的第一个元素;
S3012:获取所述字节长度L的内容并算术右移16位后与0xFF做与运算,其结果为第一长度数组的第二个元素;
S3013:获取所述字节长度L的内容并算术右移8位后与0xFF做与运算,其结果为第一长度数组的第三个元素;
S3014:获取所述字节长度L的内容与0xFF做与运算,其结果为第一长度数组的第四个元素;
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字节的内容作为数组,并计算出数组的值作为第二长度数组_字节长度;
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:退出流程。
2.根据权利要求1所述的一种基于TCP的可扩展的物联网安全通信方法,其特征在于,可扩展内容包括可扩展内容的字节长度内容主体,其中,
所述内容主体的数据格式及字节长度由用户自行定义并扩展;
可扩展内容的字节长度指所述内容主体的字节长度;
可扩展内容的各字节求和所得的值生成校验数组。
3.根据权利要求1所述的一种基于TCP的可扩展的物联网安全通信方法,其特征在于,所述步骤S200包括以下步骤:
S201:客户端与服务端经过N次握手建立TCP通道,构建关联字典,其中,N为3;
S202:客户端发送自身的MAC地址,服务端以MAC地址为键,以TCP通道为值,在关联字典中建立关联;
S203:服务端下发时间信息,客户端收到时间信息后完成与服务端的时间同步;
S204:通道关联完成,等待数据交互。
4.根据权利要求1所述的一种基于TCP的可扩展的物联网安全通信方法,其特征在于,所述步骤S4014包括以下步骤:
S40141:步骤S4014的所述数组之中,第一个元素与0xFF做与运算后的结果算术左移24位后记为L1;
S40142:第二个元素与0xFF做与运算后的结果算术左移16位后记为L2;
S40143:第三个元素与0xFF做与运算后的结果算术左移8位后记为L3;
S40144:第四个元素与0xFF做与运算的结果记为L4;
S40145:计算L1+L2+L3+L4和作为第二长度数组_字节长度。
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 CN112671788A (zh) | 2021-04-16 |
CN112671788B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022413A (zh) * | 2022-06-27 | 2022-09-06 | 四川摩比斯智能物联科技有限公司 | 一种物联网通信协议的构建及交互的方法、装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552792A (zh) * | 2009-05-20 | 2009-10-07 | 中国电信股份有限公司 | 一种利用动态二级密钥来传递信息的方法和设备 |
CN109347883A (zh) * | 2018-12-05 | 2019-02-15 | 南通星云智能科技有限公司 | 一种可扩展的通信协议数据包及其通信*** |
Family Cites Families (5)
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 |
US9635011B1 (en) * | 2014-08-27 | 2017-04-25 | Jonetix Corporation | Encryption and decryption techniques using shuffle function |
CN105376261B (zh) * | 2015-12-21 | 2020-01-14 | Tcl集团股份有限公司 | 一种用于即时通讯消息的加密方法及*** |
CN111565206B (zh) * | 2020-07-16 | 2020-10-16 | 飞天诚信科技股份有限公司 | 一种安全传输密钥的方法及终端 |
CN112104454B (zh) * | 2020-08-11 | 2023-04-07 | 东方红卫星移动通信有限公司 | 一种数据安全传输方法及*** |
-
2020
- 2020-12-30 CN CN202011599794.XA patent/CN112671788B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552792A (zh) * | 2009-05-20 | 2009-10-07 | 中国电信股份有限公司 | 一种利用动态二级密钥来传递信息的方法和设备 |
CN109347883A (zh) * | 2018-12-05 | 2019-02-15 | 南通星云智能科技有限公司 | 一种可扩展的通信协议数据包及其通信*** |
Also Published As
Publication number | Publication date |
---|---|
CN112671788A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112214780B (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
EP3324355B1 (en) | Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program | |
US7283629B2 (en) | Deriving keys used to securely process electronic messages | |
US6996723B1 (en) | Data generating apparatus and data verifying apparatus | |
US6061741A (en) | Method and apparatus for synchronization of connectionless applications across a network by using simple encryption tokens | |
CN111131278A (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
CN110096894B (zh) | 一种基于区块链的数据匿名共享***及方法 | |
CN109474616B (zh) | 多平台数据共享方法和装置及计算机可读存储介质 | |
CN112689014B (zh) | 一种双全工通信方法、装置、计算机设备和存储介质 | |
CN114186264A (zh) | 数据随机加密、解密方法、装置及*** | |
CN113610526A (zh) | 一种数据信任方法、装置、电子设备及存储介质 | |
CN112671788B (zh) | 一种基于tcp的可扩展的物联网安全通信方法 | |
Ramkumar | Executing large-scale processes in a blockchain | |
CN116383867A (zh) | 一种数据查询方法、装置、电子设备及计算机可读介质 | |
CN114567639B (zh) | 一种基于区块链的轻量级访问控制***及方法 | |
CN111065097B (zh) | 移动互联网中基于共享密钥的通道保护方法及*** | |
CN112749182B (zh) | 代理访问Oracle数据库的方法、审计终端、装置及计算机可读存储介质 | |
CN110224824B (zh) | 数字证书处理方法、装置、计算机设备和存储介质 | |
CN111211894B (zh) | 一种数据传输方法、装置及*** | |
US20170302444A1 (en) | System and methods for keyed communications channel encryption and decryption | |
CN110336666B (zh) | 一种增强ssl/tls协议中随机数随机性的方法 | |
US11431510B1 (en) | Code-sign white listing (CSWL) | |
CN115378715A (zh) | 一种基于区块链的链式信息加密传递方法、装置 | |
CN114978711A (zh) | 一种动态秘钥对称加密的数据传输方法及*** | |
Chen et al. | Exploring unobservable blockchain-based covert channel for censorship-resistant systems |
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 |