工业物联网(industrial Internet of things, IIoT)作为新一代信息技术的重要组成部分,它按照约定的信息交换协议通过传感器设备连接各种网络,以实现智能识别、跟踪、监视、定位和管理[1-2].随着IIoT的普及,其安全问题也越来越受到研究者的关注[3].由于IIoT环境的开放性,数据经过公共信道传输时可能被恶意的敌手伪造或篡改.另外,涉及IIoT情况的数据包含用户身份的敏感信息,容易造成用户身份隐私的泄露.因此,如何确保IIoT系统的数据安全和用户身份隐私非常具有挑战性[4].属性基签名(attribute-based signature, ABS)既可以保护用户身份隐私,又可以实现数据认证.近年来,大多数国内外学者基于ABS,围绕其签名和验证阶段的计算开销、灵活的访问结构、服务器辅助(server-aided, SA)签名和验证阶段的安全性等问题进行了研究,形成了较为丰富的理论成果.在减小签名者和验证者的计算开销方面,一个可行的方法是采用SA技术[5]将繁重的计算委托给服务器.但是针对SA签名产生和验证阶段安全性的研究,大多数学者只是通过抵抗签名者和服务器的共谋攻击保证了SA验证阶段的安全性.如何抵抗服务器对部分签名的伪造,保证SA签名产生阶段的安全性具有重要的研究意义,需进一步研究.
本文的主要贡献包括3个方面:
1) 提出了一种服务器辅助且可验证的ABS(server-aided and verifiable ABS, SA-VABS)方案,通过对服务器产生的部分签名进行有效性验证,抵抗了服务器对部分签名的伪造;
2) 提出的SA-VABS方案可以抵抗签名者和服务器的共谋攻击,即签名者勾结服务器并指导服务器产生一个无效的中介签名去欺骗验证者;
3) 对提出的SA-VABS方案进行了严格的安全性分析,并在理论上和实验上评估了其性能,最后通过对比分析说明了SA-VABS方案是安全高效的.
ABS的概念是从属性基加密(attribute-based encryption, ABE)演变而来的[6],正式定义首先由Maji等人[7]提出,该方案仅能在一般的群模型下给出安全性证明.为了提高方案的安全性,Li等人[8]提出两种支持门限访问结构的ABS方案,并且在随机预言模型和标准模型下分别证明了方案的不可伪造性;为了减小系统的存储负担,Ge等人[9]在标准模型下提出一种高效的ABS方案,该方案的签名长度是恒定的,不会随着属性的数量发生变化;为了实现更灵活的访问结构,Su等人[10]在2014年提出一种支持树形访问结构的ABS方案.然而,这5种ABS方案的一个共同问题是签名者和验证者的计算开销随着属性的数量呈线性增长.
外包计算基于云计算[11],最早是由Hohenberger等人[12]提出;由于现有ABS方案中签名生成算法需要大量的指数运算,Chen等人[13]首先提出外包ABS(outsourced ABS, OABS)方案,将签名产生算法的主要计算开销委托给服务器;Ren等人[14]在2018年提出另一种可以验证外包签名有效性的OABS方案;最近,Mo等人[15]也提出了一种应用于医疗系统中的OABS方案,该方案支持更灵活的访问结构;在2019年Sun等人[16]提出一种外包的分散式多属性机构ABS(outsourced decentralized multi-authority,ODMA-ABS)方案,该方案相关的公私钥由多个属性机构交互来生成,提高了OABS方案的安全性.然而,这些OABS方案只减小了签名产生阶段的计算开销,并没有减小签名验证阶段的计算开销.
为了提高ABS方案签名验证的效率,Matsumoto等人[17]首次提出SA的概念,可以将验证者的繁重计算委托给服务器.2014年Wang等人[18]首先提出SA验证的ABS(attribute-based server-aided verifi-cation signature, ABSAVS)方案,借助服务器减轻了验证者的计算开销.最近,Cui等人[19]第1次提出可撤销的SA-ABS(server-aided ABS with revoca-tion, SA-ABSR)方案,该方案借助服务器同时减小了签名者和验证者的计算开销,而且支持用户撤销的功能,但是不能抵抗签名者和服务器的共谋攻击.基于此,Xiong等人[20]提出另一种SA-ABS方案,不仅抵抗签名者和服务器的共谋攻击,而且实现了更灵活的LSSS访问结构.但是,他们提出的SA-ABS方案都不能验证部分签名(即服务器产生的签名)的有效性,因此不能抵抗服务器对部分签名的伪造.
综上,现有的SA-ABS方案中,对于计算开销的研究比较理想的技术是SA技术.而对于SA阶段的安全性问题,大多数学者主要是围绕SA验证阶段的安全性研究,通过抵抗签名者和服务器的共谋攻击来保证SA验证阶段的安全性.如何抵抗服务器对部分签名的伪造,确保SA签名产生阶段的安全性还存在许多问题,成为本文的主要研究工作之一.
本节介绍了文中用到的主要符号和基础知识.
文中所用到的主要符号及解释说明如表1所示:
Table 1 The Main Notations and Description
表1 主要符号及说明
NotationsDescriptionΓk,Sthreshold access structureparpublic parametermskmaster private keypskpartial signing keysksigning keytktransformed keyσsignatureσ'partial signatureσtransformed signatureσ^1intermediate signature
定义1. 双线性映射.给定G,G1为2个阶为大素数p的乘法循环群,g是G的生成元,Zp为有限域.一个映射e:G×G→G1如果满足3个特性,则称该映射为双线性映射:
1) 双线性.∀a,b∈Zp以及g1,g2∈G,等式:
成立.
2) 非退化性.e(g,g)≠1.
3) 可计算性.对任意g1,g2∈G,存在可以计算e(g1,g2)的高效算法.
定义2. n-DHE问题.对任意a∈Zp,g∈G,给定g,ga,ga2,…,gan,gan+2,…,ga2n,计算gan+1的值.如果不存在能够以不可忽略的概率优势解决n-DHE问题的多项式时间算法,则称n-DHE问题是困难的.
定义3. 拉格朗日插值.设p(x)是有限域Zp上n-1阶多项式,定义Ω∈{1,2,…,n},计算p(x):
其中,拉格朗日系数是![]()
定义4. 门限访问结构.门限访问结构是一个单调的布尔函数,可以描述为
其中,A是用户的属性集,S是访问结构的属性集,k是访问结构中所指定的门限值.当Γk,S(A)=1时,我们认为属性集A满足访问结构Γk,S(A).
本节介绍了SA-VABS方案的系统模型和安全性模型,包括正确性、不可伪造性、抗共谋攻击以及匿名性.
我们提出的SA-VABS方案包含4个实体:属性机构、签名者、验证者以及服务器.系统结构图如图1所示:
Fig. 1 The system architecture
图1 系统结构图
在阶段①,属性机构首先产生公共参数par和主私钥msk,然后根据用户的属性集合分别为服务器和签名者生成部分签名钥psk和签名钥sk.在阶段②,服务器利用部分签名钥psk和访问结构Γk,S对消息m进行签名,生成部分签名σ′并发送给签名者.在阶段③,签名者首先验证部分签名σ′的有效性,如果有效则签名者利用签名钥sk以及部分签名σ′生成完整的签名σ并发送给验证者,否则终止签名.在阶段④,验证者随机选取转换钥tk,然后产生转换签名
发送给服务器.在阶段⑤,服务器根据转换签名
生成一个中介签名
返回给验证者.最后,验证者基于转换签名
和转换钥tk验证签名σ的有效性.我们的SA-VABS方案用7个算法来描述:Setup,KeyGen,SSign,USign,Transform,SVerify以及UVerify.
Setup.属性机构将安全参数λ作为输入,输出公共参数par和主私钥msk.
KeyGen.属性机构将公共参数par、主私钥msk以及用户属性集A作为输入,分别为服务器和签名者输出部分签名钥psk和签名钥sk.
SSign.服务器将公共参数par、部分签名钥psk、消息m以及访问结构Γk,S作为输入,输出部分签名σ′和相应的验证信息W1及W2.
USign.签名者将公共参数par、签名钥sk、验证信息W1及W2、部分签名σ′作为输入,如果部分签名σ′验证有效则输出完整的签名σ.
Transform.验证者将公共参数par、转换钥tk以及签名σ作为输入,输出转换签名![]()
SVerify.服务器将公共参数par、转换签名
作为输入,输出中介签名![]()
UVerify.验证者将公共参数par、转换钥tk以及中介签名
作为输入,输出true或者false.
提出的SA-VABS方案的安全性需要满足正确性、不可伪造性、抗共谋攻击以及匿名性.
1) 正确性.SA-VABS方案的正确性是指对任意消息m,任何满足访问结构Γk,S的属性集A,运行算法Setup,KeyGen,SSign,USign,Transform以及SVerify,最后UVerify算法输出的结果为true,则说明方案SA-VABS满足正确性.
2) 不可伪造性.SA-VABS方案的不可伪造性表现为一个伪造者
和一个挑战者
之间的交互游戏.
Initialize.伪造者
向挑战者
宣布要攻击的访问结构Γk,S.
Setup.挑战者
产生公共参数par和主私钥msk,然后挑战者
将公共参数par发送给伪造者![]()
Queries.伪造者
向挑战者
进行4方面询问,
首先初始化一个空的列表L.
① 部分签名钥询问(partial signing key oracle).具有属性集A的伪造者
进行部分签名钥询问,然后
在列表L中检查是否存在元组(A,psk,sk).如果存在则返回psk给
否则运行KeyGen算法并且将新元组(A,psk,sk)添加到L之后返回psk给![]()
② 签名钥询问(signing key oracle).具有属性集A的伪造者
进行签名钥询问,然后
在列表L中检查是否存在元组(A,psk,sk).如果存在则返回sk给
否则运行KeyGen算法并且将新元组(A,psk,sk)添加到L之后返回sk给![]()
③ 签名询问(signing oracle).伪造者
选择一个消息m和一个访问结构Γk,S,然后
运行SSign以及USign算法去产生相应的签名σ并发送给![]()
④ 签名验证询问(UVerify oracle).伪造者
用签名σ发起签名验证询问,挑战者
运行Trans-form算法并返回转换签名
给
然后
返回中介签名
给
最后,
运行UVerify算法将验证结果返回给![]()
Forgery.伪造者
对消息m*在访问结构Γk*,S*下产生签名σ*,如果满足以下2个条件:m*和Γk*,S*从未被
询问;
收到签名σ*后,计算转换签名
发送给
然后
返回中介签名
给
最后运行UVerify算法返回的结果为true,则认为
赢得该游戏.
3) 抗共谋攻击.签名者和服务器的共谋攻击是指签名者使用一个伪造的消息m*产生签名,然后勾结服务器基于m*执行SVerify算法去产生中介签名,但是服务器欺骗验证者中介签名是基于m产生的.这样就可能导致验证者将一个无效的签名通过UVerify算法.因此,包含消息m的验证部分不能由服务器来验证,如果这部分验证由验证者来完成,则可以有效抵抗签名者和服务器的共谋攻击.
4) 匿名性.对于任何消息m,公共参数和主私钥Setup(1λ)→(par,msk),满足访问结构Γk,S的2个属性集合A1和A2,对应的签名钥KeyGen(par,msk,A1)→(psk1,sk1)和KeyGen(par,sk,A2)→(psk2,sk2),如果生成的2个签名
和
是不可区分的,则称提出的方案SA-VABS具有匿名性.
本节我们给出SA-VABS方案的具体构造,包括7个算法:Setup,KeyGen,SSign,USign,Transform,SVerify,UVerify.
Setup.该算法用于产生系统公共参数和主私钥,输入安全参数λ,算法运行步骤为:
1) 定义U为系统中的属性集合,M定义为长度最大为m的明文空间.Ω为默认属性集,其中|Ω|=n.假设U∪Ω中的每一个属性都是Zp中的元素.
2) 设G,G1为p阶乘法循环群,定义一个双线性映射e:G×G→G1,其中g是G的生成元.随机选取α∈Zp,计算Z=e(g,g)α.
3) 随机选取
其中N=2n+1,并计算h0=gv0,hi=gvi,i∈{1,2,…,N}.
4) 从Zp中选取n个元素,令D={d1,d2,…,dn}作为虚拟属性集.
5) 另外,从G中随机选取u0,u1,…,unm,定义Hash函数
是消息m的第i个字节.
因此,系统的主私钥为msk=α,公共参数为par=(g,G,G1,e,p,Z,h0,h1,…,hN,u0,u1,…,unm).
KeyGen.输入公共参数par、主私钥msk以及用户属性集A,随机选取β,a1,a2,…,an-1∈Zp,定义一个多项式
使得q(0)=β .
1) 对虚拟属性d∈AUD,随机选择rd∈Zp,计算:
Pd,2=grd,
2) 对属性w∈A∪Ω,随机选择rw∈Zp,计算:
Pw,1=gα-β×
,
Pw,2=grw,
因此,属性机构为服务器和用户产生的部分签名钥以及签名钥分别是
psk={Pd,1,Pd,2,{Pd,i}i∈{1,2,…,N-1}},
sk={gα-β,Pw,1,Pw,2,{Pw,i}i∈{1,2,…,N-1}}.
SSign.该算法用于将签名过程的繁重计算委托给服务器.输入公共参数par、部分签名钥psk、消息m以及访问结构Γk,S,算法运行为:
1) 随机选择任意属性集S′⊂A∩S,令|S′|=k,进一步选择一个虚拟属性集D′⊂D,令|D′|=n-k.
2) 定义一个向量b=(b1,b2,…,bN),计算多项式:
当|S∪D′|+2≤i≤N时,设置bi=0.
3) 对每一个虚拟属性d∈S′∪D′,计算:
其中,![]()
4) 随机选择s0,s1∈Zp,计算:
5) 另外,计算相应的验证信息W1和W2:
![]()
![]()
最终,消息m的部分签名为![]()
USign.输入公共参数par、签名钥sk以及部分签名σ′,算法运行为:
1) 计算:Z1=e(g,gα-β).
2) 验证下列等式是否成立:
Z1×W1=W2.
3) 如果等式成立,计算:
![]()
![]()
4) 随机选择s∈Zp,计算:
最终,消息m的签名为σ={m,Γk,S,σ0,σ1,σ2}.
Transform.输入公共参数par和签名σ,算法运行如下:
1) 随机选择t∈Zp.
2) 计算![]()
最后输出转换签名为
转换钥为tk=t.
SVerify.该算法用于将验证过程的繁重计算委托给服务器.输入公共参数par和转换签名
算法运行产生中介签名![]()
收到
之后,服务器将
发送给验证者.
UVerify.从服务器收到中介签名
之后,算法运行为:
1) 验证者首先计算![]()
2) 验证
是否成立.
如果
成立,则输出true,表明签名是有效的;否则输出false.
本节主要参考文献[20-21],对提出的SA-VABS的正确性、不可伪造性、抗共谋攻击以及匿名性进行了详细的安全性分析.
SA-VABS方案的正确性证明:




e(g,(gαH(m)s1+s)t),
![]()
![]()
e(H(m),(gs1+s)t)×(e(g,g)α)t=
e(H(m)s1+s,gt)×(e(g,g)α)t=
e(g,(H(m)s1+s)t)×e(g,(gα)t)=
e(g,(gα×H(m)s1+s)t).
由于等式
验证成立,所以我们提出的SA-VABS方案满足正确性.
假设伪造者
允许挑战者构造一个算法C,该算法根据(g,ga,ga2,…,gaN,gaN+2,…,ga2N)计算gaN+1,其中,N=2n+1.
Initialize.定义向量a=(a1,a2,…,aN)、α=(α1,α2,…,αN)以及与多项式φ(z)相关的向量b=(b1,b2,…,bN),gi=gai,i∈{1,2,…,2N+1}\{N+1}.伪造者
指定目标访问结构
发送给C.
Setup.首先选择一个包含n个元素的虚拟属性集D以及一个子集D′⊂D,其中|D′|=n-k*.
1) 挑战者
随机选择θ0,δ0∈Zp,向量
计算h0=gθ0×g-
a,b
,hi=ga×gθ,e(g,g)α=e(g1,gN)×e(g,g)δ0.所以相应的主私钥为gα=gaN+1×gδ0.
2) 挑战者
定义向量U=(u0,u1,…,unm),随机选择变量ν∈[1,nm]以及η0,λ0,{ηj},{λj}∈Zp,其中j∈[1,nm].定义u0=ga(η0-2νq)×gλ0(q为签名询问的最大次数),uj=gaηj×gλj.
3) 挑战者
选择一个Hash函数H并设置公共参数为par=(g,e,h0,h1,…,hN,u0,u1,…,unm,U,D,H).
Queries.伪造者
向挑战者
进行询问:
1) 部分签名钥询问(partial signing key oracle).从
收到属性集A之后,C在列表L中检查是否存在元组(A,psk,sk),如果存在则返回psk给
否则随机选择β∈Zp,运行KeyGen算法并将新元组(A,psk,sk)添加到L之后返回psk给![]()
2) 签名钥询问(signing key oracle).从
收到属性集A之后,C在列表L中检查是否存在元组(A,psk,sk),如果存在则返回sk给
否则随机选择β∈Zp,计算如下:
对任意w∈(A∩S*)∪D′,定义
对于任意满足|A∩S*|<k*的属性集
可以获得私钥.由于(A∩S*)∪D′的基数严格小于n(|D′|=n-k*),向量
0,…,0)T不在
的范围内.C选择一个向量τ使得
但
记
选择一个向量p=(p1,p2,…pn)T和
定义u=p+ψτ使得:
① 如果w∈(A∪D∪Ω)∩((A∩S*)∪D′),则
所以C可以简单选取
并计算:
Pw,2=grw,
② 如果w∉(A∪D∪Ω)∩((A∩S*)∪D′),则
不在
的范围,
可以通过两步来构建skA.
第1步,对于属性w∉(A∩S*)∪D′,C首先构造
并且定义一个N×(N-1)的矩阵Qw:
然后随机选择
定义
使得ε满足εTQw=0但
b,ε
=ε1φ(w)≠0,另外定义
为
因为对于任意向量f,在乘积
中aN+1的系数为
可以计算:
由于aN+1在
中的系数为-1,所以aN+1在
中的系数为0.因此
可以被C高效地计算.
第2步,因为:
![]()
![]()
k1(α-β)+k2,
其中k1,k2都是可计算的,分别为
![]()
![]()
所以,C可以选择
并计算:
最后,C将新元组(A,psk,sk)添加到列表L之后返回签名钥sk给![]()
3) 签名询问(signing oracle).对每个消息m,C定义函数:
通过以上函数,对于一个消息m,存在:
① 如果J(M)=0,C中止游戏.
② 如果J(M)≠0,C随机选择r,rw,s0,s1,s以及s2∈Zp,使得:
签名可以模拟为:
δ1=gr×gs0×grw=gr+s0+rw,
因此C返回m的签名σ={m,σ0,σ1,σ2}给![]()
4) 签名验证询问(UVerify oracle).C运行Transform算法即C随机选择转换钥t∈Zp并计算
然后返回转换签名
给
收到
之后,F运行SVerify算法去产生中介签名:
最后,
返回中介签名
给C.C计算
并检查
是否成立,输出true或者false.
Forgery.如果
从未对m*在访问结构
下进行签名询问,输出伪造签名
如果J(M)≠0则C中止,否则J(M)=0,存在:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
(gK(M*))s+s1=gδ0gaN+1(gθ0+
θ,b
)r+s0+rw×![]()
所以C可以计算出
如果用abort表示C在模拟过程中终止,定义事件Ei:J(Mi)≠0,i∈[q],E*:J(M*)=0,则C成功的概率为
由于我们所提出的SA-VABS方案在执行签名验证算法时包含消息m的部分是由验证者来执行,m不参与中介签名的产生,所以签名者就无法勾结服务器基于消息m*执行SVerify算法去产生中介签名,指导服务器欺骗验证者慌称中介签名是基于m产生的.因此,我们所提出的SA-VABS方案有效地抵抗了签名者和服务器的共谋攻击,保证了SA验证阶段的安全性.
在SA-VABS方案中,消息m的签名为
![]()
H(m)s+s1,
从式中可以看出签名的产生只是通过选择随机数r,rw,s,s0,s1并没有泄露用户的属性及访问结构的任何信息.所以我们提出的SA-VABS方案实现了匿名性.
本节主要将提出的SA-VABS方案与其他的3种方案从功能和计算开销方面进行对比,最后对方案进行了性能分析.
表2将提出的SA-VABS方案与方案OABS-II[13],SA-ABSR[19],SA-ABS[20]进行了功能对比.在表2中,SAS Secure和SAV Secure分别表示在SA签名产生阶段和SA验证阶段是否满足安全性.SA-Sign和SA-Verify分别表示方案在签名和验证阶段是否运用SA技术.空白代表方案没有涉及.方案OABS-II[13]只是在签名产生阶段运用SA技术,虽然方案SA-ABSR[19]和SA-ABS[20]在签名产生和验证阶段都用到了SA技术,但是它们不能对部分签名的有效性进行验证,因此不能抵抗服务器对部分签名的伪造,而且方案SA-ABSR[19]不能抵抗签名者和服务器的共谋攻击.从表2可以看出SA-VABS方案在签名产生和验证阶段都运用了SA技术,而且可以抵抗签名者和服务器的共谋攻击,最重要的是可以对部分签名的有效性进行验证,从而抵抗了服务器对部分签名的伪造.因此我们的方案保证了SA签名产生和验证阶段的安全性,所以我们的方案有更好的安全性.
Table 2 The Functional Comparison of Four Schemes
表2 4种方案的功能对比
SchemeSAS SecureSAV SecureSA-SignSA-VerifyOABS-II×√×SA-ABSR××√√SA-ABS×√√√SA-VABS√√√√
Note: “√” means that the requirement is met; “×” means that the requirement is not met.
表3将提出的SA-VABS方案与OABS-II[13],SA-ABSR[19],SA-ABS[20]进行了计算开销的对比.Key.Gen,Sig.Gen,Verify分别表示签名钥产生、签名产生以及用户验证的计算开销.n和d分别表示默认的属性集合和用户的属性集合.E,P,H分别表示指数运算、双线性对运算以及Hash运算的时间消耗.对于计算开销,从表3可以看出我们的方案在签名钥产生方面优于其他方案;在签名验证方面,我们的方案与最新的方案SA-ABS[20]持平.
Table 3 The Computational Overheads Comparison
表3 计算开销对比
SchemeKey.GenSig.GenVerifyOABS-II3(n+d+1)E(2n+2)E(2n+2)E+3P+HSA-ABSR(6n+3)E(2n+3)E4ESA-ABS(d2+3d+2)E5E4E+PSA-VABS(4n+4)E(2n+3)E4E+P
Note: E means the time consumption of an exponentiation;
P means the time consumption of a pairing operation;
H means the time consumption of a Hash computation.
在实验中,我们使用JPBC(Java pairing based cryptography)库[22]在装有Intel Core i5-7440HQ 2.8 GHz处理器和8 GB内存的WINDOWS系统上进行仿真实验.使用type A类型的双线性对在域Fp上构建椭圆曲线y2=x3+x.
Fig. 2 Time comparison of signature key generation
图2 签名钥产生的时间对比
在图2中,将我们提出的SA-VABS方案和方案OABS-II[13],SA-ABSR[19],SA-ABS[20]对签名钥产生所消耗的时间进行了对比.默认的属性集合大小设置为n=10,横坐标表示用户的属性数量,纵坐标表示签名钥产生的时间.可以看出SA-VABS方案与方案SA-ABSR[19]的签名钥产生时间是恒定的,不会随着用户属性的数量发生变化,而方案OABS-II[13]和SA-ABS[20]签名钥产生的时间随着属性的数量呈线性增长.因此,SA-VABS方案的签名钥产生效率有着明显的优势.图3表示签名产生所消耗时间的对比,这4个方案签名产生的时间都保持不变,由于我们的SA-VABS方案在部分签名生成时进行了有效性验证,因此消耗的时间略高于方案SA-ABS[20].同样,图4表示签名验证所消耗时间的对比,不可否认的是SA-VABS的签名验证时间与最新方案SA-ABS[20]持平,略高于方案SA-ABSR[19],但是我们的SA-VABS方案有更好的安全性.总之,在我们的方案中,签名钥生成、签名生成以及签名验证的时间消耗都是是恒定的,不会随着用户属性的数量而增加.因此,我们的方案适用于资源受限的IIoT场景中.
Fig. 3 Time comparison of signature generation
图3 签名产生的时间对比
Fig. 4 Time comparison of signature verification
图4 签名验证的时间对比
对于物联网中资源受限的设备,普通ABS方案存在的挑战是计算开销过高.方案SA-ABSR[19]和SA-ABS[20]通过将签名和验证阶段的主要计算委托给服务器来克服这种挑战.但是这些方案都不能对服务器产生的部分签名进行有效性验证,可能造成服务器对部分签名的伪造.基于此,我们提出一种SA-VABS方案,该方案不仅可以减小签名和验证阶段的计算开销,而且可以抵抗签名者和服务器的共谋攻击,最重要的是可以验证部分签名的有效性,防止服务器对部分签名的伪造.最后,通过具体的安全性分析表明所提出的SA-VABS方案是安全的,并且通过仿真实验和对比分析表明该方案是高效的.
[1]Gubbi J, Buyya R, Marusic S, et al. Internet of things (IoT): A vision, architectural elements, and future directions[J]. Future Generation Computer Systems, 2013, 29(7): 1645-1660
[2]Zhang Yinghui, Deng R H, Zheng Dong, et al. Efficient and robust certificateless signature for data crowdsensing in cloud-assisted industrial IoT[J]. IEEE Transactions on Industrial Informatics, 2019, 15(9): 5099-5108
[3]Que Mengfei, Zhang Junwei, Yang Chao, et al. Position based digital signature scheme in IoTs[J]. Journal of Computer Research and Development, 2018, 55(7): 1421-1431 (in Chinese)(阙梦菲, 张俊伟, 杨超, 等. 物联网中基于位置的数字签名方案[J]. 计算机研究与发展, 2018, 55(7): 1421-1431)
[4]Zhang Jiansong, Wang Zeyu, Yang Zhice, et al. Proximity based IoT device authentication[C] //Proc of IEEE Conf on Computer Communications(INFOCOM’2017). Piscataway, NJ: IEEE, 2017: 1-9
[5]Wu Wei, Mu Yi, Susilo W, et al. Provably secure server-aided verification signatures[J]. Computers & Mathematics with Applications, 2011, 61(7): 1705-1723
[6]Bethencourt J, Sahai A, Waters B. Ciphertext-policy attribute-based encryption[C] //Proc of IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2007: 321-334
[7]Maji H K, Prabhakaran M, Rosulek M. Attribute-based signatures[C] //Proc of the Cryptographer’s Track at RSA Conf. Berlin: Springer, 2011: 376-392
[8]Li Jin, Au M H, Susilo W, et al. Attribute-based signature and its applications[C] //Proc of the 5th ACM Symp on Information, Computer and Communications Security. New York: ACM, 2010: 60-69
[9]Ge A J, Ma C G, Zhang Z. Attribute-based signature scheme with constant size signature in the standard model[J]. IET Information Security, 2012, 6(2): 47-54
[10]Su Jinshu, Cao Dan, Zhao Baokang, et al. ePASS: An expressive attribute-based signature scheme with privacy and an unforgeability guarantee for the Internet of things[J]. Future Generation Computer Systems, 2014, 33(4): 11-18
[11]Zhang Qi, Cheng Lu, Boutaba R. Cloud computing: State-of-the-art and research challenges[J]. Journal of Internet Services and Applications, 2010, 1(1): 7-18
[12]Hohenberger S, Lysyanskaya A. How to securely outsource cryptographic computations[C] //Proc of Theory of Cryptography Conf. Berlin: Springer, 2005: 264-282
[13]Chen Xiaofeng, Li Jin, Huang Xinyi, et al. Secure outsourced attribute-based signatures[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(12): 3285-3294
[14]Ren Yanli, Jiang Tiejin. Verifiable outsourced attribute-based signature scheme[J]. Multimedia Tools and Applications, 2018, 77(14): 18105-18115
[15]Mo Ruo, Ma Jianfeng, Liu Ximeng, et al. EOABS: Expressive outsourced attribute-based signature[J]. Peer-to-Peer Networking and Applications, 2018, 11(5): 979-988
[16]Sun Jiameng, Su Ye, Qin Jing, et al. Outsourced decentralized multi-authority attribute based signature and its application in IoT[J]. IEEE Transactions on Cloud Computing, 2019. DOI:10.1109/TCC.2019.2902380
[17]Matsumoto T, Kato K, Imai H. Speeding up secret computations with insecure auxiliary devices[C] //Proc of Conf on the Theory and Application of Cryptography. Berlin: Springer, 1988: 497-506
[18]Wang Zhiwei, Xie Ruirui, Wang Shaohui. Attribute-based server-aided verification signature[J]. Applied Mathematics & Information Sciences, 2014, 8(6): 3183-3190
[19]Cui Hui, Deng R H, Liu J K, et al. Server-aided attribute-based signature with revocation for resource-constrained industrial-internet-of-things devices[J]. IEEE Transactions on Industrial Informatics, 2018, 14(8): 3724-3732
[20]Xiong Hu, Bao Yangyang, Nie Xuyun, et al. Server-aided attribute-based signature supporting expressive access structures for industrial Internet of things[J]. IEEE Transactions on Industrial Informatics, 2020, 16(2): 1013-1023
[21]Herranz J, Laguillaumie F, Libert B, et al. Short attribute-based signatures for threshold predicates[C] //Proc of Cryptographers’ Track at the RSA Conf. Berlin: Springer, 2012: 51-67
[22]De Caro A, Iovino V. jPBC: Java pairing based cryptography[C] //Proc of IEEE Symp on Computers and Communications. Piscataway, NJ: IEEE, 2011: 850-855