掌桥专利:专业的专利平台
掌桥专利
首页

一种去中心化的卫星接入终端全过程认证方法与系统

文献发布时间:2024-04-18 20:00:25


一种去中心化的卫星接入终端全过程认证方法与系统

技术领域

本公开涉及区块链加密技术领域,尤其涉及一种去中心化的卫星接入终端全过程认证方法与系统。

背景技术

针对卫星网安全接入问题,目前的身份认证机制包括公钥基础设施体系,然而公钥基础设施体系存在认证过程开销大、证书颁发机构权利过大的问题。为解决公钥基础设施体系的弊端,基于地面控制中心的身份认证体系的核心在于将认证过程从卫星卸载到地面控制中心中,然而,这种集中式方式过于依赖地面控制中心,容易出现单点故障问题。为此,提出了一种基于密钥生成中心的身份认证体系,密钥生成中心负责生成密钥,而在认证过程中没有第三方参与;这种方案存在了很大的依赖性问题,太过于依赖密钥生成中心,并且在密钥生成中心中保存所有接入终端的公/私钥使得密钥生成中心权利过大。

因此,发明人针对上述现有技术中存在的问题进行研发改机,提出本公开。

发明内容

有鉴于此,本公开的目的在于提出一种去中心化的卫星接入终端全过程认证方法与系统,在认证过程中,卫星对接入终端的认证只发生在双方节点之间,而不依赖于任何第三方节点,一切所需的认证信息均通过区块链账本查询取得,能够实现认证过程的去中心化,用户隐私保护、消息防篡改、会话防窃听,同时引入区块链,将必要信息上链,从而降低认证流程开销。

基于上述目的,本公开在第一方面,提供的去中心化的卫星接入终端全过程认证方法,包括如下步骤:

所述方法应用于区块链网络,所述区块链网络包括区块链账本,所述区块链账本包括全部上链卫星和接入终端的身份标识及公钥信息,所述上链卫星包括第一卫星和第二卫星,所述方法包括:

所述接入终端判断待接入的所述第一卫星是否为首次接入,确认首次接入,向所述第一卫星发送第一接入请求;

所述第一卫星判断所述第一接入请求,确定所述接入终端为首次接入,生成与所述接入终端的会话密钥,将所述会话密钥发送至所述接入终端并建立连接;

所述接入终端判断待接入的所述第一卫星是否为首次接入,确认非首次接入,向所述第一卫星发送第二接入请求;

所述第一卫星判断所述第二接入请求,确定所述接入终端为非首次接入,利用所述第二接入请求提取与所述接入终端的会话密钥,并利用所述会话密钥建立与所述接入终端的连接;

所述第一卫星确定自身的运动轨迹远离所述接入终端的连接范围,决策为接入终端继续接入第二卫星,所述第二卫星与所述接入终端相互认证并建立与所述接入终端的连接。

在一些可选的实施例中,所述接入终端查询待接入的第一卫星,判断是否首次接入,包括,

所述接入终端接收所述第一卫星广播的第一卫星的身份标识;

利用所述第一卫星的身份标识查询本地是否具有与所述第一卫星的身份标识对应的会话密钥;

所述接入终端确定本地具有与所述第一卫星的会话密钥,则确定所述接入终端不是首次连接所述第一卫星;

所述接入终端确定本地不具有与所述第一卫星的会话密钥,则确定所述接入终端是首次连接所述第一卫星。

在一些可选的实施例中,所述确认首次接入,向所述第一卫星发送第一接入请求,包括,

所述接入终端接收所述第一卫星广播的身份标识;

利用所述第一卫星的身份标识从所述区块链账本中获取所述第一卫星的公钥信息;

利用所述第一卫星的身份标识,利用所述接入终端向所述第一卫星发送第一接入请求;所述第一接入请求表示为:M1=(StrictMode,H-IMSI,MacAddr,ID-S1,Sign(StrictMode,H-IMSI,MacAddr,ID-S1)),其中,StrictMode表示第一接入请求中的首次认证标识,H-IMSI表示SIM卡接入终端的IMSI标识的杂凑值,MacAddr表示接入终端的物理地址,Sign(t)表示使用发送方私钥对t进行的数字签名,ID-S1表示为第一卫星的身份标识。

在一些可选的实施例中,所述第一卫星判断所述第一接入请求,确定所述接入终端为首次接入,生成与所述接入终端的会话密钥,将所述会话密钥发送至所述接入终端并建立连接,包括:

所述第一卫星接收所述第一接入请求,查询所述区块链账本中所述接入终端的公钥信息;

利用所述接入终端的公钥信息验证所述第一接入请求中的数字签名;

判断所述数字签名中的第一卫星的身份标识是自身标识,生成会话密钥,并为所述会话密钥设定失效时间;

随机生成第一认证数;

发送具有所述会话密钥、失效时间、第一认证数以及所述会话密钥、失效时间、第一认证数的数字签名的第一信息至所述接入终端;

所述第一信息表示为:M2=(Enc),其中Enc表示使用接收方的公钥对t进行非对称加密,SessionKey表示会话密钥,ExpirationDate表示会话密钥失效时间,Rand1表示第一认证数。

在一些可选的实施例中,所述发送具有所述会话密钥、失效时间、第一认证数以及所述会话密钥、失效时间、第一认证数的数字签名的第一信息至所述接入终端之后,还包括:

所述接入终端利用自身的私钥解密所述第一信息;

利用所述第一卫星的公钥验证所述会话密钥、失效时间、第一认证数的数字签名;

