基于国产密码及扩频信息保护的北斗二代系统抗欺骗方法与流程

文档序号:18133761发布日期:2019-07-10 10:27阅读:468来源:国知局
基于国产密码及扩频信息保护的北斗二代系统抗欺骗方法与流程

本发明涉及信息安全技术领域,是一种基于国产密码与扩频码的北斗二代导航电文的安全认证方案。



背景技术:

北斗导航系统是我国自主建立和发展的全球卫星导航系统。随着北斗系统建设和服务能力的提高,相关产品已广泛应用于各行各业,逐步渗透到社会生产和人们生活的方方面面,为我国经济和社会发展注入新的活力。因此,保障卫星导航信号的安全性,对于用户来说至关重要。

1.卫星导航信息欺骗攻击

但是近些年来,随着科技的不断发展,全球卫星导航系统已经逐渐受到了欺骗攻击的影响。以gps为例,在2011年伊朗通过欺骗技术将美国空军的无人机成功捕获,使其降落于伊朗境内。在2016年1月,伊朗通过gps欺骗技术成功欺骗美国巡逻艇,使其偏离航线,驶入伊朗水域。在学术界,美国的toddhumphreys教授成功地在美国白沙基地演示了gps欺骗过程;而日本的科学家koichichino在其论文中成功地阐述了对其本国卫星qzss动态欺骗过程。由此观之,作为全球卫星导航系统的新成员,北斗导航系统也存在着被欺骗的风险,这无疑为我国民用设施安全埋下了重大的隐患。

对于卫星信号而言,欺骗方式主要分为转发式欺骗以及生成式欺骗这两种。转发式欺骗是指欺骗方把过去已经接收的信号信息进行转发,使得被欺骗的接收机获得错误的时间信息,从而影响其定位。而生成式欺骗是指欺骗方篡改基本导航信息并将其发送,使得被欺骗接收机获得错误的位置以及时间信息,直接影响甚至能控制其定位结果。二者都对导航系统构成了严重的威胁。

2.密码算法

基于密码算法的抗欺骗方案是现如今较为常用的一种方案,本发明设计了一种基于密码学的抗欺骗方案,其中的密码学算法包括sm2、sm3和sm4。这三种密码的特性如表1所示。

表1不同加密算法的特征

sm2算法在2012年发布。它使用私钥对明文进行加密,输出密文称为签名,密文可以由公钥解密,该解密的过程也被称作认证。sm2算法的加密强度高于rsa-2048算法并且加密速度快于rsa-2048算法。sm2椭圆曲线参数如表2所示,其具体的加密过程和解密过程参见国家标准gbt32918。

表2sm2椭圆曲线参数

其中,p代表素数,a和b确认椭圆曲线方程,(xg,yg)是基点的坐标。n是基点的阶段。

sm3算法可以将不固定长度的明文数据生成固定长度的哈希值。不同的明文数据在同一哈希算法的计算下,会生成不同的哈希值。sm3哈希函数主要包含三个过程,分别是数据填充、迭代压缩以及输出三个部分,其具体算法详见标准国家标准gbt32905。

sm4算法是分组密码算法。其加密明文数据长度为128位,密钥长度为128位,输出密文长度128位。加密算法和密钥扩展算法均采用32轮非线性迭代结构。解密算法与加密算法结构相同,只是解密过程中使用的轮密钥与加密过程使用的轮密钥顺序相反,其具体的加密过程参见国家标准gbt32907。

3.d2导航电文介绍

bd-ii导航电文包含d1导航电文和d2导航电文。在北斗二代导航系统中,虽然发送d1导航电文的卫星数目远大于发送d2导航电文的卫星数目,但是对于接收机而言,接收到d2导航电文的数量远大于d1导航电文。这是因为d2导航电文的信息速率为500bps,而d1导航电文的信息速率为50bps。因此,不考虑其他干扰因素,接收机更可能选择d2导航电文来确定自身位置。

基本导航信息包含卫星的位置信息。接收机的位置可以由4颗卫星的基本导航信息和时间信息计算得出,其他信息用于提高定位精度。综上所述,本发明所设计的抗欺骗方案主要用于保护d2导航电文的基本导航信息和时间信息。

北斗d2导航电文由超帧、主帧和子帧组成。每个超帧为180000比特,历时6分钟,每个超帧由120个主帧组成,每个主帧为1500比特,历时3秒,每个主帧由5个子帧组成,每个子帧为300比特,历时0.6秒,每个子帧由10个字组成,每个字为30比特,历时0.06秒。基本导航信息通过十个连续子帧1发送,这十个连续的子帧1被称为一组子帧1,这组子帧1所包含的基本导航信息通过10个页面分时发送,其具体结构如图1所示。

本发明将对卫星导航信息进行认证来防止被欺骗攻击,主要认证以下两个方面的内容:

a)卫星位置信息认证,即验证基本导航信息的真实性。

b)卫星时间信息认证,即验证周内秒计数(sow)的真实性和连续性。

结合基本导航信息分十个页面分时发送的特性,即每十个连续子帧1(十个连续页面)传输一次为一组完整的基本导航信息。对于sow的认证,就要分成对于每组子帧1(十个连续页面)的sow的认证以及组内子帧1(每个页面)的sow的认证,前者称为组时间认证,后者称为页面时间认证。

组时间认证的功能是检测基本导航信息是否存在篡改的可能性。根据北斗二代控制接口(bd-iiicd)文件的规定,基本导航信息至少每小时更新一次。欺骗方希望接收机将欺骗电文信息中基本导航信息的变化视为一次基本导航信息的更新。在这种情况下,接收机会正常更新基本导航信息并且其输出的定位结果会逐渐被欺骗方所控制。但是,在这个过程中,组时间的连续性被破坏,所以,组时间真实性和连续性认证就可以对基本导航信息是否被篡改进行预判。

页面时间认证的功能是检测组内子帧1(每个页面)的信息是否连续,从而检测欺骗方是否从组内某些页面开始进行欺骗攻击。若页面时间认证成功,则说明组内的信息是连续可靠的;否则,说明组内信息可能遭受到欺骗攻击。



技术实现要素:

本发明主要从时间认证和签名认证两个角度入手,分析接收机所接收的信息是否为欺骗信息。同时所有的认证信息将通过加密的方式以及信息扩频的方式进行保护,从而保证认证信息的安全。本发明内容通过加密保护、扩频信息保护、密钥传输、发送过程和接收认证过程五个部分进行叙述。

1.组时间认证信息与扩频调制生成多项式(ssmgp)信息的加密保护

对于时间信息的认证,包括组时间认证以及页面时间认证。其中组时间认证信息主要通过加密的方式对其进行保护。组时间认证的过程主要是将上一组子帧1的sow低12位信息进行组合,并将其加密发送到下一组子帧1中。当接收到下一组子帧1后,通过解密密文获取上一组子帧1的sow信息。该sow信息会与之前接收到的sow信息进行比对,若一致,则说明组间时间连续;否则,则说明组间时间连续性遭到破坏,接收机可能受到阻塞信号攻击或者欺骗信号攻击。

除了组时间认证信息之外,密文中还对扩频调制生成多项式(ssmgp)信息进行了保护。ssmgp主要的功能是对插入的扩频信息进行解调,使得用户获得在扩频信息中的认证信息。

a)密文的结构

密文信息主要包括ssmgp信息以及组时间认证信息,其结构如图2所示。ssmgp用于解调插入子帧1和2之间的扩频信息。考虑到卫星系统通常使用11级移位寄存器来生成伪随机码序列,本发明采用11级移位寄存器生成ssmgp。此外,接收机预设了ssmgp码本,每一个ssmgp都对应一个id,该id长8位。该id信息就是指密文中的ssmgp信息。根据密文中的id,即可确定对应的ssmgp。

组时间认证信息用于验证当前该组子帧1与上一组子帧1是否连续。组认证信息中包含上一组子帧1中每一页面sow的低12位。由于每一组子帧1包含10个页面,则组认证信息共120位。如图2所示,串接8位id信息和120位认证信息共计128位。该128位信息作为明文通过sm4算法进行加密。

b)密文内容的存放

根据bd-iiicd中的帧结构要求,将128位密文信息去替换每一页面不同的保留位,具体的替换位置如表3所示。

表3密文与保留位的替换位置

2.扩频信息保护

签名信息以及页面时间认证信息进行扩频调制的目的是为了保护认证信息的安全性,同时预防欺骗方提前从噪声中提取被扩频调制的认证信息。本发明中,当欺骗方发起欺骗攻击时,导航信息的连续性将被破坏,页面时间认证信息便会检测出这种异常状况并提前告知接收机当下接收的电文信息存在被欺骗的可能性。此外,若欺骗方修改基本导航信息,本发明中扩频信息中的签名信息将会认证失败,告知接收机当下所接收的导航电文信息不可信。

a)扩频信息内容

基本导航信息的摘要值由sm3算法生成,而摘要的签名由sm2算法生成。每一组子帧1的基本导航信息都可以通过扩频信息中的签名进行认证,其认证过程如图3所示。签名长度为512位,并将其拆分成10个部分,每个部分包含51位或53位信息。每个页面的扩频信息中所包含的签名信息位数如表4所示。

表4扩频信息的内容

在一组子帧1中,因为sow中的大部分高有效位是相同的,所以页面时间认证信息只包含上一个子帧1中的sow的几位低有效位。每个页面的扩频信息中所包含的上一页面sow低位信息位数如表4所示。如图4所示,当接收机解调扩频信息后,所获得页面时间认证信息将与上一个子帧1中的相应的sow信息进行比较。若比较一致,则说明页面信息连续且时间信息可靠;否则,说明页面信息有遭受到阻塞信号或者欺骗信号攻击的可能。

b)扩频信息结构

在信息传输的过程中,扩频信息可能受到噪声的干扰,从而导致某些位信息发生错误。为了防止这种情况发生,本发明在扩频信息中插入纠错码。本发明方案使用bch(15,11,1)的校验算法,该算法与导航电文所使用的校验算法一致,从而避免因引入新的校验算法而可能引起的硬件负担。在扩频信息的传输期间,输入11位数据至bch(15,11,1)算法,通过计算,输出4位作为纠错码。扩频信息的整体结构如图5所示。

3.密钥传输

在d2导航信息中,签名由sm2公钥验证,密文由sm4密钥解密。在导航信息的认证期间,sm2公钥用于签名验证,sm4密钥用于密文解密。

用户可以通过两种方式获取这些密钥。一种是通过北斗导航系统的短报文服务(sms)的方式,另一种是通过下载互联网上数字证书的方式。当接收机所处的网络环境较好时,可以采用数字证书来获取密钥;当接收机所处的网络环境较差时,可以采用sms来获取密钥。

sm4密钥的更新过程如图6所示。该过程中将主密钥参数与所获取的更新信息中的迭代次数作为输入,即可确定sm4密钥更新结果。其中,所有接收机都保存256位的相同主密钥,该主密钥受高强度加密算法的保护。主密钥与高强度密码算法仅为接收机制造商所知,并未向公众披露;迭代次数是在更新信息中进行保存。如图6所示的sm4密钥更新过程中,sm4加密算法使用固定的主密钥作为加密密钥,同时使用主密钥作为明文进行反复加密,加密次数由迭代次数决定。整个过程在sm4国家标准gbt32907-2016中有详细叙述。

在整个更新过程中,只有迭代次数这一参量不为用户所知,用户需要通过密钥传输信息来确定该参数。因此,在密钥传输期间,只要传输迭代次数信息,用户就可以及时获得sm4密钥。即便第三方获取了迭代参数,但是由于缺乏主密钥参数,第三方也无法计算出sm4密钥,这保证了sm4密钥的安全性。

a)通过sms进行密钥更新

当接收机通过sms更新公钥和迭代次数信息,接收方会检查预设密钥的完整性。每个接收机都有一个唯一对应的预设数据包,该数据包包含预设密钥及预设密钥认证信息。该数据包通过主密钥加密传输,当用户首次使用接收机时,可以从接收机制造商的网站下载数据包。

如图7所示,当接收机下载了加密后的数据包,会通过密钥保护模块保护的主密钥对数据包解密并获取数据包内容。在数据包中包含了预设密钥及密钥认证信息,该认证信息为预设密钥的摘要值,也称摘要1。另一个摘要值称为摘要2,它由接收端使用sm3算法对数据包中的预设密钥计算后得到。若摘要1与摘要2相同,则接收器将保存之前从网站下载的预设数据包,反之删除预设数据包,并重新下载数据包。在密钥更新完成之后,接收机将会删除预设密钥而保留加密后的预设密钥包,以备下次使用。

当接收机通过sms更新密钥,接收方将通过主密钥解密预设数据包并从数据包中获得预置密钥。在通过sms密钥更新和数字证书更新的过程中,所涉及的密钥种类较多,为便于理解,相关密钥缩写如表5所示。

表5sms传输中密钥缩写含义

如图7所示,当接收机需要更新keypublic和niter时,接收机将向地面控制中心发送附有其自己id的请求信息。该请求信息通过keypreset加密传输;当地面控制中心接收到加密的请求信息时,控制中心会根据接收者的id从预设密钥数据库中获得相应的keypreset;与此同时,keypublic、niter和idgroupkeys的签名由keyprivate生成;keypublic、idgroupkeys及其签名通过keypreset加密后传输到接收机;当接收机获得密文时,接收机将对其进行解密以恢复keypublic,并通过接收的keypublic验证签名。若验证成功,则更新idgroupkeys(包含keypublic和niter);若验证失败,接收方将放弃此keygroup和签名,并再次向地面控制中心发送请求。

b)通过数字证书进行密钥更新

在本发明中使用的数字证书符合x.509的标准。该证书包含版本号、证书序列号、有效性、主题公钥信息、颁发者名称和主题名称。公钥信息包含keypublic和用于生成当前对称密钥的niter。主题名称是地面控制中心的密钥管理部门的代码编号。证书序列号是keygroup的对应id。证书过期后,用户需要通过互联网更新证书。证书的有效性时间由地面控制中心决定。

4.信息发送过程

如图8所示,ssmgp和上组认证信息都通过sm4密钥加密获得密文。密文信息将结合表3替换到子帧1中相应的预留位中去。同时,在每一个子帧1的尾部插入同步序列,来提示接收机接收接下来要传输的扩频信息。此外,基本导航信息通过sm3算法生成摘要值,该摘要值通过sm2算法生成签名。签名信息会结合表4进行拆分并与页面认证信息进行组合。组合后的信息与添加密文的导航信息都会通过bch(15,11,1)生成各自的纠错码。导航信息的纠错码按照bd-iiicd中的要求插入对应位置,组合后的信息按照图2将纠错码插入。最后,这两种信息都由各自的扩频码进行调制并发送。每个步骤所消耗的时间如表6所示。

表6在信息传输前每个步骤所消耗的时间

5.信息接收认证过程

导航信息接收认证过程中主要包含如下步骤,具体接收认证过程如图9所示。

a)当接收机接收到子帧1中的所有同步序列后,将存储扩频信息。在本发明方案中,根据bd-iiicd中的规定,d2导航电文传输速率500bit/s,每页插入75bit的扩频信息,故扩频信息的存储时间约为0.15秒。随后接收机继续接收和解调子帧2的信息。

b)当接收机接收对一组子帧1完成接收并对其完成bch码校验后,导航信息中的密文将会被提取出来并通过sm4密钥进行解密,从解密的明文中得到ssmgp和组时间认证信息。ssmgp用于扩频信息的解调,组时间认证信息用于验证组时间真实性和连续性。在本发明中将组时间认证信息与接收机接收的上一组子帧1每一页面中的sow低12位信息(共10页面,共计120位)进行比较。若比较结果完全一致,则说明两组中的子帧1信息时间真实且连续,进一步验证页面时间的真实性及连续性和基本导航信息的完整性。否则,所接收卫星导航信号可能遭遇到阻塞攻击或者欺骗攻击。

c)在对插入的扩频码信息进行解调之后,执行bch校验。对校验之后的信息提取页面认证信息和签名信息。

d)为了对页面时间的真实性和连续性进行认证,将页面认证信息与表4所对应的上一个子帧1中sow的低位信息比较。若比较结果完全一致,则两个页面时间真实且连续,并继续验证基本导航的签名信息;反之,接收卫星导航信号可能遭遇到阻塞攻击或者欺骗攻击。

e)使用sm2算法的公钥解密步骤c)中获得的签名。将解密的摘要信息与接收的基本导航信息的摘要信息进行比较,若比较结果完全一致,则基本导航信息真实可信;反之,基本导航信息为虚假,可能被欺骗。需要说明的是,基本导航信息的摘要信息是通过sm3算法的计算得到的。

在不考虑噪声影响的情况下,表7中示出了三种类型的认证:组时间真实性和连续性的认证、页面时间真实性和连续性的认证和对签名信息的认证。

表7三种认证结果分析

表7说明了本发明方案可以从三个方面检测欺骗攻击,即检测组时间真实性和连续性、检测页面时间真实性和连续性及验证基本导航信息的完整性(签名认证),每个步骤消耗的时间如表8所示。

表8在接收后每个步骤消耗的时间

本发明方案的核心是验证时间信息(组时间和页面时间)的真实性和连续性以及验证基本导航信息的完整性。本发明需要在两种情况下进行导航信息的认证。首先当基本导航信息没有发生改变(在一小时内没有更新)时,只需要一次成功的认证,并保留通过认证的基本导航信息;其次当基本导航信息发生变化时,有必要及时验证其完整性。

如果接收者对导航信息的认证要求不是太高,则只需要对组时间的真实性和连续性进行认证。页面时间信息的真实性和连续性不需要持续地在整个过程中进行验证,此时所需要的验证时间将减少。表9中显示了两种情况下的认证时间。

表9不同需求下所需要的认证时间

综上,根据对抗欺骗程度的不同需求,用户可以选择合适的认证方案来减少认证时间。

附图说明

图1d2导航信息中的基本导航信息

图2密文结构

图3基本导航信息的认证

图4页面时间连续性认证

图5扩频信息结构

图6sm4密钥更新过程

图7sms进行密钥更新流程

图8信息传输的流程

图9接收信息的认证过程

图10实验框架

图11cnr时间分布图

图12信号调制过程

图13信号解调过程

图14本发明认证率

具体实施方式

本发明的系统测试的软件平台主要是基于visualstudio-openssl(密码部分)以及matlab(信息发射以及接收部分)这两部分。其中计算机1基于visualstudio-openssl,对明文加密过程、密文解密过程、签名信息生成过程以及签名信息认证过程进行仿真,计算机2基于matlab对加噪信道的模拟过程以及对发射端和接收端的信息处理过程进行仿真。在实验中,其他相关参数如表10所示。

表10实验仪器相关参数

为了验证本发明方案的有效性,具体的仿真过程在如图10所示的实验框架下进行。具体实验流程与实验结果如下所示:

1.密钥生成

sm2算法中的椭圆曲线参数已在发明内容中说明。根据这些参数,sm4密钥、sm2的公钥和sm2私钥如表11所示。

表11sm2、sm4生成的密钥

2.信息加密

密文由ssmgp信息和组时间认证信息组成。在本仿真中,ssmgp的码本中的不同ssmgp指的是bd-iiicd中不同卫星对应伪随机码生成多项式。不同卫星的卫星号即表示不同ssmgp信息的id。在本发明方案中,ssmgp使用卫星no.13的pn码,故id信息为13(十六进制下为0d)。具体的明文信息与加密后的生成的密文信息如表12所示。

表12待加密明文与生成的密文

3.签名生成

基本导航信息的签名由sm2算法的私钥生成,基本导航信息的摘要信息与签名信息如表13所示。

表13签名和摘要

4.生成带有认证功能的卫星导航信息

附在子帧1尾部的同步序列为“1111100110101”,正常电文信息的同步序列都是巴克码。待扩频信息与添加密文的导航信息都会通过bch(15,11,1)生成各自的纠错码。导航信息的纠错码按照bd-iiicd中的要求插入对应位置,待扩频信息按照图5将纠错码插入。最后,正常导航信息子帧1信息是300比特,并且每个子帧1对应的待扩频信息是75比特。

5.传输过程

在所设计的加噪信道中,添加的噪声为高斯白噪声。根据bd-iiicd中对于卫星导航信号的相关参数要求,所设计的bd-ii信号(b1i)的中心频率为1561.098mhz,其1db带宽为4.092mhz,采样频率为8191429.602hz。同时根据相关文献中公式推导,载噪比(cnr)与信噪比(snr)之间的关系为

图11所示为接收机在2017年9月10号下午2点-5点时间内所接收2号卫星的cnr变化图,其平均cnr为43.4209db。则根据公式(1),当cnr为43.4209db时,snr为-23db。故在信噪比为-23db下,卫星信号的调制和解调如图12和图13所示。

6.信号接收和验证结果分析

在仿真中,接收信息完成bch纠错之后,对导航信息开始进行验证。验证结果分析主要从验证耗时以及认证成功率分析这两个部分入手。

a)验证耗时

在本发明中,为了达到抗欺骗目的,添加了正常信号发送和接收。消耗的时间如表14和表15所示。

表14传输前的时间消耗

表15接收的时间消耗

b)认证率成功率分析

由于本发明是基于加密算法的抗欺骗方案,在理论上,当没有噪声引起信息位错误时,认证结果是准确的。因此,噪声信号不仅会影响bch的纠错结果,而且会影响认证成功率(pd)。在实验中,当snr逐渐减小时,该方案的认证成功率如图14所示。

签名的认证成功率、组时间认证成功率和页面时间认证成功率分别是p1、p2和p3。在图14中,当snr低于-33db时,p1开始低于100%。当snr低于-35db时,p1、p2和p3都低于100%。因此,为了保证该方案可以正常运行,接收机接收卫星信号的snr不能低于-35db(cnr不低于31.11db)。

总体而言,在信噪比较低的情况下,签名认证信息更容易受到噪声的影响。但是,考虑到卫星在至少1小时的更新周期内重复广播基本导航信息。一旦基本导航信息在更新周期内被成功认证一次,则可以保留并使用该信息直到下次基本导航信息更新,从而避免重复地认证过程。此外,当用户的安全需求不高的时候,在p1、p2和p3的认证速率超过某个阈值时,也可以认为认证成功,该阈值可以基于用户自身的安全需求来决定。

通过实验结果分析可知,根据北斗rdss的要求,接收机接收信号的cnr要大于35db,在这种情况下,本发明可以正常使用。此外对于安全需求不同的接收机,本发明也可以优化调整来抵抗针对北斗二代d2导航电文的欺骗攻击。

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