1.一种卫星导航系统的实时认证电文设计和终端认证方法,其特征在于,所述方法包括:设置实时认证数据包结构;所述实时认证数据包由慢认证数据包和快认证数据包组成;其中慢认证数据包执行首次密钥认证,快认证数据包实现电文认证;根据密钥、电文、延迟播发的密钥所在周期的电文信息的消息摘要和数字签名片段以及消息认证码构成快认证数据包;其中,多个快认证数据包中的数字签名片段组合成完整的数字签名;利用生成根密钥经过单项函数计算得到包括多个密钥的密钥链,利用延时播发密钥所在周期的电文信息通过单向函数生成消息摘要,与应用延时播发密钥的电文信息和消息认证码一同提前播发;利用密钥对电文和消息摘要组成的数据计算得到消息认证码;计算生成根密钥的数字签名;利用射频前端获取接收信号;对接收信号进行模数转换后执行相关步骤并将得到的电文符号进行译码,存储电文数据,直至集齐一个慢认证周期的密钥信息和数字签名;采用公钥对数字签名进行运算获得密钥信息的消息摘要,将接收的密钥信息采用单向函数生成消息摘要,将两者进行对比,如果相等,则密钥有效,保存通过验证的密钥;如果两者不相等,则密钥无效,认证失败;当数字签名验证通过后或者接收机在热启动状态下,保存了通过认证的密钥信息,接收机继续完成快认证,验证电文的有效性;快认证周期数据包中信息的编排顺序为密钥、电文、消息摘要和消息认证码,利用消息摘要与信息一对一映射的关系,一次快认证同时验证两个快认证周期的信息,实现实时电文认证。
2.根据权利要求1所述的方法,其特征在于,所述快认证的过程包括:F1:热启动状态下,接收机射频前端对接收的信号进行模数转换,之后执行相关步骤,将所得的电文符号进行译码,若接收机完成初次认证,信号处于锁定状态,则不需要重新捕获信号,持续跟踪并执行电文解调和译码过程即可;F2:在第 j 个快认证周期时,接收机存储电文信息( D j 、MAC j ),其中, ,符号||表示信息连接符, 表示第 j 个认证周期的电文信息,Hash j 表示第 j 个快认证周期的消息摘要,MAC j 表示第 j 个快认证周期的消息认证码;F3:在第( j+n )个快认证周期时,接收密钥 K i-n 并验证密钥的有效性;F4:当 K i-n 有效,将 D j 和 K i-n 代入MAC生成函数进行计算,将计算结果与存储的MAC j 进行对比,若两者相等,则MAC验证成功,说明D j 未被篡改,消息摘要有效,反之MAC验证失败,认证失败;F5:当MAC验证成功,接收机继续接收第( j+n )个认证周期的电文信息 M j+n ,将该值代入单项函数计算其消息摘要,之后与接收机存储的 D j 中的Hash j 进行对比,若两者相等,说明电文信息 M j+n 有效,认证成功,反之 M j+n 无效,认证失败。
3.根据权利要求1所述的方法,其特征在于,利用生成根密钥经过单项函数计算得到包括多个密钥的密钥链,包括:其中, 是取低位截短函数, 表示单项函数, 是链上编号为 的密钥, 是密钥长度。
4.根据权利要求1所述的方法,其特征在于,利用延时播发密钥所在周期的电文信息通过单向函数生成消息摘要,包括:利用延时播发密钥所在第( i + n )个认证周期的电文信息通过单向函数生成第 j 个认证周期的消息摘要为其中, 表示Hash的长度。
5.根据权利要求1至4任意一项所述的方法,其特征在于,利用密钥对电文和消息摘要组成的数据计算得到消息认证码,包括:利用密钥对电文和消息摘要组成的数据计算得到第 j 个认证周期的消息认证码为其中, 表示MAC的长度, 为延时 n 个认证周期播发的密钥, ,符号||表示信息连接符。
6.根据权利要求1所述的方法,其特征在于,计算生成根密钥的数字签名,包括:对密钥 计算数字签名,其计算表达式如下:其中, 表示数字签名算法, 表示数字签名长度, 表示卫星私钥。
7.根据权利要求1所述的方法,其特征在于,验证密钥的有效性的过程包括:对密钥 K i-n 进行多次单向运算,将计算所得的密钥值与慢认证周期验证的快认证密钥进行对比,若二者相等,则说明 K i-n 有效,反之,密钥无效,认证失败;单项函数运算次数取决于接收机保存的有效密钥和接收的密钥在密钥链中的序号。