一种基于北斗短报文的身份认证方法与流程

文档序号:29853441发布日期:2022-04-30 08:37阅读:284来源:国知局
一种基于北斗短报文的身份认证方法与流程

1.本发明涉及信息安全领域,具体而言,尤其涉及一种基于北斗短报文的身 份认证方法。


背景技术:

2.北斗卫星导航系统是全球卫星导航系统,是为全球用户提供全天候、全天 时、高精度的定位、导航、授时和短报文服务的国家重要时空基础设施。北斗 短报文作为北斗卫星导航系统所特有的服务,无需基站参与,即可实现各用户 机之间的双向通信,且广泛应用于交通运输、海洋渔业、气象预报、救灾减灾、 应急搜救等领域。但由于北斗卫星导航系统具有通信链路长、信道高度暴露易 受攻击、资源受限的问题,攻击者更容易截获短报文消息后冒充发送方向接收 方发送虚假的短报文消息,将导致极大的安全隐患,严重影响短报文消息的正 常通信。
3.目前,在卫星通信领域中的安全认证方案主要有基于数字证书实现通信双 方的身份认证,但通信开销较大且消耗大量的存储资源。为解决数字证书认证 方案通信开销大的问题,又提出通过哈希运算生成消息验证码的方式实现身份 认证,但这种方法安全性无法得到保障。此外,基于pki体系的认证方案通信 开销较大,认证时延较长,且大多身份认证方案均采用rsa国际加密算法,而 在同等密钥长度下,sm9国密算法的安全强度远高于rsa算法,可以用较少的 计算开销提供比rsa算法更高的安全强度,而所需的密钥长度却远低于rsa算 法。同时,目前已有的方案中针对北斗短报文消息的身份认证方案很少。


技术实现要素:

4.本发明要解决的技术问题是:提供一种基于北斗短报文的身份认证方法, 通过采用sm9标识密码算法和sm3密码杂凑算法,无需第三方参与,减少了认 证交互次数、通信开销及认证时延,提高了认证效率;认证过程中通信双方会 协商出会话密钥,用于保障后续短报文通信的安全性;同时,对用户的真实身 份信息进行匿名处理,保障了用户的身份隐私安全。
5.本发明的技术方案是:
6.一种基于北斗短报文的身份认证方法,它包括:用户机a向北斗卫星发送 的认证请求消息(pid、t、m、sign),北斗卫星将认证请求消息转发到北斗卫星 导航系统地面总站,北斗卫星导航地面总站重新封装认证请求消息(pid、t、m、 sign、),并发送到北斗卫星,北斗卫星转发认证请求消息到用户机 b,用户机b对用户机a身份验证通过后,向北斗卫星发送认证回复消息(pid'、 t'、m'、sign'),北斗卫星将认证回复消息转发给北斗卫星导航地 面总站,经过北斗卫星导航地面总站发送给北斗卫星,最后,北斗卫星将认证 回复消息发送给用户机a,用户机a对用户机b的身份进行验证,实现用户机 a和用户机b之间的双向认证。
7.所述方法具体包括:
8.步骤1,参数初始化:初始化椭圆曲线基域fq的参数、椭圆曲线方程参数 a和b、曲线阶的素因子n和相对于n的余因子cf、曲线e(fq)相对于n的嵌 入次数k、循环子群g1的生成元p1、循环子群g2的生成元p2、双线性对运算 e、循环群g
t
和私钥生成识别符hid;
9.步骤2,用户机a和用户机b向可信地面管理中心进行离线注册,用户机a 和用户机b分别提供18字节的唯一身份标识id和id',可信地面管理中心生成 用户a的公私钥对(qa,da),并同时生成用户b的公私钥对(qb,db),分别将其写 入到用户a和用户b的北斗ic卡中,并将不同的北斗ic卡分别发放给用户机 a和用户机b,各用户机及北斗卫星导航系统地面总站都秘密共享用户机伪身份 标识pid的生成函数,完成注册过程,同时以可信安全的通道发送给北斗卫星 导航系统地面总站;
10.步骤3,用户机a用私钥da对请求消息m进行签名,生成769bit的用户机 a的数字签名sign,将sign填充到北斗短报文消息通信内容字段中,以北斗短 报文的形式发送给北斗卫星;
11.步骤4,北斗卫星接收到用户机a的认证请求消息后,将认证请求消息转发 到北斗卫星导航系统地面总站;
12.步骤5,北斗卫星导航系统地面总站接收到用户机a的认证请求消息后,使 用用户机b的公钥加密会话主密钥mainkey,会话主密钥长度为128bit,将加密 后的会话主密钥mainkey填充到原短报文通信内容后,加密后的会话主密钥长度 为128bit,以北斗短报文形式转发给北斗卫星;
13.步骤6,北斗卫星接收到短报文消息后,发送给用户机b,用户机b接收到 认证请求消息后,计算出用户机a的公钥qa,通过qa验证请求消息m'的数字 签名sign',若验证成功,则说明用户机a的身份是真实的;
14.步骤7,同样的,用户机b以相同的方式向用户机a发送认证回复消息, 用户机a接收到认证回复消息后,对消息签名进行验证,若验证成功,则说明 用户机b的身份是真实的。认证通过后,解密得到会话主密钥,通信双方通过 会话主密钥共同协商出会话密钥;
15.用户a机的私钥da通过公式
16.da=[t2]p1=[s/h1(id||hid)+s]p1[0017]
计算得到,长度为512bit;
[0018]
所述的用户b的私钥db通过
[0019]
db=[t2′
]p11=[s/h1(id

||hid)+s]p1计算得到,长度为 512bit;
[0020]
s为可信地面管理中心通过随机数生成器生成的主私钥,通过p
pub
=[s]p2计 算出主公钥p
pub
,主密钥对(s,p
pub
)由可信地面管理中心保存,秘密保存s, 公开p
pub

[0021]
通过t1=h1(id||hid,n)+s、t1′
=h1(id

||hid,n)+s
[0022]
计算出t1和t1′
;通过t2=s
·
t
1-1
、t2′
=s
·
t

1-1
计算出t2和t2′
,hid为私钥函数生成 识别符;
[0023]
所述的用户a的公钥qa通过公式
[0024]
qa=[h1(id||hid)]p+p
pub
计算得到,
[0025]
所述用户b的公钥qb通过
[0026]
qb=[h1(id

||hid)]p+p
pub
计算得到,长度都为1024bit;其中h1()
[0027]
通过sm3密码杂凑算法实现。
[0028]
用户机a的数字签名sign是通过sm9标识加密算法生成,首先计算群g
t
中 的元素g=e(p1,p
pub
),生成随机数r,计算群g
t
中的元素w=gr,
[0029]
计算h=h2(m||w,n),然后计算l=(r-h)modn,计算群g1中的 元素s=[l]da,最后得出用户机a的数字签名sign=(h,s)。
[0030]
北斗短报文消息通信内容字段填充的内容包括用户机a生成的伪身份标识 时间戳信息t,请求消息m,数字签名sign,其中pid长度为144bit, t长度为128bit,m长度为64bit,sign的长度为769bit,总长度为1105bit。其中表示异或运算。
[0031]
用户机a的公钥是首先通过计算然后计算 qa=[h1(id||hid)]p+p
pub
得到;
[0032]
所述的会话主密钥mainkey是通过sm4分组密码算法生成的,mainkey用于 身份认证通过后通信双方共同协商出会话密钥sessionkey=h(mainkey||ppub||t||t

), 用于数据的加密传输,保证短报文通信消息的机密性;t为用户机a的时间戳 信息,t

为用户机b的时间戳信息。
[0033]
用户机a接收到的认证请求消息包括用户机a的伪身份标识pid,时间戳 信息t,请求消息m,数字签名sign;用户机a的公钥通过用户机b计算 然后计算qa=[h1(id||hid)]p+p
pub
得到;
[0034]
用户机b通过sm9标识密码算法对接收到的认证请求消息中的m

的数字签 名sign

=(h

,s

)进行验证,首先计算群g
t
中的元素g=e(p1,p
pub
),计算群g
t
中的元 素t=gh′
,然后计算h1=h1(id||hid,n),计算群g2中的元素户=[h1]p2+p
pub
, 计算群g
t
中的元素u=e(s

,p)和元素w

=u
·
t;最后计算得到 h2=h2(m

||w

,n),验证h

