一种卫星组网会话密钥的协商方法及装置与流程

文档序号:17548462发布日期:2019-04-30 18:02阅读:187来源:国知局
一种卫星组网会话密钥的协商方法及装置与流程

本发明涉及卫星组网领域,特别涉及一种卫星组网会话密钥的协商方法及装置。



背景技术:

随着卫星系统种类的迅速增加和功能的日益完善,空间通信系统从高轨单星模式,逐步发展到卫星组网模式。卫星组网是由数量庞大的同轨道上的卫星(低轨多星星座)或者不同轨道上的多类型卫星(包括高轨卫星和低轨卫星)、与地面站组成天地一体化网络。

为了保障整个空间通信网络安全,参与卫星组网的各天基、地基网络节点之间均需建立端到端的空间安全传输通道,这就需要在不同节点间协商会话密钥,以对会话进行加密。当前,ccsds(consultativecommitteeforspacedatasystems,国际空间数据系统咨询委员会)制定的一系列空间安全传输协议及标准中并未规定具体的密钥协商方法,而我国由于卫星通信系统建设尚处于由“天星地站”向“天网地网融合”的过渡期,现有卫星通信加密技术多是针对已有的高轨单星通信系统。在高轨单星通信系统中,一般采用基于预置共享密钥的会话密钥协商方法。该方法包括,首先,在需要互联的两个节点间预置一个共享密钥,通过该共享密钥先完成双方的互认证。整个互认证的过程通过该共享密钥加密,确保认证安全。而在互认证的过程中,除了通过认证确认对方合法身份外,还协商会话密钥的生成方式。其次,在完成互认证后,双方基于协商的会话密钥的生成方式,分别生成双方会话密钥。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:若在卫星数量成百上千的大型卫星组网中沿用该方法,会带来以下问题:问题一、由于每个卫星节点均需分别配置该节点与其它组网节点间的预置共享密钥,因此,将占用大量星上存储资源;问题二、在网络中添加或调整任意节点,均需要对全网所有星上密钥进行更新,为卫星网络的扩展和升级带来困难。



技术实现要素:

本发明实施例提供了一种卫星组网会话密钥的协商方法及装置,能够节省大量星上存储资源、以及利于卫星网络的扩展和升级。所述技术方案如下:

第一方面,提供了一种卫星组网会话密钥的协商方法,所述方法包括:

第一节点向第二节点发送密钥协商请求,所述请求包括所述第一节点的当前密钥版本标识和前次密钥版本标识、所述第一节点生成的认证参数和所述第一节点的标识;

接收所述第二节点发送的密钥协商响应,所述密钥协商响应是所述第二节点接收所述密钥协商请求并基于所述第一节点的当前密钥版本标识和前次密钥版本标识确定所述第二节点的对称密钥基,基于所述第一节点的标识和所述第二节点的对称密钥基确定所述第一节点与所述第二节点的共享密钥、以及生成第一会话参数后发送的,所述密钥协商响应包括所述第二节点的当前密钥版本标识和前次密钥版本标识、所述第二节点的标识、以及通过所述共享密钥加密后的认证参数和第一会话参数,所述第二节点的对称密钥基是基于所述第二节点的标识生成的;

基于所述第二节点的当前密钥版本标识和前次密钥版本标识确定所述第一节点的对称密钥基,基于所述第二节点的标识和所述第一节点的对称密钥基,确定所述共享密钥,通过所述共享密钥对所述加密后的认证参数和第一会话参数进行解密,在解密后的认证参数与所述第一节点生成的认证参数一致时,生成第二会话参数,向所述第二节点发送认证通过信息,并基于所述第一会话参数和所述第二会话参数生成会话密钥,所述认证通过信息包括通过所述共享密钥加密后的第一会话参数和第二会话参数,所述第一节点的对称密钥基是基于所述第一节点的标识生成的,所述认证通过信息用于指示所述第二节点在接收所述认证通过信息之后,通过所述共享密钥对所述加密后的第一会话参数和第二会话参数进行解密,在解密后的第一会话参数与所述第二节点生成的第一会话参数一致时,基于所述第一会话参数和所述第二会话参数生成所述会话密钥。

基于第一方面,在第一方面的一种实施方式中,在所述第一节点向第二节点发送密钥协商请求之前,所述方法还包括:

接收控制节点发送的对称密钥基指令,所述对称密钥基指令包括密钥版本标识、以及与密钥版本标识对应的第一节点的对称密钥基组,所述第一节点的对称密钥基组包括至少一个第一节点的对称密钥基。

基于第一方面的一种实施方式,在又一种实施方式中,所述基于所述第二节点的标识和所述第一节点的对称密钥基,确定所述共享密钥,包括:

基于所述第一节点的当前密钥版本标识和前次密钥版本标识,确定所述第一节点的对称密钥基组,当所述第一节点的当前密钥版本标识和前次密钥版本标识分别与所述第二节点的当前密钥版本标识和前次密钥版本标识一致时,确定所述第一节点的对称密钥基为,所述第一节点的当前密钥版本标识对应的所述第一节点的对称密钥基组中的对称密钥基,当所述第一节点的当前密钥版本标识和前次密钥版本标识中有一个密钥版本标识与所述第二节点的当前密钥版本标识或所述第二节点的前次密钥版本标识一致时,确定所述第一节点的对称密钥基为,与所述第二节点的当前密钥版本标识或所述第二节点的前次密钥版本标识一致的密钥版本标识对应的第一节点的对称密钥基组中的对称密钥基;

基于确定的对称密钥基组中的对称密钥基和所述第二节点的标识,生成所述共享密钥。

基于第一方面的一种实施方式,在又一种实施方式中,当所述第一节点的对称密钥基组包括2个及以上所述第一节点的对称密钥基时,所述基于所述第二节点的标识和所述第一节点的对称密钥基,确定所述共享密钥,包括:

基于所述第二节点的标识和所述第一节点的对称密钥基,确定n个子密钥,n个子密钥中第k个子密钥是基于所述第二节点的标识和所述第一节点的对称密钥基组中第k个对称密钥基生成的,n和k均为正整数,n大于或等于2,k小于或等于n;

将所述n个子密钥相加,得到所述共享密钥。

第二方面,提供了一种卫星组网会话密钥的协商方法,所述方法包括:

第二节点接收第一节点发送的密钥协商请求,所述请求包括所述第一节点的当前密钥版本标识和前次密钥版本标识、所述第一节点生成的认证参数和所述第一节点的标识;

在所述密钥协商请求的指示下,向所述第一节点发送密钥协商响应,所述密钥协商响应是在基于所述第一节点的当前密钥版本标识和前次密钥版本标识确定所述第二节点的对称密钥基,基于所述第一节点的标识和所述第二节点的对称密钥基,确定所述第一节点与所述第二节点的共享密钥、以及生成第一会话参数之后发送的,所述第二节点的对称密钥基是基于所述第二节点的标识生成的,所述密钥协商响应包括所述第二节点的当前密钥版本标识和前次密钥版本标识、所述第二节点的标识、以及通过所述共享密钥加密后的认证参数和第一会话参数,所述密钥协商响应用于,指示所述第一节点基于所述第二节点的当前密钥版本标识和前次密钥版本标识确定所述第一节点的对称密钥基,基于所述第二节点的标识和所述第一节点的对称密钥基,确定所述共享密钥,通过所述共享密钥对所述加密后的认证参数和第一会话参数进行解密,在解密后的认证参数与所述第一节点生成的认证参数一致时,生成第二会话参数,向所述第二节点发送认证通过信息,并基于所述第一会话参数和所述第二会话参数生成会话密钥,所述认证通过信息包括通过所述共享密钥加密后的第一会话参数和第二会话参数,所述第一节点的对称密钥基是基于所述第一节点的标识生成的;

接收所述认证通过信息,并通过所述共享密钥对所述加密后的第一会话参数和第二会话参数进行解密,在解密后的第一会话参数与所述第二节点生成的第一会话参数一致时,基于所述第一会话参数和所述第二会话参数生成所述会话密钥。

第三方面,提供了一种卫星组网会话密钥的协商方法,所述方法包括:

第一节点在生成第三会话参数后,向第二节点发送密钥协商请求,所述请求包括所述第一节点的标识和通过共享密钥加密后的第三会话参数,所述共享密钥为所述第一节点基于所述第二节点的标识和所述第一节点的对称密钥基生成的,所述第一节点的对称密钥基是基于所述第一节点的标识生成的;

接收所述第二节点发送的密钥协商响应,所述密钥协商响应包括所述第二节点的标识、以及通过所述共享密钥加密后的第三会话参数和第四会话参数,对所述第三会话参数和所述第四会话参数进行加密的共享密钥是所述第二节点基于所述第一节点的标识和所述第二节点的对称密钥基生成的,所述共享密钥加密后的第三会话参数和第四会话参数,是所述第二节点通过本节点生成的共享密钥解密得到所述第三会话参数并生成所述第四会话参数后加密得到,所述第二节点的对称密钥基是基于所述第二节点的标识生成的;

通过所述共享密钥对所述加密后的第三会话参数和第四会话参数进行解密,在解密后的第三会话参数与所述第一节点生成的第三会话参数一致时,基于所述第三会话参数和所述第四会话参数生成会话密钥,并向所述第二节点发送认证通过信息,所述认证通过信息包括通过所述共享密钥加密后的第三会话参数和第四会话参数,所述认证通过信息用于指示所述第二节点在接收所述认证通过信息之后,通过所述共享密钥对所述加密后的第三会话参数和第四会话参数进行解密,在解密后的第四会话参数与所述第二节点生成的第四会话参数一致时,基于解密后的第三会话参数和第四会话参数生成所述会话密钥。

第四方面,提供了一种卫星组网会话密钥的协商方法,所述方法包括:

第二节点接收第一节点发送的密钥协商请求,所述请求是所述第一节点生成第三会话参数后向所述第二节点发送的,所述请求包括所述第一节点的标识和通过共享密钥加密后的第三会话参数,所述共享密钥为所述第一节点基于所述第二节点的标识和所述第一节点的对称密钥基生成的,所述第一节点的对称密钥基是基于所述第一节点的标识生成的;

基于所述第一节点的标识和所述第二节点的对称密钥基,确定所述共享密钥,通过确定的共享密钥对加密后的第三会话参数进行解密,并生成第四会话参数,所述第二节点的对称密钥基是基于所述第二节点的标识生成的;

向所述第一节点发送密钥协商响应,所述密钥协商响应包括所述第二节点的标识、以及通过所述共享密钥加密后的第三会话参数和第四会话参数,所述密钥协商响应用于指示,所述第一节点通过所述共享密钥对所述加密后的第三会话参数和第四会话参数进行解密,在解密后的第三会话参数与所述第一节点生成的第三会话参数一致时,基于所述第三会话参数和所述第四会话参数生成会话密钥并向所述第二节点发送认证通过信息,所述认证通过信息包括通过所述共享密钥加密后的第三会话参数和第四会话参数;

接收所述认证通过信息,通过所述共享密钥对所述加密后的第三会话参数和第四会话参数进行解密,在解密后的第四会话参数与所述第二节点生成的第四会话参数一致时,基于所述第三会话参数和所述第四会话参数生成所述会话密钥。

第五方面,提供了一种卫星组网会话密钥的协商装置,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现第一方面所述的卫星组网会话密钥的协商方法所执行的操作。

第六方面,提供了一种卫星组网会话密钥的协商装置,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现第二方面所述的卫星组网会话密钥的协商方法所执行的操作。

第七方面,提供了一种卫星组网会话密钥的协商装置,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现第三方面所述的卫星组网会话密钥的协商方法所执行的操作。

本发明实施例提供的技术方案带来的有益效果是:通过第一节点将第一节点的当前密钥版本标识和前次密钥版本标识、第一节点的标识和认证参数发送给第二节点,第二节点首先基于第一节点的当前密钥版本标识和前次密钥版本标识确定第二节点的对称密钥基,第二节点的对称密钥基是基于第二节点的标识生成的,再基于第一节点的标识和第二节点的对称密钥基生成共享密钥,这样,第二节点中仅需要存储对称密钥基就能够确定共享密钥;第二节点生成第一会话参数,并向第一节点发送第二节点的当前密钥版本标识和前次密钥版本标识、第二节点的标识、以及共享密钥加密后的第一会话参数和认证参数,类似地,第一节点首先基于第二节点的当前密钥版本标识和前次密钥版本标识确定第一节点的对称密钥基,再基于第二节点的标识和第一节点的对称密钥基生成共享密钥,且第一节点的对称密钥基是基于第一节点的标识生成的,这样,第一节点中也仅需要存储对称密钥基就能够确定共享密钥;第一节点通过共享密钥解密加密后的第一会话参数和认证参数,当认证参数与第一节点生成的认证参数一致时,生成第二会话参数并通过共享密钥对第一会话参数和第二会话参数进行加密后发送给第二节点,第一节点和第二节点分别通过第一会话参数和第二会话参数得到会话密钥,并且第一节点和第二节点仅需存储自身的对称密钥基,不需要存储和其他组网节点间的预置共享密钥,可节省星上存储空间。同时,由于共享密钥是基于对称密钥基和节点的标识生成的,在网络中添加或调整任意节点时,仅需要为添加或调整的节点分配新的对称密钥基,不需要更换其他节点的对称密钥基,这样,方便卫星网络的扩展和升级。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1-图3均是本发明实施例提供的一种卫星组网会话密钥的协商方法的流程图;

图4是本发明实施例提供一种卫星组网会话密钥的协商装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1示出了本发明实施例提供的一种卫星组网会话密钥的协商方法。参见图1,该方法流程包括如下步骤。

步骤101、第一节点向第二节点发送密钥协商请求。

其中,第二节点接收该密钥协商请求,密钥协商请求包括:第一节点的当前密钥版本标识和前次密钥版本标识、第一节点生成的认证参数和第一节点的标识。

步骤102、第二节点在密钥协商请求的指示下,基于第一节点的当前密钥版本标识和前次密钥版本标识确定第二节点的对称密钥基,基于第一节点的标识和第二节点的对称密钥基,确定第一节点与第二节点的共享密钥,并生成第一会话参数。

其中,第二节点的对称密钥基是基于第二节点的标识生成的。第二节点通过确定的共享密钥对密钥协商请求携带的认证参数和生成的第一会话参数进行加密,得到通过共享密钥加密后的认证参数和第一会话参数。

步骤103、第二节点向第一节点发送密钥协商响应。

其中,第一节点接收第二节点发送的密钥协商响应。密钥协商响应包括:第二节点的当前密钥版本标识和前次密钥版本标识、第二节点的标识、以及通过共享密钥加密后的认证参数和第一会话参数。

步骤104、第一节点在密钥协商响应的指示下,基于第二节点的当前密钥版本标识和前次密钥版本标识确定第一节点的对称密钥基,基于第二节点的标识和第一节点的对称密钥基,确定共享密钥,并通过共享密钥对加密后的认证参数和第一会话参数进行解密。

