基于椭圆曲线算法的北斗二代系统抗欺骗方法与流程

文档序号:17374665发布日期:2019-04-12 23:10阅读:290来源:国知局
基于椭圆曲线算法的北斗二代系统抗欺骗方法与流程

本发明涉及信息安全技术领域,是一种基于椭圆曲线数字签名算法ecdsa生成数字签名的北斗二代导航电文的安全认证方案。



背景技术:

全球卫星导航系统(gnss)已广泛应用于许多领域,如军事和工业运输。gnss提供良好的服务质量能够保障许多安全技术系统正常运行。但是,由于民用导航系统的信号参数和信息格式都是公开的,所以目前大多数民用导航系统都存在着巨大的安全隐患。

欺骗者对于卫星信号的欺骗攻击能够对gnss定位和定时服务产生很大的干扰。通过生成错误的gnss信号,欺骗者可以欺骗甚至控制gnss接收机来达到所设想的欺骗结果。2012年7月,德克萨斯大学奥斯汀分校的toddhumphreys教授的实验表明,对gps信号的欺骗攻击可以成功地欺骗无人机,使欺骗无人机在指定位置降落。2013年9月,该教授的团队通过设计gps欺骗器成功欺骗了一艘游轮,欺骗其导航系统,使其巡航路线发生偏移。若不法分子利用gnss欺骗攻击手段,来欺骗攻击某些安全技术系统--飞机的导航系统和导弹的定位系统,其后果将不堪设想。因此,可靠的定位服务和定时服务对于基于位置以及授时的安全服务至关重要。

作为全球导航卫星系统的成员之一,北斗二代卫星导航系统也存在着被欺骗攻击的安全隐患。如今的欺骗攻击可以分为两类:转发式欺骗攻击和生成式欺骗攻击。转发式欺骗干扰,主要是欺骗方直接转发信号功率大于过去的真实导航信号来欺骗接收机,这种欺骗方式实施过程相对简单,但是若想提升欺骗的成功率,转发式欺骗干扰也要配合一定欺骗策略。生成式欺骗干扰,指的是欺骗方完全重新编写导航电文,并将这些虚假的导航电文发送给接收机,这种欺骗方式实施过程比较复杂,需要根据现有的信号参数和信息格式来设计专门的与真实信号相似的伪信号。

由于beidou-ii在信号传输中的透明性和可预测性,故在生成式欺骗攻击中,欺骗者可以设计和传输与真实导航信号非常相似的伪信号。它以隐藏的方式抑制真实信号,并引导目标接收机偏离正常的导航路线,达到欺骗的效果。与一般干扰相比,欺骗攻击最显着的特征是欺骗性。一般干扰会降低导航服务的精度,而欺骗攻击不仅不会影响导航精度,反而会导致目标接收机无意识地偏离正常导航路径,进而可能会造成危险。因此,这种攻击对北斗二号导航系统具有很强的破坏性。

综上所述,与转发欺骗攻击相比,生成式欺骗攻击会对接收者产生更糟糕的影响。安全认证技术是一种有效的欺骗防御策略,这种策略可以在很大程度上抵御生成式欺骗攻击。因此,本发明提出了一种基于数字签名算法(dsa)的beidou-ii信息认证方法,以对抗生成式欺骗攻击。



技术实现要素:

本发明的主要创新点在于两个方面。首先,本发明基于数字签名提出一种beidou-ii导航信息认证(bd-nma)方案。该方案主要针对民用beidou-ii信号,来检测欺骗攻击。其次,本发明通过使用椭圆曲线数字签名算法(ecdsa),将公钥数字签名插入到beidou-ii民用导航信息的保留位中,该方案可以验证导航数据的完整性和真实性,从而避免实体伪装和数据篡改。ecdsa是椭圆曲线数字签名算法,由于该算法安全性高且签名长度短、效率高,因此本发明方案采取ecdsa算法对导航电文进行数字签名。哈希函数是数字签名和信息认证码的前提,它可以将不固定长度的信息生成固定长度的哈希值。不同的信息在同一哈希算法的计算下,会生成不同的哈希值。先用哈希函数对信息进行散列,再计算信息验证码或者数字签名,能够大大减小运算负担。

本发明主要应用于信息安全领域,其认证对象为北斗二代d1,d2导航电文。北斗导航电文包括d1和d2两种类型。d1导航电文包括播发卫星的基本导航信息(包括周内秒计数、整周计数、用户距离精度指数、卫星自主健康标识、电离层延迟模型改正参数、卫星星历参数及数据龄期、卫星钟差参数及数据龄期、星上设备时延差),全部卫星历书和其他系统时间同步信息。传输整个导航电文需要12分钟。

子帧1、2和3播发基本导航信息;子帧4和5中的信息由24个页面分时发送。其中子帧4的页面1-24和子帧5的页面1-10播发全部卫星历书信息及其他系统时间同步信息,子帧5的页面11-24如图1所示。

如图1,子帧5的第11-24页面总共178个保留位。如果签名的长度小于178位(22字节),则这种签名太短而不能找到合适的椭圆曲线且这种签名是不可靠的。因此,一个签名(大约40字节的长度)应被设计成两部分并存放在子帧5的两个页面中。为了将认证周期最小化,最好在子帧5的保留位中设置两次签名。

d1导航电文子帧5中的预留位比特分配如图1所示。图1显示了在页面1到页面10中存在有限的保留位用于插入特定长度的签名。在前12个主帧中,签名存放在子帧5的第11和12页面中,而在后12个主帧中,签名存放在子帧5的第23和24页面中。这两个签名是基本相同的,其目的是为了减少认证周期。如果仅在11和12的页面中插入签名,则根据子帧的固定传输规则,可以得出理论认证周期是12分钟。通过将两个相同的签名分别插入到第11和12页面以及第23和24页面中,可以将认证时间减半到6分钟。

为了简化计算并节省验证时间,仅对子帧1,2和3的基本导航数据进行签名,而不考虑子帧4和5中的星历数据。这种方式的优点是它不会影响定位并且可以提高容错率。签名的比例小于3.3%。因此,它不会以这种方式影响导航电文的可扩展性。插入签名的具体方法如图2所示。

d2导航电文同d1结构相似,也是由超帧、主帧和子帧构成,但是完整的一个d2导航电文传输时间仅6分钟,其导航电文的帧结构如图3所示。每个超帧含有180000比特数据,由120个主帧构成,历时6分钟。每个主帧含有1500比特,又分为5个子帧,共历时3秒。每个子帧为300比特,历时0.6秒,每个子帧由10个字组成,每个字都包含导航电文数据和校验码两部分信息。d2导航电文除了包括本卫星基本导航数据外还包括与其他系统时间同步信息,北斗系统完好性及差分信息,格网点电离层。本发明对d2导航电文的认证方案是利用子帧1的预留页面来存放数字签名。

在地面控制中心利用私钥生成导航电文签名之后,用户接收卫星发送的导航信息,接收机用公钥解密签名以获得散列值,通过与接收的导航数据进行计算比较,如果两者相等则验证成功,否则验证失败。签名和认证过程如图4所示。在图4中,h表示可以使用sha-256或其他哈希算法的哈希函数。bd-nma方案采用是sha-256。公钥和私钥是对应ecdsa算法中的特定曲线的密钥对。

由于本发明方案设计签名位数所占比重不足3.3%,对导航电文的可扩展性基本没有影响。本发明每六分钟验证一次签名,不会对实时解算定位带来较大计算负担。并且,本发明只对关键导航数据进行签名,不但可以减少不必要的计算,还可以提高容错率,而且基本导航信息不受任何影响。这样升级的接收机可以利用公钥实现验证功能,也可以只利用子帧1、2、3的基本导航数据进行解算定位而不进行验证。本发明设计较为合理,使用本发明的用户可以根据实际的需要购买不同价位不同档次的接收机,即使使用升级的接收机也可以根据对环境的安全性要求的不同而选择开启或关闭本发明的验证功能,避免不必要的资金或时间浪费。

在签名认证过程中,本发明对密钥更新的设计流程如下:

为了增强该bd-nma的安全性,可以在一段时间内更新公钥。然而,这个时期是不确定的,由地面控制中心决定。密钥更新可以通过北斗短报文或数字证书完成。

1.通过数字证书进行密钥更新

我们方案的公钥可以从互联网上的数字证书中获得。该证书符合x.509标准。在x.509中,证书包含版本号、证书序列号、有效性、公钥信息、发行者名称、主题名称等。公钥信息包含可以验证当前卫星导航中签名的公钥,主题名称是密钥管理部门的代码序列,证书序列号是公钥的对应id。证书过期后,用户需要通过互联网更新证书。证书的有效性由地面控制中心决定。

2.通过短报文进行密钥更新

如果接收机不能及时连接到互联网,本发明采取短报文服务(sms)的方式进行密钥更新。在每个接收机中有预设的对称加密密钥(pkey)和预设的公钥(ppub)。同时地面控制中心具有相应的私钥(ppri)。ppub可以验证由ppri生成的签名。接收方发送的信息由pkey加密,并与附加的接收方id一起发送给地面控制中心。当地面控制中心接收到信息时,将根据信息中包含的接收者id从pkey数据库中提取相应的pkey解密,并根据解密后的信息内容进行响应。

对于接收机而言,其启动方式分为三种,分别是冷启动,暖启动和热启动。其中冷启动指的是接收机在开机的时候,并没有保存卫星历书数据,需要漫天搜星,此时接收机也并没有保存当下的公钥信息。这些信息都需要接收机在开机过程中获取。在暖启动与热启动的过程中,接收机拥有卫星历书信息以及公钥信息。只不过在热启动过程中,接收机所拥有的卫星历书信息以及公钥信息都可以直接继续使用。而在暖启动过程中,接收机所拥有的卫星历书信息以及公钥信息不能直接使用,需要信息更新。由于在暖启动状态下,接收机拥有过去的卫星历书以及公钥信息,所以接收机基于过去信息进行相关信息更新,该过程耗时比冷启动耗时要短。除此之外,在某些紧急情况下,公钥信息突然更新时,地面控制中心会及时给订阅短报文服务的接收机,发送更新后的公钥信息,避免因公钥错误而引起的认证失败。综上,基于sms的公钥分为冷启动时的密钥更新,暖启动或热启动时的密钥更新和紧急情况下密钥更新这三种情况。

a)冷启动时的密钥更新

在冷启动时,由于缺乏卫星历书信息,接收机通过轮询锁定所有卫星的卫星信号,并使用公钥来验证卫星信息中的签名。冷启动时密钥更新过程如图5所示,接收机将附有id信息的公钥请求信息,通过pkey加密发送到地面控制中心。当地面控制中心收到此请求,将解密该信息。地面控制中心会根公钥请求中接收机id值,从ppri存储库中获得相应的ppri。ppri用于生成当前公钥及公钥id的签名。地面控制中心随后通过pkey加密将当前公钥、公钥id与签名加密传输。当接收机获得密文时,解密密文并利用ppub验证签名。若接收端验证成功,接收机将向地面控制中心发送确认信息并更新公钥;反之接收端将删除获得的公钥和签名,并再次向地面控制中心发送公钥请求。

b)暖启动或热启动时的密钥更新