与h2是否相等,若相等,则说明用户机a的 身份是真实的,同时,使用用户机b的私钥解密得到mainkey,完成用户机a的 身份认证过程。
[0035]
步骤7所述的会话密钥sessionkey通过sm3密码杂凑算法计算 sessionkey=h(mainkey||p
pub
||t||t

)得出,用于数据的加密传输,保证短报文通信消 息的机密性;其中,h()为sm3密码杂凑算法,t为用户机a的时间戳信息,t
′ꢀ
为用户机b的时间戳信息。
[0036]
本发明的有益效果是:
[0037]
本发明采用用户机a用自己的私钥对请求消息进行签名,用户机a对身份 id进行匿名处理,将认证请求消息以北斗短报文形式发送给用户机b,用户机b 对接收到的认证请求消息进行验签,若验证通过,则判断用户机a身份的真实 性;采用sm9标识密码算法及sm3密码杂凑算法实现用户机之间的双向身份认 证,无需第三方参与,减少认证消息交互次数,极大的降低了认证开销;同时, 主要使用椭圆曲线上的点乘运算及双线性对运算生成数字签名,即使交互信息 被窃取,也无法伪造用户机的身份,保证了认证北斗短报文通信双方身份的真 实性;该方法使用的数字签名长度远小于数字证书的长度,有效降低了存储开 销并可满足北斗短报文通信长度的限制。此外,协商出会话密钥可为用户机后 续通信提供安全保障;本发明更具轻量化、灵活性的特点,更适用于资源受限 的北斗短报文通信领域。
附图说明
[0038]
图1是本发明身份认证方法所采用的系统示意图;
[0039]
图2是本发明提供的一种基于北斗短报文的身份认证方法的消息传输流程 图;
[0040]
图3是本发明提供的一种基于北斗短报文的身份认证方法的流程示意图;
[0041]
图4是本发明提供的北斗短报文消息通信内容封装方式;
[0042]
图5是本发明提供的北斗短报文消息通信内容重新封装方式。
具体实施方式
[0043]
下面对本发明具体的实施方式进行阐述,来进一步说明本发明的出发点以 及相应的技术方案。
[0044]
如图2是本发明提供的一种基于北斗短报文的身份认证方法的消息传输流 程图,所述的消息传输流程包括用户机a向北斗卫星发送的认证请求消息(pid、 t、m、sign),北斗卫星将认证请求消息转发到北斗卫星导航系统地面总站,北 斗卫星导航地面总站重新封装认证请求消息(pid、t、m、sign、), 并发送到北斗卫星,北斗卫星转发认证请求消息到用户机b,用户机b对用户 机a身份验证通过后,向北斗卫星发送认证回复消息(pid'、t'、m'、sign' ),北斗卫星将认证回复消息转发给北斗卫星导航地面总站,经过 北斗卫星导航地面总站发送给北斗卫星,最后,北斗卫星将认证回复消息发送 给用户机a,用户机a对用户机b的身份进行验证,实现用户机a和用户机b 之间的双向认证。
[0045]
如图3是本发明提供的一种基于北斗短报文的身份认证方法的流程示意图, 所述方法包括以下步骤:
[0046]
步骤201,参数初始化。初始化椭圆曲线基域fq的参数、椭圆曲线方程参 数a和b、曲线阶的素因子n和相对于n的余因子cf、曲线e(fq)相对于n的嵌 入次数k、循环子群g1的生成元p1、循环子群g2的生成元p2、双线性对运算e、 循环群g
t
,私钥生成识别符hid。
[0047]
步骤202,用户机a和用户机b向可信地面管理中心进行离线注册,用户 机a和用户机b分别提供18字节的唯一身份标识id和id',可信地面管理中心 生成用户a的公私钥对(qa,da),并同时生成用户b的公私钥对(qb,db),分别将 其写入到用户a和用户b的北斗ic卡中,并将不同的北斗ic卡分别发放给用 户机a和用户机b,完成注册过程,同时以可信安全的通道发送给北斗卫星导 航系统地面总站。
[0048]
步骤203,用户机a用私钥da对请求消息m进行签名,生成769bit的用户 机a的数字签名sign,将sign填充到北斗短报文消息通信内容字段中,对短报 文消息进行封装后发送给北斗卫星。
[0049]
步骤204,北斗卫星接收到用户机a的认证请求消息后,将认证请求消息转 发到北斗卫星导航系统地面总站。
[0050]
步骤205,北斗卫星导航系统地面总站接收到用户机a的认证请求消息后, 使用用户机b的公钥加密会话主密钥mainkey,会话密钥长度为128bit,将加密 后的会话主密钥mainkey填充到原短报文通信内容后,加密后的会话密钥长度为 128bit,转发给北斗卫星。
[0051]
步骤206,北斗卫星接收到短报文消息后,发送给用户机b,用户机b接收 到认证请求消息后,计算出用户机a的公钥qa,通过qa验证请求消息m

的数 字签名sign

,若验证成功,则说明用户机a的身份是真实的。身份认证通过后, 通信双方共同协商出会话密钥sessionkey=h(mainkey||p
pub
||t||t

,用于数据的加密 传输,保证短报文通信消息的机
密性。其中,t为用户机a的时间戳信息,t

为 用户机b的时间戳信息。
[0052]
步骤207,同样的,用户机b以相同的方式向用户机a发送认证请求消息, 用户机a接收到认证请求消息后,对消息签名进行验证,若验证成功,则说明 用户机b的身份是真实的。身份认证通过后,通信双方共同协商出会话密钥 sessionkey=h(mainkey||p
pub
||t||t),用于数据的加密传输,保证短报文通信消息的 机密性。其中,h()为sm3密码杂凑算法,t为用户机a的时间戳信息,t

为用 户机b的时间戳信息。
[0053]
如图4所示,所述的北斗短报文通信内容字段包括伪身份标识id+时间戳 t+请求消息m+数字签名sign,按顺序封装后作为身份认证请求消息以北斗短报 文形式发送到接收方。接收方接收到身份认证请求消息后,回复北斗短报文消 息到发送方,如图5所示,发送方接收到的北斗短报文通信内容字段包括伪身 份标识id+时间戳t'+请求消息m+数字签名sign+加密后的会话主密钥mainkey。
[0054]
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范 围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或 修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1