适用于低轨卫星网络的星间组网认证系统及方法与流程

文档序号:17246044发布日期:2019-03-30 08:49阅读:411来源:国知局
适用于低轨卫星网络的星间组网认证系统及方法与流程

本发明属于卫星通信信息安全技术领域,尤其涉及一种适用于低轨卫星网络的星间组网认证系统及方法。



背景技术:

目前,业内常用的现有技术是这样的:现有的卫星系统所包含卫星数量较少,如铱星(66颗)、gps(24颗)。卫星间的组网认证主要由地面控制中心tcc(telluriccontrolcenter)采用快照方式控制完成,即tcc根据卫星运行快照,直接为在轨卫星计算并分发认证参数、会话密钥等。因此,在这种传统的卫星控制模型中,在轨卫星通常不具备自主组网能力,其组网过程严重依赖tcc,缺乏灵活性。随着航空航天技术的发展,卫星网络正在向着拓扑结构复杂化、节点数量海量化方向发展。传统的卫星控制方式,受tcc部署位置、计算能力、管理能力等因素的影响,在应用上必将收到一定的限制。同时,由于星间通信使用的链路高度开放,攻击者能够轻易监听、篡改、伪造星间会话,进而对卫星网络实施恶意干扰和破坏。因此,为确保卫星网络的稳定运行,急需对卫星的安全组网进行研究,设计安全、有效的星间组网认证方案。

然而,设计适用于卫星网络的组网认证协议需要考虑以下问题。首先,受电力供应等因素影响,卫星的计算能力严重不足,难以进行复杂的数据处理;其次,星间链路通信距离远、传输时延大、误码率高,需要额外考虑此类因素给认证方案带来的不利影响;最后,为提升星间组网的稳定性与灵活性,认证协议需要在确保安全的前提下,尽量减少tcc等第三方的参与。针对卫星网络的组网认证问题,人们已经提出了一些解决方案,比如:现有技术一(申请号cn2017101415439申请公布号cn106850674a)公开了一种在轨卫星身份认证方法,其基于卫星轨道的周期性,采用公钥认证机制,解决了星地之间的身份认证问题,但是该技术涉及较多的公钥密钥计算,可能面临认证过程中的计算开销问题。现有技术二(申请号cn201711298914.0申请公布号cn107979408a)公开了一种新的高轨卫星组网认证及可信保持协议,其基于对称加密设计,极大地降低了卫星计算压力,与传统公钥方案相比速度有了很大提升,但是其主要针对高轨卫星,在通用性上存在一定的局限性。

随着航天、通信、控制技术的发展,设计中的新型卫星网络所包含的节点数量越来越多、拓扑结构也越来越复杂。如果卫星之间的每一次认证都需要tcc的实时参与,那么,频繁的星间链路切换会严重增加tcc的管理负担,甚至影响组网效率。因此,为保证拥有海量卫星节点的卫星网络能够安全、高效的进行组网,认证协议需要在保证安全的前提下尽量减少计算与通信开销,并且尽可能减少对tcc等第三方的依赖,以提高卫星网络的组网的自主性与灵活性。

综上所述,现有技术存在的问题是:

(1)星间身份认证计算开销较大。对于拥有海量节点的卫星网络,认证协议将随着链路的切换频繁进行,卫星组网极有可能因为星上计算机难以应对认证参数所需的庞大计算量而产生切换时延。

(2)星间身份认证通信开销较大。对于传统需要tcc参与的认证技术,由于每次认证均需要卫星之间、卫星与tcc之间进行多次通信,星间组网认证极有可能因为认证所涉及的多次超远距离通信而无法保证效率。

(3)星间身份认证严重依赖可信第三方。随着卫星网络节点数量的急剧增加,以tcc为代表的可信第三方的性能已经成为了卫星认证效率的一大瓶颈,同时,tcc的存在也严重影响卫星节点的自主性与灵活性。

