本发明属于区块链与车载网络,具体涉及一种车联网环境下基于区块链的完全匿名认证与密钥协商方法。
背景技术:
1、随着信息技术的快速发展和智能化交通系统的兴起,车联网(internet ofvehicles,简称iov)作为智慧交通系统的重要组成部分,已经在道路安全、交通管理、辅助驾驶系统等领域展现出广阔的应用前景。然而,车联网的广泛应用也引发了一系列的技术和安全挑战,特别是在确保车联网通信的可靠性、安全性和隐私性方面。为了满足车联网中通信的安全需求,通常会采用密钥加密的方法进行交互,其中最关键的问题是会话密钥的协商。
2、基于假名的认证密钥协商技术可以在建立会话密钥的同时,实现车辆身份的匿名认证和会话密钥的相互验证,是保证车联网通信可靠性与隐私性的有效途径。然而现存方案中大多采用单个权威机构的中心化架构,容易出现单点故障和认证效率低的问题,并且无法兼顾车辆假名的完全匿名性与可验证性。此外,不断膨胀的证书撤销列表也给车辆内存带来沉重负担。
3、区块链技术作为一种公开可追溯、防篡改的分布式账本,可为车联网的匿名性、公开可验证性及分布式存储等方面提供技术支持,在车联网的通信安全和车辆身份隐私保护上具有巨大的应用潜力,将区块链技术与车联网相结合可有效提高车联网环境的安全性和通信效率。
技术实现思路
1、针对车联网中认证和密钥协商存在的上述问题,本发明结合区块链技术,提出一种车联网环境下基于区块链的完全匿名认证与密钥协商方法,在实现车辆假名完全匿名性与可验证性的同时,避免了证书撤销列表的不断膨胀,从而降低了车联网对联网车辆内存的要求。
2、本发明所述的一种车联网环境下基于区块链的完全匿名认证与密钥协商方法,其特征在于:
3、(1)所述的方法包括五类实体,分别是认证机构、假名生成机构、追责机构、车辆和路边单元;
4、(2)所述的方法包括以下七个步骤:
5、s1:系统初始化;
6、认证机构、假名生成机构和追责机构进行系统初始化,生成公共参数并上传至区块链;
7、s2:车辆注册;
8、车辆生成自身的注册密钥对并向所述认证机构申请注册,所述认证机构验证车辆身份的合法性,若验证通过,存储车辆的注册信息;
9、s3:路边单元注册;
10、路边单元生成自身的注册密钥对并向所述认证机构申请注册,所述认证机构验证身份的合法性;若验证通过,计算在车联网中的假名与部分私钥,并通过安全信道发送给路边单元;存储的注册信息;
11、s4:车辆假名申请;
12、车辆向所述认证机构发送假名申请,所述认证机构与所述假名生成机构基于同态加密算法为所述车辆生成假名和临时私钥;车辆使用自身的注册私钥解密所述认证机构与假名生成机构为其生成的假名和临时私钥;车辆基于该车辆对应的假名和临时私钥生成自身的证书并将所述证书上传至区块链;
13、s5:车辆与车辆之间的相互认证与密钥协商;
14、车辆与网络中的其他车辆进行相互认证与密钥协商,并利用协商的会话密钥与相应的车辆进行通信;
15、s6:车辆与之间的相互认证与密钥协商;
16、车辆与路边单元进行相互认证与密钥协商,并利用协商的会话密钥与相应的路边单元进行通信;
17、s7:恶意车辆追踪;
18、假名生成机构接收到车辆的恶意行为举报后,根据恶意车辆的假名信息生成追责参数并发送给追责机构;基于所述追责参数追踪恶意车辆的真实身份;
19、进一步地,所述五类实体具体描述为:
20、(1)认证机构:所述认证机构负责初始化系统、发布公共参数并对车联网中的所有车辆和路边单元进行注册;此外,所述认证机构与假名生成机构合作生成车辆的假名和临时私钥;
21、(2)假名生成机构:所述假名生成机构的工作包括两部分:与所述认证机构协作生成车辆的假名和私钥,接收车辆的恶意行为举报并协助追责机构追踪恶意车辆的真实身份;
22、(3)追责机构:所述追责机构负责追踪恶意车辆的真实身份;
23、(4)车辆:所述车辆具有一定的计算能力,可以与其他车辆()和()通信;通过或通信,车辆可以传输和获取交通信息,如交通堵塞、事故预警和道路信息等;
24、(5)路边单元:所述路边单元是部署在路边的固定道路基础设施,负责收集和发布实时交通信息,并为车辆提供通信服务;
25、进一步地,所述步骤s1中认证机构、假名生成机构及追责机构进行系统初始化的过程具体如下:
26、s11:所述认证机构在有限域中选择一条椭圆曲线和一个无穷远点;所述认证机构根据椭圆曲线生成一个阶循环群,群的生成元记为;
27、s12:所述认证机构选择两个随机数并计算自身的公钥和公共参数,其中为的主秘密,为的私钥;
28、s13:所述认证机构选择一个单向哈希函数,并将参数元组上传至区块链;
29、s14:所述假名生成机构选择随机数,计算自身的公钥并将上传至区块链,其中为的私钥;所述追责机构选择随机数,计算自身的公钥并将公钥上传至区块链,其中为的私钥;
30、s15:所述假名生成机构将时间均匀划分为多个时间段;选择随机数并计算公共参数,,和,其中和为时间段的系统秘密值;将参数元组上传至区块链;根据所述参数元组计算,;在时间段,和会为时间段生成新的秘密值;
31、进一步地,所述步骤s15中和为时间段生成秘密值的过程具体如下:
32、在时间段,所述假名生成机构选择秘密值并且计算,,和,其中和为时间段的系统秘密值;将参数元组上传至区块链;根据所述参数元组计算和;
33、进一步地,所述步骤s2中车辆的注册过程,以车辆为例,具体如下:
34、s21:车辆根据加密算法生成自身的私钥和公钥;
35、s22:车辆生成自身唯一的真实身份,并使用对进行加密得到密文;车辆将注册请求发送给认证机构,其中为当前时间戳;
36、s23:接收到车辆的注册请求后解密并验证车辆身份的合法性,如果车辆身份合法,将元组存储到本地数据库;
37、进一步地,所述步骤s3中路边单元的注册过程,以路边单元为例,具体如下:
38、s31:路边单元通过安全信道向认证机构发送注册请求,其中为路边单元的真实身份,为当前时间戳;
39、s32:认证机构接收到路边单元的注册请求后,验证的新鲜度和的合法性;验证通过后,认证机构选择随机数并计算,和;认证机构通过安全信道将元组发送给路边单元,其中为路边单元在车联网中的假名,为路边单元的部分私钥;
40、s33:路边单元接收到元组后,验证是否成立;若成立,路边单元选择随机数,计算和并公布,其中为的私钥,为的公钥;
41、进一步地,所述步骤s4中车辆申请假名,以车辆为例,具体如下:
42、s41:车辆生成时间段的假名请求消息并对其签名得到,其中为当前时间戳;车辆向认证机构发送;
43、s42:所述认证机构接收到后,验证的新鲜度和的合法性;验证通过后认证机构选择随机数,并使用时间段的秘密值计算车辆的部分假名和部分私钥;认证机构分别对和进行加密得到密文,并向假名生成机构发送;认证机构使用椭圆曲线加密算法加密得到密文和,并向追责机构发送;
44、s43:假名生成机构接收到后,选择随机数,并使用时间段的秘密值计算和;假名生成机构分别对和进行加密得到密文;假名生成机构将和进行同态运算得到,其中;假名生成机构将发送给车辆,并将发送给追责机构,其中;
45、s44:车辆接收到后对其进行解密得到该车辆的假名和临时私钥:
46、
47、
48、认证机构和假名生成机构利用同态加密算法为车辆生成临时私钥和假名,在保证车辆假名可验证性的同时,实现了车辆的完全匿名性,车联网的任何实体都无法单独通过车辆的假名或公钥追踪车辆的真实身份;
49、车辆生成证书,并将其公布给区块链节点;所述区块链节点根据以下公式验证证书的合法性,若验证通过,所述区块链节点使用树的存储结构存储所述证书并将其上传至区块链;
50、<msub><mi>pid</mi><msub><mi>v</mi><mi>i</mi></msub></msub><msub><mi>f</mi><mi>i</mi></msub><mi>=[a+h(</mi><msub><mi>rid</mi><msub><mi>v</mi><mi>i</mi></msub></msub><mi>||</mi><msub><mi>r</mi><mi>i</mi></msub><mi>)]</mi><msub><mi>f</mi><mi>i</mi></msub><mi>p</mi>
51、
52、<mi>=[a</mi><msub><mi>f</mi><mi>i</mi></msub><mo>+</mo><msub><mi>f</mi><mi>i</mi></msub><mi>h(</mi><msub><mi>rid</mi><msub><mi>v</mi><mi>i</mi></msub></msub><mi>||</mi><msub><mi>r</mi><mi>i</mi></msub><mi>)]p </mi>
53、<mi>=[</mi><msub><mi>sk</mi><msub><mi>v</mi><mi>i</mi></msub></msub><mi>-</mi><msub><mi>sk</mi><mi>pga</mi></msub><mi>-</mi><msub><mi>sk</mi><mi>ca</mi></msub><mi>]p</mi>
54、
55、证书上传完成后车辆查询所述证书的验证路径并公布车辆在时间段的临时公钥和假名;
56、s45:追责机构解密和并将元组保存到追责列表中,其中;
57、进一步地,所述步骤s5中车辆与其他车辆的相互认证与密钥协商,以车辆和车辆为例,具体如下:
58、s51:车辆计算和;计算完成后,车辆生成认证请求消息,并将发送给车辆,其中为当前时间戳;
59、s52:车辆接收到认证请求消息后,验证的新鲜度;若是新鲜的,则
60、验证的合法性并利用车辆临时公钥中的验证路径验证的证书是否在区块链上;若验证通过,车辆计算和;计算完成后,车辆生成反馈消息,并将发送给车辆,其中为当前时间戳;
61、s53:车辆接收到反馈消息后,验证的新鲜度;若是新鲜的,车辆利用车辆临时公钥中的验证路径验证的证书是否在区块链上;若验证通过,车辆计算并且验证的合法性;若验证通过,车辆计算确认信息,并向车辆发送确认消息,其中为当前时间戳;
62、s54:车辆接收到反馈消息后,验证的新鲜度;若是新鲜的,车辆验证是否成立;若成立,车辆和车辆使用会话密钥进行后续通信;
63、进一步地,所述步骤s6中车辆与的相互认证与密钥协商,以车辆和路边单元为例,具体如下:
64、s61:车辆计算和;计算完成后,车辆生成认证请求消息并将发送给路边单元,其中为当前时间戳;
65、s62:路边单元接收到认证请求消息后,验证的新鲜度;若是新鲜的,路边单元验证的合法性;若验证通过,路边单元利用车辆公钥中的验证路径验证的证书是否在区块链上;若验证通过,路边单元计算和;计算完成后,路边单元生成反馈消息并将发送给车辆,其中为当前时间戳;
66、s63:车辆接收到反馈消息后,验证的新鲜度;若是新鲜的,车辆计算并验证的合法性;若验证通过,车辆计算确认信息,并向车辆发送确认消息,其中为当前时间戳;
67、s64:路边单元接收到反馈消息后,验证的新鲜度;若是新鲜的,路边单元验证是否成立;若成立,车辆和路边单元使用会话密钥进行后续通信;
68、进一步地,所述步骤s7中恶意车辆追踪,以车辆为例,具体如下:
69、s71:当网络中的实体检测到车辆在时间段的恶意行为,所述实体将所述车辆的假名、时间段和该车辆的恶意行为发送给假名生成机构;
70、s72:假名生成机构接收到举报消息后,确认恶意行为是否属实;若属实,计算追责参数,并将发送给追责机构;
71、s73:追责机构从追责列表中搜索与对应的车辆的真实身份。
72、本发明与现有技术相比,具有如下有益效果:
73、本发明通过认证机构和假名生成机构的同态协商生成车辆的假名,实现了车辆假名的完全匿名性和可验证性;将时间划分为多个时间段并为不同时间段内生成的假名嵌入相应的认证参数,实现了逾期假名的自动撤销,进而降低了证书撤销列表对车辆内存的要求;使用去中心化的区块链技术验证和存储车辆证书,提高了车辆证书的认证效率;本发明可有效抵御重放攻击、中间人攻击和特权内部成员攻击等多类攻击且计算成本低、通信开销小。