其中,第一节点的对称密钥基是基于第一节点的标识生成的。

步骤105、第一节点比较解密后的认证参数与第一节点生成的认证参数。

在解密后的认证参数与第一节点生成的认证参数一致时,执行步骤106。在解密后的认证参数与第一节点生成的认证参数不一致时,认证失败,退出本次流程。

步骤107、第一节点生成第二会话参数,向第二节点发送认证通过信息,并基于第一会话参数和第二会话参数生成会话密钥。

其中,第二节点接收认证通过信息,该认证通过信息包括通过共享密钥加密后的第一会话参数和第二会话参数。

步骤108、第二节点在认证通过信息的指示下,通过共享密钥对加密后的第一会话参数和第二会话参数进行解密,在解密后的第一会话参数与第二节点生成的第一会话参数一致时,基于第一会话参数和第二会话参数生成会话密钥。

本发明实施例通过第一节点将第一节点的当前密钥版本标识和前次密钥版本标识、第一节点的标识和认证参数发送给第二节点,第二节点首先基于第一节点的当前密钥版本标识和前次密钥版本标识确定第二节点的对称密钥基,第二节点的对称密钥基是基于第二节点的标识生成的,再基于第一节点的标识和第二节点的对称密钥基生成共享密钥,这样,第二节点中仅需要存储对称密钥基就能够确定共享密钥;第二节点生成第一会话参数,并向第一节点发送第二节点的当前密钥版本标识和前次密钥版本标识、第二节点的标识、以及共享密钥加密后的第一会话参数和认证参数,类似地,第一节点首先基于第二节点的当前密钥版本标识和前次密钥版本标识确定第一节点的对称密钥基,再基于第二节点的标识和第一节点的对称密钥基生成共享密钥,且第一节点的对称密钥基是基于第一节点的标识生成的,这样,第一节点中也仅需要存储对称密钥基就能够确定共享密钥;第一节点通过共享密钥解密加密后的第一会话参数和认证参数,当认证参数与第一节点生成的认证参数一致时,生成第二会话参数并通过共享密钥对第一会话参数和第二会话参数进行加密后发送给第二节点,第一节点和第二节点分别通过第一会话参数和第二会话参数得到会话密钥,并且第一节点和第二节点仅需存储自身的对称密钥基,不需要存储和其他组网节点间的预置共享密钥,可节省星上存储空间。同时,由于共享密钥是基于对称密钥基和节点的标识生成的,在网络中添加或调整任意节点时,仅需要为添加或调整的节点分配新的对称密钥基,不需要更换其他节点的对称密钥基,这样,方便卫星网络的扩展和升级。此外,当控制节点在线更新全网中各个节点的对称密钥基时,为防止各卫星或地面站无法同步更新对称密钥基导致网络通信服务中断,令各节点同时保存新旧两个对称密钥基组及其对应密钥版本标识。这样,两个节点(卫星与地面站)进行密钥协商时,需发送密钥版本标识进行版本同步,确保两者采用同版本的对称密钥基生成共享密钥,实现了星上密钥的在线更新,利于卫星网络的扩展的升级,还提升了系统的安全性,且避免密钥更新期间通信服务中断。

图2示出了本发明实施例提供的一种卫星组网会话密钥的协商方法。参见图2,该方法流程包括如下步骤。

步骤201、控制节点向参与卫星组网的各个节点发送相应的对称密钥基指令。

示例性地,参与卫星组网的节点是地球的卫星或者位于地球的地面站。控制节点可以是位于地球的地面站,该地面站可以是参与卫星组网的节点之一。本步骤201可以包括如下步骤2011-步骤2013。

步骤2011、控制节点生成各个节点相应的对称密钥基。

下面介绍对称密钥基的一示例性生成方式,该方式包括如下步骤。

第一步、控制节点采用不可约多项式生成有限域gf(2s)。

其中,s为不可约多项式中的最高阶次。示例性地,不可约多项式是g(x)=x16+x10+x7+x2+x+1。这时,s=16,对应有限域gf(2s)。

其中,不可约多项式中的最高阶次s可根据节点的实际数量增加或减少。例如,当s=16时,有限域gf(2s)最多可满足为216个节点生成对称密钥基。

第二步、控制节点随机生成有限域gf(2s)上的p阶对称矩阵d。

其中,p阶对称矩阵d表示,对称矩阵d包括p行p列元素,p≤2s

第三步、控制节点基于对称矩阵d的阶数和各个节点的标识,生成各个节点的对称密钥基。

其中,各个节点的标识可以由控制节点在组网之前分配。示例性地,各个节点的标识均可以为s位二进制数。

示例性地,假设第一节点和第二节点的标识分别为x和y,控制节点可以按照如下式子(1)和(2)分别生成这两个节点x、y的对称密钥基f(x)和f(y)。

f(x)=(xp,xp-1,……,x)d……(1)

f(y)=(yp,yp-1,……,y)d……(2)