(4)星间身份认证未对卫星的身份信息进行保护。卫星通信使用的信道高度开放,如果不对卫星的真实身份信息进行保护,攻击者极有可能通过流量分析获取网络各节点的真实身份信息,进而对卫星组网实施破坏。

解决上述技术问题的难度和意义:在保证安全的前提下设计轻量化的认证协议,尤其要减少卫星在认证阶段的计算与通信开销;在保证安全的前提下减少认证协议对可信第三方的依赖,确保卫星在没有tcc等可信第三方的参与下也能自主进行组网认证;既要对卫星的身份信息进行保护,又要避免因保护身份信息而带来的额外计算开销。

综上所述,对于未来拥有海量节点的新型卫星网络,设计安全、高效、且能够独立进行的星间组网认证协议对于保障卫星网络的稳定运行具有重要意义。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种适用于低轨卫星网络的星间组网认证系统及方法。

本发明是这样实现的,一种适用于低轨卫星网络的星间组网认证系统,所述适用于低轨卫星网络的星间组网认证系统包括:

地面控制中心认证服务器,用于对卫星的认证系统进行初始化,包括生成和分发卫星认证所需的身份信息、密钥、轨道参数,并作为可信第三方参与卫星首次加入卫星网络时所执行的组网认证协议;

低轨卫星认证客户端,用于向目标节点提交认证请求,检验目标节点的返回参数,与地面控制中心认证服务器进行通信并传递认证参数,计算临时身份、认证令牌、会话密钥认证参数,维护认证信息表。

进一步,所述地面控制中心认证服务器包括:

系统初始化模块,用于卫星认证系统的初始化工作,包括三个子模块:轨道分配子模块、身份信息分配子模块、密钥分配子模块;其中:

轨道分配子模块,用于分配卫星的运行轨道;

身份信息分配子模块,用于分配卫星在组网阶段应使用的身份信息;

密钥分配子模块,用于分配卫星在组网阶段使用的密钥;

组网认证模块,用于参与卫星间的组网认证协议。

进一步,所述低轨卫星认证客户端包括:

系统初始化模块,用于卫星认证系统的初始化工作;

认证信息管理模块,用于管理并维护卫星之间的认证信息;

组网认证模块,用于预计算认证参数,交互认证信息,包括三个子模块:轨道预测子模块、数据处理子模块、预计算管理子模块;其中:

轨道预测子模块,用于为卫星的认证预计算提供必要时间参数;

数据处理子模块,用于计算卫星在组网阶段所需的认证参数;

预计算管理子模块,根据卫星的认证信息注册表管理卫星的认证预计算工作。

本发明的另一目的在于提供一种运行所述适用于低轨卫星网络的星间组网认证系统的适用于低轨卫星网络的星间组网认证方法,所述适用于低轨卫星网络的星间组网认证方法包括:

第一步,系统初始化:

(1)在发射准备阶段,由卫星向地面控制中心认证服务器提交初始化请求;

(2)收到初始化请求后,认证服务器为该卫星生成并分发身份信息rid、广播标识ssid、认证主密钥mainkey认证参数;

第二步,认证信息注册:

认证信息注册在卫星之间完成首次组网认证之后进行,包括以下步骤:

(1)卫星la向lb发送自身的精确轨道数据;

(2)收到轨道数据后,lb在认证信息表中添加该卫星的认证信息,包括轨道数据、身份信息;注册完成后,lb同样返回自身的精确轨道数据;

(3)收到返回数据后,la采用同样的操作,将各认证信息写入认证信息注册表中;

第三步,星间身份认证与密钥协商:根据认证阶段的不同分为两个子协议,分别是卫星认证信息注册之前的三方认证协议和卫星认证信息注册之后的两方认证协议;

(1)三方认证协议

1)la向tcc发送认证请求;

当探测到周围出现未认证的卫星lb时,卫星la首先对该卫星的广播标识进行识别;如果该节点是一个未认证的服务节点,la向tcc发送带有目标卫星广播标识的认证请求;

2)tcc返回临时身份等认证参数;

收到认证请求后,tcc对其进行解密,根据解密得到的目标卫星的广播标识ssidb,tcc从数据库找到该卫星对应的身份信息ridb;tcc基于时间参数计算本次认证卫星la和lb应使用的临时身份tida和tidb,计算完毕后,tcc分别使用对应的密钥对认证数据进行加密,得到eat(tida‖ridb‖tidb‖tt)‖ebt(ssida‖rida‖tida‖tidb‖tt);随后,tcc将加密数据一并返回给la;

3)la向lb发送认证请求;

收到tcc返回的数据后,la对其进行解密,得到tida、ridb、tidb、tt四个参数;如果时间戳t满足新鲜性要求,则尝试与lb进行通信,并将认证请求authreq‖ssida‖tida‖ebt(ssida‖tida‖ridb‖tidb‖tt)发送给lb;

4)lb验证认证请求并返回认证令牌;

收到认证请求后,lb对认证请求中的密文信息进行解密,得到认证发起者的ssida、tida和t并进行验证;如果认证请求合法,lb通过星载时钟获取时间戳tauth,基于获取的tauth和预置的mainkey,lb计算本次认证使用的authkey;lb生成一个一次性随机数rand,基于生成的rand和authkey,lb计算时间戳保护序列tk;lb通过星载时钟获取时间戳ttoken;基于生成的rand、获取的ttoken、自身ssidb,lb计算消息验证码mac;随后,lb将rand、ttoken、tk、ssidb、mac进行合并得到认证令牌token;随后,lb计算认证token的预期响应xres和本次会话密钥ck;计算完成后,lb存储xres和ck,并将tidb‖token返回给la;

5)la验证认证令牌并返回响应值;

la首先判断认证信息中的tidb与tcc提供的tidb是否相同;如果相同,la采用同样的方式生成authkey,并利用生成的authkey和token中的rand验证ttoken是否满足新鲜性要求;如果满足,la利用生成的authkey和token中的各参数采用相同的方式计算消息验证码xmac;如果计算得到的xmac与token中的mac相等,完成对lb的认证;随后,la采用同样的方法计算出res和ck;最后,la将res返回给lb;

6)lb验证响应值;

收到res后,lb比较收到的res和存储的xres是否相等;如果相等,完成对la的认证;否则,结束认证;

认证完成后,双方即可使用会话密钥ck进行安全通信;

(2)两方认证协议

1)la向lb发送认证令牌tokena;

首先,卫星la与lb建立有效通信链路后,将预计算得到的认证参数tida‖tokena一并发送给lb;

2)lb验证该令牌并向la返回一个认证令牌tokenb;

收到认证请求后,lb判断请求中的tida与数据库中预计算得到的认证参数是否相同;如果相同,继续对认证令牌进行校验,如果对tokena的验证通过,返回预计算的参数tidb‖tokenb;

3)la验证收到的认证令牌;

收到返回数据后,la采用相同的方法对其校验,如果验证通过,完成认证;认证完成后,双方即可使用会话密钥ck进行安全通信;

第四步,认证预计算;

(1)预计算认证所需临时身份tid,使用轨道计算器,卫星计算下次与目标卫星进行组网认证的时间点;首先,卫星基于获取的tauth和预置的mainkey,预计算出下次认证应使用的认证密钥authkey;随后,卫星再通过获取的ttid和存储的rid,分别计算下次认证时,自身和对方应使用的临时身份;

(2)预计算认证令牌token,通过tauth和衍生得到的authkey,卫星采用相同的方式生成下次认证需要用到的认证令牌token。

进一步,卫星间的组网认证协议根据组网阶段的不同分为两部分,分别是有tcc等可信第三方参与的三方认证协议和无可信第三方参与的两方认证协议;tcc等可信第三方参与的三方认证协议用于为卫星首次接入网络时提供认证服务,无可信第三方参与的两方认证协议用于为卫星在自主运行阶段提供组网认证服务。

