一种基于时间戳的通信加密系统的制作方法

文档序号:14635242发布日期:2018-06-08 19:38阅读:191来源:国知局

本发明属于无线通信技术领域,具体涉及一种基于时间戳的通信加密系统,其应用于加解密计算资源有限,但对通信安全有较强需求的无线通信环境中。



背景技术:

随着物联网技术的快速发展,大量的无人值守设备广泛应用于生产生活中。相较于传统互联网通信,这些无人值守设备和云端进行通信时存在较为严重的安全问题:不法分子伪装成云端向无人值守设备发送指令,劫持无人值守设备。

对于这类问题,即使云端对发送给无人值守设备的指令进行了加密,不法分子依然可以通过完整复制加密指令后再次发送实现对无人值守设备的控制。



技术实现要素:

(一)要解决的技术问题

本发明要解决的技术问题是:如何在尽可能少的额外计算资源开销的前提下,实现一种基于时间戳的通信加密系统,防止不法分子通过复制指令再次发送的方法劫持无人值守设备。

(二)技术方案

为解决上述技术问题,本发明提供一种基于时间戳的通信加密系统,该系统在云端发送给无人值守设备端的指令中先加入当前时间戳,然后再用常规对称加密算法加密,无人值守设备端在接收到指令后先进行解密,然后将时间戳与最近一次接收到指令的时间戳进行比较,若新接收到的指令时间戳早于最近一条或与最近一条相同,则忽略此条指令。

其中,该系统包括:云端加密子系统及设备端解密子系统;

所述云端加密子系统设置于云端,包括:时间戳插入模块、指令帧拆分模块、序号插入模块、加密模块;

所述设备端解密子系统设置于设备端,包括:解密模块、排序模块、恢复模块、拼接模块、第一判断模块、时间更新模块、指令执行模块、时间戳比较模块;

其中,

所述时间戳插入模块用于在云端系统向设备端发送控制指令帧Y1时,在控制指令控制指令帧Y1中插入时间戳T1生成新的控制指令帧Z1;

所述指令帧拆分模块用于将插入时间戳后的控制指令帧Z1拆分为n个指令包B1、B2·Bn;

所述序号插入模块用于在每个指令包中插入相应序号1、2·n以及指令包总数n,生成新的指令包C1、C2·Cn;

所述加密模块用于将所生成的新的指令包C1、C2·Cn分别加密,形成加密后的指令包D1、D2·Dn,然后按照随机顺序重新排序成E1、E2·En,最后发送给设备端;

所述解密模块用于在接收到云端发送过来的指令包后,对接收到的指令包E1、E2·En进行解密,生成解密后的指令包F1、F2·Fn,F1、F2·Fn和前述指令包C1、C2·Cn内容一致,但排序不一致;

所述排序模块用于对所生成的F1、F2·Fn按照内部包含的序号和指令包总数进行重新排序,恢复为前述指令包C1、C2·Cn;

所述恢复模块用于端将指令包C1、C2·Cn去除序号和指令包总数恢复为前述指令包B1、B2·Bn;

所述拼接模块用于将所得到的指令包B1、B2·Bn拼接为前述控制指令帧Z1;

所述第一判断模块用于判断控制指令帧Z1是否为收到的第一条指令帧;

在第一判断模块判断为是的情况下,设备端认为所收到的控制指令帧Z1有效,由所述时间更新模块将控制指令帧Z1中的时间戳T1取出,保存在设备端的指令帧存储单元T0中,使T0=T1,完成时间戳更新操作,同时由指令执行模块执行控制指令帧Z1对应的控制指令帧Y1,完成指令执行操作;

在第一判断模块判断为否的情况下,由所述时间戳比较模块将所收到的控制指令帧Z1中的时间戳T1取出,将时间戳T1与设备端指令帧存储单元T0中的时间戳进行比较;根据比较结果,在判断该控制指令帧Z1有效的情况下,选择由所述时间更新模块及指令执行模块执行相应时间戳更新操作及指令执行操作,或在判断该控制指令帧Z1无效的情况下,忽略该控制指令帧。

其中,所述时间戳T1是当前的实际时间。

其中,所述时间戳T1是与当前的实际时间相关的数字。

其中,所述步骤2中的加密过程采用常规对称加密算法进行,包括:DES算法、RC5算法、IDEA算法。

其中,所述步骤4中的解密过程与步骤2中的加密过程对应。

其中,所述时间戳比较模块对时间戳进行比较的过程中,若T1>T0,即新接收到的控制指令帧Z1的产生时间晚于最后一次接收到的控制指令帧Z0的产生时间,则判断该控制指令帧Z1有效。

其中,所述时间戳比较模块对时间戳进行比较的过程中,若T1<T0,即新接收到的控制指令帧Z1的产生时间早于最后一次接收到的控制指令帧Z0的产生时间,则判断该控制指令帧Z1无效。

其中,所述时间戳比较模块对时间戳进行比较的过程中,若T1=T0,即新接收到的控制指令帧Z1的产生时间与最后一次接收到的控制指令帧Z0的产生时间相同,则判断该控制指令帧Z1无效。

其中,该系统用于防止不法分子通过复制指令再次发送的方法劫持无人值守设备。

(三)有益效果

与现有技术相比较,本发明能够解决不法分子通过完整复制加密指令后再次发送从而劫持无人值守设备的问题。当不法分子通过窃听方式复制获取到一条指令,由于每一条指令帧都被拆分为指令包并且加密后随机排序,因此,不法分子无法对指令内容进行详细解析,只能通过重复发送的方式将指令帧复制后再次发送给无人值守设备。无人值守设备在收到不法分子发来的复制指令帧后对指令帧进行解密并重新排序解析出其中的内容和时间戳,由于该时间戳早于或等于无人值守设备中存储的最晚一条时间戳,因此无人值守设备认为该条指令已经过期,忽略该指令,不法分子无法通过重新发送该指令来控制无人值守设备。

附图说明

图1为本发明技术方案原理图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

为解决上述技术问题,本发明提供一种基于时间戳的通信加密系统,该系统在云端发送给无人值守设备端的指令中先加入当前时间戳,然后再用常规对称加密算法加密,无人值守设备端在接收到指令后先进行解密,然后将时间戳与最近一次接收到指令的时间戳进行比较,若新接收到的指令时间戳早于最近一条或与最近一条相同,则忽略此条指令。

如图1所示,该系统包括:云端加密子系统及设备端解密子系统;

所述云端加密子系统设置于云端,包括:时间戳插入模块、指令帧拆分模块、序号插入模块、加密模块;

所述设备端解密子系统设置于设备端,包括:解密模块、排序模块、恢复模块、拼接模块、第一判断模块、时间更新模块、指令执行模块、时间戳比较模块;

其中,

所述时间戳插入模块用于在云端系统向设备端发送控制指令帧Y1时,在控制指令控制指令帧Y1中插入时间戳T1生成新的控制指令帧Z1;

所述指令帧拆分模块用于将插入时间戳后的控制指令帧Z1拆分为n个指令包B1、B2·Bn;

所述序号插入模块用于在每个指令包中插入相应序号1、2·n以及指令包总数n,生成新的指令包C1、C2·Cn;

所述加密模块用于将所生成的新的指令包C1、C2·Cn分别加密,形成加密后的指令包D1、D2·Dn,然后按照随机顺序重新排序成E1、E2·En,最后发送给设备端;

所述解密模块用于在接收到云端发送过来的指令包后,对接收到的指令包E1、E2·En进行解密,生成解密后的指令包F1、F2·Fn,F1、F2·Fn和前述指令包C1、C2·Cn内容一致,但排序不一致;

所述排序模块用于对所生成的F1、F2·Fn按照内部包含的序号和指令包总数进行重新排序,恢复为前述指令包C1、C2·Cn;

所述恢复模块用于端将指令包C1、C2·Cn去除序号和指令包总数恢复为前述指令包B1、B2·Bn;

所述拼接模块用于将所得到的指令包B1、B2·Bn拼接为前述控制指令帧Z1;

所述第一判断模块用于判断控制指令帧Z1是否为收到的第一条指令帧;

在第一判断模块判断为是的情况下,设备端认为所收到的控制指令帧Z1有效,由所述时间更新模块将控制指令帧Z1中的时间戳T1取出,保存在设备端的指令帧存储单元T0中,使T0=T1,完成时间戳更新操作,同时由指令执行模块执行控制指令帧Z1对应的控制指令帧Y1,完成指令执行操作;

在第一判断模块判断为否的情况下,由所述时间戳比较模块将所收到的控制指令帧Z1中的时间戳T1取出,将时间戳T1与设备端指令帧存储单元T0中的时间戳进行比较;根据比较结果,在判断该控制指令帧Z1有效的情况下,选择由所述时间更新模块及指令执行模块执行相应时间戳更新操作及指令执行操作,或在判断该控制指令帧Z1无效的情况下,忽略该控制指令帧。

其中,所述时间戳T1是当前的实际时间。

其中,所述时间戳T1是与当前的实际时间相关的数字。