第一节点可以按照如下式子(3)生成密钥kx。

kx=f(x)(yp,yp-1,……,y)t=(xp,xp-1,……,x)d(yp,yp-1,……,y)t……(3)

第二节点可以按照如下式子(4)生成密钥ky。

ky=f(y)(xp,xp-1,……,x)t=(yp,yp-1,……,y)d(xp,xp-1,……,x)t……(4)

由对称矩阵d的对称性可知,kx=ky。因此,可将k=kx=ky作为第一节点和第二节点间的共享密钥。也即,第一节点基于本节点的对称密钥基、以及第二节点的标识,生成第一节点与第二节点之间的共享密钥。类似地,第二节点基于本节点的对称密钥基、以及第一节点的标识,生成第一节点与第二节点之间的共享密钥。

按照式子(3)或(4)生成的共享密钥k长度为s位,若所需密钥长度大于s位,可通过多个对称密钥基扩展共享密钥长度。示例性地,假设s=16,而所需共享密钥长度为128;这时,控制节点可随机生成8个对称矩阵d1、d2、……、d8,8个对称矩阵d1、d2、……、d8中每个对称矩阵的阶数均为p。通过这8个矩阵生成各个节点的8个对称密钥基,8个对称密钥基中各个对称密钥基的生成方式与式子(3)或(4)相同。在密钥协商时,通过以下式子(5)生成子密钥k1、k2、……、k8。

km=(yp,yp-1,……,y)dm(xp,xp-1,……,x)t,1≤m≤8……(5)

将k1、k2、……、k8相加得到128位长度的共享密钥。

当对称矩阵d的阶数为p时,可证明当攻击者不能同时获取p个或p个以上节点的对称密钥基的情况下,将不能破译出对称矩阵d,这样,可确保其它未泄露节点间密钥安全。示例性的,对于一个由m个节点组成的卫星网络,若取p=m/2,则卫星网络中半数以下节点对称密钥基泄露不会影响其它未泄露对称密钥基的安全。在该情况下,当共享密钥长度为n位时,每个节点需存储n/s个密钥基(即每个子密钥的长度为s位);加上若各个节点的标识均为s位二进制数,每个密钥基长度为ps=ms/2,则每个卫星或地面站需存储的对称密钥基数据长度为(n/s)×(ms/2)=nm/2位。而若采用现有卫星组网解决思路,基于预置共享密钥实现两两间密钥协商,每个节点需存储的与其它组网节点间预置共享密钥数据总长度为n×(m-1)位,相比于本方法中的nm/2位,现有的方法中预置共享密钥数据总长度约为本方法的2倍。可见,采用对称密钥基生成共享密钥的方式,能够节省大量星上存储空间。

需要说明的是,前述8个对称密钥基,可以构成一个对称密钥基组,并分配给各个节点。

步骤2012、控制节点基于各个节点相应的对称密钥基,生成各个节点的对称密钥基指令。

其中,对称密钥基指令包括密钥版本标识、以及与密钥版本标识对应的相应节点的对称密钥基组。

控制节点可以周期性地更新对称矩阵,并更新全网各个节点的对称密钥基组。为区别对称密钥基组的每次更新,控制节点为对称密钥基组设置密钥版本标识。需要说明的是,不同密钥版本标识对应不同的对称密钥基组。

步骤2013、控制节点向参与卫星组网的各个节点发送相应的对称密钥基指令。

其中,卫星组网的各个节点接收相应的对称密钥基指令。

示例性地,对称密钥基指令包括密钥版本标识、以及与密钥版本标识对应的相应节点的对称密钥基组。相应节点的对称密钥基组包括至少一个该节点的对称密钥基。例如,第一节点对应的对称密钥基指令包括密钥版本标识、以及密钥版本标识对应的第一节点的对称密钥基组;第一节点的对称密钥基组包括至少一个第一节点的对称密钥基。又如,第二节点对应的对称密钥基指令包括密钥版本标识、以及与密钥版本标识对应的第二节点的对称密钥基组。第二节点的对称密钥基组包括至少一个第二节点的对称密钥基。

步骤202、第一节点向第二节点发送密钥协商请求。

其中,密钥协商请求包括:第一节点的当前密钥版本标识和前次密钥版本标识、第一节点生成的认证参数和第一节点的标识。示例性地,第一节点通过随机数发生器生成随机数(假设为ra)作为认证参数。

第二节点接收第一节点发送的密钥协商请求。

步骤203、第二节点基于第一节点的当前密钥版本标识和前次密钥版本标识确定第二节点的对称密钥基,并基于第一节点的标识和第二节点的对称密钥基,确定第一节点与第二节点的共享密钥。

示例性地,步骤203包括如下步骤。

第一步、确定第二节点的当前密钥版本标识和前次密钥版本标识,并基于第一节点的当前密钥版本标识和前次密钥版本标识,确定第一节点的对称密钥基组。

