CN101753295A - 一种基于线性几何的群组密钥管理方法 - Google Patents

一种基于线性几何的群组密钥管理方法 Download PDF

Info

Publication number
CN101753295A
CN101753295A CN200910214130A CN200910214130A CN101753295A CN 101753295 A CN101753295 A CN 101753295A CN 200910214130 A CN200910214130 A CN 200910214130A CN 200910214130 A CN200910214130 A CN 200910214130A CN 101753295 A CN101753295 A CN 101753295A
Authority
CN
China
Prior art keywords
group
vector
centerdot
secret
controller
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
Application number
CN200910214130A
Other languages
English (en)
Other versions
CN101753295B (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN2009102141304A priority Critical patent/CN101753295B/zh
Publication of CN101753295A publication Critical patent/CN101753295A/zh
Application granted granted Critical
Publication of CN101753295B publication Critical patent/CN101753295B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于线性几何的群组密钥管理方法,包括以下步骤:步骤1、组控制器选定群组使用的有限域F和映射f;组成员在有限域F上选定一个秘密向量,并通过安全信道发送给组控制器;步骤2、组控制器选定一个映射参数,并使用映射f把所有组成员的秘密向量映射成一组新向量;步骤3、组控制器选择一个随机数k作为群组密钥,并使用新向量组和群组密钥构造一个线性方程组;组控制器求解出中心向量,组控制器把中心向量和映射参数发送给组成员;步骤4、组成员根据映射参数把自身的秘密向量映射到向量空间中的一个新向量,再通过计算新向量与中心向量的内积得到群组密钥。本发明具有存储量少、计算量小、安全性高、能有效避免暴力攻击等优点。

Description

一种基于线性几何的群组密钥管理方法
技术领域
本发明涉及网络安全技术中的群组密钥管理领域,具体是涉及一种基于线性几何的群组密钥管理方法。
背景技术
随着Internet技术的快速发展以及组播技术的流行,面向群组的应用,例如视频会议,网络游戏,视频点播等等,开始扮演越来越重要的角色,怎样保护群组通信的安全也成为这些应用面临的重要问题。一个安全群组通信系统不仅要满足数据保密性,用户认证,信息完整性等要求,同时还要具有良好的可扩展性。对于一个安全群组通信系统来说,一种安全的,高效的,健壮的群组密钥管理方案是至关重要的。
目前,在安全群组通信的密钥管理方面已经有了很多方案,其中典型的方案如Group Key Management Protocol(GKMP),Secure Lock(SL),Logical KeyHierarchy(LKH)等等。
Group Key Management Protocol(GKMP,组密钥管理协议)是一种直接的,从单播扩展到组播的方案,该方案假定GC(Group Controller,群组管理者)和每个群组成员之间存在一个安全信道,初始时,GC把选定的群组密钥K0通过安全信道发送给群组中的所有成员。当有新成员加入时,GC选择一个新的群组密钥KN,并用原来的群组密钥加密新密钥,得到 K ′ = E K N ( K 0 ) , 然后把K′广播给整个群组,此外,GC还把KN通过安全信道发送给新成员。显然,该方案不具有可扩展性,而且当有成员退出群组时,该方案无法满足前向保密性的要求,而只能重新建立一个不包含该成员的新群组。
Secure Lock(SL,安全锁)方案则利用中国剩余定理(CRT)构造一个安全锁,在群组密钥更新的时候,把所有的更新消息合并到一条。然而,CRT是一个非常耗时的操作。由于计算锁的时间和锁的长度(也即传输时间)随着组员数量的增加成比例增长,SL方案只适合成员数量很小的群组。
Logical Key Hierarchy(LKH,逻辑密钥树)方案采用树结构组织密钥。GC维护一棵虚拟树,树的节点对应给定的密钥,根节点的密钥是整个群组的密钥,中间节点对应KEK(key encryption key),叶节点的密钥由不同的成员持有,每个成员还知道从自身叶子节点到根节点的路径上的密钥。当一个成员加入或退出群组时,它的父节点的KEK以及从它自身到根节点的路径上的所有节点的KEK都需要改变。因此,退出或者加入时需要更改的密钥数是O(log2n),加密次数为O(2×log2n)。但是若有大量的成员加入或离开群组,那么更新密钥的总开销将会随着变动的成员数目成比例地增长。另外还有其他一些方案也采用了树结构,例如OFT(One-way Function Tree),OFCT(One-way Function Chain Tree),Hierarchical a-ary Tree with Clustering,Efficent Large-Group Key等等,它们都与LKH类似或可视为LKH的改进。
发明内容
本发明的目的之一在于提供一种基于线性几何的群组密钥管理方法,本发明方法具有存储量少、计算量小、能有效避免暴力攻击等优点。
本发明的目的之二在于提供另一种基于线性几何的群组密钥管理方法,该发明方法具有存储量少、计算量小、安全性高、能有效避免暴力攻击等优点。
本发明目的之一是通过下述技术方案实现的:一种基于线性几何的群组密钥管理方法,包括以下步骤:
步骤1、组控制器选定群组使用的有限域F(群组中所有的运算都是在有限域F中进行)以及映射f;设群组有n个组成员,每个组成员在有限域F上选定一个m维秘密向量,并通过安全信道发送给组控制器;组控制器为组成员分配编号并把编号发送给该成员,接收每个组成员的m维秘密向量并密存;其中m、n为正整数,2≤m≤n;
步骤2、组控制器在有限域F内随机选定一个映射参数,并根据该映射参数,用映射f把所有组成员的秘密向量映射成向量空间中一组新的向量,如果新向量组是线性相关的,则再次选择映射参数并重新映射,或者返回步骤1让组成员重选秘密向量,直到新向量组线性无关为止;
步骤3、组控制器在有限域F内选择一个随机数作为群组密钥,并使用新向量组和群组密钥构造一个线性方程组;组控制器求解出该线性方程组的唯一解,称为中心向量,组控制器把中心向量和映射参数通过公开信道广播或组播发送给所有组成员;
步骤4、组成员收到中心向量和映射参数后,根据映射参数把自身的秘密向量映射到向量空间中的一个新向量,再通过计算新向量与中心向量的内积得到群组密钥。
为更好的实现本发明,所述步骤1具体为:
组控制器选定群组使用的有限域F以及映射f,每个组成员在有限域F上选定一个m维秘密向量,并把秘密向量通过安全信道发送给组控制器,其中m为正整数,2≤m≤n;
组控制器为组成员分配编号ui,并把编号发送给该成员,接收每个组成员的m维秘密向量Vi=(vi,1,vi,2,…,vi,m)并密存,其中i=1,…,n;
所述步骤2具体为:
组控制器在有限域F内随机选定一个映射参数r,并根据映射参数r,使用映射f把所有组成员ui的秘密向量Vi=(vi,1,vi,2,…,vi,m)映射成向量空间中一组新的向量:
对于组成员ui,其中i=1,2,…,m:
xi,1=f(vi,1,r)
xi,2=f(vi,2,r)
……
xi,m=f(vi,m,r)
对于组成员ui,其中i=m+1,…,n:
xi,1=f(vi,1,r)
xi,i-m+2=f(vi,2,r)
……
xi,i=f(vi,m,r)
这样组控制器获得了有限域F上的一组新向量:
对于组成员ui,其中i=1,2,…,m:
Xi=(xi,1,xi,2,…,xi,n),并且xi,m+1…,xi,n为0;
对于组成员ui,其中i=m+1,…,n:
Xi=(xi,1,xi,2,…,xi,n),并且xi,2,…,xi,i-m+1以及xi,i+1,…,xi,n都为0;
组控制器判断X1,X2…,Xn是否线性无关的,如果它们线性无关,进入步骤3,否则,则返回步骤2,或者返回步骤1让组成员重选秘密向量;(由于r是一个随机数,因此可以很容易地得到一组线性无关的向量组X1,X2…,Xn);
所述步骤3具体为:
组控制器在有限域F内选择一个随机数k作为群组密钥,并使用新向量组和群组密钥构造一个线性方程组:
假定a1,a2,…,an是未知变量,组控制器通过以下线性方程组求解中心向量A=(a1,a2,…,an):
x 1,1 a 1 + x 1,2 a 2 + . . . + x 1 , n a n = k x 2,1 a 1 + x 2,2 a 2 + . . . + x 2 , n a n = k . . . . . . x n , 1 a 1 + x n , 2 a 2 + . . . + x n , n a n = k
则该线性方程组表示成向量的形式:X×AT=KT
其中T表示距阵转置,向量K=(k,k,…k),向量A=(a1,a2,…,an),矩阵
X = X 1 X 2 . . . X n = x 1,1 x 1,2 . . . x 1 , n x 2,1 x 2,2 . . . x 2 , n . . . . . . . . . . . . x n , 1 x n , 2 . . . x n , n ;
因为X1,X2…,Xn是线性无关的向量,系数矩阵的行列式|X|≠0,所以该线性方程组具有唯一的解;
组控制器把中心向量A=(a1,a2,…,an)和映射参数r通过公开信道广播或组播发送给所有组成员;
所述步骤4具体为:
组成员收到A=(a1,a2,…,an)和映射参数r后,每个组成员ui根据映射参数r把自身的秘密向量映射到向量空间中的一个新向量:
对于组成员ui,其中i=1,2,…,m:
xi,1=f(vi,1,r)
xi,2=f(vi,2,r)
……
xi,m=f(vi,m,r)
即:
Xi=(xi,1,xi,2,…,xi,n),其中xi,m+1,…,xi,n为0;
对于组成员ui,其中i=m+1,…,n:
xi,1=f(vi,1,r)
xi,i m+2=f(vi,2,r)
……
xi,i=f(vi,m,r)
即:
Xi=(xi,1,xi,2,…,xi,n),其中xi,2,…,xi,i-m+1以及xi,i+1,…,xi,n都为0;
然后组成员ui通过下式求出群组密钥k,即向量Xi和中心向量A=(a1,a2,…,an)的内积:
k=Xi×AT=xi,1a1+xi,2a2+…+xi,nan,其中T表示距阵转置;
当有新成员申请加入群组时,所述基于线性几何的群组密钥管理方法还包括:
步骤5、新成员入群组:每个新成员在有限域F上选择一个m维秘密向量,并通过安全信道发送给组控制器;组控制器为新成员分配编号并把编号发送给该成员,接收每个组成员的m维秘密向量并密存;
重复步骤2~步骤4。
当有组成员退出群组时,所述基于线性几何的群组密钥管理方法还包括:
步骤5、组成员退出群组:每个要退出的组成员向组控制器申请离开群组;组控制器删除退出的组成员的秘密向量,并根据当前成员下标的大小顺序,重新分配剩余组成员的编号,并通过公开信道发送给所有成员;
重复步骤2~步骤4。
当有新成员申请加入群组,组成员同时退出群组时,所述基于线性几何的群组密钥管理方法还包括:
步骤5、新成员加入、组成员同时退出群组:每个新成员在有限域F内选择一个m维秘密向量,并通过安全信道发送给组控制器;将要退出的组成员向组控制器申请离开群组,组控制器删除每个退出成员的秘密向量,根据当前成员下标的大小顺序重新分配剩余成员的编号,并为每个新成员分配编号;组控制器接收新成员的m维秘密向量并密存;然后把所有成员的下标编号通过公开信道广播给所有成员;
重复步骤2~步骤4。
优选的,所述m维秘密向量是二维秘密向量。
优选的,所述基于线性几何的群组密钥管理方法还包括自动更新:若在预设时间内没有成员加入或退出群组,则组控制器将周期性地更新群组密钥,组控制器重新选择映射参数与群组密钥,并计算出中心向量,组控制器把中心向量和映射参数通过公开信道广播或组播发送给所有组成员。
优选的,设映射f可表示为z=f(w,y),其中w,y,z∈F,映射f的主要作用是随机化,映射f满足以下特性:
1)知道w,y,计算z=f(w,y)是容易的。
2)若仅知道z和y,从z=f(w,y)求出w是困难的;若仅知道z和w,从z=f(w,y)求出y也是困难的。得到一系列的zi和yi,从zi=f(wi,yi)求出wi是困难的;得到一系列的zi和wi,从zi=f(wi,yi)求出yi也是困难的。
本发明目的之二是通过下述技术方案实现的:一种基于线性几何的群组密钥管理方法,包括以下步骤:
步骤1、组控制器选定群组使用的有限域F(群组中所有的运算都是在有限域F中进行)以及映射f;设群组有n个组成员,每个组成员在有限域F上选定一个m维秘密向量,并通过安全信道发送给组控制器;组控制器为组成员分配编号并把编号发送给该组成员,接收每个组成员的m维秘密向量并密存;其中m、n为正整数,2≤m≤n+1;
步骤2、组控制器收到所有组成员的秘密向量后,自己也选定一个m维秘密向量,组控制器在有限域F内随机选定一个映射参数,并根据映射参数,使用映射f把自身的和所有组成员的秘密向量映射成向量空间中一组新的向量,如果新向量组是线性相关的,则再次选择映射参数并重新映射,或者返回步骤1让组成员重选秘密向量,直到新向量组线性无关为止;
步骤3、组控制器在有限域F内选择一个随机数作为群组密钥,并使用新向量组和群组密钥构造一个线性方程组;组控制器求解出该线性方程组的唯一解,称为中心向量,组控制器把中心向量和映射参数通过公开信道广播或组播发送给所有组成员;
步骤4、组成员收到中心向量和映射参数后,根据映射参数把自身的秘密向量映射到向量空间中的一个新向量,再通过计算新向量与中心向量的内积得到群组密钥。
为更好的实现本发明,所述步骤1具体为:
组控制器选定群组使用的有限域F以及映射f,每个组成员在有限域F上选定一个m维秘密向量,并把秘密向量通过安全信道发送给组控制器,其中m为正整数,2≤m≤n+1;
组控制器为组成员分配编号ui,并把编号发送给该成员,接收每个组成员的m维秘密向量Vi=(vi,0,vi,1,…,vi,m-1)并密存,其中i=1,…,n;
所述步骤2具体为:
组控制器在有限域F内选定随机数v0,0,v0,1,…,v0,m-1,构成自身的秘密向量V0=(v0,0,v0,1…,v0,m-1),V0由组控制器保密;组控制器在有限域F内随机选定一个映射参数r,并根据映射参数r,使用映射f把所有组成员ui的秘密向量Vi=(vi,0,vi,1,…,vi,m-1)及自身的秘密向量V0=(v0,0,v0,1,…,v0,m-1)映射成向量空间中一组新的向量:
对于组控制器自身的秘密向量V0=(v0,0,v0,1,…,v0,m-1),组控制器计算:
x0,0=f(v0,0,r)
x0,1=f(v0,1,r)
……
x0,m-1=f(v0,m-1,r)
对于组成员的ui秘密向量Vi=(vi,0,vi,1,…,vi,m-1),其中i=1,2,…,m-1,组控制器计算:
xi,0=f(vi,0,r)
xi,1=f(vi,1,r)
……
xi,m-1=f(vi,m-1,r)
对于组成员的ui秘密向量Vi=(vi,0,vi,1,…,vi,m-1),其中i=m,m+1,…,n,组控制器计算:
xi,0=f(vi,0,r)
xi,i-m+2=f(vi,1,r)
……
xi,i=f(vi,m-1,r)
这样组控制器获得了有限域F上的一组新向量:
对于组控制器的秘密向量映射后得到的新向量X0
X0=(x0,0,x0,1,…,x0,n),并且x0,m,…,x0,n为0;
对于组成员ui的新向量Xi,其中i=1,2,…,m-1:
Xi=(xi,0xi,1…,xi,n),并且xi,m,…,xi,n为0;
对于组成员ui的新向量Xi,其中i=m,m+1,…,n:
Xi=(xi,0,xi,1,…,xi,n),并且xi,1,…,xi,i-m+1以及xi,i+1,…,xi,n都为0;
组控制器判断X0,X1…,Xn是否线性无关的,如果它们线性无关,进入步骤3,否则,则返回步骤2,或者返回步骤1让组成员重选秘密向量;(由于r是一个随机数,因此可以很容易地得到一组线性无关的向量X0,X1…,Xn);
所述步骤3具体为:
组控制器在有限域F内选择一个随机数k作为群组密钥,并使用新向量组和群组密钥构造一个线性方程组:
假定a0,a1,…,an是未知变量,组控制器通过以下线性方程组求解中心向量A=(a0,a1,…,an):
x 0,0 a 0 + x 0,1 a 1 + . . . + x 0 , n a n = k x 0,1 a 0 + x 1 , 1 a 1 + . . . + x 1 , n a n = k . . . . . . x n , 0 a 0 + x n , 1 a 1 + . . . + x n , n a n = k
则该线性方程组表示成向量的形式:X×AT=KT
其中向量K=(k,k,…k),向量A=(a0,a1,…,an),矩阵 X = X 0 X 1 . . . X n = x 0,0 x 0,1 . . . x 0 , n x 1,0 x 1,1 . . . x 1 , n . . . . . . . . . . . . x n , 0 x n , 1 . . . x n , n ;
因为X0,X1…,Xn是线性无关的向量,系数矩阵的行列式|X|≠0,所以该线性方程组具有唯一的解;
组控制器把中心向量A=(a0,a1,…,an)和映射参数r通过公开信道广播或组播发送给所有组成员;
所述步骤4具体为:
组成员收到中心向量A=(a0,a1,…,an)和映射参数r后,根据映射参数r把自身的秘密向量映射到向量空间中的一个新向量:
对于组成员ui,其中i=1,2,…,m-1:
xi,0=f(vi,0,r)
xi,1=f(vi,1,r)
……
xi,m-1=f(vi,m-1,r)
即:
Xi=(xi,0,xi,1,…,xi,n),并且xi,m,…,xi,n为0;
对于组成员ui,其中i=m,m+1,…,n:
xi,0=f(vi,0,r)
xi,i-m+2=f(vi,1,r)
……
xi,i=f(vi,m-1,r)
即:
Xi=(xi,0,xi,1,…,xi,n),并且xi,1,…,xi,i-m+1以及xi,i+1,…,xi,n都为0;
然后组成员ui通过下式求出群组密钥k,即向量Xi和中心向量A=(a0,a1,…,an)的内积:
k=Xi×AT=xi,0a0+xi,1a1+…+xi,nan
当有新成员申请加入群组时,所述基于线性几何的群组密钥管理方法还包括:
步骤5、新成员入群组:每个新成员在有限域F上选择一个m维秘密向量,并通过安全信道发送给组控制器;组控制器为新成员分配编号并把编号发送给该成员,接收每个组成员的m维秘密向量并密存;
重复步骤2~步骤4。
当有组成员申请退出群组时,所述基于线性几何的群组密钥管理方法还包括:
步骤5、组成员退出群组:每个要退出的组成员向组控制器申请离开群组;组控制器删除退出的组成员的秘密向量,并根据当前成员下标的大小顺序,重新分配剩余组成员的编号,并通过公开信道发送给所有成员;
重复步骤2~步骤4。
当有新成员申请加入群组、组成员同时退出群组时,所述基于线性几何的群组密钥管理方法还包括:
步骤5、新成员加入、组成员同时退出群组:每个新成员在有限域F内选择一个m维秘密向量,并通过安全信道发送给组控制器;将要退出的组成员向组控制器申请离开群组,组控制器删除每个退出成员的秘密向量,根据当前成员下标的大小顺序重新分配剩余成员的编号,并为每个新成员分配编号;组控制器接收新成员的m维秘密向量并密存;然后把所有成员的下标编号通过公开信道广播给所有成员;
重复步骤2~步骤4。
优选的,所述m维秘密向量是二维秘密向量。
优选的,所述基于线性几何的群组密钥管理方法还包括自动更新:若在预设时间内没有成员加入或退出群组,则组控制器将周期性地更新群组密钥,组控制器重新选择映射参数与群组密钥,并计算出中心向量,组控制器把中心向量和映射参数通过公开信道广播或组播发送给所有组成员。
优选的,设映射f可表示为z=f(w,y),其中w,y,z∈F,映射f的主要作用是随机化,映射f满足以下特性:
1)知道w,y,计算z=f(w,y)是容易的。
2)若仅知道z和y,从z=f(w,y)求出w是困难的;若仅知道z和w,从z=f(w,y)求出y也是困难的。得到一系列的zi和yi,从zi=f(wi,yi)求出wi是困难的;得到一系列的zi和wi,从zi=f(wi,yi)求出yi也是困难的。
本发明与现有技术相比,具有如下优点和有益效果:
第一,各组成员以及组控制器的存储量少、计算量小:在优选方案中,取m=2,群组的每个成员只要保存自身的二维秘密向量,即只需要2L位存储空间(L是有限域上每个元素的位数),同时每个成员的计算量就是根据映射参数把自身的秘密向量映射到空间中的一个新向量,以及计算群组密钥,一共包括两次映射操作,在有限域上的两次乘法和一次加法;可以看到,每个组成员的存储空间和计算量都是固定的,不会随着群组规模的增大而增加;而组控制器需要保存整个群组的秘密向量,需要的存储空间为2nL(n是群组的成员数,L是有限域上每个元素的位数),而组控制器的主要计算是求中心向量,因为系数矩阵是稀疏的,而且可以很容易地转换成三角阵,计算也就非常容易,因此,组控制器的存储空间和计算量只随着群组规模的增大而线性增加。
第二,组控制器运算过程容易并行化;若组控制器运行在多核处理器平台上,则可以很容易地利用当前流行的并行运算库把组控制器运算过程并行化,充分发挥多核处理器的优势。
第三,只在群组成员初次注册及新成员加入时需要使用安全信道,其他时候只需要公开的信道;因为在群组初始化的时候,组成员通过安全信道把秘密向量发送给组控制器,此时群组还没建立,为了保证秘密向量的安全性,需要使用安全信道;而在此后的通信中,组控制器只要把中心向量A和映射参数r发送给所有组成员,由于向量A和r都是公开的,不需要保密,所以不需要安全信道,可以采用公开的信道广播或组播的方式发送。
第四,本发明方法不依赖于其它密码学方法,本发明的安全性建立在有限域上线性几何理论的基础上,在计算群组密钥的过程中只使用简单的映射操作以及有限域上的基本运算,而不需要依赖其它传统的密码学方法,包括非对称密码学,对称密码学和散列函数等;这样就大大降低了本发明受到其它方面攻击的可能性,即使传统的密码学方法被攻破了,本发明所提供的安全性保证也不会受到任何影响。
第五,提供前向保密和后向保密;群组密钥k是随机选择的,而且在每次组成员加入或退出后,k都会改变,即使群组密钥在某一个时间段暴露了,根据群组密钥的更新机制,非成员也无法知道下一个时间段的群组密钥,因此前向保密和后向保密都能得到保证。
第六,有效避免群组内成员或组外非成员的攻击;群组密钥k是通过计算组成员的秘密向量Xi和群组公开的中心向量A的内积得到的,而向量Xi又是利用组成员的秘密向量Vi和映射参数r通过映射f产生的;任何非成员,如果没有合法的秘密向量Vi就不能计算Xi,从而无法得到群组密钥k;同时,任何组成员或非成员都无法推导出其他组成员的秘密向量,因为每个组成员的秘密向量都是通过安全信道发送给组控制器的,因此,任何非成员或组内的其他成员都无法推导出组成员的秘密向量。
第六,有效避免暴力攻击;对利用本发明密钥管理方法的群组密钥进行暴力攻击,由于群组密钥k是在有限域F上随机选择的,只要有限域F的元素个数大于特定的常量,例如2128,那么对群组密钥的暴力攻击将会非常困难。
附图说明
图1是实施例一中的安全群组通信系统架构示意图;
图2是实施例一中组控制器选定群组所使用的有限域和映射f,以及各组成员把秘密向量发送给组控制器的示意图;
图3是实施例一中组控制器通过映射参数和群组密钥求出中心向量的示意图;
图4是实施例一中组控制器把映射参数、中心向量发送给组成员的示意图;
图5是实施例一中组成员通过映射参数、中心向量求出群组密钥的示意图;
图6是实施例一中组控制器、各组成员建立群组的示意图;
图7是实施例五中的安全群组通信系统架构示意图;
图8是实施例五中组控制器选定群组所使用的有限域和映射f,以及各组成员把秘密向量发送给组控制器的示意图;
图9是实施例五中组控制器通过映射参数和群组密钥求出中心向量的示意图;
图10是实施例五中组控制器把映射参数、中心向量发送给组成员的示意图;
图11是实施例五中组成员通过映射参数、中心向量求出群组密钥的示意图;
图12是实施例五中组控制器、各组成员建立群组的示意图。
具体实施方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例一
典型的安全群组通信系统架构如图1所示,该系统包括组控制器(GroupControl,GC),以及4个群组用户U1、U2、U3和U4。组控制器(GC)、各个用户通过网际网络连接。
如图2所示,在群组初始化时,组控制器(GC)选定群组所使用的有限域F以及映射f,群组中的所有运算都建立在有限域F上,映射f使用伪随机数生成器。
步骤1,组成员U1,U2,U3,U4要加入群组,U1在有限域F内选定三个秘密随机数v1,1,v1,2,v1,3∈F,构成三维秘密向量V1=(v1,1,v1,2,v1,3),U2也选定三个秘密随机数v2,1,v2,2,v2,3∈F,构成三维秘密向量V2=(v2,1,v2,2,v2,3),U3也选定三个秘密随机数v3,1,v3,2,v3,3∈F,构成三维秘密向量V3=(v3,1,v3,2,v3,3),U4也选定三个秘密随机数v4,1,v4,2,v4,3∈F,构成三维秘密向量V4=(v4,1,v4,2,v4,3)。U1、U2、U3和U4通过安全信道把V1=(v1,1,v1,2,v1,3)、V2=(v2,1,v2,2,v2,3)、V3=(v3,1,v3,2,v3,3)、V4=(v4,1,v4,2,v4,3)发送给组控制器(GC);
组控制器(GC)为组成员U1分配编号u1,为组成员U2分配编号u2,为组成员U3分配编号u3,为组成员U4分配编号u4,组控制器把上述编号通过安全信道分别发送给相应组成员,接收每个组成员的3维秘密向量Vi=(vi,1,vi,2,vi,3)并密存,其中i=1,2,3,4;
步骤2,如图3所示,组控制器(GC)收到成员U1、U2、U3和U4的秘密向量V1、V2、V3、V4后,在有限域F内选定随机数r作为映射参数,并使用映射f把所有组成员ui的3维秘密向量Vi=(vi,1,vi,2,vi,3)映射成向量空间中一组新的向量:
对于组成员ui(i=1,2,3),组控制器(GC)计算:
x1,1=f(v1,1,r)
x1,2=f(v1,2,r)
x1,3=f(v1,3,r)
x2,1=f(v2,1,r)
x2,2=f(v2,2,r)
x2,3=f(v2,3,r)
x3,1=f(v3,1,r)
x3,2=f(v3,2,r)
x3,3=f(v3,3,r)
对于组成员ui,其中i=4,组控制器(GC)计算:
x4,1=f(v4,1,r)
x4,3=f(v4,2,r)
x4,4=f(v4,3,r)
这样组控制器(GC)获得了有限域F上的一组新向量:
对于组成员ui的新向量X1(其中i=1,2,3):
Xi=(xi,1,xi,2,xi,3,0),并且xi,4为0;
对于组成员u4的新向量X4
X4=(x4,1,0,x4,3,x4,4)
组控制器(GC)判定X1,X2,X3,X4是否线性相关,如果它们线性无关,进入步骤3,否则,则返回步骤2(由于r是一个随机数,因此可以很容易地得到一组线性无关的向量X1,X2,X3,X4);
步骤3,组控制器(GC)选定一个随机数k∈F作为群组密钥,并使用新向量组和群组密钥构造一个线性方程组:
假定a1,a2,a3,a4是未知变量,组控制器(GC)通过以下线性方程组求解中心向量A=(a1,a2,a3,a4):
x 1,1 + a 1 + x 1,2 a 2 + x 1,3 a 3 = k x 2,1 a 1 + x 2,2 a 2 + x 2,3 a 3 = k x 3,1 a 1 + x 3,2 a 2 + x 3,3 a 3 = k x 4,1 a 1 + x 4,3 a 3 + x 4,4 a 4 = k
则该线性方程组表示成向量的形式:X×AT=KT
其中向量K=(k,k,k,k),A=(a1,a2,a3,a4),矩阵 X = X 1 X 2 X 3 X n = x 1,1 x 1,2 x 1,3 0 x 2,1 x 2,2 x 2,3 0 x 3,1 x 3,2 x 3,3 0 x 4 , 1 0 x 4,3 x 4,4
因为系数矩阵的行列式|X|≠0,所以上式具有唯一解A=(a1,a2,a3,a4),A=(a1,a2,a3,a4)就是中心向量。
图4所示,组控制器(GC)通过公开信道把中心向量A=(a1,a2,a3,a4)和映射参数r广播给组成员U1、U2、U3和U4。
步骤4,如图5所示,组成员U1、U2、U3和U4收到中心向量A=(a1,a2,a3,a4)和映射参数r后,分别通过r计算新向量:
对于组成员ui(i=1,2,3):
x1,1=f(v1,1,r)
x1,2=f(v1,2,r)
x1,3=f(v1,3,r)
x2,1=f(v2,1,r)
x2,2=f(v2,2,r)
x2,3=f(v2,3,r)
x3,1=f(v3,1,r)
x3,2=f(v3,2,r)
x3,3=f(v3,3,r)
对于组成员ui,其中i=4:
x4,1=f(v4,1,r)
x4,3=f(v4,2,r)
x4,4=f(v4,3,r)
然后,U1计算群组密钥k=x1,1a1+x1,2a2+x1,3a3,U2计算群组密钥k=x2,1a1+x2,2a2+x2,3a3,U3计算群组密钥k=x3,1a1+x3,2a2+x3,3a3,U4计算群组密钥显然k=x4,1a1+x4,3a3+x4,4a4,U1计算得到的k和U2、U3、U4计算得到的k是相同的。
如图6所示,经过以上步骤后,我们建立了一个群组,组成员分别是U1、U2、U3和U4。
若在预设时间内没有成员加入或退出群组,则组控制器将周期性地更新群组密钥,即重复步骤2~步骤4。
实施例二
假设本安全群组通信系统包括组控制器(GC),以及5个群组用户U1、U2、U3、U4和U5,组控制器(GC)、各个用户通过网际网络连接。在群组初始化时,组控制器(GC)选定群组所使用的有限域F以及映射f,群组中的所有运算都建立在有限域F上,映射f使用伪随机数生成器。
步骤1,组成员U4向组控制器(GC)申请离开群组;
组控制器(GC)删除退出的组成员的秘密向量V4,并根据当前成员下标的大小顺序,重新分配剩余组成员的编号ui,其中i=1,2,3,4;组控制器(GC)把所有成员的编号通过公开信道广播给所有成员,则组控制器(GC)现保存的组成员秘密向量为V1,V2,V3,V4
其它步骤与本实施例一中描述的步骤2-4一致,在此不再重复。
实施例三
假设本安全群组通信系统包括组控制器(GC),以及2个群组用户U1、U2,组控制器(GC)、各个用户通过网际网络连接。在群组初始化时,组控制器(GC)选定群组所使用的有限域F以及映射f,群组中的所有运算都建立在有限域F上,映射f使用伪随机数生成器。
步骤1,组成员U3、U4要加入群组,新成员U3选定三个秘密随机数v3,1,v3,2,v3,3∈F,构成三维秘密向量V3=(v3,1,v3,2,v3,3)并通过安全信道发送给组控制器(GC);U4也选定三个秘密随机数v4,1,v4,2,v4,3∈F,构成三维秘密向量V4=(v4,1,v4,2,v4,3)并通过安全信道发送给组控制器(GC)。
组控制器(GC)为新成员U3分配编号v3,并把编号发送给该成员,接收该组成员的秘密向量V3=(v3,1,v3,2,v3,3)并密存;组控制器(GC)为新成员U4分配编号u4,并把编号发送给该成员,接收该组成员的秘密向量V4=(v4,1,v4,2,v4,3)并密存;则组控制器(GC)现保存的组成员秘密向量为V1,V2,V3,V4
其它步骤与实施例一中描述的步骤2-4一致,在此不再重复。
实施例四
假设本安全群组通信系统包括组控制器(GC),以及3个群组用户U1、U2和U3。组控制器(GC)、各个用户通过网际网络连接。
在群组初始化时,组控制器(GC)选定群组所使用的有限域F以及映射f,群组中的所有运算都建立在有限域F上,映射f使用伪随机数生成器。
步骤1,群组的成员关系要发生变化,成员U2要退出群组,而新成员U4、U5要加入群组。新成员U4、U5分别在有限域F上选择一个三维秘密向量,并通过安全信道发送给组控制器(GC)。
组控制器(GC)删除U2的秘密向量V2,并根据当前成员下标的大小顺序,重新分配下标编号i,这样原用户U3变成了u2,对应的秘密向量为V2=(v2,1,v2,2,v2,3)。组控制器(GC)为新成员U4、U5分配编号u3、u4,这样U4成为组内成员u3,对应的秘密向量是V3=(v3,1,v3,2,v3,3);U5成为组内成员u4,对应的秘密向量是V4=(v4,1,v4,2,v4,3)。组控制器(GC)把所有成员的编号通过公开信道广播给所有成员。现在组控制器(GC)保存的组成员秘密向量为V1、V2、V3、V4
其它步骤与实施例一中描述的步骤2-4一致,在此不再重复。
实施例五
典型的安全群组通信系统架构如图7所示,该系统包括组控制器(GroupControl,GC),以及3个群组用户U1、U2和U3。组控制器(GC)、各个用户通过网际网络连接。
如图8所示,在群组初始化时,组控制器(GC)选定群组所使用的有限域F以及映射f,群组中的所有运算都建立在有限域F上,映射f使用伪随机数生成器。
步骤1,组成员U1,U2,U3要加入群组,U1在有限域F内选定两个秘密随机数v1,0,v1,1∈F,构成二维秘密向量V1=(v1,0,v1,1),U2也选定两个秘密随机数v2,0,V2,1∈F,构成二维秘密向量V2=(v2,0,v2,1),U3也选定两个秘密随机数v3,0,v3,1∈F,构成二维秘密向量V3=(v3,0,v3,1)。U1、U2和、U3通过安全信道把V1=(v1,0,v1,1)、V2=(v2,0,v2,1)、V3=(v3,0,v3,1)发送给组控制器(GC);
组控制器(GC)为组成员U1分配编号u1,为组成员U2分配编号u2,为组成员U3分配编号u3,组控制器将上述编号通过安全信道分别发送给相应的组成员,并接收每个组成员的2维秘密向量Vi=(vi,0,vi,1)并密存,其中i=1,2,3;
步骤2,如图9所示,组控制器(GC)收到成员U1、U2和、U3的秘密向量V1、V2、V3后,在有限域F内选定随机数v0,0,v0,1,r∈F,其中r作为映射参数,v0,0,v0,1构成自身的秘密向量V0=(v0,0,v0,1),V0由组控制器(GC)保管。
组控制器(GC)根据映射参数把自身的和所有组成员的秘密向量映射成向量空间中一组新的向量:
对于组控制器(GC)自身的秘密向量V0=(v0,0,v0,1),组控制器(GC)计算:
x0,0=f(v0,0,r)
x0,1=f(v0,1,r)
对于组成员ui(i=1),组控制器(GC)计算:
x1,0=f(v1,0,r)
x1,1=f(v1,1,r)
组控制器(GC)判断x0,0x1,1-x0,1x1,0=0是否成立,若是,则返回重新选择随机数v0,0,v0,1,r∈F;若否,则继续下一步:
对组成员ui(其中i=2、3),组控制器(GC)计算:
x2,0=f(v2,0,r)
x2,2=f(v2,1,r)
x3,0=f(v3,0,r)
x3,3=f(v3,1,r)
这样组控制器(GC)获得了有限域F上的一组新向量:
对于组控制器(GC)的秘密向量映射后得到的新向量X0
X0=(x0,0,x0,1,0,0)
对于组成员u1的新向量X1
X1=(x1,0x1,1,0,0)
对于组成员ui的新向量Xi,其中i=2,3:
X2=(x2,0,0,x2,2,0)
X3=(x3,0,0,0,x3,3)
组控制器(GC)判定X0,X1,X2,X3是否线性相关,组控制器(GC)计算|X|=(x0,0x1,1-x0,1x1,0)x2,2x3,3,若不为0,则X0,X1,X2,X3线性无关。若它们是线性相关的,则重新选择随机数v0,0,v0,1,r∈F并计算X0,X1,X2,X3,否则,继续执行下一步。由于满足了条件x0,0x1,1-x0,1x1,0≠0,只要xi,i≠0(i=2,3),就能保证|X|≠0。因此,通过随机数r和映射f,可以很容易地得到一组线性无关的向量X0,X1,X2,X3
步骤3,组控制器(GC)选定一个随机数k∈F作为群组密钥;假定a0,a1,…,an是未知变量,组控制器(GC)通过以下线性方程组求解中心向量A=(a0,a1,…,an):
x 0,0 a 0 + x 0,1 a 1 = k x 1,0 a 0 + x 1,1 a 1 = k x 2,0 a 0 + x 2,2 a 2 = k x 3,0 a 0 + x 3,3 a 3 = k
则该线性方程组表示成向量的形式:X×AT=KT
其中向量K=(k,k,k,k),向量A=(a0,a1,a2,a3),矩阵 X = X 0 X 1 X 2 X 3 = x 0,0 x 0,1 0 0 x 1,0 x 1,1 0 0 0 0 x 2,2 0 0 0 0 x 3,3
因为系数矩阵的行列式|X|≠0,所以上式具有唯一解A=(a0,a1,a2,a3),A=(a0,a1,a2,a3)就是中心向量。
图10所示,组控制器(GC)通过公开信道把中心向量A=(a0,a1,a2,a3)和映射参数r广播给组成员U1、U2和、U3。
步骤4,如图11所示,组成员U1、U2和、U3收到A=(a0,a1,a2,a3)和映射参数r后,分别通过r计算新向量:
x1,0=f(v1,0,r)
x1,3=f(v1,1,r)
x2,0=f(v2,0,r)
x2,2=f(v2,1,r)
x3,0=f(v3,0,r)
x3,3=f(v3,1,r)
然后,U1计算群组密钥k=x1,0a0+x1,1a1,U2计算群组密钥k=x2,0a0+x2,2a2,U3计算群组密钥k=x3,0a0+x3,3a3,显然U1计算得到的k和U2、U3计算得到的k是相同的。
如图12所示,经过以上步骤后,我们建立了一个群组,组成员分别是U1、U2和U3。
若在预设时间内没有成员加入或退出群组,则组控制器将周期性地更新群组密钥,即重复步骤2~步骤4。
实施例六
假设本安全群组通信系统包括组控制器(GC),以及4个群组用户U1、U2、U3和U4,组控制器(GC)、各个用户通过网际网络连接。在群组初始化时,组控制器(GC)选定群组所使用的有限域F以及映射f,群组中的所有运算都建立在有限域F上,映射f使用伪随机数生成器。
步骤1,组成员U4向组控制器(GC)申请离开群组;
组控制器(GC)删除退出的组成员的秘密向量V4,并根据当前成员下标的大小顺序,重新分配剩余组成员的编号ui,其中i=1,2,3;组控制器(GC)把所有成员的编号通过公开信道广播给所有成员,则组控制器(GC)现保存的组成员秘密向量为V1,V2,V3
其它步骤与本实施例五中描述的步骤2-4一致,在此不再重复。
实施例七
假设本安全群组通信系统包括组控制器(GC),以及2个群组用户U1、U2,组控制器(GC)、各个用户通过网际网络连接。在群组初始化时,组控制器(GC)选定群组所使用的有限域F以及映射f,群组中的所有运算都建立在有限域F上,映射f使用伪随机数生成器。
步骤1,组成员U3要加入群组,新成员U3在有限域F上选择一个秘密向量,并通过安全信道发送给组控制器(GC)。
组控制器(GC)为新成员U3分配编号u3,并把编号发送给该成员,接收该组成员的秘密向量V3=(v3,1,vi,2)并密存,则组控制器(GC)现保存的组成员秘密向量为V1,V2,V3
其它步骤与实施例一中描述的步骤2-4一致,在此不再重复。
实施例八
假设本安全群组通信系统包括组控制器(GC),以及3个群组用户U1、U2和U3。组控制器(GC)、各个用户通过网际网络连接。
在群组初始化时,组控制器(GC)选定群组所使用的有限域F以及映射f,群组中的所有运算都建立在有限域F上,映射f使用伪随机数生成器。
步骤1,群组的成员关系要发生变化,成员U2要退出群组,而新成员U4要加入群组。新成员U4在有限域F上选择一个二维秘密向量,并通过安全信道发送给组控制器(GC)。
组控制器(GC)删除U2的秘密向量V2,并根据当前成员下标的大小顺序,重新分配下标编号i,这样原用户U3变成了u2,对应的秘密向量为V2=(v2,1,v2,2)。组控制器(GC)为新成员U4分配编号u3,这样U4成为组内成员u3,对应的秘密向量分别是V3=(v3,1,v3,2)。组控制器(GC)把所有成员的编号通过公开信道广播给所有成员,现在组控制器(GC)保存的组成员秘密向量为V1,V2,V3
其它步骤与实施例五中描述的步骤2-4一致,在此不再重复。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种基于线性几何的群组密钥管理方法,其特征在于,包括以下步骤:
步骤1、组控制器选定群组使用的有限域F以及映射f;设群组有n个组成员,每个组成员在有限域F上选定一个m维秘密向量,并通过安全信道发送给组控制器;组控制器为组成员分配编号并把编号发送给该成员,接收每个组成员的m维秘密向量并密存;其中m、n为正整数,2≤m≤n;
步骤2、组控制器在有限域F内随机选定一个映射参数,并根据该映射参数,用映射f把所有组成员的秘密向量映射成向量空间中一组新的向量,如果新向量组是线性相关的,则再次选择映射参数并重新映射,或者返回步骤1让组成员重选秘密向量,直到新向量组线性无关为止;
步骤3、组控制器在有限域F内选择一个随机数作为群组密钥,并使用新向量组和群组密钥构造一个线性方程组;组控制器求解出该线性方程组的唯一解,称为中心向量,组控制器把中心向量和映射参数通过公开信道广播或组播发送给所有组成员;
步骤4、组成员收到中心向量和映射参数后,根据映射参数把自身的秘密向量映射到向量空间中的一个新向量,再通过计算新向量与中心向量的内积得到群组密钥。
2.根据权利要求1所述的基于线性几何的群组密钥管理方法,其特征在于,还包括:
步骤5、新成员入群组:每个新成员在有限域F上选择一个m维秘密向量,并通过安全信道发送给组控制器;组控制器为新成员分配编号并把编号发送给该成员,接收每个组成员的m维秘密向量并密存;
重复步骤2~步骤4。
3.根据权利要求1所述的基于线性几何的群组密钥管理方法,其特征在于,还包括:
步骤5、组成员退出群组:每个要退出的组成员向组控制器申请离开群组;组控制器删除退出的组成员的秘密向量,并根据当前成员下标的大小顺序,重新分配剩余组成员的编号,并通过公开信道发送给所有成员;
重复步骤2~步骤4。
4.根据权利要求1所述的基于线性几何的群组密钥管理方法,其特征在于,所述步骤1具体为:
组控制器选定群组使用的有限域F以及映射f,每个组成员在有限域F上选定一个m维秘密向量,并把秘密向量通过安全信道发送给组控制器,其中m为正整数,2≤m≤n;
组控制器为组成员分配编号ui,并把编号发送给该成员,接收每个组成员的m维秘密向量Vi=(vi,1,vi,2,…,vi,m)并密存,其中i=1,…,n;
所述步骤2具体为:
组控制器在有限域F内随机选定一个映射参数r,并根据映射参数r,使用映射f把所有组成员ui的秘密向量Vi=(vi,1,vi,2,…,vi,m)映射成向量空间中一组新的向量:
对于组成员ui,其中i=1,2,…,m:
xi,1=f(vi,1,r)
xi,2=f(vi,2,r)
……
xi,m=f(vi,m,r)
对于组成员ui,其中i=m+1,…,n:
xi,1=f(vi,1,r)
xi,i-m+2=f(vi,2,r)
……
xi,i=f(vi,m,r)
这样组控制器获得了有限域F上的一组新向量:
对于组成员ui,其中i=1,2,…,m:
Xi=(xi,1,xi,2,…,xi,n),并且xi,m+1,…,xi,n为0;
对于组成员ui,其中i=m+1,…,n:
Xi=(xi,1,xi,2,…,xi,n),并且xi,2,…,xi,i-m+1以及xi,i+1,…,xi,n都为0;
组控制器判断X1,X2…,Xn是否线性无关的,如果它们线性无关,进入步骤3,否则,则返回步骤2,或者返回步骤1让组成员重选秘密向量;
所述步骤3具体为:
组控制器在有限域F内选择一个随机数k作为群组密钥,并使用新向量组和群组密钥构造一个线性方程组:
假定a1,a2,…,an是未知变量,组控制器通过以下线性方程组求解中心向量A=(a1,a2,…,an):
x 1,1 a 1 + x 1,2 a 2 + · · · + x 1 , n a n = k x 2,1 a 1 + x 2,2 a 2 + · · · + x 2 , n a n = k · · · · · · x n , 1 a 1 + x n , 2 a 2 + · · · + x n , n a n = k
则该线性方程组表示成向量的形式:X×AT=KT
其中T表示距阵转置,向量K=(k,k,…k),向量A=(a1,a2,…,an),矩阵 X = X 1 X 2 · · · X n = x 1,1 x 1,2 · · · x 1 , n x 2,1 x 2,2 · · · x 2 , n · · · · · · · · · · · · x n , 1 x n , 2 · · · x n , n ;
因为X1,X2…,Xn是线性无关的向量,系数矩阵的行列式|X|≠0,所以该线性方程组具有唯一的解;
组控制器把中心向量A=(a1,a2,…,an)和映射参数r通过公开信道广播或组播发送给所有组成员;
所述步骤4具体为:
组成员收到A=(a1,a2,…,an)和映射参数r后,每个组成员ui根据映射参数r把自身的秘密向量映射到向量空间中的一个新向量:
对于组成员ui,其中i=1,2,…,m:
xi,1=f(vi,1,r)
xi,2=f(vi,2,r)
……
xi,m=f(vi,m,r)
即:
Xi=(xi,1,xi,2,…,xi,n),其中xi,m+1,…,xi,n为0;
对于组成员ui,其中i=m+1,…,n:
xi,1=f(vi,1,r)
xi,i-m+2=f(vi,2,r)
……
xi,i=f(vi,m,r)
即:
Xi=(xi,1,xi,2,…,xi,n),其中xi,2,…,xi,i-m+1以及xi,i+1,…,xi,n都为0;
然后组成员ui通过下式求出群组密钥k,即向量Xi和中心向量A=(a1,a2,…,an)的内积:
k=Xi×AT=xi,1a1+xi,2a2+…+xi,nan
其中T表示距阵转置。
5.一种基于线性几何的群组密钥管理方法,其特征在于,包括以下步骤:
步骤1、组控制器选定群组使用的有限域F以及映射f;设群组有n个组成员,每个组成员在有限域F上选定一个m维秘密向量,并通过安全信道发送给组控制器;组控制器为每个组成员分配编号并把编号发送给该成员,接收每个组成员的m维秘密向量并密存;其中m、n为正整数,2≤m≤n+1;
步骤2、组控制器收到所有组成员的秘密向量后,自己也选定一个m维秘密向量,组控制器在有限域F内随机选定一个映射参数,并根据映射参数,使用映射f把自身的和所有组成员的秘密向量映射成向量空间中一组新的向量,如果新向量组是线性相关的,则再次选择映射参数并重新映射,或者返回步骤1让组成员重选秘密向量,直到新向量组线性无关为止;
步骤3、组控制器在有限域F内选择一个随机数k作为群组密钥,并使用新向量组和群组密钥构造一个线性方程组;组控制器求解出该线性方程组的唯一解,称为中心向量,组控制器把中心向量和映射参数通过公开信道广播或组播发送给所有组成员;
步骤4、组成员收到中心向量和映射参数后,根据映射参数把自身的秘密向量映射到向量空间中的一个新向量,再通过计算新向量与中心向量的内积得到群组密钥。
6.根据权利要求5所述的基于线性几何的群组密钥管理方法,其特征在于,还包括:
步骤5、新成员入群组:每个新成员在有限域F上选择一个m维秘密向量,并通过安全信道发送给组控制器;组控制器为新成员分配编号并把编号发送给该成员,接收每个组成员的m维秘密向量并密存;
重复步骤2~步骤4。
7.根据权利要求5所述的基于线性几何的群组密钥管理方法,其特征在于,还包括:
步骤5、组成员退出群组:每个要退出的组成员向组控制器申请离开群组;组控制器删除退出的组成员的秘密向量,并根据当前成员下标的大小顺序,重新分配剩余组成员的编号,并通过公开信道发送给所有成员;
重复步骤2~步骤4。
8.根据权利要求5所述的基于线性几何的群组密钥管理方法,其特征在于,所述步骤1具体为:
组控制器选定群组使用的有限域F以及映射f,每个组成员在有限域F上选定一个m维秘密向量,并把秘密向量通过安全信道发送给组控制器,其中m为正整数,2≤m≤n+1;
组控制器为每个组成员分配编号ui,并把编号发送给该成员,接收每个组成员的m维秘密向量Vi=(vi,0,vi,1,…,vi,m-1)并密存,其中i=1,…,n;
所述步骤2具体为:
组控制器在有限域F内选定随机数v0,0,v0,1,…,v0,m-1,构成自身的秘密向量V0=(v0,0,V0,1,…,v0,m-1),V0由组控制器保密;组控制器在有限域F内随机选定一个映射参数r,并根据映射参数r,使用映射f把所有组成员ui的秘密向量Vi=(vi,0,vi,1,…,vi,m-1)及自身的秘密向量V0=(v0,0,v0,1,…,v0,m-1)映射成向量空间中一组新的向量:
对于组控制器自身的秘密向量V0=(v0,0,v0,1,…,v0,m-1),组控制器计算:
x0,0=f(v0,0,r)
x0,1=f(v0,1,r)
……
x0,m-1=f(v0,m-1,r)
对于组成员的ui秘密向量Vi=(vi,0,vi,1,…,vi,m-1),其中i=1,2,…,m-1,组控制器计算:
xi,0=f(vi,0,r)
xi,1=f(vi,1,r)
……
xi,m-1=f(vi,m-1,r)
对于组成员的ui秘密向量Vi=(vi,0,vi,1,…,vi,m-1),其中i=m,m+1,…,n,组控制器计算:
xi,0=f(vi,0,r)
xi,i-m+2=f(vi,1,r)
……
xi,i=f(vi,m-1,r)
这样组控制器获得了有限域F上的一组新向量:
对于组控制器的秘密向量映射后得到的新向量X0
X0=(x0,0,x0,1,…,x0,n),并且x0,m,…,x0,n为0;
对于组成员ui的新向量Xi,其中i=1,2,…,m-1:
Xi=(xi,0,xi,1,…,xi,n),并且xi,m,…,xi,n为0;
对于组成员ui的新向量Xi,其中i=m,m+1,…,n:
Xi=(xi,0,xi,1,…,xi,n),并且xi,1,…,xi,i-m+1以及xi,i+1,…,xi,n都为0;
组控制器判断X0,X1…,Xn是否线性无关的,如果它们线性无关,进入步骤3,否则,则返回步骤2,或者返回步骤1让组成员重选秘密向量;
所述步骤3具体为:
组控制器在有限域F内选择一个随机数k作为群组密钥,并使用新向量组和群组密钥构造一个线性方程组:
假定a0,a1,…,an是未知变量,组控制器通过以下线性方程组求解中心向量A=(a0,a1,…,an):
x 0,0 a 0 + x 0 , 1 a 1 + · · · + x 0 , n a n = k x 1,0 a 0 + x 1,1 a 1 + · · · + x 1 , n a n = k · · · · · · x n , 0 a 0 + x n , 1 a 1 + · · · + x n , n a n = k
则该线性方程组表示成向量的形式:X×AT=KT
其中T表示距阵转置,向量K=(k,k,…k),向量A=(a0,a1,…,an),矩阵 X = X 0 X 1 · · · X n = x 0 , 0 x 0,1 · · · x 0 , n x 1,0 x 1,1 · · · x 1 , n · · · · · · · · · · · · x n , 0 x n , 1 · · · x n , n ;
因为X0,X1…,Xn是线性无关的向量,系数矩阵的行列式|X|≠0,所以该线性方程组具有唯一的解;
组控制器把中心向量A=(a0,a1,…,an)和映射参数r通过公开信道广播或组播发送给所有组成员;
所述步骤4具体为:
组成员收到中心向量A=(a0,a1,…,an)和映射参数r后,根据映射参数r把自身的秘密向量映射到向量空间中的一个新向量:
对于组成员ui,其中i=1,2,…,m-1:
xi,0=f(vi,0,r)
xi,1=f(vi,1,r)
……
xi,m-1=f(vi,m-1,r)
即:
Xi=(xi,0,xi,1,…,xi,n),并且xi,m,…,xi,n为0;
对于组成员ui,其中i=m,m+1,…,n:
xi,0=f(vi,0,r)
xi,i-m+2=f(vi,1,r)
……
xi,i=f(vi,m-1,r)
即:
Xi=(xi,0,xi,1,…,xi,n),并且xi,1,…,xi,i-m+1以及xi,i+1,…,xi,n都为0;
然后组成员ui通过下式求出群组密钥k,即向量Xi和中心向量A=(a0,a1,…,an)的内积:
k=Xi×AT=xi,0a0+xi,1a1+…+xi,nan
其中T表示距阵转置。
9.根据权利要求1或5所述的基于线性几何的群组密钥管理方法,其特征在于,所述m维秘密向量是二维秘密向量。
10.根据权利要求1或5所述的基于线性几何的群组密钥管理方法,其特征在于,还包括自动更新:
若在预设时间内没有成员加入或退出群组,则组控制器将周期性地更新群组密钥,组控制器重新选择映射参数与群组密钥,并计算出中心向量,组控制器把中心向量和映射参数通过公开信道广播或组播发送给所有组成员。
CN2009102141304A 2009-12-24 2009-12-24 一种基于线性几何的群组密钥管理方法 Expired - Fee Related CN101753295B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102141304A CN101753295B (zh) 2009-12-24 2009-12-24 一种基于线性几何的群组密钥管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102141304A CN101753295B (zh) 2009-12-24 2009-12-24 一种基于线性几何的群组密钥管理方法

Publications (2)

Publication Number Publication Date
CN101753295A true CN101753295A (zh) 2010-06-23
CN101753295B CN101753295B (zh) 2011-09-14

Family

ID=42479739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102141304A Expired - Fee Related CN101753295B (zh) 2009-12-24 2009-12-24 一种基于线性几何的群组密钥管理方法

Country Status (1)

Country Link
CN (1) CN101753295B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678254A (zh) * 2013-12-04 2014-03-26 四川理工学院 基于线性方程组的可验证随机数生成的方法
CN103729262A (zh) * 2012-10-12 2014-04-16 武汉海康威视系统技术有限公司 操作系统热备份方法、装置及文件系统重构方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521211B (zh) * 2011-11-17 2014-09-10 华南理工大学 一种求解有限域上线性方程组的并行装置
CN108833098B (zh) * 2018-07-05 2021-08-03 西北大学 一种基于线性方程组解的无线传感器网络密钥管理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488849B (zh) * 2009-02-18 2010-12-01 华南理工大学 一种基于n维球面的群组密钥管理方法
CN101510875B (zh) * 2009-03-27 2012-02-22 华南理工大学 一种基于n维球面的身份认证方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729262A (zh) * 2012-10-12 2014-04-16 武汉海康威视系统技术有限公司 操作系统热备份方法、装置及文件系统重构方法
CN103729262B (zh) * 2012-10-12 2017-08-11 杭州海康威视系统技术有限公司 操作系统热备份方法、装置及文件系统重构方法
CN103678254A (zh) * 2013-12-04 2014-03-26 四川理工学院 基于线性方程组的可验证随机数生成的方法
CN103678254B (zh) * 2013-12-04 2017-02-08 四川理工学院 基于线性方程组的可验证随机数生成的方法

Also Published As

Publication number Publication date
CN101753295B (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
Chen et al. Revocable identity-based encryption from lattices
CN104113408B (zh) 一种实现及时用户属性撤销的基于密文策略属性加密方法
Zheng et al. Chinese remainder theorem based group key management
Piao et al. Polynomial-based key management for secure intra-group and inter-group communication
CN101488849B (zh) 一种基于n维球面的群组密钥管理方法
CN101150395B (zh) 一种加密授权管理系统的双重分组的四层加密方法
CN101848082B (zh) 一种基于线性几何的等级群组密钥管理方法
US8848921B2 (en) Group key management approach based on linear geometry
Tian et al. Randomized deduplication with ownership management and data sharing in cloud storage
CN101753295B (zh) 一种基于线性几何的群组密钥管理方法
CN105915333B (zh) 一种基于属性加密的高效密钥分发方法
Lian et al. Large universe ciphertext-policy attribute-based encryption with attribute level user revocation in cloud storage.
Zhang et al. A traceable outsourcing cp-abe scheme with attribute revocation
Erwig et al. Large-Scale Non-Interactive Threshold Cryptosystems Through Anonymity.
US8744085B2 (en) Hierarchical group key management approach based on linear geometry
US8249258B2 (en) Communication method and communication system using decentralized key management scheme
Liao et al. Insecurity of a key-policy attribute based encryption scheme with equality test
Shi et al. Baguena: a practical proof of stake protocol with a robust delegation mechanism
CN103227987B (zh) 一种异构传感网认证组密钥管理方法
Bai et al. Expressive ciphertext-policy attribute-based encryption with direct user revocation
You et al. Hierarchical authority key-policy attribute-based encryption
Li et al. A practical construction for large universe hierarchical attribute‐based encryption
Yu et al. Non-Interactive Forward-Secure Threshold Signature without Random Oracles.
Acharya et al. Enhanced outsider-anonymous broadcast encryption with subset difference revocation
CN102624748A (zh) 一种对等网络的访问控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110914

Termination date: 20191224