一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车联网保密通信方法及能够进行保密通信的车联网系统与流程

2022-04-09 02:26:13 来源:中国专利 TAG:


1.本发明涉及群组通信领域,尤其涉及一种车联网保密通信方法及能够进行保密通信的车联网系统。


背景技术:

2.车载自组织网络(vanet,vehicular ad hoc network)是一种利用无线局域网技术,以车辆和路边单元作为网络节点,为车与车(v2v)、车与路边单元(v2r)之间提供通信服务而创建的移动网络。
3.在现有技术中,车联网中各车辆节点之间很难实现保密通信,这是由于以下原因:
4.1、车联网中节点的通信属于群组通信,现有的群组对称密钥池需要密钥颁发中心为群组成员逐一颁发,而车联网这样高速变化的拓扑,决定了群组内成员的多变性,若仍采用传统密钥颁发方式,则对密钥颁发中心的计算和数据传输能力有着极高的要求,很难实现;
5.2、另一方面,群组对称密钥在高速变化的拓扑环境中,很容易泄露,而由于群组密钥池由群组成员共享的特性,所有拥有群组密钥池的成员的地位是相同的,任意一个成员被俘获均会导致整个群组通信系统的失效;
6.3、群组密钥池由于容量较大,无法存储于高度安全的安全芯片中,存在被俘获后被拆解从而被破解的可能性,一旦被破解,则基于群组型对称密钥池的群组通信的安全性受到威胁。


技术实现要素:

7.发明目的:为实现车联网内各节点的保密通信,本发明提出一种车联网保密通信方法及能够进行保密通信的车联网系统。
8.

技术实现要素:
为实现上述目的,本发明提出一种车联网保密通信方法,包括以下步骤:
9.(1)组网前,第三方信任机构为车联网内的路边单元分配id,并基于自己的替换密钥和路边单元的id计算出路边单元的替换密钥,基于自己的密钥池和路边单元的替换密钥计算出路边单元的密钥池,然后将替换密钥和密钥池颁发给路边单元;车辆节点到第三方信任机构登记自己的静态身份标识tid,并获取第三方信任机构分配的id;
10.(2)路边单元与自己覆盖范围内的车辆节点建立连接形成一个子群组,并保存各车辆节点的id;路边单元采用与步骤(1)相同的方式为子群组中的车辆节点颁发替换密钥,并将自己的密钥池共享给群组内的车辆节点;
11.(3)第三方信任机构与路边单元之间通信时,由第三方信任机构计算出路边单元的密钥池,然后双方按照预先约定的方式从路边单元的密钥池中取得对称密钥进行保密通信;子群组成员之间通信时,基于共享的密钥池进行通信。
12.本方法将整个车联网拆分成多个子群组,每个子群组由路边单元和通过路边单元
接入互联网的车辆节点组成,然后通过第三方信任机构给路边单元分配替换密钥和密钥池,路边单元给车辆节点分配替换密钥和密钥池的方式,使得路边单元和第三方信任机构之间、路边单元和车辆节点之间形成分层保密通信结构,降低第三方信任机构的计算压力和数据传输压力,从而使整个密钥分发方案能够适应车联网拓扑快速变化的特性,具有可实行性。另一方面,各个子群组的群组密钥池均不同,即使被破解,也只影响一个子群组,相对于所有群组成员共享密钥池的方案,明显提高了群组密钥的多变性,进而增加了破解难度,提高通信安全性能。
13.以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
14.可选的,所述第三方信任机构在为路边单元计算替换密钥时,还引入有效时间,即第三方信任机构生成有效时间ts,然后根据ts、路边单元id和自己的替换密钥,计算出路边单元的替换密钥;
15.当路边单元的替换密钥到期时,路边单元向第三方信任机构提出更新替换密钥和密钥池的申请;
16.第三方信任机构在接收到申请时,重新生成有效时间,然后重新计算路边单元的替换密钥和密钥池并颁发给路边单元。
17.本可选实施方式还有另一种变形:
18.即定义所述替换密钥由替换密钥计算函数计算得到,所述密钥池由密钥池计算函数计算得到,替换密钥计算函数为不可逆函数,密钥池计算函数为可逆函数;路边单元和车辆节点本地均配置安全芯片,芯片内存储有替换密钥计算函数、密钥池计算函数及其逆函数,其中,替换密钥计算函数和密钥池计算函数逆函数的计算结果仅参与芯片内部运算,而不输出给节点,安全芯片仅输出密钥池计算结果。基于本设计,所述第三方信任机构在为路边单元计算替换密钥时,还引入有效时间,即第三方信任机构生成有效时间ts,然后根据ts、路边单元id和自己的替换密钥,计算出路边单元的替换密钥;
19.当路边单元的替换密钥到期时,路边单元向第三方信任机构提出更新替换密钥和密钥池的申请;第三方信任机构在接收到申请时,重新生成有效时间,然后重新计算路边单元的替换密钥并颁发给路边单元,路边单元基于更新后的替换密钥更新自己的密钥池:将自己的密钥池分成n段子密钥,然后对每一段子密钥执行以下操作:取出一段子密钥输入本地安全芯片中,由安全芯片根据密钥池计算函数的逆函数计算出第三方信任机构密钥池中相应的一段子密钥;安全芯片采用密钥池计算函数,用第三方信任机构的子密钥与更新后的替换密钥计算出更新后的子密钥;安全芯片将计算出的每一段更新后的子密钥输出给路边单元,路边单元将更新后的子密钥按照原本的次序排列,得到更新后的密钥池。
20.可选的,所述步骤(3)中,子群组成员之间通信时,还执行以下步骤:路边单元在与车辆节点之间单独通信时,路边单元计算出车辆节点的替换密钥,然后用车辆节点的替换密钥加密自己的密钥池,得到车辆节点独有的密钥池;车辆节点用自己的替换密钥加密自己的密钥池,得到独有的密钥池;路边单元和车辆节点从计算出的独有密钥池中选取对称密钥进行保密通信。
21.可选的,所述对称密钥提取方式为:生成一个明文消息;根据所述明文消息计算出
初始位置指针,然后用初始位置指针与明文消息计算第一个步长,再用第一个步长与明文消息计算第二个步长,以此类推,共计算出n个步长;用初始位置指针与第一个步长计算出对称密钥的第一位密钥指针,然后用第一位密钥指针与第二个步长计算出第二位随机码指针,以此类推,共计算出n位密钥指针;根据每一位密钥指针从密钥池中取出相应的密钥数据,组成对称密钥。在本可选实施方式中,从密钥池中采用不同的步长逐个取出多个密钥比特,每次步长均不同。在对称密钥池被群成员共享的情况下,该种取密钥方式也不会被群成员所知,私密性高。
22.可选的,第三方信任机构计算路边单元的密钥池的步骤为:将第三方信任机构的密钥池等分为多段子密钥,用第三方信任机构的每一段子密钥与路边单元的替换密钥进行计算,得到路边单元的多段子密钥,将路边单元的多段子密钥按相应的第三方信任机构子密钥的序列进行排序,得到路边单元的密钥池。
23.可选的,在采用对称密钥加密消息时,还计算消息认证码以用于通信双方的身份校验。
24.可选的,所述方法还包括以下步骤:
25.当任意的车辆节点c从路边单元b1的覆盖范围驶入另一个路边单元b2的覆盖范围时,执行以下步骤:
26.c用自己的替换密钥krc加密自己的静态身份标识tidc,得到{tidc}krc,然后将id
b1
、idc、{tidc}krc和要与b2建立连接的申请消息h一起发送给b2,b2根据接收到的消息中的idc判断出c不是本地子群组的成员,此时,b2将id
b1
、idc、{tidc}krc和h一起发送给第三方信任机构ta;id
b1
和idc分别为b1的id和车辆节点c的id;
27.ta解密b2发送的消息,得到id
b1
、idc、{tidc}krc和h,ta计算出b1的替换密钥kr
b1
和密钥池k
b1
,再计算出c的替换密钥krc;用krc解密{tidc}krc,得到tidc,ta根据tidc判断该车辆是否在本地注册过,若注册过,则为c重新分配一个id,记为id
′c;ta用krc和k
b1
计算出c的独有密钥池kc,从kc中取出对称密钥ktc,再用ktc和krc计算出加密密钥ksc;ta计算出b2的替换密钥kr
b2
,先用krc加密kr
b1
和kr
b2
,再将加密后的数据和id
′c一起再用ksc加密,得到消息ret,ret={id
′c||{kr
b1
||kr
b2
}krc}ksc,将ret和id
′c发送给b2;b2收到并解密来自ta的消息后,记录下id
′c,并将ret转发到c;
28.c接收到ret后,计算出ksc,用ksc解密ret,得到id
′c和{kr
b1
||kr
b2
}krc,然后再用krc解密{kr
b1
||kr
b2
}krc,得到kr
b1
、kr
b2
;c更新自己的id为id
′c,然后根据id
′c和kr
b2
计算出新的替换密钥kr
′c,更新自己的替换密钥为kr
′c,最后将自己原本的密钥池k
b1
分成n段子密钥,然后对每一段子密钥执行以下操作:c取出密钥池的一段密钥k
b1n
输入到安全芯片中,安全芯片计算出k
an
=fkr-1
(k
b1n
,kr
b1
),然后计算k
b2n
=fkr(k
an
,kr
b2
)。安全芯片输出k
b2n
给c,c用k
b2n
更新k
b1n
;每一段子密钥都更新后,c得到新的密钥池k
b2

29.本发明还提出一种能够进行保密通信的车辆网系统,包括第三方信任机构、路边单元和车辆节点;所述第三方信任机构、路边单元和车辆节点基于所述的方法进行保密通信。
30.有益效果:
31.1、本发明将整个车联网拆分成多个子群组,每个子群组由路边单元和通过路边单元接入互联网的车辆节点组成,然后通过第三方信任机构给路边单元分配替换密钥和密钥
池,路边单元给车辆节点分配替换密钥和密钥池的方式,使得路边单元和第三方信任机构之间、路边单元和车辆节点之间形成分层保密通信结构,降低第三方信任机构的计算压力和数据传输压力,从而使整个密钥分发方案能够适应车联网拓扑快速变化的特性,具有可实行性。
32.2、本发明中,各个子群组的群组密钥池均不同,即使被破解,也只影响一个子群组,相对于所有群组成员共享密钥池的方案,明显提高了群组密钥的多变性,进而增加了破解难度,提高通信安全性能。
33.3、本发明中,密钥池更新时只需传递少量密钥即可对密钥池进行更新,密钥更新方案的密钥传输量很小,容易实现;
34.4、本发明中,仅需采用数据量很小的密钥池就可以生成大量不同的对称密钥,降低了密钥池的存储要求,使得有限的密钥池能够存储在保密芯片中,而保密芯片具备的抗拆解特性可以使得所存储的密钥池更加安全。
附图说明
35.图1为本发明实施例中车载自组织网络(vanet)的系统结构图;
36.图2为本发明实施例中涉及的系统拓扑图;
37.图3为本发明实施例中kta获取方式示意图。
具体实施方式
38.下面将结合附图和具体实施例对本发明作更进一步的说明。但应当理解的是,本发明可以以各种形式实施,以下在附图中出示并且在下文中描述的一些示例性和非限制性实施例,并不意图将本发明限制于所说明的具体实施例。
39.应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外的实施例。此外,本发明所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤、顺序做出相应修改而不脱离本发明的保护范围。
40.车载自组织网络(vanet)一般由3部分组成,如图1所示:第三方信任机构(ta)、路边单元(rsu)和车载单元(obu)。其中ta是公认的第三方信任机构,用于车辆和路边基础设施的注册、产生公共参数、分发密钥等。只有ta能够揭露节点的真实身份。rsu是建立在路边的基础设施,用于为车辆节点提供网络接入服务。obu是装载在车辆上的通信单元,通常集成嵌入式系统、防篡改安全模块和全球导航定位系统等。v2v(车与车)和v2r(车与路边单元)之间的通信使用短距离无线通信协议,rsu和obu的通信范围为300m。ta和rsu之间通过有线网络连接,通常具有很高的安全性和足够的带宽。
41.图1示出了一种车联网系统结构图,包括多个obu、多个rsu和一个ta。
42.在组网之间,ta先给rsu分配一个唯一的id,obu需要去ta登记自己的真实身份tid(可以是驾照号或车主身份证等唯一的物理信息),然后由ta为obu分发一个用于组网的id,obu的id是随着车辆驶入不同rsu的覆盖范围而动态变化的。ta分配id后会保存所分配的id。
43.为降低ta的计算量并增加群组对称密钥池被破解的难度,本发明设计了基于分层
结构的对称密钥池,即:
44.ta拥有自己的替换密钥kr
ta
和密钥池k
ta
(ta的替换密钥和密钥池可由ta自己计算得到,并可根据情况重新计算);
45.ta计算出rsu的替换密钥和密钥池并发送给rsu,计算的方式为:kr
rsu
=fkrid(id
rsu
,kr
ta
),k
rsu
=(k
ta
,kr
rsu
),其中,kr
rsu
为rsu的替换密钥,id
rsu
为rsu的id;
46.rsu在与obu进行组网时,保存obu的id,从而获知自己所在子群组的拓扑。再基于自己的替换密钥给自己覆盖范围内的obu计算出obu的替换密钥,计算方式还是:kr
obu
=fkrid(id
obu
,kr
rsu
),kr
obu
是obu的替换密钥,id
obu
为obu的id;计算出obu的替换密钥后,rsu将计算出的替换密钥发给相应的obu,同时把自己的密钥池发各个obu。通过这样的一个密钥分发方式,我们将连接在同一个rsu下的所有obu作为一个子群组,在这个子群组内,各个obu的替换密钥由于是跟obu自己的id相关,id是ta颁发的,具有唯一性,因此各个obu的替换密钥不一样,但是各obu的密钥池一样。
47.在密钥分发完成后,整个车联网中的通信过程如下:
48.若ta与rsu通信,则由ta计算出rsu的密钥池,然后从rsu的密钥池中选取对称密钥,rsu从自己的密钥池选取对称密钥,则ta和rsu可基于对称密钥进行保密通信。选取对称密钥的方式,可在组网前就约定好。
49.若rsu与obu通信,或是同一个子群组中的两个obu之间进行通信,由于子群组共享密钥池,所以子群组成员都可以基于相同的对称密钥池进行通信。
50.若一个子群组的obu要与另一个子群组的obu通信,则需要先将信息转发给本地rsu,由本地rsu转发给ta,ta再转发给另一个群组的rsu,另一个群组的rsu再转发给相应的obu。
51.上述方案还存在多种变形方式,下面将通过具体实施例来详细阐述。
52.实施例:
53.本实施例中增加了密钥更新机制,即ta在给rsu颁发替换密钥时,在计算替换密钥的公式中考虑了更新时间,具体方案如下:
54.ta在替换密钥计算公式中引入有效时间t
ts
:kr
rsu
=fkrid(id
rsu
||ts,kr
ta
),这个ts是一个标志该替换密钥到未来的某一个时刻失效的时间,ta在计算出rsu的替换密钥后,保存这个ts。我们设计fkrid为不可逆函数(优选为消息认证码即mac函数,或哈希函数),而fkr为可逆函数。rsu和obu的fkrid、fkr和fkr-1
均保存在节点本地的安全芯片(例如tpm/tcm,具有抗拆解功能,无法获取其中保存的内容)中,fkrid和fkr-1
的计算结果仅参与芯片内后续的计算,是不输出的,节点本身也无法获取fkrid函数和fkr-1
函数,安全芯片只输出计算出的密钥池。ta知道所有安全存储芯片的pin码,可以执行密钥导入导出操作。
55.下面以具体步骤来说明引入了有效时间后,整个车辆网内的通信流程。
56.情况1:ta与rsu通信
57.设ta为a,rsu为b。
58.1.1:a发消息给b:
59.假设a要发出的消息为ntf,并为该消息生成一个时间戳tntf。a首先根据自身替换密钥kra、idb和ts计算得到b的替换密钥krb,再由krb和自己的密钥池ka计算得到b的密钥池kb,密钥池kb长度与ka的长度一致,都为kpl。
60.a在kb中取出密钥ktb,该密钥共n个比特。选取对称密钥的方法可以提前约定,本实施例中提供一种优选的得到ktb的方法,具体流程如图3所示:
61.计算得到密钥ktb的初始位置指针pk=fpk(tntf)mod kpl,其中,mod表示取模运算。依次计算步长:lk1=flk(pk||tntf),lk2=flk(lk1||tntf),lk3=flk(lk2||tntf),

,lkn=flk(lk
n-1
||tntf)。函数fpk(*)和flk(*)为任意指定的函数。再依次计算用于提取随机码的指针pk1=pk lk1mod kpl,pk2=pk1 lk2mod kpl,

,pkn=pk
n-1
lknmod kpl。pk1指向密钥kta的开始位置,也就是第一个比特的位置,pk2指向密钥kta的第二个比特的位置,以此类推。根据pk1、pk2、

、pkn从密钥池中依次取出对应位置的共n个比特的密钥数据。如超出密钥池大小kpl则利用对kpl取模的方式回到密钥池头部。采用上述密钥选取方式,即使在对称密钥池被群成员共享的情况下,该种取密钥方式也不会被群成员所知,私密性高。
62.需要注意的是,此处仅为优选实施方式,而其他对称密钥选取方式也应纳入本发明的保护范围。
63.a取出群组密钥ktb后,使用ktb加密ntf得到{ntf}ktb。使用ktb对ida、tntf和ntf计算消息认证码得到mac(ida||tntf||ntf,ktb)。将加密的信息、消息认证码连同ida、tntf一起发送至其他成员,发送的信息可以表示为ida||tntf||{ntf}ktb||mac(ida||tntf||ntf,ktb)。
64.b收到后,使用同样的方法从自己的密钥池中取出ktb,使用ktb解密{ntf}ktb得到消息ntf,使用ktb对ida、tntf和ntf计算消息认证码并与收到的消息认证码进行对比,若两者一致,表示验证通过,验证通过后,信任消息ntf;如果验证不通过,则不信任消息ntf。
65.1.2:b发消息给a。
66.假设b要发出的消息为ntf,并为该消息生成一个时间戳tntf。b按照情况1.1中的方法在自己的密钥池中取出密钥ktb,该密钥共n个比特。然后,使用ktb加密ntf得到{ntf}ktb。使用ktb对idb、tntf和ntf计算消息认证码得到mac(idb||tntf||ntf,ktb)。将加密的信息、消息认证码连同idb、tntf一起发送至其他成员,发送的信息可以表示为idb||tntf||{ntf}ktb||mac(idb||tntf||ntf,ktb)。
67.a收到后,按照情况1.1中的方法计算得到b的密钥池并从中取出ktb,使用ktb解密{ntf}ktb得到消息ntf,使用ktb对idb、tntf和ntf计算消息认证码并与收到的消息认证码进行对比,若两者一致,表示验证通过,验证通过后,信任消息ntf;如果验证不通过,则不信任消息ntf。
68.情况1.3:更新密钥池。
69.当b发现自己的替换密钥到了失效时间,则向a提出更新替换密钥和密钥池的申请,a收到后,重新生成一个有效时间ts