示例性地,当第一节点的当前密钥版本标识和前次密钥版本标识分别与第二节点的当前密钥版本标识和前次密钥版本标识一致时,确定第一节点的对称密钥基为,第一节点的当前密钥版本标识对应的第一节点的对称密钥基组中的对称密钥基;当第一节点的当前密钥版本标识和前次密钥版本标识中有一个密钥版本标识与第二节点的当前密钥版本标识或第二节点的前次密钥版本标识一致时,确定第一节点的对称密钥基为,与第二节点的当前密钥版本标识或第二节点的前次密钥版本标识一致的密钥版本标识对应的第一节点的对称密钥基组中的对称密钥基。

第二步、基于确定的对称密钥基组中的对称密钥基和第一节点的标识,生成第一节点与第二节点的共享密钥。

当第二节点的对称密钥基组包括1个第二节点的对称密钥基时,第二节点按照式子(4)生成共享密钥。

当所需共享密钥的长度比较长时,一般需将其长度扩展后使用。基于此,本实施例通过设置多个对称密钥基增加共享密钥的长度,满足实际需求。当第二节点的对称密钥基组包括2个及以上第二节点的对称密钥基时,第二节点生成共享密钥的流程包括如下步骤a和步骤b。

步骤a、第二节点基于第一节点的标识和第二节点的对称密钥基,确定n个子密钥。

其中,子密钥的确定方式可以参照式子(4)。

步骤b、第二节点将n个子密钥相加,得到共享密钥。

步骤204、第二节点生成第一会话参数,并通过共享密钥对认证参数和第一会话参数进行加密。

示例性地,第二节点可以通过随机数发生器生成随机数(假设为rb)作为第一会话参数。

示例性地,第二节点可以采用对称加密算法和共享密钥对认证参数和第一会话参数进行加密。

步骤205、第二节点向第一节点发送密钥协商响应。

其中,密钥协商响应包括:第二节点的当前密钥版本标识和前次密钥版本标识、第二节点的标识、以及加密后的认证参数和第一会话参数,第二节点的对称密钥基是基于第二节点的标识生成的。

第一节点接收第二节点发送的密钥协商响应。

步骤206、第一节点基于第二节点的当前密钥版本标识和前次密钥版本标识确定第一节点的对称密钥基,并基于第二节点的标识和第一节点的对称密钥基,确定第一节点与第二节点的共享密钥。

其中,确定第一节点与第二节点的共享密钥的方式包括如下步骤。

第一步、基于第一节点的当前密钥版本标识和前次密钥版本标识,确定第一节点的对称密钥基组。

其中,当第一节点的当前密钥版本标识和前次密钥版本标识分别与第二节点的当前密钥版本标识和前次密钥版本标识一致时,确定第一节点的对称密钥基为,第一节点的当前密钥版本标识对应的第一节点的对称密钥基组中的对称密钥基;当第一节点的当前密钥版本标识和前次密钥版本标识中有一个密钥版本标识与第二节点的当前密钥版本标识或第二节点的前次密钥版本标识一致时,确定第一节点的对称密钥基为,与第二节点的当前密钥版本标识或第二节点的前次密钥版本标识一致的密钥版本标识对应的第一节点的对称密钥基组中的对称密钥基。

第二步、基于确定的对称密钥基组中的对称密钥基和第二节点的标识,生成共享密钥。

示例性地,共享密钥的生成方式包括:当第一节点的对称密钥基组包括1个第一节点的对称密钥基时,第一节点按照式子(3)生成共享密钥。当第一节点的对称密钥基组包括2个及以上第一节点的对称密钥基时,首先,基于第二节点的标识和第一节点的对称密钥基,确定n个子密钥,n个子密钥中第k个子密钥是基于第二节点的标识和第一节点的对称密钥基组中第k个对称密钥基生成的,n和k均为正整数,n大于或等于2,k小于或等于n;其次,将n个子密钥相加,得到共享密钥。

需要说明的是,本步骤206与步骤203类似,其更为详细的介绍请参见步骤203。

步骤207、第一节点通过共享密钥对加密后的认证参数和第一会话参数进行解密,并比较解密后的认证参数与第一节点生成的认证参数。

示例性地,第一节点采用对称解密算法和共享密钥对加密后的认证参数和第一会话参数进行解密。在解密后的认证参数与第一节点生成的认证参数一致时,表明第二节点通过认证,执行步骤208。在解密后的认证参数与第一节点生成的认证参数不一致时,表明第二节点未通过认证,退出本次流程。

步骤208、第一节点生成第二会话参数,并通过共享密钥对第一会话参数和第二会话参数进行加密。

示例性地,第一节点可以通过随机数发生器生成随机数(假设为rc)作为第一会话参数。在生成第二会话参数之后,第一节点采用对称加密算法和共享密钥对第一会话参数和第二会话参数进行加密。

步骤209、第一节点向第二节点发送认证通过信息,并基于第一会话参数和第二会话参数生成会话密钥。

其中,该认证通过信息包括加密后的第一会话参数和第二会话参数。

第二节点接收第一节点发送的认证通过信息。

步骤210、第二节点通过共享密钥对加密后的第一会话参数和第二会话参数进行解密,并比较解密后的第一会话参数与第二节点生成的第一会话参数。

