Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR MANAGING HIERARCHICAL-GROUP KEY BASED ON LINEAR GEOMETRY
Document Type and Number:
WIPO Patent Application WO/2011/147092
Kind Code:
A1
Abstract:
Provided is a method for managing a hierarchical-group key based on linear geometry, which includes the following steps: step 1, a central controller selects a finite field F, a mapping f and a constant N which are used by a group, and selects an N-dimension private vector for each sub-group; step 2, the central controller selects a mapping parameter r, and maps the private vectors into a set of new vectors in vector space; step 3, the central controller selects a sub-group key for each sub-group, constructs n linear equations sets, and then solves the linear equations sets to obtain results, i.e. public vectors, and n sets of public vectors compose a public matrix; the central controller transmits the public matrix and the mapping parameter r to all sub-group controllers through public channel broadcast or multicast; step 4, the sub-group controllers work out their own secret vectors, and then obtain a set of key vectors by using the secret vectors and the public matrix to perform a linear transform. The present invention displays the advantages of simplicity and flexibility, while effectively avoiding violent attacks.

Inventors:
TANG SHAOHUA (CN)
LIANG YUJUN (CN)
DING JINTAI (CN)
Application Number:
PCT/CN2010/073318
Publication Date:
December 01, 2011
Filing Date:
May 27, 2010
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIV SOUTH CHINA TECH (CN)
TANG SHAOHUA (CN)
LIANG YUJUN (CN)
DING JINTAI (CN)
International Classes:
H04L9/00
Foreign References:
CN1633774A2005-06-29
CN101473626A2009-07-01
CN101431414A2009-05-13
KR100728260B12007-06-13
Other References:
GE, LINA ET AL.: "Geometric-approach-and-binary-key-tree-based group key management.", COMPUTER SCIENCE., vol. 36, no. 11, November 2009 (2009-11-01), pages 101 - 105
Attorney, Agent or Firm:
GUANGZHOU HUAXUE INTELLECTUAL PROPERTY AGENCY CO., LTD (CN)
广州市华学知识产权代理有限公司 (CN)
Download PDF:
Claims:
权 利 要 求 书

1、 一种基于线性几何的等级群组密钥管理方法, 其特征在于, 包括以下歩 骤:

歩骤 1、 中央控制器选择群组使用的有限域 F以及映射/, 群组的运算都在 有限域 F中进行; 同时中央控制器确定一个常数 N, 作为子群组个数的上限; 中央控制器把有限域 F、常数 N以及映射/发送给所有子群组控制器; 设群组共 有 n个子群组, 中央控制器为每个子群组编号, 发送给所有子群组控制器; 同 时中央控制器为每一个子群组随机选定一个 N维私有向量, 通过安全通道发送 给对应的子群组控制器; 子群组控制器接收中央控制器的私有向量并密存, 其 中 N, n为正整数, n^N;

歩骤 2、 中央控制器在有限域 F上随机选定一个映射参数 r, 并根据该映射 参数, 用映射 /把所有子群组控制器的私有向量映射成向量空间中一组新的向 量, 称为保密向量; 如果新向量组是线性相关的, 则再次选择映射参数并重新 映射, 或者返回歩骤 1 让子群组控制器重选私有向量, 直到新向量组线性无关 为止;

歩骤 3、 中央控制器在有限域 F上为每一个子群组都选定一个子群组密钥, 中央控制器根据子群组间的等级关系, 利用保密向量和子群组密钥构造 n组线 性方程组, 中央控制器求解出线性方程组的唯一解, 称为公开向量; 保密向量 和公开向量遵循以下规则: (1 ) 低等级节点的保密向量与高等级节点的公开向 量正交, 内积为 0; (2)对于所有节点, 本节点自身的保密向量与自身的公开向 量内积为本节点的群组密钥; (3 ) 当高等级节点是本节点的父节点或祖先节点 时, 高等级节点的保密向量与本节点公开向量的内积为本节点的群组密钥; 高 等级节点的保密向量与后裔子节点公开向量的内积为后裔子节点的群组密钥; (4) 没有直接或间接上下级关系的节点间无法导出对方的密钥, 自身的保密向 量与对方的公开向量的内积为 0; (5)兄弟节点间也不能导出对方的密钥, 自身 的保密向量与对方的公开向量的内积为 0; n组公开向量组成一个公开矩阵, 中 央控制器把公开矩阵和映射参数 r通过公开信道广播或组播发送给所有的子群 组控制器;

歩骤 4、每一个子群组控制器接收到公开矩阵和映射参数后, 根据映射参数 把自身的私有向量映射到向量空间的一个新向量, 求出自身的保密向量, 再用 保密向量与公开矩阵作运算, 得到一组密钥向量, 子群组控制器通过自身计算 的密钥向量得到自己和后裔子群组的群组密钥, 而子群组控制器无法计算其父 群组和祖先群组的群组密钥; 子群组控制器把计算好的群组密钥分发到组内成 员。

2、 根据权利要求 1所述一种基于线性几何的等级群组密钥管理方法, 其特 征在于, 所述歩骤 1具体为:

中央控制器确定有限域^、 常数 N以及映射/; 中央控制器把有限域 F、 常 数 N以及映射/发送给所有子群组控制器; 中央控制器为每一个子群组控制器 分配编号 SCt , 通过广播或组播把编号发送给所有子群组控制器;

中央控制器为每一个子群组 随机选定一个 Ν 维私有向量

ZHz l,Zl,2, ... ,Z ), 通过安全通道把私有向量发送给对应的子群组控制器 每 个子群组控制器 接收私有向量 Ζ^ , ... 并密存;

所述歩骤 2具体为:

中央控制器在有限域 F上随机选定一个映射参数 r, 并使用映射 /把所有子 群组的私有向量 = ^,2,...,^^)映射成一组新的向量, 称为保密向量;

对于编号为 SCt的子群组控制器: ¾ = /(W)

= /(W) 则中央控制器得到新的有限域 F上的一组向:

^ =(Λΐ, 2,...,Χ〗,")'

中央控制器判断 , 2,...,J ^是否线性相关,如果是线性相关,则返回步骤 2, 或者返回歩骤 1 让子群组控制器重选私有向量, 直到新向量组线性无关为止; 否则进入歩骤 3; 所述歩骤 3具体为:

中央控制器在有限域 ^上为每个子群组分别选取随机数作为子群组的密钥, 设选取的随机数分别为 ^Λ,...人, 且 ≠0, 对任意子群组 , 设 Ρ(0表示子群组 I ^的所有祖先节点的集合, 假设向量 ^ .^u,...,^^)是未知参数, 则各个子群 组的保密向量 ^与公开向量 4有如下关系:

当 = , 或 尸 (,·)

(1)

1 ^ [0 Vj g P(i)且 ≠ / ,

(2)

A = (A^A^,...,A„T), K = (K K2,...,K„), 对所有 则有

XxA = K (3) 中央控制器需要求解方程组(3), 由于歩骤 2中 A, 2,...,J ^线性无关保证了 系数矩阵的行列式 | |≠0, 所以方程组 (3) 有唯一解, 即为所求的公开矩阵; 中央控制器通过公开信道把公开矩阵 = «, ,..., )和映射参数 r通过公 开信道广播或组播给所有子群组控制器;

所述歩骤 4具体为:

各个子群组控制器接收 = ( ,..., )和映射参数 r, 并通过映射 /映射计 奠 . =( Μ' !,2'···' !,η):

x =/(W)

Xi,2 =/(¾

然后计算:

(5) 其中, z=l, ..., η; =1, ..., η, 表示子群组 的所有祖先节点的集合; 如 果 e /), 贝^ = , 即 ^的群组密钥; 否则, t;.=0; 通过 (4) 和 (5), 每个 都方便地算出本身或后裔节点的群组密钥;

子群组控制器 SCt把计算好的 和 t人 j≠ i)分发到群组内各成员。

3、 根据权利要求 1所述一种基于线性几何的等级群组密钥管理方法, 其特 征在于, 所述基于线性几何的等级群组密钥管理方法进一歩包括: 歩骤 5、 新的子群组加入: 中央控制器为每个新的子群组控制器编号, 把编 号发送给所有子群组控制器;同时中央控制器为每个新加入的子群组在有限域 F 上随机选择一个 N维的私有向量, 并分别通过安全信道发送给对应的子群组控 制器; 新加入的子群组控制器接收中央控制器发送过来的私有向量并密存; 中 央控制器把有限域 F、 常数 N以及映射 /发送给新加入的子群组控制器;

重复歩骤 2〜歩骤 4。 4、 根据权利要求 1所述一种基于线性几何的等级群组密钥管理方法, 其特 征在于, 所述基于线性几何的等级群组密钥管理方法进一歩包括: 歩骤 5、 子群组的退出: 退出的子群组控制器向中央控制器申请离开群组, 中央控制器删除退出的子群组控制器的私有向量, 根据当前子群组控制器成员 的下标大小重新编号, 通过广播或组播把所有成员的下标编号分发给所有子群 组控制器;

重复歩骤 2〜歩骤 4。

5、 一种基于线性几何的等级群组密钥管理方法, 其特征在于, 包括以下歩 骤:

歩骤 1、 中央控制器选择群组使用的有限域 F以及映射/, 群组的运算都在 有限域 F中进行; 同时中央控制器确定一个常数 m; 中央控制器把有限域 F、 常数 m以及映射/发送给所有子群组控制器; 设群组共有 n个子群组, 中央控 制器为每个子群组控制器编号, 把编号发送给所有子群组控制器; 同时中央控 制器为每个子群组在有限域 F上随机选择一个 m维和一个 2维私有向量, 分别 通过安全信道发送给对应的子群组控制器; 子群组控制器接收 m维和 2维私有 向量并密存; 其中 m, n为正整数, 2 m n;

歩骤 2、 中央控制器在有限域 F上随机选定一个映射参数 r, 并根据该映射 参数, 用映射 /把所有子群组控制器的 2维向量映射成一组新向量; 同时用映射 /把所有子群组控制器的 m维私有向量映射成向量空间中一组新的向量;如果新 向量组是线性相关的, 则再次选择映射参数并重新映射, 或者返回歩骤 1 让子 群组控制器重选私有向量, 直到新向量组线性无关为止; 这两组新向量又称为 保密向量;

歩骤 3、中央控制器在有限域 F上为每一个子群组都选定一个群组密钥, 中 央控制器根据子群组间的等级关系, 利用保密向量和子群组密钥构造 n组线性 方程组, 中央控制器求解出线性方程组的唯一解, 称为公开向量; 保密向量和 公开向量遵循以下规则: (1)对于所有节点, 本节点自身的 m维保密向量与自身 的公开向量内积为本节点自身的群组密钥; (2)低等级节点的 m维保密向量与高 等级节点的公开向量正交, 内积为 0; (3) 当高等级节点是本节点的父节点或祖 先节点时, 高等级节点的 m维保密向量与所有后裔子节点公开向量的内积为间 接密钥, 高等级节点进一歩通过自身的 2 维保密向量和密钥求出后裔子节点的 密钥; (4)没有直接或间接上下级关系的节点间无法导出对方的密钥, 自身的 m 维保密向量与对方的公开向量的内积为 0; (5)兄弟节点间也不能导出对方的密 钥, 自身的 m维保密向量与对方的公开向量的内积为 0; n组公开向量组成一个 公开矩阵, 中央控制器把公开矩阵和映射参数 r通过公开信道广播或组播发送 给所有的子群组控制器;

歩骤 4、每一个子群组控制器接收到公开矩阵和映射参数后, 根据映射参数 把自身的 2个私有向量映射成向量空间中的 2个新向量, 即保密向量, 再用 m 维的保密向量与公开矩阵作线性变换, 得到一组密钥向量, 子群组控制器能通 过自身计算的密钥向量得到自己的群组密钥, 再通过自身 2 维保密向量和自身 的群组密钥计算后裔子群组的群组密钥, 子群组控制器无法计算其父群组或祖 先群组的群组密钥; 子群组控制器把计算好的群组密钥分发到组内成员。

6、 根据权利要求 5所述一种基于线性几何的等级群组密钥管理方法, 其特 征在于, 所述歩骤 1具体为:

中央控制器确定一个有限域 F和常数 m以及映射/,中央控制器把有限域 F、 常数 m以及映射 /发送给所有子群组控制器 SC 中央控制器为每个子群组 在 有限域 F上选择一个的 m 维私有向量 Ζ^^,^^ ... ^·^:)和一个 2 维私有向量 通过安全信道把 和 发送给对应的子群组控制器

子群组控制器 接收私有向量 和 并密存, 中央控制器为每一个子群 组控制器分配编号^:,, 通过广播或组播把编号发送给所有子群组控制器; 其中 中央控制器在有限域 F上随机选定一个映射参数 r, 并使用映射 /把所有子 群组的私有向量 映射成一组新的向量 , 用映射 /把所有子群组的私有向量 映射成一组新的向量 ^, 和 称为保密向量;

(1) 对于所有子群组 SG, i=l, ...,n, 向量 =(wi,^):

(2) 当 i=l,...,m, ...,χ,, ,..., 0):

(3) ,0,xu,0,... β)

^i,m-l― , , · ~ ^ΐ,ι― 0, Xit /'+ 1― , - - ~ Xi,n― 0;

则中央控制器得到由 组成的基于有限域 F的一组 n维向量:

^2=(Χ2,1,Χ2,2,--- , ¾«)

中央控制器判断^^ ,..., „是否线性相关:如果是线性相关,则返回歩骤 2, 再次选择映射参数并重新映射, 或者返回歩骤 1让子群组控制器重选私有向量, 直到新向量组线性无关为止; 否则进入步骤 3;

所述歩骤 3具体为:

中央控制器为每个子群组 选择一个群组密钥 ·, z=l,...,n; 对任意子群组 控制器 SG, z=l,...,n, 假设其公开向量 Α·= (.au,a 2,...an 是未知参数, 用 表示子群组控制器 SCt的所有后裔子群组的集合, 都有则各个子群的保密向量 与公开向量 有如下关系:

XxXAj=kl

¾ Vj≡C (Vi), 即 ¾=1,...,η)是 K的直接或间接的后裔子群组且」≠1, 则 4和 、 Wi 、 的关系如下:

由 (6)导出

其中, =l,...,n, 7=1,..., n;

设 = (XhX2,...,Xn , H .., ,„)r, 则 (7)转换成 ...,K„), 对所有 则有

把 (8)写成方程组形式:

j ,Λ · ,一 · · ·

中央控制器求解方程组 (8), 由于在歩骤 3保证了系数矩阵的行列式 ≠0, 所以方程组 (8)有唯一解: A= 】 , A 即为所求的公开矩阵; 中央控制器通过公 开信道把矩阵 ^ ^7^/,...,^ )和映射参数 通过公开信道广播或组播给所有子 群组控制器; 所述歩骤 4具体为:

当子群组控制器接收到^ ^/,^/,…,^^和映射参数^后,各个子群组控制 器^ 首先根据自身编号 I和映射 /计算 和 χ1:

(1) 对于所有 z=l,...,n,

(2)

(3) ,0,xu,0,... ft)

^ ^i'm-l _ · · · ~ _ 0, Xft + —— · · · ~ ^i,n _ '

然后计算, 对所有 =1,..., n,

当 =z时, k k l, 即子群组 K自身的密钥; 当 j≠" 如果 ≠0, 则子群组 控制器 继续计算 J 'J'

= wulxki +wi (10) 通过式 (9)和 IO), 各个子群组控制器 方计算出密钥 和各个后裔子群 组的密钥 k] 子群组控制器 把计算出来的 ^和 G=l,...,n且 J≠0分发到各 个组内成员。

