WO2017138774A1 - 보안 반도체 칩 및 그 동작 방법 - Google Patents

보안 반도체 칩 및 그 동작 방법 Download PDF

Info

Publication number
WO2017138774A1
WO2017138774A1 PCT/KR2017/001492 KR2017001492W WO2017138774A1 WO 2017138774 A1 WO2017138774 A1 WO 2017138774A1 KR 2017001492 W KR2017001492 W KR 2017001492W WO 2017138774 A1 WO2017138774 A1 WO 2017138774A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
ring oscillator
shield
semiconductor chip
output
Prior art date
Application number
PCT/KR2017/001492
Other languages
English (en)
French (fr)
Inventor
고형호
최병덕
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to US16/076,510 priority Critical patent/US10972460B2/en
Priority to CN201780011631.5A priority patent/CN108701193B/zh
Priority claimed from KR1020170018693A external-priority patent/KR102666955B1/ko
Publication of WO2017138774A1 publication Critical patent/WO2017138774A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Definitions

  • It relates to a security-enhanced semiconductor chip and its operation method, and more particularly to the detection of a physical attack on the semiconductor chip.
  • Korean Patent Publication No. KR 10-1299602 discloses a comparison between a first result of a random reference signal transmitted through an active shield and a second result of direct transmission logic. It was proposed to detect if reverse engineering occurred.
  • a highly time sensitive XOR gate for probe attempt detectors proposed a technique for detecting a probing capacitance delay that occurs when probing an internal data bus after depackaging of a semiconductor chip.
  • An object of the present invention is to provide a security semiconductor chip capable of detecting a physical attack and a method of operating the same.
  • the semiconductor chip comprises a metal line and the shield disposed on the upper portion of the processor, by comparing the reference signal with the output signal outputted through the shield to determine whether there is a wiring change in the shield; And a controller configured to detect and configure a routing topology of the metal line in a first state and change the routing topology from the first state to a second state.
  • the semiconductor chip may further include a random number generator configured to provide a configuration signal for allowing the controller to configure the routing topology. More specifically, the controller may include at least one chopper array capable of changing the routing topology according to the configuration signal provided by the random number generator.
  • the random number generator periodically changes the configuration signal randomly with time so that the controller can continuously change the routing topology.
  • the reference signal may represent a signal generated by the random number generator separately from the configuration signal.
  • the reference signal includes a first input signal and a second input signal that is generated independently of each other
  • the detector is the first input signal and the second input signal respectively pass through the shield
  • the first output signal and the second output signal outputted by comparing the first input signal and the second output signal with the first input signal and the second input signal may detect whether there is a wiring change in the shield.
  • the sensing unit is wired in the shield by comparing the first input signal with one of the first output signal and the second output signal output from different ports according to the routing topology of the metal line. It can detect whether there is a change.
  • the controller may match each of the at least one chopper array to a predetermined bit in the configuration signal, and change the routing topology by using a corresponding chopper array according to a change in the matched bit value.
  • a semiconductor chip includes a processor for processing data, a metal line, a shield disposed on an upper portion of the processor, and an output of a first ring oscillator through a first region of the shield to input the first ring oscillator. And a ring oscillator block for returning the output of the second ring oscillator synchronized with the first ring oscillator to the second ring oscillator input through a second area of the shield, and the first ring oscillator and the second ring oscillator. It may include a detector for detecting whether there is electrical probing of the shield by comparing the oscillation phase of the ring oscillator.
  • the semiconductor chip may include a multiplexed transmission path of the first ring oscillator in the first region, and a multiplexed transmission path of the second ring oscillator in the second region.
  • the detector may transmit a reset signal to the ring oscillator block to periodically synchronize the first ring oscillator and the second ring oscillator.
  • the first ring oscillator and the second ring oscillator may generate a clock signal having the same phase according to the reset signal.
  • a semiconductor chip includes a processor for processing data, a shield including a metal line, and a shield disposed on an upper portion of the processor, whether there is a wiring change in the shield, and whether there is electrical probing regarding the shield.
  • a signal corresponding to the selected mode is selected by selecting one of a sensing unit sensing at least one, a first mode sensing wiring changes on the semiconductor chip, and a second mode sensing microprobing on the semiconductor chip, and sending a signal corresponding to the selected mode to the sensing unit. It may include a controller to deliver.
  • the controller when the first mode is selected, configures the routing topology of the metal line to the first state, and configures the routing topology from the first state to the second state.
  • the detector may detect whether there is a wiring change in the shield by comparing the transmitted reference signal with the output signal outputted through the shield.
  • the semiconductor chip passes the output of the first ring oscillator through the first region of the shield to the first ring oscillator input, and the output of the second ring oscillator synchronized with the first oscillator.
  • a ring oscillator block passing through the second area of the shield to the second ring oscillator input, wherein when the second mode is selected, the controller comprises a first ring oscillator and a second ring oscillator, respectively.
  • the output signal may be controlled to pass through the corresponding area in the shield to be delivered to the sensing unit.
  • FIG. 1 is an exemplary diagram illustrating a circuit for detecting a change in wiring of a semiconductor chip according to an exemplary embodiment.
  • FIG. 2A is a block diagram of the semiconductor chip described with reference to FIG. 1.
  • FIG. 2B is an exemplary diagram illustrating a process of detecting a wiring change of a semiconductor chip by comparing a reference signal and an output signal of a shield.
  • FIG. 3 is an exemplary diagram illustrating a circuit for detecting a micro probing attack on a semiconductor chip according to another exemplary embodiment.
  • FIG. 4A is a block diagram of the semiconductor chip described with reference to FIG. 3.
  • 4B is an exemplary diagram illustrating a process of detecting a micro probing attack on a semiconductor chip by comparing feedback signals of at least two ring oscillators.
  • FIG. 5 is an exemplary diagram illustrating an integrated circuit protecting a semiconductor chip according to another exemplary embodiment.
  • FIG. 6 is a flowchart illustrating a method of operating a semiconductor chip supporting multiple modes.
  • first or second may be used to describe various components, but such terms should be interpreted only for the purpose of distinguishing one component from another component.
  • first component may be referred to as a second component
  • second component may also be referred to as a first component.
  • an attacker may attack the integrated circuit by avoiding a shield in the integrated circuit by using a focused ion beam (FIB) method, a micro probing method, and a forcing method.
  • FIB refers to a method of arbitrarily shorting or connecting metal lines using an ion beam.
  • the micro probing method represents a method of reading a state value for a specific metal line. Forcing refers to an attack in which a specific metal line is cut by the FIB method, and a data manipulation is provided by providing a specific manipulation signal to the cut metal line.
  • a semiconductor chip includes an active shield 110, a random number generator 120, a detection logic 130, and a first chopper array. 140 and the second chopper array 150 may be included. 160 may represent an area of the active shield 110 that can arbitrarily reconfigure the path.
  • the active shield 110 may include a metal line for protecting a semiconductor chip attack by reverse engineering from an external attacker.
  • the random number generator 120 may transmit a randomly generated bit stream to a predetermined circuit.
  • the random number generator 120 may transfer the randomly generated first input signal TX1 and the second input signal TX2 to the detector 130 and the first chopper array 140 as reference signals. Can be.
  • the random number generator 120 may transmit a configuration signal corresponding to a predetermined number of bits to the respective chopper arrays 140 and 150.
  • the detector 130 compares the reference signals TX1 and TX2 directly transmitted from the random number generator 120 with the output signals RX1 and RX2 output through the metal lines in the active shield 110. It is possible to detect whether there is a wiring change in 110.
  • the sensing unit 130 may determine that there is no wiring change with respect to the semiconductor chip.
  • the sensing unit 130 may have a wiring change related to the semiconductor chip when at least one of the two reference signals TX1 and TX2 is different from the corresponding output signals RX1 and RX2. Judgment can be made to output a detect out.
  • the process of detecting the wiring change of the semiconductor chip by using the block diagram of the semiconductor chip will be described in detail.
  • FIG. 2A is a block diagram of the semiconductor chip described with reference to FIG. 1.
  • the semiconductor chip 200 may include a processor 210, a shield 220, a detector 230, and a controller 240.
  • the processor 210 may process data regarding the semiconductor chip 200. External attackers will attempt to manipulate or steal data processed from the processor 210 through a physical attack on the semiconductor chip 200.
  • the shield 220 may include a metal line and may be disposed on the processor 210 to protect the processor 210. As an example, the shield 220 may be implemented in the form of an active shield including a plurality of metal lines.
  • the detector 230 may detect whether there is a wiring change in the shield by comparing the reference signal with an output signal that is output through the shield 220.
  • the controller 240 may configure a routing topology of the metal line in a first state and change the routing topology from the first state to the second state.
  • the routing topology may indicate a connection relationship with respect to a path through which one reference signal is output through the metal line in the shield 220. For example, when the routing topology is in the first state, the reference signal may pass through the first path and be output to the detector 230. When the routing topology is in the second state, the reference signal may pass through the second path. It may be output to the detector 230.
  • the semiconductor chip 200 may further include a random number generator that provides a configuration signal for the controller 240 to configure a routing topology.
  • the random number generator may provide the controller 240 with a bit stream having a predetermined number of bits according to a predetermined time period as the configuration signal.
  • the random number generator may change the configuration signal randomly over time to allow the controller 240 to constantly change the routing topology.
  • the controller 240 may include at least one chopper array capable of changing the routing topology according to the configuration signal provided by the random number generator.
  • the chopper array may be a circuit including at least one switching converter, and may represent a circuit for changing a path of an output signal according to an input current or voltage.
  • the controller 240 may include a first chopper array disposed at an input terminal of the shield 220 and a second chopper array disposed at an output terminal of the shield 220.
  • the random number generator may provide the same configuration signal to the first chopper array and the second chopper array. In this case, the routing topology of the first chopper array and the second chopper array may be changed to be the same as each other.
  • the random number generator may provide a randomly generated first component signal to the first chopper array and provide a second component signal to the second chopper array that is distinct from the first component signal.
  • the first configuration signal and the second configuration signal have the same number of bits but may represent different signals. In this case, routing topologies for the first chopper array and the second chopper array may be changed independently of each other.
  • the controller 240 may match each of the at least one chopper array with a predetermined bit of a configuration signal provided by the random number generator. In addition, the controller 240 may change the routing topology by controlling the corresponding chopper array according to the change of the matched bit value.
  • the random number generator may generate a reference signal separately from the configuration signal, and may provide the reference signal to the detector 230 and the controller 240. More specifically, the random number generator may generate each of the first input signal TX1 and the second input signal TX2, which are generated independently of each other, as the reference signal. In addition, the random number generator may transmit each of the first input signal TX1 and the second input signal TX2 to the detector 230 and the controller 240.
  • the controller 240 passes the first input signal TX1 through the first path in the shield 220 according to the current routing topology, and passes the second input signal TX2 through the second path in the shield 220. I can pass it.
  • the detector 230 receives the first output signal RX1 output through the first path and the second output signal RX2 output through the second path, and output the first input signal TX1 and the second output signal RX2. Compared with each of the input signals TX2, it is possible to detect whether there is a wiring change in the shield. In an embodiment, the detector 230 compares the first input signal TX1 with the first output signal RX1, and compares the second input signal TX2 with the second output signal RX2. It is possible to detect whether there is a wiring change in 220.
  • the detector 230 compares the first input signal RX1 with the second output signal RX2 output from another port according to the routing topology of the metal line, and the second input signal RX2. May be compared with the first output signal RX1 to detect whether there is a wiring change in the shield 220.
  • the semiconductor chip according to the present exemplary embodiment may periodically change a routing topology in which a reference signal passes through a metal line in the shield 220. Accordingly, when the wiring change exists in the specific area within the shield 220, it can be known that the wiring change has occurred within the designated path, so that the wiring change area can be determined more accurately than the conventional method.
  • FIG. 2B is an exemplary diagram illustrating a process of detecting a wiring change of a semiconductor chip by comparing a reference signal and an output signal of a shield.
  • a reference signal 250, an output signal 260, a clock signal 270, and an attack signal 280 measured along the same time axis are shown.
  • the detector 230 may detect whether the transmission path is changed by comparing the reference signal 250 directly transmitted from the random number generator with the output signal 260 transmitted through the shield 220.
  • the detector 230 compares the time delay at the rising edge or falling edge at which the values of the reference signal 250 and the output signal 260 change, and thus, the detection unit 230 compares the time delays.
  • the delay time t r 291 of the signals can be measured.
  • the detection unit 230, the delay time (t r), (291), the delay time is changed in accordance with the attack as compared to in the normal state: If (292) (t ra rising time when attacked) is detected, such as a wiring change Detect attacks
  • a physical attack signal 280 such as a probing attack may be generated.
  • a delay time t ra 292 of about 70 ns or more and 80 ns or less may occur, and the detector 230 may detect a change in wiring or a micro probing attack by detecting a change in a delay time over a predetermined threshold.
  • a capacitance capacity of 100 fF or more and 10 Pf or less may be added, and in the case of a wiring change attack, a resistance of 1 k ⁇ or more and 100 k ⁇ or less may be added.
  • the detector 230 may compare the reference signal 250 and the output signal 260 to detect a signal equality check, a time delay check, and a resistance and capacitance change regarding a transmission path in the shield 220.
  • the semiconductor chip may include an active shield 310, a ring oscillator block 320, and a detector 330.
  • the active shield 310 the description of the active shield 110 described above with reference to FIG. 1 may be applied as it is, and a redundant description thereof will be omitted.
  • the ring oscillator block 320 may include at least two ring oscillators that can be synchronized. Each ring oscillator may be synchronized according to a reset signal output from the detector 330. In addition, each synchronized ring oscillator may generate a clock signal having the same delay time and the same phase with respect to the transmitted signal.
  • the ring oscillator block 320 may transfer the first output signal output from the first ring oscillator to the first region in the active shield 310. Similarly, the ring oscillator block 320 may transfer the second output signal output from the second ring oscillator to the second area in the active shield 310.
  • the upper five metal lines of the ten metal lines included in the active shield 310 are designated as the first region, and the lower five metal lines are designated as the second region,
  • this is for illustrative purposes only and should not be construed as limiting or limiting the scope of the other embodiments.
  • the ring oscillator block 320 receives the first feedback signal RING_OUT1 transmitted through the first region in the active shield 310 and the second feedback signal RING_OUT2 transmitted through the second region in the active shield 310. May be transferred to the detector 330. If an attacker attempts a microprobing method using a probing device, the delay time will be increased for the return signal corresponding to the corresponding area.
  • the detector 230 may compare the output signals of at least two synchronized ring oscillators to detect asynchronous by microprobing, and may output a detection signal when an attack is detected.
  • a process of detecting a micro-probing attack on the semiconductor chip by using the block diagram of the semiconductor chip will be described in detail.
  • FIG. 4A is a block diagram of the semiconductor chip described with reference to FIG. 3.
  • the semiconductor chip 400 may include a processor 410, a shield 420, a ring oscillator block 430, and a detector 440.
  • the description described with reference to FIG. 2A may be applied to the processor 410 and the shield 420 as it is, and redundant descriptions thereof will be omitted.
  • the ring oscillator block 430 may include at least two oscillators.
  • the ring oscillator block 430 may include a first ring oscillator and a second ring oscillator.
  • the ring oscillator block 430 inputs the output signal of the first ring oscillator to a port connected to the first region in the shield 420, and the output signal of the first ring oscillator passes through the first region so that the ring oscillator block Control to return to 430.
  • the ring oscillator block 430 inputs the output signal of the second ring oscillator to a port connected to the second region in the shield 420, and the output signal of the second ring oscillator passes through the second region to ring
  • the control may be controlled to return to the oscillator block 430.
  • the ring oscillator block 430 may transmit the feedback signals RING_OUT1 and RING_OUT2 to the sensing unit 440.
  • the detector 440 may detect whether there is electrical probing of the shield 420 by comparing the oscillation phases of the first ring oscillator and the second ring oscillator.
  • the shield 420 may include a first region in which transmission paths of the first ring oscillator are multiplexed in parallel and a second region in which transmission paths of the second ring oscillator are parallel multiplexed.
  • the detector 440 may transmit a reset signal to the ring oscillator block 420 to control the first ring oscillator and the second ring oscillator to be synchronized periodically.
  • the first ring oscillator and the second ring oscillator may generate a clock signal having the same phase according to the reset signal.
  • FIG. 4B is an exemplary diagram illustrating a process of detecting a micro probing attack on a semiconductor chip by comparing feedback signals of at least two ring oscillators.
  • two feedback signals 451 and 452 defined along the same time axis, an attack signal 460 associated with micro probing, a detection signal 470 and a reset signal 480 are shown.
  • the detector 440 may detect two probing attacks on the semiconductor chip 400 by comparing two feedback signals 451 and 452 transmitted from each ring oscillator.
  • a suitable frequency for the feedback signal may be set between 100 kHz and 999 kHz.
  • the signals output by the two ring oscillators may be synchronized according to the reset signal 480 transmitted from the sensing unit 430.
  • the output signal by the second ring oscillator will increase the phase delay of the second feedback signal 452 with the addition of the capacitance capacitance by the probe device in the oscillation path.
  • the frequency of the second feedback signal 452 will decrease.
  • the detector 430 may detect a probing attack by using the frequency reduction points 492 and 493 in the second feedback signal 452.
  • the two feedback signals 451 and 452 will operate at the same frequency with each other if there is no probing attack. However, if there is a probing attack, the frequency of the second feedback signal 452 corresponding to the attacked area will be lowered compared to the first feedback signal 451.
  • the first feedback signal 451 and the second feedback signal 452 having similar phases after the polling by the first reset signal have the opposite phase again after six cycles, and the sensing unit 420 has the same phase as above.
  • the difference can be used to detect attacks.
  • the semiconductor chip may include an active shield 510, a random number generator 520, a first controller 530, a second controller 540, a ring oscillator block 550, and a detector 560.
  • the active shield 510 may represent the topmost metal line to protect the integrated circuits within the chip from physical attacks for reverse engineering.
  • the first controller 530 and the second controller 540 may support any one of a first mode for detecting a wiring change and a second mode for detecting micro probing according to a protection mode of the semiconductor chip. A process of selecting a plurality of protection modes of the semiconductor chip will be described in more detail with reference to FIG. 6.
  • the random number generator 520 may transmit the same reference signals TX1 and TX2 to the first controller 530 and the detector 560.
  • the first controller 530 may control the received reference signals TX1 and TX2 to pass through the active shield 510 according to the first mode.
  • the random number generator 520 may generate a configuration signal so that the first control unit 530 and the second control unit 540 can change the routing topology in the active shield 510.
  • the random number generator 520 may transfer the generated configuration signal to the first controller 530 and the second controller 540.
  • the configuration signal may represent a signal generated independently of the reference signals TX1 and TX2 for directly detecting the wiring change as a control signal for changing the routing topology.
  • the detector 560 may compare the reference signals TX1 and TX2 directly transmitted from the random number generator 520 with the output signals RX1 and RX2 transmitted through the active shield 510. According to the comparison result, the detector 560 may detect a change in the upper wiring of the semiconductor chip.
  • the first controller 530 may control two output signals transmitted from the ring oscillator block 550 to pass through a designated area in the active shield 510.
  • the second control unit 540 may transmit two feedback signals passing through the corresponding active shield 510 to the ring oscillator block 550 and the sensing unit 560.
  • the detector 560 may detect a probing attack on the semiconductor chip by comparing oscillation phases of two feedback signals.
  • a method of operating a semiconductor chip supporting multiple modes may include selecting one of a first mode for detecting a wiring change and a second mode for detecting a probing attack (610), which is executed when the first mode is selected. Changing the routing topology of the metal line according to the configuration signal (621) and comparing the output signal with the reference signal to detect the wiring change in the shield (622), which is transmitted from the ring oscillator executed when the second mode is selected Passing two output signals to a different area within the shield (631) and comparing the phase of the two feedback signals to detect the micro-probing (632).
  • the controller included in the semiconductor chip may select a protection mode for the semiconductor chip. More specifically, the controller may select any one of a first mode for detecting a wiring change and a second mode for detecting a probing attack. In another embodiment, the controller may repeatedly change the operation mode from the first mode to the second mode or from the second mode to the first mode according to a predetermined time period.
  • the controller may change the routing topology of the metal lines in the shield by transferring the configuration signal transmitted from the random number generator to the chopper array.
  • the detector included in the semiconductor chip may detect a change in wiring in the shield by comparing an output signal with a reference signal directly transmitted from the random number generator.
  • the controller may pass two output signals transmitted from the ring oscillator to different areas in the shield.
  • the sensing unit included in the semiconductor chip may detect micro probing by comparing phases of two feedback signals output through the control unit.
  • the embodiments described above may be implemented as hardware components, software components, and / or combinations of hardware components and software components.
  • the devices, methods, and components described in the embodiments may include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gates (FPGAs). It may be implemented using one or more general purpose or special purpose computers, such as an array, a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may also access, store, manipulate, process, and generate data in response to the execution of the software.
  • OS operating system
  • the processing device may also access, store, manipulate, process, and generate data in response to the execution of the software.
  • processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include.
  • the processing device may include a plurality of processors or one processor and one controller.
  • other processing configurations are possible, such as parallel processors.
  • the software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device.
  • Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted.
  • the software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer readable recording media.
  • the method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • Computer-readable media may include, alone or in combination with the program instructions, data files, data structures, and the like.
  • Program instructions recorded on the computer readable medium may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Abstract