响应于所述接入终端的私钥解密所述第一信息成功,且利用所述第一卫星的公钥验证所述会话密钥、失效时间、第一认证数的数字签名成功,利用所述接入终端保存所述会话密钥和失效时间,并向所述第一卫星发送第二信息;

所述第二信息表示为:M3=Enck(Rand2),Rand2表示第二认证数,Enck(t)表示使用会话密钥对t进行对称加密。

在一些可选的实施例中,向所述第一卫星发送第二信息之后,还包括:

所述第一卫星利用所述会话密钥对所述第二信息进行解密;

响应于所述解密后得到的第二信息中的第二认证数与所述第一认证数一致,则所述第一卫星与所述接入终端认证成功。

在一些可选的实施例中,所述确认非首次接入向所述第一卫星发送第二接入请求,包括:

所述接入终端接收所述第一卫星广播的身份标识;

利用所述第一卫星的身份标识从本地提取所述第一卫星的会话密钥及失效时间;

确定所述会话密钥未失效,利用所述会话密钥建立所述接入终端与所述第一卫星的连接;

确定所述会话密钥失效,生成新的会话密钥并设定新的失效时间,便共享所述第一卫星发送第二接入请求;

所述第二接入请求表示为:M=(NormalMode,H-IMSI,MacAddr,ID-S1,V,timestamp,Sign(NormalMode,H-IMSI,MacAddr,ID-S1,V,timestamp)),其中,NormalMode表示第二接入请求中携带的快速认证标志,H-IMSI表示SIM卡接入终端的IMSI标识的杂凑值,MacAddr表示接入终端的物理地址,ID-S1表示为第一卫星的身份标识,V表示新的会话密钥信息,timestamp表示第二接入请求的时间戳,Sign(t)表示使用发送方私钥对t进行的数字签名;其中,V=(Enc,NewExpirationDate),Enc表示使用接收方的公钥对t进行非对称加密,NewSessionKey表示新的会话密钥,NewExpirationDate表示新的会话密钥的失效时间。

在一些可选的实施例中,所述第一卫星判断所述第二接入请求,确定为非首次接入,利用所述第二接入请求提取与所述接入终端的会话密钥,并利用所述会话密钥建立与所述接入终端的连接,包括:

所述第一卫星获取所述第二接入请求中携带的快速认证标志;

根据所述第二接入请求查询所述区块链账本并获取所述接入终端的公钥信息,并确定所述区块链账本中存在所述接入终端连接所述第一卫星的认证记录;

利用所述接入终端的公钥信息验证所述新的认证信息中携带的数字签名;

利用所述第二接入请求的时间戳判断所述第二接入请求是否新鲜,确定所述第二接入请求新鲜,判断所述第二接入请求中的第一卫星的身份标识是否为自身标识;

确认所述第二接入请求中的第一卫星的身份标识为自身标识,利用自身的私钥解密所述新的会话密钥信息得到新的会话密钥,将所述新的会话密钥存储至本地,利用所述新的会话密钥连接所述接入终端。

在一些可选的实施例中,所述第一卫星确定自身的运动轨迹远离所述接入终端的连接范围,决策为接入终端继续接入第二卫星,所述第二卫星与所述接入终端相互认证并建立与所述接入终端的连接,包括:

所述第一卫星向所述接入终端加密发送预切换信息;

所述接入终端利用所述会话密钥解密所述预切换信息,估算自身的位置区间,并向所述第一卫星加密发送所述接入终端的位置信息M

所述第一卫星利用所述会话密钥解密所述位置信息,并获取所述上链卫星的运动轨迹和位置区间;

所述第一卫星利用所述接入终端的位置区间和所述上链卫星的运动轨迹和位置区间,决策出为所述接入终端提供服务的第二卫星并分别向所述接入终端和所述第二卫星发送第一反馈信息和第二反馈信息;

所述接入终端利用所述会话密钥解密所述第一反馈信息,得到所述第二卫星的身份标识,并从所述区块链账本获取第二卫星的公钥信息,计算并生成第二卫星的密钥信息,并向所述第二卫星发送切换信息;所述切换信息表示为:M

所述第二卫星解密所述第二反馈信息中卫星切换标识以及判断所述切换信息中的第二卫星的身份标识是否为自身标识;

所述第二卫星确定所述切换信息中的第二卫星的身份标识为自身标识,则第二卫星与所述接入终端接入成功,所述接入终端断开与所述第一卫星的接入。

在第二方面,基于同一发明构思,还公开一种去中心化的卫星接入终端全过程认证系统,所述系统包括区块链网络及与所述区块链网络连接的接入终端和上链卫星,所述区块链网络包括区块链账本,所述区块链账本包括全部上链卫星和接入终端的身份标识及公钥信息,所述上链卫星包括第一卫星和第二卫星;

所述接入终端,用于所述接入终端判断待接入的所述第一卫星是否为首次接入,确认首次接入,向所述第一卫星发送第一接入请求,确认非首次接入,向所述第一卫星发送第二接入请求;

所述第一卫星,用于判断所述接入终端是否为首次接入,确定为首次接入,生成与所述接入终端的会话密钥,将所述会话密钥发送至所述接入终端并建立连接;确认为非首次接入,利用所述第二接入请求提取与所述接入终端的会话密钥,并利用所述会话密钥建立与所述接入终端的连接;

所述第一卫星,还用于确定自身的运动轨迹远离所述接入终端的连接范围,决策为接入终端继续接入第二卫星;

所述第二卫星,用于与所述接入终端认证并替换所述第一卫星与所述接入终端连接。

从上面所述可以看出,本公开提供的去中心化的卫星接入终端全过程认证方法与系统,首先接入终端,在第一次接入卫星网之前需要生成认证过程所需的公私钥文件,私钥保存在本地,而后将接入终端的标识信息注册至区块链账本中;在认证过程中,卫星对接入终端的认证只发生在双方节点之间,而不依赖于任何第三方节点,一切所需的认证信息均通过区块链账本查询取得,能够实现认证过程的去中心化;

本方案通过引入区块链技术分布式存储接入终端及卫星的身份和公钥信息,接入终端和卫星在认证过程中可从账本中查询所需信息,提高认证过程中双方的交互效率,也使认证过程安全可信,卫星间可对彼此的认证结果达成共识。通过引入会话密钥有效期机制,以较低的本地维护成本代替频繁生成及共享会话密钥带来的计算和通信开销。

附图说明

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

图1为本公开实施例的认证方法的工作流程图;

图2为本公开实施例的认证方法的接入终端确认是否首次接入第一卫星流程图;

图3为本公开实施例的认证方法的接入终端向第一卫星发送第一接入请求的流程图;

图4为本公开实施例的认证方法的第一卫星向接入终端发送第一信息的流程图;

图5为本公开实施例的认证方法的接入终端处理第一信息流程图;

图6为本公开实施例的认证方法的接入终端向第一卫星发送第二接入请求流程图;

图7为本公开实施例的认证方法的第一卫星处理第二接入请求流程图;

图8为本公开实施例的认证方法的切换接入卫星的流程图;

图9为本公开实施例的认证系统示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

在具体描述本申请提供的一种基于区块链的卫星与接入终端身份认证方法及系统之前,首先描述本申请的应用场景和发明构思。

本发明提供一种去中心化的卫星接入终端全过程认证方法与系统。首先,接入终端,在第一次接入卫星网之前需要生成认证过程所需的公私钥文件,私钥保存在本地,而后将接入终端的标识信息注册至区块链账本中。在认证过程中,卫星对接入终端的认证只发生在双方节点之间,而不依赖于任何第三方节点,一切所需的认证信息均通过区块链账本查询取得,从而实现认证过程的去中心化。

本发明涉及非对称加密、数字签名和哈希加密的技术领域,先描述介绍本发明实施例所应用的相关技术和场景;

1、非对称加密

加密技术一般分为对称式加密以及非对称式加密两类。对称加密算法在加密和解密时使用的是同一个秘钥,对称加密算法需要考虑密钥的管理与分配,如何把密钥发送到需要解密你的消息的人的手里是一个问题;与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。非对称加密算法的特点是算法强度复杂,其安全性依赖于算法与密钥。由于其算法复杂,而使得加密解密的速度远远低于对称加密算法,因此不适用于数据量较大的情况。由于非对称加密算法有两种密钥,其中一个是公开的,所以在密钥传输上不存在安全性问题,使得其在传输加密数据的安全性上又高于对称加密算法。

2、数字签名

数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生,作为保障网络信息安全的手段之一,可以解决伪造、抵赖、冒充和篡改问题。发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用发送方的私钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再公钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该报文是发送方的。为防止认证过程中的消息篡改,接收方需要能够验证消息的正确性。

3、哈希加密

哈希加密被认为是单向函数,也就是说极难由散列函数输出的结果,回推输入的数据是什么。哈希加密函数的输入数据,通常被称为消息(message),而它的输出结果通常被称为摘要(digest)。

一个理想的密码散列函数通常具有以下三个特性:(1)单向性:极难由一个已知的散列数值,推算出原始的消息。(2)唯一性:在不改动散列数值的前提下,修改消息内容是不可行的。(3)抗碰撞性:对于两个不同的消息,它不能给与相同的散列数值。

本发明实施例所描述的符号和缩写包括:

ID-S1:第一卫星的身份标识;

ID-S2:第二卫星的身份标识;

S_pk:第一卫星的公钥信息;

S_sk:第一卫星的私钥;

T_pk:接入终端的公钥信息;

T_sk:接入终端的私钥;

IMSI:SIM卡唯一标识;

MacAddr:接入终端的物理地址;

SessionKey:用于两节点通信加密的会话密钥;

H-IMSI:IMSI的哈希值,也是SIM卡接入终端的IMSI标识的杂凑值;

Enc:接收方使用公钥对t进行非对称加密;

Enck:使用会话密钥对t进行对称加密;

Sign(t):使用发送方私钥对t进行数字签名。

基于考虑到针对卫星网安全接入问题,目前的身份认证机制包括PKI公私钥体系,然而PKI体系存在认证过程开销大、证书颁发机构权利过大的问题。为解决PKI体系的弊端,基于NCC(地面控制中心)的身份认证体系的核心在于将认证过程从卫星卸载到NCC中,然而,这种集中式方式过于依赖NCC,容易出现单点故障问题。为此,提出了一种基于KGC(密钥生成中心)的身份认证体系,KGC负责生成密钥,而在认证过程中没有第三方参与。但是,这种方案仍然存在依赖性问题,在KGC中保存所有接入终端的公/私钥使得KGC权利过大。

结合图9所示,本发明的应用场景是在上链卫星组与接入终端中进行身份认证的信息传递和交互,并且同时与区块链模块的每个区块之间进行查询和写入的信息交互进行身份认证的识别与交互,进而保证不依赖于任何第三方节点,一切所需的认证信息均通过区块链账本查询取得,能够实现认证过程的去中心化,将必要信息上链,降低认证流程开销,提高用户信息的安全性。

因此,本发明实施例提出一种基于区块链实现认证过程的去中心化的卫星与SIM卡接入终端身份认证方法及系统。

所述方法应用于区块链网络,所述区块链网络包括区块链账本,所述区块链账本包括全部上链卫星和接入终端的身份标识及公钥信息,所述上链卫星包括第一卫星和第二卫星。

在一些实施例中,结合图1所示,本实施例的去中心化的卫星接入终端全过程认证方法,包括:

S1:所述接入终端判断待接入的所述第一卫星是否为首次接入,确认首次接入,向所述第一卫星发送第一接入请求;

在以下可选的实施例中,并同时结合图2所示,步骤S1还包括:

S101:所述接入终端接收所述第一卫星广播的第一卫星的身份标识;

S102:利用所述第一卫星的身份标识查询本地是否具有与所述第一卫星的身份标识对应的会话密钥;

S103:所述接入终端确定本地具有与所述第一卫星的会话密钥,则确定所述接入终端不是首次连接所述第一卫星;

S104:所述接入终端确定本地不具有与所述第一卫星的会话密钥,则确定所述接入终端是首次连接所述第一卫星。

进一步结合图2所示,需要说明的是,步骤S1为注册阶段,首次接入认证阶段为形成后期进行身份认证时的共识基础,其具体过程为,需分别将卫星与接入终端的身份信息及其公钥注册上链。此阶段基于SIM卡标识IMSI和卫星的身份标识,结合SM2(国密算法)加密算法生成接入终端与卫星的公钥和私钥文件并存储至本地,后将公钥信息以十六进制字符串形式存储至区块链账本。

并且进一步地,检测当前认证节点本地是否存在该节点ID对应的公钥和私钥文件。节点ID对于SIM卡接入终端来说是IMSI,对于卫星来说是卫星的身份标识,也是卫星的唯一标识。随后,基于SM2非对称加密算法生成节点的公私钥文件保存至本地,同时在本地生成一个JSON格式的会话记录文件,记录认证成功后接入终端和卫星会话所使用的对称会话密钥。

进而,将当前认证节点对应的公钥文件内容编码为十六进制,后将公钥信息以十六进制字符串形式存储至区块链账本。制字符串形式,并与节点身份信息一同通过调用智能合约注册至区块链账本上。由于相同的SIM卡可能会在多个接入终端节点中进行使用,即同一IMSI标识会对应多个接入终端本地的多组公私钥,使用二元组(IMSI,MacAddr)唯一标识某一接入终端。节点身份信息对于接入终端来说是IMSI和接入终端的物理地址,对于卫星来说是卫星唯一标识。完成注册阶段。

需要说明的是,在本申请实施例中,所述接入终端均为SIM卡接入终端,同时在此阶段,目前接入终端为并不清楚待接入的第一卫星的身份标识,所以无法从区块链账本中获取,而是通过第一卫星广播的身份标识来确定是否与第一卫星首次接入。

在一些实施例中,结合图3所示,步骤S1还包括:

S105:所述接入终端接收所述第一卫星广播的身份标识;

S106:利用所述第一卫星的身份标识,利用所述接入终端向所述第一卫星发送第一接入请求;所述第一接入请求表示为:M1=(StrictMode,H-IMSI,MacAddr,ID-S1,Sign(StrictMode,H-IMSI,MacAddr,ID-S1)),其中,StrictMode表示第一接入请求中的首次认证标识,H-IMSI表示SIM卡接入终端的IMSI标识的杂凑值,MacAddr表示接入终端的物理地址,Sign(t)表示使用发送方私钥对t进行的数字签名,ID-S1表示为第一卫星的身份标识。

S2:所述第一卫星判断所述第一接入请求,确定所述接入终端为首次接入,生成与所述接入终端的会话密钥,将所述会话密钥发送至所述接入终端并建立连接。

在以下可选的实施例中,结合图4所示,步骤S2还包括:

S201:所述第一卫星接收所述第一接入请求,查询所述区块链账本中所述接入终端的公钥信息;

S202:利用所述接入终端的公钥信息验证所述第一接入请求中的数字签名;

S203:判断所述数字签名中的第一卫星的身份标识是自身标识,生成会话密钥,并为所述会话密钥设定失效时间;

S204:随机生成第一认证数;

S205:发送具有所述会话密钥、失效时间、第一认证数以及所述会话密钥、失效时间、第一认证数的数字签名的第一信息至所述接入终端;

第一信息表示为:

M2=(Enc),其中Enc表示使用接收方的公钥对t进行非对称加密,SessionKey表示接入终端与第一卫星的会话密钥,ExpirationDate表示会话密钥失效时间,Rand1表示第一认证数。

进一步地,结合图5所示,步骤S205之后,还可以包括:

S2031:所述接入终端利用自身的私钥解密所述第一信息;

S2032:利用所述第一卫星的公钥验证所述会话密钥、失效时间、第一认证数的数字签名;

S2033:响应于所述接入终端的私钥解密所述第一信息成功,且利用所述第一卫星的公钥验证所述会话密钥、失效时间、第一认证数的数字签名成功,利用所述接入终端保存所述会话密钥和失效时间,并向所述第一卫星发送第二信息;

所述第二信息表示为:M3=Enck(Rand2),Rand2表示第二认证数,Enck(t)表示使用会话密钥对t进行对称加密。

进一步地,步骤S2033之后,还可以包括

