本发明属于电气自动化领域,具体涉及一种电力北斗终端的短报文加密定位方法及系统。
背景技术:
1、随着经济技术的发展和人们生活水平的提高,电能已经成为了人们生产和生活中必不可少的二次能源,给人们的生产和生活带来了无尽的便利。因此,保障电能的稳定可靠供应,就成为了电力系统最重要的任务之一。
2、目前,北斗卫星系统已经广泛应用于电力系统之中,给电力系统的数据传输带来了极大的便利。北斗卫星系统包括了北斗一号、北斗二号和北斗三号;相较于北斗一号和北斗二号,北斗三号卫星数量更多、技术更先进,同时提升了北斗短报文的数据长度、服务频次和转发成功率,可以为电力系统等众多领域提供更强大的服务能力。
3、由于电力系统的部分输电线路、变电站、水电站等分布在无信号的区域,人工巡视周期长、难度大、风险高,北斗短报文的应用能够极大的辅助电力作业人员实现关键信息的采集和回传;北斗卫星导航系统自主运营以及全面覆盖的优点,也极其适用于电网无信号区域的运检业务及应急灾备、紧急救援等业务应用。
4、目前的北斗短报文终端的定位数据传输协议仍然采用明文传输。但是,电力系统的定位数据涉及大量的敏感信息,电力系统数据一旦泄露,将为电力系统带来严重的安全隐患。因此,现今的电力北斗终端采用北斗短报文进行定位数据传输的过程,其可靠性和安全性都较差。
技术实现思路
1、本发明的目的之一在于提供一种可靠性高且安全性好的电力北斗终端的短报文加密定位方法。
2、本发明的目的之二在于提供一种实现所述电力北斗终端的短报文加密定位方法的系统。
3、本发明提供的这种电力北斗终端的短报文加密定位方法,包括如下步骤:
4、s1.电力北斗终端进行单点定位;
5、s2.电力北斗终端将步骤s1得到的单点定位信息进行加密编码,并通过北斗短报文发送回主站;
6、s3.主站接收到短报文后,进行解码处理,并采用已部署的电力北斗解算服务进行解算;
7、s4.主站将解算后的数据进行加密编码,并通过北斗短报文发送给电力北斗终端;
8、s5.电力北斗终端接收到短报文后,进行解码处理,并对接收到的信息进行安全判断;
9、s6.根据步骤s5的判断结果,电力北斗终端进行自身的高精定位,完成电力北斗终端的短报文加密定位。
10、步骤s1所述的电力北斗终端进行单点定位,具体包括如下步骤:
11、在时刻t1,电力北斗终端接收北斗卫星信号进行自身的单点定位,得到原始坐标为(xt1,yt1,zt1);
12、同时,电力北斗终端观测到卫星星历信息(ak1,ak2,...,aki),其中aki为电力北斗终端观测到的第i个卫星的所有星历数据集合。
13、步骤s2所述的电力北斗终端将步骤s1得到的单点定位信息进行加密编码,并通过北斗短报文发送回主站,具体包括如下步骤:
14、电力北斗终端对原始坐标和卫星星历信息进行组帧处理,得到数据帧f'为
15、zero(m)的长度为l(m),l(m)为预先设定的集合,为的重复且用于保证数据帧f'的长度为设定值l;
16、电力北斗终端设定扰码fs,扰码fs的长度为l,然后通过对数据帧f'进行伪随机化处理,f”为初级发送帧;为异或操作;
17、将f”分为j个帧,得到f”={f1”,f2”,...,fj”};对于其中的第ii个子帧fii”,共进行32轮迭代,每一轮迭代均包括如下步骤:
18、a.将fii”分为4组数据,每组数据的长度为32bit,表示为(fii”k,fii”k+1,fii”k+2,fii”k+3),k表示当前的迭代轮次;
19、b.保持fii”k不变,设置第一密钥sk,将第一密钥sk和fii”k+1、fii”k+2和fii”k+3进行异或操作,得到第一中间值hi为
20、c.将第一中间值hi按高低位拆解为第一中间子值hi1、hi2、hi3和hi4,第一中间子值hi1、hi2、hi3和hi4均为8bit数据;对hi1、hi2、hi3和hi4均进行盒变换,得到第一中间盒子值hoi1、hoi2、hoi3和hoi4,在合并为第一盒中间值hoi为hoi={hoi1,hoi2,hoi3,hoi4},hoi为32bit数据;
21、d.对第一盒中间值hoi进行四次左循环移位:
22、将第一盒中间值hoi向左循环移位i+2位,得到第一循环移位一值he1;he1为32bit数据;
23、将第一盒中间值hoi向左循环移位i+10位,得到第一循环移位二值he2;he2为32bit数据;
24、将第一盒中间值hoi向左循环移位i+18位,得到第一循环移位三值he3;he3为32bit数据;
25、将第一盒中间值hoi向左循环移位i+24位,得到第一循环移位四值he4;he4为32bit数据;
26、将hoi与he1、he2、he3和he4再次进行异或操作,得到第一盒异或中间值hoi'为
27、e.将hoi'和fii”k进行异或操作,得到第一正序值y为将y进行反序,得到第一反序值fii”k+4,完成第k轮迭代;
28、f.重复步骤a~e共32次,完成32轮迭代,得到第ii个子帧fii所对应的第一中间子帧(fii”35,fii”36,fii”37,fii”38);
29、最后,将每一个子帧所对应的第一中间子帧合并,得到每一个子帧所对应的编码子帧,从而得到初级发送帧f”={f1,f2,...,fj}所对应的发送帧f,完成加密编码;
30、北斗电力终端将发送帧f通过北斗短报文发送回主站。
31、步骤s3所述的主站接收到短报文后,进行解码处理,并采用已部署的电力北斗解算服务进行解算,具体包括如下步骤:
32、主站接收到短报文后,将f拆分为j个帧,f={f1,f2,...,fjj,...,fj},对其中的第jj个帧fjj,共进行32轮迭代,每一轮迭代均包括如下步骤:
33、a.将fjj分为4组数据,每组数据的长度为32bit,表示为(fjjk,fjjk+1,fjjk+2,fjjk+3),k表示当前的迭代轮次;
34、b.保持fjjk不变,设置第二密钥sk',将第二密钥sk'和fjjk+1、fjjk+2和fjjk+3进行异或操作,得到第二中间值hi'为
35、c.将第二中间值hi'按高低位拆解为第二中间子值hi'1、hi'2、hi'3和hi'4,第二中间子值hi'1、hi'2、hi'3和hi'4均为8bit数据;对hi'1、hi'2、hi'3和hi'4均进行盒变换,得到第二中间盒子值hoi'1、hoi'2、hoi'3和hoi'4,在合并为第二盒中间值hoi”为hoi”={hoi'1,hoi'2,hoi'3,hoi'4},hoi'为32bit数据;
36、d.对第二盒中间值hoi”进行四次左循环移位:
37、将第二盒中间值hoi”向左循环移位i+2位,得到第二循环移位一值he'1;he'1为32bit数据;
38、将第二盒中间值hoi”向左循环移位i+10位,得到第二循环移位二值he'2;he'2为32bit数据;
39、将第二盒中间值hoi”向左循环移位i+18位,得到第二循环移位三值he'3;he'3为32bit数据;
40、将第二盒中间值hoi”向左循环移位i+24位,得到第二循环移位四值he'4;he'4为32bit数据;
41、将hoi”与he'1、he'2、he'3和he'4再次进行异或操作,得到第二盒异或中间值hoi”'为
42、e.将hoi”'和fjjk进行异或操作,得到第二正序值y'为将y'进行反序,得到第一反序值fjjk+4,完成第k轮迭代;
43、f.重复步骤a~e共32次,完成32轮迭代,得到第jj个子帧fjj所对应的第二中间子帧(fjj35,fjj36,fjj37,fjj38);
44、最后,将每一个子帧所对应的第二中间子帧进行反序后再合并,得到每一个子帧所对应的解码子帧,得到f所对应的解码帧fj,完成解码处理;
45、对解码帧fj进行解扰处理,得到解码数据fj'为
46、根据预先设定的集合l(m),将解码数据fj'拆分得到原始坐标为和卫星星历信息采用已部署的电力北斗解算服务进行解算,得到电力北斗终端进行rtk定位所需要的差分数据
47、步骤s4所述的主站将解算后的数据进行加密编码,并通过北斗短报文发送给电力北斗终端,具体包括如下步骤:
48、主站对差分数据进行组帧处理,得到数据帧f2'为zero(m)的长度为l2(m),l2(m)为预先设定的集合,为主站发送的解算状态信息,的长度为u,数据帧f2'的长度为l2;
49、主站设定第二扰码f2s,第二扰码f2s的长度为l2,然后通过对数据帧f2'进行伪随机化处理,f2”为主站初级发送帧;为异或操作;
50、将f2”分为j2个帧,得到f2”={f2'1',f2”2,...,f2”j};对于其中的第2ii个子帧f2”ii,共进行32轮迭代,每一轮迭代均包括如下步骤:
51、(1).将f2”ii分为4组数据,每组数据的长度为32bit,表示为(f2”iik,f2”iik+1,f2”iik+2,f2”iik+3),k表示当前的迭代轮次;
52、(2).保持f2”iik不变,设置第三密钥sk2,将第三密钥sk2和f2”iik+1、f2”iik+2和f2”iik+3进行异或操作,得到第三中间值hi”为
53、
54、(3).将第三中间值hi”按高低位拆解为第三中间子值hi”1、hi”2、hi”3和hi”4,第三中间子值hi”1、hi”2、hi”3和hi”4均为8bit数据;对hi”1、hi”2、hi”3和hi”4均进行盒变换,得到第三中间盒子值hoi”1、hoi”2、hoi”3和hoi”4,再合并为第三盒中间值hoi4'为hoi4'={hoi”1,hoi”2,hoi”3,hoi”4},hoi”'为32bit数据;
55、(4).对第三盒中间值hoi4'进行四次左循环移位:
56、将第三盒中间值hoi4'向左循环移位i+2位,得到第三循环移位一值he”1;he”1为32bit数据;
57、将第三盒中间值hoi4'向左循环移位i+10位,得到第三循环移位二值he”2;he”2为32bit数据;
58、将第三盒中间值hoi4'向左循环移位i+18位,得到第三循环移位三值he”3;he”3为32bit数据;
59、将第三盒中间值hoi4'向左循环移位i+24位,得到第三循环移位四值he”4;he”4为32bit数据;
60、将hoi4'与he”1、he”2、he”3和he”4再次进行异或操作,得到第三盒异或中间值hoi5'为
61、(5).将hoi5'和f2”iik进行异或操作,得到第三正序值y”为将y”进行反序,得到第三反序值f2”iik+4,完成第k轮迭代;
62、(6).重复步骤(1)~(5)共32次,完成32轮迭代,得到第2ii个子帧f2”ii所对应的第三中间子帧(f2”ii35,f2”ii36,f2”ii37,f2”ii38);
63、最后,将每一个子帧所对应的第三中间子帧合并,得到每一个子帧所对应的编码子帧,从而得到主站初级发送帧f2”所对应的主站发送帧f2,完成加密编码;
64、主站将主站发送帧ff通过北斗短报文发送电力北斗终端。
65、步骤s5所述的电力北斗终端接收到短报文后,进行解码处理,并对接收到的信息进行安全判断,具体包括如下步骤:
66、电力北斗终端接收到短报文后,将f2拆分为j2个帧,f2={f21,f22,...,f2kk,...,f2j2},对其中的第kk个子帧f2kk,共进行32轮迭代,每一轮迭代均包括如下步骤:
67、1).将f2kk分为4组数据,每组数据的长度为32bit,表示为(f2kkk,f2kkk+1,f2kkk+2,f2kkk+3),k表示当前的迭代轮次;
68、2).保持f2kkk不变,设置第四密钥sk'2,将第四密钥sk'2和f2kkk+1、f2kkk+2和f2kkk+3进行异或操作,得到第四中间值hi”'为
69、
70、3).将第四中间值hi”'按高低位拆解为第四中间子值hi”'1、hi”'2、hi”'3和hi”'4,第四中间子值hi”'1、hi”'2、hi”'3和hi”'4均为8bit数据;对hi”'1、hi”'2、hi”'3和hi”'4均进行盒变换,得到第四中间盒子值hoi”'1、hoi”'2、hoi”'3和hoi”'4,再合并为第四盒中间值hoi6'为hoi6'={hoi”'1,hoi”'2,hoi”'3,hoi”'4},hoi6'为32bit数据;
71、4).对第四盒中间值hoi6'进行四次左循环移位:
72、将第四盒中间值hoi6'向左循环移位i+2位,得到第四循环移位一值he”'1;he”'1为32bit数据;
73、将第四盒中间值hoi6'向左循环移位i+10位,得到第四循环移位二值he”'2;he”'2为32bit数据;
74、将第四盒中间值hoi6'向左循环移位i+18位,得到第四循环移位三值he”'3;he”'3为32bit数据;
75、将第四盒中间值hoi6'向左循环移位i+24位,得到第四循环移位四值he”'4;he”'4为32bit数据;
76、将hoi6'与he”'1、he”'2、he”'3和he”'4再次进行异或操作,得到第四盒异或中间值hoi7'为
77、5).将hoi7'和f2kkk进行异或操作,得到第四正序值y”'为将y”'进行反序,得到第二反序值f2kkk+4,完成第k轮迭代;
78、6).重复步骤1)~5)共32次,完成32轮迭代,得到第kk个子帧f2kk所对应的第四中间子帧(f2kk35,f2kk36,f2kk37,f2kk38);
79、最后,将每一个子帧所对应的第四中间子帧进行反序后再合并,得到每一个子帧所对应的解码子帧,得到f2所对应的解码帧f2j,完成解码处理;
80、对解码帧f2j进行解扰处理,得到解码数据f2j'为
81、根据预先设定的集合l2(m),将解码数据f2j'拆分得到差分数据和主站发送的解算状态信息
82、对进行校验:将与长度为u的检验序列y(u)进行按位异或运算后,再进行求和运算,得到校验值sum:
83、若sum=u,则判定为数据安全,继续进行后续步骤;
84、若sum<u,则判定数据不安全,算法结束。
85、步骤s6所述的根据步骤s5的判断结果,电力北斗终端进行自身的高精定位,具体包括如下步骤:
86、电力北斗终端根据解码得到的差分数据(δxt1,δyt1,δzt1),以及电力北斗终端在当前时刻t2接收北斗卫星信号进行自身单点定位得到的原始坐标(xt2,yt2,zt2),进行rtk解算,得到当前时刻t2的电力北斗终端的高精度定位结果。
87、本发明还提供了一种实现所述电力北斗终端的短报文加密定位方法的系统,包括终端粗定位模块、终端加密模块、主站解码模块、主站加密模块、终端解码模块和终端精定位模块;终端粗定位模块、终端加密模块、主站解码模块、主站加密模块、终端解码模块和终端精定位模块依次串接;终端粗定位模块用于控制电力北斗终端进行单点定位,并将数据信息上传终端加密模块;终端加密模块用于根据接收到的数据信息,控制电力北斗终端将得到的单点定位信息进行加密编码,并通过北斗短报文发送回主站,并将数据信息上传主站解码模块;主站解码模块用于根据接收到的数据信息,控制主站接收到短报文后,进行解码处理,并采用已部署的电力北斗解算服务进行解算,并将数据信息上传主站加密模块;主站加密模块用于根据接收到的数据信息,控制主站将解算后的数据进行加密编码,并通过北斗短报文发送给电力北斗终端,并将数据信息上传终端解码模块;终端解码模块用于根据接收到的数据信息,控制电力北斗终端接收到短报文后,进行解码处理,并对接收到的信息进行安全判断,并将数据信息上传终端精定位模块;终端精定位模块用于根据接收到的数据信息,根据判断结果,控制电力北斗终端进行自身的高精定位,完成电力北斗终端的短报文加密定位。
88、本发明提供的这种电力北斗终端的短报文加密定位方法及系统,通过在电力北斗终端和主站之间建立短报文定位的加密方案,能够更安全的在无信号区完成电力北斗终端的定位,同时避免电力北斗终端的定位数据在借助卫星通道传输时遭到恶意窃听导致的数据泄密问题;而且本发明的可靠性更高,安全性更好。
1.一种电力北斗终端的短报文加密定位方法,包括如下步骤:
2.根据权利要求1所述的电力北斗终端的短报文加密定位方法,其特征在于步骤s1所述的电力北斗终端进行单点定位,具体包括如下步骤:
3.根据权利要求2所述的电力北斗终端的短报文加密定位方法,其特征在于步骤s2所述的电力北斗终端将步骤s1得到的单点定位信息进行加密编码,并通过北斗短报文发送回主站,具体包括如下步骤:
4.根据权利要求3所述的电力北斗终端的短报文加密定位方法,其特征在于步骤s3所述的主站接收到短报文后,进行解码处理,并采用已部署的电力北斗解算服务进行解算,具体包括如下步骤:
5.根据权利要求4所述的电力北斗终端的短报文加密定位方法,其特征在于步骤s4所述的主站将解算后的数据进行加密编码,并通过北斗短报文发送给电力北斗终端,具体包括如下步骤:
6.根据权利要求5所述的电力北斗终端的短报文加密定位方法,其特征在于步骤s5所述的电力北斗终端接收到短报文后,进行解码处理,并对接收到的信息进行安全判断,具体包括如下步骤:
7.根据权利要求6所述的电力北斗终端的短报文加密定位方法,其特征在于步骤s6所述的根据步骤s5的判断结果,电力北斗终端进行自身的高精定位,具体包括如下步骤:
8.一种实现权利要求1~7之一所述的电力北斗终端的短报文加密定位方法的系统,其特征在于包括终端粗定位模块、终端加密模块、主站解码模块、主站加密模块、终端解码模块和终端精定位模块;终端粗定位模块、终端加密模块、主站解码模块、主站加密模块、终端解码模块和终端精定位模块依次串接;终端粗定位模块用于控制电力北斗终端进行单点定位,并将数据信息上传终端加密模块;终端加密模块用于根据接收到的数据信息,控制电力北斗终端将得到的单点定位信息进行加密编码,并通过北斗短报文发送回主站,并将数据信息上传主站解码模块;主站解码模块用于根据接收到的数据信息,控制主站接收到短报文后,进行解码处理,并采用已部署的电力北斗解算服务进行解算,并将数据信息上传主站加密模块;主站加密模块用于根据接收到的数据信息,控制主站将解算后的数据进行加密编码,并通过北斗短报文发送给电力北斗终端,并将数据信息上传终端解码模块;终端解码模块用于根据接收到的数据信息,控制电力北斗终端接收到短报文后,进行解码处理,并对接收到的信息进行安全判断,并将数据信息上传终端精定位模块;终端精定位模块用于根据接收到的数据信息,根据判断结果,控制电力北斗终端进行自身的高精定位,完成电力北斗终端的短报文加密定位。