CN101488849B - 一种基于n维球面的群组密钥管理方法 - Google Patents

一种基于n维球面的群组密钥管理方法 Download PDF

Info

Publication number
CN101488849B
CN101488849B CN2009100372338A CN200910037233A CN101488849B CN 101488849 B CN101488849 B CN 101488849B CN 2009100372338 A CN2009100372338 A CN 2009100372338A CN 200910037233 A CN200910037233 A CN 200910037233A CN 101488849 B CN101488849 B CN 101488849B
Authority
CN
China
Prior art keywords
user
group
management
secret information
sphere
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.)
Expired - Fee Related
Application number
CN2009100372338A
Other languages
English (en)
Other versions
CN101488849A (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 CN2009100372338A priority Critical patent/CN101488849B/zh
Priority to PCT/CN2009/071094 priority patent/WO2010094183A1/zh
Priority to DE112009004334.8T priority patent/DE112009004334B8/de
Priority to US12/744,480 priority patent/US20110058668A1/en
Priority to GB1101775.3A priority patent/GB2479957B/en
Publication of CN101488849A publication Critical patent/CN101488849A/zh
Application granted granted Critical
Publication of CN101488849B publication Critical patent/CN101488849B/zh
Priority to HK11113330.9A priority patent/HK1159348A1/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于N维球面的群组密钥管理方法,初始化后,当有新用户加入时,群组管理器接受用户加入并为新用户编号,当有用户退出时,群组管理器删除退出用户的秘密信息,如果同时有用户加入和退出时,则同时删除退出用户的秘密信息、接受新用户加入、为新用户编号和接收新用户秘密信息,然后群组管理器选择映射参数,将群组中的各个用户以及自身的秘密信息分别映射成空间中的点;求解这些点组成的球面的中心,并公布中心、映射参数,有退出用户的还要公布退出用户的编号;群组中的用户根据自身编号求解对应的空间点,进而求出群组密钥。本发明能有效的减少用户存储信息、计算量、密钥更新时信息数,并保持密钥间的相互独立。

Description

一种基于N维球面的群组密钥管理方法
技术领域
本发明涉及网络安全中的群组密钥管理方法,具体是涉及一种基于N维球面的群组密钥管理方法。
背景技术
随着因特网的不断发展和组播技术应用的普及,面向群组的应用,如视频会议、网络游戏、视频点播等,正发挥着越来越重要的作用。如何保证这些应用的通信安全也就越来越重要。一般而言,一个安全的群组通信系统不仅应该能提供数据的保密性、用户的认证及消息的完整性,而且也应该具有良好的扩展性;而这一切都离不开一个安全、高效和健壮的群组密钥管理系统。
目前群组密钥管理系统的研究成果主要有:GKMP、SL、GDH及其改进、LKH及其改进:(假设n为群组用户数)
GKMP(Group Key Management Protocol,组密钥管理协议)是单播的安全技术向多播技术的直接拓展,由群组的管理者和每个用户建立安全连接,在需要更新密钥时由群组的管理者将新的群组密钥一对一的加密、传输至用户。一次用户发生变化,群组的管理者需要执行n次加密和传输n条信息。
SL(Secure Lock,安全锁)利用中国剩余定理将密钥更新时的所有信息整合为一条,但是由于中国剩余定理的计算比较耗时,而且整合出来的消息长度会很长——与用户数成正比,因此该方案只能适用于小规模群组。
GDH(Group Diffie-Hellman,组Diffie-Hellman密钥管理协议)及其改进在协商密钥的过程中需要花费相当大的开销。运算量最少的非序列化GDH(NON-SERIAL GDH)方案的通信总量高达n(n-1),而通信量最少的GDH版本2(GDH.2)的运算量又高达n(n+3)/2-1。
LKH(Logical Key Hierarchy,逻辑密钥树)及其改进采用树形结构来组织用户。群组的管理者首先构建一棵β叉密钥树,其中每个节点都对应一个密钥,根节点对应群组密钥,叶节点对应用户密钥。每个用户持有从叶节点到根节点这一路径上所有密钥。在单个用户发生变化时,它将密钥更新的计算量和传输信息量都降到了O(log n)。但是当有多个用户同时发生变化时,其开销将随发生变化的用户数而大大增加。
发明内容
本发明的目的在于克服现有技术的缺点和不足,利用“已知满足一定条件的N+1个N维空间上的点,可以唯一确定一个N维球面(N-sphere/hyper sphere/N维圆),而且这N+1个点到球面中心的距离都为半径”的数学原理,提供了一种基于N维球面的群组密钥管理方法。该方法能有效的减少用户的存储信息、用户计算量、密钥更新时信息数,以及加强了密钥间的相互独立。
本发明的目的通过下述技术方案实现:一种基于N维球面的群组密钥管理方法,包括以下步骤:
(1)初始化:群组管理器选择自身秘密信息,设定群组有限域GF(p)和二元哈希函数h(·,·),并纳入第一个用户;其中GF(p)指定了群组运算所在的有限域,即所有的群组运算过程都在有限域GF(p)中进行;
(2)用户加入:群组管理器接受用户加入并为其编号,同时要求各新加入用户发送一秘密信息至群组管理器;群组管理器选择映射参数,将自身的秘密信息以及群组中各个用户的秘密信息分别映射成空间中的点,如果这些点不能唯一确定一球面则更改映射参数进行重映射;求解这些点组成的球面的中心;群组管理器公布中心、映射参数;群组各用户则根据自身编号和群组管理器公布的中心及映射参数求解对应的空间点,进而求出群组密钥;
(3)用户退出:群组管理器删除各退出用户的秘密信息,群组管理器选择映射参数,将自身的秘密信息以及余下各用户的秘密信息重新映射成空间中的点,如果这些点不能唯一确定一球面则更改映射参数进行重映射;求解这些点组成的球面的中心;群组管理器公布中心、映射参数、所有退出用户的编号;群组里的余下用户根据编号的大小依次从1开始重新排序,排序后用户的编号表示为1、2、3、4......;群组中的余下用户根据新编号和群组管理器公布的中心及映射参数求解所对应的空间点,进而求出群组密钥;
(4)用户同时加入、退出:群组管理器删除各退出用户的秘密信息,为各新加入用户编号,同时要求各新加入用户发送一秘密信息至群组管理器;群组管理器选择映射参数,将自身的秘密信息以及各用户的秘密信息重新映射成空间中的点,如果这些点不能唯一确定一球面则更改映射参数进行重映射;求解这些点组成的球面的中心;群组管理器公布中心、映射参数、所有退出用户的编号;群组里的所有用户根据编号的大小依次从1开始重新排序,排序后用户的编号表示为1、2、3、4......;群组里的用户根据新编号和群组管理器公布的中心及映射参数求解所对应的空间点,进而求出群组密钥。
为更好的实现本发明,所述步骤(1)初始化,具体包括以下步骤:
(1.1)群组管理器选择秘密信息,即群组管理器选择2个不同二维点A-1(a-1,0,a-1,1)、A0(a00,a01)并秘密保存;选择二元哈希函数h(·,·)、大素数p并公开;其中p指定了群组运算所在的有限域-GF(p),即所有的群组运算过程都在有限域GF(p)中进行,a-1,0、a-1,1、a00、a01为GF(p)中的整数;
(1.2)将第一个用户U1纳入群组,一般第一个用户为群组发起者:
a)在对用户进行认证之后,群组管理器给用户分发编号ID=1;同时要求该用户选择二维点A1(a10,a11)并安全发送至群组管理器;其中a10、a11为GF(p)中的整数,且a10≠a11,a10≠0,a11≠0;
b)群组管理器存储点A1(a10,a11)并选择一个映射参数u0,将用户的秘密信息以及自身的秘密信息分别映射成空间中的点:
计算Bj(bj0,bj1)=(h(aj-1,0,u0),h(aj-1,1,u0));若2(b00-b10)·2(b11-b21)-2(b10-b20)·2(b01-b11)=0,则重选映射参数u0并重新计算Bj;其中j=0、1、2,u0为随机整数,aj-1,0、aj-1,1为秘密信息Aj-1的两个维的值,bj0为aj-1,0经哈希函数作用之后的值,bj1为aj-1,1经哈希函数作用之后的值,由bj0、bj1组成的点Bj即为秘密信息Aj-1各个维经哈希函数作用之后的点;
c)利用Bj构造方程组,求解这些点组成的球面的中心C0(c00,c01):
( b 00 - c 00 ) 2 + ( b 01 - c 01 ) 2 = R 0 2 ( b 10 - c 00 ) 2 + ( b 11 - c 01 ) 2 = R 0 2 ( b 20 - c 00 ) 2 + ( b 21 - c 01 ) 2 = R 0 2
将方程组中的上式减去下式:
2 ( b 00 - b 10 ) c 00 + 2 ( b 01 - b 11 ) c 01 = b 00 2 + b 01 2 - b 10 2 - b 11 2 2 ( b 10 - b 20 ) c 00 + 2 ( b 11 - b 21 ) c 01 = b 10 2 + b 11 2 - b 20 2 - b 21 2
由b)中2(b00-b10)·2(b11-b21)-2(b10-b20)·2(b01-b11)≠0可保证上述方程组有唯一解;
d)群组管理器组播二维球面的中心C0(c00,c01),映射参数u0
e)用户U1计算群组密钥:
K1=R0 2-||C0||2=h(a10,u0)2+h(a11,u0)2-2h(a10,u0)c00-2h(a11,u0)c01,其中R0是上述所求以C0为球面中心二维球面的半径,||C0||2为C0的模的平方,即||C0||2=c00 2+c01 2,K1是用户U1计算出的密钥,即群组密钥。
所述步骤(2)用户加入,具体包括以下步骤:
(2.1)假设当前群组中有n-δ个用户,有δ个用户加入,其中(n-δ)≥1,δ≥1,则δ个用户加入后共有n个用户,群组管理器接受各新用户加入,并给各新用户一个编号ID,即(n-δ)+1、(n-δ)+2、......、(n-δ)+δ;同时要求各新加入用户各自选择一秘密信息,即一个二维点Ax(ax0,ax1)并安全发送至群组管理器,其中ax0≠ax1,且ax0≠0,ax1≠0;群组管理器存储各二维点Ax(ax0,ax1),x=(n-δ)+1、(n-δ)+2、......、(n-δ)+δ;
(2.2)群组管理器选择映射参数u1,将自身以及各个用户的秘密信息分别映射成空间中的点:
群组管理器利用其所存储的全部秘密信息即二维点Ai(ai0,ai1),计算Bi(bi0,bi1)=(h(ai0,u1),h(ai1,u1));然后调整Bi点的下标,按其下标原本大小依次从0开始重新排序为Br,r=0、1、...、n+1;其中Ai(ai0,ai1)表示群组中的二维点,Bi(bi0,bi1)为Ai(ai0,ai1)各个维经二元哈希函数h(·,·)作用之后所得的点,bi0对应ai0经二元哈希函数作用之后的值,bi1对应ai1经二元哈希函数作用之后的值,i表示各个用户秘密值即二维点的下标,Br是经Bi调整其下标i,按其下标原本大小依次从0开始重新排序后得到的;若 [ 2 ( b 00 - b 10 ) · 2 ( b 11 - b 21 ) - 2 ( b 10 - b 20 ) · 2 ( b 01 - b 11 ) ] · Π t = 3 n + 1 ( - 2 b t 1 ) =0, 则重新进行步骤(2.2);
(2.3)求解这些点组成的球面的中心C1(c10,c11,c12...,c1n):
扩展Br:当r=0、1时,将Br补零扩展成n+1维向量Vr(br0,br1,0...0);当r=2、3、...、n+1,将Br扩展成n+1维向量Vr(br0,0...0,br1,0...0),即在br0与br1间补r-2个0,br1之后补n+1-r个0,构造方程组:
( b 00 - c 10 ) 2 + ( b 01 - c 11 ) 2 + ( 0 - c 12 ) 2 + ( 0 - c 13 ) 2 . . . + ( 0 - c 1 n ) 2 = R 1 2 ( b 10 - c 10 ) 2 + ( b 11 - c 11 ) 2 + ( 0 - c 12 ) 2 + ( 0 - c 13 ) 2 . . . + ( 0 - c 1 n ) 2 = R 1 2 ( b 20 - c 10 ) 2 + ( b 21 - c 11 ) 2 + ( 0 - c 12 ) 2 + ( 0 - c 13 ) 2 . . . + ( 0 - c 1 n ) 2 = R 1 2 ( b 30 - c 10 ) 2 + ( 0 - c 11 ) 2 + ( b 31 - c 12 ) 2 + ( 0 - c 13 ) 2 . . . + ( 0 - c 1 n ) 2 = R 1 2 ( b 40 - c 10 ) 2 + ( 0 - c 11 ) 2 + ( 0 - c 12 ) 2 + ( b 41 - c 13 ) 2 . . . + ( 0 - c 1 n ) 2 = R 1 2 . . . . . . . . . . . . ( b n + 1,0 - c 10 ) 2 + ( 0 - c 11 ) 2 + ( 0 - c 12 ) + ( 0 - c 13 ) 2 . . . + ( b n + 1,1 - c 1 n ) 2 = R 1 2
将方程组中的上式减去下式:
2 ( b 00 - b 10 ) 2 ( b 01 - b 11 ) 0 . . . . . . 0 2 ( b 10 - b 20 ) 2 ( b 11 - b 21 ) 0 . . . . . . 0 2 ( b 20 - b 30 ) 2 b 21 - 2 b 31 0 . . . 0 2 ( b 30 - b 40 ) 0 2 b 31 - 2 b 41 0 . . . 0 . . . . . . . 2 ( b n 0 - b n + 1,0 ) 0 . . . 0 2 b n 1 - 2 b n + 1,1 c 10 c 11 c 12 c 13 . . . c 1 n = b 00 2 + b 01 2 - b 10 2 - b 11 2 b 10 2 + b 11 2 - b 20 2 - b 21 2 b 20 2 + b 21 2 - b 30 2 - b 31 2 b 30 2 + b 31 2 - b 40 2 - b 41 2 . . . b n 0 2 + b n 1 2 - b n + 1,0 2 - b n + 1,1 2
由(2.2)可知 [ 2 ( b 00 - b 10 ) · 2 ( b 11 - b 21 ) - 2 ( b 10 - b 20 ) · 2 ( b 01 - b 11 ) ] · Π t = 3 n + 1 ( - 2 b t 1 ) ≠ 0 , 故可保证上述方程组有唯一解;
(2.4)群组管理器组播该球面中心C1(c10,c11,c12...,c1n)和映射参数u1
(2.5)各个用户计算密钥:所有用户通过公式计算群组的密钥Ki=R1 2-||C1||2=h(ai0,u1)2+h(ai1,u1)2-2h(ai0,u1)c10-2h(ai1,u1)c1d,其中Ki表示秘密值下标为i的用户计算出的密钥,ai0、ai1对应该用户自身秘密信息--二维点中的两个数,d为该用户的编号,即ID,R1是上述所求以C1为球面的球面的半径,||C1||2为C1的模的平方,即 | | C 1 | | 2 = Σ m = 0 n c 1 m 2 .
所述步骤(3)用户退出,具体包括以下步骤:
(3.1)假设当前群组中有n+f个用户,有f个用户退出,其中(n+f)≥2,f≥1,则f个用户退出后群组中共有n个用户,并且群组管理器删去所有退出用户的秘密信息,即二维点;
(3.2)群组管理器选择映射参数u2,将自身的秘密信息以及各个余下用户的秘密信息分别映射成空间中的点:
群组管理器利用其所存储的全部秘密信息即二维点Ai(ai0,ai1),计算Bi(bi0,bi1)=(h(ai0,u2),h(ai1,u2));然后调整Bi点的下标,按其下标原本大小依次从0开始重新排序为Br,其中r=0、1、...、n+1;
[ 2 ( b 00 - b 10 ) · 2 ( b 11 - b 21 ) - 2 ( b 10 - b 20 ) · 2 ( b 01 - b 11 ) ] · Π t = 3 n + 1 ( - 2 b t 1 ) =0, 则重新进行步骤(3.2);
(3.3)求解这些点组成的球面的中心C2(c20,c21,c22...,c2n):
扩展Br:当r=0、1时,将Br补零扩展成n+1维向量Vr(br0,br1,0...0);当r=2、3、...、n+1时,将Br扩展成n+1维向量Vr(br0,0...0,br1,0...0),即在br0与br1间补r-2个0,br1之后补n+1-r个0,构造方程组:
( b 00 - c 20 ) 2 + ( b 01 - c 21 ) 2 + ( 0 - c 22 ) 2 + ( 0 - c 23 ) 2 . . . + ( 0 - c 2 n ) 2 = R 2 2 ( b 10 - c 20 ) 2 + ( b 11 - c 21 ) 2 + ( 0 - c 22 ) 2 + ( 0 - c 23 ) 2 . . . + ( 0 - c 2 n ) 2 = R 2 2 ( b 20 - c 20 ) 2 + ( b 21 - c 21 ) 2 + ( 0 - c 22 ) 2 + ( 0 - c 23 ) 2 . . . + ( 0 - c 2 n ) 2 = R 2 2 ( b 30 - c 20 ) 2 + ( 0 - c 21 ) 2 + ( b 31 - c 22 ) 2 + ( 0 - c 23 ) 2 . . . + ( 0 - c 2 n ) 2 = R 2 2 ( b 40 - c 20 ) 2 + ( 0 - c 21 ) 2 + ( 0 - c 22 ) 2 + ( b 41 - c 23 ) 2 . . . + ( 0 - c 2 n ) 2 = R 2 2 . . . . . . . . . . . ( b n + 1,0 - c 20 ) 2 + ( 0 - c 21 ) 2 + ( 0 - c 22 ) + ( 0 - c 23 ) 2 . . . + ( b n + 1,1 - c 2 n ) 2 = R 2 2
将方程组中的上式减去下式:
2 ( b 00 - b 10 ) 2 ( b 01 - b 11 ) 0 . . . . . . 0 2 ( b 10 - b 20 ) 2 ( b 11 - b 21 ) 0 . . . . . . 0 2 ( b 20 - b 30 ) 2 b 21 - 2 b 31 0 . . . 0 2 ( b 30 - b 40 ) 0 2 b 31 - 2 b 41 0 . . . 0 . . . . . . . 2 ( b n 0 - b n + 1,0 ) 0 . . . 0 2 b n 1 - 2 b n + 1,1 c 20 c 21 c 22 c 23 . . . c 2 n = b 00 2 + b 01 2 - b 10 2 - b 11 2 b 10 2 + b 11 2 - b 20 2 - b 21 2 b 20 2 + b 21 2 - b 30 2 - b 31 2 b 30 2 + b 31 2 - b 40 2 - b 41 2 . . . b n 0 2 + b n 1 2 - b n + 1,0 2 - b n + 1,1 2
由(3.2)可知 [ 2 ( b 00 - b 10 ) · 2 ( b 11 - b 21 ) - 2 ( b 10 - b 20 ) · 2 ( b 01 - b 11 ) ] · Π t = 3 n + 1 ( - 2 b t 1 ) ≠ 0 , 故可保证上述方程组有唯一解;
(3.4)群组管理器组播C2、u2、所有退出用户的编号ID;
(3.5)各个余下用户计算密钥:群组中的余下用户将自己的编号与所有退出用户的编号进行比较,求出比自己编号小的退出用户个数,表示为e,群组中余下的用户各自修改自身编号:ID=ID-e,各个余下用户求出的e不一定相同,f≥e≥0;各个余下用户通过公式计算群组的密钥Ki=R2 2-||C2||2=h(ai0,u2)2+h(ai1,u2)2-2h(ai0,u2)c20-2h(ai1,u2)c2d,其中Ki表示秘密值下标为i的用户计算出的密钥,ai0、ai1对应该秘密值下标为i的用户自身秘密信息即二维点中的两个数,此时d为该用户修改后的编号ID,R2是上述所求以C2为球面中心球面的半径,||C2||2为C2的模的平方,即 | | C 2 | | 2 = Σ m = 0 n c 2 m 2 .
所述步骤(4)用户同时退出、加入,具体包括以下步骤:
(4.1)假设当前群组中有n+w-v个用户,w个用户要退出群组,v个用户同时要加入群组,其中1≤w≤(n+w-v),1≤v,则在用户同时加入退出群组后,群组共有n个用户;
群组管理器删除各退出用户对应的秘密信息,即其二维点,并为新加入的用户按顺序编号,即(n+w-v)+1、(n+w-v)+2、......、(n+w-v)+v;同时要求各新加入用户各自选择一秘密信息,即一个二维点Ay(ay0,ay1)并安全发送至群组管理器,其中ay0≠ay1,且ay0≠0,ay1≠0;群组管理器存储各点Ay(ay0,ay1),y=(n+w-v)+1、(n+w-v)+2、......、(n+w-v)+v;
(4.2)群组管理器选择映射参数u3,将各个用户的秘密信息以及自身的秘密信息分别映射成空间中的点:
利用所存储的全部秘密信息即二维点Ai(ai0,ai1),计算Bi(bi0,bi1)=(h(ai0,u3),h(ai1,u3));然后调整Bi点的下标,按其下标原本大小依次从0开始重新排序为Br,其中r=0、1、...、n+1;
[ 2 ( b 00 - b 10 ) · 2 ( b 11 - b 21 ) - 2 ( b 10 - b 20 ) · 2 ( b 01 - b 11 ) ] · Π t = 3 n + 1 ( - 2 b t 1 ) =0, 则重新进行步骤(4.2);
(4.3)求解这些点组成的球面的中心C3(c30,c31,c32...,c3n):
扩展Br:当r=0、1时,将Br补零扩展成n+1维向量Vr(br0,br1,0...0);当r=2、3、...、n+1时,将Br扩展成n+1维向量Vr(br0,0...0,br1,0...0),即在br0与br1间补r-2个0,br1之后补n+1-r个0,构造方程组:
( b 00 - c 30 ) 2 + ( b 01 - c 31 ) 2 + ( 0 - c 32 ) 2 + ( 0 - c 33 ) 2 . . . + ( 0 - c 3 n ) 2 = R 3 2 ( b 10 - c 30 ) 2 + ( b 11 - c 31 ) 2 + ( 0 - c 32 ) 2 + ( 0 - c 33 ) 2 . . . + ( 0 - c 3 n ) 2 = R 3 2 ( b 20 - c 30 ) 2 + ( b 21 - c 31 ) 2 + ( 0 - c 32 ) 2 + ( 0 - c 33 ) 2 . . . + ( 0 - c 3 n ) 2 = R 3 2 ( b 30 - c 30 ) 2 + ( 0 - c 31 ) 2 + ( b 31 - c 32 ) 2 + ( 0 - c 33 ) 2 . . . + ( 0 - c 3 n ) 2 = R 3 2 ( b 40 - c 30 ) 2 + ( 0 - c 31 ) 2 + ( 0 - c 32 ) 2 + ( b 41 - c 33 ) 2 . . . + ( 0 - c 3 n ) 2 = R 3 2 . . . . . . . . . . . ( b n + 1,0 - c 30 ) 2 + ( 0 - c 31 ) 2 + ( 0 - c 32 ) + ( 0 - c 33 ) 2 . . . + ( b n + 1,1 - c 3 n ) 2 = R 3 2
将方程组中的上式减去下式:
2 ( b 00 - b 10 ) 2 ( b 01 - b 11 ) 0 . . . . . . 0 2 ( b 10 - b 20 ) 2 ( b 11 - b 21 ) 0 . . . . . . 0 2 ( b 20 - b 30 ) 2 b 21 - 2 b 31 0 . . . 0 2 ( b 30 - b 40 ) 0 2 b 31 - 2 b 41 0 . . . 0 . . . . . . . 2 ( b n 0 - b n + 1,0 ) 0 . . . 0 2 b n 1 - 2 b n + 1,1 c 30 c 31 c 32 c 33 . . . c 3 n = b 00 2 + b 01 2 - b 10 2 - b 11 2 b 10 2 + b 11 2 - b 20 2 - b 21 2 b 20 2 + b 21 2 - b 30 2 - b 31 2 b 30 2 + b 31 2 - b 40 2 - b 41 2 . . . b n 0 2 + b n 1 2 - b n + 1,0 2 - b n + 1,1 2
由(4.2)可知 [ 2 ( b 00 - b 10 ) · 2 ( b 11 - b 21 ) - 2 ( b 10 - b 20 ) · 2 ( b 01 - b 11 ) ] · Π t = 3 n + 1 ( - 2 b t 1 ) ≠ 0 , 故可保证上述方程组有唯一解;
(4.4)群组管理器组播C3、u3、所有退出用户的编号ID;
(4.5)各个用户计算密钥:群组中的用户将自己的编号与所有退出用户的编号进行比较,求出比自己编号小的退出用户个数,表示为e,群组中的用户各自修改自身编号:ID=ID-e,各个余下用户求出的e不一定相同,w≥e≥0;各个用户通过公式计算群组密钥Ki=R3 2-||C3||2=h(ai0,u3)2+h(ai1,u3)2-2h(ai0,u3)c30-2h(ai1,u3)c3d,其中Ki表示秘密值下标为i的用户计算出的密钥,ai0、ai1对应该秘密值下标为i的用户自身秘密信息,即二维点中的两个数,此时d为该用户修改后的编号ID,R3是上述所求以C3为球面中心球面的半径,||C3||2为C3的模的平方,即 | | C 2 | | 2 = Σ m = 0 n c 3 m 2 .
当一段时间内没有发生密钥更新时,所述群组管理器为保证系统的安全,重新选映射参数,将自身的秘密信息以及群组中各个用户的秘密信息分别映射成空间中的点,如果这些点不能唯一确定一球面则更改映射参数进行重映射;求解这些点组成的球面的中心;群组管理器公布中心、映射参数;群组各用户根据自身编号和群组管理器公布的中心及映射参数求解对应的空间点,进而求出群组密钥。
本发明的作用原理是:利用“已知满足一定条件的N+1个N维空间上的点,可以唯一确定一个N维球面(N-sphere/hyper sphere/N维圆),而且这N+1个点到球面中心的距离都为半径”的数学原理,设计了基于N维球面的群组密钥管理方案。在多维空间中,N维球面的方程可表示为:
(g0-c0)2+(g1-c1)2+...+(gN-1-cN-1)2=R2        (1)
其中C(c0,c1,...,cN-1)为中心,R为半径,G(g0,g1,...,gN-1)为球面上的点,g0、g1……、gN-1为整数,表示G点的第一、二、……、N维。对于N维空间中的任意N+1个点Qs(qs0,qs1,...,qs,N-1),s=0、1、……、N,当满足一定条件时,可唯一确定一个N维球面。计算方法如下:把Q0,Q1,...,QN代入式(1),可得解方程组(2): ( q 00 - c 0 ) 2 + ( q 01 - c 1 ) 2 + . . . + ( q 0 , N - 1 - c N - 1 ) 2 = R 2 ( q 10 - c 0 ) 2 + ( q 11 - c 1 ) 2 + . . . + ( q 1 , N - 1 - c N - 1 ) 2 = R 2 . . . . . . . . . . . . ( q N 0 - c 0 ) 2 + ( q N 1 - c 1 ) 2 + . . . + ( q N , N - 1 - c N - 1 ) 2 = R 2
将方程组(2)的上一式减去下一式,可以得到下列的N个关于c0,c1,...,cN-1的线性方程组:
2 ( q 00 - q 10 ) c 0 + . . . + 2 ( q 0 , N - 1 - q 1 , N - 1 ) c N - 1 = Σ l = 0 N - 1 q 0 l 2 - Σ l = 0 N - 1 q 1 l 2 . . . . . . . . . . . . 2 ( q N - 2,0 - q N - 1,0 ) c 0 + . . . + 2 ( q N - 2 , N - 1 - q N - 1 , N - 1 ) c N - 1 = Σ l = 0 N - 1 q N - 2 , l 2 - Σ l = 0 N - 1 q N - 1 , l 2
如果该线性方程组的系数矩阵行列式不为零,则可以得到c0,c1,...,cN-1的一组唯一解,并且可以知道Qs到C(c0,c1,...,cN-1)的距离都等于半径R,l=0、1、……、N-1。
本发明与现有技术相比,具有如下优点和有益效果:
第一,用户存储量少、计算量少:用户存储量为两个秘密整数,更新密钥时的计算量为2次哈希函数和数次有限域运算。虽然群组管理器存储量为O(n),密钥更新时的主要计算量--多元一次线性方程组的求解复杂度为O(n),但是在相同的安全保障下,通过增加用户存储秘密数的个数(并不增加存储量),可以降低p的位数,即减小了有限域GF(p)的大小,从而进一步减少开销,假设有n个用户,用户存储两个数且p为64bit的数,则一次密钥更新的通信量约为64(n+1)bit,但如果用户存储4个数且大素数p为32bit的数,则通信开销约为32(n+3)bit。其中用户存储4个数时的相应变化为--初始化时群组管理器选择4个秘密向量,用户加入时选择4维点,则扩展向量时由群组管理器秘密向量转换的向量扩为Vr(br0,br1,br2,br3,0...0),其余的扩展为Vr(br0,br1,br2,,0...0,br3,0...0);
第二,密钥更新时的信息数为1条;该信息包括群组管理器公布的中心、映射参数,如果更新由用户退出引起,则还包含退出用户的ID,一条更新信息在需要群组管理器给信息签名时能大大减少群组管理器的开销;
第三,当有多个用户同时发生变化时,密钥更新的开销并不会随用户数增加而成倍增长;由于多个用户的退出、加入都只需一次处理过程,这就使系统具有良好的批处理能力;
第四,各个时刻的群组密钥间是互相独立的,因为每次参与计算的值都是经过哈希函数之后的Bi(bi0,bi1)(其中Bi(bi0,bi1)是指群组中二维点的各个维经哈希函数作用之后所得的点),从哈希函数的性质我们可以认为每次求解所得的球面中心和半径都是互不相同且无相互依赖关系,所以某一时刻群组密钥的暴露并不会影响其他时刻群组密钥的安全,而且群组密钥的暴露并不会造成用户秘密信息的暴露,这对于高机密要求的系统尤为重要;
第五,有效的避免了被离线猜测攻击、共谋攻击、穷举攻击:1、在得知球面中心和半径的情况下,是无法求得Bi(bi0,bi1)的,这就避免了用户秘密数多次参与运算而暴露出某些规律被发现,也就避免了被离线猜测攻击;2、即使任意多的用户一起共谋都无法求得群组管理器的两个秘密信息,这就有效的避免了共谋攻击;3、因用户的秘密信息是由两个数构成的,假设p为64bit的数,故其穷举空间为264×264,这就达到了对称密钥128bit的安全级别,如以每秒进行1000万亿次验证,则需要约1.08*1016年,这就有效的避免了穷举攻击。
附图说明
图1是本发明优选实施例的安全群组通信系统架构示意图;
图2是本发明优选实施例中群组管理器初始化后的状态示意图;
图3是本发明优选实施例中用户加入时的系统状态示意图;
图4是本发明优选实施例中用户加入时群组管理器的运算的过程;
图5是本发明优选实施例中用户加入时用户计算密钥的运算过程;
图6是本发明优选实施例中用户退出时的系统状态示意图;
图7是本发明优选实施例中用户退出时群组管理器的运算的过程;
图8是本发明优选实施例中用户退出时用户计算密钥的运算过程;
图9是本发明优选实施例中用户同时退出、加入时的系统状态示意图;
图10是本发明优选实施例中用户同时退出、加入时群组管理器的运算过程;
图11是本发明优选实施例中用户同时退出、加入时用户计算密钥的运算过程;
图12是本发明优选实施例中用户同时退出、加入后的系统状态示意图。
具体实施方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例
典型的安全群组通信系统架构如图1所示,该系统包括群组管理器(GroupControl,GC),以及4个群组用户U1、U2、U3及U4。群组管理器(GC)、各个用户通过网际网络连接。
如图2所示,在初始化之后群组管理器(GC)设定相关参数,其中实线框内为秘密保存参数,虚线框为公开参数。如图中二维点A-1和A0是秘密保存的,二元哈希函数h(·,·)和大素数p是公开的,实施例的整个过程都是在有限域GF(p)下进行的。
如图3所示,U1和U2已组成一个群组,此时群组准备接收U3加入。
其中U1作为第一个用户,它的加入过程:在群组管理器(GC)对U1用户进行认证之后,群组管理器给U1用户分发编号ID=1;同时要求U1用户选择二维点A1(a10,a11)并安全发送至群组管理器;其中a10≠a11,且a10≠0,a11≠0;
群组管理器存储点A1(a10,a11)并选择一个映射参数u0,将U1用户的秘密信息以及自身的秘密信息分别映射成空间中的点:
计算B-1(b-1,0,b-1,1)=(h(a-1,0,u0),h(a-1,1,u0)),B0(b00,b01)=(h(a00,u0),h(a01,u0)),B1(b10,b11)=(h(a10,u0),h(a11,u0));调整B-1、B0、B1的下标,因-1<0<1,得B0(b00,b01)=(h(a-1,0,u0),h(a-1,1,u0)),B1(b10,b11)=(h(a00,u0),h(a01,u0)),B2(b20,b21)=(h(a10,u0),h(a11,u0));
利用B0、B1、B2、构造方程组,求解该二维球面的中心C0(c00,c01):
( b 00 - c 00 ) 2 + ( b 01 - c 01 ) 2 = R 0 2 ( b 10 - c 00 ) 2 + ( b 11 - c 01 ) 2 = R 0 2 ( b 20 - c 00 ) 2 + ( b 21 - c 01 ) 2 = R 0 2
将方程组中的上式减去下式:
2 ( b 00 - b 10 ) c 00 + 2 ( b 01 - b 11 ) c 01 = b 00 2 + b 01 2 - b 10 2 - b 11 2 2 ( b 10 - b 20 ) c 00 + 2 ( b 11 - b 21 ) c 01 = b 10 2 + b 11 2 - b 20 2 - b 21 2
如果无解,即2(b00-b10)·2(b11-b21)-2(b10-b20)·2(b01-b11)=0,则选择新的u0并重新计算Bi(bi0,bi1)点、求解方程;
群组管理器组播二维球面的中心C0(c00,c01),映射参数u0
用户U1计算h(a10,u0)2+h(a11,u0)2-2h(a10,u0)c00-2h(a11,u0)c01,即求出群组密钥R0 2-||C0||2
至此U1已成功加入群组,由于U2与U3的加入过程相同,在此只对U3进行展开,不另外对U2的加入过程进行展开。
如图4所示,群组在接受U3加入时,群组管理器(GC)存储U3的秘密信息A3;随机选择新的映射参数u1,将A-1、A0、A1、A2、A3分别映射成空间中的点,然后求出中心C1
群组管理器(GC)选择映射参数u1,将A-1、A0、A1、A2、A3分别用二元哈希函数h(·,·)转换成B-1(b-1,0,b-1,1)=(h(a-1,0,u1),h(a-1,1,u1)),B0(b00,b01)=(h(a00,u1),h(a01,u1)),B1(b10,b11)=(h(a10,u1),h(a11,u1)),B2(b20,b21)=(h(a20,u1),h(a21,u1)),B3(b30,b31)=(h(a30,u1),h(a31,u1));调整B-1、B0、B1、B2、B3的下标,因-1<0<1<2<3,得B0(b00,b01)=(h(a-1,0,u1),h(a-1,1,u1)),B1(b10,b11)=(h(a00,u1),h(a01,u1)),B2(b20,b21)=(h(a10,u1),h(a11,u1)),B3(b30,b31)=(h(a20,u1),h(a21,u1)),B4(b40,b41)=(h(a30,u1),h(a31,u1)),再将B0、B1、B2、B3、B4扩展成空间中的点:由群组管理器(GC)秘密向量A-1和A0转换而来的B0和B1直接在末尾补零扩展成4维向量(b00,b01,0,0)和(b10,b11,0,0),由用户向量A1、A2及A3转换而来的B2、B3及B4分别扩展为(b20,b21,0,0)、(b30,0,b31,0)、(b40,0,0,b41);判断[2(b00-b10)·2(b11-b21)-2(b10-b20)·2(b01-b11)]·(-2b31)·(-2b41)=0,如果等式成立,则选择新的u1并重新计算上述各B点;
最后求出由扩展点组成的4维球面的中心C1(c10,c11,c12,c13):(b00,b01,0,0)、(b10,b11,0,0)、(b20,b21,0,0)、(b30,0,b31,0)、(b40,0,0,b41)代入方(x0-c10)2+(x1-c11)2+(x2-c12)2+(x3-c13)2=R1 2,可得
( b 00 - c 10 ) 2 + ( b 01 - c 11 ) 2 + ( 0 - c 12 ) 2 + ( 0 - c 13 ) 2 = R 1 2 ( b 10 - c 10 ) 2 + ( b 11 - c 11 ) 2 + ( 0 - c 12 ) 2 + ( 0 - c 13 ) 2 = R 1 2 ( b 20 - c 10 ) 2 + ( b 21 - c 11 ) 2 + ( 0 - c 12 ) 2 + ( 0 - c 13 ) 2 = R 1 2 ( b 30 - c 10 ) 2 + ( 0 - c 11 ) 2 + ( b 31 - c 12 ) 2 + ( 0 - c 13 ) 2 = R 1 2 ( b 40 - c 10 ) 2 + ( 0 - c 11 ) 2 + ( 0 - c 12 ) 2 + ( b 41 - c 13 ) 2 = R 1 2
将方程组中的上式减去下式:
2 ( b 00 - b 10 ) 2 ( b 01 - b 11 ) 0 0 2 ( b 10 - b 20 ) 2 ( b 11 - b 21 ) 0 0 2 ( b 20 - b 30 ) 2 b 21 - 2 b 31 0 2 ( b 30 - b 40 ) 0 2 b 31 - 2 b 41 c 10 c 11 c 12 c 13 = b 00 2 + b 01 2 - b 10 2 - b 11 2 b 10 2 + b 11 2 - b 20 2 - b 21 2 b 20 2 + b 21 2 - b 30 2 - b 31 2 b 30 2 + b 31 2 - b 40 2 - b 41 2
由上述条件可知[2(b00-b10)·2(b11-b21)-2(b10-b20)·2(b01-b11)]·(-2b31)·(-2b41)=0不成立,可以保证本方程有且只有一个解。
如图5所示,在群组管理器(GC)公布中心C1(c10,c11,c12,c13)和映射参数u1之后,U1、U2及U3计算自身对应的空间点,最后求出群组密钥。U1将自身存储的秘密信息A1(a10,a11)、自身ID-1以及群组管理器(GC)公布的信息代入公式得K1=R1 2-||C1||2=h(a10,u1)2+h(a11,u1)2-2h(a10,u1)c10-2h(a11,u1)c11,其中R1为图4中求解的4维球面的半径。U2和U3的密钥求解过程同U1的求解过程一致。
如图6所示,U1、U2、U3已组成一群组。其中U2即将退出群组。
如图7所示,在U2退出时,群组管理器(GC)删除U2的秘密信息A2;随机选择新的映射参数u2,将A-1、A0、A1、A3分别映射成空间中的点,然后求出中心C2
群组管理器(GC)选择映射参数u2,将A-1、A0、A1、A3分别用二元哈希函数(·,·)转换成B-1(b-1,0,b-1.1)=(h(a-1,0,u2),h(a-1,1,u2)),B0(b00,b01)=(h(a00,u2),h(a01,u2)),B1(b10,b11)=(h(a10,u2),h(a11,u2)),B3(b30,b31)=(h(a30,u2),h(a31,u2));调整B-1、B0、B1、B3的下标,因-1<0<1<3,得B0(b00,b01)=(h(a-1,0,u2),h(a-1,1,u2)),B1(b10,b11)=(h(a00,u2),h(a01,u2)),B2(b20,b21)=(h(a10,u2),h(a11,u2)),B3(b30,b31)=(h(a30,u2),h(a31,u2)),再将B0、B1、B2、B3扩展成空间中的点:由群组管理器(GC)秘密向量A-1和A0转换而来的B0和B1直接在末尾补零扩展成3维向量(b00,b01,0)和(b10,b11,0),由用户向量A1、A3转换而来的B2、B3分别扩展为(b20,b21,0)、(b30,0,b31);判断[2(b00-b10)·2(b11-b21)-2(b10-b20)·2(b01-b11)]·(-2b31)=0,如果等式成立,则选择新的u2并重新计算上述各B点;最后求出由扩展点组成的3维球面的中心C2(c20,c21,c22),由于C2与C1的求解过程相同,故在此不对C2的求解过程展开描述。
如图8所示,在群组管理器(GC)公布中心C2、映射参数u2及U2的ID之后,U1及U3计算自身对应的空间点,最后求出群组密钥:
首先U1、U3修改自身ID,具体指,U1自身的ID=1、U1对照所有退出用户的ID,所有退出用户的ID均比自己的ID大,所以e=0,ID=ID-0,U1修改后的编号ID为1-0=1;U3自身的ID=3、U3对照所有退出用户的ID,发现只有退出用户U2的ID比自己的ID小的,所以e=1,ID=ID-e,即U3修改后的编号ID为3-1=2。U1将自身存储的秘密信息A1(a10,a11)、自身ID=1以及群组管理器(GC)公布的信息代入公式得,
K1=R2 2-||C2||2=h(a10,u2)2+h(a11,u2)2-2h(a10,u2)c20-2h(a11,u2)c21,其中R2为图7中求解的3维球面的半径;U3将自身存储的秘密信息A3(a30,a31)、自身修改后ID=2以及群组管理器(GC)公布的信息代入公式得,
K3=h(a30,u2)2+h(a31,u2)2-2h(a30,u2)c20-2h(a31,u2)c22=R2 2-||C2||2
如图9所示,在U2退出之后,U1、U3已组成一群组。系统的状态即将发生新的变化。其中U3将退出群组,而U4将加入群组。
如图10所示,在U3退出群组而U4加入群组时,群组管理器(GC)首先将A3删除,存储A4并为其编号ID=3;然后选择新的映射参数u3,将A-1、A0、A1、A4分别映射成空间中的点,最后求出中心C3
群组管理器(GC)选择映射参数u3,将A-1、A0、A1、A4分别用二元哈希函数h(·,·)转换成B-1(b-1,0,b-1.1)=(h(a-1,0,u3),h(a-1,1,u3)),B0(b00,b01)=(h(a00,u3),h(a01,u3)),B1(b10,b11)=(h(a10,u3),h(a11,u3)),B4(b40,b41)=(h(a40,u3),h(a41,u3));调整B-1、B0、B1、B4的下标,因-1<0<1<4,得B0(b00,b01)=(h(a-1,0,u3),h(a-1,1,u3)),B1(b10,b11)=(h(a00,u3),h(a01,u3)),B2(b20,b21)=(h(a10,u3),h(a11,u3)),B3(b30,b31)=(h(a40,u3),h(a41,u3)),再将B0、B1、B2、B3扩展成空间中的点:由群组管理器(GC)秘密向量A-1和A0转换而来的B0和B1直接在末尾补零扩展成3维向量(b00,b01,0)和(b10,b11,0),由用户向量A1、A4转换而来的B2、B3分别扩展为(b20,b21,0)、(b30,0,b31);判断[2(b00-b10)·2(b11-b21)-2(b10-b20)·2(b01-b11)]·(-2b31)=0,如果等式成立,则选择新的u3并重新计算上述各B点;最后求出由扩展点组成的3维球面的中心C3(c30,c31,c32),由于C3与C1的求解过程相同,故在此不对C3的求解过程展开描述。
如图11所示,在群组管理器(GC)公布中心C3、映射参数u3及退出用户U3的ID之后,余下用户U1及U4计算群组密钥的过程:
U1自身的ID=1、U1对照所有退出用户的ID,比U1的ID=1小的退出用户数为0,所以e=0,ID=ID-0,即U1修改后的编号ID为1-0=1;将自身存储的秘密信息A1(a10,a11)、自身ID=1以及群组管理器(GC)公布的信息代入公式得,K1=R3 2-||C3||2=h(a10,u3)2+h(a11,u3)2-2h(a10,u3)c30-2h(a11,u3)c31,其中R3为图10中求解的3维球面的半径。U4自身的ID=3,U4对照所有退出用户的ID,发现只有退出用户U3的ID比自己的ID小的,所以e=1,ID=ID-e,即U4修改后的编号ID为3-1=2;将自身存储的秘密信息A4(a40,a41)、自身ID=2以及群组管理器(GC)公布的信息代入公式得,
K4=R3 2-||C3||2=h(a40,u3)2+h(a41,u3)2-2h(a40,u3)c30-2h(a41,u3)c32
图12所示,在接受U3的退出和U4的加入之后,U1、U3已组成一群组。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (6)

