CN112100580A - 一种小内存控制器的验签方法、装置及介质 - Google Patents

一种小内存控制器的验签方法、装置及介质 Download PDF

Info

Publication number
CN112100580A
CN112100580A CN202010812648.4A CN202010812648A CN112100580A CN 112100580 A CN112100580 A CN 112100580A CN 202010812648 A CN202010812648 A CN 202010812648A CN 112100580 A CN112100580 A CN 112100580A
Authority
CN
China
Prior art keywords
signature
signature verification
hash code
mode
public key
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.)
Granted
Application number
CN202010812648.4A
Other languages
English (en)
Other versions
CN112100580B (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.)
Zhejiang Geely Holding Group Co Ltd
Ningbo Geely Automobile Research and Development Co Ltd
Original Assignee
Zhejiang Geely Holding Group Co Ltd
Ningbo Geely Automobile Research and Development 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 Zhejiang Geely Holding Group Co Ltd, Ningbo Geely Automobile Research and Development Co Ltd filed Critical Zhejiang Geely Holding Group Co Ltd
Priority to CN202010812648.4A priority Critical patent/CN112100580B/zh
Publication of CN112100580A publication Critical patent/CN112100580A/zh
Application granted granted Critical
Publication of CN112100580B publication Critical patent/CN112100580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开一种小内存控制器的验签方法、装置及介质,本申请通过当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将所述目标哈希码存储到随机存取存储器中;对内存进行重置,并将随机存取存储器中的工作模式改为验签模式;当所述工作模式为验签模式时,获取签名数据和公钥;利用所述目标哈希码、所述签名数据和所述公钥进行签名验证,生成验签结果,并将所述验签结果存储到所述随机存取存储器中,可以实现控制器在进行软件刷写后对小内存控制器的验签,保证小内存控制器的软件刷写安全性。

Description

一种小内存控制器的验签方法、装置及介质
技术领域
本发明涉及车辆控制器的安全领域,尤其涉及一种小内存控制器的验签方法、装置及介质。
背景技术
在一些车辆控制器刷写完软件后,控制器的引导加载模块需要使用RSA加密算法对已刷写的软件进行验签,以保证软件刷写的安全性。RSA加密算法是集成在刷写的软件中,该算法本身需要消耗8K左右的内存。另外,引导加载模块的其他功能也需要消耗4K左右的内存。因此,对于内存容量小于8K的控制器无法实现RSA验签。现有技术中为实现刷写软件后对控制器进行RSA验签,需选用内存容量大的控制器,但这样的方案会造成成本的增加。
发明内容
为了解决上述技术问题,本发明提供一种小内存控制器的验签方法、装置及介质,可以实现在进行软件刷写后对小内存控制器的验签,保证小内存控制器的软件刷写安全性。
为了达到上述申请的目的,本申请提供了小内存控制器的验签方法,该方法包括:
当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将所述目标哈希码存储到随机存取存储器中;
对内存进行重置,并将随机存取存储器中的工作模式改为验签模式;
当所述工作模式为验签模式时,获取签名数据和公钥;
利用所述目标哈希码、所述签名数据和所述公钥进行签名验证,生成验签结果,并将所述验签结果存储到所述随机存取存储器中。
另一方面,本申请还提供一种小内存控制器的验签装置,该装置包括:
计算模块,用于当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将所述目标哈希码存储到随机存取存储器中;
重置模块,用于对内存进行重置,并对随机存取存储器中的工作模式进行修改;
数据获取模块,用于当所述工作模式为验签模式时,获取签名数据和公钥;
验签模块,用于利用所述目标哈希码、所述签名数据和所述公钥进行签名验证,生成验签结果,并将所述验签结果存储到所述随机存取存储器中。
另外,本申请还提供一种存储介质,该存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现上述任意一项的方法。
实施本申请,具有如下有益效果:
本申请通过当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将所述目标哈希码存储到随机存取存储器中;对内存进行重置,并将随机存取存储器中的工作模式改为验签模式;当所述工作模式为验签模式时,获取签名数据和公钥;利用所述目标哈希码、所述签名数据和所述公钥进行签名验证,生成验签结果,并将所述验签结果存储到所述随机存取存储器中,可以实现控制器在进行软件刷写后对小内存控制器的验签,保证小内存控制器的软件刷写安全性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本申请实施例提供的一种小内存控制器的验签流程示意图;
图2为本申请实施例提供的一种生成验签结果的流程示意图;
图3为本申请另一实施例提供的一种小内存控制器的验签流程示意图;
图4为本申请另一实施例提供的一种小内存控制器的验签流程示意图;
图5为本申请另一实施例提供的一种小内存控制器的验签流程示意图;
图6为本申请另一实施例提供的一种小内存控制器的验签流程示意图;
图7为本申请另一实施例提供的一种小内存控制器的验签流程示意图;
图8为本申请实施例提供的一种生成签名数据的流程示意图;
图9为本申请另一实施例提供的一种小内存控制器的验签流程示意图;
图10为本申请实施例提供的一种小内存控制器的验签装置示意图;
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了实现本申请的技术方案,让更多的工程技术工作者容易了解和应用本申请,将结合具体的实施例,进一步阐述本申请的工作原理。
本申请可以应用于车辆控制器的安全领域,需要说明的是,本申请中程序刷写、验签及验签回复等功能实现都是由控制器执行系统启动前引导程序实现。本申请中控制器可以包括ROM(Read Only Memory,只读存储器)、URAM(Uninitialized Random AccessMemory,不初始化的随机存取存储器)以及内存,其中,ROM用于存储固定不变的数据,如公钥,URAM用于存储方法的实施中产生的备用数据,内存用于进行程序刷写、计算哈希码或者验签等功能的实施。本申请中的小内存控制器特指内存小于8K的控制器。
以下介绍本申请一种小内存控制器的验签方法的实施例,图1所示为本申请一种小内存控制器的验签流程图,如图1所示,该方法包括:
S101:当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将所述目标哈希码存储到随机存取存储器中。
具体的,可以利用哈希算法计算控制器安装的软件的哈希码,不同的软件计算出的哈希码不同,因此,哈希码可以作为控制器安装的软件的特征。将生成的哈希码作为目标哈希码,并存储到URAM中。URAM在控制器的内存被重置后不会重新初始化,而是保持内存被重置前的值。因此URAM中存储的目标哈希码可以表征控制器当前安装的软件。
S103:对内存进行重置,并将随机存取存储器中的工作模式改为验签模式。
具体的,在上一步骤,控制器在内存中进行了目标哈希码的计算,内存的容量被占用了部分。对内存进行重置,可以释放内存全部的容量。将URAM中的工作模式改为验签模式,控制器中的BootLoader引导模块在进行启动引导时读取工作模式,即可在后续操作中进行对软件进行验签的操作。
S105:当工作模式为验签模式时,获取签名数据和公钥。
具体的,签名数据为将目标软件的特征进行加密签名后的数据,其中,目标软件为后台服务器发送给控制器的待安装软件。将目标软件的特征进行加密签名可以包括:预先在后台服务器端生成一对密钥,分别为私钥和公钥。后台服务器对目标软件进行哈希计算得到哈希码,再利用后台服务器中的私钥对哈希码进行加密签名,从而得到签名数据。
S107:利用目标哈希码、签名数据和公钥进行签名验证,生成验签结果,并将验签结果存储到随机存取存储器中。
具体的,如图2所示,利用目标哈希码、签名数据和公钥进行签名验证,生成验签结果,并将验签结果存储到随机存取存储器中可以包括:
S201:控制器利用公钥对签名数据进行解签,得到解签数据。
具体的,公钥可以是客户端从后台服务器接收,也可以是客户端从车辆诊断仪接收。
S203:比较解签数据和目标哈希码是否一致。
S205:当一致时,验签结果为正确。
S207:当不一致时,验签结果为错误。
S209:将验签结果存储到URAM中。
具体的,当控制器的URAM中验签结果为正确时,控制器正常使用安装软件,当控制器的URAM中验签结果为错误时,控制器停止使用安装软件。
在另外的实施例中,如图3所示,该方法可以包括:
S101:当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将目标哈希码存储到URAM中。
S103:对内存进行重置,并将随机存取存储器中的工作模式改为验签模式。
S105:当工作模式为验签模式时,获取签名数据和公钥。
S107:利用目标哈希码、签名数据和公钥进行签名验证,生成验签结果,并将验签结果存储到随机存取存储器中。
S301:对内存进行重置,并将工作模式改为刷写模式。
具体的,对内存进行重置,可以释放内存的全部容量,将工作模式改为刷写模式,修改工作模式,可以利用URAM中的工作模式变量,通过对工作模式变量进行赋值,使控制器进入对应的工作模式,因此对内存进行重置不会影响URAM中保存的工作模式。
在这一实施例中,控制器接收到车辆诊断仪发出的验签请求,利用哈希算法生成控制器安装软件的目标哈希码。目标哈希码可以表征控制器安装的软件。接着,对内存进行重置,并将URAM中的工作模式改为验签模式,此时URAM中保存有验签欧式的工作模式和目标哈希码等,URAM中存储的数据不受内存重置的影响。在内存重置后,控制器的BootLoader引导模块读取URAM中的工作模式,即验签模式,可以使验签功能在满容量的内存中进行。验签过程中,控制器先获取签名数据和公钥。其中,签名数据预先存储在URAM中,公钥预先存储在ROM中,因此可以保证签名数据和公钥不受内存重置影响。控制器再利用公钥对签名数据解密,得到解密后的数据,将解密后的数据与目标哈希码进行对比,完成签名验证,生成验签结果。最后将验签结果存储到URAM中,完成本次的验签操作,此时,内存可以再次重置,将工作模式改为刷写模式,以备下次进行程序刷写操作。这样的循环过程,可以保证在进行程序刷写和签名验证功能时,内存分别保持满容量的状态,以使控制器能够利用内存完成程序刷写和签名验证。
在另外的实施例中,如图4所示,当接收到诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将目标哈希码存储到URAM中之前,该方法还可以包括:
S401:当工作模式为刷写模式时,进行软件刷写。
S403:向车辆诊断仪发送刷写完成确认指令,以使车辆诊断仪基于刷写完成指令发送验签请求。
具体的,软件刷写完成后,才需要进行验签操作。客户端接收到车辆诊断仪发送的安装软件后,进行软件的刷写。当软件刷写完成后,反馈刷写完成的提示指令给车辆诊断仪,车辆诊断仪根据该提示指令,给客户端发送验签请求。其中,验签请求中可以包括签名数据。客户端接收到验签请求,将其中的签名数据存储到URAM中。客户端再根据验签请求计算安装软件的哈希码,得到目标哈希码,将目标哈希码存储到URAM中。在完成哈希码的计算后,进行内存重置,并将工作模式改为验签模式,从而进行验签。
在另外的实施例中,如图5所示,利用目标哈希码、签名数据和公钥进行签名验证,生成验签结果,并将验签结果存储到随机存取存储器中之后,该方法还可以包括:
S501:对内存进行重置,并将工作模式改为验签回复模式。
具体的,当工作模式为验签回复模式时,如图6所示,该方法还可以包括:
S601:从URAM中获取验签结果。
S603:将验签结果发送给车辆诊断仪。
具体的,当工作模式为验签回复模式时,控制器读取URAM中的验签结果,并发送给车辆诊断仪。车辆诊断仪收到验签结果,并根据验签结果进行预设操作,例如,当验签结果为错误时,向后台服务器发送错误报告。
在一些实施例中,如图7所示,获取签名数据和公钥可以包括:
S701:接收车辆诊断仪发送的签名数据。
S703:读取ROM中的公钥。
具体的,签名数据为后台服务器预设生成。如图8所示,生成签名数据可以是后台服务器采用如下方式:
S801:后台服务器预先对待发送软件进行哈希计算生成第二哈希码。
S803:后台服务器对第二哈希码进行签名加密生成签名数据。
S805:后台服务器将签名数据发送给车辆诊断仪。
具体的,待发送软件为后台服务器发送给控制器的软件。将目标软件的特征进行加密签名可以包括:预先在后台服务器端生成一对密钥,分别为私钥和公钥。后台服务器对目标软件进行哈希计算得到哈希码,再利用后台服务器中的私钥对哈希码进行加密签名,从而得到签名数据。控制器预先接收后台服务器发送的公钥,并将公钥存储到ROM中。
在另外的实施例中,如图9所示,该方法可以包括:
S401:当工作模式为刷写模式时,进行软件刷写。
具体的,工作模式为刷写模式,是在本次流程开始前,进行了内存重置,并将工作模式变量赋值为刷写模式。
S403:向车辆诊断仪发送刷写完成确认指令,以使车辆诊断仪基于刷写完成指令发送验签请求。
S101:当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将所述目标哈希码存储到随机存取存储器中。
S103:对内存进行重置,并将随机存取存储器中的工作模式改为验签模式。
S105:当工作模式为验签模式时,获取签名数据和公钥。
S107:利用目标哈希码、签名数据和公钥进行签名验证,生成验签结果,并将验签结果存储到随机存取存储器中。
S501:对内存进行重置,并将工作模式改为验签回复模式。
S601:从URAM中获取验签结果。
S603:将验签结果发送给车辆诊断仪。
S901:对内存进行重置,并将随机存取存储器中的工作模式改为刷写模式。
上述实施例中,工作模式(URAM变量名)可以包括刷写模式、验签模式和验签回复模式。控制器先进行软件刷写安装,接着对安装的软件进行验签,最后将验签结果回复给车辆诊断仪,为一个连续的操作,验签的过程独立使用完整的内存,可以保证小内存控制器实现RSA验签,从而保证小内存控制器软件刷写的安全性。另外,URAM中存储的数据不受内存重置的影响,其中的工作模式可以在刷写模式、验签模式和验签回复模式中进行切换,使多次程序刷写循环起来。其中,如表1所示,URAM存储的变量可以包括工作模式、加密数据、目标哈希码和验签结果
表1
Figure BDA0002631584270000081
表1中,变量名uram_bootloader_mode为工作模式,变量值MODE_NORMAL/MODE_RSA_PSS/MODE_POST_RSA_PSS可以依次为刷写模式、验签模式和验签回复模式。工作模式的设置,使BootLoader能根据URAM中工作模式的变量值进行工作模式的引导;变量名uram_signature为加密数据,对应的变量值为具体的加密数据;变量名uram_root_hash为目标哈希码,对应的变量值为具体的目标哈希码;变量名uram_rsa_pss_result为生成的验签结果,对应的变量值为具体的验签结果数据。
本申请另一方面还提供一种小内存控制器的验签装置实施例,如图10所示,该装置可以包括:
计算模块1001,用于当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将目标哈希码存储到URAM中。
重置模块1002,用于对内存进行重置,并对URAM中的工作模式进行修改。
数据获取模块1003,用于当工作模式为验签模式时,获取签名数据和公钥。
验签模块1004,用于利用目标哈希码、签名数据和公钥进行签名验证,生成验签结果,并将验签结果存储到URAM中。
本申请另一方面还提供一种存储介质,该存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现上述任一实施例所述的方法。
上述的实施例可以看出,本申请通过当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将目标哈希码存储到随机存取存储器中,接着对内存进行重置,并将随机存取存储器中的工作模式改为验签模式,当工作模式为验签模式时,获取签名数据和公钥,最后,利用目标哈希码、签名数据和公钥进行签名验证,生成验签结果,并将验签结果存储到随机存取存储器中,可以实现在进行软件刷写后对小内存控制器的验签,保证小内存控制器的软件刷写安全性。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如本发明的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在本发明的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者系统程序(如计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,也可以在载体信号上提供,或者以任何其他形式提供。
应该注意的是,上述实施例是对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或者步骤等。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干系统的单元权利要求中,这些系统中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二以及第三等的使用不表示任何顺序,可将这些单词解释为名称。

Claims (10)

1.一种小内存控制器的验签方法,其特征在于,所述方法包括:
当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将所述目标哈希码存储到随机存取存储器中;
对内存进行重置,并将随机存取存储器中的工作模式改为验签模式;
当所述工作模式为验签模式时,获取签名数据和公钥;
利用所述目标哈希码、所述签名数据和所述公钥进行签名验证,生成验签结果,并将所述验签结果存储到所述随机存取存储器中。
2.根据权利要求1所述的方法,其特征在于,所述利用所述目标哈希码、所述签名数据和所述公钥进行签名验证,生成验签结果,并将所述验签结果存储到所述随机存取存储器中之后,所述方法还包括:
对所述内存进行重置,并将所述工作模式改为刷写模式。
3.根据权利要求1所述的方法,其特征在于,所述当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将所述目标哈希码存储到随机存取存储器中之前,所述方法还包括:
当所述工作模式为刷写模式时,进行软件刷写;
向所述车辆诊断仪发送刷写完成确认指令,以使所述车辆诊断仪基于所述刷写完成指令发送验签请求。
4.根据权利要求1所述的方法,其特征在于,所述利用所述目标哈希码、所述签名数据和所述公钥进行签名验证,生成验签结果,并将所述验签结果存储到所述随机存取存储器中之后,所述方法还包括:
对所述内存进行重置,并将所述工作模式改为验签回复模式。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述工作模式为验签回复模式时,从所述随机存取存储器中获取所述验签结果;
将所述验签结果发送给所述车辆诊断仪。
6.根据权利要求1所述的方法,其特征在于,所述利用所述目标哈希码、所述签名数据和所述公钥进行签名验证,生成验签结果,并将所述验签结果存储到所述随机存取存储器中包括:
利用所述公钥对所述签名数据进行解签,得到解签数据;
比较所述解签数据和所述目标哈希码是否一致;
当一致时,所述验签结果为正确;
当不一致时,所述验签结果为错误;
将所述验签结果存储到所述随机存取存储器中。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预先接收后台服务器发送的公钥,并将所述公钥存储到只读存储器中。
8.根据权利要求7所述的方法,其特征在于,所述获取签名数据和公钥包括:
接收所述车辆诊断仪发送的签名数据;
读取所述只读存储器中的公钥;
所述签名数据为后台服务器预设生成,其中,所述后台服务器采用下述方式生成:预先对所述软件进行哈希计算生成第二哈希码;对所述第二哈希码进行签名加密生成所述签名数据。
9.一种小内存控制器的验签装置,其特征在于,所述装置包括:
计算模块,用于当接收到车辆诊断仪发出的验签请求时,利用哈希算法生成控制器安装软件的目标哈希码,并将所述目标哈希码存储到随机存取存储器中;
重置模块,用于对内存进行重置,并对随机存取存储器中的工作模式进行修改;
数据获取模块,用于当所述工作模式为验签模式时,获取签名数据和公钥;
验签模块,用于利用所述目标哈希码、所述签名数据和所述公钥进行签名验证,生成验签结果,并将所述验签结果存储到所述随机存取存储器中。
10.一种存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8任意一项所述的方法。
CN202010812648.4A 2020-08-13 2020-08-13 一种小内存控制器的验签方法、装置及介质 Active CN112100580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010812648.4A CN112100580B (zh) 2020-08-13 2020-08-13 一种小内存控制器的验签方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010812648.4A CN112100580B (zh) 2020-08-13 2020-08-13 一种小内存控制器的验签方法、装置及介质

Publications (2)

Publication Number Publication Date
CN112100580A true CN112100580A (zh) 2020-12-18
CN112100580B CN112100580B (zh) 2022-08-02

Family

ID=73752945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010812648.4A Active CN112100580B (zh) 2020-08-13 2020-08-13 一种小内存控制器的验签方法、装置及介质

Country Status (1)

Country Link
CN (1) CN112100580B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342384A (zh) * 2021-07-07 2021-09-03 江铃汽车股份有限公司 一种车辆控制器模块的安全访问策略

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0205047D0 (en) * 2002-03-05 2002-04-17 Bitarts Ltd Protecting computer software
CN1517858A (zh) * 2003-01-16 2004-08-04 威达电股份有限公司 保护外围设备附加卡上软件的方法及系统
US20070088939A1 (en) * 2005-10-17 2007-04-19 Dan Baumberger Automatic and dynamic loading of instruction set architecture extensions
US20110022840A1 (en) * 2008-12-07 2011-01-27 Rares Stefan Method and System for Detecting Data modification within computing device
CN105335670A (zh) * 2015-10-29 2016-02-17 深圳国微技术有限公司 一种实时完整性校验方法和校验电路及安全芯片
CN105721621A (zh) * 2014-12-17 2016-06-29 施耐德电气It公司 用于生成唯一设备id的系统和方法
WO2016139079A1 (de) * 2015-03-02 2016-09-09 Siemens Ag Österreich Schutz von speicherinhalten eines speichers eines computersystems unter verwendung einer hashfunktion
CN106909829A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 适用于龙芯台式计算机的软件安全保护系统及其保护方法
CN109067544A (zh) * 2018-07-26 2018-12-21 海南新软软件有限公司 一种软硬结合的私钥验证方法、装置及系统
CN111130791A (zh) * 2019-12-09 2020-05-08 飞天诚信科技股份有限公司 数据签名方法、电子设备及计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0205047D0 (en) * 2002-03-05 2002-04-17 Bitarts Ltd Protecting computer software
CN1517858A (zh) * 2003-01-16 2004-08-04 威达电股份有限公司 保护外围设备附加卡上软件的方法及系统
US20070088939A1 (en) * 2005-10-17 2007-04-19 Dan Baumberger Automatic and dynamic loading of instruction set architecture extensions
US20110022840A1 (en) * 2008-12-07 2011-01-27 Rares Stefan Method and System for Detecting Data modification within computing device
CN105721621A (zh) * 2014-12-17 2016-06-29 施耐德电气It公司 用于生成唯一设备id的系统和方法
WO2016139079A1 (de) * 2015-03-02 2016-09-09 Siemens Ag Österreich Schutz von speicherinhalten eines speichers eines computersystems unter verwendung einer hashfunktion
CN105335670A (zh) * 2015-10-29 2016-02-17 深圳国微技术有限公司 一种实时完整性校验方法和校验电路及安全芯片
CN106909829A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 适用于龙芯台式计算机的软件安全保护系统及其保护方法
CN109067544A (zh) * 2018-07-26 2018-12-21 海南新软软件有限公司 一种软硬结合的私钥验证方法、装置及系统
CN111130791A (zh) * 2019-12-09 2020-05-08 飞天诚信科技股份有限公司 数据签名方法、电子设备及计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342384A (zh) * 2021-07-07 2021-09-03 江铃汽车股份有限公司 一种车辆控制器模块的安全访问策略
CN113342384B (zh) * 2021-07-07 2024-03-15 江铃汽车股份有限公司 一种车辆控制器模块的安全访问策略

Also Published As

Publication number Publication date
CN112100580B (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
CN111095213B (zh) 嵌入式程序的安全引导方法、装置、设备及存储介质
EP1754126B1 (en) Enhancing trusted platform module performance
US7788506B2 (en) Method and device for protecting a memory against attacks by error injection
CN108287999A (zh) 一种基于TrustZone的系统可信启动方法
CN101379506A (zh) 用于从外部存储装置进行安全引导的方法和设备
CN112699383B (zh) 数据密码设备、存储器系统及其操作方法
US11971993B2 (en) Firmware-based secure tenancy transfer
CN101432752A (zh) 可信平台现场升级系统和方法
CN115033294A (zh) 用于安全非易失性存储器的系统、方法和设备
US11068599B2 (en) Secure initialization using embedded controller (EC) root of trust
CN105095767A (zh) 基于文件数据块校验的安全启动系统与方法
CN109586898B (zh) 双系统通信密钥生成方法及计算机可读存储介质
CN112100580B (zh) 一种小内存控制器的验签方法、装置及介质
CN113486360B (zh) 基于risc-v的安全启动方法及系统
KR101425456B1 (ko) 정보생성 시스템 및 그 방법
CN111931190B (zh) 一种基于xip处理器系统的启动方法
US8429423B1 (en) Trusted platform modules
US20200034540A1 (en) Executing processes in sequence
US8127203B2 (en) Method, data processing apparatus and wireless device
CN103870745A (zh) 电子设备和安全启动电子设备的方法
WO2016184180A1 (zh) 一种系统安全启动方法及装置
EP3046024A1 (en) Method of operating a system on chip comprising a bootable processor
JP2021060721A (ja) メモリシステム
US20230169174A1 (en) Apparatus for verifying bootloader of ecu and method thereof
CN114201224B (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