一种车联网系统中的消息证书获取方法和设备
技术领域
本发明涉及车联网技术领域,特别涉及一种车联网系统中的消息证书获取方法和设备。
背景技术
车联网技术主要的应用目的是减少交通事故的发生。在车联网系统中,车辆上的车载设备(On-Board Unit,OBU)监控车辆的位置及行驶信息,并向周围车辆广播这些信息,同时该车辆上的OBU还接收其他车辆的OBU发送的信息;该车辆上的OBU将分析本车辆及其他车辆的行驶信息,并将可能的交通威胁及时通知给驾驶员。
基于安全考虑,在车联网系统中,车辆用于签发其所播放消息的证书称为消息证书。车辆所拥有的各项权利通常保存在消息证书中,例如,IEEE1609.2中定义的车联网专用证书。消息证书一般随签发的消息一起发送给接收者,以便消息接收者能够验证收到的消息。消息证书包含用于验证消息签名的公钥和发送者的权利描述。在车联网系统中,所有车辆都拥有普通消息证书,该普通消息证书所描述的通行优先权最低。除了普通消息证书,那些拥有较高通行优先权的特种车辆还拥有描述其较高通行优先权的特种消息证书。在这种情况下,该特种车辆所拥有的权利是其所有消息证书所描述的权利的总和。车联网系统中使用的各种消息证书由证书颁发机构(Certificate Authority,CA)按一定的流程签发,具体包含申请、审查、签发和发布等过程。
然而,在某些紧急情况下,如有危重病人需要送医院或有特种物质需要运送等,一般民用车辆也可能会需要优先通行权。现有消息证书的签发流程就不适于在紧急情况为需要高优先通行权的车辆颁发其所需的消息证书。因为,现有申请证书所需的时间过长,不能满足紧急事件对时间的需要,另外,若事件发生时不具备所需的数据通信手段(如OBU与CA之间无法传输数据),现有技术下则无法完成消息证书的签发。
车联网技术目前还处于研究和相关标准的制定阶段,许多议题尚未得到关注。至目前为止,相关的技术标准均未涉及到如何在紧急情况为需要高优先通行权的车辆颁发其所需的消息证书的技术方案,也未发现有相关的研究工作讨论此议题。
发明内容
本发明实施例提供了一种车联网系统中的消息证书获取方法和设备,从而解决了在紧急情况为需要高优先通行权的车辆颁发其所需的消息证书的问题。
本发明提供了一种车联网系统中BCC侧的消息证书获取方法,包括:
BCC接收车载设备OBU发送的应用许可申请指令,所述应用许可申请指令用于向所述BCC申请使用所述OBU中已写入的特权证书;
所述BCC确定所述OBU使用指定的特权证书的有效时间,根据所述有效时间生成应用控制指令,并将所述应用控制指令发送给所述OBU,所述应用控制指令用于指示所述OBU在所述有效时间内使用指定的特权证书。
本发明中,BCC接收OBU发送的应用许可申请指令,BCC确定该OBU使用指定的特权证书的有效时间,根据所确定的有效时间生成应用控制指令,并将所生成的应用控制指令发送给OBU,从而使OBU能够在BCC确定的有效时间内使用该BCC指定的特权证书,以使该OBU在BCC确定的有效时间内具有优先通行权。
在实施中,BCC接收所述OBU发送的应用许可申请指令,具体包括:
BCC通过数据传输链路,接收所述OBU发送的所述应用许可申请指令;或者,BCC通过语音传输方式,接收所述OBU发送的所述应用许可申请指令。
在实施中,BCC根据所述有效时间生成应用控制指令,并将所述应用控制指令发送给OBU,具体包括:
BCC根据所述有效时间生成应用控制指令,对所述应用控制指令所包含的信息进行加密处理,并将加密后的应用控制指令发送给所述OBU。
进一步,BCC对应用控制指令所包含的信息进行加密处理,具体包括:
BCC根据所确定的特权证书管理密钥,对所述应用许可申请指令中携带的所述OBU生成的随机数进行密钥分散处理,生成会话密钥;
BCC根据所生成的会话密钥对所述应用控制指令中包含的用于标识本条指令的类型的指令标识、所述应用许可申请指令中携带的随机数、指定的特权证书的编号以及所确定的有效时间,进行加密处理得到密文数据;以及,
BCC根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到MAC,其中,加密后的应用控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
在实施中,所述BCC接收到所述OBU发送的证书应用许可申请指令之前,所述方法还包括:
BCC生成OBU的特权证书对应的密钥对,所述密钥对包括公钥和私钥;
BCC根据所生成的公钥和所述OBU的相关信息,生成所述OBU对应的特权证书申请指令,并将所述特权证书申请指令发送给证书颁发机构CA;
BCC接收到所述CA根据所述特权证书申请指令颁发的特权证书并存储。
进一步,BCC接收到所述CA颁发的特权证书之后,且所述BCC接收到所述OBU发送的应用许可申请指令之前,所述方法还包括:
BCC接收所述OBU发送的特权证书申请指令,所述特权证书申请指令用于申请将BCC所申请的特权证书写入所述OBU;
BCC生成写入控制指令,并将所述写入控制指令发送给所述OBU,所述写入控制指令至少包含所述BCC为所述OBU申请的特权证书以及所述BCC为所述特权证书生成的密钥对。
在实施中,所述BCC生成写入控制指令,并将所述写入控制指令发送给所述OBU,具体包括:
BCC生成写入控制指令,对所述写入控制指令所包含的信息进行加密处理,并将加密后的写入控制指令发送给所述OBU。
进一步,BCC对写入控制指令所包含的信息进行加密处理,具体包括:
BCC根据所确定的特权证书管理密钥,对所述写入控制指令中携带的所述OBU生成的随机数进行密钥分散处理,生成会话密钥;
BCC根据所生成的会话密钥对所述写入控制指令中包含的用于标识本条指令的类型的指令标识、所述特权证书申请指令中携带的随机数、所申请的特权证书、BCC为所述特权证书定义的证书编号、BCC为所述特权证书生成的密钥对以及用于表示所述特权证书的有效时间的时间标识,进行加密处理得到密文数据;以及,
BCC根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到MAC,其中,加密后的写入控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
基于上述实施例,所述BCC接收到所述OBU发送的证书应用许可申请指令之前,所述方法还包括:
BCC根据自身具有的至少一个主密钥以及所述OBU的标识,生成所述OBU对应的至少一个特权证书管理密钥,并将所述至少一个特权证书管理密钥发送给OBU。
本发明还提供了一种车联网系统中OBU侧的消息证书获取方法,包括:
OBU在需要使用特权证书签发消息时,向后台控制中心BCC发送应用许可申请指令,所述应用许可申请指令用于向所述BCC申请使用所述OBU中已写入的特权证书;
OBU在接收到所述BCC发送的应用控制指令后,根据所述应用控制指令,在所述BCC指定的有效时间内使用所述BCC指定的特权证书签发消息,并将所签发的消息广播给除自身之外的其他OBU。
在实施中,OBU向所述BCC发送所述应用许可申请指令,具体包括:
OBU通过数据传输链路,向所述BCC发送所述应用许可申请指令;或者,OBU通过语音传输方式,向所述BCC发送所述应用许可申请指令。
在实施中,OBU在接收到BCC发送的应用控制指令后,该方法还包括:
OBU对所述应用控制指令进行验证和解密处理,以获取所述应用控制指令所包含的信息并存储。
进一步,OBU对所述应用控制指令进行验证和解密处理,具体包括:
OBU根据所述应用控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;
OBU根据所选择的特权证书管理密钥对所述应用许可申请指令中携带的随机数进行密钥分散处理,生成会话密钥;
OBU根据所述会话密钥对所述应用控制指令中的特权证书管理密钥的版本号以及密文数据进行计算,得到MAC;
OBU在确定得到的MAC与所述应用控制指令中携带的MAC相同后,使用所生成的会话密钥对所述应用控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、指定的特权证书的编号以及所确定的有效时间;以及,
OBU在确定所述应用控制指令中携带的随机数与所述应用许可申请指令中携带的随机数相同时,存储所获得到的指定的特权证书的编号以及所确定的有效时间。
在实施中,OBU向BCC发送所述应用许可申请指令之前,该方法还包括:
OBU向所述BCC发送特权证书申请指令,所述特权证书申请指令用于申请将所述BCC所申请的特权证书写入所述OBU;
OBU接收所述BCC发送的写入控制指令并存储所述写入控制指令中携带的所述BCC为所述OBU申请的特权证书以及所述BCC为所述特权证书生成的密钥对。
进一步,OBU接收到所述写入控制指令之后,还包括:
OBU对所述写入控制指令进行验证和解密处理,以获取所述写入控制指令所包含的信息并存储。
进一步,OBU对所述写入控制指令进行验证和解密处理,具体包括:
OBU根据所述写入控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;
OBU根据所选择的特权证书管理密钥对所述特权证书申请指令中携带的随机数进行密钥分散处理,生成会话密钥;
OBU根据所述会话密钥对所述写入控制指令中的特权证书管理密钥的版本号以及密文数据进行计算,得到MAC;
OBU确定得到的MAC与所述写入控制指令中携带的MAC相同后,使用所生成的会话密钥对所述写入控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、所述BCC为所述OBU所申请的特权证书、所述BCC为所述特权证书定义的证书编号、所述BCC为所述特权证书生成的密钥对以及用于表示所述特权证书的有效时间的时间标识;
OBU在确定所述写入控制指令中携带的随机数与所述特权证书申请指令中携带的随机数相同时,存储所获得到的特权证书、所述特权证书的编号、所述密钥对以及时间标识。
基于上述实施例,OBU向BCC发送应用许可申请指令之前,还包括:
OBU接收所述BCC发送的至少一个特权证书管理密钥,并存储。
本发明提供了一种BCC,该BCC包括:
收发模块,用于接收OBU发送的应用许可申请指令,所述应用许可申请指令用于向所述BCC申请使用所述OBU中已写入的特权证书;
处理模块,用于确定所述OBU使用指定的特权证书的有效时间,根据所述有效时间生成应用控制指令,并将所述应用控制指令发送给所述OBU,所述应用控制指令用于指示所述OBU在所述有效时间内使用指定的特权证书。
在实施中,所述收发模块具体用于:通过数据传输链路,接收所述OBU发送的所述应用许可申请指令;或者,通过语音传输方式,接收所述OBU发送的所述应用许可申请指令。
在实施中,为了保证数据传输安全,所述处理模块具体用于:根据所述有效时间生成应用控制指令,对所述应用控制指令所包含的信息进行加密处理,并将加密后的应用控制指令发送给所述OBU。
进一步,处理模块对应用控制指令所包含的信息进行加密处理具体包括:
根据所确定的特权证书管理密钥,对所述应用许可申请指令中携带的所述OBU生成的随机数进行密钥分散处理,生成会话密钥;根据所生成的会话密钥对所述应用控制指令中包含的用于标识本条指令的类型的指令标识、所述应用许可申请指令中携带的随机数、指定的特权证书的编号以及所确定的有效时间,进行加密处理得到密文数据;以及,根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到消息验证码MAC,其中,加密后的应用控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
在实施中,在收发模块接收到OBU发送的证书应用许可申请指令之前,
所述处理模块还用于:生成所述OBU的特权证书对应的密钥对,所述密钥对包括公钥和私钥;根据所生成的公钥和所述OBU的相关信息,生成所述OBU对应的特权证书申请指令;
所述收发模块还用于:将所述特权证书申请指令发送给证书颁发机构CA;以及,接收到所述CA根据所述特权证书申请指令颁发的特权证书并存储。
在实施中,所述收发模块在接收到所述CA颁发的特权证书之后,且在接收到所述OBU发送的应用许可申请指令之前,
所述收发模块还用于:接收所述OBU发送的特权证书申请指令,所述特权证书申请指令用于申请将所述BCC所申请的特权证书写入所述OBU;
所述处理模块还用于:生成写入控制指令,并将所述写入控制指令发送给所述OBU,所述写入控制指令至少包含所述BCC为所述OBU申请的特权证书以及所述BCC为所述特权证书生成的密钥对。
在实施中,为了保证数据传输安全,处理模块生成写入控制指令,并将所述写入控制指令发送给OBU,具体包括:生成写入控制指令,对所述写入控制指令所包含的信息进行加密处理,并将加密后的写入控制指令发送给OBU。
进一步,处理模块对写入控制指令所包含的信息进行加密处理具体包括:
根据所确定的特权证书管理密钥,对所述写入控制指令中携带的所述OBU生成的随机数进行密钥分散处理,生成会话密钥;根据所生成的会话密钥对所述写入控制指令中包含的用于标识本条指令的类型的指令标识、所述特权证书申请指令中携带的随机数、所申请的特权证书、所述BCC为所述特权证书定义的证书编号、所述BCC为所述特权证书生成的密钥对以及用于表示所述特权证书的有效时间的时间标识,进行加密处理得到密文数据;以及,根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到MAC,其中,加密后的写入控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
基于上述实施例,所述收发模块接收到所述OBU发送的证书应用许可申请指令之前,所述处理模块还用于:根据自身具有的至少一个主密钥以及所述OBU的标识,生成所述OBU对应的至少一个特权证书管理密钥;
所述收发模块还用于:将该至少一个特权证书管理密钥发送给OBU。
本发明提供了一种OBU,该OBU包括:
收发模块,用于在需要使用特权证书签发消息时,向BCC发送应用许可申请指令,所述应用许可申请指令用于向所述BCC申请使用所述OBU中已写入的特权证书;以及,接收所述BCC发送的应用控制指令;
处理模块,用于在所述收发模块接收到所述BCC发送的应用控制指令后,根据所述应用控制指令,在所述BCC指定的有效时间内使用所述BCC指定的特权证书签发消息,并将所签发的消息广播给除自身之外的其他OBU。
在实施中,所述收发模块具体用于:通过数据传输链路,向所述BCC发送所述应用许可申请指令;或者,通过语音传输方式,向所述BCC发送所述应用许可申请指令。
在实施中,为了保证数据传输安全,所述收发模块在接收到所述BCC发送的应用控制指令后,所述处理模块还用于:对所述应用控制指令进行验证和解密处理,以获取所述应用控制指令所包含的信息并存储。
进一步,处理模块对所述应用控制指令进行验证和解密处理,具体包括:
根据所述应用控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;根据所选择的特权证书管理密钥对所述应用许可申请指令中携带的随机数进行密钥分散处理,生成会话密钥;根据所述会话密钥对所述应用控制指令中的特权证书管理密钥的版本号以及密文数据进行计算,得到MAC;在确定得到的MAC与所述应用控制指令中携带的MAC相同后,使用所生成的会话密钥对所述应用控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、指定的特权证书的编号以及所确定的有效时间;以及,在确定应用控制指令中携带的随机数与应用许可申请指令中携带的随机数相同时,存储所获得到的指定的特权证书的编号以及所确定的有效时间。
在实施中,在所述收发模块向所述BCC发送所述应用许可申请指令之前,
所述收发模块还用于:向所述BCC发送特权证书申请指令,所述特权证书申请指令用于申请将所述BCC所申请的特权证书写入所述OBU;以及,接收所述BCC发送的写入控制指令;
所述处理模块还用于:存储所述写入控制指令中携带的所述BCC为所述OBU申请的特权证书以及所述BCC为所述特权证书生成的密钥对。
在实施中,为了保证数据传输安全,所述收发模块接收所述BCC发送的写入控制指令之后,所述处理模块还用于:对所述写入控制指令进行验证和解密处理,以获取所述写入控制指令所包含的信息并存储。
进一步,处理模块对所述写入控制指令进行验证和解密处理,具体包括:
根据所述写入控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;根据所选择的特权证书管理密钥对所述特权证书申请指令中携带的随机数进行密钥分散处理,生成会话密钥;根据所述会话密钥对所述写入控制指令中的特权证书管理密钥的版本号以及密文数据进行计算,得到MAC;确定得到的MAC与所述写入控制指令中携带的MAC相同后,使用所生成的会话密钥对所述写入控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、所述BCC为所述OBU所申请的特权证书、所述BCC为所述特权证书定义的证书编号、所述BCC为所述特权证书生成的密钥对以及用于表示所述特权证书的有效时间的时间标识;以及,在确定所述写入控制指令中携带的随机数与所述特权证书申请指令中携带的随机数相同时,存储所获得到的特权证书、所述特权证书的编号、所述密钥对以及时间标识。
基于上述实施例,收发模块向BCC发送应用许可申请指令之前,还用于:接收所述BCC发送的至少一个特权证书管理密钥,并存储。
本发明还提供了另一种BCC包括收发信机、与该收发信机连接的至少一个处理器、以及与该收发信机和处理器分别连接的存储器,其中:
收发信机被配置用于:接收OBU发送的应用许可申请指令,所述应用许可申请指令用于向所述BCC申请使用所述OBU中已写入的特权证书;
处理器被配置用于:确定所述OBU使用指定的特权证书的有效时间,根据所述有效时间生成应用控制指令,并触发收发信机将所述应用控制指令发送给所述OBU,该应用控制指令用于指示所述OBU在所述有效时间内使用指定的特权证书。
在实施中,收发信机被配置具体用于:通过数据传输链路,接收所述OBU发送的所述应用许可申请指令;或者,通过语音传输方式,接收所述OBU发送的所述应用许可申请指令。
在实施中,为了保证数据传输安全,处理器被配置具体用于:根据所述有效时间生成应用控制指令,对所述应用控制指令所包含的信息进行加密处理,并将加密后的应用控制指令发送给OBU。
其中,处理器对应用控制指令所包含的信息进行加密处理,具体包括:
根据所确定的特权证书管理密钥,对所述应用许可申请指令中携带的所述OBU生成的随机数进行密钥分散处理,生成会话密钥;根据所生成的会话密钥对所述应用控制指令中包含的用于标识本条指令的类型的指令标识、所述应用许可申请指令中携带的随机数、指定的特权证书的编号以及所确定的有效时间,进行加密处理得到密文数据;以及,根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到消息验证码MAC,其中,加密后的应用控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
在实施中,在收发信机接收到所述OBU发送的证书应用许可申请指令之前,处理器还被配置用于:生成所述OBU的特权证书对应的密钥对,所述密钥对包括公钥和私钥;根据所生成的公钥和所述OBU的相关信息,生成所述OBU对应的特权证书申请指令;收发信机还被配置用于:将所述特权证书申请指令发送给CA;以及,接收到所述CA根据所述特权证书申请指令颁发的特权证书;存储器被配置用于:存储所述CA所颁发的特权证书以及处理器所生成的特权证书对应的密钥对。
在实施中,收发信机在接收到所述CA颁发的特权证书之后,且在接收到所述OBU发送的应用许可申请指令之前,收发信机还被配置用于:接收所述OBU发送的特权证书申请指令,所述特权证书申请指令用于申请将所述BCC所申请的特权证书写入所述OBU;处理器还被配置用于:生成写入控制指令,并触发收发信机将所述写入控制指令发送给所述OBU,所述写入控制指令至少包含所述BCC为所述OBU申请的特权证书以及所述BCC为所述特权证书生成的密钥对。
在实施中,为了保证数据传输安全,处理器生成写入控制指令,并将所述写入控制指令发送给所述OBU,具体包括:生成写入控制指令,对写入控制指令所包含的信息进行加密处理,并将加密后的写入控制指令发送给OBU。
其中,处理器对写入控制指令所包含的信息进行加密处理,具体包括:
根据所确定的特权证书管理密钥,对所述写入控制指令中携带的所述OBU生成的随机数进行密钥分散处理,生成会话密钥;根据所生成的会话密钥对所述写入控制指令中包含的用于标识本条指令的类型的指令标识、所述特权证书申请指令中携带的随机数、所申请的特权证书、所述BCC为所述特权证书定义的证书编号、所述BCC为所述特权证书生成的密钥对以及用于表示所述特权证书的有效时间的时间标识,进行加密处理得到密文数据;以及,根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到MAC,其中,加密后的写入控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
在实施中,收发信机收到OBU发送的证书应用许可申请指令之前,处理器还被配置用于:根据存储器所存储的至少一个主密钥以及所述OBU的标识,生成所述OBU对应的至少一个特权证书管理密钥,并存储于存储器;收发信机还被配置用于:将所述至少一个特权证书管理密钥发送给所述OBU。
本发明还提供了一种OBU,包括收发信机、与该收发信机连接的至少一个处理器、以及与该收发信机和处理器分别连接的存储器,其中:
收发信机被配置用于:在需要使用特权证书签发消息时,向BCC发送应用许可申请指令,所述应用许可申请指令用于向所述BCC申请使用所述OBU中已写入的特权证书;以及,接收所述BCC发送的应用控制指令;
处理器被配置用于:在根据所述应用控制指令,在所述BCC指定的有效时间内使用所述BCC指定的特权证书签发消息,并将所签发的消息广播给除自身之外的其他OBU。
在实施中,收发信机被配置具体用于:通过数据传输链路,向所述BCC发送所述应用许可申请指令;或者,通过语音传输方式,向所述BCC发送所述应用许可申请指令。
在实施中,收发信机在接收到所述BCC发送的应用控制指令后,处理器还被配置用于:对所述应用控制指令进行验证和解密处理,以获取所述应用控制指令所包含的信息并存储于存储器。
其中,处理器对所述应用控制指令进行验证和解密处理,具体包括:
根据所述应用控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;根据所选择的特权证书管理密钥对所述应用许可申请指令中携带的随机数进行密钥分散处理,生成会话密钥;根据所述会话密钥对所述应用控制指令中的特权证书管理密钥的版本号以及密文数据进行计算,得到MAC;在确定得到的MAC与所述应用控制指令中携带的MAC相同后,使用所生成的会话密钥对所述应用控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、指定的特权证书的编号以及所确定的有效时间;以及,在确定所述应用控制指令中携带的随机数与所述应用许可申请指令中携带的随机数相同时,将所获得到的指定的特权证书的编号以及所确定的有效时间存储于存储器。
在实施中,在收发信机向所述BCC发送所述应用许可申请指令之前,收发信机还被配置用于:向所述BCC发送特权证书申请指令,所述特权证书申请指令用于申请将所述BCC所申请的特权证书写入所述OBU;以及,接收所述BCC发送的写入控制指令;处理器还被配置用于:将所述写入控制指令中携带的所述BCC为所述OBU申请的特权证书以及所述BCC为所述特权证书生成的密钥对存储于存储器。
在实施中,收发信机接收所述BCC发送的写入控制指令之后,处理器还被配置用于:对所述写入控制指令进行验证和解密处理,以获取所述写入控制指令所包含的信息并存储于存储器。
其中,处理器对所述写入控制指令进行验证和解密处理,具体包括:
根据所述写入控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;根据所选择的特权证书管理密钥对所述特权证书申请指令中携带的随机数进行密钥分散处理,生成会话密钥;根据所述会话密钥对所述写入控制指令中的特权证书管理密钥的版本号以及密文数据进行计算,得到MAC;确定得到的MAC与所述写入控制指令中携带的MAC相同后,使用所生成的会话密钥对所述写入控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、所述BCC为所述OBU所申请的特权证书、所述BCC为所述特权证书定义的证书编号、所述BCC为所述特权证书生成的密钥对以及用于表示所述特权证书的有效时间的时间标识;以及,在确定所述写入控制指令中携带的随机数与所述特权证书申请指令中携带的随机数相同时,将所获得到的特权证书、所述特权证书的编号、所述特权证书对应的密钥对以及时间标识存储于存储器。
附图说明
图1为本发明提供的车联网系统中车辆特权证书应用系统的架构示意图;
图2为本发明提供的车联网系统中BCC侧的消息证书获取方法示意图;
图3为本发明提供的BCC对该应用控制指令所包含的信息进行加密处理过程的示意图;
图4为本发明提供的BCC对所生成的写入控制指令所包含的信息进行加密处理过程的示意图;
图5为本发明提供的车联网系统中OBU侧的消息证书获取方法示意图;
图6为本发明提供的OBU对接收到的应用控制指令进行验证和解密处理过程的示意图;
图7为本发明提供的OBU对该写入控制指令进行验证和解密处理过程的示意图;
图8为本发明提供的OBU的安全单元的结构示意图;
图9为本发明提供的实施例一的流程示意图;
图10为本发明提供的实施例一中BCC对所生成的写入控制指令所包含的信息进行加密处理过程的示意图;
图11为本发明提供的实施例一中OBU对该写入控制指令进行验证和解密处理过程的示意图;
图12为本发明提供的一种后台控制中心BCC的示意图;
图13为本发明提供的一种车载设备OBU的示意图;
图14为本发明提供的另一种后台控制中心BCC的示意图;
图15为本发明提供的另一种车载设备OBU的示意图。
具体实施方式
本发明提供了一种消息证书申请和应用机制,其可以将具有较高通行权的特权证书预先颁发给任意车载设备(On Board Unit,OBU)(即车辆上安装的车载设备),但只在需要的时候才授权OBU使用这些特权证书的权限,从而使普通车辆在紧急情况下也能拥有较高的优先通行权。
本发明实施例中,将颁发给任意车辆的高通行优先权证书称为特权证书。特权证书的结构与普通的消息证书相同,但特权证书的颁发和使用必须遵循专门的机制。特权证书通常处于不可用状态,特权证书的使用必须经由后台控制中心(Background Control Center,BCC)的授权,并可在规定的有效时间内使用,在有效时间结束后自动处于不可用状态。
下面先对本发明实施例中涉及的各实体进行说明,车联网系统中车辆特权证书应用系统的架构如图1所示,包括证书颁发机构(Certificate Authority,CA)、BCC以及OBU,其中,各实体的主要功能为:
CA负责向车联网设备(如OBU和路侧设备(Road Side Unit,RSU)等)颁发各种证书,如消息证书、特权证书等;
BCC负责为OBU生成密钥对和向CA申请证书,然后将申请的证书和密钥对用安全的方式写入该OBU;BCC还负责车辆特权证书的管理工作,可根据需要开放特权证书的使用权限。
OBU首先向BCC申请所需的特权证书和与之对应的密钥对,然后向BCC申请使用该证书的许可,随后利用所获得的证书签发其所播发的消息。
在车联网系统中与特权证书应用相关的流程有:
特权证书的申请与写入:BCC生成密钥对并利用OBU信息向CA申请消息证书,然后根据OBU的申请利用专用指令将证书和密钥对写入OBU。
特权证书应用许可的申请与写入:BCC根据OBU的申请利用专用指令将特权证书应用许可写入OBU。
特权证书的应用:OBU利用当前可用的特权证书签发消息,然后广播给其他OBU。
下面结合说明书附图对本发明实施例作进一步详细描述。应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
参见图2所示,本发明实施例提供了一种车联网系统中BCC侧的消息证书获取方法,该方法包括如下步骤:
步骤21、BCC接收OBU发送的应用许可申请指令,该应用许可申请指令用于向BCC申请使用该OBU中已写入的特权证书。
本步骤之前,BCC已为该OBU申请了至少一个特权证书,并将所申请的特权证书以及该BCC为所申请的每个特权证书所生成的密钥对均写入了该OBU进行存储,但对于OBU来说,特权证书通常处于不可用状态,OBU使用任一特权证书必须经由BCC的授权,并在BCC规定的有限时间内使用,有效时间结束后,该特权证书又处于不可用状态。因此,OBU在需要使用特权证书时,向BCC发送应用许可申请指令,以向BCC申请使用该OBU中已写入的特权证书。
本步骤中,应用许可申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识(ID)、以及该OBU生成的随机数(Random)。
具体的,该应用许可申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为应用许可申请指令。
需要说明的是,执行本步骤之前,BCC与OBU之间不需要进行双向认证。
步骤22、BCC确定该OBU使用指定的特权证书的有效时间,根据所确定的有效时间生成应用控制指令,并将所生成的应用控制指令发送给OBU,该应用控制指令用于指示OBU在有效时间内使用指定的特权证书。
具体的,BCC在接收到OBU发送的应用许可申请指令后,审查该OBU的应用许可申请指令,在确定该OBU可以使用特权证书时,指定该OBU可以使用的特权证书以及该OBU使用该指定的特权证书的有效时间;然后生成相应的应用控制指令,并发送给该OBU,以指示该OBU在有效时间内使用指定的特权证书。
本步骤中,应用控制指令包括:本次所使用的特权证书管理密钥的版本号(OBU Key Version)、用于标识本条指令的类型的指令标识、应用许可申请指令中携带的随机数、本次所使用的特权证书的编号(Certificate Number)、以及有效时间。
具体的,应用控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Start Time,Duration],其中,CMD为指令标识,标识本指令为应用控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号;Start Time及Duration表示有效时间,StartTime表示该特权证书有效的起始时间,Duration表示该特权证书的有效时长。
需要说明的是,特权证书可以使用的有效时间除了上述表示方式之外,可以采用其他表示方式,如用该特权证书有效的起始时间和截止时间表示该特权证书可以使用的有效时间。
本发明实施例中,BCC接收OBU发送的应用许可申请指令,BCC确定该OBU使用指定的特权证书的有效时间,根据所确定的有效时间生成应用控制指令,并将所生成的应用控制指令发送给OBU,从而使OBU能够在BCC确定的有效时间内使用该BCC指定的特权证书,以使该OBU在BCC确定的有效时间内具有优先通行权。
在实施中,步骤21中,BCC接收到OBU发送的应用许可申请指令,具体包括以下两种方式:
方式1、BCC通过数据传输链路,接收到OBU发送的应用许可申请指令。
该方式适用于BCC与OBU之间存在网络连接,BCC与OBU之间通过网络传输进行交互,以完成特权证书的授权使用。
方式2、BCC通过语音传输方式,接收到OBU发送的应用许可申请指令。
该方式适用于BCC与OBU之间不存在网络连接,此时,BCC与OBU之间可以通过语音传输进行交互,以完成特权证书的授权使用。
在实施中,为了保证数据传输的安全,步骤22中,BCC根据所确定的有效时间生成应用控制指令,并将该应用控制指令发送给OBU,具体包括:
BCC根据所确定的有效时间生成应用控制指令,对该应用控制指令所包含的信息进行加密处理,并将加密后的应用控制指令发送给OBU。
其中,BCC对该应用控制指令所包含的信息进行加密处理,参见图3所示,包括以下过程:
BCC根据所确定的特权证书管理密钥(OBU Key),对该应用许可申请指令中携带的随机数进行密钥分散处理,生成会话密钥(Session Key);
BCC根据所生成的会话密钥对该应用控制指令中包含的用于标识本条指令的类型的指令标识、应用许可申请指令中携带的随机数、指定的特权证书的编号以及所确定的有效时间,进行加密处理得到密文数据(Cipher Text);以及,
BCC根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到消息验证码(Message Authentication Code,MAC),其中,加密后的应用控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
上述过程中,BCC确定特权证书管理密钥,具体包括:BCC选择自身所具有的一个主密钥(Master Key),使用所选择的Master Key对OBU ID进行密钥分散,以获得该OBU的特权证书管理密钥。其中,该BCC可以具有多个版本号不同的主密钥,因此,BCC根据每个主密钥以及OBU ID,可以为该OBU生成一个特权证书管理密钥。
上述过程中,进行MAC计算得到MAC所使用的密钥为会话密钥,当然,进行MAC计算得到MAC也可以使用经单独运算得到的且与会话密钥不同的密钥。
在实施中,BCC接收到OBU发送的证书应用许可申请指令之前,该方法还包括:
BCC根据自身具有的至少一个主密钥以及该OBU的标识,生成该OBU对应的至少一个特权证书管理密钥,并将该至少一个特权证书管理密钥发送给该OBU。
需要说明的是,BCC在为OBU申请特权证书之前,先根据自身拥有的主密钥以及该OBU的标识(OBU ID)进行密钥分散,生成该OBU对应的至少一个特权证书管理密钥(OBU Key),也就是说,不同OBU的OBU Key互不相同,且每个OBU也可以有多个OBU Key,每个OBU对应的多个OBU Key采用编号标识,具体使用哪个OBU Key由BCC决定。
本发明实施例中,在特权证书授权许可之前,该方法还包括特权证书的申请过程,具体的:BCC接收到OBU发送的证书应用许可申请指令之前,该方法还包括:
BCC生成OBU特权证书对应的密钥对(Key Pair),所生成的密钥对包括公钥和私钥;
BCC根据所生成的公钥和该OBU的相关信息(如OBU ID等与申请特权证书相关的信息),生成该OBU对应的特权证书申请指令,并将该特权证书申请指令发送给证书颁发机构CA;以及,
BCC接收到CA根据该特权证书申请指令颁发的特权证书并存储。
进一步,BCC接收到CA颁发的特权证书之后,且BCC接收到OBU发送的应用许可申请指令之前,该方法还包括:
BCC向OBU发送通知消息,以通知该OBU该BCC已完成OBU的特权证书的申请,以使该OBU向该BCC发送应用许可申请指令。
在实施中,BCC接收到CA颁发的特权证书之后,且BCC接收到OBU发送的应用许可申请指令之前,该方法还包括特权证书的写入过程,具体如下:
BCC接收该OBU发送的特权证书申请指令,该特权证书申请指令用于申请将BCC所申请的特权证书写入该OBU;以及,
BCC生成写入控制指令,并将该写入控制指令发送给所述OBU,该写入控制指令至少包含BCC为OBU申请的特权证书以及BCC生成的该特权证书对应的密钥对。
上述过程中,特权证书申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识、以及该OBU生成的随机数。
具体的,该特权证书申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为特权证书申请指令。
上述过程中,BCC生成的写入控制指令包含本次所使用的特权证书管理密钥的版本号、用于标识本条指令的类型的指令标识、特权证书申请指令中携带的随机数、所申请的特权证书、该BCC为该特权证书定义的证书编号、该BCC为该特权证书所生成的密钥对以及用于表示所述特权证书的有效时间的时间标识;其中,时间标识包括该特权证书有效的起始时间标识以及该特权证书的有效时长标识。
具体的,该写入控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Certificate,Key Pair,Start Time,Duration],其中,CMD为指令标识,用于标识本条指令为写入控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号。
需要说明的是,特权证书可以使用的有效时间的时间标识除了上述表示方式之外,可以采用其他表示方式,如采用该特权证书有效的起始时间标识和截止时间标识来表示。
在实施中,为了保证数据传输的安全,BCC生成写入控制指令,并将该写入控制指令发送给OBU,具体包括:
BCC生成写入控制指令,对所生成的写入控制指令所包含的信息进行加密处理,并将加密后的写入控制指令发送给OBU。
其中,BCC对所生成的写入控制指令所包含的信息进行加密处理,参见图4所示,包括以下过程:
BCC根据所确定的特权证书管理密钥,对该写入控制指令中携带的随机数进行密钥分散处理,生成会话密钥;
BCC根据所生成的会话密钥对该写入控制指令中包含的用于标识本条指令的类型的指令标识、该特权证书申请指令中携带的随机数、所申请的特权证书、该BCC为该特权证书定义的证书编号、BCC为该特权证书生成的密钥对以及用于表示该特权证书的有效时间的时间标识,进行加密处理得到密文数据(Cipher Text);
BCC根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到MAC,其中,加密后的写入控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
上述过程中,BCC确定特权证书管理密钥,具体包括:BCC选择自身所具有的一个主密钥(Master Key),使用所选择的Master Key对OBU ID进行密钥分散,以获得该OBU的特权证书管理密钥。其中,该BCC可以具有多个版本号不同的主密钥,因此,BCC根据每个主密钥以及OBU ID,可以为该OBU生成一个特权证书管理密钥。也就是说,不同OBU的OBU Key互不相同,且每个OBU也可以有多个OBU Key,每个OBU对应的多个OBU Key采用编号标识,具体使用哪个OBU Key由BCC决定。
上述过程中,进行MAC计算得到MAC所使用的密钥为会话密钥,当然,进行MAC计算得到MAC也可以使用经单独运算得到的且与会话密钥不同的密钥。
在实施中,BCC向CA发送特权证书申请指令之前,该方法还包括:
BCC根据自身具有的至少一个主密钥以及OBU的标识,生成该OBU对应的至少一个特权证书管理密钥,并将该至少一个特权证书管理密钥发送给该OBU。
基于同一发明构思,本发明实施例还提供了一种车联网系统中OBU侧的消息证书获取方法,参见图5所示,该方法包括如下步骤:
步骤51、OBU在需要使用特权证书签发消息时,向BCC发送应用许可申请指令,该应用许可申请指令用于向所述BCC申请使用该OBU中已写入的特权证书。
本步骤之前,BCC已为该OBU申请了至少一个特权证书,并将所申请的特权证书以及该BCC为所申请的每个特权证书所生成的密钥对均写入了该OBU进行存储,但对于OBU来说,特权证书通常处于不可用状态,OBU使用任一特权证书必须经由BCC的授权,并在BCC规定的有限时间内使用,有效时间结束后,该特权证书又处于不可用状态。因此,OBU在需要使用特权证书时,向BCC发送应用许可申请指令,以向BCC申请使用该OBU中已写入的特权证书。
本步骤中,应用许可申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识(ID)、以及该OBU生成的随机数。
具体的,该应用许可申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为应用许可申请指令。
步骤52、OBU在接收到BCC发送的应用控制指令后,根据该应用控制指令,在BCC指定的有效时间内使用该BCC指定的特权证书签发消息,并将所签发的消息广播给除自身之外的其他OBU。
本步骤中,应用控制指令包括:本次所使用的特权证书管理密钥的版本号(OBU Key Version)、用于标识本条指令的类型的指令标识、应用许可申请指令中携带的随机数、本次所使用的特权证书的编号(Certificate Number)、以及有效时间。
具体的,应用控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Start Time,Duration],其中,CMD为指令标识,标识本指令为应用控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号;Start Time及Duration表示有效时间,StartTime表示该特权证书有效的起始时间,Duration表示该特权证书的有效时长。
需要说明的是,特权证书可以使用的有效时间除了上述表示方式之外,可以采用其他表示方式,如用该特权证书有效的起始时间和截止时间表示该特权证书可以使用的有效时间。
本发明实施例中,OBU在需要使用特权证书签发消息时,向BCC发送应用许可申请指令,OBU在接收到BCC发送的应用控制指令后,根据该应用控制指令,在BCC指定的有效时间内使用该BCC指定的特权证书签发消息,并将所签发的消息广播给除自身之外的其他OBU,从而使OBU能够在BCC确定的有效时间内使用该BCC指定的特权证书,以使该OBU在BCC确定的有效时间内具有优先通行权。
在实施中,步骤51中,OBU向BCC发送应用许可申请指令,具体包括以下两种方式:
方式1、OBU通过数据传输链路,向BCC发送应用许可申请指令。
该方式适用于BCC与OBU之间存在网络连接,BCC与OBU之间通过网络传输进行交互,以完成特权证书的授权使用。
方式2、OBU通过语音传输方式,向BCC发送应用许可申请指令。
该方式适用于BCC与OBU之间不存在网络连接,此时,BCC与OBU之间可以通过语音传输进行交互,以完成特权证书的授权使用。
在实施中,为了保证数据传输的安全,步骤52中,OBU在接收到BCC发送的应用控制指令后,该方法还包括:
OBU对接收到的应用控制指令进行验证和解密处理,以获取该应用控制指令所包含的信息并存储。
其中,OBU对接收到的应用控制指令进行验证和解密处理,参见图6所示,具体包括以下过程:
OBU根据该应用控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;
OBU根据所选择的特权证书管理密钥对该应用许可申请指令中携带的随机数(即该OBU所生成的随机数)进行密钥分散处理,生成会话密钥;
OBU根据所生成的会话密钥对该应用控制指令中的特权证书管理密钥的版本号以及密文数据(Cipher Text)进行计算,得到MAC;
OBU在确定得到的MAC与该应用控制指令中携带的MAC相同后,使用所生成的会话密钥对该应用控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、指定的特权证书的编号以及所确定的有效时间;以及,
OBU在确定该应用控制指令中携带的随机数与该应用许可申请指令(即该OBU自身生成的随机数)中携带的随机数相同时,存储所获得到的指定的特权证书的编号以及所确定的有效时间。
上述过程中,OBU确定得到的MAC与该应用控制指令中携带的MAC相同,则说明该应用控制指令在传输过程中未被篡改;若OBU确定得到的MAC与该应用控制指令中携带的MAC不同,则说明该应用控制指令在传输过程中被篡改,则结束处理。
上述过程中,OBU确定该应用控制指令中携带的随机数与该应用许可申请指令中携带的随机数相同,则说明该指令是由BCC生成的;若OBU确定该应用控制指令中携带的随机数与该应用许可申请指令中携带的随机数不同,则说明该指令不是由BCC生成的,则结束处理。
在实施中,OBU向BCC发送应用许可申请指令之前,该方法还包括:
OBU接收BCC发送的至少一个特权证书管理密钥,并存储。
需要说明的是,BCC在为OBU申请特权证书之前,先根据自身拥有的主密钥以及该OBU的标识(OBU ID)进行密钥分散,生成该OBU对应的至少一个特权证书管理密钥(OBU Key),也就是说,不同OBU的OBU Key互不相同,且每个OBU也可以有多个OBU Key,每个OBU对应的多个OBU Key采用编号标识,具体使用哪个OBU Key由BCC决定。
在实施中,在特权证书授权许可之前,该方法还包括特权证书的申请过程,具体的:OBU向BCC发送应用许可申请指令之前,该方法还包括:
OBU向BCC发送特权证书申请指令,该特权证书申请指令用于申请将BCC所申请的特权证书写入该OBU;以及,
OBU接收BCC发送的写入控制指令并存储,该写入控制指令中携带的BCC为OBU申请的特权证书以及BCC为该特权证书生成的密钥对(Key Pair)。
上述过程中,特权证书申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识、以及该OBU生成的随机数。
具体的,该特权证书申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为特权证书申请指令。
上述过程中,BCC生成的写入控制指令包含本次所使用的特权证书管理密钥的版本号、用于标识本条指令的类型的指令标识、特权证书申请指令中携带的随机数、所申请的特权证书、该BCC为该特权证书定义的证书编号、该BCC为该特权证书所生成的密钥对以及用于表示所述特权证书的有效时间的时间标识;其中,时间标识包括该特权证书有效的起始时间标识以及该特权证书的有效时长标识。
具体的,该写入控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Certificate,Key Pair,Start Time,Duration],其中,CMD为指令标识,用于标识本条指令为写入控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号。
需要说明的是,特权证书可以使用的有效时间的时间标识除了上述表示方式之外,可以采用其他表示方式,如采用该特权证书有效的起始时间标识和截止时间标识来表示。
在实施中,为了保证数据传输的安全,OBU对接收到写入控制指令进行验证和解密处理,以获取该写入控制指令所包含的信息并存储。
其中,OBU对该写入控制指令进行验证和解密处理,参见图7所示,具体包括:
OBU根据写入控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;
OBU根据所选择的特权证书管理密钥对特权证书申请指令中携带的随机数进行密钥分散处理,生成会话密钥;
OBU根据所生成的会话密钥对该写入控制指令中的特权证书管理密钥的版本号以及密文数据进行计算,得到MAC;
OBU确定得到的MAC与该写入控制指令中携带的MAC相同后,使用所生成的会话密钥对该写入控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、BCC为OBU所申请的特权证书、BCC为该特权证书定义的证书编号、BCC为该特权证书生成的密钥对以及用于表示该特权证书的有效时间的时间标识;以及,
OBU在确定该写入控制指令中携带的随机数与自身发送的特权证书申请指令中携带的随机数(即该OBU自身生成的随机数)相同时,存储所获得到的特权证书、该特权证书的编号、该特权证书对应的密钥对以及时间标识。
由于上述OBU对该写入控制指令进行验证和解密处理的过程,与OBU对接收到的应用控制指令进行验证和解密处理的过程类似,此处不再赘述。
在实施中,OBU在接收到BCC发送的通知消息后,向BCC发送特权证书申请指令,其中,该通知消息用于通知OBU该BCC已完成OBU的特权证书的申请。
在实施中,OBU向BCC发送应用许可申请指令之前,该方法还包括:OBU接收BCC发送的至少一个特权证书管理密钥,并存储。
下面通过一个具体实施例,对本发明提供的车联网系统中的消息证书获取方法中各实体之间的交互过程进行详细说明。
实施例一、本实施例中采用3DES-ECB作为数据加密及密钥分散算法,采用3DEC-CBC作为MAC计算算法。当然,本发明实施例并不限于使用上述算法进行加密,也可以采用其他加密算法和MAC算法,例如高级加密标准(Advanced Encryption Standard,AES)加密算法或国际标准化组织(ISO)和国际电工委员会(IEC)制定的ISO/IEC9797中介绍的其他MAC算法。本实施例中采用4字节MAC值(即取实际MAC计算值的前4字节),但本发明并不对MAC值的长度进行限定。
本实施例中,OBU包括安全单元,该安全单元为特权证书的安全应用提供了一个可信的计算环境,该OBU与特权证书相关的所有操作都是在安全单元中完成的。OBU的安全单元的结构如图8所示,包括:
安全单元的操作系统:用于负责协调安全单元内的各种操作,以及与该OBU的其他系统进行各种交互;
证书状态表存储模块:用于存储与关特权证书应用相关的各种信息;
证书存储模块:用于存储该OBU的所有特权证书;
密钥对存储模块:用于存储与各特权证书相对应的公私钥对;
密钥存储模块:用于存储完成各种加解密功能的对称密钥;
密文计算模块:用于完成安全单元内的各种加解密操作以及随机数生成。
下面对本实施例中所涉及到的数据及指令进行说明:
1、相关数据包括:
BCC主密钥:Master Key=1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F(16进制表示,共16字节);
OBU的标识:OBU ID=3131313131313131(16进制表示,共8字节,可显示字符串为11111111);
OBU Key分散因子:OBU Key Salt=OBU ID+取反(OBU ID);
OBU Key:OBU Key=6317571AE3F9827DC96AD0B57690235C(16进制表示,共16字节);
密钥版本:Key Version=31(16进制表示,共1字节,可显示字符为1);
证书编号:Certificate Number=32(16进制表示,共1字节,可显示字符串为2)。
2、相关指令标识包括:
证书及密钥对申请指令标识:CMD=31(16进制表示,共1字节,可显示字符串为1);
证书及密钥对应答指令标识:CMD=32(16进制表示,共1字节,可显示字符串为2);
证书应用许可申请指令标识:CMD=33(16进制表示,共1字节,可显示字符串为3);
证书应用许可应答指令标识:CMD=34(16进制表示,共1字节,可显示字符串为4)。
3、OBU生成的随机数包括:
OBU Random1=3232323232323232(16进制表示,共8字节,可显示字符串为22222222);
OBU Random2=3333333333333333(16进制表示,共8字节,可显示字符串为33333333)。
4、特权证书的有效期包括:
Start Time=0309060845(BCD码表示,每个数字占4位,共5个字节);
Duration=00FF(16进制表示,共2字节)。
参见图9所示,本实施例中BCC与CA之间、以及BCC与OBU之间的交互过程如下:
步骤1:BCC利用其所拥有的主密钥对OBU的ID进行3DES计算,以获得该OBU的特权证书管理密钥(OBU Key),并将OBU Key写入该OBU中。
其中,3DES计算中所使用的密钥分散因子为“OBU ID+取反(OBU ID)”;
计算所的OBU Key为:OBU Key=6317571AE3F9827DC96AD0B57690235C;
具体的,BCC在生成OBU Key之后,在安全的环境下将OBU Key写入该OBU的安全单元中的密钥存储模块,并将该密钥的版本规定为01(16进制表示,共1字节)。
步骤2:BCC生成密钥对,该密钥对包括公钥(Public Key)和私钥(Privatekey),并利用OBU的相关信息生成消息证书申请。
步骤3:BCC将特权证书申请发送给CA。
步骤4:CA审查该消息证书申请,然后签发相应的特权证书,该特权证书的顺序号为12345678(可显示字符串)。
步骤5:CA将颁发的特权证书发送给BCC,BCC将该特权证书编号为32(16进制表示)。
步骤6:OBU向BCC发送证书及密钥对申请,该申请的内容为:[CMD,OBU ID,OBU Random];
其中:CMD=31;
OBU ID=3131313131313131;
OBU Random=3232323232323232。
步骤7:BCC生成证书及密钥对写入控制指令,该控制指令的主要内容为:[CMD,Random,Certificate Number,Certificate,Key Pair,Start Time,Duration]
其中,CMD=32;
Random=3232323232323232;
Certificate Number=02;;
Certificate Serial Number=3132333435363738
Key Pair=(Private Key,Public Key);
Start Time=0000000000;
Duration=0000。
本步骤中,该控制指令的加密过程如图10所示。进一步,BCC发送给OBU的密文指令为:OBU Key Version+Cipher Text+MAC;
其中,OBU Key Version=01。
步骤8:BCC将证书及密钥对写入控制指令发送给OBU。
步骤9:OBU接收证书及密钥对写入控制指令,然后验证和解密接收到的数据(具体的验证和执行过程如图11所示)。OBU在验证和解密正确后,将各种数据分别写入证书状态表存储模块、证书存储模块和密钥对存储模块中。
本步骤中,证书及密钥对写入控制指令完成后证书状态表如表1所示。
表1
证书编号 |
证书顺序号 |
密钥对地址 |
有效起始时间 |
有效时长 |
... |
... |
... |
... |
... |
02 |
12345678 |
0015 |
0000000000 |
0000 |
假设OBU用户有危重病人需要送往医院进行急救,并向122报警服务台求助,要求较高的通行优先权。122报警服务台经必要的信息核实或人员/车辆/电话信息留存,同意赋予该车辆(OBU)较高的通行优先权。本实施例假设事发时OBU不能通过无线数据链路进行自动授权申请,需通过电话进行授权。通过电话人工申请与通过无线网络自动申请的数据内容相同。
步骤10:用户通过OBU的控制界面选择人工授权申请;OBU通过屏幕显示证书应用许可申请的指令内容。该证书应用许可申请的内容为:[CMD,OBUID,OBU Random],其中:
CMD=3(可显示字符串);
OBU ID=11111111(可显示字符串);
OBU Random=33333333(可显示字符串)。
本实施例中,用户通过电话通知给122的内容为:上报信息=3+11111111+33333333。
步骤11:122工作人员将用户提供的数字串输入BCC;BCC生成证书应用控制指令(计算过程参见图10所示的加密过程类似)。该控制指令的主要内容为:
[CMD,Random,Certificate Number,Start Time,Duration];
其中:CMD=3(可显示字符串);
Random=33333333(可显示字符串);
Certificate Number=2(可显示字符串);
Start Time=0309060845(可显示字符串);
Duration=00FF(可显示字符串,单位为分钟)。
本步骤中,经密钥分散计算后获得的OBU Key为:OBU Key=6317571AE3F9827DC96AD0B57690235C;
经密钥分散计算后获得的会话密钥为:Session Key=93CDD9BC8B89F9F31132F39C32B252FF;
待加密的明文为:明文=333333333333333332030906084500FF;
加密后的密文为:密文=04142E0A592ADD00F6CA3E95A792F0E3;
MAC计算:MAC计算输入为=31(密钥标识)+密文,MAC值=6446D536;
本步骤中的控制指令经加密及MAC计算后发送给OBU的密文指令为:
1(密钥标识)+04142E0A592ADD00F6CA3E95A792F0E3(密文)+6446D536(MAC值);
生成的指令字符串的长度为:41个字符。
步骤12:122工作人员将BCC生成的证书应用控制指令通知给用户,并由用户输入OBU。
步骤13:OBU验证接收到的证书应用控制指令,然后验证和解密接收到的数据(计算过程与图11所示的验证和执行过程类似)。该OBU在验证和解密正确后,将各种数据写入证书状态表相应记录的对应字段中。
本步骤中,证书应用控制指令完成后的证书状态表如表2所示。
表2
证书编号 |
证书顺序号 |
密钥对地址 |
有效起始时间 |
有效时长 |
... |
... |
... |
... |
... |
02 |
12345678 |
0015 |
0309060845 |
00FF |
步骤14:OBU在特权证书有效期内使用该特权证书签发消息。
步骤15:OBU将签名消息广播给其他OBU,从而获得优先通行权。
上述方法处理流程可以用软件程序实现,该软件程序可以存储在存储介质中,当存储的软件程序被调用时,执行上述方法步骤。
基于同一发明构思,本发明实施例中还提供了一种后台控制中心BCC,由于该BCC解决问题的原理与上述车联网系统中BCC侧的消息证书获取方法相似,因此该BCC的实施可以参见方法的实施,重复之处不再赘述。
参见图12所示,本发明实施例提供的一种后台控制中心BCC,包括:
收发模块121,用于接收OBU发送的应用许可申请指令,所述应用许可申请指令用于向所述BCC申请使用所述OBU中已写入的特权证书;
处理模块122,用于确定所述OBU使用指定的特权证书的有效时间,根据所述有效时间生成应用控制指令,并将所述应用控制指令发送给所述OBU,该应用控制指令用于指示所述OBU在所述有效时间内使用指定的特权证书。
本发明实施例中,应用许可申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识(ID)、以及该OBU生成的随机数(Random)。
具体的,该应用许可申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为应用许可申请指令。
本发明实施例中,应用控制指令包括:本次所使用的特权证书管理密钥的版本号(OBU Key Version)、用于标识本条指令的类型的指令标识、应用许可申请指令中携带的随机数、本次所使用的特权证书的编号(Certificate Number)、以及有效时间。
具体的,应用控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Start Time,Duration],其中,CMD为指令标识,标识本指令为应用控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号;Start Time及Duration表示有效时间,StartTime表示该特权证书有效的起始时间,Duration表示该特权证书的有效时长。
在实施中,收发模块121具体用于:
通过数据传输链路,接收所述OBU发送的所述应用许可申请指令;或者,
通过语音传输方式,接收所述OBU发送的所述应用许可申请指令。
在实施中,为了保证数据传输安全,处理模块122具体用于:
根据所述有效时间生成应用控制指令,对所述应用控制指令所包含的信息进行加密处理,并将加密后的应用控制指令发送给所述OBU。
其中,处理模块122对所述应用控制指令所包含的信息进行加密处理,具体包括:
根据所确定的特权证书管理密钥,对所述应用许可申请指令中携带的所述OBU生成的随机数进行密钥分散处理,生成会话密钥;
根据所生成的会话密钥对所述应用控制指令中包含的用于标识本条指令的类型的指令标识、所述应用许可申请指令中携带的随机数、指定的特权证书的编号以及所确定的有效时间,进行加密处理得到密文数据;以及,
根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到消息验证码MAC,其中,加密后的应用控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
在实施中,在收发模块121接收到所述OBU发送的证书应用许可申请指令之前,
处理模块122还用于:生成所述OBU的特权证书对应的密钥对,所述密钥对包括公钥和私钥;根据所生成的公钥和所述OBU的相关信息,生成所述OBU对应的特权证书申请指令;
收发模块121还用于:将所述特权证书申请指令发送给CA;以及,接收到所述CA根据所述特权证书申请指令颁发的特权证书并存储。
在实施中,收发模块121在接收到所述CA颁发的特权证书之后,且在接收到所述OBU发送的应用许可申请指令之前,
收发模块121还用于:接收所述OBU发送的特权证书申请指令,所述特权证书申请指令用于申请将所述BCC所申请的特权证书写入所述OBU;
处理模块122还用于:生成写入控制指令,并将所述写入控制指令发送给所述OBU,所述写入控制指令至少包含所述BCC为所述OBU申请的特权证书以及所述BCC为所述特权证书生成的密钥对。
本发明实施例中,特权证书申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识、以及该OBU生成的随机数。
具体的,该特权证书申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为特权证书申请指令。
本发明实施例中,写入控制指令包含本次所使用的特权证书管理密钥的版本号、用于标识本条指令的类型的指令标识、特权证书申请指令中携带的随机数、所申请的特权证书、该BCC为该特权证书定义的证书编号、该BCC为该特权证书所生成的密钥对以及用于表示所述特权证书的有效时间的时间标识;其中,时间标识包括该特权证书有效的起始时间标识以及该特权证书的有效时长标识。
具体的,该写入控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Certificate,Key Pair,Start Time,Duration],其中,CMD为指令标识,用于标识本条指令为写入控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号。
在实施中,为了保证数据传输安全,处理模块122生成写入控制指令,并将所述写入控制指令发送给所述OBU,具体包括:
生成写入控制指令,对所述写入控制指令所包含的信息进行加密处理,并将加密后的写入控制指令发送给所述OBU。
其中,处理模块122对所述写入控制指令所包含的信息进行加密处理,具体包括:
根据所确定的特权证书管理密钥,对所述写入控制指令中携带的所述OBU生成的随机数进行密钥分散处理,生成会话密钥;
根据所生成的会话密钥对所述写入控制指令中包含的用于标识本条指令的类型的指令标识、所述特权证书申请指令中携带的随机数、所申请的特权证书、所述BCC为所述特权证书定义的证书编号、所述BCC为所述特权证书生成的密钥对以及用于表示所述特权证书的有效时间的时间标识,进行加密处理得到密文数据;以及,
根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到MAC,其中,加密后的写入控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
在实施中,收发模块121接收到所述OBU发送的证书应用许可申请指令之前,
处理模块122还用于:根据自身具有的至少一个主密钥以及所述OBU的标识,生成所述OBU对应的至少一个特权证书管理密钥;
收发模块121还用于:将所述至少一个特权证书管理密钥发送给所述OBU。
基于同一发明构思,本发明实施例中还提供了一种车载设备OBU,由于该OBU解决问题的原理与上述车联网系统中OBU侧的消息证书获取方法相似,因此该OBU的实施可以参见方法的实施,重复之处不再赘述。
参见图13所示,本发明实施例提供的一种车载设备OBU,包括:
收发模块131,用于在需要使用特权证书签发消息时,向BCC发送应用许可申请指令,所述应用许可申请指令用于向所述BCC申请使用所述OBU中已写入的特权证书;以及,接收所述BCC发送的应用控制指令;
处理模块132,用于根据所述应用控制指令,在所述BCC指定的有效时间内使用所述BCC指定的特权证书签发消息,并将所签发的消息广播给除自身之外的其他OBU。
本发明实施例中,应用许可申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识(ID)、以及该OBU生成的随机数(Random)。
具体的,该应用许可申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为应用许可申请指令。
本发明实施例中,应用控制指令包括:本次所使用的特权证书管理密钥的版本号(OBU Key Version)、用于标识本条指令的类型的指令标识、应用许可申请指令中携带的随机数、本次所使用的特权证书的编号(Certificate Number)、以及有效时间。
具体的,应用控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Start Time,Duration],其中,CMD为指令标识,标识本指令为应用控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号;Start Time及Duration表示有效时间,StartTime表示该特权证书有效的起始时间,Duration表示该特权证书的有效时长。
在实施中,收发模块131具体用于:
通过数据传输链路,向所述BCC发送所述应用许可申请指令;或者,
通过语音传输方式,向所述BCC发送所述应用许可申请指令。
在实施中,收发模块131在接收到所述BCC发送的应用控制指令后,处理模块132还用于:
对所述应用控制指令进行验证和解密处理,以获取所述应用控制指令所包含的信息并存储。
其中,处理模块132对所述应用控制指令进行验证和解密处理,具体包括:
根据所述应用控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;
根据所选择的特权证书管理密钥对所述应用许可申请指令中携带的随机数进行密钥分散处理,生成会话密钥;
根据所述会话密钥对所述应用控制指令中的特权证书管理密钥的版本号以及密文数据进行计算,得到MAC;
在确定得到的MAC与所述应用控制指令中携带的MAC相同后,使用所生成的会话密钥对所述应用控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、指定的特权证书的编号以及所确定的有效时间;以及,
在确定所述应用控制指令中携带的随机数与所述应用许可申请指令中携带的随机数相同时,存储所获得到的指定的特权证书的编号以及所确定的有效时间。
在实施中,在收发模块131向所述BCC发送所述应用许可申请指令之前,
收发模块131还用于:向所述BCC发送特权证书申请指令,所述特权证书申请指令用于申请将所述BCC所申请的特权证书写入所述OBU;以及,接收所述BCC发送的写入控制指令;
处理模块132还用于:存储所述写入控制指令中携带的所述BCC为所述OBU申请的特权证书以及所述BCC为所述特权证书生成的密钥对。
本发明实施例中,特权证书申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识、以及该OBU生成的随机数。
具体的,该特权证书申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为特权证书申请指令。
本发明实施例中,写入控制指令包含本次所使用的特权证书管理密钥的版本号、用于标识本条指令的类型的指令标识、特权证书申请指令中携带的随机数、所申请的特权证书、该BCC为该特权证书定义的证书编号、该BCC为该特权证书所生成的密钥对以及用于表示所述特权证书的有效时间的时间标识;其中,时间标识包括该特权证书有效的起始时间标识以及该特权证书的有效时长标识。
具体的,该写入控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Certificate,Key Pair,Start Time,Duration],其中,CMD为指令标识,用于标识本条指令为写入控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号。
在实施中,收发模块131接收所述BCC发送的写入控制指令之后,处理模块132还用于:
对所述写入控制指令进行验证和解密处理,以获取所述写入控制指令所包含的信息并存储。
其中,处理模块132对所述写入控制指令进行验证和解密处理,具体包括:
根据所述写入控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;
根据所选择的特权证书管理密钥对所述特权证书申请指令中携带的随机数进行密钥分散处理,生成会话密钥;
根据所述会话密钥对所述写入控制指令中的特权证书管理密钥的版本号以及密文数据进行计算,得到MAC;
确定得到的MAC与所述写入控制指令中携带的MAC相同后,使用所生成的会话密钥对所述写入控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、所述BCC为所述OBU所申请的特权证书、所述BCC为所述特权证书定义的证书编号、所述BCC为所述特权证书生成的密钥对以及用于表示所述特权证书的有效时间的时间标识;以及,
在确定所述写入控制指令中携带的随机数与所述特权证书申请指令中携带的随机数相同时,存储所获得到的特权证书、所述特权证书的编号、所述特权证书对应的密钥对以及时间标识。
基于上述任一实施例,收发模块131向所述BCC发送应用许可申请指令之前,还用于:
接收所述BCC发送的至少一个特权证书管理密钥,并存储。
下面结合优选的硬件结构,对本发明实施例提供的BCC的结构、处理方式进行说明。
参见图14所示,BCC包括收发信机141、与该收发信机141连接的至少一个处理器142、以及与该收发信机141和处理器142分别连接的存储器143,其中:
收发信机141被配置用于:接收OBU发送的应用许可申请指令,所述应用许可申请指令用于向所述BCC申请使用所述OBU中已写入的特权证书;
处理器142被配置用于:确定所述OBU使用指定的特权证书的有效时间,根据所述有效时间生成应用控制指令,并触发收发信机将所述应用控制指令发送给所述OBU,该应用控制指令用于指示所述OBU在所述有效时间内使用指定的特权证书。
本发明实施例中,应用许可申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识(ID)、以及该OBU生成的随机数(Random)。
具体的,该应用许可申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为应用许可申请指令。
本发明实施例中,应用控制指令包括:本次所使用的特权证书管理密钥的版本号(OBU Key Version)、用于标识本条指令的类型的指令标识、应用许可申请指令中携带的随机数、本次所使用的特权证书的编号(Certificate Number)、以及有效时间。
具体的,应用控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Start Time,Duration],其中,CMD为指令标识,标识本指令为应用控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号;Start Time及Duration表示有效时间,StartTime表示该特权证书有效的起始时间,Duration表示该特权证书的有效时长。
在实施中,收发信机141被配置具体用于:
通过数据传输链路,接收所述OBU发送的所述应用许可申请指令;或者,
通过语音传输方式,接收所述OBU发送的所述应用许可申请指令。
在实施中,为了保证数据传输安全,处理器142被配置具体用于:
根据所述有效时间生成应用控制指令,对所述应用控制指令所包含的信息进行加密处理,并将加密后的应用控制指令发送给所述OBU。
其中,处理器142对所述应用控制指令所包含的信息进行加密处理,具体包括:
根据所确定的特权证书管理密钥,对所述应用许可申请指令中携带的所述OBU生成的随机数进行密钥分散处理,生成会话密钥;
根据所生成的会话密钥对所述应用控制指令中包含的用于标识本条指令的类型的指令标识、所述应用许可申请指令中携带的随机数、指定的特权证书的编号以及所确定的有效时间,进行加密处理得到密文数据;以及,
根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到消息验证码MAC,其中,加密后的应用控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
在实施中,在收发信机141接收到所述OBU发送的证书应用许可申请指令之前,
处理器142还被配置用于:生成所述OBU的特权证书对应的密钥对,所述密钥对包括公钥和私钥;根据所生成的公钥和所述OBU的相关信息,生成所述OBU对应的特权证书申请指令;
收发信机141还被配置用于:将所述特权证书申请指令发送给CA;以及,接收到所述CA根据所述特权证书申请指令颁发的特权证书;
存储器143被配置用于:存储所述CA所颁发的特权证书以及处理器142所生成的特权证书对应的密钥对。
在实施中,收发信机141在接收到所述CA颁发的特权证书之后,且在接收到所述OBU发送的应用许可申请指令之前,
收发信机141还被配置用于:接收所述OBU发送的特权证书申请指令,所述特权证书申请指令用于申请将所述BCC所申请的特权证书写入所述OBU;
处理器142还被配置用于:生成写入控制指令,并触发收发信机141将所述写入控制指令发送给所述OBU,所述写入控制指令至少包含所述BCC为所述OBU申请的特权证书以及所述BCC为所述特权证书生成的密钥对。
本发明实施例中,特权证书申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识、以及该OBU生成的随机数。
具体的,该特权证书申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为特权证书申请指令。
本发明实施例中,写入控制指令包含本次所使用的特权证书管理密钥的版本号、用于标识本条指令的类型的指令标识、特权证书申请指令中携带的随机数、所申请的特权证书、该BCC为该特权证书定义的证书编号、该BCC为该特权证书所生成的密钥对以及用于表示所述特权证书的有效时间的时间标识;其中,时间标识包括该特权证书有效的起始时间标识以及该特权证书的有效时长标识。
具体的,该写入控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Certificate,Key Pair,Start Time,Duration],其中,CMD为指令标识,用于标识本条指令为写入控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号。
在实施中,为了保证数据传输安全,处理器142生成写入控制指令,并将所述写入控制指令发送给所述OBU,具体包括:
生成写入控制指令,对所述写入控制指令所包含的信息进行加密处理,并将加密后的写入控制指令发送给所述OBU。
其中,处理器142对所述写入控制指令所包含的信息进行加密处理,具体包括:
根据所确定的特权证书管理密钥,对所述写入控制指令中携带的所述OBU生成的随机数进行密钥分散处理,生成会话密钥;
根据所生成的会话密钥对所述写入控制指令中包含的用于标识本条指令的类型的指令标识、所述特权证书申请指令中携带的随机数、所申请的特权证书、所述BCC为所述特权证书定义的证书编号、所述BCC为所述特权证书生成的密钥对以及用于表示所述特权证书的有效时间的时间标识,进行加密处理得到密文数据;以及,
根据所生成的会话密钥,对所确定的特权证书管理密钥的版本号以及得到的密文数据进行计算,得到MAC,其中,加密后的写入控制指令包含所确定的特权证书管理密钥的版本号、得到的密文数据以及得到的MAC。
在实施中,收发信机141收到OBU发送的证书应用许可申请指令之前,
处理器142还被配置用于:根据存储器143所存储的至少一个主密钥以及所述OBU的标识,生成所述OBU对应的至少一个特权证书管理密钥,并存储于存储器143;
收发信机141还被配置用于:将所述至少一个特权证书管理密钥发送给所述OBU。
下面结合优选的硬件结构,对本发明实施例提供的OBU的结构、处理方式进行说明。
参见图15所示,OBU包括收发信机151、与该收发信机151连接的至少一个处理器152、以及与该收发信机151和处理器152分别连接的存储器153,其中:
收发信机151被配置用于:在需要使用特权证书签发消息时,向BCC发送应用许可申请指令,所述应用许可申请指令用于向所述BCC申请使用所述OBU中已写入的特权证书;以及,接收所述BCC发送的应用控制指令;
处理器152被配置用于:在根据所述应用控制指令,在所述BCC指定的有效时间内使用所述BCC指定的特权证书签发消息,并将所签发的消息广播给除自身之外的其他OBU。
本发明实施例中,应用许可申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识(ID)、以及该OBU生成的随机数(Random)。
具体的,该应用许可申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为应用许可申请指令。
本发明实施例中,应用控制指令包括:本次所使用的特权证书管理密钥的版本号(OBU Key Version)、用于标识本条指令的类型的指令标识、应用许可申请指令中携带的随机数、本次所使用的特权证书的编号(Certificate Number)、以及有效时间。
具体的,应用控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Start Time,Duration],其中,CMD为指令标识,标识本指令为应用控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号;Start Time及Duration表示有效时间,StartTime表示该特权证书有效的起始时间,Duration表示该特权证书的有效时长。
在实施中,收发信机151被配置具体用于:
通过数据传输链路,向所述BCC发送所述应用许可申请指令;或者,
通过语音传输方式,向所述BCC发送所述应用许可申请指令。
在实施中,收发信机151在接收到所述BCC发送的应用控制指令后,处理器152还被配置用于:
对所述应用控制指令进行验证和解密处理,以获取所述应用控制指令所包含的信息并存储于存储器153。
其中,处理器152对所述应用控制指令进行验证和解密处理,具体包括:
根据所述应用控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;
根据所选择的特权证书管理密钥对所述应用许可申请指令中携带的随机数进行密钥分散处理,生成会话密钥;
根据所述会话密钥对所述应用控制指令中的特权证书管理密钥的版本号以及密文数据进行计算,得到MAC;
在确定得到的MAC与所述应用控制指令中携带的MAC相同后,使用所生成的会话密钥对所述应用控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、指定的特权证书的编号以及所确定的有效时间;以及,
在确定所述应用控制指令中携带的随机数与所述应用许可申请指令中携带的随机数相同时,将所获得到的指定的特权证书的编号以及所确定的有效时间存储于存储器153。
在实施中,在收发信机151向所述BCC发送所述应用许可申请指令之前,
收发信机151还被配置用于:向所述BCC发送特权证书申请指令,所述特权证书申请指令用于申请将所述BCC所申请的特权证书写入所述OBU;以及,接收所述BCC发送的写入控制指令;
处理器152还被配置用于:将所述写入控制指令中携带的所述BCC为所述OBU申请的特权证书以及所述BCC为所述特权证书生成的密钥对存储于存储器153。
本发明实施例中,特权证书申请指令包含用于标识本条指令的类型的指令标识、用于唯一标识该OBU的OBU标识、以及该OBU生成的随机数。
具体的,该特权证书申请指令的内容为[CMD,OBU ID,OBU Random],其中,CMD为指令标识,用于标识本指令为特权证书申请指令。
本发明实施例中,写入控制指令包含本次所使用的特权证书管理密钥的版本号、用于标识本条指令的类型的指令标识、特权证书申请指令中携带的随机数、所申请的特权证书、该BCC为该特权证书定义的证书编号、该BCC为该特权证书所生成的密钥对以及用于表示所述特权证书的有效时间的时间标识;其中,时间标识包括该特权证书有效的起始时间标识以及该特权证书的有效时长标识。
具体的,该写入控制指令的内容为[OBU Key Version,CMD,OBU Random,Certificate Number,Certificate,Key Pair,Start Time,Duration],其中,CMD为指令标识,用于标识本条指令为写入控制指令,Certificate Number是BCC与OBU之间使用的用于标识CA所颁发的特权证书的内部编号
在实施中,收发信机151接收所述BCC发送的写入控制指令之后,处理器152还被配置用于:
对所述写入控制指令进行验证和解密处理,以获取所述写入控制指令所包含的信息并存储于存储器153。
其中,处理器152对所述写入控制指令进行验证和解密处理,具体包括:
根据所述写入控制指令中携带的特权证书管理密钥的版本号,选择相应的特权证书管理密钥;
根据所选择的特权证书管理密钥对所述特权证书申请指令中携带的随机数进行密钥分散处理,生成会话密钥;
根据所述会话密钥对所述写入控制指令中的特权证书管理密钥的版本号以及密文数据进行计算,得到MAC;
确定得到的MAC与所述写入控制指令中携带的MAC相同后,使用所生成的会话密钥对所述写入控制指令中的密文数据进行解密处理,以获得用于标识本条指令的类型的指令标识、随机数、所述BCC为所述OBU所申请的特权证书、所述BCC为所述特权证书定义的证书编号、所述BCC为所述特权证书生成的密钥对以及用于表示所述特权证书的有效时间的时间标识;以及,
在确定所述写入控制指令中携带的随机数与所述特权证书申请指令中携带的随机数相同时,将所获得到的特权证书、所述特权证书的编号、所述特权证书对应的密钥对以及时间标识存储于存储器153。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。