在热启动或暖启动时,接收机将接收卫星信息并尝试验证其签名。若验证过程成功,接收机将继续工作;反之,将向地面控制中心发送请求以获取当前公钥,其公钥更新过程如图6所示。接收机将附有接收机id信息以及当下的公钥请求信息,通过pkey加密发送到地面控制中心。当地面控制中心接收到该请求时,将解密请求中的加密信息并访问ppri数据库,获得之前公钥id对应的私钥。获取的私钥用于生成当前公钥及当前公钥id的签名。地面控制中心通过pkey加密将当前公钥、公钥id与其签名一起加密,并将密文发送回接收机。当接收终端获得密文时,将解密密文并验证签名。若验证成功,接收机将向地面控制中心发送确认信息并更新公钥;反之接收方将放弃获得的公钥和签名,并再次向地面控制中心发送请求。

c)紧急情况下密钥更新

在以下三种紧急情况下均需要立即更新公钥:在安全评估中,当地面控制中心发现其私钥泄露;在第三方安全评估中,发现存在私钥泄漏的可能性;地面控制中心发现需要更新安全系统。更新的公钥信息中包含新公钥的信息,并由当前卫星导航信息私钥加密。生成后的新公钥可以在下一小时使用。紧急情况下的公钥更新如图7所示。

如果接收方没有收到信息,它将在下一个小时向地面控制中心发送请求。这个过程类似于热启动或暖启动时的公钥更新。在安全评估中,如果地面控制中心在加密算法中发现安全漏洞,则接收方需要通过互联网下载新的加密算法。

3.重置

在每个接收机中,pkey的签信息名已经预先设置。该签名可由ppub验证。在接收机冷启动、暖启动或热启动之前,将检查pkey和ppub的完整性。如果可以通过ppub成功验证签名,则可以正常使用接收机。否则,它需要加载信息以更新其预设密钥及其签名。

每一台接收机都保存了ppub,pkey和pkey签名的备份信息,这些备份信息由加密算法加密。此加密算法只有接收机制造商了解但不向公众开放,该加密算法的系统密钥由非对称加密算法加密,接收机制造商保存私钥,地面控制中心的密钥管理部门生成包含公钥的数字证书。

当用户购买接收机时,要在互联网注册上个人帐户。如果用户想要在接收机中重置其ppub,pkey及其签名,需登录帐户并将接收机连接到互联网。用户下载由地面控制中心的密钥管理部门生成的接收机数字证书。在此证书中的主题名称是指令手册中显示的接收机id。证书公钥可以解密接收机存储的密文以获取系统密钥。备份的密文由系统密钥解密来获得正确的预设信息(ppub,pkey和pkey的签名)。最后,接收机删除的系统密钥和数字证书并保留预设信息。整个过程如图8所示。

当接收机内部未公开加密算法需要更新时,接收机将收到短报文并且用户将收到有关的电子邮件。用户需要登录其帐户下载接收机的数字证书(与用户重置过程相同)和配置文件。这些配置文件由系统密钥加密,如图9所示,用户利用数字证书,将获得系统密钥。该密钥可以解密配置文件的密文,解密后的配置文件将用于更新,随后删除接收端的系统密钥和数字证书。

附图说明

图1d1导航电文子帧5预留页面11-24信息格式

图2d1导航电文数字签名设计图

图3d2导航电文帧结构

图4导航电文数字签名及认证流程

图5冷启动时的密钥更新

图6暖启动或热启动时的密钥更新

图7紧急情况下的密钥更新

图8用户重置流程

图9系统重置流程

图10d1导航电文实验设计流程

图11d2导航电文实验设计流程

图12初始信号与调制后的信号

图13加噪声后的信号与最后的解调信号

图14载噪比与观测次数

图15d1&d2导航电文认证率

具体实施方式

本发明方案采用仿真实验,实体实施流程分为五个步骤。首先本发明利用密钥生成模块生成私钥和公钥;其次由私钥生成基本导航电文的签名,并将其插入到相应的保留位中;再次本发明将导航电文bch编码,交织和调制成卫星信号;之后本发明对这些信号进行零均值高斯噪声的干扰。当接收机接收到这些信号时,将它们进行解调,解交织和bch解码以获得导航电文;最后本发明从导航电文中提取签名并通过公钥验证。具体过程如图10和图11所示。

