雾计算环境下基于区块链的道路救援隐私保护系统及方法与流程

文档序号:23711087发布日期:2021-01-23 20:06阅读:207来源:国知局
雾计算环境下基于区块链的道路救援隐私保护系统及方法与流程

[0001]
本发明涉及车联网数据隐私保护技术领域,具体涉及一种雾计算环境下基于区块链的道路救援隐私保护系统及方法。


背景技术:

[0002]
目前,随着汽车数量的快速增长,不可避免的发生诸多交通事故,交通事故不仅威胁人身财产安全,而且导致交通拥堵,交通拥堵造成了大量的燃料和运输资源的浪费。道路救援主要指汽车道路紧急救援,为故障车主提供现场小修等服务。因此,安全高效的道路救援系统对于改善交通事故救援服务、保障车上人员生命财产安全以及缓解交通拥堵具有重要意义。
[0003]
车载自组织网络(vanet)被认为是提高交通系统运行效率和安全性的一种有前途的技术。在vanet中,有两种节点,分别是车载单元(obu)和路边单元(rsu)。obu是安装在移动车辆上的无线电设备,rsu则是安装在公路沿线的网络基础设施。随着vanet的应用和发展,为道路救援这一领域提供了良好的平台。然而,vanet还是面临诸多挑战和问题,例如,有关计算效率和隐私保护的方面仍然是部署vanet的一个实际问题。
[0004]
利用云计算技术可以提高车载计算能力和存储容量。但是,云计算技术仍然存在许多问题,例如,向集中式云服务器传输大量实时数据,容易出现时间延迟,增加带宽成本。基于云计算的背景,cisco在2012年提出雾计算,使用基于雾的架构具有支持移动性、定位感知、异构性、可伸缩性、低时延和地理分布等优势。基于雾计算的网络架构是一个分散的网络,它可以在雾节点处理数据,减轻云服务器的计算和存储负担。
[0005]
近年来,区块链已经成为一种分散、安全、可信、不可篡改和可追踪的新技术。根据参与共识的节点,区块链可以分为私有区块链、公共区块链和联盟链。基于区块链的车辆互联网安全数据共享系统,该系统采用碎片化技术来提高网络的可扩展性,并生成辅助区块链来管理不同实体的数据。基于联盟链的自适应交通信号灯控制机制,根据车辆发送的道路信息动态调节交通信号的周期,减少等候时间,缓解交通拥堵。因此,区块链的出现为智能交通带来了新的机遇。


技术实现要素:

[0006]
本发明的目的在于提供一种提高了计算效率和数据共享安全性,降低了网络成本的雾计算环境下基于区块链的道路救援隐私保护方法,以解决上述背景技术中存在的至少一项技术问题。
[0007]
为了实现上述目的,本发明采取了如下技术方案:
[0008]
一方面,本发明提供一种雾计算环境下基于区块链的道路救援隐私保护系统,包括:
[0009]
可信机构ta,用于生成车辆自组织网络vanet的主密钥、追溯密钥以及公布系统公共参数,计算车载单元obu的伪身份,对密文进行验证并解密,将解密的明文信息发送给救
援响应平台;
[0010]
车载单元obu,用于根据系统参数和伪身份计算obu的完整密钥,并在伪身份有效期内对obu对应的车辆信息进行签密,经签密后的密文发送给路边基础单元rsu;
[0011]
路边基础单元rsu,用于作为雾服务器接收多个车载单元obu的密文的签名进行聚合计算,并对聚合签名进行验证,将验证成功的聚合签名对应的密文记录到密文块中发送到联盟链;
[0012]
智能合约ssc,用于接收待救援的车辆用户的车载单元obu发送的救援请求,搜索距离该车辆用户最近的救援相应平台,并将搜索结果以及该联盟链上该车辆用户的密文发送给ta。
[0013]
优选的,所述可信机构包括循环群计算单元、主密钥计算单元、追溯密钥计算单元、公共参数发布单元、伪身份生成单元和解密验证单元;
[0014]
所述循环群计算单元,用于根据输入的安全参数生成加法循环群;
[0015]
所述主密钥计算单元,用于选择加法循环群生成元的一个随机数作为主私钥,并计算相应的主公钥;
[0016]
所述追溯密钥计算单元,用于选择加法循环群生成元的另一个随机数作为追溯私钥,并计算相应的追溯公钥;
[0017]
所述公共参数发布单元,用于将加法循环群、主公钥、追溯公钥以及对应的哈希函数作为系统公共参数进行发布;
[0018]
所述伪身份生成单元,用于根据系统公共参数以及obu的第一伪身份和真实身份计算obu的第二伪身份,将第一伪身份和第二伪身份作为最终伪身份发送给obu;
[0019]
所述解密验证单元,用于对根据系统公共参数计算密文对应的明文信息并进行验证,验证成功,则接受该明文信息发送给救援响应平台。
[0020]
优选的,所述车载单元obu包括第一伪身份计算单元、obu密钥计算单元以及签密单元;
[0021]
所述第一伪身份计算单元,用于选择加法循环群生成元的一个随机数,计算第一伪身份,并将第一伪身份以及obu的真实身份发送给所述伪身份生成单元;
[0022]
所述obu密钥计算单元,用于选择加法循环群生成元的一个随机数计算第一部分公钥,将该随机数以及第一部分私钥作为完整私钥,将第一部分公钥以及第二部分公钥作为完整公钥;
[0023]
所述签密单元,用于在最终伪身份有效期内,选择加法循环群生成元的两个随机数,生成车辆信息的密文。
[0024]
优选的,所述可信机构还包括第一部分私钥计算单元、第二部分公钥计算单元;
[0025]
所述第一部分私钥计算单元,用于根据最终伪身份计算obu的第一部分私钥;
[0026]
所述第二部分公钥计算单元,用于选择加法循环群生成元的一个随机数,计算obu的第二部分公钥。
[0027]
优选的,所述路边基础单元rsu包括聚合计算单元,用于接收到所在区域密文和对应的伪身份后,进行聚合计算,并对聚合签名进行验证,验证成功的密文记录到块中,运用瑞波共识机制验证这个块中数据的有效性,验证通过连接到联盟链上。
[0028]
优选的,所述路边基础单元rsu还包括签名验证单元,用于利用二分查找法找出有
效签名,对有效签名进行验证,返回无效签名。
[0029]
第二方面,本发明还提供一种基于如上所述的系统的雾计算环境下基于区块链的道路救援隐私保护方法,包括:
[0030]
生成车辆自组织网络vanet的主密钥、追溯密钥以及公布系统参数,计算车载单元obu的伪身份;
[0031]
根据系统参数和伪身份计算obu的完整密钥,并在伪身份有效期内对obu对应的车辆信息进行签密,经签密后的密文发送给路边基础单元rsu;
[0032]
对多个车载单元obu的密文的签名进行聚合计算,并对聚合签名进行验证,将验证成功的聚合签名对应的密文记录到密文块中发送到联盟链;
[0033]
根据待救援的车辆用户的车载单元obu发送的救援请求,搜索距离该车辆用户最近的救援相应平台,并将搜索结果以及该联盟链上该车辆用户的密文发送给ta;
[0034]
ta对密文进行验证并解密,将解密的明文信息发送给救援响应平台。
[0035]
优选的,所述路边基础单元rsu利用二分查找法找出有效签名,对有效签名进行验证,返回无效签名包括:
[0036]
步骤1:若n个密文的签名(r
1
,r
2
,...,r
n
)聚合验证失败,则计算中间值点
[0037]
步骤2:对mid之前的签名(r
1
,r
2
,...,r
mid
)和mid之后的签名(r
mid+1
,r
mid+2
,...,r
n
)分别进行聚合验证;
[0038]
步骤3:如果mid之前的签名和mid之后的签名中的任何一部分聚合验证再次失败,则对验证无效的签名重复步骤1-步骤2,直到一批签名只包括一个签名,停止二进制搜索。
[0039]
优选的,如果连续两次都是由同一车辆上传的无效签名导致聚合验证失败,则rsu将不再接收此车辆上传的密文。
[0040]
优选的,可信机构ta通过计算rid
i
=pid
i,2

h
0
(αpid
i,1
)来追溯车辆的真实身份;其中,rid
i
表示车辆的真实身份,pid
i,2
表示第二伪身份,

表示异或逻辑运算,h
0
表示系统公共参数中的哈希函数h
0
:{0,1}
*