进一步,通过认证信息注册步骤,卫星双方交换认证所需的必要信息,根据认证信息表中的数据自主生成下次认证需要使用的部分参数,是星间身份认证摆脱了对可信第三方的依赖,又能通过认证预计算,提前得到部分认证参数。

进一步,卫星认证时使用的认证密钥、临时身份均采用基于时间的更新方法;对于认证密钥,卫星可以根据预测时间,结合预置的主密钥衍生得到;对于临时身份,卫星通过对时间戳ttid和真实身份rid的合成字符串进行密码运算,得到对应的计算结果,然后使用该结果表示卫星的临时身份;采用基于时间的更新方式,认证方法既实现了密钥、身份信息认证参数的自动更新。

本发明的另一目的在于提供一种应用所述适用于低轨卫星网络的星间组网认证方法的卫星。

本发明的另一目的在于提供一种应用所述适用于低轨卫星网络的星间组网认证方法的卫星通信平台。

综上所述,本发明的优点及积极效果为:

本发明实现了卫星间的双向认证。在本发明中,首次进行组网认证时,卫星通过由tcc生成的tid判断对方身份的合法性,并通过对方生成的认证令牌token(或响应值res)对其身份进行认证;在之后的身份认证过程中,卫星均通过tid和token对其身份进行验证。对于token,如果不具备共享密钥authkey,攻击者无法生成一个包含正确mac的token;同时,由于authkey需要由mainkey基于时间进行更新,攻击者无法通过由破解得到的authkey再次生成有效的token;最后,生成authkey所需的mainkey不会在链路中进行传播,有效避免了密钥泄露的风险,确保了认证过程的安全、可靠。

本发明通过时间戳抵御重放攻击。借助卫星网络时钟高度同步的特点,本发明通过时间戳对认证信息的新鲜性进行判断。星间组网认证需要传递的参数有tid、token和res,其中,tid的生成需要时间戳ttid,token的生成需要时间戳ttoken,而res与token具有对应性,需要在一定时间内进行回应。因此,本发明中卫星节点能够通过认证参数中的时间戳判断收到的认证信息是否为重放消息,达到识别重放消息的目的。

本发明通过一次性临时身份抵御拒绝服务攻击。本发明通过临时身份tid,实现了对接入请求的合法性鉴别,有效降低了卫星的资源消耗。对于星间首次身份认证使用的三方认证协议,卫星节点会对认证信息中的tid进行判断,如果该tid与地面站提供的tid不同,则终止认证;同理,对于随后的两方认证协议,卫星会通过判断认证信息中的tid与预计算得到的tid是否相等来决定是否执行后续认证操作。因此,基于一次性临时身份的认证请求过滤机制能够有效避免认证过程中卫星的无效计算。

本发明的临时身份基于时间生成,可预计算。本发明通过卫星的真实身份rid和时间戳t基于单向函数生成可预测的一次性临时身份tid,避免了攻击者通过重放过期身份信息实施欺骗。同时,单向函数的使用,也保证了即使攻击者获取了大量过期的tid也无法恢复出其中的真实身份信息。最后,生成tid所需的rid不会在链路中传播,也避免了因为会话密钥丢失而导致的身份信息泄露问题。

本发明认证密钥authkey的更新工作基于时间进行,同样可通过预计算得到。利用了卫星网络时钟高度同步、运行轨迹可精准预测的特点,卫星之间均可以根据预测时间,完成认证密钥的更新。同时,基于预测时间提前计算认证参数,既保证了协议双方计算的同步性,又提升了卫星间的认证效率。

综上所述,本发明的优点为:

(1)本发明实现了卫星间独立自主的组网认证。当卫星完成了有tcc参与的三方认证协议并注册了认证信息后,即可执行轻量化的两方认证协议。卫星间的认证过程将摆脱对tcc的依赖,大大增强了其组网的自主性和灵活性。在这种情况下,即使tcc出现了暂时的宕机等问题,卫星网络的组网过程也不会受到很大的影响。

