CN113098686B - 一种面向低轨卫星网络的组密钥管理方法 - Google Patents

一种面向低轨卫星网络的组密钥管理方法 Download PDF

Info

Publication number
CN113098686B
CN113098686B CN202110347579.9A CN202110347579A CN113098686B CN 113098686 B CN113098686 B CN 113098686B CN 202110347579 A CN202110347579 A CN 202110347579A CN 113098686 B CN113098686 B CN 113098686B
Authority
CN
China
Prior art keywords
leo
key
satellite
management module
ground terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110347579.9A
Other languages
English (en)
Other versions
CN113098686A (zh
Inventor
赵宝康
王宝生
苏金树
虞万荣
赵锋
时向泉
陶静
唐竹
彭伟
刘铜威
穆凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202110347579.9A priority Critical patent/CN113098686B/zh
Publication of CN113098686A publication Critical patent/CN113098686A/zh
Application granted granted Critical
Publication of CN113098686B publication Critical patent/CN113098686B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18578Satellite systems for providing broadband data service to individual earth stations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Astronomy & Astrophysics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radio Relay Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种面向低轨卫星网络的组密钥管理方法,目的是解决传统组密钥管理方法的存储开销和通信开销大的问题,同时保证低轨卫星网络中通信的机密性和安全性。技术方案是先构建由PKG,卫星LEOA,卫星LEOB和地面终端TEA组成的面向低轨卫星网络的组密钥管理系统,通过设计身份基签名和单向函数树,对组密钥管理系统初始化后,通过组密钥管理系统完成组成员注册、组密钥生成、组成员加入、组成员退出和组控制器切换以实现组密钥的生成、分发和更新维护。本发明能够提供机密性服务,保证前向安全性和后向安全性,存储开销和通信开销小。

Description

一种面向低轨卫星网络的组密钥管理方法
技术领域
本发明涉及网络安全技术领域,具体的说,涉及一种面向低轨卫星网络的组密钥管理方法。
背景技术
低轨卫星网络可以用于军事目标探测、手机通讯等功能,是目前最有前途的卫星移动通信系统。在低轨卫星网络中,卫星需要实现一点对多点的通信,即多播技术。多播允许组成员自由的加入或退出,并要求只有组成员可以接收到组内的通信内容。但是如果不采取安全措施,那么通信的信息就面临被窃听、篡改、重放等安全危险。为了保护信息的机密性、安全性,就需要引入保密措施,在通话组内引入组建共享的密钥,称为组密钥。在低轨卫星网络中,通话组包括组成员(地面终端)和组控制器(卫星)。在使用对称密钥的情况下,组密钥是所有组成员共同拥有的密钥。进行通信时,发送消息的组成员把通信内容用组密钥加密,这时候只有组内成员才能对通信内容解密。因此,如何对组密钥的生成、分发和更新维护进行管理是保障低轨卫星网络通信安全的关键。低轨卫星网络领域一般将对组密钥的生成、分发和更新维护进行管理统称为组密钥管理。
组密钥管理的安全性主要分为前向安全和后向安全。前向安全保证当有组成员离开通话组时,离开的成员不能再获取退出时间以后的通信内容。后向安全保证有新成员加入通话组时,新成员不能获取加入时间以前的通信内容。为了满足这样的需求,组密钥就必须随着组成员的变更而更新,并由组控制器(在低轨卫星网络中指当前通话组的过顶卫星,同一时刻一个组内只有一颗过顶卫星,即组控制器)下发给变更后的组成员。在低轨卫星网络中,由于卫星和地球自转并不同步,所以每间隔一段时间,一个通话组的组控制器即过顶卫星就会发生切换。
通话组的开销主要包括密钥生成,密钥加解密次数,密钥分发,密钥储存和通信开销等。对于组成员变更频繁的通话组,其开销尤其是不可忽视的。在传统的应用逻辑密钥树(Logical Key Hierarchy,LKH)的密钥管理方法中,储存开销和通信开销比较大。因此,需要寻找一种既能保证通信机密性、安全性,又能够有效减少开销的组密钥管理方法。
本发明涉及到的背景技术主要有身份基密码学和单向函数树。
1)身份基密码学。Shamir在1984年首次提出基于身份的密码体制(Identity-Based Cryptosystem,IBC)的概念。在他的设想中,需要进行通信的两方不需要发送任何的数字证书,直接将对方选定的ID作为公钥,以此免于公钥基础设施PKI(Public KeyInfrastructure)因管理用户证书所带来的负担。随后在2001年,Boneh和Franklin基于椭圆曲线上的双线性映射,给出了第一个实用的基于身份的公钥加密方案。随后,密码学家又提出了各种新的身份基密码学方案。在低轨卫星网络中,带宽资源十分宝贵,传输数字证书所带来的通信开销是其所不能承受的。因此,本发明的组密钥管理方法采用身份基密码学算法来保证通信的认证性和安全性,而不采用其他基于数字证书的公钥算法。目前已经有学者研究采用身份基密码学的组密钥管理方法,如罗长远、李伟等人提出的基于身份的空间网络组密钥管理方案,但其算法在存储开销上仍有改进的空间。
2)单向函数树。David A.McGrew等人提出了利用单向函数树OFT(One-wayFunction Tree)进行组密钥协商(参见谢尔曼·T,麦克格鲁·D·A·基利用单向函数树建立大型动态群组.IEEE软件工程汇刊2003,29(5):444–458,Sherman A T,McGrew D A.Keyestablishment in large dynamic groups using one-way function trees[J].IEEEtransactions on Software Engineering.2003,29(5):444–458.)。OFT使用二叉树来管理密钥,用户节点被安排在二叉树的叶子结点上,根结点对应整个通话组的管理者。二叉树中的每个结点都有两个密钥,分别是结点密钥kx和结点盲密钥kx'。结点盲密钥kx'由结点密钥kx利用单向函数g(·)计算得到,即kx'=g(kx)。任何人不能依据盲密钥kx'计算出kx。此外,在OFT方案中,中间结点的结点密钥根据其左右结点的下属结点(称为孩子结点)的盲密钥通过混合函数f(·)计算得出。因此,组成员不需要存储从当前结点到根结点路径上的所有密钥,只需要存储自己的结点密钥和到根节点路径上结点的下属邻近结点(称为兄弟结点)的盲密钥。组密钥可以根据组成员自己存储的密钥计算得到。
如图1所示,地面终端1被设置在叶子结点31上,其需要存储结点31到根结点01路径上兄弟结点的盲密钥,即结点32,结点22,结点12的盲密钥。根据这些盲密钥,地面终端1便可以算出结点01的结点密钥即组密钥。计算过程如下所示:
K00=f(k'11,k'12)
=f(f(k'21,k'22),k'12)
=f(f(f(k'31,k'32),k22),k'12)
=f(f(f(g(k31),k'32),k22),k'12)
其中f(·)是混合函数(如哈希、异或等)。
需要注意的是,在OFT中,根结点需要知道每个组成员的结点密钥。因此,根结点需要存储2N-1个密钥,每个组成员需要存储H+1个密钥(N是组成员的个数,H是树的高度,以组成员所在叶子结点到根结点最长路径边的条数作为H)。在图1中,一共有6个地面终端,所以N=6,叶子结点到根结点最长路径边的条数为3,所以H=3。根结点需要存储11个密钥,即所有结点的密钥。
发明内容
本发明要解决的技术问题是提出一种面向低轨卫星网络的组密钥管理方法,结合身份基密码学技术和单向函数树,解决传统组密钥管理方法的存储开销和通信开销大的问题,同时保证低轨卫星网络中通信的机密性和安全性。
本发明的技术方案是通过设计身份基签名和单向函数树,通过系统初始化、组成员注册、组密钥生成、组成员加入、组成员退出和组控制器切换六个步骤完成组密钥的生成、分发和更新维护。
本发明的具体技术方案是:
第一步,构建面向低轨卫星网络的组密钥管理系统。面向低轨卫星网络的组密钥管理系统由密钥生成中心PKG,卫星LEOA,卫星LEOB和地面终端TEA组成。如果有地面终端TEA想要加入组密钥管理系统,首先地面终端TEA向PKG提交选定身份标识ID,申请系统参数的请求和申请私钥的请求,然后PKG根据系统参数和身份标识ID计算出TEA对应的私钥。PKG将TEA对应的私钥和系统参数发送给TEA。如果有卫星LEOA想要加入组密钥管理系统,首先LEOA向PKG提交选定身份标识ID,申请系统参数的请求和申请私钥的请求,然后PKG根据系统参数和身份标识ID计算出LEOA对应的私钥,将LEOA对应的私钥和系统参数发送给LEOA。地面终端TEA向卫星LEOA发送请求加入报文,卫星LEOA收到请求加入报文后,验证请求加入报文是否合法,即验证身份基签名是否正确,身份基签名包含于身份标识ID中。如果合法,卫星LEOA发送确认加入报文给地面终端TEA协商相关的密钥;如果不合法,则拒绝地面终端TEA的加入。当该地面终端TEA想要退出面向低轨卫星网络的组密钥管理系统时,向卫星LEOA发送请求退出报文,卫星LEOA收到请求退出报文后,发送确认退出报文给地面终端TEA同意其离开。当通话组的过顶卫星LEOA发生变化时,需要进行组控制器切换,当前过顶卫星LEOA(即组控制器)将自己维护的OFT发送给下一颗过顶卫星LEOB,并向地面终端TEA广播LEOB的ID。当下一颗过顶卫星LEOB抵达时,向地面终端TEA广播自己的ID。TEA收到后比较从两次收到的ID(即从LEOA收到的ID和从LEOB收到的ID)是否一致。一致则完成组控制器切换,否则重新进行切换。
PKG上安装有系统参数管理模块和第一计算模块,地面终端TEA上安装有第一密钥管理模块和第二计算模块,卫星LEOA和卫星LEOB上安装有第二密钥管理模块和第三计算模块。
PKG的系统参数管理模块与第一计算模块、地面终端TEA的第一密钥管理模块、卫星LEOA的第二密钥管理模块相连。PKG的系统参数管理模块接收卫星LEOA和地面终端TEA发送的选定身份标识ID、申请系统参数的请求和申请私钥的请求,生成系统参数并储存,将系统参数和选定身份标识ID发送给第一计算模块。
PKG的第一计算模块与系统参数管理模块、地面终端TEA的第一密钥管理模块和卫星LEOA的第二密钥管理模块相连,PKG的第一计算模块从系数参数管理模块接收系统参数,根据系统参数和选定身份标识ID计算产生对应的私钥,将系统参数和TEA对应的私钥发送给地面终端TEA,将系统参数和LEOA对应的私钥发送给卫星LEOA
地面终端TEA的第一密钥管理模块与地面终端TEA的第二计算模块、PKG的第一计算模块、卫星LEOA的第二密钥管理模块、卫星LEOA的第三计算模块、卫星LEOB的第二密钥管理模块相连。第一密钥管理模块从第一计算模块接收系统参数和私钥,对系统参数和私钥进行储存,并向第二计算模块发送系统参数和私钥;第一密钥管理模块向卫星LEOA的第二密钥管理模块发送请求加入报文、请求退出报文,提交地面终端加入通话组或退出通话组的请求;第一密钥管理模块从卫星LEOA的第二密钥管理模块接收到确认加入报文、确认退出报文,执行地面终端加入通话组或退出通话组的操作;第一密钥管理模块从卫星LEOA的第三计算模块接收报文LBI,存储报文信息并发送给第二计算模块;第一密钥管理模块从卫星LEOA的第二密钥管理模块接收下一颗过顶卫星LEOB的ID(令为第一ID),储存第一ID;第一密钥管理模块从卫星LEOB的第二密钥管理模块接收卫星LEOB的ID(令为第二ID),储存第二ID并核对第一ID和第二ID是否相同,若相同则确认组控制器切换,若不相同则拒绝组控制器切换。
地面终端TEA的第二计算模块与第一密钥管理模块、卫星LEOA的第二密钥管理模块相连,第二计算模块接收第一密钥管理模块发送的系统参数、私钥和LBI报文信息,计算出与卫星LEOA协商的会话密钥,将包含了会话密钥的报文TRI发送给卫星LEOA的第二密钥管理模块。
卫星LEOA的第二密钥管理模块与卫星LEOA的第三计算模块、PKG的第一计算模块、地面终端TEA的第一密钥管理模块、地面终端TEA的第二计算模块、卫星LEOB的第二密钥管理模块相连,卫星LEOA的第二密钥管理模块从第一计算模块接收系统参数和私钥,对系统参数和私钥进行储存,并向卫星LEOA的第三计算模块发送系统参数和私钥;当卫星LEOA的第二密钥管理模块从TEA收到请求加入报文时,判断TEA的合法性,向第一密钥管理模块发送确认加入报文;当卫星LEOA的第二密钥管理模块从TEA收到请求退出报文时,向第一密钥管理模块发送确认退出报文;当下一颗过顶卫星LEOB到达过顶位置时(一般10-15分钟),卫星LEOA的第二密钥管理模块向第一密钥管理模块发送下一颗过顶卫星LEOB的ID;当第一密钥模块确认组控制器切换时,卫星LEOA的第二密钥管理模块向卫星LEOB的第二密钥管理模块发送维护的单向函数树OFT。
卫星LEOA的第三计算模块与卫星LEOA的第二密钥管理模块、第一密钥管理模块相连,卫星LEOA的第三计算模块从卫星LEOA的第二密钥管理模块接收系统参数和私钥,计算出与地面终端TEA协商的会话密钥,将包含会话密钥的报文LBI发送给地面终端TEA的第一密钥管理模块。
卫星LEOB的第二密钥管理模块到达过顶位置前与地面终端TEA的第一密钥管理模块、卫星LEOA的第二密钥管理模块相连,当卫星LEOB到达过顶位置时,卫星LEOB的第二密钥管理模块向地面终端TEA的第一密钥管理模块发送卫星LEOB的ID;当第一密钥管理模块确认组控制器切换时,卫星LEOB的第二密钥管理模块从卫星LEOA的第二密钥管理模块接收卫星LEOA维护的单向函数树OFT。卫星LEOB的第二密钥管理模块到达过顶位置后连接状态和功能与卫星LEOA的第二密钥管理模块一致。
卫星LEOB的第三计算模块与卫星LEOB的第二密钥管理模块相连,在到达过顶位置前不进行任何工作。卫星LEOB的第三计算模块在到达过顶位置后连接状态和功能与卫星LEOA的第三计算模块相同。
第二步,PKG上的系统参数管理模块根据安全参数产生系统参数和PKG的主密钥,具体流程是:
系统初始化的目的是完成系统参数十元组
Figure BDA0003001272900000081
的生成以及为LEOA和TEA生成对应的私钥。方法是:
2.1系统参数管理模块获得系统管理员输入的安全参数k,k为正整数;
2.2系统参数管理模块使用k作为输入,使用BDH(BilinearDiffie-Hellman译为双线性对的迪菲-赫尔曼问题,Diffie、Hellman为人名)参数生成方法(参见丹.鲍恩.基于weil对的身份基加密[J].siam计算期刊,2001,32(3):213-229,第8页,第15行-第24行,BDHParameterGenerator.英文文献索引为BonehD,FranklinM.IdentitybasedencryptionfromtheWeilpairing[J].SiamJournalonComputing,2001,32(3):213-229)产生安全级别为k位(k越大安全等级越高)的身份基密码学参数,包括生成元为P、阶为q的加法循环群G1,阶为q的乘法循环群GT(G1、GT为椭圆曲线上的点组成的集合,G1、GT中的元素是椭圆曲线上的点),P∈G1、q∈Zq *,Zq *为正整数集合。椭圆曲线上的双线性映射函数
Figure BDA0003001272900000091
(表示将G1中的某两个元素x,y映射到GT中的某个元素
Figure BDA0003001272900000092
),三个哈希函数:
Figure BDA0003001272900000093
(表示将长度为k2的二进制字符串u映射到G1的元素H1(u)),
Figure BDA0003001272900000094
(表示将长度为k1+n的二进制字符串v映射到Zq *的某个整数H2(v)),
Figure BDA0003001272900000095
(表示将GT的某一个元素映射到长度为k1+k2+n的二进制字符串w)其中k1是G1元素的比特数,k2是地面终端或卫星提交ID的比特数,n是从地面终端或卫星接收明文的比特数。
2.3系统参数管理模块在正整数集合Zq *中随机选取整数s,0<s<q,作为PKG的主密钥。
2.4系统参数管理模块计算系统公钥QTA,QTA=s·P,s是主密钥,P是生成元即原始点,QTA为新的点,其中“·”表示G1中元素P1的标量乘法运算(标量乘法运算,参见现代数学基础丛书《椭圆曲线公钥密码导引》,祝跃飞,张亚娟,第七章7.2节第220页算法7.6,与普通非循环整数域乘法完全不同,知道系数和原始点,可用标量乘法计算出新的点,知道新的点和原始点,无法逆运算出系数)。
2.5系统参数管理模块将十元组
Figure BDA0003001272900000101
作为系统参数公开给PKG的第一计算模块,并把s作为主密钥保存,不泄漏给地面终端TEA和卫星LEOA。虽然P,QTA公开,依据标量乘法运算的性质,无法根据QTA=s·P算出s。g(·)为计算密钥时的单向函数,f(·)为计算密钥时的混合函数。
第三步,地面终端TEA和卫星LEOA的密钥管理模块与PKG相互配合,完成私钥分发,具体流程是:
3.1地面终端TEA的第一密钥管理模块向PKG的系统参数管理模块发送身份标识ID,申请系统参数的请求、申请私钥的请求。同时卫星LEOA的第二密钥管理模块向PKG的系统参数管理模块发送身份标识ID,申请系统参数的请求、申请私钥的请求。需要注意的是,此过程需要在安全的环境下进行。
3.2 PKG的系统参数管理模块验证地面终端TEA和卫星LEOA的设备编号,若设备编号在PKG内置白名单中,则审核通过,转步骤3.3;若审核不通过,向地面终端TEA和卫星LEOA的发送审核不通过的消息,转步骤3.1。
3.3 PKG的第一计算模块利用地面终端TEA的身份标识ID及PKG主密钥s生成地面终端TEA相应的私钥STE,方法是:STE=s·H1(IDTE),IDTE为地面终端TEA的身份标识,即将PKG的主密钥s与H1(IDTE)做标量乘法运算,H1(IDTE)指IDTE的哈希值,将任意长度二进制字符串IDTE映射为一个循环加法群G1的元素。
3.4 PKG的第一计算模块利用卫星LEOA的身份标识ID及PKG主密钥s生成卫星的私钥SLEO,方法是:SLEO=s·H1(IDLEO),H1(IDLEO)指IDLEO的哈希值。
3.5若地面终端TEA和卫星LEOA能与PKG建立安全会话连接,则PKG的系统参数管理模块向地面终端TEA的第一密钥管理模块和卫星LEOA的第二密钥管理模块发送系统参数和私钥,若地面终端TEA和卫星LEOA不能与PKG建立安全会话连接,则PKG的系统参数管理模块通过离线方式向地面终端TEA的第一密钥管理模块和卫星LEOA的第二密钥管理模块发送系统参数和私钥。
第四步,地面终端TEA和卫星LEOA相互配合完成组成员注册,完成会话密钥
Figure BDA0003001272900000111
的协商。组成员注册的目的是完成地面终端TEA和卫星LEOA之间的会话密钥协商。此外,为了保证密钥协商过程的安全性,需要向卫星与地面终端的通信提供机密性、完整性、不可否认性等安全服务。方法是:
4.1 LEOA向TEA广播含ID信息、时间戳信息的报文LBI,具体步骤是:
4.1.1 LEOA的第二密钥管理模块随机选择一个整数rLEO,rLEO∈Zq *,将rLEO发送给LEOA的第三计算模块。
4.1.2 LEOA的第三计算模块计算卫星公钥QLEO并储存,QLEO=H1(IDLEO)。
4.1.3 LEOA的第三计算模块计算报文LBI第一变量XLEO,XLEO=rLEOQLEO
4.1.4 LEOA的第三计算模块计算报文LBI第三变量h1和报文LBI第二变量ZLEO,h1=H2(XLEO||IDLEO||ttLEO),ZLEO=(rLEO+h1)SLEO;其中ttLEO是LEO当前的时间戳,SLEO是卫星的私钥。
4.1.5 LEOA的第二密钥管理模块生成报文LBI,LBI=<IDLEO,ttLEO,XLEO,ZLEO,h1>。随后,LEOA向地面终端广播报文LBI。
4.2 TEA的第一密钥管理模块收到LEOA卫星广播的报文LBI后,检查当前时刻减去LBI上的时间戳值是否在第一时间阈值内,第一时间阈值为一个能够表征卫星和地面时延的值,一般可以设置为100ms。如果当前时刻减去LBI上的时间戳值不在第一时间阈值内,则丢弃该报文,返回步骤4.1;如果当前时刻减去LBI上的时间戳值在第一时间阈值内,TEA的第一密钥管理模块将报文LBI发送给TEA的第二计算模块,执行步骤4.3。
4.3 TEA的第二计算模块向LEOA的第二密钥管理模块发送报文TRI和计算终端会话密钥KTE,具体步骤是:
4.3.1 TEA的第二计算模块计算卫星公钥QLEO和第三变量h1,QLEO=H1(IDLEO),h1=H2(XLEO||IDLEO||ttLEO)(||是字符串连接符,XLEO||IDLEO||ttLEO表示将报文LBI第一变量XLEO、卫星的IDLEO和时间戳ttLEO的字符串连接起来)。随后验证
Figure BDA0003001272900000121
是否成立,如果不成立,返回步骤4.1;如果成立,执行步骤4.3.2。
4.3.2 TEA的第一密钥管理模块随机选择一个整数rTE,rTE∈Zq *,将rTE发送给TEA的第二计算模块;
4.3.3 TEA的第二计算模块计算报文TRI第一变量XTE,XTE=rTEQTE
4.3.4TEA的第二计算模块计算验证变量h'1,h'1=H2(XTE||IDLEO||ttTE),计算中间第一变量ZTE,ZTE=(rTE+h'1)STE
4.3.5 TEA的第二计算模块计算中间第二变量wTE
Figure BDA0003001272900000131
计算报文TRI第二变量YTE
Figure BDA0003001272900000132
Figure BDA0003001272900000133
是异或运算符;
4.3.6 TEA的第二计算模块生成报文TRI,TRI=<ttTE,XTE,YTE>。
4.3.7TEA的第二计算模块计算终端会话密钥KTE
Figure BDA0003001272900000134
4.3.8 TEA的第二计算模块将报文TRI发送给LEOA的第二密钥管理模块。
4.4 LEOA的第二密钥管理模块收到报文TRI后,检查当前时刻减去TRI上的时间戳值是否在第二时间阈值内(第二时间阈值为一个能够表征卫星和地面时延的值,可以设置为与第一时间阈值相同的值),如果不在,则丢弃TRI,返回步骤4.3.8。否则,LEOA执行步骤4.5。
4.5 LEOA的第三计算模块计算卫星会话密钥KLEO,具体步骤是:
4.5.1 LEOA的第三计算模块计算中间第二变量wTE
Figure BDA0003001272900000135
4.5.2 LEOA的第三计算模块计算地面终端TEA的公钥QTE,QTE=H1(IDTE),计算验证变量h'1,h'1=H2(XTE||IDLEO||ttTE)。
4.5.3 LEOA的第三计算模块验证
Figure BDA0003001272900000141
是否成立,若成立,转步骤4.5.4;若不成立,返回步骤4.5。
4.5.4 LEOA的第三计算模块计算卫星会话密钥KLEO
Figure BDA0003001272900000142
4.6经过以上步骤后,LEOA和TEA就协商出了终端会话密钥KTE和卫星会话密钥KLEO。密钥协商过程的正确性证明如下:
Figure BDA0003001272900000143
第五步,地面终端和卫星LEOA配合进行组密钥生成,且LEOA判断通话组成员是不是发生变化,根据变化采取不同的措施。为了生成组密钥,LEOA需要维护一个OFT,树的叶子结点存贮向LEOA注册的地面终端组成员的会话密钥和地面终端到根结点路径上兄弟结点的盲密钥。假设卫星LEOA的OFT共有M个叶子结点,对应共有M个地面终端组成员,分别为TE1,…,TEm,…,TEM,1≤m≤M,地面终端TEm为OFT树中从左至右第m个叶子结点对应的地面终端。地面终端和卫星LEOA配合进行组密钥协商生成组密钥的具体流程是:
5.1 LEOA的第三计算模块计算出OFT中所有结点的结点密钥和盲密钥并存储在LEOA。将OFT中第h层,从左至右为第mh个的结点记为
Figure BDA0003001272900000154
其中H为OFT树的高度,Mh为第h层结点总数,结点
Figure BDA0003001272900000155
的结点密钥记为
Figure BDA0003001272900000156
叶子结点的密钥
Figure BDA0003001272900000157
就是地面终端TE1,TE2,…,TEm,…,TEM的会话密钥
Figure BDA0003001272900000151
具体步骤是:
5.1.1 LEOA的第三计算模块初始化h=H-1,mh=1,mh+1=1。
5.1.2 LEOA的第三计算模块计算叶子结点(即第H层中MH个结点)的盲密钥
Figure BDA0003001272900000152
Figure BDA0003001272900000153
为第H层中第mH个结点的盲密钥,
Figure BDA0003001272900000158
5.1.3 LEOA的第三计算模块计算第h层中第mh个结点的密钥
Figure BDA0003001272900000159
其中
Figure BDA00030012729000001510
分别是结点
Figure BDA00030012729000001511
的盲密钥,
Figure BDA00030012729000001512
然后令mh=mh+1,mh+1=mh+1+2。
5.1.4 LEOA的第三计算模块计算结点
Figure BDA00030012729000001513
的盲密钥
Figure BDA00030012729000001514
Figure BDA00030012729000001515
5.1.5 LEOA的第三计算模块判断是否满足mh>Mh,如果满足,令h=h-1,mh=1,mh+1=1,转步骤5.1.6;如果不满足,返回步骤5.1.3。
5.1.6 LEOA的第三计算模块判断是否满足h<0,如果满足,转步骤5.2;如果不满足,返回步骤5.1.3。
5.2 LEOA的第三计算模块同时向TE1,…,TEm,…,TEM分别发送报文
Figure BDA00030012729000001516
分别包含TE1,…,TEm,…,TEM到根结点路径上兄弟结点的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥
Figure BDA0003001272900000161
加密。例如
Figure BDA0003001272900000162
包含TEm到LEOA路径上兄弟结点的盲密钥以及时间戳ttm LEO,盲密钥用地面终端TEm的会话密钥
Figure BDA0003001272900000163
加密。
5.3TE1,…,TEm,…,TEM分别接收
Figure BDA0003001272900000164
并行计算组密钥。TE1,…,TEm,…,TEM计算组密钥的步骤相同,地面终端TEm计算组密钥的方法是:
5.3.1 TEm的第一密钥管理模块接收LEOA的第三计算模块发来的报文
Figure BDA0003001272900000165
检查当前时刻减去报文
Figure BDA0003001272900000166
上的时间戳ttm LEO的值是否在第二时间阈值内,如果不在第二时间阈值内,丢弃
Figure BDA0003001272900000167
请求LEOA的第三计算模块重新发送报文
Figure BDA0003001272900000168
返回步骤5.3(TE1,…,TEm,…,TEM中只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,就请求LEOA的第三计算模块重新发送丢弃的报文,返回步骤5.3);如果在第二时间阈值内,转步骤5.3.2。
5.3.2 TEm的第一密钥管理模块将报文
Figure BDA0003001272900000169
发送给TEm的第二计算模块。
5.3.3 TEm的第二计算模块用终端会话密钥
Figure BDA00030012729000001610
解密
Figure BDA00030012729000001611
得到TEm到根结点路径上所有兄弟结点的盲密钥。
5.3.4 TEm的第二计算模块计算组密钥K01,K01表示根结点的密钥,为整个通话组的公共密钥。具体步骤是:
5.3.4.1 TEm的第二计算模块初始化变量,即令h=H-1,mh=m。
5.3.4.2 TEm的第二计算模块判断mh是否为奇数,如果是,转步骤5.3.4.3;如果不是,转步骤5.3.4.6。
5.3.4.3 TEm的第二计算模块令mh+1=(mh+1)/2。
5.3.4.4 TEm的第二计算模块计算
Figure BDA0003001272900000171
然后令h=h-1,mh=mh+1
5.3.4.5 TEm的第二计算模块判断是否满足h<0,如果满足,则说明计算出通话组的组密钥K01,转步骤5.4;如果不满足,转步骤5.3.4.2。
5.3.4.6 TEm的第二计算模块令mh+1=mh/2。
5.3.4.7 TEm的第二计算模块计算
Figure BDA0003001272900000172
然后令h=h-1,mh=mh+1
5.3.4.8 TEm的第二计算模块判断是否满足h<0,如果满足,则计算出通话组的组密钥K01,转步骤5.4;如果不满足,转步骤5.3.4.2。
5.4 LEOA的第二密钥管理模块判断是否有新的地面终端需加入通话组,如果有,转第六步;如果没有,转步骤5.5。
5.5 LEOA的第二密钥管理模块判断是否有地面终端需退出通话组,如果有,转第七步;如果没有,转步骤5.6。
5.6 LEOA的第二密钥管理模块判断过顶卫星是否变化,如果变化,转第八步;如果未变化,转步骤5.4。
第六步,当有新的地面终端(记为TEp)向卫星LEOA注册,卫星LEOA判断有新的组成员加入,TEp和卫星LEOA相互配合完成组成员注册,完成会话密钥
Figure BDA0003001272900000173
的协商,并进行组密钥的更新。具体流程是:
6.1当TEp想要加入通话组时,TEp按第四步所述方法和卫星LEOA相互配合完成组成员注册,完成会话密钥
Figure BDA0003001272900000174
的协商。
6.2 LEOA将TEp放置在OFT的叶子结点上,放置的规则是:在OFT中找到密钥路径最短的结点,路径最短结点有多个时,按照先左后右的原则,优先选择最左的路径最短结点,将该结点扩展出左右两个孩子结点,将原本该结点上的地面终端置于左边孩子结点上,将新加入的地面终端TEp置于右边孩子结点上。令TEp下标改为当前OFT中TEp右边终端的下标,令OFT中TEp右边所有的终端下标加一,令地面终端总数M=M+1。
6.3 LEOA的第二密钥管理模块向LEOA的第三计算模块发送含有OFT树变更信息的报文EC
6.4 LEOA的第三计算模块接收报文EC,进行整个通话组的密钥更新和分发。具体步骤是:
6.4.1 LEOA的第三计算模块按5.1所述方法计算出OFT中所有结点的结点密钥和盲密钥并存储在LEOA
6.4.2 LEOA的第三计算模块同时向M个地面终端TE1,…,TEm,…,TEM分发相应的报文
Figure BDA0003001272900000181
Figure BDA0003001272900000182
分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥
Figure BDA0003001272900000183
加密。以TEm(1≤m≤M)作说明,向TEm分发
Figure BDA0003001272900000184
中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥
Figure BDA0003001272900000185
加密(各个地面终端的终端会话密钥在第四步就得到了,之所以加个上撇,是因为加入新终端之后原先各个终端从左至右的位置可能发变化,但是各自的会话密钥仍然是第四步得到的,并没有变化,只是因为每个会话密钥的下标TEm变了,所以用
Figure BDA0003001272900000191
表示)。
6.5 TE1,…,TEm,…,TEM分别接收
Figure BDA0003001272900000192
并行计算组密钥。TE1,…,TEm,…,TEM计算组密钥的步骤相同,地面终端TEm计算组密钥的方法是:
6.5.1TEm的第一密钥管理模块接收
Figure BDA0003001272900000193
检查当前时刻减去
Figure BDA0003001272900000194
上的时间戳的值是否在第二时间阈值内。如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文
Figure BDA0003001272900000195
返回步骤6.5(只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,请求LEOA的第三计算模块只给这些终端重新发送丢弃的报文,返回步骤6.5);如果在,转步骤6.5.2。
6.5.2 TEm的第一密钥管理模块将报文
Figure BDA0003001272900000196
发送给TEm的第二计算模块。
6.5.3 TEm的第二计算模块用终端会话密钥
Figure BDA0003001272900000197
解密
Figure BDA0003001272900000198
得到TEm到根结点路径上所有兄弟结点的盲密钥。
6.5.4 TEm的第二计算模块采用步骤5.3.4所述方法计算新的组密钥K01',返回步骤5.4。
第七步,若有组成员退出时,令需退出的终端为TEq(1≤q≤M),TEq和卫星LEOA配合完成组成员退出,对组密钥进行更新和分发。具体流程是:
7.1 TEq的第一密钥管理模块向卫星LEOA的第二密钥管理模块发送请求退出报文ETEq,报文中包含TEq所在的结点信息和时间戳ttTEq
7.2卫星LEOA的第二密钥管理模块检查当前时刻减去报文ETEq上时间戳的值是否在第三时间阈值内(第三时间阈值是一个表征地面终端给卫星发送消息时延的值,可以设置与第一时间阈值相同)。如果在第三时间阈值内,卫星LEOA的第二密钥管理模块向TEm的第一密钥管理模块发送确认退出报文,将TEq从OFT上去除,并将TEq兄弟结点的终端置于TEq的父结点上,令OFT中原TEq右边所有的终端下标减一,令M=M-1,执行步骤7.3;如果不在第三时间阈值内,返回步骤7.1。
7.3 LEOA的第二密钥管理模块向LEOA的第三计算模块发送含有OFT树变更信息的报文E'C
7.4 LEOA的第三计算模块接收报文E'C,进行整组的密钥更新和分发。具体步骤是:
7.4.1 LEOA的第三计算模块按5.1所述方法计算出OFT中所有结点的结点密钥和盲密钥并存储在LEOA
7.4.2 LEOA的第三计算模块同时向M个地面终端TE1,…,TEm,…,TEM分发相应的报文
Figure BDA0003001272900000201
Figure BDA0003001272900000202
分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…,ttm LEO,…,ttM LEO,盲密钥分别用会话密钥
Figure BDA0003001272900000203
加密。以TEm(1≤m≤M)作说明,向TEm分发
Figure BDA0003001272900000204
中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥
Figure BDA0003001272900000205
加密。(各个地面终端的终端会话密钥在第四步就得到了,之所以加个上两个撇,是因为有终端既定出时原先各个终端从左至右的位置可能发变化,但是各自的会话密钥仍然是第四步得到的,并没有变化,只是因为每个会话密钥的下标变了,所以用
Figure BDA0003001272900000211
表示)
7.5 TE1,…,TEm,…,TEM分别接收
Figure BDA0003001272900000212
并行计算组密钥。TE1,…,TEm,…,TEM计算组密钥的步骤相同,地面终端TEm计算组密钥的方法是:
7.5.1TEm的第一密钥管理模块接收
Figure BDA0003001272900000213
检查当前时刻减去
Figure BDA0003001272900000214
上的时间戳的值是否在第二时间阈值内。如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文
Figure BDA0003001272900000215
返回步骤7.5(只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,请求LEOA的第三计算模块只给这些终端重新发送丢弃的报文,返回步骤7.5);如果在,转步骤7.5.2。
7.5.2 TEm的第一密钥管理模块将报文
Figure BDA0003001272900000216
发送给TEm的第二计算模块。
7.5.3 TEm的第二计算模块用终端会话密钥
Figure BDA0003001272900000217
解密
Figure BDA0003001272900000218
得到TEm到根结点路径上所有兄弟结点的盲密钥。
7.5.4 TEm的第二计算模块采用步骤5.3.4所述方法计算出新的组密钥K01”,返回步骤5.4。
第八步,当过顶卫星发生变化时,OFT树中所有地面终端TE1,…,TEm,…,TEM、卫星LEOA和卫星LEOB配合完成组控制器切换,具体流程是:
8.1 LEOA的第二密钥管理模块将LEOA维护的OFT通过星间链路发送给下一颗过顶卫星LEOB的第二密钥管理模块。
8.2当前过顶卫星LEOA的第二密钥管理模块向地面终端TE,…,TEm,…,TEM同时发送报文
Figure BDA0003001272900000221
报文
Figure BDA0003001272900000222
中包含下一颗过顶卫星LEOB
Figure BDA0003001272900000223
和时间戳
Figure BDA0003001272900000224
8.3地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOA广播的报文
Figure BDA0003001272900000225
后,检查当前时刻减去时间戳
Figure BDA0003001272900000226
的值是否在第二时间阈值内。如果当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳
Figure BDA0003001272900000227
值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将
Figure BDA0003001272900000228
存储在本地,执行步骤8.4;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文
Figure BDA0003001272900000229
转步骤8.3(只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,请求LEOA的第二密钥管理模块只给这些终端重新发送丢弃的报文,返回步骤8.3)。
8.4 LEOB的第二密钥管理模块向地面终端TE1,…,TEm,…,TEM同时广播广播报文
Figure BDA00030012729000002210
报文
Figure BDA00030012729000002211
中包含卫星LEOB
Figure BDA00030012729000002212
和时间戳
Figure BDA00030012729000002213
8.5地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOB广播的报文后,检查当前时刻减去时间戳
Figure BDA00030012729000002214
的值是否在第二时间阈值内。如果当前时刻减去地面终端TE1,…,TEm,…,TEM检查的时间戳
Figure BDA00030012729000002215
的值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将
Figure BDA00030012729000002216
存储在本地,执行步骤8.6;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文
Figure BDA0003001272900000231
转步骤8.5(只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,请求LEOA的第二密钥管理模块只给这些终端重新发送丢弃的报文,返回步骤8.5)。
8.6地面终端TE1,…,TEm,…,TEM的第一密钥管理模块比较两次收到的
Figure BDA0003001272900000232
(即从LEOA收到的
Figure BDA0003001272900000233
和从LEOB收到的
Figure BDA0003001272900000234
)是否一致,如果地面终端TE1,…,TEm,…,TEM第一密钥管理模块比较两次收到的
Figure BDA0003001272900000235
均一致,则说明完成组控制器切换,卫星LEOA退出通话组,卫星LEOB接替卫星LEOA执行组控制器工作,返回步骤5.4;如果存在地面终端TE1,…,TEm,…,TEM中第一密钥管理模块比较两次收到的
Figure BDA0003001272900000236
不一致,转步骤8.1。
采用本发明可以达到以下技术效果:
1.在组成员注册时,每个地面终端都和卫星进行双向认证和会话密钥协商,以确保地面终端的合法性。在组密钥生成、组成员加入、组成员退出和组控制器切换时,卫星和地面终端之间利用注册时协商好的密钥进行加密通信,保证了消息的安全。因此,本发明能够提供机密性服务。
2.在第六步组成员加入时,卫星在新地面终端加入后,对OFT进行更新。新地面终端拥有的盲密钥无法对之前的信息进行解密,从而保证了后向安全性。在第七步组成员退出时,卫星在地面终端退出后,与位于其兄弟结点上的地面终端协商新的密钥,随后对整个OFT进行更新。已退出的地面终端无法根据所拥有的盲密钥对后续的加密信息进行解密,从而保证了前向安全性。
3.认证性:本发明星地之间发送的每条报文都包含相应的签名或者消息认证码,卫星或者地面终端收到报文后,通过对报文上的签名或者消息认证码进行验证,可以确定发送者的身份,从而保证了不可否认性。
4.采用本发明时,星地之间的每条报文都包含对应的时间戳以保证消息的新鲜性。敌手无法通过发送相同的消息来获取卫星或者地面终端的响应。
5.完整性:卫星或者地面终端在收到对方发来的报文后,都需要对报文中的签名和消息认证码的合法性进行验证,从而保证了完整性。
6.本发明具有更小的存储开销和通信开销,同时组控制器切换时,将原本卫星管理的OFT通过星间链路发送给下一颗卫星,也省去了重新构建OFT和生成、分发、更新密钥的开销。
附图说明
图1为单向函数树OFT的说明示意图;
图2为本发明总体流程图;
图3为第一步构建面向低轨卫星网络的组密钥管理系统示意图。
具体实施方式
如图2所示,本发明包括以下步骤:
第一步,构建面向低轨卫星网络的组密钥管理系统。面向低轨卫星网络的组密钥管理系统如图3所示,由密钥生成中心PKG,卫星LEOA,卫星LEOB和地面终端TEA组成。如果有地面终端TEA想要加入组密钥管理系统,首先地面终端TEA向PKG提交选定身份标识ID,申请系统参数的请求和申请私钥的请求,然后PKG根据系统参数和身份标识ID计算出TEA对应的私钥。PKG将TEA对应的私钥和系统参数发送给TEA。如果有卫星LEOA想要加入组密钥管理系统,首先LEOA向PKG提交选定身份标识ID,申请系统参数的请求和申请私钥的请求,然后PKG根据系统参数和身份标识ID计算出LEOA对应的私钥,将LEOA对应的私钥和系统参数发送给LEOA。地面终端TEA向卫星LEOA发送请求加入报文,卫星LEOA收到请求加入报文后,验证请求加入报文是否合法,即验证身份基签名是否正确,身份基签名包含于身份标识ID中。如果合法,卫星LEOA发送确认加入报文给地面终端TEA协商相关的密钥;如果不合法,则拒绝地面终端TEA的加入。当该地面终端TEA想要退出面向低轨卫星网络的组密钥管理系统时,向卫星LEOA发送请求退出报文,卫星LEOA收到请求退出报文后,发送确认退出报文给地面终端TEA同意其离开。当通话组的过顶卫星LEOA发生变化时,需要进行组控制器切换,当前过顶卫星LEOA(即组控制器)将自己维护的OFT发送给下一颗过顶卫星LEOB,并向地面终端TEA广播LEOB的ID。当下一颗过顶卫星LEOB抵达时,向地面终端TEA广播自己的ID。TEA收到后比较从两次收到的ID(即从LEOA收到的ID和从LEOB收到的ID)是否一致。一致则完成组控制器切换,否则重新进行切换。
PKG上安装有系统参数管理模块和第一计算模块,地面终端TEA上安装有第一密钥管理模块和第二计算模块,卫星LEOA和卫星LEOB上安装有第二密钥管理模块和第三计算模块。
PKG的系统参数管理模块与第一计算模块、地面终端TEA的第一密钥管理模块、卫星LEOA的第二密钥管理模块相连。PKG的系统参数管理模块接收卫星LEOA和地面终端TEA发送的选定身份标识ID、申请系统参数的请求和申请私钥的请求,生成系统参数并储存,将系统参数和选定身份标识ID发送给第一计算模块。
PKG的第一计算模块与系统参数管理模块、地面终端TEA的第一密钥管理模块和卫星LEOA的第二密钥管理模块相连,PKG的第一计算模块从系数参数管理模块接收系统参数,根据系统参数和选定身份标识ID计算产生对应的私钥,将系统参数和TEA对应的私钥发送给地面终端TEA,将系统参数和LEOA对应的私钥发送给卫星LEOA
地面终端TEA的第一密钥管理模块与地面终端TEA的第二计算模块、PKG的第一计算模块、卫星LEOA的第二密钥管理模块、卫星LEOA的第三计算模块、卫星LEOB的第二密钥管理模块相连。第一密钥管理模块从第一计算模块接收系统参数和私钥,对系统参数和私钥进行储存,并向第二计算模块发送系统参数和私钥;第一密钥管理模块向卫星LEOA的第二密钥管理模块发送请求加入报文、请求退出报文,提交地面终端加入通话组或退出通话组的请求;第一密钥管理模块从卫星LEOA的第二密钥管理模块接收到确认加入报文、确认退出报文,执行地面终端加入通话组或退出通话组的操作;第一密钥管理模块从卫星LEOA的第三计算模块接收报文LBI,存储报文信息并发送给第二计算模块;第一密钥管理模块从卫星LEOA的第二密钥管理模块接收下一颗过顶卫星LEOB的ID(令为第一ID),储存第一ID;第一密钥管理模块从卫星LEOB的第二密钥管理模块接收卫星LEOB的ID(令为第二ID),储存第二ID并核对第一ID和第二ID是否相同,若相同则确认组控制器切换,若不相同则拒绝组控制器切换。
地面终端TEA的第二计算模块与第一密钥管理模块、卫星LEOA的第二密钥管理模块相连,第二计算模块接收第一密钥管理模块发送的系统参数、私钥和LBI报文信息,计算出与卫星LEOA协商的会话密钥,将包含了会话密钥的报文TRI发送给卫星LEOA的第二密钥管理模块。
卫星LEOA的第二密钥管理模块与卫星LEOA的第三计算模块、PKG的第一计算模块、地面终端TEA的第一密钥管理模块、地面终端TEA的第二计算模块、卫星LEOB的第二密钥管理模块相连,卫星LEOA的第二密钥管理模块从第一计算模块接收系统参数和私钥,对系统参数和私钥进行储存,并向卫星LEOA的第三计算模块发送系统参数和私钥;当卫星LEOA的第二密钥管理模块从TEA收到请求加入报文时,判断TEA的合法性,向第一密钥管理模块发送确认加入报文;当卫星LEOA的第二密钥管理模块从TEA收到请求退出报文时,向第一密钥管理模块发送确认退出报文;当下一颗过顶卫星LEOB到达过顶位置时(一般10-15分钟),卫星LEOA的第二密钥管理模块向第一密钥管理模块发送下一颗过顶卫星LEOB的ID;当第一密钥模块确认组控制器切换时,卫星LEOA的第二密钥管理模块向卫星LEOB的第二密钥管理模块发送维护的单向函数树OFT。
卫星LEOA的第三计算模块与卫星LEOA的第二密钥管理模块、第一密钥管理模块相连,卫星LEOA的第三计算模块从卫星LEOA的第二密钥管理模块接收系统参数和私钥,计算出与地面终端TEA协商的会话密钥,将包含会话密钥的报文LBI发送给地面终端TEA的第一密钥管理模块。
卫星LEOB的第二密钥管理模块到达过顶位置前与地面终端TEA的第一密钥管理模块、卫星LEOA的第二密钥管理模块相连,当卫星LEOB到达过顶位置时,卫星LEOB的第二密钥管理模块向地面终端TEA的第一密钥管理模块发送卫星LEOB的ID;当第一密钥管理模块确认组控制器切换时,卫星LEOB的第二密钥管理模块从卫星LEOA的第二密钥管理模块接收卫星LEOA维护的单向函数树OFT。卫星LEOB的第二密钥管理模块到达过顶位置后连接状态和功能与卫星LEOA的第二密钥管理模块一致。
卫星LEOB的第三计算模块与卫星LEOB的第二密钥管理模块相连,在到达过顶位置前不进行任何工作。卫星LEOB的第三计算模块在到达过顶位置后连接状态和功能与卫星LEOA的第三计算模块相同。
第二步,PKG上的系统参数管理模块根据安全参数产生系统参数和PKG的主密钥,具体流程是:
系统初始化的目的是完成系统参数十元组
Figure BDA0003001272900000281
的生成以及为LEOA和TEA生成对应的私钥。方法是:
2.1系统参数管理模块获得系统管理员输入的安全参数k,k为正整数;
2.2系统参数管理模块使用k作为输入,使用BDH参数生成方法产生安全级别为k位的身份基密码学参数,包括生成元为P、阶为q的加法循环群G1,阶为q的乘法循环群GT(G1、GT为椭圆曲线上的点组成的集合,G1、GT中的元素是椭圆曲线上的点),P∈G1、q∈Zq *,Zq *为正整数集合。椭圆曲线上的双线性映射函数
Figure BDA0003001272900000291
(表示将G1中的某两个元素x,y映射到GT中的某个元素
Figure BDA0003001272900000292
),三个哈希函数:
Figure BDA0003001272900000293
(表示将长度为k2的二进制字符串u映射到G1的元素H1(u)),
Figure BDA0003001272900000294
(表示将长度为k1+n的二进制字符串v映射到Zq *的某个整数H2(v)),
Figure BDA0003001272900000295
(表示将GT的某一个元素映射到长度为k1+k2+n的二进制字符串w)其中k1是G1元素的比特数,k2是地面终端或卫星提交ID的比特数,n是从地面终端或卫星接收明文的比特数。
2.3系统参数管理模块在正整数集合Zq *中随机选取整数s,0<s<q,作为PKG的主密钥。
2.4系统参数管理模块计算系统公钥QTA,QTA=s·P,s是主密钥,P是生成元即原始点,QTA为新的点,其中“·”表示G1中元素P1的标量乘法运算。
2.5系统参数管理模块将十元组
Figure BDA0003001272900000296
作为系统参数公开给PKG的第一计算模块,并把s作为主密钥保存,不泄漏给地面终端TEA和卫星LEOA。虽然P,QTA公开,依据标量乘法运算的性质,无法根据QTA=s·P算出s。g(·)为计算密钥时的单向函数,f(·)为计算密钥时的混合函数。
第三步,地面终端TEA和卫星LEOA的密钥管理模块与PKG相互配合,完成私钥分发,具体流程是:
3.1地面终端TEA的第一密钥管理模块向PKG的系统参数管理模块发送身份标识ID,申请系统参数的请求、申请私钥的请求。同时卫星LEOA的第二密钥管理模块向PKG的系统参数管理模块发送身份标识ID,申请系统参数的请求、申请私钥的请求。需要注意的是,此过程需要在安全的环境下进行。
3.2 PKG的系统参数管理模块验证地面终端TEA和卫星LEOA的设备编号,若设备编号在PKG内置白名单中,则审核通过,转步骤3.3;若审核不通过,向地面终端TEA和卫星LEOA的发送审核不通过的消息,转步骤3.1。
3.3 PKG的第一计算模块利用地面终端TEA的身份标识ID及PKG主密钥s生成地面终端TEA相应的私钥STE,方法是:STE=s·H1(IDTE),IDTE为地面终端TEA的身份标识,即将PKG的主密钥s与H1(IDTE)做标量乘法运算,H1(IDTE)指IDTE的哈希值,将任意长度二进制字符串IDTE映射为一个循环加法群G1的元素。
3.4 PKG的第一计算模块利用卫星LEOA的身份标识ID及PKG主密钥s生成卫星的私钥SLEO,方法是:SLEO=s·H1(IDLEO),H1(IDLEO)指IDLEO的哈希值。
3.5若地面终端TEA和卫星LEOA能与PKG建立安全会话连接,则PKG的系统参数管理模块向地面终端TEA的第一密钥管理模块和卫星LEOA的第二密钥管理模块发送系统参数和私钥,若地面终端TEA和卫星LEOA不能与PKG建立安全会话连接,则PKG的系统参数管理模块通过离线方式向地面终端TEA的第一密钥管理模块和卫星LEOA的第二密钥管理模块发送系统参数和私钥。
第四步,地面终端TEA和卫星LEOA相互配合完成组成员注册,完成会话密钥
Figure BDA0003001272900000311
的协商。方法是:
4.1 LEOA向TEA广播含ID信息、时间戳信息的报文LBI,具体步骤是:
4.1.1 LEOA的第二密钥管理模块随机选择一个整数rLEO,rLEO∈Zq *,将rLEO发送给LEOA的第三计算模块。
4.1.2 LEOA的第三计算模块计算卫星公钥QLEO并储存,QLEO=H1(IDLEO)。
4.1.3 LEOA的第三计算模块计算报文LBI第一变量XLEO,XLEO=rLEOQLEO
4.1.4 LEOA的第三计算模块计算报文LBI第三变量h1和报文LBI第二变量ZLEO,h1=H2(XLEO||IDLEO||ttLEO),ZLEO=(rLEO+h1)SLEO;其中ttLEO是LEO当前的时间戳,SLEO是卫星的私钥。
4.1.5 LEOA的第二密钥管理模块生成报文LBI,LBI=<IDLEO,ttLEO,XLEO,ZLEO,h1>。随后,LEOA向地面终端广播报文LBI。
4.2 TEA的第一密钥管理模块收到LEOA卫星广播的报文LBI后,检查当前时刻减去LBI上的时间戳值是否在第一时间阈值内,第一时间阈值为一个能够表征卫星和地面时延的值,一般可以设置为100ms。如果当前时刻减去LBI上的时间戳值不在第一时间阈值内,则丢弃该报文,返回步骤4.1;如果当前时刻减去LBI上的时间戳值在第一时间阈值内,TEA的第一密钥管理模块将报文LBI发送给TEA的第二计算模块,执行步骤4.3。
4.3 TEA的第二计算模块向LEOA的第二密钥管理模块发送报文TRI和计算终端会话密钥KTE,具体步骤是:
4.3.1 TEA的第二计算模块计算卫星公钥QLEO和第三变量h1,QLEO=H1(IDLEO),h1=H2(XLEO||IDLEO||ttLEO)(||是字符串连接符,XLEO||IDLEO||ttLEO表示将报文LBI第一变量XLEO、卫星的IDLEO和时间戳ttLEO的字符串连接起来)。随后验证
Figure BDA0003001272900000321
是否成立,如果不成立,返回步骤4.1;如果成立,执行步骤4.3.2。
4.3.2 TEA的第一密钥管理模块随机选择一个整数rTE,rTE∈Zq *,将rTE发送给TEA的第二计算模块;
4.3.3 TEA的第二计算模块计算报文TRI第一变量XTE,XTE=rTEQTE
4.3.4TEA的第二计算模块计算验证变量h'1,h'1=H2(XTE||IDLEO||ttTE),计算中间第一变量ZTE,ZTE=(rTE+h'1)STE
4.3.5 TEA的第二计算模块计算中间第二变量wTE
Figure BDA0003001272900000322
计算报文TRI第二变量YTE
Figure BDA0003001272900000323
Figure BDA0003001272900000324
是异或运算符;
4.3.6 TEA的第二计算模块生成报文TRI,TRI=<ttTE,XTE,YTE>。
4.3.7 TEA的第二计算模块计算终端会话密钥KTE
Figure BDA0003001272900000325
4.3.8 TEA的第二计算模块将报文TRI发送给LEOA的第二密钥管理模块。
4.4 LEOA的第二密钥管理模块收到报文TRI后,检查当前时刻减去TRI上的时间戳值是否在第二时间阈值内(第二时间阈值设置为与第一时间阈值相同的值),如果不在,则丢弃TRI,返回步骤4.3.8。否则,LEOA执行步骤4.5。
4.5 LEOA的第三计算模块计算卫星会话密钥KLEO,具体步骤是:
4.5.1 LEOA的第三计算模块计算中间第二变量wTE
Figure BDA0003001272900000331
4.5.2 LEOA的第三计算模块计算地面终端TEA的公钥QTE,QTE=H1(IDTE),计算验证变量h'1,h'1=H2(XTE||IDLEO||ttTE)。
4.5.3 LEOA的第三计算模块验证
Figure BDA0003001272900000332
是否成立,若成立,转步骤4.5.4;若不成立,返回步骤4.5。
4.5.4 LEOA的第三计算模块计算卫星会话密钥KLEO
Figure BDA0003001272900000333
4.6经过以上步骤后,LEOA和TEA就协商出了终端会话密钥KTE和卫星会话密钥KLEO
第五步,地面终端和卫星LEOA配合进行组密钥生成,且LEOA判断通话组成员是不是发生变化,根据变化采取不同的措施。为了生成组密钥,LEOA需要维护一个OFT,树的叶子结点存贮向LEOA注册的地面终端组成员的会话密钥和地面终端到根结点路径上兄弟结点的盲密钥。假设卫星LEOA的OFT共有M个叶子结点,对应共有M个地面终端组成员,分别为TE1,…,TEm,…,TEM,1≤m≤M,地面终端TEm为OFT树中从左至右第m个叶子结点对应的地面终端。地面终端和卫星LEOA配合进行组密钥协商生成组密钥的具体流程是:
5.1 LEOA的第三计算模块计算出OFT中所有结点的结点密钥和盲密钥并存储在LEOA。将OFT中第h层,从左至右为第mh个的结点记为
Figure BDA0003001272900000341
其中H为OFT树的高度,Mh为第h层结点总数,结点
Figure BDA0003001272900000342
的结点密钥记为
Figure BDA0003001272900000343
叶子结点的密钥
Figure BDA0003001272900000344
就是地面终端TE1,TE2,…,TEm,…,TEM的会话密钥
Figure BDA0003001272900000345
具体步骤是:
5.1.1 LEOA的第三计算模块初始化h=H-1,mh=1,mh+1=1。
5.1.2 LEOA的第三计算模块计算叶子结点(即第H层中MH个结点)的盲密钥
Figure BDA0003001272900000346
Figure BDA0003001272900000347
为第H层中第mH个结点的盲密钥,
Figure BDA0003001272900000348
5.1.3 LEOA的第三计算模块计算第h层中第mh个结点的密钥
Figure BDA0003001272900000349
其中
Figure BDA00030012729000003410
分别是结点
Figure BDA00030012729000003411
的盲密钥,
Figure BDA00030012729000003412
然后令mh=mh+1,mh+1=mh+1+2。
5.1.4 LEOA的第三计算模块计算结点
Figure BDA00030012729000003413
的盲密钥
Figure BDA00030012729000003414
Figure BDA00030012729000003415
5.1.5 LEOA的第三计算模块判断是否满足mh>Mh,如果满足,令h=h-1,mh=1,mh+1=1,转步骤5.1.6;如果不满足,返回步骤5.1.3。
5.1.6 LEOA的第三计算模块判断是否满足h<0,如果满足,转步骤5.2;如果不满足,返回步骤5.1.3。
5.2 LEOA的第三计算模块同时向TE1,…,TEm,…,TEM分别发送报文
Figure BDA0003001272900000351
分别包含TE1,…,TEm,…,TEM到根结点路径上兄弟结点的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥
Figure BDA0003001272900000352
加密。例如
Figure BDA0003001272900000353
包含TEm到LEOA路径上兄弟结点的盲密钥以及时间戳ttm LEO,盲密钥用地面终端TEm的会话密钥
Figure BDA0003001272900000354
加密。
5.3TE1,…,TEm,…,TEM分别接收
Figure BDA0003001272900000355
并行计算组密钥。TE1,…,TEm,…,TEM计算组密钥的步骤相同,地面终端TEm计算组密钥的方法是:
5.3.1 TEm的第一密钥管理模块接收LEOA的第三计算模块发来的报文
Figure BDA0003001272900000356
检查当前时刻减去报文
Figure BDA0003001272900000357
上的时间戳ttm LEO的值是否在第二时间阈值内,如果不在第二时间阈值内,丢弃
Figure BDA0003001272900000358
请求LEOA的第三计算模块重新发送报文
Figure BDA0003001272900000359
返回步骤5.3(TE1,…,TEm,…,TEM中只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,就请求LEOA的第三计算模块重新发送丢弃的报文,返回步骤5.3);如果在第二时间阈值内,转步骤5.3.2。
5.3.2 TEm的第一密钥管理模块将报文
Figure BDA00030012729000003510
发送给TEm的第二计算模块。
5.3.3 TEm的第二计算模块用终端会话密钥
Figure BDA00030012729000003511
解密
Figure BDA00030012729000003512
得到TEm到根结点路径上所有兄弟结点的盲密钥。
5.3.4 TEm的第二计算模块计算组密钥K01,K01表示根结点的密钥,为整个通话组的公共密钥。具体步骤是:
5.3.4.1 TEm的第二计算模块初始化变量,即令h=H-1,mh=m。
5.3.4.2 TEm的第二计算模块判断mh是否为奇数,如果是,转步骤5.3.4.3;如果不是,转步骤5.3.4.6。
5.3.4.3 TEm的第二计算模块令mh+1=(mh+1)/2。
5.3.4.4 TEm的第二计算模块计算
Figure BDA0003001272900000361
然后令h=h-1,mh=mh+1
5.3.4.5 TEm的第二计算模块判断是否满足h<0,如果满足,则说明计算出通话组的组密钥K01,转步骤5.4;如果不满足,转步骤5.3.4.2。
5.3.4.6 TEm的第二计算模块令mh+1=mh/2。
5.3.4.7 TEm的第二计算模块计算
Figure BDA0003001272900000362
然后令h=h-1,mh=mh+1
5.3.4.8 TEm的第二计算模块判断是否满足h<0,如果满足,则计算出通话组的组密钥K01,转步骤5.4;如果不满足,转步骤5.3.4.2。
5.4 LEOA的第二密钥管理模块判断是否有新的地面终端需加入通话组,如果有,转第六步;如果没有,转步骤5.5。
5.5 LEOA的第二密钥管理模块判断是否有地面终端需退出通话组,如果有,转第七步;如果没有,转步骤5.6。
5.6 LEOA的第二密钥管理模块判断过顶卫星是否变化,如果变化,转第八步;如果未变化,转步骤5.4。
第六步,当有新的地面终端(记为TEp)向卫星LEOA注册,卫星LEOA判断有新的组成员加入,TEp和卫星LEOA相互配合完成组成员注册,完成会话密钥
Figure BDA0003001272900000371
的协商,并进行组密钥的更新。具体流程是:
6.1当TEp想要加入通话组时,TEp按第四步所述方法和卫星LEOA相互配合完成组成员注册,完成会话密钥
Figure BDA0003001272900000372
的协商。
6.2 LEOA将TEp放置在OFT的叶子结点上,放置的规则是:在OFT中找到密钥路径最短的结点,路径最短结点有多个时,按照先左后右的原则,优先选择最左的路径最短结点,将该结点扩展出左右两个孩子结点,将原本该结点上的地面终端置于左边孩子结点上,将新加入的地面终端TEp置于右边孩子结点上。令TEp下标改为当前OFT中TEp右边终端的下标,令OFT中TEp右边所有的终端下标加一,令地面终端总数M=M+1。
6.3 LEOA的第二密钥管理模块向LEOA的第三计算模块发送含有OFT树变更信息的报文EC
6.4 LEOA的第三计算模块接收报文EC,进行整个通话组的密钥更新和分发。具体步骤是:
6.4.1 LEOA的第三计算模块按5.1所述方法计算出OFT中所有结点的结点密钥和盲密钥并存储在LEOA
6.4.2 LEOA的第三计算模块同时向M个地面终端TE1,…,TEm,…,TEM分发相应的报文
Figure BDA0003001272900000373
分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥
Figure BDA0003001272900000381
加密。以TEm(1≤m≤M)作说明,向TEm分发
Figure BDA0003001272900000382
中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥
Figure BDA0003001272900000383
加密(各个地面终端的终端会话密钥在第四步就得到了,之所以加个上撇,是因为加入新终端之后原先各个终端从左至右的位置可能发变化,但是各自的会话密钥仍然是第四步得到的,并没有变化,只是因为每个会话密钥的下标TEm变了,所以用
Figure BDA0003001272900000384
表示)。
6.5 TE1,…,TEm,…,TEM分别接收
Figure BDA0003001272900000385
并行计算组密钥。TE1,…,TEm,…,TEM计算组密钥的步骤相同,地面终端TEm计算组密钥的方法是:
6.5.1TEm的第一密钥管理模块接收
Figure BDA0003001272900000386
检查当前时刻减去
Figure BDA0003001272900000387
上的时间戳的值是否在第二时间阈值内。如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文
Figure BDA0003001272900000388
返回步骤6.5(只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,请求LEOA的第三计算模块只给这些终端重新发送丢弃的报文,返回步骤6.5);如果在,转步骤6.5.2。
6.5.2 TEm的第一密钥管理模块将报文
Figure BDA0003001272900000389
发送给TEm的第二计算模块。
6.5.3 TEm的第二计算模块用终端会话密钥
Figure BDA00030012729000003810
解密
Figure BDA00030012729000003811
得到TEm到根结点路径上所有兄弟结点的盲密钥。
6.5.4 TEm的第二计算模块采用步骤5.3.4所述方法计算新的组密钥K01',返回步骤5.4。
第七步,若有组成员退出时,令需退出的终端为TEq(1≤q≤M),TEq和卫星LEOA配合完成组成员退出,对组密钥进行更新和分发。具体流程是:
7.1 TEq的第一密钥管理模块向卫星LEOA的第二密钥管理模块发送请求退出报文ETEq,报文中包含TEq所在的结点信息和时间戳ttTEq
7.2卫星LEOA的第二密钥管理模块检查当前时刻减去报文ETEq上时间戳的值是否在第三时间阈值内(第三时间阈值设置为与第一时间阈值相同)。如果在第三时间阈值内,卫星LEOA的第二密钥管理模块向TEm的第一密钥管理模块发送确认退出报文,将TEq从OFT上去除,并将TEq兄弟结点的终端置于TEq的父结点上,令OFT中原TEq右边所有的终端下标减一,令M=M-1,执行步骤7.3;如果不在第三时间阈值内,返回步骤7.1。
7.3 LEOA的第二密钥管理模块向LEOA的第三计算模块发送含有OFT树变更信息的报文E'C
7.4 LEOA的第三计算模块接收报文E'C,进行整组的密钥更新和分发。具体步骤是:
7.4.1 LEOA的第三计算模块按5.1所述方法计算出OFT中所有结点的结点密钥和盲密钥并存储在LEOA
7.4.2 LEOA的第三计算模块同时向M个地面终端TE1,…,TEm,…,TEM分发相应的报文
Figure BDA0003001272900000391
Figure BDA0003001272900000392
分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…,ttm LEO,…,ttM LEO,盲密钥分别用会话密钥
Figure BDA0003001272900000401
加密。以TEm(1≤m≤M)作说明,向TEm分发
Figure BDA0003001272900000402
中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥
Figure BDA0003001272900000403
加密。
7.5 TE1,…,TEm,…,TEM分别接收
Figure BDA0003001272900000404
并行计算组密钥。TE1,…,TEm,…,TEM计算组密钥的步骤相同,地面终端TEm计算组密钥的方法是:
7.5.1TEm的第一密钥管理模块接收
Figure BDA0003001272900000405
检查当前时刻减去
Figure BDA0003001272900000406
上的时间戳的值是否在第二时间阈值内。如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文
Figure BDA0003001272900000407
返回步骤7.5;如果在,转步骤7.5.2。
7.5.2 TEm的第一密钥管理模块将报文
Figure BDA0003001272900000408
发送给TEm的第二计算模块。
7.5.3 TEm的第二计算模块用终端会话密钥
Figure BDA0003001272900000409
解密
Figure BDA00030012729000004010
得到TEm到根结点路径上所有兄弟结点的盲密钥。
7.5.4 TEm的第二计算模块采用步骤5.3.4所述方法计算出新的组密钥K01”,返回步骤5.4。
第八步,当过顶卫星发生变化时,OFT树中所有地面终端TE1,…,TEm,…,TEM、卫星LEOA和卫星LEOB配合完成组控制器切换,具体流程是:
8.1 LEOA的第二密钥管理模块将LEOA维护的OFT通过星间链路发送给下一颗过顶卫星LEOB的第二密钥管理模块。
8.2当前过顶卫星LEOA的第二密钥管理模块向地面终端TE,…,TEm,…,TEM同时发送报文
Figure BDA0003001272900000411
报文
Figure BDA0003001272900000412
中包含下一颗过顶卫星LEOB
Figure BDA0003001272900000413
和时间戳
Figure BDA0003001272900000414
8.3地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOA广播的报文
Figure BDA0003001272900000415
后,检查当前时刻减去时间戳
Figure BDA0003001272900000416
的值是否在第二时间阈值内。如果当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳
Figure BDA0003001272900000417
值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将
Figure BDA0003001272900000418
存储在本地,执行步骤8.4;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文
Figure BDA0003001272900000419
转步骤8.3。
8.4 LEOB的第二密钥管理模块向地面终端TE1,…,TEm,…,TEM同时广播广播报文
Figure BDA00030012729000004110
报文
Figure BDA00030012729000004111
中包含卫星LEOB
Figure BDA00030012729000004112
和时间戳
Figure BDA00030012729000004113
8.5地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOB广播的报文后,检查当前时刻减去时间戳
Figure BDA00030012729000004114
的值是否在第二时间阈值内。如果当前时刻减去地面终端TE1,…,TEm,…,TEM检查的时间戳
Figure BDA00030012729000004115
的值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将
Figure BDA00030012729000004116
存储在本地,执行步骤8.6;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文
Figure BDA00030012729000004117
转步骤8.5。
8.6地面终端TE1,…,TEm,…,TEM的第一密钥管理模块比较两次收到的
Figure BDA00030012729000004118
(即从LEOA收到的
Figure BDA00030012729000004119
和从LEOB收到的
Figure BDA00030012729000004120
)是否一致,如果地面终端TE1,…,TEm,…,TEM第一密钥管理模块比较两次收到的
Figure BDA0003001272900000421
均一致,则说明完成组控制器切换,卫星LEOA退出通话组,卫星LEOB接替卫星LEOA执行组控制器工作,返回步骤5.4;如果存在地面终端TE1,…,TEm,…,TEM中第一密钥管理模块比较两次收到的
Figure BDA0003001272900000422
不一致,转步骤8.1。

Claims (7)

1.一种面向低轨卫星网络的组密钥管理方法,其特征在于包括以下步骤:
第一步,构建面向低轨卫星网络的组密钥管理系统;面向低轨卫星网络的组密钥管理系统由密钥生成中心PKG,卫星LEOA,卫星LEOB和地面终端TEA组成;若有地面终端TEA想要加入组密钥管理系统,首先地面终端TEA向PKG提交选定身份标识ID,申请系统参数的请求和申请私钥的请求,然后PKG根据系统参数和身份标识ID计算出TEA对应的私钥;PKG将TEA对应的私钥和系统参数发送给TEA;若有卫星LEOA想要加入组密钥管理系统,首先LEOA向PKG提交选定身份标识ID,申请系统参数的请求和申请私钥的请求,然后PKG根据系统参数和身份标识ID计算出LEOA对应的私钥,将LEOA对应的私钥和系统参数发送给LEOA;地面终端TEA向卫星LEOA发送请求加入报文,卫星LEOA收到请求加入报文后,验证请求加入报文是否合法,即验证身份基签名是否正确,身份基签名包含于身份标识ID中;如果合法,卫星LEOA发送确认加入报文给地面终端TEA协商相关的密钥;如果不合法,则拒绝地面终端TEA的加入;当该地面终端TEA想要退出面向低轨卫星网络的组密钥管理系统时,向卫星LEOA发送请求退出报文,卫星LEOA收到请求退出报文后,发送确认退出报文给地面终端TEA同意其离开;当通话组的过顶卫星LEOA发生变化时,需要进行组控制器切换,当前过顶卫星LEOA即组控制器将自己维护的OFT发送给下一颗过顶卫星LEOB,并向地面终端TEA广播LEOB的ID;当下一颗过顶卫星LEOB抵达时,向地面终端TEA广播自己的ID;TEA收到后比较从两次收到的ID是否一致;一致则完成组控制器切换,否则重新进行切换;
PKG上安装有系统参数管理模块和第一计算模块,地面终端TEA上安装有第一密钥管理模块和第二计算模块,卫星LEOA和卫星LEOB上安装有第二密钥管理模块和第三计算模块;
PKG的系统参数管理模块与第一计算模块、地面终端TEA的第一密钥管理模块、卫星LEOA的第二密钥管理模块相连;PKG的系统参数管理模块接收卫星LEOA和地面终端TEA发送的选定身份标识ID、申请系统参数的请求和申请私钥的请求,生成系统参数并储存,将系统参数和选定身份标识ID发送给第一计算模块;
PKG的第一计算模块与系统参数管理模块、地面终端TEA的第一密钥管理模块和卫星LEOA的第二密钥管理模块相连,PKG的第一计算模块从系数参数管理模块接收系统参数,根据系统参数和选定身份标识ID计算产生对应的私钥,将系统参数和TEA对应的私钥发送给地面终端TEA,将系统参数和LEOA对应的私钥发送给卫星LEOA
地面终端TEA的第一密钥管理模块与地面终端TEA的第二计算模块、PKG的第一计算模块、卫星LEOA的第二密钥管理模块、卫星LEOA的第三计算模块、卫星LEOB的第二密钥管理模块相连;第一密钥管理模块从第一计算模块接收系统参数和私钥,对系统参数和私钥进行储存,并向第二计算模块发送系统参数和私钥;第一密钥管理模块向卫星LEOA的第二密钥管理模块发送请求加入报文、请求退出报文,提交地面终端加入通话组或退出通话组的请求;第一密钥管理模块从卫星LEOA的第二密钥管理模块接收到确认加入报文、确认退出报文,执行地面终端加入通话组或退出通话组的操作;第一密钥管理模块从卫星LEOA的第三计算模块接收报文LBI,存储报文信息并发送给第二计算模块;第一密钥管理模块从卫星LEOA的第二密钥管理模块接收下一颗过顶卫星LEOB的ID即第一ID,储存第一ID;第一密钥管理模块从卫星LEOB的第二密钥管理模块接收卫星LEOB的ID即第二ID,储存第二ID并核对第一ID和第二ID是否相同,若相同则确认组控制器切换,若不相同则拒绝组控制器切换;
地面终端TEA的第二计算模块与第一密钥管理模块、卫星LEOA的第二密钥管理模块相连,第二计算模块接收第一密钥管理模块发送的系统参数、私钥和LBI报文信息,计算出与卫星LEOA协商的会话密钥,将包含了会话密钥的报文TRI发送给卫星LEOA的第二密钥管理模块;
卫星LEOA的第二密钥管理模块与卫星LEOA的第三计算模块、PKG的第一计算模块、地面终端TEA的第一密钥管理模块、地面终端TEA的第二计算模块、卫星LEOB的第二密钥管理模块相连,卫星LEOA的第二密钥管理模块从第一计算模块接收系统参数和私钥,对系统参数和私钥进行储存,并向卫星LEOA的第三计算模块发送系统参数和私钥;当卫星LEOA的第二密钥管理模块从TEA收到请求加入报文时,判断TEA的合法性,向第一密钥管理模块发送确认加入报文;当卫星LEOA的第二密钥管理模块从TEA收到请求退出报文时,向第一密钥管理模块发送确认退出报文;当下一颗过顶卫星LEOB到达过顶位置时,卫星LEOA的第二密钥管理模块向第一密钥管理模块发送下一颗过顶卫星LEOB的ID;当第一密钥模块确认组控制器切换时,卫星LEOA的第二密钥管理模块向卫星LEOB的第二密钥管理模块发送维护的单向函数树OFT;
卫星LEOA的第三计算模块与卫星LEOA的第二密钥管理模块、第一密钥管理模块相连,卫星LEOA的第三计算模块从卫星LEOA的第二密钥管理模块接收系统参数和私钥,计算出与地面终端TEA协商的会话密钥,将包含会话密钥的报文LBI发送给地面终端TEA的第一密钥管理模块;
卫星LEOB的第二密钥管理模块到达过顶位置前与地面终端TEA的第一密钥管理模块、卫星LEOA的第二密钥管理模块相连,当卫星LEOB到达过顶位置时,卫星LEOB的第二密钥管理模块向地面终端TEA的第一密钥管理模块发送卫星LEOB的ID;当第一密钥管理模块确认组控制器切换时,卫星LEOB的第二密钥管理模块从卫星LEOA的第二密钥管理模块接收卫星LEOA维护的单向函数树OFT;卫星LEOB的第二密钥管理模块到达过顶位置后连接状态和功能与卫星LEOA的第二密钥管理模块一致;
卫星LEOB的第三计算模块与卫星LEOB的第二密钥管理模块相连,在到达过顶位置前不进行任何工作;卫星LEOB的第三计算模块在到达过顶位置后连接状态和功能与卫星LEOA的第三计算模块相同;
第二步,PKG上的系统参数管理模块根据安全参数产生系统参数和PKG的主密钥,具体流程是:
2.1系统参数管理模块获得系统管理员输入的安全参数k,k为正整数;
2.2系统参数管理模块使用k作为输入,使用BDH参数生成方法产生安全级别为k位的身份基密码学参数,包括生成元为P、阶为q的加法循环群G1,阶为q的乘法循环群GT,G1、GT为椭圆曲线上的点组成的集合,G1、GT中的元素是椭圆曲线上的点,P∈G1、q∈Zq *,Zq *为正整数集合;椭圆曲线上的双线性映射函数
Figure FDA0003001272890000051
表示将G1中的某两个元素x,y映射到GT中的某个元素
Figure FDA0003001272890000052
三个哈希函数:
Figure FDA0003001272890000053
表示将长度为k2的二进制字符串u映射到G1的元素H1(u));
Figure FDA0003001272890000054
表示将长度为k1+n的二进制字符串v映射到Zq *的某个整数H2(v);
Figure FDA0003001272890000055
表示将GT的某一个元素映射到长度为k1+k2+n的二进制字符串w;其中k1是G1元素的比特数,k2是地面终端或卫星提交ID的比特数,n是从地面终端或卫星接收明文的比特数;
2.3系统参数管理模块在正整数集合Zq *中随机选取整数s,0<s<q,作为PKG的主密钥;
2.4系统参数管理模块计算系统公钥QTA,QTA=s·P,s是主密钥,P是生成元即原始点,QTA为新的点,其中“·”表示G1中元素P1的标量乘法运算;
2.5系统参数管理模块将十元组
Figure FDA0003001272890000056
作为系统参数公开给PKG的第一计算模块,并把s作为主密钥保存,不泄漏给地面终端TEA和卫星LEOA;g(·)为计算密钥时的单向函数,f(·)为计算密钥时的混合函数;
第三步,地面终端TEA和卫星LEOA的密钥管理模块与PKG相互配合,完成私钥分发,具体流程是:
3.1地面终端TEA的第一密钥管理模块向PKG的系统参数管理模块发送身份标识ID,申请系统参数的请求、申请私钥的请求;同时卫星LEOA的第二密钥管理模块向PKG的系统参数管理模块发送身份标识ID,申请系统参数的请求、申请私钥的请求;
3.2 PKG的系统参数管理模块验证地面终端TEA和卫星LEOA的设备编号,若设备编号在PKG内置白名单中,则审核通过,转步骤3.3;若审核不通过,向地面终端TEA和卫星LEOA的发送审核不通过的消息,转步骤3.1;
3.3 PKG的第一计算模块利用地面终端TEA的身份标识IDTE及PKG主密钥s生成地面终端TEA相应的私钥STE
3.4 PKG的第一计算模块利用卫星LEOA的身份标识IDLEO及PKG主密钥s生成卫星的私钥SLEO
3.5若地面终端TEA和卫星LEOA能与PKG建立安全会话连接,则PKG的系统参数管理模块向地面终端TEA的第一密钥管理模块和卫星LEOA的第二密钥管理模块发送系统参数和私钥,若地面终端TEA和卫星LEOA不能与PKG建立安全会话连接,则PKG的系统参数管理模块通过离线方式向地面终端TEA的第一密钥管理模块和卫星LEOA的第二密钥管理模块发送系统参数和私钥;
第四步,地面终端TEA和卫星LEOA相互配合完成组成员注册,完成会话密钥
Figure FDA0003001272890000061
的协商,方法是:
4.1 LEOA向TEA广播含ID信息、时间戳信息的报文LBI,LBI=<IDLEO,ttLEO,XLEO,ZLEO,h1>,ttLEO是LEO当前的时间戳,XLEO是报文LBI第一变量XLEO,XLEO=rLEOQLEO,QLEO是卫星公钥,rLEO是整数,ZLEO是报文LBI第二变量,h1是报文LBI第三变量;
4.2 TEA的第一密钥管理模块收到LEOA卫星广播的报文LBI后,检查当前时刻减去LBI上的时间戳值是否在第一时间阈值内;如果当前时刻减去LBI上的时间戳值不在第一时间阈值内,则丢弃该报文,返回步骤4.1;如果当前时刻减去LBI上的时间戳值在第一时间阈值内,TEA的第一密钥管理模块将报文LBI发送给TEA的第二计算模块,执行步骤4.3;
4.3 TEA的第二计算模块向LEOA的第二密钥管理模块发送报文TRI和计算终端会话密钥KTE,具体步骤是:
4.3.1 TEA的第二计算模块计算卫星公钥QLEO和第三变量h1,QLEO=H1(IDLEO),h1=H2(XLEO||IDLEO||ttLEO),||是字符串连接符;随后验证
Figure FDA0003001272890000071
是否成立,如果不成立,返回步骤4.1;如果成立,执行步骤4.3.2;
4.3.2 TEA的第一密钥管理模块随机选择一个整数rTE,rTE∈Zq *,将rTE发送给TEA的第二计算模块;
4.3.3 TEA的第二计算模块计算报文TRI第一变量XTE,XTE=rTEQTE
4.3.4 TEA的第二计算模块计算验证变量h'1,h'1=H2(XTE||IDLEO||ttTE),计算中间第一变量ZTE,ZTE=(rTE+h'1)STE
4.3.5 TEA的第二计算模块计算中间第二变量wTE
Figure FDA0003001272890000081
计算报文TRI第二变量YTE
Figure FDA0003001272890000082
Figure FDA0003001272890000083
是异或运算符;
4.3.6 TEA的第二计算模块生成报文TRI,TRI=<ttTE,XTE,YTE>;
4.3.7 TEA的第二计算模块计算终端会话密钥KTE
Figure FDA0003001272890000084
4.3.8 TEA的第二计算模块将报文TRI发送给LEOA的第二密钥管理模块;
4.4 LEOA的第二密钥管理模块收到报文TRI后,检查当前时刻减去TRI上的时间戳值是否在第二时间阈值内,如果不在,则丢弃TRI,返回步骤4.3.8;否则,LEOA执行步骤4.5;
4.5 LEOA的第三计算模块计算卫星会话密钥KLEO,具体步骤是:
4.5.1 LEOA的第三计算模块计算中间第二变量wTE
Figure FDA0003001272890000085
4.5.2 LEOA的第三计算模块计算地面终端TEA的公钥QTE,QTE=H1(IDTE),计算验证变量h'1,h'1=H2(XTE||IDLEO||ttTE);
4.5.3 LEOA的第三计算模块验证
Figure FDA0003001272890000086
是否成立,若成立,转步骤4.5.4;若不成立,返回步骤4.5.1;
4.5.4 LEOA的第三计算模块计算卫星会话密钥KLEO
Figure FDA0003001272890000087
4.6经过以上步骤后,LEOA和TEA协商出了终端会话密钥KTE和卫星会话密钥KLEO
第五步,地面终端和卫星LEOA配合进行组密钥生成,且LEOA判断通话组成员是不是发生变化,根据变化采取不同的措施;LEOA维护一个OFT,树的叶子结点存贮向LEOA注册的地面终端组成员的会话密钥和地面终端到根结点路径上兄弟结点的盲密钥;假设卫星LEOA的OFT共有M个叶子结点,对应共有M个地面终端组成员,分别为TE1,…,TEm,…,TEM,1≤m≤M,地面终端TEm为OFT树中从左至右第m个叶子结点对应的地面终端;地面终端和卫星LEOA配合进行组密钥协商,生成组密钥的具体流程是:
5.1 LEOA的第三计算模块计算出OFT中所有结点的结点密钥和盲密钥并存储在LEOA;将OFT中第h层,从左至右为第mh个的结点记为
Figure FDA0003001272890000091
0≤h≤H,1≤mh≤Mh,其中H为OFT树的高度,Mh为第h层结点总数,结点
Figure FDA0003001272890000092
的结点密钥记为
Figure FDA0003001272890000093
叶子结点的密钥
Figure FDA0003001272890000094
就是地面终端TE1,TE2,…,TEm,…,TEM的会话密钥
Figure FDA0003001272890000095
第h层中第mh个结点
Figure FDA0003001272890000096
的盲密钥为
Figure FDA0003001272890000097
5.2 LEOA的第三计算模块同时向TE1,…,TEm,…,TEM分别发送报文
Figure FDA0003001272890000098
分别包含TE1,…,TEm,…,TEM到根结点路径上兄弟结点的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥
Figure FDA0003001272890000099
加密;
5.3 TE1,…,TEm,…,TEM分别接收
Figure FDA00030012728900000910
并行计算组密钥;TE1,…,TEm,…,TEM计算组密钥的步骤相同,地面终端TEm计算组密钥的方法是:
5.3.1 TEm的第一密钥管理模块接收LEOA的第三计算模块发来的报文
Figure FDA0003001272890000101
检查当前时刻减去报文
Figure FDA0003001272890000102
上的时间戳ttm LEO的值是否在第二时间阈值内,如果不在第二时间阈值内,丢弃
Figure FDA0003001272890000103
请求LEOA的第三计算模块重新发送报文
Figure FDA0003001272890000104
返回步骤5.3;如果在第二时间阈值内,转步骤5.3.2;
5.3.2 TEm的第一密钥管理模块将报文
Figure FDA0003001272890000105
发送给TEm的第二计算模块;
5.3.3 TEm的第二计算模块用终端会话密钥
Figure FDA0003001272890000106
解密
Figure FDA0003001272890000107
得到TEm到根结点路径上所有兄弟结点的盲密钥;
5.3.4 TEm的第二计算模块计算组密钥K01,K01表示根结点的密钥,为整个通话组的公共密钥;具体步骤是:
5.3.4.1 TEm的第二计算模块初始化变量,即令h=H-1,mh=m;
5.3.4.2 TEm的第二计算模块判断mh是否为奇数,如果是,转步骤5.3.4.3;如果不是,转步骤5.3.4.6;
5.3.4.3 TEm的第二计算模块令mh+1=(mh+1)/2;
5.3.4.4 TEm的第二计算模块计算
Figure FDA0003001272890000108
然后令h=h-1,mh=mh+1
5.3.4.5 TEm的第二计算模块判断是否满足h<0,如果满足,则说明计算出通话组的组密钥K01,转步骤5.4;如果不满足,转步骤5.3.4.2;
5.3.4.6 TEm的第二计算模块令mh+1=mh/2;
5.3.4.7 TEm的第二计算模块计算
Figure FDA0003001272890000109
然后令h=h-1,mh=mh+1
5.3.4.8 TEm的第二计算模块判断是否满足h<0,如果满足,则计算出通话组的组密钥K01,转步骤5.4;如果不满足,转步骤5.3.4.2;
5.4 LEOA的第二密钥管理模块判断是否有新的地面终端需加入通话组,如果有,转第六步;如果没有,转步骤5.5;
5.5 LEOA的第二密钥管理模块判断是否有地面终端需退出通话组,如果有,转第七步;如果没有,转步骤5.6;
5.6 LEOA的第二密钥管理模块判断过顶卫星是否变化,如果变化,转第八步;如果未变化,转步骤5.4;
第六步,当有新的地面终端TEp向卫星LEOA注册,卫星LEOA判断有新的组成员加入,TEp和卫星LEOA相互配合完成组成员注册,完成会话密钥
Figure FDA0003001272890000111
的协商,并进行组密钥的更新;具体流程是:
6.1当TEp想要加入通话组时,TEp按第四步所述方法和卫星LEOA相互配合完成组成员注册,完成会话密钥
Figure FDA0003001272890000112
的协商;
6.2 LEOA将TEp放置在OFT的叶子结点上,令TEp下标改为当前OFT中TEp右边终端的下标,令OFT中TEp右边所有的终端下标加一,令地面终端总数M=M+1;
6.3 LEOA的第二密钥管理模块向LEOA的第三计算模块发送含有OFT树变更信息的报文EC
6.4 LEOA的第三计算模块接收报文EC,进行整个通话组的密钥更新和分发;具体步骤是:
6.4.1 LEOA的第三计算模块按5.1所述方法计算出OFT中所有结点的结点密钥和盲密钥并存储在LEOA
6.4.2 LEOA的第三计算模块同时向M个地面终端TE1,…,TEm,…,TEM分发相应的报文
Figure FDA0003001272890000121
分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥
Figure FDA0003001272890000122
加密;即LEOA的第三计算模块向TEm分发
Figure FDA0003001272890000123
Figure FDA0003001272890000124
中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥
Figure FDA0003001272890000125
加密;
6.5 TE1,…,TEm,…,TEM分别接收
Figure FDA0003001272890000126
并行计算组密钥;TE1,…,TEm,…,TEM计算组密钥的步骤相同,地面终端TEm计算组密钥的方法是:
6.5.1 TEm的第一密钥管理模块接收
Figure FDA0003001272890000127
检查当前时刻减去
Figure FDA0003001272890000128
上的时间戳的值是否在第二时间阈值内;如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文
Figure FDA0003001272890000129
返回步骤6.5;如果在,转步骤6.5.2;
6.5.2 TEm的第一密钥管理模块将报文
Figure FDA00030012728900001210
发送给TEm的第二计算模块;
6.5.3 TEm的第二计算模块用终端会话密钥
Figure FDA00030012728900001211
解密
Figure FDA00030012728900001212
得到TEm到根结点路径上所有兄弟结点的盲密钥;
6.5.4 TEm的第二计算模块采用步骤5.3.4所述方法计算新的组密钥K01',返回步骤5.4;
第七步,若有组成员退出时,令需退出的终端为TEq(1≤q≤M),TEq和卫星LEOA配合完成组成员退出,对组密钥进行更新和分发;具体流程是:
7.1 TEq的第一密钥管理模块向卫星LEOA的第二密钥管理模块发送请求退出报文ETEq,报文中包含TEq所在的结点信息和时间戳ttTEq
7.2卫星LEOA的第二密钥管理模块检查当前时刻减去报文ETEq上时间戳的值是否在第三时间阈值内;如果在第三时间阈值内,卫星LEOA的第二密钥管理模块向TEm的第一密钥管理模块发送确认退出报文,将TEq从OFT上去除,并将TEq兄弟结点的终端置于TEq的父结点上,令OFT中原TEq右边所有的终端下标减一,令M=M-1,执行步骤7.3;如果不在第三时间阈值内,返回步骤7.1;
7.3 LEOA的第二密钥管理模块向LEOA的第三计算模块发送含有OFT树变更信息的报文E'C
7.4 LEOA的第三计算模块接收报文E'C,进行整组的密钥更新和分发;具体步骤是:
7.4.1 LEOA的第三计算模块按5.1所述方法计算出OFT中所有结点的结点密钥和盲密钥并存储在LEOA
7.4.2 LEOA的第三计算模块同时向M个地面终端TE1,…,TEm,…,TEM分发相应的报文
Figure FDA0003001272890000131
分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥
Figure FDA0003001272890000132
加密;即LEOA的第三计算模块向TEm分发
Figure FDA0003001272890000133
中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥
Figure FDA0003001272890000141
加密;
7.5 TE1,…,TEm,…,TEM分别接收
Figure FDA0003001272890000142
并行计算组密钥;TE1,…,TEm,…,TEM计算组密钥的步骤相同,地面终端TEm计算组密钥的方法是:
7.5.1 TEm的第一密钥管理模块接收
Figure FDA0003001272890000143
检查当前时刻减去
Figure FDA0003001272890000144
上的时间戳的值是否在第二时间阈值内;如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文
Figure FDA0003001272890000145
返回步骤7.5;如果在,转步骤7.5.2;
7.5.2 TEm的第一密钥管理模块将报文
Figure FDA0003001272890000146
发送给TEm的第二计算模块;
7.5.3 TEm的第二计算模块用终端会话密钥
Figure FDA0003001272890000147
解密
Figure FDA0003001272890000148
得到TEm到根结点路径上所有兄弟结点的盲密钥;
7.5.4 TEm的第二计算模块采用步骤5.3.4所述方法计算出新的组密钥K01”,返回步骤5.4;
第八步,当过顶卫星发生变化时,OFT树中所有地面终端TE1,…,TEm,…,TEM、卫星LEOA和卫星LEOB配合完成组控制器切换,具体流程是:
8.1 LEOA的第二密钥管理模块将LEOA维护的OFT通过星间链路发送给下一颗过顶卫星LEOB的第二密钥管理模块;
8.2当前过顶卫星LEOA的第二密钥管理模块向地面终端TE,…,TEm,…,TEM同时发送报文
Figure FDA0003001272890000149
报文
Figure FDA00030012728900001410
中包含下一颗过顶卫星LEOB
Figure FDA00030012728900001411
和时间戳
Figure FDA00030012728900001412
8.3地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOA广播的报文
Figure FDA0003001272890000151
后,检查当前时刻减去时间戳
Figure FDA0003001272890000152
的值是否在第二时间阈值内;如果当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳
Figure FDA0003001272890000153
值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将
Figure FDA0003001272890000154
存储在本地,执行步骤8.4;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文
Figure FDA0003001272890000155
转步骤8.3;
8.4 LEOB的第二密钥管理模块向地面终端TE1,…,TEm,…,TEM同时广播广播报文
Figure FDA0003001272890000156
报文
Figure FDA0003001272890000157
中包含卫星LEOB
Figure FDA0003001272890000158
和时间戳
Figure FDA0003001272890000159
8.5地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOB广播的报文后,检查当前时刻减去时间戳
Figure FDA00030012728900001510
的值是否在第二时间阈值内;如果当前时刻减去地面终端TE1,…,TEm,…,TEM检查的时间戳
Figure FDA00030012728900001511
的值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将
Figure FDA00030012728900001512
存储在本地,执行步骤8.6;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文
Figure FDA00030012728900001513
转步骤8.5;
8.6地面终端TE1,…,TEm,…,TEM的第一密钥管理模块比较两次收到的
Figure FDA00030012728900001514
即从LEOA收到的
Figure FDA00030012728900001515
和从LEOB收到的
Figure FDA00030012728900001516
是否一致,如果地面终端TE1,…,TEm,…,TEM第一密钥管理模块比较两次收到的
Figure FDA00030012728900001517
均一致,则说明完成组控制器切换,卫星LEOA退出通话组,卫星LEOB接替卫星LEOA执行组控制器工作,返回步骤5.4;如果存在地面终端TE1,…,TEm,…,TEM中第一密钥管理模块比较两次收到的
Figure FDA0003001272890000161
不一致,转步骤8.1。
2.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于3.3步PKG的第一计算模块生成地面终端TEA相应的私钥STE的方法是:STE=s·H1(IDTE),IDTE为地面终端TEA的身份标识,即将PKG的主密钥s与H1(IDTE)做标量乘法运算,H1(IDTE)指IDTE的哈希值,将任意长度二进制字符串IDTE映射为一个循环加法群G1的元素。
3.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于3.4步所述PKG的第一计算模块生成卫星的私钥SLEO,方法是:SLEO=s·H1(IDLEO),H1(IDLEO)指IDLEO的哈希值。
4.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于4.1步所述LEOA向TEA广播含ID信息、时间戳信息的报文LBI的方法是:
4.1.1 LEOA的第二密钥管理模块随机选择一个整数rLEO,rLEO∈Zq *,将rLEO发送给LEOA的第三计算模块;
4.1.2 LEOA的第三计算模块计算卫星公钥QLEO并储存,QLEO=H1(IDLEO);
4.1.3 LEOA的第三计算模块计算报文LBI第一变量XLEO,XLEO=rLEOQLEO
4.1.4 LEOA的第三计算模块计算报文LBI第三变量h1和报文LBI第二变量ZLEO,h1=H2(XLEO||IDLEO||ttLEO),ZLEO=(rLEO+h1)SLEO;其中ttLEO是LEO当前的时间戳,SLEO是卫星的私钥;
4.1.5 LEOA的第二密钥管理模块生成报文LBI,LBI=<IDLEO,ttLEO,XLEO,ZLEO,h1>;随后,LEOA向地面终端广播报文LBI。
5.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于4.2步所述第一时间阈值为一个能够表征卫星和地面时延的值,设置为100ms;4.4步所述第二时间阈值为一个能够表征卫星和地面时延的值,设置为与第一时间阈值相同的值;7.2步所述第三时间阈值是一个表征地面终端给卫星发送消息时延的值,设置与第一时间阈值相同。
6.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于5.1步所述LEOA的第三计算模块计算出OFT中所有结点的结点密钥和盲密钥并存储在LEOA的方法是:
5.1.1 LEOA的第三计算模块初始化h=H-1,mh=1,mh+1=1;
5.1.2 LEOA的第三计算模块计算叶子结点即第H层中MH个结点的盲密钥
Figure FDA0003001272890000171
Figure FDA0003001272890000172
为第H层中第mH个结点的盲密钥,
Figure FDA0003001272890000173
5.1.3 LEOA的第三计算模块计算第h层中第mh个结点的密钥
Figure FDA0003001272890000174
其中
Figure FDA0003001272890000175
分别是结点
Figure FDA0003001272890000176
的盲密钥,
Figure FDA0003001272890000177
然后令mh=mh+1,mh+1=mh+1+2;
5.1.4 LEOA的第三计算模块计算结点
Figure FDA0003001272890000178
的盲密钥
Figure FDA0003001272890000179
Figure FDA0003001272890000181
5.1.5 LEOA的第三计算模块判断是否满足mh>Mh,如果满足,令h=h-1,mh=1,mh+1=1,转步骤5.1.6;如果不满足,返回步骤5.1.3;
5.1.6 LEOA的第三计算模块判断是否满足h<0,如果满足,结束;如果不满足,返回步骤5.1.3。
7.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于6.2步所述LEOA将TEp放置在OFT的叶子结点上的规则是:在OFT中找到密钥路径最短的结点,路径最短结点有多个时,按照先左后右的原则,优先选择最左的路径最短结点,将该结点扩展出左右两个孩子结点,将原本该结点上的地面终端置于左边孩子结点上,将新加入的地面终端TEp置于右边孩子结点上。
CN202110347579.9A 2021-03-31 2021-03-31 一种面向低轨卫星网络的组密钥管理方法 Active CN113098686B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110347579.9A CN113098686B (zh) 2021-03-31 2021-03-31 一种面向低轨卫星网络的组密钥管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110347579.9A CN113098686B (zh) 2021-03-31 2021-03-31 一种面向低轨卫星网络的组密钥管理方法

Publications (2)

Publication Number Publication Date
CN113098686A CN113098686A (zh) 2021-07-09
CN113098686B true CN113098686B (zh) 2022-01-04

Family

ID=76671630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110347579.9A Active CN113098686B (zh) 2021-03-31 2021-03-31 一种面向低轨卫星网络的组密钥管理方法

Country Status (1)

Country Link
CN (1) CN113098686B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114007219B (zh) * 2021-10-25 2024-03-26 北京计算机技术及应用研究所 一种面向低轨卫星通信的隐身份接入认证方法
CN114466359B (zh) * 2022-01-07 2024-03-01 中国电子科技集团公司电子科学研究院 适用于低轨卫星网络的分布式用户认证系统及认证方法
CN114466318B (zh) * 2022-01-30 2023-04-07 西安电子科技大学 组播服务有效认证和密钥分配协议实现方法、系统及设备
CN116056080A (zh) * 2022-08-18 2023-05-02 重庆邮电大学 一种面向低轨卫星网络的卫星切换认证方法
CN117040744B (zh) * 2023-10-07 2024-01-16 北京数盾信息科技有限公司 一种卫星通信组网方法、装置及密钥管理系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932150A (zh) * 2012-10-25 2013-02-13 内蒙古大学 基于dtn交互式卫星远程教育系统的安全机制管理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521569B (zh) * 2008-02-28 2013-04-24 华为技术有限公司 实现服务访问的方法、设备及系统
CN105959269B (zh) * 2016-04-25 2019-01-25 北京理工大学 一种基于身份的可认证动态群组密钥协商方法
CN107147489B (zh) * 2017-05-02 2019-10-18 南京理工大学 一种leo卫星网络内分布式的接入认证管理方法
CN109462484B (zh) * 2019-01-16 2019-08-09 中国人民解放军国防科技大学 一种结合广播优势的身份基安全互认证方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932150A (zh) * 2012-10-25 2013-02-13 内蒙古大学 基于dtn交互式卫星远程教育系统的安全机制管理方法

Also Published As

Publication number Publication date
CN113098686A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
CN113098686B (zh) 一种面向低轨卫星网络的组密钥管理方法
CN105959269B (zh) 一种基于身份的可认证动态群组密钥协商方法
US11050563B2 (en) Method of exchanging keys by smart contract implemented on a blockchain
Dutta et al. Pairing-based cryptographic protocols: A survey
CN109194478A (zh) 一种非对称环境下多方联合生成sm9数字签名的方法
CN107659395B (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
CN109660361A (zh) 一种对称环境下多方联合生成sm9数字签名的方法
Xiong et al. Toward pairing-free certificateless authenticated key exchanges
Zhang et al. Identity-based authenticated asymmetric group key agreement protocol
Wang et al. Group Authentication and Group Key Distribution for Ad Hoc Networks.
Han et al. Adaptive secure multicast in wireless networks
Thangavel et al. Performance of integrated quantum and classical cryptographic model for password authentication
CN114785508B (zh) 一种异构认证密钥协商方法和系统
Zhang et al. Provably secure certificateless authenticated asymmetric group key agreement
Zhang et al. New application of partitioning methodology: identity‐based dual receiver encryption
Long et al. Certificateless threshold cryptosystem secure against chosen-ciphertext attack
Xia et al. Breaking and repairing the certificateless key agreement protocol from ASIAN 2006
Huang et al. Analysis and improvements of two identity-based perfect concurrent signature schemes
CN111510291A (zh) 基于双线性对的高效身份认证密钥协商协议
He et al. Efficient group key management for secure big data in predictable large‐scale networks
Hur et al. Chosen ciphertext secure authenticated group communication using identity-based signcryption
CN115001764B (zh) 分层系统下基于共识数据库的跨域密钥协商方法及系统
CN107733935A (zh) 一种面向农牧区内容分发的dtn密钥管理方法
Gorantla et al. One round group key exchange with forward security in the standard model
Zhang An efficient anonymous authentication protocol with pseudonym revocability

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant