CN113346993B - 一种基于隐私保护的分层动态群组密钥协商方法 - Google Patents

一种基于隐私保护的分层动态群组密钥协商方法 Download PDF

Info

Publication number
CN113346993B
CN113346993B CN202110641379.4A CN202110641379A CN113346993B CN 113346993 B CN113346993 B CN 113346993B CN 202110641379 A CN202110641379 A CN 202110641379A CN 113346993 B CN113346993 B CN 113346993B
Authority
CN
China
Prior art keywords
terminal member
attribute
group
key
verification
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.)
Active
Application number
CN202110641379.4A
Other languages
English (en)
Other versions
CN113346993A (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.)
Zhengzhou University of Light Industry
Original Assignee
Zhengzhou University of Light Industry
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 Zhengzhou University of Light Industry filed Critical Zhengzhou University of Light Industry
Priority to CN202110641379.4A priority Critical patent/CN113346993B/zh
Publication of CN113346993A publication Critical patent/CN113346993A/zh
Application granted granted Critical
Publication of CN113346993B publication Critical patent/CN113346993B/zh
Active 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提出了一种基于隐私保护的分层动态群组密钥协商方法,步骤为:对群组密钥协商网络域内的协议参数进行初始化,生成认证中心和终端成员的公/私钥对,终端成员进行隐藏属性的身份认证,认证成功后,终端成员根据自己属性权值计算加密密钥和解密密钥,对密钥的一致性进行验证,终端成员还可以向认证中心申请变更属性以参与高层或者低层的群组密钥协商。本发明采用隐藏属性的身份认证技术,在身份认证的同时能够避免个人隐私信息的泄露,同时根据属性权值设置阈值权限,以不同的保密性参与群组通信,提高了数据通信的可靠性,采用身份认证和属性权值匹配的双认证机制,很大程度上提高了系统的安全性,使得群组密钥协商更加灵活、高效和实用。

Description