在解密后的第一会话参数与第二节点生成的第一会话参数一致时,表明第一节点通过认证,执行步骤211。在解密后的第一会话参数与第二节点生成的第一会话参数一致时,表明第一节点未通过认证,退出本次流程。

步骤211、第二节点基于第一会话参数和第二会话参数生成会话密钥。

传统的预置共享密钥的方式,将引起在网络中添加或调整任意节点,均需要对全网所有星上密钥进行更新的问题,这不利于卫星网络的扩展和升级。同时,星上存储的密钥使用期限较长,往往会贯穿卫星设备全生命周期,降低了系统的安全性,而若要实现密钥在线更新,则难以解决星上密码资源更新不同步的问题,这会造成密钥更新期间通信服务中断。为了解决该问题,在本实施例中,当控制节点在线更新对称密钥基时,为防止各卫星或地面站无法同步更新对称密钥基导致网络通信服务中断,令各节点同时保存新旧两个对称密钥基组及其对应密钥版本标识。这样,两个节点(卫星与地面站)进行密钥协商时,需发送密钥版本标识进行版本同步,确保两者采用同版本的对称密钥基生成共享密钥,实现了星上密钥的在线更新,利于卫星网络的扩展的升级,还提升了系统的安全性,且避免密钥更新期间通信服务中断。

基于上述方法,下面介绍一示例性的应用场景。假设第一节点为卫星sata、第二节点为卫星satb。卫星sata、satb在得到地面控制站(即控制节点)分配的对称密钥基之后,双方将进行认证与密钥协商,该协商流程包含以下步骤。

步骤301:sata向satb发出密钥协商请求。

卫星sata通过随机数发生器prng()生成随机数ra作为认证参数,设sata新旧两个对称密钥基版本标识分别为na1及na2,sata将ra、自身标识ida、密钥版本标识集合va=na1||na2组成信息ida||va||ra作为密钥协商请求发送至satb。其中,na1为sata的前次密钥版本标识,na2为sata的当前密钥版本标识。

步骤302:satb向sata发送密钥协商响应。

satb收到sata的密钥协商请求后,将自身的全部密钥版本标识nb1(satb的前次密钥版本标识)、nb2(satb的当前密钥版本标识)与na1、na2进行对比,从双方相同版本标识中选取最新的版本标识,采用该版本标识对应的对称密钥基fb(y)和ida计算两节点间共享密钥kab=fb(ida),并由prng()生成随机数rb作为第一会话参数,利用kab和对称加密算法生成密文ekab(ra||rb)与satb密钥版本标识集合vb=nb1||nb2组成信息vb||ekab(ra||rb)作为密钥协商响应发送至sata。

步骤303:sata生成会话密钥,并向satb发送认证通过信息。

sata收到satb的密钥协商响应后,将satb密钥版本标识集合vb与va进行比对后选取适用的密钥版本标识,采用该版本标识对应的对称密钥基fa(y)和idb计算得到共享密钥kab=fa(idb)。利用kab对ekab(ra||rb)进行解密,得到ra、rb。验证ra的正确性,若正确则完成对satb身份的认证。再次生成随机数rc作为第二会话参数,将密文ekab(rb||rc)作为认证通过信息发送至satb。此外,同时利用rc与rb以及单向函数prf1()、prf2()生成两节点间会话加密密钥ck=prf1(rc||rb)和完整性保护密钥ik=prf2(rc||rb)。

步骤304:satb生成会话密钥。

satb收到sata的认证通过信息后,利用kab对ekab(rb||rc)进行解密,得到rb和rc,验证rb的正确性,若正确则完成对sata身份的认证。利用rc与rb以及单向函数prf1()、prf2()生成两节点间会话加密密钥ck=prf1(rc||rb)和完整性保护密钥ik=prf2(rc||rb),密钥协商完成。

图3示出了本发明实施例提供的一种卫星组网会话密钥的协商方法。与图1或图2示出的方法相比,本发明实施例提供的方法中,第一节点与第二节点在整个生命周期分别采用同一个对称密钥基,这样,在协商组网会话密钥时,不需要比对密钥版本标识,能够缩短协商流程,提高协商效率。参见图3,该方法流程包括以下步骤。

步骤401、第一节点在生成第三会话参数后,向第二节点发送密钥协商请求。

其中,该密钥协商请求包括第一节点的标识和通过共享密钥加密后的第三会话参数。该共享密钥为第一节点基于第二节点的标识和第一节点的对称密钥基生成的。第一节点的对称密钥基是基于第一节点的标识生成的。

第二节点接收第一节点发送的密钥协商请求。

步骤402、第二节点基于第一节点的标识和第二节点的对称密钥基,确定第一节点与第二节点的共享密钥,通过生成的共享密钥对加密后的第三会话参数进行解密得到第三会话参数,生成第四会话参数,并通过共享密钥对第三会话参数和第四会话参数进行加密。

其中,第二节点的对称密钥基是基于第二节点的标识生成的。

步骤403、第二节点向第一节点发送密钥协商响应。

其中,密钥协商响应包括第二节点的标识、以及通过共享密钥加密后的第三会话参数和第四会话参数。

第一节点接收密钥协商响应。

步骤404、第一节点通过共享密钥对通过共享密钥加密后的第三会话参数和第四会话参数进行解密,得到第三会话参数和第四会话参数,并比对生成的第三会话参数与解密得到的第三会话参数。

当生成的第三会话参数与解密得到的第三会话参数相同时,执行步骤405;当生成的第三会话参数与解密得到的第三会话参数不相同时,退出本次流程。

步骤405、第一节点基于第三会话参数和第四会话参数生成第一节点与第二节点的会话密钥,并向第二节点发送认证通过信息。

其中,认证通过信息包括通过共享密钥加密后的第三会话参数和第四会话参数。

第二节点接收认证通过信息。

步骤406、第二节点通过共享密钥对加密后的第三会话参数和第四会话参数进行解密,并比对解密后的第四会话参数与生成的第四会话参数。

在解密后的第四会话参数与第二节点生成的第四会话参数一致时,基于第三会话参数和第四会话参数生成会话密钥。在解密后的第四会话参数与第二节点生成的第四会话参数不一致时,退出本次流程。

需要说明的是,在本发明实施例中,对称密钥基的生成方式、以及共享密钥的生成方式、第三会话参数和第四会话参数的生成方式,请参见图2示出的方法中的详尽描述,在此不再赘述。

本发明实施例通过第一节点基于第二节点的标识和所述第一节点的对称密钥基生成共享密钥,并将第一节点的标识和通过共享密钥加密后的第三会话参数发送给第二节点,第一节点的对称密钥基是基于第一节点的标识生成的;第二节点基于第一节点和第二节点的对称密钥基生成共享密钥,且第二节点的对称密钥基是基于第二节点的标识生成的,解密得到第三会话参数,并生成第四会话参数,基于第三会话参数和第四会话参数生成第一节点与第二节点的会话密钥;第一节点接收第二节点发送的通过共享密钥加密后的第三会话参数和第四会话参数,并解密得到第三会话参数和第四会话参数;当解密后的第三会话参数与第一节点生成的第三会话参数一致时,基于所述第三会话参数和所述第四会话参数生成会话密钥,这样,第一节点和第二节点仅需存储自身的对称密钥基,不需要存储和其他组网节点间的预置共享密钥,可节省星上存储空间。同时,由于共享密钥是基于对称密钥基和节点的标识生成的,在网络中添加或调整任意节点时,仅需要为添加或调整的节点分配新的对称密钥基,不需要更换其他节点的对称密钥基,这样,方便卫星网络的扩展和升级。

图4示出了本发明实施例提供的一种卫星组网会话密钥的协商装置。该装置可能是服务器,位于地球或者地球卫星,具体来讲:

服务器1800包括中央处理单元(cpu)1801、包括随机存取存储器(ram)1802和只读存储器(rom)1803的系统存储器1804,以及连接系统存储器1804和中央处理单元1801的系统总线1805。服务器1800还包括用于存储操作系统1813、应用程序1814和其他程序模块1815的大容量存储设备1807。系统存储器1804和大容量存储设备1807可以统称为存储器。

大容量存储设备1807通过连接到系统总线1805的大容量存储控制器(未示出)连接到中央处理单元1801。大容量存储设备1807及其相关联的计算机可读介质为服务器1800提供非易失性存储。也就是说,大容量存储设备1807可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

根据本发明的各种实施例,服务器1800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1800可以通过连接在系统总线1805上的网络接口单元1811连接到网络1812,或者说,也可以使用网络接口单元1811来连接到其他类型的网络或远程计算机系统(未示出)。

在第一种实现方式中,上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。所述一个或者一个以上程序包含用于进行图1或图2示出的实施例提供的卫星组网会话密钥的协商方法中第一节点所执行的操作。

在第二种实现方式中,上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。所述一个或者一个以上程序包含用于进行进行图1或图2示出的实施例提供的卫星组网会话密钥的协商方法中第二节点所执行的操作。

在第三种实现方式中,上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。所述一个或者一个以上程序包含用于进行图3示出的实施例提供的卫星组网会话密钥的协商方法中第一节点所执行的操作。

在第四种实现方式中,上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。所述一个或者一个以上程序包含用于进行图3示出的实施例提供的卫星组网会话密钥的协商方法中第二节点所执行的操作。

需要说明的是,作为可选的实施方式,特别是当服务器1800为地面站时,服务器1800还可以包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)。基本输入/输出系统包括有用于显示信息的显示器和用于用户输入信息的诸如鼠标、键盘之类的输入设备。其中显示器和输入设备都通过连接到系统总线1805的输入输出控制器连接到中央处理单元1801。基本输入/输出系统还可以包括输入输出控制器以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器还提供输出到显示屏、打印机或其他类型的输出设备。

需要说明的是:上述实施例提供的卫星组网会话密钥的协商装置在实现卫星组网会话密钥的协商时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的卫星组网会话密钥的协商装置与卫星组网会话密钥的协商方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

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

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