1.一种基于N维球面的群组密钥管理方法,其特征在于包括以下步骤:
(1)初始化:群组管理器选择自身秘密信息,设定群组有限域GF(p)和二元哈希函数h(·,·),并纳入第一个用户;其中GF(p)指定了群组运算所在的有限域,即所有的群组运算过程都在有限域GF(p)中进行,p为大素数;
(2)用户加入:群组管理器接受用户加入并为其编号,同时要求各新加入用户发送一秘密信息至群组管理器;群组管理器选择映射参数,将自身的秘密信息以及群组中各个用户的秘密信息分别映射成空间中的点,如果这些点不能唯一确定一球面则更改映射参数进行重映射;求解这些点组成的球面的中心;群组管理器公布中心、映射参数;群组各用户则根据自身编号和群组管理器公布的中心及映射参数求解对应的空间点,进而求出群组密钥;
(3)用户退出:群组管理器删除各退出用户的秘密信息,群组管理器选择映射参数,将自身的秘密信息以及余下各用户的秘密信息重新映射成空间中的点,如果这些点不能唯一确定一球面则更改映射参数进行重映射;求解这些点组成的球面的中心;群组管理器公布中心、映射参数、所有退出用户的编号;群组里的余下用户根据编号的大小依次从1开始重新排序,排序后用户的编号表示为1、2、3、4......;群组中的余下用户根据新编号和群组管理器公布的中心及映射参数求解所对应的空间点,进而求出群组密钥;
(4)用户同时加入、退出:群组管理器删除各退出用户的秘密信息,为各新加入用户编号,同时要求各新加入用户发送一秘密信息至群组管理器;群组管理器选择映射参数,将自身的秘密信息以及各用户的秘密信息重新映射成空间中的点,如果这些点不能唯一确定一球面则更改映射参数进行重映射;求解这些点组成的球面的中心;群组管理器公布中心、映射参数、所有退出用户的编号;群组里的所有用户根据编号的大小依次从1开始重新排序,排序后用户的编号表示为1、2、3、4......;群组里的用户根据新编号和群组管理器公布的中心及映射参数求解所对应的空间点,进而求出群组密钥。
2.根据权利要求1所述的一种基于N维球面的群组密钥管理方法,其特征在于:所述步骤(1)初始化,具体包括以下步骤:
(1.1)群组管理器选择秘密信息,即群组管理器选择2个不同二维点A-1(a-1,0,a-1,1)、A0(a00,a01)并秘密保存;选择二元哈希函数h(·,·)、大素数p并公开;其中p指定了群组运算所在的有限域-GF(p),即所有的群组运算过程都在有限 域GF(p)中进行,a-1,0、a-1,1、a00、a01为GF(p)中的整数;
(1.2)将第一个用户U1纳入群组,一般第一个用户为群组发起者:
a)在对用户进行认证之后,群组管理器给用户分发编号ID=1;同时要求该用户选择二维点A1(a10,a11)并安全发送至群组管理器;其中a10、a11为GF(p)中的整数,且a10≠a11,a10≠0,a11≠0;
b)群组管理器存储点A1(a10,a11)并选择一个映射参数u0,将用户的秘密信息以及自身的秘密信息分别映射成空间中的点:
计算Bj(bj0,bj1)=(h(aj-1,0,u0),h(aj-1,1,u0));若2(b00-b10)·2(b11-b21)-2(b10-b20)·2(b01-b11)=0,则重选映射参数u0并重新计算Bj;其中j=0、1、2,u0为随机整数,aj-1,0、aj-1,1为秘密信息Aj-1的两个维的值,bj0为aj-1,0经哈希函数作用之后的值,bj1为aj-1,1经哈希函数作用之后的值,由bj0、bj1组成的点Bj即为秘密信息Aj-1各个维经哈希函数作用之后的点;
c)利用Bj构造方程组,求解这些点组成的球面的中心C0(c00,c01):
将方程组中的上式减去下式:
Figure F2009100372338C00022
由b)中2(b00-b10)·2(b11-b21)-2(b10-b20)·2(b01-b11)≠0可保证上述方程组有唯一解;
d)群组管理器组播二维球面的中心C0(c00,c01),映射参数u0
e)用户U1计算群组密钥:
K1=R0 2-‖C02=h(a10,u0)2+h(a11,u0)2-2h(a10,u0)c00-2h(a11,u0)c01,其中R0是上述所求以C0为球面中心二维球面的半径,‖C02为C0的模的平方,即‖C02=c00 2+c01 2,K1是用户U1计算出的密钥,即群组密钥。
3.根据权利要求1所述的一种基于N维球面的群组密钥管理方法,其特征在于:所述步骤(2)用户加入,具体包括以下步骤:
(2.1)假设当前群组中有n-δ个用户,有δ个用户加入,其中(n-δ)≥1,δ≥1,则δ个用户加入后共有n个用户,群组管理器接受各新用户加入,并给各新用户一个编号ID,即(n-δ)+1、(n-δ)+2、......、(n-δ)+δ;同时要求各新加入用户各自选择一秘密信息,即一个二维点Ax(ax0,ax1)并安全发送至群组管理器,其 中ax0≠ax1,且ax0≠0,ax1≠0;群组管理器存储各二维点Ax(ax0,ax1),x=(n-δ)+1、(n-δ)+2、......、(n-δ)+δ;
(2.2)群组管理器选择映射参数u1,将自身以及各个用户的秘密信息分别映射成空间中的点:
群组管理器利用其所存储的全部秘密信息即二维点Ai(ai0,ai1),计算Bi(bi0,bi1)=(h(ai0,u1),h(ai1,u1));然后调整Bi点的下标,按其下标原本大小依次从0开始重新排序为Br,r=0、1、...、n+1;其中Ai(ai0,ai1)表示群组中的二维点,Bi(bi0,bi1)为Ai(ai0,ai1)各个维经二元哈希函数h(·,·)作用之后所得的点,bi0对应ai0经二元哈希函数作用之后的值,bi1对应ai1经二元哈希函数作用之后的值,i表示各个用户秘密值即二维点的下标,Br是经Bi调整其下标i,按其下标原本大小依次从0开始重新排序后得到的;
Figure F2009100372338C00031
则重新进行步骤(2.2);
(2.3)求解这些点组成的球面的中心C1(c10,c11,c12...,c1n):
扩展Br:当r=0、1时,将Br补零扩展成n+1维向量Vr(br0,br1,0...0);当r=2、3、...、n+1,将Br扩展成n+1维向量Vr(br0,0...0,br1,0...0),即在br0与br1间补r-2个0,br1之后补n+1-r个0,构造方程组:
Figure F2009100372338C00032
将方程组中的上式减去下式:
Figure F2009100372338C00033
由(2.2)可知
Figure F2009100372338C00034
故可保证上述方程组有唯一解;
(2.4)群组管理器组播该球面中心C1(c10,c11,c12...c1n)和映射参数u1; 
(2.5)各个用户计算密钥:所有用户通过公式计算群组的密钥Ki=R1 2-‖C12=h(ai0,u1)2+h(ai1,u1)2-2h(ai0,u1)c10-2h(ai1,u1)c1d,其中Ki表示秘密值下标为i的用户计算出的密钥,ai0、ai1对应该用户自身秘密信息--二维点中的两个数,d为该用户的编号,即ID,R1是上述所求以C1为球面中心的球面的半径,‖C12为C1的模的平方,即
Figure F2009100372338C00041
4.根据权利要求1所述的一种基于N维球面的群组密钥管理方法,其特征在于:所述步骤(3)用户退出,具体包括以下步骤:
(3.1)假设当前群组中有n+f个用户,有f个用户退出,其中(n+f)≥2,f≥1,则f个用户退出后群组中共有n个用户,并且群组管理器删去所有退出用户的秘密信息,即二维点;
(3.2)群组管理器选择映射参数u2,将自身的秘密信息以及各个余下用户的秘密信息分别映射成空间中的点:
群组管理器利用其所存储的全部秘密信息即二维点Ai(ai0,ai1),计算Bi(bi0,bi1)=(h(ai0,u2),h(ai1,u2));然后调整Bi点的下标,按其下标原本大小依次从0开始重新排序为Br,其中r=0、1、...、n+1;
Figure F2009100372338C00042
则重新进行步骤(3.2);
(3.3)求解这些点组成的球面的中心C2(c20,c21,c22...,c2n):
扩展Br:当r=0、1时,将Br补零扩展成n+1维向量Vr(br0,br1,0...0);当r=2、3、...、n+1时,将Br扩展成n+1维向量Vr(br0,0...0,br1,0...0),即在br0与br1间补r-2个0,br1之后补n+1-r个0,构造方程组:
将方程组中的上式减去下式: 
Figure F2009100372338C00051
由(3.2)可知故可保证上述方程组有唯一解;
(3.4)群组管理器组播C2、u2、所有退出用户的编号ID;
(3.5)各个余下用户计算密钥:群组中的余下用户将自己的编号与所有退出用户的编号进行比较,求出比自己编号小的退出用户个数,表示为e,群组中余下的用户各自修改自身编号:ID=ID-e,各个余下用户求出的e不一定相同,f≥e≥0;各个余下用户通过公式计算群组的密钥Ki=R2 2-‖C22=h(ai0,u2)2+h(ai1,u2)2-2h(ai0,u2)c20-2h(ai1,u2)c2d,其中Ki表示秘密值下标为i的用户计算出的密钥,ai0、ai1对应该秘密值下标为i的用户自身秘密信息即二维点中的两个数,此时d为该用户修改后的编号ID,R2是上述所求以C2为球面中心球面的半径,‖C22为C2的模的平方,即
Figure F2009100372338C00053
5.根据权利要求1所述的一种基于N维球面的群组密钥管理方法,其特征在于:所述步骤(4)用户同时退出、加入,具体包括以下步骤:
(4.1)假设当前群组中有n+w-v个用户,w个用户要退出群组,v个用户同时要加入群组,其中1≤w≤(n+w-v),1≤v,则在用户同时加入退出群组后,群组共有n个用户;
群组管理器删除各退出用户对应的秘密信息,即其二维点,并为新加入的用户按顺序编号,即(n+w-v)+1、(n+w-v)+2、......、(n+w-v)+v;同时要求各新加入用户各自选择一秘密信息,即一个二维点Ay(ay0,ay1)并安全发送至群组管理器,其中ay0≠ay1,且ay0≠0,ay1≠0;群组管理器存储各点Ay(ay0,ay1),y=(n+w-v)+1、(n+w-v)+2、......、(n+w-v)+v;
(4.2)群组管理器选择映射参数u3,将各个用户的秘密信息以及自身的秘密信息分别映射成空间中的点:
利用所存储的全部秘密信息即二维点Ai(ai0,ai1),计算Bi(bi0,bi1)=(h(ai0,u3),h(ai1,u3));然后调整Bi点的下标,按其下标原本大小依次从0开始重新排序为Br,其中r=0、1、...、n+1; 
Figure F2009100372338C00061
则重新进行步骤(4.2);
(4.3)求解这些点组成的球面的中心C3(c30,c31,c32...,c3n):
扩展Br:当r=0、1时,将Br补零扩展成n+1维向量Vr(br0,br1,0...0);当r=2、3、...、n+1时,将Br扩展成n+1维向量Vr(br0,0...0,br1,0...0),即在br0与br1间补r-2个0,br1之后补n+1-r个0,构造方程组:
将方程组中的上式减去下式:
由(4.2)可知
Figure F2009100372338C00064
故可保证上述方程组有唯一解;
(4.4)群组管理器组播C3、u3、所有退出用户的编号ID;
(4.5)各个用户计算密钥:群组中的用户将自己的编号与所有退出用户的编号进行比较,求出比自己编号小的退出用户个数,表示为e,群组中的用户各自修改自身编号:ID=ID-e,各个余下用户求出的e不一定相同,w≥e≥0;各个用户通过公式计算群组密钥Ki=R3 2-‖C32=h(ai0,u3)2+h(ai1,u3)2-2h(ai0,u3)c30-2h(ai1,u3)c3d,其中Ki表示秘密值下标为i的用户计算出的密钥,ai0、ai1对应该秘密值下标为i的用户自身秘密信息,即二维点中的两个数,此时d为该用户修改后的编号ID,R3是上述所求以C3为球面中心球面的半径,‖C32为C3的模的平方,即
Figure F2009100372338C00065
6.根据权利要求1所述的一种基于N维球面的群组密钥管理方法,其特征在于:当一段时间内没有发生密钥更新时,所述群组管理器为保证 系统的安全,重新选映射参数,将自身的秘密信息以及群组中各个用户的秘密信息分别映射成空间中的点,如果这些点不能唯一确定一球面则更改映射参数进行重映射;求解这些点组成的球面的中心;群组管理器公布中心、映射参数;群组各用户根据自身编号和群组管理器公布的中心及映射参数求解对应的空间点,进而求出群组密钥。 
CN2009100372338A 2009-02-18 2009-02-18 一种基于n维球面的群组密钥管理方法 Expired - Fee Related CN101488849B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN2009100372338A CN101488849B (zh) 2009-02-18 2009-02-18 一种基于n维球面的群组密钥管理方法
PCT/CN2009/071094 WO2010094183A1 (zh) 2009-02-18 2009-03-31 一种基于n维球面的群组密钥管理方法
DE112009004334.8T DE112009004334B8 (de) 2009-02-18 2009-03-31 Gruppenschlüssel-Managementverfahren auf Grundlage einer N-dimensionalen Hypersphäre
US12/744,480 US20110058668A1 (en) 2009-02-18 2009-03-31 Secure group key management approach based upon N-dimensional hypersphere
GB1101775.3A GB2479957B (en) 2009-02-18 2009-03-31 A group key management approach based upon N-dimensional hypersphere
HK11113330.9A HK1159348A1 (zh) 2009-02-18 2011-12-09 種基於 維球面的群組密鑰管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100372338A CN101488849B (zh) 2009-02-18 2009-02-18 一种基于n维球面的群组密钥管理方法

Publications (2)

Publication Number Publication Date
CN101488849A CN101488849A (zh) 2009-07-22
CN101488849B true CN101488849B (zh) 2010-12-01

Family

ID=40891543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100372338A Expired - Fee Related CN101488849B (zh) 2009-02-18 2009-02-18 一种基于n维球面的群组密钥管理方法

Country Status (6)

Country Link
US (1) US20110058668A1 (zh)
CN (1) CN101488849B (zh)
DE (1) DE112009004334B8 (zh)
GB (1) GB2479957B (zh)
HK (1) HK1159348A1 (zh)
WO (1) WO2010094183A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2774079A1 (en) * 2009-09-15 2011-03-24 Cassidian Limited Key generation for multi-party encryption
CN101753295B (zh) * 2009-12-24 2011-09-14 华南理工大学 一种基于线性几何的群组密钥管理方法
CN101848082B (zh) * 2010-05-27 2012-08-22 华南理工大学 一种基于线性几何的等级群组密钥管理方法
WO2011147092A1 (zh) * 2010-05-27 2011-12-01 华南理工大学 一种基于线性几何的等级群组密钥管理方法
CN103281175B (zh) * 2013-05-14 2015-11-04 电子科技大学 一种lkh密钥管理树动态平衡方法
CN103780382B (zh) * 2014-01-13 2017-01-18 华南理工大学 一种基于超球面的多变量公钥加密/解密系统及方法
CN103780383B (zh) 2014-01-13 2017-05-31 华南理工大学 一种基于超球面的多变量公钥签名/验证系统及方法
US9634836B1 (en) 2014-08-07 2017-04-25 Dane Charles Butzer Key shadowing
CN115879147B (zh) * 2022-11-30 2023-07-18 深圳市杰讯互联科技有限公司 一种基于大数据的计算机信息安全管理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1192751B1 (en) * 1999-07-06 2006-06-21 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
CN101057445A (zh) * 2004-11-16 2007-10-17 艾利森电话股份有限公司 选择性访问信息的系统中改进的密钥分发

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7333611B1 (en) * 2002-09-27 2008-02-19 Northwestern University Ultra-secure, ultra-efficient cryptographic system
US7539856B2 (en) * 2003-05-27 2009-05-26 Microsoft Corporation Distributed authentication in a protocol-based sphere of trust in which a given external connection outside the sphere of trust may carry communications from multiple sources
CN101291214B (zh) * 2007-04-19 2011-08-10 华为技术有限公司 一种生成组密钥的方法、系统和设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1192751B1 (en) * 1999-07-06 2006-06-21 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
CN101057445A (zh) * 2004-11-16 2007-10-17 艾利森电话股份有限公司 选择性访问信息的系统中改进的密钥分发

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hai-Tao Xie et al.A M-dimensional Sphere Multicast Rekeying Scheme.《2009 International Conference on Communications and Mobile Computing》.2009,418-422. *
张华等.基于几何方法的门限秘密共享方案.《计算机工程》.2008,第34卷(第8期),130-131. *