,然后为b计算一个新的替换密钥:kr
′b=fkrid(idb||ts

,kra)。计算出新的替换密钥后,a可以继续基于kr
′b为b计算一个新的密钥池,k
′b=(ka,kr
′b),然后将kr
′b和k
′b采用情况1.1所述的方法发送到b。
70.a也可以只将kr
′b按照情况1.1所述的方法发送到b,然后由b自己更新密钥池,在本实施例中,我们采用的是b根据kr
′b自己替换密钥池的方式,具体步骤如下:
71.b获取到新的替换密钥,然后对于己方原有密钥池的每一段,b执行密钥更换:
72.将自己的密钥池kb分成n段子密钥,然后对每一段子密钥执行以下操作:
73.b取出密钥池的一段密钥k
bn
输入到安全芯片中,安全芯片计算出k
an
=fkr-1
(k
bn
,
krb),然后计算k

bn
=fkr(k
an
,kr
′b)。安全芯片输出k

bn
给b,b用k

bn
更新k
bn
。每一段子密钥都更新后,b得到新的密钥池k
′b,并更新自己的替换密钥为kr
′b。
74.b的密钥池更新后,则重新为同一个群组内的obu计算新的替换密钥并分发新的密钥池k
′b,设某个obu为c,则b为c计算的新的替换密钥为:kr
′c=fkrid(idc,kr
′b)。
75.情况2:子群组内通信
76.2.1:rsu与自己覆盖范围内的obu单独通信,设rsu为b,obu为c。
77.为进一步增加群组密钥的多变性,这里我们优选设计b和c不采用子群组共有的密钥池kb进行通信,而是以kb为根,进一步转化。具体方式为:b先计算出c的替换密钥krc,然后用krc与kb进行计算,得到kc,由于子群组内各个obu的替换密钥是不一样的,所以kc也是不一样的,这就形成了c独有的密钥池kc。c也用自己的替换密钥krc加密kb得到kc,然后b和c从kc选取对称密钥ktc。对称密钥选取的方式优选为1.1中的对称密钥选取方式。
78.作为进一步优选的实施方式,我们再对ktc进行一次变形:b计算ksc=fks(ktc,krc)。
79.假设b要发出的消息为ntf,并为该消息生成一个时间戳tntf,则b用ksc加密ntf得到{ntf}ksc。使用ksc对idb、tntf和ntf计算消息认证码得到mac(idb||tntf||ntf,ksc)。将加密的信息、消息认证码连同idb、tntf一起发送至c,发送的信息可以表示为idb||tntf||{ntf}ksc||mac(idb||tntf||ntf,ksc)。
80.c收到后,使用同样的方法计算出ksc,使用ksc解密{ntf}ksc得到消息ntf,使用ksc对idb、tntf和ntf计算消息认证码并与收到的消息认证码进行对比,若两者一致,表示验证通过,验证通过后,信任消息ntf;如果验证不通过,则不信任消息ntf。
81.若c要向b发送消息ntf,并生成时间戳tntf。则c还是按照以上方法,计算出ksc,然后用ksc加密ntf得到{ntf}ksc。使用ksc对idc、tntf和ntf计算消息认证码得到mac(idc||tntf||ntf,ksc)。将加密的信息、消息认证码连同idc、tntf一起发送至其他成员,发送的信息可以表示为idc||tntf||{ntf}ksc||mac(idc||tntf||ntf,ksc)。
82.b收到后,计算出ksc,然后使用ksc解密{ntf}ksc得到消息ntf,使用ksc对idc、tntf和ntf计算消息认证码并与收到的消息认证码进行对比,若两者一致,表示验证通过,验证通过后,信任消息ntf;如果验证不通过,则不信任消息ntf。
83.情况2.2:b向自己覆盖的所有群组成员obu广播消息。
84.假设群组成员b要发出的消息为ntf,并为该消息生成一个时间戳tntf。b从自己的密钥池中取出密钥ktb,该密钥共n个比特,得到ktb的具体流程如下:
85.计算得到密钥ktb的初始位置指针pk=fpk(tntf)mod kpl。依次计算步长:lk1=flk(pk||tntf),lk2=flk(lk1||tntf),lk3=flk(lk2||tntf),

,lkn=flk(lk
n-1
||tntf)。再依次计算用于提取随机码的指针pk1=pk lk1mod kpl,pk2=pk1 lk2mod kpl,

,pkn=pk
n-1
lknmod kpl。pk1指向密钥ktb的开始位置,也就是第一个比特的位置,pk2指向密钥kta的第二个比特的位置,以此类推。根据pk1、pk2、

、pkn从密钥池中依次取出对应位置的共n个比特的密钥数据。如超出密钥池大小kpl则利用对kpl取模的方式回到密钥池头部。
86.b取出群组密钥ktb后,使用ktb加密ntf得到{ntf}ktb。使用ktb对ida、tntf和ntf计算消息认证码得到mac(idb||tntf||ntf,ktb)。将加密的信息、消息认证码连同idb、tntf一起发送至其他成员,发送的信息可以表示为idb||tntf||{ntf}ktb||mac(idb||tntf||
ntf,ktb)。
87.c及其他群组成员收到消息后,使用同样的方法从自己的密钥池中取出ktb,使用ktb解密{ntf}ktb得到消息ntf,使用ktb对idb、tntf和ntf计算消息认证码并与收到的消息认证码进行对比,若两者一致,表示验证通过,验证通过后,信任消息ntf;如果验证不通过,则不信任消息ntf。
88.情况2.3:c与群组内其他obu通信。
89.c从共享的密钥池kb中取出密钥,对消息进行加密,然后发送给同一子群组内的其他obu,假设为d。d使用同样的方法从自己的密钥池中取出密钥进行解密验证。
90.实施例3:obu从一个rsu的覆盖范围驶入另一个rsu的覆盖范围
91.假设obu为c,两个rsu分别为b1和b2。c从b1的覆盖范围行驶到b2的覆盖范围。
92.c驶出b1覆盖范围后,无法再通过b1入网,此时,c用krc加密tidc得到{tidc}krc,然后将id
b1
、idc、{tidc}krc和要与b2建立连接的申请消息h一起发送给b2,b2根据消息中的idc判断出c不是本地子群组的成员。此时,b2按照情况1所述的方法将id
b1
、idc、{tidc}krc和h一起发送给ta。
93.ta执行以下步骤:
94.步骤a:ta按照情况1所述的方法解密b2发送的消息,得到id
b1
、idc、{tidc}krc和h。ta计算出b1的替换密钥kr
b1
和密钥池k
b1
,再计算出c的替换密钥krc。
95.步骤b:ta用krc解密{tidc}krc,得到tidc,ta根据tidc判断该车辆是否在本地注册过,若注册过,则为c重新分配一个id,记为id
′c。
96.步骤c:ta用krc和k
b1
计算出c的独有密钥池kc,从kc中取出对称密钥ktc,再用ktc和krc计算出ksc;
97.步骤d:ta计算出b2的替换密钥kr
b2
,先用krc加密kr
b1
和kr
b2
,再将加密后的数据和id
′c一起再用ksc加密,得到消息ret={id
′c||{kr
b1
||kr
b2
}krc}ksc,将ret和id
′c发送给b2。
98.b2收到并解密来自ta的消息后,记录下id
′c,并将ret转发到c。
99.c接收到ret后,用自己的替换密钥krc和密钥池k
b1
计算出自己独有的密钥池kc,再从kc中取出对称密钥ktc,进而计算出ksc,用ksc解密ret,得到id
′c和{kr
b1
||kr
b2
}krc,然后再用krc解密{kr
b1
||kr
b2
}krc,得到kr
b1
、kr
b2

100.c更新自己的id为id
′c,然后根据id
′c和kr
b2
计算出新的替换密钥kr
′c,更新自己的替换密钥为kr
′c,最后更新自己的密钥池:
101.将自己原本的密钥池k
b1
分成n段子密钥,然后对每一段子密钥执行以下操作:
102.c取出密钥池的一段密钥k
b1n
输入到安全芯片中,安全芯片计算出k
an
=fkr-1
(k
b1n
,kr
b1
),然后计算k
b2n
=fkr(k
an
,kr
b2
)。安全芯片输出k
b2n
给c,c用k
b2n
更新k
b1n
。每一段子密钥都更新后,c得到新的密钥池k
b2

103.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
104.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护
范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献