CN112653559B - 一种电控单元启动方法、装置及存储介质 - Google Patents

一种电控单元启动方法、装置及存储介质 Download PDF

Info

Publication number
CN112653559B
CN112653559B CN202110002282.9A CN202110002282A CN112653559B CN 112653559 B CN112653559 B CN 112653559B CN 202110002282 A CN202110002282 A CN 202110002282A CN 112653559 B CN112653559 B CN 112653559B
Authority
CN
China
Prior art keywords
authentication
authentication code
message authentication
authentication data
data
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
CN202110002282.9A
Other languages
English (en)
Other versions
CN112653559A (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.)
Weichai Power Co Ltd
Original Assignee
Weichai Power 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 Weichai Power Co Ltd filed Critical Weichai Power Co Ltd
Priority to CN202110002282.9A priority Critical patent/CN112653559B/zh
Publication of CN112653559A publication Critical patent/CN112653559A/zh
Application granted granted Critical
Publication of CN112653559B publication Critical patent/CN112653559B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • 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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

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

Abstract

本申请公开了一种电控单元启动方法、装置及存储介质,涉及计算机处理领域,用以提高ECU启动的安全性。该方法中,通过采用伽罗瓦消息认证码GMAC算法生成消息认证码,并与预先存储的消息认证码进行对比,若所有对比结果均是对比相同,则启动电控单元。这样,由于密钥和安全访问算法安全存储,且物理存储空间独立,防止第三方监听盗用;同时GMAC不要求可逆性,采用GMAC算法生成消息认证码,逆向破解难度相对较高,因此提高了ECU启动的安全性。

Description

一种电控单元启动方法、装置及存储介质
技术领域
本申请涉及计算机处理领域,尤其涉及一种电控单元启动方法、装置及存储介质。
背景技术
随着汽车电子软件的复杂度和网络安全国内外标准规范的发布和推广,加固ECU(Electronic Control Unit,电控单元)安全启动流程迫在眉睫。同时,繁华的车辆市场软件运行环境中,也一直存在着探测篡改攻击,实时篡改软件状态以达到软件运行边界或溢出等目的进而截获ECU控制权。
然而,传统安全启动需求方案只体现需要启动流程中针对BT(Bootloader,嵌入式系统引导加载程序)和软件应用程序区进行CMAC(基于分组加密的消息认证码)或者CRC(Cyclic Redundancy Check,循环冗余校验)完整性验证。而CMAC算法本身存在容易被固定读取破解风险,缺乏随机性。因此,现有技术的ECU启动方案存在安全隐患。
发明内容
本申请实施例提供一种电控单元启动方法、装置及存储介质,用以提高ECU启动的安全性。
第一方面,本申请实施例提供一种电控单元启动方法,该方法包括:
响应启动指令,获取认证参数和各认证数据;
通过伽罗瓦消息认证码算法和所述认证参数,得到各认证数据的消息认证码;
针对每个认证数据的消息认证码,将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果;
若所有对比结果均符合预设条件,则启动电控单元。
上述方法,通过采用伽罗瓦消息认证码GMAC算法生成消息认证码,并与预先存储的消息认证码进行对比,若所有对比结果均是对比相同,则启动电控单元。这样,由于密钥和安全访问算法安全存储,且物理存储空间独立,防止第三方监听盗用;同时GMAC不要求可逆性,采用GMAC算法生成消息认证码,逆向破解难度相对较高,因此提高了ECU启动的安全性。
在一种可能的实现方式中,所述认证参数包括:随机数、私有密钥、由固定地址读回嵌入式系统引导加载程序软件版本号、由固定地址读回应用程序软件版本号和数据长度;
所述认证数据包括:嵌入式系统引导加载程序地址段、第一核地址段、第二核地址段和第三核地址段。
上述方法,通过采用GMAC算法生成消息认证码,所用认证参数更为多,从而使生成的消息认证码更为复杂,不易被破解,从而提高了ECU启动的安全性。
在一种可能的实现方式中,所述通过伽罗瓦消息认证码算法和所述认证参数,得到各认证数据的消息认证码,包括:
对各认证数据进行排序;
按照排序顺序,通过伽罗瓦消息认证码算法和所述认证参数,得到首位认证数据的消息认证码;
将所述首位认证数据作为当前认证数据;
若当前认证数据的消息认证码与所述当前认证数据对应的预先存储的消息认证码的对比结果符合预设条件,则按照排序顺序,获取下一个认证数据的消息认证码,并将下一个认证数据作为当前认证数据。
上述方法,通过对认证数据进行排序,并依次获取认证数据的消息认证码,这样,可以减小计算量,提高计算效率。且若遇到认证数据的消息认证码与预设的消息认证码不一致的情况下,便停止获取下一个认证数据的消息认证码,进一步提高了ECU启动的安全性。
在一种可能的实现方式中,所述针对每个认证数据的消息认证码,将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果,包括:
针对每个认证数据的消息认证码,若该认证数据的消息认证码存在对比结果,则将该对比结果作为该认证数据的对比结果;
若该认证数据的消息认证码不存在对比结果,则将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果。
上述方法,在进行比对时,若存在认证数据的消息认证码存在对比结果,则不需要再次比对,只需要对不存在对比结果的消息认证码进行比对。这样,提高了运算速度。
在一种可能的实现方式中,所述若所有对比结果均符合预设条件,则启动电控单元之后,所述方法还包括:
在认证周期内,对认证参数进行更新,得到更新认证参数;
通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第一瞬态消息认证码;
经过预设时长,通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第二瞬态消息认证码;其中,所述第一瞬态消息认证码和所述第二瞬态消息认证码在同一周期内;
若各认证数据的所述第一瞬态消息认证码与所述第二瞬态消息认证码相同,则认证成功。
上述方法,在电控单元启动后,继续以周期进行瞬态消息认证码的认证,可以进一步的提高ECU运行的安全性。
第二方面,本申请实施例提供的一种电控单元启动装置,包括:
获取模块,用于响应启动指令,获取认证参数和各认证数据;
计算模块,用于通过伽罗瓦消息认证码算法和所述认证参数,得到各认证数据的消息认证码;
对比模块,用于针对每个认证数据的消息认证码,将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果;
启动模块,用于若所有对比结果均符合预设条件,则启动电控单元。
在一种可能的实现方式中,所述认证参数包括:随机数、私有密钥、由固定地址读回嵌入式系统引导加载程序软件版本号、由固定地址读回应用程序软件版本号和数据长度;
所述认证数据包括:嵌入式系统引导加载程序地址段、第一核地址段、第二核地址段和第三核地址段。
在一种可能的实现方式中,计算模块包括:
排序单元,用于对各认证数据进行排序;
第一获取单元,用于按照排序顺序,通过伽罗瓦消息认证码算法和所述认证参数,得到首位认证数据的消息认证码;
确定单元,用于将所述首位认证数据作为当前认证数据;
第二获取单元,用于若当前认证数据的消息认证码与所述当前认证数据对应的预先存储的消息认证码的对比结果符合预设条件,则按照排序顺序,获取下一个认证数据的消息认证码,并将下一个认证数据作为当前认证数据。
在一种可能的实现方式中,对比模块包括:
第一对比单元,用于针对每个认证数据的消息认证码,若该认证数据的消息认证码存在对比结果,则将该对比结果作为该认证数据的对比结果;
第二对比单元,用于若该认证数据的消息认证码不存在对比结果,则将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果。
在一种可能的实现方式中,所述装置还包括:
更新模块,用于启动模块若所有对比结果均符合预设条件,则启动电控单元之后,在认证周期内,对认证参数进行更新,得到更新认证参数;
第一生成模块,用于通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第一瞬态消息认证码;
第二生成模块,用于经过预设时长,通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第二瞬态消息认证码;其中,所述第一瞬态消息认证码和所述第二瞬态消息认证码在同一周期内;
认证模块,用于若各认证数据的所述第一瞬态消息认证码与所述第二瞬态消息认证码相同,则认证成功。
第三方面,提供一种计算装置,包括至少一个处理单元、以及至少一个存储单元,其中,存储单元存储有计算机程序,当程序被处理单元执行时,使得处理单元执行上述任意一种电控单元启动方法的步骤。
在一个实施例中,计算装置可以是服务器,也可以是终端设备。
第四方面,提供一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当程序在终端设备上运行时,使得终端设备执行上述任意一种电控单元启动方法的步骤。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中电控单元启动方法的流程示意图;
图2为本申请实施例中电控单元启动方法的整体工作流程图;
图3为本申请实施例中电控单元启动结构示意图;
图4为根据本申请实施方式的计算装置的结构示意图。
具体实施方式
为了提高ECU启动的安全性,本申请实施例中提供一种电控单元启动方法、装置及存储介质。为了更好的理解本申请实施例提供的技术方案,这里对该方案的基本原理做一下简单说明:
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
下面结合附图介绍本申请实施例提供的技术方案。
随着汽车电子软件的复杂度和网络安全国内外标准规范的发布和推广,加固ECU安全启动流程迫在眉睫。同时,繁华的车辆市场软件运行环境中,也一直存在着探测篡改攻击,实时篡改软件状态以达到软件运行边界或溢出等目的进而截获ECU控制权。
然而,传统安全启动需求方案只体现需要启动流程中针对BT(Bootloader,嵌入式系统引导加载程序)和软件应用程序区进行CMAC(基于分组加密的消息认证码)或者CRC(Cyclic Redundancy Check,循环冗余校验)完整性验证。而CMAC算法本身存在容易被固定读取破解风险,缺乏随机性。
另外,一些更高性能安全防护系统一般建立在完善的服务器部署网基础之上,部分离线ECU或者不具备与服务器建立通讯能力的ECU对于这类服务器管理类安全策略适应性基本为0。因此,现有技术的ECU启动方案存在安全隐患。
因此,为了解决上述问题,本申请实施例提供一种电控单元启动方法、装置及存储介质,通过采用伽罗瓦消息认证码(GMAC)算法生成消息认证码,并与预先存储的消息认证码进行对比,若所有对比结果均是对比相同,则启动电控单元。这样,由于密钥和安全访问算法安全存储,且物理存储空间独立,防止第三方监听盗用;同时GMAC不要求可逆性,采用GMAC算法生成消息认证码,逆向破解难度相对较高,因此提高了ECU启动的安全性。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请实施例中的实施例及实施例中的特征可以相互组合。
下面对本申请实施例提供的电控单元启动方法进行进一步的解释说明。如图1所示,包括以下步骤:
S101:响应启动指令,获取认证参数和各认证数据。
在本申请实施例中,在上电之后,便会进入启动流程,此时单片机便会接收到启动指令。
在软件启动BT阶段,验证启动环境部分软件完整性和版本内容一致性,以及检查认证参数是否保持不变。
在检查完毕后,便获取认证参数和各认证数据。
其中,由于本申请中采用GMAC算法,因此在本申请中具有5个形参,认证参数包括:随机数IV、私有密钥Key、由固定地址读回嵌入式系统引导加载程序软件版本号AD1、由固定地址读回应用程序软件版本号AD2和数据长度Length。
而认证数据包括:嵌入式系统引导加载程序地址段(BT flash地址段)、第一核地址段(核0flash地址段)、第二核地址段(核1flash地址段)和第三核地址段(核2flash地址段)。
S102:通过伽罗瓦消息认证码算法和所述认证参数,得到各认证数据的消息认证码。
在本申请实施例中,根据认证参数和认证数据,采用GMAC算法便能够得到认证数据对应的消息认证码,计算消息认证码的公式如下:
MAC=AES_GMAC(IV,Key,AD1,AD2,length,Data);
其中,MAC为消息认证码,Data为认证数据。
如上所述,认证数据有四个,则通过计算,可以得到四个消息认证码。
为了减小计算量,提高计算效率,在计算认证数据时可以不计算全部认证数据的消息认证码,而是先计算一部分,若确定这一部分计算的消息认证码经过对比没有问题,在计算下一部分的消息认证码,具体可实施为步骤A1-A4:
步骤A1:对各认证数据进行排序。
步骤A2:按照排序顺序,通过伽罗瓦消息认证码算法和所述认证参数,得到首位认证数据的消息认证码。
步骤A3:将所述首位认证数据作为当前认证数据。
步骤A4:若当前认证数据的消息认证码与所述当前认证数据对应的预先存储的消息认证码的对比结果符合预设条件,则按照排序顺序,获取下一个认证数据的消息认证码,并将下一个认证数据作为当前认证数据。
例如:对认证数据的排序顺序为:嵌入式系统引导加载程序地址段、第一核地址段、第二核地址段和第三核地址段。
则在计算生成消息认证码时,先计算嵌入式系统引导加载程序地址段对应的消息认证码。并对生成的消息认证码与预先存储的嵌入式系统引导加载程序地址段对应的消息认证码进行比较,若比较结果确认两个消息认证码相同,则确认无误,并继续生成第一核地址段对应的消息认证码,对生成的第一核地址段对应的消息认证码与预先存储的第一核地址段对应的消息认证码进行比较,若比较结果确认两个消息认证码相同,则确认无误并继续生成之后的消息认证码,直至生成完所有的消息认证码。
当然,若遇到对比结果不一致的情况,则停止生成下一个认证数据的消息认证码。此时,认为当前的ECU电启动环境不安全。
这样,通过对认证数据进行排序,并依次获取认证数据的消息认证码,可以减小计算量,提高计算效率。且若遇到认证数据的消息认证码与预设的消息认证码不一致的情况下,便停止获取下一个认证数据的消息认证码,进一步提高了ECU启动的安全性。
需要说明的是,除了单独生成一个认证数据的消息认证码,也可以对认证数据进行分组,并获取一个分组中认证数据的消息认证码,若分组内各认证数据的消息认证码与预先存储的消息认证码的对比后,确认预先存储的消息认证码和生成的消息认证码相同,则再生成下一个分组中的认证数据的消息认证码。
例如:将认证数据分为两组,第一组为嵌入式系统引导加载程序地址段、第一核地址段;第二组为第二核地址段和第三核地址段。
其中,分组内的认证数据至少为一个。
S103:针对每个认证数据的消息认证码,将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果。
在本申请实施例中,获取到各认证数据的消息认证码之后,与预先存储的消息认证码进行对比,确定生成的消息认证码与预先存储的消息认证码是否一致。
例如生成了四个消息认证码:MAC1、MAC2、MAC3和MAC4。预先存储四个消息认证码:MACs1、MACs2、MACs3和MACs4。则进行对比时,将MAC1与MACs1进行对比、MAC2与MACs2进行对比、MAC3与MACs3进行对比、MAC4与MACs4进行对比。
在本申请实施例中,若在生成消息认证码时是按照顺序生成的,则之前生成的消息认证码已经进行过对比了,只有最后生成的消息认证码没有进行对比。因此,在进行比对时,根据是否对比过来确定对比结果,具体可实施为:
针对每个认证数据的消息认证码,若该认证数据的消息认证码存在对比结果,则将该对比结果作为该认证数据的对比结果;
若该认证数据的消息认证码不存在对比结果,则将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果。
例如:按照顺序生成四个认证数据,由于前三个认证数据生成的消息认证码与预先存储的消息认证码进行对比过,且对比结果为消息认证码相同,才会生成第四个消息认证码,因此,在进行比对时,只需要对第四个消息认证码比对即可。这样,提高了运算速度。
S104:若所有对比结果均符合预设条件,则启动电控单元。
在启动了电控单元后,为了进一步提高ECU的安全性,还可以在ECU运行过程中进行周期认证,具体可实施为步骤B1-B4:
步骤B1:在认证周期内,对认证参数进行更新,得到更新认证参数。
在本申请实施例中,启动电控单元后,运行环境软件完整性监控检查和实时防篡改防御机制,对认证参数进行更新。例如,对认证参数中的随机数进行更新。
而认证周期可以是预先设置的周期,也可以根据步长确定认证周期。
步骤B2:通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第一瞬态消息认证码。
在本申请实施例中,在生成第一瞬态消息认证码后,将第一瞬态消息认证码进行存储。
步骤B3:经过预设时长,通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第二瞬态消息认证码;其中,所述第一瞬态消息认证码和所述第二瞬态消息认证码在同一周期内。
步骤B4:若各认证数据的所述第一瞬态消息认证码与所述第二瞬态消息认证码相同,则认证成功。
在本申请实施例中,若第一瞬态消息认证码与第二瞬态消息认证码不相同,则确定当前运行环境存在安全隐患。
这样,通过静态MAC检查确认软件内容和版本真实性,保证启动软件的完整性和来源合法性,兼容版本一致性检查。应用程序中周期进行瞬态MAC计算检查,实现软件运行环境实时防篡改防御机制,从而提高了ECU启动的安全性。
在介绍完电控单元启动方法后,下面结合电控单元的结构对电控单元启动方法做进一步的说明。
如图2所示,通过单片机的单片机主机(HOST)和硬件加密模块(HardwareSecurity Module,HSM)进行电控单元启动流程。
首先,在单片机上电后,由HSM仲裁MCU启动环境部分软件完整性和版本内容一致性,检查完毕后,HSM向HOST发送一个使能信号,即启动用户代码,开始启动电控单元。此时进入启动代码阶段。
HOST接收到HSM发送的使能信号后,向HSM发送GMAC验证请求。其中,GMAC验证请求为预先存储的2个消息认证码,分别为根据BT flash地址段生成的消息认证码MACs1和根据核0地址段生成的消息认证码MACs2。
HSM根据GMAC算法和认证参数以及BT flash地址段生成消息认证码MAC1;根据核0地址段生成的消息认证码MAC2。将生成的MAC1与预先存储的MACs1进行比对;将生成的MAC2与预先存储的MACs2进行比对。若对比结果均为消息认证码相同,则向HOST返回验证结果。
HOST若接收到静态对比结果两者均一致的反馈,释放BT向应用程序跳转条件的状态位,即,允许软件运行环境BT向核0跳转运行。反之,软件运行环境停留在BT环境中;在此状态下,向HSM在此发送GMAC验证请求。此时,GMAC验证请求为预先存储的2个消息认证码,分别为根据核1地址段生成的消息认证码MACs3和根据核2地址段生成的消息认证码MACs4。
HSM根据GMAC算法和认证参数以及核1地址段生成消息认证码MAC3;根据核2地址段生成的消息认证码MAC4。将生成的MAC3与预先存储的MACs3进行比对;将生成的MAC4与预先存储的MACs4进行比对。若对比结果均为消息认证码相同,则向HOST返回验证结果。
HOST若接收到静态对比结果两者均一致的反馈,释放核1和核2运行环境启动条件状态位。此时,启动电控单元。反之,软件运行环境停留在核0环境中。
当上述四个静态消息认证码完整性验证通过,由HSM实施MCU运行环境软件完整性监控检查和实时防篡改防御机制,瞬态检查过程GMAC算法参数IV由HSM动态连续生成真实随机数。
HSM固定周期顺序扫描FLASH地址计算得出MACs。其中,实时计算得出的MAC生命周期只存在一个步长,HSM负责仲裁对比MACs与上一个步长计算得出MAC,对比完成销毁计算结果,检查地址继续扫描,实现瞬态MAC启动环境的安全检查。异常情况下,采取措施限制部分软件功能的运行。
基于相同的发明构思,本申请实施例还提供了一种电控单元启动装置。如图3所示,该装置包括:
获取模块301,用于响应启动指令,获取认证参数和各认证数据;
计算模块302,用于通过伽罗瓦消息认证码算法和所述认证参数,得到各认证数据的消息认证码;
对比模块303,用于针对每个认证数据的消息认证码,将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果;
启动模块304,用于若所有对比结果均符合预设条件,则启动电控单元。
在一种可能的实现方式中,所述认证参数包括:随机数、私有密钥、由固定地址读回嵌入式系统引导加载程序软件版本号、由固定地址读回应用程序软件版本号和数据长度;
所述认证数据包括:嵌入式系统引导加载程序地址段、第一核地址段、第二核地址段和第三核地址段。
在一种可能的实现方式中,计算模块302包括:
排序单元,用于对各认证数据进行排序;
第一获取单元,用于按照排序顺序,通过伽罗瓦消息认证码算法和所述认证参数,得到首位认证数据的消息认证码;
确定单元,用于将所述首位认证数据作为当前认证数据;
第二获取单元,用于若当前认证数据的消息认证码与所述当前认证数据对应的预先存储的消息认证码的对比结果符合预设条件,则按照排序顺序,获取下一个认证数据的消息认证码,并将下一个认证数据作为当前认证数据。
在一种可能的实现方式中,对比模块303包括:
第一对比单元,用于针对每个认证数据的消息认证码,若该认证数据的消息认证码存在对比结果,则将该对比结果作为该认证数据的对比结果;
第二对比单元,用于若该认证数据的消息认证码不存在对比结果,则将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果。
在一种可能的实现方式中,所述装置还包括:
更新模块,用于启动模块304若所有对比结果均符合预设条件,则启动电控单元之后,在认证周期内,对认证参数进行更新,得到更新认证参数;
第一生成模块,用于通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第一瞬态消息认证码;
第二生成模块,用于经过预设时长,通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第二瞬态消息认证码;其中,所述第一瞬态消息认证码和所述第二瞬态消息认证码在同一周期内;
认证模块,用于若各认证数据的所述第一瞬态消息认证码与所述第二瞬态消息认证码相同,则认证成功。
基于同一技术构思,本申请实施例还提供了一种终端设备400,参照图4所示,终端设备400用于实施上述各个方法实施例记载的方法,例如实施图1所示的实施例,终端设备400可以包括存储器401、处理器402、输入单元403和显示面板404。
存储器401,用于存储处理器402执行的计算机程序。存储器401可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端设备400的使用所创建的数据等。处理器402,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等。输入单元403,可以用于获取用户输入的用户指令。显示面板404,用于显示由用户输入的信息或提供给用户的信息,本申请实施例中,显示面板404主要用于显示终端设备中各应用程序的显示界面以及各显示界面中显示的控件实体。可选的,显示面板404可以采用液晶显示器(liquid crystaldisplay,LCD)或OLED(organic light-emitting diode,有机发光二极管)等形式来配置显示面板404。
本申请实施例中不限定上述存储器401、处理器402、输入单元403和显示面板404之间的具体连接介质。本申请实施例在图4中以存储器401、处理器402、输入单元403、显示面板404之间通过总线405连接,总线405在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线405可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器401可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器401也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器401是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器401可以是上述存储器的组合。
处理器402,用于实现如图1所示的实施例,包括:
处理器402,用于调用存储器401中存储的计算机程序执行如实施图1所示的实施例。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本申请提供的一种电控单元启动方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种电控单元启动方法中的步骤。例如,终端设备可以执行如实施图1所示的实施例。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于一种电控单元启动程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向实体的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
这些计算机程序指令也可存储在能引导计算机或其他可编程电控单元启动设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程电控单元启动设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种电控单元启动方法,其特征在于,所述方法包括:
响应启动指令,获取认证参数和各认证数据;
通过伽罗瓦消息认证码算法和所述认证参数,得到各认证数据的消息认证码;
针对每个认证数据的消息认证码,将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果;
若所有对比结果均符合预设条件,则启动电控单元;
在认证周期内,对认证参数进行更新,得到更新认证参数;
通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第一瞬态消息认证码;
经过预设时长,通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第二瞬态消息认证码;其中,所述第一瞬态消息认证码和所述第二瞬态消息认证码在同一周期内;
若各认证数据的所述第一瞬态消息认证码与所述第二瞬态消息认证码相同,则认证成功。
2.根据权利要求1所述的方法,其特征在于,所述认证参数包括:随机数、私有密钥、由固定地址读回嵌入式系统引导加载程序软件版本号、由固定地址读回应用程序软件版本号和数据长度;
所述认证数据包括:嵌入式系统引导加载程序地址段、第一核地址段、第二核地址段和第三核地址段。
3.根据权利要求1所述的方法,其特征在于,所述通过伽罗瓦消息认证码算法和所述认证参数,得到各认证数据的消息认证码,包括:
对各认证数据进行排序;
按照排序顺序,通过伽罗瓦消息认证码算法和所述认证参数,得到首位认证数据的消息认证码;
将所述首位认证数据作为当前认证数据;
若当前认证数据的消息认证码与所述当前认证数据对应的预先存储的消息认证码的对比结果符合预设条件,则按照排序顺序,获取下一个认证数据的消息认证码,并将下一个认证数据作为当前认证数据。
4.根据权利要求3所述的方法,其特征在于,所述针对每个认证数据的消息认证码,将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果,包括:
针对每个认证数据的消息认证码,若该认证数据的消息认证码存在对比结果,则将该对比结果作为该认证数据的对比结果;
若该认证数据的消息认证码不存在对比结果,则将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果。
5.一种电控单元启动装置,其特征在于,所述装置包括:
获取模块,用于响应启动指令,获取认证参数和各认证数据;
计算模块,用于通过伽罗瓦消息认证码算法和所述认证参数,得到各认证数据的消息认证码;
对比模块,用于针对每个认证数据的消息认证码,将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果;
启动模块,用于若所有对比结果均符合预设条件,则启动电控单元;
更新模块,用于启动模块若所有对比结果均符合预设条件,则启动电控单元之后,在认证周期内,对认证参数进行更新,得到更新认证参数;
第一生成模块,用于通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第一瞬态消息认证码;
第二生成模块,用于经过预设时长,通过伽罗瓦消息认证码算法和所述更新认证参数,生成各认证数据的第二瞬态消息认证码;其中,所述第一瞬态消息认证码和所述第二瞬态消息认证码在同一周期内;
认证模块,用于若各认证数据的所述第一瞬态消息认证码与所述第二瞬态消息认证码相同,则认证成功。
6.根据权利要求5所述的装置,其特征在于,所述认证参数包括:随机数、私有密钥、由固定地址读回嵌入式系统引导加载程序软件版本号、由固定地址读回应用程序软件版本号和数据长度;
所述认证数据包括:嵌入式系统引导加载程序地址段、第一核地址段、第二核地址段和第三核地址段。
7.根据权利要求5所述的装置,其特征在于,计算模块包括:
排序单元,用于对各认证数据进行排序;
第一获取单元,用于按照排序顺序,通过伽罗瓦消息认证码算法和所述认证参数,得到首位认证数据的消息认证码;
确定单元,用于将所述首位认证数据作为当前认证数据;
第二获取单元,用于若当前认证数据的消息认证码与所述当前认证数据对应的预先存储的消息认证码的对比结果符合预设条件,则按照排序顺序,获取下一个认证数据的消息认证码,并将下一个认证数据作为当前认证数据。
8.根据权利要求7所述的装置,其特征在于,对比模块包括:
第一对比单元,用于针对每个认证数据的消息认证码,若该认证数据的消息认证码存在对比结果,则将该对比结果作为该认证数据的对比结果;
第二对比单元,用于若该认证数据的消息认证码不存在对比结果,则将该认证数据的消息认证码与该认证数据对应的预先存储的消息认证码进行对比,得到该认证数据的消息认证码的对比结果。
9.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1至4中任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行权利要求1至4中任一所述方法的步骤。
CN202110002282.9A 2021-01-04 2021-01-04 一种电控单元启动方法、装置及存储介质 Active CN112653559B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110002282.9A CN112653559B (zh) 2021-01-04 2021-01-04 一种电控单元启动方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110002282.9A CN112653559B (zh) 2021-01-04 2021-01-04 一种电控单元启动方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112653559A CN112653559A (zh) 2021-04-13
CN112653559B true CN112653559B (zh) 2023-01-06

Family

ID=75367225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110002282.9A Active CN112653559B (zh) 2021-01-04 2021-01-04 一种电控单元启动方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112653559B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115828250B (zh) * 2022-01-07 2024-01-26 宁德时代新能源科技股份有限公司 生产电池管理系统的方法和启动电池管理系统的方法
CN114124578B (zh) * 2022-01-25 2022-04-15 湖北芯擎科技有限公司 一种通信方法、装置、车辆及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108075897A (zh) * 2016-11-07 2018-05-25 福特全球技术公司 控制器局域网消息认证
JP2019061663A (ja) * 2017-09-27 2019-04-18 株式会社デンソー 電子制御装置
CN110545175A (zh) * 2019-08-23 2019-12-06 国网湖北省电力有限公司电力科学研究院 一种针对充电桩与电动汽车通信协议的安全认证方法
CN110858249A (zh) * 2018-08-24 2020-03-03 中移(杭州)信息技术有限公司 一种数据库文件加密方法、解密方法和相关装置
CN111813078A (zh) * 2020-06-24 2020-10-23 北京天融信网络安全技术有限公司 一种车辆的安全诊断方法、装置、设备及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104029652A (zh) * 2014-06-25 2014-09-10 奇瑞汽车股份有限公司 一种can总线汽车发动机防盗系统及其认证方法
CN109286500B (zh) * 2018-09-30 2023-04-11 阿波罗智联(北京)科技有限公司 车辆电子控制单元ecu认证方法、装置及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108075897A (zh) * 2016-11-07 2018-05-25 福特全球技术公司 控制器局域网消息认证
JP2019061663A (ja) * 2017-09-27 2019-04-18 株式会社デンソー 電子制御装置
CN110858249A (zh) * 2018-08-24 2020-03-03 中移(杭州)信息技术有限公司 一种数据库文件加密方法、解密方法和相关装置
CN110545175A (zh) * 2019-08-23 2019-12-06 国网湖北省电力有限公司电力科学研究院 一种针对充电桩与电动汽车通信协议的安全认证方法
CN111813078A (zh) * 2020-06-24 2020-10-23 北京天融信网络安全技术有限公司 一种车辆的安全诊断方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112653559A (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
US11196572B2 (en) Blockchain-based content verification
CN110968844B (zh) 离线状态下的软件授权方法、服务器及可读存储介质
US11093258B2 (en) Method for trusted booting of PLC based on measurement mechanism
US10019601B2 (en) Method and apparatus for securely saving and restoring the state of a computing platform
EP1805571B1 (en) Verifying binding of an initial trusted device to a secured processing system
CN108183907A (zh) 一种认证方法、服务器及认证系统
CN101432752B (zh) 可信平台现场升级系统和方法
TW201732669A (zh) 受控的安全碼鑑認
CN112653559B (zh) 一种电控单元启动方法、装置及存储介质
CN109840430A (zh) Plc的安全处理单元及其总线仲裁方法
CN110730159B (zh) 一种基于TrustZone的安全和可信混合系统启动方法
CN108140092B (zh) 具有多个可信根的设备
CN101276389A (zh) 单个物理可信平台模块内的多个逻辑可信平台模块的分离
US20220382874A1 (en) Secure computation environment
JP7450713B2 (ja) ソフトウェア完全性保護方法および装置、ならびにソフトウェア完全性検証方法および装置
CN109814934B (zh) 数据处理方法、装置、可读介质和系统
CN112148314A (zh) 一种嵌入式系统的镜像验证方法、装置、设备及存储介质
CN104794394A (zh) 一种虚拟机启动校验的方法及装置
CN111177709A (zh) 一种终端可信组件的执行方法、装置及计算机设备
CN104899524B (zh) 中央处理器和验证主机板数据的方法
CN115934194A (zh) 一种控制器启动方法、装置、电子设备及储存介质
JP4621732B2 (ja) 車両外部の装置を認証するための方法、制御機器を有する自動車両のバスシステム及び車両外部の装置を認証するためのコンピュータ・プログラム
CN112861137A (zh) 安全固件
CN115964721A (zh) 一种程序验证方法及电子设备
CN114764347A (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