CN111767552A - 外挂闪存管理方法、mcu及电子设备、可读存储介质 - Google Patents

外挂闪存管理方法、mcu及电子设备、可读存储介质 Download PDF

Info

Publication number
CN111767552A
CN111767552A CN202010477020.3A CN202010477020A CN111767552A CN 111767552 A CN111767552 A CN 111767552A CN 202010477020 A CN202010477020 A CN 202010477020A CN 111767552 A CN111767552 A CN 111767552A
Authority
CN
China
Prior art keywords
code
hidden
plug
flash memory
program
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
CN202010477020.3A
Other languages
English (en)
Other versions
CN111767552B (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.)
Shanghai Orange Group Microelectronics Co ltd
Original Assignee
Shanghai Orange Group Microelectronics 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 Shanghai Orange Group Microelectronics Co ltd filed Critical Shanghai Orange Group Microelectronics Co ltd
Priority to CN202010477020.3A priority Critical patent/CN111767552B/zh
Publication of CN111767552A publication Critical patent/CN111767552A/zh
Application granted granted Critical
Publication of CN111767552B publication Critical patent/CN111767552B/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Landscapes

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

Abstract

本发明公开一种外挂闪存管理方法、MCU及电子设备、可读存储介质。对UUID等信息采用哈希算法得到两个隐藏码,每一MCU的UUID是不同的,得到的哈希值是不同的,即隐藏码也是不同的,该两个隐藏码为未开放且不可访问的哈希值,采用该两个隐藏码作为密钥对MCU的程序和数据进行加密后,即使竞争对手复制整个外挂闪存上的程序和数据,其他MCU也无法获知该两个隐藏码,不能使用该两个隐藏码作为密钥进行解密,而无法在另一个MCU中运行;另外,采用基于数字组合逻辑电路的加密解密器进行解密,能够实时解密,无需预先解密后存储于随机存取存储器,无需考虑随机存取存储器的容量,从而能够对外挂闪存上的所有程序和数据进行加密。

Description

外挂闪存管理方法、MCU及电子设备、可读存储介质
技术领域
本发明涉及加密解密技术领域,具体涉及一种外挂闪存管理方法、微控制器(Microcontroller Unit,MCU)及电子设备、可读存储介质。
背景技术
随着集成电路(Integrated Circuit,IC)技术和MCU芯片技术的迅速发展,基于嵌入式系统的电子产品层出不穷,并且已经深入到人们的日常生活中。很多嵌入式系统设有外挂闪存(flash),用于存储电子产品的操作系统(Operating System,OS)中的固件(firmware)和应用程序及其他数据(为便于描述下文简称为程序和数据)。生产厂商往往要对这些程序和数据进行加密,以避免泄露而被竞争对手复制使用。
现有的加密技术往往需要生产厂商在自己的程序中管理加密密匙,通过密钥加密,但这种方式对被加密的程序或数据的字段长度有限制,往往不能对所有的程序或数据进行加密。同时,如果竞争对手全程复制硬件平台和外挂闪存上的程序和数据,即使程序和数据是被加密的,竞争对手仍旧可以使用,针对这种情况,生产厂商一般会在外挂闪存的程序和数据中加入一个序列码,并且在MCU芯片中的NVM(Non-volatile Memory,非易失性存储器)中储存一对应的序列码,当这两个序列码对应一致时,程序和数据才能被访问与调用。在这种情况下,生产厂商还需在生产过程中管理序列码,过程复杂,并且容易泄露。
发明内容
有鉴于此,本发明提供一种外挂闪存管理方法、MCU及电子设备、可读存储介质,以解决现有加密技术对被加密的程序和数据的字段长度有限制,以及加密管理繁琐且容易泄露的问题。
本发明提供的一种外挂闪存管理方法,包括:
获取微控制器的唯一识别码;
对所述唯一识别码排序;
采用哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,两者为未开放且不可访问的哈希值;
将所述第一隐藏码作为密钥,并采用预置加密算法对微控制器的外挂闪存中的程序和/或数据执行加密而得到第一暗码,所述第一暗码存储于所述外挂闪存中,以及对所述第一暗码执行解密得到明码形式的程序和/或数据,并放入随机存取存储器中,并允许中央处理器从随机存取存储器中访问与调用所述明码形式的程序和/或数据;
或者,将所述第二隐藏码作为密钥,并采用基于数字组合逻辑电路的加密解密器对微控制器的外挂闪存中的程序和/或数据执行加密而得到第二暗码,所述第二暗码存储于所述外挂闪存中,以及对所述第二暗码执行实时解密并得到用于被中央处理器直接访问与调用的明码形式的程序和/或数据。
可选地,所述方法还包括:获取微控制器的固定码和用户配置码;
对所述固定码和用户配置码排序;
所述采用哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,包括:
采用哈希函数对微控制器的排序后的唯一识别码、固定码和用户配置码进行哈希计算得到第一隐藏码和第二隐藏码。
可选地,第一隐藏码和第二隐藏码中任一者的字段长度小于微控制器的唯一识别码、固定码和用户配置码的字段长度之和。
可选地,所述采用哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,包括:
采用第一哈希函数和第二哈希函数分别对排序后的唯一识别码进行哈希计算得到不同的第一隐藏码和第二隐藏码。
可选地,所述采用哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,包括:
采用同一哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,第一隐藏码和第二隐藏码相同。
可选地,第一隐藏码和第二隐藏码的字段长度相同。
可选地,对于不同字段长度的唯一识别码,隐藏码的字段长度相同。
本发明提供的一种微控制器,包括存储器和处理器,所述存储器存储有程序,所述程序用于被所述处理器运行以执行上述任一项所述的外挂闪存管理方法中的一个或多个步骤。
本发明提供的一种电子设备,包括存储器和处理器,所述存储器存储有程序,所述程序用于被所述处理器运行以执行上述任一项所述的外挂闪存管理方法中的一个或多个步骤。
本发明提供的一种可读存储介质,存储有程序,该程序用于被处理器运行以执行上述任一项外挂闪存管理方法中的一个或多个步骤。
本发明提供的外挂闪存管理方法、MCU及电子设备、可读存储介质,对UUID(Universally Unique Identifier,唯一识别码)等信息采用哈希算法得到隐藏码,每一MCU的UUID是不同的,得到的哈希值是不同的,即隐藏码也是不同的,该隐藏码为未开放且不可访问的哈希值,采用该隐藏码作为密钥对MCU的程序和数据进行加密后,即使竞争对手复制整个外挂闪存上的程序和数据,其他MCU也无法获知该隐藏码,不能使用该隐藏码作为密钥进行解密,而无法在另一个MCU中运行;另外,采用基于数字组合逻辑电路的加密解密器进行解密,能够实时解密,无需预先解密后存储于随机存取存储器,无需考虑随机存取存储器的容量,从而能够对外挂闪存上的所有程序和数据进行加密。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例的外挂闪存管理方法的流程示意图;
图2是本发明一实施例的外挂闪存管理方法的场景示意图;
图3是本发明另一实施例的外挂闪存管理方法的流程示意图;
图4是本发明一实施例的微控制器的结构示意图;
图5是本发明一实施例的电子设备的结构示意图。
具体实施方式
下面结合附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,下文所描述的实施例仅是本发明的一部分而非全部实施例。基于下述各个实施例,本领域技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明所保护的范围。在不冲突的情况下,下述各个实施例及其技术特征可以相互组合。
图1是本发明一实施例的外挂闪存管理方法的流程示意图。请参阅图1所示,所述外挂闪存管理方法可以包括步骤S11~S14。
S11:获取微控制器的唯一识别码。
S12:对所述唯一识别码排序。
所谓唯一识别码(UUID)是一种由算法生成的多位(例如128位)二进制长度的数字标识符,UUID主要用于在拥有多个节点或者多台计算机的网络或系统中对每一个节点或者计算机进行唯一标识。通常情况下,任何一个网络或者系统中都不会存在两个相同的UUID。
UUID一般是在生产MCU时在系统下使用DMI工具刷入,因此可以通过调用DMI工具来获取MCU的UUID。
或者,对于BMC(Baseboard Management Controller,基板管理控制器)生成的UUID,可由BIOS(Basic Input Output System,基本输入输出系统)在POST进程中向BMC发送IPMI(Intelligent Platform Management Interface,智能平台管理接口)命令来获取UUID。
应理解,上述获取UUID的方式仅为示例性说明,本发明实施例对此并不予以限制,只需满足实际应用需求即可。
对UUID排序所采用的排序方式,本发明实施例不予以限制,所述排序能够使得哈希函数的输入空间更大,使得输出更加随机化。
对UUID排序所采用的排序方式,本发明实施例不予以限制,所述排序能够使得哈希函数的输入空间更大,使得输出更加随机化。需要注意的是,所述对UUID排序和前述哈希函数的实现,均是不开放的,均是通过硬件予以实现的。也就是说,两者对于MCU芯片的用户是不开放的,并且用户也不能利用任何软件或者脚本来访问得到。
S13:采用哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,两者为未开放且不可访问的哈希值。
哈希(Hash)算法是一种能够将任意长度的二进制值映射为固定长度的较小二进制值的方法。哈希算法可以表示为:哈希值=H(Key),其中Key为原始值(即complete key),即输入值,H为Hash函数,哈希值为输出值,为将Key按照Hash函数映射而成的较小的二进制值。
基于此,微控制器的排序后的UUID为原始值Key,作为哈希函数的输入值,哈希函数的输出值--哈希值,即可作为隐藏码。
在一实施方式中,可以采用两个独立的哈希函数来生成两个独立的隐藏码,即,采用第一哈希函数和第二哈希函数分别对排序后的UUID进行独立的哈希计算,以此得到不同的第一隐藏码和第二隐藏码。
本发明实施例可以将这两个独立的哈希函数集成于一个哈希函数模块中,于此通过复用一个哈希函数模块生成两个不同的隐藏码。
在另一实施方式中,可以采用同一哈希函数来生成第一隐藏码和第二隐藏码,即,采用一哈希函数对排序后的UUID进行的哈希计算,得到一个隐藏码,该隐藏码既作为第一隐藏码也作为第二隐藏码。
本发明实施例之所以将计算得到的哈希值称为隐藏码,原因在于:对UUID排序和所述哈希函数的实现,均是通过硬件予以实现且不开放的,因此该哈希函数的实现过程以及哈希值均是不开放的,即,微控制器的用户是无法获知该哈希函数的实现过程以及哈希值的,并且用户也不可以利用任何软件或者脚本来访问得到该哈希值。
由于哈希函数的输出值的字段长度是固定的,因此第一隐藏码和第二隐藏码的字段长度相同。即使对于不同字段长度的UUID或者不同MCU芯片的UUID,输出的隐藏码的字段长度也相同。
S14:将第一隐藏码作为密钥,并采用预置加密算法对微控制器的外挂闪存中的程序和/或数据执行加密而得到第一暗码,该第一暗码存储于外挂闪存中,以及对第一暗码执行解密得到明码形式的程序和/或数据,并放入随机存取存储器中,并允许中央处理器从随机存取存储器中访问与调用所述明码形式的程序和/或数据,或者,将第二隐藏码作为密钥,并采用基于数字组合逻辑电路的加密解密器对微控制器的外挂闪存中的程序和/或数据执行加密而得到第二暗码,该第二暗码存储于外挂闪存中,以及对第二暗码执行实时解密并得到用于被中央处理器直接访问与调用的明码形式的程序和/或数据。
在步骤S14中,所谓预置加密算法指的是用于对程序和/或数据进行加密的算法,该预置加密算法可以由制造商在生产该MCU芯片时写入到芯片中,预置加密算法的执行可以不依赖其他指令,在MCU芯片启动后自行执行,当然也可以通过其他方式,例如单独设定执行安全处理的开关,指令该MCU芯片执行或停止执行该预置算法。
程序和/或数据实质上是一串数字或者字符串,生成所述第一暗码所采用的预置算法可以为AES(Advanced Encryption Standard,高级加密标准)算法、DES(DataEncryption Standard,数据加密标准)等对称加密算法,也可以为其他非对称加密算法。
本文以AES算法为例进行示例描述,该AES算法又称Rijndael加密法,程序和/或数据可视为原矩阵,AES算法产生的密钥对原矩阵中的每一个字节进行相应运算,从而最终得到第一暗码。
采用AES算法加密的优点是安全性好,但解密复杂,因此加密后的第一暗码(程序暗码或数据暗码)不能被实时解密后被MCU中的CPU(Central Processing Unit,中央处理器)访问与调用,因此,在MCU芯片启动后,第一暗码先被解密变为明码形式的程序和/或数据,并放入随机存取存储器(Random Access Memory,RAM)中,然后CPU从随机存取存储器中访问与调用该解密后的程序和数据。
在MCU芯片中,由于集成成本高,因此集成的随机存取存储器的容量有限,这会限制所要加密的程序和数据的字段长度,当程序的字段很长或数据很多时,会导致其中一部分程序或数据只能以明文的形式存储于外挂闪存,从而容易产生一定程度的泄密。
为了解决这个问题,例如图2所示,本发明实施例在MCU芯片中集成一实时加密解密器,其采用数字组合逻辑电路实现。在加密时,其输入第二隐藏码、明码形式的预定程序或数据(明文),当然也可以包括存放该预定程序或数据的地址,该加密解密器输出的是加密后的程序或数据(密文)。所述第二隐藏码可以存储于MCU芯片的一软件不可读取的内部寄存器中。在需要调用程序和数据时,将第二隐藏码调用至加密解密器。在解密时,该加密解密器输入第二隐藏码,加密的程序或数据(密文)和存放该预定程序或数据的地址,其输出的是解密后的程序或数据(明文),可被CPU直接访问与调用。
基于上述,对排序后的UUID采用哈希算法得到隐藏码(第一隐藏码和隐藏码),每一MCU的UUID不同,得到的哈希值不同,即隐藏码也是不同的,而且对UUID排序和所述哈希函数的实现,均是通过硬件予以实现且不开放的,使得该隐藏码为未开放且不可访问的哈希值,采用该隐藏码作为密钥对MCU的程序和数据进行加密后,即使竞争对手复制整个外挂闪存上的程序和数据,其他MCU也无法获知该隐藏码,不能使用该隐藏码作为密钥进行解密,而无法在另一个MCU中运行;另外,采用基于数字组合逻辑电路的加密解密器进行解密,能够实时解密,无需预先解密后存储于随机存取存储器,无需考虑随机存取存储器的容量,从而能够对外挂闪存上的所有程序和数据进行加密。
在图1所述的实施例中,以排序后的UUID作为哈希函数的输入值。为了使得输出哈希值更加随机化,本发明实施例可以调用MCU中的其他参数来与UUID一同作为哈希函数的输入值,例如图3所示。
图3是本发明另一实施例的外挂闪存管理方法的流程示意图。请参阅图3所示,所述外挂闪存管理方法可以包括步骤S21~S24。
S21:获取微控制器的唯一识别码、固定码和用户配置码。
S22:对所述唯一识别码、固定码和用户配置码排序。
S23:采用哈希函数对微控制器的排序后的唯一识别码、固定码和用户配置码进行哈希计算得到第一隐藏码和第二隐藏码,两者为未开放且不可访问的哈希值。
S24:将第一隐藏码作为密钥,并采用预置加密算法对微控制器的外挂闪存中的程序和/或数据执行加密而得到第一暗码,该第一暗码存储于外挂闪存中,以及对第一暗码执行解密得到明码形式的程序和/或数据,并放入随机存取存储器中,并允许中央处理器从随机存取存储器中访问与调用所述明码形式的程序和/或数据,或者,将第二隐藏码作为密钥,并采用基于数字组合逻辑电路的加密解密器对微控制器的外挂闪存中的程序和/或数据执行加密而得到第二暗码,该第二暗码存储于外挂闪存中,以及对第二暗码执行实时解密并得到用于被中央处理器直接访问与调用的明码形式的程序和/或数据。
在前述图1实施例的描述基础上,本实施例将MCU中的固定码和用户配置码与UUID一同作为哈希函数的输入值。所述固定码可视为MCU芯片的一个固定的地址编码,其可以存储于所述MCU芯片的只读存储器(Read-Only Memory,ROM)中。所述用户配置码为用于标识MCU中用户的配置信息的代码,其可以存储于所述MCU芯片的一次性可编程存储器(OneTime Programmable,OTP)中。
本实施例加入所述固定码和用户配置码的目的是使哈希函数的输入空间更大,使得输出更加随机化。也就是说,哈希函数的输入值的字段长度更大,而哈希函数的输出值的字段长度是固定的,所述第一隐藏码和第二隐藏码中任一者的字段长度远小于UUID、固定码和用户配置码的字段长度之和,并且对UUID、固定码和用户配置码的排序以及所述哈希函数的实现,均是通过硬件予以实现且不开放的,用户不可能访问,当然也就不可能根据UUID、固定码和用户配置码来推导出所述隐藏码。
图4为本发明一实施例的微控制器的结构示意图。所述微控制器40包括处理器41和存储器42,该处理器41和存储器42可以通过通信总线43实现数据或信号传输连接。
处理器41是微控制器40的控制中心,利用各种接口和线路连接整个微控制器40的各个部分,通过运行或加载存储在存储器42内的程序,以及调用存储在存储器42内的数据,执行微控制器40的各种功能和处理数据,从而对微控制器40进行整体监控。
其中,所述处理器41会按照如下的步骤,将一个或一个以上的程序的进程对应的指令加载到存储器42中,并由处理器41来运行存储在存储器42中的程序,从而实现如下一个或多个功能:
获取微控制器的唯一识别码;
对所述唯一识别码排序;
采用哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,两者为未开放且不可访问的哈希值;以及
将第一隐藏码作为密钥,并采用预置加密算法对微控制器的外挂闪存中的程序和/或数据执行加密而得到第一暗码,该第一暗码存储于外挂闪存中,以及对第一暗码执行解密得到明码形式的程序和/或数据,并放入随机存取存储器中,并允许中央处理器从随机存取存储器中访问与调用所述明码形式的程序和/或数据,或者,将第二隐藏码作为密钥,并采用基于数字组合逻辑电路的加密解密器对微控制器的外挂闪存中的程序和/或数据执行加密而得到第二暗码,该第二暗码存储于外挂闪存中,以及对第二暗码执行实时解密并得到用于被中央处理器直接访问与调用的明码形式的程序和/或数据。
或者,获取微控制器的唯一识别码、固定码和用户配置码;
对唯一识别码、固定码和用户配置码排序;
采用哈希函数对微控制器的排序后的唯一识别码、固定码和用户配置码进行哈希计算得到第一隐藏码和第二隐藏码;以及
将第一隐藏码作为密钥,并采用预置加密算法对微控制器的外挂闪存中的程序和/或数据执行加密而得到第一暗码,该第一暗码存储于外挂闪存中,以及对第一暗码执行解密得到明码形式的程序和/或数据,并放入随机存取存储器中,并允许中央处理器从随机存取存储器中访问与调用所述明码形式的程序和/或数据,或者,将第二隐藏码作为密钥,并采用基于数字组合逻辑电路的加密解密器对微控制器的外挂闪存中的程序和/或数据执行加密而得到第二暗码,该第二暗码存储于外挂闪存中,以及对第二暗码执行实时解密并得到用于被中央处理器直接访问与调用的明码形式的程序和/或数据。
对于各个步骤的具体执行方式,即处理器41调用程序所执行步骤的具体内容可参阅前述实施例,此处不再予以一一赘述。
本发明实施例可以提供一种具有该微控制器40的电子设备,该电子设备可以通过该微控制器40进行前述程序和数据的加密解密。
图5为本发明一实施例的电子设备的结构示意图。所述电子设备50包括处理器51和存储器52,该处理器51和存储器52可以通过通信总线53实现数据或信号传输连接。
处理器51是电子设备50的控制中心,利用各种接口和线路连接整个电子设备50的各个部分,通过运行或加载存储在存储器52内的程序,以及调用存储在存储器52内的数据,执行电子设备50的各种功能和处理数据,从而对电子设备50进行整体监控。
其中,所述处理器51会按照如下的步骤,将一个或一个以上的程序的进程对应的指令加载到存储器52中,并由处理器51来运行存储在存储器52中的程序,从而实现如下一个或多个功能:
获取微控制器的唯一识别码;
对所述唯一识别码排序;
采用哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,两者为未开放且不可访问的哈希值;以及
将第一隐藏码作为密钥,并采用预置加密算法对微控制器的外挂闪存中的程序和/或数据执行加密而得到第一暗码,该第一暗码存储于外挂闪存中,以及对第一暗码执行解密得到明码形式的程序和/或数据,并放入随机存取存储器中,并允许中央处理器从随机存取存储器中访问与调用所述明码形式的程序和/或数据,或者,将第二隐藏码作为密钥,并采用基于数字组合逻辑电路的加密解密器对微控制器的外挂闪存中的程序和/或数据执行加密而得到第二暗码,该第二暗码存储于外挂闪存中,以及对第二暗码执行实时解密并得到用于被中央处理器直接访问与调用的明码形式的程序和/或数据。
或者,获取微控制器的唯一识别码、固定码和用户配置码;
对所述唯一识别码、固定码和用户配置码排序;
采用哈希函数对微控制器的排序后的唯一识别码、固定码和用户配置码进行哈希计算得到第一隐藏码和第二隐藏码;以及
将第一隐藏码作为密钥,并采用预置加密算法对微控制器的外挂闪存中的程序和/或数据执行加密而得到第一暗码,该第一暗码存储于外挂闪存中,以及对第一暗码执行解密得到明码形式的程序和/或数据,并放入随机存取存储器中,并允许中央处理器从随机存取存储器中访问与调用所述明码形式的程序和/或数据,或者,将第二隐藏码作为密钥,并采用基于数字组合逻辑电路的加密解密器对微控制器的外挂闪存中的程序和/或数据执行加密而得到第二暗码,该第二暗码存储于外挂闪存中,以及对第二暗码执行实时解密并得到用于被中央处理器直接访问与调用的明码形式的程序和/或数据。
对于各个步骤的具体执行方式,即处理器51调用程序所执行步骤的具体内容可参阅前述实施例,此处不再予以一一赘述。
应该理解到,在实际应用场景中具体实施时,根据电子设备50所属的设备类型,以上各个步骤的执行主体可以并非处理器51和存储器52,而是由其他模块和单元分别实现。
在实际应用场景中,所述电子设备50的具体表现形式可以为智能手机、PDA(Personal Digital Assistant,个人数字助理或平板电脑)等移动设备,也可以为可佩戴于肢体或者嵌入于衣物、首饰、配件等中的具有对应功能的可穿戴设备。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种可读存储介质,该可读存储介质中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种外挂闪存管理方法中的一个或多个步骤。其中,该可读存储介质可以包括只读存储器、随机存取记忆体、磁盘或光盘等。
由于该可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种外挂闪存管理方法中的步骤,因此,可以实现本发明实施例所提供的任一种外挂闪存管理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
尽管已经相对于一个或多个实现方式示出并描述了本发明,但本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本发明包括所有此修改和变型,并且由前述实施例的技术方案进行支撑。特别地关于由上述组件执行的各种功能,用于描述这样的组件的术语旨在于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本说明书的示范性实现方式中的功能的公开结构不等同。
即,以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本说明书及附图内容所作的等效结构变换,例如各实施例之间技术特征的结合,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
另外,在前述实施例的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
进一步地,虽然上述实施例的流程图中的各个步骤按照箭头指示依次显示,但这些步骤并非必然按照箭头指示的顺序依次执行。除非本文明确说明,这些步骤的执行并没有严格的顺序限制,其可以以其他顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然在同一时刻执行完成,而可以在不同时刻执行,执行顺序也不必然是依次进行,而可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替执行。