所述第一卫星利用所述会话密钥对所述第二信息进行解密;

响应于所述解密后得到的第二信息中的第二认证数与所述第一认证数一致,则所述第一卫星与所述接入终端认证成功。

需要说明的是,步骤S1-S2为首次接入认证阶段,此阶段卫星需对还未建立起信任基础的首次接入终端进行更严格的认证流程。卫星首先验证接入终端的消息签名,后以随机数验证的方式认证接入终端私钥的正确性,并以非对称加密的方式传输用以支持后续安全会话的会话密钥。

并且进一步地,首次接入认证之前,接入终端在本地进行查询,是否存在想要连接的第一卫星的会话密钥,如果存在,那么接入终端不是首次与第一卫星连接,如果不存在,那么接入终端是首次与第一卫星连接。

首次接入认证阶段的具体过程为,首先SIM卡接入终端根据接收到第一卫星广播的身份标识ID-S1,利用第一卫星的身份标识ID-S1查询区块链账本获取第一卫星公钥信息S_pk。随后向第一卫星发送第一接入请求M1=(StrictMode,H-IMSI,MacAddr,ID-S1,Sign(StrictMode,H-IMSI,MacAddr,ID-S1)),StrictMode表示接入终端的请求中携带的首次认证标志,H-IMSI表示SIM卡接入终端的IMSI标识的杂凑值,MacAddr表示接入终端的物理地址,Sign(t)表示使用发送方私钥对t进行的数字签名,ID-S1表示为第一卫星的身份标识。可以理解的是,在此发送方为接入终端。

卫星收到消息M1后,处理步骤如下:

1)根据StrictMode标志判别接入终端为首次接入。

2)根据第一信息M1取得二元组(H-IMSI和MacAddr),并根据该二元组从区块链账本中查询并获取接入终端公钥信息T_pk。

3)使用接入终端的公钥信息T_pk验证第一接入请求M1中的数字签名。

4)判断第一接入请求中的第一卫星的身份标识ID-S1是否为自身标识。可以理解的是,第一卫星接收到从接入终端发出的第一信息中包含的第一卫星的身份标识ID-S1是第一卫星的身份标识,那么说明第一信息在发送过程中并未遭到篡改或者攻击。

5)生成一会话密钥SessionKey并为该会话密钥设定失效日期ExpirationDate。

6)随机生成第一认证数Rand1。

7)最后,向接入终端发送第一信息M2=(Enc),其中Enc表示使用接收方的公钥对t进行非对称加密,SessionKey表示接入终端与第一卫星会话密钥,ExpirationDate表示会话密钥的失效时间,Rand1表示第一认证数,Sign(t)表示使用发送方私钥对t进行的数字签名。可以理解的是,在此接收方为接入终端,发送方为第一卫星,利用接收方的公钥进行加密,接收方可以利用公钥进行解密。

接入终端收到第一信息M2后,处理步骤如下:

1)使用自身私钥T_sk解密第一信息。

2)用第一卫星的公钥S_pk验证数字签名,即会话密钥、失效时间、第一认证数的数字签名。

3)将会话密钥SessionKey和失效时间ExpirationDate保存至本地会话记录文件。

4)最后,向第一卫星发送第二信息M3=Enck(Rand2),Rand2表示第二认证数,Enck(t)表示使用会话密钥对t进行对称加密。

需要说明的是,第二认证数为接入终端解密第二验证消息得到的,也就是说,第二认证数来自于第一卫星发出的第一认证数,使用会话密钥将第二认证数进行对称加密后重新发送给第一卫星。

第一卫星接收到第二信息M3后,使用会话密钥解密消息后,判断接入终端发送的第二随机数与第一随机数是否一致,若一致,则接入终端与第一卫星在认证过程中正常认证,则代表首次认证成功。若上述过程中存在任意验证失败的情况,则首次认证不通过。完成首次接入认证阶段。

S3:所述接入终端判断待接入的所述第一卫星是否为首次接入,确认非首次接入,向所述第一卫星发送第二接入请求;

在以下可选的实施例中,并同时结合图6所示,步骤S3还包括:

S301:所述接入终端接收所述第一卫星广播的身份标识;

S302:利用所述第一卫星的身份标识从本地提取与所述第一卫星的会话密钥及失效时间;

S303:确定所述会话密钥未失效,利用所述会话密钥建立所述接入终端与所述第一卫星的连接;

S304:确定所述会话密钥失效,生成新的会话密钥并设定新的失效时间,并向所述第一卫星发送第二接入请求。其中所述第二接入请求表示为:M=(NormalMode,H-IMSI,MacAddr,ID-S1,V,timestamp,Sign(NormalMode,H-IMSI,MacAddr,ID-S1,V,timestamp)),其中,NormalMode表示第二接入请求中携带的快速认证标志,H-IMSI表示SIM卡接入终端的IMSI标识的杂凑值,MacAddr表示接入终端的物理地址,ID-S1表示为第一卫星的身份标识,V表示新的会话密钥信息,timestamp表示第二接入请求的时间戳,Sign(t)表示使用发送方私钥对t进行的数字签名;其中V=(Enc,NewExpirationDate),Enc表示使用接收方的公钥对t进行非对称加密,NewSessionKey表示新的会话密钥,NewExpirationDate表示新的会话密钥的失效时间。

S4:所述第一卫星判断所述第二接入请求,确定所述接入终端为非首次接入,利用所述第二接入请求提取与所述接入终端的会话密钥,并利用所述会话密钥建立与所述接入终端的连接。

在一些实施例中,结合图7所示,所述步骤S4,还可以包括:

S401:所述第一卫星获取所述第二接入请求中携带的快速认证标志;

S402:根据所述第二接入请求查询所述区块链账本并获取所述接入终端的公钥信息,并确定所述区块链账本中存在所述接入终端连接所述第一卫星的认证记录;

S403:利用所述接入终端的公钥信息验证所述新的认证信息中携带的数字签名;

S404:利用所述第二接入请求的时间戳判断所述第二接入请求是否新鲜,确定所述第二接入请求新鲜,判断所述第二接入请求中的第一卫星的身份标识是否为自身标识;

S405:确认所述第二接入请求中的第一卫星的身份标识为自身标识,利用自身的私钥解密所述新的会话密钥信息得到新的会话密钥,将所述新的会话密钥存储至本地,利用所述新的会话密钥连接所述接入终端。

需要说明的是,步骤S3-S4为快速接入认证阶段,此阶段在首次接入认证后接入终端与卫星存在着信任基础,并且双方保存了共享会话密钥,故此阶段可进行更简便的快速接入认证。卫星仅通过数字签名验证消息完整性和消息来源,无需再次认证接入终端私钥信息。并且在会话密钥依旧有效的情况下,无需重新进行新会话密钥的生成与共享。

并且进一步地,快速接入认证阶段的具体过程为,同首次认证,首先接入终端根据接收到第一卫星广播的身份标识ID-S1查询本地取得保存的会话密钥和失效日期。若密钥未失效,则计算V=V_old=Hash(SessionKey)。否则,则接入终端生成一新的会话密钥NewSessionKey,并为其设置新的失效时间NewExpirationDate,此时,会话密钥信息为V=V_new=(Enc,ExpirationDate);最后向第一卫星发送第二接入请求M=(NormalMode,H-IMSI,MacAddr,ID-S1,V,timestamp,Sign(NormalMode,H-IMSI,MacAddr,ID-S1,V,timestamp)),其中,NormalMode表示第二接入请求中携带的快速认证标志,H-IMSI表示SIM卡接入终端的IMSI标识的杂凑值,MacAddr表示接入终端的物理地址,ID-S1表示为第一卫星的身份标识,V表示新的会话密钥信息,timestamp表示为发送第二接入请求的时间戳,Sign(t)表示使用发送方私钥对t进行的数字签名;所述V=V_new=(Enc,NewExpirationDate),Enc表示使用接收方的公钥对t进行非对称加密后的结果;

第一卫星在收到第二接入请求M后,处理步骤如下:

1)第一卫星通过接入终端发送的请求信息中携带的快速认证标志NormalMode判定请求为快速认证请求,也即接入终端并非首次连接第一卫星。

2)根据第二接入请求取得二元组(H-IMSI,MacAddr)查询区块链账本取得接入终端的公钥信息T_pk,同时检查区块链账本中是否存在此接入终端的认证记录,用于确认接入终端可以发起快速认证请求。

3)使用接入终端公钥信息T_pk验证第二接入请求M中附带的数字签名。

4)检查新的会话密钥及发送第二接入请求的时间戳timestamp,判断消息是否新鲜,并在一个实时维护的当前会话集合中检查是否已经存在该接入终端,排除消息被重放的可能。

5)判断第二接入请求M中的第一卫星的身份标识ID-S1是否为自身标识。

判断新的会话密钥信息V是新生成的会话密钥信息V_new还是原来的会话密钥信息V_old。若接收到的是原来的会话密钥信息V_old,即会话密钥为原会话密钥的哈希值,则查询本地判断会话密钥是否正确,并再次检查会话密钥的失效日期即可。若接收到的是新生成的会话密钥信息V_new,则先确认原会话密钥已过期,再验证新生成的会话密钥信息中附加的失效时间设置是否合理。例如新的失效时间太长,可能会影响接入终端与第一卫星的通信安全,时间太短,会影响接入终端与第一卫星的正常通信。最后使用私钥S_sk解密V得到新的会话密钥NewSessionKey,并将新会话密钥存储至本地会话记录文件中。若认证过程中无任何错误,则卫星对于接入终端的快速接入认证成功。否则,快速接入认证失败,完成快速接入认证阶段。

S5:所述第一卫星确定自身的运动轨迹远离所述接入终端的连接范围,决策为接入终端继续接入第二卫星,所述第二卫星与所述接入终端相互认证并建立与所述接入终端的连接。

在一些可选的实施例中,参考图8所示,步骤S5还可以包括:

S501:所述第一卫星向所述接入终端加密发送预切换信息;

S502:所述接入终端利用所述会话密钥解密所述预切换信息,估算自身的位置区间,并向所述第一卫星加密发送所述接入终端的位置信息;所述接入终端的位置信息表示为:M

S503:所述第一卫星利用所述会话密钥解密所述位置信息,并获取所述上链卫星的运动轨迹和位置区间;

S404:所述第一卫星利用所述接入终端的位置区间和所述上链卫星的运动轨迹和位置区间,决策出为所述接入终端提供服务的第二卫星并分别向所述接入终端和所述第二卫星发送第一反馈信息和第二反馈信息;

S505:所述接入终端利用所述会话密钥解密所述第一反馈信息,得到所述第二卫星的身份标识,并从所述区块链账本获取第二卫星的公钥信息,计算并生成第二卫星的密钥信息,并向所述第二卫星发送切换信息;

所述切换信息表示为:M

S506:所述第二卫星解密所述第二反馈信息中卫星切换标识以及判断所述切换信息中的第二卫星的身份标识是否为自身标识;

S507:所述第二卫星确定所述切换信息中的第二卫星的身份标识为自身标识,则第二卫星与所述接入终端接入成功,断开所述接入终端与所述第一卫星的接入。

具体地,检测到所述第一卫星与所述接入终端的通信服务信号变弱后或者第一卫星基于自身的运行轨迹无法为接入终端提供平滑通信,所述第一卫星向所述接入终端发送预切换信息:

M

接入终端在收到预切换信息后,处理步骤如下:

1)接入终端利用与第一卫星共享的会话密钥解密预切换信息得到预切换标志,然后接入终端估算自身的位置区间LocationRange,并向第一卫星加密发送位置信息M

第一卫星在收到位置信息M

1)通过与接入终端的共享密钥解密位置信息得到接入终端的位置区间LocationRange,之后结合上链卫星的运动轨迹和位置区间,决策出为接入终端继续提供服务的第二卫星,并向所述接入终端发送第一反馈信息:

M

同时向第二卫星发送第二反馈信息:

M

H-IMSI,timestamp

接入终端在收到第一反馈信息M

1)利用与第一卫星共享的会话密钥解密接收到的第一反馈信息得到第二卫星的身份标识。

2)根据第二卫星的身份标识从区块链账本获取第二卫星的公钥信息S2_pk,然后查询本地会话记录文件,尝试获取与第二卫星的会话密钥SessionKey

V

否则计算第二卫星的会话密钥信息:

V

第二卫星在收到第二反馈信息M

1)第二卫星解密第一卫星发送的第二反馈信息,根据HandoverMode判断出第二反馈信息为卫星切换信息,并利用第二反馈信息中第一卫星的身份标识ID-S1从区块链账本查询并获取第一卫星的公钥S1_pk来验证第二反馈信息中的数字签名,将接入终端对应的H-IMSI存入交接集合中,也即存入本地。

第二卫星在收到切换信息M

1)解密切换信息中的第二卫星的身份标识是否为自身标识,若第二卫星的身份标识为自身标识,则向接入终端发送消息M

接入终端在收到消息M

解密得到切换成功标志handoverDoneFlag,断开与第一卫星的连接。

至此,第二卫星完成与接入终端的连接。

需要说明的是,步骤S5为星间切换认证阶段,此阶段在卫星网场景下,地面接入终端需不断在不同卫星间切换以保证连续享有通信服务。引入的星间切换认证是第一卫星、第二卫星与接入终端三方的交互过程。第一卫星通过预先发送包含接入终端ID的数字签名给第二卫星,以使第二卫星承认第一卫星对接入终端的认证结果,从而后续接入终端与第二卫星仅需进行快速认证流程即可完成切换。

在一些实施例中,如图9所示,基于同一发明构思,还公开一种去中心化的卫星接入终端全过程认证系统,包括区块链网络及与所述区块链网络连接的接入终端和上链卫星,所述区块链网络包括区块链账本,所述区块链账本包括全部上链卫星和接入终端的身份标识及公钥信息,所述上链卫星包括第一卫星和第二卫星;

接入终端,用于所述接入终端判断待接入的所述第一卫星是否为首次接入,确认首次接入,向所述第一卫星发送第一接入请求,确认非首次接入,向所述第一卫星发送第二接入请求;

所述第一卫星,用于判断所述接入终端是否为首次接入,确定为首次接入,利用所述区块链账本建立与所述接入终端的会话密钥,将所述会话密钥发送至所述接入终端并建立连接;确认为非首次接入,利用所述第二接入请求提取与所述接入终端的会话密钥,并利用所述会话密钥建立与所述接入终端的连接;

所述第一卫星,还用于确定自身的运动轨迹远离所述接入终端的连接范围,决策为接入终端继续接入第二卫星。

所述第二卫星,用于与所述接入终端认证并替换所述第一卫星与所述接入终端连接。

进一步地,接入终端在判断自身是否为首次接入所述第一卫星,后还能够用于:

接收所述第一卫星广播的第一卫星的身份标识;

利用所述第一卫星的身份标识查询本地是否具有与所述第一卫星的身份标识对应的会话密钥;

确定本地具有连接所述第一卫星的会话密钥,则确定所述接入终端不是首次连接所述第一卫星;

确定本地不具有连接所述第一卫星的会话密钥,则确定所述接入终端是首次连接所述第一卫星。

接入终端,还用于接收所述第一卫星广播的身份标识;

利用所述第一卫星的身份标识从所述区块链账本中获取所述第一卫星的公钥信息;

利用所述第一卫星的身份标识,利用所述接入终端向所述第一卫星发送第一接入请求;所述第一接入请求表示为:M1=(StrictMode,H-IMSI,MacAddr,ID-S1,Sign(StrictMode,H-IMSI,MacAddr,ID-S1)),其中,StrictMode表示第一接入请求中的首次认证标识,H-IMSI表示SIM卡接入终端的IMSI标识的杂凑值,MacAddr表示接入终端的物理地址,Sign(t)表示使用发送方私钥对t进行的数字签名,ID-S1表示为第一卫星的身份标识。

第一卫星还用于,接收所述第一接入请求,查询所述区块链账本中所述接入终端的公钥信息;

利用所述接入终端的公钥信息验证所述第一接入请求中的数字签名;

判断所述数字签名中的第一卫星的身份标识是自身标识,生成会话密钥,并为所述会话密钥设定失效时间;

随机生成第一认证数;

发送具有所述会话密钥、失效时间、第一认证数以及所述会话密钥、失效时间、第一认证数的数字签名的第一信息至所述接入终端;

所述第一信息表示为:M2=(Enc),其中Enc表示使用接收方的公钥对t进行非对称加密,SessionKey表示接入终端与第一卫星的会话密钥,ExpirationDate表示会话密钥失效时间,Rand1表示第一认证数。

进一步地,接入终端收到第一信息后,还用于利用自身的私钥解密所述第一信息;

利用所述第一卫星的公钥验证所述会话密钥、失效时间、第一认证数的数字签名;

响应于所述接入终端的私钥解密所述第一信息成功,且利用所述第一卫星的公钥验证所述会话密钥、失效时间、第一认证数的数字签名成功,利用所述接入终端保存所述会话密钥和失效时间,并向所述第一卫星发送第二信息;

所述第二信息表示为:M3=Enck(Rand2),Rand2表示第二认证数,Enck(t)表示使用会话密钥对t进行对称加密。

进一步地,第一卫星接收到第二信息之后,还用于利用所述会话密钥对所述第二信息进行解密;

响应于所述解密后得到的第二信息中的第二认证数与所述第一认证数一致,则所述第一卫星与所述接入终端认证成功。

接入终端还用于,接收所述第一卫星广播的身份标识;

利用所述第一卫星的身份标识从本地提取所述第一卫星的会话密钥及失效时间;

确定所述会话密钥未失效,利用所述会话密钥建立所述接入终端与所述第一卫星的连接;

确定所述会话密钥失效,生成新的会话密钥并设定新的失效时间,便共享所述第一卫星发送第二接入请求;

所述第二接入请求表示为:M=(NormalMode,H-IMSI,MacAddr,ID-S1,V,timestamp,Sign(NormalMode,H-IMSI,MacAddr,ID-S1,V,timestamp)),其中,NormalMode表示第二接入请求中携带的快速认证标志,H-IMSI表示SIM卡接入终端的IMSI标识的杂凑值,MacAddr表示接入终端的物理地址,ID-S1表示为第一卫星的身份标识,V表示新的会话密钥信息,timestamp表示发送第二接入请求的时间戳,Sign(t)表示使用发送方私钥对t进行的数字签名;其中V=(Enc,NewExpirationDate),Enc表示使用接收方的公钥对t进行非对称加密,NewSessionKey表示新的会话密钥,NewExpirationDate表示新的会话密钥的失效时间。

第一卫星在接收到第二接入请求之后,还用于获取所述第二接入请求中携带的快速认证标志;

根据所述第二接入请求查询所述区块链账本并获取所述接入终端的公钥信息,并确定所述区块链账本中存在所述接入终端连接所述第一卫星的认证记录;

利用所述接入终端的公钥信息验证所述新的认证信息中携带的数字签名;

利用所述第二接入请求的时间戳判断所述第二接入请求是否新鲜,确定所述第二接入请求新鲜,判断所述第二接入请求中的第一卫星的身份标识是否为自身标识;

确认所述第二接入请求中的第一卫星的身份标识为自身标识,利用自身的私钥解密所述新的会话密钥信息得到新的会话密钥,将所述新的会话密钥存储至本地,利用所述新的会话密钥连接所述接入终端。

第一卫星,还用于向所述接入终端加密发送预切换信息。

接入终端接收到预切换信息后,还用于利用所述会话密钥解密所述预切换信息,估算自身的位置区间,并向所述第一卫星加密发送所述接入终端的位置信息;所述接入终端的位置信息表示为:M

第一卫星接收到位置信息后,还用于利用所述会话密钥解密所述位置信息,并获取所述上链卫星的运动轨迹和位置区间;

利用所述接入终端的位置区间和所述上链卫星的运动轨迹和位置区间,决策出为所述接入终端提供服务的第二卫星并分别向所述接入终端和所述第二卫星发送第一反馈信息和第二反馈信息。

接入终端接收到第一反馈信息后,还用于利用所述会话密钥解密所述第一反馈信息,得到所述第二卫星的身份标识,并从所述区块链账本获取第二卫星的公钥信息,计算并生成第二卫星的密钥信息,并向所述第二卫星发送切换信息;所述切换信息表示为:M

第二卫星接收到第二反馈信息和切换信息后,还用于解密所述第二反馈信息中卫星切换标识以及判断所述切换信息中的第二卫星的身份标识是否为自身标识;

确定所述切换信息中的第二卫星的身份标识为自身标识,则第二卫星与所述接入终端接入成功,断开所述接入终端与所述第一卫星的接入。

从上述实施例可以看出,本公开提供的去中心化的卫星接入终端全过程认证方法与系统,首先接入终端,在第一次接入卫星网之前需要生成认证过程所需的公私钥文件,私钥保存在本地,而后将接入终端的标识信息注册至区块链账本中;在认证过程中,卫星对接入终端的认证只发生在双方节点之间,而不依赖于任何第三方节点,一切所需的认证信息均通过区块链账本查询取得,能够实现认证过程的去中心化。通过引入区块链技术分布式存储接入终端及卫星的身份和公钥信息,接入终端和卫星在认证过程中可从账本中查询所需信息,提高认证过程中双方的交互效率,也使认证过程安全可信,卫星间可对彼此的认证结果达成共识。通过引入会话密钥有效期机制,以较低的本地维护成本代替频繁生成及共享会话密钥带来的计算和通信开销。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。

本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

技术分类

06120116526404