7、 根据权利要求 5所述一种基于线性几何的等级群组密钥管理方法, 其特 征在于, 所述基于线性几何的等级群组密钥管理方法进一歩包括: 歩骤 5、新的子群组加入: 中央控制器为每个新子群组在有限域 F上随机选 择一个 m维私有向量 .. A 和一个 2维私有向量 K=(yu,J^, 并通过 安全信道发送给对应的子群组控制器; 中央控制器为每个新的子群组控制器分 配编号, 把编号发送给所有子群组控制器; 新子群组控制器接收中央控制器发 送的 m维和 2维私有向量和密存; 中央控制器把有限域 F、 常数 N以及映射 f 发送给新加入的子群组控制器;

重复歩骤 2〜歩骤 4。

8、 根据权利要求 5所述一种基于线性几何的等级群组密钥管理方法, 其特 征在于, 所述基于线性几何的等级群组密钥管理方法进一歩包括:

歩骤 5、 子群组的退出: 退出的子群组控制器向中央控制器申请离开群组, 中央控制器删除退出的子群组控制器的私有向量, 根据当前子群组控制器成员 的下标大小重新编号, 通过广播或组播把所有成员的下标编号分发给所有子群 组控制器;

重复歩骤 2〜歩骤 4。

9、 根据权利要求 5所述一种基于线性几何的等级群组密钥管理方法, 其特 征在于, 所述 m取值为 2。

10、 根据权利要求 1或 5所述一种基于线性几何的等级群组密钥管理方法, 其特征在于, 所述基于线性几何的等级群组密钥管理方法还包括自动更新: 若 在预设时间内没有成员加入或退出群组, 则中央控制器周期性地更新各个子群 组的密钥; 中央控制器为每一个子群组随机选取新的私有向量, 通过安全通道 发送给对应的子群组控制器, 子群组控制器接收私有向量并密存; 中央控制器 重新选择映射参数和各个子群组的密钥, 并计算出公开矩阵, 中央控制器把公 开矩阵和映射参数通过公开信道广播或组播发送给各个子群组控制器。

Description:
说 明 书

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

技术领域 本发明涉及网络安全中的群组密钥管理方法, 具体是涉及一种基于线性几 何和正交向量理论的群组等级密钥管理方法。

背景技术

随着 Internet技术的快速发展以及组播技术的流行, 向群组的应用,例如 视频会议、 网络游戏、 视频点播等, 开始扮演越来越重要的角色, 安全群组通 信成为了研究的重要方向。 具有等级访问控制的安全群组通信是指一个群 组划 分为一系列具有不同权限的子群组, 高等级的子群组能接收和解密其后裔 (直 接或间接) 子群组的信息, 而反过来则不行。 对基于密码学的等级访问控制来 说, 高等级的子群组能直接或间接计算得到 /导出其后裔子群组的通信密钥, 而 低等级的子群组无法导出其祖先子群组的通信 密钥。

通常, 等级访问控制有一些设定: (1) 等级关系可以由有向无环图 (DAG, Directed Acyclic Graph)来表示。(2) 有一个中央控制器 (CC: central controller)统一 管理等级关系, 可以计算和分发密钥。(3) 在 DAG中每一个节点代表一组用户, 我们可把每个节点称为子群组。 (4) 每个子群组都有一个子群控制器 (^::

subgroup controller),其职责是安全分发子群组的密钥给每 个子群组成员。(5) CC 和 SC之间,在系统初始化或者有新的子群组加入 时候需要有安全信道保证安 全通信。 (6) 在每个子群组内, 都有一个安全密钥管理方案, 用于实施子群组内 的密钥管理。 目前,在等级访问控制方面已经有了很多方案 ,典型的方案包括: Akl-Taylor 方案, Lin方案, Sandhu方案, CRT方案等。

Akl-Taylor方案是一个基于单向函数的密钥直接 赖方案。 后裔子群组的 密钥通过单向函数由其祖先子群组的密钥生成 , 祖先子群组能直接计算得出后 裔子群组的密钥, 后裔子群组无法选择自己的密钥。 其优点是所有节点无需记 忆等级结构, 仅需要保存自身的密钥。 而缺点是整个等级结构上静态的, 结构 上的小变动都会导致整个等级结构上所有节点 的更新。

还有其他一些方案例如 Mackinnon, Chick and Tavares等等, 它们都可以看 作是 Akl-Taylor方案的改进。

Lm方案是一种基于单向函数的密钥间接依赖方 ,其后裔子群组的密钥能 独立于祖先子群组的密钥, 祖先子群组通过间接的方法导出后裔子群组的 密钥。 其优点是后裔子群组可以独立更改密钥, 而不影响其他子群组的密钥。 缺点是 子群组必须记住整个等级结构, 至少是所有后裔子群组。 另外还需要存储一些 额外的辅助变量, 用于导出后裔子群组的密钥。

Sandhu方案是基于树结构的, 每个节点都有一个名字 (name) , 树的根节 点随机选择一个密钥, 其余的节点的密钥通过用其祖先节点的密钥来 加密其名 字得到。 一个子群组可以直接通过加密计算得到其后裔 子群组的密钥, 而后裔 子群组则无法计算出其祖先子群组的密钥。 方案的优点是每个子群组仅需要保 存自身的信息, 子群组等级的变动仅仅会影响其后裔子群组的 密钥更新。 缺点 是子群组需要记录一定的群组信息, 至少是所有的后裔子群组信息, 而且仅仅 是适用树结构等级模型。 基于中国剩余定理 (CRT) 的方案, 该方案通过 CRT算法把等级结构隐藏 在构造好的 CRT变量里,一个子群组的所有祖先子群组能根 据 CRT变量来计算 该子群组的密钥, 但该子群组无法知道哪些子群组是它的祖先子 群组。 其祖先 子群组也无法知道到达该子群组的具体路径, 仅仅能够计算其密钥。 该方案提 供了良好的安全性, 其缺点是计算 CRT变量的开销巨大, 随着群组数目的增加 成比例增长, 可扩展性不够。

发明内容

本发明的目的之一在于提供一种基于有限域上 的向量空间中的多项式函数 的理论, 建立了一种基于线性几何的等级群组密钥管理 方法, 发明方法具有简 单灵活、 能有效避免暴力攻击等优点。

本发明的目的之二在于提供另一种基于有限域 上的向量空间中的多项式函 数的理论, 建立了一种基于线性几何的等级群组密钥管理 方法, 该发明方法具 有存储量少、 计算量小、 安全性高、 能有效避免暴力攻击等优点。

本发明目的之一是通过下述技术方案实现的: 一种基于线性几何的等级群 组密钥管理方法, 包括以下歩骤:

歩骤 1、 中央控制器(CC)选择群组使用的有限域 F以及映射/, 群组的运 算都在有限域 F中进行; 同时中央控制器确定一个常数 N, 作为子群组个数的 上限; 中央控制器 (CC) 把有限域^、 常数 N以及映射/发送给所有子群组控 制器; 设群组共有 n个子群组, 中央控制器为每个子群组编号, 发送给所有子 群组控制器; 同时中央控制器为每一个子群组随机选定一个 N维私有向量, 通 过安全通道发送给对应的子群组控制器; 子群组控制器接收中央控制器的私有 向量并密存, 其中 N, n为正整数, n N ;

歩骤 2、 中央控制器在有限域 F上随机选定一个映射参数 r, 并根据该映射 参数, 用映射 /把所有子群组控制器的私有向量映射成向量 间中一组新的向 量, 称为保密向量; 如果新向量组是线性相关的, 则再次选择映射参数并重新 映射, 或者返回歩骤 1 让子群组控制器重选私有向量, 直到新向量组线性无关 为止;

歩骤 3、 中央控制器在有限域 F上为每一个子群组都选定一个子群组密钥, 中央控制器根据子群组间的等级关系, 利用保密向量和子群组密钥构造 n组线 性方程组, 中央控制器求解出线性方程组的唯一解, 称为公开向量; 保密向量 和公开向量遵循以下规则: (1 ) 低等级节点的保密向量与高等级节点的公开向 量正交, 内积为 0; (2)对于所有节点, 本节点自身的保密向量与自身的公开向 量内积为本节点的群组密钥; (3 ) 当高等级节点是本节点的父节点或祖先节点 时, 高等级节点的保密向量与本节点公开向量的内 积为本节点的群组密钥; 高 等级节点的保密向量与后裔子节点公开向量的 内积为后裔子节点的群组密钥; (4) 没有直接或间接上下级关系的节点间无法导出 对方的密钥, 自身的保密向 量与对方的公开向量的内积为 0; ( 5 )兄弟节点间也不能导出对方的密钥, 自身 的保密向量与对方的公开向量的内积为 0。 n组公开向量组成一个公开矩阵, 中 央控制器把公开矩阵和映射参数 r通过公开信道广播或组播发送给所有的子群 组控制器;

歩骤 4、每一个子群组控制器接收到公开矩阵和映 参数后, 根据映射参数 把自身的私有向量映射到向量空间的一个新向 量, 求出自身的保密向量, 再用 保密向量与公开矩阵作线性变换, 得到一组密钥向量, 子群组控制器能通过自 身计算的密钥向量得到自己和后裔子群组的群 组密钥, 子群组控制器无法计算 其父群组和祖先群组的群组密钥; 子群组控制器把计算好的群组密钥分发到组 内成员。 为更好的实现本发明, 所述歩骤 1具体为:

中央控制器确定有限域^、 常数 N以及映射/; 中央控制器 CO把有限域 F、 常数 N以及映射/发送给所有子群组控制器; 中央控制器为每一个子群组控 制器分配编号 SG, 通过广播或组播把编号发送给所有子群组控制 器; 中央控制 器为每一个子群组 随机选定一个 N维私有向量 Z,= U , , 2 ,... A W :),通过安全通 道把私有向量发送给对应的子群组控制器 SC 每个子群组控制器 接收私有 向量 =(z u , ,..., ,w)并密存。 所述歩骤 2具体为:

中央控制器在有限域 F上随机选定一个映射参数 r, 并使用映射 /把所有子 群组的私有向量 = ^, , 2 ,...,2^)映射成一组新的向量, 称为保密向量;

对于编号为 的子群组控制器: ¾ = /(W)

则中央控制器得到新的有限域 F上的一组向量:

中央控制器判断 Α,Α,...,; ^是否线性相关,如果是线性相关,则返回歩 2, 或者返回歩骤 1 让子群组控制器重选私有向量, 直到新向量组线性无关为止; 否则进入歩骤 3 (由于 r是一个随机数, 因此可以很容易地得到一组线性无关的 向量 ,

所述步骤 3具体为:

中央控制器在有限域 ^上为每个子群组分别选取随机数作为子群组 密钥, 设选取的随机数分别为 ^Λ,...人, 且 ≠0, 对任意子群组 , 设 Ρ(0表示子群组 的所有祖先节点的集合, 假设公开向量 Α:^^^...^^)是未知参数, 则各个 子群组的保密向量 X].与公开向量 4有如下关系: 公式 (1) 的具体含义: ①对于任一个子群组 , 其保密向量^, 公开向量 是 A., 密钥为 则^ ②对于其它子群组 (7=l,...,n且 ≠0, 保密向 量记为 , 如果 是 的父节点或祖父节点, 则 X4 = 如果 不是 的 父节点或祖父节点, 则 X] XA t T =0; 由 公 式 (1): 设 = (^, 2 ,..., „ , ^. =(c u ,c,. 2 ,...,c,J r , = 或 ί 尸 ()

, 贝 IJ (1) 转换成

0 且

(2) 令^ 4 =( , ,..., ), Κ = {Κ,Κ 2 ,...,Κ η ), 对所有 ί;则有

ΧχΑ = Κ (3) 中央控制器需要求解方程组(3), 由于步骤 2中; ^,Α,...,; ^线性无关保证了 ;数矩阵的行列式 | |≠0, 所以方程组 (3) 有唯一解, 即为所求的公开矩阵; 中央控制器通过公开信道把公开矩阵 = (4 T ,4 T ,..., )和映射参数 ^通过公开 「道广播或组播给所有子群组控制器; 所述歩骤 4具体为: 子群组控制器接收到 = I映射参数 r后,各个子群组控制器首 先通过映射 /映射计算 ={χ ιΛ ι ,...,χ^ χυ =/(W)

然后计算: = Xi Χ Τ = Χ α + X r a i .. + (4) tj = X i x = x } . ,α ; , + x } . 2 a!. 2 +… + x } . n a t " (j≠ i) (5) 公式 (4)的具体含义是: 对于某一子群组 V!, 其子群组控制器 计算得到 的保密向量是 , 接收到的公开向量是 Α·, 则 计算群组密钥 =

公式 (5)的具体含义是: 某个子群组 ^, 其子群组控制器 计算得到的保密向 量是 , 群组内其他的子群组 且 _/≠0的公开向量记为 4., 则 Sd尝 试计算 的群组密钥 ί ΧΑ/, 如果 是 的直接或者间接后裔子群组, 则 t] ≠ 且 为子群组 ^的群组密钥, 如果 不是 的直接或者间接后裔子群组, 则 0, V,无法计算 η的群组密钥。

其中 表示子群组 的所有祖先节点的集合; 如果 i^ /), 贝 1 ^. = , 即

^的群组密钥; 否则, t ; . =0; 通过 (4) 和 (5), 每个 都可以方便地算出本身 或后裔节点的群组密钥;

子群组控制器 SC t 把计算好的 和 t人 j≠ i)分发到群组内各成员 (具体分发过 程由群组内的密钥管理方案决定)。 当有普通成员 (非子群组控制器)申请加入子群组时,所述的 于线性几何的 等级群组密钥管理方法进一歩包括:

歩骤 5、 普通成员 (非子群组控制器:)加入: 假定当前群组中有 n个子群组, 其中的 g个子群组有新成员请求加入, 则有新用户加入的子群组控制器向中央 控制器发出用户加入请求 (可通过批量处理方式让新成员同时加入到群 组中), 其中 g<=n;

重复歩骤 2〜歩骤 4。 当有普通成员 (非子群组控制器)申请退出子群组时,所述的 于线性几何的 等级群组密钥管理方法进一歩包括:

歩骤 5、 普通成员 (非子群组控制器:)申请退出子群组: 假定当前群组中有 n 个子群组, 其中的 g个子群组有成员请求退出, 则有用户申请退出的子群组控 制器向中央控制器发出用户退出请求 (通过批量处理方式完成密钥更新), 其中 g<=n;

重复歩骤 2〜歩骤 4。 当同时有普通成员 (非子群组控制器) 加入和有普通成员 (非子群组控制 器) 退出时, 所述的基于线性几何的等级群组密钥管理方法 进一歩包括:

歩骤 5、 批量普通成员加入和退出: 指有大量新用户申请加入某些子群组, 同时某些子群组有组成员申请退出, 则有用户加入的子群组控制器向中央控制 器发出用户加入请求, 有用户退出的子群组控制器向中央控制器发出 用户退出 请求;

重复歩骤 2〜歩骤 4。 子群组有可能分裂出新子群组, 新子群组选出新的子群组控制器后, 就要 加入到系统中; 所述的基于线性几何的等级群组密钥管理方法 进一歩包括: 歩骤 5、 新的子群组加入: 中央控制器为每个新的子群组控制器编号, 把编 号发送给所有子群组控制器;同时中央控制器 为每个新加入的子群组在有限域 F 上随机选择一个 N维的私有向量, 并分别通过安全信道发送给对应的子群组控 制器; 新加入的子群组控制器接收中央控制器发送过 来的私有向量并密存; 中 央控制器把有限域 F、 常数 N以及映射 /发送给新加入的子群组控制器;

重复歩骤 2〜歩骤 4。 子群组的删除或合并等操作会造成子群组控制 器成员的退出, 所述的基于 线性几何的等级群组密钥管理方法进一歩包括 :

歩骤 5、 子群组的退出: 退出的子群组控制器向中央控制器申请离开群 组, 中央控制器删除退出的子群组控制器的私有向 量, 根据当前子群组控制器成员 的下标大小重新编号, 通过广播或组播把所有成员的下标编号分发给 所有子群 组控制器;

重复歩骤 2〜歩骤 4。 当同时有批量子群组控制器成员加入和有批量 子群组控制器成员退出时 时, 所述的基于线性几何的等级群组密钥管理方法 进一歩包括:

歩骤 5、批量子群组控制器成员加入和退出: 每个退出的子群组控制器向中 央控制器申请退出; 中央控制器删除退出的子群组控制器的私有向 量, 根据当 前的子群组控制器的下标大小重新分配子群组 控制器的编号, 同时为每个新加 入的子群组控制器分配编号, 把编号发送给所有子群组控制器; 中央控制器为 每个新加入的子群组在有限域 F上随机选择一个 N维的私有向量, 并分别通过 安全信道发送给对应的子群组控制器; 新加入的子群组控制器接收中央控制器 发送过来的私有向量并密存; 中央控制器把有限域 F、常数 N以及映射/发送给 新加入的子群组控制器;

重复歩骤 2〜歩骤 4。 当有普通用户和子群组控制器用户混合加入, 和 /或有普通用户和子群组控 制器用户混合退出时, 所述的基于线性几何的等级群组密钥管理方法 进一歩包 括:

歩骤 5、 批量的普通用户和子群组控制器加入, 和 /或有普通用户和子群组 控制器用户混合退出时: 每个退出的子群组控制器向中央控制器申请退 出; 有 普通用户加入或退出的子群组控制器向中央控 制器发出更新密钥的请求; 中央 控制器删除退出的子群组控制器的私有向量, 根据当前的子群组控制器的下标 大小重新分配子群组控制器的编号, 同时为每个新加入的子群组控制器分配编 号, 把编号发送给所有子群组控制器; 中央控制器为每个新加入的子群组在有 限域 F上随机选择一个 N维的私有向量, 并分别通过安全信道发送给对应的子 群组控制器; 新加入的子群组控制器接收中央控制器发送过 来的私有向量并密 存; 中央控制器把有限域 F、 常数 N以及映射/发送给新加入的子群组控制器; 重复歩骤 2〜歩骤 4。

本发明目的之二是通过下述技术方案实现的 一种基于线性几何的等级群组 密钥管理方法, 包括以下歩骤:

歩骤 1、 中央控制器(CC)选择群组使用的有限域 F以及映射/, 群组的运 算都在有限域 F中进行; 同时中央控制器确定一个常数 m ; 中央控制器 ( ) 把有限域^、常数 m以及映射/发送给所有子群组控制器;设群组 有 n个子群 组, 中央控制器为每个子群组控制器编号, 把编号发送给所有子群组控制器; 同时中央控制器为每个子群组在有限域 F上随机选择一个 m维和一个 2维私有 向量, 分别通过安全信道发送给对应的子群组控制器 ; 子群组控制器接收 m维 和 2维私有向量并密存; 其中 m, n为正整数, 2 m n;

歩骤 2、 中央控制器在有限域 F上随机选定一个映射参数 r, 并根据该映射 参数, 用映射 /把所有子群组控制器的 2维向量映射成一组新向量; 同时用映射 /把所有子群组控制器的 m维私有向量映射成向量空间中一组新的向量 如果新 向量组是线性相关的, 则再次选择映射参数并重新映射, 或者返回歩骤 1 让子 群组控制器重选私有向量, 直到新向量组线性无关为止; 这两组新向量又称为 保密向量;

歩骤 3、中央控制器在有限域 F上为每一个子群组都选定一个群组密钥, 中 央控制器根据子群组间的等级关系, 利用保密向量和子群组密钥构造 n组线性 方程组, 中央控制器求解出线性方程组的唯一解, 称为公开向量; 保密向量和 公开向量遵循以下规则: (1)对于所有节点, 本节点自身的 m维保密向量与自身 的公开向量内积为本节点自身的群组密钥; (2)低等级节点的 m维保密向量与高 等级节点的公开向量正交, 内积为 0; (3) 当高等级节点是本节点的父节点或祖 先节点时, 高等级节点的 m维保密向量与所有后裔子节点公开向量的内 为间 接密钥, 高等级节点可以进一歩通过自身的 2 维保密向量和密钥求出后裔子节 点的密钥; (4)没有直接或间接上下级关系的节点间无法 出对方的密钥, 自身 的 m维保密向量与对方的公开向量的内积为 0; (5)兄弟节点间也不能导出对方 的密钥, 自身的 m维保密向量与对方的公开向量的内积为 0; n组公开向量组成 一个公开矩阵, 中央控制器把公开矩阵和映射参数 r通过公开信道广播或组播 发送给所有的子群组控制器;

歩骤 4、每一个子群组控制器接收到公开矩阵和映 参数后, 根据映射参数 把自身的 2个私有向量映射成向量空间中的 2个新向量, 即保密向量, 再用 m 维的保密向量与公开矩阵作线性变换, 得到一组密钥向量, 子群组控制器能通 过自身计算的密钥向量得到自己的群组密钥, 再通过自身 2 维保密向量和自身 的群组密钥计算后裔子群组的群组密钥, 子群组控制器无法计算其父群组或祖 先群组的群组密钥; 子群组控制器把计算好的群组密钥通过组内密 钥管理方案 分发到组内成员;

为更好的实现本发明, 所述歩骤 1具体为:

中央控制器确定一个有限域 F和常数 m以及映射/, 中央控制器 CO把有 限域 F、 常数 m以及映射/发送给所有子群组控制器; 中央控制器 C 为每个 子群组 在有限域 F上选择一个的 m维私有向量 ...,¾„:)和一个 2维私 有向量 K=(yu,_y :), 通过安全信道把 和 发送给对应的子群组控制器

子群组控制器 接收私有向量 和 并密存, 中央控制器为每一个子群 组控制器分配编号^:,, 通过广播或组播把编号发送给所有子群组控制 器; 其中 i=l , . . . , η;

所述歩骤 2具体为:

中央控制器在有限域 F上随机选定一个映射参数 r, 并使用映射 /把所有子 群组的私有向量 映射成一组新的向量 , 用映射 /把所有子群组的私有向量 映射成一组新的向量 ^, 和 称为保密向量;

(1) 对于所有子群组 SG, z=l , . . . ,n, 向量 =(W U ,M^): (2) 当 z=l,…,! n, ^=( ,..., ,, ra ,0,...,0):

Xi,m+1― · · ·— ·¾"― 0;

(3) ,0)

'- Xi,m-1 _ · .. ~ _ 0, j t j+]—— ... ~ -^ϊ,η _ 0;

则中央控制器得到由 组成的基于有限域 F的一组 η维向量:

^2=(Χ2,1,Χ2,2,--- , ¾«)

中央控制器判断 UG,...,^是否线性相关:如果是线性相关,则 返回歩骤 2, 再次选择映射参数并重新映射, 或者返回歩骤 1让子群组控制器重选私有向量, 直到新向量组线性无关为止; 否则进入歩骤 3, 由于 r是一个随机数, 因此可以 很容易地得到一组线性无关的向量 ,A, ... ,X„;

所述歩骤 3具体为:

中央控制器为每个子群组 选择一个群组密钥 ·, z=l,..., n; 对任意子群组 控制器 SG, z=l,...,n, 假设其公开向量 Α·= (α υ ,α,, 2 ,...α, η )是未知参数, 用 表示子群组控制器 Sd的所有后裔子群组的集合, 都有则各个子群的保密向量 与公开向量 A有如下关系: ι,ι

设 Vj≡c (Vi), g卩 G=:L .,11:)是 Κ·的直接或间接的后裔子群组且 ' ', 则 和 、 Wi 、 的关系如下:

由 (6)导出:

公式 (7) 的具体含义: 对于任一子群组 , 其 n维保密向量 , 2维保密 向量为 =(W U ,M^), 公开向量是 4·, 密钥为 所有子群组 ^ (/=1,... ,η)的公 开向量记为 Λ=( 7, 2, ..., «); ①当 =ζ时, 这时候计算的 = · k w 即为子群组 ·的群组密钥; ②当 J≠i且 是 的直接或者 间接后裔子群组时, 可以通过间接密钥 求 的群组密钥^, 由公式 (6)可以 推导出 4/= k^-w!jk,^ ; ③当 '且 是 的直接或者间接后裔子 群组时, 则 = ·ΧΛ =Ο, 这时 ·不能通过^求出 的密钥

设 = (X L X 2 ,...,X n ), KKk山 n f, 则 (7)可以写成

Α={Αί,Α 2 τ ,...,Α η ι ), K={K h K 2 ,...,K n ), 对所有 则有

把 (8)写成方程组形式:

X n,\ X n

中央控制器求解方程组 (8), 由于在歩骤 3保证了系数矩阵的行列式 ≠0, 所以方程组 (8)有唯一解: Α=Χ Κ; Α 即为所求的公开矩阵; 中央控制器通过公 开信道把矩阵 =(^/^/,..., )和映射参数 r通过公开信道广播或组播给所有子 群组控制器;

所述歩骤 4具体为:

当子群组控制器接收到 =(^4 ^/,..., )和映射参数 r后,各个子群组控制 器^ 首先根据自身编号 t和映射 /计算 W,和 :

(1) 对于所有 z=l,...,n, W,=(w u ,w )

(2) 当 /=l,...,m, ^=( ,..., ; „0,...,0):

(3) 当 ,:=m+l, ... ,n, ,Xi,m- O... ,0,χ υ ,0,... ,0)

x u =f{z u ,r)

^i,m-l _ · .. ~ _ 0, -^i +l _ - .. ~ ^i,n _ 0;

然后计算, 对所有尸 l,...,n,

公式(9) 的具体含义: 对于子群组 Κ·, 子群组控制器为 SG, n维保密向量 是 , 2 维保密向量为 =(W U ,M^) ; 群组中所有子群组的公开向量记为 A r (a hl ,a h2 ,...,a n )(j=\,...,n); 当 _y=z时, Α Α, Ά k^k,,,, 这时候计算的 ·即为子 群组 的群组密钥; 当 j≠i且 ≠0时, 可以通过 求 的群组密钥 ½, 是 Κ·的直接或间接后裔子群组; 当」≠1且 =0时, 说明 不能求出 的密 钥½; 计算^又可以分为两种情况: ①当 l«m, X ixu,...^,...^), 所以¾= / = '·,7 β "+ + Xi, m aj, m ; ②当 m+l i n, Xrix",... ,Xi, m —i,0,… ,0,χ ,0,... ), 所以 ¾= /= u a u +— +x i , m —ia j , m - 1 +x u a j O

当 J≠" 如果 ≠0, 则子群组控制器 继续计算子群组 的群组密钥 ·:

kj = w xk u +w xk u ( 10 ) 通过式 (9)和(10:), 各个子群组控制器 可以方便计算出密钥^和各个后 裔子群组的密钥 ½ ; 子群组控制器 把计算出来的 ^和 G=l,...,n且 J≠0 分发到各个组内成员。 当有普通成员 (非子群组控制器)申请加入子群组时,所述的 于线性几何的 等级群组密钥管理方法进一歩包括:

歩骤 5、 普通成员 (非子群组控制器:)加入: 假定当前群组中有 n个子群组, 其中的 g个子群组有新成员请求加入, 则有新用户加入的子群组控制器向中央 控制器发出用户加入请求 (可通过批量处理方式让新成员同时加入到群 组中), 其中 g<=n:

重复歩骤 2〜歩骤 4。 当有普通成员 (非子群组控制器)申请退出子群组时,所述的 于线性几何的 等级群组密钥管理方法进一歩包括:

歩骤 5、 普通成员 (非子群组控制器:)申请退出子群组: 假定当前群组中有 n 个子群组, 其中的 g个子群组有成员请求退出, 则有用户申请退出的子群组控 制器向中央控制器发出用户退出请求 (通过批量处理方式完成密钥更新), 其中 g<=n:

重复歩骤 2〜歩骤 4。 当同时有普通成员 (非子群组控制器) 加入和有普通成员 (非子群组控制 器) 退出时, 所述的基于线性几何的等级群组密钥管理方法 进一歩包括:

歩骤 5、 批量普通成员加入和退出: 指有大量新用户申请加入某些子群组, 同时某些子群组有组成员申请退出, 则有用户加入的子群组控制器向中央控制 器发出用户加入请求, 有用户退出的子群组控制器向中央控制器发出 用户退出 请求:

重复歩骤 2〜歩骤 4。 当有子群组控制器成员的 (批量)加入,所述的基于线性几何的等级群组 钥 管理方法进一歩包括:

歩骤 5、新的子群组加入: 中央控制器为每个新子群组在有限域 F上随机选 择一个 m维私有向量 .. A 和一个 2维私有向量 K=(yu,J^, 并通过 安全信道发送给对应的子群组控制器; 中央控制器为每个新的子群组控制器分 配编号, 把编号发送给所有子群组控制器; 新子群组控制器接收中央控制器发 送的 m维和 2维私有向量和密存; 中央控制器把有限域 F、 常数 N以及映射 f 发送给新加入的子群组控制器;

重复歩骤 2〜歩骤 4。 当有子群组控制器的 (批量:)离开,所述的基于线性几何的等级群 密钥管理 方法进一歩包括:

歩骤 5、 子群组的退出: 退出的子群组控制器向中央控制器申请离开群 组, 中央控制器删除退出的子群组控制器的私有向 量, 根据当前子群组控制器成员 的下标大小重新编号, 通过广播或组播把所有成员的下标编号分发给 所有子群 组控制器; 当同时有批量子群组控制器的加入和退出, 所述的基于线性几何的等级群 组密钥管理方法进一歩包括:

歩骤 5、有批量子群组控制器的加入和退出: 每个退出的子群组控制器向中 央控制器申请退出; 中央控制器删除退出的子群组控制器的私有向 量, 根据当 前的子群组控制器的下标大小重新分配子群组 控制器的编号, 并为新的子群组 控制器分配编号, 通过广播或组播把所有成员的下标编号分发给 所有子群组控 制器; 中央控制器为每个新子群组在有限域 F上随机选择一个 m 维私有向量 Zi= u ,z ,...,^, ra :)和一个 2维私有向量 K=(yuJ^:),并通过安全信道发送给对应的 子群组控制器; 中央控制器为每个新的子群组控制器分配编号 , 把编号发送给 所有子群组控制器; 新子群组控制器接收中央控制器发送的 m维和 2维私有向 量并密存; 中央控制器把有限域 F、常数 N以及映射/发送给新加入的子群组控 制器;

重复歩骤 2〜歩骤 4。 当有批量的普通用户和子群组控制器加入, 和 /或有普通用户和子群组控制 器用户混合退出时, 所述的基于线性几何的等级群组密钥管理方法 进一歩包括: 歩骤 5、 批量的普通用户和子群组控制器加入, 和 /或有普通用户和子群组 控制器用户混合退出时: 每个退出的子群组控制器向中央控制器申请退 出; 有 普通用户加入或退出的子群组控制器向中央控 制器发出更新密钥的请求; 中央 控制器删除退出的子群组控制器的私有向量, 根据当前的子群组控制器的下标 大小重新分配子群组控制器的编号, 并为新的子群组控制器分配编号, 通过广 播或组播把所有成员的编号分发给所有子群组 控制器; 中央控制器为每个新子 群组在有限域 F上随机选择一个 m维私有向量 Z,=(z u , , 2 , ..., , ra )和一个 2维私有 向量 K=(yuJ^:), 并通过安全信道发送给对应的子群组控制器; 中央控制器为每 个新的子群组控制器分配编号, 把编号发送给所有子群组控制器; 新子群组控 制器接收中央控制器发送的 m维和 2维私有向量并密存; 中央控制器把有限域 F、 常数 N以及映射/发送给新加入的子群组控制器;

重复歩骤 2〜歩骤 4。 优选的, 所述 m取值为 2。 优选的, 设映射 /可表示为 Z = /( ^), 其中 wA ze F , 映射/的主要作用是 随机化, 映射/满足以下特性:

1 ) 知道 w, b, 计算 Z = /( ^)是容易的。

2 ) 若仅知道 z和 b, 从 Z = /( ^)求出 w是困难的; 若仅知道 z和 w, 从 Z = /(M^)求出 b也是困难的;得到一系列的 ζ,.和 .,从 = w,W求出 w是困难的; 得到一系列的 ζ,.和 ^, 从 = ^,/ 求出 b也是困难的。

优选的, 所述基于线性几何的等级群组密钥管理方法还 包括自动更新: 若 在预设时间内没有成员加入或退出群组, 则中央控制器周期性地更新各个子群 组的密钥; 中央控制器为每一个子群组随机选取新的私有 向量, 通过安全通道 发送给对应的子群组控制器, 子群组控制器接收私有向量并密存; 中央控制器 重新选择映射参数和各个子群组的密钥, 并计算出公开矩阵, 中央控制器把公 开矩阵和映射参数通过公开信道广播或组播发 送给各个子群组控制器。 本发明与现有技术相比, 具有如下优点和有益效果:

第一, 只在群组初始化阶段和自动更新的时候需要使 用安全信道。 在群组 初始化的时候, 此时群组还没建立, 为了保证私有向量的安全性, 需要使用安 全信道; 自动更新需要更新子群组的私有向量, 这样可以避免私有向量泄漏对 系统安全性的影响; 而在此后的通信中, CC只要把公开矩阵^ 和映射参数发送 给所有组成员, 由于公开矩阵 ^和映射参数都是公开的, 不需要保密, 所以不 需要使用安全信道, 这样就可以采用明文广播或组播的方式发送。

第二, 不依赖于其它密码学方法。 本发明的安全性建立在有限域上线性几 何理论的基础上, 在计算群组密钥的过程中只使用简单的映射函 数以及有限域 上的基本运算, 而不需要依赖其它传统的密码学方法, 包括非对称密码学, 对 称密码学和散列函数等。 这样就大大降低了本发明受到其它方面攻击的 可能性, 即使某些传统的密码学算法被攻破了, 本发明所提供的安全性保证也不会受到 这方面的影响。

第三, 组成员以及组控制器的存储量、 计算量都很少。 子群组控制器 只要保存本群组的私有向量 ,同时每个 的计算量就是在歩骤 7中计算保密 向量 , 计算群组密钥。

第四, 群组控制器运算过程容易实现并行计算。 不管是 CC或^:, 若组控 制器运行在多核处理器平台上, 则可以很容易地利用当前流行的并行运算库把 组控制器运算过程并行化, 充分发挥多核处理器的优势。

第五, 子群组不需要知道和保存群组的等级结构, 计算结果就可以知道某 个子群组是否为后裔子群组。 同时也隐藏了整个群组的等级结构, 祖先子群组 虽然知道某个子群组是自己的后裔, 但不能知道其间经过的路径。 这有助于提 高系统的安全性。

本发明可以提供足够的安全保证, 具体的安全性分析如下:

第一, 方案提供向前保密和向后保密: 所有的子群组密钥 都是随机选择 的, 每当用户加入或离开后 都是不同的。 且密钥 会周期性更新, 在不同时 间段内密钥也会不同, 增加了安全性。 所以, 方案可以保证向前和向后保密。

第二, 方案提供等级间的安全保证: 高等级节点能导出其直接或间接后裔 节点 (低等级) 的密钥, 但反过来则不行。 映射参数和公开矩阵 是公开的, 高等级节点能够通过计算其后裔节点的密钥, 但后裔节点无法知道父节点的私 有变量 , 所以无法计算 , 也无法计算父节点的密钥 。所以, 方案可以保证 等级间的安全性。

第三, 没有直接或间接上下级关系的子群组无法知道 对方的群组密钥。 没 有直接或间接上下级关系的子群组间无法计算 出对方的保密向量 。 建立关于 的方程, 但由于最多只有 n个方程, 而至少有 n+1个未知量 (子群组 的密 钥 只有 及其父群组节点才知道),没有直接或间接上 下级关系的子群组无法 计算对方的密钥。

第四,群组外的成员无法计算 。方案中只有 和 r是通过公开信道发送的, 群组外的成员无法根据^ 4和 r来计算任何的 k。 附图说明

图 1 是本发明优选实施例一的具有等级访问控制的 群组通信系统架构示意 图 2是本发明优选实施例一的群组的访问等级结 示意图;

图 3是本发明优选实施例一的群组初始化的时候 通信过程示意图; 图 4是本发明优选实施例一的群组建立后 CC和各 的关系及拥有的变量 意图;

图 5是本发明优选实施例二的子群组同时加入、 退出群组状态示意图; 图 6是本发明优选实施例二的新加入的子群组的 与 CC通信示意图; 图 7 是本发明优选实施例二的群组处理完毕所有子 群组加入、 退出操作后 立的新群组示意图;

图 8 是本发明优选实施例三的具有等级访问控制的 群组通信系统架构示意 图;

图 9是本发明优选实施例三的群组的访问等级结 示意图;

图 10是本发明优选实施例三的群组初始化的时候 通信过程示意图; 图 11是本发明优选实施例三的群组建立后 CC和各 的关系及拥有的变 量示意图;

图 12是本发明优选实施例四的子群组同时加入、 退出群组状态示意图; 图 13是本发明优选实施例四的新加入的子群组的 与 CC通信示意图; 图 14是本发明优选实施例四的群组处理完毕所有 群组加入、 退出操作后 建立的新群组示意图。 具体实施方式

下面结合实施例及附图, 对本发明作进一歩地详细说明, 但本发明的实施 方式不限于此。

实施例一

如图 1所示, 一个具有等级访问控制的群组通信系统包括中 央控制器 CC, 子群组 Κ·,子群组控制器 SG,CC和各 之间通过网际网络互联,其中 i=l, 2, 7。

群组的等级访问结构如图 2所示, 所有高等级的节点都可以导出其直接或 间接后裔节点的密钥, 而低等级节点无法导出其祖先节点的密钥。 没有直接或 间接上下级关系的节点互相不能导出对方的密 钥。 兄弟节点间也无法导出对方 的密钥。

如图 3所示, 系统选定有限域 F, 所有的运算都基于有限域 F上; 同时选 择伪随机数发生器作为 /(.,.); 对于相同的初始化输入(种子), 该伪随机数发生 器应该具有相同的输出序列; 初始化 N=10。

歩骤 1、子群组 要加入群组, CC为每个子群组 分别随机选择一个私有 向量: 2,.=( , ¾ , ..., 。) (z u sF, j=l, ... , 10); 并通过安全通道发送给对应的 子群组控制器, 子群组控制器接收私有向量 并密存,· CC为子群组 的子群 组控制器分配编号^:,, 通过公开信道把编号广播或组播给各子群组控 制器, 其 中 i=l,2, ...7;

歩骤 2、 CC在有限域 F上选择随机数 r作为映射参数, 通过 /(.,.)映射把所 有私有向量 映射成一组新的向量: ,.=(x u ,x,. 2 ,...,x,. 7 ), 其中 (z=l,2, ...,7): ¾ =/(½,^)

^1,7 =/(

^7,1 =/0

X ,J = f、 Z ,,,, r

则 CC得到有限域 F上的一组新的向量, 称为保密向:

^\ = ( X U , X 1,2" + + , X 1,7)'

_^¾^2 ( 21, 22 , + + + , ^ 27 ) , = ( Χ 7,1' Χ 7,2"..' Χ 7,7)

CC判断 , , ... 是否线性相关, 如果他们线性无关, 则进入歩骤 3: 否则返回歩骤 2; (由于 r是一个随机数, 因此可以很容易地得到一组线性无关 的向量 , X 2 , ... , 7 );

歩骤 3、 设公开向量 A=^u,《 , - - ¾7); CC在有限域 F上为所有子群组控 制器 随机选定一个密钥, 分别是: k h k 2 , — .,k 7 , 且^ 0(z=l,2, ...,7), CC通 过以下一系列方程组求解公开矩阵 , 其中 z=l,2, ...,7:

(1) 对于 , 只有 能导出 ^, 其他的 (1=2,3, 7) 均不能导出可 ^。 每个 . (i=l,2, ...,7)、 公开向量 4和密钥 的关系如下:

X xA =0

Χ,ΧΑ =0

Χ Λ χΑ =0

Χ,ΧΑ =0

Χ 6 ΧΑ =0

Χ^χΑ^ =0 设 = (^, 2 ,.., 7 ), ^ =(^,ο,ο,ο,ο,ο,ο) Γ , 则可写矩阵形式: χ = 写成方程组形式, 则可表示为:

(2)、 对于^ 和!^能导出 , 其他的 Κ· (i=3,4,...,7) 均不能导出 各个保密向量 . (1=1,2, ...,7)、 公开向量 ^和密钥 的关系如下: Χ Α = k 2

X A 2 T = 0

0

0

0

Χ Ί Α Ί τ = 0 设 2 =(^0,0,0,0,0) 7 , 则可写矩阵形式: Xx ^=K :

写成方程组形式, 则可表示为: "2,1 + X \,2 a 2,2 + ··

· + Χ 1,7"2,7 : --

Χ Λ α 2,\ + ,2"2,2 + ··

' + ,7"2,7 =

·¾"2,1 + ,2"2,2 + ·

' + X a 2 =0

Χ 4,] α 2,\ + ,2"2,2 + · ' + ,7"2,7 =0

+ ¾2"2,2 + ·

• + ^ .7¾,7 =0

Χ 6,\ α 2,\ + 6,2¾,2 + ·

· + Χ 6,7 α 2,7 =0

、 ^*7,1"2,1 + Χ 7,2"2,2 + ·

' + Λ* 7 ,7¾,7 =0

(3)、 对于 ρ , 只有 和 能导出 k 3 , 其他的 V! (i=2,4,5,6,7) 均不能导 ί呆密向量 A (1=1,2, ...,7)、 公开向量 4和密钥 的关系如下. -

0

X 5 xA 3 0

0

X 7 xA^ =0

= 0,Ο,Ο,Ο) 7 , 则可写矩阵形式: χ = 写成方程组形式, 则可表示为: i CI i I λ*| 2 2 I " " " I λ*| 7 CI 7 — k 3

x 2 λ α 31 + x 22 32 H h 27 a 37 =0

1 1 I 2 I " " " I ,Cl"^ 7 — ^3

x 4 λ α 31 + x 42 32 H h 47 a 37 =0

x 51 31 + 5 2 a 2 "· !" X 57¾ 7 = 0

x 61 31 +x 62 a 32 H h 67 a 37 =0

x 7 ^3 1 + x 72 32 H h x 77 " 37 = 0

(4)、 对于^ V!、 和 能导出 k 4 , 其他的 V! (i=3,5,6,7) 均不能导出 k 4 。 各个保密向量 . (z=l,2, ...,7)、 公开向量^和密钥 的关系如下:

X 2 xA^ =k 4

X 3 A 4 T =0

x ―

X 6 xA 4 T =0

X 7 xA 4 T =0 设 4 =(H( 4 ,0,0,0f, 则可写矩阵形式: x =f 4 写成方程组形式, 则可表示为:

1"41 + ^\ 2"42 + " ' + 7"4,7 ~ ^4

1"4,1 + ,2"4,2 + · · , + ,7"4,7 ~ ^4

-^*31"41 + ^3 2 " • + x 37 a 4 j =0

-^*41"41 + "^*42^42 + " " ' + ,7"4,7 ~ ^4

1"41 + 2"42 + ' ' • + X 5 7 " 47 = 0

• + x 67 " 47 =0

-^*71"41 + X, 2 + " ' • + x 77 a 4 j =0

(5)、 对于 5 , Vj, 和 5 能导出 , 其他的 Vi (i=3,4, 6,7)均不能导出 k 5 。 各个保密向量 . (z=l,2, ...,7)、 公开向量 4和密钥 的关系如下: X x xA 5 T =k 5

X,xA 5 T =k 5

X 4 xA 5 T =0

X 5 xA 5 T =k 5

X 6 xA 5 T =0

X n A =0 设 , 则可写矩阵形式: Xx =K 5 写成方程组形式, 则可表示为:

1 i I λ*| 2 2 I · · ■ + | *7"51 ― ^

■ + X *7"51 ― ^

1 1 I 2 2 I · , · + X 37 " 5 7 = 0

"^*41"51 + "^*42^52 + " ■ · + X 47 " 5 7 = 0

λ*^ 1 1 I λ*^ 2 2 I · ' ■ + X5 *7"51 ― ^

" + x 67 a 57 =0

■ · + x 77 " 57 = 0

(6)、 对于^ Vj, 和 能导出 , 其他的 V! (ι=2, 4,5,7)均不能导出 k 6 。 各个保密向量 . (z=l,2, ...,7)、 公开向量 ^和密钥 的关系如下:

Χ, Α^ =0

Χ^ Αί =0 设 6 =«,( 6 ,o,( 6 ,of, 则可写矩阵形式:

写成方程组形式, 则可表示为: + X a 6 =k 6

- + x 27 a 6 j = 0

+ X 3 a 6 -

• + x 47 " 67 =0

• + x 57 a 6 j =0

+ X 6 a 6 =

- + x 77 a 6 j =0

(7)、 对于^ 和 7 能导出 , 其他的 Κ· (i=2, 4, 5, 6)均不能导出 k 7 。 各个保密向量 . (z=l, 2, ..., 7)、 公开向量^和密钥^的关系如下:

Χ,χΑ =k 7

X 2 xA^ =0

X 4 xA^ =0

X 5 xA^ =0

X 6 xA^ =0

7 =( ,( 7 ,0,0,( 7 f, 则可写矩阵形式: XxA; =Κ Ί ·, 写成方程组形式, 则可表示为:

( 8 )、 A = A ..,A;V,K = ( ^,K 2 ,...,K.

由 (1) 〜 (7) 有: XxA = K, 即: 1 4 ¾5 e i ¾1 α 21 α 31 。41 α 51 。61 α 71 h h k

0 0 0

1 ¾ χ 24 χ 25 χ 26 χ 21 ¾2 α 22 。 32 α 42 α 52 α 62 。72 ½ 0

0 0 0 0

1 χ 34 ■¾6 ■¾7 α 13 。23 ¾3 α 43 α 53 α 63 。73 k

0 0 0 0

1 χ 44 χ 45 χ Αβ Χ Α1 ¾4 ¾4 α 34 。44 。 54 α 64 。 74 = 0 0

1 x 52 χ 54 χ 55 χ 56 χ 51 ¾5 α 25 α 35 ¾ α 55 α 65 。 75 0 0 0 0 0 0

¾: 0 0 0 0 0

1 x 62 χ 64 χ 65 χ 66 χ βι ¾6 ¾6 α 36 α 46 α 56 α 66 。 0

76

0 0

ΧΊ 1·— Χ Ί2 Χ Ί3 χ 74 χ 75 χ χ 11 ¾7 ¾7 ¾7 α 47 α 57 。 0 0 0

67 。 0

77 k , 只要行列式 | | :0, 那么 有唯一解 (

CC把计算完毕的矩阵^ 和映射参数通过公开的信道广播或组播给所有 SG, 其中 z=l,2, ...,7;

歩骤 4、所有子群组控制器接收到公开矩阵 和映射参数 r之后,通过 /(.,.) 和映射参数 r求新向量:

对于子群组控制器 S , 其中^ =( , ,...,χ,., 7 ): x =/(W)

xr,2 =/(W)

再根据式(4)和式(5), 计算 和 且

例如对于 ^, ^^接收到^ 和 r后, 计算 3 =(x 31 ,x 32 ,...,x 37 ): ¾ =/(

X 2 =/(

再根据 (4) 和 (5), 计算^和^0=1,2,4, 5,6, 7)。 其中 , t 7 =k , 其他 的 ί』=0 2, 4, 5, 6, 7)通过组内的密钥管理 方案分发给组内成员。

如图 4所示, 通过以上歩骤, 建立了一个具有等级访问控制和 7个子群组 组成的群组。 子群组间的等级关系隐含在公开矩阵^ 4和各个子群组的保密向量 中。 实施例二

当子群组间的关系发生变化的时候, 如图 5所示: 要离开群组, 而 V 8 要作为 的新子群组加入。

歩骤 1、 如图 6所示, SC 6 向 CC发送离开请求, CC接收到请求后删除 V 6 的私有向量 CC随机选择一个私有向量 Z e F w ,通过安全通道发送给 的子 群组控制器, 的子群组控制器接收到 Z后, 密存;

CC重新分配当前子群组控制器的编号: 〜^: 5 保持不变, 对应的私有向 量分别是 Z 7 〜Z 5; 而 SC 7 变成了 SC^ 对应的私有向量变成了¾ ; 对应的编号 为 SC 7 , 对应的私有向量为 Z 7 。 这时 CC保存的私有向量为 (i=l, 2, 7); 此时群组的等级关系如图 7所示;

其他歩骤与实施例一的歩骤 2〜歩骤 4一致;需要补充说明的是: 对于 SC 7 , 各保密向量 (1=1,2, ...,7) 与公开向量 7 以及子群组密钥 的关系不同于实 施例一中歩骤 3的第(7)点(其他的各小点相同), SC 7 变动后对应的关系如下: 对于 SC 7 , 不再能导出 k 7 , 而 V!、 和 7 都能够导出 k 7 , 其他的 Vi (ι=4, 5, 6) 均不能导出 ; 各个保密向量 . (z=l, 2, 7)、 公开向量^和密钥 的 关系如下: Χ,χΑ =k 7

X 2 xA^ =k 7

X 4 xA^ =0

X 5 xA^ =0

X 6 xA^ =0

X. A =k,

设 Κ Ί = (HO, 0, 0, 0,k 7 f, 则可写矩阵形

写成方程组形式, 则可表示为:

λ*| i I λ*| 2^^72 I " " " I λ*|,Cl, 7 k

1 ^^, l I 2 2 I " " " I 7 ^^, 7 —k ~ 7

x 3 λ α Ί 1 + x 32 72 H h x 37 a 77 = 0

x 4 λ α Ί 1 + x 42 72 H h x 47 a 77 = 0

χ 51 71 52 72 H h x 57 a 77 = 0

x 6 λ α Ί 1 + x 62 72 H h x 67 a 77 = 0

X 1 Cl, 1 I X 2 Cl, 2 I " " " I X 7 Cl, 7 k 7 其他的细节和实施例一的歩骤 3—致。

如图 7所示, 通过以上歩骤, 完成了批量的群组加入和离开操作, 新的等 级关系也反映在^ 4和各个 (ι=1, 2".., 7)中。单独的加入或离开可以看作是批量 的特殊形式。在新的群组加入过程中, 安全信道仅仅在新群组向 CC发送私有向 量的时候存在, 其他原有群组并不需要重新向 CC发送私有向量。 如图 8所 -个具有等级访问控制的群组通信系统包括中 控制器 CC, 子群组 Vi,子群组控制器 Sd, CC和各 之间通过网际网络互联,其中 z=l, 2 群组的等级访问结构如图 9所示, 所有高等级的节点都可以导出其直接或 间接后裔节点的密钥, 而低等级节点无法导出其祖先节点的密钥。 没有直接或 间接上下级关系的节点互相不能导出对方的密 钥。 兄弟节点间也无法导出对方 的密钥。

如图 10所示, 系统选定有限域 所有的运算都基于有限域 F上; 同时选 择伪随机数发生器作为 /(.,.), 对于相同的初始化输入(种子), 该伪随机数发生 器应该具有相同的输出序列; 初始化 m=2。

歩骤 1、子群组 要加入群组, CC为每个子群组 分别随机选择两个私有 向量: lr Cz u ,z u 和 Κ·= Cy u , y 2 ); 并通过安全通道发送给对应的子群组控制 器, 所有子群组控制器接收私有向量 和 并密存; CC为子群组 的子群组 控制器分配编号 SC t , 同时通过公开信道把编号广播或组播给各子群 组控制器, 其中 z=l,...,5;

歩骤 2、 CC在有限域 F上选择随机数 r作为映射参数, 通过 /(.,.)映射把所 有私有向量 和 K分别映射成一组新的向量: X t = (.x u ,...,x 5 和 W!= (w u ,w ) , 其中 ..., 5):

χυ =/(½^) =/(W) =/(W) ι = f( i , 2 , 2 = /0 22 , r), x f( z i , r), x 4A = /0 42 , r), x 55 = f(z 52 , r) ' wu = /Ou ' r) w 2 = f0½ ,r), w 2 = f(y 2 ,r) ' w 42 = f(y 42 , r), w 52 = f(y 52 , r)。 则 CC得到有限域 F上的一组新的 n维向量 和一组新的 2维向量 W!, 其 中 i=l,...,5, 和 ^均称为保密向量:

Xi=(xi,i,x ,0,0,0)

X 2 ={x 2 ,i,X2,2,0,0,0) X 5 =(X5,1,0,0,0,X 5 ,5)

W 5 =(w 5 ,w 5>2 )

CC判断 , , ... , 是否线性相关, 如果他们线性无关, 则进入歩骤 3; 否则返回歩骤 2; (由于 r是一个随机数, 因此可以很容易地得到一组线性无关 的向量 , X 2 , ...

歩骤 3、设子群组 的公开向量 A=^u, α υ , ..., a 5 ); CC在有限域 F上为所 有子群组控制器 随机选定一个密钥, 分别是: k u , k 2 , 2 ..., k 5 , 5 ,, 且 ≠0 2, ...,5), CC通过以下一系列方程组求解公开矩阵 其中 1=1, 2, ...,5:

(1) 对于 只有 能导出 j, 其他的 (1=2,3,4,5) 均不能导出可 A 。 每个 . (z=l,2, ...,5)、 公开向量 4和密钥 的关系如下:

X 2 xA =0

X 3 A =0

X 4 xA =0

X 5 xA =0

设 =( ,;^..., 5 ),

写成方程组形式, 则可表示为:

(2)、 对于 , 和 能导出 2 , 将通过间接的方法导出 2 , 其他的 V l (z=3,4,...,5)均不能导出 2 。 各个保密向量;^ (z=l,2, ...,5)、 公开向量 ^和 密钥 2 的关系如下:

- X A~, ~ k

其中, =( ^,Α

2 =(U 22 ,o,o,of, 则可写矩阵形式:

写成方程组形式, 则可表示为:

x 2l +x 2 a 22 + 0 + 0 + 0 = k 2

x 2l a 2l + x 22 a 22 +0 + 0 + 0 = k 22

< x 3l a 2l +0 + x 33 a 23 + 0 + 0 = 0

x 4 2 , + 0 + 0 + x 44 α 24 + 0 = 0

x 5 2 , + 0 + 0 + 0 + x 55 a 25 =0 其中, 2 =( , 2 — .A.i d

(3)、 对于 , 只有 和!^能导出 3 , 将通过间接方法导出 其他 的 V (z=2,4,5)均不能导出^ ¾。 各个保密向量 (ι=1,2, ...,5)、 公开向量 4和 密钥 的关系如下:

Χ,χΑ^ =k h3

设 =( ,( 33 ,0,0f, 则可写矩阵形式: ΧχΑξ =Κ 3 写成方程组形式, 则可表示为

^ ^ 31 + ^ 2 32 + 0 + 0 + 0 = ^ 3

χ 2 ^ 31 + χ 22 32 + 0 + 0 + 0 = 0

χ 4 ^ 31 + 0 + 0 + χ 44 34 + 0 = 0

χ 5 ^ 3 1 + 0 + 0 + 0 + χ 55 35 = 0

(4)、 对于 , V!、 ^和 能导出 4, V】、 ^将通过间接方法导出 4; 其他的 (z=3,5)均不能导出 4 。各个保密向量;^ G=l,2, ...,5)、公开向量 4 和密钥 4 的关系如下:

X 2 xA 4 =k 24

X 3 A 4 T =0

x ― A^ 4 4

i^K 4 = (k 1A ,k 2A k 4A AO,o) J , 贝 ij可写矢巨阵形 X Ai =Κ, 写成方程组形式, 则可表示为:

x u a 4l +x l2 a 42 +0 + 0 + 0 = k 14

x 2l a 4l + x 22 42 + 0 + 0 + 0 = k 24

x 3 4 , + 0 + 33 α 4 3 + 0 + 0 = 0

4,ΐ α 4,1 +0 + 0 + ¾,4 a 4,4 + 0 = ^4,4

+ 0 + 0 + 0 + χ 55 α 4 J = 0

k Λ = [k A Λ -w、k )w~

(5)、 对于 ^, 和 5 能导出 ,5, V!、 将通过间接方法导出 5; 其他的 Κ· (ι=2,4 均不能导出 5 。各个保密向量 . G=l,2, ...,5)、 公开向量 4 和密钥 5 的关系如下:

Χ,χΑ; =k

Χ Λ χΑ^ =0 设 =(^,( 35 ,( 5 , 5 y, 则可写矩阵形 ΧχΑξ =K 写成方程组形式, 则可表示为:

x u a 5 +x 2 a 52 +0 + 0 + 0 = k 5

x 2 ^ 51 + χ 22 52 + 0 + 0 + 0 = 0

x 3 a 5 +0 + x 33 a 53 +0 + 0 = k 35

X 41"51 + 0 + 0 + x 44 " 54 + 0 = 0

x51"51 + 0 + 0 + 0 + x 55 " 55 =k 55

=(^5 -^3,3)^3,2

(6)、 令 =( ,..., ); =( , 2 ,...,

由 (1) 〜 (5) 有: XxA = K, 即:

只要行列式 | |≠o, 那么 有唯一解。

CC把计算完毕的矩阵^ 和映射参数通过公开的信道广播或组播给所有 其中 z=l,2, ...,5;

歩骤 4、所有子群组控制器接收到公开矩阵 和映射参数 r之后,通过 /( 和映射参数 r求新向量:

对于任一个子群组 V t , 其子群组控制器为 Sd, 其中 χ υ = {ζ υ ,Γ),

Xy, , Ww=X)^, )。 根据式 (9)计算所有 (j=l,...,5): k u , k, 2 , k u , ki, 4 , k 。 如果 =z, 则 广 ■, 即本子群组的密钥。 如果 ≠ 且 ≠0, 则根据式 (10) 求解子群组 V!的群组密钥 k ]

例如对于 3 ,U妾收到 和 r后,计算 0, 3 ,0,0)和 =(M^,^) :

¾ 3 = (¾^) ' w 32 =/0 32 ,r)

再根据式(9)计算 H¾ 5: 其中 ≠0和 5 ≠0。 为子群组 的群组 密钥; 5 是^^求解子群组 5 群组密钥 5 的间接密钥。 根据式 IO): k 5>5 = w 3

SC 3 把计算好的 3和 5 通过组内的密钥管理方案分发给组内成员 。

如图 11所示, 通过以上歩骤, 建立了一个具有等级访问控制和 7个子群组 组成的群组。 子群组间的等级关系隐含在公开矩阵^ 4和各个子群组的保密向量 中。 实施例四

当子群组间的关系发生变化的时候, 如图 12所示: 5 要离开群组, 而 要作为 的新子群组加入。

歩骤 1、 如图 13所示, SC 5 向 CC发送离开请求, CC接收到请求后删除 5 的私有向量 和 CC在有限域 F上随机选择一个 m维私有向量 ¾和一个 2 维向量 , 通过安全通道发送给 的子群组控制器, 的子群组控制器接收到 ¾和 后, 密存。

CC重新分配当前子群组控制器的编号: SG〜S 保持不变, 对应的 m维 私有向量分别是 〜 , 2维私有向量是; Γ ΐ 新加入的子群组 的子群组控 制器编号为 SC 5 , 对应的私有向量为 Z 5 和 。 这时 CC保存的私有向量为 和 Υ ι (ι=\,2, ...,5); 此时群组的等级关系如图 12所示;

其他歩骤与实施例一的歩骤 2〜歩骤 4一致;需要补充说明的是: 对于 SC 5 , 各保密向量 、 (ι=1, ...,5)与公开向量 5 以及子群组密钥 5 的关系不同于 实施例一中歩骤 3的第 (5) 点 (其他的各小点相同), SC 5 变动后对应的关系如 下:

对于 SC 5 5 能直接导出群组密钥 5 , V】、 都能够间接导出 5 , 而 和 不能直接 /间接导出 5; 各个保密向量 0=1,2, ...,5)、 公开向量^和密 钥 5的关系如下:

X 2 xA^ =k 25

X ― ^55

设 =( 25 ,o,( 55 f, 则可写矩阵形式: Χχ =Κ 5 ·'

写成方程组形式, 则可表示为:

x lx a 5l +x l2 a 52 +0 + 0 + 0 = k l5

x 2 a 5 +x 22 a 52 +0 + 0 + 0 = k 25

x 3 a 5 +0 + x 33 a 53 +0 + 0 = 0

+ 0 + 0 + x 44 " 54 + 0 = 0

+ 0 + 0 + 0 + x 55 " 55 =k 55

其他的细节和实施例三的歩骤 3—致。 如图 14所示, 通过以上歩骤, 完成了批量的群组加入和离开操作, 新的等 级关系也反映在公开矩阵^ 4和各个保密向量 、 ^ (1=1, 2, ..., 5)中。 单独的加 入或离开可以看作是批量的特殊形式。 在新的群组加入过程中, 安全信道仅仅 在新群组向 CC发送私有向量的时候存在,其他原有群组并 需要重新向 CC发 送私有向量。 上述实施例为本发明较佳的实施方式, 但本发明的实施方式并不受所述实 施例的限制, 其他的任何未背离本发明的精神实质与原理下 所作的改变、 修饰、 替代、 组合、 简化, 均应为等效的置换方式, 都包含在本发明的保护范围之内。