Also Published As

Publication number Publication date
GB2479957A (en) 2011-11-02
DE112009004334T5 (de) 2012-08-09
GB2479957B (en) 2014-09-03
DE112009004334B8 (de) 2014-01-23
CN101488849A (zh) 2009-07-22
DE112009004334B4 (de) 2013-09-26
WO2010094183A1 (zh) 2010-08-26
DE112009004334T9 (de) 2012-11-08
US20110058668A1 (en) 2011-03-10
HK1159348A1 (zh) 2012-07-27
GB201101775D0 (en) 2011-03-16

Similar Documents

Publication Publication Date Title
CN101488849B (zh) 一种基于n维球面的群组密钥管理方法
CN111512589B (zh) 用于利用spdz的快速安全多方内积的方法
Li et al. Quantum blockchain: a decentralized, encrypted and distributed database based on quantum mechanics
CN106982203A (zh) 基于区块链技术的鲁棒的atm网络系统及其信息处理方法
CN104851071B (zh) 一种基于三维混沌系统的数字图像加密方法
CN105100083B (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
Li et al. A quantum voting protocol using single-particle states
CN107276766B (zh) 一种多授权属性加解密方法
CN106059768A (zh) 抵抗重加密密钥泄露的属性可撤销加密系统及方法
CN109361644A (zh) 一种支持快速搜索和解密的模糊属性基加密方法
CN108183791A (zh) 应用于云环境下的智能终端数据安全处理方法及系统
Huang et al. Chaotic image encryption algorithm based on circulant operation
CN114329621A (zh) 一种区块链跨链交互数据完整性验证方法
Wang et al. Attribute-based equality test over encrypted data without random oracles
CN109450629A (zh) 基于区块链随机数产生方法
CN112382376A (zh) 基于区块链的医疗器械管理追溯系统
CN102222188A (zh) 一种信息系统用户密码的生成方法
He et al. Efficient identity-based proxy re-encryption scheme in blockchain-assisted decentralized storage system
Sikora et al. Strong connections between quantum encodings, nonlocality, and quantum cryptography
CN106612274A (zh) 云计算中一种基于同态性的共享数据验证算法
CN110535630A (zh) 密钥生成方法、装置及存储介质
Chaudhary et al. A module lattice based construction of post quantum secure blockchain architecture
CN101753295B (zh) 一种基于线性几何的群组密钥管理方法
CN107679408A (zh) 安全云存储中的正则语言检索系统
CN116204925A (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
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Tang Shaohua

Inventor after: Yang Zhimin

Inventor after: Lu Borong

Inventor before: Yang Zhimin

Inventor before: Tang Shaohua

Inventor before: Lu Borong

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: YANG ZHIMIN TANG SHAOHUA LU BORONG TO: TANG SHAOHUA YANG ZHIMIN LU BORONG

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: 20101201

Termination date: 20190218