本发明涉及车联网,尤其涉及一种车载网广播消息中基于外包计算的高效属性基签名方法。
背景技术:
1、车联网(vehicular adhoc networks,vanets)技术是信息交通技术以及只能交通系统的重要组成部分,通过车辆与车辆(vehicle to vehicle,v2v)、车辆与路边单元(vehicle to roadside unit,v2r)的互联,为驾驶员、乘员和交通管理部门提供了基于车载网实现的各种各样的服务。包括道路预警、路况数据共享、交通流量统筹规划等。
2、至今为止,国内外已经制定了大量车联网标准用于引导车联网的进一步发展。但是,鉴于车联网网络的复杂性,当前车联网仍然面临着诸多安全和隐私问题。对于车联网的安全性需求中,认证(authentication)尤为重要,消息认证被认为是防范vanets中各种攻击的第一道防线。消息认证可以保证消息接受者确保消息是由发送者生成的,即收到的消息是合法且经过授权的车辆发送的。与此同时,在保证消息接受者可以验证消息发送者的合法性的同时,又需要保护消息发送者的隐私,如发送者车辆的身份信息和位置信息等。在车载网中,匿名性(anonymity)是最基础的隐私性需求,其可以保证在不附加发送者身份标识符的情况下,对消息进行身份验证。因此,提出既能保证车载网中安全的消息认证,又保证消息发送者的匿名性的消息认证方案一直是该领域的研究热点。
3、基于属性签名(attribute-based signature,abs)是一种前沿的密码学原语,其具备以下特征:1)匿名身份认证,abs方案生成的签名与一组属性相关联,数据接收方只可以确认签名是由某一组具备某些属性的合法用户完成的,无法知道是由哪个具体用户生成的。2)提供了一种访问控制模型,消息接受者可以通过对拥有特定属性集合的对象的请求授权或拒绝,从而有效地解决细粒度访问控制的问题等。由于以上基于属性签名的特征,可以同时应对车联网中认证和匿名性问题,将属性基签名应用在车载网的消息认证中来设计创新方案是近年来的热点研究之一。
4、中国专利“cn202111483051.0一种基于属性签名的车载网匿名信任管理方法”提供了一种基于属性签名的车联网匿名信任管理办法。所述方法包括:obu向可信中心提交请求,以获取属性私钥;可信中心为obu生成一次性的假名和属性私钥并通过安全信道(secure channel)发送给obu;当目击事件后,报告车辆生成报告消息并将该消息广播给周围车辆;收到报告消息的评分车辆对该报告消息进行评分,对评分结果和报告消息进行基于属性签名,并生成评分消息发送给最近的rsu;rsu根据收到的消息计算事件消息的可信度;rsu根据可信度为各个车辆赋予对应的信誉更新值,并生成信用数据发送给可信中心;可信中心根据rsu上传的信用数据并结合本地的信用等级数据为报告车辆和评分车辆进行信誉更新。但由于其在签名阶段和验证阶段依据访问矩阵m的大小进行大量,群上的点乘和双线性配对运算,这些运算的计算开销较大。因此会给计算资源受限的obu带来较大的计算压力,从而导致影响到消息的实时性。
5、中国专利“cn202310112273.4一种基于区块链的车载网匿名信任管理方法”提供了一种基于区块链和属性基签名的车载网匿名信任管理办法。所述方法包括:一套属性基签名方案和一个匿名信任管理系统。其过程包括:通过系统初始化发布公共参数给系统中所有实体,并为这些实体生成身份并把发布在区块链上;车辆在监管机构(regulatoryauthorities,ra)完成注册得到初始信誉和可验证凭证,并从属性权威(attributeauthorities,aa)处获取属性私钥;车辆通过abs对事件消息进行签名并广播;路边单元(roadside unit,rsu)验证消息上的签名,根据验签结果来更新车辆的信誉等级,这一次签名完成后,车辆需要从属性权威处获取新的属性私钥;监管机构还需要负责追踪信誉等级低于设定值的不诚信车辆。虽然消息认证和匿名性得到了保证,但由于其需要频繁在区块链中进行操作、每次广播消息需要更新车辆的私钥以及每次rsu与车辆的通信,在rsu端都有额外的ra与区块链实体通信和等待处理任务的延迟,这些操作都是非常耗费时间的,因此会造成车辆和rsu通信时的巨大延迟。比如在rsu成功的验证了车辆广播的消息后,首先需要将消息更新在区块链中,而众所周知向区块链写入或修改内容等过程,需要经历多个高耗时的阶段,与此同时还需要等待ra完成车辆信誉等级更新,等待aa生成新的属性私钥,这些都是需要较高计算开销和时间的过程。除了上述所说的延迟高的问题,由于该方案需要在车载单元(onboard unit,obu)上进行大量点乘和配对操作,由于obu不仅承担着车辆通信相关功能,还有许多其他应用程序的计算,实际上obu的计算资源是相当受限的,在这种情况下,给obu带来过高的计算开销的方案显然是不可取的。
技术实现思路
1、本发明要解决的技术问题是针对上述现有技术的不足,提供一种车载网广播消息中基于外包计算的高效属性基签名方法,能够极大降低obu在基于属性签名与验签阶段的计算开销,使得obu随着车辆对应属性数量的增长,其签名和验签开销依然保持常数级,从而极大地降低obu的计算压力。
2、为解决上述技术问题,本发明所采取的技术方案是:
3、一种车载网广播消息中基于外包计算的高效属性基签名方法,包括三个阶段:
4、第一阶段为系统初始化阶段,属性权威aa执行系统初始化算法setup(k)用于生成系统参数pp和系统主密钥sk,并将系统参数发布到系统中作为公共参数,而将系统主密钥保存在属性权威aa本地;
5、第二阶段为obu注册阶段,车载单元obu(即车辆)向属性权威aa注册以获取部分签名密钥psk以及用户签名密钥usk,并存储在本地;
6、第三阶段为消息广播阶段,obu对广播消息进行签名验签阶段,该阶段又分为以下过程:过程一,签名者定义广播消息,签名者为车载单元obu,如果有需要则向路边单元rsu申请外包签名,并传递部分签名密钥psk;过程二,接到请求的路边单元rsu将外包计算在其所配备的边缘服务器上完成外包签名,并将生成的部分签名ps返回给签名者;过程三,签名者使用用户签名密钥usk完成签名并广播消息;过程四,收到消息的验签者进行验签,如果需要外包验签,则通过转换算法,将签名变为转换签名ts,并连同部分签名密钥psk一同发送给路边单元rsu;过程五,路边单元rsu接收到外包验签请求,对应的外包服务器server利用转换签名完成外包验签,并将结果返回给验签者;过程六,验签者完成验签。
7、进一步地,所述系统初始化阶段,系统初始化算法将按照以下步骤执行:
8、步骤1.1:输入安全参数k给属性权威aa,属性权威aa开始执行系统初始化算法setup(k);
9、步骤1.2:属性权威aa生成两个阶为p的乘法循环群g,以及一个乘法循环群gt,并在这三个群上定义一个对称双线性配对的映射关系e:g×g→gt,其中,群g的生成元为g;
10、步骤1.3:属性权威aa从群g中选择一个随机元素r0∈r g;
11、步骤1.4:属性权威aa定义一个将任意元素映射到群g上元素的哈希函数h:{0,1}*→g;步骤1.5:属性权威aa依据给出的属性全集u={1,2,…,l},对其中的每一个元素i∈u,随机选择对应的一个群g中的元素ri∈r g;
12、步骤1.6:属性权威aa定义一个额外属性θ∈zp,zp表示阶为p整数环,并为该额外属性θ选择一个群g上的随机元素rθ∈r g;
13、步骤1.7:属性权威aa从阶为p整数环zp中随机选择两个值α1、α2∈rzp,并计算配对值
14、步骤1.8:属性权威定义一个可以将消息映射到群g上的哈希函数h,即h(m)→g,其中h(m)表示对消息执行映射算法将消息m映射为群g上的一个元素;
15、步骤1.9:属性权威aa将生成的公共参数pp={g,e,g,gt,h,z,r0,{ri}i∈u∪θ}发布到系统中,由各个实体使用;将系统主密钥msk={α1,α2}在属性权威aa本地保存。
16、进一步地,所述obu注册阶段,由车载单元obu生成访问控制结构as并向属性权威aa发起注册请求,以获取访问控制结构对应的属性私钥,该过程包含的算法为extract(pp,sk,(m,ρ))算法;obu注册阶段过程如下:
17、步骤2.1:车载单元obu向属性权威aa提出注册请求,并提交obu满足的属性条件的访问控制结构as,以申请相应的属性私钥ok;
18、步骤2.1.1:车载单元obu根据自己满足的访问条件,即多个属性的单调布尔表达式,生成一个访问控制结构as=(m,ρ),其中m为一个nr行nc列的线性秘密共享矩阵,ρ是一个标记行函数;对于m中的任意一行k∈[1,nr],通过标记函数ρ(k)能输出整数环zp上的一个元素,该元素对应属性权威aa的属性全集u中的一个属性;
19、步骤2.1.2:车载单元obu将访问控制结构as=(m,ρ)打包到实体注册请求requestreg中,并将该请求发送给属性权威aa;
20、步骤2.2:属性权威aa接收到来自车载单元obu的注册请求requestreg,根据其中的访问控制结构as和属性权威aa发布的公共参数pp为车载单元obu计算属性私钥ok,包括用于外包计算的部分签名私钥psk和用户签名私钥usk;
21、步骤2.3:属性权威aa生成注册响应消息responsereg,并将属性私钥ok发送给对应的注册请求obu。
22、进一步地,所述步骤2.2的具体方法为:
23、步骤2.2.1:属性权威aa解析请求报文requestreg,获得注册车载单元obu的身份信息id以及访问控制结构as;
24、步骤2.2.2:属性权威根据访问控制结构as中的线性秘密共享矩阵m和标记函数ρ得到obu的属性签名表达式,检查obu是否具有其中要求的每个属性,若满足则继续计算属性私钥ok,即执行步骤2.2.3;否则,结束该阶段,返回一个空的属性私钥ok,即令ok=null,并返回注册失败应答给请求obu;
25、步骤2.2.3:属性权威aa根据访问控制结构as中的nr行nc列的线性秘密共享矩阵m,从整数环zp中选择nc-1个随机元素v2,v3,…,vn∈rzp,并利用主密钥msk={α1,α2}构造一个向量
26、步骤2.2.4:属性权威aa为线性秘密共享矩阵中的第k行计算用于计算签名组件的秘密分量并为对应的第k行在整数环zp上选择一个随机元素xk∈r zp;
27、步骤2.2.5:属性权威aa为线性秘密共享矩阵中的第k行分别计算,对应第k行属性的三个签名密钥组件:
28、步骤2.2.6:属性权威aa为额外属性θ选择一个随机数xθ∈r zp,并计算对应额外属性的三部分签名密钥组件:和
29、步骤2.2.7:属性权威aa将根据访问控制结构as=(m,ρ)计算得到的密钥组件打包为部分签名密钥psk即将根据额外属性θ计算得到的密钥组件打包为用户签名密钥usk,即usk={dθ,d′θ,d″θ};属性私钥ok=psk+usk。
30、进一步地,所述消息广播阶段的流程如下:
31、步骤3.1:签名者对广播消息进行签名,若需要外包计算,则向外包服务器发出外包签名请求,签名者将消息m、访问控制结构as、满足访问控制结构的属性集合s、部分签名密钥psk打包入外包签名请求requestsasign中,并将其发送给外包服务器outsourcedserver,其由rsu和server组成,rsu负责收集外包请求,而server负责完成外包计算;
32、步骤3.2:外包服务器收到外包签名请求requestsasign,执行算法sasign(m,s,psk,(m,ρ)),利用其中的部分签名密钥psk和消息m计算得到部分签名σ′,并将该签名打包到外包签名响应responsesasign中返回给签名者;
33、步骤3.3:签名者收到外包签名响应,解析响应得到部分签名σpart,执行算法usign(m,s,usk,(m,ρ)),利用用户签名密钥usk计算得到消息m的完整签名σ;
34、步骤3.4:验签者收到消息和对应的签名后,若需要外包计算,则向外包服务器提交外包验签请求requestsaverify,执行算法transform();验签者为车载单元obu;
35、步骤3.5:外包服务器接收到外包验签请求,执行saverify()算法得到中间签名并将其打包到外包验签响应中;
36、步骤3.6:验签者收到外包验签响应,并利用中间签名进行验签。
37、进一步地,所述步骤3.2的具体方法为:
38、步骤3.2.1:外包服务器接收到外包签名请求requestsasign,解析请求得到消息m、访问控制结构as、满足访问控制结构的属性集合s、部分签名密钥psk;
39、步骤3.2.2:外包服务器定义集合k={k}ρ(k)∈s,通过高斯消元法得到一个向量向量满足其中每一项{wk}∈zp;由于从而使得成立;
40、步骤3.2.3:外包服务器在整数环上随机选择两个元素η、ζ∈r zp;
41、步骤3.2.4:外包服务器计算部分签名组件:
42、
43、步骤3.2.5:外包服务器得到消息m在属性集合s上的部分签名并将该部分签名打包到外包签名响应responsesasign中并返回给签名者。
44、进一步地,所述步骤3.3的具体方法为:
45、步骤3.3.1:签名者解析外包签名响应responsesasign,得到部分签名
46、步骤3.3.2:签名者在整数环中随机选择一个元素ζ′∈r zp;
47、步骤3.3.3:签名者计算签名组件:
48、
49、步骤3.3.4:签名者输出广播消息m和消息在属性集合s上的签名σ={σ0,σ1,σ2,m,s,as=(m,ρ)},并把消息和签名一同广播给验签者。
50、进一步地,所述步骤3.4的具体方法为:
51、步骤3.4.1:验签者在整数环中选择随机数t∈r zp利用收到的签名计算转换签名ts组件:
52、和
53、步骤3.4.2:验签者将转换签名打包到外包验签请求requestsaverify中,并将请求发给最近可用的外包服务器。
54、进一步地,所述步骤3.5的具体方法为:
55、步骤3.5.1:外包服务器解析外包验签请求requestsaverify,得到转换签名
56、步骤3.5.2:外包服务器利用转换签名计算中间签名is:
57、
58、其中,h(m)表示对消息执行映射算法将消息m映射为群g上的一个元素,e(element1,element2)代表对元素element1和element2执行双线性配对运算;
59、步骤3.5.3:外包服务器将中间签名aintermediate打包进外包验签响应responsesaverify中,并将其返回验签者。
60、进一步地,所述步骤3.6的具体方法为:
61、步骤3.6.1:验签者解析外包验签响应responsesaverify,得到中间签名aintermediate;
62、步骤3.6.2:验签者验证等式aintermediate=zt,若相等,则签名通过验证,消息通过认证,接受消息m;否则签名不通过,消息不通过验证,拒绝消息m。
63、采用上述技术方案所产生的有益效果在于:本发明提供的车载网消息广播认证中基于外包计算的高效属性基签名方法,包含两部分,第一部分是基于外包计算的高效属性基签名方案,第二部分是基于该签名方案实现的车联网消息广播认证协议。基于外包计算的高效属性基签名方案使用外包计算的方式,将签名阶段和验签阶段绝大部分的计算开销外包给了在rsu处的边缘计算服务器server,从而降低了在签名阶段和验签阶段大量点乘和配对运算给obu带来的计算压力。本发明能够将obu处的签名阶段和验签阶段的结算开销降低为常数级别。同时该方法使用线性秘密共享方案(linear secret sharing scheme,lsss)作为访问控制结构,通过引入该lsss问结构,属性基签名能够表达更加复杂的访问控制结构,因此也更加适用于复杂的车联网场景。车联网消息广播认证协议中,将上述签名方案设计为了一种适用于车联网消息广播场景下的认证协议,该协议保证了消息的认证和匿名性。
1.一种车载网广播消息中基于外包计算的高效属性基签名方法,其特征在于:所述方法包括三个阶段:
2.根据权利要求1所述的车载网广播消息中基于外包计算的高效属性基签名方法,其特征在于:所述系统初始化阶段,系统初始化算法将按照以下步骤执行:
3.根据权利要求2所述的车载网广播消息中基于外包计算的高效属性基签名方法,其特征在于:所述obu注册阶段,由车载单元obu生成访问控制结构as并向属性权威aa发起注册请求,以获取访问控制结构对应的属性私钥,该过程包含的算法为extract(pp,sk,(m,ρ))算法;obu注册阶段过程如下:
4.根据权利要求3所述的车载网广播消息中基于外包计算的高效属性基签名方法,其特征在于:所述步骤2.2的具体方法为:
5.根据权利要求3所述的车载网广播消息中基于外包计算的高效属性基签名方法,其特征在于:所述消息广播阶段的流程如下:
6.根据权利要求5所述的车载网广播消息中基于外包计算的高效属性基签名方法,其特征在于:所述步骤3.2的具体方法为:
7.根据权利要求5所述的车载网广播消息中基于外包计算的高效属性基签名方法,其特征在于:所述步骤3.3的具体方法为:
8.根据权利要求5所述的车载网广播消息中基于外包计算的高效属性基签名方法,其特征在于:所述步骤3.4的具体方法为:
9.根据权利要求5所述的车载网广播消息中基于外包计算的高效属性基签名方法,其特征在于:所述步骤3.5的具体方法为:
10.根据权利要求5所述的车载网广播消息中基于外包计算的高效属性基签名方法,其特征在于:所述步骤3.6的具体方法为:
