CN113098686A - 一种面向低轨卫星网络的组密钥管理方法 - Google Patents
一种面向低轨卫星网络的组密钥管理方法 Download PDFInfo
- Publication number
- CN113098686A CN113098686A CN202110347579.9A CN202110347579A CN113098686A CN 113098686 A CN113098686 A CN 113098686A CN 202110347579 A CN202110347579 A CN 202110347579A CN 113098686 A CN113098686 A CN 113098686A
- Authority
- CN
- China
- Prior art keywords
- leo
- key
- satellite
- management module
- key management
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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/0833—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/18578—Satellite systems for providing broadband data service to individual earth stations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Aviation & Aerospace Engineering (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Computing Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Radio Relay 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的主密钥,具体流程是:
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 *为正整数集合。椭圆曲线上的双线性映射函数(表示将G1中的某两个元素x,y映射到GT中的某个元素),三个哈希函数:(表示将长度为k2的二进制字符串u映射到G1的元素H1(u)),(表示将长度为k1+n的二进制字符串v映射到Zq *的某个整数H2(v)),(表示将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系统参数管理模块将十元组作为系统参数公开给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相互配合完成组成员注册,完成会话密钥的协商。组成员注册的目的是完成地面终端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的字符串连接起来)。随后验证是否成立,如果不成立,返回步骤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.6 TEA的第二计算模块生成报文TRI,TRI=<ttTE,XTE,YTE>。
4.3.8 TEA的第二计算模块将报文TRI发送给LEOA的第二密钥管理模块。
4.4 LEOA的第二密钥管理模块收到报文TRI后,检查当前时刻减去TRI上的时间戳值是否在第二时间阈值内(第二时间阈值为一个能够表征卫星和地面时延的值,可以设置为与第一时间阈值相同的值),如果不在,则丢弃TRI,返回步骤4.3.8。否则,LEOA执行步骤4.5。
4.5 LEOA的第三计算模块计算卫星会话密钥KLEO,具体步骤是:
4.5.2 LEOA的第三计算模块计算地面终端TEA的公钥QTE,QTE=H1(IDTE),计算验证变量h'1,h'1=H2(XTE||IDLEO||ttTE)。
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个的结点记为其中H为OFT树的高度,Mh为第h层结点总数,结点的结点密钥记为叶子结点的密钥就是地面终端TE1,TE2,…,TEm,…,TEM的会话密钥具体步骤是:
5.1.1 LEOA的第三计算模块初始化h=H-1,mh=1,mh+1=1。
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分别发送报文分别包含TE1,…,TEm,…,TEM到根结点路径上兄弟结点的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥加密。例如包含TEm到LEOA路径上兄弟结点的盲密钥以及时间戳ttm LEO,盲密钥用地面终端TEm的会话密钥加密。
5.3.1 TEm的第一密钥管理模块接收LEOA的第三计算模块发来的报文检查当前时刻减去报文上的时间戳ttm LEO的值是否在第二时间阈值内,如果不在第二时间阈值内,丢弃请求LEOA的第三计算模块重新发送报文返回步骤5.3(TE1,…,TEm,…,TEM中只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,就请求LEOA的第三计算模块重新发送丢弃的报文,返回步骤5.3);如果在第二时间阈值内,转步骤5.3.2。
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.5 TEm的第二计算模块判断是否满足h<0,如果满足,则说明计算出通话组的组密钥K01,转步骤5.4;如果不满足,转步骤5.3.4.2。
5.3.4.6 TEm的第二计算模块令mh+1=mh/2。
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。
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分发相应的报文 分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥加密。以TEm(1≤m≤M)作说明,向TEm分发中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥加密(各个地面终端的终端会话密钥在第四步就得到了,之所以加个上撇,是因为加入新终端之后原先各个终端从左至右的位置可能发变化,但是各自的会话密钥仍然是第四步得到的,并没有变化,只是因为每个会话密钥的下标TEm变了,所以用表示)。
6.5.1TEm的第一密钥管理模块接收检查当前时刻减去上的时间戳的值是否在第二时间阈值内。如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文返回步骤6.5(只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,请求LEOA的第三计算模块只给这些终端重新发送丢弃的报文,返回步骤6.5);如果在,转步骤6.5.2。
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分发相应的报文 分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…,ttm LEO,…,ttM LEO,盲密钥分别用会话密钥加密。以TEm(1≤m≤M)作说明,向TEm分发中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥加密。(各个地面终端的终端会话密钥在第四步就得到了,之所以加个上两个撇,是因为有终端既定出时原先各个终端从左至右的位置可能发变化,但是各自的会话密钥仍然是第四步得到的,并没有变化,只是因为每个会话密钥的下标变了,所以用表示)
7.5.1TEm的第一密钥管理模块接收检查当前时刻减去上的时间戳的值是否在第二时间阈值内。如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文返回步骤7.5(只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,请求LEOA的第三计算模块只给这些终端重新发送丢弃的报文,返回步骤7.5);如果在,转步骤7.5.2。
7.5.4 TEm的第二计算模块采用步骤5.3.4所述方法计算出新的组密钥K01”,返回步骤5.4。
第八步,当过顶卫星发生变化时,OFT树中所有地面终端TE1,…,TEm,…,TEM、卫星LEOA和卫星LEOB配合完成组控制器切换,具体流程是:
8.1 LEOA的第二密钥管理模块将LEOA维护的OFT通过星间链路发送给下一颗过顶卫星LEOB的第二密钥管理模块。
8.3地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOA广播的报文后,检查当前时刻减去时间戳的值是否在第二时间阈值内。如果当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将存储在本地,执行步骤8.4;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文转步骤8.3(只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,请求LEOA的第二密钥管理模块只给这些终端重新发送丢弃的报文,返回步骤8.3)。
8.5地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOB广播的报文后,检查当前时刻减去时间戳的值是否在第二时间阈值内。如果当前时刻减去地面终端TE1,…,TEm,…,TEM检查的时间戳的值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将存储在本地,执行步骤8.6;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文转步骤8.5(只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,请求LEOA的第二密钥管理模块只给这些终端重新发送丢弃的报文,返回步骤8.5)。
8.6地面终端TE1,…,TEm,…,TEM的第一密钥管理模块比较两次收到的(即从LEOA收到的和从LEOB收到的)是否一致,如果地面终端TE1,…,TEm,…,TEM第一密钥管理模块比较两次收到的均一致,则说明完成组控制器切换,卫星LEOA退出通话组,卫星LEOB接替卫星LEOA执行组控制器工作,返回步骤5.4;如果存在地面终端TE1,…,TEm,…,TEM中第一密钥管理模块比较两次收到的不一致,转步骤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的主密钥,具体流程是:
2.1系统参数管理模块获得系统管理员输入的安全参数k,k为正整数;
2.2系统参数管理模块使用k作为输入,使用BDH参数生成方法产生安全级别为k位的身份基密码学参数,包括生成元为P、阶为q的加法循环群G1,阶为q的乘法循环群GT(G1、GT为椭圆曲线上的点组成的集合,G1、GT中的元素是椭圆曲线上的点),P∈G1、q∈Zq *,Zq *为正整数集合。椭圆曲线上的双线性映射函数(表示将G1中的某两个元素x,y映射到GT中的某个元素),三个哈希函数:(表示将长度为k2的二进制字符串u映射到G1的元素H1(u)),(表示将长度为k1+n的二进制字符串v映射到Zq *的某个整数H2(v)),(表示将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系统参数管理模块将十元组作为系统参数公开给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的第二密钥管理模块发送系统参数和私钥。
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的字符串连接起来)。随后验证是否成立,如果不成立,返回步骤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.6 TEA的第二计算模块生成报文TRI,TRI=<ttTE,XTE,YTE>。
4.3.8 TEA的第二计算模块将报文TRI发送给LEOA的第二密钥管理模块。
4.4 LEOA的第二密钥管理模块收到报文TRI后,检查当前时刻减去TRI上的时间戳值是否在第二时间阈值内(第二时间阈值设置为与第一时间阈值相同的值),如果不在,则丢弃TRI,返回步骤4.3.8。否则,LEOA执行步骤4.5。
4.5 LEOA的第三计算模块计算卫星会话密钥KLEO,具体步骤是:
4.5.2 LEOA的第三计算模块计算地面终端TEA的公钥QTE,QTE=H1(IDTE),计算验证变量h'1,h'1=H2(XTE||IDLEO||ttTE)。
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个的结点记为其中H为OFT树的高度,Mh为第h层结点总数,结点的结点密钥记为叶子结点的密钥就是地面终端TE1,TE2,…,TEm,…,TEM的会话密钥具体步骤是:
5.1.1 LEOA的第三计算模块初始化h=H-1,mh=1,mh+1=1。
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分别发送报文分别包含TE1,…,TEm,…,TEM到根结点路径上兄弟结点的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥加密。例如包含TEm到LEOA路径上兄弟结点的盲密钥以及时间戳ttm LEO,盲密钥用地面终端TEm的会话密钥加密。
5.3.1 TEm的第一密钥管理模块接收LEOA的第三计算模块发来的报文检查当前时刻减去报文上的时间戳ttm LEO的值是否在第二时间阈值内,如果不在第二时间阈值内,丢弃请求LEOA的第三计算模块重新发送报文返回步骤5.3(TE1,…,TEm,…,TEM中只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,就请求LEOA的第三计算模块重新发送丢弃的报文,返回步骤5.3);如果在第二时间阈值内,转步骤5.3.2。
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.5 TEm的第二计算模块判断是否满足h<0,如果满足,则说明计算出通话组的组密钥K01,转步骤5.4;如果不满足,转步骤5.3.4.2。
5.3.4.6 TEm的第二计算模块令mh+1=mh/2。
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。
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分发相应的报文分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥加密。以TEm(1≤m≤M)作说明,向TEm分发中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥加密(各个地面终端的终端会话密钥在第四步就得到了,之所以加个上撇,是因为加入新终端之后原先各个终端从左至右的位置可能发变化,但是各自的会话密钥仍然是第四步得到的,并没有变化,只是因为每个会话密钥的下标TEm变了,所以用表示)。
6.5.1TEm的第一密钥管理模块接收检查当前时刻减去上的时间戳的值是否在第二时间阈值内。如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文返回步骤6.5(只要存在有一个或及以上地面终端检查的时间差值不在第二时间阈值内,请求LEOA的第三计算模块只给这些终端重新发送丢弃的报文,返回步骤6.5);如果在,转步骤6.5.2。
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分发相应的报文 分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…,ttm LEO,…,ttM LEO,盲密钥分别用会话密钥加密。以TEm(1≤m≤M)作说明,向TEm分发中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥加密。
7.5.1TEm的第一密钥管理模块接收检查当前时刻减去上的时间戳的值是否在第二时间阈值内。如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文返回步骤7.5;如果在,转步骤7.5.2。
7.5.4 TEm的第二计算模块采用步骤5.3.4所述方法计算出新的组密钥K01”,返回步骤5.4。
第八步,当过顶卫星发生变化时,OFT树中所有地面终端TE1,…,TEm,…,TEM、卫星LEOA和卫星LEOB配合完成组控制器切换,具体流程是:
8.1 LEOA的第二密钥管理模块将LEOA维护的OFT通过星间链路发送给下一颗过顶卫星LEOB的第二密钥管理模块。
8.3地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOA广播的报文后,检查当前时刻减去时间戳的值是否在第二时间阈值内。如果当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将存储在本地,执行步骤8.4;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文转步骤8.3。
8.5地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOB广播的报文后,检查当前时刻减去时间戳的值是否在第二时间阈值内。如果当前时刻减去地面终端TE1,…,TEm,…,TEM检查的时间戳的值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将存储在本地,执行步骤8.6;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文转步骤8.5。
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 *为正整数集合;椭圆曲线上的双线性映射函数表示将G1中的某两个元素x,y映射到GT中的某个元素三个哈希函数:表示将长度为k2的二进制字符串u映射到G1的元素H1(u));表示将长度为k1+n的二进制字符串v映射到Zq *的某个整数H2(v);表示将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的标量乘法运算;
第三步,地面终端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的第二密钥管理模块发送系统参数和私钥;
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),||是字符串连接符;随后验证是否成立,如果不成立,返回步骤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.6 TEA的第二计算模块生成报文TRI,TRI=<ttTE,XTE,YTE>;
4.3.8 TEA的第二计算模块将报文TRI发送给LEOA的第二密钥管理模块;
4.4 LEOA的第二密钥管理模块收到报文TRI后,检查当前时刻减去TRI上的时间戳值是否在第二时间阈值内,如果不在,则丢弃TRI,返回步骤4.3.8;否则,LEOA执行步骤4.5;
4.5 LEOA的第三计算模块计算卫星会话密钥KLEO,具体步骤是:
4.5.2 LEOA的第三计算模块计算地面终端TEA的公钥QTE,QTE=H1(IDTE),计算验证变量h'1,h'1=H2(XTE||IDLEO||ttTE);
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个的结点记为0≤h≤H,1≤mh≤Mh,其中H为OFT树的高度,Mh为第h层结点总数,结点的结点密钥记为叶子结点的密钥就是地面终端TE1,TE2,…,TEm,…,TEM的会话密钥第h层中第mh个结点的盲密钥为
5.2 LEOA的第三计算模块同时向TE1,…,TEm,…,TEM分别发送报文分别包含TE1,…,TEm,…,TEM到根结点路径上兄弟结点的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥加密;
5.3.1 TEm的第一密钥管理模块接收LEOA的第三计算模块发来的报文检查当前时刻减去报文上的时间戳ttm LEO的值是否在第二时间阈值内,如果不在第二时间阈值内,丢弃请求LEOA的第三计算模块重新发送报文返回步骤5.3;如果在第二时间阈值内,转步骤5.3.2;
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.5 TEm的第二计算模块判断是否满足h<0,如果满足,则说明计算出通话组的组密钥K01,转步骤5.4;如果不满足,转步骤5.3.4.2;
5.3.4.6 TEm的第二计算模块令mh+1=mh/2;
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;
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分发相应的报文分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥加密;即LEOA的第三计算模块向TEm分发 中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥加密;
6.5.1 TEm的第一密钥管理模块接收检查当前时刻减去上的时间戳的值是否在第二时间阈值内;如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文返回步骤6.5;如果在,转步骤6.5.2;
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分发相应的报文分别包含地面终端TE1,…,TEm,…,TEM到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt1 LEO,…ttm LEO,…ttM LEO,盲密钥分别用会话密钥加密;即LEOA的第三计算模块向TEm分发中包含地面终端TEm到根结点路径上所有兄弟结点更新的盲密钥和时间戳ttm LEO,盲密钥用会话密钥加密;
7.5.1 TEm的第一密钥管理模块接收检查当前时刻减去上的时间戳的值是否在第二时间阈值内;如果不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第三计算模块重新发送报文返回步骤7.5;如果在,转步骤7.5.2;
7.5.4 TEm的第二计算模块采用步骤5.3.4所述方法计算出新的组密钥K01”,返回步骤5.4;
第八步,当过顶卫星发生变化时,OFT树中所有地面终端TE1,…,TEm,…,TEM、卫星LEOA和卫星LEOB配合完成组控制器切换,具体流程是:
8.1 LEOA的第二密钥管理模块将LEOA维护的OFT通过星间链路发送给下一颗过顶卫星LEOB的第二密钥管理模块;
8.3地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOA广播的报文后,检查当前时刻减去时间戳的值是否在第二时间阈值内;如果当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将存储在本地,执行步骤8.4;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文转步骤8.3;
8.5地面终端TE1,…,TEm,…,TEM的第一密钥管理模块收到LEOB广播的报文后,检查当前时刻减去时间戳的值是否在第二时间阈值内;如果当前时刻减去地面终端TE1,…,TEm,…,TEM检查的时间戳的值都在第二时间阈值内,则TE1,…,TEm,…,TEM的第一密钥管理模块将存储在本地,执行步骤8.6;如果存在当前时刻减去地面终端TE1,…,TEm,…,TEM的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEOA的第二密钥管理模块重新发送报文转步骤8.5;
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.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置于右边孩子结点上。
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 true CN113098686A (zh) | 2021-07-09 |
CN113098686B 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) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114007219A (zh) * | 2021-10-25 | 2022-02-01 | 北京计算机技术及应用研究所 | 一种面向低轨卫星通信的隐身份接入认证方法 |
CN114466359A (zh) * | 2022-01-07 | 2022-05-10 | 中国电子科技集团公司电子科学研究院 | 适用于低轨卫星网络的分布式用户认证系统及认证方法 |
CN114466318A (zh) * | 2022-01-30 | 2022-05-10 | 西安电子科技大学 | 组播服务有效认证和密钥分配协议实现方法、系统及设备 |
CN116056080A (zh) * | 2022-08-18 | 2023-05-02 | 重庆邮电大学 | 一种面向低轨卫星网络的卫星切换认证方法 |
CN117040744A (zh) * | 2023-10-07 | 2023-11-10 | 北京数盾信息科技有限公司 | 一种卫星通信组网方法、装置及密钥管理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100229241A1 (en) * | 2008-02-28 | 2010-09-09 | Yijun Liu | Method of accessing service, device and system thereof |
CN102932150A (zh) * | 2012-10-25 | 2013-02-13 | 内蒙古大学 | 基于dtn交互式卫星远程教育系统的安全机制管理方法 |
CN105959269A (zh) * | 2016-04-25 | 2016-09-21 | 北京理工大学 | 一种基于身份的可认证动态群组密钥协商方法 |
CN107147489A (zh) * | 2017-05-02 | 2017-09-08 | 南京理工大学 | 一种leo卫星网络内分布式的接入认证管理方法 |
CN109462484A (zh) * | 2019-01-16 | 2019-03-12 | 中国人民解放军国防科技大学 | 一种结合广播优势的身份基安全互认证方法 |
-
2021
- 2021-03-31 CN CN202110347579.9A patent/CN113098686B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100229241A1 (en) * | 2008-02-28 | 2010-09-09 | Yijun Liu | Method of accessing service, device and system thereof |
CN102932150A (zh) * | 2012-10-25 | 2013-02-13 | 内蒙古大学 | 基于dtn交互式卫星远程教育系统的安全机制管理方法 |
CN105959269A (zh) * | 2016-04-25 | 2016-09-21 | 北京理工大学 | 一种基于身份的可认证动态群组密钥协商方法 |
CN107147489A (zh) * | 2017-05-02 | 2017-09-08 | 南京理工大学 | 一种leo卫星网络内分布式的接入认证管理方法 |
CN109462484A (zh) * | 2019-01-16 | 2019-03-12 | 中国人民解放军国防科技大学 | 一种结合广播优势的身份基安全互认证方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114007219A (zh) * | 2021-10-25 | 2022-02-01 | 北京计算机技术及应用研究所 | 一种面向低轨卫星通信的隐身份接入认证方法 |
CN114007219B (zh) * | 2021-10-25 | 2024-03-26 | 北京计算机技术及应用研究所 | 一种面向低轨卫星通信的隐身份接入认证方法 |
CN114466359A (zh) * | 2022-01-07 | 2022-05-10 | 中国电子科技集团公司电子科学研究院 | 适用于低轨卫星网络的分布式用户认证系统及认证方法 |
CN114466359B (zh) * | 2022-01-07 | 2024-03-01 | 中国电子科技集团公司电子科学研究院 | 适用于低轨卫星网络的分布式用户认证系统及认证方法 |
CN114466318A (zh) * | 2022-01-30 | 2022-05-10 | 西安电子科技大学 | 组播服务有效认证和密钥分配协议实现方法、系统及设备 |
CN116056080A (zh) * | 2022-08-18 | 2023-05-02 | 重庆邮电大学 | 一种面向低轨卫星网络的卫星切换认证方法 |
CN117040744A (zh) * | 2023-10-07 | 2023-11-10 | 北京数盾信息科技有限公司 | 一种卫星通信组网方法、装置及密钥管理系统 |
CN117040744B (zh) * | 2023-10-07 | 2024-01-16 | 北京数盾信息科技有限公司 | 一种卫星通信组网方法、装置及密钥管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113098686B (zh) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113098686B (zh) | 一种面向低轨卫星网络的组密钥管理方法 | |
CN105959269B (zh) | 一种基于身份的可认证动态群组密钥协商方法 | |
CN106209369B (zh) | 一种基于身份密码系统的通信方法 | |
US10985910B2 (en) | Method for exchanging keys authenticated by blockchain | |
Dutta et al. | Pairing-based cryptographic protocols: A survey | |
CN107659395B (zh) | 一种多服务器环境下基于身份的分布式认证方法及系统 | |
CN109194478A (zh) | 一种非对称环境下多方联合生成sm9数字签名的方法 | |
CN109660361A (zh) | 一种对称环境下多方联合生成sm9数字签名的方法 | |
Xiong et al. | Toward pairing-free certificateless authenticated key exchanges | |
Sulaiman et al. | Improving scalability in vehicular communication using one-way hash chain method | |
Han et al. | Adaptive secure multicast in wireless networks | |
CN113300835B (zh) | 一种加密方案接收者确定方法、主动秘密分享方法 | |
CN106332074A (zh) | 一种多方通信鉴权方法及系统 | |
CN114785508B (zh) | 一种异构认证密钥协商方法和系统 | |
Zhang et al. | New application of partitioning methodology: identity‐based dual receiver encryption | |
Zhang et al. | Provably secure certificateless authenticated asymmetric group key agreement | |
Xia et al. | Breaking and repairing the certificateless key agreement protocol from ASIAN 2006 | |
Long et al. | Certificateless threshold cryptosystem secure against chosen-ciphertext attack | |
Huang et al. | Analysis and improvements of two identity-based perfect concurrent signature schemes | |
CN114021165A (zh) | 一种部分私公钥对构建方法、认证密钥协商方法及系统 | |
Ahmedova et al. | Generation and distribution secret encryption keys with parameter | |
Hur et al. | Chosen ciphertext secure authenticated group communication using identity-based signcryption | |
Zhang | An efficient anonymous authentication protocol with pseudonym revocability | |
CN107733935A (zh) | 一种面向农牧区内容分发的dtn密钥管理方法 | |
Gorantla et al. | One round group key exchange with forward security in the standard model |
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 |