【具体实施方式】
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
首先,为了使本领域技术人员更好的理解本发明,下面对本发明的技术方案作简要介绍:
本发明提供了一种在光子物联网中,发射端对原始信号进行加密,收控系统对加密后的信号进行解密,还原出原始信号的方法。这种方法中发射端和收控系统所采用伪码信号是随单位时间不断变换的,通过本发明所描述的同步方法,可以使收控系统识别出加密所用的伪码信号,从而使得解密所用的伪码信号能够跟发射端的伪码信号高度保持一致,进而能够正确解密。由于发射端与收控系统所用的伪码信号是随单位时间不断变化的,所以在相同的时间内,采用本发明所描述的同步方法,发射端发出的可见光信号能够被收控系统正确识别为合法信号,因为只有当前时间的加密信号有效,之前时间的则无效。但通过高速摄像机拍摄所复制的频闪光信号在其它时间内进行尝试接入时,会被识别为非法信号,无法再控制受控端设备,从而能提高光子物联网系统的安全性。
实施例一、
参见图1,是本发明实施例一提供的一种可见光信号的握手同步方法流程图,该方法包括:
S101:状态机随单位时间变化的发射端与收控系统连接。通过该步骤发射端与收控系统实现握手。
其中,收控系统包括系统控制平台、以及与该系统控制平台连接的各接收端。
具体的,发射端的状态机随单位时间不断变化,当在某个时间段时,其状态机也刚好位于第N个状态;发射端与系统控制平台连接。
S102:收控系统调整各接收端状态机的状态与发射端状态机的状态同步。
具体的,系统控制平台调整系统控制平台状态机的状态、以及各接收端状态机的状态与发射端状态机的状态同步,例如位于第N个状态。
S103:发射端将原始信号和导光信号分别与当前时段的伪码信号进行逻辑运算,获得加密的原始信号和加密的导光信号。
其中,原始信号、导光信号以及伪码信号之间的频率相同或者存在整数倍关系,起止相位相同。
原始信号是一种数字序列信号,也称之为基带数据,可以由ID号组成。这里的ID号指每一个发射端的唯一识别码,可以是8位,16位,24位或者32位等bit的二进制数字。假设某个光子物联网中有M个发射端,那每个发射端的基带信号都是自身的ID号。同时,每个发射端的伪码发生器的状态都是由当前的时间和ID共同决定的。假设伪码发生器也具有N种状态,并且每一种状态对应唯一一个伪码信号,那么在T1时段,光子发射器1对应状态1,光子发射器2对应状态2,…光子发射器M对应状态N;而在T2时段,光子发射器1对应状态2,光子发射器2对应状态2,…光子发射器M对应状态1,如此循环变化。这样可以保证:同一时段,每个发射端所产生的伪码信号是不一样的,而对于同一个发射端来说,不同时段所产生的伪码信号也是不一样的。导光信号则是由导光信号发生器产生,是一组全“1”二进制数字,如8位,16位,24位或者32位等Bit。
例如,在T1时间,假设发射端1的基带信号为0000000000000000000000000000011011111111111111111111111111111111,共64位,其前32位为其ID号,即00000000000000000000000000000110;后32位全1的导光信号。在T1单位时间内伪码发生器的状态为状态1,假设为11101001110100111010001001001101,则其逻辑运算,即异或的过程如表1所示:
原始信号 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
伪码信号 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
输出信号 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
表1发射端1原始信号在T1单位时间内逻辑运算过程表
从表1可知,卷积后的输出信号,即加密的原始信号为11101001110100111010001001001011。
导光信号部分和伪码信号的逻辑运算,即异或的过程如表2所示:
导光信号 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
伪码信号 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
输出信号 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
表2发射端1导光信号在T1单位时间内逻辑运算过程表
从表2可知,逻辑运算后的输出信号,即加密的导光信号为00010110001011000101110110110010。
S104:发射端将加密的原始信号和加密的导光信号合并获得扰码信号。
例如,将加密的原始信号11101001110100111010001001001011,与加密的导光信号00010110001011000101110110110010合并,获得扰码信号1110100111010011101000100100101100010110001011000101110110110010。此处以前32位为加密原始信号,后32位为加密的导光信号进行合并,在具体的过程中,也可以以前32位为加密的导光信号,后32位为加密原始信号进行合并,此处不再一一列举。
S105:发射端以可见光信号的形式发送所述扰码信号。
假设以ID表示发射端的ID信号,PW代表发射端的导光信号,PN代表伪码信号,则输出的扰码信号S可以用S=ID*PN+PW*PN来表示。若此时发射端发射的信号被高速摄像机拍摄进行复制,则复制的信号也为1110100111010011101000100100101100010110001011000101110110110010。
S106:收控系统接收S105发射的可见光信号,并将该可见光信号转换为数字信号。
具体的,收控系统中的某个接收端接收发射端发射的可见光信号,将光信号转换为电流信号,将电流信号转换为电压信号,将电压信号作为数字信号输出。
S107:收控系统对该数字信号进行分解,获得加密的原始信号和加密的导光信号。
S108:收控系统将加密的导光信号与预存的所有用户在当前时段状态机对应的伪码信号进行逻辑运算,根据相关峰判断当前状态对应的伪码信号。
其中S108可以由接收可见光信号的接收端来完成,也可以在系统控制平台来完成。
例如,收控系统的各接收端跟发射端一样,也存在着相同的状态机,并且状态机的状态也是随时间不断变化的。所不同的是,每一个发射端在一个时间段内只对应一个状态,经过这个时间段后才会转换为其它状态,也就是说只能产生一组伪码信号,并且这个伪码随着时间的变化而变化。而在接收端,假设存在M个发射端,即存在M个用户,收控端同时存在着N种状态,也就是同时存在着N组伪码信号,各组伪码信号是不相同的,这N个伪码保存在N个寄存器中,并且每个寄存器对应着唯一的发射端,即每个寄存器保存着固定的发射端的ID号和随时间变化的伪码信号,如寄存器1始终保存着发射端1的ID号,寄存器2始终保存着发射端2的ID号。而各个寄存器中保存的伪码信号则与发射端中的伪码信号一一对应,由时间决定并且随时间不断变化。如在T1时段,寄存器1对应状态1,寄存器2对应状态2,…寄存器N对应状态N;而在T2时段,寄存器1对应状态2,寄存器2对应状态2,…寄存器N对应状态1,如此循环变化。
其中,相关峰指加密的导光信号与伪码信号逻辑运算后所得的一组数字序列的峰值,例如,加密的导光信号是全“1”的数字序列与伪码信号异或运算的结果,如果加密的导光信号与预存的所有用户在当前时段状态机对应的伪码信号遍历尝试异或运算,如果运算的结果峰值是全1的数字序列,则证明某接收端当前时段状态机对应的伪码信号与发射端当前时段状态机对应的伪码信号相同,从而获得接收端当前状态对应的伪码信号。
假设在T1时段,加密的导光信号00010110001011000101110110110010与N个寄存器中所保存的伪码信号逐一进行逻辑运算,通过相关峰识别,可以得到32位全“1”的序列,从而得到加密所用的伪码信号,即寄存器1中保存的伪码信号为11101001110100111010001001001101。
S109:收控系统采用当前状态对应的伪码信号对加密的原始信号进行解密,获得原始信号。
例如,将伪码信号11101001110100111010001001001101与加密的ID数据11101001110100111010001001001011进行逻辑运算,得到解密后的ID数据即00000000000000000000000000000110,从而获得原始信号。
假设到了T2时段,这时发射端1的基带信号仍然为0000000000000000000000000000011011111111111111111111111111111111。但这时其状机为状态2,假设其对应的伪码信号为10101101010100101011001101011010,则其逻辑运算,即异或的过程如表3所示:
原始信号 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
伪码信号 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
输出信号 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
表3发射端1的原始信号在T2单位时间内逻辑运算过程表从表3可知,逻辑元算后的输出信号,即加密的原始信号为10101101010100101011001101011100。
导光信号与伪码信号进行逻辑运算,即异或的过程表4所示:
导光信号 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
伪码信号 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
输出信号 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
表4发射端1的导光信号在T2单位时间内逻辑运算过程表
从表4可知,逻辑运算后的输出信号,即加密的导光信号为01010010101011010100110010100101。
综合表3和表4,可以得到T2单位时间内发射端的发射的伪码信号为1010110101010010101100110101110001010010101011010100110010100101。
在T2时段,接收端寄存器1仍然保存ID号:00000000000000000000000000000110,由于接收端的状态变化与发射端是相同的,所以此时寄存器1的状态也同步变为状态2,与发射端的状态2一样用伪码信号10101101010100101011001101011010。按前面描述的接收处理过程方法,接收端也能识别加密所用的伪码信号,并且解密后的ID数据也能与保存的ID数据相一致,为合法的信号。
如果在T2时段用T1时段复制的信号即1110100111010011101000100100101100010110001011000101110110110010去让接收端进行识别。在伪码判决器中能识别到所用的伪码信号为状态1时所用的伪码信号,即11101001110100111010001001001101,并且保存该伪码信号的寄存器为X,但不会是寄存器1。由于每个寄存器所保存的ID号具有唯一性,所以寄存器X所保存的ID号不可能是00000000000000000000000000000110,但用伪码判决器所识别的伪码信号去解密码复制的信号的ID时,得到的ID号却为00000000000000000000000000000110,得到了错误的ID。因此,在光信号传输的过程中被复制的信息,在下一个时间段就不能被接收端识别了,成了过期的信息,从而提高了光子物联网的安全性。
该实施例一中,发射端将原始信号和导光信号分别与当前时段的伪码信号进行逻辑运算的步骤,以异或运算为例进行描述,在具体的实施过程中,还可以包括其他的逻辑运算,例如逻辑与,此处不再赘述。
实施例二、
参见图2,是本发明实施例二提供的一种基于可见光通信的握手同步方法流程图,该方法包括:
S201:状态机随单位时间变化的发射端与系统控制平台连接。
具体的,发射端的状态机随单位时间不断变化,当在某个时间段时,其状态机也刚好位于第N个状态;发射端与系统控制平台连接。
通过该步骤,发射端与系统控制平台实现握手。
S202:系统控制平台调整自身状态机的状态、以及与系统控制平台连接的各接收端状态机的状态与发射端状态机的状态同步。
S203:发射端将原始信号和导光信号分别与当前时段的伪码信号进行逻辑运算,获得加密的原始信号和加密的导光信号。
其中,伪码信号随单位时间变化,当前时段的伪码信号在下一时间段被丢弃,采用新的伪码信号。其中,原始信号、导光信号以及伪码信号之间的频率相同或者存在整数倍关系,起止相位相同。
S204:发射端将加密的原始信号和加密的导光信号合并获得扰码信号。
例如,将即加密的原始信号11101001110100111010001001001011,与加密的导光信号00010110001011000101110110110010合并,获得扰码信号1110100111010011101000100100101100010110001011000101110110110010。
S205:发射端对扰码信号进行调制,获得调制信号。例如,可采用PCM、PWM、PPM、BPSK、QPSK、QAM、QNAM、以及键控调制等方式,对扰码信号进行调制。
S206:发射端将所述调制信号以可见光信号的形式发送出去。例如,发射端通过LED灯以闪光形式将调制信号发送出去。
S207:接收端接收发射端发送的可见光信号,并将该可见光信号转换为数字信号。
S208:接收端对数字信号进行解调,获得解调信号。例如,可采用PCM、PWM、PPM、BPSK、QPSK、QAM、QNAM以及键控调制等方式相对应的解调方式,对所述数字信号进行解调。
S209:接收端对解调信号进行分解,获得加密的原始信号和加密的导光信号。
S210:接收端将加密的导光信号与预存的所有用户在当前时段状态机对应的伪码信号进行卷积运算,根据相关峰判断当前状态对应的伪码信号。
例如,接收端寄存器1在T1时段,其状态为状态1,即伪码信号为11101001110100111010001001001101。此时,加密的导光信号为00010110001011000101110110110010,与本随机码进行卷积运算,通过相关峰识别,可以得到32位全“1”的序列,说明该伪码信号正是加密所用的伪码信号。加密的导光信号与伪码信号进行逻辑运算,即异或的过程如表5所示:
表5接收端1对加密的导光信号在T1单位时间内逻辑运算过程表
S211:接收端采用当前状态对应的伪码信号对加密的原始信号进行解密,获得原始信号。
例如,加密的原始信号为11101001110100111010001001001011,与伪码信号11101001110100111010001001001101进行逻辑运算,即异或的过程如表6所示:
表6接收端1对加密的导光信号在T1单位时间内逻辑运算过程表
从表6可知,解密后的原始信号,即ID信号为00000000000000000000000000000110。
S212:系统控制平台将解密的原始信号与预存的所有用户的原始信号进行比对,判定接收的原始信号的合法性。若合法,则进入S213;否则,进入S214。
在具体的实施过程中,S212也可以用如下步骤来替代:接收端将解密的原始信号与预存的原始信号进行比对,判定接收的原始信号的合法性。例如,解密后的原始信号为00000000000000000000000000000110,预存的原始信号也为00000000000000000000000000000110,则判定为接收的原始信号合法。
如果在T2时段用T1时段复制的信号即1110100111010011101000100100101100010110001011000101110110110010去让接收端进行识别。在伪码判决器中能识别到所用的伪码信号为状态1时所用的伪码信号,即11101001110100111010001001001101,并且保存该伪码信号的寄存器为X,但不会是寄存器1。由于每个寄存器所保存的ID号具有唯一性,所以寄存器X所保存的ID号不可能是00000000000000000000000000000110,但用伪码判决器所识别的伪码信号去解密码复制的信号的ID时,得到的ID号却为00000000000000000000000000000110,得到了错误的ID。所以在ID判决器中进行ID对比时,两者不相同,即可判断为非法信号。
S213:接收端控制与其连接的功能单元动作。例如,接收端控制门禁系统执行开锁动作。或者控制家用电器打开电源,进入工作状态。
S214:接收端执行提示动作。例如,发出文字提示或者语音提示。
通过以上的同步方法,即使发射端发射出来的可见光信号被高速摄像机拍摄后进行复制,由于复制的信号无法与接收端的状态变化进行同步,所以在不同的时间内,即使用复制的信号去尝试对接收端进行识别,也能判断为非法信号,可以提高光子物联网的安全性。
上述对本发明的方法实施例进行了描述,下面对运行上述方法实施例的硬件系统列举实施例进行详细描述。
实施例三、
参见图3,是本发明实施例三提供的一种基于可见光通信的握手同步系统结构示意图,该系统300包括发射端301和收控系统302,该收控系统302包括系统控制平台303、以及与该系统控制平台连接的至少一个接收端304。
发射端301的状态机随单位时间变化,在预设时间段,与收控系统302连接以实现握手,包括伪码发生器301a、导光信号发生器301b、编码器301c、以及发光单元301d。
伪码发生器301a,用于产生并输出随单位时间变化的伪码信号。该伪码发生器301a的工作状态随单位时间变化,输出的伪码信号也随单位时间变化,例如,在T1单位时间内伪码发生器301a的状态为状态1,输出的伪码信号为11101001110100111010001001001101;在T2时间段内伪码发生器301a 的状态为状态2,输出的伪码信号为10101101010100101011001101011010。
导光信号发生器301b,用于输出导光信号。该导光信号发生器301b的频率与伪码发生器的工作频率相同或者存在整数倍的关系。
与导光信号发生器301b和伪码发生器301a连接的编码器301c,用于对原始信号和导光信号发生器301b输出的导光信号,分别与伪码发生器301a当前时段输出的伪码信号进行逻辑运算,获得加密的原始信号和加密的导光信号,将加密的原始信号和加密的导光信号合并获得扰码信号。例如,将加密的原始信号11101001110100111010001001001011,与加密的导光信号00010110001011000101110110110010合并,获得扰码信号1110100111010011101000100100101100010110001011000101110110110010。此处以前32位为加密原始信号,后32位为加密的导光信号进行合并,在具体的过程中,也可以以前32位为加密的导光信号,后32位为加密原始信号进行合并。
与编码器301c连接的发光单元301d,用于将编码器301c输出的扰码信号以可见光信号的形式(闪光形式)发送出去。其中,发送单元301c可以为发光二极管,也可以是其它具有发光功能的元件。
其中,发射端301可以为专用光子客户端、手机、以及具有发射可见光信号功能的手持电子设备。
收控系统302包括系统控制平台303、以及与系统控制平台303连接的至少一个接收端304。接收端304与发射端当前时段状态机的状态同步。发射端301的状态机与接收端304的状态机同步后,随单位时间与发射端301的状态机的状态作着相同的变化。
接收端304包括接收单元302a、分解单元302b、伪码判决器302c、以及译码器302d。
接收单元302a,接收发射端301a发射的可见光信号,并将该可见光信号转换为数字信号。
与接收单元302a连接的分解单元302b,用于对接收单元302a转换所得的数字信号进行分解,获得加密的原始信号和加密的导光信号。
与分解单元302b连接的伪码判决器302c,该伪码判据器将加密的导光信号与预存的光子物联网系统中所有用户在当前时段状态机对应的伪码信号进行逻辑运算,例如,卷积运算后,根据相关峰判断当前状态对应的伪码信号。
与分解单元302b和伪码判决器302c连接的译码器302d,用于采用伪码判决器302c输出的伪码信号对分解单元302b输出的加密的原始信号进行解密,获得原始信号。在具体的实施过程中,译码器302d具有缓存功能,用于缓存分解单元302b输出的加密的原始信号,或者在分解单元302b和译码器302d之间连接有缓存单元,用来对分解单元302b输出的加密的原始信号进行缓存。
在具体实施过程中,还可以包括与译码器302d连接的ID判决器、以及与该判决器连接具体设备,如门锁、家用电器等。
实施例四、
参见图4,是本发明实施例四提供的一种可见光信号的握手同步系统结构示意图,相对于实施例三,发射端301还包括:
连接于所述编码器301c与发送单元301d之间、用于对扰码信号进行调制的调制器301e。
相应的,接收端302还包括:
连接于接收单元302a和分解单元302b之间、用于对接收单元302a输出的数字信号进行解调的解调器302e。
参见图5,是本发明实施例五提供的一种可见光信号的握手同步系统结构示意图,相对于实施例四,接收端302还包括:
与译码器302d和伪码判决器302c连接的原始信号判决器302f、用于将解密的原始信号与伪码判决器中预存的原始信号进行比对,判定接收的原始信号的合法性。在具体的实施过程中,原始信号判决器302f具有缓存功能,用于对伪码判据器302c输出的原始信号进行缓存,也可以在伪码判据器302c与原始信号判决器302f之间连接一缓存器,通过该缓存器对伪码判据器302c输出的原始信号进行缓存。
在具体的实施过程中,同步系统300还包括与接收单元302连接的功能单元,例如电动锁等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。