CN117216749A - 一种芯片调试权限控制方法和相关设备 - Google Patents
一种芯片调试权限控制方法和相关设备 Download PDFInfo
- Publication number
- CN117216749A CN117216749A CN202311176471.3A CN202311176471A CN117216749A CN 117216749 A CN117216749 A CN 117216749A CN 202311176471 A CN202311176471 A CN 202311176471A CN 117216749 A CN117216749 A CN 117216749A
- Authority
- CN
- China
- Prior art keywords
- authentication
- debugging
- password
- chip
- gate
- 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 40
- 238000012795 verification Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种芯片调试权限控制方法、电路和存储器,涉及芯片安全技术领域。芯片调试权限控制方法包括:获取调试权限控制位;当有调试需求时,根据调试权限控制位的值确定调试是否需要密码认证;若是,则在密码认证通过后,开启调试权限;若否,则直接根据调试权限控制位确定是否开启调试权限。为芯片提供了不同的调试权限模式的选择,可以完全关闭,可以完全打开,可以要求密码认证,其中密码认证的模式既能避免芯片的调试接口没有关闭导致的可能的安全隐患问题,又能避免芯片调试接口简单关闭后芯片无法再进行调试问题,具有操作简单、成本低、可靠性高的优点。
Description
技术领域
本申请涉及芯片安全技术领域,尤其涉及芯片调试权限控制方法和相关设备。
背景技术
SoC(System on Chip,片上系统)芯片是指在单颗芯片上集成一个系统,同时又具备基于该系统的独特功能。随着集成电路技术的快速发展,此类设计越来越复杂,集成度越来越高,功能越来越强大,应用越来越广泛。
SoC芯片的调试方式通常基于JTAG或cJTAG协议。除SoC类型的芯片外,FPGA、DSP也通常支持JTAG协议,用于在线调试或在线编程。
JTAG是Joint Test Action Group(联合测试行为组织)的简称。IEEE 1149.1标准是由JTAG这个组织最初提出的,最终由IEEE批准并且标准化的。IEEE 1149.1标准也称为JTAG调试标准。标准的JTAG接口是4线:TMS(Test Mode Select)、TCK(Test Clock)、TDI(Test Data In)、TDO(Test Data Out),分别为模式选择、时钟、数据输入和数据输出线。cJTAG是在JTAG协议的基础上进行了演进,仅使用TCK和TMS信号,减少了2根信号线,有利于节省PCB(Printed Circuit Board,印制电路板)的空间,在面积受限的小型单板产品上应用。
现有技术主要有两个缺点:
(1)当前很多芯片的JTAG/cJTAG接口在产品化阶段没有关闭,存在通过该JTAG/cJTAG接口被恶意攻击的风险。
(2)当前已有的关闭JTAG/cJTAG接口手段都是简单的永久关闭,在客户产品出现故障后无法通过JTAG/cJTAG接口进行调试,问题定位异常困难。
因此,如何既能避免芯片的调试接口没有关闭导致的可能的安全隐患问题,又能避免芯片调试接口简单关闭后芯片无法再进行调试问题,是需要解决的技术问题。
发明内容
本申请的目的在于提供一种芯片调试权限控制方法、芯片调试权限控制电路和计算机可读存储介质,以避免芯片的调试接口没有关闭导致的可能的安全隐患问题,同时能避免芯片调试接口简单关闭后芯片无法再进行调试问题。
为实现上述目的,本申请实施例采取了如下技术方案。
第一方面,本申请实施例提供一种芯片调试权限控制方法,包括:
获取调试权限控制位;
当有调试需求时,根据所述调试权限控制位的值确定调试是否需要密码认证;
若是,则在密码认证通过后,开启调试权限;
若否,则直接根据所述调试权限控制位确定是否开启调试权限。
可选地,根据所述调试权限控制位的值确定调试是否需要密码认证的步骤包括:若所述调试权限控制位的值为01或10,则确定调试需要密码认证;
直接根据所述调试权限控制位确定是否开启调试权限的步骤包括:若所述调试权限控制位的值为00,则确定所述芯片的调试权限是始终开启的;若所述调试权限控制位的值为11,则确定所述芯片的调试权限是永久关闭的。
如此能够仅仅通过设置两个比特位,就可以覆盖密码认证模式、正常工作模式和关闭模式三种调试接口工作模式。
可选地,在开启调试权限之前,所述芯片调试权限控制方法还包括:
获取用户输入的身份口令;
根据所述身份口令,判断身份认证是否通过;
若所述身份认证通过,则判断是否需要输入调试认证密码。
为了区分不同身份的使用者的调试权限等权限,可以预设多种身份口令,例如身份口令包括厂商身份口令和客户身份口令,用户输入的身份口令检测为厂商身份口令可以作为身份认证通过的条件,即若检测到用户输入的身份口令为厂商身份口令,则确定身份认证通过。
可选地,在确定需要输入调试认证密码的步骤之后,所述芯片调试权限控制方法还包括:
获取用户输入的调试认证密码;
读取预设密码;
将所述调试认证密码和所述预设密码比较;
若所述调试认证密码和所述预设密码一致,则确定密码认证通过;
若所述调试认证密码和所述预设密码不一致,则密码认证不通过。
如此可以防止尝试密码而输入错误的用户获得调试权限,避免了非法调试的风险。
可选地,若所述调试认证密码和所述预设密码不一致,则密码认证不通过的步骤包括:
若密码认证不通过的次数达到预先设定的次数,则在重新上电之前拒绝密码认证。
如此可以进一步阻止反复尝试密码的行为,进一步保障芯片的安全。
可选地,所述芯片包括一次可编程器件,所述一次可编程器件中存储有所述调试权限控制位和所述预设密码。
利用一次可编程器件存储调试权限控制位和预设密码,能够保障存储数据安全、稳定,有效防止丢失。一次可编程器件存储调试权限控制位更能够确保芯片的调试权限不会从永久关闭改为开放,确保芯片的调试权限不会从需要密码认证改为永久开启。
可选地,所述芯片包括认证控制寄存器和认证密码寄存器;所述认证控制寄存器包括:认证校验忙闲指示位、认证校验完成位、认证校验结果位和认证校验触发位;所述芯片调试密码认证方法包括:
接收用户输入的调试认证密码,并写入认证密码寄存器中,将认证校验触发位置为1;
启动密码认证,将认证校验忙闲指示位置为1;
读取预设密码,将所述调试认证密码和所述预设密码比较;
若所述调试认证密码和所述预设密码一致,则将认证校验结果位置为1,所述认证校验完成位置为1,所述认证校验忙闲指示位和所述认证校验触发位均置为0;
若所述调试认证密码和所述预设密码不一致,则将认证校验结果位置为0,所述认证校验完成位置为1,所述认证校验忙闲指示位和所述认证校验触发位均置为0。
第二方面,本申请实施例提供一种芯片调试权限控制电路,包括第一与门、第二与门、第一或门、第二或门、第一非门、第二非门、D触发器和选择器;
2个调试权限控制位分别连接第一或门的两个输入端;
2个调试权限控制位中的一位通过第一非门连接第一与门的第一输入端,2个调试权限控制位中的另一位连接第一与门的第二输入端;第一与门的输出端连接至第二与门的第一输入端;
密码认证结果信号端连接D触发器的输入端,D触发器的输出端连接第二与门的第二输入端;
第二与门的输出端连接第二或门的第一输入端,第一或门的输出端通过第二非门连接至第二或门的第二输入端;
第二或门的输出端连接选择器的使能端;
选择器的第一输入端连接固定电平信号,选择器的第二输入端连接调试信号端。
可选地,选择器的输出端用于在接收到高电平的使能信号的情况下,将所述调试信号输出;
当所述调试权限控制位为00时,所述选择器的使能端始终为高电平;
当所述调试权限控制位为11时,所述选择器的使能端始终为低电平;
当所述调试权限控制位为10或01时,所述选择器的使能端为所述密码认证结果信号。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被计算机执行时,实现第一方面的芯片调试权限控制方法。
相对于现有技术,本申请具有以下有益效果:
本申请的芯片调试权限控制方法,为芯片提供了不同的调试权限模式的选择,可以完全关闭,可以完全打开,可以要求密码认证,其中密码认证的模式既能避免芯片的调试接口没有关闭导致的可能的安全隐患问题,又能避免芯片调试接口简单关闭后芯片无法再进行调试问题,具有操作简单、成本低、可靠性高的优点。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种芯片调试权限控制方法示意图;
图2为本申请实施例提供的一种限定调试权限控制位的芯片调试权限控制方法示意图;
图3为本申请实施例提供的一种依次进行身份认证和密码认证的流程图;
图4为本申请实施例提供的一种芯片调试权限控制电路示意图;
图5为本申请实施例提供的另一种芯片调试权限控制电路示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
在本申请的描述中,需要说明的是,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。
现有的芯片的调试接口,或是完全没有关闭,或是完全关闭,完全没有关闭导致安全隐患问题,完全关闭后芯片又无法再进行调试,没有一种灵活适应不同情况的解决方案。
本申请提供的一种解决思路是:在芯片内部分配“调试权限控制位”,可以将调试权限控制位不同的值对应到不同的调试接口工作模式,例如:正常工作模式,完全关闭,即芯片的调试权限是永久关闭的;关闭模式,完全不关闭,即芯片的调试权限是始终开启的;密码认证模式,半关闭,即调试需要密码认证。通过对芯片调试接口(例如cJTAG/JTAG接口)的访问权限控制的方式,解决芯片的调试接口没有关闭导致的可能的安全隐患问题,以及芯片调试接口简单关闭后芯片无法再进行调试问题。芯片可以是SoC芯片。
对应于上述包含调试权限控制位设计的芯片,如图1,本申请提供一种芯片调试权限控制方法,包括:
S1.获取调试权限控制位;
S2.当有调试需求时,根据调试权限控制位的值确定调试是否需要密码认证;若是,则执行步骤S3;若否,则执行步骤S4;
S3.在密码认证通过后,开启调试权限;
S4.直接根据调试权限控制位确定是否开启调试权限。
上述步骤S2中,若是,即确定调试接口工作模式是密码认证模式,故执行步骤S3;若否,则调试接口工作模式是关闭模式或正常工作模式,具体在步骤S4中进一步确定是关闭模式还是正常工作模式。
本申请的芯片调试权限控制方法中,不同的调试权限控制位的值对应不同的调试接口工作模式,具体地,不同调试权限控制位的值可以对应密码认证模式、正常工作模式和关闭模式,其中密码认证的模式既能避免芯片的调试接口没有关闭导致的可能的安全隐患问题,又能避免芯片调试接口简单关闭后芯片无法再进行调试问题,具有操作简单、成本低、可靠性高的优点。
可选地,调试权限控制位设置为两个比特位,即仅仅通过两个比特位,就可以覆盖密码认证模式、正常工作模式和关闭模式三种调试接口工作模式。调试权限控制位的值为00时对应完全不关闭,即芯片的调试权限是始终开启的;调试权限控制位的值为11时对应完全关闭,即芯片的调试权限是永久关闭的;调试需要密码认证可以对应10或01,代表调试需要密码认证。可以设定调试需要密码认证对应01,此时10作为保留位;也可以设定调试需要密码认证对应10,此时01作为保留位。
为了更稳定地存储调试权限控制位、在需要永久关闭调试时能够确保永久关闭,可以在芯片设置一个一次可编程器件,一次可编程器件中存储有调试权限控制位。一次可编程器件可以是OTP(One Time Programmable)或eFuse,OTP或eFuse中的每一位从0到1的烧写是不可逆的:新的芯片中,调试权限控制位的值为00,芯片可以调试,可以用作研发、测试阶段正常使用调试接口(例如JTAG/cJTAG接口)功能;仅在量产时根据产品应用需求对调试权限控制位进行烧写,针对大多数安全芯片可以烧写为01,以具备产品售后客户使用问题定位时基于调试接口进行调试;当调试权限控制位的值为11时,已经不能回到00、01或10的状态了,确保芯片调试的权限被永久关闭。即针对少数有特殊安全需求的产品将调试权限控制位烧写为11,彻底关闭调试接口的调试功能;针对普通需求的产品可将调试权限控制位保持为00,或烧写为01或10。
在设置了上述调试权限控制位的值与调试接口工作模式的对应关系的基础上,如图2,上述步骤S2可以包括:若调试权限控制位的值为01或10,则确定调试需要密码认证;
那么若调试权限控制位的值为11或00,则确定调试接口工作模式非密码认证模式,直接根据调试权限控制位确定是否开启调试权限,即步骤S4包括以下种情形:
若调试权限控制位的值为00,则确定芯片的调试权限是始终开启的;
若调试权限控制位的值为11,则确定芯片的调试权限是永久关闭的。
一种实施方式中,为了防止被没有调试权限的人员获取、进而对芯片进行调试,本芯片调试权限控制方法中可以设置一个身份认证的流程。即使芯片的调试权限是始终开启的,也需要用户能够通过身份认证,才能开始对芯片调试。具有身份认证的流程的芯片调试权限控制方法示例如下:
S3-1-1.获取用户输入的身份口令;
S3-1-2.根据身份口令,判断身份认证是否通过;
S3-1-3.若身份认证通过,则判断是否需要输入调试认证密码。
上述步骤S3-1-2中,身份口令可以识别为“通过”和“不通过”两种结果,还可以设置多种身份口令、丰富身份口令的识别的结果,从而能够区分不同身份的使用者的调试权限等权限。不同的身份口令可能对应不同的芯片功能开放,例如身份口令包括客户身份口令和厂商身份口令。其中厂商身份口令仅由厂商保管,产品终端使用者无法获取厂商身份口令,仅可拿到客户身份口令进行基于客户身份的操作。
还可以进一步将厂商身份口令进一步细分为第一厂商身份口令、第二厂商身份口令等。第一厂商身份口令、第二厂商身份口令等不同的厂商身份口令对应的调试权限不同,这样可以更精细地管理芯片的安全。
上述步骤S3-1-3中,如果根据调试权限控制位的值确定不需要输入调试认证密码、芯片的调试权限是始终开启的,那么此时可以进入调试。如果芯片的调试权限是始终关闭的,那么即使通过了身份认证也不能调试。如果芯片的调试权限是需要密码认证的,则身份认证通过之后,进入密码认证步骤。
如图3,密码认证的步骤可以包括:
S3-2-1.获取用户输入的调试认证密码;
S3-2-2.读取预设密码;
S3-2-3.将调试认证密码和预设密码比较;
S3-2-4.若调试认证密码和预设密码一致,则确定密码认证通过;若调试认证密码和预设密码不一致,则本次密码认证不通过。
根据上述密码认证的步骤,可以防止尝试密码而输入错误的用户获得调试权限,避免了非法调试的风险。
为了阻止反复尝试密码的行为,防止暴力破解密码的行为,进一步保障芯片的安全,可以在步骤S3-2-4中进一步设置:若密码认证不通过的次数达到预先设定的次数,则在掉电之前拒绝密码认证。
为了使预设密码的存储安全、稳定,上述预设密码也可以存储在一次可编程器件中,密码的长度可以设置为32比特。该密码由芯片厂商自行保管,针对不同型号的芯片可以烧写不同的密码,可以在ATE(Automatic Test Equipment,自动测试设备)量产测试时烧写。
上述芯片调试权限控制方法中的步骤可以通过寄存器和ROM固件实现,一种实施方式中,芯片中可以设置有ROM固件和OTP/eFuse控制器,OTP/eFuse控制器中有认证控制寄存器和认证密码寄存器;认证控制寄存器包括:认证校验忙闲指示位、认证校验完成位、认证校验结果位和认证校验触发位。可以在芯片的ROM中实现身份认证功能,以识别操作者身份;可以通过认证控制寄存器和认证密码寄存器实现密码认证的功能。
关于上述的认证校验忙闲指示位、认证校验完成位、认证校验结果位和认证校验触发位,可参考下表,下表展示了一个32位的认证控制寄存器的各位分配示例,其中,第[0]位~第[3]位分别为认证校验忙闲指示位、认证校验完成位、认证校验结果位和认证校验触发位,其余为保留位,掉电时均复位为0。认证校验忙闲指示位为0表示空闲状态,为1表示密码认证校验进行中;认证校验完成位为0表示认证校验未完成,为1表示认证校验完成;认证校验结果位为0表示认证校验未通过,为1表示认证校验通过;认证校验触发位为0表示不触发认证校验,为1表示触发认证校验。
根据上述寄存器的设定,芯片调试密码认证方法可以包括:
接收用户输入的调试认证密码,并写入认证密码寄存器中,将认证校验寄存器的认证校验触发位置为1;
启动密码认证,将认证校验忙闲指示位置为1;
读取预设密码,将调试认证密码和预设密码比较;
若调试认证密码和预设密码一致,则将认证校验结果位置为1,认证校验完成位置为1,认证校验忙闲指示位和认证校验触发位均置为0;
若调试认证密码和预设密码不一致,则将认证校验结果位置为0,认证校验完成位置为1,认证校验忙闲指示位和认证校验触发位均置为0。
接下来以具有上述ROM固件和OTP/eFuse控制器的芯片的一种调试情景,说明该芯片的运行过程:
1、若调试权限控制位烧写为01且有调试需求时,该芯片作为下位机接入上位机,厂商技术人员或产品售后人员在上位机显示屏显示的身份认证界面输入厂商身份口令,身份认证通过后,显示屏中弹出输入密码的对话框(若身份认证不通过则不会弹出输入密码的对话框,或弹出身份认证失败的对话框),厂商技术人员或产品售后人员输入32位调试认证密码。
2、芯片中的ROM固件收到该32位调试认证密码,之后可以将输入的该32位调试认证密码写入芯片中的OTP/eFuse控制器的认证密码寄存器中,并写认证控制寄存器的认证校验触发位(此时认证控制寄存器值写为0X8,0X表示十六进制)。
3、硬件电路启动密码认证,写认证控制寄存器的认证校验忙闲指示位(此时认证控制寄存器值写为0X9)。
4、OTP/eFuse控制器读取OTP/eFuse中的32位密码认证所需的预设密码,将读出的值与认证密码寄存器的值进行比较。如果比较一致,则认证通过,开启调试功能,并将认证控制寄存器的认证校验结果位置为1,表示认证通过;将认证校验完成位置为1,表示认证完成;将认证校验忙闲指示位置为0,表示认证已结束(此时认证通过,认证控制寄存器值为0X6)。如果认证未通过,则将认证校验结果位为0,表示校认证未通过;将认证校验完成位为1,表示认证校验完成;认证校验忙闲指示位为0,表示空闲(此时认证失败,认证控制寄存器值为0X2)。
还可以在认证失败时可以计数,当计数达到一个预先设定的次数(例如3)时,则不允许再进行认证,那么只有掉电重新上电后再进行口令认证发起操作。
上述运行过程中,ROM固件读取到认证控制寄存器的值为0X9,表示认证校验还在进行中;当读取到的值为0X6,表示认证通过,可以使用JTAG/cJTAG接口调试;当读取到0X2,表示认证不通过,返回认证结果到JTAG/cJTAG认证界面,提示认证不通过,还有两次重新输入JTAG/cJTAG认证密码的机会,若三次认证均不通过,则认证失败,不允许再进行认证,此时只有掉电重新上电后再进行口令认证发起操作。三次为预先设定的次数,可以更多或更少。
以上是调试权限控制位烧写为01的密码认证的过程示例,若调试权限控制位烧写为11,则即使身份口令及密码认证均通过,也无法开启JTAG/cJTAG调试功能。
基于上述实施例,本申请实施例还提供一种芯片调试权限控制电路,如图4,包括逻辑电路模块101和选择模块102。
逻辑运算模块101的三个输入端IN1、IN2和IN3分别与2个调试权限控制位jtag_ctrl[0]、jtag_ctrl[1]和密码认证结果信号端jtag_chk_pass电连接;逻辑运算模块101的输出端OUT1与选择模块102的使能端EN电连接,选择模块102的输入端IN与调试信号端JTAG_TDI电连接。两个模块的功能可以设置如下:
逻辑运算模块101用于:在根据2个权限控制位确定为调试条件包括密码认证,且密码通过信号端jtag_chk_pass为高电平的情况下,输出高电平使能信号至选择模块102的使能端EN;
选择模块102用于:在接收到高电平使能信号的情况下,将调试信号端JTAG_TDI的调试信号输出。
调试接口工作模式可以由以下原理实现:
当jtag_ctrl[1]、jtag_ctrl[0]分别为00时,逻辑运算模块101的输出端始终为高电平;
当jtag_ctrl[1]、jtag_ctrl[0]分别为11时,逻辑运算模块101的输出端始终为低电平;
当jtag_ctrl[1]、jtag_ctrl[0]分别为10或01时,逻辑运算模块101的输出端与密码认证结果信号的电平一致。
本申请的描述中,1代表高电平,0代表低电平。
一种实施方式中,逻辑电路模块101可包括第一与门U1、第二与门U2、第一或门U3、第二或门U4、第一非门U5、第二非门U6和D触发器。选择模块102可包括选择器MUX。2个调试权限控制位分别为jtag_ctrl[0]、jtag_ctrl[1],具有以下连接关系:
2个调试权限控制位分别连接第一或门U3的两个输入端;
2个调试权限控制位中的一位通过第一非门U5连接第一与门U1的第一输入端,2个调试权限控制位中的另一位连接第一与门U1的第二输入端;第一与门U1的输出端连接至第二与门U2的第一输入端;
密码认证结果信号端jtag_chk_pass连接D触发器的输入端D,D触发器的输出端Q连接第二与门U2的第二输入端;
第二与门U2的输出端连接第二或门U4的第一输入端,第一或门U3的输出端通过第二非门U6连接至第二或门U4的第二输入端;
第二或门U4的输出端连接选择器MUX的使能端jtag_en;
选择器MUX的第一输入端连接固定电平信号,选择器MUX的第二输入端连接调试信号端JTAG_TDI,选择器MUX的输出端jtag_tdi用于在接收到高电平的使能信号的情况下,将调试信号端JTAG_TDI的调试信号输出。
对应于上述电路,调试权限控制位有以下情况:
当jtag_ctrl[1]、jtag_ctrl[0]分别为00时,选择器MUX的使能端jtag_en始终为高电平,即确定芯片的调试权限是始终开启的;
当jtag_ctrl[1]、jtag_ctrl[0]分别为11时,选择器MUX的使能端jtag_en始终为低电平,即确定芯片的调试权限是永久关闭的;
当jtag_ctrl[1]、jtag_ctrl[0]分别为10或01时,选择器MUX的使能端jtag_en与密码认证结果信号的电平一致,即确定调试需要密码认证。
其中,图5给出的是调试权限控制位为10时的调试权限控制电路示意图。
具体地,当jtag_ctrl[1]为1,jtag_ctrl[0]为0时:
jtag_ctrl[1]和jtag_ctrl[0]经过第一或门U3为1,再经过第二非门U6为0;
jtag_ctrl[0]经过第一非门U5为1,在第一与门U1进行与运算,可以得到1;
此时如果jtag_chk_pass为1(密码认证通过),那么第二与门U2输出1,再经过第二或门U4即可输出1至选择器MUX的使能端;
此时如果jtag_chk_pass为0(密码认证不通过),那么第二与门U2输出0,再经过第二或门U4即输出0至选择器MUX的使能端。
当jtag_ctrl[1]为0,jtag_ctrl[0]为0时:
jtag_ctrl[1]和jtag_ctrl[0]经过第一或门U3为0,再经过第二非门U6为1;此时不管jtag_chk_pass为1还是0,第二或门U4都将输出1至选择器MUX的使能端。
当jtag_ctrl[1]为1,jtag_ctrl[0]为1时:
jtag_ctrl[1]和jtag_ctrl[0]经过第一或门U3为1,再经过第二非门U6为0;
jtag_ctrl[0]经过第一非门U5为0,在第一与门U1进行与运算,可以得到0,此时不管jtag_chk_pass为1还是0,再经过第二与门U2输出0,第二或门U4都将输出0至选择器MUX的使能端。
基于上述实施例,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被计算机执行时,实现上述的芯片调试权限控制方法。
综上,本申请实施例提供一种芯片调试权限控制方法、电路和存储器,涉及芯片安全技术领域。本芯片调试权限控制方法包括:获取调试权限控制位;当有调试需求时,根据调试权限控制位的值确定调试是否需要密码认证;若是,则在密码认证通过后,开启调试权限;若否,则直接根据调试权限控制位确定是否开启调试权限。为芯片提供了不同的调试权限模式的选择,可以完全关闭,可以完全打开,可以要求密码认证,其中密码认证的模式既能避免芯片的调试接口没有关闭导致的可能的安全隐患问题,又能避免芯片调试接口简单关闭后芯片无法再进行调试问题,具有操作简单、成本低、可靠性高的优点。
以上所描述的装置及系统实施例仅仅是示意性的,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种芯片调试权限控制方法,其特征在于,包括:
获取调试权限控制位;
当有调试需求时,根据所述调试权限控制位的值确定调试是否需要密码认证;
若是,则在密码认证通过后,开启调试权限;
若否,则直接根据所述调试权限控制位确定是否开启调试权限。
2.如权利要求1所述的芯片调试权限控制方法,其特征在于,
根据所述调试权限控制位的值确定调试是否需要密码认证的步骤包括:若所述调试权限控制位的值为01或10,则确定调试需要密码认证;
直接根据所述调试权限控制位确定是否开启调试权限的步骤包括:若所述调试权限控制位的值为00,则确定所述芯片的调试权限是始终开启的;若所述调试权限控制位的值为11,则确定所述芯片的调试权限是永久关闭的。
3.如权利要求1所述的芯片调试权限控制方法,其特征在于,在开启调试权限之前,所述芯片调试权限控制方法还包括:
获取用户输入的身份口令;
根据所述身份口令,判断身份认证是否通过;
若所述身份认证通过,则判断是否需要输入调试认证密码。
4.如权利要求3所述的芯片调试权限控制方法,其特征在于,在确定需要输入调试认证密码的步骤之后,所述芯片调试权限控制方法还包括:
获取用户输入的调试认证密码;
读取预设密码;
将所述调试认证密码和所述预设密码比较;
若所述调试认证密码和所述预设密码一致,则确定密码认证通过;
若所述调试认证密码和所述预设密码不一致,则密码认证不通过。
5.如权利要求4所述的芯片调试权限控制方法,其特征在于,若所述调试认证密码和所述预设密码不一致,则密码认证不通过的步骤包括:
若密码认证不通过的次数达到预先设定的次数,则在重新上电之前拒绝密码认证。
6.如权利要求4所述的芯片调试权限控制方法,其特征在于,所述芯片包括一次可编程器件,所述一次可编程器件中存储有所述调试权限控制位和所述预设密码。
7.如权利要求4所述的芯片调试权限控制方法,其特征在于,所述芯片包括认证控制寄存器和认证密码寄存器;所述认证控制寄存器包括:认证校验忙闲指示位、认证校验完成位、认证校验结果位和认证校验触发位;所述芯片调试密码认证方法包括:
接收用户输入的调试认证密码,并写入认证密码寄存器中,将认证校验触发位置为1;
启动密码认证,将认证校验忙闲指示位置为1;
读取预设密码,将所述调试认证密码和所述预设密码比较;
若所述调试认证密码和所述预设密码一致,则将认证校验结果位置为1,所述认证校验完成位置为1,所述认证校验忙闲指示位和所述认证校验触发位均置为0;
若所述调试认证密码和所述预设密码不一致,则将认证校验结果位置为0,所述认证校验完成位置为1,所述认证校验忙闲指示位和所述认证校验触发位均置为0。
8.一种芯片调试权限控制电路,其特征在于,包括第一与门、第二与门、第一或门、第二或门、第一非门、第二非门、D触发器和选择器;
2个调试权限控制位分别连接第一或门的两个输入端;
2个调试权限控制位中的一位通过第一非门连接第一与门的第一输入端,2个调试权限控制位中的另一位连接第一与门的第二输入端;
第一与门的输出端连接至第二与门的第一输入端;
密码认证结果信号端连接D触发器的输入端(D),D触发器的输出端(Q)连接第二与门的第二输入端;
第二与门的输出端连接第二或门的第一输入端,第一或门的输出端通过第二非门连接至第二或门的第二输入端;
第二或门的输出端连接选择器的使能端;
选择器的第一输入端连接固定电平信号,选择器的第二输入端连接调试信号端。
9.如权利要求8所述的芯片调试权限控制电路,其特征在于,选择器的输出端用于在接收到高电平的使能信号的情况下,将所述调试信号输出;
当所述调试权限控制位为00时,所述选择器的使能端始终为高电平;
当所述调试权限控制位为11时,所述选择器的使能端始终为低电平;
当所述调试权限控制位为10或01时,所述选择器的使能端为所述密码认证结果信号。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被计算机执行时,实现权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311176471.3A CN117216749A (zh) | 2023-09-12 | 2023-09-12 | 一种芯片调试权限控制方法和相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311176471.3A CN117216749A (zh) | 2023-09-12 | 2023-09-12 | 一种芯片调试权限控制方法和相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117216749A true CN117216749A (zh) | 2023-12-12 |
Family
ID=89041973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311176471.3A Pending CN117216749A (zh) | 2023-09-12 | 2023-09-12 | 一种芯片调试权限控制方法和相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117216749A (zh) |
-
2023
- 2023-09-12 CN CN202311176471.3A patent/CN117216749A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4771550B2 (ja) | 内部レジスタ・インターフェースを通してハードウェア・ハッキングに抵抗する方法及び装置 | |
US20180059184A1 (en) | Jtag debug apparatus and jtag debug method | |
US7730545B2 (en) | Test access control for secure integrated circuits | |
US7363564B2 (en) | Method and apparatus for securing communications ports in an electronic device | |
US7248069B2 (en) | Method and apparatus for providing security for debug circuitry | |
US10496506B2 (en) | Self-test capable integrated circuit apparatus and method of self-testing an integrated circuit | |
US20090296933A1 (en) | Integrated circuit and a method for secure testing | |
US9202060B2 (en) | Method for secure self-booting of an electronic device | |
JP2000122931A (ja) | デジタル集積回路 | |
JP6771523B2 (ja) | メモリー保護装置および方法 | |
CN117216749A (zh) | 一种芯片调试权限控制方法和相关设备 | |
US9939074B2 (en) | Enabling secured debug of an integrated circuit | |
US20080028263A1 (en) | Apparatus and method for protection of JTAG scan chains in a microprocessor | |
CN113129991B (zh) | 用于rombist测试的芯片安全防护方法和电路 | |
US20220301649A1 (en) | Protection of the content of a fuse memory | |
Chen et al. | Striking a balance between SoC security and debug requirements | |
CN111858198A (zh) | 一种多方案内存插拔测试方法、系统、终端及存储介质 | |
CN109522200A (zh) | 一种提高多储存盘阵列稳定性的测试方法,系统及终端 | |
Sguigna | Mitigating jtag as an attack surface | |
CN117785756B (zh) | 存储器控制系统、方法、芯片及计算机可读存储介质 | |
CN114880184B (zh) | 一种批量检测pci密码卡的方法及系统 | |
JP2002365337A (ja) | テスト回路およびデジタル回路 | |
CN115938462A (zh) | 一种测试模式的控制方法、装置、芯片、介质及模组设备 | |
US9891654B2 (en) | Secure clock switch circuit | |
CN115481404A (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 |