本发明涉及车联网的技术领域,尤其涉及一种车联网中基于无证书群签名的匿名认证方法。
背景技术:
车联网(vehicularad-hocnetworks,vanets)作为物联网技术的典型应用,实现了车辆与车辆之间以及车辆与基础设施间的实时交通信息交互,对车辆用户及时了解交通路况信息,减少交通事故的发生起到了积极的作用,在智能交通领域得到广泛的发展。随着网络环境的不断变化,多种信息安全和隐私泄露问题也随之而来,严重威胁到车辆用户的人身安全和个人隐私。随着车联网中网络通信环境的变化,车辆可能会遭遇被窃听、定位、跟踪等安全威胁,因此需要进行适当的匿名保护,需要提供相应的安全策略,在为车辆用户提供快捷服务的同时,能够有效保护车辆用户的通信安全和个人隐私。
目前,车联网中匿名认证技术主要包括基于pki认证、基于身份的认证和基于群签名的认证。早期主要采用raya和hubaux在2007年提出的基于公钥基础设施(pki)的公钥证书方案。该方案需要在车辆中存储大量的公私钥对和相关证书,在占用大量存储空间的同时,增大了通信和计算开销,造成证书管理问题。shimka提出了一种基于身份的批量认证方案,以假名代表车辆身份信息,且针对每次消息的签名都采用更换假名的策略,实现了消息的可追踪性。但基于身份的认证中,私钥生成器(pkg)知道所有用户的私钥,因此不可避免地出现秘钥托管问题。
1991年,chaum和heyst首次提出群签名概念,它允许群成员代表群进行匿名性签名,群管理员负责群成员秘钥的创建与分发,群成员用群成员证书对消息进行签名,并通过群公钥来验证其真实性,验证者只能验证签名者来自于群中成员,但无法确定群内具体成员身份,从而保护群成员的身份。另外群管理员能够打开签名,揭露签名成员的真实身份从而解决纠纷,想要通过分辨出两个不同的群签名是否来自同一个签名者计算上是不可行的。因此,群签名技术得到了广泛的应用,也逐渐被引入到车联网匿名认证方案中。shao等基于群签名提出了一个能够实现批量认证的门限匿名认证协议。郑明辉等通过引入轻量级的群签名技术,使得群公钥和签名长度固定,不会依赖群成员个数。赵臻提出车联网中基于中国剩余定理的可撤销的群签名方案,在成员加入和撤销时,只需重新生成新的群公钥而无需更改其他成员的密钥对,提高了成员加入和撤销的效率。但在这些使用群签名技术的过程中,每个成员都需要生成对应的群成员证书,证书的存储、签名与验证的计算开销依旧是难以解决的难题。
2003年,al-riyami和paterson首次提出无证书密码体制,系统中用户密钥由密钥生成中心提供部分密钥,剩余部分由用户自行产生,共同组成用户密钥。保证密钥生成中心不知道用户全部的私钥,解决了传统公钥密码系统中证书管理问题和基于身份密码系统中密钥托管问题。因为无证书密码体制在密钥管理方面的优点,陈虎等提出的高效的无证书签名和群签名方案与李凤银等提出的基于双线性对的无证书签名与群签名方案相继将无证书签名应用于群签名方案中,这也成为密码管理方案中的研究热点。与此同时,在车联网方案中使用基于无证书的群签名方案,也成为时下车联网安全中的一个热点。张新运等与陈亚萌等使用双线性对进行无证书群签名在车联网应用的研究,避免了密钥托管问题,且无需进行证书管理,有效地减轻了系统存储负载。但目前的无证书群签名方案都是借助双线性对运算实现的,双线性对在应用中运算量大的问题也加重系统运行中的开销。
技术实现要素:
针对现有车联网环境匿名认证方法中认证效率低下的技术问题,本发明提出一种车联网中基于无证书群签名的匿名认证方法,基于无证书密码体制和群签名思想,使用简单的椭圆曲线的点乘运算,并通过引入群同步因子及成员同步因子技术,实现群签名成员的加入、签名、验证及撤销等过程,缩短了签名长度,提高了签名效率。
为了达到上述目的,本发明的技术方案是这样实现的:一种车联网中基于无证书群签名的匿名认证方法,其步骤如下:
步骤一、系统初始化:可信机构ta选择系统参数,生成主密钥和自身的公钥,公钥信息向外公开;
步骤二、群管理员与群成员公私秘钥生成:任意选择一个路边单元rsu作为群管理员,群管理员rsu与用户的车载单元obu生成相应的公私秘钥,群管理员rsu生成初始的群同步因子t;
步骤三、成员加入:新加入成员根据入群方法加入到已有车联网群组中,生成自身同步因子并更新群同步因子;群管理员rsu验证新加入成员身份的合法性,并为新加入成员生成证书,新加入成员验证群管理员rsu身份的合法性并接受自身证书;群管理员rsu公布新的同步因子,群内其它成员更新自身同步因子;
步骤四、生成签名:群成员基于签名算法实现对消息m的签名;
步骤五、验证签名:车联网群组中验证者通过公开信息及签名信息进行消息签名的验证,确认此签名消息是由群内成员签名并发出的;
步骤六、成员撤销:当群内成员由于某种原因退出群组时,群管理员rsu根据退出群成员a的身份信息重新计算群同步因子t',并将新的群同步因子t'与群成员a的同步因子相关信息发送给群内其它成员b,其它成员b根据信息更新自身的同步因子;
步骤七、打开签名:当群管理员rsu发现群成员发送的消息签名为虚假信息或者群成员之间发生争议时,通过对消息签名计算打开签名,揭示用户的身份。
所述步骤一中系统初始化的方法为:可信机构ta基于选定的安全参数k,生成两个大素数p和q,且满足q|p-1;选取q阶椭圆曲线上的加法循环群g上的生成元p,选取两个无碰撞哈希函数
所述步骤二中群管理员与群成员的公私秘钥生成的方法为:
将任意一个路边单元rsu充当群管理员身份参与群内车辆成员的管理,群管理员rsu的身份信息为idrsu,群管理员rsu随机选取参数作为私钥
基于成员a的车载单元obua的身份信息ida,生产车载单元obua的私钥对ska=(xa,sa)和公钥对pka=(pa,sa),并公开公钥pka;其中,xa为用户自己掌握的部分私钥,sa为由可信机构ta产生的用户a的部分私钥,pa为用户自己掌握的部分公钥,sa为可信机构ta为用户a计算的部分公钥;
群管理员rsu随机选取参数
所述步骤三中成员加入的方法为:
(1)当用户a的车载单元obua想加入车联网群组时,车载单元obua随机选取参数
(2)群管理员rsu将身份信息ida发送给可信机构ta,获取车载单元obua的公钥pka,群管理员rsu验证等式ya'=vap+hapka=(ya-ha·ska)p+hapka=yap-hapka+hapka=ya是否成立,成立则为车载单元obua生成证书,否则认为用户a为非法用户;
(3)群管理员rsu随机选择参数
(4)车载单元obua验证群管理员rsu的公钥pkrsu,并计算等式ea'=(srsu+ya)p-hrsupkrsu=(ea+skrsu·hrsu+ya)p-hrsupkrsu=(ea+ya)p=ea是否成立,如果成立,用户a的车载单元obua加入群组,生成群成员证书为(ida,pkrsu,ya,ea,ba,t);否则车载单元obua认为群管理员rsu不可信;
(5)群管理员rsu发送消息(t,ba)给群内其它成员,群内其他成员的车载单元obub更新它的同步因子tb,车载单元obub的证书为(idb,pkrsu,yb,eb,bb,tb),则车载单元obub计算新的同步因子tb'=t+tb(bb-bb),车载单元obub的新证书为(idb,pkrsu,yb,eb,bb,tb');其中,idb为用户b的身份信息,yb为随机值用户b的计算结果,eb为用户b的椭圆曲线,bb为用户b同步因子的随机值,tb为用户b的同步因子;
(6)群管理员rsu更新同步因子为t'=t·(ba+xrsu)。
所述步骤四中生成签名的方法为:
设成员a的车载单元obua对消息m签名,车载单元obua计算中间变量c1=eap+tapkrsu和c2=tap,c3=baea,随机选择参数
所述步骤五中验证签名的方法为:
验证者根据签名(c,s1,s2,s3,s4,c1,c2,c3)计算中间变量d1'=s1c1-s2pkrsu+cpc3、d2'=s1c2+s3srsu+ctp、d3'=s3p+cc2、d4'=cc1+s4p+s3pkrsu、c'=h(pkrsu||m||c1||c2||c3||d1'||d2'||d3'||d4'),当且仅当c'=c时,验证通过,接受签名;其中。d1'、d2'、d3'、d4'、c'分别表示签名算法的中间验证变量。
所述步骤六中成员撤销的方法为:
(1)为了撤销成员a的车载单元obua,群管理员rsu根据消息(t,ba)计算新的同步因子t'=t·(ba+xrsu)-1;
(2)群管理员rsu对群组内其它成员的车载单元obub发送消息(t',ba),群内其它成员的车载单元obub更新它的同步因子tb为tb'=(tb-t')·(ba-bb)-1。
所述步骤七中打开签名的方法为:
当群管理员rsu发现群成员车辆用户发送的消息签名为虚假信息或者群成员之间发生争议时,通过签名消息rm=(c,s1,s2,s3,s4,c1,c2,c3)及群管理员的私钥skrsu=(xrsu,srsu)计算中间变量eap=c1-c2skrsu,根据中间变量eap查找群成员信息列表,找到群成员对应的身份信息。
所述可信机构ta分发群管理员及群成员公私密钥时的正确性为:
群管理员rsu收到消息(rrsu,srsu)之后,用于验证可信机构ta的身份及进行群管理员rsu的公钥对及私钥对的生成验证等式srsup=rrsu+pzh1(idrsu||prsu||rrsu)是否成立,由于srsup=rrsup+zph1(idrsu||prsu||rrsu)=rrsu+pzh1(idrsu||prsu||rrsu),所以验证结果与签名产生过程算法结果一致,且仅用到群管理员rsu所拥有的公开信息及自身私有信息,在保证可信机构ta可信的情况下完成了分发公私密钥时的验证过程,签名方案满足正确性;
成员a的车载单元obua在收到消息(ra,sa)之后,验证等式sap=ra+pzh1(ida||pa||ra)是否成立,由于sap=rap+zph1(ida||pa||ra)=ra+pzh1(ida||pa||ra),所以签名方案满足正确性;其中,ra和sa分别为可信机构ta为成员a计算的部分公钥及部分私钥。
所述成员加入过程签名的正确性为:
群管理员rsu在收到成员a的车载单元obua的签名信息(ida||ya||ha||va||ba)后,如果消息(ha,va)为合法签名,则有中间变量ya'=vap+hapka=yap-haskap+hapka=ya,再通过中间变量ya'计算中间变量ha'=h(ida||pka||ya'||ba),则有ha'=ha;通过此等式,群管理员rsu得出签名是有效的,即车载单元obua身份合法;
车载单元obua在收到路边单元rsu发送的消息(ea,hrsu,srsu,t)时,根据群管理员rsu的公钥pkrsu及部分私钥srsu=ea+skrsu·hrsu,计算中间变量ea'=(srsu+ya)p-hrsupkrsu,则有ea'=ea;通过此等式,车载单元obua的签名是有效的;
所述签名的正确性为:若签名消息(c,s1,s2,s3,s4,c1,c2,c3)为合法签名,基于tp=ta(ba+xrsu)p=tabap+tasrsu,计算中间变量d1'=s1c1-s2pkrsu+cpc3=r1c1-cbaeap-cbatapkrsu-r2pkrsu+cbatapkrsu+cbaeap=r1c1-r2pkrsu=d1、d2'=s1c2+s3srsu+ctp=r1c2-cbatap+r3srsu-ctasrsu+ctp=r1c2+r3srsu=d2、d3'=s3p+cc2=r3p-ctap+ctap=r3p=d3、d4'=cc1+s4p+s3pkrsu=ceap+ctapkrsu+r4p-ceap+r3pkrsu-ctapkrsu=r3pkrsu+r4p=d4,当签名有效时,等式成立,验证者将能通过已有公开信息计算得出c'=c,所以签名的验证算法是正确的。
所述群管理员rsu的私钥对为skrsu=(xrsu,srsu),其中部分私钥srsu=rrsu+zh1(idrsu||prsu||rrsu);成员a的车载单元obua的群证书为(ida,pkrsu,ya,ea,ba,ta),其中,中间变量ea=ya+eap=(ea+ya)p和ya=yap,且群的同步因子t与成员a的车载单元obua的同步因子存在如下关系:t=ta(ba+xrsu),ya、ba、ea、xrsu分别为成员a的车载单元obua和群管理员rsu私有,任何单独一方都无法独立完成群成员证书建立,保证了群证书是不可伪造的。
本发明的有益效果:提出了一种基于椭圆曲线的无证书群签名方案,使用椭圆曲线代替双线性对进行运算,不仅继承了群签名方案的安全性、匿名性,并大大降低了运算开销;引入同步因子技术,由同步因子进行群成员的加入与撤销运算,使得群内成员发生变动时,不需要修改群管理员的公钥信息,仅需要对群同步因子与群成员同步因子进行计算修改,大大降低了群成员加入与撤销时的计算步骤,节省了时间。经过正确性和安全性证明,本发明不仅具有群签名的匿名性和追踪性,同时还具有不可伪造性和前向安全性;经过性能分析验证表明,本发明在消息签名和签名验证过程中都有较低的计算开销,提高了整体认证效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的流程图。
图2为本发明车联网的架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一般模式下,vanets(车联网)由路边单元rsu、装载在车辆中的车载单元obu和一个可信机构ta三部分构成,如图2所示。车载单元obu通过路边部署的基础设施rsu接入车联网,并定期向其他车辆广播自身车辆信息,包括位置、速度、方向、加速度、道路条件、交通事件、时间戳等安全信息,以便其他车载单元obu及时获取道路有用信息。路边单元rsu可以与车载单元obu进行信息交互,广播和接收群组中的一些签名信息,为车载单元obu提供各种服务,并在需要时揭示违法车辆身份信息,广播撤销车辆身份信息,自身拥有存储空间和计算能力。可信机构ta在本发明中作为第三方可信机构,保存车载单元obu与路边单元rsu的真实身份信息,并生成车载单元obu与路边单元rsu的公私密钥对,用于在车联网系统中身份识别使用。
椭圆曲线是目前公钥加密体制中的一种加密算法,也是目前能够对数据提供加密强度最高的加密算法。使用160bits的密钥长度进行的加密计算对应的加密强度等同于公钥加密体制中采用1024bits密钥长度的非对称加密(rsa)算法对应的加密长度。椭圆曲线具有计算参数更少、密钥长度更短、运算速度更快的特点,其运算后的签名长度也更为短小。因此将椭圆曲线加密算法应用于运算能力、存储空间、传输带宽均有限的车联网系统是合适的。
本发明采用160bit的椭圆曲线加密算法:假设q为一个大素数,fq是模q的有限域,在有限域fq上的椭圆曲线可定义为:e:y2≡x3+ax+b(modq),其中,x为自变量,y为因变量,a和b为系数,a,b,x,y∈fq且δ=4a3+27b2≠0。
椭圆曲线加法运算:假设椭圆曲线的点p=(x1,y1)∈e,-p=(x1,-y1)为点p的负点,q=(x2,y2)∈e且q≠-p,直线l过点p和q与椭圆曲线交于点r'=(x3,-y3),点r'关于x轴对称的点为点r=(x3,y3),且坐标r=p+q。椭圆曲线e上的素数阶为q的加法循环群为:g={(x,y):a,b,x,y∈fq,(x,y)∈fq,(a,b)}且加法循环群g为椭圆曲线e上的一个生成元,则存在椭圆曲线上的标乘运算为:
椭圆曲线离散对数问题(ecdlp):有限域fq上的椭圆曲线e上存在的两个点p1和p2,存在参数
本发明的设计思路为:在群签名基础上融入无证书设计思想,简化成员加入过程,并能够抵抗公钥替换攻击。在成员加入过程中,成员a采用私钥对ska进行签名,获得身份签名信息ha,将消息(ida||ya||ha||va||ba)发送给路边单元rsu,其中,ida为成员a的标识id,ya为对一个随机值的计算结果,va为中间计算量,ba为用户同步因子的随机参数。路边单元rsu从可信机构ta获取成员a的公钥,对成员a发送的身份信息进行验证,不仅证明了成员a身份的合法性,同时避免了公钥替换攻击。此外,在群成员证书的生成过程中,车辆用户在接受成员证书之前,首先需要验证群管理员的路边单元rsu的身份信息,然后才接受证书作为自身证书使用,保证了证书的可信性。
如图1所示,一种车联网中基于无证书群签名的匿名认证方法,为基于无证书的群签名匿名认证方法,包括系统初始化、群管理员与群成员公私秘钥生成、群成员加入、生成签名、验证签名、成员撤销、打开签名等七个部分。具体步骤如下:
步骤一、系统初始化:可信机构ta根据椭圆曲线加密算法选择系统参数,生成主密钥和自身的公钥,公钥信息向外公开。
车联网中可信机构ta基于选定的安全参数k,生成两个大素数p和q,且满足q|p-1,即p-1能被q整除。选取q阶椭圆曲线上的加法循环群g上的生成元p。选取两个无碰撞哈希函数
步骤二、群管理员与群成员的公私秘钥生成:任意一个路边单元rsu充当群管理员,路边单元rsu与用户的车载单元obu生成相应的公私秘钥,群管理员生成初始的群同步因子。
本发明中将任意一个路边单元rsu充当群管理员身份参与群内车辆成员的管理。假设群管理员rsu的身份信息为idrsu,群管理员rsu随机选取参数作为私钥
假设用户a的车载单元obua的身份信息为ida,通过上述过程生产车载单元obua的私钥对ska=(xa,sa),公钥对pka=(pa,sa),并公开公钥pka。其中,xa为用户自己掌握的部分私钥,sa为由可信机构ta产生的用户a的部分私钥,pa为用户自己掌握的部分公钥,sa为可信机构ta为用户a计算的部分公钥。
群管理员rsu随机选取随机参数
步骤三、成员加入:新加入成员根据入群方法加入到已有车联网群组中,生成自身同步因子并更新群同步因子;路边单元rsu验证新加入成员身份的合法性,并为新加入成员生成证书,新加入成员验证路边单元rsu身份的合法性并接受自身证书;路边单元rsu公布新的同步因子,群内其它成员更新自身同步因子。
群成员加入的方法为:
(1)当用户a的车载单元obua想加入车联网群组时,车载单元obua随机选取参数
(2)路边单元rsu将身份信息ida发送给可信机构ta,获取车载单元obua的公钥pka,路边单元rsu验证ya'=vap+hapka=(ya-ha·ska)p+hapka=yap-hapka+hapka=ya是否成立,成立则为obua生成证书,否则认为此次申请为非法用户攻击。
(3)路边单元rsu随机选择参数
(4)车载单元obua验证路边单元rsu的公钥pkrsu,并计算ea'=(srsu+ya)p-hrsupkrsu=(ea+skrsu·hrsu+ya)p-hrsupkrsu=(ea+ya)p=ea是否成立,如果成立,用户a的车载单元obua加入群组,生成群成员证书为(ida,pkrsu,ya,ea,ba,t);否则车载单元认为此路边单元不可信。
(5)路边单元rsu发送消息(t,ba)给群内其它成员,群内其他成员的车载单元obub更新他们的同步因子tb,假设车载单元obub的证书为(idb,pkrsu,yb,eb,bb,tb),则车载单元obub计算新的同步因子为tb'=t+tb(bb-bb),此时车载单元obub的新证书为(idb,pkrsu,yb,eb,bb,tb')。其中,idb为用户b的身份信息,pkrsu为路边单元的公钥对,yb为随机值的计算结果,eb为用户b的椭圆曲线,bb为用户b同步因子的随机值,tb为用户b的同步因子。
(6)路边单元rsu更新同步因子为t'=t·(ba+xrsu)。群内其它成员参照用户b的更新方法更新自身同步因子。
步骤四、生成签名:群成员基于签名算法实现对消息m的签名消息。
签名算法为对消息m的加密算法,生成签名的方法为:
假设群成员a的车载单元obua对消息m签名,车载单元obua计算中间变量c1=eap+tapkrsu,c2=tap,c3=baea,随机选择参数
步骤五、验证签名:车联网群组中验证者通过公开信息及签名信息进行消息签名的验证,确认此签名消息是由群内成员签名并发出的。
验证签名的方法为:
验证者根据签名(c,s1,s2,s3,s4,c1,c2,c3)计算中间变量d1'=s1c1-s2pkrsu+cpc3,d2'=s1c2+s3srsu+ctp,d3'=s3p+cc2,d4'=cc1+s4p+s3pkrsu,c'=h(pkrsu||m||c1||c2||c3||d1'||d2'||d3'||d4'),当且仅当c'=c时,验证通过,接受签名。d1'、d2'、d3'、d4'、c'分别表示签名算法的中间验证变量。
步骤六、成员撤销:当群内成员由于某种原因退出群组时,路边单元rsu根据退出群成员a的身份信息重新计算群同步因子t',并将新的群同步因子t'与群成员a的同步因子相关信息发送给群内其它成员b,其它成员b根据信息更新自身的同步因子为tb'。
成员撤销的方法为:
(1)为了撤销成员a的车载单元obua,路边单元rsu根据消息(t,ba)计算新的同步因子t'=t·(ba+xrsu)-1。
(2)路边单元rsu对群内其它成员的车载单元obub发送消息(t',ba),群内其它成员的车载单元obub更新他们的同步因子tb为tb',其中,tb'=(tb-t')·(ba-bb)-1。
步骤七、打开签名:当路边单元rsu发现群成员发送的消息签名为虚假信息或者群成员之间发生争议时,通过对消息签名计算打开签名,揭示用户的身份。
打开签名的方法为:
当路边单元rsu发现群成员车辆用户发送的消息签名为虚假信息或者群成员之间发生争议时,通过签名消息rm=(c,s1,s2,s3,s4,c1,c2,c3)及群管理员私钥skrsu=(xrsu,srsu)计算中间变量eap=c1-c2skrsu,根据中间变量eap查找群成员信息列表,找到群成员对应的身份信息。
验证本发明的正确性:
(1)可信机构ta分发群管理员及群成员公私密钥时的正确性
群管理员rsu在收到消息(rrsu,srsu)之后,消息(rrsu,srsu)是由可信机构ta发送给路边单元rsu的,用于验证可信机构ta的身份及进行路边单元rsu的公钥对及私钥对的生成验证等式srsup=rrsu+pzh1(idrsu||prsu||rrsu)是否成立,由于srsup=rrsup+zph1(idrsu||prsu||rrsu)=rrsu+pzh1(idrsu||prsu||rrsu),所以验证结果与签名产生过程算法结果一致,且仅用到群管理员rsu所拥有的公开信息及自身私有信息,在保证可信机构ta可信的情况下完成了分发公私密钥时的验证过程,签名方案满足正确性。
同理,成员a的车载单元obua在收到(ra,sa)之后,验证等式sap=ra+pzh1(ida||pa||ra)是否成立,由于sap=rap+zph1(ida||pa||ra)=ra+pzh1(ida||pa||ra),所以签名方案满足正确性。ra和sa分别为可信机构ta为成员a计算的部分公钥及部分私钥,信息(ra,sa)为车载单元obua向可信机构ta申请公私钥时获取。
(2)成员加入过程签名的正确性
路边单元rsu在收到用户a的车载单元obua的签名信息(ida||ya||ha||va||ba)后,如果消息(ha,va)为合法签名,则有中间变量ya'=vap+hapka=yap-haskap+hapka=ya,再通过中间变量ya'计算中间变量ha'=h(ida||pka||ya'||ba),则有ha'=ha。通过此等式,路边单元rsu得出签名是有效的,即车载单元obua身份合法。
同样的,车载单元obua在收到路边单元rsu发送的(ea,hrsu,srsu,t)信息时,根据路边单元rsu的公钥pkrsu以及部分私钥srsu=ea+skrsu·hrsu,计算中间变量ea'=(srsu+ya)p-hrsupkrsu,则有ea'=ea。通过此等式,车载单元obua此签名是有效的。从而成员加入过程中,两次签名的产生及验证过程是正确的。
(3)群签名的正确性:
若签名消息(c,s1,s2,s3,s4,c1,c2,c3)为合法签名,基于tp=ta(ba+xrsu)p=tabap+tasrsu(根据群成员加入时,群的同步因子的更新算法t'=t·(ba+xrsu)可以推导出此公式),计算中间变量d1'=s1c1-s2pkrsu+cpc3=r1c1-cbaeap-cbatapkrsu-r2pkrsu+cbatapkrsu+cbaeap=r1c1-r2pkrsu=d1,d2'=s1c2+s3srsu+ctp=r1c2-cbatap+r3srsu-ctasrsu+ctp=r1c2+r3srsu=d2,d3'=s3p+cc2=r3p-ctap+ctap=r3p=d3,d4'=cc1+s4p+s3pkrsu=ceap+ctapkrsu+r4p-ceap+r3pkrsu-ctapkrsu=r3pkrsu+r4p=d4,当签名有效时,上述式子成立,验证者将能通过已有公开信息计算得出c'=c,所以签名的验证算法是正确的。
不可伪造性指的是群内成员的群证书是不可伪造的。由此可知,路边单元rsu的私钥对为skrsu=(xrsu,srsu),其中部分私钥srsu=rrsu+zh1(idrsu||prsu||rrsu);群成员a的车载单元obua的群证书为(ida,pkrsu,ya,ea,ba,ta),其中中间变量ea=ya+eap=(ea+ya)p,ya=yap,且群的同步因子t与群成员a的车载单元obua的同步因子存在如下关系:t=ta(ba+xrsu),ya、ba、ea、xrsu分别为群成员的车载单元obua和路边单元rsu私有,任何单独一方都无法独立完成群成员证书建立,保证了群证书是不可伪造的。
前向安全性:在群成员a的车载单元obua加入群时,群同步因子t将根据车载单元obua发送给群管理员的ba进行如下更新:t'=t·(ba+xrsu),群内其它成员的车载单元obub的同步因子进行如下更新:tb'=t+tb(bb-bb);在车载单元obua的身份被撤销时,群同步因子进行如下更新:t'=t·(ba+xrsu)-1,群内其它成员的车载单元obub的同步因子进行如下更新:tb'=(tb-t')·(ba-bb)-1。可以看出,验证阶段签名及验证阶段使用的同步因子将根据成员的加入与撤销进行同步的更新,在更新之后,之前的签名验证等式将不成立,这样即可保证向前安全性。
性能分析一般从通信代价与计算代价两方面进行。本发明的通信代价需要考虑群管理员公钥长度、群成员签名信息长度进行;计算方面主要考虑成员加入计算代价,群成员撤销计算代价,信息签名计算代价及签名信息验证代价等。与其他群签名方法进行对比,表1给出其中部分性能分析对比,其中,n代表当前群成员数量,设置每次加入及撤销成员数量为1。
表1性能分析
表1中,lpy为文献[fanci,sunwz,huangsw,etal.stronglyprivacy-preservingcommunicationprotocolforvanets:informationsecurity,2015[c].]的方法,yjd为文献[尹建东.移动自组网中无证书可认证群组密钥管理方案研究[d].北京理工大学,2016.]的方法。由表1可知,本发明中,群管理员公钥长度和群成员签名信息长度与群内成员个数无直接关系,为常数级。本发明在进行加入与撤销时,需要对每个用户的同步因子进行更新,故加入花费与撤销花费为o(n);本发明信息签名计算代价及签名信息验证代价效率均为常数级,群成员个数不影响其进行信息签名及进行签名信息验证的时间花费。
本发明基于无证书签名方案,无需考虑证书的维护以及密钥托管问题,并在无证书基础上使用椭圆曲线进行运算,引入同步因子技术,进一步降低群成员加入、撤销、签名及验证时的计算过程,提高运算效率。分析表明,本发明在正确性的前提下不仅能够确保群签名方案的匿名性和可追踪性,还能够保证不可伪造性与前向安全性。本发明采用的部分密钥生成方案,有效的确保了用户密钥的安全性,且系统中无需保存过多的证书信息,计算与存储开销较低。因此,非常适用于车联网中计算与存储空间非常有限的车载单元与路边单元。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。