其中,所述步骤2中的加密过程采用常规对称加密算法进行,包括:DES算法、RC5算法、IDEA算法。

其中,所述步骤4中的解密过程与步骤2中的加密过程对应。

其中,所述时间戳比较模块对时间戳进行比较的过程中,若T1>T0,即新接收到的控制指令帧Z1的产生时间晚于最后一次接收到的控制指令帧Z0的产生时间,则判断该控制指令帧Z1有效。

其中,所述时间戳比较模块对时间戳进行比较的过程中,若T1<T0,即新接收到的控制指令帧Z1的产生时间早于最后一次接收到的控制指令帧Z0的产生时间,则判断该控制指令帧Z1无效。

其中,所述时间戳比较模块对时间戳进行比较的过程中,若T1=T0,即新接收到的控制指令帧Z1的产生时间与最后一次接收到的控制指令帧Z0的产生时间相同,则判断该控制指令帧Z1无效。

其中,该系统用于防止不法分子通过复制指令再次发送的方法劫持无人值守设备。

此外,本发明还提供一种基于时间戳的通信加密方法,该方法在云端发送给无人值守设备端的指令中先加入当前时间戳,然后再用常规对称加密算法加密,无人值守设备端在接收到指令后先进行解密,然后将时间戳与最近一次接收到指令的时间戳进行比较,若新接收到的指令时间戳早于最近一条或与最近一条相同,则忽略此条指令。

如图1所示,该方法包括如下步骤:

步骤1:云端系统在向设备端发送控制指令帧Y1时,在控制指令控制指令帧Y1中插入时间戳T1生成新的控制指令帧Z1;

步骤2:云端系统将插入时间戳后的控制指令帧Z1拆分为n个指令包B1、B2·Bn,并在每个指令包中插入相应序号1、2·n以及指令包总数n,生成新的指令包C1、C2·Cn;

步骤3:云端系统将步骤2中生成的新的指令包C1、C2·Cn分别加密,形成加密后的指令包D1、D2·Dn,然后按照随机顺序重新排序成E1、E2·En,最后发送给设备端;

步骤4:设备端在接收到云端发送过来的指令包后,首先将接收到的指令包E1、E2·En进行解密,生成解密后的指令包F1、F2·Fn,F1、F2·Fn和步骤3中的C1、C2·Cn内容一致,但排序不一致;

步骤5:设备端将步骤4中生成的F1、F2·Fn按照内部包含的序号和指令包总数进行重新排序,恢复为步骤3中的C1、C2·Cn;

步骤6:设备端将步骤5中得到的C1、C2·Cn去除序号和指令包总数恢复为步骤2中的指令包B1、B2·Bn;

步骤7:设备端将步骤6中得到的指令包B1、B2·Bn拼接为步骤2中的控制指令帧Z1;

步骤8:若控制指令帧Z1为收到的第一条指令帧,则执行步骤9,否则执行步骤10;

步骤9:设备端认为步骤8中的控制指令帧Z1有效,将控制指令帧Z1中的时间戳T1取出,保存在设备端的指令帧存储单元T0中,使T0=T1,同时执行控制指令帧Z1对应的控制指令帧Y1;

步骤10:设备端将步骤8中控制指令帧Z1中的时间戳T1取出,将T1与设备端指令帧存储单元T0中的时间戳进行比较;根据比较结果选择进入步骤9或步骤11;

步骤11:设备端认为步骤8中的控制指令帧Z1无效,忽略该控制指令帧。

步骤1至步骤3过程如附图1“云端系统”框图中流程所示,步骤4至步骤11过程如附图1“设备端”框图中流程所示。

其中,所述时间戳T1是当前的实际时间。

其中,所述时间戳T1是与当前的实际时间相关的数字。

其中,所述步骤2中的加密过程采用常规对称加密算法进行,包括:DES算法、RC5算法、IDEA算法。

其中,所述步骤4中的解密过程与步骤2中的加密过程对应。

其中,所述步骤10中,若T1>T0,即新接收到的控制指令帧Z1的产生时间晚于最后一次接收到的控制指令帧Z0的产生时间,则执行步骤9。

其中,所述步骤10中,若T1<T0,即新接收到的控制指令帧Z1的产生时间早于最后一次接收到的控制指令帧Z0的产生时间,则执行步骤11。

其中,所述步骤10中,若T1=T0,即新接收到的控制指令帧Z1的产生时间与最后一次接收到的控制指令帧Z0的产生时间相同,则执行步骤11。

其中,该方法用于防止不法分子通过复制指令再次发送的方法劫持无人值守设备。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

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