US20090296933A1 - Integrated circuit and a method for secure testing - Google Patents
Integrated circuit and a method for secure testing Download PDFInfo
- Publication number
- US20090296933A1 US20090296933A1 US11/719,883 US71988304A US2009296933A1 US 20090296933 A1 US20090296933 A1 US 20090296933A1 US 71988304 A US71988304 A US 71988304A US 2009296933 A1 US2009296933 A1 US 2009296933A1
- Authority
- US
- United States
- Prior art keywords
- integrated circuit
- security
- security mode
- controller
- internal
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000004044 response Effects 0.000 claims description 15
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012956 testing procedure Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31719—Security aspects, e.g. preventing unauthorised access during test
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318555—Control logic
Definitions
- the present invention relates to an integrated circuit and to a method for secure testing of integrated circuits.
- IEEE standard 1149.1 that is also known as JTAG.
- IEEE standard 1149.1 defines a test access port (TAP) that may be used to access internal components of an integrated circuit.
- JTAG compliant TAPs as well as other debug ports allow unauthorized access to the internal components (such as registers, processors and memories) of integrated circuits.
- An integrated circuit can be tested in various occasions and locations.
- a prototype of the integrated circuit can be tested during a design or research and development stage, it can be field tested during various evaluation stages, within the manufacturer site, within an Original Equipment Manufacturer site, or even at potential customer sites, and the like.
- the security level required from an integrated circuit can vary according to the system or application that makes use of that integrated circuit. For example, smart cards can require a higher security level than other applications.
- FIG. 1 is a schematic diagram of a prior art TAP and a core
- FIG. 2 is a flow chart illustrating various states of a prior art TAP controller
- FIG. 3 illustrates a controller and its environment, according to an embodiment of the invention
- FIG. 4 illustrates a system according to an embodiment of the invention
- FIG. 5 illustrates various fuses of a fuse array, according to an embodiment of the invention.
- FIG. 6 illustrates a method for testing an integrated circuit, according to an embodiment of the invention.
- the following description relates to a certain system on chip and that can operate in four different security modes. It is noted that the invention can be applied within other systems or devices and that security scheme having three, five or more than five security modes can be implemented. It is noted that the integrated circuit can be partitioned to multiple regions, each operating under its own security mode.
- FIG. 1 illustrates a prior art JTAG compliant test access port (TAP) 10 and a core 11 that is connected to the TAP 10 .
- TAP 10 includes a boundary scan register 30 , a one-bit long bypass register 12 , an instruction register 18 , a TAP controller 20 , and an optional user defined data register 14 .
- TAP 10 receives various signals including a clock signal TCK, a test data input signal TDI, a test mode select signal TMS and outputs a test data output signal TDO.
- TAP controller 20 Various control signals provided by the TAP controller 20 , especially in response to TMS signals select a path between the TDI and TDO ports of TAP 10 .
- the instruction register 18 forms an instruction path while each of the boundary scan register 30 , bypass register 12 and the optional user defined data register 14 defines a data path. Each data path and instruction path can be regarded as an internal test path of TAP 10 .
- the TAP controller 20 is a state machine that can apply many stages, including various IEEE standard 1149.1 mandatory states. These mandatory states are controlled by the TMS signal.
- FIG. 2 illustrates the multiple states of the TAP controller 20 : Test logic reset 40 , run-test/idle 41 , select DR scan 42 , capture DR 43 , shift DR 44 , exit1 DR 45 , pause DR 46 , exit2 DR 47 , update DR 48 , select IR scan 52 , capture IR 53 , shift IR 54 , exit1 IR 55 , pause IR 56 , exit2 IR 57 and update IR 58 .
- the stages are illustrates as boxes that are linked to each other by arrows. The arrows are accompanied by digits (either 0 or 1) that illustrate the value of the TMS signal. These stages are well known in the art and require no further explanation.
- the TAP controller 20 sends control signals that allow to input information into selected data and instruction paths, to retrieve information from said paths and to serially propagate (shift) information along data and instruction paths.
- the instruction register 18 includes an instruction shift register as well as a shadow latch. Signals propagate serially through the instruction shift register and are provided in parallel to the shadow latch.
- FIG. 3 illustrates a controller 102 and its environment, according to an embodiment of the invention.
- the controller 102 as well as its environment are included within an integrated circuit, such as system on chip (system) 100 .
- system system on chip
- FIG. 4 illustrates system 100 according to an embodiment of the invention.
- System 100 includes a general-purpose processor such as an ARM processor 210 as well as a digital signal processor such as StarCore 140 processor 212 .
- Each processor is connected to a dedicated TAP, such as processor TAP 211 and DSP TAP 213 , that are serially connected to a DMA controller TAP 215 .
- the DMA controller TAP 215 can be selectively bypassed by a bypass TAP (not shown).
- the controller 102 can prevent access to each of said TAPs or processors (or any portion or circuitry of said TAPs and processors), but according to other embodiments of the invention each TAP has its own controller.
- controller 102 is connected to multiple internal circuitries (for convenience three internal circuitries 111 - 113 are illustrated) and can selectively prevent access to one or more of said internal circuitry.
- These internal circuitries can include registers, memory components, processors, TAPs and the like. Some internal circuitry may be connected directly to the terminals of the integrated circuits, but this is not necessarily so.
- At least some of the internal circuitries are registers that can be connected to form an internal test path, conveniently between a test data in TDI terminal and a test data output TDO terminal of the integrated circuit.
- the controller 102 determines in which security mode to operate, in various occasions, such as in response to a system reset (boot), upon a reception of a request to access an internal circuitry or upon a request to alter a state of one or more fuses.
- boot system reset
- the controller 102 learns about the selected security mode by receiving signals from a security mode determination unit 122 .
- the security mode determination unit 122 includes multiple fuses or other irrevocable circuitry components such as one time programmable components that cannot be accessed by hackers.
- the inventors used electrically programmed fuses and alternatively laser burnt fuses that once burnt (or electrically programmed) cannot be restored.
- fuses and fuse arrays are known in the art and require no further explanation.
- multiple cells such as latches
- each cell can be connected to a certain voltage potential via a fuse.
- the cell sequence is connected to form a shift register that can be read out in a serial or parallel manner.
- the inventors used a fuse array that includes two hundred and fifty six fuses. Only a small portion of the fuse array was allocated to determine the security mode.
- the state of the fuses is read during a reset or boot sequence of the integrated circuit and is stored (or latched) for later retrieval of said information.
- a portion of the fuse array is further illustrated in FIG. 5 .
- the fuse array is protected from Tap modification.
- the fuse array 300 (of FIG. 5 ) includes at least one bypass fuse, such as bypass fuse 310 , that can indicate whether to ignore the status of at least one other fuse.
- the fuses usually also include at least one bypass override fuse, such as bypass override fuse 312 , that can indicate whether to ignore the bypass fuse and to be responsive to the status of the previously ignored fuses.
- This configuration is conveniently used to allow a limited amount of tests without entering a key based security session during a field test.
- the bypass fuse is burnt prior to performing field return tests, and the bypass override fuse is burnt before the system 100 goes back to the field.
- the user In order to access the at least one bypass override fuse the user has to enter a certain security mode. For example if in order to enter this required security mode a user has to successfully pass a key based test then only after passing this test the user can burn the bypass override fuse.
- the fuse array includes at least one internal component fuse that can be burnt to prevent debugging a certain internal component.
- the inventors used a dedicated fuse, such as NEXUS interface enable fuse 320 , to selectively prevent debugging of a certain Nexus interface.
- Other dedicates fuses can, for example, prevent access to the boundary scan register,
- the debugging circuitry can be activated by software and especially by writing certain codes to a certain register.
- the security mode can be determined by an instruction, regardless of the status of the fuse array. It is noted that due to the risks imposed in this option the fuse array includes a software disable fuse, such as software enable fuse 314 , that once burnt disables this feature.
- SW_JTAG_LOCK can prevent altering the SW_JTAG EN bit.
- SW_JTAG_LOCK is sticky bit and is accessed before the trusted reset determination software transfer control to another program.
- the SW_JTAG_LOCK bit is a write only and can be cleared only when the system 100 is reset. This bit can also be set after the system 100 is reset or when system 100 operates in a non-secure or low security modes.
- controller 102 is connected to an identification unit 104 that stores an integrated circuit identification (ID) code.
- ID code can be assigned to one or more integrated circuits. Conveniently this ID code is used during a key based security scheme.
- Controller 102 is also connected to a reset determination unit 120 .
- the reset determination unit 120 stores a certain value that is compared to another value that is provided to the reset determination unit 120 only during reset. Thus, reset determination unit 120 determines when a reset occurs. In cases where an external debug device requests to switch from a certain security mode to a less secure security mode the controller 102 may require the user to reset the integrated circuit (or a portion of said integrated circuit).
- the reset determination unit 120 can prevent hackers from turning the system 100 on and off or otherwise tampering with the power supplied to system 100 such that erroneous signals are provided to one or more of the components of system 100 . This is especially designed to prevent erroneous signals to be provided form the security mode determination unit 122 to be interpreted as allowing an operation at a less secure security mode.
- the controller 102 is connected to an unsecured data path 124 and to an unsecured instruction path 126 , for receiving data and instructions.
- the instructions and data can be utilized during the appliance of various security modes.
- the unsecured instruction path may include an instruction register that can receive various instructions such as security output challenge, security enter response, and the like.
- the insertion of data and instructions via TAPs is known in the art and required no further explanation.
- An example of using a TAP for a key based security scheme is illustrated in U.S. patent application number 2003/0177373 of Moyer et al, which is incorporated herein by reference.
- FIG. 3 illustrates an internal key comparison unit 130 that is a part of the system 100 .
- the controller 102 can initiate a key comparison sequence or may ignore signals from the internal key comparison unit 130 , in response to the selected security mode. It is noted that different keys can be associated with different security modes. It is also noted that controller 102 can, additionally or alternatively, be connected to an external key comparison unit.
- system 100 can operate in different key based security modes. These different security modes may include using a fixed key, using a randomly selected key, using a key provided by a component that is external to the integrated circuit, using a key that is provided by an internal component of system 100 , and the like.
- system 100 typically provides an ID code to a key generator or key provider that in turn provides a key to the internal key comparison unit 130 .
- the internal key comparison unit 130 also receives a key from an external debug device and compares said keys.
- system 100 typically provides an ID code and a random number (the random number can be generated by an internal or external random number generator) to a device that requests access.
- This device encrypts the random number by the public key of system 100 and sends the encrypted number to system 100 .
- System 100 (or an external component) decrypts the encrypted random number using the private key of system 100 .
- the encrypted random number is compared to the random number and if they equal each other access is granted according to the selected security mode policy.
- unsecured data path 124 includes at least a one-bit long bypass register, and may further include additional registers such as an identification register.
- the unsecured instruction path 126 may include an instruction register that serially receives information via a TDI terminal of system 100 and may also include a decoder. The inventors used a five bit long instruction registers that can support up to thirty two different instructions. These instructions include 1149.1 standard instructions such as IDCODE, SAMPLE.PRELOAD, EXTEST, BYPASS, as well as security related instructions such as security output challenge and security enter response.
- the internal circuitry includes multiple data registers that are connected between the TDI and TDO terminals of system 100 . If controller 102 determines that access to a certain register should be denied than it may prevent said register to output its content to the TDO terminal.
- System 100 can operate in four security modes—no debug mode, high security debug mode, low security mode and non-secure mode.
- high security mode the access to various registers is prevented and only few registers can be accessed. These registers include, for example the boundary scan register, power mode register and the like.
- high security mode access to certain internal components is based upon succeeding in a key based security sequence.
- low security mode all JTAG features are enabled.
- non-secure mode even sensitive components such as an encryption module can be debugged.
- An internally decided fixed key based security sequence includes the following stages: (i) shifting a security output challenge instruction to the instruction register; (ii) passing through the capture-DR state of the controller 102 by performing shift-DR operations in order to provide an operation challenge code from the TDO terminal of system 100 , (typically said code is the ID code of system 100 and the selected register is an ID register); (iii) shifting a security enter response to the instruction register,. whereas the value of the response (certain key) is read from the TDI terminal of system 100 into a certain register that is accessed by or belongs to the internal key comparison unit 130 . Once an update DR state is entered the internal key comparison unit 130 compares it internal key to the received key and determines if the requesting debug device can access various internal circuitry.
- An internally decided randomly selected key based security scheme includes the following stages: (i) shifting a security output challenge instruction to the instruction register; (ii) passing through the capture-DR state of the controller 102 by performing shift-DR operations in order to provide an operation challenge code from the TDO terminal of system 100 , (this operation challenge code is randomly selected or generated by internal key comparison unit 130 or by another dedicated components that generates keys and can receive a response and determine if the response is valid); (iii) shift a security enter response to the instruction register, whereas the value of the response (certain key) is read from the TDI terminal of system 100 into a certain register that is accessed by or belongs to the internal key comparison unit 130 . Once an update DR state is entered the internal key comparison unit 130 (or the other dedicated components) determines if it the required response.
- FIG. 5 illustrates various fuses of the fuse array 300 , according to an embodiment of the invention.
- Fuse array 300 includes many fuses, and FIG. 5 only illustrates the following fuses: bypass fuse 310 , bypass override fuse 312 , software enable fuse 314 , security mode fuses 316 - 318 and NEXUS interface enable fuse 320 .
- Each fuse is connected in one end to a power supply Vdd 328 , and is connected at another end to a node 322 . That node 322 is connected to a grounded resistor 328 and to a cell 324 .
- Cells 324 are connected in a serial manner to each other, to allow serially reading the status of the different fuses.
- FIG. 6 illustrates a method 400 for testing an integrated circuit, according to an embodiment of the invention.
- testing refers to debugging, accessing an internal circuitry of the integrated circuit, or retrieving one or more signals representing a status or another property of the integrated circuit or of a portion of said integrated circuit.
- Method 400 starts by stage 410 of defining a security mode of a debug circuit out of multiple security modes.
- the security mode can be determined by setting certain fuses.
- the security mode can be set by software.
- Stage 410 is followed by a stage 420 of receiving a request to access an internal circuitry.
- this request can be initiated by providing appropriate signals to the integrated circuit terminals (such as providing signals such as CLK and TMS to a JTAG compliant TAP). Alternatively or additionally this can be also initiated by software.
- Stage 420 is followed by stage 430 of responding to the request in view of the defined security mode.
- Stage 430 may include the following stages—stage 440 of denying access to certain internal circuitry, stage 450 of initiating a key based security sequence, stage 460 of allowing JTAG functionality and stage 470 of allowing access even to secure components. These four stages correspond to the four previously mentioned security modes.
- stage 430 can include other stage, it can include additional stages and even include fewer stages sequences.
- stage 430 may include multiple key based sequence stages, whereas the selection between the various stage sequences is responsive to various parameters including the security mode, the internal circuitry to be accessed and the like.
- stage 410 of defining a security mode is response to the software instruction and to a status of a software enable fuse.
- method 400 includes determining an occurrence of a reset. Said reset determination can assist in determining what is the defined security mode.
- the request to access an internal circuitry is received via a test access port controller, such as but not limited to an IEEE standard 1149.1 compliant test access port.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Semiconductor Integrated Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
Description
- The present invention relates to an integrated circuit and to a method for secure testing of integrated circuits.
- The complexity of integrated circuits forced designers to use various testing procedures and architectures. One common architecture and protocol is defined at IEEE standard 1149.1 that is also known as JTAG. The IEEE standard 1149.1 defines a test access port (TAP) that may be used to access internal components of an integrated circuit.
- JTAG compliant TAPs as well as other debug ports allow unauthorized access to the internal components (such as registers, processors and memories) of integrated circuits.
- Various attempts were made for securing integrated circuits. U.S. patent application number 2003/0177373 of Moyer et al., titled “Integrated circuit security and method therefore”, which is incorporated herein by reference, describes an integrated circuit that provides a security key base integrated circuit protection scheme.
- U.S. Pat. No. 5,898,776 of Apland et al. titled “security antifuse that prevents readout of some but not other information from a programmed filed programmable gate array”, which is incorporated herein by reference, describes an antifuse that can be programmed to disable access to a JTAG boundary scan register, while allowing. access to a JTAG bypass register.
- An integrated circuit can be tested in various occasions and locations. For example, a prototype of the integrated circuit can be tested during a design or research and development stage, it can be field tested during various evaluation stages, within the manufacturer site, within an Original Equipment Manufacturer site, or even at potential customer sites, and the like.
- The security level required from an integrated circuit can vary according to the system or application that makes use of that integrated circuit. For example, smart cards can require a higher security level than other applications.
- There is a need to provide an efficient security scheme, and especially a security scheme that can be adjusted according to the various development and marketing stages of integrated circuits and a required security level.
- An integrated circuit and a method for testing an integrated circuit, as described in the accompanying claims.
- The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which:
-
FIG. 1 is a schematic diagram of a prior art TAP and a core; -
FIG. 2 is a flow chart illustrating various states of a prior art TAP controller; -
FIG. 3 illustrates a controller and its environment, according to an embodiment of the invention; -
FIG. 4 illustrates a system according to an embodiment of the invention; -
FIG. 5 illustrates various fuses of a fuse array, according to an embodiment of the invention; and -
FIG. 6 illustrates a method for testing an integrated circuit, according to an embodiment of the invention. - The following description relates to a certain system on chip and that can operate in four different security modes. It is noted that the invention can be applied within other systems or devices and that security scheme having three, five or more than five security modes can be implemented. It is noted that the integrated circuit can be partitioned to multiple regions, each operating under its own security mode.
-
FIG. 1 illustrates a prior art JTAG compliant test access port (TAP) 10 and acore 11 that is connected to theTAP 10.TAP 10 includes aboundary scan register 30, a one-bitlong bypass register 12, aninstruction register 18, aTAP controller 20, and an optional user defineddata register 14. - TAP 10 receives various signals including a clock signal TCK, a test data input signal TDI, a test mode select signal TMS and outputs a test data output signal TDO.
- Various control signals provided by the
TAP controller 20, especially in response to TMS signals select a path between the TDI and TDO ports ofTAP 10. - The instruction register 18 forms an instruction path while each of the
boundary scan register 30,bypass register 12 and the optional user defineddata register 14 defines a data path. Each data path and instruction path can be regarded as an internal test path ofTAP 10. - The
TAP controller 20 is a state machine that can apply many stages, including various IEEE standard 1149.1 mandatory states. These mandatory states are controlled by the TMS signal.FIG. 2 illustrates the multiple states of the TAP controller 20:Test logic reset 40, run-test/idle 41, selectDR scan 42, captureDR 43,shift DR 44,exit1 DR 45, pauseDR 46,exit2 DR 47,update DR 48, selectIR scan 52, captureIR 53,shift IR 54,exit1 IR 55, pauseIR 56,exit2 IR 57 and updateIR 58. The stages are illustrates as boxes that are linked to each other by arrows. The arrows are accompanied by digits (either 0 or 1) that illustrate the value of the TMS signal. These stages are well known in the art and require no further explanation. - Generally, the
TAP controller 20 sends control signals that allow to input information into selected data and instruction paths, to retrieve information from said paths and to serially propagate (shift) information along data and instruction paths. - Typically, the
instruction register 18 includes an instruction shift register as well as a shadow latch. Signals propagate serially through the instruction shift register and are provided in parallel to the shadow latch. -
FIG. 3 illustrates acontroller 102 and its environment, according to an embodiment of the invention. Conveniently, thecontroller 102 as well as its environment are included within an integrated circuit, such as system on chip (system) 100. -
FIG. 4 illustratessystem 100 according to an embodiment of the invention.System 100 includes a general-purpose processor such as an ARMprocessor 210 as well as a digital signal processor such as StarCore 140processor 212. Each processor is connected to a dedicated TAP, such as processor TAP 211 and DSP TAP 213, that are serially connected to a DMA controller TAP 215. Conveniently, theDMA controller TAP 215 can be selectively bypassed by a bypass TAP (not shown). - According to an embodiment of the invention the
controller 102 can prevent access to each of said TAPs or processors (or any portion or circuitry of said TAPs and processors), but according to other embodiments of the invention each TAP has its own controller. - Referring back to
FIG. 3 ,controller 102 is connected to multiple internal circuitries (for convenience three internal circuitries 111-113 are illustrated) and can selectively prevent access to one or more of said internal circuitry. These internal circuitries can include registers, memory components, processors, TAPs and the like. Some internal circuitry may be connected directly to the terminals of the integrated circuits, but this is not necessarily so. - According to an embodiment of the invention at least some of the internal circuitries are registers that can be connected to form an internal test path, conveniently between a test data in TDI terminal and a test data output TDO terminal of the integrated circuit.
- According to an aspect of the invention the
controller 102 determines in which security mode to operate, in various occasions, such as in response to a system reset (boot), upon a reception of a request to access an internal circuitry or upon a request to alter a state of one or more fuses. - Usually, different security modes are associated with different security levels, but this is not necessarily so. The
controller 102 learns about the selected security mode by receiving signals from a securitymode determination unit 122. The securitymode determination unit 122 includes multiple fuses or other irrevocable circuitry components such as one time programmable components that cannot be accessed by hackers. The inventors used electrically programmed fuses and alternatively laser burnt fuses that once burnt (or electrically programmed) cannot be restored. - One time programmable components such as fuses and fuse arrays are known in the art and require no further explanation. Usually multiple cells (such as latches) are serially connected to each other whereas each cell can be connected to a certain voltage potential via a fuse. By burning the fuse the voltage of the cell changes from a first level to another level. The cell sequence is connected to form a shift register that can be read out in a serial or parallel manner. The inventors used a fuse array that includes two hundred and fifty six fuses. Only a small portion of the fuse array was allocated to determine the security mode. According to an aspect of the invention the state of the fuses is read during a reset or boot sequence of the integrated circuit and is stored (or latched) for later retrieval of said information. A portion of the fuse array is further illustrated in
FIG. 5 . The fuse array is protected from Tap modification. - According to an embodiment of the invention the fuse array 300 (of
FIG. 5 ) includes at least one bypass fuse, such asbypass fuse 310, that can indicate whether to ignore the status of at least one other fuse. The fuses usually also include at least one bypass override fuse, such asbypass override fuse 312, that can indicate whether to ignore the bypass fuse and to be responsive to the status of the previously ignored fuses. This configuration is conveniently used to allow a limited amount of tests without entering a key based security session during a field test. Conveniently, the bypass fuse is burnt prior to performing field return tests, and the bypass override fuse is burnt before thesystem 100 goes back to the field. In order to access the at least one bypass override fuse the user has to enter a certain security mode. For example if in order to enter this required security mode a user has to successfully pass a key based test then only after passing this test the user can burn the bypass override fuse. - According to another embodiment of the invention the fuse array includes at least one internal component fuse that can be burnt to prevent debugging a certain internal component. The inventors used a dedicated fuse, such as NEXUS interface enable
fuse 320, to selectively prevent debugging of a certain Nexus interface. Other dedicates fuses can, for example, prevent access to the boundary scan register, - Yet according to another aspect of the invention the debugging circuitry can be activated by software and especially by writing certain codes to a certain register. Thus, the security mode can be determined by an instruction, regardless of the status of the fuse array. It is noted that due to the risks imposed in this option the fuse array includes a software disable fuse, such as software enable
fuse 314, that once burnt disables this feature. - For example, if an instruction sets a certain bit SW_JTAG_EN within a certain register (said register can belong to
controller 102 or to the security mode determination unit 122) then the status of the fuse array (except from the status of the software enable fuse 320) is ignored of. Conveniently, it is the responsibility of thereset determination unit 120 or of a reset determination software to negate or asserts that bit. - Conveniently, another bit SW_JTAG_LOCK can prevent altering the SW_JTAG EN bit. SW_JTAG_LOCK is sticky bit and is accessed before the trusted reset determination software transfer control to another program. The SW_JTAG_LOCK bit is a write only and can be cleared only when the
system 100 is reset. This bit can also be set after thesystem 100 is reset or whensystem 100 operates in a non-secure or low security modes. - Referring back to
FIG. 3 ,controller 102 is connected to an identification unit 104 that stores an integrated circuit identification (ID) code. Said ID code can be assigned to one or more integrated circuits. Conveniently this ID code is used during a key based security scheme. -
Controller 102 is also connected to areset determination unit 120. Thereset determination unit 120 stores a certain value that is compared to another value that is provided to thereset determination unit 120 only during reset. Thus, resetdetermination unit 120 determines when a reset occurs. In cases where an external debug device requests to switch from a certain security mode to a less secure security mode thecontroller 102 may require the user to reset the integrated circuit (or a portion of said integrated circuit). - The
reset determination unit 120 can prevent hackers from turning thesystem 100 on and off or otherwise tampering with the power supplied tosystem 100 such that erroneous signals are provided to one or more of the components ofsystem 100. This is especially designed to prevent erroneous signals to be provided form the securitymode determination unit 122 to be interpreted as allowing an operation at a less secure security mode. - Conveniently, the
controller 102 is connected to anunsecured data path 124 and to anunsecured instruction path 126, for receiving data and instructions. The instructions and data can be utilized during the appliance of various security modes. For example, assuming that these paths are a part of a IEEE standard 1149.1 TAP, then the unsecured instruction path may include an instruction register that can receive various instructions such as security output challenge, security enter response, and the like. The insertion of data and instructions via TAPs is known in the art and required no further explanation. An example of using a TAP for a key based security scheme is illustrated in U.S. patent application number 2003/0177373 of Moyer et al, which is incorporated herein by reference. -
FIG. 3 illustrates an internalkey comparison unit 130 that is a part of thesystem 100. Thecontroller 102 can initiate a key comparison sequence or may ignore signals from the internalkey comparison unit 130, in response to the selected security mode. It is noted that different keys can be associated with different security modes. It is also noted thatcontroller 102 can, additionally or alternatively, be connected to an external key comparison unit. - According to an embodiment of the
invention system 100 can operate in different key based security modes. These different security modes may include using a fixed key, using a randomly selected key, using a key provided by a component that is external to the integrated circuit, using a key that is provided by an internal component ofsystem 100, and the like. - Typically, during a fixed key based
security mode system 100 provides an ID code to a key generator or key provider that in turn provides a key to the internalkey comparison unit 130. The internalkey comparison unit 130 also receives a key from an external debug device and compares said keys. - Typically in a randomly selected
key scheme system 100 provides an ID code and a random number (the random number can be generated by an internal or external random number generator) to a device that requests access. This device encrypts the random number by the public key ofsystem 100 and sends the encrypted number tosystem 100. System 100 (or an external component) decrypts the encrypted random number using the private key ofsystem 100. The encrypted random number is compared to the random number and if they equal each other access is granted according to the selected security mode policy. - Conveniently,
unsecured data path 124 includes at least a one-bit long bypass register, and may further include additional registers such as an identification register. Theunsecured instruction path 126 may include an instruction register that serially receives information via a TDI terminal ofsystem 100 and may also include a decoder. The inventors used a five bit long instruction registers that can support up to thirty two different instructions. These instructions include 1149.1 standard instructions such as IDCODE, SAMPLE.PRELOAD, EXTEST, BYPASS, as well as security related instructions such as security output challenge and security enter response. - According to an embodiment of the invention the internal circuitry includes multiple data registers that are connected between the TDI and TDO terminals of
system 100. Ifcontroller 102 determines that access to a certain register should be denied than it may prevent said register to output its content to the TDO terminal. -
System 100 can operate in four security modes—no debug mode, high security debug mode, low security mode and non-secure mode. In the high security mode the access to various registers is prevented and only few registers can be accessed. These registers include, for example the boundary scan register, power mode register and the like. In the high security mode access to certain internal components is based upon succeeding in a key based security sequence. In the low security mode all JTAG features are enabled. In the non-secure mode even sensitive components such as an encryption module can be debugged. - An internally decided fixed key based security sequence includes the following stages: (i) shifting a security output challenge instruction to the instruction register; (ii) passing through the capture-DR state of the
controller 102 by performing shift-DR operations in order to provide an operation challenge code from the TDO terminal ofsystem 100, (typically said code is the ID code ofsystem 100 and the selected register is an ID register); (iii) shifting a security enter response to the instruction register,. whereas the value of the response (certain key) is read from the TDI terminal ofsystem 100 into a certain register that is accessed by or belongs to the internalkey comparison unit 130. Once an update DR state is entered the internalkey comparison unit 130 compares it internal key to the received key and determines if the requesting debug device can access various internal circuitry. - An internally decided randomly selected key based security scheme includes the following stages: (i) shifting a security output challenge instruction to the instruction register; (ii) passing through the capture-DR state of the
controller 102 by performing shift-DR operations in order to provide an operation challenge code from the TDO terminal ofsystem 100, (this operation challenge code is randomly selected or generated by internalkey comparison unit 130 or by another dedicated components that generates keys and can receive a response and determine if the response is valid); (iii) shift a security enter response to the instruction register, whereas the value of the response (certain key) is read from the TDI terminal ofsystem 100 into a certain register that is accessed by or belongs to the internalkey comparison unit 130. Once an update DR state is entered the internal key comparison unit 130 (or the other dedicated components) determines if it the required response. -
FIG. 5 illustrates various fuses of thefuse array 300, according to an embodiment of the invention. -
Fuse array 300 includes many fuses, andFIG. 5 only illustrates the following fuses:bypass fuse 310,bypass override fuse 312, software enablefuse 314, security mode fuses 316-318 and NEXUS interface enablefuse 320. Each fuse is connected in one end to apower supply Vdd 328, and is connected at another end to anode 322. Thatnode 322 is connected to a groundedresistor 328 and to acell 324.Cells 324 are connected in a serial manner to each other, to allow serially reading the status of the different fuses. -
FIG. 6 illustrates amethod 400 for testing an integrated circuit, according to an embodiment of the invention. - The term “testing” refers to debugging, accessing an internal circuitry of the integrated circuit, or retrieving one or more signals representing a status or another property of the integrated circuit or of a portion of said integrated circuit.
-
Method 400 starts by stage 410 of defining a security mode of a debug circuit out of multiple security modes. Conveniently, the security mode can be determined by setting certain fuses. Alternatively or additionally, the security mode can be set by software. - Stage 410 is followed by a
stage 420 of receiving a request to access an internal circuitry. According to an aspect of the invention this request can be initiated by providing appropriate signals to the integrated circuit terminals (such as providing signals such as CLK and TMS to a JTAG compliant TAP). Alternatively or additionally this can be also initiated by software. -
Stage 420 is followed bystage 430 of responding to the request in view of the defined security mode. -
Stage 430 may include the following stages—stage 440 of denying access to certain internal circuitry,stage 450 of initiating a key based security sequence,stage 460 of allowing JTAG functionality and stage 470 of allowing access even to secure components. These four stages correspond to the four previously mentioned security modes. - According to various embodiments of the
invention stage 430 can include other stage, it can include additional stages and even include fewer stages sequences. Forexample stage 430 may include multiple key based sequence stages, whereas the selection between the various stage sequences is responsive to various parameters including the security mode, the internal circuitry to be accessed and the like. - Conveniently, stage 410 of defining a security mode is response to the software instruction and to a status of a software enable fuse. Conveniently,
method 400 includes determining an occurrence of a reset. Said reset determination can assist in determining what is the defined security mode. According to an embodiment of the invention the request to access an internal circuitry is received via a test access port controller, such as but not limited to an IEEE standard 1149.1 compliant test access port. - Variations, modifications, and other implementations of what is described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the invention as claimed. Accordingly, the invention is to be defined not by the preceding illustrative description but instead by the spirit and scope of the following claims.
Claims (14)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2004/014804 WO2006053586A1 (en) | 2004-11-22 | 2004-11-22 | Integrated circuit and a method for secure testing |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090296933A1 true US20090296933A1 (en) | 2009-12-03 |
US8379861B2 US8379861B2 (en) | 2013-02-19 |
Family
ID=34960219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/719,883 Active 2026-02-28 US8379861B2 (en) | 2004-11-22 | 2004-11-22 | Integrated circuit and a method for secure testing |
Country Status (6)
Country | Link |
---|---|
US (1) | US8379861B2 (en) |
EP (1) | EP1817595B1 (en) |
AT (1) | ATE424566T1 (en) |
DE (1) | DE602004019827D1 (en) |
TW (1) | TW200623780A (en) |
WO (1) | WO2006053586A1 (en) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100119062A1 (en) * | 2006-08-03 | 2010-05-13 | Wivenhoe Technology Limited | Device to generate a machine specific identification key |
US20110199809A1 (en) * | 2008-04-29 | 2011-08-18 | Samsung Electronics Co., Ltd. | Security circuit having an electrical fuse rom |
US20110316583A1 (en) * | 2010-06-25 | 2011-12-29 | Via Technologies, Inc. | Apparatus and method for override access to a secured programmable fuse array |
US8341472B2 (en) | 2010-06-25 | 2012-12-25 | Via Technologies, Inc. | Apparatus and method for tamper protection of a microprocessor fuse array |
US8429471B2 (en) | 2010-06-25 | 2013-04-23 | Via Technologies, Inc. | Microprocessor apparatus and method for securing a programmable fuse array |
US20140298122A1 (en) * | 2013-03-28 | 2014-10-02 | Stmicroelectronics, Inc. | Dual master jtag method, circuit, and system |
US20140344919A1 (en) * | 2013-05-20 | 2014-11-20 | Advanced Micro Devices, Inc. | Debug functionality in a secure computing environment |
US20140344960A1 (en) * | 2013-05-17 | 2014-11-20 | Lsi Corporation | Selective control of on-chip debug circuitry of embedded processors |
US20150067771A1 (en) * | 2013-08-29 | 2015-03-05 | Microsoft Corporation | Access Enablement Security Circuit |
US9390278B2 (en) | 2012-09-14 | 2016-07-12 | Freescale Semiconductor, Inc. | Systems and methods for code protection in non-volatile memory systems |
US9716708B2 (en) | 2013-09-13 | 2017-07-25 | Microsoft Technology Licensing, Llc | Security certificates for system-on-chip security |
WO2017151294A1 (en) * | 2016-03-04 | 2017-09-08 | Altera Corporation | Techniques for protecting security features of integrated circuits |
US20180367317A1 (en) * | 2015-12-16 | 2018-12-20 | Nagravision S.A. | Hardware integrity check |
US20190042382A1 (en) * | 2017-12-28 | 2019-02-07 | Intel Corporation | Platform debug and testing with secured hardware |
US20190189230A1 (en) * | 2010-08-20 | 2019-06-20 | Attopsemi Technology Co., Ltd | Fully testible otp memory |
US10770160B2 (en) | 2017-11-30 | 2020-09-08 | Attopsemi Technology Co., Ltd | Programmable resistive memory formed by bit slices from a standard cell library |
US10916317B2 (en) | 2010-08-20 | 2021-02-09 | Attopsemi Technology Co., Ltd | Programmable resistance memory on thin film transistor technology |
US10984108B2 (en) | 2018-10-05 | 2021-04-20 | International Business Machines Corporation | Trusted computing attestation of system validation state |
US11011577B2 (en) | 2011-02-14 | 2021-05-18 | Attopsemi Technology Co., Ltd | One-time programmable memory using gate-all-around structures |
US11062786B2 (en) | 2017-04-14 | 2021-07-13 | Attopsemi Technology Co., Ltd | One-time programmable memories with low power read operation and novel sensing scheme |
US11615859B2 (en) | 2017-04-14 | 2023-03-28 | Attopsemi Technology Co., Ltd | One-time programmable memories with ultra-low power read operation and novel sensing scheme |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205376A1 (en) * | 2007-07-05 | 2010-08-12 | Nxp B.V. | Method for the improvement of microprocessor security |
US8332641B2 (en) * | 2009-01-30 | 2012-12-11 | Freescale Semiconductor, Inc. | Authenticated debug access for field returns |
KR102066661B1 (en) * | 2013-09-02 | 2020-01-15 | 삼성전자 주식회사 | Integrated circuit for reconstructing values of flip-flops connected scan-chain using jtag interface, method thereof, and devices having same |
US9721100B2 (en) * | 2014-06-27 | 2017-08-01 | Intel Corporation | Technologies for protected hardware function monitoring and forensics |
KR102251812B1 (en) | 2015-01-26 | 2021-05-13 | 삼성전자주식회사 | Semiconductor Apparatus and Operating Method of Semiconductor Apparatus |
CN110716125A (en) * | 2019-10-08 | 2020-01-21 | 东信和平科技股份有限公司 | Service life testing method and system of smart card supporting CRC (Cyclic redundancy check) |
US11636907B2 (en) | 2020-06-30 | 2023-04-25 | Nuvoton Technology Corporation | Integrity verification of lifecycle-state memory using multi-threshold supply voltage detection |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5357572A (en) * | 1992-09-22 | 1994-10-18 | Hughes Aircraft Company | Apparatus and method for sensitive circuit protection with set-scan testing |
US5530749A (en) * | 1994-08-15 | 1996-06-25 | International Business Machines Corporation | Methods and apparatus for secure hardware configuration |
US5704039A (en) * | 1994-07-25 | 1997-12-30 | Motorola, Inc. | Mask programmable security system for a data processor and method therefor |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5898776A (en) * | 1996-11-21 | 1999-04-27 | Quicklogic Corporation | Security antifuse that prevents readout of some but not other information from a programmed field programmable gate array |
US6055198A (en) * | 1996-07-22 | 2000-04-25 | Sgs-Thomson Microelectronics S.A. | Device to check the end of a test |
US20030177373A1 (en) * | 2002-03-18 | 2003-09-18 | Moyer William C. | Integrated circuit security and method therefor |
US20040028234A1 (en) * | 2000-12-26 | 2004-02-12 | Stmicroelectronics Sa | Logic circuit with variable internal polarities |
US20050028119A1 (en) * | 2002-10-01 | 2005-02-03 | Frenkil Gerald L. | Vectorless instantaneous current estimation |
US7165180B1 (en) * | 2001-11-27 | 2007-01-16 | Vixs Systems, Inc. | Monolithic semiconductor device for preventing external access to an encryption key |
US7185249B2 (en) * | 2002-04-30 | 2007-02-27 | Freescale Semiconductor, Inc. | Method and apparatus for secure scan testing |
US7308635B2 (en) * | 2004-01-29 | 2007-12-11 | Stmicroelectronics S.A. | Integrated circuit comprising a test mode secured by initialization of the test mode |
US20100199077A1 (en) * | 2009-01-30 | 2010-08-05 | Freescale Semiconductor, Inc. | Authenticated debug access for field returns |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69528449T2 (en) | 1995-05-18 | 2003-07-03 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Integrated semiconductor circuit arrangement for protecting multiple aids in one electronic unit |
-
2004
- 2004-11-22 DE DE602004019827T patent/DE602004019827D1/en active Active
- 2004-11-22 AT AT04804390T patent/ATE424566T1/en not_active IP Right Cessation
- 2004-11-22 WO PCT/EP2004/014804 patent/WO2006053586A1/en active Application Filing
- 2004-11-22 US US11/719,883 patent/US8379861B2/en active Active
- 2004-11-22 EP EP04804390A patent/EP1817595B1/en not_active Not-in-force
-
2005
- 2005-11-15 TW TW094140131A patent/TW200623780A/en unknown
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5357572A (en) * | 1992-09-22 | 1994-10-18 | Hughes Aircraft Company | Apparatus and method for sensitive circuit protection with set-scan testing |
US5704039A (en) * | 1994-07-25 | 1997-12-30 | Motorola, Inc. | Mask programmable security system for a data processor and method therefor |
US5530749A (en) * | 1994-08-15 | 1996-06-25 | International Business Machines Corporation | Methods and apparatus for secure hardware configuration |
US6055198A (en) * | 1996-07-22 | 2000-04-25 | Sgs-Thomson Microelectronics S.A. | Device to check the end of a test |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5898776A (en) * | 1996-11-21 | 1999-04-27 | Quicklogic Corporation | Security antifuse that prevents readout of some but not other information from a programmed field programmable gate array |
US20040028234A1 (en) * | 2000-12-26 | 2004-02-12 | Stmicroelectronics Sa | Logic circuit with variable internal polarities |
US7165180B1 (en) * | 2001-11-27 | 2007-01-16 | Vixs Systems, Inc. | Monolithic semiconductor device for preventing external access to an encryption key |
US20030177373A1 (en) * | 2002-03-18 | 2003-09-18 | Moyer William C. | Integrated circuit security and method therefor |
US7185249B2 (en) * | 2002-04-30 | 2007-02-27 | Freescale Semiconductor, Inc. | Method and apparatus for secure scan testing |
US7725788B2 (en) * | 2002-04-30 | 2010-05-25 | Freescale Semiconductor, Inc. | Method and apparatus for secure scan testing |
US20050028119A1 (en) * | 2002-10-01 | 2005-02-03 | Frenkil Gerald L. | Vectorless instantaneous current estimation |
US7308635B2 (en) * | 2004-01-29 | 2007-12-11 | Stmicroelectronics S.A. | Integrated circuit comprising a test mode secured by initialization of the test mode |
US20100199077A1 (en) * | 2009-01-30 | 2010-08-05 | Freescale Semiconductor, Inc. | Authenticated debug access for field returns |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8401184B2 (en) * | 2006-08-03 | 2013-03-19 | University Of Essex Enterprises Limited | Device to generate a machine specific identification key |
US20100119062A1 (en) * | 2006-08-03 | 2010-05-13 | Wivenhoe Technology Limited | Device to generate a machine specific identification key |
US8258809B2 (en) * | 2008-04-29 | 2012-09-04 | Samsung Electronics Co., Ltd. | Security circuit having an electrical fuse ROM |
US20110199809A1 (en) * | 2008-04-29 | 2011-08-18 | Samsung Electronics Co., Ltd. | Security circuit having an electrical fuse rom |
US8242800B2 (en) * | 2010-06-25 | 2012-08-14 | Via Technologies, Inc. | Apparatus and method for override access to a secured programmable fuse array |
US8341472B2 (en) | 2010-06-25 | 2012-12-25 | Via Technologies, Inc. | Apparatus and method for tamper protection of a microprocessor fuse array |
US20110316583A1 (en) * | 2010-06-25 | 2011-12-29 | Via Technologies, Inc. | Apparatus and method for override access to a secured programmable fuse array |
US8429471B2 (en) | 2010-06-25 | 2013-04-23 | Via Technologies, Inc. | Microprocessor apparatus and method for securing a programmable fuse array |
US10916317B2 (en) | 2010-08-20 | 2021-02-09 | Attopsemi Technology Co., Ltd | Programmable resistance memory on thin film transistor technology |
US20190189230A1 (en) * | 2010-08-20 | 2019-06-20 | Attopsemi Technology Co., Ltd | Fully testible otp memory |
US10923204B2 (en) * | 2010-08-20 | 2021-02-16 | Attopsemi Technology Co., Ltd | Fully testible OTP memory |
US11011577B2 (en) | 2011-02-14 | 2021-05-18 | Attopsemi Technology Co., Ltd | One-time programmable memory using gate-all-around structures |
US9390278B2 (en) | 2012-09-14 | 2016-07-12 | Freescale Semiconductor, Inc. | Systems and methods for code protection in non-volatile memory systems |
US20140298122A1 (en) * | 2013-03-28 | 2014-10-02 | Stmicroelectronics, Inc. | Dual master jtag method, circuit, and system |
US9323633B2 (en) * | 2013-03-28 | 2016-04-26 | Stmicroelectronics, Inc. | Dual master JTAG method, circuit, and system |
US20140344960A1 (en) * | 2013-05-17 | 2014-11-20 | Lsi Corporation | Selective control of on-chip debug circuitry of embedded processors |
US9224012B2 (en) * | 2013-05-20 | 2015-12-29 | Advanced Micro Devices, Inc. | Debug functionality in a secure computing environment |
US20140344919A1 (en) * | 2013-05-20 | 2014-11-20 | Advanced Micro Devices, Inc. | Debug functionality in a secure computing environment |
US9436844B2 (en) * | 2013-08-29 | 2016-09-06 | Microsoft Technology Licensing, Llc | Access enablement security circuit |
US20150067771A1 (en) * | 2013-08-29 | 2015-03-05 | Microsoft Corporation | Access Enablement Security Circuit |
US9716708B2 (en) | 2013-09-13 | 2017-07-25 | Microsoft Technology Licensing, Llc | Security certificates for system-on-chip security |
US20180367317A1 (en) * | 2015-12-16 | 2018-12-20 | Nagravision S.A. | Hardware integrity check |
US10657291B2 (en) | 2016-03-04 | 2020-05-19 | Altera Corporation | Techniques for protecting security features of integrated circuits |
US10095889B2 (en) | 2016-03-04 | 2018-10-09 | Altera Corporation | Techniques for protecting security features of integrated circuits |
CN108604282A (en) * | 2016-03-04 | 2018-09-28 | 阿尔特拉公司 | Technology for the security feature for protecting integrated circuit |
WO2017151294A1 (en) * | 2016-03-04 | 2017-09-08 | Altera Corporation | Techniques for protecting security features of integrated circuits |
US11062786B2 (en) | 2017-04-14 | 2021-07-13 | Attopsemi Technology Co., Ltd | One-time programmable memories with low power read operation and novel sensing scheme |
US11615859B2 (en) | 2017-04-14 | 2023-03-28 | Attopsemi Technology Co., Ltd | One-time programmable memories with ultra-low power read operation and novel sensing scheme |
US10770160B2 (en) | 2017-11-30 | 2020-09-08 | Attopsemi Technology Co., Ltd | Programmable resistive memory formed by bit slices from a standard cell library |
US20190042382A1 (en) * | 2017-12-28 | 2019-02-07 | Intel Corporation | Platform debug and testing with secured hardware |
US10613955B2 (en) * | 2017-12-28 | 2020-04-07 | Intel Corporation | Platform debug and testing with secured hardware |
US10984108B2 (en) | 2018-10-05 | 2021-04-20 | International Business Machines Corporation | Trusted computing attestation of system validation state |
Also Published As
Publication number | Publication date |
---|---|
EP1817595A1 (en) | 2007-08-15 |
US8379861B2 (en) | 2013-02-19 |
WO2006053586A1 (en) | 2006-05-26 |
TW200623780A (en) | 2006-07-01 |
ATE424566T1 (en) | 2009-03-15 |
EP1817595B1 (en) | 2009-03-04 |
DE602004019827D1 (en) | 2009-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8379861B2 (en) | Integrated circuit and a method for secure testing | |
US7185249B2 (en) | Method and apparatus for secure scan testing | |
US8255700B2 (en) | Lockstep mechanism to ensure security in hardware at power-up | |
US7274283B2 (en) | Method and apparatus for resisting hardware hacking through internal register interface | |
US8495758B2 (en) | Method and apparatus for providing scan chain security | |
US8881301B2 (en) | Protection of proprietary embedded instruments | |
US11693052B2 (en) | Using embedded time-varying code generator to provide secure access to embedded content in an on-chip access architecture | |
US7363564B2 (en) | Method and apparatus for securing communications ports in an electronic device | |
US11023623B2 (en) | Method for triggering and detecting a malicious circuit in an integrated circuit device | |
Hély et al. | Securing scan control in crypto chips | |
WO2021204611A2 (en) | Method and apparatus for performing a secure test mode of a soc | |
US11100219B2 (en) | Method and device for detecting a malicious circuit on an integrated circuit | |
EP1443338A1 (en) | Secure test arrangement | |
US10955473B1 (en) | System and method of scan reset upon entering scan mode | |
US7962766B2 (en) | Method and system for encryption-based design obfuscation for an integrated circuit | |
WO2010016004A1 (en) | Circuit with testable circuit coupled to privileged information supply circuit | |
US9891654B2 (en) | Secure clock switch circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CITIBANK, N.A., AS COLLATERAL AGENT,NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:020045/0448 Effective date: 20070718 Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:020045/0448 Effective date: 20070718 |
|
AS | Assignment |
Owner name: FREESCALE SEMICONDUCTOR, INC.,TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AKSELROD, DIMITRI;AMON, YOSSI;ASHKENAZI, ASAF;SIGNING DATES FROM 20070513 TO 20070619;REEL/FRAME:024014/0760 Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AKSELROD, DIMITRI;AMON, YOSSI;ASHKENAZI, ASAF;SIGNING DATES FROM 20070513 TO 20070619;REEL/FRAME:024014/0760 |
|
AS | Assignment |
Owner name: CITIBANK, N.A.,NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024085/0001 Effective date: 20100219 Owner name: CITIBANK, N.A., NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024085/0001 Effective date: 20100219 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS COLLATERAL AGENT,NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024397/0001 Effective date: 20100413 Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024397/0001 Effective date: 20100413 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:030633/0424 Effective date: 20130521 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:031591/0266 Effective date: 20131101 |
|
AS | Assignment |
Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037356/0553 Effective date: 20151207 Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037354/0655 Effective date: 20151207 Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037356/0143 Effective date: 20151207 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037486/0517 Effective date: 20151207 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037518/0292 Effective date: 20151207 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:038017/0058 Effective date: 20160218 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SUPPLEMENT TO THE SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:039138/0001 Effective date: 20160525 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:039361/0212 Effective date: 20160218 |
|
AS | Assignment |
Owner name: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040925/0001 Effective date: 20160912 Owner name: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC., NE Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040925/0001 Effective date: 20160912 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040928/0001 Effective date: 20160622 |
|
AS | Assignment |
Owner name: NXP USA, INC., TEXAS Free format text: CHANGE OF NAME;ASSIGNOR:FREESCALE SEMICONDUCTOR INC.;REEL/FRAME:040652/0180 Effective date: 20161107 |
|
AS | Assignment |
Owner name: NXP USA, INC., TEXAS Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE LISTED CHANGE OF NAME SHOULD BE MERGER AND CHANGE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0180. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME;ASSIGNOR:FREESCALE SEMICONDUCTOR INC.;REEL/FRAME:041354/0148 Effective date: 20161107 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:041703/0536 Effective date: 20151207 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:042762/0145 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:042985/0001 Effective date: 20160218 |
|
AS | Assignment |
Owner name: SHENZHEN XINGUODU TECHNOLOGY CO., LTD., CHINA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITYINTEREST IN PATENTS.;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:048734/0001 Effective date: 20190217 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:050744/0097 Effective date: 20190903 Owner name: NXP B.V., NETHERLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:050745/0001 Effective date: 20190903 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0001 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051145/0184 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0387 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051030/0001 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0387 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051029/0001 Effective date: 20160218 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:051145/0184 Effective date: 20160218 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITYINTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:053547/0421 Effective date: 20151207 |
|
AS | Assignment |
Owner name: NXP B.V., NETHERLANDS Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVEAPPLICATION 11759915 AND REPLACE IT WITH APPLICATION11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITYINTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:052915/0001 Effective date: 20160622 |
|
AS | Assignment |
Owner name: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC., NETHERLANDS Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVEAPPLICATION 11759915 AND REPLACE IT WITH APPLICATION11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITYINTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:052917/0001 Effective date: 20160912 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |