CN116881985A - 基于芯片pid或寄存器的访问方法以及相应的电子设备 - Google Patents
基于芯片pid或寄存器的访问方法以及相应的电子设备 Download PDFInfo
- Publication number
- CN116881985A CN116881985A CN202310730451.XA CN202310730451A CN116881985A CN 116881985 A CN116881985 A CN 116881985A CN 202310730451 A CN202310730451 A CN 202310730451A CN 116881985 A CN116881985 A CN 116881985A
- Authority
- CN
- China
- Prior art keywords
- soc chip
- key
- pid
- mode
- chip
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012795 verification Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 5
- 238000012986 modification Methods 0.000 abstract description 5
- 230000004048 modification Effects 0.000 abstract description 5
- 238000007689 inspection Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施方式公开了一种基于芯片PID或寄存器的访问方法以及相应的电子设备。基于芯片PID的访问方法包括:在SOC芯片接收到任意字符时,判断SOC芯片处于secure模式或unsecure模式;若SOC芯片处于unsecure模式,则根据由SOC芯片的PID生成的PID密钥使SOC芯片进入secure模式并输出第一结果;若SOC芯片处于secure模式,则根据由PID生成的访问密钥使SOC芯片进入unsecure模式并输出第二结果,或根据访问密钥输出第三结果。通过上述方式,本发明将与SOC芯片相对应的PID所生成得密码烧录至SOC芯片,使其进入secure模式,以防止通过I2C等调试接口非法访问芯片内部存储器;在通过检验的情况下能使芯片进入unsecure模式,实现对芯片内部存储器和寄存器的读取或修改,使芯片具备可修改性,从而降低了风险和维护成本。
Description
技术领域
本发明实施方式涉及数据读取领域,特别是涉及基于芯片PID或寄存器的访问方法以及相应的电子设备。
背景技术
从芯片的加密保护功能方面看,芯片可以工作在两种模式下,即secure模式与unsecure模式。两种模式的区别在于是否允许通过外部调试接口(如I2C,UART)访问芯片内部的存储器(如FLASH)。
现有的芯片加密设计方案存在如下缺陷:如efuse无后门方案,一旦产线烧录后便无法更改,在无法修改的情况下,如果出现软件版本错误或某种原因导致芯片烧录bin文件异常,如丢失部分数据等问题,则该芯片视为报废产品,搭载这类芯片的产品则视为不合格产品,需要替换掉该芯片才能正常使用,芯片的报废以及芯片的替换无疑都提高了损失。而可更改的芯片加密涉及方案则需要第三方服务器产生非对称密钥对,收到密钥对后,需要一台能签名flash里的bin文件签名工具,密钥对对产生的签名摘要再加密,其中涉及的算法较复杂,且需要设计专门的解密及签名验签程序,同时还需要有密钥管理机制,大大提高了开发维护成本。
发明内容
本发明实施方式主要解决的技术问题是提供一种基于芯片PID或寄存器的访问方法以及相应的电子设备,将与SOC芯片相对应的PID所生成得密码烧录至SOC芯片,使其进入secure模式,以防止通过I2C等调试接口非法访问芯片内部存储器,还能避免该加密程序代码被滥用;在通过检验的情况下还能使芯片进入unsecure模式,以实现对芯片内部存储器和寄存器的读取或修改,使芯片具备可修改性,从而降低了风险和维护成本。
为解决上述技术问题,本发明实施方式采用的一个技术方案是:提供一种基于芯片PID的访问方法,包括:在SOC芯片接收到任意字符时,判断所述SOC芯片处于secure模式或unsecure模式;若所述SOC芯片处于所述unsecure模式,则根据由所述SOC芯片的PID生成的PID密钥使所述SOC芯片进入所述secure模式并输出第一结果;若所述SOC芯片处于所述secure模式,则根据由所述PID生成的访问密钥使所述SOC芯片进入所述unsecure模式并输出第二结果,或根据所述访问密钥输出第三结果。
在一些实施例中,在判断所述SOC芯片处于secure模式或unsecure模式前,所述方法还包括:在所述SOC芯片处于secure模式下,验证第二密钥和SOC芯片的PID是否符合预定的加密算法;若否,则终止执行所述访问方法。
在一些实施例中,所述根据由所述SOC芯片的PID生成的PID密钥使所述SOC芯片进入secure模式,包括:发送所述PID至计算机;分别接收所述计算机根据所述PID所生成的第一密钥和第二密钥;将所述第一密钥烧录至SOC芯片的Flash配置域;将所述第二密钥烧录至所述SOC芯片的Flash的保留区域。
在一些实施例中,所述根据由所述PID生成的访问密钥使所述SOC芯片进入所述unsecure模式并输出第二结果,或根据所述访问密钥输出第三结果,包括:发送所述PID至计算机;接收所述计算机根据所述PID所生成的访问密钥;对所述访问密钥执行密码校验命令,验证所述访问密钥是否与预设密钥一致;若是,则使所述SOC芯片进入所述unsecure模式并输出所述第二结果;若否,则输出所述第三结果;其中,所述预设密钥包括第一密钥和第二密钥。
在一些实施例中,所述第一密钥、所述第二密钥和访问密钥是由所述计算机经过AES的ECB模式或CBC模式对所述PID进行加密所获得的。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一结果为SOC芯片已进入secure模式,所述第二结果为SOC芯片已进入unsecure模式,等待重新烧录第一密钥和第二密钥,所述第三结果为访问密钥错误与预设密钥不一致,SOC芯片等待复位。
为解决上述技术问题,本发明实施方式采用的另一个技术方案是:提供一种基于寄存器的访问方法,包括:将锁定程序烧录至SOC芯片,使所述SOC芯片进入secure模式;将预设的访问许可数据分别写入所述SOC芯片的相应的模式设置寄存器,使所述SOC芯片进入unsecure模式。
在一些实施例中,在所述SOC芯片进入unsecure模式后,使SOC芯片再次进入secure模式的方法包括:所述模式设置寄存器包括模式退出寄存器,通过向所述模式退出寄存器写入与相应访问许可数据不同的数据,以使所述SOC芯片退出所述unsecure模式;或,使所述SOC芯片断电后,重新上电。
为解决上述技术问题,本发明实施方式采用的另一个技术方案是:提供一种电子设备,包括:至少一个处理器;至少一个网络接口,所述网络接口与相应的处理器通信连接;以及与所述至少一个处理器通信连接的存储器;其中,所述网络接口用于建立所述处理器与其他外界设备之间的通信连接;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的一种基于芯片PID的访问方法或如上所述的一种基于寄存器的访问方法。
为解决上述技术问题,本发明实施方式采用的另一个技术方案是:提供一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,可使得所述一个或多个处理器执行如上所述的一种基于芯片PID的访问方法或如上所述的一种基于寄存器的访问方法。
本发明实施方式的有益效果是:区别于现有技术的情况,本发明实施方式将与SOC芯片相对应的PID所生成得密码烧录至SOC芯片,使其进入secure模式,以防止通过I2C等调试接口非法访问芯片内部存储器,还能避免该加密程序代码被滥用;在通过检验的情况下还能使芯片进入unsecure模式,以实现对芯片内部存储器和寄存器的读取或修改,使芯片具备可修改性,从而降低了风险和维护成本。
附图说明
图1是本发明实施方式提供的一种基于芯片PID的访问方法的流程示意图;
图2是本发明实施方式提供的另一种基于芯片PID的访问方法的流程示意图;
图3是本发明实施方式提供的一种步骤S300的流程示意图;
图4是本发明实施方式提供的一种步骤S400的流程示意图;
图5是本发明实施方式提供的一种基于寄存器的访问方法的流程示意图;
图6是本发明实施方式提供的一种电子设备的结构示意图。
具体实施方式
为了便于理解本申请,下面结合附图和具体实施例,对本申请进行更详细的说明。需要说明的是,当元件被表述“固定于”另一个元件,它可以直接在另一个元件上、或者其间可以存在一个或多个居中的元件。当一个元件被表述“连接”另一个元件,它可以是直接连接到另一个元件、或者其间可以存在一个或多个居中的元件。本说明书所使用的术语“上”、“下”、“内”、“外”、“底部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本说明书中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本申请。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本申请不同实施例中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
从芯片的加密保护功能方面看,芯片可以工作在两种模式下,即Secure模式与unsecure模式。两种模式的区别在于是否允许通过外部调试接口(如I2C,UART)访问芯片内部的存储器(如快闪存储器,flash memory,简称闪存),在本申请中简称为flash。为保护开发者的IP权益,在程序中设置flash配置区域(flash configuration field)中相应的加密位,待下载程序并复位后,芯片就可进入secure模式。在secure模式下,通过外部调试接口无法执行读取或写入flash的指令。相反,在unsecure模式下,通过外部调试接口可以执行所有的flash操作指令,包括擦除、读取和写入等。因此,本发明还针对flash设计了另外的保护机制,用于保护flash中的程序和数据不被意外擦除或写入,有效防止CPU对flash的误操作。
请参阅图1,图1为本发明实施方式提供的一种基于芯片PID的访问方法,该方法具体包括如下步骤:
步骤S200:在SOC芯片接收到任意字符时,判断SOC芯片处于secure模式或unsecure模式。
在要对SOC芯片的内部存储器或寄存器进行操作时,SOC芯片接收到任意字符,判断此时SOC芯片是处于secure模式或unsecure模式,若SOC芯片处于secure模式,则执行步骤S300;若SOC芯片处于unsecure模式,则执行步骤S400。
步骤S300:根据由SOC芯片的PID生成的PID密钥使SOC芯片进入secure模式并输出第一结果。
根据判断已知此时的SOC芯片是处于unsecure模式,因此该SOC芯片的内部存储器和相应寄存器是可以读取和修改的。
在本发明的一些实施例中,步骤S300具体包括如下步骤,其流程示意图如图3所示:
步骤S310:发送PID至计算机。
SOC芯片具有唯一的产品ID号,称为PID,保存在flash的配置存储器中。具体地,SOC芯片将保存在配置存储器中的PID发送到计算机。
步骤S320:分别接收计算机根据PID所生成的第一密钥和第二密钥。
具体地,计算机接收到该PID后,经过AES的相应加密模式对该PID进行加密处理,由此生成第一密钥和第二密钥,第一密钥和第二密钥可称之为后门访问密钥(BackdoorAccess Key)。
AES有五种加密模式,具体为:
1.电码本模式(Electronic Codebook Book,ECB);2.密码分组链接模式(CipherBlock Chaining,CBC);3.计算器模式(Counter,CTR);4.密码反馈模式(Cipher FeedBack,CFB);5.输出反馈模式(Output FeedBack,OFB)。
在本实施例中,优选ECB模式或CBC模式对PID进行加密。
步骤S330:将第一密钥烧录至SOC芯片的Flash配置域。
计算机将第一密钥发送至SOC芯片,之后第一密钥被烧录至SOC芯片的Flash配置域中作为第一校验参照,第一密钥可重复烧录至SOC芯片的Flash配置域中。
步骤S340:将第二密钥烧录至SOC芯片的Flash的保留区域。
计算机将第二密钥发送至SOC芯片,之后第二密钥被烧录至SOC芯片的Flash的保留区域中作为第二校验参照,第二密钥可重复烧录至SOC芯片的Flash的保留区域中。
在执行完上述步骤后,输出第一结果,第一结果为SOC芯片已进入secure模式。
步骤S400:根据由PID生成的访问密钥使SOC芯片进入unsecure模式并输出第二结果,或根据访问密钥输出第三结果。
在本发明的一些实施例中,步骤S400具体包括如下步骤,其流程示意图如图4所示:
步骤S410:发送PID至计算机。
步骤S420:接收计算机根据PID所生成的访问密钥。
具体地,计算机接收到该PID后,经过AES的相应加密模式对该PID进行加密处理,由此生成访问密钥。在本实施例中,优选ECB模式或CBC模式对PID进行加密。
步骤S430:对访问密钥执行密码校验命令,验证访问密钥是否与预设密钥一致。
计算机将生成的访问密钥发送至SOC芯片,SOC芯片对访问密钥执行密码校验命令,验证访问密钥是否与预设密钥一致。预设密钥包括Flash配置域中的第一密钥和Flash的保留区域中的第二密钥。
作为示例而非限定的,可通过Verify Backdoor Command来校验访问密钥与Flash配置域中的第一密钥或Flash的保留区域中的第二密钥是否一致。若是,则执行步骤S440;若否,则执行步骤S450。
步骤S440:使SOC芯片进入unsecure模式并输出第二结果。
经过校验可知访问密钥与预设密钥一致,即访问密钥通过,SOC芯片进入unsecure模式,允许访问该SOC芯片的内部存储器以及相应寄存器,同时输出第二结果,第二结果为SOC芯片已进入unsecure模式。SOC芯片等待重新加密,若访问完其内部存储器和相应寄存器后,则可执行上述步骤S300重新为SOC芯片加密。
步骤S450:输出第三结果。
经过校验可知访问密钥与预设密钥不一致,即访问密钥不通过,不允许访问该SOC芯片的内部存储器以及相应寄存器。此时输出第三结果,第三结果为访问密钥错误与预设密钥不一致,SOC芯片等待复位。
本发明实施方式将与SOC芯片相对应的PID所生成得密码烧录至SOC芯片,使其进入secure模式,以防止通过I2C等调试接口非法访问芯片内部存储器,还能避免该加密程序代码被滥用;在通过检验的情况下还能使芯片进入unsecure模式,以实现对芯片内部存储器和寄存器的读取或修改,使芯片具备可修改性,从而降低了风险和维护成本。
在执行上述的基于芯片PID的访问方法之前,还可预先运行一段校验程序,用于校验Flash的保留区域中的第二密钥与SOC芯片的PID是否符合预定的加密算法,其流程示意图如图2所示,该方法具体包括如下步骤:
步骤S100:在SOC芯片处于secure模式下,验证第二密钥和SOC芯片的PID是否符合预定的加密算法。
即该校验程序是基于SOC处于secure模式下才会运行的,通过验证第二密钥和SOC芯片的PID是否符合预定的加密算法,若否,则执行步骤S500;若是,则执行步骤S200。
步骤S500:终止执行访问方法。
通过校验得知第二密钥和SOC芯片的PID不符合预定的加密算法,因此后续的所有步骤都不适用于该SOC芯片,因为第二密钥是与SOC芯片的PID挂钩的,PID具有唯一性,若不符合,则说明该第二密钥是应用在其他SOC芯片上的。因此在校验得知第二密钥和SOC芯片的PID不符合预定的加密算法后,则终止执行该访问方法,具体为后续的所有步骤。
步骤S200:在SOC芯片接收到任意字符时,判断SOC芯片处于secure模式或unsecure模式。
在要对SOC芯片的内部存储器或寄存器进行操作时,SOC芯片接收到任意字符,判断此时SOC芯片是处于secure模式或unsecure模式,若SOC芯片处于secure模式,则执行步骤S300;若SOC芯片处于unsecure模式,则执行步骤S400。
步骤S300:根据由SOC芯片的PID生成的PID密钥使SOC芯片进入secure模式并输出第一结果。
根据判断已知此时的SOC芯片是处于unsecure模式,因此该SOC芯片的内部存储器和相应寄存器是可以读取和修改的。
在本发明的一些实施例中,步骤S300具体包括如下步骤,其流程示意图如图3所示:
步骤S310:发送PID至计算机。
SOC芯片具有唯一的产品ID号,称为PID,保存在flash的配置存储器中。具体地,SOC芯片将保存在配置存储器中的PID发送到计算机。
步骤S320:分别接收计算机根据PID所生成的第一密钥和第二密钥。
具体地,计算机接收到该PID后,经过AES的相应加密模式对该PID进行加密处理,由此生成第一密钥和第二密钥,第一密钥和第二密钥可称之为后门访问密钥(BackdoorAccess Key)。
在本实施例中,优选ECB模式或CBC模式对PID进行加密。
步骤S330:将第一密钥烧录至SOC芯片的Flash配置域。
计算机将第一密钥发送至SOC芯片,之后第一密钥被烧录至SOC芯片的Flash配置域中作为第一校验参照,第一密钥可重复烧录至SOC芯片的Flash配置域中。
步骤S340:将第二密钥烧录至SOC芯片的Flash的保留区域。
计算机将第二密钥发送至SOC芯片,之后第二密钥被烧录至SOC芯片的Flash的保留区域中作为第二校验参照,第二密钥可重复烧录至SOC芯片的Flash的保留区域中。
在执行完上述步骤后,输出第一结果,第一结果为SOC芯片已进入secure模式。
步骤S400:根据由PID生成的访问密钥使SOC芯片进入unsecure模式并输出第二结果,或根据访问密钥输出第三结果。
在本发明的一些实施例中,步骤S400具体包括如下步骤,其流程示意图如图4所示:
步骤S410:发送PID至计算机。
步骤S420:接收计算机根据PID所生成的访问密钥。
具体地,计算机接收到该PID后,经过AES的相应加密模式对该PID进行加密处理,由此生成访问密钥。在本实施例中,优选ECB模式或CBC模式对PID进行加密。
步骤S430:对访问密钥执行密码校验命令,验证访问密钥是否与预设密钥一致。
计算机将生成的访问密钥发送至SOC芯片,SOC芯片对访问密钥执行密码校验命令,验证访问密钥是否与预设密钥一致。预设密钥包括Flash配置域中的第一密钥和Flash的保留区域中的第二密钥。
作为示例而非限定的,可通过Verify Backdoor Command来校验访问密钥与Flash配置域中的第一密钥或Flash的保留区域中的第二密钥是否一致。若是,则执行步骤S440;若否,则执行步骤S450。
步骤S440:使SOC芯片进入unsecure模式并输出第二结果。
经过校验可知访问密钥与预设密钥一致,即访问密钥通过,SOC芯片进入unsecure模式,允许访问该SOC芯片的内部存储器以及相应寄存器,同时输出第二结果,第二结果为SOC芯片已进入unsecure模式。SOC芯片等待重新加密,若访问完其内部存储器和相应寄存器后,则可执行上述步骤S300重新为SOC芯片加密。
步骤S450:输出第三结果。
经过校验可知访问密钥与预设密钥不一致,即访问密钥不通过,不允许访问该SOC芯片的内部存储器以及相应寄存器。此时输出第三结果,第三结果为访问密钥错误与预设密钥不一致,SOC芯片等待复位。
本发明实施方式还提供了一种基于寄存器的访问方法,其流程示意图如图5所示,该方法具体包括如下步骤:
步骤S600:将锁定程序烧录至SOC芯片,使SOC芯片进入secure模式。
具体地,将用于控制SOC芯片的内部存储器无法被烧录以及相应寄存器无法被修改的锁定程序烧录至SOC芯片中,使SOC芯片进入secure模式。
以Efuse为例,将efuse_mem_lock=reg_47[7],efuse_reg_lock=reg_47[6],烧录至Efuse中,并设置为当efuse_mem_lock=1,不能对Efuse存储器进行烧写功能;当efsue_reg_lock=1,不能修改Efuse对应寄存器(reg_40~reg_4F)。
步骤S700:将预设的访问许可数据分别写入SOC芯片的相应的模式设置寄存器,使SOC芯片进入unsecure模式。
同理以Efuse为例,按照如下顺序连续以及对应的访问许可数据写入下列寄存器,即可进入unsecure模式。
Reg_28=0x99;
Reg_29=0x33;
Reg_2A=0x8C;
其中,Reg_28、Reg_29和Reg_2A为模式设置寄存器,0x99、0x33和0x8C为预设的访问许可数据。
在unsecure模式下,Efuse的锁定功能将被无视,可以对efuse对应寄存器和efuse存储器进行修改或读取。
此外,在对内部存储器和相应寄存器读取和修改完之后,需要使SOC芯片再度进入secure模式,以保障其数据的安全。
在本实施例中,使SOC芯片再次进入secure模式的方法包括:
模式设置寄存器包括模式退出寄存器,通过向模式退出寄存器写入与相应访问许可数据不同的数据,以使SOC芯片退出unsecure模式;或,使SOC芯片断电后,重新上电。
如上述模式设置寄存器包括Reg_28、Reg_29和Reg_2A,其中Reg_28为模式退出寄存器,只需向Reg_28写入任意与0x99不同的数据,则可使Efuse退出unsecure模式。
本发明实施方式还基于上述的基于芯片PID的访问方法或基于寄存器的访问方法提供了一种电子设备,其结构示意图如图6所示,该电子设备100包括:
一个或多个处理器101、网络接口102以及存储器103,图6中以一个处理器101、一个网络接口102以及一个存储器103为例。
网络接口102和相应的处理器101通信连接,处理器101和存储器102可以通过总线或者其他方式连接,图6中以通过总线连接为例。
网络接口102用于建立处理器101与其他外界设备之间的通信连接,包括如下类型:RJ-45接口、SC光纤接口、AUI接口、FDDI接口和Console接口等接口类型。
存储器103作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器101通过运行存储在存储器103中的非易失性软件程序、指令以及单元,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的基于芯片PID的访问方法或基于寄存器的访问方法。
存储器103可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备使用所创建的数据等。此外,存储器103可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、flash器件、或其他非易失性固态存储器件。在一些实施例中,存储器103可选包括相对于处理器101远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在存储器103中,当被一个或者多个处理器101执行时,执行上述任意方法实施例中的基于芯片PID的访问方法或基于寄存器的访问方法,例如,执行以上描述的图1中的方法步骤S200至步骤S400或以上描述的图2中的方法步骤S100至步骤S500或以上描述的图5中的方法步骤S600至步骤700。
上述电子设备可执行本发明实施例所提供的基于芯片PID的访问方法或基于寄存器的访问方法,具备执行方法相应的程序模块和有益效果。未在电子设备实施例中详尽描述的技术细节,可参见本发明实施例所提供的基于芯片PID的访问方法或基于寄存器的访问方法。
本发明实施例还提供了一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述非易失性计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现本公开实施例的基于芯片PID的访问方法或基于寄存器的访问方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种基于芯片PID的访问方法,其特征在于,包括:
在SOC芯片接收到任意字符时,判断所述SOC芯片处于secure模式或unsecure模式;
若所述SOC芯片处于所述unsecure模式,则根据由所述SOC芯片的PID生成的PID密钥使所述SOC芯片进入所述secure模式并输出第一结果;
若所述SOC芯片处于所述secure模式,则根据由所述PID生成的访问密钥使所述SOC芯片进入所述unsecure模式并输出第二结果,或根据所述访问密钥输出第三结果。
2.根据权利要求1所述的方法,其特征在于,在判断所述SOC芯片处于secure模式或unsecure模式前,所述方法还包括:
在所述SOC芯片处于secure模式下,验证第二密钥和SOC芯片的PID是否符合预定的加密算法;
若否,则终止执行所述访问方法。
3.根据权利要求1所述的方法,其特征在于,所述根据由所述SOC芯片的PID生成的PID密钥使所述SOC芯片进入secure模式,包括:
发送所述PID至计算机;
分别接收所述计算机根据所述PID所生成的第一密钥和第二密钥;
将所述第一密钥烧录至SOC芯片的Flash配置域;
将所述第二密钥烧录至所述SOC芯片的Flash的保留区域。
4.根据权利要求3所述的方法,其特征在于,所述根据由所述PID生成的访问密钥使所述SOC芯片进入所述unsecure模式并输出第二结果,或根据所述访问密钥输出第三结果,包括:
发送所述PID至计算机;
接收所述计算机根据所述PID所生成的访问密钥;
对所述访问密钥执行密码校验命令,验证所述访问密钥是否与预设密钥一致;
若是,则使所述SOC芯片进入所述unsecure模式并输出所述第二结果;
若否,则输出所述第三结果;
其中,所述预设密钥包括第一密钥和第二密钥。
5.根据权利要求4所述的方法,其特征在于,所述第一密钥、所述第二密钥和访问密钥是由所述计算机经过AES的ECB模式或CBC模式对所述PID进行加密所获得的。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一结果为SOC芯片已进入secure模式,所述第二结果为SOC芯片已进入unsecure模式,等待重新烧录第一密钥和第二密钥,所述第三结果为访问密钥与预设密钥不一致,SOC芯片等待复位。
7.一种基于寄存器的访问方法,其特征在于,包括:
将锁定程序烧录至SOC芯片,使所述SOC芯片进入secure模式;
将预设的访问许可数据分别写入所述SOC芯片的相应的模式设置寄存器,使所述SOC芯片进入unsecure模式。
8.根据权利要求7所述的方法,其特征在于,在所述SOC芯片进入unsecure模式后,使SOC芯片再次进入secure模式的方法包括:
所述模式设置寄存器包括模式退出寄存器,通过向所述模式退出寄存器写入与相应访问许可数据不同的数据,以使所述SOC芯片退出所述unsecure模式;
或,使所述SOC芯片断电后,重新上电。
9.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个网络接口,所述网络接口与相应的处理器通信连接;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述网络接口用于建立所述处理器与其他外界设备之间的通信连接;
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-6任一项所述的一种基于芯片PID的访问方法或如权利要求7或8所述的一种基于寄存器的访问方法。
10.一种非易失性计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,可使得所述一个或多个处理器执行如权利要求1-6任一项所述的一种基于芯片PID的访问方法或如权利要求7或8所述的一种基于寄存器的访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310730451.XA CN116881985A (zh) | 2023-06-19 | 2023-06-19 | 基于芯片pid或寄存器的访问方法以及相应的电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310730451.XA CN116881985A (zh) | 2023-06-19 | 2023-06-19 | 基于芯片pid或寄存器的访问方法以及相应的电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116881985A true CN116881985A (zh) | 2023-10-13 |
Family
ID=88268906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310730451.XA Pending CN116881985A (zh) | 2023-06-19 | 2023-06-19 | 基于芯片pid或寄存器的访问方法以及相应的电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116881985A (zh) |
-
2023
- 2023-06-19 CN CN202310730451.XA patent/CN116881985A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2248063B1 (en) | Method and apparatus for controlling system access during protected modes of operation | |
CN101533440B (zh) | 提供安全执行环境的装置及其执行安全编码的方法 | |
US9129536B2 (en) | Circuit for secure provisioning in an untrusted environment | |
CN100578473C (zh) | 嵌入式***和增加嵌入式***安全性的方法 | |
US9094205B2 (en) | Secure provisioning in an untrusted environment | |
US20070162964A1 (en) | Embedded system insuring security and integrity, and method of increasing security thereof | |
KR20100016657A (ko) | 전자 디바이스에서 simlock 정보를 보호하는 방법 및 장치 | |
CN102456111B (zh) | 一种Linux操作***许可控制的方法及*** | |
CN101124768A (zh) | 使用受保护的非易失性存储器的***和方法 | |
US7853787B2 (en) | Peripheral device for programmable logic controller | |
JP4791250B2 (ja) | マイクロコンピュータおよびそのソフトウェア改竄防止方法 | |
CN112486607B (zh) | 一种基于软硬件结合的虚拟桌面授权许可方法 | |
WO2010041259A2 (en) | Device and method for disjointed computing | |
CN116881985A (zh) | 基于芯片pid或寄存器的访问方法以及相应的电子设备 | |
JP2010160765A (ja) | システムlsi及びこのデバッグ方法 | |
TWI818221B (zh) | 可認證晶片外部除錯功能韌體程式與除錯使用者的晶片與方法 | |
CN114117527A (zh) | 信息鉴权方法、***、装置和可读存储介质 | |
KR100787684B1 (ko) | 프로그래머블 로직 컨트롤러의 주변 장치 | |
CN117828580A (zh) | 一种应用程序认证方法及装置 | |
JP5126530B2 (ja) | コンピュータの環境を測定する機能を備えた外部記憶デバイス | |
CN117708897A (zh) | 用于保护嵌入式设备固件数据的方法以及嵌入式设备 | |
CN117708896A (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 |