一种基于隐私保护的分层动态群组密钥协商方法
技术领域
本发明涉及信息安全的技术领域,尤其涉及一种基于隐私保护的分层动态群组密钥协商方法。
背景技术
随着大数据、人工智能以及物联网等科技技术的不断深入发展,为人们的日常生活提供了便利,为国家和社会的发展提供了动力。这些技术的核心是多方实体间安全的资源共享、信息交换和传输。与之同时,大量数据的交换和处理也带来了一系列的安全隐患,如何在大量数据交换时保证数据不被泄露,如何保证通信实体的身份信息不被泄露,这就给信息安全技术提出了一个巨大的挑战。
互联网作为纽带将各行各业联系到一起,人们足不出户就可以享受购物、视频、会议等体验。随之而来的是分组应用、分组协议的大量增加,例如群组聊天、视频会议、在线文档等等。群组密钥协商使参与通信的成员协商出一个会话密钥,对传输的信息及资源进行加密处理,从而实现安全可靠的通信。
但是现有的群组密钥协商技术通过基于身份的认证容易出现个人身份信息泄露的情况,同时现有的群组密钥协商计算量较大,而且通信消耗过多,对于一些低能量终端节点的应用场景非常不适用。
目前,针对基于隐私保护的分层动态群组密钥协商方法的研究尚未出现,一系列的挑战性问题有待解决,包括通信过程中群组密钥协商策略的设置、身份认证及个人隐私保护问题等方面的工作尚无先例。
发明内容
针对现有群组密钥协商方法进行身份认证过程中,容易暴露个人身份信息,无法灵活地保护敏感数据的技术问题,本发明提出一种基于隐私保护的分层动态群组密钥协商方法,采用隐藏属性的身份认证技术在群组密钥协商的身份认证过程中实现身份认证的同时又能很好的保护个人隐私,同时减少了每个参与者的计算和通信开销,采用身份认证和属性权限参数匹配,避免了不具有权限的终端的合谋攻击。
为了达到上述目的,本发明的技术方案是这样实现的:一种基于隐私保护的分层动态群组密钥协商方法,其步骤为:
步骤一:群组密钥协商网络中域内协议参数的初始化:认证中心CA和各终端成员生成各自的公/私钥对;
步骤二:隐藏属性的身份认证
A)认证中心CA选择一系列两两互素的正整数并将正整数和网络属性集中的属性以及属性序列号广播给域内的所有终端成员;
B)终端成员运用各自的有序的网络属性集中的属性计算认证所需要的中间参数,并将中间参数发送给认证中心CA;
C)认证中心CA接收到各终端成员发送的消息后,为各终端成员选择属性序列号对应的属性并通过中国剩余定理验证各终端成员的身份,如果验证通过,认证中心CA计算出属性权限参数和签名,并将属性权限参数、签名和公钥发送给认证后的终端成员;
D)各个终端成员收到认证中心CA发送的消息后,终端成员计算出属性权值,然后各终端成员验证认证中心CA的身份以及属性权值的正确性,如果验证通过,各终端成员获得与属性相对应的属性权值,各终端成员身份认证成功;
步骤三:群组的密钥协商;
F)每个参与密钥协商的终端成员计算出群组的加密密钥;
G)每个终端成员从认证中心CA获取属性序列号对应的网络属性参数计算解密密钥;
H)参与群组密钥协商的所有终端成员计算得到解密密钥之后,群组中的任意一个终端成员计算验证自身身份和解密密钥所需的中间参数,然后将中间参数和自己的公钥发送给群组的其它终端成员;
I)群组中其它终端成员收到信息后,验证信息发送者的身份,如果验证通过,信息接收者计算验证解密密钥所需的中间参数并对解密密钥是否一致进行验证,如果验证通过,则群组中所有成员的解密密钥是正确的,如果不一致,信息接收者广播错误消息,同时群组中的终端成员重新计算解密密钥。
还包括步骤四:终端成员参与不同层次群组的密钥协商:
(a)参与高层次群组的密钥协商,实现方法为:
J)处于低层次群组的终端成员参与高层次群组的密钥协商时,低层次群组的终端成员从认证中心CA获得高层次群组的属性序列号,然后与自己的属性序列号相交获得不相交的属性序列后,低层次群组的终端成员计算属性权限参数、属性权值、不相交的属性序列、中间变量以及公钥发送给认证中心CA;
K)认证中心CA收到消息后,计算验证终端成员身份所需的中间参数并验证终端成员的身份和属性,如果验证通过,认证中心CA计算新的属性权限参数并将新的属性权限参数和公钥发送给终端成员;
L)终端成员收到来自认证中心CA的消息后,首先验证认证中心CA的身份,如果验证通过,则用新的属性权限参数替换原来的属性权限参数并计算新的属性权值,然后按照步骤三参与群组的密钥协商;
(b)参与低层次群组的密钥协商,实现方法为:
M)当处于高层次群组的终端成员参与低层次群组的密钥协商时,高层次群组的终端成员从认证中心CA获得低层次群组的属性序列号,然后终端成员与自己原有的属性序列号取交集得到不参与低层次群组的密钥协商的属性序列,然后计算验证自己身份所需的中间参数并将不参与较低层次群组的密钥协商的属性序列、中间参数以及公钥发送给认证中心CA;
N)认证中心CA收到终端成员发送的消息后,计算验证终端成员身份所需的中间参数并验证终端成员的身份和属性,如果验证通过,认证中心CA计算属性权限参数,然后认证中心CA将属性权限参数和公钥发送给终端成员;
O)终端成员收到消息后验证认证中心CA的身份,如果验证通过,终端成员用新的属性权限参数替换原有的属性权限参数并计算属性权值,然后按照步骤三参与群组的密钥协商。
所述步骤一中认证中心CA和各终端成员生成各自的公/私钥对的方法为:
(1)认证中心CA随机选择一个正整数
Figure BDA0003107937070000031
作为私钥,并计算公钥PKCA=SKCAg1,认证中心CA将(SKCA,PKCA)作为系统的公/私钥对;
(2)域内的每个终端成员ul,i选择一个随机正整数
Figure BDA0003107937070000032
计算终端成员ul,i的私钥
Figure BDA0003107937070000033
和终端成员ul,i的公钥;
其中,g1为加法群G1的生成元,
Figure BDA0003107937070000034
表示阶为q的整数集,q为加法群G1的素数阶,1≤l≤L,1≤i≤n,n为域内终端成员的个数,L为群组密钥协商中群组的个数,
Figure BDA0003107937070000035
为终端成员ul,i的身份标识,
Figure BDA0003107937070000036
是哈希散列函数。
所述步骤二中隐藏属性的身份认证的实现方法为:
A)认证中心CA为域内每一个终端成员随机选择一系列与属性属性集Attr={A1,A2,...,Aν1,...,AR}对应的正整数{p1,p2,...,pv1,...,pR},认证中心CA将信息{(A1,S1,p1),(A2,S2,p2),...,(AR,SR,pR)}在域内广播;其中,任意两个正整数pi,pj互素,Av1为属性属性集中的第v1个网络属性,1≤v1≤R,pv1为网络属性Av1对应的网络属性参数,R∈N*表示网络属性的数量,N*表示正整数,Sv1为网络属性Av1对应的属性序列号;
B)带有有序的网络属性集attrl,i={al,i,1,al,i,2,...,al,i,r}的每一个终端成员ul,i随机选择两个正整数
Figure BDA0003107937070000041
终端成员ul,i计算中间变量οl,i=λl,ig1l,i,1=γl,iH1(al,i,1)+οl,il,i,2=γl,iH1(al,i,2)+οl,i,...,θl,i,r=γl,iH1(al,i,r)+οl,i
Figure BDA0003107937070000042
和hl,i,v=H1l,i,v),然后终端成员ul,i将消息{(θl,i,1,hl,i,1,S1),(θl,i,2,hl,i,2,S2),...,(θl,i,r,hl,i,r,Sr),ηl,i}发送给认证中心CA;其中,正整数γl,il,i≠1,中间变量οl,i<H1(al,i,v),1≤v≤r,θl,i,1l,i,2,...,θl,i,r、ηl,i、hl,i,v和οl,i表示终端成员ul,i注册所需的中间变量,g1为加法群G1的生成元,属性集
Figure BDA0003107937070000043
r∈N*且属性al,i,r-1<al,i,r,r≤R为终端成员ul,i的属性的个数,al,i,v为终端成员ul,i的第v个属性,
Figure BDA0003107937070000044
表示终端成员ul,i的私钥;H1(·)是哈希散列函数,||是连接符号;
C)认证中心CA接收终端成员ul,i发送的消息{(θl,i,1,hl,i,1,S1),(θl,i,2,hl,i,2,S2),...,(θl,i,r,hl,i,r,Sr),ηl,i}后,认证中心CA从网络属性集{A1,A2,...,AR}中选择与属性序列号{S1,S2,...,Sr}相对应的网络属性{A1,A2,...,Ar},然后认证中心CA通过验证等式
Figure BDA0003107937070000045
Figure BDA0003107937070000046
βl,i,1=βl,i,2=...=βl,i,r是否成立验证终端成员ul,i的属性,如果所有的等式相等,则证明中间变量θl,i,v来自终端成员ul,i并且其未被篡改;然后认证中心CA通过验证等式
Figure BDA0003107937070000047
是否相等验证ul,i的属性和身份,如果验证通过,认证中心CA选择一系列与属性集attrl,i={al,i,1,al,i,2,...,al,i,r}对应的随机数
Figure BDA0003107937070000048
并且计算属性权限参数χl,i,ν=ιl,i,νβl,i,ν和签名δl,i=SKCA(H2l,i,1g1||ιl,i,2g1||...||ιl,i,rg1))g1;最后,认证中心CA将消息{PKCAl,i,(χl,i,1l,i,2,...χl,i,r)}发送给注册的终端成员ul,i;其中,al,i,v为终端成员ul,i的属性,χl,i,v为终端成员ul,i的第v个属性的属性权限参数,1≤v≤r,δl,i是终端成员ul,i注册所需的签名,PKCA为认证中心CA的公钥,SKCA为认证中心CA的私钥,mod为取余函数,e(·)是可计算的双线性映射函数,
Figure BDA0003107937070000051
为终端成员ul,i的公钥,βl,i,ν为验证终端成员ul,i的属性所需的中间变量,H2(·)是哈希散列函数;
D)终端成员ul,i接收认证中心CA发送的信息{PKCAl,i,(χl,i,1l,i,2,...χl,i,r)}后,终端成员ul,i计算属性权值Tl,i,1=λl,i -1χl,i,1=ιl,i,1g1,Tl,i,2=λl,i -1χl,i,2=ιl,i, 2g1,...,Tl,i,r=λl,i -1χl,i,r=ιl,i,rg1和中间变量μl,i=H2(Tl,i,1||Tl,i,2...||Tl,i,r);然后终端成员ul,i通过验证等式e(δl,i,g1)=e(μl,ig1,PKCA)是否成立验证认证中心CA的身份和属性al,i,v对应的属性权值Tl,i,v的正确性,如果等式成立,终端成员ul,i获得与每一个属性al,i,v相对应的属性权值Tl,i,v,终端成员ul,i注册成功;如果等式不成立,终端成员ul,i注册失败;其中,Tl,i,1,Tl,i,2,...,Tl,i,r表示终端成员ul,i的属性权值,μl,i表示验证认证中心CA身份所需的中间变量。
所述步骤三中群组的密钥协商的方法为:(1)参与群组密钥协商的终端成员u2,i根据属性权值{T2,i,1,T2,i,2,...,T2,i,ν,...,T2,i,r}计算中间变量ρ2,i,1=T2,i,1g1并且终端成员u2,i使用属性权值{T2,i,1,T2,i,2,...,T2,i,r}计算中间变量
Figure BDA0003107937070000052
计算加密密钥
Figure BDA0003107937070000053
其中,g1为加法群G1的生成元,
Figure BDA0003107937070000054
表示终端成员u2,i的私钥;
(2)各终端成员u2,i从认证中心CA中获取用于加/解密所需的网络属性集中的属性所对应的网络属性参数(p1,p2,...,pr)计算出群组解密密钥
Figure BDA0003107937070000055
计算如下:终端成员u2,i通过中国剩余定理计算
Figure BDA0003107937070000056
求解可得到一个唯一的解
Figure BDA0003107937070000057
则群组的解密密钥
Figure BDA0003107937070000058
其中,v=1,2,3,...,r,
Figure BDA0003107937070000059
x2,i表示计算解密密钥所需的中间变量,mod是取余运算;
(3)参与群组密钥协商的所有终端成员计算解密密钥之后,任意终端成员u2,i计算中间变量
Figure BDA00031079370700000510
Figure BDA00031079370700000511
然后终端成员u2,i将消息
Figure BDA0003107937070000061
广播给群组内的所有终端成员;其中,π2,i为验证密钥一致性所需的中间变量,μ'2,i表示验证终端成员u2,i身份所需要的中间变量;
(4)群组内的其它终端成员收到终端成员u2,i发送的消息
Figure BDA0003107937070000062
后,群组内任意其它终端成员u2,k计算中间变量
Figure BDA0003107937070000063
并且通过验证等式
Figure BDA0003107937070000064
是否成立验证终端成员u2,i的身份,如果验证通过,终端成员u2,k计算中间变量
Figure BDA0003107937070000065
并且通过验证π2,k=π2,i是否成立验证解密密钥
Figure BDA0003107937070000066
的正确性,如果验证通过,则说明群组内所有终端成员的解密密钥是正确的,如果验证不通过,则重新协商密钥并广播错误报告;其中,k≠i,
Figure BDA0003107937070000067
表示验证终端成员u2,i身份所需要的中间变量,π2,k表示验证密钥正确性所需要的中间变量。
所述步骤四中参与高层次群组的密钥协商的实现方法为:
J)当处于L2层群组且带有属性序列号
Figure BDA0003107937070000068
的终端成员u2,j想要参与L1层群组的群组密钥协商,终端成员u2,j从认证中心CA获得L1层群组的属性序列号
Figure BDA0003107937070000069
然后终端成员u2,j将新获得的属性序列号与原有的属性序列号取交集,交集
Figure BDA00031079370700000610
终端成员u2,j的属性序列号与L1层群组的属性序列号不相交的集合AS1={Sν,S2,ν,S2,ν+1,S2,ν+2},然后终端成员u2,j获得属性权限参数{χ2,j,ν2,j,ν+12,j,ν+2}并且计算属性权值
Figure BDA00031079370700000611
和中间变量
Figure BDA00031079370700000612
然后将消息
Figure BDA00031079370700000613
发送给认证中心CA;其中,L2层群组为低于L1层群组的层次,
Figure BDA00031079370700000614
表示L1层群组的属性序列号集,χ2,j,ν为终端成员u2,j的第v个属性权限参数,
Figure BDA00031079370700000615
表示终端成员u2,j的私钥,H2(·)是哈希散列函数;
K)认证中心CA收到终端成员u2,j发送的消息
Figure BDA00031079370700000616
后,认证中心CA计算中间变量
Figure BDA00031079370700000617
且通过验证等式
Figure BDA0003107937070000071
是否成立验证终端成员u2,j的身份,如果验证通过,认证中心CA计算中间变量χ'1,i,v=ι1,i,vβ2,j,v1,i,vβ2,j,v=ι1,i,vβ2,j,v+1=ι1,i,vβ2,j,v+2)并且发送消息{χ'1,i,v2,j,ν2,j,ν+12,j,ν+2,PKCA}给终端成员u2,j;其中,
Figure BDA0003107937070000072
表示验证终端成员u2,j身份所需要的中间变量,PKCA表示认证中心CA的公钥;
L)终端成员u2,j接收到认证中心CA发送的消息{χ'1,i,v2,j,ν2,j,ν+12,j,ν+2,PKCA}后,终端成员u2,j通过验证等式e(δ2,j,g1)=e(μ2,jg1,PKCA)是否成立验证认证中心CA的身份,如果验证通过,终端成员u2,j用中间变量χ'1,i,v替代{χ2,j,ν2,j,ν+12,j,ν+2}并且计算属性权值
Figure BDA0003107937070000073
终端成员u2,j获得新的属性权值集合{T2,j,1,...T2,j,v-1,T2,j,v+3,...T2,j,r,T'1,i,v},L2层群组的终端成员u2,j的属性序列号与L1层群组的终端成员u1,i属性序列号的交集
Figure BDA0003107937070000074
因此属性权值{T2,j,1,...T2,j,v-1,T2,j,v+3,...T2,j,r}与{T1,i,1,...T1,i,v-1,T1,i,v+1,...,T1,i,r}相等,然后按照步骤三进行群组L1的密钥协商。
所述步骤四中参与低层次群组的密钥协商的实现方法为:
M)当处于高层级的L1层群组且带有属性序列号
Figure BDA0003107937070000075
的终端成员u1,i想要参与L2层群组的群组密钥协商,终端成员u1,i从认证中心CA获得L2层群组的属性序列号
Figure BDA0003107937070000076
终端成员u1,i将新获得的属性序列号与原有的属性序列号取交集,交集
Figure BDA0003107937070000077
终端成员u1,i的属性序列号与L2层群组属性序列号不相交的集合AS2={S2,ν,S2,ν+1,S2,ν+2},然后终端成员u1,i计算中间变量
Figure BDA0003107937070000078
然后将消息
Figure BDA0003107937070000079
发送给认证中心CA;其中,
Figure BDA00031079370700000710
L2层群组为低于L1层群组的层次,
Figure BDA00031079370700000711
表示L2层群组的属性序列号,AS0表示L1层群组的属性序列号与L2层的群组属性序列号的交集,
Figure BDA00031079370700000712
表示终端成员u1,i的私钥,H2(·)是哈希散列函数;
N)认证中心CA收到终端成员u1,i发送的消息
Figure BDA00031079370700000713
后,计算中间变量
Figure BDA00031079370700000714
并且通过验证等式
Figure BDA00031079370700000715
是否成立验证终端成员u1,i的身份和属性,如果相等,认证中心CA计算中间变量χ'2,j,v=ι2,j,vβ1,i,v,χ'2,j,v+1=ι2,j,v+1β1,i,v,χ'2,j,v+2=ι2,j,v+2β1,i,v并发送新的属性权限参数{χ1,i,ν,χ'2,j,v,χ'2,j,v+1,χ'2,j,v+2,PKCA}给终端成员u1,i;其中,
Figure BDA0003107937070000081
表示验证终端成员u1,i身份所需的中间变量,χ2,j,ν为终端成员u2,j的第v个属性权限参数;
O)终端成员u1,i收到认证中心CA发送的消息后,通过验证等式e(δ1,i,g1)=e(μ1, ig1,PKCA)是否成立验证认证中心CA的身份,如果验证通过,终端成员u1,i用属性权限参数集合{χ'2,j,v,χ'2,j,v+1,χ'2,j,v+2}替换χ1,i,ν并且计算新的属性权值
Figure BDA0003107937070000082
终端成员u1,i获得新的属性权值集合{T1,i,1,...T1,i,v-1,T1,i,v+1,...T1,i,r,T'2,j,v,T'2,j,v+1,T'2,j,v+2},L2层群组的终端成员u2,j的属性序列号与L1层群组的终端成员u1,i属性序列号的交集
Figure BDA0003107937070000083
属性权值集合{T2,j,1,...T2,j,v-1,T2,j,v+3,...T2,j,r}与{T1,i,1,...T1,i,v-1,T1,i,v+1,...,T1,i,r}相等,然后按照步骤三进行L1层群组的密钥协商。
所述等式
Figure BDA0003107937070000084
的验证方法为:
Figure BDA0003107937070000085
等式e(δl,i,g1)=e(μl,ig1,PKCA)的验证方法为:
Figure BDA0003107937070000091
所述等式
Figure BDA0003107937070000092
的验证方法为:
Figure BDA0003107937070000093
等式
Figure BDA0003107937070000094
的验证方法为:
Figure BDA0003107937070000095
等式e(δ2,j,g1)=e(μ2,jg1,PKCA)的验证方法为:
Figure BDA0003107937070000096
所述等式
Figure BDA0003107937070000097
的验证方法为:
Figure BDA0003107937070000101
等式e(δ1,i,g1)=e(μ1,ig1,PKCA)的验证方法为:
Figure BDA0003107937070000102
与现有技术相比,本发明的有益效果:群组内的终端成员在进行群组密钥协商前通过隐藏属性的身份认证技术进行身份认证;确认每个终端成员的身份后,计算属性权值进而计算出群组的加密密钥和解密密钥,然后完成密钥一致性验证,同时,成员可以通过申请参与高层或者低层的群组密钥协商。本发明群组内终端成员采用非对称加密算法协商密钥,然后通过一致性验证来保证密钥的可靠性,最后通过群组密钥对通信数据进行加密和解密,进而实现了群组成员之间安全可靠的通信;采用隐藏属性的身份认证技术在群组密钥协商之前的身份认证过程中实现个人隐私保护及身份认证的效果;在终端成员注册的过程中,除了对终端成员进行身份认证外,每个终端成员还获得相应的属性权重。根据这些属性的权值设置阈值权限,并根据终端成员的阈值权限分成不同的密钥协商群组,以不同的保密性参与群组通信,提高了数据通信的安全性。同时满足一定条件的低层群组的终端成员可以向认证中心申请替换获得高层级属性权值参与高层群组的通信,高层群组的终端成员也可以向认证中心申请替换获得低层级属性权值参与低层群组的通信,既可以保障通信数据的安全性,又可以很好地保护个人隐私,使得各领域中信息资源共享更加灵活、高效和实用,具有重要的领域研究意义和商业应用价值。本发明用一组属性来描述终端成员的身份,认证过程中能够很好的保护终端成员的隐私,且计算量和通信消耗较低能够满足更多的应用场景;采用分层群组密钥协商,能够满足不同保密等级会话的需要。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的流程示意图。
图2为本发明实施例1的分层群组密钥协商示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对互联网通信复杂环境下,网络中的各移动终端间在信息安全通信时涉及到数据资源的保密性、完整性和抗泄露性的问题;同时,在互联网中,移动终端可以随时随地的访问互联网造成通信环境人员复杂、随机性等问题,在此背景下,本发明提出一种基于隐私保护的分层动态群组密钥协商方法,如图1所示,实现群组内通信信息的安全共享。首先,群组内的认证中心CA随机选择自己的私钥,并计算对应的公钥,群组内的各终端成员随机选择正整数,然后计算对应的私钥并利用加法群的生成元计算出自己的公钥;其次,认证中心CA为群组内成员的属性选择一系列的正整数并和属性、属性序列号一起广播发送给群组内所有的终端成员;每一个终端成员运用各自的有序的属性集中的属性和随机选择的两个正整数计算终端成员认证所需要的中间参数,然后将这些中间参数发送给认证中心CA,认证中心CA验证各终端成员的身份,然后计算相应的属性权限参数和签名,认证中心CA将签名、属性权限参数和公钥发送给各终端成员,各终端成员接收到消息之后计算出自己的属性所对应的属性权值,然后验证认证中心CA的身份和属性权值的正确性,如果验证通过,各终端成员认证完成。然后,终端成员根据自己获得的属性权值计算加密秘钥和解密密钥,终端成员计算验证密钥正确性所需的中间参数并将这些中间参数广播给群组内的其他终端成员,其他成员收到消息后,计算中间参数并验证消息发送者的身份,如果匹配,且所计算的参数值相等,则所计算的密钥是正确的,如果参数值不相等则广播错误消息并重新协商密钥;终端成员也可以根据自己的实际情况申请加入高层群组或者低层群组参与群组密钥协商。
1.本发明所涉及的理论基础知识和相关定义
1.1双线性映射问题
定义1.双线性映射:设G1为加法群,其生成元为g1,即G1=<g1>,G2为乘法循环群,加法群G1和乘法循环群G2具有共同的大素数阶q,
Figure BDA0003107937070000121
是安全参数,且加法群G1和乘法循环群G2上的离散对数是困难的,加法群G1和乘法循环群G2是一对双线性群,e是可计算的双线性映射,且e:G1×G1→G2,其具有如下性质:
性质1.非退化性:存在生成元ω,ρ∈G1,使得e(ω,ρ)≠1。
性质2.可计算性:存在有效的算法,对于生成元ω,ρ∈G1可计算e(ω,ρ)。
推理1.对所有的生成元ρ12,ω∈G1,有e(ρ12,ω)=e(ρ1,ω)e(ρ2,ω)。
1.2计算复杂性问题
定义1.离散对数问题(DLP):对于等式Y=aQ,其中,生成元Y,Q∈G1,参数
Figure BDA0003107937070000122
如果参数a和生成元Q已知,很容易计算出生成元Y;但是已知生成元Q和生成元Y,计算出参数a的概率在多项式时间内可以忽略不计;其中,
Figure BDA0003107937070000123
表示阶为q的整数集。
定义2.Diffie-Hellman问题逆运算(ICDH):给出g1,ag1和abg1,对于参数
Figure BDA0003107937070000124
计算出(ab/a)g1
1.3中国剩余定理
假设存在一系列互素正整数序列d1,d2,...,dn,其中,d=d1d2...dn,Di=d1d2...di-1di+1...dn;给定如下方程组
Figure BDA0003107937070000125
则其拥有唯一解
Figure BDA0003107937070000126
其中,yi·Di moddi=1,i=1,2,...,n,li表示第i个正整数,yi表示计算方程组唯一解的中间变量。
实施例1
复杂多方通信情况下,群组内的认证中心CA需要对通信的终端成员进行身份认证,但在提供身份信息时,身份信息容易泄露或者被窃取。出于安全考虑,通信实体多方认证的同时,需要对个人身份隐私进行保护。在信息共享时,还要保障通信信息的保密性、完整性和抗泄露性,要求符合权限策略的成员才能进行通信。针对此应用背景下,本发明一种基于隐私保护的分层动态群组密钥协商方法,如图1所示,其步骤如下:①参与群组密钥协商的终端成员首先进行参数初始化,分别产生各自的公/私钥对;②群组内的终端成员隐藏属性认证:在进行群组密钥协商之前对群组内的终端成员进行隐藏属性的身份认证,并根据终端成员各自的属性集计算出相应的属性权值;③群组密钥协商:各终端成员根据自身的属性权值计算加密密钥和解密密钥,在完成计算之后对密钥的正确性进行验证,如果验证通过则协商完成,如果验证未通过则广播错误信息,重新协商密钥;④终端成员根据自身需求可向认证中心CA请求替换属性以参与高层次或者低层次的群组密钥协商。整个系统的分层群组密钥协商示意图,如图2所示。本发明的具体步骤如下:
步骤一:群组密钥协商网络中域内协议参数的初始化:认证中心CA和各终端成员生成各自的公/私钥对。
假设参加密钥协商的L组n个成员的实体集合表示为S={S1,S2,…,SL},其中,S1={u1,1,u1,2,…,u1,n}、S2={u2,1,u2,2,…,u2,n}、…、SL={uL,1,uL,2,…,uL,n};具有相同属性的n个终端成员组成一个群组密钥协商小群组S1-SL进行群组通信,对应的群组中终端成员的身份集合表示为
Figure BDA0003107937070000131
Figure BDA0003107937070000132
参与密钥协商的实体的L组n个终端成员的网络属性序列为ATTR=A1|A2|...|AR,对应的网络属性集为Attr={A1,A2,...,Aν,...,AR},Av表示第v个网络属性,R表示网络属性的个数。每个群组密钥协商小组的n个终端成员具有相同的属性集,其对应的属性排列顺序为
Figure BDA0003107937070000133
Figure BDA0003107937070000134
群组的终端成员对应的有序属性集为
Figure BDA0003107937070000135
Figure BDA0003107937070000136
其中,属性ai,v<ai,v+1
Figure BDA0003107937070000137
表示群组U1中终端成员对应的属性集合,属性个数r∈N*,al,r表示群组Ul中终端成员的第r个属性,l=1,2,...,L。
群组密钥协商网络域内的认证中心CA和各终端成员生成各自的公/私钥对的方法为:
域内的认证中心CA运行密钥生成算法KeyGen(1λ)获取公私钥对(SKCA,PKCA),其中,认证中心CA随机选择一个正整数
Figure BDA0003107937070000138
作为系统私钥,并计算公钥PKCA=SKCAg1,认证中心CA将(SKCA,PKCA)作为系统的公/私钥对。域内的每个终端成员ul,i∈U选择一个随机正整数
Figure BDA0003107937070000139
计算
Figure BDA00031079370700001310
是终端成员ul,i的私钥;计算终端成员ul,i的公钥
Figure BDA00031079370700001311
系统参数为params=(PKCA,q,G1,G2,g1,e,H1,H2)。其中,g1为加法群G1的生成元,
Figure BDA00031079370700001312
表示阶为q的整数集,q为加法群G1的素数阶,KeyGen()表示密钥生成算法,λ表示密钥计算所需的中间变量;1≤l≤L,1≤i≤n,n为域内终端成员的个数,L为群组密钥协商中群组的个数,
Figure BDA0003107937070000141
为终端成员ul,i的私钥,
Figure BDA0003107937070000142
为终端成员ul,i的公钥,
Figure BDA0003107937070000143
为终端成员ul,i的身份标识,
Figure BDA0003107937070000144
是两个哈希散列函数,{0,1}*表示由二进制0和1组成的任意长度的数字串集合。
步骤二:隐藏属性的身份认证。
为了防止未授权的终端成员参与群组密钥协商,仅允许拥有权限的终端成员参与信息加密存储和信息资源访问。本发明采用隐藏属性的身份认证方式,在群组密钥协商前先对域内终端成员进行身份认证,避免其它未经授权的用户参与。各终端成员与认证中心CA交互,生成对应于每一个属性的属性权值。
本发明实现了域内群组密钥协商,具有传统身份认证的功能,同时可以保护个人隐私问题,并且根据属性权值进行匹配访问,拥有不同的属性权值的终端成员访问不同敏感程度的数据,避免了敏感信息的泄露。终端成员的匿名属性认证的具体实现方法为:
(1)认证中心CA选择一系列两两互素的正整数,并将这些正整数和网络属性集中的网络属性以及属性序列号广播给域内的所有终端成员:认证中心CA为域内每一个终端成员随机选择一系列与属性{A1,A2,...,Aν,...,AR}对应的正整数{p1,p2,...,pv,...,pR},然后认证中心CA将信息{(A1,S1,p1),(A2,S2,p2),...,(AR,SR,pR)}在域内广播;其中,gcd(pi,pj)=1(i,j=1,2,...R,i≠j)表示任意两个正整数pi,pj互素,gcd()表示求最大公约数的函数,Av(1≤v≤R)为第v个网络属性,pv为网络属性Av对应的网络属性参数,R∈N*表示网络属性的数量,N*表示正整数,Sv为网络属性Av对应的属性序列号。
(2)每一个终端成员运用各自的有序的属性集中的属性计算认证所需要的中间参数,并将中间参数发送给认证中心CA:带有有序网络属性集attrl,i={al,i,1,al,i,2,...,al,i,r}的每一个终端成员ul,i随机选择两个正整数
Figure BDA0003107937070000145
终端成员ul,i计算中间变量οl,i=λl,ig1l,i,1=γl,iH1(al,i,1)+οl,il,i,2=γl,iH1(al,i,2)+οl,i,...,θl,i,r=γl,iH1(al,i,r)+οl,i
Figure BDA0003107937070000146
和hl,i,k=H1l,i,k)(1≤k≤r),然后终端成员ul,i将消息{(θl,i,1,hl,i,1,S1),(θl,i,2,hl,i,2,S2),...,(θl,i,r,hl,i,r,Sr),ηl,i}发送给认证中心CA。其中,正整数γl,il,i≠1,中间变量οl,i<H1(al,i,v),1≤k≤r,θl,i,1l,i,2,...,θl,i,r、ηl,i、hl,i,k和οl,i表示终端成员ul,i注册所需的中间变量,属性集
Figure BDA0003107937070000151
r∈N*且属性al,i,r-1<al,i,r,r为终端成员ul,i的属性的个数,al,i,k为终端成员ul,i的第k个属性,
Figure BDA0003107937070000152
表示终端成员ul,i的私钥;H1(·)是哈希散列函数,||是连接符号。attrl,i表示终端成员的属性集,
Figure BDA0003107937070000153
表示网络属性集,
Figure BDA0003107937070000154
(3)认证中心CA接收到各终端成员发送的消息后,为各终端成员选择属性序列号对应的网络属性并验证各终端成员的身份,如果验证通过,认证中心CA为每一个属性选择一个随机数并计算出属性权限参数和签名,并将属性权限参数、签名和公钥发送给认证后的终端成员:认证中心CA接收终端成员ul,i发送的消息{(θl,i,1,hl,i,1,N1),(θl,i,2,hl,i,2,N2),...,(θl,i,r,hl,i,r,Nr),ηl,i}后,认证中心CA从网络属性集{A1,A2,...,AR}中选择与属性序列号{S1,S2,...,Sr}相对应的网络属性{A1,A2,...,Ar}(r≤R),然后认证中心CA通过计算等式
Figure BDA0003107937070000155
Figure BDA0003107937070000156
验证终端成员ul,i的属性,如果所有的等式相等并且中间变量βl,i,1=βl,i,2=...=βl,i,r,则证明参数θl,i,v来自终端成员ul,i并且其未被篡改,否则说明参数可能篡改或者终端成员ul,i是非法用户。验证通过后认证中心CA通过验证等式
Figure BDA0003107937070000157
是否相等验证ul,i的属性和身份,如果验证通过,认证中心CA选择一系列与属性集attrl,i={al,i,1,al,i,2,...,al,i,r}对应的数
Figure BDA0003107937070000158
并且计算属性权限参数χl,i,ν=ιl,i,νβl,i,ν和签名δl,i=SKCA(H2l,i,1g1||ιl,i,2g1||...||ιl,i,rg1))g1,如果验证未通过,则将ul,i剔除系统。最后,认证中心CA将消息{PKCAl,i,(χl,i,1l,i,2,...χl,i,r)}发送给注册的终端成员ul,i。其中,χl,i,v为终端成员ul,i的第v个属性的属性权限参数,1≤v≤r,δl,i是终端成员ul,i注册所需的签名,PKCA为认证中心CA的公钥,SKCA为认证中心CA的私钥。
其中,等式
Figure BDA0003107937070000159
的验证方法为:
Figure BDA0003107937070000161
(4)各个终端成员收到认证中心CA发送的消息后,终端成员计算出属性权值以及认证所需的中间参数,然后各终端成员验证认证中心CA的身份以及属性权值的正确性,如果验证通过,各终端成员获得与属性相对应的属性权值,各终端成员身份认证成功:终端成员ul,i接收到认证中心CA发送的信息{PKCAl,i,(χl,i,1l,i,2,...χl,i,r)}后,终端成员ul,i计算属性权值Tl,i,1=λl,i -1χl,i,1=ιl,i,1g1,Tl,i,2=λl,i -1χl,i,2=ιl,i,2g1,...,Tl,i,r=λl,i -1χl,i,r=ιl,i,rg1和中间变量μl,i=H2(Tl,i,1||Tl,i,2...||Tl,i,r);然后终端成员ul,i通过验证等式e(δl,i,g1)=e(μl,ig1,PKCA)是否成立验证认证中心CA的身份和属性al,i,v对应的属性权值Tl,i,v的正确性,如果等式成立,终端成员ul,i获得与其每一个属性al,i,v相对应的属性权值Tl,i,v,终端成员ui注册成功。如果等式不成立,终端成员ul,i注册失败;其中,Tl,i,1,Tl,i,2,...,Tl,i,r表示终端成员的属性权值,μl,i表示验证认证中心CA身份所需的中间变量;e(·)是可计算的双线性映射函数;
其中,等式e(δl,i,g1)=e(μl,ig1,PKCA)的验证方法为:
Figure BDA0003107937070000162
步骤三:群组密钥协商:
群组内的终端成员利用获得的属性权值计算加密密钥和解密密钥。过程如下:
(1)群组加密密钥的计算,每个参与密钥协商的终端成员通过计算中间参数进而计算出群组的加密密钥:参与群组密钥协商的终端成员u2,i根据属性权值{T2,i,1,T2,i,2,...,T2,i,ν,...,T2,i,r}计算中间变量ρ2,i,1=T2,i,1g1并且每个终端成员u2,i使用属性权值{T2,i,1,T2,i,2,...,T2,i,r}计算中间变量
Figure BDA0003107937070000171
然后计算加密密钥
Figure BDA0003107937070000172
其中,g1为加法群G1的生成元,
Figure BDA0003107937070000173
表示终端成员u2,i的私钥。在这里可以任取一个1-r的数字作为随意假定的群组,这里选择终端成员u2,i
(2)群组解密密钥计算:各终端成员u2,i从认证中心CA中获取用于加/解密所需的网络属性集中的属性所对应的网络属性参数(p1,p2,...,pr)和其它相关参数计算出群组解密密钥
Figure BDA0003107937070000174
Figure BDA0003107937070000175
计算如下:终端成员u2,i计算
Figure BDA0003107937070000176
求解可得到一个唯一的解
Figure BDA0003107937070000177
群组的解密密钥为
Figure BDA0003107937070000178
其中,v=1,2,3,...,r,
Figure BDA0003107937070000179
x2,i和π2,i表示计算解密密钥所需的中间变量,mod是取余运算。
参加协商的其他群组Sl可以采用上述方法计算出他们各自群组的群组公/私钥对:
Figure BDA00031079370700001710
(l=1,...,L,i≠j,j=1,…,n)。
(3)参与群组密钥协商的所有终端成员计算解密密钥之后,任意终端成员u2,i计算中间变量
Figure BDA00031079370700001711
Figure BDA00031079370700001712
然后终端成员u2,i将消息
Figure BDA00031079370700001713
广播给群组内的所有终端成员;其中,π2,i为验证密钥一致性所需的中间变量,μ'2,i表示验证终端成员u2,i身份所需要的中间变量,H2(·)是哈希散列函数。
(4)群组内的其它终端成员收到终端成员u2,i发送的消息
Figure BDA00031079370700001714
后,群组内任意其它终端成员u2,k(k≠i)计算中间变量
Figure BDA00031079370700001715
并且通过验证等式
Figure BDA00031079370700001716
是否成立验证终端成员u2,i的身份,如果验证通过其余的终端成员u2,k(k≠i)计算中间变量
Figure BDA00031079370700001717
并且通过验证π2,k=π2,i是否成立验证解密密钥
Figure BDA0003107937070000181
的正确性,如果验证通过,则说明群组内所有终端成员的解密密钥是正确的,如果验证不通过,则重新协商密钥并广播错误报告。其中,e(·)是可计算的双线性映射函数,
Figure BDA0003107937070000182
表示验证终端成员u2,i身份所需要的中间变量,π2,k表示验证密钥正确性所需要的中间变量,H2(·)是哈希散列函数,mod是取余运算。
等式
Figure BDA0003107937070000183
的验证方法为:
Figure BDA0003107937070000184
步骤四:参与不同层次的群组密钥协商,其方法为:
(a)参与高层次的群组密钥协商:
具有特定属性集的低层次的终端成员可以通过身份验证向认证中心CA申请替换属性权值,从而参与高层次的群组密钥协商。假设L2层的终端成员u2,j想要参与L1层群组密钥协商,L1层的终端成员的集合为U1={u1,1,u1,2,…,u1,n},对应的属性集合为
Figure BDA0003107937070000185
属性序列号为
Figure BDA0003107937070000186
具体步骤如下:
(1)当处于低层次即L2层群组并且带有属性序列号
Figure BDA0003107937070000187
的终端成员u2,j想要参与更高层级的L1层群组的群组密钥协商,终端成员u2,j首先从认证中心CA获得L1层群组的属性序列号
Figure BDA0003107937070000188
然后终端成员u2,j将新获得的属性序列号与原有的属性序列号取交集,假设交集是
Figure BDA0003107937070000189
终端成员u2,j的属性序列号与L1层群组的属性序列号不相交的是集合AS1={Sν,S2,ν,S2,ν+1,S2,ν+2},然后终端成员u2,j获得属性权限参数{χ2,j,ν2,j,ν+12,j,ν+2}并且计算属性权值
Figure BDA00031079370700001810
和中间变量
Figure BDA00031079370700001811
然后将消息
Figure BDA00031079370700001812
发送给认证中心CA。其中,
Figure BDA0003107937070000191
表示L1层群组的属性序列号集,χ2,j,ν为终端成员u2,j的第v个属性权限参数,
Figure BDA0003107937070000192
表示终端成员u2,j的私钥,H2(·)是哈希散列函数。
(2)认证中心CA收到终端成员u2,j发送的消息
Figure BDA0003107937070000193
后,认证中心CA计算中间变量
Figure BDA0003107937070000194
并且通过验证等式
Figure BDA0003107937070000195
是否成立验证终端成员u2,j的身份,如果验证通过,认证中心CA计算中间变量χ'1,i,v=ι1,i,vβ2,j,v1,i,vβ2,j,v=ι1,i,vβ2,j,v+1=ι1,i,vβ2,j,v+2)并且发送消息{χ'1,i,v2,j,ν2,j,ν+12,j,ν+2,PKCA}给终端成员u2,j,其中,
Figure BDA0003107937070000196
表示验证终端成员u2,j身份所需要的中间变量,PKCA表示认证中心CA的公钥;。
(3)终端成员u2,j接收到认证中心CA发送的消息{χ'1,i,v2,j,ν2,j,ν+12,j,ν+2,PKCA}后,终端成员u2,j通过验证等式e(δ2,j,g1)=e(μ2,jg1,PKCA)是否相等验证认证中心CA的身份,如果验证通过,终端成员u2,j用中间变量χ'1,i,v替代{χ2,j,ν2,j,ν+12,j,ν+2}并且计算属性权值
Figure BDA0003107937070000197
终端成员u2,j获得新的属性权值集合为{T2,j,1,...T2,j,v-1,T2,j,v+3,...T2,j,r,T1',i,v},L2层群组的终端成员u2,j的属性序列号与L1层群组的终端成员u1,i属性序列号的交集是
Figure BDA0003107937070000198
因此属性权值{T2,j,1,...T2,j,v-1,T2,j,v+3,...T2,j,r}与{T1,i,1,...T1,i,v-1,T1,i,v+1,...,T1,i,r}相等,也就是说T'1,i,v等于T1,i,v,然后按照步骤三进行群组L1的密钥协商。
其中,等式
Figure BDA0003107937070000199
的验证方法为:
Figure BDA00031079370700001910
其中,等式e(δ2,j,g1)=e(μ2,jg1,PKCA)的验证方法为:
Figure BDA0003107937070000201
(b)参与低层次的群组密钥协商:
处于高层次群组的终端成员也能够参与低层次群组密钥协商,假设L1层群组的终端成员u1,i想要参与L2层群组的密钥协商,L2层群组的终端成员集合为U2={u2,1,u2,2,…,u2,n},对应的属性集合为
Figure BDA0003107937070000202
属性序列号为
Figure BDA0003107937070000203
具体过程如下:
(1)当处于高层级L1层群组并且带有属性序列号
Figure BDA0003107937070000204
的终端成员u1,i想要参与更低层级L2层群组的群组密钥协商,终端成员u1,i首先从认证中心CA获得L2层群组的属性序列号
Figure BDA0003107937070000205
然后终端成员u1,i将新获得的属性序列号与原有的属性序列号取交集,假设交集是
Figure BDA0003107937070000206
终端实体u1,i的属性序列号与L2层群组属性序列号不相交的是AS2={S2,ν,S2,ν+1,S2,ν+2},然后终端成员u1,i计算
Figure BDA0003107937070000207
然后将消息
Figure BDA0003107937070000208
发送给认证中心CA;其中,
Figure BDA0003107937070000209
表示L2层群组的属性序列号,AS0表示L1层群组的属性序列号与L2层的群组属性序列号的交集,
Figure BDA00031079370700002010
表示终端成员u1,i的私钥,H2(·)是哈希散列函数。
(2)认证中心CA收到终端成员u1,i发送的消息
Figure BDA00031079370700002011
后,计算中间变量
Figure BDA00031079370700002012
并且通过验证等式
Figure BDA00031079370700002013
是否成立验证终端成员u1,i的身份和属性,如果相等,认证中心CA计算中间变量χ'2,j,v=ι2,j,vβ1,i,v,χ'2,j,v+1=ι2,j,v+1β1,i,v,χ'2,j,v+2=ι2,j,v+2β1,i,v并发送新的属性权限参数{χ1,i,ν,χ'2,j,v,χ'2,j,v+1,χ'2,j,v+2,PKCA}给终端成员u1,i;其中,
Figure BDA0003107937070000211
表示验证终端成员u1,i身份所需的中间变量,χ2,j,ν为终端成员u2,j的第v个属性权限参数,H2(·)是哈希散列函数。
(3)终端成员u1,i收到认证中心CA发送的消息后,首先通过验证等式e(δ1,i,g1)=e(μ1,ig1,PKCA)是否成立验证认证中心CA的身份,如果验证通过,终端成员u1,i用属性权限参数集合{χ'2,j,v,χ'2,j,v+1,χ'2,j,v+2}替换χ1,i,ν并且计算新的属性权值
Figure BDA0003107937070000212
终端成员u1,i获得新的属性权值集合{T1,i,1,...T1,i,v-1,T1,i,v+1,...T1,i,r,T'2,j,v,T'2,j,v+1,T'2,j,v+2},L2层群组的终端成员u2,j的属性序列号与L1层群组的终端成员u1,i属性序列号的交集是
Figure BDA0003107937070000213
因此属性权值集合{T2,j,1,...T2,j,v-1,T2,j,v+3,...T2,j,r}与{T1,i,1,...T1,i,v-1,T1,i,v+1,...,T1,i,r}相等,也就是说属性权值T'1,i,v等于T1,i,v,然后按照步骤三进行L1层群组的密钥协商。
其中,等式
Figure BDA0003107937070000214
的验证方法为:
Figure BDA0003107937070000215
其中,等式e(δ1,i,g1)=e(μ1,ig1,PKCA)的验证方法为:
Figure BDA0003107937070000216
实施例2
一种基于隐私保护的分层动态群组密钥协商方法,如图1所示,为了说明本发明的内容及实施方法,给出了一个具体实施例。本实施方式中,为方便实例阐述,设置3层群组进行群组密钥协商,每组有10个成员,这10个成员的实体集合表示为S={S1,S2,…,S10},S1={u1,1,u1,2,…,u1,10},S2={u2,1,u2,2,…,u2,10},S3={u3,1,u3,2,…,u3,10},终端成员的实体集合表示为
Figure BDA0003107937070000221
对应的群组成员的身份集合表示为
Figure BDA0003107937070000222
认证中心CA定义所有终端成员的属性集合为ATTR={A1,A2,A3},群组成员对应的有序属性集为
Figure BDA0003107937070000223
在本实施例中引入细节的目的不是限制权利要求书的范围,而是帮助理解本发明的具体实施方法。本领域的技术人员应理解:在不脱离本发明及其所附权利要求的精神和范围内,对最佳实施例步骤的各种修改、变化或替换都是可能的。因此,本发明不应局限于最佳实施例及附图所公开的内容。
步骤一:群组密钥协商网络初始化协议参数:生成认证中心CA和各终端成员的公/私钥对。
假设参加密钥协商的L组10个成员的实体集合表示为S={S1,S2,…,SL},S1={u1,1,u1,2,...,u1,10},S2={u2,1,u2,2,...,u2,10},…,SL={uL,1,uL,2,...,uL,10},具有相同属性的10个终端成员组成一个群组密钥协商小组进行群组通信,对应的群组成员的身份集合表示为
Figure BDA0003107937070000224
Figure BDA0003107937070000225
参与密钥协商的实体的L组10个成员的网络属性序列为ATTR=A1|A2|A3,对应的网络属性集为Attr={A1,A2,A3},每个群组密钥协商小组的10个群组成员具有相同的属性集,其对应的属性排列顺序为
Figure BDA0003107937070000226
Figure BDA0003107937070000227
群组成员对应的有序属性集为
Figure BDA0003107937070000228
其中,属性
Figure BDA0003107937070000229
表示群组U1中终端成员对应的属性集合,a1,r表示群组U1中终端成员的第r个属性。
群组密钥协商网络域内的认证中心CA和网络中各终端成员生成各自的公/私钥对的方法为:
域内的认证中心CA运行密钥生成算法KeyGen(1λ)获取公私钥对(SKCA,PKCA),其中,认证中心CA随机选择一个正整数
Figure BDA0003107937070000231
作为系统私钥,并计算公钥PKCA=SKCAg1,认证中心CA将(SKCA,PKCA)作为系统的公/私钥对。域内的每个终端成员ul,i∈U(1≤l≤3,1≤i≤10)选择一个随机正整数
Figure BDA0003107937070000232
计算
Figure BDA0003107937070000233
是终端成员ul,i的私钥;计算终端成员ul,i的公钥
Figure BDA0003107937070000234
系统参数为params=(PKCA,q,G1,G2,g1,e,H1,H2);其中,g1为加法群G1的生成元,
Figure BDA0003107937070000235
表示阶为q的整数集,q为加法群G1的素数阶,KeyGen()表示密钥生成算法,λ表示密钥计算所需的中间变量;1≤i≤10,10为域内终端成员的个数,
Figure BDA0003107937070000236
为终端成员ul,i的私钥,
Figure BDA0003107937070000237
为终端成员ul,i的公钥,
Figure BDA0003107937070000238
为终端成员ul,i的身份标识,
Figure BDA0003107937070000239
是两个哈希散列函数,{0,1}*表示由二进制0和1组成的任意长度的数字串集合。
步骤二:隐藏属性身份认证。
(1)认证中心CA为域内每一个终端成员随机选择一系列与属性{A1,A2,A3}对应的正整数{p1,p2,p3},然后认证中心CA将信息{(A1,S1,p1),(A2,S2,p2),(A3,S3,p3)}在域内广播;其中,gcd(pi,pj)=1(i,j=1,2,...R,i≠j),Av(1≤v≤3)为网络属性,pv为网络属性Av对应的网络属性参数,N*表示正整数,Sv为网络属性Av对应的属性序列号。
(2)带有有序网络属性集attr2,i={a2,i,1,a2,i,2,a2,i,3}的每一个终端成员u2,i(1≤i≤10)随机选择两个正整数
Figure BDA00031079370700002310
u2,i计算中间变量ο2,i=λ2,ig12,i,1=γ2,iH1(a2,i,1)+ο2,i2,i,2=γ2,iH1(a2,i,2)+ο2,i,...,θ2,i,3=γ2,iH1(a2,i,3)+ο2,i
Figure BDA00031079370700002311
和h2,i,v=H12,i,v)(1≤v≤3),然后终端成员u2,i将消息{(θ2,i,1,h2,i,1,S1),(θ2,i,2,h2,i,2,S2),(θ2,i,3,h2,i,3,S3),η2,i}发送给认证中心CA;其中,ο2,i<H1(a2,i,v)(1≤v≤3),θ2,i,12,i,22,i,3、η2,i和ο2,i表示终端成员u2,i注册所需的中间变量,属性集
Figure BDA0003107937070000241
属性a2,i,r-1<a2,i,r,r为终端成员u2,i的属性的个数,a2,i,k为终端成员u2,i的第k个属性,
Figure BDA0003107937070000242
表示终端成员u2,i的私钥;H1(·)是哈希散列函数,||是连接符号。
(3)认证中心CA接收终端成员u2,i发送的消息{(θ2,i,1,h2,i,1,N1),(θ2,i,2,h2,i,2,N2),(θ2,i,3,h2,i,3,N3),η2,i}后,认证中心CA从网络属性集{A1,A2,A3}中选择与属性序列号{S1,S2,S3}相对应的网络属性{A1,A2,A3},然后认证中心CA通过验证等式
Figure BDA0003107937070000243
Figure BDA0003107937070000244
是否相等验证终端成员u2,i的属性,如果所有的等式相等并且β2,i,1=β2,i,2=β2,i,3,则证明参数θ2,i,v(1≤v≤3)来自终端成员u2,i并且其未被篡改,然后认证中心CA通过计算等式
Figure BDA0003107937070000245
是否相等验证u2,i的属性和身份,如果验证通过,认证中心CA选择一系列与属性集attr2,i={a2,i,1,a2,i,2,a2,i,3}对应的数
Figure BDA0003107937070000246
并且计算属性相关参数χ2,i,ν=ι2,i,νβ2,i,ν和中间变量δ2,i=SKCA(H22,i,1g1||ι2,i,2g1||ι2,i,3g1))g1,最后认证中心CA将消息{PKCA2,i,(χ2,i,12,i,22,i,3)}发送给注册的终端成员u2,i;其中,a2,i,v和a2,j,v分别用户u2,i和u2,j(i≠j)的属性并且ι2,i,v=ι2,j,v,χ2,i,v为终端成员u2,i的第v个属性的中间参数,1≤v≤3,δl,i是终端成员u2,i注册所需的中间参数,PKCA为认证中心CA的公钥,SKCA为认证中心CA的私钥。
其中,等式
Figure BDA0003107937070000247
的验证方法为:
Figure BDA0003107937070000248
(4)终端成员u2,i接收到认证中心CA发送的信息{PKCA2,i,(χ2,i,12,i,22,i,3)}后,终端成员u2,i计算属性权值T2,i,1=λ2,i -1χ2,i,1=ι2,i,1g1,T2,i,2=λ2,i -1χ2,i,2=ι2,i, 2g1,...,T2,i,3=λ2,i -1χ2,i,3=ι2,i,3g1和中间变量μ2,i=H2(T2,i,1||T2,i,2||T2,i,3);然后终端成员u2,i通过验证等式e(δ2,i,g1)=e(μ2,ig1,PKCA)是否成立验证认证中心CA的身份和属性a2,i,v(1≤v≤3)对应的属性权值T2,i,v的正确性,如果等式成立,终端成员u2,i获得与其每一个属性a2,i,v(1≤v≤3)相对应的属性权值T2,i,v,终端成员u2,i注册成功;如果等式不成立,终端成员u2,i注册失败。其中,T2,i,1,T2,i,2,T2,i,3表示终端成员的属性权值,μ2,i表示验证认证中心CA身份所需的中间变量;e(·)是可计算的双线性映射函数。
其中,等式e(δ2,i,g1)=e(μ2,ig1,PKCA)的证明方法为:
Figure BDA0003107937070000251
步骤三:群组密钥协商:
群组内的终端成员利用获得的属性权值计算加密密钥和解密密钥,过程如下:
(1)群组加密密钥计算:参与群组密钥协商的终端成员u2,i根据属性权值{T2,i,1,T2,i,2,T2,i,3}计算中间变量ρ2,i,1=T2,i,1g1并且每个终端成员u2,i使用属性权值{T2,i,1,T2,i,2,T2,i,3}计算中间变量
Figure BDA0003107937070000252
然后通过公式
Figure BDA0003107937070000253
计算得到加密密钥,其中,g1为加法群G1的生成元,
Figure BDA0003107937070000254
表示终端成员的私钥。
(2)群组解密密钥计算,各终端成员u2,i从认证中心CA中获取用于加/解密所需的网络属性集中的属性所对应的网络属性参数(p1,p2,p3)和其它相关参数计算出群组解密密钥
Figure BDA0003107937070000255
计算如下:终端成员u2,i计算
Figure BDA0003107937070000256
求解可得到一个唯一的解
Figure BDA0003107937070000261
然后计算π2,i=T2,i,1x2,i,群组解密密钥为
Figure BDA0003107937070000262
其中,v=1,2,3,
Figure BDA0003107937070000263
,x2,i和π2,i表示计算解密密钥所需的中间变量,mod是取余运算。
参加协商的其他群组Sl可以采用上述方法计算出他们各自群组的群组公/私钥对:
Figure BDA0003107937070000264
(i≠j,j=1,…,10)。
在完成计算之后对密钥的正确性进行验证,如果验证通过则协商完成,如果验证未通过则广播错误信息,重新协商密钥,过程如下:
(3)参与群组密钥协商的所有终端成员计算解密密钥之后,任意终端成员u2,i计算中间变量
Figure BDA0003107937070000265
Figure BDA0003107937070000266
然后终端成员u2,i将消息{π2,i,μ'2,i,pku2,i}广播给群组内的所有终端成员;其中,π2,i为验证密钥一致性所需的中间变量,μ'2,i表示验证终端成员u2,i身份所需要的中间变量,H2(·)是哈希散列函数。
(4)群组内的其它终端成员收到终端成员u2,i发送的消息
Figure BDA0003107937070000267
后,群组内任意其它终端成员u2,k(k≠i)计算中间变量
Figure BDA0003107937070000268
并且通过验证等式
Figure BDA0003107937070000269
是否成立验证终端成员u2,i的身份,如果验证通过其余的终端成员u2,k(k≠i)计算
Figure BDA00031079370700002610
并且通过验证π2,k=?π2,i是否成立验证解密密钥
Figure BDA00031079370700002611
的正确性,如果验证通过,则说明群组内所有终端成员的解密密钥是正确的,如果验证不通过,则重新协商密钥并广播错误报告。其中,e(·)是可计算的双线性映射函数,
Figure BDA00031079370700002612
表示验证终端成员u2,i身份所需要的中间变量,π2,k表示验证密钥正确性所需要的中间变量,H2(·)是哈希散列函数,mod是取余运算。
其中,等式
Figure BDA00031079370700002613
的证明方法为:
Figure BDA0003107937070000271
步骤四:参与高层或低层群组密钥协商的方法为:
具有特定属性集的低层终端实体可以通过身份验证向认证中心CA申请替换属性权值,从而参与高层群组密钥协商。假设L2层群组的终端成员u2,j想要参与L1层群组的密钥协商,L1层群组的终端成员的集合为U1={u1,1,u1,2,…,u1,10},对应的属性集合为
Figure BDA0003107937070000272
属性序列号为
Figure BDA0003107937070000273
具体步骤如下:
(1)当处于低层级L2层群组并且带有属性序列号
Figure BDA0003107937070000274
的终端成员u2,j想要参与更高层级L1层群组的群组密钥协商,终端成员u2,j首先从认证中心CA获得L1层群组的属性序列号
Figure BDA0003107937070000275
r∈{1,2,3},然后终端成员u2,j将新获得的属性序列号与原有的属性序列号取交集,假设交集是
Figure BDA0003107937070000276
终端成员u2,j的属性序列号与更高层L1层群组的属性序列号不相交的是AS1={Sν},然后终端成员u2,j获得属性权限参数{χ2,j,ν}并且计算属性权值
Figure BDA0003107937070000277
和中间变量
Figure BDA0003107937070000278
然后将
Figure BDA0003107937070000279
发送给认证中心CA。其中,
Figure BDA00031079370700002710
表示L1层群组的属性序列号,χ2,j,ν为终端成员u2,j的第v个属性权限参数,
Figure BDA00031079370700002711
表示终端成员u2,j的私钥,H2(·)是哈希散列函数。
(2)认证中心CA收到终端成员u2,j发送的消息{Sν,μ'2,j,pku2,j}后,认证中心CA计算中间变量
Figure BDA00031079370700002712
并且通过验证等式
Figure BDA00031079370700002713
是否成立验证终端成员u2,j的身份,如果验证通过,认证中心CA计算χ'1,i,v=ι1,i,vβ2,j,v1,i,vβ2,j,v=ι1,i,vβ2,j,v+1=ι1,i,vβ2,j,v+2)并且发送消息{χ'1,i,v2,j,ν,PKCA}给终端成员u2,j,其中,
Figure BDA00031079370700002714
表示验证终端成员u2,j身份所需要的中间变量,PKCA表示认证中心CA的公钥。
其中等式
Figure BDA00031079370700002715
的验证方法为:
Figure BDA0003107937070000281
(3)终端成员u2,j接收到认证中心CA发送的消息{χ'1,i,v2,j,ν,PKCA}后,终端成员u2,j通过验证等式e(δ2,j,g1)=e(μ2,jg1,PKCA)是否相等验证认证中心CA的身份,如果验证通过,终端成员u2,j用χ'1,i,v替代χ2,j,ν并且计算属性权值
Figure BDA0003107937070000282
u2,j获得了新的属性权值集合为{T2,j,1,T'1,i,v},L2层群组的终端成员u2,j的属性序列号与L1层群组的终端成员u1,i属性序列号的交集是
Figure BDA0003107937070000283
因此属性权值{T2,j,1,...,T2,j,v+1}与{T1,i,1,...,T1,i,v+1}相等,也就是说T'1,i,v等于T1,i,v,然后按照步骤三进行群组L1的密钥协商。
其中,等式e(δ2,j,g1)=e(μ2,jg1,PKCA)的验证方法为:
Figure BDA0003107937070000284
处于高层级群组的终端成员也能够参与低层群组密钥协商,假设L1层群组的终端成员u1,i想要参与L2层群组的密钥协商,L2层群组的终端成员集合为U2={u2,1,u2,2,…,u2,10},对应的属性集合为
Figure BDA0003107937070000285
属性序列号为
Figure BDA0003107937070000286
具体过程如下:
(1)当处于高层级L1层群组并且带有属性序列号
Figure BDA0003107937070000287
的终端成员u1,i想要参与更低层级L2层群组的群组密钥协商,终端成员u1,i首先从认证中心CA获得L2层群组的属性序列号
Figure BDA0003107937070000288
r∈{1,2,3},然后终端成员u1,i将新获得的属性序列号与原有的属性序列号取交集,假设交集是
Figure BDA0003107937070000289
终端成员u1,i的属性序列号与更低层L2层群组属性序列号不相交的是AS2={S2,ν},然后终端成员u1,i计算
Figure BDA0003107937070000291
然后将消息
Figure BDA0003107937070000292
发送给认证中心CA;其中,
Figure BDA0003107937070000293
表示L2层群组的属性序列号,AS0表示L1层群组属性序列号与L2层群组属性序列号的交集,
Figure BDA0003107937070000294
表示终端成员u1,i的私钥,H2(·)是哈希散列函数。
(2)认证中心CA收到终端成员u1,i发送的消息
Figure BDA0003107937070000295
后,计算中间变量
Figure BDA0003107937070000296
并且通过验证等式
Figure BDA0003107937070000297
是否成立验证终端成员u1,i的身份和属性,如果相等,认证中心CA计算χ'2,j,v=ι2,j,vβ1,i,v并发送新的属性权限参数{χ1,i,ν,χ'2,j,v,PKCA}给终端成员u1,i;其中,
Figure BDA0003107937070000298
表示验证终端成员u1,i身份所需的中间变量,χ2,j,ν为终端成员u2,j的第v个属性权限参数,H2(·)是哈希散列函数。
其中,等式
Figure BDA0003107937070000299
的验证方法为:
Figure BDA00031079370700002910
(3)终端成员u1,i收到认证中心CA发送的消息后,首先通过验证等式e(δ1,i,g1)=e(μ1,ig1,PKCA)是否成立验证认证中心CA的身份,如果验证通过,终端成员u1,i用属性权限参数集合{χ'2,j,v}替换χ1,i,ν并且计算
Figure BDA00031079370700002911
终端成员u1,i获得新的属性权值集合{T1,i,1,...T1,i,v-1,T1,i,v+1},L2层群组的终端成员u2,j的属性序列号与L1层群组的终端成员u1,i属性序列号的交集是
Figure BDA00031079370700002912
因此属性权值{T2,j,1,...,T2,j,v+1}与{T1,i,1,...,T1,i,v+1}相等,也就是说T'1,i,v等于T1,i,v,然后按照步骤三进行L1层群组的密钥协商;
其中,等式e(δ1,i,g1)=e(μ1,ig1,PKCA)的验证方法为:
Figure BDA0003107937070000301
本发明以隐藏属性认证理论为基础,以决策双线性Diffie-Hellman(DBDH)问题为安全假设前提提出,采用隐藏属性的身份认证技术在资源信息共享的身份认证过程中实现个人隐私保护,在终端成员注册的过程中,除了对终端成员进行身份认证外,每个终端成员还获得相应的属性权重。根据这些属性的权值设置阈值权限,对网络域中的终端成员进行相应的分类,拥有不同属性权值的终端成员参与不同的密钥协议组,以不同的保密性参与组通信,提高了数据通信的安全性;同时满足一定条件的低层次的终端成员可以向认证中心申请获得新的属性权值已参与高层次群组通信,高层次终端成员也可以向认证中心申请获得属性权值参与低层群组的通信,既可以保障通信数据的安全性,又可以很好地保护个人隐私,使得各领域中信息资源共享更加灵活、高效和实用,具有重要的领域研究意义和商业应用价值。
本发明对群组密钥协商网络域内的协议参数进行初始化,生成认证中心和终端成员的公/私钥对,终端成员进行隐藏属性的身份认证,利用终端成员的属性参数进行身份认证,既能够完成身份认证,又避免了隐私信息的泄露,可以很好的保护个人隐私;认证成功后,终端成员根据自己属性权值计算加密密钥和解密密钥,对密钥的一致性进行验证,为每个终端成员设置属性权值,对群组设置阈值权限,只有满足阈值权限的终端成员才可以参与通信。同时,终端成员还可以向认证中心申请变更属性以参与高层或者低层的群组密钥协商,具有很高的安全性和灵活性。本发明采用隐藏属性的身份认证技术,在身份认证的同时能够避免个人隐私信息的泄露,同时根据属性权值设置阈值权限,以不同的保密性参与群组通信,提高了数据通信的可靠性,采用身份认证和属性权值匹配的双认证机制,很大程度上提高了系统的安全性,使得群组密钥协商更加灵活、高效和实用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于隐私保护的分层动态群组密钥协商方法,其特征在于,其步骤为:
步骤一:群组密钥协商网络中域内协议参数的初始化:认证中心CA和各终端成员生成各自的公/私钥对;
步骤二:隐藏属性的身份认证
A)认证中心CA选择一系列两两互素的正整数并将正整数和网络属性集中的属性以及属性序列号广播给域内的所有终端成员;
B)终端成员运用各自的有序的网络属性集中的属性计算认证所需要的中间参数,并将中间参数发送给认证中心CA;
C)认证中心CA接收到各终端成员发送的消息后,为各终端成员选择属性序列号对应的属性并通过中国剩余定理验证各终端成员的身份,如果验证通过,认证中心CA计算出属性权限参数和签名,并将属性权限参数、签名和公钥发送给认证后的终端成员;
D)各个终端成员收到认证中心CA发送的消息后,终端成员计算出属性权值,然后各终端成员验证认证中心CA的身份以及属性权值的正确性,如果验证通过,各终端成员获得与属性相对应的属性权值,各终端成员身份认证成功;
步骤三:群组的密钥协商;
F)每个参与密钥协商的终端成员计算出群组的加密密钥;
G)每个终端成员从认证中心CA获取属性序列号对应的网络属性参数计算解密密钥;
H)参与群组密钥协商的所有终端成员计算得到解密密钥之后,群组中的任意一个终端成员计算验证自身身份和解密密钥所需的中间参数,然后将中间参数和自己的公钥发送给群组的其它终端成员;
I)群组中其它终端成员收到信息后,验证信息发送者的身份,如果验证通过,信息接收者计算验证解密密钥所需的中间参数并对解密密钥是否一致进行验证,如果验证通过,则群组中所有成员的解密密钥是正确的,如果不一致,信息接收者广播错误消息,同时群组中的终端成员重新计算解密密钥;
步骤四:终端成员参与不同层次群组的密钥协商:
(a)参与高层次群组的密钥协商,实现方法为:
J)处于低层次群组的终端成员参与高层次群组的密钥协商时,低层次群组的终端成员从认证中心CA获得高层次群组的属性序列号,然后与自己的属性序列号相交获得不相交的属性序列后,低层次群组的终端成员计算属性权限参数、属性权值、不相交的属性序列、中间变量以及公钥发送给认证中心CA;
K)认证中心CA收到消息后,计算验证终端成员身份所需的中间参数并验证终端成员的身份和属性,如果验证通过,认证中心CA计算新的属性权限参数并将新的属性权限参数和公钥发送给终端成员;
L)终端成员收到来自认证中心CA的消息后,首先验证认证中心CA的身份,如果验证通过,则用新的属性权限参数替换原来的属性权限参数并计算新的属性权值,然后按照步骤三参与群组的密钥协商;
(b)参与低层次群组的密钥协商,实现方法为:
M)当处于高层次群组的终端成员参与低层次群组的密钥协商时,高层次群组的终端成员从认证中心CA获得低层次群组的属性序列号,然后终端成员与自己原有的属性序列号取交集得到不参与低层次群组的密钥协商的属性序列,然后计算验证自己身份所需的中间参数并将不参与较低层次群组的密钥协商的属性序列、中间参数以及公钥发送给认证中心CA;
N)认证中心CA收到终端成员发送的消息后,计算验证终端成员身份所需的中间参数并验证终端成员的身份和属性,如果验证通过,认证中心CA计算属性权限参数,然后认证中心CA将属性权限参数和公钥发送给终端成员;
O)终端成员收到消息后验证认证中心CA的身份,如果验证通过,终端成员用新的属性权限参数替换原有的属性权限参数并计算属性权值,然后按照步骤三参与群组的密钥协商。
2.根据权利要求1所述的基于隐私保护的分层动态群组密钥协商方法,其特征在于,所述步骤一中认证中心CA和各终端成员生成各自的公/私钥对的方法为:
(1)认证中心CA随机选择一个正整数
Figure FDA0003621433410000021
作为私钥,并计算公钥PKCA=SKCAg1,认证中心CA将(SKCA,PKCA)作为系统的公/私钥对;
(2)域内的每个终端成员ul,i选择一个随机正整数
Figure FDA0003621433410000022
计算终端成员ul,i的私钥
Figure FDA0003621433410000023
和终端成员ul,i的公钥;
其中,g1为加法群G1的生成元,
Figure FDA0003621433410000024
表示阶为q的整数集,q为加法群G1的素数阶,1≤l≤L,1≤i≤n,n为域内终端成员的个数,L为群组密钥协商中群组的个数,
Figure FDA0003621433410000025
为终端成员ul,i的身份标识,
Figure FDA0003621433410000026
是哈希散列函数。
3.根据权利要求1或2所述的基于隐私保护的分层动态群组密钥协商方法,其特征在于,所述步骤二中隐藏属性的身份认证的实现方法为:
A)认证中心CA为域内每一个终端成员随机选择一系列与属性属性集Attr={A1,A2,...,Aν1,...,AR}对应的正整数{p1,p2,...,pv1,...,pR},认证中心CA将信息{(A1,S1,p1),(A2,S2,p2),...,(AR,SR,pR)}在域内广播;其中,任意两个正整数pi,pj互素,Av1为网络属性集中的第v1个网络属性,1≤v1≤R,pv1为网络属性Av1对应的网络属性参数,R∈N*表示网络属性的数量,N*表示正整数,Sv1为网络属性Av1对应的属性序列号;
B)带有有序的网络属性集attrl,i={al,i,1,al,i,2,...,al,i,r}的每一个终端成员ul,i随机选择两个正整数
Figure FDA0003621433410000031
终端成员ul,i计算中间变量οl,i=λl,ig1l,i,1=γl,iH1(al,i,1)+οl,il,i,2=γl,iH1(al,i,2)+οl,i,...,θl,i,r=γl,iH1(al,i,r)+οl,i
Figure FDA0003621433410000032
和hl,i,v=H1l,i,v),然后终端成员ul,i将消息{(θl,i,1,hl,i,1,S1),(θl,i,2,hl,i,2,S2),...,(θl,i,r,hl,i,r,Sr),ηl,i}发送给认证中心CA;其中,正整数γl,il,i≠1,中间变量οl,i<H1(al,i,v),1≤v≤r,θl,i,1l,i,2,...,θl,i,r、ηl,i、hl,i,v和οl,i表示终端成员ul,i注册所需的中间变量,g1为加法群G1的生成元,属性集
Figure FDA0003621433410000033
r∈N*且属性al,i,r-1<al,i,r,r≤R为终端成员ul,i的属性的个数,al,i,v为终端成员ul,i的第v个属性,
Figure FDA0003621433410000034
表示终端成员ul,i的私钥;H1(·)是哈希散列函数,||是连接符号;1≤l≤L,1≤i≤n,n为域内终端成员的个数,L为群组密钥协商中群组的个数;
C)认证中心CA接收终端成员ul,i发送的消息{(θl,i,1,hl,i,1,S1),(θl,i,2,hl,i,2,S2),...,(θl,i,r,hl,i,r,Sr),ηl,i}后,认证中心CA从网络属性集{A1,A2,...,AR}中选择与属性序列号{S1,S2,...,Sr}相对应的网络属性{A1,A2,...,Ar},然后认证中心CA通过验证等式
Figure FDA0003621433410000035
Figure FDA0003621433410000036
βl,i,1=βl,i,2=...=βl,i,r是否成立验证终端成员ul,i的属性,如果所有的等式相等,则证明中间变量θl,i,v来自终端成员ul,i并且其未被篡改;然后认证中心CA通过验证等式
Figure FDA0003621433410000037
是否相等验证ul,i的属性和身份,如果验证通过,认证中心CA选择一系列与属性集attrl,i={al,i,1,al,i,2,...,al,i,r}对应的随机数
Figure FDA0003621433410000041
并且计算属性权限参数χl,i,ν=ιl,i,νβl,i,ν和签名δl,i=SKCA(H2l,i,1g1||ιl,i,2g1||...||ιl,i,rg1))g1;最后,认证中心CA将消息{PKCAl,i,(χl,i,1l,i,2,...χl,i,r)}发送给注册的终端成员ul,i;其中,al,i,v为终端成员ul,i的属性,χl,i,v为终端成员ul,i的第v个属性的属性权限参数,1≤v≤r,δl,i是终端成员ul,i注册所需的签名,PKCA为认证中心CA的公钥,SKCA为认证中心CA的私钥,mod为取余函数,e(·)是可计算的双线性映射函数,
Figure FDA0003621433410000042
为终端成员ul,i的公钥,βl,i,ν为验证终端成员ul,i的属性所需的中间变量,H2(·)是哈希散列函数;
D)终端成员ul,i接收认证中心CA发送的信息{PKCAl,i,(χl,i,1l,i,2,...χl,i,r)}后,终端成员ul,i计算属性权值Tl,i,1=λl,i -1χl,i,1=ιl,i,1g1,Tl,i,2=λl,i -1χl,i,2=ιl,i,2g1,...,Tl,i,r=λl,i -1χl,i,r=ιl,i,rg1和中间变量μl,i=H2(Tl,i,1||Tl,i,2...||Tl,i,r);然后终端成员ul,i通过验证等式e(δl,i,g1)=e(μl,ig1,PKCA)是否成立验证认证中心CA的身份和属性al,i,v对应的属性权值Tl,i,v的正确性,如果等式成立,终端成员ul,i获得与每一个属性al,i,v相对应的属性权值Tl,i,v,终端成员ul,i注册成功;如果等式不成立,终端成员ul,i注册失败;其中,Tl,i,1,Tl,i,2,...,Tl,i,r表示终端成员ul,i的属性权值,μl,i表示验证认证中心CA身份所需的中间变量。
4.根据权利要求3所述的基于隐私保护的分层动态群组密钥协商方法,其特征在于,所述步骤三中群组的密钥协商的方法为:(1)参与群组密钥协商的终端成员u2,i根据属性权值{T2,i,1,T2,i,2,...,T2,i,ν,...,T2,i,r}计算中间变量ρ2,i,1=T2,i,1g1并且终端成员u2,i使用属性权值{T2,i,1,T2,i,2,...,T2,i,r}计算中间变量
Figure FDA0003621433410000043
计算加密密钥
Figure FDA0003621433410000044
其中,g1为加法群G1的生成元,
Figure FDA0003621433410000045
表示终端成员u2,i的私钥;
(2)各终端成员u2,i从认证中心CA中获取用于加/解密所需的网络属性集中的属性所对应的网络属性参数(p1,p2,...,pr)计算出群组解密密钥
Figure FDA0003621433410000046
计算如下:终端成员u2,i通过中国剩余定理计算
Figure FDA0003621433410000047
求解可得到一个唯一的解
Figure FDA0003621433410000048
则群组的解密密钥
Figure FDA0003621433410000051
其中,v=1,2,3,...,r,
Figure FDA0003621433410000052
x2,i表示计算解密密钥所需的中间变量,mod是取余运算;
(3)参与群组密钥协商的所有终端成员计算解密密钥之后,任意终端成员u2,i计算中间变量
Figure FDA0003621433410000053
Figure FDA0003621433410000054
然后终端成员u2,i将消息
Figure FDA0003621433410000055
广播给群组内的所有终端成员;其中,π2,i为验证密钥一致性所需的中间变量,μ'2,i表示验证终端成员u2,i身份所需要的中间变量;
(4)群组内的其它终端成员收到终端成员u2,i发送的消息
Figure FDA0003621433410000056
后,群组内任意其它终端成员u2,k计算中间变量
Figure FDA0003621433410000057
并且通过验证等式
Figure FDA0003621433410000058
是否成立验证终端成员u2,i的身份,如果验证通过,终端成员u2,k计算中间变量
Figure FDA0003621433410000059
并且通过验证π2,k=π2,i是否成立验证解密密钥
Figure FDA00036214334100000510
的正确性,如果验证通过,则说明群组内所有终端成员的解密密钥是正确的,如果验证不通过,则重新协商密钥并广播错误报告;其中,k≠i,
Figure FDA00036214334100000511
表示验证终端成员u2,i身份所需要的中间变量,π2,k表示验证密钥正确性所需要的中间变量。
5.根据权利要求4所述的基于隐私保护的分层动态群组密钥协商方法,其特征在于,所述步骤四中参与高层次群组的密钥协商的实现方法为:
J)当处于L2层群组且带有属性序列号
Figure FDA00036214334100000512
的终端成员u2,j想要参与L1层群组的群组密钥协商,终端成员u2,j从认证中心CA获得L1层群组的属性序列号φL1={S1,S2,...,Sν,Sν+1,...,Sr},然后终端成员u2,j将新获得的属性序列号与原有的属性序列号取交集,交集
Figure FDA00036214334100000513
终端成员u2,j的属性序列号与L1层群组的属性序列号不相交的集合AS1={Sν,S2,ν,S2,ν+1,S2,ν+2},然后终端成员u2,j获得属性权限参数{χ2,j,ν2,j,ν+12,j,ν+2}并且计算属性权值
Figure FDA0003621433410000061
和中间变量
Figure FDA0003621433410000062
然后将消息
Figure FDA0003621433410000063
发送给认证中心CA;其中,L2层群组为低于L1层群组的层次,
Figure FDA0003621433410000064
表示L1层群组的属性序列号集,χ2,j,ν为终端成员u2,j的第v个属性权限参数,
Figure FDA0003621433410000065
表示终端成员u2,j的私钥,H2(·)是哈希散列函数;
K)认证中心CA收到终端成员u2,j发送的消息
Figure FDA0003621433410000066
后,认证中心CA计算中间变量
Figure FDA0003621433410000067
且通过验证等式
Figure FDA0003621433410000068
是否成立验证终端成员u2,j的身份,如果验证通过,认证中心CA计算中间变量χ′1,i,v=ι1,i,vβ2,j,v1,i,vβ2,j,v=ι1,i,vβ2,j,v+1=ι1,i,vβ2,j,v+2)并且发送消息{χ′1,i,v2,j,ν2,j,ν+12,j,ν+2,PKCA}给终端成员u2,j;其中,
Figure FDA0003621433410000069
表示验证终端成员u2,j身份所需要的中间变量,PKCA表示认证中心CA的公钥;
L)终端成员u2,j接收到认证中心CA发送的消息{χ′1,i,v2,j,ν2,j,ν+12,j,ν+2,PKCA}后,终端成员u2,j通过验证等式e(δ2,j,g1)=e(μ2,jg1,PKCA)是否成立验证认证中心CA的身份,如果验证通过,终端成员u2,j用中间变量χ′1,i,v替代{χ2,j,ν2,j,ν+12,j,ν+2}并且计算属性权值
Figure FDA00036214334100000610
终端成员u2,j获得新的属性权值集合{T2,j,1,...T2,j,v-1,T2,j,v+3,...T2,j,r,T1',i,v},L2层群组的终端成员u2,j的属性序列号与L1层群组的终端成员u1,i属性序列号的交集
Figure FDA00036214334100000611
因此属性权值{T2,j,1,...T2,j,v-1,T2,j,v+3,...T2,j,r}与{T1,i,1,...T1,i,v-1,T1,i,v+1,...,T1,i,r}相等,然后按照步骤三进行群组L1的密钥协商。
6.根据权利要求4或5所述的基于隐私保护的分层动态群组密钥协商方法,其特征在于,所述步骤四中参与低层次群组的密钥协商的实现方法为:
M)当处于高层级的L1层群组且带有属性序列号
Figure FDA00036214334100000612
的终端成员u1,i想要参与L2层群组的群组密钥协商,终端成员u1,i从认证中心CA获得L2层群组的属性序列号
Figure FDA00036214334100000613
终端成员u1,i将新获得的属性序列号与原有的属性序列号取交集,交集
Figure FDA00036214334100000614
终端成员u1,i的属性序列号与L2层群组属性序列号不相交的集合AS2={S2,ν,S2,ν+1,S2,ν+2},然后终端成员u1,i计算中间变量
Figure FDA0003621433410000071
然后将消息
Figure FDA0003621433410000072
发送给认证中心CA;其中,
Figure FDA0003621433410000073
L2层群组为低于L1层群组的层次,
Figure FDA0003621433410000074
表示L2层群组的属性序列号,AS0表示L1层群组的属性序列号与L2层的群组属性序列号的交集,
Figure FDA0003621433410000075
表示终端成员u1,i的私钥,H2(·)是哈希散列函数;
N)认证中心CA收到终端成员u1,i发送的消息
Figure FDA0003621433410000076
后,计算中间变量
Figure FDA0003621433410000077
并且通过验证等式
Figure FDA0003621433410000078
是否成立验证终端成员u1,i的身份和属性,如果相等,认证中心CA计算中间变量χ'2,j,v=ι2,j,vβ1,i,v,χ'2,j,v+1=ι2,j,v+1β1,i,v,χ'2,j,v+2=ι2,j,v+2β1,i,v并发送新的属性权限参数{χ1,i,ν,χ'2,j,v,χ'2,j,v+1,χ'2,j,v+2,PKCA}给终端成员u1,i;其中,
Figure FDA0003621433410000079
表示验证终端成员u1,i身份所需的中间变量,χ2,j,ν为终端成员u2,j的第v个属性权限参数;
O)终端成员u1,i收到认证中心CA发送的消息后,通过验证等式e(δ1,i,g1)=e(μ1,ig1,PKCA)是否成立验证认证中心CA的身份,如果验证通过,终端成员u1,i用属性权限参数集合{χ'2,j,v,χ'2,j,v+1,χ'2,j,v+2}替换χ1,i,ν并且计算新的属性权值
Figure FDA00036214334100000710
终端成员u1,i获得新的属性权值集合{T1,i,1,...T1,i,v-1,T1,i,v+1,...T1,i,r,T′2,j,v,T′2,j,v+1,T′2,j,v+2},L2层群组的终端成员u2,j的属性序列号与L1层群组的终端成员u1,i属性序列号的交集
Figure FDA00036214334100000711
属性权值集合{T2,j,1,...T2,j,v-1,T2,j,v+3,...T2,j,r}与{T1,i,1,...T1,i,v-1,T1,i,v+1,...,T1,i,r}相等,然后按照步骤三进行L1层群组的密钥协商。
7.根据权利要求6所述的基于隐私保护的分层动态群组密钥协商方法,其特征在于,所述等式
Figure FDA00036214334100000712
的验证方法为:
Figure FDA0003621433410000081
等式e(δl,i,g1)=e(μl,ig1,PKCA)的验证方法为:
Figure FDA0003621433410000082
所述等式
Figure FDA0003621433410000083
的验证方法为:
Figure FDA0003621433410000084
等式
Figure FDA0003621433410000085
的验证方法为:
Figure FDA0003621433410000086
等式e(δ2,j,g1)=e(μ2,jg1,PKCA)的验证方法为:
Figure FDA0003621433410000091
所述等式
Figure FDA0003621433410000092
的验证方法为:
Figure FDA0003621433410000093
等式e(δ1,i,g1)=e(μ1,ig1,PKCA)的验证方法为:
Figure FDA0003621433410000094
CN202110641379.4A 2021-06-09 2021-06-09 一种基于隐私保护的分层动态群组密钥协商方法 Active CN113346993B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110641379.4A CN113346993B (zh) 2021-06-09 2021-06-09 一种基于隐私保护的分层动态群组密钥协商方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110641379.4A CN113346993B (zh) 2021-06-09 2021-06-09 一种基于隐私保护的分层动态群组密钥协商方法

Publications (2)

Publication Number Publication Date
CN113346993A CN113346993A (zh) 2021-09-03
CN113346993B true CN113346993B (zh) 2022-07-15

Family

ID=77476186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110641379.4A Active CN113346993B (zh) 2021-06-09 2021-06-09 一种基于隐私保护的分层动态群组密钥协商方法

Country Status (1)

Country Link
CN (1) CN113346993B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242388B (zh) * 2022-07-26 2024-06-25 郑州轻工业大学 一种基于动态属性权限的群组密钥协商方法
CN115529128B (zh) * 2022-09-23 2023-09-29 中科海川(北京)科技有限公司 基于sd-wan的端端协商通信方法、终端设备、服务器
CN118381611B (zh) * 2024-06-25 2024-09-24 浙江之江数安量子科技有限公司 一种群组密钥协商方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE378748T1 (de) * 2002-09-13 2007-11-15 Ericsson Telefon Ab L M Sicherer broadcast-/multicast-dienst
KR101572598B1 (ko) * 2014-07-28 2015-12-11 순천향대학교 산학협력단 Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법
CN110166258B (zh) * 2019-06-21 2022-02-15 郑州轻工业学院 基于隐私保护和属性认证的群组密钥协商方法
CN111049647B (zh) * 2019-11-21 2022-08-02 郑州工程技术学院 一种基于属性门限的非对称群组密钥协商方法
CN112383550B (zh) * 2020-11-11 2022-07-26 郑州轻工业大学 一种基于隐私保护的动态权限访问控制方法

Also Published As

Publication number Publication date
CN113346993A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN109257173B (zh) 基于权限信息交换的非对称群组密钥协商方法
CN110266482B (zh) 一种基于区块链的非对称群组密钥协商方法
Xu et al. VerifyNet: Secure and verifiable federated learning
Odelu et al. Provably secure authenticated key agreement scheme for smart grid
CN113346993B (zh) 一种基于隐私保护的分层动态群组密钥协商方法
CN110011795B (zh) 基于区块链的对称群组密钥协商方法
Zhang et al. A hierarchical group key agreement protocol using orientable attributes for cloud computing
CN106027241B (zh) 一种弹性非对称群组密钥协商的方法
CN110912897B (zh) 基于密文属性认证和门限函数的图书资源访问控制方法
CN112165472B (zh) 一种基于隐私保护的物联网数据安全共享方法
CN112383550B (zh) 一种基于隐私保护的动态权限访问控制方法
Yeh et al. A batch-authenticated and key agreement framework for P2P-based online social networks
CN111049647B (zh) 一种基于属性门限的非对称群组密钥协商方法
CN110166258A (zh) 基于隐私保护和属性认证的群组密钥协商方法
Jan et al. Mitigating the desynchronisation attack in multiserver environment
CN115242388B (zh) 一种基于动态属性权限的群组密钥协商方法
CN111447058B (zh) 基于中国剩余定理的图书资源访问控制方法
Tsai et al. An ECC‐based blind signcryption scheme for multiple digital documents
CN115834067A (zh) 一种边云协同场景中密文数据共享方法
Chait et al. An enhanced RSA-based aggregate signature scheme to reduce blockchain size
Yang et al. RCME: A Reputation Incentive Committee Consensus-Based for Matchmaking Encryption in IoT Healthcare
CN110890961B (zh) 一种新型安全高效的多授权属性基密钥协商协议
Pal et al. Diffie-Hellman key exchange protocol with entities authentication
Wen et al. Intersection-policy private mutual authentication from authorized private set intersection
Gervais et al. Certificateless authenticated key agreement for decentralized WBANs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant