CN115935392A - 芯片数据获取方法、装置、系统、芯片和存储介质 - Google Patents

芯片数据获取方法、装置、系统、芯片和存储介质 Download PDF

Info

Publication number
CN115935392A
CN115935392A CN202211602952.1A CN202211602952A CN115935392A CN 115935392 A CN115935392 A CN 115935392A CN 202211602952 A CN202211602952 A CN 202211602952A CN 115935392 A CN115935392 A CN 115935392A
Authority
CN
China
Prior art keywords
chip
control chip
data
encrypted
target operation
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
CN202211602952.1A
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.)
Guangzhou Zhono Electronic Technology Co ltd
Original Assignee
Guangzhou Zhono Electronic 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 Zhono Electronic Technology Co ltd filed Critical Guangzhou Zhono Electronic Technology Co ltd
Priority to CN202211602952.1A priority Critical patent/CN115935392A/zh
Publication of CN115935392A publication Critical patent/CN115935392A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明实施例提出一种芯片数据获取方法、装置、系统、芯片和存储介质,涉及数据安全领域。安全芯片与控制芯片电连接,且该安全芯片上存储有控制芯片的运行数据,安全芯片可接收控制芯片发送的加密数据获取指令;加密数据获取指令由控制芯片生成;对加密数据获取指令进行解密,得到数据获取指令;数据获取指令中包括数据存储位置;根据数据存储位置获取对应的目标运行数据;对目标运行数据进行加密,并将加密后的目标运行数据发送至控制芯片,以便控制芯片对加密后的目标运行数据进行解密,以获得目标运行数据。通过该方法,可保证控制芯片的运行数据不会被其他设备获取,提高了控制芯片的运行数据的安全性。

Description

芯片数据获取方法、装置、系统、芯片和存储介质
技术领域
本发明涉及数据安全领域,具体而言,涉及一种芯片数据获取方法、装置、系统、芯片和存储介质。
背景技术
目前,控制芯片在运行时一般需要获取存储于片内FLASH的数据,但现有技术中,控制芯片的片内FLASH的数据总是容易被其他设备获取,因此存在控制芯片的运行数据的安全性较差的问题。
发明内容
有鉴于此,本发明的目的在于提供一种芯片数据获取方法、装置、系统、芯片和存储介质,以解决现有技术中控制芯片的运行数据的安全性较差的问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供一种芯片数据获取方法,应用于安全芯片,所述安全芯片与控制芯片电连接,且所述安全芯片上存储有所述控制芯片的运行数据,所述方法包括:
接收所述控制芯片发送的加密数据获取指令;所述加密数据获取指令由所述控制芯片生成;
对所述加密数据获取指令进行解密,得到数据获取指令;所述数据获取指令中包括数据存储位置;
根据所述数据存储位置获取对应的目标运行数据;
对所述目标运行数据进行加密,并将加密后的所述目标运行数据发送至所述控制芯片,以便所述控制芯片对加密后的所述目标运行数据进行解密,以获得所述目标运行数据。
在可选的实施方式中,所述对所述加密数据获取指令进行解密,得到数据获取指令,包括:
根据所述安全芯片的当前计数值生成第一解密秘钥;
根据所述第一解密秘钥对所述加密数据获取指令进行解密,得到数据获取指令;
所述加密数据获取指令由所述控制芯片在根据所述数据存储位置生成数据获取指令,以及根据所述控制芯片的当前计数值生成第一加密秘钥之后,并根据所述第一加密秘钥对所述数据获取指令进行加密获得。
在可选的实施方式中,在根据所述安全芯片的当前计数值生成第一解密秘钥之后,所述方法还包括:
按照预设的更新规则对所述安全芯片的当前计数值进行更新;
所述对所述目标运行数据进行加密,并将加密后的所述目标运行数据发送至所述控制芯片,以便所述控制芯片对加密后的所述目标运行数据进行解密,以获得所述目标运行数据,包括:
根据更新后的所述安全芯片的计数值生成第二加密秘钥,根据所述第二加密秘钥对所述目标运行数据进行加密;
将加密后的所述目标运行数据发送至所述控制芯片,以便所述控制芯片根据更新后的所述控制芯片的计数值生成第二解密秘钥,并根据所述第二解密秘钥对所述加密后的目标运行数据进行解密,获得所述目标运行数据;
其中,所述更新后的所述控制芯片的计数值由所述控制芯片在生成所述第一加密秘钥之后,按照预设的更新规则对所述控制芯片的当前计数值进行更新获得。
在可选的实施方式中,所述方法还包括:
在对所述加密数据获取指令解密失败的情况下,生成随机字符串,并根据更新后的所述安全芯片的计数值生成第三加密秘钥,根据所述第三加密秘钥对所述随机字符串进行加密;
将加密后的所述随机字符串发送至所述控制芯片。
在可选的实施方式中,所述方法还包括:
在初次上电的情况下,进行安全芯片固件烧录,以使所述安全芯片的计数值设置为第一初始计数值;其中,所述第一初始计数值与所述控制芯片的第二初始计数值相同,所述第二初始计数值由所述控制芯片在初次上电的情况下,进行控制芯片固件烧录得到。
在可选的实施方式中,所述方法还包括:
在对所述加密数据获取指令解密失败的情况下,启动自毁程序。
第二方面,本发明提供一种芯片数据获取方法,应用于控制芯片,所述控制芯片与安全芯片电连接,且所述安全芯片上存储有所述控制芯片的运行数据,所述方法包括:
生成加密数据获取指令,并将所述加密数据获取指令发送至所述安全芯片,以便所述安全芯片对所述加密数据获取指令进行解密,得到数据获取指令,根据数据存储位置获取对应的目标运行数据,并对所述目标运行数据进行加密;所述数据获取指令中包括所述数据存储位置;
接收所述安全芯片发送的加密后的所述目标运行数据,并对所述加密后的目标运行数据进行解密,获得所述目标运行数据。
第三方面,本发明提供一种芯片数据获取装置,应用于安全芯片,所述安全芯片与控制芯片电连接,且所述安全芯片上存储有所述控制芯片的运行数据,所述装置包括:
接收模块,用于接收所述控制芯片发送的加密数据获取指令;所述加密数据获取指令由所述控制芯片生成;
第一解密模块,用于对所述加密数据获取指令进行解密,得到数据获取指令;所述数据获取指令中包括数据存储位置;
所述第一解密模块,还用于根据所述数据存储位置获取对应的目标运行数据;
加密模块,用于对所述目标运行数据进行加密,并将加密后的所述目标运行数据发送至所述控制芯片,以便所述控制芯片对加密后的所述目标运行数据进行解密,以获得所述目标运行数据。
第四方面,本发明提供一种芯片数据获取装置,应用于控制芯片,所述控制芯片与安全芯片电连接,且所述安全芯片上存储有所述控制芯片的运行数据,所述装置包括:
发送模块,用于生成加密数据获取指令,并将所述加密数据获取指令发送至所述安全芯片,以便所述安全芯片对所述加密数据获取指令进行解密,得到数据获取指令,根据数据存储位置获取对应的目标运行数据,并对所述目标运行数据进行加密;所述数据获取指令中包括所述数据存储位置;
第二解密模块,用于接收所述安全芯片发送的加密后的所述目标运行数据,并对所述加密后的目标运行数据进行解密,获得所述目标运行数据。
第五方面,本发明提供一种芯片数据获取系统,包括安全芯片以及控制芯片。
第六方面,本发明提供一种芯片,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现前述实施方式任一所述的方法。
第七方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的方法。
本发明实施例提供的芯片数据获取方法、装置、系统、芯片和存储介质,控制芯片与存储有该控制芯片的运行数据的安全芯片电连接,该安全芯片可接收控制芯片生成并发送的加密数据获取指令,通过对该加密数据获取指令进行解密从而获得数据获取指令,进而可根据该数据获取指令中的数据存储位置获取对应的目标运行数据,之后该安全芯片可对该目标运行数据进行加密,并将加密后的目标运行数据发送至控制芯片,以便该控制芯片对加密后的目标运行数据进行解密,从而获得目标运行数据。在该方法中,安全芯片可存储有控制芯片上的运行数据,在控制芯片需要获得目标运行数据时,可通过安全芯片的解密校验以及控制芯片的解密校验,确认当前的数据获取环境是否安全,在安全的情况下控制芯片才能获取到目标运行数据,因此可保证控制芯片的运行数据不会被其他设备获取,提高了控制芯片的运行数据的安全性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的芯片数据获取系统的方框示意图;
图2示出了本发明实施例提供的芯片的方框示意图;
图3示出了本发明实施例提供的应用于安全芯片的芯片数据获取方法的一种流程示意图;
图4示出了本发明实施例提供的应用于安全芯片的芯片数据获取方法的另一种流程示意图;
图5示出了本发明实施例提供的应用于控制芯片的芯片数据获取方法的一种流程示意图;
图6示出了本发明实施例提供的一种应用于安全芯片的芯片数据获取装置的功能模块图;
图7示出了本发明实施例提供的一种应用于控制芯片的芯片数据获取装置的功能模块图。
图标:10-芯片数据获取系统;100-安全芯片;110-控制芯片;20-芯片;200-存储器;210-处理器;220-通信模块;300-接收模块;310-第一解密模块;320-加密模块;400-发送模块;410-第二解密模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前,某个设备中的控制芯片的正常运行往往依赖存储于其片内FLASH的固件,该固件指的是写入存储器中的程序,该存储器可以是EPROM(Erasable Programmable Read-Only Memory,可擦除只读存储器)、EEPROM(Electric Erasable Programmable Read-OnlyMemory,电可擦除只读存储器)等。
在此情况下,其他设备若想实现某些原装设备的功能,则需要从原装设备中获取控制芯片的片内FLASH中存储的固件,一般有以下两种方式:
1.其他设备会对原装设备的控制芯片的片内FLASH进行数据提取,再将该片内FLASH中的数据烧录至该其他设备中的控制芯片中,此时,该其他设备中的控制芯片则可获得该控制芯片中的程序,其他设备就可以实现该原装设备的功能。
2.其他设备可以对提取到的FLASH数据进行反汇编,从而得到该原装设备的程序,之后将该原装设备的功能程序移植到其他设备的代码中,则可使其他设备实现该原装设备的功能。
显然的,对于原装设备而言,其控制芯片的片内FLASH的固件十分容易被其他设备获取,因此,如何对控制芯片的片内FLASH的固件进行保护,成为亟待解决的问题。
现有技术中一般可以通过为控制芯片设置唯一标识码,并在控制芯片获取数据以运行时校验该唯一标识码的方式,保证其他设备不会以上述第一种获取手段获取原装设备的控制芯片的片内FLASH固件,以及通过对固件加密保存的方式,保证其他设备不会以上述第二种获取手段获取原装设备的控制芯片的片内FLASH固件,但现有技术中的方式往往无法同时克制以上两种获取手段,因此,目前仍然存在控制芯片的运行数据的安全性较差的问题。
基于此,本申请实施例提供一种芯片数据获取方法,以解决以上问题。具体地,图1为本申请实施例提供的芯片数据获取系统10的方框示意图,请参见图1,该芯片数据获取系统10包括安全芯片100以及控制芯片110。其中,该安全芯片100与该控制芯片110电连接。
可选地,该安全芯片100中设置有第一片内FLASH以及第一计数值存储单元。其中,该第一片内FLASH用于存储控制芯片110的运行程序,例如运行程序等;该第一计数值存储单元用于存储该安全芯片的当前计数值。
在一种可能实现的方式中,该第一片内FLASH不仅可以存储有控制芯片110的运行程序,还可以存储有该控制芯片的其他重要数据,例如运行参数等。
可选地,该控制芯片110中设置有第二片内FLASH以及第二计数值存储单元。其中,该第二片内FLASH用于存储该控制芯片的一些基础数据,例如基础程序等;该第二计数值存储单元用于存储该控制芯片的当前计数值。
可选地,该控制芯片110可以用于执行相应的程序以实现该设备的相应功能。在一种可能实现的方式中,该控制芯片110可以是MCU(Microcontroller Unit,微控制单元)。
进一步的,图2为本申请实施例提供的芯片20的方框示意图,该芯片20可以指的是上述图1中的安全芯片100,也可以指的是上述图1中的控制芯片110。
请参见图2,是本申请实施例提供的芯片20的方框示意图。芯片20包括存储器200、处理器210及通信模块220。存储器200、处理器210以及通信模块220各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器200用于存储程序或者数据。存储器200可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器,电可擦除只读存储器等。
处理器210用于读/写存储器中存储的数据或程序,并执行相应地功能。
通信模块220用于通过网络建立服务器与其它通信终端之间的通信连接,并用于通过网络收发数据。
应当理解的是,图2所示的结构仅为芯片20的结构示意图,芯片20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可以实现本申请实施例提供的芯片数据获取方法。
接下来以上述图1中的安全芯片100为执行主体,结合流程示意图对本申请实施例提供的芯片数据获取方法进行示例性介绍,具体地,图3为本申请实施例提供的应用于安全芯片的芯片数据获取方法的一种流程示意图,请参见图3,该方法包括:
步骤S20,接收控制芯片发送的加密数据获取指令;
其中,加密数据获取指令由控制芯片生成;
步骤S21,对加密数据获取指令进行解密,得到数据获取指令;
其中,数据获取指令中包括数据存储位置;
可选地,控制芯片可以在接收到运行指令的情况下,生成该加密数据获取指令,也可以在开发人员事先设置的情况下,生成该加密数据获取指令。
可选地,控制芯片可以首先生成数据获取指令,之后对该数据获取指令进行加密,从而生成该加密数据获取指令。
可选地,控制芯片在生成该加密数据获取指令后,可将该加密数据获取指令发送至安全芯片,则该安全芯片可对该加密数据获取指令进行解密。可以理解的,若安全芯片对加密数据获取指令解密成功,则可获得数据获取指令,进而获得数据存储位置。
可选地,该数据存储位置为控制芯片需要获得的目标运行数据,在该安全芯片中的存储位置。在一种可能实现的方式中,该数据存储位置可以包括该目标运行数据的起始地址以及数据长度。
步骤S22,根据数据存储位置获取对应的目标运行数据;
可选地,该目标运行数据可以是控制芯片运行所需的运行程序、重要参数等数据。步骤S23,对目标运行数据进行加密,并将加密后的目标运行数据发送至控制芯片,以便控制芯片对加密后的目标运行数据进行解密,以获得目标运行数据。
可选地,安全芯片可以根据该数据存储位置,从该安全芯片的片内FLASH中提取该目标运行数据。
在本实施例中,安全芯片可在获得目标运行数据后,对该目标运行数据进行加密,并将加密后的目标运行数据发送至控制芯片,则该控制芯片可以对加密后的目标运行数据进行解密。可以理解的,若该控制芯片对加密后的目标运行数据解密成功,则该控制芯片可以获得目标运行数据。
可以理解的,若安全芯片对加密数据获取指令解密成功,且控制芯片对加密后的目标运行数据解密成功,则说明当前的数据获取环境是安全的,在此情况下,控制芯片才可以成功获得有效的目标运行数据。
本申请实施例提供的芯片数据获取方法,控制芯片与存储有该控制芯片的运行数据的安全芯片电连接,该安全芯片可接收控制芯片生成并发送的加密数据获取指令,通过对该加密数据获取指令进行解密从而获得数据获取指令,进而可根据该数据获取指令中的数据存储位置获取对应的目标运行数据,之后该安全芯片可对该目标运行数据进行加密,并将加密后的目标运行数据发送至控制芯片,以便该控制芯片对加密后的目标运行数据进行解密,从而获得目标运行数据。在该方法中,安全芯片可存储有控制芯片上的运行数据,在控制芯片需要获得目标运行数据时,可通过安全芯片的解密校验以及控制芯片的解密校验,确认当前的数据获取环境是否安全,在安全的情况下控制芯片才能获取到目标运行数据,因此可保证控制芯片的运行数据不会被其他设备获取,提高了控制芯片的运行数据的安全性。
可选地,无论是控制芯片还是安全芯片,都需要根据加密密钥和解密秘钥进行加密和解密,因此,可以分别在控制芯片和安全芯片中设置计数值,则该控制芯片和安全芯片可分别根据其中设置的计数值生成加密密钥或解密秘钥。
在一种可能实现的方式中,控制芯片和安全芯片可以通过哈希算法根据其中设置的计数值生成加密密钥或解密秘钥。
在此情况下,为了保证控制芯片和安全芯片的加解密过程顺利进行,可为控制芯片与安全芯片设置相同的初始计数值。具体地,上述方法还包括:
在初次上电的情况下,进行安全芯片固件烧录,以使安全芯片的计数值设置为第一初始计数值;其中,第一初始计数值与控制芯片的第二初始计数值相同,第二初始计数值由控制芯片在初次上电的情况下,进行控制芯片固件烧录得到。
可选地,该初次上电指的是安全芯片和控制芯片出厂后的第一次上电。
在本实施例中,安全芯片初次上电时会根据其片内FLASH进行固件烧录,该安全芯片固件可以为该安全芯片的出厂安全信息,例如该安全芯片的程序片段、序列号、校验信息、厂家信息等,同时,安全芯片在固件烧录后会获得第一初始计数值。
可选地,该第一初始计数值可以由开发人员设置,在一种可能实现的方式中,该第一初始计数值可以是数字,例如0。
可选地,控制芯片初次上电时,也会根据其片内FLASH进行固件烧录,该控制芯片固件可以为该控制芯片程序运行的程序机器码,该程序机器码为该控制芯片运行时所需的数据,同时,控制芯片在固件烧录后会获得第二初始计数值。
可选地,该第二初始计数值可以由开发人员设置。
在本实施例中,该第一初始计数值应当与该安全芯片对应的控制芯片的第二初始计数值一致。例如,若安全芯片的第一初始计数值为0,则也应当将该安全芯片对应的控制芯片的第二初始计数值设置为0。
在本实施例中,该第一初始计数值可以存储在安全芯片的第一计数值存储单元中,该第二初始计数值可以存储在控制芯片的第二计数值存储单元中。可选地,控制芯片在生成加密数据获取指令时,可以从第二计数值存储单元中获取该控制芯片的当前计数值,并根据该控制芯片的当前计数值为数据获取指令加密,之后将加密得到的加密数据获取指令发送至安全芯片;当安全芯片接收到控制芯片发送的加密数据获取指令后,可以从第一计数值存储单元中获取该安全芯片的当前计数值,并根据该当前计数值为该加密数据获取指令进行解密,从而获得数据获取指令。
具体地,在上述图3的基础上,图4为本申请实施例提供的应用于安全芯片的芯片数据获取方法的另一种流程示意图,请参见图4,上述步骤S21还可以通过如下步骤实现:
步骤S21-1,根据安全芯片的当前计数值生成第一解密秘钥;
步骤S21-2,根据第一解密秘钥对加密数据获取指令进行解密,得到数据获取指令;
其中,加密数据获取指令由控制芯片在根据数据存储位置生成数据获取指令,以及根据控制芯片的当前计数值生成第一加密秘钥之后,并根据第一加密秘钥对数据获取指令进行加密获得。
可选地,控制芯片可以根据接收到的运行指令获得该数据存储位置,也可以在开发人员事先设置的应当生成加密数据获取指令的情况下,获取开发人员事先设置的数据存储位置。
在本实施例中,控制芯片可以根据数据存储位置生成数据获取指令,同时根据控制芯片的当前计数值生成第一加密密钥,之后该控制芯片可以按照预设的加密算法,根据该第一加密密钥为数据获取指令进行加密。
在一种可能实现的方式中,该预设的加密算法可以根据实际运行情况,由开发人员事先进行设置,例如,进行加减运算、异或运算、位移、多种运算方式的组合等,本申请对此不做限定。
在本实施例中,控制芯片会将生成的加密数据获取指令发送至安全芯片,安全芯片接收到该加密数据获取指令后,可根据安全芯片的当前计数值生成第一解密秘钥,之后按照预设的解密算法,根据该第一解密密钥对加密数据获取指令进行解密。
可以理解的,该预设的解密算法应当与预设的加密算法对应,在一种可能实现的方式中,该预设的解密算法可以根据实际运行情况,由开发人员事先进行设置,例如,进行加减运算、异或运算、位移、多种运算方式的组合等,本申请对此不做限定。
可选地,为了进一步保证数据的安全性,该安全芯片还可以对该数据获取指令的合法性进行验证,例如,验证该数据获取指令中读取地址范围的合法性、读取长度的合法性等等。
在此情况下,安全芯片会在解密成功且合法性验证通过的情况下,再根据该数据获取指令中的数据存储位置获取对应的目标运行数据。可选地,为了进一步保证数据的安全性,还可以在上述加解密过程中对控制芯片以及安全芯片中的计数值进行更新。具体地,安全芯片在执行了上述步骤S21-1之后,还可以按照预设的更新规则对安全芯片的当前计数值进行更新。
可选地,对于控制芯片而言,其在生成加密数据获取指令时,需要根据该控制芯片的当前计数值生成第一加密密钥,则该控制芯片还可以在生成第一加密密钥后,根据预设的更新规则为该控制芯片的当前计数值进行更新。
显然的,安全芯片中预设的更新规则应当与控制芯片中预设的更新规则一致。
在一种可能实现的方式中,该预设的更新规则可以是将当前计数值更新为当前计数值与预设阈值的和、或者与预设阈值的差,或者更新为指定值等,本申请对此不做限定。
可以理解的,安全芯片可以首先根据其当前计数值生成第一解密秘钥,之后对该安全芯片的当前计数值进行更新,获得更新后的安全芯片的计数值并存储至该第一计数值存储单元内。
此时,该安全芯片则可通过该更新后的安全芯片的计数值为目标运行数据进行加密。具体地,上述步骤S23还可以通过如下步骤实现:
根据更新后的安全芯片的计数值生成第二加密秘钥,根据第二加密秘钥对目标运行数据进行加密;将加密后的目标运行数据发送至控制芯片,以便控制芯片根据更新后的控制芯片的计数值生成第二解密秘钥,并根据第二解密秘钥对加密后的目标运行数据进行解密,获得目标运行数据;
其中,更新后的控制芯片的计数值由控制芯片在生成第一加密秘钥之后,按照预设的更新规则对控制芯片的当前计数值进行更新获得。
在本实施例中,安全芯片可以在生成第一解密秘钥后,对其当前计数值进行更新,并在解密成功且获得目标运行数据后,根据该更新后的安全芯片的计数值生成第二加密密钥,以对目标运行数据进行加密,之后将加密后的目标运行数据发送至控制芯片。
可选地,控制芯片此时可以根据更新后的控制芯片的计数值生成第二解密秘钥,用于对加密后的目标运行数据进行解密,从而获得目标运行数据。
在本实施例中,该安全芯片的当前计数值应当与控制芯片的当前计数值相同,更新后的安全芯片的计数值应当与更新后的控制芯片的计数值相同。
在一个示例中,若安全芯片的第一初始计数值和控制芯片的第二初始计数值均为0,且预设的更新规则为将当前计数值更新为当前计数值与1的和,则该控制芯片可首先根据当前计数值0生成第一加密密钥,之后将该当前计数值0更新为1,根据该第一加密密钥为数据获取指令进行加密,从而获得加密数据获取指令,并发送至安全芯片。
该安全芯片接收该加密数据获取指令,此时该安全芯片的当前计数值为0,则该安全芯片可以根据当前计数值0生存第一解密秘钥,之后将该当前计数值0更新为1,根据该第一解密密钥为数据获取指令进行解密,可以理解的,此时可以解密成功,因此安全芯片可以获得数据获取指令,从而根据该数据获取指令中的数据存储位置获取对应的目标运行数据。
之后,该安全芯片可以根据更新后的安全芯片的计数值1生成第二加密密钥,并根据该第二加密密钥为该目标运行数据进行加密,获得加密后的目标运行数据,并发送至控制芯片。
控制芯片接收该加密后的目标运行数据,此时更新后的控制芯片的计数值也为1,因此该控制芯片可以根据该更新后的控制芯片的计数值1生成第二解密秘钥,并根据该第二解密秘钥为加密后的目标运行数据进行解密,获得目标运行数据。
在下一次控制芯片需要获得目标运行数据时,则可根据当前计数值1生成加密密钥,以此类推。
显然的,在该机制下,若安全芯片或者控制芯片中的任意一个与其他设备连接并试图进行数据交换,则必然会由于计数值不匹配从而导致解密失败,因此无法进行数据交换或者无法获得有效的目标运行数据,在此情况下,无论通过上述现有技术中的何种获取原装设备中控制芯片的数据的方式,均无法成功获取原装设备中的控制芯片的有效数据。
同时,由于每次数据交换过程中均会导致计数值变化,因此一旦安全芯片或者控制芯片中的任意一个与其他设备连接并试图进行数据交换,即使其之后再与原来对应的控制芯片或安全芯片连接,也会由于计数值不匹配导致无法实现数据交换,因此可以进一步保证数据安全。
在此基础上,若安全芯片对加密数据获取指令解密失败,则说明此时数据获取环境并不安全,则该安全芯片可以生成随机字符串,并根据更新后的安全芯片的计数值生成第三加密秘钥,根据该第三加密秘钥对该随机字符串进行加密,之后将加密后的随机字符串发送至控制芯片。
可以理解的,考虑到此时数据获取环境不安全,可能存在破解行为,因此为了增强欺骗性,安全芯片可以生成无效的随机字符串并加密返回给控制芯片,这样即使破解者对其破解成功,也无法通过解密后的数据规律判断是否解密成功。
可选地,考虑到此时安全芯片中的运行数据存在被其他设备获取的可能性或者风险,因此,安全芯片可在对加密数据获取指令解密失败的情况下,启动自毁程序,以销毁其中存储的运行数据。
可选地,考虑到此时控制芯片中的运行数据也存在被其他设备获取的可能性或者风险,因此,控制芯片也可在对加密后的目标运行数据,或者加密后的随机字符串解密失败的情况下,启动自毁程序,以销毁其中存储的运行数据。
接下来以上述图1中的控制芯片110为执行主体,结合流程示意图对本申请实施例提供的芯片数据获取方法进行示例性介绍,具体地,图5为本申请实施例提供的应用于控制芯片的芯片数据获取方法的一种流程示意图,请参见图5,该方法包括:
步骤S30,生成加密数据获取指令,并将加密数据获取指令发送至安全芯片,以便安全芯片对加密数据获取指令进行解密,得到数据获取指令,根据数据存储位置获取对应的目标运行数据,并对目标运行数据进行加密;
其中,数据获取指令中包括数据存储位置;
步骤S31,接收安全芯片发送的加密后的目标运行数据,并对加密后的目标运行数据进行解密,获得目标运行数据。
在本实施例中,控制芯片可以生成加密数据获取指令并发送至安全芯片,由该安全芯片对该加密数据获取指令进行解密,得到数据获取指令,之后根据数据存储位置获取对应的目标运行数据,并对目标运行数据进行加密。
在本实施例中,该控制芯片可以接收到安全芯片发送的加密后的目标运行数据,并对该加密后的目标运行数据进行解密,从而获得该目标运行数据。
可选地,该控制芯片可以在获得了该目标运行数据后,根据该目标运行数据运行。
本申请实施例提供的芯片数据获取方法,控制芯片可以生成加密数据获取指令,并将该加密数据获取指令发送至安全芯片,以便该安全芯片对加密数据获取指令进行解密,从而得到数据获取指令,根据该数据获取指令中的数据存储位置获取对应的目标运行数据,并对该目标运行数据进行加密,则该控制芯片可以接收安全芯片发送的加密后的目标运行数据,并对该加密后的目标运行数据进行解密,从而获得目标运行数据。在该方法中,安全芯片可存储有控制芯片上的运行数据,在控制芯片需要获得目标运行数据时,可通过安全芯片的解密校验以及控制芯片的解密校验,确认当前的数据获取环境是否安全,在安全的情况下控制芯片才能获取到目标运行数据,因此可保证控制芯片的运行数据不会被其他设备获取,提高了控制芯片的运行数据的安全性。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种应用于安全芯片的芯片数据获取装置的实现方式。进一步地,请参阅图6,图6为本发明实施例提供的一种应用于安全芯片的芯片数据获取装置的功能模块图。需要说明的是,本实施例所提供的芯片数据获取装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该芯片数据获取装置包括:接收模块300、第一解密模块310以及加密模块320。
该接收模块300,用于接收控制芯片发送的加密数据获取指令;加密数据获取指令由控制芯片生成。
可以理解的,该接收模块300还可以用于执行述步骤S20。
该第一解密模块310,用于对加密数据获取指令进行解密,得到数据获取指令;数据获取指令中包括数据存储位置;
可以理解的,该第一解密模块310还可以用于实现上述步骤S21。
该第一解密模块310,还用于根据数据存储位置获取对应的目标运行数据;
可以理解的,该第一解密模块310还可以用于执行上述步骤S22。
该加密模块320,用于对目标运行数据进行加密,并将加密后的目标运行数据发送至控制芯片,以便控制芯片对加密后的目标运行数据进行解密,以获得目标运行数据。
可以理解的,该加密模块320还可以用于执行上述步骤S23。
可选地,该第一解密模块310,还用于根据安全芯片的当前计数值生成第一解密秘钥;根据第一解密秘钥对加密数据获取指令进行解密,得到数据获取指令;加密数据获取指令由控制芯片在根据数据存储位置生成数据获取指令,以及根据控制芯片的当前计数值生成第一加密秘钥之后,并根据第一加密秘钥对数据获取指令进行加密获得。
可以理解的,该第一解密模块310还可以用于执行上述步骤S21-1~步骤S21-2。
可选地,该第一解密模块310,还用于按照预设的更新规则对安全芯片的当前计数值进行更新。
可选地,该加密模块320,还用于根据更新后的安全芯片的计数值生成第二加密秘钥,根据第二加密秘钥对目标运行数据进行加密;将加密后的目标运行数据发送至控制芯片,以便控制芯片根据更新后的控制芯片的计数值生成第二解密秘钥,并根据第二解密秘钥对加密后的目标运行数据进行解密,获得目标运行数据;其中,更新后的控制芯片的计数值由控制芯片在生成第一加密秘钥之后,按照预设的更新规则对控制芯片的当前计数值进行更新获得。
可选地,该加密模块320,还用于在对加密数据获取指令解密失败的情况下,生成随机字符串,并根据更新后的安全芯片的计数值生成第三加密秘钥,根据第三加密秘钥对随机字符串进行加密;将加密后的随机字符串发送至控制芯片。
可选地,该接收模块300,还用于在初次上电的情况下,进行安全芯片固件烧录,以使安全芯片的计数值设置为第一初始计数值;其中,第一初始计数值与控制芯片的第二初始计数值相同,第二初始计数值由控制芯片在初次上电的情况下,进行控制芯片固件烧录得到。
可选地,该第一解密模块310,还用于在对加密数据获取指令解密失败的情况下,启动自毁程序。
本申请实施例提供的芯片数据获取装置,通过接收模块接收控制芯片发送的加密数据获取指令;加密数据获取指令由控制芯片生成;通过第一解密模块对加密数据获取指令进行解密,得到数据获取指令;数据获取指令中包括数据存储位置,以及根据数据存储位置获取对应的目标运行数据;通过加密模块对目标运行数据进行加密,并将加密后的目标运行数据发送至控制芯片,以便控制芯片对加密后的目标运行数据进行解密,以获得目标运行数据。在该装置中,安全芯片可存储有控制芯片上的运行数据,在控制芯片需要获得目标运行数据时,可通过安全芯片的解密校验以及控制芯片的解密校验,确认当前的数据获取环境是否安全,在安全的情况下控制芯片才能获取到目标运行数据,因此可保证控制芯片的运行数据不会被其他设备获取,提高了控制芯片的运行数据的安全性。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种应用于控制芯片的芯片数据获取装置的实现方式。进一步地,请参阅图7,图7为本发明实施例提供的一种应用于控制芯片的芯片数据获取装置的功能模块图。需要说明的是,本实施例所提供的芯片数据获取装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该芯片数据获取装置包括:发送模块400以及第二解密模块410。
该发送模块400,用于生成加密数据获取指令,并将加密数据获取指令发送至安全芯片,以便安全芯片对加密数据获取指令进行解密,得到数据获取指令,根据数据存储位置获取对应的目标运行数据,并对目标运行数据进行加密;数据获取指令中包括数据存储位置。可以理解的,该发送模块400还可以执行上述步骤S30。
该第二解密模块410,用于接收安全芯片发送的加密后的目标运行数据,并对加密后的目标运行数据进行解密,获得目标运行数据。
可以理解的,该第二解密模块410还可以执行上述步骤S31。
本申请实施例提供的芯片数据获取装置,通过发送模块生成加密数据获取指令,并将加密数据获取指令发送至安全芯片,以便安全芯片对加密数据获取指令进行解密,得到数据获取指令,根据数据存储位置获取对应的目标运行数据,并对目标运行数据进行加密;数据获取指令中包括数据存储位置;通过第二解密模块接收安全芯片发送的加密后的目标运行数据,并对加密后的目标运行数据进行解密,获得目标运行数据。在该装置中,安全芯片可存储有控制芯片上的运行数据,在控制芯片需要获得目标运行数据时,可通过安全芯片的解密校验以及控制芯片的解密校验,确认当前的数据获取环境是否安全,在安全的情况下控制芯片才能获取到目标运行数据,因此可保证控制芯片的运行数据不会被其他设备获取,提高了控制芯片的运行数据的安全性。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种芯片数据获取方法,其特征在于,应用于安全芯片,所述安全芯片与控制芯片电连接,且所述安全芯片上存储有所述控制芯片的运行数据,所述方法包括:
接收所述控制芯片发送的加密数据获取指令;所述加密数据获取指令由所述控制芯片生成;
对所述加密数据获取指令进行解密,得到数据获取指令;所述数据获取指令中包括数据存储位置;
根据所述数据存储位置获取对应的目标运行数据;
对所述目标运行数据进行加密,并将加密后的所述目标运行数据发送至所述控制芯片,以便所述控制芯片对加密后的所述目标运行数据进行解密,以获得所述目标运行数据。
2.根据权利要求1所述的方法,其特征在于,所述对所述加密数据获取指令进行解密,得到数据获取指令,包括:
根据所述安全芯片的当前计数值生成第一解密秘钥;
根据所述第一解密秘钥对所述加密数据获取指令进行解密,得到数据获取指令;
所述加密数据获取指令由所述控制芯片在根据所述数据存储位置生成数据获取指令,以及根据所述控制芯片的当前计数值生成第一加密秘钥之后,并根据所述第一加密秘钥对所述数据获取指令进行加密获得。
3.根据权利要求2所述的方法,其特征在于,在根据所述安全芯片的当前计数值生成第一解密秘钥之后,所述方法还包括:
按照预设的更新规则对所述安全芯片的当前计数值进行更新;
所述对所述目标运行数据进行加密,并将加密后的所述目标运行数据发送至所述控制芯片,以便所述控制芯片对加密后的所述目标运行数据进行解密,以获得所述目标运行数据,包括:
根据更新后的所述安全芯片的计数值生成第二加密秘钥,根据所述第二加密秘钥对所述目标运行数据进行加密;
将加密后的所述目标运行数据发送至所述控制芯片,以便所述控制芯片根据更新后的所述控制芯片的计数值生成第二解密秘钥,并根据所述第二解密秘钥对所述加密后的目标运行数据进行解密,获得所述目标运行数据;
其中,所述更新后的所述控制芯片的计数值由所述控制芯片在生成所述第一加密秘钥之后,按照预设的更新规则对所述控制芯片的当前计数值进行更新获得。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在对所述加密数据获取指令解密失败的情况下,生成随机字符串,并根据更新后的所述安全芯片的计数值生成第三加密秘钥,根据所述第三加密秘钥对所述随机字符串进行加密;
将加密后的所述随机字符串发送至所述控制芯片。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在初次上电的情况下,进行安全芯片固件烧录,以使所述安全芯片的计数值设置为第一初始计数值;其中,所述第一初始计数值与所述控制芯片的第二初始计数值相同,所述第二初始计数值由所述控制芯片在初次上电的情况下,进行控制芯片固件烧录得到。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对所述加密数据获取指令解密失败的情况下,启动自毁程序。
7.一种芯片数据获取方法,其特征在于,应用于控制芯片,所述控制芯片与安全芯片电连接,且所述安全芯片上存储有所述控制芯片的运行数据,所述方法包括:
生成加密数据获取指令,并将所述加密数据获取指令发送至所述安全芯片,以便所述安全芯片对所述加密数据获取指令进行解密,得到数据获取指令,根据数据存储位置获取对应的目标运行数据,并对所述目标运行数据进行加密;所述数据获取指令中包括所述数据存储位置;
接收所述安全芯片发送的加密后的所述目标运行数据,并对所述加密后的目标运行数据进行解密,获得所述目标运行数据。
8.一种芯片数据获取装置,其特征在于,应用于安全芯片,所述安全芯片与控制芯片电连接,且所述安全芯片上存储有所述控制芯片的运行数据,所述装置包括:
接收模块,用于接收所述控制芯片发送的加密数据获取指令;所述加密数据获取指令由所述控制芯片生成;
第一解密模块,用于对所述加密数据获取指令进行解密,得到数据获取指令;所述数据获取指令中包括数据存储位置;
所述第一解密模块,还用于根据所述数据存储位置获取对应的目标运行数据;
加密模块,用于对所述目标运行数据进行加密,并将加密后的所述目标运行数据发送至所述控制芯片,以便所述控制芯片对加密后的所述目标运行数据进行解密,以获得所述目标运行数据。
9.一种芯片数据获取装置,其特征在于,应用于控制芯片,所述控制芯片与安全芯片电连接,且所述安全芯片上存储有所述控制芯片的运行数据,所述装置包括:
发送模块,用于生成加密数据获取指令,并将所述加密数据获取指令发送至所述安全芯片,以便所述安全芯片对所述加密数据获取指令进行解密,得到数据获取指令,根据数据存储位置获取对应的目标运行数据,并对所述目标运行数据进行加密;所述数据获取指令中包括所述数据存储位置;
第二解密模块,用于接收所述安全芯片发送的加密后的所述目标运行数据,并对所述加密后的目标运行数据进行解密,获得所述目标运行数据。
10.一种芯片数据获取系统,其特征在于,包括安全芯片以及控制芯片。
11.一种芯片,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现权利要求1-6任一所述的方法,或者实现权利要求7所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法,或者实现权利要求7所述的方法。
CN202211602952.1A 2022-12-13 2022-12-13 芯片数据获取方法、装置、系统、芯片和存储介质 Pending CN115935392A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211602952.1A CN115935392A (zh) 2022-12-13 2022-12-13 芯片数据获取方法、装置、系统、芯片和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211602952.1A CN115935392A (zh) 2022-12-13 2022-12-13 芯片数据获取方法、装置、系统、芯片和存储介质

Publications (1)

Publication Number Publication Date
CN115935392A true CN115935392A (zh) 2023-04-07

Family

ID=86551935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211602952.1A Pending CN115935392A (zh) 2022-12-13 2022-12-13 芯片数据获取方法、装置、系统、芯片和存储介质

Country Status (1)

Country Link
CN (1) CN115935392A (zh)

Similar Documents

Publication Publication Date Title
CN101421739B (zh) 包括bios的系统以及用于bios的方法
US20150095652A1 (en) Encryption and decryption processing method, apparatus, and device
CN102082784A (zh) 一种软件在线升级方法
CN103946858A (zh) 应用数据的解密和加密
US10970421B2 (en) Virus immune computer system and method
JP2017157018A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及びトラステッド・プラットフォーム・モジュール
JP2007102785A (ja) 保安方法及びシステム、その方法を記録したコンピュータで読み取り可能な記録媒体
CN111566989B (zh) 一种密钥处理方法及装置
JP2009253783A (ja) 携帯端末、データ保護方法およびデータ保護用プログラム
US11132438B2 (en) Virus immune computer system and method
CN111614698A (zh) 擦除终端数据的方法及装置
CN115129332A (zh) 固件烧录方法、计算机设备及可读存储介质
CN112579125A (zh) 一种固件升级方法、装置、电子设备和存储介质
KR102256249B1 (ko) 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법
CN111224826B (zh) 基于分布式系统的配置更新方法、设备、系统及介质
JPWO2019142307A1 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
CN108270767B (zh) 数据验证方法
CN110674525A (zh) 一种电子设备及其文件处理方法
CN115935392A (zh) 芯片数据获取方法、装置、系统、芯片和存储介质
WO2019057612A1 (en) DEPLOYMENT DISTRIBUTED FROM A SINGLE MICRO-SOFTWARE
KR101286767B1 (ko) 동적 해싱을 이용한 애플리케이션 프로그램 검증 방법
CN108228219B (zh) 一种带外刷新bios时验证bios合法性的方法及装置
CN111523128A (zh) 信息保护方法、系统、电子设备及介质
CN113051532A (zh) 软件授权方法与装置和计算机设备及存储介质
CN111506324B (zh) 一种利用传统rom结合存储孤岛实现mcu芯片安全的方法

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