(2)本发明实现了轻量化的卫星的身份信息保护。在本发明中,卫星间进行身份认证时,均通过一次性临时身份tid进行身份识别。首先,tid的生成使用单向函数,即使攻击者截获大量有效tid,也无法从中获取卫星的真实身份信息;其次,生成tid所需的rid不会在链路中传播,不存在因为会话密钥丢失而导致的身份信息泄露问题。因此,本发明能够有效保证卫星节点身份信息的保密性。

(3)本发明通过认证参数预计算机制减少卫星在认证过程中计算开销。本发明结合卫星网络时钟高度统一、运行轨迹可精准预测的场景特点,设计了认证预计算机制。通过预计算机制,卫星能够利用由轨道预测得到的时间参数,预计算下次认证所需各参数,再次认证时只需要进行简单的参数比较运算即可。本发明通过认证预计算机制,有效降低了卫星在认证阶段的计算压力,同时,合理的计算量分配避免了在多星同时认证的情况下因卫星算力不足而带来的认证时延。

附图说明

图1是本发明实施例提供的适用于低轨卫星网络的星间组网认证系统结构示意图。

图2是本发明实施例提供的适用于低轨卫星网络的星间组网认证方法流程图。

图3是本发明实施例提供的适用于低轨卫星网络的星间组网认证方法实现流程图。

图4是本发明实施例提供的认证发起者的认证流程图。

图5是本发明实施例提供的认证响应者的认证流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明具体涉及一种适用于低轨卫星网络、安全、高效的星间组网认证系统及方法,可用于为低轨卫星在组网阶段提供星间身份认证与密钥协商服务,能够以较少的计算与通信开销,完成卫星之间的信任建立和安全通信。

下面结合附图对本发明的应用原理作详细的描述。

如图1所示,本发明实施例提供的适用于低轨卫星网络的星间组网认证系统包括:地面(tcc)认证服务器和卫星(leo)认证客户端。

地面认证服务器,用于对卫星的认证系统进行初始化,包括生成和分发卫星认证所需的身份信息、密钥、轨道参数等,并作为可信第三方参与卫星首次加入卫星网络时所执行的组网认证协议;

卫星认证客户端,用于向目标节点提交认证请求,检验目标节点的返回参数,与tcc进行通信并传递认证参数,计算临时身份tid、认证令牌token、会话密钥ck等认证参数,维护认证信息表等。

地面认证服务器包括:系统初始化模块、组网认证模块。

系统初始化模块,用于卫星认证系统的初始化工作,包括三个子模块:轨道分配子模块、身份信息分配子模块、密钥分配子模块。其中,轨道分配子模块用于分配卫星的运行轨道;身份信息分配子模块用于分配卫星在组网阶段应使用的身份信息;密钥分配子模块用于分配卫星在组网阶段使用的密钥;

组网认证模块,用于参与卫星间的组网认证协议。

卫星认证客户端包括:系统初始化模块、认证信息管理模块、组网认证模块。

系统初始化模块用于接收地面认证服务器的初始化信息,并利用收到的信息对本服务器的认证系统进行初始化;

认证信息管理模块,用于管理并维护卫星之间的认证信息;

组网认证模块用于预计算认证参数,交互认证信息,包括三个子模块:轨道预测子模块、数据处理子模块、预计算管理子模块。其中,轨道预测子模块用于为卫星的认证预计算提供必要时间参数;数据处理子模块用于计算卫星在组网阶段所需的认证参数;预计算管理子模块主要根据卫星的认证信息注册表管理卫星的认证预计算工作。

如图2所示,本发明实施例提供的适用于低轨卫星网络的星间组网认证方法包括以下步骤:

s201:在发射准备阶段,由卫星向地面控制中心认证服务器提交初始化请求;收到初始化请求后,认证服务器为该卫星生成并分发身份信息、广播标识、认证主密钥等认证参数;

s202:新入轨卫星在tcc等可信第三方的参与下完成首次星间身份认证,认证完成后,卫星相互交换自身精确轨道数据,并在收到轨道数据后,在认证信息表中进行注册,包括身份信息、轨道参数等;

s203:在稳定运行阶段,卫星根据认证信息表预计算下次星间身份认证需要的认证参数,进行身份认证时,使用预计算认证参数执行两方认证协议,完成星间身份认证与密钥协商。

下面结合附图对本发明的应用原理作进一步的描述。

如图3-图5所示,本发明实施例提供的适用于低轨卫星网络的星间组网认证方法包括系统初始化、三方认证、认证信息注册、星间身份认证与密钥协商、认证预计算四部分。

1、系统初始化:

步骤一:在发射准备阶段,由卫星向地面控制中心认证服务器提交初始化请求。

步骤二:收到初始化请求后,认证服务器根据该卫星的生产批次、发射序列等相关信息为该卫星生成并分发身份信息rid、广播标识ssid、认证主密钥mainkey等认证参数,其中:

(1)rid是卫星在内部网络中使用的真实身份信息,用于对认证节点进行唯一标识;

(2)ssid是卫星对外使用的身份标识,用于接入设备对卫星进行识别;

(3)mainkey是星间认证的主密钥,属于卫星之间的共享秘密,用于生成认证密钥。

2、认证信息注册:

认证信息注册在卫星之间完成首次组网认证之后进行,包括以下步骤:

步骤一:卫星la向lb发送自身的精确轨道数据,如轨道高度、轨道倾角等进行卫星轨位预测所需要的轨道参数。

步骤二:收到轨道信息后,lb在认证信息表中添加该卫星的认证信息,包括轨道参数、rid、ssid等。注册完成后,lb同样返回自身的精确轨道数据。

步骤三:收到返回数据后,la采用同样的操作,将各信息写入认证信息注册表中。

3、星间身份认证与密钥协商:

在本发明中,星间身份认证与密钥协商根据认证阶段的不同分为两个子协议,分别是卫星认证信息注册之前的三方认证协议和卫星认证信息注册之后的两方认证协议。

(1)三方认证协议

步骤一:la向tcc发送认证请求。

当探测到周围出现未认证的卫星lb时,卫星la首先对该卫星的ssid进行识别,得到ssidb。如果该节点是一个未认证的服务节点,la向tcc发送经过加密的认证请求eat(authreq‖ssidb)。

步骤二:tcc返回临时身份等认证参数。

收到认证请求后,tcc根据解密得到的ssidb,从数据库找到该卫星对应的身份信息ridb。随后,tcc基于时间参数ttid计算本次认证卫星la和lb应使用的临时身份tida和tidb。计算完毕后,tcc分别使用与la和lb对应的会话密钥加密待返回数据,得到eat(tida‖ridb‖tidb‖tt)‖ebt(ssida‖rida‖tida‖tidb‖tt),并将该加密数据一并返回给la。

步骤三:la向lb发送认证请求。

收到tcc返回的数据后,la对其进行解密,得到tida、ridb、tidb、tt四个参数。如果时间戳tt满足新鲜性要求,则尝试与lb进行通信。如果建立连接,la将认证请求authreq‖ssida‖tida‖ebt(ssida‖tida‖ridb‖tidb‖t)发送给lb。

步骤四:lb验证认证请求并返回认证令牌。

4.1)收到认证请求后,lb对认证请求中的密文信息进行解密,得到ssida、tida和tt。如果时间戳tt满足新鲜性要求,则继续判断解密得到的ssida和tida与认证请求中的明文信息是否相同,如果相同,继续执行后续的操作;否则,终止认证,释放连接。

4.2)lb通过星载时钟获取时间戳tauth,基于获取的tauth和预置的mainkey,lb计算本次认证使用的authkey,authkey=fak(mainkey,tauth);lb生成一个一次性随机数rand,基于生成的rand和authkey,lb计算时间戳保护序列tk,tk=ftk(authkey,rand);lb通过星载时钟获取时间戳ttoken;合并rand、ttoken和ssidb后,lb计算消息验证码mac,mac=fmac(authkey,rand‖t‖ssid);随后,lb合并上述参数得到认证令牌token,

