一种基于LFSR的101规约控制指令安全通信方法技术

技术编号:14562502 阅读:41 留言:0更新日期:2017-02-05 19:10
本发明专利技术公开了一种基于LFSR的101规约控制指令安全通信方法,包括:采用101规约的可变长数据帧对LFSR进行初始化和同步,以同步发送方和接收方的密钥流;发送方采用当前LFSR的状态值作为流密钥加密可变长数据帧的链路用户数据,然后将加密后的数据帧发送给接收方并使LFSR步进一次;接收方接收到加密后的数据帧后,对所接收的数据帧中的链路用户数据采用当前的LFSR的状态值作为流密钥进行解密,然后再使接收方的LFSR步进一次;接收方根据解密出的链路用户数据,判断所接收的控制指令是否为合法的101规约控制指令,然后根据判断的结果进行安全通信。本发明专利技术具有安全隐患小的优点,可广泛应用于通信领域。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其是一种基于LFSR的101规约控制指令安全通信方法
技术介绍
线性反馈移位寄存器(linearfeedbackshiftregister,LFSR)是指,给定前一状态的输出,将该输出的线性函数再用作输入的移位寄存器。其中,异或运算是LFSR最常见的单比特线性函数:对寄存器的某些位进行异或操作后作为输入,再对寄存器中的各比特进行整体移位。101规约是配电网络通信的协议,可以实现与电力设备的远程通信及远动控制。101规约是IEC870-5-101的简称,其配套标准的名称是L/T634.5101-2002。该规约规定了两种数据帧格式,一种固定长数据帧,另外一种是可变长数据帧。其中,固定长数据帧格式如下:启动字符(10H)控制域(C)链路地址域(A)帧校验和(CS)结束字符(16H)而可变长数据帧格式如下:启动字符(68H)长度(L)长度重复(L)启动字符(68H)控制域(C)链路地址域(A)链路用户数据(可变长度,记为UsrData)帧校验和(CS)结束字符(16H)其中,可变帧主要用于传输数据(例如总召唤,时间同步信息和遥控命令等);固定帧主要用于确认报文或询问报文(例如链路状态确认,链路复位,一级数据和二级数据等)。显然,101规约的控制指令是通过可变长数据帧传递的。然而,101规约本身没有提供安全机制,控制指令都是明文的方式进行传输的,接收方不能判断该指令是否来自合法的执行者,也不可以溯源,存在较大的安全隐患。
技术实现思路
本专利技术的目的在于:提供一种安全隐患小的,基于LFSR的101规约控制指令安全通信方法。本专利技术所采取的技术方案是:一种基于LFSR的101规约控制指令安全通信方法,包括:S1、采用101规约的可变长数据帧对LFSR进行初始化和同步,以同步发送方和接收方的密钥流;S2、发送方采用当前LFSR的状态值作为流密钥加密可变长数据帧的链路用户数据,然后将加密后的数据帧发送给接收方并使LFSR步进一次;S3、接收方接收到加密后的数据帧后,对所接收的数据帧中的链路用户数据采用当前的LFSR的状态值作为流密钥进行解密,然后再使接收方的LFSR步进一次;S4、接收方根据解密出的链路用户数据,判断所接收的控制指令是否为合法的101规约控制指令,然后根据判断的结果进行安全通信。进一步,所述步骤S1,其包括:S11、发送方向接收方发送请求序列Req||Rand1,其中,Req为指定字节数目和指定内容的连接请求,||为信息连接符,Rand1为发送方产生的随机数;S12、接收方在接收到请求序列后,计算接收方LFSR的第一状态值status1=LFSR(m,Rand1||Rand2),然后将序列status1||Rand2返回给发送方,其中,Rand2为接收方产生的随机数,m为接收方的控制参数,LFSR(m,Rand1||Rand2)为接收方LFSR在控制参数m的控制作用下进行线性反馈移位的结果;S13、发送方接收到序列status1||Rand2后,根据Rand2、已有的Rand1和发送方的控制参数m’计算验证发送方的第一状态值status1’=LFSR(m’,Rand1||Rand2)是否与接收方的status1相同,若是,则计算发送方LFSR的第二状态值status2=LFSR(m’,status1’),并发送给接收方;反之,则终止安全通信过程,其中,LFSR(m’,Rand1||Rand2)和LFSR(m’,status1’)均为发送方LFSR在控制参数m’的控制作用下进行线性反馈移位的结果,m’=m;S14、接收方接收到status2后,根据接收方的控制参数m和已有的status1计算验证接收方LFSR的第二状态值status2’=LFSR(m,status1)是否与发送方的status2相同,若是,则将验证成功的消息Auth_Res返回给发送方,并让接收方的LFSR步进一次,进入status3=LFSR(m,status2)状态,反之,则终止安全通信过程;S15、发送方接收到消息Auth_Res后,让发送方的LFSR步进一次,也进入status3状态。进一步,所述步骤S2,其包括:S21、若可变长数据帧的链路用户数据UsrData的长度大于当前LFSR的长度,则采用当前LFSR步进至少一次后的新状态值来加密UsrData超出当前LFSR长度的部分,UsrData的余下部分则采用当前LFSR的状态值作为流密钥进行加密;若UsrData的长度小于等于LFSR的长度,则采用当前LFSR的状态值作为流密钥加密UsrData,并将当前LFSR的状态值中超出UsrData长度的部分舍去;S22、发送方按101规约将加密后的UsrData密文填充进数据帧后发给接收方,并使发送方的LFSR步进一次。进一步,所述步骤S21其具体为:若可变长数据帧的链路用户数据UsrData的长度n与当前LFSR的长度L满足0<n≤L,则加密后的UsrData密文c_UsrData的表达式为:若可变长数据帧的链路用户数据UsrData的长度n与当前LFSR的长度L满足L<n≤2L,则加密后的UsrData密文c_UsrData的表达式为:其中,lfsr为当前LFSR的状态值,di为第i比特链路用户数据UsrData的值;li为第i比特lfsr的状态值,l'i为li步进一次后的新状态值。进一步,所述步骤S3,其包括:S31、接收方从接收到的数据帧中区分出非UsrData部分以及UsrData部分;S32、接收方对接收到的数据帧中的非UsrData部分按照101规约的解密方式进行处理,而对接收到的数据帧中的UsrData部分采用接收方当前LFSR的状态值作为流密钥进行解密;S33、使接收方的LFSR步进一次。进一步,所述步骤S32中对UsrData采用接收方当前LFSR的状态值作为流密钥进行解密这一步骤,其具体为:对UsrData采用接收方当前LFSR的状态值作为流密钥进行解密,若当前LFSR的长度不够,则用当前LFSR步进至少一次后的新状态值解密UsrData中超出LFSR长度的部分,所述解密出的链路用户数据的计算公式为:进一步,所述步骤S4,其具体为:接收方根据解密出的链路用户数据,判断所接收的控制指令是否为合法的101规约控制指令,若是,则执行该控制指令;反之,则拒绝执行该控制指令,并按照101规约反馈给发送方。进一步,所述控制参数m’和m均是指LFSR参与反馈的抽头情况和一次性连续移动的位数。本专利技术的有益效果是:增设了采用101规约的可变长数据帧对LFSR进行初始化和同步的步骤,在通信开始前就同步了密钥流,有效防止了控制指令被仿冒,更加安全;采用可变长数据帧的链路用户数据和LFSR来本文档来自技高网
...

