星基增强系统及基于其的电文认证方法与流程

文档序号:23507364发布日期:2021-01-01 18:17阅读:242来源:国知局
星基增强系统及基于其的电文认证方法与流程
本公开涉及卫星导航
技术领域
,尤其涉及一种星基增强系统及基于其的电文认证方法。
背景技术
:星基增强系统(satellite-basedaugmentationsystem,sbas)是利用地球静止轨道(geostationaryorbit,geo)卫星作为通信媒介,向用户提供差分校正数和完好性信息的广域增强系统。星基增强系统对地面站的卫星信号进行处理,计算得到各类改正参数及完好性信息,并通过地球静止轨道卫星将信息播发给用户。其最重要的功能是提供完好性信息,以保证航空用户的安全。星基增强系统的目标是满足民航从航路飞行阶段到垂向引导精密进近阶段的导航系统需求,涉及生命安全领域,所以保障星基增强系统播发信息来源的正确性尤为重要。sbas系统广播信号采用公开信号格式,存在欺骗攻击风险;同时sbas提供差分和完好性服务依赖sbas导航电文,针对sbas用户欺骗模式是篡改sbas电文,对sbas导航增强安全性提出了重大挑战。公开内容(一)要解决的技术问题基于上述问题,本公开提供了一种星基增强系统及基于其的电文认证方法,以缓解现有技术中sbas导航电文存在被篡改的风险等技术问题。(二)技术方案本公开的一个方面,提供一种星基增强系统,包括:信息发送端,geo卫星,用户接收端;在所述信息发送端利用私钥签名生成sbas电文,并在所述用户接收端接收sbas电文并验证签名的一致性。根据本公开实施例,所述信息发送端,包括:sbas-i路电文生成模块,接收包括卫星差分校正参数及完好性信息的内容,并生成sbas-i路电文;sbas密钥存储模块,存有第三方公钥管理机构颁发的当前使用的公私密钥对及公钥证书;签名模块,与所述sbas-i路电文生成模块和所述sbas密钥存储模块相连,用于使用私钥对sbas-i路电文签名生成i路电文签名;sbas-q路电文生成模块,与所述签名模块和所述sbas密钥存储模块相连,用于将i路电文签名、公钥和公钥证书打包生成sbas-q路电文;以及sbas电文上注模块,与所述sbas-i路电文生成模块和sbas-q路电文生成模块相连,用于将sbas-i路电文和sbas-q路电文组成的sbas电文上注至geo卫星。根据本公开实施例,所述用户接收端,包括:sbas电文接收模块,用于接收sbas电文;sbas电文解调模块,与所述sbas电文接收模块相连,用于将sbas电文接收模块输入的sbas电文分离为sbas-i路电文,i路电文签名,公钥和公钥证书;sbas-i路电文存储模块,与所述sbas电文解调模块相连,用于接收并存储所述sbas-i路电文;sbas认证签名存储模块,与所述sbas电文解调模块相连,用于接收并存储i路电文签名;sbas公钥及证书存储模块,与所述sbas电文解调模块相连,用于接收并存储公钥和公钥证书;解签名模块,与所述sbas认证签名存储模块和sbas公钥及证书存储模块相连,用于解算i路电文签名生成解算i路电文;以及sbas电文验证处理模块,与所述解签名模块和sbas-i路电文存储模块,用于比对所述解算i路电文与sbas-i路电文的一致性。根据本公开实施例,所述geo卫星,用于将所述sbas电文转发至用于接收端。根据本公开实施例,所述sbas-q路电文包含增强i路电文签名和空中密钥更新位,空中密钥更新位中传递的具体内容包括公钥、公钥证书以及公钥到期声明。根据本公开实施例,所述签名采用椭圆曲线数字签名算法。在本公开的另一方面,提供一种电文认证方法,基于以上任一项所述的星基增强系统进行电文认证,所述电文认证方法,包括:操作s1:在信息发送端中使用私钥对sbas-i路电文生成模块生成的sbas-i路电文签名生成i路电文签名;操作s2:将所述i路电文签名、公钥和公钥证书打包生成sbas-q路电文;操作s3:将sbas-i路电文和sbas-q路电文组成的sbas电文上注至geo卫星;操作s4:在用户接收端中将geo卫星输入的sbas电文分离为sbas-i路电文,i路电文签名,公钥和公钥证书;操作s5:通过解算i路电文签名生成解算i路电文,并比对所述解算i路电文与sbas-i路电文的一致性,完成电文认证。根据本公开实施例,签名时采用椭圆曲线数字签名算法:输入安全参数k,输入系统公开参数params={p,q,e,g},其中p表示有限域的规模,为大素数或为2的幂次;e表示定义在有限域fp上的椭圆曲线;g表示椭圆曲线e上阶为q的生成元点;输入系统公开参数params,用户随机选取秘密值d∈[1,q-1],计算p=d[*]g,将p作为公钥公开,d作为私钥秘密保存;以及输入系统公开参数params,私钥d和待签名消息m,签名者按如下步骤生成签名:令其中z表示签名者身份标识与系统参数的杂凑值;计算将e转换为整数,hash()为单向哈希函数;产生随机数k∈[1,q-1],计算k[*]g=(x1,y1);计算r=(x1+e)modq,若r=0或r+k=q,则重新选取随机数k;计算s=(1+d)-1(k-rd)modq,若s=0,则重新选取随机数k,否则将(r,s)作为签名结果输出。根据本公开实施例,签名验证时:输入系统公开参数params,公钥p以及收到的消息m’的签名(r’,s’),验证者按照如下步骤验证签名:检验是否成立r’∈[1,q-1],若不成立,则验证不通过;检验是否成立s’∈[1,q-1],若不成立,则验证不通过;令m’=z||m’;计算e’=hash(m’);计算t=(r’+s’)modq,若t=0,则验证不通过;计算椭圆曲线点(x’1,y’1)=s’g+tp;以及计算r”=(x’1+e’)modq,检验r”=r’是否成立,若成立,则验证通过,否则验证不通过。(三)有益效果从上述技术方案可以看出,本公开星基增强系统及基于其的电文认证方法至少具有以下有益效果其中之一或其中一部分:(1)保障sbas电文的完整性;(2)提升了sbas导航增强服务的安全性,在不影响的sbas服务的情况下,为用户提供更加安全的导航服务,有效对抗欺骗攻击。附图说明图1是本公开实施例的星基增强系统的组成架构示意图;图2是本公开实施例的星基增强系统的信息发送端的组成架构示意图;图3是本公开实施例的星基增强系统的用户接收端的组成架构示意图;图4是本公开实施例的l5q支路椭圆曲线数字签名电文格式示意图;图5是本公开实施例的l5q支路椭圆曲线数字签名电文结构示意图;图6是本公开实施例的l5q支路椭圆曲线数字签名电文编排示意图;图7是本公开实施例的采用标准公平队列算法的otar接收时间直方图。图8是本公开实施例的基于星基增强系统的电文认证方法的流程示意图。具体实施方式本公开提供了一种星基增强系统及基于其的电文认证方法,电文认证应用平台为星基增强系统信号发送中心及用户端接收机。与传统星基增强系统服务方法相比,本公开的电文认证方法增加了认证信号,在信息发送端为增强电文生成签名,在用户接收端接收并验证签名,判断增强电文来源的真实性。针对sbas电文篡改的欺骗方式,基于sbas电文认证技术提供了一种系统级的欺骗对抗手段。sbas电文认证是指在电文中加入特殊标记,使接收者可以确认信号发送者的真实性的过程。sbas电文认证的方式重点保障sbas电文的完整性并提供认证服务,在不影响的sbas服务的情况下,通过增加电文完整性和信号源身份认证等方法为用户提供更加安全的导航服务,以对抗欺骗攻击。为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。在本公开实施例中,结合图1至图7所示,提供一种星基增强系统,包括:信息发送端,包括:sbas-i路电文生成模块,接收包括卫星差分校正参数及完好性信息的内容,并生成sbas-i路电文;sbas密钥存储模块,存有第三方公钥管理机构颁发的当前使用的公私密钥对及公钥证书;签名模块,与所述sbas-i路电文生成模块和所述sbas密钥存储模块相连,用于使用私钥对sbas-i路电文签名生成i路电文签名;sbas-q路电文生成模块,与所述签名模块和所述sbas密钥存储模块相连,用于将i路电文签名、公钥和公钥证书打包生成sbas-q路电文;sbas电文上注模块,与所述sbas-i路电文生成模块和sbas-q路电文生成模块相连,用于将sbas-i路电文和sbas-q路电文组成的sbas电文上注至geo卫星;geo卫星,用于将所述sbas电文转发至用于接收端;用户接收端,包括:sbas电文接收模块,用于接收sbas电文;sbas电文解调模块,与所述sbas电文接收模块相连,用于将sbas电文接收模块输入的sbas电文分离为sbas-i路电文,i路电文签名,公钥和公钥证书;sbas-i路电文存储模块,与所述sbas电文解调模块相连,用于接收并存储所述sbas-i路电文;sbas认证签名存储模块,与所述sbas电文解调模块相连,用于接收并存储i路电文签名;sbas公钥及证书存储模块,与所述sbas电文解调模块相连,用于接收并存储公钥和公钥证书;解签名模块,与所述sbas认证签名存储模块和sbas公钥及证书存储模块相连,用于解算i路电文签名生成解算i路电文;sbas电文验证处理模块,与所述解签名模块和sbas-i路电文存储模块,用于比对所述解算i路电文与sbas-i路电文的一致性。所述sbas-q路电文包含增强i路电文签名和空中密钥更新(over-the-air-rekeying,otar)位,otar位中传递的具体内容主要包括公钥、公钥证书以及公钥到期声明。如图2所示,在信息发送端,sbas-i路电文生成模块接收上一级传递的卫星差分校正参数及完好性信息等内容,并生成sbas-i路电文,sbas密钥存储模块存有第三方公钥管理机构颁发的当前使用的公私密钥对及公钥证书,将私钥和sbas-i路电文发送至签名模块,在签名模块中使用私钥对sbas-i路电文生成签名,将签名、公钥和公钥证书在sbas-q路电文生成模块中打包生成sbas-q路电文,sbas-i路电文和sbas-q路电文同时发送至sbas电文上注模块,上注至geo卫星。如图3所示,用户接收端通过sbas电文接收模块接收sbas电文,通过sbas电文解调模块将sbas电文分离为sbas-i路电文,i路电文签名及公钥和公钥证书,分别发送至sbas-i路电文存储模块,sbas认证签名存储模块及sbas公钥及证书存储模块。sbas认证签名存储模块和sbas公钥及证书存储模块将签名和公钥及公钥证书传输至解签名模块,用于解算签名生成的电文,最后将解算的电文和sbas-i路电文传输至sbas电文验证处理模块进行比对,若两组电文一致,则认证通过,不一致则认证失败。其中,签名算法采用椭圆曲线数字签名算法。椭圆曲线数字签名的原理是“私钥签名,公钥验证”,算法具体包括三个步骤:系统建立:输入安全参数k,输入系统公开参数params={p,q,e,g},其中p表示有限域的规模,为大素数或为2的幂次;e表示定义在有限域fp上的椭圆曲线;g表示椭圆曲线e上阶为q的生成元点。密钥产生:输入系统公开参数params,用户随机选取秘密值d∈[1,q-1],计算p=d[*]g,将p作为公钥公开,d作为私钥秘密保存。签名生成:输入系统公开参数params,私钥d和待签名消息m,签名者按如下步骤生成签名:1)令其中z表示签名者身份标识与系统参数的杂凑值;2)计算将e转换为整数,hash()为单向哈希函数;3)产生随机数k∈[1,q-1],计算k[*]g=(x1,y1);4)计算r=(x1+e)modq,若r=0或r+k=q,则重新选取随机数k;5)计算s=(1+d)-1(k-rd)modq,若s=0,则重新选取随机数k,否则将(r,s)作为签名结果输出。签名验证:输入系统公开参数params,公钥p以及收到的消息m’的签名(r’,s’),验证者按照如下步骤验证签名:1)检验是否成立r’∈[1,q-1],若不成立,则验证不通过;2)检验是否成立s’∈[1,q-1],若不成立,则验证不通过;3)令m’=z||m’;4)计算e’=hash(m’);5)计算t=(r’+s’)modq,若t=0,则验证不通过;6)计算椭圆曲线点(x’1,y’1)=s’g+tp;7)计算r”=(x’1+e’)modq,检验r”=r’是否成立,若成立,则验证通过,否则验证不通过。我国ecdsa标准采用中国商用密码标准椭圆曲线(sm2)算法,sm2算法拥有固定的128位安全等级,完全满足nist对密码算法安全等级的标准。在128位安全等级下,私钥长度为256bit,公钥长度为512bit,签名长度为512bit。由于q支路播发速率为250bps,播发一条完整的签名需要占用3秒的数据位,剩余数据位可用于密钥管理。图2为l5qecdsa方案的电文序列,其中m表示增强电文,s为对应电文生成的签名,otar为密钥更新信息。如图4所示,给出了l5q支路电文设计。其中,为播发全部签名,l5q支路按照250bit/s速率,至少需要3秒的数据位进行播发,共750bit,其他数据位包括4bit前导码,72bitcrc(每秒24bit)和162bitotar位,在otar中,前4位是otar头,用于声明包含在otar位中的信息,根据要传输的otar信息的长短,可能要将otar信息分为几段进行传输,x位序列号用于标注otar信息的顺序,占用的位数由otar信息长度决定,其余位将用来传输相关的otar数据信息。如图6所示,给出otar主要数据具体结构。其中,otar位中传递的具体内容主要包括公钥、公钥证书以及其他密钥信息。公钥指当前签名对应的公钥,用于验证签名;公钥证书指用于保护公钥安全性的签名,其内容包括公钥签名、服务方身份标示、证书有效期等内容;其他密钥信息包括公钥到期声明,下一个公钥以及下一个公钥证书。下表1定义了otar数据位中传递的内容。表1otar电文格式(omt)定义长度omt1当前系统公钥512bitomt2omt1的公钥证书512bitomt3下一个系统公钥512bitomt4omt3的公钥证书512bitomt5当前系统公钥/公钥证书公钥到期声明162bitomt6omt5的公钥证书512bitomt7当前公钥证书公钥512bitomt8omt7的公钥证书512bitomt9下一个公钥证书公钥512bitomt10omt9的公钥证书512bitomt11-13保留位置由于otar数据位长度有限,需要传递的电文长度较长,为512bit,需要对otar数据位的播发策略进行编排。本实例中otar播发策略采用标准公平队列调度算法,该算法将otar电文分为多个组,每个组都被分配相同的带宽。使用标准分组公平队列算法进行播发时,会将otar电文将分成若干段,这些分段电文会按照原始顺序进行播发,例如omti电文会分为omti1、omti2、omti3,播发时这些序列也同样按此顺序播发,而不会被其他电文中断。pfq算法允许为每个组添加权重,根据权重比可以为权重高的组分配更高的带宽。当前使用的公钥和公钥证书是用户接收端最需要的otar内容,所以在[158-x]bit数据位中,为公钥和公钥证书分别分配60bit数据位,剩余数据位用于其他密钥信息的播发。如图7所示,结合sbas电文信息类型和目前的增强电文播发策略,给出了l5qecdsa认证方案的i支路和q支路电文播发时序安排。其中,由于完好性信息更新周期为6秒,所以以6秒为一个周期,表征了两个周期的电文编排。其中,mt0为测试电文,表示该编排格式为测试样例,mt34、mt35、mt36为传递卫星完好性信息的电文,mt39、mt40为传递卫星伪距及星历等信息的电文,其中,自定义类型mt51用于传输认证电文,具体包括数字签名和otar。otar播发策略采用标准公平队列调度算法,该算法将otar电文分为多个组,每个组都被分配相同的带宽。使用标准分组公平队列算法进行播发时,会将otar电文将分成若干段,这些分段电文会按照原始顺序进行播发,例如omti电文会分为omti1、omti2、omti3,播发时这些序列也同样按此顺序播发,而不会被其他电文中断。pfq算法允许为每个组添加权重,根据权重比可以为权重高的组分配更高的带宽。在本公开实施例中,还提供一种电文认证方法,基于以上所述的星基增强系统进行电文认证,所述电文认证方法,如图8所示,包括:操作s1:在信息发送端中使用私钥对sbas-i路电文生成模块生成的sbas-i路电文签名生成i路电文签名;操作s2:将所述i路电文签名、公钥和公钥证书打包生成sbas-q路电文;操作s3:将sbas-i路电文和sbas-q路电文组成的sbas电文上注至geo卫星;操作s4:在用户接收端中将geo卫星输入的sbas电文分离为sbas-i路电文,i路电文签名,公钥和公钥证书;操作s5:通过解算i路电文签名生成解算i路电文,并比对所述解算i路电文与sbas-i路电文的一致性,完成电文认证。信息发送端中sbas-i路电文生成模块接收上一级传递的卫星差分校正参数及完好性信息等内容,并生成sbas-i路电文,sbas密钥存储模块存有第三方公钥管理机构颁发的当前使用的公私密钥对及公钥证书,将私钥和sbas-i路电文发送至签名模块,在签名模块中使用私钥对sbas-i路电文生成签名,将签名、公钥和公钥证书在sbas-q路电文生成模块中打包生成sbas-q路电文,sbas-i路电文和sbas-q路电文同时发送至sbas电文上注模块,上注至geo卫星。用于接收端中通过sbas电文接收模块接收sbas电文,通过sbas电文解调模块将sbas电文分离为sbas-i路电文,i路电文签名及公钥和公钥证书,分别发送至sbas-i路电文存储模块,sbas认证签名存储模块及sbas公钥及证书存储模块。sbas认证签名存储模块和sbas公钥及证书存储模块将签名和公钥及公钥证书传输至解签名模块,用于解算签名生成的电文,最后将解算的电文和sbas-i路电文传输至sbas电文验证处理模块进行比对,若两组电文一致,则认证通过,不一致则认证失败。至此,已经结合附图对本公开实施例进行了详细描述。需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属
技术领域
中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件和方法的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换。依据以上描述,本领域技术人员应当对本公开星基增强系统及基于其的电文认证方法有了清楚的认识。综上所述,本公开提供了一种星基增强系统及基于其的电文认证方法,信息发送端将从监测站处获取导航卫星原始定位参数和完好性信息,并生成相应签名电文,与增强电文组合为sbas信号,上注至geo卫星;用户接收端,将接收geo卫星播发的sbas信号,对接收到的电文和签名进行认证,若认证通过则电文信息可用,若认证不通过则电文信息不可用。本发明的星基增强系统电文认证的方法,可以提高星基增强系统播发信号的安全。还需要说明的是,实施例中提到的方向用语,例如“上”、“下”、“前”、“后”、“左”、“右”等,仅是参考附图的方向,并非用来限制本公开的保护范围。贯穿附图,相同的元素由相同或相近的附图标记来表示。在可能导致对本公开的理解造成混淆时,将省略常规结构或构造。并且图中各部件的形状和尺寸不反映真实大小和比例,而仅示意本公开实施例的内容。另外,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。再者,单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。说明书与权利要求中所使用的序数例如“第一”、“第二”、“第三”等的用词,以修饰相应的元件,其本身并不意味着该元件有任何的序数,也不代表某一元件与另一元件的顺序、或是制造方法上的顺序,该些序数的使用仅用来使具有某命名的一元件得以和另一具有相同命名的元件能做出清楚区分。此外,除非特别描述或必须依序发生的步骤,上述步骤的顺序并无限制于以上所列,且可根据所需设计而变化或重新安排。并且上述实施例可基于设计及可靠度的考虑,彼此混合搭配使用或与其他实施例混合搭配使用,即不同实施例中的技术特征可以自由组合形成更多的实施例。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。并且,在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1