CN116827693B - 基于can总线对两轮车进行离线OTA的方法及系统 - Google Patents
基于can总线对两轮车进行离线OTA的方法及系统 Download PDFInfo
- Publication number
- CN116827693B CN116827693B CN202311096873.2A CN202311096873A CN116827693B CN 116827693 B CN116827693 B CN 116827693B CN 202311096873 A CN202311096873 A CN 202311096873A CN 116827693 B CN116827693 B CN 116827693B
- Authority
- CN
- China
- Prior art keywords
- ota
- electric
- wheeled vehicle
- port
- upgrade
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000008569 process Effects 0.000 claims abstract description 58
- 238000012795 verification Methods 0.000 claims abstract description 55
- 238000004891 communication Methods 0.000 claims abstract description 19
- 238000012360 testing method Methods 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 12
- 230000006855 networking Effects 0.000 abstract description 6
- 230000000007 visual effect Effects 0.000 abstract description 2
- 230000002159 abnormal effect Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000013524 data verification Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 238000013496 data integrity verification Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了基于can总线对两轮车进行离线OTA的方法及系统,运用于两轮车升级技术领域;本发明通过在可视距离内应用can总线通信协议为电动两轮车进行离线OTA,能够有效减少电动两轮车进行联网升级的成本,同时应用链式验证校验OTA过程中可能存在的数据篡改风险,避免电动两轮车接收的OTA升级数据篡改,及时阻拦数据传输可能受到的攻击。
Description
技术领域
本发明涉及两轮车升级技术领域,特别涉及为基于can总线对两轮车进行离线OTA的方法及系统。
背景技术
目前在日常生活中,用户的电动两轮车需要通过联网接收由售后端发送的升级包,解析升级包后即可对电动两轮车进行在线升级。
而在电动两轮车中加入联网模块会使制造两轮电动车的成本提高,并且远程接收升级包也可能需要支出一定的费用,如果用户在距离售后端不远的情况下,联网进行升级的成本是能够避免的;但是处于离线升级的过程中,CAN总线是一种广泛使用的通信协议,其本身并没有内置安全性,即在OTA过程中,数据的传输可能容易受到攻击,例如中间人攻击(Man-in-the-Middle)或数据篡改,因此,确保OTA过程的安全性和完整性是也是至关重要的。
发明内容
本发明旨在解决为电动两轮车离线升级时如何保证OTA的安全性与完整性的问题,提供基于can总线对两轮车进行离线OTA的方法及系统。
本发明为解决技术问题采用如下技术手段:
本发明提供基于can总线对两轮车进行离线OTA的方法,包括以下步骤:
识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口,其中,所述可执行OTA端口具体包括能够用于为电动两轮车进行OTA的升级端口,所述待应用OTA端口具体包括能够用于为电动两轮车进行OTA升级且当前处于非工作状态的端口;
判断所述待应用OTA端口能否基于预收录的更新内容对所述电动两轮车进行离线OTA;
若否,则基于所述电动两轮车的配置内容对所述待应用OTA端口进行版本检查,从所述版本检查中识别得到所述电动两轮车需要替换的所述配置内容,重新为所述电动两轮车进行离线OTA,其中,所述配置内容具体包括OTA应用程序、车辆固件版本、OTA配置文件和车辆串口;
判断离线OTA的过程中所述电动两轮车的证书有效性是否被篡改,其中,所述证书有效性具体是电动两轮车在OTA升级包中包含的签名证书,用于验证签名的有效性,通过检查签名证书的有效性来确认升级数据是否被篡改;
若是,则应用链式验证所述离线OTA输入至所述电动两轮车的升级包中对应的哈希值,同时在所述离线OTA途中计算所述电动两轮车的升级数据校验值和升级数据散列值,将所述升级数据校验值和所述升级数据散列值与应用哈希函数生成的预期值进行比对,并采用预设公钥对所述电动两轮车预设的数字签名进行有效性验证。
进一步地,所述并采用预设公钥对所述电动两轮车预设的数字签名进行有效性验证的步骤中,包括:
接收所述OTA端口发送至所述电动两轮车的升级包,从所述升级包中提取签名摘要,将提取到的签名摘要转换为二进制数据形式,使用所述预设公钥对二进制数据形式的签名摘要进行解密,生成原始摘要;
判断所述原始摘要是否与预计算得到的哈希摘要完全相等;
若是,则所述原始摘要对应的数字签名有效;
若否,则所述原始摘要对应的数字签名存在篡改可能性。
进一步地,所述则基于所述电动两轮车的配置内容对所述待应用OTA端口进行版本检查,从所述版本检查中识别得到所述电动两轮车需要替换的所述配置内容的步骤中,包括:
从所述待应用OTA端口中下载待替换配置内容并应用至所述电动两轮车中;
判断所述待替换配置内容是否符合所述电动两轮车预设的有效性;
若否,则触发所述电动两轮车预设的回滚机制,将所述电动两轮车的所有配置内容恢复至最初的配置。
进一步地,所述判断离线OTA的过程中所述电动两轮车的证书有效性是否被篡改的步骤中,包括:
获取所述待应用OTA端口输入的升级数据;
判断所述升级数据是否与所述电动两轮车预设的数字证书绑定;
若否,则比对所述电动两轮车中车辆固件的版本号与所述待应用OTA端口输入升级包中的版本号。
进一步地,所述判断所述待应用OTA端口能否基于预收录的更新内容对所述电动两轮车进行离线OTA的步骤中,包括:
获取所述更新内容所需验证的测试场景;
判断所述电动两轮车能否在所述测试场景中完成验证;
若是,则对所述电动两轮车输入所述更新内容;
若否,则生成所述电动两轮车基于所述更新内容得到的验证偏差。
进一步地,所述识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口的步骤中,包括:
获取所述电动两轮车的网络连接状态;
判断所述网络连接状态是否匹配预设升级状态,其中,所述预设升级状态具体为离线状态;
若是,则应用所述电动两轮车预设的can总线,查找范围内存在的通信协议,基于预设搜寻列表中生成的可用通信协议,从所述可用通信协议中筛选与所述电动两轮车相关的识别标志,将所述识别标志标记为可执行OTA端口。
进一步地,所述识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口的步骤前,还包括:
检测所述电动两轮车的OTA升级状态;
判断所述OTA升级状态是否与预接收的升级内容匹配;
若否,则生成具备所述升级内容的可用地域。
本发明还提供基于can总线对两轮车进行离线OTA的系统,包括:
识别模块,用于识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口,其中,所述可执行OTA端口具体包括能够用于为电动两轮车进行OTA的升级端口,所述待应用OTA端口具体包括能够用于为电动两轮车进行OTA升级且当前处于非工作状态的端口;
判断模块,用于判断所述待应用OTA端口能否基于预收录的更新内容对所述电动两轮车进行离线OTA;
执行模块,用于若否,则基于所述电动两轮车的配置内容对所述待应用OTA端口进行版本检查,从所述版本检查中识别得到所述电动两轮车需要替换的所述配置内容,重新为所述电动两轮车进行离线OTA,其中,所述配置内容具体包括OTA应用程序、车辆固件版本、OTA配置文件和车辆串口;
第二判断模块,用于判断离线OTA的过程中所述电动两轮车的证书有效性是否被篡改,其中,所述证书有效性具体是电动两轮车在OTA升级包中包含的签名证书,用于验证签名的有效性,通过检查签名证书的有效性来确认升级数据是否被篡改;
第二执行模块,用于若是,则应用链式验证所述离线OTA输入至所述电动两轮车的升级包中对应的哈希值,同时在所述离线OTA途中计算所述电动两轮车的升级数据校验值和升级数据散列值,将所述升级数据校验值和所述升级数据散列值与应用哈希函数生成的预期值进行比对,并采用预设公钥对所述电动两轮车预设的数字签名进行有效性验证。
进一步地,所述第二执行模块还包括:
提取单元,用于接收所述OTA端口发送至所述电动两轮车的升级包,从所述升级包中提取签名摘要,将提取到的签名摘要转换为二进制数据形式,使用所述预设公钥对二进制数据形式的签名摘要进行解密,生成原始摘要;
判断单元,用于判断所述原始摘要是否与预计算得到的哈希摘要完全相等;
执行单元,用于若是,则所述原始摘要对应的数字签名有效;
第二执行单元,用于若否,则所述原始摘要对应的数字签名存在篡改可能性。
进一步地,所述执行模块还包括:
应用单元,用于从所述待应用OTA端口中下载待替换配置内容并应用至所述电动两轮车中;
第二判断单元,用于判断所述待替换配置内容是否符合所述电动两轮车预设的有效性;
第三执行单元,用于若否,则触发所述电动两轮车预设的回滚机制,将所述电动两轮车的所有配置内容恢复至最初的配置。
本发明提供了基于can总线对两轮车进行离线OTA的方法及系统,具有以下有益效果:
本发明通过在可视距离内应用can总线通信协议为电动两轮车进行离线OTA,能够有效减少电动两轮车进行联网升级的成本,同时应用链式验证校验OTA过程中可能存在的数据篡改风险,避免电动两轮车接收的OTA升级数据篡改,及时阻拦数据传输可能受到的攻击。
附图说明
图1为本发明基于can总线对两轮车进行离线OTA的方法一个实施例的流程示意图;
图2为本发明基于can总线对两轮车进行离线OTA的系统一个实施例的结构框图。
实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明,本发明为目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考附图1,为本发明一实施例中的基于can总线对两轮车进行离线OTA的方法,包括:
S1:识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口,其中,所述可执行OTA端口具体包括能够用于为电动两轮车进行OTA的升级端口,所述待应用OTA端口具体包括能够用于为电动两轮车进行OTA升级且当前处于非工作状态的端口;
S2:判断所述待应用OTA端口能否基于预收录的更新内容对所述电动两轮车进行离线OTA;
S3:若否,则基于所述电动两轮车的配置内容对所述待应用OTA端口进行版本检查,从所述版本检查中识别得到所述电动两轮车需要替换的所述配置内容,重新为所述电动两轮车进行离线OTA,其中,所述配置内容具体包括OTA应用程序、车辆固件版本、OTA配置文件和车辆串口;
S4:判断离线OTA的过程中所述电动两轮车的证书有效性是否被篡改,其中,所述证书有效性具体是电动两轮车在OTA升级包中包含的签名证书,用于验证签名的有效性,通过检查签名证书的有效性来确认升级数据是否被篡改;
S5:若是,则应用链式验证所述离线OTA输入至所述电动两轮车的升级包中对应的哈希值,同时在所述离线OTA途中计算所述电动两轮车的升级数据校验值和升级数据散列值,将所述升级数据校验值和所述升级数据散列值与应用哈希函数生成的预期值进行比对,并采用预设公钥对所述电动两轮车预设的数字签名进行有效性验证。
在本实施例中,系统通过识别预先设定好检测范围内的可执行OTA端口,以得到在电动两轮车附近可用于OTA的升级端口,进而应用OTA升级端口设有的can总线进行离线升级,基于可执行OTA端口的可离线升级距离内生成目前可供电动两轮车使用的待应用OTA端口;而后系统判断这些待应用OTA端口能否基于预先收录好的更新内容对电动两轮车进行离线OTA,以执行对应的步骤;例如,当系统判定到待应用OTA端口能够对电动两轮车进行离线OTA时,则直接跳到步骤S4检测离线OTA过程中电动两轮车的证书有效性是否被篡改,并执行后续步骤;例如,当系统判定到待应用OTA端口无法对电动两轮车进行离线OTA时,此时系统会基于电动两轮车的配置内容对待应用OTA端口进行版本检查,版本检查的内容但不限于是版本号对比、版本号合法性等,从待应用OTA端口中识别到当前电动两轮车需要替换的配置内容,完成这些配置内容后才可对电动两轮车进行离线OTA,配置内容包括括OTA应用程序、车辆固件版本、OTA配置文件和车辆串口,完成配置内容的替换后重新为电动两轮车进行离线OTA;而后系统判断离线OTA的过程中电动两轮车的证书有效性是否有被篡改的迹象,通过检查签名证书的有效性以确认升级数据是否被篡改,并执行相应的步骤;例如,当系统判定到离线OTA过程中证书有效性未被篡改,则系统会持续监控离线OTA的升级过程,直至电动两轮车不出现异常状态完成整个离线OTA后,若出现异常状态则启用回滚机制进行重置,以恢复至电动两轮车在进行离线OTA前的状态;例如,当系统判定到离线OTA过程中证书有效性被篡改时,系统会应用链式验证离线OTA过程中输入至电动两轮车的升级包中,在升级包内对应的哈希值,同时在离线OTA途中计算电动两轮车的升级数据校验值和升级数据散列值,将这些升级数据校验值和升级数据散列值与应用哈希函数生成的预期值进行比对,最后采用预先设有的公钥对电动两轮车预先设定的数字签名进行有效性验证,以多次确认离线OTA过程中被数据篡改的可能性,避免电动两轮车异常进行离线OTA。
需要说明的是,OTA升级端口具体是基于外部终端应用程序通过串口接入车身的方式,为车辆提供OTA升级的功能,而提供OTA升级的过程中是不需要进行联网的。
应用链式验证离线OTA输入至电动两轮车的升级包中对应的哈希值,具体过程如下示例:
假设有一个OTA升级包,其中包含以下三个部分:
升级包数据部分,即包含要升级到电动两轮车的新软件或固件数据;
上一次升级包的哈希值,即上一次OTA升级包的哈希值,用于构建链式验证;
当前升级包的哈希值,即当前OTA升级包的哈希值,表示升级包数据的完整性;
而链式验证的具体过程如下:
使用哈希函数SHA-256对升级包数据部分进行哈希计算,生成一个固定长度的哈希值; 将上一次升级包的哈希值与当前升级包的数据部分链接在一起,构成一个新的数据串,然后再次使用哈希函数对这个新的数据串进行哈希计算,生成一个新的哈希值, 将上一次升级包的哈希值与当前哈希值进行比对;如果两个哈希值匹配,说明当前升级包的数据部分未被篡改,数据完整性得到验证,而如果哈希值不匹配,则表示数据可能被篡改或损坏,需要进行相应的错误处理,例如将电动两轮车回滚到之前的旧版本。
例如,目前有两个OTA升级包:
上一次升级包的哈希值,ABC123
当前升级包的数据部分,A1B2C3D4E5F6G7H8I9J0
当前升级包的哈希值,DEF456
将上一次升级包的哈希值ABC123与当前升级包的数据部分A1B2C3D4E5F6G7H8I9J0链接在一起,ABC123A1B2C3D4E5F6G7H8I9J0后再次计算哈希值:
新的哈希值,XYZ789
将新的哈希值XYZ789与当前升级包的哈希值DEF456进行比对
由于两者不匹配,表示数据可能被篡改或损坏,需要进行相应的错误处理;
通过链式验证,可以确保每个升级包的数据完整性,防止在OTA升级过程中数据的篡改或损坏,同时链式验证也确保了升级包的先后顺序,以及前一个升级包对后续升级包的影响。
具体地,计算升级数据校验值和升级数据散列值并与哈希函数生成的预期值进行比对的具体过程如下:
计算升级数据校验值是一种校验和,用于检测数据在传输过程中是否发生错误,计算升级数据校验值的过程通常是对每个字节的值进行求和、求异或求等的操作,示例如下:
将升级数据拆分为字节(例如每个字节8位);
对所有字节进行求和、求异或求等的操作,得到校验值;
根据校验算法,对校验值进行截断或转换为指定位数的值。
计算升级数据散列值是通过应用哈希函数SHA-256对升级数据进行哈希计算得到的摘要,用于验证数据的完整性和防止数据篡改,示例如下:
选择哈希函数SHA-256,
将升级数据作为输入,使用哈希函数对升级数据进行哈希计算,生成散列值摘要,
散列值通常是一个固定长度的二进制字符串,表示升级数据的唯一指纹。
比对校验值和散列值是将计算得到的升级数据校验值和升级数据散列值与预期值进行比对,示例如下:
对于校验值,预期值是由升级源或制造商预先计算得到的校验值;
对于散列值,预期值是由升级源或制造商预先计算得到的升级数据的正确散列值;
比对过程中,需要确保计算得到的校验值和散列值与预期值完全匹配。
例如有以下升级数据:
升级数据:A1B2C3D4E5F6G7H8I9J0
计算升级数据校验值:
将每个字节的值进行求和:A1 + B2 + C3 + D4 + E5 + F6 + G7 + H8 + I9 +J0 = 55
校验值:55
计算升级数据散列值:
使用SHA-256哈希函数对升级数据进行哈希计算,得到散列值:
63EFAFB6F607DCDE68209A1CDB18F9179C32EC1C2B4F197EB9C5EE12D26F0E44
比对校验值和散列值
假设预期的校验值为,55
假设预期的散列值为,
63EFAFB6F607DCDE68209A1CDB18F9179C32EC1C2B4F197EB9C5EE12D26F0E44
当校验值匹配,且散列值匹配时,即表示升级数据的完整性验证成功;
而通过计算升级数据校验值和散列值,并与预期值进行比对,可以确保升级数据在传输和存储过程中的完整性和正确性,防止数据篡改和传输错误。
在本实施例中,并采用预设公钥对所述电动两轮车预设的数字签名进行有效性验证的步骤S5中,包括:
S51:接收所述OTA端口发送至所述电动两轮车的升级包,从所述升级包中提取签名摘要,将提取到的签名摘要转换为二进制数据形式,使用所述预设公钥对二进制数据形式的签名摘要进行解密,生成原始摘要;
S52:判断所述原始摘要是否与预计算得到的哈希摘要完全相等;
S53:若是,则所述原始摘要对应的数字签名有效;
S54:若否,则所述原始摘要对应的数字签名存在篡改可能性。
在本实施例中,系统通过接收OTA端口发送到电动两轮车的升级包并进行解压,从升级包中提取到签名摘要,将提取得到的签名摘要转换为二进制的数据格式,使用预先设有的公钥信息对二进制数据形式的签名摘要进行解密,生成原始摘要,而后系统判断该原始摘要是否与预先计算得到的哈希摘要完全相等,以执行对应的步骤;例如,当系统判定到该原始摘要与预先计算得到的哈希摘要完全相等时,则系统会认为电动两轮车的数字签名具备有效性;例如,当系统判定到该原始摘要并未与预先计算得到的哈希摘要完全相等时,此时系统会认为电动两轮车的数字签名存在被篡改的可能性,需要对电动两轮车进行查验。
需要说明的是,判断中原始摘要是否与预计算得到的哈希摘要完全相等的过程具体如下:
首先需要将预先计算得到升级数据的哈希摘要,这可以通过应用哈希函数SHA-256对升级数据进行哈希计算得到,生成一个固定长度的二进制摘要;而后当OTA升级包传输到电动两轮车时,从升级包中提取签名摘要,将提取到的签名摘要转换为二进制数据形式,使用预设的公钥对二进制形式的签名摘要进行解密,得到原始摘要,然后将计算得到的原始摘要与预计算得到的哈希摘要进行比对,如果两者完全相等,表示原始摘要与预计算的哈希摘要一致,证明签名验证成功,反之则签名验证失败;
下面是示例计算过程:
假设有以下升级数据:
升级数据:A1B2C3D4E5F6G7H8I9J0
预先计算得到的哈希摘要使用SHA-256哈希函数为:
预计算哈希摘要:
63EFAFB6F607DCDE68209A1CDB18F9179C32EC1C2B4F197EB9C5EE12D26F0E44
从OTA升级包中提取到的签名摘要为:
签名摘要:F40BC3E17C31A5B39D20078E4DDDE1F22CB2DDC83999A5C789C0B9C61E3BB377
使用预设公钥对签名摘要进行解密,得到原始摘要:
原始摘要:9CF4050A9181D9C1B9E2E840C78436B4D1D3D059ED3C581E4A21C60D45428D8A
比对原始摘要与预计算得到的哈希摘要后,发现原始摘要与预计算哈希摘要不相等,即上述示例中的签名验证是失败的;
在上述示例中,原始摘要与预计算的哈希摘要不相等,表示签名验证失败,升级数据可能被篡改或签名无效,而在实际应用中,如果原始摘要与预计算的哈希摘要相等,则可以确认签名验证成功,证明升级数据的完整性和安全性得到验证。
在本实施例中,则基于所述电动两轮车的配置内容对所述待应用OTA端口进行版本检查,从所述版本检查中识别得到所述电动两轮车需要替换的所述配置内容的步骤S3中,包括:
S31:从所述待应用OTA端口中下载待替换配置内容并应用至所述电动两轮车中;
S32:判断所述待替换配置内容是否符合所述电动两轮车预设的有效性;
S33:若否,则触发所述电动两轮车预设的回滚机制,将所述电动两轮车的所有配置内容恢复至最初的配置。
在本实施例中,系统从待应用OTA端口中下载出待替换配置内容并应用于电动两轮车中,而后判断这些待替换配置内容能否符合电动两轮车预先设定的有效性,以执行对应的步骤;例如,当系统判定到待替换配置内容能够符合电动两轮车预先设定的有效性时,则系统会认为电动两轮车能够与待替换配置内容进行适配,适配完毕后即可对电动两轮车进行离线OTA;例如,当系统判定到待替换配置内容无法符合电动两轮车预先设定的有效性时,此时系统会触发电动两轮车预先设有的回滚机制,将电动两轮车的所有已更新配置内容恢复至OTA更新前的初始配置,因为在OTA升级过程中,可能会发生意外错误或异常情况,导致车辆系统不稳定或出现问题,此时将配置内容恢复至OTA前的状态可以回退到已经经过测试和验证的稳定状态,确保车辆的正常运行;同时在OTA升级过程中,可能由于数据传输错误、数据篡改或其他问题导致配置内容损坏,将配置恢复至OTA前的状态可以消除潜在的配置问题,避免影响车辆的性能和功能;而如果OTA升级过程中配置内容有所更改,而车辆本身的配置也发生了变化,可能会导致数据冲突和不一致性,因此恢复至OTA前的配置可以确保升级数据与车辆的配置相匹配,避免数据冲突和不兼容性。
需要说明的是,在进行OTA升级之前,升级端会检查目标车辆的当前固件版本号;通常,车辆会在升级请求中回复当前固件版本号给升级端,然后升级端将此版本号与最新固件版本进行对比;
高低版本对比,升级端将目标车辆的当前固件版本与服务器上的最新固件版本进行对比;如果目标车辆的版本较低,而服务器上有更高的版本,则可以开始升级流程;如果车辆已经是最新版本,升级端可能会显示相应的提示,告知用户车辆已经是最新版本,无需升级;
相同版本号的略过升级,有时,目标车辆可能已经处于升级过程中,或者车辆的固件版本与服务器上的最新版本完全相同;在这种情况下,升级端可能会检测到版本号相同,并且略过升级,避免重复升级操作;
高版本是否可以刷写到低版本,通常情况下,无法将高版本固件直接刷写到低版本车辆上,因为不同版本之间可能存在硬件和功能兼容性的差异;在升级过程中,应该根据车辆的支持情况,选择合适的固件版本进行升级;如果需要跨越多个版本进行升级,需要逐步升级每个版本,以确保稳定和兼容性;
升级包的版本号合法性,在OTA升级过程中,升级端需要验证接收到的固件包的版本号的合法性;这样可以防止恶意固件的注入或升级错误的版本;而且合法的固件包版本号应该符合预设的命名规则和版本号规范。
在本实施例中,判断离线OTA的过程中所述电动两轮车的证书有效性是否被篡改的步骤S4中,包括:
S41:获取所述待应用OTA端口输入的升级数据;
S42:判断所述升级数据是否与所述电动两轮车预设的数字证书绑定;
S43:若否,则比对所述电动两轮车中车辆固件的版本号与所述待应用OTA端口输入升级包中的版本号。
在本实施例中,系统通过获取待应用OTA端口输入的升级数据,而后判断这些升级数据是否与电动两轮车预先设有的数字证书已绑定,以执行对应的步骤;例如,当系统判定到这些升级数据与电动两轮车预先设有的数字证书已绑定时,则系统可以确保升级数据在传输过程中没有被篡改或损坏,通过数字证书的验证,可以验证升级数据的完整性,防止非法修改或攻击者的篡改,同时数字证书的绑定可以确保升级数据来自授权的源头,而不是恶意攻击者,可以有效保障车辆系统的数据安全,防止恶意软件的注入和潜在的威胁;而数字证书的绑定还能够防止非法升级,确保只有经过授权的升级数据才能被应用到电动两轮车上,有助于避免非法修改车辆系统,保障车辆的安全性和合规性;例如,当系统判定到升级数据并未与预先设有的数字证书绑定时,此时系统会通过比对电动两轮车中车辆固件的版本号与待应用OTA端口输入升级包中的版本号,比对车辆固件的版本号与升级包中的版本号可以确保升级包适用于当前车辆的固件版本,如果版本号不匹配,意味着升级包不适用于当前车辆固件,避免了在不兼容的情况下进行升级带来的问题;并且如果车辆固件的版本号与升级包中的版本号相同,表示车辆已经处于最新的固件状态,无需重复进行升级,避免了不必要的网络流量和资源消耗,而通过比对版本号可以确保升级包的来源和合法性,只有经过授权的、合法的升级包才能与车辆固件版本号匹配,确保升级数据的安全性和可信度。
在本实施例中,判断所述待应用OTA端口能否基于预收录的更新内容对所述电动两轮车进行离线OTA的步骤S2中,包括:
S21:获取所述更新内容所需验证的测试场景;
S22:判断所述电动两轮车能否在所述测试场景中完成验证;
S23:若是,则对所述电动两轮车输入所述更新内容;
S24:若否,则生成所述电动两轮车基于所述更新内容得到的验证偏差。
在本实施例中,系统通过获取更新内容所需进行验证的测试场景,而后判断电动两轮车能否在该测试场景中完成更新前验证,以执行对应的步骤;例如,当系统判定到电动两轮车能够在测试场景中完成验证时,即代表车辆系统已经在测试场景中成功应用了升级数据,可以将更新内容输入至电动两轮车中进行离线OTA了,提高了OTA升级的成功率,且通过测试场景,可以减少了升级过程中可能遇到的潜在问题,提高了升级的稳定性和可靠性,同时还能完成数字证书验证和数据完整性验证,确保升级数据的安全性和可信度,防止非法修改和数据篡改;例如,当系统判定到电动两轮车无法在测试场景中完成验证时,此时系统会生成验证完毕后的验证偏差,以此得知目前电动两轮车因为什么原因无法进行离线OTA,验证失败后系统可以拒绝应用非法或有潜在问题的升级数据,防止升级过程中的安全隐患,并且验证失败时,系统可以及时回滚到之前的稳定版本,同时识别和修复验证失败的问题,优先确保系统稳定和安全,同时在验证失败后提供警示信息和反馈,帮助车辆制造商或维护人员找出问题原因,改进升级数据的生成和传输流程。
在本实施例中,识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口的步骤S1中,包括:
S11:获取所述电动两轮车的网络连接状态;
S12:判断所述网络连接状态是否匹配预设升级状态,其中,所述预设升级状态具体为离线状态;
S13:若是,则应用所述电动两轮车预设的can总线,查找范围内存在的通信协议,基于预设搜寻列表中生成的可用通信协议,从所述可用通信协议中筛选与所述电动两轮车相关的识别标志,将所述识别标志标记为可执行OTA端口。
在本实施例中,系统通过获取电动两轮车的网络连接状态,而后判断该网络连接状态是否能匹配预先设有的升级状态条件,以执行对应的步骤;例如,当系统判定到目前的网络连接状态是在线时,即该网络连接状态无法匹配预先设有的升级状态条件,则系统会自断开网络连接状态,以配合电动两轮车进行离线OTA,因为离线OTA需要在车辆不连接互联网的情况下进行,如果车辆处于在线状态,可以采用在线OTA的方式来进行升级,而目前所需进行的OTA方式为离线OTA;例如,当系统判定到目前的网络连接状态是离线时,即该网络连接状态能够匹配预先设有的升级状态条件,此时系统会应用电动两轮车预设的can总线,查找预先设有的固定范围内存在的通信协议,在电动两轮车预先设有的搜寻列表中生成的可用通信协议,从所述可用通信协议中筛选与所述电动两轮车相关的识别标志,将所述识别标志标记为可执行OTA端口,以此搜寻到供电动两轮车使用的可执行OTA端口,并选择通过串口接入方式来进行离线线刷OTA。
在本实施例中,识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口的步骤S1前,还包括:
S101:检测所述电动两轮车的OTA升级状态;
S102:判断所述OTA升级状态是否与预接收的升级内容匹配;
S103:若否,则生成具备所述升级内容的可用地域。
在本实施例中,系统通过检测电动两轮车的OTA升级状态,而后判断该OTA升级状态是否与预先接收到的升级内容匹配,以执行对应的步骤;例如,当系统判定到OTA升级状态能够与预先接收到的升级内容匹配时,则系统会认为电动两轮车无需进行OTA,当前电动两轮车已经具备最新配置内容;例如,当系统判定到OTA升级状态无法与预先接收到的升级内容匹配时,此时系统会认为电动两轮车需要进行OTA,当前电动两轮车的配置内容需要进行检验,同时在当前环境中生成已具备升级内容的可用地域,可用地域中存在各个所分布的OTA端口,可供电动两轮车进行OTA。
参考附图2,为本发明一实施例中基于can总线对两轮车进行离线OTA的系统,包括:
识别模块10,用于识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口,其中,所述可执行OTA端口具体包括能够用于为电动两轮车进行OTA的升级端口,所述待应用OTA端口具体包括能够用于为电动两轮车进行OTA升级且当前处于非工作状态的端口;
判断模块20,用于判断所述待应用OTA端口能否基于预收录的更新内容对所述电动两轮车进行离线OTA;
执行模块30,用于若否,则基于所述电动两轮车的配置内容对所述待应用OTA端口进行版本检查,从所述版本检查中识别得到所述电动两轮车需要替换的所述配置内容,重新为所述电动两轮车进行离线OTA,其中,所述配置内容具体包括OTA应用程序、车辆固件版本、OTA配置文件和车辆串口;
第二判断模块40,用于判断离线OTA的过程中所述电动两轮车的证书有效性是否被篡改,其中,所述证书有效性具体是电动两轮车在OTA升级包中包含的签名证书,用于验证签名的有效性,通过检查签名证书的有效性来确认升级数据是否被篡改;
第二执行模块50,用于若是,则应用链式验证所述离线OTA输入至所述电动两轮车的升级包中对应的哈希值,同时在所述离线OTA途中计算所述电动两轮车的升级数据校验值和升级数据散列值,将所述升级数据校验值和所述升级数据散列值与应用哈希函数生成的预期值进行比对,并采用预设公钥对所述电动两轮车预设的数字签名进行有效性验证。
在本实施例中,识别模块10通过识别预先设定好检测范围内的可执行OTA端口,以得到在电动两轮车附近可用于OTA的升级端口,进而应用OTA升级端口设有的can总线进行离线升级,基于可执行OTA端口的可离线升级距离内生成目前可供电动两轮车使用的待应用OTA端口;而后判断模块20判断这些待应用OTA端口能否基于预先收录好的更新内容对电动两轮车进行离线OTA,以执行对应的步骤;例如,当系统判定到待应用OTA端口能够对电动两轮车进行离线OTA时,则直接跳到步骤S4检测离线OTA过程中电动两轮车的证书有效性是否被篡改,并执行后续步骤;例如,当系统判定到待应用OTA端口无法对电动两轮车进行离线OTA时,此时执行模块30会基于电动两轮车的配置内容对待应用OTA端口进行版本检查,版本检查的内容但不限于是版本号对比、版本号合法性等,从待应用OTA端口中识别到当前电动两轮车需要替换的配置内容,完成这些配置内容后才可对电动两轮车进行离线OTA,配置内容包括括OTA应用程序、车辆固件版本、OTA配置文件和车辆串口,完成配置内容的替换后重新为电动两轮车进行离线OTA;而后第二判断模块40判断离线OTA的过程中电动两轮车的证书有效性是否有被篡改的迹象,通过检查签名证书的有效性以确认升级数据是否被篡改,并执行相应的步骤;例如,当系统判定到离线OTA过程中证书有效性未被篡改,则系统会持续监控离线OTA的升级过程,直至电动两轮车不出现异常状态完成整个离线OTA后,若出现异常状态则启用回滚机制进行重置,以恢复至电动两轮车在进行离线OTA前的状态;例如,当系统判定到离线OTA过程中证书有效性被篡改时,第二执行模块50会应用链式验证离线OTA过程中输入至电动两轮车的升级包中,在升级包内对应的哈希值,同时在离线OTA途中计算电动两轮车的升级数据校验值和升级数据散列值,将这些升级数据校验值和升级数据散列值与应用哈希函数生成的预期值进行比对,最后采用预先设有的公钥对电动两轮车预先设定的数字签名进行有效性验证,以多次确认离线OTA过程中被数据篡改的可能性,避免电动两轮车异常进行离线OTA。
在本实施例中,第二执行模块还包括:
提取单元,用于接收所述OTA端口发送至所述电动两轮车的升级包,从所述升级包中提取签名摘要,将提取到的签名摘要转换为二进制数据形式,使用所述预设公钥对二进制数据形式的签名摘要进行解密,生成原始摘要;
判断单元,用于判断所述原始摘要是否与预计算得到的哈希摘要完全相等;
执行单元,用于若是,则所述原始摘要对应的数字签名有效;
第二执行单元,用于若否,则所述原始摘要对应的数字签名存在篡改可能性。
在本实施例中,系统通过接收OTA端口发送到电动两轮车的升级包并进行解压,从升级包中提取到签名摘要,将提取得到的签名摘要转换为二进制的数据格式,使用预先设有的公钥信息对二进制数据形式的签名摘要进行解密,生成原始摘要,而后系统判断该原始摘要是否与预先计算得到的哈希摘要完全相等,以执行对应的步骤;例如,当系统判定到该原始摘要与预先计算得到的哈希摘要完全相等时,则系统会认为电动两轮车的数字签名具备有效性;例如,当系统判定到该原始摘要并未与预先计算得到的哈希摘要完全相等时,此时系统会认为电动两轮车的数字签名存在被篡改的可能性,需要对电动两轮车进行查验。
在本实施例中,执行模块还包括:
应用单元,用于从所述待应用OTA端口中下载待替换配置内容并应用至所述电动两轮车中;
第二判断单元,用于判断所述待替换配置内容是否符合所述电动两轮车预设的有效性;
第三执行单元,用于若否,则触发所述电动两轮车预设的回滚机制,将所述电动两轮车的所有配置内容恢复至最初的配置。
在本实施例中,系统从待应用OTA端口中下载出待替换配置内容并应用于电动两轮车中,而后判断这些待替换配置内容能否符合电动两轮车预先设定的有效性,以执行对应的步骤;例如,当系统判定到待替换配置内容能够符合电动两轮车预先设定的有效性时,则系统会认为电动两轮车能够与待替换配置内容进行适配,适配完毕后即可对电动两轮车进行离线OTA;例如,当系统判定到待替换配置内容无法符合电动两轮车预先设定的有效性时,此时系统会触发电动两轮车预先设有的回滚机制,将电动两轮车的所有已更新配置内容恢复至OTA更新前的初始配置,因为在OTA升级过程中,可能会发生意外错误或异常情况,导致车辆系统不稳定或出现问题,此时将配置内容恢复至OTA前的状态可以回退到已经经过测试和验证的稳定状态,确保车辆的正常运行;同时在OTA升级过程中,可能由于数据传输错误、数据篡改或其他问题导致配置内容损坏,将配置恢复至OTA前的状态可以消除潜在的配置问题,避免影响车辆的性能和功能;而如果OTA升级过程中配置内容有所更改,而车辆本身的配置也发生了变化,可能会导致数据冲突和不一致性,因此恢复至OTA前的配置可以确保升级数据与车辆的配置相匹配,避免数据冲突和不兼容性。
在本实施例中,第二判断模块还包括:
获取单元,用于获取所述待应用OTA端口输入的升级数据;
第三判断单元,用于判断所述升级数据是否与所述电动两轮车预设的数字证书绑定;
第四执行单元,用于若否,则比对所述电动两轮车中车辆固件的版本号与所述待应用OTA端口输入升级包中的版本号。
在本实施例中,系统通过获取待应用OTA端口输入的升级数据,而后判断这些升级数据是否与电动两轮车预先设有的数字证书已绑定,以执行对应的步骤;例如,当系统判定到这些升级数据与电动两轮车预先设有的数字证书已绑定时,则系统可以确保升级数据在传输过程中没有被篡改或损坏,通过数字证书的验证,可以验证升级数据的完整性,防止非法修改或攻击者的篡改,同时数字证书的绑定可以确保升级数据来自授权的源头,而不是恶意攻击者,可以有效保障车辆系统的数据安全,防止恶意软件的注入和潜在的威胁;而数字证书的绑定还能够防止非法升级,确保只有经过授权的升级数据才能被应用到电动两轮车上,有助于避免非法修改车辆系统,保障车辆的安全性和合规性;例如,当系统判定到升级数据并未与预先设有的数字证书绑定时,此时系统会通过比对电动两轮车中车辆固件的版本号与待应用OTA端口输入升级包中的版本号,比对车辆固件的版本号与升级包中的版本号可以确保升级包适用于当前车辆的固件版本,如果版本号不匹配,意味着升级包不适用于当前车辆固件,避免了在不兼容的情况下进行升级带来的问题;并且如果车辆固件的版本号与升级包中的版本号相同,表示车辆已经处于最新的固件状态,无需重复进行升级,避免了不必要的网络流量和资源消耗,而通过比对版本号可以确保升级包的来源和合法性,只有经过授权的、合法的升级包才能与车辆固件版本号匹配,确保升级数据的安全性和可信度。
在本实施例中,判断模块还包括:
第二获取单元,用于获取所述更新内容所需验证的测试场景;
第四判断单元,用于判断所述电动两轮车能否在所述测试场景中完成验证;
第五执行单元,用于若是,则对所述电动两轮车输入所述更新内容;
第六执行单元,用于若否,则生成所述电动两轮车基于所述更新内容得到的验证偏差。
在本实施例中,系统通过获取更新内容所需进行验证的测试场景,而后判断电动两轮车能否在该测试场景中完成更新前验证,以执行对应的步骤;例如,当系统判定到电动两轮车能够在测试场景中完成验证时,即代表车辆系统已经在测试场景中成功应用了升级数据,可以将更新内容输入至电动两轮车中进行离线OTA了,提高了OTA升级的成功率,且通过测试场景,可以减少了升级过程中可能遇到的潜在问题,提高了升级的稳定性和可靠性,同时还能完成数字证书验证和数据完整性验证,确保升级数据的安全性和可信度,防止非法修改和数据篡改;例如,当系统判定到电动两轮车无法在测试场景中完成验证时,此时系统会生成验证完毕后的验证偏差,以此得知目前电动两轮车因为什么原因无法进行离线OTA,验证失败后系统可以拒绝应用非法或有潜在问题的升级数据,防止升级过程中的安全隐患,并且验证失败时,系统可以及时回滚到之前的稳定版本,同时识别和修复验证失败的问题,优先确保系统稳定和安全,同时在验证失败后提供警示信息和反馈,帮助车辆制造商或维护人员找出问题原因,改进升级数据的生成和传输流程。
在本实施例中,识别模块还包括:
第三获取单元,用于获取所述电动两轮车的网络连接状态;
第五判断单元,用于判断所述网络连接状态是否匹配预设升级状态,其中,所述预设升级状态具体为离线状态;
第七执行单元,用于若是,则应用所述电动两轮车预设的can总线,查找范围内存在的通信协议,基于预设搜寻列表中生成的可用通信协议,从所述可用通信协议中筛选与所述电动两轮车相关的识别标志,将所述识别标志标记为可执行OTA端口。
在本实施例中,系统通过获取电动两轮车的网络连接状态,而后判断该网络连接状态是否能匹配预先设有的升级状态条件,以执行对应的步骤;例如,当系统判定到目前的网络连接状态是在线时,即该网络连接状态无法匹配预先设有的升级状态条件,则系统会自断开网络连接状态,以配合电动两轮车进行离线OTA,因为离线OTA需要在车辆不连接互联网的情况下进行,如果车辆处于在线状态,可以采用在线OTA的方式来进行升级,而目前所需进行的OTA方式为离线OTA;例如,当系统判定到目前的网络连接状态是离线时,即该网络连接状态能够匹配预先设有的升级状态条件,此时系统会应用电动两轮车预设的can总线,查找预先设有的固定范围内存在的通信协议,在电动两轮车预先设有的搜寻列表中生成的可用通信协议,从所述可用通信协议中筛选与所述电动两轮车相关的识别标志,将所述识别标志标记为可执行OTA端口,以此搜寻到供电动两轮车使用的可执行OTA端口,并选择通过串口接入方式来进行离线线刷OTA。
在本实施例中,还包括:
检测模块,用于检测所述电动两轮车的OTA升级状态;
第三判断模块,用于判断所述OTA升级状态是否与预接收的升级内容匹配;
第三执行模块,用于若否,则生成具备所述升级内容的可用地域。
在本实施例中,系统通过检测电动两轮车的OTA升级状态,而后判断该OTA升级状态是否与预先接收到的升级内容匹配,以执行对应的步骤;例如,当系统判定到OTA升级状态能够与预先接收到的升级内容匹配时,则系统会认为电动两轮车无需进行OTA,当前电动两轮车已经具备最新配置内容;例如,当系统判定到OTA升级状态无法与预先接收到的升级内容匹配时,此时系统会认为电动两轮车需要进行OTA,当前电动两轮车的配置内容需要进行检验,同时在当前环境中生成已具备升级内容的可用地域,可用地域中存在各个所分布的OTA端口,可供电动两轮车进行OTA。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.基于can总线对两轮车进行离线OTA的方法,其特征在于,包括以下步骤:
识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口,其中,所述可执行OTA端口具体包括能够用于为电动两轮车进行OTA的升级端口,所述待应用OTA端口具体包括能够用于为电动两轮车进行OTA升级且当前处于非工作状态的端口;
判断所述待应用OTA端口能否基于预收录的更新内容对所述电动两轮车进行离线OTA;
若否,则基于所述电动两轮车的配置内容对所述待应用OTA端口进行版本检查,从所述版本检查中识别得到所述电动两轮车需要替换的所述配置内容,重新为所述电动两轮车进行离线OTA,其中,所述配置内容具体包括OTA应用程序、车辆固件版本、OTA配置文件和车辆串口;
判断离线OTA的过程中所述电动两轮车的证书有效性是否被篡改,其中,所述证书有效性具体是电动两轮车在OTA升级包中包含的签名证书,用于验证签名的有效性,通过检查签名证书的有效性来确认升级数据是否被篡改;
若是,则应用链式验证所述离线OTA输入至所述电动两轮车的升级包中对应的哈希值,同时在所述离线OTA途中计算所述电动两轮车的升级数据校验值和升级数据散列值,将所述升级数据校验值和所述升级数据散列值与应用哈希函数生成的预期值进行比对,并采用预设公钥对所述电动两轮车预设的数字签名进行有效性验证。
2.根据权利要求1所述的基于can总线对两轮车进行离线OTA的方法,其特征在于,所述并采用预设公钥对所述电动两轮车预设的数字签名进行有效性验证的步骤中,包括:
接收所述OTA端口发送至所述电动两轮车的升级包,从所述升级包中提取签名摘要,将提取到的签名摘要转换为二进制数据形式,使用所述预设公钥对二进制数据形式的签名摘要进行解密,生成原始摘要;
判断所述原始摘要是否与预计算得到的哈希摘要完全相等;
若是,则所述原始摘要对应的数字签名有效;
若否,则所述原始摘要对应的数字签名存在篡改可能性。
3.根据权利要求1所述的基于can总线对两轮车进行离线OTA的方法,其特征在于,所述则基于所述电动两轮车的配置内容对所述待应用OTA端口进行版本检查,从所述版本检查中识别得到所述电动两轮车需要替换的所述配置内容的步骤中,包括:
从所述待应用OTA端口中下载待替换配置内容并应用至所述电动两轮车中;
判断所述待替换配置内容是否符合所述电动两轮车预设的有效性;
若否,则触发所述电动两轮车预设的回滚机制,将所述电动两轮车的所有配置内容恢复至最初的配置。
4.根据权利要求1所述的基于can总线对两轮车进行离线OTA的方法,其特征在于,所述判断离线OTA的过程中所述电动两轮车的证书有效性是否被篡改的步骤中,包括:
获取所述待应用OTA端口输入的升级数据;
判断所述升级数据是否与所述电动两轮车预设的数字证书绑定;
若否,则比对所述电动两轮车中车辆固件的版本号与所述待应用OTA端口输入升级包中的版本号。
5.根据权利要求1所述的基于can总线对两轮车进行离线OTA的方法,其特征在于,所述判断所述待应用OTA端口能否基于预收录的更新内容对所述电动两轮车进行离线OTA的步骤中,包括:
获取所述更新内容所需验证的测试场景;
判断所述电动两轮车能否在所述测试场景中完成验证;
若是,则对所述电动两轮车输入所述更新内容;
若否,则生成所述电动两轮车基于所述更新内容得到的验证偏差。
6.根据权利要求1所述的基于can总线对两轮车进行离线OTA的方法,其特征在于,所述识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口的步骤中,包括:
获取所述电动两轮车的网络连接状态;
判断所述网络连接状态是否匹配预设升级状态,其中,所述预设升级状态具体为离线状态;
若是,则应用所述电动两轮车预设的can总线,查找范围内存在的通信协议,基于预设搜寻列表中生成的可用通信协议,从所述可用通信协议中筛选与所述电动两轮车相关的识别标志,将所述识别标志标记为可执行OTA端口。
7.根据权利要求1所述的基于can总线对两轮车进行离线OTA的方法,其特征在于,所述识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口的步骤前,还包括:
检测所述电动两轮车的OTA升级状态;
判断所述OTA升级状态是否与预接收的升级内容匹配;
若否,则生成具备所述升级内容的可用地域。
8.基于can总线对两轮车进行离线OTA的系统,其特征在于,包括:
识别模块,用于识别预检测范围内的可执行OTA端口,基于所述可执行OTA端口的距离生成适配当前电动两轮车的待应用OTA端口,其中,所述可执行OTA端口具体包括能够用于为电动两轮车进行OTA的升级端口,所述待应用OTA端口具体包括能够用于为电动两轮车进行OTA升级且当前处于非工作状态的端口;
判断模块,用于判断所述待应用OTA端口能否基于预收录的更新内容对所述电动两轮车进行离线OTA;
执行模块,用于若否,则基于所述电动两轮车的配置内容对所述待应用OTA端口进行版本检查,从所述版本检查中识别得到所述电动两轮车需要替换的所述配置内容,重新为所述电动两轮车进行离线OTA,其中,所述配置内容具体包括OTA应用程序、车辆固件版本、OTA配置文件和车辆串口;
第二判断模块,用于判断离线OTA的过程中所述电动两轮车的证书有效性是否被篡改,其中,所述证书有效性具体是电动两轮车在OTA升级包中包含的签名证书,用于验证签名的有效性,通过检查签名证书的有效性来确认升级数据是否被篡改;
第二执行模块,用于若是,则应用链式验证所述离线OTA输入至所述电动两轮车的升级包中对应的哈希值,同时在所述离线OTA途中计算所述电动两轮车的升级数据校验值和升级数据散列值,将所述升级数据校验值和所述升级数据散列值与应用哈希函数生成的预期值进行比对,并采用预设公钥对所述电动两轮车预设的数字签名进行有效性验证。
9.根据权利要求8所述的基于can总线对两轮车进行离线OTA的系统,其特征在于,所述第二执行模块还包括:
提取单元,用于接收所述OTA端口发送至所述电动两轮车的升级包,从所述升级包中提取签名摘要,将提取到的签名摘要转换为二进制数据形式,使用所述预设公钥对二进制数据形式的签名摘要进行解密,生成原始摘要;
判断单元,用于判断所述原始摘要是否与预计算得到的哈希摘要完全相等;
执行单元,用于若是,则所述原始摘要对应的数字签名有效;
第二执行单元,用于若否,则所述原始摘要对应的数字签名存在篡改可能性。
10.根据权利要求8所述的基于can总线对两轮车进行离线OTA的系统,其特征在于,所述执行模块还包括:
应用单元,用于从所述待应用OTA端口中下载待替换配置内容并应用至所述电动两轮车中;
第二判断单元,用于判断所述待替换配置内容是否符合所述电动两轮车预设的有效性;
第三执行单元,用于若否,则触发所述电动两轮车预设的回滚机制,将所述电动两轮车的所有配置内容恢复至最初的配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311096873.2A CN116827693B (zh) | 2023-08-29 | 2023-08-29 | 基于can总线对两轮车进行离线OTA的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311096873.2A CN116827693B (zh) | 2023-08-29 | 2023-08-29 | 基于can总线对两轮车进行离线OTA的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116827693A CN116827693A (zh) | 2023-09-29 |
CN116827693B true CN116827693B (zh) | 2023-11-17 |
Family
ID=88141389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311096873.2A Active CN116827693B (zh) | 2023-08-29 | 2023-08-29 | 基于can总线对两轮车进行离线OTA的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116827693B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242397A (zh) * | 2022-06-14 | 2022-10-25 | 重庆长安汽车股份有限公司 | 用于车辆euc的ota升级安全验证方法及可读存储介质 |
CN116541054A (zh) * | 2022-01-26 | 2023-08-04 | 深圳联友科技有限公司 | 一种汽车软件离线升级方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753606A (zh) * | 2019-07-04 | 2020-10-09 | 杭州海康威视数字技术股份有限公司 | 一种智能模型的升级方法及装置 |
-
2023
- 2023-08-29 CN CN202311096873.2A patent/CN116827693B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541054A (zh) * | 2022-01-26 | 2023-08-04 | 深圳联友科技有限公司 | 一种汽车软件离线升级方法 |
CN115242397A (zh) * | 2022-06-14 | 2022-10-25 | 重庆长安汽车股份有限公司 | 用于车辆euc的ota升级安全验证方法及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116827693A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10157050B2 (en) | Method for confirming correction program and information processing apparatus | |
US10360018B2 (en) | Update control apparatus, software update system, and update control method | |
CN110460573B (zh) | 一种应用于汽车ecu安全升级管理系统及方法 | |
CN109829294B (zh) | 一种固件验证方法、系统、服务器及电子设备 | |
CN104573435A (zh) | 用于终端权限管理的方法和终端 | |
Ekatpure | Challenges Associated with the Deployment of Software Over-the-Air (SOTA) Updates in the Automotive Industry | |
CN103309768A (zh) | 系统文件修复方法和装置 | |
EP4075309A1 (en) | Secure boot device | |
CN106331009A (zh) | 一种应用程序下载方法、装置及系统 | |
CN114115965A (zh) | 一种ota系统动态差分升级方法 | |
US11327842B2 (en) | Backing up a software update of a control device of transport vehicle | |
CN108737101B (zh) | 一种应用程序的验证方法、装置及云端服务器 | |
CN116827693B (zh) | 基于can总线对两轮车进行离线OTA的方法及系统 | |
CN111835504B (zh) | 识别码生成方法及服务器 | |
CN112346772A (zh) | 一种增量更新的方法、装置及存储介质 | |
CN116820528A (zh) | 固件版本升级方法、装置、芯片和电子设备 | |
CN116149706A (zh) | 一种车辆设备升级方法、装置、车辆和可读存储介质 | |
CN116707758A (zh) | 可信计算设备的认证方法、设备和服务器 | |
CN110990046A (zh) | 一种基于动态文件的升级方法 | |
WO2020157369A1 (en) | Remote blockchain network agent for verifying and accepting patch requests from a patch initiator and method thereof | |
WO2021171906A1 (ja) | 情報処理装置、及びプログラム起動方法 | |
CN113495729A (zh) | 一种软件升级方法及装置 | |
EP3575953B1 (en) | A blockchain network agent for verifying and accepting patch requests from a patch initiator and method thereof | |
WO2021007756A1 (zh) | 设备更新方法、系统及第一物联网设备和计算机可读介质 | |
CN107179917A (zh) | 用于安装多个待测装置之作业系统的系统架构及部署方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |