有效
一种面向低轨卫星网络的组密钥管理方法
赵宝康、王宝生、苏金树、虞万荣、赵锋、时向泉、陶静、唐竹、彭伟、刘铜威、穆凡
中国人民解放军国防科技大学
赵
赵宝康 专利 90
中国人民解放军国防科技大学数字信息传输电通信技术电学
王
王宝生 专利 117
中国人民解放军国防科技大学数据交换网H04L29/00数字信息传输
苏
苏金树 专利 88
中国人民解放军国防科技大学数据交换网数字信息传输电通信技术
虞
虞万荣 专利 82
中国人民解放军国防科技大学数字信息传输电通信技术电学
赵
赵锋 专利 114
中国人民解放军国防科技大学雷达系统探测部件无线电定位导航
时
时向泉 专利 58
中国人民解放军国防科技大学数字信息传输电通信技术电学
陶
陶静 专利 72
中国人民解放军国防科技大学数据交换网数字信息传输电通信技术
唐
唐竹 专利 52
中国人民解放军国防科学技术大学数字信息传输数据交换网电通信技术
彭
彭伟 专利 79
中国人民解放军国防科技大学数据交换网数字信息传输电通信技术
刘
刘铜威 专利 2
中国人民解放军国防科技大学安全通信数字信息传输电通信技术
穆
穆凡 专利 2
中国人民解放军国防科技大学信号传输无线电传输安全通信
摘要
本发明公开了一种面向低轨卫星网络的组密钥管理方法,目的是解决传统组密钥管理方法的存储开销和通信开销大的问题,同时保证低轨卫星网络中通信的机密性和安全性。技术方案是先构建由PKG,卫星LEO,卫星LEO和地面终端TE组成的面向低轨卫星网络的组密钥管理系统,通过设计身份基签名和单向函数树,对组密钥管理系统初始化后,通过组密钥管理系统完成组成员注册、组密钥生成、组成员加入、组成员退出和组控制器切换以实现组密钥的生成、分发和更新维护。本发明能够提供机密性服务,保证前向安全性和后向安全性,存储开销和通信开销小。
1.一种面向低轨卫星网络的组密钥管理方法,其特征在于包括以下步骤:第一步,构建面向低轨卫星网络的组密钥管理系统;面向低轨卫星网络的组密钥管理系统由密钥生成中心PKG,卫星LEO A ,卫星LEO B 和地面终端TE A 组成;若有地面终端TE A 想要加入组密钥管理系统,首先地面终端TE A 向PKG提交选定身份标识ID,申请系统参数的请求和申请私钥的请求,然后PKG根据系统参数和身份标识ID计算出TE A 对应的私钥;PKG将TE A 对应的私钥和系统参数发送给TE A ;若有卫星LEO A 想要加入组密钥管理系统,首先LEO A 向PKG提交选定身份标识ID,申请系统参数的请求和申请私钥的请求,然后PKG根据系统参数和身份标识ID计算出LEO A 对应的私钥,将LEO A 对应的私钥和系统参数发送给LEO A ;地面终端TE A 向卫星LEO A 发送请求加入报文,卫星LEO A 收到请求加入报文后,验证请求加入报文是否合法,即验证身份基签名是否正确,身份基签名包含于身份标识ID中;如果合法,卫星LEO A 发送确认加入报文给地面终端TE A 协商相关的密钥;如果不合法,则拒绝地面终端TE A 的加入;当该地面终端TE A 想要退出面向低轨卫星网络的组密钥管理系统时,向卫星LEO A 发送请求退出报文,卫星LEO A 收到请求退出报文后,发送确认退出报文给地面终端TE A 同意其离开;当通话组的过顶卫星LEO A 发生变化时,需要进行组控制器切换,当前过顶卫星LEO A 即组控制器将自己维护的OFT发送给下一颗过顶卫星LEO B ,并向地面终端TE A 广播LEO B 的ID;当下一颗过顶卫星LEO B 抵达时,向地面终端TE A 广播自己的ID;TE A 收到后比较从两次收到的ID是否一致;一致则完成组控制器切换,否则重新进行切换;PKG上安装有系统参数管理模块和第一计算模块,地面终端TE A 上安装有第一密钥管理模块和第二计算模块,卫星LEO A 和卫星LEO B 上安装有第二密钥管理模块和第三计算模块;PKG的系统参数管理模块与第一计算模块、地面终端TE A 的第一密钥管理模块、卫星LEO A 的第二密钥管理模块相连;PKG的系统参数管理模块接收卫星LEO A 和地面终端TE A 发送的选定身份标识ID、申请系统参数的请求和申请私钥的请求,生成系统参数并储存,将系统参数和选定身份标识ID发送给第一计算模块;PKG的第一计算模块与系统参数管理模块、地面终端TE A 的第一密钥管理模块和卫星LEO A 的第二密钥管理模块相连,PKG的第一计算模块从系数参数管理模块接收系统参数,根据系统参数和选定身份标识ID计算产生对应的私钥,将系统参数和TE A 对应的私钥发送给地面终端TE A ,将系统参数和LEO A 对应的私钥发送给卫星LEO A ;地面终端TE A 的第一密钥管理模块与地面终端TE A 的第二计算模块、PKG的第一计算模块、卫星LEO A 的第二密钥管理模块、卫星LEO A 的第三计算模块、卫星LEO B 的第二密钥管理模块相连;第一密钥管理模块从第一计算模块接收系统参数和私钥,对系统参数和私钥进行储存,并向第二计算模块发送系统参数和私钥;第一密钥管理模块向卫星LEO A 的第二密钥管理模块发送请求加入报文、请求退出报文,提交地面终端加入通话组或退出通话组的请求;第一密钥管理模块从卫星LEO A 的第二密钥管理模块接收到确认加入报文、确认退出报文,执行地面终端加入通话组或退出通话组的操作;第一密钥管理模块从卫星LEO A 的第三计算模块接收报文LBI,存储报文信息并发送给第二计算模块;第一密钥管理模块从卫星LEO A 的第二密钥管理模块接收下一颗过顶卫星LEO B 的ID即第一ID,储存第一ID;第一密钥管理模块从卫星LEO B 的第二密钥管理模块接收卫星LEO B 的ID即第二ID,储存第二ID并核对第一ID和第二ID是否相同,若相同则确认组控制器切换,若不相同则拒绝组控制器切换;地面终端TE A 的第二计算模块与第一密钥管理模块、卫星LEO A 的第二密钥管理模块相连,第二计算模块接收第一密钥管理模块发送的系统参数、私钥和LBI报文信息,计算出与卫星LEO A 协商的会话密钥,将包含了会话密钥的报文TRI发送给卫星LEO A 的第二密钥管理模块;卫星LEO A 的第二密钥管理模块与卫星LEO A 的第三计算模块、PKG的第一计算模块、地面终端TE A 的第一密钥管理模块、地面终端TE A 的第二计算模块、卫星LEO B 的第二密钥管理模块相连,卫星LEO A 的第二密钥管理模块从第一计算模块接收系统参数和私钥,对系统参数和私钥进行储存,并向卫星LEO A 的第三计算模块发送系统参数和私钥;当卫星LEO A 的第二密钥管理模块从TE A 收到请求加入报文时,判断TE A 的合法性,向第一密钥管理模块发送确认加入报文;当卫星LEO A 的第二密钥管理模块从TE A 收到请求退出报文时,向第一密钥管理模块发送确认退出报文;当下一颗过顶卫星LEO B 到达过顶位置时,卫星LEO A 的第二密钥管理模块向第一密钥管理模块发送下一颗过顶卫星LEO B 的ID;当第一密钥模块确认组控制器切换时,卫星LEO A 的第二密钥管理模块向卫星LEO B 的第二密钥管理模块发送维护的单向函数树OFT;卫星LEO A 的第三计算模块与卫星LEO A 的第二密钥管理模块、第一密钥管理模块相连,卫星LEO A 的第三计算模块从卫星LEO A 的第二密钥管理模块接收系统参数和私钥,计算出与地面终端TE A 协商的会话密钥,将包含会话密钥的报文LBI发送给地面终端TE A 的第一密钥管理模块;卫星LEO B 的第二密钥管理模块到达过顶位置前与地面终端TE A 的第一密钥管理模块、卫星LEO A 的第二密钥管理模块相连,当卫星LEO B 到达过顶位置时,卫星LEO B 的第二密钥管理模块向地面终端TE A 的第一密钥管理模块发送卫星LEO B 的ID;当第一密钥管理模块确认组控制器切换时,卫星LEO B 的第二密钥管理模块从卫星LEO A 的第二密钥管理模块接收卫星LEO A 维护的单向函数树OFT;卫星LEO B 的第二密钥管理模块到达过顶位置后连接状态和功能与卫星LEO A 的第二密钥管理模块一致;卫星LEO B 的第三计算模块与卫星LEO B 的第二密钥管理模块相连,在到达过顶位置前不进行任何工作;卫星LEO B 的第三计算模块在到达过顶位置后连接状态和功能与卫星LEO A 的第三计算模块相同;第二步,PKG上的系统参数管理模块根据安全参数产生系统参数和PKG的主密钥,具体流程是:2.1系统参数管理模块获得系统管理员输入的安全参数k,k为正整数;2.2系统参数管理模块使用k作为输入,使用BDH参数生成方法产生安全级别为k位的身份基密码学参数,包括生成元为P、阶为q的加法循环群G 1 ,阶为q的乘法循环群G T ,G 1 、G T 为椭圆曲线上的点组成的集合,G 1 、G T 中的元素是椭圆曲线上的点,P∈G 1 、q∈Z q * ,Z q * 为正整数集合;椭圆曲线上的双线性映射函数 表示将G 1 中的某两个元素x,y映射到G T 中的某个元素 三个哈希函数: 表示将长度为k 2 的二进制字符串u映射到G 1 的元素H 1 (u)); 表示将长度为k 1 +n的二进制字符串v映射到Z q * 的某个整数H 2 (v); 表示将G T 的某一个元素映射到长度为k 1 +k 2 +n的二进制字符串w;其中k 1 是G 1 元素的比特数,k 2 是地面终端或卫星提交ID的比特数,n是从地面终端或卫星接收明文的比特数;2.3系统参数管理模块在正整数集合Z q * 中随机选取整数s,0<s<q,作为PKG的主密钥;2.4系统参数管理模块计算系统公钥Q TA ,Q TA =s·P,s是主密钥,P是生成元即原始点,Q TA 为新的点,其中“·”表示G 1 中元素P 1 的标量乘法运算;2.5系统参数管理模块将十元组 作为系统参数公开给PKG的第一计算模块,并把s作为主密钥保存,不泄漏给地面终端TE A 和卫星LEO A ;g(·)为计算密钥时的单向函数,f(·)为计算密钥时的混合函数;第三步,地面终端TE A 和卫星LEO A 的密钥管理模块与PKG相互配合,完成私钥分发,具体流程是:3.1地面终端TE A 的第一密钥管理模块向PKG的系统参数管理模块发送身份标识ID,申请系统参数的请求、申请私钥的请求;同时卫星LEO A 的第二密钥管理模块向PKG的系统参数管理模块发送身份标识ID,申请系统参数的请求、申请私钥的请求;3.2 PKG的系统参数管理模块验证地面终端TE A 和卫星LEO A 的设备编号,若设备编号在PKG内置白名单中,则审核通过,转步骤3.3;若审核不通过,向地面终端TE A 和卫星LEO A 的发送审核不通过的消息,转步骤3.1;3.3 PKG的第一计算模块利用地面终端TE A 的身份标识ID TE 及PKG主密钥s生成地面终端TE A 相应的私钥S TE ;3.4 PKG的第一计算模块利用卫星LEO A 的身份标识ID LEO 及PKG主密钥s生成卫星的私钥S LEO ;3.5若地面终端TE A 和卫星LEO A 能与PKG建立安全会话连接,则PKG的系统参数管理模块向地面终端TE A 的第一密钥管理模块和卫星LEO A 的第二密钥管理模块发送系统参数和私钥,若地面终端TE A 和卫星LEO A 不能与PKG建立安全会话连接,则PKG的系统参数管理模块通过离线方式向地面终端TE A 的第一密钥管理模块和卫星LEO A 的第二密钥管理模块发送系统参数和私钥;第四步,地面终端TE A 和卫星LEO A 相互配合完成组成员注册,完成会话密钥 的协商,方法是:4.1 LEO A 向TE A 广播含ID信息、时间戳信息的报文LBI,LBI=<ID LEO ,tt LEO ,X LEO ,Z LEO ,h 1 >,tt LEO 是LEO当前的时间戳,X LEO 是报文LBI第一变量X LEO ,X LEO =r LEO Q LEO ,Q LEO 是卫星公钥,r LEO 是整数,Z LEO 是报文LBI第二变量,h 1 是报文LBI第三变量;4.2 TE A 的第一密钥管理模块收到LEO A 卫星广播的报文LBI后,检查当前时刻减去LBI上的时间戳值是否在第一时间阈值内;如果当前时刻减去LBI上的时间戳值不在第一时间阈值内,则丢弃该报文,返回步骤4.1;如果当前时刻减去LBI上的时间戳值在第一时间阈值内,TE A 的第一密钥管理模块将报文LBI发送给TE A 的第二计算模块,执行步骤4.3;4.3 TE A 的第二计算模块向LEO A 的第二密钥管理模块发送报文TRI和计算终端会话密钥K TE ,具体步骤是:4.3.1 TE A 的第二计算模块计算卫星公钥Q LEO 和第三变量h 1 ,Q LEO =H 1 (ID LEO ),h 1 =H 2 (X LEO ||ID LEO ||tt LEO ),||是字符串连接符;随后验证 是否成立,如果不成立,返回步骤4.1;如果成立,执行步骤4.3.2;4.3.2 TE A 的第一密钥管理模块随机选择一个整数r TE ,r TE ∈Z q * ,将r TE 发送给TE A 的第二计算模块;4.3.3 TE A 的第二计算模块计算报文TRI第一变量X TE ,X TE =r TE Q TE ;4.3.4 TE A 的第二计算模块计算验证变量h' 1 ,h' 1 =H 2 (X TE ||ID LEO ||tt TE ),计算中间第一变量Z TE ,Z TE =(r TE +h' 1 )S TE ;4.3.5 TE A 的第二计算模块计算中间第二变量w TE , 计算报文TRI第二变量Y TE , 是异或运算符;4.3.6 TE A 的第二计算模块生成报文TRI,TRI=<tt TE ,X TE ,Y TE >;4.3.7 TE A 的第二计算模块计算终端会话密钥K TE , 4.3.8 TE A 的第二计算模块将报文TRI发送给LEO A 的第二密钥管理模块;4.4 LEO A 的第二密钥管理模块收到报文TRI后,检查当前时刻减去TRI上的时间戳值是否在第二时间阈值内,如果不在,则丢弃TRI,返回步骤4.3.8;否则,LEO A 执行步骤4.5;4.5 LEO A 的第三计算模块计算卫星会话密钥K LEO ,具体步骤是:4.5.1 LEO A 的第三计算模块计算中间第二变量w TE 4.5.2 LEO A 的第三计算模块计算地面终端TE A 的公钥Q TE ,Q TE =H 1 (ID TE ),计算验证变量h' 1 ,h' 1 =H 2 (X TE ||ID LEO ||tt TE );4.5.3 LEO A 的第三计算模块验证 是否成立,若成立,转步骤4.5.4;若不成立,返回步骤4.5.1;4.5.4 LEO A 的第三计算模块计算卫星会话密钥K LEO , 4.6经过以上步骤后,LEO A 和TE A 协商出了终端会话密钥K TE 和卫星会话密钥K LEO ;第五步,地面终端和卫星LEO A 配合进行组密钥生成,且LEO A 判断通话组成员是不是发生变化,根据变化采取不同的措施;LEO A 维护一个OFT,树的叶子结点存贮向LEO A 注册的地面终端组成员的会话密钥和地面终端到根结点路径上兄弟结点的盲密钥;假设卫星LEO A 的OFT共有M个叶子结点,对应共有M个地面终端组成员,分别为TE 1 ,…,TE m ,…,TE M ,1≤m≤M,地面终端TE m 为OFT树中从左至右第m个叶子结点对应的地面终端;地面终端和卫星LEO A 配合进行组密钥协商,生成组密钥的具体流程是:5.1 LEO A 的第三计算模块计算出OFT中所有结点的结点密钥和盲密钥并存储在LEO A ;将OFT中第h层,从左至右为第m h 个的结点记为 0≤h≤H,1≤m h ≤M h ,其中H为OFT树的高度,M h 为第h层结点总数,结点 的结点密钥记为 叶子结点的密钥 就是地面终端TE 1 ,TE 2 ,…,TE m ,…,TE M 的会话密钥 第h层中第m h 个结点 的盲密钥为 5.2 LEO A 的第三计算模块同时向TE 1 ,…,TE m ,…,TE M 分别发送报文 分别包含TE 1 ,…,TE m ,…,TE M 到根结点路径上兄弟结点的盲密钥和时间戳tt 1 LEO ,…tt m LEO ,…tt M LEO ,盲密钥分别用会话密钥 加密;5.3 TE 1 ,…,TE m ,…,TE M 分别接收 并行计算组密钥;TE 1 ,…,TE m ,…,TE M 计算组密钥的步骤相同,地面终端TE m 计算组密钥的方法是:5.3.1 TE m 的第一密钥管理模块接收LEO A 的第三计算模块发来的报文 检查当前时刻减去报文 上的时间戳tt m LEO 的值是否在第二时间阈值内,如果不在第二时间阈值内,丢弃 请求LEO A 的第三计算模块重新发送报文 返回步骤5.3;如果在第二时间阈值内,转步骤5.3.2;5.3.2 TE m 的第一密钥管理模块将报文 发送给TE m 的第二计算模块;5.3.3 TE m 的第二计算模块用终端会话密钥 解密 得到TE m 到根结点路径上所有兄弟结点的盲密钥;5.3.4 TE m 的第二计算模块计算组密钥K 01 ,K 01 表示根结点的密钥,为整个通话组的公共密钥;具体步骤是:5.3.4.1 TE m 的第二计算模块初始化变量,即令h=H-1,m h =m;5.3.4.2 TE m 的第二计算模块判断m h 是否为奇数,如果是,转步骤5.3.4.3;如果不是,转步骤5.3.4.6;5.3.4.3 TE m 的第二计算模块令m h+1 =(m h +1)/2;5.3.4.4 TE m 的第二计算模块计算 然后令h=h-1,m h =m h+1 ;5.3.4.5 TE m 的第二计算模块判断是否满足h<0,如果满足,则说明计算出通话组的组密钥K 01 ,转步骤5.4;如果不满足,转步骤5.3.4.2;5.3.4.6 TE m 的第二计算模块令m h+1 =m h /2;5.3.4.7 TE m 的第二计算模块计算 然后令h=h-1,m h =m h+1 ;5.3.4.8 TE m 的第二计算模块判断是否满足h<0,如果满足,则计算出通话组的组密钥K 01 ,转步骤5.4;如果不满足,转步骤5.3.4.2;5.4 LEO A 的第二密钥管理模块判断是否有新的地面终端需加入通话组,如果有,转第六步;如果没有,转步骤5.5;5.5 LEO A 的第二密钥管理模块判断是否有地面终端需退出通话组,如果有,转第七步;如果没有,转步骤5.6;5.6 LEO A 的第二密钥管理模块判断过顶卫星是否变化,如果变化,转第八步;如果未变化,转步骤5.4;第六步,当有新的地面终端TE p 向卫星LEO A 注册,卫星LEO A 判断有新的组成员加入,TE p 和卫星LEO A 相互配合完成组成员注册,完成会话密钥 的协商,并进行组密钥的更新;具体流程是:6.1当TE p 想要加入通话组时,TE p 按第四步所述方法和卫星LEO A 相互配合完成组成员注册,完成会话密钥 的协商;6.2 LEO A 将TE p 放置在OFT的叶子结点上,令TE p 下标改为当前OFT中TE p 右边终端的下标,令OFT中TE p 右边所有的终端下标加一,令地面终端总数M=M+1;6.3 LEO A 的第二密钥管理模块向LEO A 的第三计算模块发送含有OFT树变更信息的报文E C ;6.4 LEO A 的第三计算模块接收报文E C ,进行整个通话组的密钥更新和分发;具体步骤是:6.4.1 LEO A 的第三计算模块按5.1所述方法计算出OFT中所有结点的结点密钥和盲密钥并存储在LEO A ;6.4.2 LEO A 的第三计算模块同时向M个地面终端TE 1 ,…,TE m ,…,TE M 分发相应的报文 分别包含地面终端TE 1 ,…,TE m ,…,TE M 到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt 1 LEO ,…tt m LEO ,…tt M LEO ,盲密钥分别用会话密钥 加密;即LEO A 的第三计算模块向TE m 分发 中包含地面终端TE m 到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt m LEO ,盲密钥用会话密钥 加密;6.5 TE 1 ,…,TE m ,…,TE M 分别接收 并行计算组密钥;TE 1 ,…,TE m ,…,TE M 计算组密钥的步骤相同,地面终端TE m 计算组密钥的方法是:6.5.1 TE m 的第一密钥管理模块接收 检查当前时刻减去 上的时间戳的值是否在第二时间阈值内;如果不在第二时间阈值内,丢弃当前收到的报文,请求LEO A 的第三计算模块重新发送报文 返回步骤6.5;如果在,转步骤6.5.2;6.5.2 TE m 的第一密钥管理模块将报文 发送给TE m 的第二计算模块;6.5.3 TE m 的第二计算模块用终端会话密钥 解密 得到TE m 到根结点路径上所有兄弟结点的盲密钥;6.5.4 TE m 的第二计算模块采用步骤5.3.4所述方法计算新的组密钥K 01 ',返回步骤5.4;第七步,若有组成员退出时,令需退出的终端为TE q (1≤q≤M),TE q 和卫星LEO A 配合完成组成员退出,对组密钥进行更新和分发;具体流程是:7.1 TE q 的第一密钥管理模块向卫星LEO A 的第二密钥管理模块发送请求退出报文E TEq ,报文中包含TE q 所在的结点信息和时间戳tt TEq ;7.2卫星LEO A 的第二密钥管理模块检查当前时刻减去报文E TEq 上时间戳的值是否在第三时间阈值内;如果在第三时间阈值内,卫星LEO A 的第二密钥管理模块向TE m 的第一密钥管理模块发送确认退出报文,将TE q 从OFT上去除,并将TE q 兄弟结点的终端置于TE q 的父结点上,令OFT中原TE q 右边所有的终端下标减一,令M=M-1,执行步骤7.3;如果不在第三时间阈值内,返回步骤7.1;7.3 LEO A 的第二密钥管理模块向LEO A 的第三计算模块发送含有OFT树变更信息的报文E' C ;7.4 LEO A 的第三计算模块接收报文E' C ,进行整组的密钥更新和分发;具体步骤是:7.4.1 LEO A 的第三计算模块按5.1所述方法计算出OFT中所有结点的结点密钥和盲密钥并存储在LEO A ;7.4.2 LEO A 的第三计算模块同时向M个地面终端TE 1 ,…,TE m ,…,TE M 分发相应的报文 分别包含地面终端TE 1 ,…,TE m ,…,TE M 到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt 1 LEO ,…tt m LEO ,…tt M LEO ,盲密钥分别用会话密钥 加密;即LEO A 的第三计算模块向TE m 分发 中包含地面终端TE m 到根结点路径上所有兄弟结点更新的盲密钥和时间戳tt m LEO ,盲密钥用会话密钥 加密;7.5 TE 1 ,…,TE m ,…,TE M 分别接收 并行计算组密钥;TE 1 ,…,TE m ,…,TE M 计算组密钥的步骤相同,地面终端TE m 计算组密钥的方法是:7.5.1 TE m 的第一密钥管理模块接收 检查当前时刻减去 上的时间戳的值是否在第二时间阈值内;如果不在第二时间阈值内,丢弃当前收到的报文,请求LEO A 的第三计算模块重新发送报文 返回步骤7.5;如果在,转步骤7.5.2;7.5.2 TE m 的第一密钥管理模块将报文 发送给TE m 的第二计算模块;7.5.3 TE m 的第二计算模块用终端会话密钥 解密 得到TE m 到根结点路径上所有兄弟结点的盲密钥;7.5.4 TE m 的第二计算模块采用步骤5.3.4所述方法计算出新的组密钥K 01 ”,返回步骤5.4;第八步,当过顶卫星发生变化时,OFT树中所有地面终端TE 1 ,…,TE m ,…,TE M 、卫星LEO A 和卫星LEO B 配合完成组控制器切换,具体流程是:8.1 LEO A 的第二密钥管理模块将LEO A 维护的OFT通过星间链路发送给下一颗过顶卫星LEO B 的第二密钥管理模块;8.2当前过顶卫星LEO A 的第二密钥管理模块向地面终端TE,…,TE m ,…,TE M 同时发送报文 报文 中包含下一颗过顶卫星LEO B 的 和时间戳 8.3地面终端TE 1 ,…,TE m ,…,TE M 的第一密钥管理模块收到LEO A 广播的报文 后,检查当前时刻减去时间戳 的值是否在第二时间阈值内;如果当前时刻减去地面终端TE 1 ,…,TE m ,…,TE M 的时间戳 值都在第二时间阈值内,则TE 1 ,…,TE m ,…,TE M 的第一密钥管理模块将 存储在本地,执行步骤8.4;如果存在当前时刻减去地面终端TE 1 ,…,TE m ,…,TE M 的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEO A 的第二密钥管理模块重新发送报文 转步骤8.3;8.4 LEO B 的第二密钥管理模块向地面终端TE 1 ,…,TE m ,…,TE M 同时广播广播报文 报文 中包含卫星LEO B 的 和时间戳 8.5地面终端TE 1 ,…,TE m ,…,TE M 的第一密钥管理模块收到LEO B 广播的报文后,检查当前时刻减去时间戳 的值是否在第二时间阈值内;如果当前时刻减去地面终端TE 1 ,…,TE m ,…,TE M 检查的时间戳 的值都在第二时间阈值内,则TE 1 ,…,TE m ,…,TE M 的第一密钥管理模块将 存储在本地,执行步骤8.6;如果存在当前时刻减去地面终端TE 1 ,…,TE m ,…,TE M 的时间戳值不在第二时间阈值内,丢弃当前收到的报文,请求LEO A 的第二密钥管理模块重新发送报文 转步骤8.5;8.6地面终端TE 1 ,…,TE m ,…,TE M 的第一密钥管理模块比较两次收到的 即从LEO A 收到的 和从LEO B 收到的 是否一致,如果地面终端TE 1 ,…,TE m ,…,TE M 第一密钥管理模块比较两次收到的 均一致,则说明完成组控制器切换,卫星LEO A 退出通话组,卫星LEO B 接替卫星LEO A 执行组控制器工作,返回步骤5.4;如果存在地面终端TE 1 ,…,TE m ,…,TE M 中第一密钥管理模块比较两次收到的 不一致,转步骤8.1。
2.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于3.3步PKG的第一计算模块生成地面终端TE A 相应的私钥S TE 的方法是:S TE =s·H 1 (ID TE ),ID TE 为地面终端TE A 的身份标识,即将PKG的主密钥s与H 1 (ID TE )做标量乘法运算,H 1 (ID TE )指ID TE 的哈希值,将任意长度二进制字符串ID TE 映射为一个循环加法群G 1 的元素。
3.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于3.4步所述PKG的第一计算模块生成卫星的私钥S LEO ,方法是:S LEO =s·H 1 (ID LEO ),H 1 (ID LEO )指ID LEO 的哈希值。
4.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于4.1步所述LEO A 向TE A 广播含ID信息、时间戳信息的报文LBI的方法是:4.1.1 LEO A 的第二密钥管理模块随机选择一个整数r LEO ,r LEO ∈Z q * ,将r LEO 发送给LEO A 的第三计算模块;4.1.2 LEO A 的第三计算模块计算卫星公钥Q LEO 并储存,Q LEO =H 1 (ID LEO );4.1.3 LEO A 的第三计算模块计算报文LBI第一变量X LEO ,X LEO =r LEO Q LEO ;4.1.4 LEO A 的第三计算模块计算报文LBI第三变量h 1 和报文LBI第二变量Z LEO ,h 1 =H 2 (X LEO ||ID LEO ||tt LEO ),Z LEO =(r LEO +h 1 )S LEO ;其中tt LEO 是LEO当前的时间戳,S LEO 是卫星的私钥;4.1.5 LEO A 的第二密钥管理模块生成报文LBI,LBI=<ID LEO ,tt LEO ,X LEO ,Z LEO ,h 1 >;随后,LEO A 向地面终端广播报文LBI。
5.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于4.2步所述第一时间阈值为一个能够表征卫星和地面时延的值,设置为100ms;4.4步所述第二时间阈值为一个能够表征卫星和地面时延的值,设置为与第一时间阈值相同的值;7.2步所述第三时间阈值是一个表征地面终端给卫星发送消息时延的值,设置与第一时间阈值相同。
6.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于5.1步所述LEO A 的第三计算模块计算出OFT中所有结点的结点密钥和盲密钥并存储在LEO A 的方法是:5.1.1 LEO A 的第三计算模块初始化h=H-1,m h =1,m h+1 =1;5.1.2 LEO A 的第三计算模块计算叶子结点即第H层中M H 个结点的盲密钥 为第H层中第m H 个结点的盲密钥, 5.1.3 LEO A 的第三计算模块计算第h层中第m h 个结点的密钥 其中 分别是结点 的盲密钥, 然后令m h =m h +1,m h+1 =m h+1 +2;5.1.4 LEO A 的第三计算模块计算结点 的盲密钥 5.1.5 LEO A 的第三计算模块判断是否满足m h >M h ,如果满足,令h=h-1,m h =1,m h+1 =1,转步骤5.1.6;如果不满足,返回步骤5.1.3;5.1.6 LEO A 的第三计算模块判断是否满足h<0,如果满足,结束;如果不满足,返回步骤5.1.3。
7.如权利要求1所述的一种面向低轨卫星网络的组密钥管理方法,其特征在于6.2步所述LEO A 将TE p 放置在OFT的叶子结点上的规则是:在OFT中找到密钥路径最短的结点,路径最短结点有多个时,按照先左后右的原则,优先选择最左的路径最短结点,将该结点扩展出左右两个孩子结点,将原本该结点上的地面终端置于左边孩子结点上,将新加入的地面终端TE p 置于右边孩子结点上。



