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

车载applet离线更新方法以及车载applet离线更新系统与流程

2022-07-10 12:48:56 来源:中国专利 TAG:


1.本发明涉及车辆领域,尤其是涉及一种车载applet离线更新方法以及车载applet离线更新系统。


背景技术:

2.相关技术中,车端模块软件的更新和故障的解决基于外接设备的操作,接入外接设备后可在线或者离线完成相关模块的软件更新,然而,基于现有的诊断烧写规范,相关模块的软件更新存在更新时间长以及相关模块不包含双备份的问题,会导致应用程序更新失败以及软件功能缺失,从而会导致车辆功能缺失,
3.并且,现有车辆模块软件的更新主要通过can网络进行,传输的安全机制基于诊断烧写规范进行确定,然而,对于传输过程中数据传输的加密和鉴权机制的安全等级,数据传输双方并没有明确相关的安全级别,
4.此外,现有车辆模块的软件功能主要集中在主控mcu侧,处理功能逻辑和实施算法均在mcu中,这对于加密等级要求较高的安全存储具有一定的风险。


技术实现要素:

5.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明的一个目的在于提出一种车载applet离线更新方法,该车载applet离线更新方法可以快速、方便的对车载applet进行离线更新,并且不会导致车载applet更新失败以及车载applet功能缺失,从而可以避免车辆的功能缺失,同时,可以保证数据传输过程中的传输安全。
6.本发明进一步地提出了一种车载applet离线更新方法。
7.本发明进一步地提出了一种计算机可读存储介质。
8.本发明进一步地提出了一种主控mcu。
9.本发明进一步地提出了一种上位机。
10.本发明进一步地提出了一种车载applet离线更新系统。
11.根据本发明的车载applet离线更新方法包括以下步骤:在建立与上位机之间的安全通信通道后,基于所述安全通信通道与所述上位机进行双向认证,并在双向认证成功后接收所述上位机下发的加密数据包;对所述加密数据包进行解密和格式转换以生成tlv格式数据包,并对所述tlv格式数据包进行加密后发送至安全模块,以便存储在所述安全模块中的applet根据解密后的tlv格式数据包进行更新。
12.根据本发明的车载applet离线更新方法,可以快速、方便的对车载applet进行离线更新,并且不会导致车载applet更新失败以及车载applet功能缺失,从而可以避免车辆的功能缺失,同时,可以保证数据传输过程中的传输安全。
13.在本发明的一些示例中,建立与上位机之间的安全通信通道,包括:接收所述上位机下发的执行安全操作命令,并根据预设的安全通道规范要求对所述执行安全操作命令进行响应以生成响应命令,以及将所述响应命令发送给所述上位机,以完成对所述安全通信
通道的建立。
14.在本发明的一些示例中,基于所述安全通信通道与所述上位机进行双向认证,包括:接收所述上位机发送的静态密钥,并根据所述静态密钥计算共享协商密钥对,以及根据所述共享协商密钥对完成双向认证。
15.在本发明的一些示例中,在完成双向认证后,还通过与所述上位机进行交互以根据所述共享协商密钥对生成会话密钥,并根据所述会话密钥对所述加密数据包进行解密。
16.在本发明的一些示例中,在接收所述加密数据包之前,将接收到的上位机请求报文转换成apdu加密指令并发送到所述安全模块,以及接收所述安全模块反馈的响应报文,并将所述响应报文进行格式转换后上传给所述上位机。
17.根据本发明的车载applet离线更新方法包括以下步骤:在建立与主控mcu之间的安全通信通道后,基于所述安全通信通道与所述主控mcu进行双向认证;在双向认证成功后,对待更新数据包进行加密以生成加密数据包,并将所述加密数据包发送至所述主控mcu,以便所述主控mcu对所述加密数据包进行解密和格式转换以生成tlv格式数据包;通过所述主控mcu对所述tlv格式数据包进行加密后发送至安全模块,以便存储在所述安全模块中的applet根据解密后的tlv格式数据包进行更新。
18.在本发明的一些示例中,建立与所述主控mcu之间的安全通信通道,包括:向所述主控mcu发送执行安全操作命令,以便所述主控mcu根据预设的安全通道规范要求对所述执行安全操作命令进行响应以生成响应命令;在接收到所述响应命令后,完成对所述安全通信通道的建立。
19.在本发明的一些示例中,基于所述安全通信通道与所述主控mcu进行双向认证,包括:发送静态密钥至所述主控mcu,并通过与所述主控mcu进行交互以根据所述静态密钥计算共享协商密钥对,以及根据所述共享协商密钥对完成双向认证。
20.在本发明的一些示例中,在完成双向认证后,还通过与所述主控mcu进行交互以根据所述共享协商密钥对生成会话密钥,并根据所述会话密钥对所述待更新数据包进行加密。
21.在本发明的一些示例中,在向所述主控mcu发送所述加密数据包之前,还下发上位机请求报文至所述主控mcu,以便所述主控mcu将所述上位机请求报文转换成apdu加密指令并发送到所述安全模块,以及接收所述主控mcu上传的转换报文,其中,所述转换报文由所述主控mcu将接收到的所述安全模块反馈的响应报文进行格式转换得到。
22.在本发明的一些示例中,在建立与主控mcu之间的安全通信通道之前,还从服务器端获取所述待更新数据包。
23.根据本发明的计算机可读存储介质,其上存储有基于车载applet离线更新程序,该基于车载applet离线更新程序被处理器执行时实现上述的车载applet离线更新方法。
24.根据本发明的计算机可读存储介质,可以快速、方便的对车载applet进行离线更新,并且不会导致车载applet更新失败以及车载applet功能缺失,从而可以避免车辆的功能缺失,同时,可以保证数据传输过程中的传输安全。
25.根据本发明的主控mcu,包括存储器、处理器及存储在存储器上并可在处理器上运行的车载applet离线更新程序,所述处理器执行所述车载applet离线更新程序时,实现上述的车载applet离线更新方法。
26.根据本发明的上位机,包括存储器、处理器及存储在存储器上并可在处理器上运行的车载applet离线更新程序,所述处理器执行所述车载applet离线更新程序时,实现上述的车载applet离线更新方法。
27.根据本发明的车载applet离线更新系统,包括上位机、主控mcu和安全模块,所述applet设置在所述安全模块中,其中,所述上位机用于建立与所述主控mcu之间的安全通信通道,并在所述安全通信通道建立后,根据所述安全通信通道与所述主控mcu进行双向认证,以及在双向认证成功后对待更新数据包进行加密以生成加密数据包,并将所述加密数据包发送至所述主控mcu;所述主控mcu用于对所述加密数据包进行解密和格式转换以生成tlv格式数据包,并对所述tlv格式数据包进行加密后发送至所述安全模块;所述安全模块接收并对加密后的tlv格式数据包进行解密,并根据解密后的tlv格式数据包对所述applet进行更新。
28.根据本发明的车载applet离线更新系统,可以快速、方便的对车载applet进行离线更新,并且不会导致车载applet更新失败以及车载applet功能缺失,从而可以避免车辆的功能缺失,同时,可以保证数据传输过程中的传输安全。
29.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
30.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
31.图1是根据本发明实施例的车载applet离线更新方法的流程图;
32.图2是根据本发明实施例的车载applet离线更新方法的另一个实施例的流程图;
33.图3是根据本发明实施例的车载applet离线更新系统的方框示意图;
34.图4是根据本发明一个实施例的处理器、存储器、通信接口、通信总线的方框示意图。
35.附图标记:
36.车载applet离线更新系统100;
37.上位机10;车端pad11;诊断设备12;
38.主控mcu20;
39.安全模块30;
40.服务器端40;云服务器41;诊断服务器42;
41.处理器1201;通信接口1202;存储器1203;通信总线1204。
具体实施方式
42.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
43.下面参考图1-图4描述根据本发明实施例的车载applet离线更新系统100和车载applet离线更新方法。
44.如图3所示,根据本发明实施例的车载applet离线更新系统100包括:上位机10、主控mcu(microcontroller unit-微控制单元)20和安全模块(se-secure element)30。applet设置在安全模块30中。其中,上位机10用于建立与主控mcu20之间的安全通信通道,并在安全通信通道建立后,根据安全通信通道与主控mcu20进行双向认证,以及在双向认证成功后对待更新数据包进行加密以生成加密数据包,并将加密数据包发送至主控mcu20。需要说明的是,上位机10能够建立与主控mcu20之间的安全通信通道,在安全通信通道建立之后,上位机10能够根据安全通信通道与主控mcu20进行双向认证,在上位机10与主控mcu20进行双向认证成功后,上位机10能够对待更新数据包进行加密,以生成加密数据包,并且,上位机10能够将加密数据包发送至主控mcu20。
45.主控mcu20用于对加密数据包进行解密和格式转换以生成tlv(tag length value-卡片和终端之间传递的数据格式)格式数据包,并对tlv格式数据包进行加密后发送至安全模块30。需要解释的是,主控mcu20可以对上位机10发送来的加密数据包进行解密,并且主控mcu20可以解密的加密数据包进行格式转换,以将解密的加密数据包的格式转换成tlv格式数据包,之后,主控mcu20可以对tlv格式数据包进行加密,并且主控mcu20可以将加密后的tlv格式数据包发送至安全模块30。
46.安全模块30接收并对加密后的tlv格式数据包进行解密,并根据解密后的tlv格式数据包对applet进行更新,需要说明的是,安全模块30可以接收主控mcu20发送的加密后的tlv格式数据包,安全模块30接收主控mcu20发送的加密后的tlv格式数据包后,安全模块30能够对tlv格式数据包进行解密,并且安全模块30可以根据解密后的tlv格式数据包对设置在安全模块30的applet进行更新,以完成applet的离线更新。
47.具体地,上位机10可以包括但不限于车端pad11以及诊断设备12,上位机10与主控mcu20可以通过can(controller area networker控制器局域网-)总线或者canfd(can with flexible data rate-基于can 2.0物理层的串行通信协议)总线连接,安全模块30还可以包括cos系统,安全模块30需要满足cos系统和applet的功能正常,以保证在通信过程中能够完整地传输数据包,主控mcu20和安全模块30可以通过spi总线(serial peripheral interface-同步串行接口)通信连接,从而可以保证主控mcu20与安全模块30的正常通信。
48.其中,车载applet离线更新系统100还可以包括服务器端40,服务器端40可以包括但不限于云服务器41以及诊断服务器42,优选地,服务器端40与上位机10可以通过tcp或者ip网络通道传输待更新数据包,进一步地,云服务器41与车端pad11可以通过tcp或者ip网络通道传输待更新数据包,诊断服务器42与诊断设备12也可以通过tcp或者ip网络通道传输待更新数据包,上位机10可以从服务器端40获取待更新数据包并将待更新数据包加载到本地内存中,上位机10能够建立与主控mcu20之间的安全通信通道,在安全通信通道建立之后,上位机10能够根据安全通信通道与主控mcu20进行双向认证,在上位机10与主控mcu20进行双向认证成功后,上位机10能够对待更新数据包进行加密,以生成加密数据包并将加密数据包发送至主控mcu20,主控mcu20可以对上位机10发送来的加密数据包进行解密并进行格式转换,以将解密的加密数据包的格式转换成tlv格式数据包,之后,主控mcu20可以对tlv格式数据包进行加密,并且主控mcu20可以将加密后的tlv格式数据包通过spi总线发送至安全模块30,安全模块30接收主控mcu20送的加密后的tlv格式数据包后能够对tlv格式数据包进行解密,并且安全模块30可以根据解密后的tlv格式数据包对设置在安全模块30
的applet进行更新,以完成applet的离线更新,进一步地,当mcu20接收到上位机10发送的加密数据包后,mcu20可以储存加密数据包,并且可以进行安全模块30的applet的软件版本检测。
49.由此,上位机10、主控mcu20和安全模块30配合工作,可以快速、方便的对车载applet进行离线更新,并且不会导致车载applet更新失败以及车载applet功能缺失,从而可以避免车辆的功能缺失,同时,可以保证数据传输过程中的传输安全。
50.作为本发明的一些实施例,建立与上位机10之间的安全通信通道,可以包括:接收上位机10下发的执行安全操作命令,并根据预设的安全通道规范要求对执行安全操作命令进行响应以生成响应命令,以及将响应命令发送给上位机10,以完成对安全通信通道的建立。需要解释的是,上位机10可以向主控mcu20发送执行安全操作命令,主控mcu20可以接收上位机10下发的执行安全操作命令,主控mcu20接收上位机10下发的执行安全操作命令后可以根据预设的安全通道规范要求对执行安全操作命令进行响应以生成响应命令,mcu20生成响应命令后,mcu20可以将响应命令发送给上位机10以建立与上位机10之间的安全通信通道,其中,预设的安全通道规范要求可以为安全通道scp11c(globalplatform卡技术安全通道协议“11”)规范要求。
51.作为本发明的一些实施例,基于安全通信通道与上位机10进行双向认证,可以包括:接收上位机10发送的静态密钥,并根据静态密钥计算共享协商密钥对,以及根据共享协商密钥对完成双向认证。需要解释的是,安全通信通道建立后,mcu20可以接收上位机10发送的静态密钥,并且mcu20可以根据上位机10发送的静态密钥计算共享协商密钥对(ecka),然后mcu20可以根据共享协商密钥对与上位机10完成双向认证,具体地,mcu20可以根据共享协商密钥对派生出通道会话密钥(aes),mcu20可以根据通道会话密钥产生响应命令,并将响应命令回执到上位机10以与上位机10完成双向认证,由此,可以保证数据传输过程中的传输安全。
52.作为本发明的一些实施例,在完成双向认证后,还可以通过与上位机10进行交互以根据共享协商密钥对生成会话密钥,并根据会话密钥对加密数据包进行解密。需要说明的是,在mcu20与上位机10完成双向认证后,mcu20可以通过与上位机10进行交互以根据共享协商密钥对生成会话密钥,并且mcu20可以根据会话密钥对上位机10传递来的加密数据包进行解密,然后mcu20可以对数据包进行格式转换以生成tlv格式数据包,并对tlv格式数据包进行加密,加密后通过spi总线发送至安全模块30,由此,可以进一步保证数据传输过程中的传输安全。
53.需要说明的是,mcu20与安全模块30之间的交换信息可以由scp03(globalplatform卡技术安全通道协议“03”)安全消息传递保护,根据诊断规范下发至mcu20的加密数据包,在scp03安全通信机制中,传输的数据被打包成apdu(application protocol data unit-应用协议数据单元)命令进行加密处理并进行传输,scp03传输的明文命令数据首先用会话密钥进行加密生成加密命令,然后再加密生成cmac值,最后按照固定格式填充组成加密命令 cmac值,在通道传输过程中,按照数据安全要求,用通道会话密钥对固定格式传输数据进行加密再传输,可以保证数据的保密性和完整性。
54.其中,当载入数据包后,可以进行安全模块30的applet的软件版本检测,此外,根据诊断规范要求,主控mcu20的烧写升级需要经过版本读取、车辆静默、安全访问、进入编程
诊断会话模式、数据下载和传输等阶段,对于安全模块30的升级,由于需要考虑主控mcu20的数据包转发,因而只需采用部分阶段即可。
55.作为本发明的一些实施例,在接收加密数据包之前,将接收到的上位机请求报文转换成apdu加密指令并发送到安全模块30,以及接收安全模块30反馈的响应报文,并将响应报文进行格式转换后上传给上位机10。
56.需要解释的是,关于上位机10的每次请求,即上位机10每次发送至主控mcu20的上位机请求报文(加密数据包),主控mcu20需要将上位机请求报文转换成对应的tlv格式的apdu加密指令并发送给安全模块30,安全模块30需要设置非烧写节点的静默状态,当进行到进入编程诊断会话模式后,首先通过安全访问服务,然后直接进入到数据下载、数据传输、请求传输退出。其中,对于数据下载阶段,可以设置256byte大小的数据缓存区存储下载内容,即先储存上位机10通过can或者canfd总线传递来的加密数据包,然后主控mcu20进行成功应答,之后的数据传输阶段,主控mcu20对下载的加密数据包添加报头和报尾进行打包,组成tlv格式的apdu加密指令并发送给安全模块30,安全模块30接收主控mcu20发送来的tlv格式的apdu加密指令后,安全模块30将完成响应报文传输到主控mcu20,主控mcu20可以将完成响应报文转换成can报文传递给上位机10,对于传输退出的执行指令,按照规范正常完成下发即可,如此循环往复完成加密数据包的下发。
57.作为本发明的一些实施例,可以同时在上位机10侧和主控mcu20侧设置序列计数器,以进行数据传输过程中的计数操作,当满足计数到确定次数后,进行内存校验,完成安全模块30的applet的自更新,之后,安全模块30进行applet的更新状态查询,查询通过后进行安全模块30的状态复位,解除非烧写节点的静默状态,然后,安全模块30打包诊断响应并完成响应传输到主控mcu20,主控mcu20将响应转换成can数据返回上位机10。
58.作为本发明的一些实施例,建立与主控mcu20之间的安全通信通道,可以包括:向主控mcu20发送执行安全操作命令,以便主控mcu20根据预设的安全通道规范要求对执行安全操作命令进行响应以生成响应命令,在接收到响应命令后,完成对安全通信通道的建立。需要说明的还是,上位机10可以向主控mcu20发送执行安全操作命令,主控mcu20接收上位机10下发的执行安全操作命令后可以根据预设的安全通道规范要求对上位机10下发的执行安全操作命令进行响应以生成响应命令,然后mcu20可以将响应命令发送给上位机10,上位机10在接收到响应命令后,可以完成与mcu20之间的安全通信通道的建立,其中,预设的安全通道规范要求可以为安全通道scp11c(globalplatform卡技术安全通道协议“11”)规范要求。
59.作为本发明的一些实施例,基于安全通信通道与主控mcu20进行双向认证,可以包括:发送静态密钥至主控mcu20,并通过与主控mcu进行交互以根据静态密钥计算共享协商密钥对,以及根据共享协商密钥对完成双向认证。需要解释的是,安全通信通道建立后,上位机10可以发送静态密钥至主控mcu20,并且,上位机10通过与主控mcu进行交互可以根据静态密钥计算共享协商密钥对,然后上位机10可以根据共享协商密钥对与mcu20完成双向认证,具体地,mcu20可以根据共享协商密钥对派生出通道会话密钥,mcu20可以根据通道会话密钥产生响应命令,并将响应命令回执到上位机10以与上位机10完成双向认证,由此,可以保证数据传输过程中的传输安全。
60.作为本发明的一些实施例,在完成双向认证后,还可以通过与主控mcu20进行交互
以根据共享协商密钥对生成会话密钥,并根据会话密钥对待更新数据包进行加密。需要说明的是,在上位机10与mcu20完成双向认证后,上位机10可以通过与主控mcu20进行交互以根据共享协商密钥对生成会话密钥,并且上位机10可以根据会话密钥对待更新数据包进行加密以生成加密数据包,并且上位机10可以将加密数据包发送至主控mcu20,由此,可以进一步保证数据传输过程中的传输安全。
61.需要说明的是,mcu20与安全模块30之间的交换信息由scp03(globalplatform卡技术安全通道协议“03”)安全消息传递保护,根据诊断规范下发至mcu20的加密数据包,在scp03安全通信机制中,传输的数据被打包成apdu命令进行加密处理并进行传输,scp03传输的明文命令数据首先用会话密钥进行加密生成加密命令,然后再加密生成cmac值,最后按照固定格式填充组成加密命令 cmac值,在通道传输过程中,按照数据安全要求,用通道会话密钥对固定格式传输数据进行加密再传输,可以保证数据的保密性和完整性。
62.其中,当载入数据包后,可以进行安全模块30的applet的软件版本检测,此外,根据诊断规范要求,主控mcu20的升级需要经过版本读取、车辆静默、安全访问、进入编程诊断会话模式、数据下载和传输等阶段,对于安全模块30的升级,由于需要考虑主控mcu20的数据包转发,因而只需采用部分阶段即可。
63.作为本发明的一些实施例,在向主控mcu20发送加密数据包之前,还下发上位机请求报文至主控mcu20,以便主控mcu20将上位机请求报文转换成apdu加密指令并发送到安全模块30,以及接收主控mcu20上传的转换报文,其中,转换报文由主控mcu20将接收到的安全模块30反馈的响应报文进行格式转换得到。
64.需要解释的是,关于上位机10的每次请求,即上位机10每次发送至主控mcu20的上位机请求报文(加密数据包),主控mcu20需要将上位机请求报文转换成对应的tlv格式的apdu加密指令并发送给安全模块30,安全模块30需要设置非烧写节点的静默状态,当进行到进入编程诊断会话模式后,首先通过安全访问服务,然后直接进入到数据下载、数据传输、请求传输退出。其中,对于数据下载阶段,可以设置256byte大小的数据缓存区存储下载内容,即先储存上位机10通过can或者canfd总线传递来的加密数据包,然后主控mcu20进行成功应答,之后的数据传输阶段,主控mcu20对下载的加密数据包添加报头和报尾进行打包,组成tlv格式的apdu加密指令并发送给安全模块30,安全模块30接收主控mcu20发送来的tlv格式的apdu加密指令后,安全模块30将完成响应报文传输到主控mcu20,主控mcu20可以将完成响应报文转换成can报文传递给上位机10,对于传输退出的执行指令,按照规范正常完成下发即可,如此循环往复完成加密数据包的下发。
65.作为本发明的一些实施例,可以同时在上位机10侧和主控mcu20侧设置序列计数器,以进行数据传输过程中的计数操作,当满足计数到确定次数后,进行内存校验,完成安全模块30的applet的自更新,之后,安全模块30进行applet的更新状态查询,查询通过后进行安全模块30的状态复位,解除非烧写节点的静默状态,然后,安全模块30打包诊断响应并完成响应传输到主控mcu20,主控mcu20将响应转换成can数据返回上位机10。
66.作为本发明的一些实施例,在建立与主控mcu20之间的安全通信通道之前,还从服务器端40获取待更新数据包,需要解释的是,上位机10在建立与主控mcu20之间的安全通信通道之前,上位机10可以从服务器端40获取待更新数据包并将待更新数据包加载到本地内存中,由此,上位机10可以获取待更新数据包并对待更新数据包进行存储。
67.图1为根据本发明实施例的车载applet离线更新方法的流程图,上述实施例的车载applet离线更新系统可以实现该车载applet离线更新方法,如图1所示,该车载applet离线更新方法包括以下步骤:
68.s1,在建立与上位机之间的安全通信通道后,基于安全通信通道与上位机进行双向认证,并在双向认证成功后接收上位机下发的加密数据包。需要解释的是,车载applet离线更新系统包括:上位机、主控mcu(microcontroller unit-微控制单元)和安全模块(se-secure element),其中,上位机用于建立与主控mcu之间的安全通信通道,并在安全通信通道建立后,上位机根据安全通信通道与主控mcu进行双向认证,以及在双向认证成功后对待更新数据包进行加密以生成加密数据包,并将加密数据包发送至主控mcu。需要说明的是,上位机能够建立与主控mcu之间的安全通信通道,在安全通信通道建立之后,上位机能够根据安全通信通道与主控mcu进行双向认证,在上位机与主控mcu进行双向认证成功后,上位机能够对待更新数据包进行加密,以生成加密数据包,并且,上位机能够将加密数据包发送至主控mcu。
69.s2,对加密数据包进行解密和格式转换以生成tlv格式数据包,并对tlv格式数据包进行加密后发送至安全模块,以便存储在安全模块中的applet根据解密后的tlv格式数据包进行更新。需要说明的是,主控mcu可以对上位机发送来的加密数据包进行解密,并且主控mcu可以解密的加密数据包进行格式转换,以将解密的加密数据包的格式转换成tlv格式数据包,之后,主控mcu可以对tlv格式数据包进行加密,并且主控mcu可以将加密后的tlv格式数据包发送至安全模块,安全模块可以接收主控mcu发送的加密后的tlv格式数据包,安全模块接收主控mcu送的加密后的tlv格式数据包后,安全模块能够对tlv格式数据包进行解密,并且安全模块可以根据解密后的tlv格式数据包对设置在安全模块的applet进行更新,以完成applet的离线更新。
70.具体地,上位机可以包括但不限于车端pad以及诊断设备,上位机与主控mcu可以通过can(controller area networker控制器局域网-)总线或者canfd(can with flexible data rate-基于can 2.0物理层的串行通信协议)总线连接,安全模块还可以包括cos系统,安全模块需要满足cos系统和applet的功能正常,以保证在通信过程中能够完整地传输数据包,主控mcu和安全模块可以通过spi总线(serial peripheral interface-同步串行接口)连接,从而可以保证主控mcu与安全模块的正常通信。
71.其中,车载applet离线更新系统还可以包括服务器端,服务器端可以包括但不限于云服务器以及诊断服务器,优选地,服务器端与上位机可以通过tcp或者ip网络通道传输待更新数据包,进一步地,云服务器与车端pad可以通过tcp或者ip网络通道传输待更新数据包,诊断服务器与诊断设备也可以通过tcp或者ip网络通道传输待更新数据包,上位机可以从服务器端获取待更新数据包并将待更新数据包加载到本地内存中,上位机能够建立与主控mcu之间的安全通信通道,在安全通信通道建立之后,上位机能够根据安全通信通道与主控mcu进行双向认证,在上位机与主控mcu进行双向认证成功后,上位机能够对待更新数据包进行加密,以生成加密数据包并将加密数据包发送至主控mcu,主控mcu可以对上位机发送来的加密数据包进行解密并进行格式转换,以将解密的加密数据包的格式转换成tlv格式数据包,之后,主控mcu可以对tlv格式数据包进行加密,并且主控mcu可以将加密后的tlv格式数据包通过spi总线发送至安全模块,安全模块接收主控mcu发送的加密后的tlv格
式数据包后能够对tlv格式数据包进行解密,并且安全模块可以根据解密后的tlv格式数据包对设置在安全模块的applet进行更新,以完成applet的离线更新,进一步地,当mcu接收到上位机发送的加密数据包后,mcu可以储存加密数据包,并且可以进行安全模块的applet的软件版本检测。
72.由此,通过本技术的车载applet离线更新方法,可以快速、方便的对车载applet进行离线更新,并且不会导致车载applet更新失败以及车载applet功能缺失,从而可以避免车辆的功能缺失,同时,可以保证数据传输过程中的传输安全。
73.在本发明的一些实施例中,建立与上位机之间的安全通信通道,可以包括:接收上位机下发的执行安全操作命令,并根据预设的安全通道规范要求对执行安全操作命令进行响应以生成响应命令,以及将响应命令发送给上位机,以完成对安全通信通道的建立。需要解释的是,上位机可以向主控mcu发送执行安全操作命令,主控mcu可以接收上位机下发的执行安全操作命令,主控mcu接收上位机下发的执行安全操作命令后可以根据预设的安全通道规范要求对执行安全操作命令进行响应以生成响应命令,mcu生成响应命令后,mcu可以将响应命令发送给上位机以建立与上位机之间的安全通信通道,其中,预设的安全通道规范要求可以为安全通道scp11c(globalplatform卡技术安全通道协议“11”)规范要求。
74.在本发明的一些实施例中,基于安全通信通道与上位机进行双向认证,可以包括:接收上位机发送的静态密钥,并根据静态密钥计算共享协商密钥对,以及根据共享协商密钥对完成双向认证。需要解释的是,安全通信通道建立后,mcu可以接收上位机发送的静态密钥,并且mcu可以根据上位机发送的静态密钥计算共享协商密钥对(ecka),然后mcu可以根据共享协商密钥对与上位机完成双向认证,具体地,mcu可以根据共享协商密钥对派生出通道会话密钥(aes),mcu可以根据通道会话密钥产生响应命令,并将响应命令回执到上位机以与上位机完成双向认证,由此,可以保证数据传输过程中的传输安全。
75.在本发明的一些实施例中,在完成双向认证后,还可以通过与上位机进行交互以根据共享协商密钥对生成会话密钥,并根据会话密钥对加密数据包进行解密。需要说明的是,在mcu与上位机完成双向认证后,mcu可以通过与上位机进行交互以根据共享协商密钥对生成会话密钥,并且mcu可以根据会话密钥对上位机传递来的加密数据包进行解密,然后mcu可以对数据包进行格式转换以生成tlv格式数据包,并对tlv格式数据包进行加密,加密后通过spi总线发送至安全模块,由此,可以进一步保证数据传输过程中的传输安全。
76.需要说明的是,mcu与安全模块之间的交换信息可以由scp03(globalplatform卡技术安全通道协议“03”)安全消息传递保护,根据诊断规范下发至mcu的加密数据包,在scp03安全通信机制中,传输的数据被打包成apdu(application protocol data unit-应用协议数据单元)命令进行加密处理并进行传输,scp03传输的明文命令数据首先用会话密钥进行加密生成加密命令,然后再加密生成cmac值,最后按照固定格式填充组成加密命令 cmac值,在通道传输过程中,按照数据安全要求,用通道会话密钥对固定格式传输数据进行加密再传输,可以保证数据的保密性和完整性。
77.其中,当载入数据包后,可以进行安全模块的applet的软件版本检测,此外,根据诊断规范要求,主控mcu的烧写升级需要经过版本读取、车辆静默、安全访问、进入编程诊断会话模式、数据下载和传输等阶段,对于安全模块的升级,由于需要考虑主控mcu的数据包转发,因而只需采用部分阶段即可。
78.在本发明的一些实施例中,在接收加密数据包之前,将接收到的上位机请求报文转换成apdu加密指令并发送到安全模块,以及接收安全模块反馈的响应报文,并将响应报文进行格式转换后上传给上位机。
79.需要解释的是,关于上位机的每次请求,即上位机每次发送至主控mcu的上位机请求报文(加密数据包),主控mcu需要将上位机请求报文转换成对应的tlv格式的apdu加密指令并发送给安全模块,安全模块需要设置非烧写节点的静默状态,当进行到进入编程诊断会话模式后,首先通过安全访问服务,然后直接进入到数据下载、数据传输、请求传输退出。其中,对于数据下载阶段,可以设置256byte大小的数据缓存区存储下载内容,即先储存上位机通过can或者canfd总线传递来的加密数据包,然后主控mcu进行成功应答,之后的数据传输阶段,主控mcu对下载的加密数据包添加报头和报尾进行打包,组成tlv格式的apdu加密指令并发送给安全模块,安全模块接收主控mcu发送来的tlv格式的apdu加密指令后,安全模块将完成响应报文传输到主控mcu,主控mcu可以将完成响应报文转换成can报文传递给上位机,对于传输退出的执行指令,按照规范正常完成下发即可,如此循环往复完成加密数据包的下发。
80.作为本发明的一些实施例,可以同时在上位机侧和主控mcu侧设置序列计数器,以进行数据传输过程中的计数操作,当满足计数到确定次数后,进行内存校验,完成安全模块的applet的自更新,之后,安全模块进行applet的更新状态查询,查询通过后进行安全模块的状态复位,解除非烧写节点的静默状态,然后,安全模块打包诊断响应并完成响应传输到主控mcu,主控mcu将响应转换成can数据返回上位机。
81.图2为根据本发明实施例的另一个具体实施例的车载applet离线更新方法的流程图,上述实施例的车载applet离线更新系统可以实现该车载applet离线更新方法,如图2所示,该车载applet离线更新方法包括以下步骤:
82.s201,在建立与主控mcu之间的安全通信通道后,基于安全通信通道与主控mcu进行双向认证,需要解释的是,车载applet离线更新系统包括:上位机、主控mcu(microcontroller unit-微控制单元)和安全模块(se-secure element),applet设置在安全模块中。其中,上位机用于建立与主控mcu之间的安全通信通道,并在安全通信通道建立后,根据安全通信通道与主控mcu进行双向认证,需要说明的是,上位机能够建立与主控mcu之间的安全通信通道,在安全通信通道建立之后,上位机能够根据安全通信通道与主控mcu进行双向认证,。
83.s202,在双向认证成功后,对待更新数据包进行加密以生成加密数据包,并将加密数据包发送至主控mcu,以便主控mcu对加密数据包进行解密和格式转换以生成tlv格式数据包。需要说明的是,在上位机与主控mcu进行双向认证成功后,上位机能够对待更新数据包进行加密,以生成加密数据包,并且,上位机能够将加密数据包发送至主控mcu,主控mcu可以对上位机发送来的加密数据包进行解密,并且主控mcu可以解密的加密数据包进行格式转换,以将解密的加密数据包的格式转换成tlv格式数据包。
84.s203,通过主控mcu对tlv格式数据包进行加密后发送至安全模块,以便存储在安全模块中的applet根据解密后的tlv格式数据包进行更新。需要说明的是,主控mcu可以对tlv格式数据包进行加密,并且主控mcu可以将加密后的tlv格式数据包发送至安全模块,安全模块可以接收主控mcu发送的加密后的tlv格式数据包,安全模块接收主控mcu送的加密
后的tlv格式数据包后,安全模块能够对tlv格式数据包进行解密,并且安全模块可以根据解密后的tlv格式数据包对设置在安全模块的applet进行更新,以完成applet的离线更新。
85.具体地,上位机可以包括但不限于车端pad以及诊断设备,上位机与主控mcu可以通过can(controller area networker控制器局域网-)总线或者canfd(can with flexible data rate-基于can 2.0物理层的串行通信协议)总线连接,安全模块还可以包括cos系统,安全模块需要满足cos系统和applet的功能正常,以保证在通信过程中能够完整地传输数据包,主控mcu和安全模块可以通过spi总线(serial peripheral interface-同步串行接口)连接,从而可以保证主控mcu与安全模块的正常通信。
86.其中,车载applet离线更新系统还可以包括服务器端,服务器端可以包括但不限于云服务器以及诊断服务器,优选地,服务器端与上位机可以通过tcp或者ip网络通道传输待更新数据包,进一步地,云服务器与车端pad可以通过tcp或者ip网络通道传输待更新数据包,诊断服务器与诊断设备也可以通过tcp或者ip网络通道传输待更新数据包,上位机可以从服务器端获取待更新数据包并将待更新数据包加载到本地内存中,上位机能够建立与主控mcu之间的安全通信通道,在安全通信通道建立之后,上位机能够根据安全通信通道与主控mcu进行双向认证,在上位机与主控mcu进行双向认证成功后,上位机能够对待更新数据包进行加密,以生成加密数据包并将加密数据包发送至主控mcu,主控mcu可以对上位机发送来的加密数据包进行解密并进行格式转换,以将解密的加密数据包的格式转换成tlv格式数据包,之后,主控mcu可以对tlv格式数据包进行加密,并且主控mcu可以将加密后的tlv格式数据包通过spi总线发送至安全模块,安全模块接收主控mcu送的加密后的tlv格式数据包后能够对tlv格式数据包进行解密,并且安全模块可以根据解密后的tlv格式数据包对设置在安全模块的applet进行更新,以完成applet的离线更新,进一步地,当mcu接收到上位机发送的加密数据包后,mcu可以储存加密数据包,并且可以进行安全模块的applet的软件版本检测。
87.由此,通过该实施例的车载applet离线更新方法,可以快速、方便的对车载applet进行离线更新,并且不会导致车载applet更新失败以及车载applet功能缺失,从而可以避免车辆的功能缺失,同时,可以保证数据传输过程中的传输安全。
88.在本发明的一些实施例中,建立与主控mcu之间的安全通信通道,可以包括:向主控mcu发送执行安全操作命令,以便主控mcu根据预设的安全通道规范要求对执行安全操作命令进行响应以生成响应命令,在接收到响应命令后,完成对安全通信通道的建立。需要说明的还是,上位机可以向主控mcu发送执行安全操作命令,主控mcu接收上位机下发的执行安全操作命令后可以根据预设的安全通道规范要求对上位机下发的执行安全操作命令进行响应以生成响应命令,然后mcu可以将响应命令发送给上位机,上位机在接收到响应命令后,可以完成与mcu之间的安全通信通道的建立,其中,预设的安全通道规范要求可以为安全通道scp11c(globalplatform卡技术安全通道协议“11”)规范要求。
89.在本发明的一些实施例中,基于安全通信通道与主控mcu进行双向认证,可以包括:发送静态密钥至主控mcu,并通过与主控mcu进行交互以根据静态密钥计算共享协商密钥对,以及根据共享协商密钥对完成双向认证。需要解释的是,安全通信通道建立后,上位机可以发送静态密钥至主控mcu,并且,上位机通过与主控mcu进行交互可以根据静态密钥计算共享协商密钥对,然后上位机可以根据共享协商密钥对与mcu完成双向认证,具体地,
mcu可以根据共享协商密钥对派生出通道会话密钥,mcu可以根据通道会话密钥产生响应命令,并将响应命令回执到上位机以与上位机完成双向认证,由此,可以保证数据传输过程中的传输安全。
90.在本发明的一些实施例中,在完成双向认证后,还可以通过与主控mcu进行交互以根据共享协商密钥对生成会话密钥,并根据会话密钥对待更新数据包进行加密。需要说明的是,在上位机与mcu完成双向认证后,上位机可以通过与主控mcu进行交互以根据共享协商密钥对生成会话密钥,并且上位机可以根据会话密钥对待更新数据包进行加密以生成加密数据包,并且上位机可以将加密数据包发送至主控mcu,由此,可以进一步保证数据传输过程中的传输安全。
91.需要说明的是,mcu与安全模块之间的交换信息由scp03(globalplatform卡技术安全通道协议“03”)安全消息传递保护,根据诊断规范下发至mcu的加密数据包,在scp03安全通信机制中,传输的数据被打包成apdu命令进行加密处理并进行传输,scp03传输的明文命令数据首先用会话密钥进行加密生成加密命令,然后再加密生成cmac值,最后按照固定格式填充组成加密命令 cmac值,在通道传输过程中,按照数据安全要求,用通道会话密钥对固定格式传输数据进行加密再传输,可以保证数据的保密性和完整性。
92.其中,当载入数据包后,可以进行安全模块的applet的软件版本检测,此外,根据诊断规范要求,主控mcu的升级需要经过版本读取、车辆静默、安全访问、进入编程诊断会话模式、数据下载和传输等阶段,对于安全模块的升级,由于需要考虑主控mcu的数据包转发,因而只需采用部分阶段即可。
93.在本发明的一些实施例中,在向主控mcu发送加密数据包之前,还下发上位机请求报文至主控mcu,以便主控mcu将上位机请求报文转换成apdu加密指令并发送到安全模块,以及接收主控mcu上传的转换报文,其中,转换报文由主控mcu将接收到的安全模块反馈的响应报文进行格式转换得到。
94.需要解释的是,关于上位机的每次请求,即上位机每次发送至主控mcu的上位机请求报文(加密数据包),主控mcu需要将上位机请求报文转换成对应的tlv格式的apdu加密指令并发送给安全模块,安全模块需要设置非烧写节点的静默状态,当进行到进入编程诊断会话模式后,首先通过安全访问服务,然后直接进入到数据下载、数据传输、请求传输退出。其中,对于数据下载阶段,可以设置256byte大小的数据缓存区存储下载内容,即先储存上位机通过can或者canfd总线传递来的加密数据包,然后主控mcu进行成功应答,之后的数据传输阶段,主控mcu对下载的加密数据包添加报头和报尾进行打包,组成tlv格式的apdu加密指令并发送给安全模块,安全模块接收主控mcu发送来的tlv格式的apdu加密指令后,安全模块将完成响应报文传输到主控mcu,主控mcu可以将完成响应报文转换成can报文传递给上位机,对于传输退出的执行指令,按照规范正常完成下发即可,如此循环往复完成加密数据包的下发。
95.作为本发明的一些实施例,可以同时在上位机侧和主控mcu侧设置序列计数器,以进行数据传输过程中的计数操作,当满足计数到确定次数后,进行内存校验,完成安全模块的applet的自更新,之后,安全模块进行applet的更新状态查询,查询通过后进行安全模块的状态复位,解除非烧写节点的静默状态,然后,安全模块打包诊断响应并完成响应传输到主控mcu,主控mcu将响应转换成can数据返回上位机。
96.在本发明的一些实施例中,在建立与主控mcu之间的安全通信通道之前,还从服务器端获取待更新数据包,需要解释的是,上位机在建立与主控mcu之间的安全通信通道之前,上位机可以从服务器端获取待更新数据包并将待更新数据包加载到本地内存中,由此,上位机可以获取待更新数据包并对待更新数据包进行存储。
97.根据本发明实施例的计算机可读存储介质,其上存储有基于车载applet离线更新程序,该基于车载applet离线更新程序被处理器执行时,可以实现上述实施例的车载applet离线更新方法。
98.根据本发明实施例的计算机可读存储介质,可以快速、方便的对车载applet进行离线更新,并且不会导致车载applet更新失败以及车载applet功能缺失,从而可以避免车辆的功能缺失,同时,可以保证数据传输过程中的传输安全。
99.为了实现上述实施例,本发明还提出一种主控mcu20,主控mcu20包括存储器、处理器及存储在存储器上并可在处理器上运行的车载applet离线更新程序,处理器执行车载applet离线更新程序时,可以实现上述实施例的车载applet离线更新方法。
100.根据本发明实施例的主控mcu20,通过处理器执行存储器上存储的车载applet离线更新程序,可以快速、方便的对车载applet进行离线更新,并且不会导致车载applet更新失败以及车载applet功能缺失,从而可以避免车辆的功能缺失,同时,可以保证数据传输过程中的传输安全。
101.为了实现上述实施例,本发明还提出一种上位机10,上位机10包括存储器、处理器及存储在存储器上并可在处理器上运行的车载applet离线更新程序,处理器执行车载applet离线更新程序时,可以实现上述实施例的车载applet离线更新方法。
102.根据本发明实施例的上位机,通过处理器执行存储器上存储的车载applet离线更新程序,可以快速、方便的对车载applet进行离线更新,并且不会导致车载applet更新失败以及车载applet功能缺失,从而可以避免车辆的功能缺失,同时,可以保证数据传输过程中的传输安全。
103.如图4所示,该上位机10和主控mcu20均可以包括至少一个处理器1201,至少一个通信接口1202,至少一个存储器1203和至少一个通信总线1204。在本发明的实施例中,处理器1201、通信接口1202、存储器1203、通信总线1204的数量为至少一个,且处理器1201、通信接口1202、存储器1203通过通信总线1204完成相互间的通信。
104.其中,存储器1203可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。其中,存储器1203用于存储程序,处理器1201在接收到执行指令后,执行所述程序,实现上述实施例描述的车载applet离线更新方法的步骤。
105.处理器1201可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是
微处理器或者该处理器也可以是任何常规的处理器等。
106.需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
107.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
108.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
109.在本发明的描述中,“第一特征”、“第二特征”可以包括一个或者更多个该特征。
110.在本发明的描述中,“多个”的含义是两个或两个以上。
111.在本发明的描述中,第一特征在第二特征“之上”或“之下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。
112.在本发明的描述中,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。
113.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
114.尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本
发明的范围由权利要求及其等同物限定。
再多了解一些

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

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

相关文献