工业物联网中服务器辅助且可验证的属性基签名方案

2020-11-11 09:23张应辉贺江勇
计算机研究与发展 2020年10期
关键词:共谋抵抗服务器

张应辉 贺江勇 郭 瑞 郑 东,3

1(西安邮电大学网络空间安全学院 西安 710121) 2(无线网络安全技术国家工程实验室(西安邮电大学) 西安 710121) 3(卫士通摩石实验室 北京 100070)

工业物联网(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方案是安全高效的.

1 相关工作

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签名产生阶段的安全性还存在许多问题,成为本文的主要研究工作之一.

2 基础理论

本节介绍了文中用到的主要符号和基础知识.

2.1 符号说明

文中所用到的主要符号及解释说明如表1所示:

Table 1 The Main Notations and Description表1 主要符号及说明

2.2 基础知识

定义1.双线性映射.给定G,G1为2个阶为大素数p的乘法循环群,g是G的生成元,Zp为有限域.一个映射e:G×G→G1如果满足3个特性,则称该映射为双线性映射:

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).

3 系统模型及安全模型

本节介绍了SA-VABS方案的系统模型和安全性模型,包括正确性、不可伪造性、抗共谋攻击以及匿名性.

3.1 系统模型

我们提出的SA-VABS方案包含4个实体:属性机构、签名者、验证者以及服务器.系统结构图如图1所示:

Fig. 1 The system architecture图1 系统结构图

Setup.属性机构将安全参数λ作为输入,输出公共参数par和主私钥msk.

KeyGen.属性机构将公共参数par、主私钥msk以及用户属性集A作为输入,分别为服务器和签名者输出部分签名钥psk和签名钥sk.

SSign.服务器将公共参数par、部分签名钥psk、消息m以及访问结构Γk,S作为输入,输出部分签名σ′和相应的验证信息W1及W2.

USign.签名者将公共参数par、签名钥sk、验证信息W1及W2、部分签名σ′作为输入,如果部分签名σ′验证有效则输出完整的签名σ.

3.2 安全模型

提出的SA-VABS方案的安全性需要满足正确性、不可伪造性、抗共谋攻击以及匿名性.

1) 正确性.SA-VABS方案的正确性是指对任意消息m,任何满足访问结构Γk,S的属性集A,运行算法Setup,KeyGen,SSign,USign,Transform以及SVerify,最后UVerify算法输出的结果为true,则说明方案SA-VABS满足正确性.

3) 抗共谋攻击.签名者和服务器的共谋攻击是指签名者使用一个伪造的消息m*产生签名,然后勾结服务器基于m*执行SVerify算法去产生中介签名,但是服务器欺骗验证者中介签名是基于m产生的.这样就可能导致验证者将一个无效的签名通过UVerify算法.因此,包含消息m的验证部分不能由服务器来验证,如果这部分验证由验证者来完成,则可以有效抵抗签名者和服务器的共谋攻击.

4 服务器辅助且可验证的属性基签名方案

本节我们给出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)α.

最多可以说,这些橘红色的生物数量太多,整体场景给人带来一种惊恐感受——似乎金鱼们误闯了一个本不属于它们的空间。这间房间更容易理解,其中摆放的都是一间典型的卧室应有的东西:床、梳妆台、台灯、镜子、格子窗户。所有物品显然都曾在绿色染料中浸泡过——整个场景使人联想到一个超大的金鱼缸。

4) 从Zp中选取n个元素,令D={d1,d2,…,dn}作为虚拟属性集.

因此,系统的主私钥为msk=α,公共参数为par=(g,G,G1,e,p,Z,h0,h1,…,hN,u0,u1,…,unm).

1) 对虚拟属性d∈AUD,随机选择rd∈Zp,计算:

Pd,2=grd,

2) 对属性w∈A∪Ω,随机选择rw∈Zp,计算:

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,算法运行为:

2) 定义一个向量b=(b1,b2,…,bN),计算多项式:

当|S∪D′|+2≤i≤N时,设置bi=0.

3) 对每一个虚拟属性d∈S′∪D′,计算:

4) 随机选择s0,s1∈Zp,计算:

5) 另外,计算相应的验证信息W1和W2:

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.

5 安全性分析

本节主要参考文献[20-21],对提出的SA-VABS的正确性、不可伪造性、抗共谋攻击以及匿名性进行了详细的安全性分析.

5.1 正确性

SA-VABS方案的正确性证明:

5.2 不可伪造性

Setup.首先选择一个包含n个元素的虚拟属性集D以及一个子集D′⊂D,其中|D′|=n-k*.

Pw,2=grw,

第2步,因为:

其中k1,k2都是可计算的,分别为

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可以计算出

如果用abort表示C在模拟过程中终止,定义事件Ei:J(Mi)≠0,i∈[q],E*:J(M*)=0,则C成功的概率为

5.3 抗共谋攻击

由于我们所提出的SA-VABS方案在执行签名验证算法时包含消息m的部分是由验证者来执行,m不参与中介签名的产生,所以签名者就无法勾结服务器基于消息m*执行SVerify算法去产生中介签名,指导服务器欺骗验证者慌称中介签名是基于m产生的.因此,我们所提出的SA-VABS方案有效地抵抗了签名者和服务器的共谋攻击,保证了SA验证阶段的安全性.

5.4 匿名性

在SA-VABS方案中,消息m的签名为

从式中可以看出签名的产生只是通过选择随机数r,rw,s,s0,s1并没有泄露用户的属性及访问结构的任何信息.所以我们提出的SA-VABS方案实现了匿名性.

6 性能评估

本节主要将提出的SA-VABS方案与其他的3种方案从功能和计算开销方面进行对比,最后对方案进行了性能分析.

6.1 功能对比

表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

Note: “√” means that the requirement is met; “×” means that the requirement is not met.

6.2 计算开销对比

表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 计算开销对比

6.3 性能分析

在实验中,我们使用JPBC(Java pairing based cryptography)库[22]在装有Intel Core i5-7440HQ 2.8 GHz处理器和8 GB内存的WINDOWS系统上进行仿真实验.使用typeA类型的双线性对在域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 签名验证的时间对比

7 总 结

对于物联网中资源受限的设备,普通ABS方案存在的挑战是计算开销过高.方案SA-ABSR[19]和SA-ABS[20]通过将签名和验证阶段的主要计算委托给服务器来克服这种挑战.但是这些方案都不能对服务器产生的部分签名进行有效性验证,可能造成服务器对部分签名的伪造.基于此,我们提出一种SA-VABS方案,该方案不仅可以减小签名和验证阶段的计算开销,而且可以抵抗签名者和服务器的共谋攻击,最重要的是可以验证部分签名的有效性,防止服务器对部分签名的伪造.最后,通过具体的安全性分析表明所提出的SA-VABS方案是安全的,并且通过仿真实验和对比分析表明该方案是高效的.

猜你喜欢
共谋抵抗服务器
Changes in Ribose,AGEs and Transketolase in Female GK Rat,a Type 2 Diabetic Model
锻炼肌肉或有助于抵抗慢性炎症
32万多亩养殖面积,产量全国第二!600多人共谋广西南美白对虾业的变革,这场盛会不简单
做好防护 抵抗新冠病毒
“凝心聚力共谋发展”
———山西教育信息化工作讨论会
2018年全球服务器市场将保持温和增长
分手
隐含作者与隐含读者的共谋:整体观照下的不可靠叙述
用独立服务器的站长注意了