智能固废垃圾回收数据平台与设备通讯加密方法与流程

文档序号:11156590阅读:439来源:国知局
智能固废垃圾回收数据平台与设备通讯加密方法与制造工艺

本发明涉及智能固废垃圾回收领域,特别是涉及一种智能固废垃圾回收数据平台与设备的通讯加密方法。



背景技术:

以固废垃圾为饮料包装为例,现有的智能饮料包装回收设备主要是作为终端饮料包装回收设备,用户可以操作该设备,进行投瓶操作完成回收饮料包装的业务。智能饮料包装回收数据平台主要负责监控和管理终端回收设备,包括用户管理,设备回收数据管理,设备预警管理,设备回收预警管理等相关业务管理。

终端设备由设备PC、PLC集成电路板和机械设备组成,之间通信主要依托modbus通信协议,由PC端通过PLC向机械设备发布操作指令,控制机械设备完成操作。而目前终端设备的设备PC与数据平台之间的通讯过程加密解密方法简单,容易被破解,具有安全性差的缺陷。如何能创设一种通讯安全性高且具有唯一性的新的智能固废垃圾回收数据平台与设备的通讯加密方法,成为当前急需改进的目标。



技术实现要素:

本发明要解决的技术问题是提供一种安全性高且具有唯一性的智能固废垃圾回收数据平台与设备的通讯加密方法。

为解决上述技术问题,本发明采用如下技术方案:

智能固废垃圾回收数据平台与设备通讯加密方法,所述设备为多个,各设备与数据平台采用http协议进行通讯,包括:

(1)设备PC向数据平台发送信息:设备PC向数据平台发送数据信息,数据信息经过随机加密Key和默认解密Key进行两次加密;

(2)数据平台接收信息:数据平台通过默认解密Key与随机加密Key进行两次解密,处理并存储所解密的数据信息,获得处理结果信息;

(3)数据平台回复信息:数据平台的处理结果信息经过随机加密Key和默认解密Key进行两次加密,回复给设备PC;

(4)设备PC接收信息:设备PC接收信息后通过默认解密Key与随机加密Key进行两次解密,获得解密数据信息;

所述(1)、(2)(3)(4)中的默认解密Key为双方共同约定的,随机加密Key是从双方共同约定的多个加密Key中随机抽取的。

进一步地,具体包括如下步骤:

(1)设备PC向数据平台发送信息;

(11)发送信息参数转换为JSON数据,所述参数包括:当前通信状态值、设备唯一标识、当前系统时间、通讯流水号;

(12)从共同约定的多个32位的加密Key中随机取出其中一个加密Key,记住其序号;

(13)用步骤(12)中获得的随机加密Key加密步骤(11)中的JSON数据获得二进制byte数组;

(14)合并byte为新数组=步骤(13)中的二进制byte数组+步骤(12)中的随机加密Key的序号;

(15)将步骤(14)中的新数组转换为16进制编码的传输信息;

(16)获取新的当前系统时间与步骤(15)中的传输信息组成JSON数据;

(17)获得最终加密二进制数组=用共同约定的32位的默认解密Key加密步骤(16)的JSON数据;

(18)将步骤(17)的二进制数组转换为16进制;

(19)将16进制数据发送到数据平台,参数名为d;

(2)数据平台接收设备PC信息;

(21)根据步骤(19)的参数名d获取16进制数据;

(22)根据共同约定的32位的默认解密Key解密步骤(21)中的数据获得JSON数据;

(23)获取时间进行时间差校验,当时间差超过某一设定值,自动算失败;

(24)将传输信息转换为二进制,取出32位的随机加密Key序号,获取随机加密Key;

(25)用步骤(24)中的随机加密Key解密,去掉最后一位的二进制获得JSON数据;

(26)根据JSON数据进行认证,认证通过后如果设备唯一识别码与数据平台对应,则会给出一个登录Key;

(3)数据平台回复信息;

(31)将回复信息参数转换为JSON数据,所述参数包括:当前通信状态值、结果状态、通信流水号及登录Key;所述结果状态包括成功、失败及其它;

(32)从共同约定的多个32位的加密Key中随机取出其中一个加密Key,记住其序号;

(33)用步骤(32)中获得的随机加密Key加密步骤(11)中的JSON数据获得二进制byte数组;

(34)合并byte为新数组=步骤(33)中的二进制byte数组+步骤(32)中的随机加密Key的序号;

(35)将步骤(34)中的新数组转换为16进制编码的传输信息;

(36)获取新的系统时间与步骤(35)中的传输信息组成JSON数据;

(37)获得最终加密二进制数组=用共同约定的32位的默认解密Key加密步骤(36)的JSON数据;

(38)将步骤(37)的二进制数组转换为16进制;

(39)将16进制数据作为内容回复给设备PC;

(4)设备PC接收信息;

(41)获取步骤(39)的16进制数据;

(42)根据共同约定的32位的默认解密Key解密步骤(41)中的数据获得JSON数据;

(43)将传输信息转换为二进制,取出32位的随机加密Key序号,获取随机加密Key;

(44)用步骤(43)中的随机加密Key解密,去掉最后一位的二进制获得JSON数据;

根据所述步骤(44)的JSON数据结果,如果成功,那么设备PC记录登录Key,在后续每次设备PC向数据平台发送信息的同时,发送信息的参数都加入该登录Key;数据平台接收信息后在步骤(26)不进行再次认证,对该登录Key是否匹配进行核对即可。

进一步地,当设备PC与数据平台没有通讯连接超过某一设定时间,则认为与数据平台断开连接,对应地,步骤(26)中,数据平台接收信息后进行认证,然后重新分配新的登录Key。

进一步地,所述步骤(12)、(32)中的共同约定的32位的加密Key分别为128个,对应地,从中随机取出的加密Key,其序号为偏移量最小0最大127。

进一步地,所述步骤(23)中,当时间差超过10000毫秒,自动算失败。

进一步地,所述步骤(31)中的结果状态中的其它包括:超时、未登录及异常。

进一步地,当设备PC与数据平台没有通讯连接超过90秒,则认为与数据平台断开连接。

采用这样的设计后,本发明至少具有以下优点:

1、本发明通过采用共同约定的加密Key中的随机加密Key及共同约定的默认解密Key对信息在单次传输过程中进行两次加密、在单次接收过程中进行两次解密,极大地提高了通讯的安全性。

2、本发明通过采用登录key的连续验证方式,使数据平台无需每次通讯连接都进行复杂的认证过程,只是在时间断开的状态下,才进行复杂认证,在保证通讯安全的基础上,减少了数据平台内部运行资源的浪费,大大提高了数据平台的应用效率。

附图说明

上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。

图1是智能固废垃圾回收数据平台与设备之间的数据流向图。

具体实施方式

本发明的智能固废垃圾回收数据平台与设备的通讯加密方法,其中的数据流向如图1所示,通讯过程由设备PC首先发起通信要求,发送的信息由数据平台接收,数据平台接收数据后又向设备PC发送回复信息,最终由设备PC接收,完成一次通信操作。其通讯安全原则主要是:设备PC与数据平台采用http协议进行通讯,每个设备PC分配有独立登录Key,数据平台会验证登录Key与设备唯一标识后决定信息是否合法,通讯数据要经过共同约定的加密Key中的随机加密Key及共同约定的默认解密Key进行两次加密及解密,最大程度地保护系统通讯安全性。

本具体实施方式中涉及的名称解释如下:

设备PC向数据平台发送信息:字符集UTF8,协议HTTP,URL:IP/pcs,端口:以服务器为准,提交模式:post,参数名:d,参数数据:16进制编码,数据内容解开后为JSON数据;

数据格式:{“time”:“时间毫秒”,“data”:“传输信息”};

时间毫秒:1463034885910(实质是当前系统时间毫秒);

传输信息:JSON数据格式(字符),加密后,转成16进制字符串。

下面以实例说明具体通讯加密方法:

(1)设备PC向数据平台发送链接信息

参数说明:command(属于字符串,标识当前通信状态值),sn:(为数字和字母组成的字符串是设备的唯一标识),"systime":"当前系统时间作为通信标识",id:(通信流水号),以下涉及到以上内容可为参考。

Id:为通信流水号从0开始增加,重启初始化为0;

准备工作:加密KEY 32位128个(共同约定)

准备工作:默认解密Key(与设备共同约定,字符串组成)

(11)发送信息参数转换为JSON数据:{"id"、"command"、"sn"、"systime"};

(12):从128个加密Key中随机取出其一Key,记住其序号,序号为偏移量最小0最大127;

(13):用32位的随机加密KEY加密步骤(11)JSON字符串获得二进制byte数组;

(14):合并byte为新数组=步骤(13)二进制byte数组+步骤(12)随机加密Key的序号;

(15)将新的数据转换为16进制编码的传输信息;

(16)获取新的系统时间组成JSON数据;{"time":"当前系统时间","data":"传输信息"}

(17)获得最终加密二进制数组=用默认解密Key加密步骤(16)的JSON数据;

(18)将步骤(17)二进制转换为16进制;

(19)将16进制数据POST到平台,参数名为d;

(2)数据平台接收设备PC信息;

准备工作:加密KEY32位128个(共同约定)

准备工作:默认解密Key32位(由数字和字符串共同组成,由设备与数据平台共同约定)

(21)根据参数名d获取16进制字符串;

(22)根据默认的解密秘钥解密步骤(21)字符串获得JSON数据;{"time":"当前系统时间","data":"传输信息"}

(23)获取时间进行时间差校验,当时间差超过某一设定值,本通讯中设定值为10000毫秒,自动算失败;;

(24)将传输信息转换为二进制,取出随机加密Key序号,获取随机加密Key;

(25)用步骤(24)的随机加密Key解密;去掉最后一位的二进制获得JSON数据;{"id"、"command"、"sn"、"systime"}

(26)根据JSON数据进行认证,认证通过后如果设备唯一识别码与数据平台对应,则会给出一个登录Key;

(3)数据平台回复设备PC信息;

参数:command:参考参数说明,result:对应参考下面描述,"id":"参考参数说明",登录Key:认证通过后由数据平台分配出来的登录Key;

result:结果状态0-失败 1-成功 2-超时 3-未登录 4-异常

id:通讯流水号;

准备工作:加密KEY32位128个(共同约定)

准备工作:默认解密Key32位(共同约定)

(31)参数转换为JSON数据;{"id"、"command"、"result"、"登录Key"}

(32)从128个加密Key中随机取出其一Key,记住其序号,序号为偏移量最小0最大127;

(33)用32位随机加密KEY加密步骤(31)中JSON字符串获得二进制byte数组;

(34)合并byte为新数组=步骤(33)二进制byte数组+步骤(32)随机加密Key的序号;

(35)将新的数据转换为16进制编码为传输信息;

(36)获取新的系统时间组成JSON数据;{"time":"当前系统时间,"data":"传输信息}

(37)获得最终加密二进制数组=用默认解密Key加密步骤(36)JSON数据;

(38)将步骤(37)二进制转换为16进制;

(39)将16进制数据作为内容回复给设备PC;

(4)设备PC接收信息;

准备工作:加密Key:32位128个(共同约定)

准备工作:默认解密Key32位(共同约定)

(41)获得了步骤(39)中的16进制字符串;

(42)根据默认解密Key解密步骤(41)字符串获得JSON数据;{"time":"当前系统时间","data":"传输信息"};

(43)将传输信息转换为二进制,取出加密Key序号,获取加密Key;

(44)用步骤(43)的加密Key解密,去掉最后一位的二进制获得JSON数据;{"id"、"command"、"result"、"登录Key"}

(45)根据所述步骤(44)的JSON数据结果,如果成功,那么设备PC记录登录Key,在后续每次设备PC向数据平台发送信息的同时,发送信息的参数都加入该登录Key;数据平台接收信息后在步骤(26)不进行再次认证,对该登录Key是否匹配进行核对即可。

上述通讯过程中的认证,主要是为了保证设备PC与数据平台之间通讯安全,杜绝其他非授权设备连接。

(1)首次连接认证

因为考虑到设备PC一般一天连续使用应该在十多个小时,其他时间可能需要关闭。所以设备刚开启时,设备第一次与数据平台连接为了确保连接安全,在正式连接或者传递信息之前需要进行认证。

(2)连续验证(登录key方式)

考虑设备PC与数据平台连接属于长连接(数据平台内部要求,在没有指令或者数据通信的情况下,设备PC也要与数据平台保持持续性连接,30秒内设备PC发起连接请求,如果连续3次即90秒内设备PC与数据平台没有通信连接,默认为数据平台断开连接)。处于数据平台优化考虑,数据平台需要通过认证,认证本身的算法需要一定的预算方式,也考虑到数据平台会与设备PC频繁连接,而且设备PC分布较多,为了节省资源及从数据平台应用效率考虑,第一次认证通过的时候就会生成一个登录key,此key生成于设备PC和数据平台第一次认证通过的时候由数据平台分配的,而且只适用于该设备PC与数据平台通信使用。如果设备PC与数据平台断开连接,再次连接认证后,数据平台会再次针对该次认证分配新的登录key,这样确保连接的安全性。通过这个登录key,该设备PC与数据平台认证就不需要认证计算过程,只需要通过加密解密方式读取当前登录key是否匹配即可完成简单的验证。

即通过登录key方式,完成登录认证以后,在不超过90秒内保持链接通信正态下都可以使用key登录,此方式减少设备与数据平台连接时的登录操作,减少了数据平台内部运行资源的浪费。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1