一种OTA安全升级系统及其升级方法转让专利

申请号 : CN202010671494.1

文献号 : CN111562935B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 裴海俊刘忱沈祥红

申请人 : 江苏海平面数据科技有限公司

摘要 :

本发明一种OTA安全升级系统及其升级方法属于通信技术领域,尤其涉及OTA安全升级的系统和方法。包括OTA平台升级方法和OTA终端升级方法;OTA平台升级方法包括安全升级管理、安全版本管理、版本下载管理和安全控制;OTA终端升级方法与OTA平台功能相配合,针对每个智能化零部件设备升级提供相应升级版本文件密钥获取和处理、升级前置条件判断和前序操作、安全密钥请求管理和升级过程状态检测规则功能,由OTA终端集成对多个智能化零部件升级操作管理。通过标准化的设备升级过程管理,为大型整机设备集成方实现多类型智能化零部件OTA安全升级,满足各种智能化零部件升级的私密性、安全性要求,有效提升升级安全性和稳定性。

权利要求 :

1.一种OTA安全升级系统的升级方法,其特征在于,包括OTA平台的升级方法和OTA终端升级方法;

所述OTA平台的升级方法包括安全升级管理、安全版本管理、版本下载管理和安全控制;OTA终端升级方法与OTA平台功能相配合,针对每个智能化零部件设备升级提供相应的升级版本文件密钥获取和处理、升级前置条件判断和前序操作、安全密钥请求管理和升级过程状态检测规则的功能,由OTA终端集成对多个智能化零部件的升级操作管理;

安全升级管理,即OTA平台实现统一管理多个独立的智能化零部件OTA系统,通过升级任务管理OTA终端及OTA终端的各种类型设备,跟踪升级任务的执行进度,统一管理升级任务执行状态、终端状态和设备状态;

安全版本管理,即使用带访问时间限制或访问次数限制的加密算法生成版本文件密钥,对不同类型的设备版本全量升级包、差分升级包以及标定数据分别进行加密,仅允许任一类型的设备版本在限定时间内或者限定次数解密和使用;

版本下载管理,即使用高并发集群管理不同设备供应商的版本服务器,根据当前全部升级任务中升级设备数量和设备版本文件大小计算总下载流量,按总下载流量平均分配集群中下载版本服务地址,并以该版本服务地址向终端返回;

安全控制,即在监控OTA终端上报的各种设备升级状态基础上,为不同智能化零部件设备提供统一格式的安全过程访问控制管理;OTA平台维护区分供应商、硬件型号、版本类型、版本号以及操作类型的安全访问服务,通过操作密钥控制、升级策略控制和操作时间窗口控制方式确保授权访问安全,并通知控制指令确保升级异常时的设备安全。

2.根据权利要求1所述的OTA安全升级系统的升级方法,其特征在于,所述安全升级管理,具体包括如下步骤:步骤1、OTA平台通过预设在OTA平台内管理的设备类型、设备型号、升级版本号、原版本号、版本类型的设备信息,向各个智能化零部件OTA系统同步版本信息,获取待升级OTA终端设备名单,若发现设备版本信息不一致则禁止升级;对OTA终端及终端上各零部件进行管理并针对符合升级条件的零部件下发升级任务;

步骤2、当OTA终端登录时,OTA平台根据升级任务中授权访问终端白名单,对于不符合终端认证条件的OTA终端禁止升级;通过OTA终端上报信息中的设备类型、设备型号以及设备版本信息对比OTA平台升级任务中对该OTA终端配置的各种设备信息是否一致,如果发现设备类型、型号或版本不一致则禁止升级;

步骤3、实时跟踪升级任务中每个OTA终端上各种类型设备升级的执行进度,如果发现状态异常及时处理;

所述步骤1中,在同一个升级任务中能对同一类型OTA终端上一个或多个智能化零部件设备进行版本升级。

3.根据权利要求1所述的OTA安全升级系统的升级方法,其特征在于,所述安全版本管理,具体包括针对单个版本文件,使用带访问时间限制或访问次数限制的加密算法生成版本文件密钥。

4.根据权利要求1所述的OTA安全升级系统的升级方法,其特征在于,所述版本下载管理,具体包括如下步骤:步骤1、根据当前全部升级任务中升级设备数量和设备版本文件大小计算总下载流量,按总下载流量平均分配集群中下载版本服务地址;

步骤2、对步骤1所述的升级任务中的设备类型、版本号、版本文件路径以及终端请求版本下载地址记录,并对完成版本下载的终端进行状态更新记录;

步骤3、对下载过程进行监控;对于同一终端频繁下载,同一终端频繁请求不同设备类型版本,或者同一类型终端多次请求未升级设备版本的异常情况进行监控,将上述三种情况计入限制访问的黑名单,禁止恶意访问占用网络带宽的行为。

5.根据权利要求1所述的OTA安全升级系统的升级方法,其特征在于,所述安全控制包括升级策略控制,即针对不同类型设备升级指定相应的升级策略,包括不同设备驱动、固件版本的升级次序,前序操作条件,待升级设备实时状态,有依赖关系的其它设备状态,异常回滚策略,正常服务/隔离服务模式,环境条件,甚至线下服务人员的区域位置和服务时间;

OTA平台为不同设备类型配置不同的安全升级策略,并对升级前的设备状态进行必要的检测,当且仅当设备满足相应的前置条件和前序操作条件时,才能准许设备进入升级状态。

6.根据权利要求1所述的OTA安全升级系统的升级方法,其特征在于,所述安全控制还包括安全时间窗口控制,即仅当平台安全管理授权时终端才能获取相关设备安全控制权限,并限制操作在指定时间窗口内完成,超期发生的设备操作视为无效。

7.根据权利要求1所述的OTA安全升级系统的升级方法,其特征在于,所述安全控制,还包括异常时对终端标准设备指令控制,用于加强升级过程中升级设备异常时安全策略控制。

8.根据权利要求1所述的OTA安全升级系统的升级方法,其特征在于:

升级版本文件密钥获取和处理,即所述OTA终端向OTA平台申请版本密钥,OTA平台的升级管理服务将密钥申请分发到对应零部件OTA系统的安全服务,动态获取升级版本文件密钥,对所获得的加密版本进行解密;解密后的升级包支持差分还原和远程标定还原,根据不同版本文件格式类型识别,搜索符号地址,在版本刷写前将增量版本包或配置数据合成到原始版本文件对应的位置;

升级前置条件判断和前序操作,即所述OTA终端支持针对不同设备升级前置条件判断;

升级刷写前按OTA平台指定对特定设备进行前置条件判断和前序操作,并需要将操作执行后状态反馈给OTA平台;

安全密钥请求管理,即OTA终端支持对不同类型设备的安全密钥请求管理,支持不同设备提供方的安全密钥请求方式,在设备升级前先通过平台升级管理服务向该类型设备所在的零部件OTA系统转发请求其操作密钥种子,从相应的零部件OTA系统获取安全操作密钥,解锁设备安全操作权限,再关闭设备正常服务功能,让设备进入升级模式;

升级过程状态检测,即所述终端支持设备升级过程状态检测。

9.根据权利要求8所述的OTA安全升级系统的升级方法,其特征在于,升级过程状态检测的检测方法,包括如下步骤:步骤1、固件升级前安全密钥解锁,解锁校验成功;

步骤2、固件以最小系统启动,版本从总线上下载,刷写到固件上;版本传输过程校验成功,将升级版本号写入;

步骤3、刷写完成,完整性校验成功,进入版本升级重启;

步骤4、设备启动成功,启动校验成功,终端读取固件复位状态寄存器,统计复位次数和原因;

步骤5、读取升级设备相关版本号数据,进行版本号校验;

步骤6、读取升级设备相关业务数据,进行功能完整性校验。

10.一种基于权利要求1所述的升级方法的OTA安全升级系统,其特征在于:所述OTA安全升级系统包括OTA平台和OTA终端,OTA平台和OTA终端相连;OTA终端通过设备总线连接各个待升级智能化设备;

OTA平台包括整机OTA升级服务器和设备OTA系统,整机OTA升级服务器提供统一的标准化OTA升级管理和和终端通信管理;设备OTA系统用于维护同一类型的智能化设备版本管理和安全管理;OTA平台内部通过标准化通信协议实现整机OTA升级服务器与内部各设备OTA系统间的通信,实现OTA平台内部版本信息同步以及安全控制信息同步;

OTA终端通过整机OTA升级服务管理和转发,向设备OTA请求智能化设备版本和安全控制权限。

说明书 :

一种OTA安全升级系统及其升级方法

技术领域

[0001] 本发明一种OTA安全升级系统及其升级方法属于通信技术领域,尤其涉及一种OTA安全升级的系统和方法。

背景技术

[0002] OTA全称为Over-The-Air technology(空中下载技术),通过移动通信的接口实现对软件进行远程管理。目前随着OTA技术的不断向前发展,已经在汽车、工程机械、移动通信等行业得到广泛应用。
[0003] 当前的OTA升级方式为:终端设备发起一次软件版本检测,服务器向该终端设备返回一个版本下载路径,以便终端设备根据该下载路径获得一个升级包,进而根据该升级包进行版本升级。在OTA升级的过程中,一般采用将版本下发到终端,由终端控制下进行设备版本升级,广泛存在如下问题:
[0004] 1、整机平台对于不同类型零部件设备的安全控制较弱,设备升级主要由终端完成,平台对升级过程和依赖缺少管控,对相关异常缺少必要的实时响应;
[0005] 2、平台服务方倾向于将设备版本更新的工作全部下放到终端,而设备提供方与平台服务方往往关注点不同,零部件设备提供方出于自身安全升级和技术保护的双重考虑,不希望对未经自己验证和授权的设备进行升级。
[0006] 当前汽车、工程机械、通信等行业整机设备涉及到核心智能化零部件种类较多,且不同类型的智能化零部件来自五湖四海不同设备供应商,对设备软件升级管理需求各有差异,亟需一种规范化的管理方法和装置,实现整机设备中众多类型的智能化零部件OTA安全升级。

发明内容

[0007] 本发明的目的是针对上述不足之处提供一种OTA安全升级系统及其升级方法,OTA安全升级系统由OTA平台和OTA终端组成,其中OTA平台包括一个整机升级管理和多个零部件的OTA系统;通过系统的OTA平台对多种类型智能化设备OTA进行统一规范化管理,以标准化方式对各种设备升级过程进行管控,为整机厂商和不同零部件提供方实现面向多种类型智能化设备的安全升级管理。
[0008] 本发明是采取以下技术方案实现的:
[0009] OTA安全升级系统中OTA平台的升级方法,主要包括安全升级管理、安全版本管理、版本下载管理和安全控制等。
[0010] 安全升级管理,即OTA平台实现统一管理多个独立的智能化零部件OTA系统,通过升级任务管理OTA终端及OTA终端的各种类型设备,跟踪升级任务的执行进度,统一管理升级任务执行状态、终端状态和设备状态。
[0011] 所述安全升级管理,具体包括如下步骤:
[0012] (1)OTA平台通过预设在OTA平台内管理的设备类型、设备型号、升级版本号、原版本号、版本类型等设备信息,向各个智能化零部件OTA系统同步版本信息,获取待升级OTA终端设备名单,若发现设备版本信息不一致则禁止升级;对OTA终端及终端上各零部件进行管理并针对符合升级条件的零部件下发升级任务;
[0013] (2)当OTA终端登录时,OTA平台根据升级任务中授权访问终端白名单,对于不符合终端认证条件的OTA终端禁止升级;通过OTA终端上报信息中的设备类型、设备型号、设备版本信息对比OTA平台升级任务中对该OTA终端配置的各种设备信息是否一致,如发现设备类型、型号、版本不一致则禁止升级;
[0014] (3)平台实时跟踪升级任务中每个OTA终端上各种类型零部件设备升级的执行进度,如发现状态异常及时处理。
[0015] 所述步骤(1)中,在同一个升级任务中可对同一类型OTA终端上一个或多个智能化零部件设备进行版本升级。
[0016] 安全版本管理,版本管理的安全策略由各个零部件供应商提供,使用带访问时间限制或访问次数限制的加密算法生成版本文件密钥,对不同类型的设备版本全量升级包、差分升级包,标定数据分别进行加密,仅允许该类型版本在限定时间内或者限定次数解密和使用。
[0017] 所述安全版本管理,具体包括如下步骤:
[0018] (1)针对单个版本文件,使用带访问时间限制或访问次数限制的加密算法生成版本文件密钥;
[0019] (2)对不同类型的设备版本全量升级包、差分升级包,标定数据分别进行加密,仅允许该类型版本在限定时间内或者限定次数解密和使用。
[0020] 版本下载管理,即使用高并发集群管理不同设备供应商的版本服务器,根据当前全部升级任务中升级设备数量和设备版本文件大小计算总下载流量,按总下载流量平均分配集群中下载版本服务地址,并以该版本下载地址向终端返回。
[0021] 所述版本下载管理,具体包括如下步骤:
[0022] (1)根据当前全部升级任务中升级设备数量和设备版本文件大小计算总下载流量,按总下载流量平均分配集群中下载版本服务地址;
[0023] (2)对步骤(1)所述的升级任务中的设备类型、版本号、版本文件路径以及终端请求版本下载地址记录,并对完成版本下载的终端进行状态更新记录;
[0024] (3)对下载过程进行监控;对于同一终端频繁下载,同一终端频繁请求不同设备类型版本,或者同一类型终端多次请求未升级设备版本等异常情况进行监控,将上述三种情况计入限制访问的黑名单,禁止恶意访问占用网络带宽的行为。
[0025] 安全控制,即在监控OTA终端上报的各种设备升级状态基础上,为不同智能化零部件设备提供统一格式的安全过程访问控制管理。OTA平台维护区分供应商、硬件型号、版本类型、版本号以及操作类型的安全访问服务,通过操作密钥控制、升级策略控制和操作时间窗口控制等方式确保授权访问安全,并通知控制指令确保升级异常时的设备安全。
[0026] 所述安全控制包括调用安全访问控制接口获取设备操作安全密钥,获取对相关设备操作的安全控制授权。仅当该类型设备特定的安全控制权限被解锁时,设备才能执行相关的操作,比如版本查询、更新版本、更新配置等。
[0027] 所述安全控制包括升级策略控制,即针对不同类型设备升级指定相应的升级策略,包括不同设备驱动、固件版本的升级次序,前序操作条件,待升级设备实时状态,有依赖关系的其它设备状态,异常回滚策略,正常服务/隔离服务模式,环境条件,甚至线下服务人员的区域位置和服务时间等。OTA平台为不同设备类型配置不同的安全升级策略,并对升级前的设备状态进行必要的检测,当且仅当设备满足相应的前置条件和前序操作条件时,才能准许设备进入升级状态。
[0028] 所述升级策略控制的方法,包括如下步骤:
[0029] (1)针对不同类型设备升级指定相应的升级策略,要求对升级次序、依赖关系和前序操作进行设定,升级前对规定设备状态进行安全性检查;
[0030] (2)将步骤(1)设定的升级控制策略通过配置方式下发到OTA终端执行。
[0031] 所述安全控制还包括安全时间窗口控制,即仅当平台安全管理授权时终端才能获取相关设备安全控制权限,并限制操作在指定时间窗口内完成,超期发生的设备操作视为无效。
[0032] 安全时间控制的方法,包括如下步骤:
[0033] (1)OTA平台安全管理授权,指定受限访问终端对象和访问时间窗口;
[0034] (2)指定OTA终端在规定时间窗口内获取相关设备安全控制权限。
[0035] 所述安全控制,还包括各种情况尤其是异常时对终端标准设备指令控制,用于加强升级过程中升级设备异常时安全策略控制,需由零部件设备提供接口,供第三方终端厂商集成。
[0036] 所述设备控制功能的功能接口包括:
[0037] 1、强制远程更新功能,支持平台为设备指定固件版本,以刷写模式,强制设备重启进入编程模式,强制更新固件版本;
[0038] 2、强制远程复位设备功能;
[0039] 3、指定当前设备固件版本号查询功能;
[0040] 4、设备升级前置条件查询功能;
[0041] 5、设备状态查询功能,包括正常工作状态(即升级设备能够响应工作请求为判断依据),设备启动升级状态(包括升级启动、版本下载、升级前置条件、安全密钥申请和升级结果上报),设备升级进度状态、设备异常升级状态等。
[0042] 本发明OTA安全升级系统中的OTA终端升级方法,与前述OTA平台功能相配合,针对每个智能化零部件设备升级提供相应的升级版本文件密钥获取和处理、升级前置条件判断和前序操作、安全密钥请求管理和升级过程状态检测规则的功能,由OTA终端集成对多个智能化零部件的升级操作管理。
[0043] 升级版本文件密钥获取和处理,即所述OTA终端向OTA平台申请版本密钥,OTA平台的升级管理服务将密钥申请分发到对应零部件OTA系统的安全服务,动态获取升级版本文件密钥,对所获得的加密版本进行解密;解密后的升级包支持差分还原和远程标定还原,根据不同版本文件格式类型识别,搜索符号地址,在版本刷写前将增量版本包或配置数据合成到原始版本文件对应的位置。
[0044] 升级版本文件密钥获取和处理模块,包括如下步骤:
[0045] (1)当OTA终端完成版本下载后,向OTA平台申请版本密钥,OTA平台的升级管理服务将密钥申请分发到对应零部件OTA系统的安全服务,动态获取升级版本文件密钥;
[0046] (2)OTA终端使用步骤(1)获取的密钥,将所获得的加密版本进行解密;
[0047] (3)解密后的升级包如果是差分包,则与原始固件版本进行差分还原;如果是远程标定,则进行远程标定,与原始固件版本合并。
[0048] 升级前置条件判断和前序操作,即所述OTA终端支持针对不同设备升级前置条件判断;升级刷写前按OTA平台指定对特定设备进行前置条件判断和前序操作,并需要将操作执行后状态反馈给OTA平台。
[0049] 所述升级前置条件判断和前序操作,包括如下步骤:
[0050] (1)OTA终端升级前对设备升级前置条件判断,如升级设备有备份区则判断基本刷写条件满足,能直接启动刷写;如升级设备无备份区,则须上报OTA平台前置条件满足;
[0051] (2)OTA平台收到终端上报升级前置条件并满足状态,作为升级的必要条件,准许设备升级;
[0052] (3)OTA终端用户通过前序操作确认,开始设备升级,并将设备状态上报平台;所述前序操作包括通过设备控制开关、车辆踏板、仪表、触屏等方式进行操作确认。
[0053] 安全密钥请求管理,即OTA终端支持对不同类型设备的安全密钥请求管理,支持不同设备提供方的安全密钥请求方式,在设备升级前先通过平台升级管理服务向该类型设备所在的零部件OTA系统转发请求其操作密钥种子,从相应的零部件OTA系统获取安全操作密钥,解锁设备安全操作权限,再关闭设备正常服务功能,让设备进入升级模式。
[0054] 升级过程状态检测,即所述终端支持设备升级过程状态检测。
[0055] 升级过程状态检测模块的检测方法,包括如下步骤:
[0056] (1)固件升级前安全密钥解锁,解锁校验成功;
[0057] (2)固件以最小系统启动,版本从总线上下载,刷写到固件上。版本传输过程校验成功,将升级版本号写入;
[0058] (3)刷写完成,完整性校验成功,进入版本升级重启;
[0059] (4)设备启动成功,启动校验成功,终端读取固件复位状态寄存器,统计复位次数和原因;
[0060] (5)读取升级设备相关版本号数据,进行版本号校验;
[0061] (6)读取升级设备相关业务数据,进行功能完整性校验。
[0062] 所述OTA终端在设备升级过程中支持如下检测方法及规则:
[0063] (1)OTA终端为设备升级每个状态设定时间窗口,窗口内通过重传机制保障安全可靠,检测到时间窗口超期,则认为升级失败,多次升级失败进入版本回滚流程;
[0064] (2)OTA终端对相关设备升级异常进行检测,对刷写不动(约定时间窗口无响应),超出升级刷写次数,升级后运行失败,不停重启等异常状态通知平台;
[0065] (3)OTA终端尝试多次固件刷写,或多次约定时间窗口超期,则认为本次升级失败,启动版本异常回滚,并通知OTA平台,OTA平台重新进行安全密钥解锁,刷写原版本,重复以上操作流程;
[0066] (4)OTA终端完成升级任务中第一个设备升级后,可对升级任务中其余待升级设备使用同样方式继续升级,直至本终端升级任务内所有设备升级成功;若其中有设备升级失败,则根据安全控制策略,支持升级任务内部分设备版本或全部设备版本回滚。
[0067] 发明优点:本发明所提供的OTA升级方案中,OTA平台对在接收到OTA终端的升级请求时,根据OTA终端信息进行设备认证、数据加密和下载访问控制保证版本数据安全。OTA平台在设备升级前通过安全密钥管理、升级策略控制、安全时间控制等方法保障升级过程安全。OTA终端在版本升级前根据不同设备类型对升级包解密验证,升级前置条件判断并向OTA平台确认满足该类型设备升级条件后,再通过向OTA平台申请该设备安全操作密钥解锁开始刷写升级版本,并对升级中的各种状态进行及时监控处理,保障设备升级的安全。本系统及其升级方法能够通过标准化的设备升级过程管理,为大型整机设备集成方(如汽车整车厂、大型机械设备集成商、通信设备集成商等)实现多种类型智能化零部件的OTA安全升级,满足不同种类智能化零部件升级的私密性、安全性要求,有效提升升级的安全性和稳定性。

附图说明

[0068] 以下将结合附图对本发明作进一步说明:
[0069] 图1是本发明提供的OTA系统中OTA平台的系统结构示意图;
[0070] 图2是本发明提供的OTA平台实施例的完整应用结构示意图;
[0071] 图3为本发明OTA安全升级方法实施例的基本流程图。

具体实施方式

[0072] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,无需这些具体详情就可实践所描述的各种实施例。
[0073] 本发明实施例1的OTA系统由平台和终端组成,其中OTA平台的应用结构如图1,OTA平台内部包括整机OTA升级服务101,平台内部升级服务与各零部件OTA系统间通信102,零部件设备OTA系统103。如图1所示,整机OTA升级服务101提供统一的标准化OTA升级管理和终端通信管理;零部件设备OTA系统103用于维护同一类型的智能化设备版本管理和安全管理。OTA平台内部通过标准化通信协议102实现整机OTA升级服务与内部各零部件OTA系统间通信,实现OTA平台内部版本信息同步以及安全控制信息同步。
[0074] 本发明实施例2主要面向整机设备集成服务的OTA平台,管理不同类型智能化零部件设备独立的OTA系统功能,其整体应用结构如图2。OTA安全升级系统包括OTA平台和OTA终端,OTA平台和OTA终端相连;OTA终端通过设备总线连接各个待升级智能化设备;OTA平台包括整机OTA服务器和若干个设备OTA系统,设备OTA系统分别与整机OTA服务相连;所述设备OTA系统为各个零部件设备提供方为OTA平台独立提供的零部件设备OTA系统;单个设备OTA系统用于管理同类型设备的版本和安全服务。
[0075] 如图2所示,OTA平台整机升级服务201提供统一的标准化OTA升级管理和安全策略管理。各个零部件设备提供方为平台提供独立的设备OTA系统。设备OTA系统管理同类型的设备版本202和设备安全服务203,遵循平台的标准化要求提供本设备相关的所有加密版本文件,安全升级条件和安全访问授权控制。需要升级时,OTA平台升级管理首先从相应的零部件版本管理服务器集群202上获取版本,通过远程通讯指令控制OTA终端204,并通过透传方式获取零部件版本文件、升级策略、设备操作等安全授权203,从而实现终端上对同类型智能化零部件设备205的远程版本升级。
[0076] 本发明实施例中OTA升级方法使用图3的安全升级处理流程,其功能应参照系统实施例的详细描述,本领域普通技术人员可以理解。
[0077] 图3为本发明实施例提供的安全升级流程图,本发明借此说明一种OTA安全升级的方法,所述方法包括:
[0078] 本发明实施例提供的OTA平台升级管理301,实现统一管理多个独立的智能化零部件OTA系统,通过设备类型、设备型号、升级版本号、原版本号、版本类型等信息管理升级任务,对同一类型终端上一个或多个设备进行版本升级。跟踪升级任务中各个终端上各种类型设备升级执行进度和执行进度,统一管理升级任务执行状态、终端状态和设备状态。
[0079] 在上述实施例的基础上实现的OTA平台版本管理302,使用带访问时间限制或访问次数限制的加密算法生成版本文件,对不同类型的设备版本全量升级包、差分升级包,标定数据分别进行加密,仅允许该类型版本在限定时间或者限定次数解密。
[0080] 本发明实施例中,根据终端登录信息和待升级任务信息进行设备升级判断303,首先支持授权访问终端白名单管理,对于不符合终端认证条件的禁止升级;其次当终端连接平台时,通过终端上报设备类型、设备型号、设备版本信息对比平台升级任务中对该终端配置的设备信息是否一致,如发现设备类型、型号、版本不一致则禁止升级。仅当终端经过设备升级合规性判断后方可进行升级操作,允许后续下发相关设备升级包和版本访问密钥。
[0081] 在上述实施例的基础上实现的OTA平台版本下载管理304,版本下载管理需对设备类型,版本号,版本文件路径以及终端请求版本下载地址记录,对完成版本下载的终端进行状态更新记录。
[0082] 在上述实施例的基础上使用高并发集群管理不同设备供应商的版本下载任务305,根据当前全部升级任务中升级设备数量和设备版本文件大小计算总下载流量,按总下载流量平均分配集群中下载版本服务地址,并以该版本下载地址向终端返回。版本下载中支持对终端下载行为进行审计。对于同一终端频繁下载,同一终端频繁请求不同设备类型版本,或者同一类型终端多次请求未升级设备版本等异常情况进行监控,计入限制访问的终端黑名单,禁止恶意访问占用网络带宽的行为。
[0083] 在上述实施例的基础上实现的OTA平台安全控制,为不同设备供应商提供统一格式的安全访问管理。平台维护不同设备类型的OTA系统,提供针对一种类型的零部件硬件型号,版本类型,版本号,操作类型的安全访问服务。
[0084] 所述安全控制包括升级策略控制306,针对不同类型设备升级指定相应的升级策略,包括不同设备驱动、固件的升级次序,前序操作条件,待升级设备实时状态,其它依赖设备状态,异常回滚策略,正常服务/隔离服务模式,环境条件,甚至线下服务人员的区域位置和服务时间等。平台会为不同设备类型配置不同的安全升级策略,并对升级前的设备状态进行必要的监测,当且仅当设备满足相应的前置条件和前序操作条件时,才能准许设备进入升级状态。
[0085] 所述安全控制包括终端升级设备版本前需通过对应该类型设备OTA系统的安全访问控制接口,申请访问安全密钥307,获取对相关设备操作的安全控制授权。仅当该类型设备特定的安全控制权限被解锁时308,设备才能执行相关的操作,比如版本查询、更新版本、更新配置、控制操作等。
[0086] 所述安全控制包括安全时间控制,仅当平台安全管理授权时终端才能获取相关设备安全控制权限,并限制操作在指定时间窗口内完成,超期发生的设备操作视为无效。
[0087] 在上述实施例的基础上实现的OTA平台升级状态检测309,支持升级启动、版本下载、升级前置条件、安全密钥申请、升级结果上报等升级全过程状态监控和升级状态同步。
[0088] 在上述实施例的基础上实现OTA平台对终端标准设备指令控制,加强升级过程安全策略控制。该方法需由设备提供方提供开发标准功能包,供OTA终端集成。这些标准功能包接口包括:
[0089] 1、强制远程更新功能,支持平台为设备指定固件版本,以刷写模式,强制设备重启进入编程模式,强制更新固件版本。
[0090] 2、强制远程复位设备功能。
[0091] 3、当前设备固件版本号查询功能。
[0092] 4、设备升级前置条件查询功能。
[0093] 5、设备状态查询功能,包括正常工作状态(即升级设备能够响应工作请求为判断依据),设备启动升级状态(包括升级启动、版本下载、升级前置条件、安全密钥申请和升级结果上报),设备升级进度状态、设备异常升级状态等。
[0094] 终端完成设备版本升级后,将本次升级结果通知平台,升级结束310。
[0095] 本实施例实现的OTA终端功能如下:
[0096] 在上述实施例的基础上实现的OTA终端下载版本后通过平台安全控制策略动态获取升级版本文件密钥,对所获得的加密版本进行解密3001。解密后的升级包支持差分还原和远程标定还原,根据不同版本文件格式类型识别,搜索符号地址信息,在版本刷写前将增量版本包或配置数据合成到原始版本文件对应的位置。
[0097] 在上述实施例的基础上实现的OTA终端支持对零部件设备升级前置条件判断3002,根据零部件OTA系统下发的升级策略,如升级设备使用备份区则判断基本刷写条件满足直接启动刷写,如无则须上报平台前置条件满足。升级刷写前按平台指定对设备进行前置条件判断,并通知用户通过前序操作(如设备控制开关、车辆踏板、仪表、触屏等方式)确认,开始设备升级,并将操作执行后状态反馈给平台。
[0098] 在上述实施例的基础上实现的OTA终端支持对不同设备的安全操作密钥请求管理3003,支持不同设备提供方的安全操作密钥申请获取,在设备升级前先通过平台升级管理服务向该类型设备所在的零部件OTA系统转发请求其操作密钥种子,从相应的零部件OTA系统获取安全操作密钥,解锁安全操作权限,再关闭设备正常服务功能,让设备进入升级模式
3004。
[0099] 在上述实施例的基础上实现的OTA终端支持设备升级过程状态检测3005。其具体过程包括:
[0100] 1、固件升级前安全密钥解锁,解锁校验成功;
[0101] 2、固件以最小系统启动,版本从总线上下载,刷写到固件上。版本传输过程校验成功,将升级版本号写入;
[0102] 3、刷写完成,完整性校验成功,进入版本升级重启;
[0103] 4、设备启动成功,启动校验成功,终端读取固件复位状态寄存器,统计复位次数和原因;
[0104] 5、终端读取升级后设备相关版本号数据,版本号校验;
[0105] 6、终端读取升级后设备相关业务数据,功能完整性校验。
[0106] 所述终端为设备升级每个状态设定时间窗口,窗口内通过重传机制保障安全可靠,检测到时间窗口超期,则认为升级失败,多次升级失败进入版本回滚流程。
[0107] 所述终端对相关异常进行检测,对刷写不动(约定时间窗口无响应),超过升级刷写次数,升级后运行失败,不停重启等异常状态通知平台。
[0108] 所述终端尝试多次设备升级刷写,或多次约定时间窗口超期,则认为本次升级失败,启动版本异常回滚,通知平台。并重新进行安全密钥解锁,刷写原版本,重复上面流程,直至刷写版本成功。
[0109] 在上述实施例的基础上实现的OTA终端完成第一个设备升级后,可对升级任务中其余升级设备使用同样方式继续升级,直至本终端升级任务内所有设备升级成功。若其中有设备升级失败,则根据安全控制策略中指定的异常回滚策略,支持升级任务内有相互依赖关系的部分设备版本或全部设备版本回滚,确保设备功能正常恢复。