【技术保护点】
一种基于LFSR的101规约控制指令安全通信方法,其特征在于:包括:S1、采用101规约的可变长数据帧对LFSR进行初始化和同步,以同步发送方和接收方的密钥流;S2、发送方采用当前LFSR的状态值作为流密钥加密可变长数据帧的链路用户数据,然后将加密后的数据帧发送给接收方并使LFSR步进一次;S3、接收方接收到加密后的数据帧后,对所接收的数据帧中的链路用户数据采用当前的LFSR的状态值作为流密钥进行解密,然后再使接收方的LFSR步进一次;S4、接收方根据解密出的链路用户数据,判断所接收的控制指令是否为合法的101规约控制指令,然后根据判断的结果进行安全通信。

【技术特征摘要】
1.一种基于LFSR的101规约控制指令安全通信方法,其特征在于:包括:
S1、采用101规约的可变长数据帧对LFSR进行初始化和同步,以同步发送
方和接收方的密钥流;
S2、发送方采用当前LFSR的状态值作为流密钥加密可变长数据帧的链路用
户数据,然后将加密后的数据帧发送给接收方并使LFSR步进一次;
S3、接收方接收到加密后的数据帧后,对所接收的数据帧中的链路用户数据
采用当前的LFSR的状态值作为流密钥进行解密,然后再使接收方的LFSR步进一
次;
S4、接收方根据解密出的链路用户数据,判断所接收的控制指令是否为合法
的101规约控制指令,然后根据判断的结果进行安全通信。
2.根据权利要求1所述的一种基于LFSR的101规约控制指令安全通信方法,
其特征在于:所述步骤S1,其包括:
S11、发送方向接收方发送请求序列Req||Rand1,其中,Req为指定字节数
目和指定内容的连接请求,||为信息连接符,Rand1为发送方产生的随机数;
S12、接收方在接收到请求序列后,计算接收方LFSR的第一状态值
status1=LFSR(m,Rand1||Rand2),然后将序列status1||Rand2返回给发送方,
其中,Rand2为接收方产生的随机数,m为接收方的控制参数,LFSR(m,
Rand1||Rand2)为接收方LFSR在控制参数m的控制作用下进行线性反馈移位的结
果;
S13、发送方接收到序列status1||Rand2后,根据Rand2、已有的Rand1和
发送方的控制参数m’计算验证发送方的第一状态值status1’=LFSR(m’,
Rand1||Rand2)是否与接收方的status1相同,若是,则计算发送方LFSR的第二
状态值status2=LFSR(m’,status1’),并发送给接收方;反之,则终止安全通
信过程,其中,LFSR(m’,Rand1||Rand2)和LFSR(m’,status1’)均为发送方
LFSR在控制参数m’的控制作用下进行线性反馈移位的结果,m’=m;
S14、接收方接收到status2后,根据接收方的控制参数m和已有的status1
计算验证接收方LFSR的第二状态值status2’=LFSR(m,status1)是否与发送
方的status2相同,若是,则将验证成功的消息Auth_Res返回给发送方,并让

\t接收方的LFSR步进一次,进入status3=LFSR(m,status2)状态,反之,则终止
安全通信过程;
S15、发送方接收到消息Auth_Res后,让发送方的LFSR步进一次,也进入
status3状态。
3.根据权利要求1所述的一种基于LFSR的101规约控制指令安全通信方法,
其特征在于:所述步骤S2,其包括:
S21、若可变长数据帧的链路用户数据UsrData的长度大于当前LFSR的长度,
则采用当前LFSR步进至少一次后的新状态值来加密UsrData超出当前LFSR长度
的部分,UsrData的余下部分则采用当前LFSR的状态值作为流密...

【专利技术属性】
技术研发人员:田文春彭庆良
申请(专利权)人:广东纬德信息科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1