g,α表示一个随机数pid
i,1
表示第一伪身份,g表示公共参数中的加法循环群,p为g的生成元。
[0041]
本发明有益效果:保证了数据的机密性和完整性,已签密的消息不会被恶意车辆伪造或修改,通信过程隐藏车辆用户真实身份并保持一致,可信机构能够追踪车辆的真实身份,密钥生成中心没有车辆用户的完整私钥保证了信息安全,rsu接收到大量消息密文后,实现了快速验证。具体如下:
[0042]
(1)在用户层和联盟链层之间增加了雾服务器层,将道路单元(rsu)融入了雾服务器层,每个rsu都作为一个雾服务器。这样能够运用雾计算有效降低用户层和联盟链层的上传时延和传输成本。
[0043]
(2)使用了聚合验证技术。首先,车辆用户将消息签密后上传到作为雾服务器的rsu。然后,rsu接收密文后,当只有一条密文消息时,进行单独验证。当有多条密文消息时,rsu将多个密文的签名部分聚合生成聚合签名,进行聚合验证。这样大大提高了验证效率并减少了通信成本。另外,利用了二分查找法来找出无效的签名,提高了聚合验证失败时再次验证的效率。
[0044]
(3)车辆用户的真实身份在整个通信过程中都受到保护。车辆用户借用伪身份以保持匿名进行通信。除了可信机构(ta)可以追踪车辆用户的真实身份,没有任何的第三方机构可以得知车辆用户的真实身份。同时,在一些车辆用户上传的消息导致事故或纠纷的特殊情况下,ta能够追溯到车辆的真实身份。
[0045]
(4)为了更安全的数据共享和更少的网络开销,采用了联盟链。一旦密文是上传到联盟链,它可以永久存储,永远不会被篡改或删除。在联盟链中预先选择了节点来验证和记录数据,这加快了块的生成和节点之前达成共识的速度。
[0046]
(5)密钥生成中心没有车辆用户的完整私钥。因此,在kgc已泄露的情况下,确保了恶意车辆无法获得车辆用户的完整私钥,提高了安全性。
[0047]
(6)所涉及的运算只运用了点乘运算,大大提高了计算效率,降低了通信成本。
[0048]
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0049]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050]
图1为本发明实施例1所述的雾计算环境下基于区块链的道路救援隐私保护系统功能原理框图。
[0051]
图2为本发明实施例2所述的雾计算环境下基于区块链的道路救援隐私保护系统功能原理框图。
[0052]
图3为本发明实施例3所述的雾计算环境下基于区块链的道路救援隐私保护方法中obu伪身份生成流程示意图。
[0053]
图4为本发明实施例3所述的雾计算环境下基于区块链的道路救援隐私保护方法聚合签名计算验证流程示意图。
具体实施方式
[0054]
下面详细叙述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0055]
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。
[0056]
还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0057]
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加
一个或多个其他特征、整数、步骤、操作、元件和/或它们的组。
[0058]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0059]
在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0060]
除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“设置”应做广义理解,例如,可以是固定相连、设置,也可以是可拆卸连接、设置,或一体地连接、设置。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
[0061]
为便于理解本发明,下面结合附图以具体实施例对本发明作进一步解释说明,且具体实施例并不构成对本发明实施例的限定。
[0062]
本领域技术人员应该理解,附图只是实施例的示意图,附图中的部件并不一定是实施本发明所必须的。
[0063]
实施例1
[0064]
如图1所示,本发明实施例1提供一种雾计算环境下基于区块链的道路救援隐私保护系统,该系统包括:
[0065]
可信机构ta,用于生成车辆自组织网络vanet的主密钥、追溯密钥以及公布系统公共参数,计算车载单元obu的伪身份,对密文进行验证并解密,将解密的明文信息发送给救援响应平台。
[0066]
车载单元obu,用于根据系统参数和伪身份计算obu的完整密钥,并在伪身份有效期内对obu对应的车辆信息进行签密,经签密后的密文发送给路边基础单元rsu。
[0067]
路边基础单元rsu,用于作为雾服务器接收多个车载单元obu的密文的签名进行聚合计算,并对聚合签名进行验证,将验证成功的聚合签名对应的密文记录到密文块中发送到联盟链。
[0068]
智能合约ssc,用于接收待救援的车辆用户的车载单元obu发送的救援请求,搜索距离该车辆用户最近的救援相应平台,并将搜索结果以及该联盟链上该车辆用户的密文发送给ta。
[0069]
在本实施例1中,所述可信机构包括循环群计算单元、主密钥计算单元、追溯密钥计算单元、公共参数发布单元、伪身份生成单元和解密验证单元。所述循环群计算单元,用于根据输入的安全参数生成加法循环群。所述主密钥计算单元,用于选择加法循环群生成元的一个随机数作为主私钥,并计算相应的主公钥。所述追溯密钥计算单元,用于选择加法循环群生成元的另一个随机数作为追溯私钥,并计算相应的追溯公钥。所述公共参数发布单元,用于将加法循环群、主公钥、追溯公钥以及对应的哈希函数作为系统公共参数进行发布。所述伪身份生成单元,用于根据系统公共参数以及obu的第一伪身份和真实身份计算
obu的第二伪身份,将第一伪身份和第二伪身份作为最终伪身份发送给obu。所述解密验证单元,用于对根据系统公共参数计算密文对应的明文信息并进行验证,验证成功,则接受该明文信息发送给救援响应平台。
[0070]
在本实施例1中,所述车载单元obu包括第一伪身份计算单元、obu密钥计算单元以及签密单元。所述第一伪身份计算单元,用于选择加法循环群生成元的一个随机数,计算第一伪身份,并将第一伪身份以及obu的真实身份发送给所述伪身份生成单元。所述obu密钥计算单元,用于选择加法循环群生成元的一个随机数计算第一部分公钥,将该随机数以及第一部分私钥作为完整私钥,将第一部分公钥以及第二部分公钥作为完整公钥。所述签密单元,用于在最终伪身份有效期内,选择加法循环群生成元的两个随机数,生成车辆信息的密文。
[0071]
在实施例1中,所述可信机构还包括第一部分私钥计算单元、第二部分公钥计算单元。所述第一部分私钥计算单元,用于根据最终伪身份计算obu的第一部分私钥。所述第二部分公钥计算单元,用于选择加法循环群生成元的一个随机数,计算obu的第二部分公钥。
[0072]
在实施例1中,所述路边基础单元rsu包括聚合计算单元,用于接收到所在区域密文和对应的伪身份后,进行聚合计算,并对聚合签名进行验证,验证成功的密文记录到块中,运用瑞波共识机制验证这个块中数据的有效性,验证通过连接到联盟链上。所述路边基础单元rsu还包括签名验证单元,用于利用二分查找法找出有效签名,对有效签名进行验证,返回无效签名。
[0073]
在本实施例1中,基于上述系统的一种雾计算环境下基于区块链的道路救援隐私保护方法,包括:
[0074]
生成车辆自组织网络vanet的主密钥、追溯密钥以及公布系统参数,计算车载单元obu的伪身份。根据系统参数和伪身份计算obu的完整密钥,并在伪身份有效期内对obu对应的车辆信息进行签密,经签密后的密文发送给路边基础单元rsu。对多个车载单元obu的密文的签名进行聚合计算,并对聚合签名进行验证,将验证成功的聚合签名对应的密文记录到密文块中发送到联盟链。根据待救援的车辆用户的车载单元obu发送的救援请求,搜索距离该车辆用户最近的救援相应平台,并将搜索结果以及该联盟链上该车辆用户的密文发送给ta。ta对密文进行验证并解密,将解密的明文信息发送给救援响应平台。
[0075]
本实施例1的所述方法中,生成车辆自组织网络vanet的主密钥、追溯密钥以及公布系统参数包括:
[0076]
输入一个安全参数k,可信机构ta中的循环群计算单元生成一个阶为q的加法循环群g,p为g的生成元。
[0077]
ta中的主密钥计算单元选择一个随机数作为主私钥msk,并计算主公钥p
pub
=sp;
[0078]
ta中的追溯密钥计算单元选择另一个随机数作为追溯私钥tsk,并计算追溯公钥tpk=αp;
[0079]
ta中公共参数发布单元选择四个哈希函数:
[0080]
h
0
:{0,1}
*

g,h
3
:{0,1}
*

{0,1}
n
;生成系统参数后,发布系统公共参数par=(g,p
pub
,tpk,h
0
,h
1
,h
2
,h
3
)。
[0081]
在本实施例1中,计算车载单元obu的伪身份包括:
[0082]
obu中的第一伪身份计算单元选择一个随机数并计算第一伪身份:pid
i,1
=k
i
p;将(rid
i
,pid
i,1
)发给ta;其中,rid
i
表示obu的真实身份。
[0083]
ta中的第二伪身份计算单元接收到(rid
i
,pid
i,1
)后,检查rid
i
存在于本地数据库中,则计算第二伪身份:pid
i,2
=rid
i

h
0
(αpid
i,1
);其中,

表示异或逻辑运算。
[0084]
ta中的伪身份计算单元通过安全信道将最终伪身份pid
i
=(pid
i,1
,pid
i,2
,θ
i
)发送给obu,其中,θ
i
表示pid
i
的有效时间。
[0085]
计算obu的完整密钥包括:
[0086]
obu的第一部分公钥计算单元选择一个随机数并计算第一部分公钥:vp
ia
=x
i
p,将pid
i
和vp
ia
发送给ta。
[0087]
ta中的爹部分公钥计算单元选择一个随机数计算第二部分公钥:vp
ib
=y
i
p。
[0088]
ta中第一部分私钥计算单元接收到pid
i
后,计算第一部分私钥psk
i
=sq
i
,并将psk
i
发给obu,其中,q
i
=h
1
(pid
i
)。
[0089]
obu中的obu密钥计算单元通过检查等式psk
i
p=p
pub
h
1
(pid
i
)是否成立,来验证psk
i
的有效性,若验证有效,则obu的完整私钥为vsk
i
=(x
i
,psk
i
),完整公钥为vpk
i
=(vp
ia
,vp
ib
)。
[0090]
在伪身份有效期内对obu对应的车辆信息m进行签密包括:如果在有效期内,obu中的签密单元选择两个随机数生成密文c
i
=(u
i
,r
i
,s
i
,w
i
);其中,
[0091]
r
i
为密文c
i
的签名;
[0092]
u
i
=μ
i
p;
[0093]
w
i
=ω
i
p;
[0094]
v
i
=h
3

i
p
pub
);
[0095]
s
i
=v
i

(m||pid
i
||ω
i
);
[0096]
t
i
=h
2
(pid
i
,id
r
,u
i
,vpk
i
,s
i
);
[0097]
r
i
=psk
i

i
t
i
+x
i

[0098]
id
r
表示rsu的身份。
[0099]
rsu中的聚合验证单元接收多个车载单元obu的密文的签名进行聚合计算,并对聚合签名进行验证包括:
[0100]
计算聚合签名:
[0101]
输出聚合密文:c=(u
1
,...,u
n
,s
1
,...,s
n
,w
1
,...,w
n
,r);
[0102]
计算t
i
=h
2
(pid
i
,id
r
,u
i
,vpk
i
,s
i
);其中,i=1,2,...,n,n表示密文的个数;
[0103]
验证等式是否成立;如果等式成立,rsu便将验证成功的密文记录到块中,然后运用瑞波共识机制验证这个块中数据的有效性,验证通过后,将当前块连接到联盟链上。
[0104]
ta中的解密验证单元对密文进行验证并解密包括:
[0105]
计算v
i
=h
3
(su
i
),再计算m||pid
i
||ω
i
=s
i

v
i
;解密出ω
i
后验证等式w
i
=ω
i
p是
否成立,如果验证成功则接受此m。
[0106]
本实施例1中,rsu中的签名验证单元利用二分查找法来找出有效的签名,先对有效签名进行验证,返回无效签名包括:
[0107]
步骤1:若n个密文的签名(r
1
,r
2
,...,r
n
)聚合验证失败,则计算中间值点
[0108]
步骤2:对mid之前的签名(r
1
,r
2
,...,r
mid
)和mid之后的签名(r
mid+1
,r
mid+2
,...,r
n
)分别进行聚合验证;
[0109]
步骤3:如果mid之前的签名和mid之后的签名中的任何一部分聚合验证再次失败,则对验证无效的签名重复步骤1-步骤2,直到一批签名只包括一个签名,停止二进制搜索。
[0110]
如果连续两次都是由同一车辆上传的无效签名导致聚合验证失败,则rsu将不再接收此车辆上传的密文。
[0111]
实施例2
[0112]
如图2所示,本实施例2中提供一种雾计算环境下基于区块链的道路救援隐私保护系统,包括可信机构ta、车辆用户、作为雾服务器的道路单元rsu、联盟区块链、道路救援公司五个实体。
[0113]
可信机构ta:假设可信机构始终是可信的,在整个网络中具有较强计算能力和巨大的存储空间。主要用于生成系统参数、主密钥、追溯密钥等。主要负责接收搜索智能合约传来的密文,对密文进行解密和验证,发送给对应的道路救援公司以便及时对紧急情况做出响应。如果车辆用户上传的信息导致事故或纠纷,ta可以对车辆用户的伪身份进行追溯来找到真实身份。
[0114]
车辆用户:车辆用户利用车载设备单元(obu)进行消息的签密和上传。主要用于车辆密钥的生成和消息的签密。
[0115]
道路单元(rsu):道路单元是在雾层的公路沿线的网络基础设施,即作为雾服务器的道路单元。rsu是半可信的,意味着它是诚实的,但对车辆用户上传信息的内容敏感且好奇。主要负责对车辆用户上传的密文进行聚合验证操作,以及将验证通过的密文生成块连接到联盟区块链。
[0116]
联盟区块链:rsu将验证通过的密文连接到联盟链。一旦密文是上传到联盟链,它可以永久存储,永远不会被篡改或删除。这样能够防止恶意对手删除所有密文,以确保ta能够追溯到车辆的真实身份。
[0117]
在本实施例2中,通过上述的系统实现道路救援隐私保护的方法,主要包括以下步骤:
[0118]
1)系统初始化:输入一个安全参数k,可信机构ta生成一个阶为q的加法循环群g。然后生成系统主私钥、主公钥和追溯私钥,选择四个哈希函数。完成系统参数初始化,发布系统公共参数。
[0119]
2)伪身份生成:当车载单元加入车辆自组织网络时,将自身的真实身份rid发给可信机构ta,交互完成后会获得一个车辆伪身份pid
i

