CN102301375B - 用于市场返修的认证调试访问 - Google Patents
用于市场返修的认证调试访问 Download PDFInfo
- Publication number
- CN102301375B CN102301375B CN201080006319.5A CN201080006319A CN102301375B CN 102301375 B CN102301375 B CN 102301375B CN 201080006319 A CN201080006319 A CN 201080006319A CN 102301375 B CN102301375 B CN 102301375B
- Authority
- CN
- China
- Prior art keywords
- equipment
- response
- debugging interface
- authentication
- fuse
- 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.)
- Active
Links
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
在第一方的方向下,集成电路(IC)设备(202)被配置为:通过使用IC设备(202)的密钥(321、322)和在IC设备(202)处生成的挑战值(324)的挑战/响应过程,经由第一方的认证来临时启用对IC设备(202)的调试接口(216)的访问。然后,第一方可以经由调试接口(216)来进行对IC设备(202)的软件评估。响应于没有从软件评估识别出IC设备(202)的问题,第一方可以在认证时永久启用对调试接口(216)的开放访问,并且向第二方提供IC设备(202)。在第二方的方向下,经由第一方永久开放的调试接口(216)来进行对IC设备(202)的硬件评估。
Description
技术领域
本公开一般地涉及集成电路(IC)设备,并且更具体地,涉及IC设备中的调试接口。
背景技术
集成电路(IC)设备通常可由下游供应商或其他客户配置为存储敏感信息,诸如加密/解密密钥、序列号等。然而,因为IC设备的调试接口可能被操纵以获得对安全信息的未授权访问,所以这样的IC设备中的调试接口经常造成安全风险。因此,客户经常要求IC制造商提供一些使客户不能访问调试接口的机制。这通常通过熔断与调试接口相关联的熔丝以便于无法经由调试接口进行访问来实现。
当确定IC设备可能有缺陷时,通常有利的是,将其返回到制造商用于硬件评估(即,“市场返修”)。然而,由于客户通常不能访问调试接口,因此制造商通常必须借助于复杂且昂贵的技术来重新获得对调试接口的访问来用于硬件评估。通常,通过使用聚焦离子束(FIB)修改熔断IC设备中的副本熔丝来重新获得对调试接口的访问,以再次访问调试接口。然而,FIB修改造成许多问题。一个问题是,FIB修改需要使用昂贵且复杂的设备,并且通常忽视了没有成功。另一问题是,FIB修改通常需要IC设备的破坏性解封装,并且因此可能阻碍未来的评估。FIB修改还导致覆盖了客户配置,由此阻碍为了进一步的分析而对这样的配置信息的后续访问。由于金属迁移而导致FIB修改也是相对暂时的,其在一些点重新连接熔断的副本熔丝并且使IC设备返回到调试接口不可访问的状态。因此,用于获得对先前受保护的IC设备的调试接口的访问来用于硬件评估的改进技术将是有利的。
附图说明
通过参考附图,可以更容易地理解本公开,并且其众多特征和优点对本领域技术人员来说是明显的。在不同附图中使用相同的附图标记来指示相似或相同的项。
图1是图示根据本公开的至少一个实施例的评估可能有缺陷的受保护的集成电路(IC)设备的过程的流程图。
图2是图示根据本公开的至少一个实施例的示例性IC设备和评估IC设备的测试台的框图。
图3是图示根据本公开的至少一个实施例的图2的IC设备的示例性认证调试控制器的框图。
图4是图示根据本公开的至少一个实施例的基于使用挑战/响应过程的认证的确认使得能够访问图2的IC设备的调试接口的方法的流程图。
图5是图示根据本公开的至少一个实施例的在永久地支持对调试接口的开放访问之后的图2的IC设备处恢复客户配置的方法的流程图。
具体实施方式
图1-5图示了用于启用客户先前保护的集成电路(IC)设备的硬件评估的示例性技术。在一个实施例中,客户对IC设备配置有敏感信息,诸如密钥或序列号,并且然后将IC设备配置为使得无法访问IC设备的调试接口。例如,可以通过熔断IC设备中的熔丝,以便于将调试接口配置为进入保护和不可访问状态,来防止对调试接口的访问。如果客户确定了IC设备没有按照预期或期望进行操作,则为了软件评估的目的,客户可以通过挑战/响应过程临时地获取对IC设备的访问,该挑战/响应过程认证IC设备的客户。该临时访问还可以向客户提供对熔丝的访问,当熔丝被熔断时,将IC设备永久地配置为允许对IC设备的调试接口的开放访问。因此,如果软件评估不能识别问题,则客户可以熔断该熔丝以永久启用对IC设备的调试接口的开放访问,然后将IC设备提供给制造商进行进一步评估。当制造商在不需要认证就能够访问调试接口的状态下接收到IC设备时,制造商可以在不需要认证(并且因此不需要客户的敏感信息)的情况下通过开放的调试接口来执行IC设备的一个或多个硬件评估过程。此外,在至少一个实施例中,熔断熔丝以永久启用对IC设备中的调试接口的开放访问还将IC设备配置为使用默认配置代替IC的客户配置,由此将IC设备置于有利于硬件评估的“干净”配置。如果将IC设备返回给客户,则IC设备可以被配置为通过例如断言IC设备的特定引脚或者通过在IC设备的引导过程期间经由调试接口向IC设备提交特定命令来使用客户配置。
如在此参考调试接口所使用的术语“开放访问”指在不需要认证的情况下为了调试/评估目可从外部访问调试接口。如在此使用的术语“挑战/响应过程”指认证过程,由此IC设备生成挑战值,并且想要访问的外部设备以响应值作出响应,然后IC设备使用该响应值来认证外部设备。在下述实施例中,挑战值可以由外部设备加密或者以其他方式签名以生成响应值,并且然后IC设备基于原始挑战值来验证响应值。替代地,挑战值可以由IC设备来加密,并且然后由外部设备进行解密以生成响应值,然后IC设备基于原始挑战值来验证该响应值。例如,可以经由IC设备的调试接口端口使用安全代码签名服务器和测试台来执行挑战/响应过程。替代地,可以使用用于测试IC设备的安全引导/图像认证基础结构经由JTAG测试器来执行挑战/响应过程。
为了便于描述,在制造商-客户关系的背景下描述示例性技术,由此术语“客户”指将IC设备配置为包括敏感信息的实体(或其代理或关联方),并且术语“制造商”指将IC设备提供给客户的实体。为了说明,例如,当IC设备在蜂窝电话中被实现时,制造商可以包括例如制造的IC设备的原始设备制造商(OEM),并且客户可以包括例如在蜂窝电话中实现IC设备并且然后将蜂窝电话的IC设备配置有敏感信息的蜂窝电话制造商。示例性技术不限于制造商-客户关系的背景。相反,可以在任何关系中采用这些技术,由此一个实体将IC设备配置有敏感信息,而另一实体的任务是在IC设备的操作中出现问题的情况下对IC设备进行硬件评估。此外,通常在使用随机数作为挑战值的示例性背景下描述示例性技术。然而,诸如与IC的状态相关的另一值的其他值可以被用作挑战值。
图1图示了根据本公开的至少一个实施例的评估可能有缺陷的IC设备的示例性方法100。在下文中,假设IC设备由制造商提供给客户,用于将其配置为与电子设备相关联地进行使用,电子设备诸如蜂窝电话、小汽车、消费电子设备等。作为该配置的一部分,客户将诸如一个或多个密钥或序列号的敏感信息存储在IC设备的一个或多个安全存储组件中。当IC设备包含敏感信息时,客户通常期望禁用IC设备的调试接口,除非随后期望IC设备的软件评估或硬件评估。对于图1,表示在客户的方向上执行的相应过程的块被定位在分割线102的左侧,而表示在制造商的方向上执行的相应过程的块被定位在分割线102的右侧。
在块104,客户将IC设备识别为可能有缺陷。该确定结果可以从例如报告其中实现IC设备的电子设备的错误操作的用户得到,或者通过在电子设备中实现IC芯片之前由IC芯片的客户测试来得到该确定。当怀疑IC设备有缺陷时,客户通常执行IC设备的软件评估(即,软件调试),以确定与IC设备相关联地实现的软件是否是引起问题的原因。
在IC设备被识别为可能有缺陷时,确保IC设备不会访问其调试接口。因此,为了软件调试目的而获取对IC设备的访问,在块106,客户将IC设备安装在测试台中,并且进行与IC设备的挑战/响应过程,以向该IC设备认证该客户,以便于为了软件调试目的而开放IC设备的调试接口。如下面参考图4更加详细描述的,挑战/响应过程包括在IC设备处的挑战值的生成,然后经由调试接口将该挑战值输出到代码签名服务器。然后,代码签名服务器基于挑战值来生成响应值,并且经由调试接口向IC设备提供响应值。在一个实施例中,响应值可以被绑定到与IC设备相关联的独特标识符,诸如MAC地址、序列号或国际移动设备标识符(IMEI)。然后,IC设备使用该响应值和挑战值来验证或以其他方式认证客户。如果IC设备成功地确认客户的认证,则在块108,IC设备开放调试接口来进行软件评估。在替代实施例中,使用IC设备的另一接口诸如经由JTAG测试器来执行挑战/响应过程。此外,为了认证目的,可以通过重新使用测试台的安全引导或图像认证基础结构来代替地进行认证处理,而不使用代码签名服务器。
在客户能够根据软件评估识别软件问题的情况下,在块110,客户处理所识别的软件问题。在软件问题是由于软件代码在IC设备处实现时被损坏而导致的情况下,可以用原始软件代码来对IC设备重新编程。否则,如果识别的软件问题是由软件本身的编程中的缺陷而导致的,则在块110处,处理可以包括例如对软件重新编程以解决所识别的软件问题。
在识别出没有软件问题的情况下,或者在客户推断IC设备可能具有硬件缺陷的情况下,客户可以决定将IC设备返回给制造商来进行硬件评估。为此,制造商将需要访问IC设备的调试端口。然而,制造商通常将不经由挑战/响应过程来访问临时打开调试接口所需要的信息,因为该信息通常在严格保密的状态下由客户保存以维持存储在IC设备处的敏感信息的安全性。因此,客户将需要永久开放IC设备的调试端口,使得制造商可以在不认证的情况下评估IC设备的硬件。为了永久开放调试接口,在块112处,使用在此描述的挑战/响应过程来向IC设备认证客户,并且一旦被认证,客户就将IC设备配置为永久启用对调试接口的开放访问。在至少一个实施例中,由客户熔断IC设备的熔丝(以下,为“永久调试熔丝”),以便于将IC设备配置为后续在不需要认证的情况下启用对调试接口的开放访问。可以使用将IC设备永久配置为支持在不需要认证的情况下对调试接口的开放访问。例如,可以通过将特定值写入将IC设备永久置于开放或非保护状态的非易失性存储器位置来实现将IC设备永久配置为允许对调试接口的开放访问的其他技术。
客户采用的IC设备的特定于具体客户的配置可能禁止制造商对该IC设备的的有效硬件评估。此外,如上所述,IC设备的客户配置可以基于客户更希望制造商无法访问的敏感信息。因此,在一个实施例中,将IC设备配置为对调试接口永久开放访问的过程还包括将IC设备永久配置为使用与具体客户配置无关的默认配置。为了说明,IC设备可以实现设置/复位触发器库,其输出用作默认配置的控制值。当IC设备被配置用于对调试接口的永久开放访问,经由永久调试熔丝或其他熔丝的状态控制的复用器可以选择设置/复位触发器库的输出用于配置控制来代替(例如,经由客户选择性熔断熔丝库设置的)客户配置值。
在将IC设备永久配置为在不需要认证的情况下允许对调试接口的开放访问之后,在块114处,将IC设备返回给制造商用于硬件评估。在接收到IC设备时,在块116处,制造商配置IC设备用于硬件评估。例如,该配置可以包括将IC设备设置为适合于硬件评估的默认配置。替代地,如上所述,作为由客户永久开放IC设备的调试接口的过程的一部分,IC设备可能已经被配置为该默认配置。
在块118处,制造商使用IC设备的开放调试接口来对IC设备执行一个或多个硬件评估过程,例如,运行一个或多个扫描模式以检查IC设备的数字逻辑中的硅缺陷。在块120处,硬件评估的结果用于确定是否存在硬件问题。在识别硬件问题的情况下,在块122处,制造商处理识别的硬件问题。该处理可以包括:编译后续统计分析的结果,发起对硬件设计的修订以校正识别的硬件问题等。否则,如果没有识别出硬件问题,或者如果制造商以其他方式确定了期望客户进一步分析,则在块124处,制造商将IC设备提供回客户。
如上所述,对IC设备的调试接口的永久开放访问的IC设备的客户配置还可能导致IC设备的配置使用适合于硬件评估并且与客户配置无关的默认配置。然而,在从制造商返回之后,该默认配置可能不适合客户对IC设备进行软件调试。因此,在块126处,客户重新配置IC设备来用先前编程的客户配置,使得客户可以在根据先前客户规定进行配置IC时执行一个或多个软件调试过程。如下面更详细描述的,例如,在准备软件调试的IC设备的引导序列期间,IC设备可以被配置为,响应于IC设备的特定引脚来从默认配置临时回归到客户配置。替代地,经由调试接口提交到IC设备的命令可以用于指引IC设备使用先前的客户配置来代替默认配置。
一旦恢复到先前的客户配置,在块128处,客户就发起另一重复的IC设备的软件评估。由于IC设备已经被配置为对调试接口永久地开放访问,因此客户没有必要执行对访问调试接口的认证的挑战/响应过程。然而,特定软件调试功能可以保持确保独立于调试接口的访问状态,并且因此可能需要客户在发起软件评估之前进行对于这些调试功能的认证过程。在块130处,如果软件评估的结果识别出软件问题,则如上所述,在第二次重复块110时,处理所识别的软件问题。否则,如果在块130识别出没有软件问题,或者如果批准了进一步的硬件评估,则在块114处,IC设备可以被返回给制造商,以进行另一轮的硬件评估。如果必要,在软件评估的客户与硬件评估的制造商之间交换IC设备的过程在必要时可以继续,直到问题被解决。
图2图示了根据图1的方法100的被识别为可能有缺陷的示例性IC设备202以及为了评估目的由客户用于访问IC设备202的外部设备(测试台204)。在描述的示例中,示例性IC设备202包括一个或多个处理器206、只读存储器(ROM)208、认证调试控制器210、安全控制器212、随机数生成器(RNG)214、调试接口216、配置块218和安全存储元件(例如,寄存器文件、闪速存储器等)来存储对客户特定或独特的一个或多个根密钥值219。存储根密钥值219的安全存储元件可以包括,例如,一次性可编程的(OTP)设备绑定存储,诸如熔丝阵列或只读存储器(ROM),由此防止安全存储元件从IC设备202被置换出。IC设备202还可以包括一个或多个计时器221(例如,倒计时器),其可以用于暂停特定特征或会话,如下所述。可以经由一个或多个总线或其他互连(例如,经由系统总线220和外围总线222)来连接IC设备202的组件。测试台204包括调试设备224和外部存储器226。调试设备224包括IC接口228、代码签名服务器230、防火墙233和私有密钥存储库234。外部存储器226被配置为存储表示操作系统或IC设备202在其希望的系统内的实现中实现的软件功能的图像227。
RNG 214被配置为响应于处理器206提供的信令来生成随机数。随机数可以包括真随机数或伪随机数。如下所述,随机数用作挑战/响应过程的挑战值,该挑战值由IC设备202用来认证尝试获取对IC设备202的访问的客户。在替代实施例中,挑战值可以包括除了随机数之外的值,诸如与IC设备202的特定状态关联的值。
调试接口216可以包括用于对IC设备202进行外部访问的各种接口中的任何一个,用于调试或评估目的。调试接口216的示例包括但不限于,联合测试行动组(JTAG)(IEEE 1149.1)接口、通用串行总线(USB)接口、火线接口、内部集成电路(I2C)接口、后台调试模式(BDM)串行接口等。为了便于参考,在此,在JTAG接口的示例性背景下讨论调试接口216。
配置块218用于提供IC设备202的配置信息。在一个实施例中,配置块218包括客户熔丝库250,该客户熔丝库250包括客户可以选择性熔断的一个或多个熔丝,以便于实现IC设备202的特定客户配置。示例性客户配置可以包括,例如,启用或禁用安全功能、启用或禁用特定制造商或设备标识符(例如,国际移动设备标识(IMIE)值)等、设置特定总线控制模式或宽度等。配置块218还可以包括默认配置组件252,该默认配置组件252用于在IC设备202的硬件评估期间实现IC设备202的默认配置。默认配置可以包括,例如,将IC设备设置为工程模式,从而制造商标识符被设置为默认值(例如,0),以及将IC设备202设置为从由测试床支持的特定外部存储器设备而不是从内部安全引导程序进行引导。在一个实施例中,默认配置组件252可以包括可由制造商配置的熔丝库,以便于实现特定默认配置。替代地,默认配置组件252可以包括被配置为提供默认配置的设置/复位触发器组。认证调试控制器210提供用于控制一个或多个复用器(未示出)的信号SEL,以在客户熔丝库250或默认配置组件252之间进行选择,以便于将IC设备202配置为相应地使用客户配置或默认配置。此外,如下所述,客户可以经由例如IC设备202的外部引脚255的断定来提供信号SEL或类似信号,以便于指引IC设备202实现客户熔丝库250所表示的客户配置。客户配置可以包括,例如,将IC设备202设置为操作模式从而禁用芯片的内部控制,制造商标识符被设置为特定值;将IC设备202设置为默认为内部安全引导;以及将IC设备202设置为与其中希望IC设备202用于实现的产品所装载的特定外部存储器设备进行交互。
配置块218还可以包括客户可以选择性熔断的一个或多个熔丝,以便于控制IC设备202的调试访问特征。这些熔丝可以包括,例如,调试禁用熔丝254、挑战需要的熔丝256和永久调试熔丝258。调试禁用熔丝254控制调试接口216是否在任何情况下都可访问。因此,如果客户希望永久并且不可恢复地关闭调试接口216,则客户可以熔断调试禁用熔丝254。挑战需要的熔丝256控制是否需要挑战/响应过程来对客户认证对IC设备202的软件调试访问。永久调试熔丝258控制是否将IC设备202配置为在不需要认证的情况下永久启用对调试接口216的开放访问。因此,如在此描述,客户可以熔断可能有缺陷的IC设备202上的永久调试熔丝258,以将IC设备202配置为永久启用制造商对调试接口216的开放访问,用于对IC设备202进行硬件评估。
由于永久调试熔丝258控制调试接口216是否在不认证的情况下永久开放以供访问,因此通过熔丝访问机制260来防止在没有进行适当认证的情况下熔断永久调试熔丝258。在一个实施例中,熔丝访问机制260包括开关、通门(passgate)或其他控制器,具有认证的调试控制器210经由控制信号262选择性激活的导通状态和非导通状态,以便于提供从永久调试熔丝258到外部引脚264的导通路径,使得在激活熔丝访问机制260时,客户可以经由外部引脚264熔断永久调试熔丝258。在另一实施例中,一旦认证客户,则客户可以经由调试接口216向认证调试控制器210提供特定命令组(作为命令文件或其他数据结构),以指引认证的调试控制器210经由熔丝访问机制260内部熔断永久调试熔丝258。
认证调试控制器210被配置为基于从配置块218确定的配置信息、基于经由调试接口216接收到的命令和其他数据以及基于从存储在ROM 208中的并且由处理器206执行的引导程序240提供的控制信息,来控制调试接口216并且控制IC设备202的其他组件。具体地,认证的调试控制器210进行挑战/响应过程,以认证期望获取对调试接口216的访问的客户。认证的调试控制器210还向安全控制器212传送信号,以设置IC设备202的访问等级。此外,认证调试控制器210对经由调试接口216接收到的命令进行解码,以促进IC设备的组件的软件评估和硬件评估,例如,与处理器206的一个或多个扫描链进行交互用于处理器206的硬件评估。下面参考图3来提供认证调试控制器210的更加详细的描述。
安全控制器212被配置为基于从认证的调试控制器210接收到的信令制定IC设备202的具体安全等级。为了说明,IC设备202可以被配置在四个安全等级中的一个:(1)关闭:调试接口216不可用(没有进行客户认证或客户认证还没有成功);(2)非安全会话:调试接口216被开放使用直到下一次通电复位发生(用户复位不中断会话);(3)永久调试熔丝可熔断:使得客户能够熔断永久调试熔丝;以及(4)安全状态会话:在不改变安全状态的情况下调试接口可用。下面描述了安全或访问等级的其他示例。此外,安全控制器212可以基于诸如通过选择性断言用于启用对扫描链270的访问的启用信号272的安全等级来控制对IC设备202的一个或多个组件的访问。下面的表1说明了认证的调试模块210可以如何基于配置块218的熔丝254、256和258的状态来初始地指引安全控制器212实现的安全等级:
表1:熔丝状态的可实现安全等级
转到测试台204,IC接口228包括与调试接口216兼容的各种接口中的任何一个,包括:JTAG接口、USB接口、火线接口、I2C接口等。在一个实施例中,代码签名服务器230被配置为对命令文件进行签名,并且向IC设备202提供签名的命令文件,以供初始安全引导之后执行,因此该命令文件包括指引IC设备202使用挑战/响应过程发起开放调试接口216的过程的命令。命令文件还可以包括存储在IC设备202处的用于在下面描述的挑战/响应过程中使用的一个或多个公共密钥。在至少一个实施例中,代码签名服务器230使用与在IC设备202处存储的根密钥值219相对应的私有密钥来对命令文件签名。因此,IC设备202可以认证命令文件的源,并且因此通过使用根密钥值219验证签名的命令文件来授权其执行和相关公共密钥信息的存储。在替代实施例中,除了直接使用根密钥值219之外,可以使用链接回根密钥值219的一个或多个证书的链来验证私有密钥。
当基于客户的代理证书280(例如,用户名和密码)对客户的代理进行授权时,代码签名服务器230或其他认证服务器被配置为经由接口216和228从IC设备接收挑战值,并且使用从私有密钥存储库234获得的特定私有密钥(例如,私有密钥231或232中的一个)来对挑战值签名。作为用于认证的挑战/响应过程的一部分,将得到的签名值提供给IC设备202作为响应值,如下面的详细描述。
还如下面的详细描述,可以存在IC设备202允许的不同认证访问等级,并且每个访问等级可以与挑战/响应过程中使用的特定公共密钥/私有密钥对相对应。因此,客户代理提供的证书280可以确定选择了哪个私有密钥来由代码签名服务器230使用,并且因此确定被允许用于客户的特定访问等级。
图3图示了根据本公开的至少一个实施例的图2的认证调试控制器的示例性实现。在所描绘的示例中,认证的调试控制器210包括移位寄存器302(替代地,调试接口216的一部分)、安全随机访问存储器(RAM)304、非易失性存储组件(例如,闪速存储器或一次性可编程寄存器文件)305、签名认证模块306、安全监视器308、解码器310、启用控制器312和用于控制所图示的组件的状态机314。移位寄存器302被配置为基于例如JTAG控制信令从调试接口216移入数据并且将数据移出到调试接口216。RAM 304被配置为存储特定数据,诸如用于挑战/响应过程的挑战值324(RNG 214(图2)生成的随机数)以及从调试设备224接收到的响应值326。非易失性存储组件305被配置为存储一个或多个公共密钥集合,诸如公共密钥321(调试1)和322(调试2)。如上所述,当使用签名的命令文件进行认证时,可以经由调试接口216向公共密钥321和322提供签名的命令文件,并且公共密钥321和322被存储在非易失性存储组件305中。签名认证模块306被配置为使用公共密钥321和322中的一个或两个、响应值326和挑战值324来认证尝试获取访问的实体。如果响应值306得到认证,则签名认证模块306断言认证信号330由安全监视器308和解码器310接收,以用信号传送对客户认证的确认。此外,在存在多个公共密钥的情况下,可以用每个连续公共密钥重复认证过程,直到成功认证出现,或者直到没有尝试过的公共密钥。在该情况下,签名认证模块306还可以向认证信号330提供由成功认证得到的公共密钥的标识符。在没有成功认证出现的情况下,签名认证模块306不断言认证信号330,由此用信号向安全监视器308和解码器310传送客户未得到认证。此外,如上所述,可以将安全等级绑定到特定公共密钥,并且因此签名认证模块306可以用信号传送哪个公共密钥得到成功认证,以便于允许安全监视器308和解码器310设置适当的安全等级。
安全监视器308和引导程序240(图2)在引导序列期间协作以帮助确保IC设备是正常引导的。此外,基于认证的信号330指示的访问等级(如从生成的匹配的特定公共密钥确定的),安全监视器308可以强制非安全状态并且防止在非安全条件下访问私有密钥。
解码器310被配置为提供表示要制定的调试状态或配置的解码值332。解码器310响应于调试相关熔丝的状态,包括禁用调试熔丝254的熔断/未熔断状态、挑战需要的熔丝256的熔断/未熔断状态和永久调试熔丝258的熔断/未熔断状态,来生成该解码值332。此外,如在此描述的,一旦通过断言客户配置引脚255(图2)永久开放调试接口216,客户就可以指引IC设备202从默认配置恢复到客户配置。因此,解码器310还响应于客户配置引脚255的状态来生成解码值332。此外,解码器310可以生成解码值332,以实现与在挑战/响应过程期间的成功认证所得到的公共密钥相关联的安全等级。
启用控制器312解释解码值332并且选择性地配置一个或多个控制信号334,以便于实现解码值332表示的调试配置。这些控制信号334可以包括用于对调试接口216的开放访问的控制信令、用于对硬件评估组件(例如,扫描链)的开放访问的控制信令、用于控制对永久调试熔丝258的访问的控制信令(以及用于内部熔断永久调试熔丝258的启用信令)、用于指引配置块218的一个或多个复用器在客户熔丝库250表示的客户配置或默认配置组件252(例如,另一熔丝库或设置/复位触发器组)表示的默认配置之间进行选择的控制信令等。
图4图示了根据本公开的至少一个实施例的评估图2的IC设备202的示例性方法400。以下,假设禁用调试熔丝254保持处于未熔断状态,由此将IC设备202配置为允许调试访问。在块402处,将IC设备202识别为可能有缺陷的客户将IC设备202连接到测试台204的外部存储器226和调试设备224(图2),并且然后使IC设备202进行通电复位(POR)。在块404处,IC设备202从ROM 208加载引导程序240,并且发起安全引导序列。在IC设备202进行初始化时,在块406处,调试设备224经由调试接口216向IC设备202传送命令文件(或表示可执行指令或命令的其他数据结构)。在一个实施例中,命令文件包括要在挑战/响应过程中使用的一个或多个公共密钥(例如,公共密钥321和322,图3)。此外,调试设备224使用与IC设备202的根密钥值219相对应的私有密钥来对命令文件签名,以便于允许IC设备202认证命令文件。
在块408处,IC设备202使用根密钥值219来认证或验证签名的的命令文件。在认证过程不成功的情况下,在块410处,IC设备202排除IC设备202的认证的调试组件(例如,通过从调试接口216、认证的调试控制器210等断开电源),以其正常顺序完成安全引导并且从外部存储器226加载图像227(图2)。否则,如果认证过程成功,则在块412处,认证的调试控制器210向处理器206提供命令文件以供执行。如上所述,命令文件可以包括一个或多个公共密钥(公共密钥321和322),并且因此命令文件可以包括指引处理器206在块416处在认证的调试控制器210的非易失性存储组件305(图3)中存储一个或多个公共密钥的命令。替代地,认证的调试控制器210可以响应于签名的命令文件的认证来存储命令文件包括的一个或多个公共密钥。此外,在一个实施例中,命令文件可以包括指引处理器206向认证的调试控制器210传送信号以发起挑战/响应过程的命令。替代地,客户在引导过程期间通过断言IC设备202的特定引脚来提供该发起信号。
响应于来自处理器206的信令,或者通过诸如经由IC设备202的外部引脚的另一机制,在块418处,IC设备202确定挑战需要的熔丝256的状态,以确定客户是否已经将IC设备202配置为要求挑战/响应过程开放调试接口216。如果挑战需要的熔丝256的状态指示不需要挑战/响应过程,则在块420处,IC设备202在首先不经由挑战/响应过程对客户进行认证的情况下永久开放调试接口216。
否则,如果挑战需要的熔丝256的状态指示需要挑战/响应过程,则IC设备202发起挑战/响应过程以针对访问来认证该客户。在至少一个实施例中,IC设备202和调试设备224利用的挑战/响应过程基于成对密钥(例如,公共密钥基础结构)来实现签名。具体地,根据美国商务部联邦信息处理标准(FIPS)公布196(标题为“Entity AuthenticationUsing Public Key Cryptography”)中描述的单方面认证协议,基本上可以实现挑战/响应过程。因此,在块422处,引导程序240用信号通知RNG 214,以生成随机数(RN)并且将该随机数提供给认证的调试控制器210。认证的调试控制器210将随机数存储在RAM 304(图3)中,并且向调试接口216提供随机数,以供传输到调试设备224作为挑战值。单独地,在块424处,客户代理向防火墙233提供客户代理证书280,以验证客户代理身份和访问等级。在块426处,防火墙233基于证书280来确定是否授权客户代理来访问IC设备202,如果是,则确定以什么访问等级访问IC设备202。在证书280不足以授权的情况下,在块428处,调试接口224阻止通过客户对经由调试接口228访问IC设备202的任何进一步尝试,直到IC设备202被再次复位。
否则,如果客户代理被认证,则在块430处,代码签名服务器230根据与客户证书280相关联的访问等级从私有密钥存储库234中选择私有密钥,并且然后用选择的私有密钥对挑战值签名以生成响应值。为了说明,IC设备202可以具有两个访问等级:与私有密钥调试1相关联的低访问等级和与私有密钥调试2相关联的高访问等级。如果证书280允许访问较高访问等级,则代码签名服务器230在挑战/响应过程中选择私有密钥调试2来进行使用。否则,如果客户仅被允许低访问等级,则代码签名服务器230选择私有密钥调试1。已经用私有密钥对挑战值签名以生成响应值,在块432处,代码签名服务器230经由调试接口216向IC设备202提供响应值。认证调试控制器210从调试接口216接收响应值,并且将响应值存储在RAM 304(图3)中。
在块434处,签名认证模块306尝试使用在块422处存储在RAM 304(图3)中的原始随机数并且使用从非易失性存储组件305(图3)访问的公共密钥来认证或验证响应值。在认证不成功的情况下,签名认证模块306用信号传送客户没有认证。然而,如上所述,IC设备202可以具有多个访问等级,每个访问等级具有其自己相应的公共密钥-私有密钥对。因此,签名认证模块306可以针对每个存储的公共密钥来重复块434的认证过程,以确定(如果有的话)哪个公共密钥得到成功认证。与得到成功认证的公共密钥相关联的访问等级用于设置IC设备202的访问等级,如下所述。
在存储的公共密钥中的任何一个都不能得到成功认证的情况下,在块436处,认证的调试控制器210拒绝客户对IC 202的认证的调试组件的访问。此外,在一个实施例中,引导程序240响应于没有认证客户来发起复位。
在通过挑战/响应过程确认客户认证的情况下,在块438处,认证的调试控制器210和安全控制器212基于例如与得到成功认证的公共密钥相关联的访问等级来在IC设备202处设置访问等级。示例性访问等级可以包括:(1)启用/禁用对IC设备202的规定秘密信息的访问,诸如内容或软件密钥;(2)启用跟踪端口,允许软件利用跟踪代码经由IC设备202的端口来输出测量数据;(3)部分开放对IC设备202的一个或多个调试域的调试接口,从而每个调试域与相应的一个或多个扫描链集合相关联,并且因此具有不同安全风险;以及(4)时钟速率限制器模式,由此时钟速率可以被降低或限制为最大速率,以便于促进调试。此外,认证的调试控制器210临时开放调试接口216,并且还临时开放对永久调试熔丝258的访问。
在至少一个实施例中,通过通电复位或“硬”复位来结束调试接口216的临时开放以及对永久调试熔丝258的访问,但是在用户复位或“软”复位之间,调试接口216的临时开放以及对永久调试熔丝258的访问是持续的。因此,在块440处,客户执行IC设备202的软复位。在得到的引导过程期间,引导程序240(图2)指引处理器206从外部存储器226(图2)加载图像227表示的操作系统/软件功能,以便于允许使用在其中实现IC设备202的产品中使用的操作系统/软件功能来进行软件调试。因此被配置为,在块442处,在尝试识别引起IC设备202操作异常的软件问题中,客户经由临时开放的调试接口216来执行IC设备202的一个或多个软件评估过程。此外,因为对调试接口116的临时访问可以在软复位期间持续,所以客户可以将IC设备202配置为临时访问调试接口116,并且然后开始软件复位,以允许客户经由调试接口116来监视整个“正常”引导序列。
为了在调试接口116被临时开放的同时更加充分地确保IC设备202,可以实现周期性再认证过程,由此认证的调试控制器210可以发起计时器221(例如,初始地响应于软件复位),使得当计时器221超时时,认证的调试控制器210取消客户认证,并且重新发起挑战/响应过程以重新认证客户。计时器221可以继续被定期地复位,以便于确保在硬件复位之间的时段期间客户定期地重新认证。
此外,除了使用计时器221来定期重新认证之外,对特定安全等级的访问可以触发认证的调试控制器210或安全控制器212,以自动开始撤销计时器,其中在例如IC设备202中的设备绑定熔丝中设置了超时值。这样,当安全等级的撤销计时器超时时,需要重新认证用户(客户或制造商)以再次获取对安全等级的访问。
以下,假设在块442处执行的软件评估过程没有识别出软件问题,并且因此由制造商进行对IC设备202的硬件评估是必要的。然而,这时,调试接口216仅开放到通电复位出现,这时,IC设备202将恢复到安全状态。因此,除非客户想要与制造商共享认证对调试接口216的访问所必需的私有密钥,否则客户将需要将IC设备202配置为永久开放访问调试接口216,使得制造商可以使用调试接口216来用于硬件评估。如上所述,在一个实施例中,IC设备202用永久调试熔丝258,当永久调试熔丝258被熔断时,将认证的调试控制器210配置为允许在不需要认证的情况下开放访问调试接口216。因此,在块444处,IC设备202响应于来自块410-428的挑战/响应过程的客户认证来启用对永久调试熔丝258的访问,并且在块446处,客户熔断永久调试熔丝258,以将IC设备202配置为永久允许对调试接口216的开放访问。在一个实施例中,经由熔丝访问机制260从外部引脚264(图2)熔断永久调试熔丝258。因此,认证的调试控制器210可以通过断言控制信号262来使得客户能够从外部引脚264访问和熔断永久调试熔丝258,以便于将熔丝访问机制260置于导通状态。在另一实施例中,内部熔断永久调试熔丝258,并且认证的调试控制器210被配置为响应于经由调试接口216接收到的熔断永久调试熔丝258的命令来熔断永久调试熔丝258。在将IC设备202配置为永久启用对调试接口216的开放访问之后,客户可以使IC设备与调试设备224断开连接,并且将IC设备202返回给制造商以供硬件评估,如上所述。
图5图示了根据本公开的至少一个实施例的将IC设备202返回给客户配置以供进一步评估的示例性方法500。在一个实施例中,将IC设备202配置为永久允许对调试接口216开放访问的过程(例如,通过熔断永久调试熔丝258)还将IC设备202配置为利用适合于硬件评估的默认配置(由默认配置组件252表示)来代替客户配置(由客户熔丝库250表示)。然而,在客户随后将IC设备202返回给客户以供客户进一步评估的情况下,客户可以发现将IC设备202返回到客户配置是有利的。方法500图示了该重新配置过程的示例性过程。
在块502处,为了评估的目的,客户接收IC设备202并且IC设备202被重新连接到测试台204(图2)。然后,客户发起IC设备的复位。在块504处,IC设备202开始安全引导过程。在该过程期间,IC设备202确定已经是否用信号传送了客户使用客户配置代替默认配置的意图。例如,客户可以通过断言客户配置引脚255,通过经由调试接口216提供特定命令等,来用信号传送该意图。
在客户还没有用信号传送使用客户配置的意图的情况下,在块508处,认证的调试控制器210将信号SEL(图2)配置为指引一个或多个复用器选择来自默认配置组件252的默认配置信息,并且IC设备202使用该默认配置信息进行操作。否则,在客户用信号传送使用客户配置的意图的情况下,在块510处,认证的调试控制器210将信号SEL配置为指引一个或多个复用器选择来自客户熔丝库250的客户配置信息。
上述描述假设客户认证没有必要将IC设备202重新配置为使用客户配置信息来代替默认配置信息。然而,由于客户配置信息可以包括敏感信息,因此方法500还可以在通过断言客户配置引脚255或经由调试接口216提供特定命令来允许客户指引IC设备202使用客户配置信息之前包括认证请求。
从考虑到在此公开的说明书和公开的实践,本公开的其他实施例、使用方法和优点对本领域的技术人员来说将是显而易见的。说明书和附图仅被认为是示例性的,本公开的范围相应地旨在由权利要求及其等价物来限定。
Claims (16)
1.一种评估集成电路IC设备的方法,包括:
使用存储在所述IC设备中的第一密钥值和在所述IC设备处生成的挑战值来进行挑战/响应过程;
响应于来自所述挑战/响应过程的认证的确认来临时启用所述IC设备的配置,以永久启用对所述IC设备的调试接口的开放访问;
响应于来自所述挑战/响应过程的认证的确认来临时启用对所述调试接口的访问;
在临时启用对所述调试接口的访问的同时,执行对所述IC设备的软件评估;以及
响应于从所述软件评估没有识别出所述IC设备中的缺陷来将所述IC设备配置为永久启用对所述调试接口的开放访问。
2.如权利要求1所述的方法,还包括:
在将所述IC设备配置为永久启用对所述调试接口的开放访问之后,经由所述调试接口来执行所述IC设备的硬件评估。
3.如权利要求1所述的方法,其中:
所述IC设备包括表示默认配置的默认配置组件和表示客户配置的客户熔丝库;以及
将所述IC设备配置为永久启用对所述调试接口的开放访问还包括:将所述IC设备配置为使用所述默认配置组件表示的所述默认配置代替所述客户熔丝库表示的所述客户配置来进行操作。
4.如权利要求3所述的方法,还包括:
在所述IC设备处接收指引所述IC设备使用所述客户熔丝库表示的所述客户配置来进行操作的输入;以及
响应于接收到所述输入,将所述IC设备配置为使用所述客户配置来进行操作。
5.如权利要求1所述的方法,其中:
所述IC设备被配置为通过将熔丝置于熔断状态中来永久启用对所述调试接口的开放访问;以及
临时启用所述IC设备的配置来永久启用对所述调试接口的开放访问包括:响应于来自所述挑战/响应过程的认证的确认来启用对所述熔丝的访问。
6.如权利要求5所述的方法,还包括:
将所述IC设备配置为:在启用对所述熔丝的访问时,通过熔断所述熔丝来永久启用对所述调试接口的开放访问。
7.如权利要求1所述的方法,其中,进行所述挑战/响应过程包括:
在所述IC设备处生成所述挑战值;
经由所述IC设备的所述调试接口来向外部设备提供所述挑战值;
经由所述调试接口接收来自所述外部设备的响应值;以及
使用所述挑战值和所述第一密钥值来确认认证。
8.如权利要求7所述的方法,还包括:
在所述外部设备处,使用第二密钥值来对所述挑战值签名,以生成所述响应值,其中,所述第一密钥值包括公共密钥基础结构PKI密钥对的公共密钥,并且所述第二密钥值包括所述PKI密钥对的私有密钥。
9.如权利要求1所述的方法,还包括:
经由所述调试接口从外部设备接收签名的命令文件,所述第一密钥值附随着所述签名的命令文件;
响应于确认所述签名的命令文件的认证,使用所述IC设备的根密钥值,在所述IC设备处存储所述第一密钥值;
使用在所在所述IC设备处存储的所述第一密钥值和在所述IC设备处生成的挑战值进行挑战/响应过程;以及
其中,响应于来自所述挑战/响应过程的认证的确认,临时启用所述IC设备的配置来永久启用对所述IC设备的调试接口的开放访问。
10.一种评估集成电路IC设备的方法,包括:
在第一方的方向下:
通过使用所述IC设备的第一密钥和在所述IC设备处生成的挑战值的挑战/响应过程,经由所述第一方的认证来临时启用对所述IC设备的调试接口的访问;
经由所述调试接口来进行所述IC设备的软件评估;
响应于从所述软件评估没有识别出所述IC设备的问题,在认证时永久启用对所述调试接口的开放访问;以及
向第二方提供所述IC设备。
11.如权利要求10所述的方法,还包括:
在第二方的方向下:
经由所述调试接口来进行所述IC设备的硬件评估。
12.如权利要求11所述的方法,其中,永久启用对所述IC设备的所述调试接口的开放访问包括:将所述IC设备配置为:使用默认配置组件表示的第一配置代替所述第一方配置的熔丝库表示的第二配置来进行操作,并且所述方法还包括:
在所述第二方的方向下:
响应于经由所述硬件评估没有检测到所述IC设备的问题,将所述IC设备返回给所述第一方;以及
在所述第一方的方向下:
向所述IC设备提供信号以指引所述IC设备使用所述熔丝库表示的所述第二配置来进行操作;以及
响应于所述信号来将所述IC设备配置为使用所述第二配置进行操作。
13.一种集成电路IC设备,包括:
存储组件,所述存储组件用于存储密钥值;
调试接口;
第一熔丝,所述第一熔丝可操作为控制对所述调试接口的访问;以及
认证的调试控制器,所述认证的调试控制器被配置为:
使用所述密钥值和挑战值来进行挑战/响应过程,以及
响应于来自所述挑战/响应过程的认证的确认,通过临时启用对所述第一熔丝的访问,临时启用所述IC设备的配置,以永久启用对所述调试接口的开放访问,
默认配置组件,所述默认配置组件表示第一配置状态;
熔丝库,所述熔丝库表示第二配置状态;并且
其中,所述IC设备被配置为:
响应于第一熔丝具有未熔断状态,使用默认配置组件表示的第一配置状态来进行操作;
响应于第一熔丝具有熔断状态,使用所述熔丝库表示的第二配置状态来进行操作;并且
其中,所述认证的调试控制器将所述IC设备配置为:响应于
在所述IC设备的引脚处接收到信号,来使用所述第一配置状态
代替所述第二配置状态进行操作。
14.如权利要求13所述的IC设备,其中,所述认证的调试控制器被配置为通过下述来进行所述挑战/响应过程:
经由所述调试接口来向外部设备提供所述挑战值;
经由所述调试接口来从所述外部设备接收响应值;以及
使用所述挑战值和所述响应值来确认认证。
15.如权利要求14所述的IC设备,其中,所述认证的调试控制器还被配置为:基于与所述密钥值相关联的访问等级并且响应于认证的确认来设置所述IC设备的访问等级。
16.如权利要求13所述的IC设备,还包括:
第二熔丝;并且
其中,所述认证的调试控制器还被配置为:
响应于所述第二熔丝具有第一状态来进行所述挑战/响应过程;以及
响应于所述第二熔丝具有第二状态,在不进行所述挑战/响应过程的情况下启用对所述调试接口的开放访问。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/363,259 US8332641B2 (en) | 2009-01-30 | 2009-01-30 | Authenticated debug access for field returns |
US12/363,259 | 2009-01-30 | ||
PCT/US2010/020855 WO2010088043A2 (en) | 2009-01-30 | 2010-01-13 | Authenticated debug access for field returns |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102301375A CN102301375A (zh) | 2011-12-28 |
CN102301375B true CN102301375B (zh) | 2014-09-10 |
Family
ID=42396279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080006319.5A Active CN102301375B (zh) | 2009-01-30 | 2010-01-13 | 用于市场返修的认证调试访问 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8332641B2 (zh) |
EP (1) | EP2391969B1 (zh) |
KR (1) | KR101587309B1 (zh) |
CN (1) | CN102301375B (zh) |
WO (1) | WO2010088043A2 (zh) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1817595B1 (en) * | 2004-11-22 | 2009-03-04 | Freescale Semiconductor Inc. | Integrated circuit and a method for secure testing |
US8000337B2 (en) * | 2009-03-27 | 2011-08-16 | Cisco Technology, Inc. | Runtime flow debugging a network device by examining packet counters at internal points |
KR101554326B1 (ko) * | 2009-05-21 | 2015-09-18 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
US8644499B2 (en) * | 2009-09-14 | 2014-02-04 | Broadcom Corporation | Method and system for securely protecting a semiconductor chip without compromising test and debug capabilities |
US8495758B2 (en) * | 2010-06-18 | 2013-07-23 | Alcatel Lucent | Method and apparatus for providing scan chain security |
JP5225412B2 (ja) * | 2011-03-03 | 2013-07-03 | 株式会社東芝 | 通信装置および通信方法 |
US8949586B2 (en) * | 2011-10-06 | 2015-02-03 | Cisco Technology, Inc. | System and method for authenticating computer system boot instructions during booting by using a public key associated with a processor and a monitoring device |
US20130110443A1 (en) * | 2011-10-26 | 2013-05-02 | International Business Machines Corporation | Granting authority in response to defect detection |
WO2013102521A1 (en) * | 2012-01-03 | 2013-07-11 | International Business Machines Corporation | Method for secure self-booting of an electronic device |
US10771448B2 (en) * | 2012-08-10 | 2020-09-08 | Cryptography Research, Inc. | Secure feature and key management in integrated circuits |
US9094205B2 (en) * | 2012-08-31 | 2015-07-28 | Freescale Semiconductor, Inc. | Secure provisioning in an untrusted environment |
US9100174B2 (en) * | 2012-08-31 | 2015-08-04 | Freescale Semiconductor, Inc. | Secure provisioning in an untrusted environment |
US9129536B2 (en) | 2012-08-31 | 2015-09-08 | Freescale Semiconductor, Inc. | Circuit for secure provisioning in an untrusted environment |
US9100189B2 (en) * | 2012-08-31 | 2015-08-04 | Freescale Semiconductor, Inc. | Secure provisioning in an untrusted environment |
US9223952B2 (en) | 2012-09-28 | 2015-12-29 | Intel Corporation | Allowing varied device access based on different levels of unlocking mechanisms |
US9794288B1 (en) * | 2012-12-19 | 2017-10-17 | EMC IP Holding Company LLC | Managing policy |
US9292713B2 (en) * | 2013-03-13 | 2016-03-22 | Intel Corporation | Tiered access to on chip features |
KR102102179B1 (ko) | 2013-03-14 | 2020-04-21 | 삼성전자 주식회사 | 임베디드 시스템, 이를 포함하는 인증 시스템, 및 인증 방법 |
US20140344960A1 (en) * | 2013-05-17 | 2014-11-20 | Lsi Corporation | Selective control of on-chip debug circuitry of embedded processors |
US8955144B2 (en) * | 2013-06-28 | 2015-02-10 | Intel Corporation | Protecting information processing system secrets from debug attacks |
CN103593626B (zh) * | 2013-11-11 | 2017-02-01 | 杭州晟元数据安全技术股份有限公司 | 一种芯片测试模式和调试模式的保护方法 |
JP6478486B2 (ja) * | 2013-11-20 | 2019-03-06 | キヤノン株式会社 | 情報処理装置、その制御方法及びプログラム |
KR20150094178A (ko) | 2014-02-10 | 2015-08-19 | 삼성전자주식회사 | 보안 장치 및 보안 장치의 제어 방법 |
KR102228454B1 (ko) | 2014-02-24 | 2021-03-16 | 삼성전자주식회사 | 보안 디버깅 회로를 갖는 디바이스 및 그것에 대한 디버깅 방법 |
US20150331043A1 (en) * | 2014-05-15 | 2015-11-19 | Manoj R. Sastry | System-on-chip secure debug |
US9152536B1 (en) * | 2014-05-19 | 2015-10-06 | International Business Machines Corporation | Validating correctness of expression evaluation within a debugger |
US9450947B2 (en) | 2014-05-20 | 2016-09-20 | Motorola Solutions, Inc. | Apparatus and method for securing a debugging session |
US9721100B2 (en) * | 2014-06-27 | 2017-08-01 | Intel Corporation | Technologies for protected hardware function monitoring and forensics |
DE102015110729A1 (de) * | 2014-07-21 | 2016-01-21 | Dspace Digital Signal Processing And Control Engineering Gmbh | Anordnung zur teilweisen Freigabe einer Debuggingschnittstelle |
US9684578B2 (en) * | 2014-10-30 | 2017-06-20 | Qualcomm Incorporated | Embedded universal serial bus (USB) debug (EUD) for multi-interfaced debugging in electronic systems |
CN104459519A (zh) * | 2014-12-05 | 2015-03-25 | 大唐微电子技术有限公司 | 一种芯片安全测试方法及装置 |
US9430658B2 (en) | 2014-12-16 | 2016-08-30 | Freescale Semiconductor, Inc. | Systems and methods for secure provisioning of production electronic circuits |
US10129232B1 (en) * | 2015-07-31 | 2018-11-13 | Cisco Technology, Inc. | Secure interactive debug |
JP6719894B2 (ja) | 2015-12-04 | 2020-07-08 | キヤノン株式会社 | 機能デバイス、制御装置 |
US10223531B2 (en) * | 2016-12-30 | 2019-03-05 | Google Llc | Secure device state apparatus and method and lifecycle management |
US20190007212A1 (en) * | 2017-06-30 | 2019-01-03 | Intel Corporation | Secure unlock systems for locked devices |
FR3072195B1 (fr) * | 2017-10-11 | 2019-10-18 | Stmicroelectronics (Rousset) Sas | Procede de gestion d'un retour de produit pour analyse et produit correspondant |
CN110337652B (zh) * | 2018-01-29 | 2023-03-17 | 深圳市汇顶科技股份有限公司 | 芯片的访问方法、安全控制模块、芯片和调试设备 |
US10719607B2 (en) * | 2018-03-19 | 2020-07-21 | Nxp B.V. | Data integrity verification in a non-volatile memory |
US11132673B1 (en) * | 2018-04-25 | 2021-09-28 | Dmitry Mikhailov | Use of secure chips for storage of hashed data and private keys in hardware cryptowallets |
US11105850B2 (en) * | 2018-05-24 | 2021-08-31 | Seagate Technology Llc | Secure debug system for electronic devices |
CN112464202B (zh) * | 2019-09-09 | 2024-05-31 | 联合汽车电子有限公司 | 车载控制器调试方法、调试设备、调试系统及可读存储介质 |
US11443071B2 (en) | 2020-02-13 | 2022-09-13 | SiFive, Inc. | Secure debug architecture |
US11416639B2 (en) * | 2020-06-29 | 2022-08-16 | Nuvoton Technology Corporation | PQA unlock |
US11665002B2 (en) | 2020-12-11 | 2023-05-30 | International Business Machines Corporation | Authenticated elevated access request |
US11720654B2 (en) * | 2020-12-16 | 2023-08-08 | University Of Florida Research Foundation, Inc. | Timed unlocking and locking of hardware intellectual properties |
US11574079B2 (en) | 2021-05-27 | 2023-02-07 | Nuvoton Technology Corporation | Multi-stage provisioning of secret data |
CN117291428B (zh) * | 2023-11-17 | 2024-03-08 | 南京雅利恒互联科技有限公司 | 一种基于企业管理app的数据后台管理系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1820453A (zh) * | 2003-08-11 | 2006-08-16 | 飞思卡尔半导体公司 | 为调试电路提供安全性的方法和装置 |
Family Cites Families (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3496932A (en) * | 1967-12-22 | 1970-02-24 | Gen Motors Corp | Method and apparatus for substernal cardiac massage |
US4181123A (en) * | 1977-12-28 | 1980-01-01 | The University Of Virginia Alumni Patents Foundation | Apparatus for cardiac surgery and treatment of cardiovascular disease |
US4319562A (en) * | 1977-12-28 | 1982-03-16 | The University Of Virginia Alumni Patents Foundation | Method and apparatus for permanent epicardial pacing or drainage of pericardial fluid and pericardial biopsy |
US4249536A (en) * | 1979-05-14 | 1981-02-10 | Vega Roger E | Urological catheter |
US5033477A (en) * | 1987-11-13 | 1991-07-23 | Thomas J. Fogarty | Method and apparatus for providing intrapericardial access and inserting intrapericardial electrodes |
US5281238A (en) * | 1991-11-22 | 1994-01-25 | Chin Albert K | Endoscopic ligation instrument |
WO1994006357A1 (en) * | 1992-09-23 | 1994-03-31 | Target Therapeutics, Inc. | Medical retrieval device |
US6346074B1 (en) * | 1993-02-22 | 2002-02-12 | Heartport, Inc. | Devices for less invasive intracardiac interventions |
US6161543A (en) * | 1993-02-22 | 2000-12-19 | Epicor, Inc. | Methods of epicardial ablation for creating a lesion around the pulmonary veins |
US5306234A (en) * | 1993-03-23 | 1994-04-26 | Johnson W Dudley | Method for closing an atrial appendage |
JPH0855023A (ja) | 1994-07-25 | 1996-02-27 | Motorola Inc | データ処理システムおよびその方法 |
US7175619B2 (en) * | 1994-10-07 | 2007-02-13 | Boston Scientific Scimed, Inc. | Loop structures for positioning a diagnostic or therapeutic element on the epicardium or other organ surface |
US6464700B1 (en) * | 1994-10-07 | 2002-10-15 | Scimed Life Systems, Inc. | Loop structures for positioning a diagnostic or therapeutic element on the epicardium or other organ surface |
US5624430A (en) * | 1994-11-28 | 1997-04-29 | Eton; Darwin | Magnetic device to assist transcorporeal guidewire placement |
US5621912A (en) * | 1994-12-29 | 1997-04-15 | International Business Machines Corporation | Method and apparatus for enabling monitoring of guests and native operating systems |
US6132438A (en) * | 1995-06-07 | 2000-10-17 | Ep Technologies, Inc. | Devices for installing stasis reducing means in body tissue |
US5627478A (en) * | 1995-07-06 | 1997-05-06 | Micron Technology, Inc. | Apparatus for disabling and re-enabling access to IC test functions |
JP3293118B2 (ja) * | 1995-10-18 | 2002-06-17 | ニプロ株式会社 | 心腔内縫合手術用カテーテル組立体 |
JPH09319727A (ja) * | 1996-05-31 | 1997-12-12 | Hitachi Ltd | データプロセッサ及びデータ処理システム |
US5766217A (en) * | 1996-09-23 | 1998-06-16 | Christy; William J. | Surgical loop delivery device and method |
US6237605B1 (en) * | 1996-10-22 | 2001-05-29 | Epicor, Inc. | Methods of epicardial ablation |
US6311692B1 (en) * | 1996-10-22 | 2001-11-06 | Epicor, Inc. | Apparatus and method for diagnosis and therapy of electrophysiological disease |
US6206004B1 (en) * | 1996-12-06 | 2001-03-27 | Comedicus Incorporated | Treatment method via the pericardial space |
US5978902A (en) * | 1997-04-08 | 1999-11-02 | Advanced Micro Devices, Inc. | Debug interface including operating system access of a serial/parallel debug port |
US5908429A (en) * | 1997-05-01 | 1999-06-01 | Yoon; Inbae | Methods of anatomical tissue ligation |
US6026503A (en) * | 1997-08-12 | 2000-02-15 | Telrad Communication And Electronic Industries Ltd. | Device and method for debugging systems controlled by microprocessors |
US6610055B1 (en) * | 1997-10-10 | 2003-08-26 | Scimed Life Systems, Inc. | Surgical method for positioning a diagnostic or therapeutic element on the epicardium or other organ surface |
US6071281A (en) * | 1998-05-05 | 2000-06-06 | Ep Technologies, Inc. | Surgical method and apparatus for positioning a diagnostic or therapeutic element within the body and remote power control unit for use with same |
US5908435A (en) * | 1997-10-23 | 1999-06-01 | Samuels; Shaun L. W. | Expandable lumen device and method of use |
US6199556B1 (en) * | 1998-05-01 | 2001-03-13 | Cardiothoracic Systems, Inc. | Xyphoid access for cardiac surgical procedures |
US6231518B1 (en) * | 1998-05-26 | 2001-05-15 | Comedicus Incorporated | Intrapericardial electrophysiological procedures |
US7713282B2 (en) * | 1998-11-06 | 2010-05-11 | Atritech, Inc. | Detachable atrial appendage occlusion balloon |
US6280415B1 (en) * | 1999-03-10 | 2001-08-28 | W. Dudley Johnson | Tissue traction device |
US6488689B1 (en) * | 1999-05-20 | 2002-12-03 | Aaron V. Kaplan | Methods and apparatus for transpericardial left atrial appendage closure |
US20040102804A1 (en) * | 1999-08-10 | 2004-05-27 | Chin Albert K. | Apparatus and methods for endoscopic surgical procedures |
US7264587B2 (en) * | 1999-08-10 | 2007-09-04 | Origin Medsystems, Inc. | Endoscopic subxiphoid surgical procedures |
US6328689B1 (en) * | 2000-03-23 | 2001-12-11 | Spiration, Inc., | Lung constriction apparatus and method |
US6423051B1 (en) * | 1999-09-16 | 2002-07-23 | Aaron V. Kaplan | Methods and apparatus for pericardial access |
US6613062B1 (en) * | 1999-10-29 | 2003-09-02 | Medtronic, Inc. | Method and apparatus for providing intra-pericardial access |
US6692491B1 (en) * | 2000-03-24 | 2004-02-17 | Scimed Life Systems, Inc. | Surgical methods and apparatus for positioning a diagnostic or therapeutic element around one or more pulmonary veins or other body structures |
US7056294B2 (en) * | 2000-04-13 | 2006-06-06 | Ev3 Sunnyvale, Inc | Method and apparatus for accessing the left atrial appendage |
US7058856B2 (en) * | 2000-07-18 | 2006-06-06 | Oki Electric Industry Co., Ltd. | Semiconductor circuit with flash ROM and improved security for the contents thereof |
US6564969B1 (en) * | 2000-07-27 | 2003-05-20 | Roberta Loy | Personal defense apparatus |
AU2001288435A1 (en) * | 2000-08-25 | 2002-03-04 | Sutura, Inc. | Suture cutter |
US6830174B2 (en) * | 2000-08-30 | 2004-12-14 | Cerebral Vascular Applications, Inc. | Medical instrument |
US7103782B1 (en) | 2000-09-27 | 2006-09-05 | Motorola, Inc. | Secure memory and processing system having laser-scribed encryption key |
US6666861B1 (en) * | 2000-10-05 | 2003-12-23 | James R. Grabek | Atrial appendage remodeling device and method |
US6786898B2 (en) * | 2003-01-15 | 2004-09-07 | Medtronic, Inc. | Methods and tools for accessing an anatomic space |
US6807968B2 (en) * | 2001-04-26 | 2004-10-26 | Medtronic, Inc. | Method and system for treatment of atrial tachyarrhythmias |
US6976136B2 (en) | 2001-05-07 | 2005-12-13 | National Semiconductor Corporation | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller |
US6925570B2 (en) | 2001-05-15 | 2005-08-02 | International Business Machines Corporation | Method and system for setting a secure computer environment |
US20030005335A1 (en) * | 2001-06-28 | 2003-01-02 | Hidekazu Watanabe | Protecting secured codes and circuits in an integrated circuit |
EP1276033B1 (de) * | 2001-07-10 | 2012-03-14 | Trident Microsystems (Far East) Ltd. | Speichereinrichtung mit Datenschutz in einem Prozessor |
US6755338B2 (en) * | 2001-08-29 | 2004-06-29 | Cerebral Vascular Applications, Inc. | Medical instrument |
US20060020336A1 (en) * | 2001-10-23 | 2006-01-26 | Liddicoat John R | Automated annular plication for mitral valve repair |
US7749157B2 (en) * | 2001-12-04 | 2010-07-06 | Estech, Inc. (Endoscopic Technologies, Inc.) | Methods and devices for minimally invasive cardiac surgery for atrial fibrillation |
US20050149069A1 (en) * | 2001-12-04 | 2005-07-07 | Bertolero Arthur A. | Left atrial appendage devices and methods |
US6656175B2 (en) * | 2001-12-11 | 2003-12-02 | Medtronic, Inc. | Method and system for treatment of atrial tachyarrhythmias |
EP1331539B1 (en) * | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
EP1329787B1 (en) * | 2002-01-16 | 2019-08-28 | Texas Instruments Incorporated | Secure mode indicator for smart phone or PDA |
US6968420B1 (en) * | 2002-02-13 | 2005-11-22 | Lsi Logic Corporation | Use of EEPROM for storage of security objects in secure systems |
US7266848B2 (en) | 2002-03-18 | 2007-09-04 | Freescale Semiconductor, Inc. | Integrated circuit security and method therefor |
US7527634B2 (en) * | 2002-05-14 | 2009-05-05 | University Of Pittsburgh | Device and method of use for functional isolation of animal or human tissues |
JP2004040717A (ja) * | 2002-07-08 | 2004-02-05 | Matsushita Electric Ind Co Ltd | 機器認証システム |
US7197680B2 (en) | 2003-04-17 | 2007-03-27 | Arm Limited | Communication interface for diagnostic circuits of an integrated circuit |
US7344543B2 (en) * | 2003-07-01 | 2008-03-18 | Medtronic, Inc. | Method and apparatus for epicardial left atrial appendage isolation in patients with atrial fibrillation |
JP5074765B2 (ja) * | 2003-10-09 | 2012-11-14 | センターハート・インコーポレイテッド | 組織の結紮のための装置及び方法 |
JP2007510470A (ja) * | 2003-11-07 | 2007-04-26 | カーネギー・メロン・ユニバーシテイ | 最小侵襲性介入用ロボット |
US20050149068A1 (en) * | 2003-12-17 | 2005-07-07 | Mathew Williams | Left atrial appendage exclusion device |
WO2005076139A1 (en) * | 2004-02-05 | 2005-08-18 | Research In Motion Limited | Debugging port security interface |
US7186214B2 (en) * | 2004-02-12 | 2007-03-06 | Medtronic, Inc. | Instruments and methods for accessing an anatomic space |
EP1768575B1 (en) * | 2004-06-18 | 2019-01-16 | Medtronic, Inc. | Devices for occlusion of an atrial appendage |
US20060004388A1 (en) * | 2004-06-18 | 2006-01-05 | Ablatrics, Inc. | System for tissue cavity closure |
WO2006000943A2 (en) | 2004-06-21 | 2006-01-05 | Koninklijke Philips Electronics N.V. | System for debugging software and hardware components |
US7890769B2 (en) | 2004-08-04 | 2011-02-15 | Broadcom Corporation | System and method for secure code downloading |
EP1817595B1 (en) | 2004-11-22 | 2009-03-04 | Freescale Semiconductor Inc. | Integrated circuit and a method for secure testing |
US7730545B2 (en) | 2005-05-23 | 2010-06-01 | Arm Limited | Test access control for secure integrated circuits |
US8945151B2 (en) * | 2005-07-13 | 2015-02-03 | Atricure, Inc. | Surgical clip applicator and apparatus including the same |
US8157818B2 (en) * | 2005-08-01 | 2012-04-17 | Ension, Inc. | Integrated medical apparatus for non-traumatic grasping, manipulating and closure of tissue |
US8065512B2 (en) * | 2005-08-22 | 2011-11-22 | Nxp B.V. | Embedded memory protection |
US20070060951A1 (en) * | 2005-09-15 | 2007-03-15 | Shannon Francis L | Atrial tissue fixation device |
US20070083232A1 (en) * | 2005-10-07 | 2007-04-12 | Innovasive, Inc. | Vascular closure device |
WO2007046860A2 (en) * | 2005-10-12 | 2007-04-26 | Ncontact Surgical, Inc. | Diaphragm entry for posterior surgical access |
US9486225B2 (en) * | 2005-12-22 | 2016-11-08 | Robert E. Michler | Exclusion of the left atrial appendage |
US20070162759A1 (en) * | 2005-12-28 | 2007-07-12 | Motorola, Inc. | Protected port for electronic access to an embedded device |
US7539966B2 (en) * | 2006-06-05 | 2009-05-26 | Dcg Systems, Inc. | Enhanced OP3 algorithms for net cuts, net joins, and probe points for a digital design |
US20080009843A1 (en) * | 2006-06-14 | 2008-01-10 | De La Torre Ralph | Surgical ablation system with chest wall platform |
US20080039879A1 (en) * | 2006-08-09 | 2008-02-14 | Chin Albert K | Devices and methods for atrial appendage exclusion |
US7657791B2 (en) * | 2006-11-15 | 2010-02-02 | Qualcomm Incorporated | Method and system for a digital signal processor debugging during power transitions |
US7941862B2 (en) * | 2007-04-05 | 2011-05-10 | Phison Electronics Corp. | Data access method against cryptograph attack |
US7886150B2 (en) * | 2007-05-11 | 2011-02-08 | Mips Technologies, Inc. | System debug and trace system and method, and applications thereof |
-
2009
- 2009-01-30 US US12/363,259 patent/US8332641B2/en active Active
-
2010
- 2010-01-13 EP EP10736189.1A patent/EP2391969B1/en active Active
- 2010-01-13 KR KR1020117020042A patent/KR101587309B1/ko active IP Right Grant
- 2010-01-13 CN CN201080006319.5A patent/CN102301375B/zh active Active
- 2010-01-13 WO PCT/US2010/020855 patent/WO2010088043A2/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1820453A (zh) * | 2003-08-11 | 2006-08-16 | 飞思卡尔半导体公司 | 为调试电路提供安全性的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2010088043A2 (en) | 2010-08-05 |
EP2391969A2 (en) | 2011-12-07 |
CN102301375A (zh) | 2011-12-28 |
US20100199077A1 (en) | 2010-08-05 |
EP2391969B1 (en) | 2017-08-02 |
KR20110114687A (ko) | 2011-10-19 |
WO2010088043A3 (en) | 2010-09-23 |
KR101587309B1 (ko) | 2016-01-20 |
US8332641B2 (en) | 2012-12-11 |
EP2391969A4 (en) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102301375B (zh) | 用于市场返修的认证调试访问 | |
US9729322B2 (en) | Method and system for smart card chip personalization | |
US9430658B2 (en) | Systems and methods for secure provisioning of production electronic circuits | |
CN107004083B (zh) | 设备密钥保护 | |
EP2297665B1 (en) | Method and apparatus for secure hardware analysis | |
US20110044451A1 (en) | Information processing apparatus and falsification verification method | |
EP2056231A1 (en) | Method and system for transferring information to a device | |
CN117077103A (zh) | 利用一个设备解锁另一个设备的方法 | |
CN111199058B (zh) | 用于确保数据的完整性和机密性的系统和方法 | |
CN102171971A (zh) | 电子设备上业务的开通 | |
US11280829B1 (en) | System-on-chip having secure debug mode | |
CN109933481A (zh) | 一种jtag接口的解锁系统及jtag解锁控制方法 | |
CN103514392A (zh) | 一种计算机操作系统登录认证装置和方法 | |
CN109413010A (zh) | 终端的认证方法、装置和系统 | |
US10296355B2 (en) | Method for the configuration of electronic devices, in particular for the configuration of components of an access control system | |
CN105787376A (zh) | 一种数据安全存取方法和装置 | |
CN113055340B (zh) | 鉴权方法及设备 | |
US9552482B2 (en) | Method for determining debug authorization for motherboard control module and associated motherboard control module | |
CN108270767B (zh) | 数据验证方法 | |
JP2022183033A (ja) | 秘密データの多段階のプロビジョニング | |
CN107690789A (zh) | 使用本地因子对认证设备与至少一个认证服务器的通信进行认证的方法 | |
CN105610738A (zh) | 一种交换机两级加密保护的方法 | |
CN112307438B (zh) | 一种扫描锁定电路、安全隔离装置、芯片及安全隔离方法 | |
EP4304226B1 (en) | Provisioning of security modules | |
US20200401690A1 (en) | Techniques for authenticating and sanitizing semiconductor devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Texas in the United States Patentee after: NXP America Co Ltd Address before: Texas in the United States Patentee before: Fisical Semiconductor Inc. |