在本发明中,ecdsa算法所采用的椭圆曲线为128r2椭圆曲线,源自visualstudio2010中openssl-1.0.1f软件包。卫星广播信息的过程通过matlab进行仿真。

本发明中接收信号包括d1导航电文和d2导航电文。在实验中,d2导航电文的验证方案类似于d1导航电文的验证方案,但签名插入的位置不同,且认证周期比d1导航电文短,因为d2导航电文的信息速率比d1导航电文快10倍。其它细节如表1所示。

表1导航电文参数

基本导航信息从d1电文的第11个主帧中提取并用于签名。签名放入主帧11和主帧12中的子帧5的保留位。接收方在收到导航电文后,使用公钥验证签名。实验流程图如图10所示。

在图10中,基本导航信息的签名被插入到主帧11和12的子帧5中的保留位中。为了减少认证周期,基本导航心的签名放入到主帧23和24的子帧5中的保留位。d1导航电文的认证周期是6分钟。

由于d2导航电文和d1导航电文的结构不同,bd-nma方案略有不同。在d1导航电文中,基本导航电文被安排在每个主帧中的子帧1-3中。在d2导航电文中,基本导航电文被排列在十个连续的主帧中。d2导航电文的实验过程如图11所示。

在图11中,基本导航数据的签名被插入到页面1,2和3中的三个子帧1的保留位中,十个连续的主帧在30秒内发送完。在其他三个连续的主帧中的签名9秒内传输完。因此,d2导航电文的认证周期为39秒。

将签名插入保留位的操作如下所示。在d1导航电文中,签名被布置在子帧5的页面11中第51到228位,在子帧5的页面12中第51到176位,子帧5的页面23中第51到228位,以及子帧5的24页中第51到176位。在d2导航电文中,签名被布置在子帧1的页面1中第151到262位,子帧1的页面2中第151到262位以及子帧1的页面3中第51到230位。

插入签名后,d1或d2导航电文的长度为224位。根据icd文件,北斗-ii导航电文采用bch(15,11,1)编码和交织编码来增强抗噪声能力。经过bch编码的每个导航电文的长度为300位。

为了增强抗干扰能力并改善不同卫星信号的互相关特性,根据bd-iiicd文件,d1导航电文由neumann-hoffman码,扩频码和载波调制。由于仅有5个卫星发送d2导航电文,因此d2导航电文不会被neumann-hoffman码调制。此外,d1和d2导航电文被调制在b1频段(约1.56ghz)中。初始信号和调制后的信号的幅度谱如图12所示。

在实验中,用零均值高斯噪声作为噪声样本。在图14中,接收的bd-ii卫星信号的平均c/n0为43.1db。根据巴晓辉的文献(《一种有效的gnss接收机载噪比估计方法》)以及bd-iiicd文件中信号参数的要求,c/n0和s/n0(信噪比)之间存在关系为:

s/n0+66.11db=c/n0(1)

图14显示的是卫星信号的c/n0变化趋势,其平均载噪比c/n0为43.1db。因此,根据公式(1)卫星信号的s/n0为-23db。在s/n0为-23db下,加噪声信号和最终信号的幅度谱如图13所示。

本发明的d1&d2导航电文认证率如图15,当s/n0小于-37.711db,本发明方案对d1导航电文的认证率接近100%,对d2导航电文的认证效果较差。当s/n0大于-37db时,本发明方案对d1和d2的认证效果均十分出色,实验结果认证率达到接近100%。因此,结合北斗rdss的要求,接收机接收信号的c/n0要大于35db(s/n0大于-31.11db时)。在这种情况下,能有效对北斗二代导航导航电文(d1&d2)进行签名认证,达到抗欺骗的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1