发明内容
为解决上述问题,本发明的目的在于提供一种无线遥控装置,对数据包进行高安全加密,可以平衡单向低速无线传输系统的抗干扰和安全性间的关系,为单向无线传输提供足够的安全性。
本发明实施例提供了一种无线遥控装置,所述装置包括:
发射装置和接收装置,所述装置设有配对模式和正常模式;
在所述配对模式下,所述发射装置发送配对数据包至所述接收装置以使所述发射装置和所述接收装置进行配对,所述配对数据包包括所述发射装置的至少两个按键的密钥及对应的校验信息,地址信息及对应的校验信息;
在所述正常模式下,所述发射装置生成控制数据包并用所述发射装置的配对数据包对所述控制数据包进行加密处理,生成加密控制数据包并发送至所述接收装置,所述接收装置采用自身保存的配对数据包对所述加密控制数据包进行解密,得到解密数据并校验,以使所述装置在校验成功后执行动作,所述控制数据包包括所述发射装置的地址信息、按键信息和计数器值。
作为本发明进一步的改进,所述发射装置包括多个按键、指示灯LED、MCU、无线发射模块和EEPROM;
所述接收装置包括配对按键KP、指示灯LED、与所述多个按键匹配设置的多个IO输出口、MCU、无线接收模块和EEPROM。
作为本发明进一步的改进,所述控制数据包总长为48bit,包括20bit的地址信息、4bit的按键信息和24bit的计数器值,
所述配对数据包总长为160bit,包括密钥KEY1和密钥KEY2,其中,密钥KEY1位于配对数据包前12byte,密钥KEY2位于配对数据包中第4byte至第19byte,地址信息位于配对数据包中第17byte值第19byte中的前20bit,所述配对数据包第20byte为前19byte的crc8校验信息。
作为本发明进一步的改进,所述发射装置生成控制数据包并用所述发射装置的配对数据包对所述控制数据包进行加密处理,生成加密控制数据包,包括:
所述发射装置生成大小为48bit的控制数据包A0,其中,所述控制数据包A0的20bit的地址信息采用所述配对数据包中的地址信息填充,所述控制数据包A0的4bit的按键信息采用所述发射装置实际的按键信息填充,所述控制数据包A0的24bit的计数器值为上次计数器值加1;
采用所述发射装置的配对数据包中密钥KEY2对13byte的待处理信息和所述控制数据包A0中3byte的计数器值进行AES128加密,得到16byte的加密数据A1;
对所述加密数据A1中第N byte至第N+2byte的3byte数据以及所述控制数据包A0中的地址信息和按键信息进行异或操作,得到24bit的加密数据A2;
采用所述加密数据A2和所述控制数据包A0中的计数器值,构成48bit的控制数据包C1;
采用所述发射装置的配对数据包中密钥KEY1对所述控制数据包C1进行加密,得到48bit的加密数据A3即所述加密控制数据包。
作为本发明进一步的改进,所述接收装置采用自身保存的配对数据包对所述加密控制数据包进行解密,得到解密数据,包括:
所述接收装置采用自身保存的配对数据包中密钥KEY1对所述加密数据A3进行解密,得到48bit的解密数据D2;
取出所述解密数据D2中3byte的计数器值,并用所述接收装置自身保存的配对数据包中密钥KEY2对13byte的所述待处理信息和所述解密数据D2中的3byte计数器值进行AES128加密,得到加密数据D1;
对所述加密数据D1中第N byte至第N+2byte的3byte数据以及所述解密数据D2中的地址信息和按键信息进行异或操作,得到24bit的解密数据D0;
将所述解密数据D0和所述解密数据D2中的计数器值构成最终的48bit的解密数据DM,所述解密数据DM即为所述发射装置生成的所述控制数据包A0。
作为本发明进一步的改进,所述发射装置发送配对数据包至所述接收装置以使所述发射装置和所述接收装置进行配对,包括:
长按所述配对按键KP并保持第一时间直至所述接收装置中的指示灯LED闪烁,所述接收装置进入所述配对模式并松开所述配对按键KP;
同时按住所述发射装置中的任意两个按键并保持第二时间,所述发射装置进入所述配对模式;
所述发射装置发射所述配对数据包至所述接收装置,所述接收装置对所述配对数据包使用crc8进行校验,并在校验通过后将所述配对数据包保存至所述接收装置的EEPROM中,为所述发射装置分配一个计数器并将该计数器置零,所述接收装置退出所述配对模式并进入所述正常模式;
所述发射装置的任意两个按键在配对过程中持续按住,直至配对成功,松开所述发射装置中的任意两个按键,所述发射装置退出所述配对模式并进入所述正常模式。
作为本发明进一步的改进,若所述接收装置在第三时间内没有收到所述配对数据包,所述接收装置退出所述配对模式进入所述正常模式;
在所述接收装置进入所述配对模式后,若不松开所述配对按键KP,长按所述配对按键KP并保持第四时间直至所述接收装置中的指示灯LED常亮,所述接收装置清空所述接收装置的EEPROM中保存的配对数据包。
作为本发明进一步的改进,所述发射装置生成控制数据包,包括:
按住所述发射装置中的任意一个按键,所述发射装置从所述发射装置的EEPROM中读取上次保存的计数器值并将该计数器值加1,得到新计数器值;
所述发射装置用所述配对数据包中的地址信息、按键信息和新计数器值生成所述控制数据包。
作为本发明进一步的改进,所述接收装置在校验所述解密数据时,包括:
所述接收装置根据预设条件确定所述解密数据是否有效,在所述解密数据满足预设条件时确定所述解密数据有效并用所述解密数据中的计数器值更新所述接收装置保存的配对数据包中的计数器值,反之丢弃所述解密数据,其中,所述预设条件包括:
所述解密数据中的地址信息与所述接收装置保存的配对数据包中的地址信息相同,以及
所述解密数据中的计数器值大于所述接收装置保存的配对数据包中的计数器值。
作为本发明进一步的改进,所述发射装置的EEPROM内置或外置于所述发射装置的MCU,
所述接收装置的EEPROM内置或外置于所述接收装置的MCU。
本发明的有益效果为:
对数据包进行高安全加密,可以平衡单向低速无线传输系统的抗干扰和安全性间的关系,为单向无线传输提供足够的安全性。使用48bit数据包和AES128加密方法对数据进行加密,在使用48bit短数据包的同时也使得无线传输系统具有极高安全性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明的描述中,所用术语仅用于说明目的,并非旨在限制本发明的范围。术语“包括”和/或“包含”用于指定所述元件、步骤、操作和/或组件的存在,但并不排除存在或添加一个或多个其他元件、步骤、操作和/或组件的情况。术语“第一”、“第二”等可能用于描述各种元件,不代表顺序,且不对这些元件起限定作用。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个及两个以上。这些术语仅用于区分一个元素和另一个元素。结合以下附图,这些和/或其他方面变得显而易见,并且,本领域普通技术人员更容易理解关于本发明所述实施例的说明。附图仅出于说明的目的用来描绘本发明所述实施例。本领域技术人员将很容易地从以下说明中认识到,在不背离本发明所述原理的情况下,可以采用本发明所示结构和方法的替代实施例。
本发明实施例所述的一种无线遥控装置,所述装置包括:
发射装置和接收装置,所述装置设有配对模式和正常模式;
在所述配对模式下,所述发射装置发送配对数据包至所述接收装置以使所述发射装置和所述接收装置进行配对,所述配对数据包包括所述发射装置的至少两个按键的密钥及对应的校验信息,地址信息及对应的校验信息;
在所述正常模式下,所述发射装置生成控制数据包并用所述发射装置的配对数据包对所述控制数据包进行加密处理,生成加密控制数据包并发送至所述接收装置,所述接收装置采用自身保存的配对数据包对所述加密控制数据包进行解密,得到解密数据并校验,以使所述装置在校验成功后执行动作,所述控制数据包包括所述发射装置的地址信息、按键信息和计数器值。
本发明所述装置主要用于低速单向无线传输系统,包括一个发射装置和一个接收装置。发射装置发送加密数据包给接收装置,接收装置接收到加密数据数据包后进行解密校验,解密校验合格后进行动作。本发明通过对数据包进行高安全加密,可以平衡单向低速无线传输系统的抗干扰和安全性间的关系,可用于433遥控器、315遥控器等遥控器或红外等遥控器,适用范围较广。
如图1所示,所述发射装置包括多个按键(例如按键K1、K2、K3、K4)、指示灯LED、MCU、无线发射模块和EEPROM。可以理解的是,MCU是发射装置的主控模块,EEPROM是发射装置的存储模块。所述发射装置的EEPROM可以内置于MCU中,也可以外置。指示灯LED用于指示发射装置的状态。当按下按键时,MCU对按键信号进行编码和调制,调制后的发射信号通过发射模块发出。发射装置在生成控制数据包时的计数器可以是MCU提供的计数器。
如图2所示,所述接收装置包括配对按键KP、指示灯LED、与所述多个按键匹配设置的多个IO输出口(例如IO1、IO2、IO3、IO4)、MCU、无线接收模块和EEPROM。可以理解的是,MCU是接收装置的主控模块,EEPROM是接收装置的存储模块。所述接收装置的EEPROM可以内置于MCU中,也可以外置。指示灯LED是用于指示接收装置的状态。接收模块接收发射模块的发射信号,MCU对接收模块接收到的信号进行校验解码,即可判断出是哪个按键按下。
还可以理解的是,发射装置的发射模块和接收装置的接收模块是匹配设置的。多个IO输出口可以分别输出多路控制信号电平,例如在未收到发射信号时输出低电平,在接收到发射信号后输出高电平,多路输出可以各自独立工作也可以同时工作。
一种可选的实施方式中,所述控制数据包总长为48bit,包括20bit的地址信息、4bit的按键信息和24bit的计数器值,
所述发射装置的配对数据包总长为160bit,包括密钥KEY1和密钥KEY2,所述配对数据包总长为160bit,其中,密钥KEY1位于配对数据包前12byte,密钥KEY2位于配对数据包中第4byte至第19byte,地址信息位于配对数据包中第17byte值第19byte中的前20bit,所述配对数据包第20byte为前19byte的crc8校验信息。
可以理解的是,在生成加密控制数据包的过程中,本发明的实施例利用了发射装置的配对数据包其中两个密钥KEY1和KEY2,也可以利用其它两个密钥,或是更多个(多于两个)密钥。本发明对发射装置的按键数量不做限制,在生成加密控制数据包时利用的密钥数量也不做限制,只需在解密加密控制数据包时利用相应的密钥解密即可。
本发明定义了两种数据包,一种是用于通信用的控制数据包,一种是用于发射装置和接收装置配对用的配对数据包。
其中,控制数据包如下表1所示。
表1
20bit |
4bit |
24bit |
地址信息 |
按键信息 |
计数器 |
控制数据包有48bit,共6byte,前20bit是发射装置的地址信息,中间4bit是发射装置的按键信息,后24bit是一个自增的计数器。
配对数据包如下表2所示。
表2
配对数据包有160bit,共20byte,前19byte包含发射装置的KEY1密钥、KEY2密钥和地址信息,最后1byte是前19byte的crc8校验信息。
具体的:
KEY1密钥:是配对数据包前12byte。
KKE2密钥:是配对数据包去除前3byte,后16byte。
地址信息:是配对数据包去除前16byte,后3byte中的前20bit。
可以理解的是,每个发射装置都有一个唯一的配对数据包。
本发明将控制数据包设计为48bit,发射装置负责加密48bit的控制数据包,接收装置解密48bit的加密控制数据包并校验。
一种可选的实施方式中,所述发射装置生成控制数据包并用所述发射装置的配对数据包对所述控制数据包进行加密处理,生成加密控制数据包,包括:
所述发射装置生成大小为48bit的控制数据包A0,其中,所述控制数据包A0的20bit的地址信息采用所述配对数据包中的地址信息填充,所述控制数据包A0的4bit的按键信息采用所述发射装置实际的按键信息填充,所述控制数据包A0的24bit的计数器值为上次计数器值加1;
采用所述发射装置的配对数据包中密钥KEY2对13byte的待处理信息(例如“QingDaoKLMIoT”)和所述控制数据包A0中3byte的计数器值共16byte进行AES128加密,得到16byte的加密数据A1;
对所述加密数据A1中第N byte至第N+2byte(例如第7byte、第8byte、第9byte)的3byte(24bit)数据以及所述控制数据包A0中的地址信息和按键信息共24bit进行异或操作,得到24bit的加密数据A2;
采用所述加密数据A2(24bit)和所述控制数据包A0中的计数器值(24bit),构成48bit的控制数据包C1;
采用所述发射装置的配对数据包中密钥KEY1对所述控制数据包C1(48bit)进行加密,得到48bit的加密数据A3即所述加密控制数据包。
本发明通过48bit数据包+AES128加密+48bit加密算法,可以为单向无线传输提供足够的安全性。
一种可选的实施方式中,所述接收装置采用自身保存的配对数据包对所述加密控制数据包进行解密,得到解密数据,包括:
所述接收装置采用自身保存的配对数据包中密钥KEY1对所述加密数据A3(48bit)进行解密,得到48bit的解密数据D2;
取出所述解密数据D2中3byte的计数器值(24bit),并用所述接收装置自身保存的配对数据包中密钥KEY2对13byte的所述待处理信息(例如“QingDaoKLMIoT”)和所述解密数据D2中的3byte计数器值共16byte进行AES128加密,得到加密数据D1;
对所述加密数据D1中第N byte至第N+2byte(例如第7byte、第8byte、第9byte)的3byte(24bit)数据以及所述解密数据D2中的地址信息和按键信息共24bit进行异或操作,得到24bit的解密数据D0;
将所述解密数据D0(24bit)和所述解密数据D2中的计数器值(24bit)构成最终的48bit的解密数据DM。如果发射装置和接收装置使用相同的配对数据包进行加解密,那么所述解密数据DM即为所述发射装置生成的所述控制数据包A0。
一种可选的实施方式中,所述发射装置发送配对数据包至所述接收装置以使所述发射装置和所述接收装置进行配对,包括:
长按所述配对按键KP并保持第一时间(例如5秒)直至所述接收装置中的指示灯LED闪烁,表明所述接收装置进入所述配对模式,松开所述配对按键KP,此时接收装置继续工作在配对模式;
同时按住所述发射装置中的任意两个按键并保持第二时间(例如5秒以上),所述发射装置进入所述配对模式;
所述发射装置发射20byte的所述配对数据包至所述接收装置,所述接收装置对所述配对数据包使用crc8进行校验,并在校验通过后将所述配对数据包保存至所述接收装置的EEPROM中,为所述发射装置分配一个计数器并将该计数器置零,所述接收装置退出所述配对模式并进入所述正常模式;
所述发射装置的任意两个按键在配对过程中需要一直按住,直至配对成功,松开所述发射装置中的任意两个按键,所述发射装置退出所述配对模式并进入所述正常模式。
如前述,本发明所述装置配置有两种模式,在配对模式下是发射装置和接收装置进行配对,发射装置和接收装置首次使用时需进行配对,正常使用过程中无需再次配对。
一种可选的实施方式中,若所述接收装置在第三时间(例如1分钟)内没有收到任何有效的20byte的所述配对数据包,表示超时,所述接收装置退出所述配对模式进入所述正常模式;
在所述接收装置进入所述配对模式后,若不松开所述配对按键KP,长按所述配对按键KP并保持第四时间(例如10秒)直至所述接收装置中的指示灯LED常亮,所述接收装置清空所述接收装置的EEPROM中保存的配对数据包。
一种可选的实施方式中,所述发射装置生成控制数据包,包括:
按住所述发射装置中的任意一个按键,所述发射装置从所述发射装置的EEPROM中读取上次保存的计数器值并将该计数器值加1,得到新计数器值;
所述发射装置用自身的所述配对数据包中的地址信息(20bit)、读取的按键信息(4bit)和EEPROM中读出的新计数器值(24bit)生成所述控制数据包(48bit)。
可以理解的是,48bit的控制数据包是在正常模式下生成的,生成的控制数据包通过上述实施方式中的加密方法加密后发送至接收装置。
一种可选的实施方式中,所述接收装置在校验所述解密数据时,包括:
所述接收装置根据预设条件确定所述解密数据是否有效,在所述解密数据满足预设条件时确定所述解密数据有效并用所述解密数据中的计数器值更新所述接收装置保存的配对数据包中的计数器值,反之丢弃所述解密数据,其中,所述预设条件包括:
所述解密数据中的地址信息与所述接收装置保存的配对数据包中的地址信息相同,以及
所述解密数据中的计数器值大于所述接收装置保存的配对数据包中的计数器值。
在正常模式下,本发明所述接收装置在接收到发射装置发射的加密控制数据包(48bit)后,按照上述实施方式中的解密方法解密,得到解密数据。如果接收装置判断解密数据中的地址信息等于接收装置中EEPROM保存的配对数据包中的地址信息,接收装置进一步判断解密数据中的计数器值是否大于接收装置中EEPROM保存的计数器值,如果大于则表示该解密数据有效,此时接收装置将该地址信息的计数器值更新为解密数据中的计数器值并执行按键对应的动作。如果接收装置判断解密数据中的地址信息不等于接收装置中EEPROM保存的配对数据包中的地址信息,表明该解密数据无效直接丢弃该解密数据。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
此外,本领域普通技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本领域技术人员应理解,尽管已经参考示例性实施例描述了本发明,但是在不脱离本发明的范围的情况下,可进行各种改变并可用等同物替换其元件。另外,在不脱离本发明的实质范围的情况下,可进行许多修改以使特定情况或材料适应本发明的教导。因此,本发明不限于所公开的特定实施例,而是本发明将包括落入所附权利要求范围内的所有实施例。