4.3)lb计算该token对应的会话密钥ck和预期响应xres,ck=fck(authkey,rand),xres=fres(ck,rand)。

4.4)计算完成后,lb存储ck和xres,并将tidb‖token返回给la。

步骤五:la验证认证令牌并返回响应值。

5.1)la首先判断认证信息中的tidb与tcc提供的tidb是否相同。如果相同,继续后面的验证操作;否则,认证失败,释放连接。la采用同样的方式生成authkey,并利用生成的authkey和token中的rand计算tk。使用tk恢复出token中的ttoken后,判断其是否满足新鲜性要求。如果满足,继续后续验证操作;否则,终止认证,释放连接。la利用生成的authkey和token中的rand、ttoken和ssidb,采用相同的方式计算消息验证码xmac。如果计算得到的xmac与token中的mac相等,完成对lb的认证;否则,认证失败,释放连接。

5.2)la采用同样的方法计算出ck和res。

5.3)la将res返回给lb。

步骤六:lb验证响应值。

收到res后,lb比较收到的res和存储的xres是否相等。如果相等,完成对la的认证;否则,结束认证。

认证完成后,双方即可使用会话密钥进行安全通信。

(2)两方认证协议

步骤一:la向lb发送认证令牌。

首先,卫星la对自身轨道参数进行校验。如果出现轨道摄动,放弃认证;如果参数正常,则根据轨道计算器给出的预测时间表寻找lb。如果在预估时间点无法与lb建立有效通信链路,放弃本次认证;如果通信链路正常建立,则将预计算得到的认证参数tida‖tokena一并发送给lb。

步骤二:lb验证该令牌并向la返回一个认证令牌。

收到认证请求后,lb判断请求中的tida与数据库中预计算得到的认证参数是否相同。如果相同,继续对认证令牌进行校验,如果对tokena的验证通过,返回预计算的参数tidb‖tokenb。

步骤三:la验证收到的认证令牌。

收到返回数据后,la采用相同的方法对其校验,如果验证通过,完成认证。

认证完成后,双方即可使用会话密钥ck进行安全通信该会话密钥由两个token中rand的共同生成,即ck=fck(authkey,randa‖randb)。

4、认证预计算

在本发明中,认证预计算的步骤对于将要认证的两颗卫星是相同的,所以在此不作区分。

步骤一:预计算认证所需临时身份tid。使用轨道计算器,卫星计算下次与目标卫星进行组网认证的时间点,得到ttid、tauth、ttoken三个时间参数。首先,卫星基于获取的tauth和预置的mainkey,预计算出下次认证应使用的认证密钥authkey。随后,卫星再通过获取的ttid和存储的rid,分别计算下次认证时,自身和对方应使用的临时身份tid,tid=ftid(authkey,ttid‖rid);

步骤二:预计算认证令牌token。通过tauth和衍生得到的authkey。卫星采用相同的方式生成下次认证需要用到的认证令牌token。

具体实施方法

上述认证参数的计算可以通过国密密码算法进行实现。其中,认证密钥authkey的计算可以使用sm3-hmac,将认证时间作为数据,主密钥mainkey作为hmac的计算密钥;认证令牌token中的mac值可以使用sm4-ctr模式进行计算;临时身份tid可以使用sm3进行计算。

采用上述方式进行仿真验证时,各阶段通信次数统计如下:三方认证协议共需要五次数据交互,其中星间通信三次;两方认证协议共需要星间通信两次。各阶段计算开销统计如下:三方认证协议需要卫星进行的计算包括分组加解密四次,哈希计算两次,字符串比较三次;两方认证协议需要卫星进行的计算包括分组加解密两次,字符串比较两次。

由上分析可知,在完成初始身份认证后,通过预计算机制,本发明能够有效减少卫星再次进行身份认证时的计算开销。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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