CN111142902B - 处理器的升级固件保护方法、装置及车辆 - Google Patents

处理器的升级固件保护方法、装置及车辆 Download PDF

Info

Publication number
CN111142902B
CN111142902B CN201911331484.7A CN201911331484A CN111142902B CN 111142902 B CN111142902 B CN 111142902B CN 201911331484 A CN201911331484 A CN 201911331484A CN 111142902 B CN111142902 B CN 111142902B
Authority
CN
China
Prior art keywords
firmware
key
processor
secure
memory
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
Application number
CN201911331484.7A
Other languages
English (en)
Other versions
CN111142902A (zh
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.)
Guangzhou Xiaopeng Motors Technology Co Ltd
Original Assignee
Guangzhou Xiaopeng Motors Technology 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 Guangzhou Xiaopeng Motors Technology Co Ltd filed Critical Guangzhou Xiaopeng Motors Technology Co Ltd
Priority to CN201911331484.7A priority Critical patent/CN111142902B/zh
Publication of CN111142902A publication Critical patent/CN111142902A/zh
Application granted granted Critical
Publication of CN111142902B publication Critical patent/CN111142902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种处理器的升级固件保护方法、装置及车辆。该方法包括:接收服务端发来的初始固件;所述初始固件包括由第一密钥生成的第二密钥和由第一密钥加密的密文固件;解析所述第二密钥得到所述第一密钥;基于所述第一密钥和本处理器内置的安全密钥,生成第三密钥;合并所述密文固件和所述第三密钥,得到安全固件;将所述安全固件烧写到存储器中。本发明实施例提供的处理器的升级固件保护方法,能够将安全固件与本处理器绑定,使安全固件只能在本处理器内部被解密为升级固件并运行,使得升级固件不被盗用或篡改,提高了升级固件的保密性和安全性。

Description

处理器的升级固件保护方法、装置及车辆
技术领域
本发明涉及升级固件安全技术领域,特别涉及一种处理器的升级固件保护方法、装置及车辆。
背景技术
随着移动互联网和车联网等技术的发展,在电子设备,比如智能网联车辆中,通过空中下载技术(OTA)来升级电子设备内处理器的固件以实现功能的迭代,正成为越来越不可或缺的功能和亮点。
目前,用于功能更新的固件从服务端被传到处理器内部时,一般由处理器将该固件还原为明文的升级固件,然后把该升级固件刷写到的存储器里面,用于处理器中最基础最底层软件工作的运行。
但是,这样做的缺陷在于:入侵者只要通过物理的方式(比如:读写器)就可以从存储器里面读取升级固件。从而,入侵者就可以分析这些升级固件的逻辑。此外,这些升级固件还可以被直接用于相同的硬件***当中,带来信息泄露风险和安全隐患。
发明内容
本发明实施例提供了一种处理器的升级固件保护方法、装置及车辆,以克服上述技术问题或者至少部分地解决上述技术问题。技术方案如下:
第一方面,本发明实施例提供了一种处理器的升级固件保护方法,包括:
接收服务端发来的初始固件;所述初始固件包括由第一密钥生成的第二密钥和由第一密钥加密的密文固件;
解析所述第二密钥得到所述第一密钥;基于所述第一密钥和本处理器内置的安全密钥,生成第三密钥;合并所述密文固件和所述第三密钥,得到安全固件;
将所述安全固件烧写到存储器中。
在一种可选的实现方式中,还包括在本处理器中对所述存储器中的所述安全固件进行验证的后续步骤,包括:
利用所述安全密钥解析所述第三密钥,得到所述第一密钥;
根据所述第一密钥解密所述密文固件,得到升级固件;
读取所述升级固件到内存中,以运行所述升级固件。
在一种可选的实现方式中,所述在本处理器中对所述存储器中的所述安全固件进行验证之前,包括:
本处理器安全启动时,检测存储器中是否存在新烧写的所述安全固件;
当检测到所述安全固件时,在本处理器中对所述存储器中的所述安全固件进行验证。
在一种可选的实现方式中,所述接收服务端发来的初始固件之前,还包括:
向服务端发送升级请求,所述升级请求包括本处理器的芯片信息;使服务端基于所述芯片信息和所述第一密钥生成所述初始固件,基于空中下载技术向所述处理器发送所述初始固件。
在一种可选的实现方式中,所述基于所述芯片信息和所述第一密钥生成所述初始固件,包括:
基于所述芯片信息生成适配于所述处理器的所述升级固件;
通过所述第一密钥加密所述升级固件,得到所述密文固件;基于所述第一密钥生成第二密钥;
合并所述密文固件和所述第二密钥,得到所述初始固件。
在一种可选的实现方式中,所述安全密钥唯一地预置于所述处理器中,且不能被外界读取。
在一种可选的实现方式中,所述第一密钥由服务端通过预设加密工具生成,所述加密工具每次生成的第一密钥均不相同;
所述基于所述第一密钥生成第二密钥,包括混淆和加密所述第一密钥,生成第二密钥。
第二方面,本发明实施例提供了一种处理器的升级固件保护装置,包括:
接收模块,用于接收服务端发来的初始固件;所述初始固件包括由第一密钥生成的第二密钥和由第一密钥加密的密文固件;
生成模块,用于解析所述第二密钥得到所述第一密钥;基于所述第一密钥和本处理器内置的安全密钥,生成第三密钥;用于合并所述密文固件和所述第三密钥,得到安全固件;
烧写模块,用于将所述安全固件烧写到存储器中。
第三方面,本发明实施例提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现本发明实施例的第一方面的任一实现方式中所示方法所执行的操作。
第四方面,本发明实施例提供了一种车辆,包括如权利要求9所述的电子设备;所述处理器适配于本车辆。
第五方面,本发明实施例提供了一种存储介质,所述存储介质中存储有程序代码,所述程序代码用于执行本发明实施例的第一方面的任一实现方式中所示方法。
本发明实施例提供的处理器的升级固件保护方法、装置及车辆,采用接收服务端发来的初始固件;所述初始固件包括由第一密钥生成的第二密钥和由第一密钥加密的密文固件;解析所述第二密钥得到所述第一密钥;基于所述第一密钥和本处理器内置的安全密钥,生成第三密钥;合并所述密文固件和所述第三密钥,得到安全固件;将所述安全固件烧写到存储器中的方式,能够使安全固件与本处理器绑定,无法在外部被解密还原为升级固件,从而该升级固件只能在本处理器内部运行,提高了升级固件的保密性和安全性。
附图说明
图1是本发明实施例提供的一种处理器的升级固件保护方法的流程示意图;
图2是本发明实施例提供的一种处理器的升级固件保护方法的数据结构示意图;
图3是本发明实施例提供的一种处理器的升级固件保护装置的结构示意图;
图4是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的部分示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本本发明实施例,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“当前”意在表示特定的流程或步骤节点,用以和其他流程或步骤区分开来;术语“前置”、“后续”用于表示流程或步骤节点的前后顺序,而非专门指代某个特定的流程或步骤节点。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。本文中使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本发明实施例的目的、技术方案和优点更加明显易懂,下面将结合附图和具体实施方式对本发明的实施例作进一步详细的说明。
本发明实施例提供了一种处理器的升级固件保护方法,请参阅图1,该方法包括:
步骤S101:接收服务端发来的初始固件;所述初始固件包括由第一密钥生成的第二密钥和由第一密钥加密的密文固件;
步骤S102:解析所述第二密钥得到所述第一密钥;基于所述第一密钥和本处理器内置的安全密钥,生成第三密钥;合并所述密文固件和所述第三密钥,得到安全固件;
步骤S103:将所述安全固件烧写到存储器中。
本发明实施例提供的处理器的升级固件保护方法,能够将安全固件与本处理器绑定,无法在外部被解密还原为升级固件,从而使该升级固件只能在本处理器内部运行,提高了升级固件的保密性和安全性。
本发明实施例中,处理器和存储器可内置于电子设备中,这里的电子设备既可包括移动终端、车载终端,也可包括车辆的行车电脑,相应地,这里的处理器可以为CPU或ECU(Electronic Control Unit,电子控制单元)等。本技术领域技术人员可以理解,这里所使用的“电子设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal CommunicationsService,个人通信***),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位***)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“电子设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“电子设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是智能电视、PDA、MID(MobileInternet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能网联车辆等设备。本领域技术人员应能理解,上述几种处理器和电子设备的种类和场景仅为举例,基于这些范例进行的适当变化也可适用于本发明。
本发明实施例的步骤S101中,可以接收服务端发来的初始固件;所述初始固件包括由第一密钥生成的第二密钥和由第一密钥加密的密文固件。
本发明实施例中,处理器与服务端通信连接,可通过空中下载技术(OTA,Over theAir Technology)等方式从服务端获取用于升级更新的初始固件,以实现处理器功能的迭代。一种可行的实现方式中,请参阅图2,所述初始固件包括由第一密钥RK生成的第二密钥EK(encrypted key)和由第一密钥RK加密的密文固件ED。可以理解,服务端可先对初始固件进行加密加签,通过空中下载技术将该初始固件传到处理器内部后,处理器对该初始固件进行相应的解密解签。
在实际应用中,处理器可在检测到服务端有固件版本更新等情况下,向服务端发送升级请求,即处理器在所述接收服务端发来的初始固件之前,还可包括:向服务端发送升级请求,所述升级请求包括本处理器的芯片信息;使服务端基于所述芯片信息和所述第一密钥生成所述初始固件,基于空中下载技术向所述处理器发送所述初始固件。在一种可能的实施方式中,服务端接收到处理器发来的升级请求后,基于其中的芯片信息生成适配于所述处理器的所述升级固件。举例而言,芯片信息可表征处理器的型号、序列号等信息。在一种可行的实现方式中,处理器还可适配于车辆,与车辆的硬件***和/或功能等相适应,例如处理器可以为用于控制车辆的发动机、主动悬架***、防抱死制动***、四轮驱动***、电控自动变速器、安全气囊***、空调***、电池管理***、多向可调电控座椅等硬件***的ECU,或者为相应车载终端的CPU等,因此,芯片信息还可表征相应的车辆或车辆的硬件***和/或功能。故而,服务端可基于该芯片信息编译或查询相关固件信息,生成用于更新相应的车辆或车辆的硬件***和/或功能的升级固件RD。
此时的升级固件RD可能为明文状态,因此,服务器可通过所述第一密钥RK加密所述升级固件RD,得到所述密文固件ED;基于所述第一密钥RK生成第二密钥EK。在一种可能的实施方式中,第一密钥RK由服务端通过预设加密工具生成,所述加密工具每次生成的第一密钥RK均不相同。例如,服务端可通过处理器对应加密工具CET(code encrypted tool)来生成第一密钥RK,CET能够让技术人员为包含支持安全启动的处理器加密升级固件,结合该处理器中支持的高保证引导(HAB)特性,通过第一密钥RK来确保只有验证过的升级固件才能在处理器中运行。具体而言,第一密钥RK可以由CET依据预设规则生成,如随机生成或按特定序列生成等,使每次加密时的第一密钥RK不同。一种可行的实现方式中,第一密钥RK为HEX格式,总共16字节,使用AES-128或类似算法对升级固件RD进行加密,得到密文固件ED。此外,所述基于所述第一密钥RK生成第二密钥EK,可以包括混淆和加密所述第一密钥RK,来生成第二密钥EK。例如,可首先将16字节的第一密钥RK扩展成256字节,并对该第一密钥RK进行加密以生成第二密钥EK。从而,服务器可合并所述密文固件ED和所述第二密钥EK,得到所述初始固件,可选地,该初始固件为bin格式的二进制文件。使得向处理器发送所述初始固件的过程中,即使该初始固件在空中被截获,由于截获者没有解密方法,不能根据第二密钥EK得到第一密钥RK,从而初始固件不易被直接破解出升级固件RD。因此能够在基于空中下载技术对处理器的固件进行批量升级的同时,提高升级固件RD的安全性。
进一步地,本发明实施例的步骤S102中,可以解析所述第二密钥得到所述第一密钥;基于所述第一密钥和本处理器内置的安全密钥,生成第三密钥;合并所述密文固件和所述第三密钥,得到安全固件。
本发明实施例中,处理器接收到初始固件后,请继续参阅图2,步骤S102可以通过上述第二密钥EK生成方法的逆运算或相应的解密方式,解析所述第二密钥EK得到所述第一密钥RK。在一种可能的实施方式中,上述逆运算和解密方式的相关数据可被存储于处理器的自升级程序中。进而,可基于该第一密钥RK和本处理器内置的安全密钥生成第三密钥EKB(encrypted key blob);合并所述密文固件ED和所述第三密钥EKB,得到安全固件。在一种可能的实施方式中,所述安全密钥唯一地预置于所述处理器中,且不能被外界读取。作为示例地,由于每块处理器在生产时均可被处理器厂家随机地唯一地预置了一个用于安全启动的安全密钥,该安全密钥不能被外界读出来,该安全密钥的加密算法和加密数据对于开发者在内的技术人员是保密的,相当于一个黑盒子。因此,基于安全密钥与第一密钥RK在本处理器内部生成第三密钥EKB,该第三密钥EKB的数据结构与处理器一一对应,实现了一机一密,能够将安全固件与本处理器绑定。通过本发明实施例提供的处理器的升级固件保护方法,能够利用本处理器内置的安全密钥,基于服务端通过空中下载技术发来的初始固件来生成与本处理器绑定的安全固件,针对性地保护了升级固件,而无须增加服务端的运算负荷。使得安全固件不能被外部破解分析,同时,即使该安全固件被读出,也不能被运行于其他任何硬件平台。从而使安全固件只能在本处理器内部被解密为升级固件RD,使升级固件RD不被盗用或篡改,提高了升级固件RD的保密性和安全性。
进一步地,本发明实施例的步骤S103中,可以将所述安全固件烧写到存储器中。
本发明实施例中,处理器通过上述方式得到安全固件后,将该安全固件烧写到存储器中。具体地,烧写安全固件的存储器可以为处理器内部用于缓存的存储器,也可是处理器外部的存储器,如ROM(EEPROM)等。作为示例地,该存储器可以有多个分区,如A、B分区,分别用于存储升级前的原有固件和新烧录的安全固件。在具体实现中,处理器可将该安全固件烧写到存储器的对应分区,实现对升级固件的保护。
在此基础上,为了使处理器完成新功能的迭代和正常运行,处理器还可进行在本处理器中对所述存储器中的所述安全固件进行验证的后续步骤,包括:利用所述安全密钥解析所述第三密钥EKB,得到所述第一密钥RK;根据所述第一密钥解密RK所述密文固件ED,得到升级固件RD;读取所述升级固件RD到内存中,以运行所述升级固件RD。其中,处理器将升级固件RD被读取到相应的内存中,为其分配内存空间,形成该升级文件RD的可执行镜像文件(image),使处理器得以正常运行,实现相应的新功能。即便升级文件RD可能为明文状态,由于仅被读到相应的内存(例如缓存SRAM或主存DRAM)里面,而不会存盘,保证了其在运行时无法被外部读取。一种可行的实现方式中,上述验证过程可由固化在本处理器内部的ROMcode执行,具体地,这部分ROMcode可在处理器出厂时被固化在内部的只读存储器里面,因此也无法被外部读取,保证了升级文件RD的安全性。
上述对安全固件进行验证的过程,可在本处理器的安全启动(Securit Boot)状态下进行,处理器的安全启动的功能,由其硬件本身所支持,具体可通过烧写处理器的熔丝(fuse)来实现。作为示例地,本处理器安全启动,比如处理器搭载的***重启时,检测存储器中是否存在新烧写的所述安全固件;当检测到所述安全固件时,在本处理器中对所述存储器中的所述安全固件进行验证。可以理解,在安全启动过程中,如果检测到存储器的对应分区中存在新烧写的所述安全固件,即需要更新时,会对该安全固件进行验证;而如果没有新烧写的安全固件则可省去上述验证过程。
本发明实施例提供的处理器的升级固件保护方法,能够将安全固件与本处理器绑定,使安全固件既无法在外部被解密,也不能被运行于除本处理器之外的其他任何硬件平台。从而使安全固件只能在本处理器内部被解密为升级固件并运行,使升级固件不被盗用或篡改,提高了升级固件的保密性和安全性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本领域技术人员应能理解,上述业务场景仅为举例,可以基于该范例进行的适当变化以用于其他场景,也可以属于本发明的精神或范畴。
此外,应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本发明实施例还提供了一种处理器的升级固件保护装置50,请参阅图3,该处理器的升级固件保护装置50可以包括:接收模块501、接收模块502和烧写模块503,其中:
接收模块501,用于接收服务端发来的初始固件;所述初始固件包括由第一密钥生成的第二密钥和由第一密钥加密的密文固件;
接收模块502,用于解析所述第二密钥得到所述第一密钥;基于所述第一密钥和本处理器内置的安全密钥,生成第三密钥;用于合并所述密文固件和所述第三密钥,得到安全固件;
烧写模块503,用于将所述安全固件烧写到存储器中。
本发明实施例提供的处理器的升级固件保护装置,能够将安全固件与本处理器绑定,使安全固件既无法在外部被解密,也不能被运行于除本处理器之外的其他任何硬件平台。从而使安全固件只能在本处理器内部被解密为升级固件并运行,使升级固件不被盗用或篡改,提高了升级固件的保密性和安全性。
所属领域的技术人员可以清楚地了解到,本发明实施例提供的处理器的升级固件保护装置可以是处理器的本身或其一部分或运行于其中的程序代码,其实现原理及产生的技术效果和前述方法实施例相同,为描述的方便和简洁,装置实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
本发明实施例还提供了一种电子设备,请参阅图4,该电子设备包括处理器401和存储器402,所述存储器402用于存储程序代码,所述程序代码由所述处理器401加载并执行以实现前述方法实施例中的至少部分相应内容。
其中,处理器401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401可以是DSP(Digital Signal Processing,数字信号处理)、ASIC(Application Specific Integrated Circuit,特殊应用集成电路)FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器401还可以包括ECU(Electronic Control Unit,电子控制单元),或AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器402可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选地,电子设备还可以包括收发器。处理器401和收发器相连,如通过总线相连接。需要说明的是,实际应用中收发器不限于一个,该电子设备的结构并不构成对本发明实施例的限定。此外,总线可包括一通路,在上述组件之间或与车身之间传送信息。总线可以是CAN总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。
本发明实施例提供的电子设备,能够将安全固件与本电子设备的处理器绑定,使安全固件既无法在外部被解密,也不能被运行于除本电子设备之外的其他任何硬件平台。从而使安全固件只能在电子设备的处理器内部被解密为升级固件并运行,使升级固件不被盗用或篡改,提高了升级固件的保密性和安全性。
本发明实施例还提供了一种车辆,该车辆包括本发明实施例中任一实现方式中所述的电子设备;所述处理器适配于本车辆。
如前所述,处理器可与车辆的硬件***和/或功能等相适应,例如处理器可以为用于控制车辆的发动机、主动悬架***、防抱死制动***、四轮驱动***、电控自动变速器、安全气囊***、空调***、电池管理***、多向可调电控座椅等硬件***的ECU,或者为相应车载终端的CPU等。
本发明实施例还提供了一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如前述各方法实施例中的方法的部分或全部步骤。
本发明实施例还提供了一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如前述各方法实施例中的方法的部分或全部步骤。
本发明实施例还提供了一种存储介质,该存储介质中存储有程序代码,所述程序代码用于执行前述方法实施例中相应内容。举例而言,该存储介质可以为计算机可读存储介质,其能够在在计算机上运行。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、电子设备、车辆、存储介质或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上所述仅是本发明的部分实施方式,应当指出,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制;同时,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改,即对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,做出的改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种处理器的升级固件保护方法,其特征在于,包括:
接收服务端发来的初始固件;所述初始固件包括由第一密钥生成的第二密钥和由第一密钥加密的密文固件;
解析所述第二密钥得到所述第一密钥;基于所述第一密钥和本处理器内置的安全密钥,生成第三密钥;合并所述密文固件和所述第三密钥,得到安全固件;
将所述安全固件烧写到存储器中;
其中,在本处理器中对所述存储器中的所述安全固件进行验证的后续步骤,包括:
利用所述安全密钥解析所述第三密钥,得到所述第一密钥;
根据所述第一密钥解密所述密文固件,得到升级固件;
读取所述升级固件到内存中,以运行所述升级固件。
2.根据权利要求1所述的处理器的升级固件保护方法,其特征在于,所述在本处理器中对所述存储器中的所述安全固件进行验证之前,包括:
本处理器安全启动时,检测存储器中是否存在新烧写的所述安全固件;
当检测到所述安全固件时,在本处理器中对所述存储器中的所述安全固件进行验证。
3.根据权利要求1所述的处理器的升级固件保护方法,其特征在于,所述接收服务端发来的初始固件之前,还包括:
向服务端发送升级请求,所述升级请求包括本处理器的芯片信息;使服务端基于所述芯片信息和所述第一密钥生成所述初始固件,基于空中下载技术向所述处理器发送所述初始固件。
4.根据权利要求3所述的处理器的升级固件保护方法,其特征在于,所述基于所述芯片信息和所述第一密钥生成所述初始固件,包括:
基于所述芯片信息生成适配于所述处理器的所述升级固件;
通过所述第一密钥加密所述升级固件,得到所述密文固件;基于所述第一密钥生成第二密钥;
合并所述密文固件和所述第二密钥,得到所述初始固件。
5.根据权利要求1所述的处理器的升级固件保护方法,其特征在于,所述安全密钥唯一地预置于所述处理器中,且不能被外界读取。
6.根据权利要求4所述的处理器的升级固件保护方法,其特征在于,所述第一密钥由服务端通过预设加密工具生成,所述加密工具每次生成的第一密钥均不相同;
所述基于所述第一密钥生成第二密钥,包括混淆和加密所述第一密钥,生成第二密钥。
7.一种处理器的升级固件保护装置,其特征在于,包括:
接收模块,用于接收服务端发来的初始固件;所述初始固件包括由第一密钥生成的第二密钥和由第一密钥加密的密文固件;
生成模块,用于解析所述第二密钥得到所述第一密钥;基于所述第一密钥和本处理器内置的安全密钥,生成第三密钥;用于合并所述密文固件和所述第三密钥,得到安全固件;
烧写模块,用于将所述安全固件烧写到存储器中,以及对所述存储器中的所述安全固件进行验证后,先利用所述安全密钥解析所述第三密钥,得到所述第一密钥;再根据所述第一密钥解密所述密文固件,得到升级固件;然后读取所述升级固件到内存中,以运行所述升级固件。
8.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现如权利要求1至6任一项权利要求所述的方法中所执行的操作。
9.一种车辆,其特征在于,包括如权利要求8所述的电子设备;所述处理器适配于本车辆。
10.一种存储介质,其特征在于,所述存储介质中存储有程序代码,所述程序代码用于执行权利要求1至6任一项权利要求所述的方法。
CN201911331484.7A 2019-12-21 2019-12-21 处理器的升级固件保护方法、装置及车辆 Active CN111142902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911331484.7A CN111142902B (zh) 2019-12-21 2019-12-21 处理器的升级固件保护方法、装置及车辆

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911331484.7A CN111142902B (zh) 2019-12-21 2019-12-21 处理器的升级固件保护方法、装置及车辆

Publications (2)

Publication Number Publication Date
CN111142902A CN111142902A (zh) 2020-05-12
CN111142902B true CN111142902B (zh) 2023-05-16

Family

ID=70519257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911331484.7A Active CN111142902B (zh) 2019-12-21 2019-12-21 处理器的升级固件保护方法、装置及车辆

Country Status (1)

Country Link
CN (1) CN111142902B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996725B (zh) * 2022-05-06 2023-07-28 北京中科昊芯科技有限公司 一种保护开发程序的方法以及处理器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214168A (zh) * 2018-08-27 2019-01-15 阿里巴巴集团控股有限公司 固件升级方法及装置
CN110221852A (zh) * 2019-05-15 2019-09-10 深兰科技(上海)有限公司 一种固件升级方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214168A (zh) * 2018-08-27 2019-01-15 阿里巴巴集团控股有限公司 固件升级方法及装置
CN110221852A (zh) * 2019-05-15 2019-09-10 深兰科技(上海)有限公司 一种固件升级方法及装置

Also Published As

Publication number Publication date
CN111142902A (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
US8560823B1 (en) Trusted modular firmware update using digital certificate
EP2210174B1 (en) Progressive boot for a wireless device
US20160378457A1 (en) Program update system and program update method
CN100578473C (zh) 嵌入式***和增加嵌入式***安全性的方法
CN103946856B (zh) 加解密处理方法、装置和设备
CN105391840A (zh) 自动创建目标应用程序
CN103620556A (zh) 将应用绑定到设备能力
JP6855918B2 (ja) 暗号鍵の処理を行う車両用システム及び電子制御装置
EP2051181A1 (en) Information terminal, security device, data protection method, and data protection program
Dakroub et al. Connected car architecture and virtualization
CN107832589A (zh) 软件版权保护方法及其***
CN108880859A (zh) 升级文件的配置方法、装置、服务器、终端及存储介质
KR102272928B1 (ko) 암호화 데이터를 이용하는 기계학습 모델 운영방법 및 기계학습 모델 기반 장치
JP2007065893A (ja) プログラム提供装置および車載情報システム
CN116522358A (zh) 数据加密方法、装置、计算设备及存储介质
CN111142902B (zh) 处理器的升级固件保护方法、装置及车辆
CN109889334A (zh) 嵌入式固件加密方法、装置、wifi设备及存储介质
CN101551838A (zh) 一种存储卡身份认证方法及其***
CN110533128B (zh) 一种基于加密的防伪溯源数据处理方法、装置、***及介质
CN115080075B (zh) 一种嵌入式硬件安全模块的固件部署***及方法
CN116011042A (zh) 数据存储方法、装置、***、计算机设备和存储介质
EP4246873A1 (en) Method and system for changing key in security module
US11776340B2 (en) Electronic device authentication method, and apparatus according thereto
CN111079124B (zh) 安全芯片激活方法、装置、终端设备及服务器
JP2004338607A (ja) ドライブレコーダの車両状態データ書込・読取システム、ドライブレコーダおよび車両状態データ読取機

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