반도체 칩은 데이터를 처리하는 프로세서, 메탈 라인을 포함하며 상기 프로세서의 상부에 배치되는 쉴드, 레퍼런스 신호를, 상기 레퍼런스 신호가 상기 쉴드를 통과하여 출력되는 출력 신호와 비교함으로써 상기 쉴드 내에 배선 변경이 있는지 여부를 감지하는 감지부 및 상기 메탈 라인의 라우팅 토폴로지를 제1 상태로 구성하고, 상기 라우팅 토폴로지를 상기 제1 상태로부터 제2 상태로 변경하여 구성하는 컨트롤러를 포함할 수 있다.

Description

보안 반도체 칩 및 그 동작 방법
보안이 강화된 반도체 칩 및 그 동작 방법에 연관되며, 보다 특정하게는 반도체 칩에 대한 물리적 공격의 감지에 연관된다.
반도체 칩에 대한 다양한 물리적 공격 및 소프트웨어 공격은 SoC (System on Chip)를 이용한 제품 및 이를 이용한 응용 서비스에 위협이 된다. 이러한 물리적 공격의 예로, 이를테면 디패키징 (De-packaging), FIB (Focused ion beam)를 이용한 회로 변형, 마이크로 프로빙 (micro-probing), 전력 분석 (power analysis), EMA (Electromagnetic Analysis), 전압/주파수/온도 조절 공격 방식 (fault injection) 등 다양한 것들이 알려져 있다.
물리적 공격을 감지하고 이로부터 회로를 보호하기 위한 기술들이 소개되고 있으며, 이를테면 아래에 서술하는 몇몇 선행기술 문헌들을 통해 이전의 시도들을 이해할 수 있다.
대한민국 등록 특허공보 KR 10-1299602호 (공고일 2013년8월26일)에는 무작위의 레퍼런스 신호를 액티브 쉴드를 통해 전송한 제1 결과와 직접 비교 로직으로 전송한 제2 결과를 서로 비교해서 쉴드에서의 리버스 엔지니어링이 발생했는지를 감지하는 내용이 제시되었다.
기술문헌 "A Highly time sensitive XOR gate for probe attempt detectors" (S. Manich, et al., IEEE Trans. Circuits Syst., II: Exp. Briefs, vol. 60, no. 11, pp. 786-790, Nov. 2013)은 반도체 칩에 대한 디패키징 후 내부의 데이터 버스를 프로빙 (probing) 하는 경우에 발생되는 프로빙 커패시턴스 딜레이 (probing capacitance delay)를 발견하는 기술이 제시되었다.
본 발명은 물리적 공격을 감지할 수 있는 보안 반도체 칩 및 그 동작 방법을 제공하기 위한 것이다.
일측에 따르면, 반도체 칩은 메탈 라인을 포함하며 상기 프로세서의 상부에 배치되는 쉴드, 레퍼런스 신호를, 상기 레퍼런스 신호가 상기 쉴드를 통과하여 출력되는 출력 신호와 비교함으로써 상기 쉴드 내에 배선 변경이 있는지 여부를 감지하는 감지부 및 상기 메탈 라인의 라우팅 토폴로지를 제1 상태로 구성하고, 상기 라우팅 토폴로지를 상기 제1 상태로부터 제2 상태로 변경하여 구성하는 컨트롤러를 포함할 수 있다.
일실시예에 따르면, 상기 반도체 칩은 상기 컨트롤러가 상기 라우팅 토폴로지를 구성하도록 하는 구성 신호(configuration signal)을 제공하는 난수 생성기를 더 포함할 수 있다. 보다 구체적으로, 상기 컨트롤러는 상기 난수 생성기가 제공하는 상기 구성 신호에 따라 상기 라우팅 토폴로지를 변경할 수 있는 적어도 하나의 초퍼 어레이를 포함할 수 있다.
다른 일실시예에 따르면, 상기 난수 생성기는 시간에 따라 주기적으로 상기 구성 신호를 무작위로 변경하여 상기 컨트롤러가 상기 라우팅 토폴로지를 지속적으로 바꿀 수 있다. 또한, 상기 레퍼런스 신호는 상기 난수 생성기가 상기 구성 신호와 별도로 만드는 신호를 나타낼 수 있다.
또 다른 일실시예에 따르면, 상기 레퍼런스 신호는 서로 독립적으로 생성되는 제1 입력 신호 및 제2 입력 신호를 포함하고, 상기 감지부는 상기 제1 입력 신호 및 상기 제2 입력 신호가 각각 상기 쉴드를 통과해서 출력되는 제1 출력 신호 및 제2 출력 신호를 상기 제1 입력 신호 및 상기 제2 입력 신호와 비교하여 상기 쉴드 내에 배선 변경이 있는지의 여부를 감지할 수 있다.
또 다른 일실시예에 따르면, 상기 감지부는 상기 메탈 라인의 라우팅 토폴로지에 따라 상기 제1 입력 신호를 서로 다른 포트에서 출력되는 제1 출력 신호 및 제2 출력 신호 중 어느 하나와 비교하여 상기 쉴드 내에 배선 변경이 있는지의 여부를 감지할 수 있다.
또 다른 일실시예에 따르면, 상기 컨트롤러는 상기 적어도 하나의 초퍼 어레이 각각을 상기 구성 신호 내의 미리 지정된 비트에 매칭하고, 매칭되는 비트 값의 변화에 따라 대응하는 초퍼 어레이를 이용하여 라우팅 토폴로지를 변경할 수 있다.
다른 일측에 따르면, 반도체 칩은 데이터를 처리하는 프로세서, 메탈 라인을 포함하며 상기 프로세서의 상부에 배치되는 쉴드, 제1 링 오실레이터의 출력을 상기 쉴드의 제1 영역을 통과시켜 상기 제1 링 오실레이터 입력으로 귀환하고, 상기 제1 링 오실레이터와 동기화된 제2 링 오실레이터의 출력을 상기 쉴드의 제2 영역을 통과시켜 상기 제2 링 오실레이터 입력으로 귀환하는 링 오실레이터 블록 및 상기 제1 링 오실레이터와 상기 제2 링 오실레이터의 발진 위상을 비교하여 상기 쉴드의 전기적 프로빙이 있는지의 여부를 감지하는 감지부를 포함할 수 있다.
일실시예에 따르면, 상기 반도체 칩은 상기 제1 영역에서 상기 제1 링 오실레이터의 전송 경로가 병렬 다중화되고, 상기 제2 영역에서 상기 제2 링 오실레이터의 전송 경로가 병렬 다중화될 수 있다.
다른 일실시예에 따르면, 상기 감지부는 리셋 신호를 상기 링 오실레이터 블록으로 전달하여, 상기 제1 링 오실레이터와 상기 제2 링 오실레이터를 주기적으로 동기화할 수 있다. 또한, 상기 제1 링 오실레이터 및 상기 제2 링 오실레이터는 상기 리셋 신호에 따라 동일한 위상을 갖는 클락 신호를 생성할 수 있다.
또 다른 일측에 따르면, 반도체 칩은 데이터를 처리하는 프로세서, 메탈 라인을 포함하며 상기 프로세서의 상부에 배치되는 쉴드, 상기 쉴드 내에 배선 변경이 있는지의 여부 및 상기 쉴드에 관한 전기적 프로빙이 있는지의 여부 중 적어도 하나를 감지하는 감지부 및 반도체 칩에 관한 배선 변경을 감지하는 제1 모드 및 상기 반도체 칩에 관한 마이크로 프로빙을 감지하는 제2 모드 중 어느 하나를 선택하여 선택된 모드에 상응하는 신호를 상기 감지부로 전달하는 컨트롤러를 포함할 수 있다.
일실시예에 따르면, 상기 제1 모드가 선택된 경우에, 상기 컨트롤러는 상기 메탈 라인의 라우팅 토폴로지를 제1 상태로 구성하고, 상기 라우팅 토폴로지를 상기 제1 상태로부터 제2 상태로 변경하여 구성하고, 상기 감지부는 전달되는 레퍼런스 신호를, 상기 레퍼런스 신호가 상기 쉴드를 통과해서 출력되는 출력 신호와 비교함으로써 상기 쉴드 내에 배선 변경이 있는지의 여부를 감지할 수 있다.
다른 일실시예에 따르면, 상기 반도체 칩은 제1 링 오실레이터의 출력을 상기 쉴드의 제1 영역을 통과시켜 상기 제1 링 오실레이터 입력으로 귀환하고, 상기 제1 오실레이터와 동기화된 제2 링 오실레이터의 출력을 상기 쉴드의 제2 영역을 통과시켜 상기 제2 링 오실레이터 입력으로 귀환하는 링 오실레이터 블록을 더 포함하고, 상기 제2 모드가 선택된 경우에, 상기 컨트롤러는 제1 링 오실레이터 및 상기 제2 링 오실레이터 각각의 출력 신호가 상기 쉴드 내의 대응 영역을 통과하여 상기 감지부로 전달되도록 제어할 수 있다.
본 발명에 따르면, FIB 방법, 마이크로 프로빙 방법 및 포싱 방법 등의 물리적 공격을 감지할 수 있다.
도 1은 일실시예에 따라 반도체 칩의 배선 변경을 감지하는 회로를 나타내는 예시도이다.
도 2a는 상기 도 1에서 설명된 반도체 칩에 관한 블록도이다.
도 2b는 레퍼런스 신호와 쉴드의 출력 신호를 비교하여 반도체 칩에 관한 배선 변경을 감지하는 과정을 설명하는 예시도이다.
도 3은 다른 일실시예에 따라 반도체 칩에 대한 마이크로 프로빙 공격을 감지하는 회로를 나타내는 예시도이다.
도 4a는 상기 도 3에서 설명된 반도체 칩에 관한 블록도이다.
도 4b는 적어도 두 개의 링 오실레이터의 귀환 신호를 비교하여 반도체 칩에 관한 마이크로 프로빙 공격을 감지하는 과정을 설명하는 예시도이다.
도 5는 또 다른 일실시예에 따라 반도체 칩을 보호하는 집적 회로를 나타내는 예시도이다.
도 6는 다중 모드를 지원하는 반도체 칩의 동작 방법을 설명하는 흐름도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
반도체 칩에 대한 물리적 공격들
IC(Integrated Circuit) 카드 등에 사용되는 집적 회로에 대해 공격자들은 집적 회로에 관한 리버스 엔지니어링(reverse engineering)을 수행하고, 획득된 정보를 이용하여 회로의 동작 모드를 임의적으로 변경하거나 메모리 내에 저장된 데이터의 조작을 수행할 수 있다. 위와 같은 반도체 칩에 관한 공격은 중요 데이터에 관한 해킹이나 출입 보안을 해체하는 것과 같은 현실적인 문제들을 야기할 가능성이 존재한다.
예시적으로 공격자들은 FIB(Focused Ion Beam) 방법, 마이크로 프로빙(probing) 방법 및 포싱(forcing) 방법 등을 이용하여 집적회로 내의 쉴드를 회피하여 상기 집적회로에 관한 공격을 수행할 수 있다. 보다 구체적으로, FIB는 이온 빔을 이용하여 메탈 라인을 임의적으로 단락 하거나 연결하는 방법을 나타낸다. 마이크로 프로빙 방법은 특정 메탈 라인에 관한 상태값을 독출하는 방법을 나타낸다. 포싱이란 FIB 방법에 의해 특정 메탈 라인을 절단하고, 절단된 메탈 라인에 대해 특정한 조작 신호를 제공하여 데이터를 조작하는 공격을 나타낸다.
이하에서는 물리적 공격, 예시적으로 그러나 한정되지 않게 반도체 칩의 배선 변경 또는 마이크로 프로빙 공격 등이 발생한 경우에 물리적 공격을 감지하는 보안 반도체 칩의 다양한 실시예들이 제시된다.
일실시예에 따른 보안 반도체 칩 구현
도 1은 일실시예에 따라 반도체 칩의 배선 변경을 감지하는 회로를 나타내는 예시도이다. 도 1을 참조하면, 반도체 칩은 액티브 쉴드(active shield)(110), 난수 발생기(RNG: random number generator)(120), 감지부(detection logic)(130), 제1 초퍼 어레이(chopper array)(140) 및 제2 초퍼 어레이(150)를 포함할 수 있다. (160)은 임의로 경로를 재구성 가능한 액티브 쉴드(110)의 영역을 나타낼 수 있다. 액티브 쉴드(110)는 외부의 공격자로부터 리버스 엔지니어링에 의한 반도체 칩 공격을 방어하는 메탈 라인을 포함할 수 있다.
난수 발생기(120)는 무작위적으로 생성된 비트 스트림을 미리 지정된 회로로 전송할 수 있다. 일실시예로서, 난수 발생기(120)는 무작위적으로 생성된 제1 입력 신호(TX1) 및 제2 입력 신호(TX2)를 레퍼런스 신호로서 감지부(130) 및 제1 초퍼 어레이(140)에 전달할 수 있다. 다른 일실시예로서, 난수 발생기(120)는 기설정된 비트 수에 대응하는 구성 신호(configuration signal)를 각각의 초퍼 어레이(140, 150)들에 전달할 수 있다.
이하의 설명에서는, 5 비트의 구성 신호가 동일하게 각각이 제1 초퍼 어레이(140) 및 제2 초퍼 어레이(150)에 전달되는 실시예가 도시되지만 이는 이해를 돕기 위한 예시적인 기재일 뿐 다른 실시예의 범위를 제한하거나 한정하는 것으로 해석되어서는 안될 것이다. 이를테면, 난수 발생기(120)가 10 비트의 제1 구성 신호를 제1 초퍼 어레이(140)로 전달하고, 10 비트의 제2 구성 신호를 제2 초퍼 어레이(150)에 전달하는 실시예가 구현될 수도 있고, 또는 난수 발생기(120)가 동일한 4 비트의 구성 신호를 제1 초퍼 어레이(140) 및 제2 초퍼 어레이(150)에 전달하는 실시예 또한 구현 가능할 것이다.
감지부(130)는 난수 발생기(120)로부터 직접 전달된 레퍼런스 신호(TX1, TX2)와 액티브 쉴드(110) 내의 메탈 라인을 통과하여 출력되는 출력 신호(RX1, RX2)를 비교하는 방식으로 액티브 쉴드(110) 내의 배선 변경이 존재하는지 여부를 검출할 수 있다.
일실시예로서, 감지부(130)는 두 개의 레퍼런스 신호(TX1, TX2) 각각이 대응하는 출력 신호(RX1, RX2)와 동일한 경우에는 반도체 칩에 관한 배선 변경이 없는 것으로 판단할 수 있다. 다른 일실시예로서, 감지부(130)는 두 개의 레퍼런스 신호(TX1, TX2) 중 적어도 하나의 신호가 대응하는 출력 신호(RX1, RX2)와 상이한 경우에 반도체 칩에 관한 배선 변경이 존재하는 것으로 판단하여 감지 신호(detect out)를 출력할 수 있다. 이하에서는 반도체 칩에 관한 블록도를 이용하여 감지부가 반도체 칩에 관한 배선 변경을 검출하는 과정에 대해 상세하게 기재한다.
도 2a는 상기 도 1에서 설명된 반도체 칩에 관한 블록도이다. 도 2a를 참조하면, 반도체 칩(200)은 프로세서(210), 쉴드(220), 감지부(230) 및 컨트롤러(240)를 포함할 수 있다. 프로세서(210)는 반도체 칩(200)에 관한 데이터를 처리할 수 있다. 외부의 공격자들은 반도체 칩(200)에 관한 물리적 공격을 통해 프로세서(210)로부터 처리되는 데이터를 조작하거나 탈취하고자 할 것이다. 쉴드(220)는 메탈 라인을 포함하며, 프로세서(210)의 상부에 배치되어 프로세서(210)를 보호할 수 있다. 일실시예로서, 쉴드(220)는 복수의 메탈 라인을 포함하는 액티브 쉴드와 같은 형태로 구현될 수 있다.
감지부(230)는 레퍼런스 신호를, 상기 레퍼런스 신호가 쉴드(220)를 통과하여 출력되는 출력 신호와 비교함으로써 상기 쉴드 내에 배선 변경이 있는지 여부를 감지할 수 있다.
또한, 컨트롤러(240)는 상기 메탈 라인의 라우팅 토폴로지(routing topology)를 제1 상태로 구성하고, 상기 라우팅 토폴로지를 상기 제1 상태로부터 제2 상태로 변경할 수 있다. 이하의 설명에서 라우팅 토폴로지는 하나의 레퍼런스 신호가 쉴드(220) 내의 메탈 라인을 통과하여 출력되는 경로에 관한 연결 관계를 나타낼 수 있다. 이를테면, 라우팅 토폴로지가 제1 상태인 경우에 레퍼런스 신호는 제1 경로를 통과하여 감지부(230)로 출력될 수 있고, 상기 라우팅 토폴로지가 제2 상태인 경우에는 레퍼런스 신호가 제2 경로를 통과하여 감지부(230)로 출력될 수 있다.
도 2a에서 도시되지는 않았지만, 반도체 칩(200)은 컨트롤러(240)가 라우팅 토폴로지를 구성하도록 하는 구성 신호(configuration signal)를 제공하는 난수 생성기를 더 포함할 수 있다. 난수 생성기는 기설정된 시간 주기에 따라 미리 지정된 비트수를 갖는 비트 스트림을 상기 구성 신호로서 컨트롤러(240)에 제공할 수 있다. 또한, 난수 생성기는 시간에 따라 주기적으로 상기 구성 신호를 무작위로 변경하여 컨트롤러(240)가 라우팅 토폴로지를 지속적으로 바꾸도록 할 수 있다.
일실시예로서, 컨트롤러(240)는 난수 생성기가 제공하는 구성 신호에 따라 라우팅 토폴로지를 변경할 수 있는 적어도 하나의 초퍼 어레이를 포함할 수 있다. 이하의 설명에서, 초퍼 어레이는 적어도 하나의 스위칭 컨버터를 포함하는 회로로서 입력되는 전류 또는 전압에 따라 출력되는 신호의 경로를 변경하는 회로를 나타낼 수 있다.
예시적으로, 컨트롤러(240)는 쉴드(220)의 입력단에 배치되는 제1 초퍼 어레이와 쉴드(220)의 출력단에 배치되는 제2 초퍼 어레이를 포함할 수 있다. 일실시예로서, 난수 생성기는 상기 제1 초퍼 어레이 및 상기 제2 초퍼 어레이에 동일한 구성 신호를 제공할 수 있다. 이 경우에, 상기 제1 초퍼 어레이 및 상기 제2 초퍼 어레이는 서로 동일하게 라우팅 토폴로지가 변경될 수 잇다. 다른 일실시예로서, 난수 생성기는 임의로 생성된 제1 구성 신호를 상기 제1 초퍼 어레이에 제공하고, 상기 제1 구성 신호와 구분되는 제2 구성 신호를 상기 제2 초퍼 어레이에 제공할 수 있다. 상기 제1 구성 신호 및 상기 제2 구성 신호는 동일한 비트수를 갖지만 서로 다른 신호를 나타낼 수 있다. 이 경우에는, 상기 제1 초퍼 어레이 및 상기 제2 초퍼 어레이에 관한 라우팅 토폴로지가 상호 간에 독립적으로 변경될 수 있다.
컨트롤러(240)는 상기 적어도 하나의 초퍼 어레이 각각을 난수 생성기가 제공하는 구성 신호의 미리 지정된 비트와 매칭할 수 있다. 또한, 컨트롤러(240)는 매칭된 비트값의 변화에 따라 대응하는 초퍼 어레이를 제어하여 라우팅 토폴로지를 변경할 수 있다.
또한, 난수 생성기는 구성 신호와 별도로 레퍼런스 신호를 생성하고, 감지부(230) 및 컨트롤러(240)에 제공할 수 있다. 보다 구체적으로, 난수 생성기는 서로 독립적으로 생성되는 제1 입력 신호(TX1) 및 제2 입력 신호(TX2) 각각을 상기 레퍼런스 신호로서 생성할 수 있다. 또한, 난수 생성기는 상기 제1 입력 신호(TX1) 및 제2 입력 신호(TX2) 각각을 감지부(230) 및 컨트롤러(240)에 전달할 수 있다. 컨트롤러(240)는 현재의 라우팅 토폴로지에 따라 제1 입력 신호(TX1)를 쉴드(220) 내의 제1 경로를 통해 통과시키고, 제2 입력 신호(TX2)를 쉴드(220) 내의 제2 경로를 통해 통과시킬 수 있다.
감지부(230)는 제1 경로를 통과하여 출력되는 제1 출력 신호(RX1)와 제2 경로를 통과하여 출력되는 제2 출력 신호(RX2)를 상기 제1 입력 신호(TX1) 및 상기 제2 입력 신호(TX2) 각각과 비교하여 쉴드 내의 배선 변경이 있는지 여부를 감지할 수 있다. 일실시예로서, 감지부(230)는 제1 입력 신호(TX1)를 제1 출력 신호(RX1)와 비교하여, 제2 입력 신호(TX2)를 제2 출력 신호(RX2)와 비교하여 쉴드(220) 내에 배선 변경이 있는지 여부를 감지할 수 있다.
다른 일실시예로서, 감지부(230)는 메탈 라인의 라우팅 토폴로지에 따라 제1 입력 신호(RX1)를 다른 포트에서 출력되는 제2 출력 신호(RX2)와 비교하고, 제2 입력 신호(RX2)를 제1 출력 신호(RX1)와 비교하여 쉴드(220) 내에 배선 변경이 있는지 여부를 감지할 수 있다.
본 실시예에 따른 반도체 칩은 레퍼런스 신호가 쉴드(220) 내의 메탈 라인을 통과하는 라우팅 토폴로지를 주기적으로 변화시킬 수 있다. 그에 따라, 쉴드(220) 내의 특정 영역에 배선 변경이 존재하는 경우에는, 지정된 경로 내에서 배선 변경이 발생하였다는 것을 알 수 있어 종래 방식보다 정확하게 배선 변경 영역을 판단할 수 있다.
도 2b는 레퍼런스 신호와 쉴드의 출력 신호를 비교하여 반도체 칩에 관한 배선 변경을 감지하는 과정을 설명하는 예시도이다. 도 2b를 참조하면, 동일한 시간축을 따라 측정되는 레퍼런스 신호(250), 출력 신호(260), 클락 신호(270) 및 공격 신호(280)가 도시된다. 감지부(230)는 난수 발생기로부터 직접적으로 전달된 레퍼런스 신호(250)와 쉴드(220)를 통과하여 전달된 출력 신호(260)를 비교하여 전송 경로가 변경되었는지 여부를 감지할 수 있다.
또한, 감지부(230)는 레퍼런스 신호(250)와 출력 신호(260) 값이 변화하는 라이징 엣지(rising edge)또는 폴링 엣지(falling edge)에서 시간 지연을 비교하여 공격이 없는 정상 상태에서의 두 신호들의 지연 시간(tr)(291)을 측정할 수 있다. 그에 따라, 감지부(230)는 정상 상태에서의 지연 시간(tr)(291)과 비교하여 공격에 따라 변화된 지연 시간(tra: rising time when attacked)(292)이 검출되면 배선 변경과 같은 공격을 감지할 수 있다. 예시적으로, 정상 상태의 경우에 레퍼런스 신호(250)와 출력 신호(260)의 지연 시간(tr)(291)이 약 10ns를 유지한다면, 프로빙 공격과 같은 물리적 공격 신호(280)가 발생하는 경우에는 약 70ns 이상 80ns 이하의 지연 시간(tra)(292)이 발생할 수 있고, 감지부(230)는 기설정된 임계치 이상의 지연 시간 변화를 감지하여 배선 변경 또는 마이크로 프로빙 공격을 감지할 수 있다.
또한, 쉴드(220) 내의 전송 경로 내에서 프로빙 공격이 존재하는 경우에는 100 fF 이상 10 Pf 이하 수준의 커패시턴스 용량이 추가될 수 있을 것이고, 배선 변경 공격의 경우에는 1kΩ 이상 100 kΩ 이하의 저항이 추가될 수 있다. 감지부(230)는 레퍼런스 신호(250)와 출력 신호(260)를 비교하는 방식으로서 신호의 동등성 확인, 시간 지연 확인, 쉴드(220) 내의 전송 경로에 관한 저항 및 용량 변화를 검출할 수 있다.
다른 일실시예에 따른 보안 반도체 칩 구현
도 3은 다른 일실시예에 따라 반도체 칩에 대한 마이크로 프로빙 공격을 감지하는 회로를 나타내는 예시도이다. 도 3을 참조하면, 반도체 칩은 액티브 쉴드(310), 링 오실레이터 블록(320) 및 감지부(330)를 포함할 수 있다. 액티브 쉴드(310)에 대해서는 앞서 도 1에서 설명된 액티브 쉴드(110)에 관한 설명이 그대로 적용될 수 있어, 중복되는 설명은 생략하기로 한다.
링 오실레이터 블록(320)은 동기화 가능한 적어도 두 개의 링 오실레이터를 포함할 수 있다. 각각의 링 오실레이터는 감지부(330)로부터 출력되는 리셋 신호(reset signal)에 따라 동기화될 수 있다. 또한, 동기화된 각각의 링 오실레이터는 전달되는 신호에 대해 동일한 지연 시간을 갖고, 동일한 위상을 갖는 클락 신호를 생성할 수 있다.
링 오실레이터 블록(320)은 제1 링 오실레이터에서 출력되는 제1 출력 신호를 액티브 쉴드(310) 내의 제1 영역으로 전달할 수 있다. 마찬가지로, 링 오실레이터 블록(320)은 제2 링 오실레이터에서 출력되는 제2 출력 신호를 액티브 쉴드(310) 내의 제2 영역으로 전달할 수 있다. 도 3에서 설명되는 실시예에서는 액티브 쉴드(310) 내에 포함되는 10 개의 메탈 라인 중 상부의 5 개의 메탈 라인이 제1 영역으로 지정되고, 하부의 5 개의 메탈 라인이 제2 영역으로 지정되는 경우에 대해 개시되나, 이는 이해를 돕기 위한 예시적 기재일 뿐 다른 실시예들의 범위를 제한하거나 한정하는 것으로 해석되어서는 안될 것이다.
링 오실레이터 블록(320)는 액티브 쉴드(310) 내의 제1 영역을 통과하여 전달되는 제1 귀환 신호(RING_OUT1) 및 액티브 쉴드(310) 내의 제2 영역을 통과하여 전달되는 제2 귀환 신호(RING_OUT2)를 감지부(330)로 전달할 수 있다. 공격자가 탐침 장치(probing device)를 이용하여 마이크로 프로빙 방법을 시도하는 경우에는, 해당 영역에 대응하는 귀환 신호에 대해 지연 시간이 증가하게 될 것이다. 감지부(230)는 동기화된 적어도 두 개의 링 오실레이터의 출력 신호를 비교하여 마이크로 프로빙에 의한 비동기화를 감지하고, 공격이 감지된 경우에는 감지 신호를 출력할 수 있다. 이하에서는 반도체 칩에 관한 블록도를 이용하여 감지부가 반도체 칩에 관한 마이크로 프로빙 공격을 검출하는 과정에 대해 상세하게 기재한다.
도 4a는 상기 도 3에서 설명된 반도체 칩에 관한 블록도이다. 도 4a를 참조하면, 반도체 칩(400)은 프로세서(410), 쉴드(420), 링 오실레이터 블록(430) 및 감지부(440)를 포함할 수 있다. 프로세서(410) 및 쉴드(420)에 대해서는 도 2a와 함께 기재된 설명이 그대로 적용될 수 있어, 중복되는 설명은 생략하기로 한다.
링 오실레이터 블록(430)은 적어도 두 개의 오실레이터를 포함할 수 있다. 일실시예로서, 링 오실레이터 블록(430)는 제1 링 오실레이터 및 제2 링 오실레이터를 포함할 수 있다. 링 오실레이터 블록(430)은 제1 링 오실레이터의 출력 신호를 쉴드(420) 내의 제1 영역에 연결되는 포트로 입력하고, 상기 제1 링 오실레이터의 출력 신호가 상기 제1 영역을 통과하여 링 오실레이터 블록(430)으로 귀환하도록 제어할 수 있다. 마찬가지로, 링 오실레이터 블록(430)은 제2 링 오실레이터의 출력 신호를 쉴드(420) 내의 제2 영역에 연결되는 포트로 입력하고, 상기 제2 링 오실레이터의 출력 신호가 상기 제2 영역을 통과하여 링 오실레이터 블록(430)으로 귀환하도록 제어할 수 있다. 또한, 링 오실레이터 블록(430)은 각각의 귀환 신호(RING_OUT1, RING_OUT2)를 감지부(440)로 전달할 수 있다.
감지부(440)는 상기 제1 링 오실레이터와 상기 제2 링 오실레이터의 발진 위상을 비교하여 쉴드(420)의 전기적 프로빙이 있는지 여부를 감지할 수 있다. 쉴드(420)는 제1 링 오실레이터에 관한 전송 경로가 병렬 다중화된 제1 영역 및 제2 링 오실레이터에 관한 전송 경로가 병렬 다중화된 제2 영역을 포함할 수 있다.
감지부(440)는 두 개의 귀환 신호의 위상이 동일한 경우에 리셋 신호를 링 오실레이터 블록(420)으로 전달하여 상기 제1 링 오실레이터와 상기 제2 링 오실레이터를 주기적으로 동기화되도록 제어할 수 있다. 상기 제1 링 오실레이터 및 상기 제2 링 오실레이터는 상기 리셋 신호에 따라 동일한 위상을 갖는 클락 신호를 생성할 수 있다.
도 4b는 적어도 두 개의 링 오실레이터의 귀환 신호를 비교하여 반도체 칩에 관한 마이크로 프로빙 공격을 감지하는 과정을 설명하는 예시도이다. 도 4b를 참조하면, 동일한 시간축을 따라 정의되는 두 개의 귀환 신호(451, 452), 마이크로 프로빙에 연관되는 공격 신호(460), 감지 신호(470) 및 리셋 신호(480)가 도시된다. 감지부(440)는 각각의 링 오실레이터로부터 전달되는 두 개의 귀환 신호(451, 452)를 비교하여 반도체 칩(400)에 관한 프로빙 공격을 감지할 수 있다. 일실시예로서, 귀환 신호에 관한 적절한 주파수는 100kHz 이상 999kHz 이하에서 설정될 수 있다.
두 개의 링 오실레이터가 출력하는 신호는 감지부(430)로부터 전달되는 리셋 신호(480)에 따라 동기화 될 수 있다. 예시적으로, 공격자에 의한 마이크로 프로빙 공격이 제2 링 오실레이터에 연관되는 제2 영역에 대해 가해지는 경우가 있을 수 있다. 이 경우에, 제2 링 오실레이터에 의한 출력 신호는, 발진 경로 내에서 탐침 장치에 의한 커패시턴스 용량의 추가에 따라 제2 귀환 신호(452)의 위상 지연이 증가할 것이다. 위와 같은 위상 지연에 따라, 제2 귀환 신호(452)의 주파수는 감소하게 될 것이다. 감지부(430)는 제2 귀환 신호(452) 내의 주파수 감소 시점들(492, 493)을 이용하여 프로빙 공격을 감지할 수 있다.
리셋 신호(480)에 따라 두 개의 링 오실레이터가 서로 동기화되었으므로, 프로빙 공격이 존재하지 않는다면 두 개의 귀환 신호(451, 452)는 서로 동일한 주파수로서 동작할 것이다. 그러나, 프로빙 공격이 존재하는 경우에는, 공격 받은 영역에 대응하는 제2 귀환 신호(452)가 제1 귀환 신호(451)와 대비하여 주파수가 느려지게 될 것이다.
이에 따라 제1 리셋 신호에 의한 폴링 이후에 유사한 위상을 가지는 제1 귀환 신호(451)와 제2 귀환 신호(452)는 6 주기 이후 다시 반대 위상을 가지게 되고, 감지부(420)는 위와 같은 위상 차이를 이용하여 공격을 검출할 수 있다.
또 다른 일실시예에 따른 보안 반도체 칩 구현
도 5는 또 다른 일실시예에 따라 반도체 칩을 보호하는 집적 회로를 나타내는 예시도이다. 도 5를 참조하면, 반도체 칩은 액티브 쉴드(510), 난수 발생기(520), 제1 제어부(530), 제2 제어부(540), 링 오실레이터 블록(550) 및 감지부(560)를 포함할 수 있다. 액티브 쉴드(510)는 리버스 엔지니어링을 위한 물리적 공격으로부터 칩 내부의 집적회로를 보호하기 위한 최상위 메탈 라인을 나타낼 수 있다. 제1 제어부(530) 및 제2 제어부(540)는 반도체 칩의 보호 모드에 따라 배선 변경을 감지하는 제1 모드 및 마이크로 프로빙을 감지하는 제2 모드 중 어느 하나를 지원할 수 있다. 반도체 칩의 복수의 보호 모드를 선택하는 과정에 대해서는 도 6과 함께 보다 자세하게 설명될 것이다.
배선 변경을 감지하는 제1 모드가 선택된 경우에, 난수 발생기(520)는 제1 제어부(530)와 감지부(560)로 동일한 레퍼런스 신호(TX1, TX2)를 전송할 수 있다. 제1 제어부(530)는 제1 모드에 따라, 전달 받은 레퍼런스 신호(TX1, TX2)가 액티브 쉴드(510)를 통과하도록 제어할 수 있다. 또한, 난수 발생기(520)는 제1 제어부(530) 및 제2 제어부(540)가 액티브 쉴드(510) 내의 라우팅 토폴로지를 변경할 수 있도록 구성 신호를 생성할 수 있다. 난수 발생기(520)는 생성된 구성 신호를 제1 제어부(530) 및 제2 제어부(540)로 전달할 수 있다. 구성 신호는 라우팅 토폴로지를 변경하기 위한 제어 신호로서 배선 변경을 직접적으로 감지하기 위한 레퍼런스 신호(TX1, TX2)와는 독립적으로 생성되는 신호를 나타낼 수 있다.
감지부(560)는 난수 발생기(520)로부터 직접적으로 전달된 레퍼런스 신호(TX1, TX2)와 액티브 쉴드(510)를 통과하여 전달된 출력 신호(RX1, RX2)를 비교할 수 있다. 비교 결과에 따라, 감지부(560)는 반도체 칩에 관한 상부 배선 변경을 감지할 수 있다.
마이크로 프로빙 공격을 감지하는 제2 모드가 선택된 경우에, 제1 제어부(530)는 링 오실레이터 블록(550)으로부터 전달되는 두 개의 출력 신호가 액티브 쉴드(510) 내의 지정된 영역을 통과하도록 제어할 수 있다. 또한, 제2 제어부(540)는 대응하는 액티브 쉴드(510) 내를 통과하여 귀환하는 두 개의 귀환 신호를 링 오실레이터 블록(550) 및 감지부(560)로 전달할 수 있다. 감지부(560)는 앞서 기재한 것과 같이 두 개의 귀환 신호의 발진 위상을 비교하는 방식으로 반도체 칩에 관한 프로빙 공격을 감지할 수 있다.
도 6는 다중 모드를 지원하는 반도체 칩의 동작 방법을 설명하는 흐름도이다. 다중 모드를 지원하는 반도체 칩의 동작 방법은 배선 변경을 검출하는 제1 모드 및 프로빙 공격을 검출하는 제2 모드 중 어느 하나를 선택하는 단계(610), 제1 모드가 선택된 경우에 실행되는 전달되는 구성 신호에 따라 메탈 라인의 라우팅 토폴로지를 변경하는 단계(621) 및 레퍼런스 신호와 출력 신호를 비교하여 쉴드 내의 배선 변경을 감지하는 단계(622), 제2 모드가 선택된 경우에 실행되는 링 오실레이터로부터 전달되는 두 개의 출력 신호를 쉴드 내의 서로 다른 영역으로 통과 시키는 단계(631) 및 두 개의 귀환 신호의 위상을 비교하여 마이크로 프로빙을 감지하는 단계(632)를 포함할 수 있다.
단계(610)에서 반도체 칩에 포함되는 제어부는 상기 반도체 칩에 관한 보호 모드를 선택할 수 있다. 보다 구체적으로, 제어부는 배선 변경을 검출하는 제1 모드 및 프로빙 공격을 검출하는 제2 모드 중 어느 하나를 선택할 수 있다. 다른 일실시예로서, 제어부는 미리 지정된 시간 주기에 따라 반복적으로 제1 모드에서 제2 모드로 또는 제2 모드에서 제1 모드로, 동작 모드를 변경할 수 있다.
제1 모드가 선택된 경우, 단계(621)에서 제어부는 난수 발생기에서 전달되는 구성 신호를 초퍼 어레이에 전달하여 쉴드 내의 메탈 라인의 라우팅 토폴로지를 변경할 수 있다. 또한, 단계(622)에서 반도체 칩에 포함되는 감지부는 난수 발생기에서 직접적으로 전달되는 레퍼런스 신호와 출력 신호를 비교하여 쉴드 내의 배선 변경을 감지할 수 있다. 단계(621) 및 단계(622)에 관한 구체적 설명은 앞서 도 2a 및 도 4a에서 설명된 반도체 칩에 관한 설명이 그대로 적용될 수 있어 중복되는 설명은 생략하기로 한다.
제2 모드가 선택된 경우, 단계(631)에서 제어부는 링 오실레이터로부터 전달되는 두 개의 출력 신호를 쉴드 내의 서로 다른 영역으로 통과시킬 수 있다. 또한, 단계(632)에서 반도체 칩에 포함되는 감지부는 제어부를 통해 출력되는 두 개의 귀환 신호의 위상을 비교하여 마이크로 프로빙을 감지할 수 있다. 마찬가지로, 단계(631) 및 단계(632)에 관한 구체적 설명은 앞서 도 2a 및 도 4a에서 설명된 반도체 칩에 관한 설명이 그대로 적용될 수 있어 중복되는 설명은 생략하기로 한다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (16)

  1. 데이터를 처리하는 프로세서;
    메탈 라인을 포함하며 상기 프로세서의 상부에 배치되는 쉴드;
    레퍼런스 신호를, 상기 레퍼런스 신호가 상기 쉴드를 통과하여 출력되는 출력 신호와 비교함으로써 상기 쉴드 내에 배선 변경이 있는지 여부를 감지하는 감지부; 및
    상기 메탈 라인의 라우팅 토폴로지를 제1 상태로 구성하고, 상기 라우팅 토폴로지를 상기 제1 상태로부터 제2 상태로 변경하여 구성하는 컨트롤러
    를 포함하는 반도체 칩.
  2. 제1항에 있어서,
    상기 컨트롤러가 상기 라우팅 토폴로지를 구성하도록 하는 구성 신호(configuration signal)을 제공하는 난수 생성기
    를 더 포함하는 반도체 칩.
  3. 제2항에 있어서,
    상기 컨트롤러는 상기 난수 생성기가 제공하는 상기 구성 신호에 따라 상기 라우팅 토폴로지를 변경할 수 있는 적어도 하나의 초퍼 어레이를 포함하는 반도체 칩.
  4. 제2항에 있어서,
    상기 난수 생성기는 시간에 따라 주기적으로 상기 구성 신호를 무작위로 변경하여 상기 컨트롤러가 상기 라우팅 토폴로지를 지속적으로 바꾸도록 하는 반도체 칩.
  5. 제2항에 있어서,
    상기 레퍼런스 신호는 상기 난수 생성기가 상기 구성 신호와 별도로 만드는 신호인 반도체 칩.
  6. 제1항에 있어서,
    상기 레퍼런스 신호는 서로 독립적으로 생성되는 제1 입력 신호 및 제2 입력 신호를 포함하고, 상기 감지부는 상기 제1 입력 신호 및 상기 제2 입력 신호가 각각 상기 쉴드를 통과해서 출력되는 제1 출력 신호 및 제2 출력 신호를 상기 제1 입력 신호 및 상기 제2 입력 신호와 비교하여 상기 쉴드 내에 배선 변경이 있는지의 여부를 감지하는 반도체 칩.
  7. 제5항에 있어서,
    상기 감지부는 상기 메탈 라인의 라우팅 토폴로지에 따라 상기 제1 입력 신호를 서로 다른 포트에서 출력되는 제1 출력 신호 및 제2 출력 신호 중 어느 하나와 비교하여 상기 쉴드 내에 배선 변경이 있는지의 여부를 감지하는 반도체 칩.
  8. 제2항에 있어서,
    상기 컨트롤러는 상기 적어도 하나의 초퍼 어레이 각각을 상기 구성 신호 내의 미리 지정된 비트에 매칭하고, 매칭되는 비트 값의 변화에 따라 대응하는 초퍼 어레이를 이용하여 라우팅 토폴로지를 변경하는 반도체 칩.
  9. 데이터를 처리하는 프로세서;
    메탈 라인을 포함하며 상기 프로세서의 상부에 배치되는 쉴드;
    제1 링 오실레이터의 출력을 상기 쉴드의 제1 영역을 통과시켜 상기 제1 링 오실레이터 입력으로 귀환하고, 상기 제1 링 오실레이터와 동기화된 제2 링 오실레이터의 출력을 상기 쉴드의 제2 영역을 통과시켜 상기 제2 링 오실레이터 입력으로 귀환하는 링 오실레이터 블록; 및
    상기 제1 링 오실레이터와 상기 제2 링 오실레이터의 발진 위상을 비교하여 상기 쉴드의 전기적 프로빙이 있는지의 여부를 감지하는 감지부
    를 포함하는 반도체 칩.
  10. 제9항에 있어서,
    상기 제1 영역에서 상기 제1 링 오실레이터의 전송 경로가 병렬 다중화되고, 상기 제2 영역에서 상기 제2 링 오실레이터의 전송 경로가 병렬 다중화되는 반도체 칩.
  11. 제9항에 있어서,
    상기 감지부는 리셋 신호를 상기 링 오실레이터 블록으로 전달하여, 상기 제1 링 오실레이터와 상기 제2 링 오실레이터를 주기적으로 동기화하는 반도체 칩.
  12. 제11항에 있어서,
    상기 제1 링 오실레이터 및 상기 제2 링 오실레이터는 상기 리셋 신호에 따라 동일한 위상을 갖는 클락 신호를 생성하는 반도체 칩.
  13. 데이터를 처리하는 프로세서;
    메탈 라인을 포함하며 상기 프로세서의 상부에 배치되는 쉴드;
    상기 쉴드 내에 배선 변경이 있는지의 여부 및 상기 쉴드에 관한 전기적 프로빙이 있는지의 여부 중 적어도 하나를 감지하는 감지부; 및
    반도체 칩에 관한 배선 변경을 감지하는 제1 모드 및 상기 반도체 칩에 관한 마이크로 프로빙을 감지하는 제2 모드 중 어느 하나를 선택하여 선택된 모드에 상응하는 신호를 상기 감지부로 전달하는 컨트롤러
    를 포함하는 반도체 칩.
  14. 제13항에 있어서,
    상기 제1 모드가 선택된 경우에, 상기 컨트롤러는 상기 메탈 라인의 라우팅 토폴로지를 제1 상태로 구성하고, 상기 라우팅 토폴로지를 상기 제1 상태로부터 제2 상태로 변경하여 구성하고, 상기 감지부는 전달되는 레퍼런스 신호를, 상기 레퍼런스 신호가 상기 쉴드를 통과해서 출력되는 출력 신호와 비교함으로써 상기 쉴드 내에 배선 변경이 있는지의 여부를 감지하는 반도체 칩.
  15. 제14항에 있어서,
    상기 컨트롤러가 상기 라우팅 토폴로지를 구성하도록 하는 구성 신호(configure signal)을 제공하는 난수 생성기
    를 더 포함하고,
    상기 컨트롤러는 상기 난수 생성기가 제공하는 상기 구성 신호에 따라 상기 라우팅 토폴로지를 변경할 수 있는 적어도 하나의 초퍼 어레이를 포함하는 반도체 칩.
  16. 제13항에 있어서,
    제1 링 오실레이터의 출력을 상기 쉴드의 제1 영역을 통과시켜 상기 제1 링 오실레이터 입력으로 귀환하고, 상기 제1 오실레이터와 동기화된 제2 링 오실레이터의 출력을 상기 쉴드의 제2 영역을 통과시켜 상기 제2 링 오실레이터 입력으로 귀환하는 링 오실레이터 블록
    을 더 포함하고,
    상기 제2 모드가 선택된 경우에, 상기 컨트롤러는 제1 링 오실레이터 및 상기 제2 링 오실레이터 각각의 출력 신호가 상기 쉴드 내의 대응 영역을 통과하여 상기 감지부로 전달되도록 제어하는 반도체 칩.
PCT/KR2017/001492 2016-02-12 2017-02-10 보안 반도체 칩 및 그 동작 방법 WO2017138774A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/076,510 US10972460B2 (en) 2016-02-12 2017-02-10 Secure semiconductor chip and operating method thereof
CN201780011631.5A CN108701193B (zh) 2016-02-12 2017-02-10 安全半导体芯片及其工作方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20160016587 2016-02-12
KR10-2016-0016587 2016-02-12
KR1020170018693A KR102666955B1 (ko) 2016-02-12 2017-02-10 보안 반도체 칩 및 그 동작 방법
KR10-2017-0018693 2017-02-10

Publications (1)

Publication Number Publication Date
WO2017138774A1 true WO2017138774A1 (ko) 2017-08-17

Family

ID=59563347

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/001492 WO2017138774A1 (ko) 2016-02-12 2017-02-10 보안 반도체 칩 및 그 동작 방법

Country Status (1)

Country Link
WO (1) WO2017138774A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117693A1 (en) * 2002-03-29 2004-06-17 Hitachi, Ltd. Data processing system
US20060250239A1 (en) * 2005-05-06 2006-11-09 Melton Randall W Security method for data protection
US20090024890A1 (en) * 2006-02-09 2009-01-22 Nxp B.V. Circuit arrangement, data processing device comprising such circuit arrangement as well as method for identifying an attack on such circuit arrangement
US20140191781A1 (en) * 2011-11-18 2014-07-10 Tubitak Active shield with electrically configurable interconnections
US20140353849A1 (en) * 2013-05-30 2014-12-04 Mohit Arora System for preventing tampering with integrated circuit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117693A1 (en) * 2002-03-29 2004-06-17 Hitachi, Ltd. Data processing system
US20060250239A1 (en) * 2005-05-06 2006-11-09 Melton Randall W Security method for data protection
US20090024890A1 (en) * 2006-02-09 2009-01-22 Nxp B.V. Circuit arrangement, data processing device comprising such circuit arrangement as well as method for identifying an attack on such circuit arrangement
US20140191781A1 (en) * 2011-11-18 2014-07-10 Tubitak Active shield with electrically configurable interconnections
US20140353849A1 (en) * 2013-05-30 2014-12-04 Mohit Arora System for preventing tampering with integrated circuit

Similar Documents

Publication Publication Date Title
CN108701193B (zh) 安全半导体芯片及其工作方法
WO2015102359A1 (ko) 랜덤한 디지털 값을 생성하는 장치 및 방법
US9523736B2 (en) Detection of fault injection attacks using high-fanout networks
WO2012077856A1 (ko) 식별키 생성 장치 및 방법
WO2015102253A1 (ko) 디지털 값 처리 장치 및 방법
EP2962534B1 (en) Anti-tamper system based on dual random bits generators for integrated circuits
US9494645B2 (en) Method for testing cryptographic circuits, secured cryptographic circuit capable of being tested, and method for wiring such circuit
EP0369193A2 (en) Collision crossbar switch
WO2018199539A1 (ko) 식별키 생성장치 및 식별키 생성방법
WO2015053441A1 (ko) 식별키 생성 장치 및 방법
US20210243041A1 (en) System and method for performing netlist obfuscation for a semiconductor device
US10043766B2 (en) Protected integrated circuit
WO2017138774A1 (ko) 보안 반도체 칩 및 그 동작 방법
WO2014119834A1 (ko) 리셋 신호 경로상의 버퍼를 이용한 광학 오류 주입 탐지 회로
US10339979B2 (en) Secure protection block and function block system and method
US9007943B2 (en) Methods and structure for reduced layout congestion in a serial attached SCSI expander
WO2015053440A1 (ko) 식별 키 생성 장치 및 방법
JPWO2015008335A1 (ja) 半導体装置
WO2017138773A1 (ko) 보안 반도체 칩 및 그 동작 방법
US20230124622A1 (en) Alarm Systems and Circuits
Rao et al. Analysis of the Security Vulnerabilities of 2.5-D and 3-D Integrated Circuits
KR102666955B1 (ko) 보안 반도체 칩 및 그 동작 방법
US20150339252A1 (en) Embedded Extensible Instrumentation Bus
Zhang et al. Comprehensive Analysis on Hardware Trojans in 3D ICs: Characterization and Experimental Impact Assessment
US20100026337A1 (en) Interdependent Microchip Functionality for Defeating Exploitation Attempts

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17750466

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17750466

Country of ref document: EP

Kind code of ref document: A1