1、第 22卷 第 10期2023年 10月Vol.22 No.10Oct.2023软 件 导 刊Software Guide基于证书的同态聚合签名方案在智慧家居传感器网络中的应用茅磊(江苏建筑职业技术学院 信电工程学院,江苏 徐州 221116)摘要:随着人工智能、云计算、云存储和物联网技术的发展,智慧家居作为新兴产业,已逐步走进人们的视野。智慧家居系统是基于物联网技术构建的,系统边缘由大量无线传感器构成,因此保证各边缘传感器采集数据在云服务器端的完整性是一个重要的研究课题。基于证书的同态聚合签名方案可方便地部署在智慧家居系统之上,并能快速、高效地实现对智慧家居云端多用户数据完整性的批量验证。方
2、案在安全方面可以抵抗基于证书同态签名中超级攻击者的攻击,同时能够防止聚合签名中来自恶意攻击者的合谋攻击。通过JPBC密码学库对方案性能进行仿真实验,结果表明,相比其他方案,该方案在签名验签时的计算开销更小,可大幅提升智慧家居系统中云端多用户数据完整性的批验证效率。关键词:信息安全;智慧家居;传感器网络;同态签名;聚合签名DOI:10.11907/rjdk.231058开 放 科 学(资 源 服 务)标 识 码(OSID):中图分类号:TP393 文献标识码:A文章编号:1672-7800(2023)010-0146-10Application of Certificate Based Homo
3、morphic Aggregation Signature Scheme in Smart Home Sensor NetworksMAO Lei(Institute of Information Technology,Jiangsu Vocational Institute of Architectural Technology,Xuzhou 221116,China)Abstract:With the development of artificial intelligence,cloud computing,cloud storage,and the Internet of Things
4、 technology,smart home,as an emerging industry,has gradually entered peoples vision.The smart home system is built on top of the Internet of Things technology,and the system edges are composed of a large number of wireless sensors.Ensuring the integrity of data collected by each edge sensor on the c
5、loud server is an important research topic.The certificate based homomorphic aggregation signature scheme can be easily deployed on smart home systems and can quickly and efficiently achieve batch verification of multi user data integrity in the smart home cloud.The scheme can resist attacks from su
6、per attackers in certificate based homomorphic signatures in terms of security,while also preventing collusion attacks from malicious attackers in aggregated signatures.After conducting simulation experiments on the performance of the scheme using the JPBC cryptographic library,the results show that
7、 compared to other schemes,this signature scheme has lower computational overhead during signature verification,and can significantly improve the efficiency of cloud based multi user data integrity batch verification in smart home systems.Key Words:information security;smart home;sensor networks;agg
8、regate signature;homomorphic signature0 引言智慧家居又称为智慧住宅1(Smart Home System),是人工智能、物联网、云计算以及建筑设计、建筑装饰等相关学科的综合交叉研究领域。在智慧家居系统中,使用先进的计算机与通信、智慧云端控制、综合布线等技术,将人们日常生活各个子领域系统,如安防、信息家电、室内灯光控制、地板采暖、居家健康保健、卫生防疫等有机结合在一起,通过网络化的综合智慧控制和管理,实现更舒适、方便且更安全、环保的全新家居生活体验2。1 相关工作随着智慧家居产业的逐步发展,有关智慧家居的安全保障问题越来越引起人们的重视。智慧家居系统中存储
9、收稿日期:2023-01-15基金项目:江苏省自然科学基金项目(BK20200391);江苏省高等学校自然科学研究重大项目(21KJA560003)作者简介:茅磊(1986-),男,硕士,江苏建筑职业技术学院信电工程学院助教,研究方向为密码学与信息安全、物联网技术。第 10 期茅磊:基于证书的同态聚合签名方案在智慧家居传感器网络中的应用在云端的数据经常会受到各种威胁,包括用户隐私泄漏、重要数据的非法滥用,以及采集的用户数据完整性被破坏等3。对于用户信息的泄漏、滥用可采用访问控制和加密技术进行预防,在此方面已有不少研究成果。林珊珊等4分析了物联网环境中智慧家居存在的安全隐患,指出智慧家居中存在窃
10、听、流量分析等被动攻击方式以及重放攻击、信息篡改等8种主动攻击方式;严寒等5围绕智慧家居终端设备、云平台、移动应用程序及通信4个方面,综述智慧家居中存在的攻击方法和防御措施,最后讨论了目前学术界及工业界关注的研究热点与难点;冯承文等6分析了智慧家居系统与智慧社区、智慧城市之间的关系,指出智能分析算法的应用会造成智慧家居系统存在相应的安全风险,并分别从法律和技术层面论述了智慧家居安全标准体系框架的通用标准和专用标准;张国亮7从家居安防智能化、家电设备智能化、家居医疗智能化等方面,针对智慧家居系统中的物联网构架安全威胁和通信安全威胁给出了可行性建议和实施方案;王宇成8针对物联网智能家居系统设备攻击
11、检测展开研究,设计了一个基于传感器上下文特征的敏感指令入侵检测框架,实现了对窗户(以及智能门锁)、空调(以及恒温器)、灯、窗帘(以及百叶窗)、电视音响等娱乐类电器(以及厨房类电器)的决策树模型构建。但目前关于智慧家居系统中,对各终端无线传感器收集的相关数据在云端完整性的有效保护方案目前尚不多见,因此本文将针对此问题展开研究。2 系统模型与方案实施过程智慧家居系统在部署时所有功能均以互联网为基础,建立在物联网和云计算之上。智慧家居系统终端一般是各种无线传感设备,其负责收集、更新各种家居生活中的环境数据。由于云计算服务商往往拥有强大的算力以及海量的存储空间,因此可将各终端设备采集的数据传送至云端,
12、通过云计算大数据的分析为智慧家居系统提供各种决策服务,如图1所示。由图1可以看出,保证各终端传感器采集数据的完整性,是智慧家居系统正常工作的基本要求。密码学中的数字签名技术可以同时为物联网终端采集的数据提供真实性、完整性和不可否认性的验证服务,尤其是在数据完整性公开验证、数字取证及不可否认性认证等方面发挥着难以替代的作用。本文针对具有特殊性质的同态聚合数字签名技术展开研究,并将其应用于保障智慧家居系统存储在云端数据的完整性。数字签名技术基于公钥密码学理论,公钥密码体制自1976年由Diffie等9提出以后,按照发展过程出现了传统公钥密码体制、基于身份的公钥密码体制、无证书密码体制和基于证书的密
13、码体制等几类公钥密码体制10。传统公钥密码体制部署时需要设置用户公钥证书管理中心,用于颁发、管理用户证书并验证其合法性,无形中增加了系统证书管理的负担;基于身份的公钥密码体制在使用与部署时,虽然可直接采用用户的标识信息(例如邮箱地址、公民身份证号与电话号码等)作为公钥,减少了传统公钥密码系统中颁发、验证、维护公钥证书等环节,但是用户私钥全部存储在密钥生成中心(Key Generation Center,KGC)。换而言之,基于身份的密码体制中的密钥生成中心(KGC)掌控系统中的所有用户私钥,所以使用时必须假定上述KGC是完全诚实可信的,这强制性假设往往与现实中的某些客观环境不符,不适合应用于智
14、慧家居这样商业性的云存储平台中,会存在密钥托管问题。基于证书的公钥密码体制11-12与以上两种公钥密码体制相比具有明显优势。在基于证书的公钥密码体制中,每个用户拥有自己选择的公私钥对和权威认证机构颁发的证书。当加密或签名时,需要同时使用自己的私钥和证书。由于私钥是用户自己选择的,因此避免了基于身份的密码体制的密钥托管问题,同时在一定程度上降低了传统公钥体制中公钥证书存储效验和计算等方面的开销。在智慧家居系统中可以非常方便地部署基于证书的密码系统:系统云服务商可以扮演证书生成中心,用户注册时,证书生成中心为每个用户生成各自的证书,用户则根据云服务商公开的系统参数随机选择自己的公私钥对。如图 2所
15、示,在智慧家居系统中部署基于证书的公钥密码体制不仅可以抵御外部恶意攻击者,而且可以抵抗不诚实云服务商的伪造,因此是最佳选择。智慧家居边缘系统中的无线传感器每时每刻都在收集用户室内外环境的相关数据,通过网络上传至云平台中进行大数据分析与处理。如果这些收集到的数据在互联网中传输或在云端存储时,受到有意无意的破坏,那么错误的数据就会直接影响到智慧家居系统的正常工作,所以保障智慧家居系统中云端数据的完整性是非常必要的。对于智慧家居系统中无线传感器收集的数据,若采用普通的数字签名来保证采集数据的完整性,需要对每个采集的数据块签名进行验证。该方式不但会增加网络中传输的代价,而且当需要检验存储在云端数据的完
16、整性时,还要云平台互联网移动智能设备智慧家居系统用户 Fig.1Composition of smart home system图1智慧家居系统组成 1472023 年软 件 导 刊逐一下载验证每个数据块对应的签名,因此不实用。同态签名13-16是一种特殊的数字签名,假设M为待签名的数据集空间,该空间中的运算为#,签名空间为,对应空间中的运算为*,对于来自 M 和上的消息签名对(m1,1)和(m2,2)(其中1=f(m1),2=f(m2)),若签名算 法 f 是 代 数 系 统(M,#)到(,*)上 的 同 态 映 射,则f(m1#m2)=f(m1)*f(m2)=1*2成立。可以看出,在同一数
17、据集空间M中,数据签名可由同态组合算法直接生成。聚合签名17-19与同态签名不同,聚合签名中包含以下3类实体:签名者User1,User2,Userq(Useri的公私钥对为(PKi,xi)、签名聚合者(Aggregater)和聚合签名的验证者(Verifier)。聚合者A以 User1,User2,Userq各自产生的消息签名对(m1,1)、(m2,2)、(mq,q)作为输入,通过聚合算法输出聚合后的签名A,然后 A 把 (m1,PK1)、(m2,PK2)、(mq,PKq),A 传送给验证者 V,验证者通过聚合验证算法鉴别聚合签名A的有效性。如果A是合法签名,那么可以确定上述q个用户的单个签
18、名是合法的。在需要把多个不同实体产生的多个签名同时传送给一个验证者进行验证时,聚合签名非常方便实用。在智慧家居系统中,使用同态签名和聚合签名不仅可有效节省对传送方的通信带宽需求,而且可以降低验证多个签名人签名时的计算代价,同时降低云平台中存储多个签名所需的存储代价。当智慧家居无线传感网络收集的各用户数据存放在云平台时,可按时间间隔适当分块,将分成的块看作一个数据集,采用同态签名进行签名,并把数据集标签和各块的签名上传云端,如图3所示。验证者在验证数据的完整性时,可随机指定若干数据块和一个同态函数,向云平台服务器挑战。云平台服务器使用同态组合算法,通过同态运算把用户挑战块和对应签名进行压缩,最后
19、将压缩后的结果返回数据的验证者,验证者使用对应的验证算法验证云服务器返回的结果是否正确,如图4所示。在进行多用户数据块完整性批量验证时,云服务器需将验证者所指定各用户分块的同态函数签名进行聚合,把各数据分块的同态函数值以及这些值的签名聚合结果返回给验证者。验证者通过对聚合签名的验证,便可获知多个不同用户的家居信息数据的完整性,如图5所示。由此可见,在同一用户数据集中的数据块签名可先用同态组合算法进行压缩,而不同用户的数据块(即不同数据集中的数据块)签名用聚合算法进行压缩。该方式既减少了智慧家居云服务器需要传输的信息量,又减少了验证者验证签名的计算量,大大提高了数据签名验签时的效率。基于证书的同
20、态聚合签名在智慧家居系统中的部署方案包括以下几种算法:(1)系统初始化算法。智慧家居系统云平台服务中心作为证书生成中心,输入安全参数1k,算法输出基于证书系统的公私钥对(CB-P0,CB-msk)和系统公开参数 CB-params。其中,系统私钥CB-msk需要严格保密。(2)用户密钥生成算法。用户在智慧家居系统注册云服务器数据集 1采集的数据块使用同态签名对数据块进行签名智能家居设备 Fig.3Data acquisition process in smart home system图3智慧家居系统中的数据采集过程同态组合算法Homomorpic-Combine:数据集标签 和(b2,m2,
21、2),(b4,m4,4),(b5,m5,5)数据验证者采集的数据块数据集 数据块对应的签名输出同态算法组合后的签名*云服务中心 Fig.4Process of using homomorphic algorithms to challenge cloud servers图4使用同态算法向云服务器挑战的过程证书生成算法证书生成算法请求证书请求证书生成证书生成证书证书证书+私钥私钥签名算法:(消息m,签名)验证算法:(True/False)密钥生成算法:(公钥PK,私钥SK)CertCert云平台服务商验证者签名者 Fig.2Certificate-based digital signature
22、system图2基于证书的数字签名系统 148第 10 期茅磊:基于证书的同态聚合签名方案在智慧家居传感器网络中的应用时运行该算法,用户输入自己的身份信息 ID和系统公开参 数 CB-params,算 法 输 出 用 户 的 公 私 钥 对(CB-xID,CB-PKID)。(3)证书生成算法。在智慧家居系统云服务中心运行该算法,算法输入系统的主私钥CB-msk、系统公钥CB-P0、系统公开参数 CB-params、用户 ID 及该用户的公钥CB-PKID,算法输出由该云服务中心签署的用户证书CertID。(4)签名算法。该算法由智慧家居系统的各用户终端运行,对系统中边缘传感器收集的数据进行签名
23、。算法输入用户身份 ID、系统公开参数 CB-params、系统的公钥CB-P0、数据集标签、待签名的数据块 m Znp、用户证书CertID、用户私钥CB-xID,算法输出在身份ID下数据块m的签名。(5)同态组合算法。由智慧家居系统云服务中心运行,数据验证者验证时,随机指定某一数据集中的若干数据块以及同态函数的系数(bi,mi)li=1,向云服务器发出挑战。云服务器运行该算法,输入挑战用户身份ID、公钥PKID、数据集标签和(bi,mi,i)li=1,算法输出同态算法组合后的签名。(6)验证算法。该算法由数据验证者执行,输入系统的公开参数CB-params、系统的公钥CB-P0、用户身份I
24、D、用户的公钥PKID、数据集标签、消息向量m和签名,算法输出true或false。(7)聚合算法。在进行多用户数据块的批量验证时执行本算法。若存在 q 个不同用户 users=u1,u2,uq(其中用户ui的身份为IDi,公钥为PKi),设聚合签名验证者的公私钥对为(pkver,skver),输入系统公开参数 CB-params、聚合签名验证者的公钥pkver、q个用户在对应数据集中数据块向量mi的合法签名i(其中i=1,2,q),算法输出这些用户在消息签名对(mi,i)qi=1上的聚合签名Agg。(8)聚合验证算法。输入系统公开参数CB-params、聚合签名验证者的私钥skver、在(m
25、i,IDi,PKIDi)qi=1上的聚合签名Agg,算法输出true或false。3 基于证书的同态聚合签名算法(1)系统初始化算法。该算法由云平台服务中心运行,输入安全参数1k,云服务中心生成 p 阶的乘法循环群 G1,GT,其中p为素数,g是G1的生成元,双线性映射e:G1G1 GT。随机选择s Z*p,设置系统主私钥 s,系统公钥P0=gs。选择以下 4 个密码 Hash 函数:H1:0,1*G1,H2:0,1*Z*p,H3:0,1*Z*p,H4:0,1*G1,H5:0,1*G1,公开系统的公开参数(G1,GT,e,p,g,P0,H1,H2,H3,H4,H5)。系统参数公开后,聚合签名验
26、证者需随机选取验证私钥 Z*p,并对私钥严格保密,设置公开聚合签名的验证公钥为=g。(2)用户密钥生成算法。该算法由智慧家居系统中的终 端 用 户 运 行,算 法 以 系 统 公 共 参 数 和 用 户 身 份ID 0,1*作 为 输 入。算 法 随 机 选 择x Z*p,计 算PK=gx。(PK,x)即为该用户的公私钥对。(3)证书生成算法。该算法由云平台服务中心运行,用 户 注 册 该 系 统 时,向 云 平 台 服 务 中 心 提 交 身 份ID 0,1*,云平台服务中心输入系统公共参数、主私钥s,计算D=(H1(ID)s,将其作为用户证书,并传递给用户。(4)签名算法。该算法由各用户终
27、端运行,算法输入系统公开参数、用户身份ID、用户证书D、用户私钥x和数据m=(m1,m2,mn)Znp,并随机选择,r Z*p,设置=g,R=gr,进行如下运算:首先计算Q=H1(ID),u=H2(MRPK),v=H3(MRPK),然后计算Y=Q(ux+r)Dv,设置数据集标签为=(R,Y),并计算Ti=H4(IDi),=(i=1n(Ti)mi),最后设置数据m的签名为W=(,)。(5)同态组合算法。当数据验证者向云平台服务中心发起数据块验证挑战时,算法的输入为系统公开参数、用户身份ID、公钥PK、数据集标签和l个挑战系数、数据块(bi,mi)li=1,云平台服务中心运行该算法,输出l个挑战元
28、组(bi,mi,i)li=1组合的数据签名对:y=i=1lbimi和=i=1lbii。(6)验证算法。该算法由数据块验证者运行,算法的输入为系统公开参数、用户身份ID、公钥PK、数据块向量y=(y1,y2,yn)Znp和签名W,算法分两个阶段进行:首先,从W中提取数据集标签=(R,Y),计算Q=H1(ID),u=H2(MRPK),v=H3(MRPK),并验证式(1)是否成立:e(Y,g)=e(PKuPv0R,Q)(1)组合算法中使用同态相同数据集Verify 验证聚合签名 )*q,*2,*1(Aggregate 签名的聚合算法合签名算法之间使用聚不同数据集云服务中心 Fig.5Batch va
29、lidation of multi-user data using aggregation signature algorithm图5使用聚合签名算法实现多用户数据的批验证 1492023 年软 件 导 刊如果上式不成立,则输出 false。否则进入下一步验证,计算Ti=H4(IDi),验证下面的等式是否成立:e(,g)=e(i=1n(Ti)yi,)(2)如果上式不成立,则输出false,说明数据块发生损坏;否则输出true,说明被验证的数据块没有被损坏。(7)聚合算法。当数据验证者要进行多用户数据的批量验证时,运行该算法。聚合签名的验证公钥为=g。设需要检验的用户个数为q,每个用户的公钥为P
30、Kj,数据集标签为j,在各自的公钥下由数据集标签j标记的l维数据块 向 量 空 间mj=(mj1,mj2,mjl),对 应 的 签 名j=(j1,j2,jl),(其 中mjk=(mjk,1,mjk,2,mjk,n)Znp,且k=1,2,l;j=1,q)。算法输出的聚合签名为(,),其中有:=H5(e(Y1,),e(Yq,)(3)=H5(e(11,),e(1l,),e(q1,),e(ql,)(4)(8)聚合验证算法。算法输入q个用户的公钥PKj(j=1,q),以及在各自的公钥下由数据集标签j标记的l维数据块向量空间mj=(mj1,mj2,mjl)、对应的聚合签名(,)和聚合签名的验证私钥。聚合签
31、名的验证者计算Qj=H1(IDj),uj=H2(MjPKjRjj),vj=H3(MjPKjRjj),Ti=H4(IDji),进行如下验证:=H5(e(PKu11Pv10R1,Q1),e(PKuqqPvq0Rq,Qq)(5)=H5(e(i=1nTm11,ii,1),e(i=1nTm1l,ii,1),e(i=1nTmq1,ii,q),e(i=1nTmql,ii,q))(6)如果有=且=成立,则该算法输出true,说明验证的数据块没有发生损坏;否则输出false,说明验证的数据块中存在损坏。4 基于证书的同态聚合签名方案正确性验证(1)签名算法输出的数据集标签(=(R,Y))的正确性验证。e(Y,g
32、)=e(Q(ux+r)Dv,g)=e(Q()ux+rQsv,g)=e(guxgsvgr,Q)=e(PKuPv0R,Q)(7)(2)签名算法输出同态签名部分的正确性验证。e(,g)=e(i=1n(H4(IDi)mi),g)=e(i=1n(H4(IDi)mi,g)(8)=e(i=1n(H4(IDi)mi,)(3)由同态组合算法产生签名的正确性验证。设y=k=1lbkmk,其 中mk=(mk,1,mk,2,mk,n)Znp,bk Zp,(mk,k)lk=1是l个 合 法 的 数 据 向 量 签 名 对,=k=1lbkk。令 1 e(k=1lbkk,g),2e(i=1n(H4(IDi)yi,),由双线
33、性映射的相关性质可得:1=e(k=1lbkk,g)=k=1le(k,g)bk(9)2=e(i=1n(H4(IDi)yi,)=e(i=1n(H4(IDi)k=1lbkmk,i,)=e(k=1li=1n(H4(IDi)bkmk,i,)=k=1le(i=1n(H4(IDi)mk,i,)bk(10)因 为(mk,k)lk=1是l个 合 法 的 向 量 签 名 对,故e(k,g)=e(i=1n(H4(IDi)mk,i,)成 立,所 以 1=2。(4)聚合签名算法的正确性验证。由e(Yj,g)=e(PKujjPvj0Rj,Qj),可得:=H5(e(PKu11Pv10R1,Qq),e(PKuqqPvq0Rq
34、,Qq)=H5(e(Y1,),e(Yn,)=(11)和=H5(e(11,),e(1l,),e(q1,),e(ql,)=H5(e(i=1nTm11,ii,1),e(i=1nTm1l,ii,1),e(i=1nTmq1,ii,q),e(i=1nTmql,ii,q)=(12)成立。5 基于证书的同态聚合签名安全模型基于证书的同态聚合签名安全模型描述包含两部分:基于证书的同态签名方案的安全性和聚合算法的安全性。5.1基于证书的同态签名安全模型按照基于证书的密码体制的特点,只有当攻击者同时掌握该用户证书CertID和用户私钥CB-xID时,才能生成用户公钥 CB-PKID下的合法签名。如果攻击者只掌握用户
35、证书CertID或用户私钥CB-xID的其中一个,则不能伪造合法签名。由于在基于证书的签名系统中不要求签名的验证者验证用户公钥的合法性,所以在该系统中存在“替换公钥”攻击。因此,可将基于证书签名的攻击者划分为以下两类:第一类攻击者 CB-A可以替换任意用户的公钥CB-PKID,但不能获得目标用户的证书CertID;第二类攻击者也被称为“诚实而又好奇”的证书颁发机构,此类攻击者可以产生用户的证书CertID,但不能替换攻击目标用户的公钥CB-PKID。同态签名算法中引入数据集概念,即在同一数据集中数据签名可由同态算法直接生成,而不同数据集之间的数据签名则不再满足上述性质。因此,同态签名应满足在适
36、应性选择数据集下存在性不可伪造(Existentially Unforgeable Against Adaptive Chosen Dataset Attacks,EUF-CDA)的安全性要求。综上,基于证书的同态签名方案在适应性选择身份、适应性选择数据集下存在性不可伪造的安全模 150第 10 期茅磊:基于证书的同态聚合签名方案在智慧家居传感器网络中的应用型可通过以下挑战者C和攻击者(A或A)之间的游戏来刻画。对于第一类攻击者A,构建模型如下:(1)系统建立。C生成公开参数params和系统主私钥msk、保密主私钥 msk,将公开参数 params 发送给攻击者A。(2)询问。攻击者A可向挑
37、战者进行创建用户询问、用户密钥提取询问、用户证书提取询问、替换用户公钥询问与签名询问,挑战者需要模拟随机谕言器给予正确的回答。在签名询问时,挑战者要模拟签名谕言器,输出在攻击者要求身份公钥下的合法签名。文献 19 中按照签名谕言器的能力,将签名谕言器分成普通、强力和超级3类:普通签名谕言器:该类签名谕言器只能回答用户身份为ID,在公钥CB-PKID下消息向量m 的签名,其中公钥 CB-PKID没有被攻击者替换过,否则终止游戏;强力签名谕言器:该类签名谕言器在回答攻击者签名询问时可分成两种情况:被询问身份 ID的公钥没有被攻击者替换过,则可以直接通过查询用户密钥表,查询对应的公私钥对,输出合法签
38、名;如果被询问身份ID的公钥被替换过,则先向攻击者询问替换后公钥对应的私钥,再输出合法签名;超级签名谕言器:该类谕言器能在被询问身份 ID的公钥被替换过时,即使攻击者不提供对应的私钥,也能输出合法签名。即攻击者只提供用户身份ID和消息向量m,而不提供替换公钥后对应的私钥,挑战者也要产生合法签名。在本文所述算法的安全证明中,挑战者要模拟超级签名谕言器输出合法签名。(3)伪 造 输 出。最 后 攻 击 者 输 出 一 个 伪 造(ID*,PK*,*,m*,*)。当以下情况成立时,称攻击者 A在上述游戏中获胜:*是在挑战身份ID*和对应公钥PK*下,由*标记的数据集中消息m*的合法签名;攻击者没有询
39、问过挑战身份ID*的证书CertID*;*i,即A没有询问过身份为ID*、公钥为PK*,并由*标记的数据集m*中的消息签名。对于第二类攻击者A,构建模型如下:(1)系统建立。C生成公开参数params和系统主私钥msk,将其发送给攻击者A。(2)询问。攻击者A可向挑战者进行创建用户询问、用户密钥提取询问、用户证书提取询问、替换用户公钥询问与签名询问,挑战者需要模拟随机谕言器给予正确的回答。在签名询问时,仍然可将签名谕言器分成普通、强力、超级3种,其能力如游戏1中所述。本文所述算法的安全证明,仍要模拟超级签名谕言器输出合法签名。(3)伪 造。最 后A输 出 一 个 伪 造(ID*,PK*,*,m
40、*,*)。当以下情况成立时,称攻击者 A在游戏中获胜:*是在挑战身份ID*、公钥PK*下,由*标记的数据集中消息m*的合法签名;*i,即A没有询问过身份为ID*、公钥PK*下,由*标记的数据集m*上消息的签名;A没有询问过挑战身份ID*对应的私钥;A没有替换过挑战身份ID*对应的公钥。定义1把攻击者在上述两个游戏中获胜的概率称为攻击者优势,一个基于证书的同态签名方案在适应性选择身份、适应性选择数据集下是存在性不可伪造的(EUF-CBHS-ID-CDA),当且仅当,任何概率多项式时间内的超级攻击者在上述两个游戏中获胜的优势是可忽略的。5.2聚合签名的安全模型聚合签名的作用是将若干签名者生成的单个
41、签名压缩成一个签名。在文献 20 中给出了一种来自于聚合签名者内部的合谋攻击,并重新定义了聚合签名安全模型中攻击者的能力:攻击者使用一系列单个签名伪造一个合法的聚合签名,而在这些单个签名中至少包含了一个非法签名。换句话说,只有当参与聚合的单个签名都是合法签名时,通过聚合算法生成的聚合签名才是合法的。对于基于证书的同态聚合签名而言,只有当每个参与聚合的基于证书的同态签名都是合法签名时,生成的基于证书的同态聚合签名才是合法的。其安全模型描述如下:(1)系统建立。挑战者获得安全参数后生成系统的各项参数params,C生成验证聚合签名的公私钥对,然后C将公钥PK和参数发送给攻击者A。(2)询问。私钥询
42、问,攻击者给出待询问的用户ID,挑战者运行用户密钥生成算法,将用户 ID的公私钥对返回给攻击者;聚合验证询问,攻击者给出聚合后的签名,挑战者通过运行聚合签名验证算法,回答该签名是否合法。(3)伪造。最后攻击者A 输出一个伪造的聚合签名,如果满足下列条件,称攻击者A 在上述游戏中获胜:攻击者A输出的最后聚合签名是合法的;在攻击者进行聚合的单个签名序列中,至少有一个签名是非法的,即攻击者使用了若干不完全合法的单个签名产生了一个合法的聚合签名。定义2 一个基于证书的同态聚合签名方案对于上述攻击者是安全的,当且仅当,在任何概率多项式时间 t内,能够伪造最多q个聚合签名的超级攻击者,在上述游戏中获胜的优
43、势是可忽略的。6 本文方案安全性分析定理 1 在 随 机 谕 言 模 型 下,若 存 在 一 个 EUF-CBHS-ID-CDA 的第一类攻击者 A,能在多项式时间 t内最多进行NC次创建用户询问、N1次H1询问、N2次H2询问、N3次H3询问、N4次H4询问、NK次密钥提取询问、Ns次签名询问,以的优势成功攻破上述方案,则存在一个算法C能够在t t+(2NC+4Ns+3)t*时间内,以优势(1-1NC)NK1NC)解决 CDH 问题,t*为每次回答询问消耗的 1512023 年软 件 导 刊时间。证明:CDH问题实例:设G1是p阶乘法循环群,g是生成元,已知P1=ga,P2=gb G1,a,
44、b Z*p,(其中a、b未知),求解gab G1。挑战者C与第一类攻击者A I交互,利用攻击者AI的能力来解决上述CDH问题。(1)系统建立。给定安全参数1k和一个整数n,挑战者 C建立如下系统:生成另一个素数p阶的乘法循环群GT,g是 CDH 实例中乘法循环群G1的生成元,双线性映射e:G1 G1 GT,设 置P0=gb。C将 系 统 的 公 开 参 数(G1,GT,e,g,p,P0)发送给攻击者A。H1、H2、H3、H4是C控制的随机谕言器。(2)询问。创建用户询问:C维护表Userlist,表中的各项为(IDi,Di,xi,PKi),即用户身份、用户证书、私钥、公钥,初始为空。设A 进行
45、qc次创建用户询问,C随机选择t 1,2,qc,将身份IDt作为攻击者的挑战身份。运行时A提交身份IDi,C进行如下运算:如果询问身份不是挑战身份(即IDi IDt),C随机选择xi Z*p,计算PKi=gxi,对身份IDi运行H1询问,在H1-List取出 Qi=H1(IDi)=gwi和wi,设置 Di=(P2)wi;如果询问身份是挑战身份(即IDi=IDt),C随机选择xt Z*p,计算PKt=gxt,对身份 IDi运行H1询问,从H1-List 中取出Qt=H1(IDt)=P1,设置 Dt=。C将(IDi,Di,xi,PKi)加入表Userlist中。H1询问:C维护H1-List表,每
46、一项为(IDi,wi,Qi),初始为空。A提交待询问用户的身份IDi,挑战者C进行如下回答:如果询问身份不是挑战身份(即IDi IDt),C随机选择wi Z*p,设置Qi=H1(IDi)=gwi;如果询问身份是挑战身份,(即IDi=IDt),C设置wt=,Qt=H1(IDt)=ga。C将Qi的值返回给攻击者。证书提取询问:A向证书提取谕言器提交待询问用户的身份IDi,挑战者 C进行如下回答:若IDi IDt,C查询表 Userlist,返回身份IDi对应的Di;否则IDi=IDt,C终止,因为A不能询问挑战身份的证书。用户密钥询问:A提交用户的身份IDi,询问对应的公私钥对,C查询表Userl
47、ist,返回(xi,PKi)。公钥替换询问:A可以向替换公钥谕言器提交一个身份为IDi用户的新公钥PKi,C用PKi替换表Userlist中IDi对应的原公钥PKi。H2、H3询问:C维护表H2-List 和表H3-List,两个表中每 一 项 分 别 为 一 个 五 元 组(M,R,PKi,u)和(M,R,PKi,v),初 始 时 均 为 空。A提 交 询 问(M,R,PKi,),挑战者C进行如下回答:随机选择u,v Z*p,设置H2(MRPKi)=u,H3(MRPKi)=v。H4询 问:C维 护 表H4-List,表 中 各 项 为(IDi,s,(g1,g2,gn),初始为空。A可以向H4
48、谕言器提交询问(IDi,k),C随机选择s1,s2,sn Z*p。记s=(s1,s2,sn),设置gk=H4(IDik)=gsk,(k=1,2,n),将gk返回给攻击者。签名询问:A询问子空间M在身份IDi和公钥PKi下的 签 名,子 空 间 M 由 基 1,2,m生 成,l=(l,1,l,2,l,n),(其中l=1,2,m)。PKi是由 A指定的公钥。C模拟超级签名谕言器执行如下操作:随机选择u,v,r,Z*p,设 置=g,H2(MRPKi)=u,H3(MRPKi)=v,并 把 五 元 组(M,R,PKi,u)、(M,R,PKi,v)分别加入表H2-List 和H3-List 中,设置R=g
49、rPKuiPv0和 Y=(H1(IDi)r,=(R,Y)为数据集标签;C以(IDi,)为索引查询H4-List,取出s和(g1,g2,gn)并分别 计 算 l=(k=1n(gk)l,k)=g(sl)=()sl(其 中l=1,2,m)。C将=(R,Y),=(1,2,m)发送给攻击者。(3)伪造。A经过上述询问,最终输出伪造的有效签名 元 组(ID*,PK*,M*,y*,(*,*)),*=(R*,*,Y*):ID*IDt,则C终止;ID*=IDt,根据分叉引理,C通过重复以上过程选择不同的H3,可得另一个有效的伪造签名元组(ID*,PK*,M*,y*,(*,*)),其中*=(R*,*,Y*),故数
50、据集 标 签*和*应 满 足:e(Y*,g)=e(PKu*Pv*0R*,Q*)和e(Y*,g)=e(PKu*Pv*0R*,Q*)。其中,u*=H2(M*R*PK*),v*=H3(M*R*PK*),v*=H3(M*R*PK*)且v*v*,故有:e(Y*(Y*)-1,g)=e(P0)(v*-v*),Q*)(13)因 为P0=P2,Q*=P1,故 CDH 问 题 解 为gab=(Y*(Y*)-1)(v*-v*)-1。对攻击者优势进行分析,设事件A1表示“询问阶段不终止”,事件A2表示“A伪造阶段不终止”,事件A3表示“伪造阶段A输出的是合法签名”。上述3个事件相互独立,故Pgab(g,ga,gb)=