Claims (10)

1.一种外挂闪存管理方法,其特征在于,包括:
获取微控制器的唯一识别码;
对所述唯一识别码排序;
采用哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,两者为未开放且不可访问的哈希值;
将所述第一隐藏码作为密钥,并采用预置加密算法对微控制器的外挂闪存中的程序和/或数据执行加密而得到第一暗码,所述第一暗码存储于所述外挂闪存中,以及对所述第一暗码执行解密得到明码形式的程序和/或数据,并放入随机存取存储器中,并允许中央处理器从随机存取存储器中访问与调用所述明码形式的程序和/或数据;
或者,将所述第二隐藏码作为密钥,并采用基于数字组合逻辑电路的加密解密器对所述微控制器的外挂闪存中的程序和/或数据执行加密而得到第二暗码,所述第二暗码存储于所述外挂闪存中,以及对所述第二暗码执行实时解密并得到用于被中央处理器直接访问与调用的明码形式的程序和/或数据。
2.根据权利要求1所述的外挂闪存管理方法,其特征在于,
所述方法还包括:获取微控制器的固定码和用户配置码;
对所述固定码和用户配置码排序;
所述采用哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,包括:
采用哈希函数对微控制器的排序后的唯一识别码、固定码和用户配置码进行哈希计算得到第一隐藏码和第二隐藏码。
3.根据权利要求2所述的外挂闪存管理方法,其特征在于,所述第一隐藏码和第二隐藏码中任一者的字段长度小于所述唯一识别码、固定码和用户配置码的字段长度之和。
4.根据权利要求1或2所述的外挂闪存管理方法,其特征在于,所述采用哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,包括:
采用第一哈希函数和第二哈希函数分别对排序后的唯一识别码进行哈希计算得到不同的第一隐藏码和第二隐藏码。
5.根据权利要求1或2所述的外挂闪存管理方法,其特征在于,所述采用哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,包括:
采用同一哈希函数对排序后的唯一识别码进行哈希计算得到第一隐藏码和第二隐藏码,所述第一隐藏码和第二隐藏码相同。
6.根据权利要求1所述的外挂闪存管理方法,其特征在于,所述第一隐藏码和第二隐藏码的字段长度相同。
7.根据权利要求1所述的外挂闪存管理方法,其特征在于,对于不同字段长度的唯一识别码,所述隐藏码的字段长度相同。
8.一种微控制器,其特征在于,包括存储器和处理器,所述存储器存储有程序,所述程序用于被所述处理器运行以执行权利要求1~7任一项所述的外挂闪存管理方法中的一个或多个步骤。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有程序,所述程序用于被所述处理器运行以执行权利要求1~7任一项所述的外挂闪存管理方法中的一个或多个步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有程序,所述程序用于被处理器运行以执行如上述权利要求1~7任一项所述的外挂闪存管理方法中的一个或多个步骤。
CN202010477020.3A 2020-05-29 2020-05-29 外挂闪存管理方法、mcu及电子设备、可读存储介质 Active CN111767552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010477020.3A CN111767552B (zh) 2020-05-29 2020-05-29 外挂闪存管理方法、mcu及电子设备、可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010477020.3A CN111767552B (zh) 2020-05-29 2020-05-29 外挂闪存管理方法、mcu及电子设备、可读存储介质

Publications (2)

Publication Number Publication Date
CN111767552A true CN111767552A (zh) 2020-10-13
CN111767552B CN111767552B (zh) 2024-06-07

Family

ID=72719230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010477020.3A Active CN111767552B (zh) 2020-05-29 2020-05-29 外挂闪存管理方法、mcu及电子设备、可读存储介质

Country Status (1)

Country Link
CN (1) CN111767552B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI821824B (zh) * 2021-12-16 2023-11-11 上銀科技股份有限公司 自動載入參數的方法和系統及其服務端伺服器和客戶端伺服器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573572A (zh) * 2013-10-25 2015-04-29 上海华力创通半导体有限公司 加密读写芯片标识符的方法
CN105631362A (zh) * 2014-10-29 2016-06-01 奇方科技有限公司 微控制器加密的方法
CN107704730A (zh) * 2017-09-15 2018-02-16 成都驰通数码系统有限公司 一种电子设备内嵌软件自加密方法
CN111143904A (zh) * 2018-11-02 2020-05-12 北京嘉楠捷思信息技术有限公司 一种数据解密方法、装置和计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573572A (zh) * 2013-10-25 2015-04-29 上海华力创通半导体有限公司 加密读写芯片标识符的方法
CN105631362A (zh) * 2014-10-29 2016-06-01 奇方科技有限公司 微控制器加密的方法
CN107704730A (zh) * 2017-09-15 2018-02-16 成都驰通数码系统有限公司 一种电子设备内嵌软件自加密方法
CN111143904A (zh) * 2018-11-02 2020-05-12 北京嘉楠捷思信息技术有限公司 一种数据解密方法、装置和计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI821824B (zh) * 2021-12-16 2023-11-11 上銀科技股份有限公司 自動載入參數的方法和系統及其服務端伺服器和客戶端伺服器

Also Published As

Publication number Publication date
CN111767552B (zh) 2024-06-07

Similar Documents

Publication Publication Date Title
KR102182894B1 (ko) 패스워드 기반의 인증을 수행하는 사용자 장치 및 그것의 패스워드 등록 방법 및 인증 방법
US8681976B2 (en) System and method for device dependent and rate limited key generation
TW201812638A (zh) 區塊鏈加密射頻晶片存儲設計方法
JP2010527219A (ja) 物理的に複製不可能な機能を用いて電子機器のセキュリティを電子的に確保する方法およびシステム
JP2001514834A (ja) 安全決定性暗号鍵発生システムおよび方法
CN111767553B (zh) 数据加密解密方法、mcu及电子设备、可读存储介质
CN112865957A (zh) 数据加密传输方法、装置、计算机目标设备和存储介质
CN111628863B (zh) 一种数据签名的方法、装置、电子设备及存储介质
US20220198068A1 (en) Privacy-enhanced computation via sequestered encryption
CN113434906B (zh) 数据查询方法、装置、计算机设备及存储介质
CN111767552B (zh) 外挂闪存管理方法、mcu及电子设备、可读存储介质
CN109598105A (zh) 一种微控制器安全加载固件的方法、装置、计算机设备及存储介质
CN110232570B (zh) 一种信息监管方法及装置
CN112866987A (zh) 组网验证方法、设备及计算机可读存储介质
JP4863279B2 (ja) メモリシステム及びメモリアクセス方法
CN106570410B (zh) 一种数据的加密方法、解密方法、装置和系统
CN103544011B (zh) 一种动态创建并使用功能对象的方法
CN109240849B (zh) 数据备份方法、装置及用于视频会议系统的多点控制单元
JP2002290395A (ja) 情報端末装置
CN113392062A (zh) 数据存储方法、装置、电子设备和计算机可读存储介质
US20070022288A1 (en) Checking of a digital quantity stored in a memory area
CN113179161B (zh) 一种秘钥更换的方法、装置、计算机设备及存储介质
CN113486375B (zh) 设备信息的存储方法和装置、存储介质及电子装置
Adithya et al. Advanced Encryption Standard Crypto Block Verification Utility
CN115906056A (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