CN113886899A - 自动驾驶软件使用期限管理方法、装置、设备及介质 - Google Patents

自动驾驶软件使用期限管理方法、装置、设备及介质 Download PDF

Info

Publication number
CN113886899A
CN113886899A CN202111094601.XA CN202111094601A CN113886899A CN 113886899 A CN113886899 A CN 113886899A CN 202111094601 A CN202111094601 A CN 202111094601A CN 113886899 A CN113886899 A CN 113886899A
Authority
CN
China
Prior art keywords
automatic driving
activation
driving software
software
vin code
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.)
Pending
Application number
CN202111094601.XA
Other languages
English (en)
Inventor
陈晓韦
惠怡静
张庆余
靳志刚
张苏林
赵亮
潘霞
王凤娇
田小森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Automotive Technology and Research Center Co Ltd
Automotive Data of China Tianjin Co Ltd
Original Assignee
China Automotive Technology and Research Center Co Ltd
Automotive Data of China Tianjin Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Automotive Technology and Research Center Co Ltd, Automotive Data of China Tianjin Co Ltd filed Critical China Automotive Technology and Research Center Co Ltd
Priority to CN202111094601.XA priority Critical patent/CN113886899A/zh
Publication of CN113886899A publication Critical patent/CN113886899A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

本发明实施例提出一种自动驾驶软件使用期限管理方法,包括:自动驾驶软件首次启动时,读取车辆VIN码,判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,若一致则进入下一步骤;自动驾驶软件通过激活密码完成软件激活,并将激活标志位、激活日期和有效期存储到车辆MCU中;自动驾驶软件激活后使用时,先判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,一致则判断有效期,有效期剩余天数大于0时,自动驾驶软件正常运行;有效期天数为0时,自动驾驶软件需要再次激活。本发明实施例设置VIN码校验,通过GPS授时的动态密码创建软件有效期限或有效天数,设置激活标志位,多重加密,解决使用RTC时钟计算软件日期易被绕过的问题。

Description

自动驾驶软件使用期限管理方法、装置、设备及介质
技术领域
本发明涉及自动驾驶及嵌入式技术领域,尤其涉及一种自动驾驶软件使用期限管理方法、装置、设备及介质。
背景技术
嵌入式计算平台是自动驾驶技术领域重要的设备之一,MCU(MicrocontrollerUnit,微控制单元)芯片是计算平台内主要控制器,运行于MCU内部的自动驾驶系统程序代码和数据最有价值。如何保护自动驾驶系统程序代码、防止MCU内的程序拷贝出来重新烧录到相同平台的MCU内部使用是自动驾驶领域重要解决问题之一。设定MCU程序使用期限是保护MCU程序的一种基本方法,传统的设定MCU使用期限是以MCU自带的RTC(Real_TimeClock,实时时钟)时钟为时间计算基准,一旦入侵者将RTC时钟电源关掉,MCU内的RTC计数器混乱导致时间计算异常,如何有效的保护MCU程序的使用期限是有待解决的问题,入侵者通过物理的方式(比如:读写器)就可以从存储器里面读取升级程序重新烧录后使用。
发明内容
本发明的目的在于提供一种自动驾驶软件有效期限管理方法、装置、设备及介质,以解决现有技术中以RTC实时时钟计算有效期限时入侵者更改RTC电路电源后窃取软件永久有效期使用的问题。
第一方面,本发明实施例提出一种自动驾驶软件使用期限管理方法,包括以下步骤:
步骤S100,自动驾驶软件首次启动时,读取车辆VIN码,判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,若不一致则自动驾驶软件终止运行,若一致则进入下一步骤;
步骤S200,自动驾驶软件通过激活密码完成软件激活,并将激活标志位、激活日期和有效期存储到车辆MCU中;
步骤S300,自动驾驶软件激活后使用时,先判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,不一致终止自动驾驶软件运行;一致则判断有效期,有效期剩余天数大于0时,自动驾驶软件正常运行;有效期天数为0时,自动驾驶软件需要再次激活。
优选的,自动驾驶软件通过激活密码完成软件激活的步骤包括:
步骤S210,响应于接收到服务器发送的激活密码,车辆通信单元对所述激活密码进行加密,并将加密激活密码通过CAN总线发送至车辆MCU;
步骤S220,响应于接收到加密激活密码,车辆MCU验证激活密码有效性,若激活密码无效则自动驾驶软件终止运行,若激活密码有效则解密获得激活日期和使用期限;
步骤S230,车辆MCU判断所述激活日期与GPS当前日期是否一致,若不一致则自动驾驶软件终止运行,若一致则进入下一步骤;
步骤S240,自动驾驶软件激活成功,将车辆FLASH设置为可读写状态,将激活标志位、激活日期和有效期写入车辆FLASH,写入成功后将FLASH设置成只读状态,重新启动自动驾驶软件;写入失败则终止激活流程。
优选的,激活密码采用多重加密。
优选的,激活密码采用三重加密;一重加密为服务器下发的激活密码是激活日期和使用期限通过移位和加入偏移量的方式得到;二重加密为激活密码通过CAN总线传输时CAN报文加密;三重加密为报文校验的方式加密。
优选的,CAN报文上的激活密码采用伪射加密方法进行二重加密。
优选的,三重加密中报文校验加密方式为CAN报文的第8个字节是前面7字节的多项式校验和。
优选的,存储在FLASH中的激活标志位、激活日期和有效期进行加密。
第二方面,本发明实施例提出一种自动驾驶软件使用期限管理装置,包括:
启动模块,自动驾驶软件首次启动时,读取车辆VIN码,判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,若不一致则自动驾驶软件终止运行,若一致则进入下一步骤;
激活模块,自动驾驶软件通过激活密码完成软件激活,并将激活标志位、激活日期和有效期存储到车辆MCU中;
工作模块,自动驾驶软件激活后使用时,先判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,不一致终止自动驾驶软件运行;一致则判断有效期,有效期剩余天数大于0时,自动驾驶软件正常运行;有效期天数为0时,自动驾驶软件需要再次激活。
第三方面,本发明实施例提出一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现上述任意一项所述的方法。
第四方面,本发明实施例提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行上述任一项所述的方法。
本发明实施例与现有技术相比,具体有益效果如下:
(1)通过设置VIN码比对,保证车辆与MCU控制器一一对应关系,防止入侵者借用MCU控制器;
(2)通过GPS授时的动态密码创建软件有效期限或有效天数,通过设置的激活标志位等检查软件的有效期限或有效天数,既实现了对软件的保护又避免了使用RTC时钟计算软件日期的弊端。
(3)动态密码的加解密算法采用激活日期和有效期移位加偏移量、伪射加密算法和二次多项式校验三重加密算法并与激活时间相关同时满足CAN报文数据范畴的复杂科学计算方法,提高了密码的复杂度;
(4)通过对激活标志位、激活日期、有效期等信息进行加密,保证了软件的安全。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的自动驾驶软件使用期限管理方法流程图;
图2为本发明实施例的激活密码加密方法流程图;
图3为本发明实施例的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
参照图1,本发明实施例提出的一种自动驾驶软件使用期限管理方法,包括如下步骤:
步骤S100,自动驾驶软件首次启动时,读取车辆VIN码,判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,若不一致则自动驾驶软件终止运行,若一致则进入下一步骤。
具体的,自动驾驶软件的每次启动均需要读取车辆VIN码(VehicleIdentification Number,车辆识别号码),并判断读取的车辆VIN码是否和软件内设定的车辆VIN码一致,如果不一致终止软件运行,一致后才可以进入下一步骤。通过设置VIN码比对,保证车辆与MCU控制器一一对应关系,防止入侵者借用MCU控制器。
步骤S200,自动驾驶软件通过激活密码完成软件激活,并将激活标志位、激活日期和有效期存储到车辆MCU中。
车辆MCU是自动驾驶车辆的重要控制器,是实现自动驾驶车辆线控逻辑的重要部件,本发明实施例中的自动驾驶软件使用期限管理方法主要是保护车辆MCU内的自动驾驶软件。
参照图2,自动驾驶软件通过激活密码完成软件激活的步骤包括:
步骤S210,响应于接收到服务器发送的激活密码,车辆通信单元对所述激活密码进行加密,并将加密激活密码通过CAN总线发送至车辆MCU。
具体的,所述激活密码的加密采用多重加密技术,本发明实施例中采用三重加密技术,通过对服务器激活密码进行激活日期和使用期限通过移位和加入偏移量结合的一重加密,CAN总线发送时的伪射加密方法的二重加密,CAN报文的校验加密,通过应用于自动驾驶软件的特有三重加密技术,可大幅提高自动驾驶软件使用期限管理时的安全性。
一重加密:服务器下发的激活密码是将包括激活日期和使用期限的初始激活密码通过移位和加入偏移量的方式得到,在服务器端下发激活密码时即对激活密码进行加密。该加密过程在服务器端实现。
二重加密:为保证激活密码的安全性,在通过CAN(Controller Area Network,控制器局域网络)总线传输时,需要对CAN报文进行加密。激活密码通过CAN总线方式发送给MCU,CAN报文上的激活密码采用伪射加密方法进行二重加密;优选的,二重加密由所述车辆通信单元执行。
三重加密:为了进一步保证CAN报文的安全性,CAN报文的第8个字节是前面7字节的(第1个字节到第7个字节)多项式校验和,这是激活密码的三重加密。
其中,激活日期和有效期也可通过激活起止时间代替。
在本发明具体实施例中,对某一激活密码加密过程进行举例,如表1所示。
服务器初始激活密码共有8个字节,其中激活日期、有效期、比例因子及偏移量。8个字节中,Byte0-2表示激活日期,Byte3-5表示有效期,Byte6表示比例因子,Byte7表示偏移量。
一重加密后的报文=(k*原值+offset)mod(256),k是0到255之间的任一整数,offset是k元素按从大到小排列构成的数组的下标值。对每个字节的报文进行上述一重加密计算,得到一重加密后报文。
其中,(x)mod(256)表示对x执行256取余操作。
二重加密后的报文=(a*一重加密后的值+b)mod(256)。对每个字节的报文进行上述二重加密计算,得到二重加密后报文。其中,a、b每次加密时随机更换,只要满足条件:a和256互为素数,b是0到255间的任一整数。
三重加密后的报文:byte7是前7个字节的多项式校验和。优选的,多项式校验和模型为CRC-8。
表1激活密码加密流程示例
Figure BDA0003268657000000071
Figure BDA0003268657000000081
步骤S220,响应于接收到加密激活密码,车辆MCU验证激活密码有效性,若激活密码无效则自动驾驶软件终止运行,若激活密码有效则解密获得激活日期和使用期限。
具体的,车辆MCU通过CAN总线接收到加密激活密码,车辆MCU根据预设解密规则对加密激活密码进行解密,获取到激活日期和使用期限。所述预设解密规则用于对三重加密的激活密码进行解密,获得激活日期和使用期限。
步骤S230,车辆MCU判断所述激活日期与GPS当前日期是否一致,若不一致则自动驾驶软件终止运行,若一致则进入下一步骤。
具体的,车辆MCU判断所述激活日期和GPS(Global Positioning System,全球定位系统)当前日期是否一致,如果不一致则禁止激活,检查系统时间是否位于预定范围内,若是进入下一步,否则终止软件运行。采用GPS授时的方式来计算使用期限,对比采用RTC外部时钟晶振的方式更准确,同时防止入侵者拿掉RTC时钟备用电池或将程序拷贝到其他MCU中使用。惯导GPS一是为自动驾驶车辆提供精确的位置,二是为MCU控制器提供精准的时间参考
优选的,车辆MCU先判断激活日期是否在软件交付日期同一天或交付日期之后,是则进行GPS当前日期判定步骤,否则终止激活流程。为了保证软件的使用权,只有当激活日期落后或等于软件交付日期时,软件方可使用,如果激活日期超前软件交付日期则软件禁止使用。
步骤S240,自动驾驶软件激活成功,将车辆FLASH设置为可读写状态,将激活标志位、激活日期和有效期写入车辆FLASH,写入成功后将FLASH设置成只读状态,重新启动自动驾驶软件;写入失败则终止激活流程。
具体的,车辆FLASH默认为只读状态,自动驾驶软件激活成功时,设置FLASH为可读写状态,将激活标志位、激活日期、有效期或激活起始日期重新写入相应的FLASH区域,写入成功后重新将FLASH设置成只读状态,写入失败终止软件。优选的,可以对存储在FLASH中的激活标志位、激活日期和有效期进行加密。优选的,自动驾驶软件运行时还可以提示剩余有效天数等信息。
步骤S300,自动驾驶软件激活后使用时,先判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,不一致终止自动驾驶软件运行;一致则判断有效期,有效期剩余天数大于0时,自动驾驶软件正常运行;有效期天数为0时,自动驾驶软件需要再次激活。
具体的,在有效期剩余天数大于0的时候软件正常使用;当有效天数等于0时需要重新激活;激活密码为动态密码,所述动态密码的生成与激活时间相关。有效期限为从激活成功之日起1-365天或永久有效。激活成功后生成的标志位中写入激活时间及有效天数,并根据激活时间和有效天数确定剩余的有效天数;或在软件激活成功后把标志位中直接写入有效期限的开始时间和结束时间。为了保证软件的有效期,在本发明实施例中,所有激活时间和有效天数的计算都是以GPS授时为基础,防止入侵者通过更改RTC电路电池获得永久使用期限。
具体的,激活成功后自动驾驶软件每次启动时,仍需要先判断VIN码,其次检查激活标志位是否置位,如果置位,则继续后续判断并运行软件,否则停止软件启动。
具体的,如果激活标志位置位,则判断使用期限是否在有效期内或软件剩余天数是否大于0,如果当前在软件使用期限内或剩余天数大于0,则正常启动软件否则终止软件的运行。如果标志位未置位,则进入软件激活程序;当启动时间位于有效期限外或剩余的有效天数等于0时,清除激活标志位需要重新激活。
在MCU内部激活日期计算采用GPS授时,根据获得的GPS时间对软件剩余天数进行计算,当剩余天数为0时MCU内部程序上锁,软件禁止使用,同时向服务器发送需要重新激活的信息提示;
本文以GPS授时为基础,通过设定激活日期和使用期限及动态密码的方案,提出一种自动驾驶软件使用期限管理方法,在规定期限内软件正常运行超出规定期限后软件上锁需要重新激活后方可使用,目的是防止以MCU片上RTC实时时钟计算日期,RTC电池取掉后软件中使用期限程序计算失败,同时以交付日期为基础防止入侵者通过物理的方式将自动驾驶设备中的固件从存储器内读出后烧录到相同硬件平台的设备中使用,为自动驾驶软件提供安全屏障。
与上述任意实施例方法相对应的,本发明实施例另一方面提出一种自动驾驶软件使用期限管理装置,包括:
启动模块,自动驾驶软件首次启动时,读取车辆VIN码,判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,若不一致则自动驾驶软件终止运行,若一致则进入下一步骤;
激活模块,自动驾驶软件通过激活密码完成软件激活,并将激活标志位、激活日期和有效期存储到车辆MCU中;
工作模块,自动驾驶软件激活后使用时,先判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,不一致终止自动驾驶软件运行;一致则判断有效期,有效期剩余天数大于0时,自动驾驶软件正常运行;有效期天数为0时,自动驾驶软件需要再次激活。
与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
图3示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动的计算机可读介质,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
应该理解的是,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种自动驾驶软件使用期限管理方法,其特征在于,包括以下步骤:
步骤S100,自动驾驶软件首次启动时,读取车辆VIN码,判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,若不一致则自动驾驶软件终止运行,若一致则进入下一步骤;
步骤S200,自动驾驶软件通过激活密码完成软件激活,并将激活标志位、激活日期和有效期存储到车辆MCU中;
步骤S300,自动驾驶软件激活后使用时,先判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,不一致终止自动驾驶软件运行;一致则判断有效期,有效期剩余天数大于0时,自动驾驶软件正常运行;有效期天数为0时,自动驾驶软件需要再次激活。
2.根据权利要求1所述的方法,其特征在于,自动驾驶软件通过激活密码完成软件激活的步骤包括:
步骤S210,响应于接收到服务器发送的激活密码,车辆通信单元对所述激活密码进行加密,并将加密激活密码通过CAN总线发送至车辆MCU;
步骤S220,响应于接收到加密激活密码,车辆MCU验证激活密码有效性,若激活密码无效则自动驾驶软件终止运行,若激活密码有效则解密获得激活日期和使用期限;
步骤S230,车辆MCU判断所述激活日期与GPS当前日期是否一致,若不一致则自动驾驶软件终止运行,若一致则进入下一步骤;
步骤S240,自动驾驶软件激活成功,将车辆FLASH设置为可读写状态,将激活标志位、激活日期和有效期写入车辆FLASH,写入成功后将FLASH设置成只读状态,重新启动自动驾驶软件;写入失败则终止激活流程。
3.根据权利要求2所述的方法,其特征在于,激活密码采用多重加密。
4.根据权利要求3所述的方法,其特征在于,激活密码采用三重加密;一重加密为服务器下发的激活密码是激活日期和使用期限通过移位和加入偏移量的方式得到;二重加密为激活密码通过CAN总线传输时CAN报文加密;三重加密为报文校验的方式加密。
5.根据权利要求4所述的方法,其特征在于,CAN报文上的激活密码采用伪射加密方法进行二重加密。
6.根据权利要求5所述的方法,其特征在于,三重加密中报文校验加密方式为CAN报文的第8个字节是前面7字节的多项式校验和。
7.根据权利要求1所述的方法,其特征在于,存储在FLASH中的激活标志位、激活日期和有效期进行加密。
8.一种自动驾驶软件使用期限管理装置,其特征在于,包括:
启动模块,自动驾驶软件首次启动时,读取车辆VIN码,判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,若不一致则自动驾驶软件终止运行,若一致则进入下一步骤;
激活模块,自动驾驶软件通过激活密码完成软件激活,并将激活标志位、激活日期和有效期存储到车辆MCU中;
工作模块,自动驾驶软件激活后使用时,先判断车辆VIN码是否与自动驾驶软件内预设的车辆VIN码一致,不一致终止自动驾驶软件运行;一致则判断有效期,有效期剩余天数大于0时,自动驾驶软件正常运行;有效期天数为0时,自动驾驶软件需要再次激活。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现根据权利要求1至7中任意一项所述的方法。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行根据权利要求1至7中任一项所述的方法。
CN202111094601.XA 2021-09-17 2021-09-17 自动驾驶软件使用期限管理方法、装置、设备及介质 Pending CN113886899A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111094601.XA CN113886899A (zh) 2021-09-17 2021-09-17 自动驾驶软件使用期限管理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111094601.XA CN113886899A (zh) 2021-09-17 2021-09-17 自动驾驶软件使用期限管理方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN113886899A true CN113886899A (zh) 2022-01-04

Family

ID=79009474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111094601.XA Pending CN113886899A (zh) 2021-09-17 2021-09-17 自动驾驶软件使用期限管理方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113886899A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756270A (zh) * 2022-06-16 2022-07-15 中汽数据(天津)有限公司 自动驾驶系统固件升级方法和自动驾驶系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756270A (zh) * 2022-06-16 2022-07-15 中汽数据(天津)有限公司 自动驾驶系统固件升级方法和自动驾驶系统

Similar Documents

Publication Publication Date Title
CN106411840B (zh) 通信终端和程序
EP2210174B1 (en) Progressive boot for a wireless device
TWI749622B (zh) 韌體更新系統及方法
KR101734205B1 (ko) 고정-길이 데이터 구조의 무결성을 보호하기 위한 방법
CN101308538B (zh) 检查固件完整性的方法和设备
US8250630B2 (en) Detecting unauthorized computer access
US20130254906A1 (en) Hardware and Software Association and Authentication
JP6585072B2 (ja) 不揮発性メモリ又はセキュア素子へのデータの読み込みを安全に行うこと
JP6385842B2 (ja) 情報処理端末、情報処理方法、及び情報処理システム
CN103649964A (zh) 安全寄存执行体系架构
JP5076110B2 (ja) データを保証するためのシステム及び方法
CN109445705B (zh) 固件认证方法及固态硬盘
CN108229144B (zh) 一种应用程序的验证方法、终端设备及存储介质
EP2503482A1 (en) Electronic device with flash memory component
CN112148314B (zh) 一种嵌入式系统的镜像验证方法、装置、设备及存储介质
KR20200075451A (ko) 디바이스 고유암호키 생성기 및 방법
CN114528603B (zh) 嵌入式系统的隔离动态保护方法、装置、设备和存储介质
CN104598827A (zh) 硬件协助的操作系统重启计数器设计方法
US20100194609A1 (en) Method and Device For Coding Data Words
CN113886899A (zh) 自动驾驶软件使用期限管理方法、装置、设备及介质
CN113849210A (zh) 一种基于tee的固件升级方法及装置
CN117610083A (zh) 文件校验方法、装置、电子设备及计算机存储介质
CN108345803B (zh) 一种可信存储设备的数据存取方法及装置
WO2022148149A1 (zh) 一种许可证文件的管理方法、装置和设备
CN109583196B (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