[0120]
3)密钥生成:车辆用户通过安全的信道与可信机构进行交互,交互完成后会获得完整私钥和完整公钥。
[0121]
4)签密阶段:车辆用户首先检查伪身份pid
i
的有效期,再对相关数据m进行签密操作,最后获得包含签名的密文,并将伪身份和密文发送给路边单元rsu。
[0122]
5)聚合验证:作为雾服务器的道路单元rsu节点接收到所在区域的密文后,进行聚合操作,然后对聚合签密进行验证。之后,rsu节点将验证成功的密文记录到块中,然后运用瑞波共识机制验证这个块中数据的有效性。一旦验证通过,就将当前块连接到联盟链上。
[0123]
6)检查无效签名:当聚合验证失败时,为了提高再次验证的效率,利用二分查找法来找出有效的签名。从而先对有效签名经行聚合验证,返回无效签名。
[0124]
7)响应阶段:车辆用户提交道路救援请求后,智能合约ssc搜索一个距离车辆用户最近的救援公司,将返回的搜索结果和联盟链中此车辆用户上传的密文c
i
发送给ta。ta对密文进行验证和解密,将明文信息发送给对应的救援公司。救援公司在接收到车辆用户上传的数据后,立即进行数据分析做出应急救援。
[0125]
上述方法包括了以下八个多项式时间可计算的算法组成:
[0126]
系统初始化算法:setup(1
k
)

(par,msk):输入一个安全参数k,可信机构ta运行系统初始化算法生成一个系统公共参数par和一个系统主私钥msk。
[0127]
追溯密钥生成算法:keygentra(par)

(tsk,tpk):输入系统公共参数par,ta运行追溯密钥生成算法以生成一对私钥tsk和公钥tpk。
[0128]
伪身份生成算法:psegen(rid
i
)

(pid
i
):输入一个车辆的真实身份rid
i
,ta生成车辆的伪身份pid
i

[0129]
车辆密钥生成算法:keygenv(par,pid
i
)

(vsk
i
,vpk
i
):输入系统公共参数par和车辆伪身份pid
i
,车辆运行密钥生成算法以生成一对私钥vsk
i
和公钥vpk
i

[0130]
签密算法:signcrypt(par,id
r
,vsk
i
,vpk
i
,m)

c
i
:输入系统公共参数par、rsu的身份id
r
、车辆的私钥vsk
i
和公钥vpk
i
以及一个消息m,车辆生成签密密文c
i

[0131]
聚合算法:aggregate(c
i
)

r:输入一组消息签密对,rsu将n个消息签密对其中的签名部分聚合输出一个聚合签名r。
[0132]
聚合验证算法:aggverify(c
i
,par,pid
i
,vpk
i
,id
r
)

1/0:输入系统公共参数par、车辆的公钥vpk
i
、密文c
i
、聚合签名r、车辆的伪身份pid
i
和rsu的身份id
r
,rsu验证聚合签名是否正确,输出1或0。
[0133]
解密算法:decrypt(c
i
,par,msk)

m/

:输入系统公共参数par,密文c
i
和系统主密钥msk,ta运行解密算法输出明文m或表示解密出错的符号


[0134]
实施例3
[0135]
如图2至图4所示,本发明实施例3提供一种雾计算环境下基于区块链的道路救援隐私保护系统的隐私保护方法,其中所述的系统包括可信机构、车辆用户、作为雾服务器的道路单元、联盟区块链、道路救援公司五个实体。先将各区域分别划分给对应的道路单元,每一个道路单元就是一个雾节点。第i个车辆用户要上传车辆各部件的相关信息,先将加密后的数据生成密文上传到该区域内的唯一道路单元rsu
j
,道路单元rsu
j
收集来自该区域内n个待救援车辆的相关数据的密文进行聚合验证。之后道路单元将验证通过的密文连接到联盟链上。如果聚合验证失败就会进行检查无效签名操作。车辆用户提交道路救援请求后,智能合约ssc搜索一个距离车辆用户最近的救援公司j
1
,将返回的搜索结果(j
1
)和联盟链中此车辆用户上传的密文发送给ta。ta对密文进行验证和解密,将明文信息发送给对应的救援
公司。救援公司j
1
在接收到车辆用户上传的数据后,立即进行数据分析做出应急救援。
[0136]
可信机构ta在前面叙述的步骤中主要用于生成系统参数、车辆伪身份、主密钥、用户部分密钥和追溯密钥等。
[0137]
在本实施例3中,雾计算环境下基于区块链的道路救援隐私保护系统的隐私保护方法具体步骤如下:
[0138]
步骤1)系统初始化阶段:
[0139]
输入一个安全参数k,可信机构ta生成一个阶为q的加法循环群g,p为g的生成元。ta选择一个随机数作为主私钥msk,并计算主公钥p
pub
=sp;其中msk只有ta知道。
[0140]
然后ta又选择另一个随机数作为追溯私钥tsk,并计算追溯公钥tpk=αp。
[0141]
ta选择四个哈希函数:h
0
:{0,1}
*

g,h
3
:{0,1}
*

{0,1}
n

[0142]
最后ta生成系统参数后,发布系统公共参数:
[0143]
par=(g,p
pub
,tpk,h
0
,h
1
,h
2
,h
3
)。
[0144]
步骤2)伪身份生成阶段:
[0145]
在通信过程中,为了实现匿名性,不能使用唯一标识车辆的真实身份。如图3所示,车辆在加入系统之前,ta会为车辆生成一个伪身份。车辆v
i
选择一个随机数并计算pid
i,1
=k
i
p。然后车辆v
i
将(rid
i
,pid
i,1
)发给ta。在ta接收到(rid
i
,pid
i,1
)后,ta首先检查rid
i
是否存在于本地数据库中。之后ta计算pid
i,2
=rid
i

h
0
(αpid
i,1
)。最后ta通过安全信道将pid
i
=(pid
i,1
,pid
i,2
,θ
i
)发送给车辆v
i
,其中θ
i
是pid
i
的有效时间。如果车辆v
i
上传的信息导致事故或纠纷,ta可以通过计算rid
i
=pid
i,2

h
0
(αpid
i,1
)来追溯车辆vi的真实身份。
[0146]
步骤3)密钥生成阶段:
[0147]
车辆用户v
i
选择一个随机数并计算一个部分公钥vp
ia
=x
i
p,然后将车辆伪身份pid
i
和vp
ia
发送给ta。
[0148]
ta选择一个随机数计算vp
ib
=y
i
p作为v
i
的另一部分公钥。
[0149]
在ta接收到pid
i
后,计算一个部分私钥psk
i
=sq
i
,并将psk
i
发给v
i
,其中q
i
=h
1
(pid
i
)。
[0150]
v
i
通过检查等式psk
i
p=p
pub
h
1
(pid
i
)是否成立,来验证psk
i
的有效性。最后车辆用户的完整私钥为vsk
i
=(x
i
,psk
i
),完整公钥为vpk
i
=(vp
ia
,vp
ib
)。其中vsk
i
只有v
i
本身知道,vpk
i
是公开的。
[0151]
步骤4)签密阶段:
[0152]
在对消息m签密之前,首先检查伪身份pid
i
的有效性。如果在有效期内,车辆用户v
i
选择两个随机数生成密文c
i
=(u
i
,r
i
,s
i
,w
i
),其中r
i
为密文c
i
的签名。此阶段进行如下计算:
[0153]
u
i
=μ
i
p;
[0154]
w
i
=ω
i
p;
[0155]
v
i
=h
3

i
p
pub
);
[0156]
s
i
=v
i

(m||pid
i
||ω
i
);
[0157]
t
i
=h
2
(pid
i
,id
r
,u
i
,vpk
i
,s
i
);
[0158]
r
i
=psk
i

i
t
i
+x
i

[0159]
id
r
表示rsu的身份。
[0160]
最后,车辆将伪身份pid
i
和密文c
i
发送到最近的rsu。
[0161]
步骤5)聚合验证阶段:
[0162]
如图3所示,作为雾服务器的道路单元rsu节点接收到所在区域签密后的消息和对应的伪身份后,进行聚合操作,然后进行验证:
[0163]
计算聚合签名
[0164]
输出c=(u
1
,...,u
n
,s
1
,...,s
n
,w
1
,...,w
n
,r)
[0165]
计算t
i
=h
2
(pid
i
,id
r
,u
i
,vpk
i
,s
i
),其中i=1,2,...,n。
[0166]
验证等式是否成立,如果等式成立,rsu便将验证成功的密文记录到块中,然后运用瑞波共识机制验证这个块中数据的有效性。一旦验证通过,就将当前块连接到联盟链上。
[0167]
步骤6)检查无效签名阶段:
[0168]
rsu节点进行聚合操作生成c后,对于一批密文的签名,可能只有少数是无效签名。如果全部密文被删除重新进行验证操作,这种方法的效率很低。为了避免这种情况,利用二分查找法来找出有效的签名。从而先对有效签名经行验证,返回无效签名。假设一批密文的签名有n个(r
1
,r
2
,...,r
n
),首先对这n个签名进行聚合验证操作。一旦聚合验证失败,首先计算其中间值点然后对前一半的签名(r
1
,r
2
,...,r
mid
)和后一半的签名(r
mid+1
,r
mid+2
,...,r
n
)分别进行聚合验证操作。如果这两个部分中的任何一部分在聚合验证阶段再次失败,我们将重复对无效的部分进行以上相同的操作。直到一批签名只包括一个签名,二进制搜索将停止。另外,如果连续两次都是由同一车辆上传的无效签名导致聚合验证操作失败,在这之后rsu将不再接收此车辆上传的密文。
[0169]
步骤7)道路救援响应阶段:
[0170]
车辆用户v
i
提交道路救援请求,将自己伪身份pid
i
和所在位置发给智能合约ssc,然后ssc搜索一个距离v
i
最近的救援公司j
1
,将返回的结果j
1
和联盟链中v
i
上传的密文c
i
发送给ta。ta收到c
i
后,首先计算v
i
=h
3
(su
i
),再计算:m||pid
i
||ω
i
=s
i

v
i
。解密出ω
i
后验证等式w
i
=ω
i
p。如果验证成功则接受此消息m。最后ta将消息m发送给救援公司j
1
做出应急救援响应。
[0171]
综上所述,本发明实施例所述的雾计算环境下基于区块链的道路救援隐私保护系统及方法,在用户层和联盟链层之间增加了雾服务器层,将道路单元rsu融入了雾服务器层,每个rsu都作为一个雾服务器,运用雾计算有效降低用户层和联盟链层的上传时延和传输成本。
[0172]
使用了聚合验证技术,提高了验证效率并减少了通信成本,利用了二分查找法来找出无效的签名,提高了聚合验证失败时再次验证的效率;车辆用户的真实身份在整个通信过程中都受到保护,车辆用户借用伪身份以保持匿名进行通信;除了可信机构(ta)可以
追踪车辆用户的真实身份,没有任何的第三方机构可以得知车辆用户的真实身份。
[0173]
在一些车辆用户上传的消息导致事故或纠纷的特殊情况下,ta能够追溯到车辆的真实身份。采用联盟链,一旦密文是上传到联盟链,它可以永久存储,永远不会被篡改或删除,在联盟链中预先选择了节点来验证和记录数据,加快了块的生成和节点之前达成共识的速度,提高了数据共享安全性,降低了网络成本。
[0174]
密钥生成中心没有车辆用户的完整私钥,在kgc已泄露的情况下,确保了敌手无法获得车辆用户的完整私钥。这极大增加了方案的安全性。所涉及的运算只运用了点乘运算,大大提高了计算效率,降低了通信成本。
[0175]
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
[0176]
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本发明公开的技术方案的基础上,本领域技术人员在不需要付出创造性劳动即可做出的各种修改或变形,都应涵盖在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1