JP2011107930A - Semiconductor integrated circuit, information processor, data processing method and program - Google Patents

Semiconductor integrated circuit, information processor, data processing method and program Download PDF

Info

Publication number
JP2011107930A
JP2011107930A JP2009261555A JP2009261555A JP2011107930A JP 2011107930 A JP2011107930 A JP 2011107930A JP 2009261555 A JP2009261555 A JP 2009261555A JP 2009261555 A JP2009261555 A JP 2009261555A JP 2011107930 A JP2011107930 A JP 2011107930A
Authority
JP
Japan
Prior art keywords
test
input
scan
chain
unit
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.)
Withdrawn
Application number
JP2009261555A
Other languages
Japanese (ja)
Inventor
Masafumi Kusakawa
雅文 草川
Shigeki Teramoto
茂樹 寺本
Yoshikazu Miyato
良和 宮戸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2009261555A priority Critical patent/JP2011107930A/en
Publication of JP2011107930A publication Critical patent/JP2011107930A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a configuration which prevents leakage of confidential information leak via a scan chain. <P>SOLUTION: Sub chains are set which are obtained, by dividing the scan chain set as a test path for an IC (an integrated circuit) into a plurality of sub paths, and then a dummy sub chain is constituted, such that scan test data can be input and confidential information is not included. A control circuit for performing control of the scan test determines the validity of a test key to be inputted from an external portions. When it is determined that the input test key is not valid, the dummy sub chain is selected as an object to perform the scan test to perform the scan test. According to this processing, all the scan-out results based on the input data of an attacker are allowed as data that utilize the dummy sub chain; and hence, leakage of confidential information is prevented. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、半導体集積回路、情報処理装置、およびデータ処理方法、並びにプログラムに関する。さらに詳細には、半導体集積回路のテスト用回路であるスキャン回路からの情報漏洩を防止する構成を持つ半導体集積回路、情報処理装置、およびデータ処理方法、並びにプログラムに関する。   The present invention relates to a semiconductor integrated circuit, an information processing apparatus, a data processing method, and a program. More specifically, the present invention relates to a semiconductor integrated circuit, an information processing apparatus, a data processing method, and a program having a configuration that prevents information leakage from a scan circuit that is a test circuit for the semiconductor integrated circuit.

現代社会はカード社会と呼ばれるほど、クレジットカード、キャッシュカード、プリペイドカード、身分証明書、各種会員証等、多種多様なカードが利用されており、日常生活に欠かせないものとなっている。このような各種カードには、多くの場合、利用者の個人情報など機密性の高い情報が記録されている。従来から多く利用されていた磁気カードは、カード上の磁気ストライプに情報を記録していたため、スキミングと呼ばれる磁気情報の不正な読み取りや改竄が容易に可能であるという問題点が存在する。また、カードの普及に伴って多種多様なサービスが提供されつつあり、カードに格納される情報はますます多量化、高価値化している。よって現在では、より大量のデータを安全に保護可能なカードが必要不可欠となってきている。   The modern society is called a card society, and a wide variety of cards such as credit cards, cash cards, prepaid cards, identification cards, and various membership cards are used and are indispensable for daily life. Such various cards often record highly confidential information such as user personal information. Magnetic cards that have been widely used in the past have recorded information on the magnetic stripe on the card, and therefore there is a problem that it is possible to easily read and tamper with magnetic information called skimming. In addition, with the widespread use of cards, a wide variety of services are being provided, and the information stored on the cards is becoming increasingly large and highly valued. Therefore, a card that can safely protect a larger amount of data is now indispensable.

このような要求を満たすものとして、カード内部に半導体集積回路(IC)を搭載したICカードがある。ICカードには接触型と非接触型の二種類が存在するが、いずれのタイプにおいても、各種情報をIC内の不揮発性メモリ内に格納するため、磁気カードよりも多くの情報を記録可能である。また、各種情報の他プログラム等のアプリケーションもIC内部に保持することが可能であり、磁気カードと比較して安全性が向上する。このようにICカードは利便性や秘密保持性の点で優れており、現在では、クレジットカード、電子マネー、あるいは衛星有料放送用のカードなど様々な分野で多く利用されている。   In order to satisfy such a requirement, there is an IC card in which a semiconductor integrated circuit (IC) is mounted inside the card. There are two types of IC cards, contact type and non-contact type. In either type, various information is stored in the nonvolatile memory in the IC, so more information can be recorded than the magnetic card. is there. In addition, various information and other applications such as programs can be held in the IC, and safety is improved as compared with a magnetic card. As described above, the IC card is excellent in terms of convenience and confidentiality, and is currently widely used in various fields such as a credit card, electronic money, and a satellite pay broadcast card.

しかしながら、一方ではICカード等の半導体集積回路から秘密情報を盗み取るといった攻撃による被害も発生している。例えば非特許文献1、2には、ICに対する解析技術を利用した攻撃手法が開示されている。また、非特許文献3は、IC自身のテスト回路を利用することにより、内部構造や秘密情報を取得する攻撃手法を開示している。このような様々な攻撃手法に対抗するため、ICに対する不正解析への対策が必要不可欠となってきている。   However, on the other hand, damage caused by attacks such as stealing secret information from a semiconductor integrated circuit such as an IC card has also occurred. For example, Non-Patent Documents 1 and 2 disclose attack methods using analysis techniques for ICs. Non-Patent Document 3 discloses an attack technique for acquiring an internal structure and secret information by using a test circuit of the IC itself. In order to counter these various attack methods, countermeasures against fraud analysis on ICs have become indispensable.

ICへの攻撃や解析手法の1つとして、上記非特許文献3に開示されたICの内部構造を検査するためのスキャンテスト(scan test)用の回路を利用した処理がある。このスキャン回路を利用した攻撃は、ICに対して所定のデータ入出力を行って内部の構造や内部に格納された秘密情報等を解析するものである。この処理ではICのリバースエンジニアリングが不要であり、ICを破壊することなく解析が可能となる。   As one of the attacks and analysis methods for the IC, there is a process using a scan test circuit disclosed in Non-Patent Document 3 for inspecting the internal structure of the IC. The attack using the scan circuit is to analyze the internal structure and secret information stored in the IC by inputting / outputting predetermined data to / from the IC. This process does not require reverse engineering of the IC, and analysis can be performed without destroying the IC.

従って、ICカード等の安全対策としてスキャン回路を利用した攻撃に対する対策を講じることは必要不可欠となっている。なお、スキャンテストについては、例えば特許文献1に記載がある。   Therefore, it is indispensable to take measures against attacks using scan circuits as safety measures for IC cards and the like. The scan test is described in, for example, Patent Document 1.

IC(半導体集積回路)にはフリップフロップ(FF)が多数利用されている。
スキャンテスト(scan test)は、このIC内部に構成されたフリップフロップ(FF)等の連鎖構成であるスキャンチェイン、すなわちスキャン回路を利用したデータ入出力処理によりIC内部の回路が正常に動作するか否か等を確認するため、ICの製造時のテストとして行われる。
Many flip-flops (FF) are used in ICs (semiconductor integrated circuits).
The scan test is a scan chain having a chain configuration such as a flip-flop (FF) configured inside the IC, that is, whether the circuit inside the IC operates normally by data input / output processing using the scan circuit. In order to confirm whether or not, it is performed as a test at the time of manufacturing the IC.

スキャン回路は、IC製造時のテスト用回路として不可欠なものとなっているが、攻撃者は、このスキャン回路を利用して様々なデータを入力し、その出力を解析することでICの内部構造や内部の格納情報を不正に取得するという攻撃を行う。   The scan circuit is indispensable as a test circuit during IC manufacturing, but an attacker inputs various data using this scan circuit and analyzes the output to analyze the internal structure of the IC. And attacks that illegally acquire internal storage information.

スキャンチェインの構成要素であるフリップフロップ(FF)は、ビット値(0,1)を保持し、ビット値入出力を高速に行うことが可能であり、例えばキャッシュメモリやレジスタ、その他の電子回路を構成する素子として多く利用されている。   A flip-flop (FF), which is a component of the scan chain, holds bit values (0, 1) and can input / output bit values at high speed. For example, a cache memory, a register, and other electronic circuits Many are used as constituent elements.

このようなスキャン回路を利用した不正解析を防止するための対策法の一つとして、非特許文献4に開示されたLee、Tehranipoor、Patel、及びPlusquellicらによって提案された方式(以降LTPP05と呼ぶ)が存在する。   As one of countermeasures for preventing illegal analysis using such a scan circuit, a method proposed by Lee, Tehranipoor, Patel, and Plusquelic et al. Disclosed in Non-Patent Document 4 (hereinafter referred to as LTPP05). Exists.

この非特許文献4に記載のスキャン回路攻撃の対策方式[LTPP05]は、スキャンテストに適用するスキャンチェインを複数本のサブチェインに分割し、テスト回路に製造者のみが知る多項式を生成多項式としたLFSR(線形帰還シフトレジスタ)を構成している。   This scan circuit attack countermeasure method [LTPP05] described in Non-Patent Document 4 divides a scan chain to be applied to a scan test into a plurality of subchains, and uses a polynomial known only to the manufacturer in the test circuit as a generator polynomial. An LFSR (linear feedback shift register) is configured.

テスト実行時には、LFSRに設定した値によって1つのサブチェインを選択して、選択したサブチェインにテスト用データを入力して選択サブチェインに接続されているスキャンフリップフロップ(SFF:Scan Flip−Flop)から出力される値を出力する構成としている。   At the time of test execution, a scan flip-flop (SFF: Scan Flip-Flop) that selects one sub-chain according to the value set in the LFSR, inputs test data to the selected sub-chain, and is connected to the selected sub-chain The value output from is output.

また、テスト回路を利用するために必要な情報として、秘密のテストキー(TK:Test Key)を利用する構成としている。
スキャンテストの実行時には、テストキー(TK)を入力させ、内部に保持した正当なテストキーとの一致確認を行う。入力テストキーが内部に保持したテストキーと一致するならばLFSRの初期値を外部から設定可能とし、不一致ならばランダムな値がLFSRに自動的に設定される構成としている。
Further, a secret test key (TK) is used as information necessary for using the test circuit.
At the time of executing the scan test, a test key (TK) is input, and a match with a valid test key held inside is confirmed. If the input test key matches the test key held inside, the initial value of the LFSR can be set from the outside. If the input test key does not match, a random value is automatically set in the LFSR.

この構成により、テストキー(TK)を知る正当なテスト実行者ならば、既知の構造をもつLFSRに対して任意の初期値を設定可能となるため、任意のサブチェインに対して任意のテストパターンを設定した上でスキャンテストを実施可能となる。   With this configuration, any valid tester who knows the test key (TK) can set an arbitrary initial value for an LFSR having a known structure, so an arbitrary test pattern can be set for an arbitrary subchain. Scan test can be performed after setting.

しかし、テストキー(TK)を知らない攻撃者は、LFSRの生成多項式が未知である上にその初期値を設定することが不可能となる。このため、スキャンテストを実行して自身が設定したテストパターンに対するテスト結果を取得したとしても、LFSRの値によって選択されたサブチェインを特定することが不可能となる。従って、ICからの出力テスト結果が、どのサブチェインの出力かを特定することができず、入力テストパターンと出力結果との対応付けが困難となり、スキャン回路を利用したIC内部構造の不正な解析を防止することを可能としている。   However, an attacker who does not know the test key (TK) has an unknown LFSR generator polynomial and cannot set its initial value. For this reason, even if the scan test is executed and the test result for the test pattern set by itself is acquired, it is impossible to specify the subchain selected by the LFSR value. Therefore, it is impossible to specify which sub-chain is the output test result from the IC, making it difficult to associate the input test pattern with the output result, and illegal analysis of the IC internal structure using the scan circuit It is possible to prevent.

しかしながら、この非特許文献4に開示された攻撃対策方式[LTPP05]の構成では、テストキー(TK)が不一致であったとしても、機密であるべきICの内部構造に対するテスト結果自体、スキャン回路の出力部から出力される。
従って、攻撃者が入力テストパターンと出力テスト結果の対応が把握できれば、不正解析が可能となるという問題点が存在する。
However, in the configuration of the attack countermeasure method [LTPP05] disclosed in Non-Patent Document 4, even if the test key (TK) does not match, the test result for the internal structure of the IC that should be kept secret, Output from the output unit.
Therefore, there is a problem that if the attacker can grasp the correspondence between the input test pattern and the output test result, fraud analysis is possible.

非特許文献4では、LFSRの長さを適切に設定することにより、この入出力パターンの対応関係を特定することが計算量的に困難とすることができると述べているが、本明細書において後段で説明する通り、実際には非特許文献4に示された解析方法よりも効率的な解析方法が存在する。従って、当該非特許文献4に示されたLFSRの長さ程度では、現実的な計算量の範囲内で解析が可能となり、安全対策として不十分であるという問題点が存在する。   Non-Patent Document 4 states that it is difficult to specify the correspondence between the input and output patterns by calculating the length of the LFSR appropriately. As will be described later, there is actually an analysis method that is more efficient than the analysis method disclosed in Non-Patent Document 4. Accordingly, there is a problem that the length of the LFSR shown in Non-Patent Document 4 can be analyzed within a practical calculation amount range and is insufficient as a safety measure.

特許第3671948号公報Japanese Patent No. 3671948

R.Andeson and M.G.Kuhn,"Tamper Resistance−a Cautionary Note,"The Second USENIX Workshop on Electronic Commerce,pp.1−11,1996.R. Andeson and M.M. G. Kuhn, “Tamper Resistance-a Category Note,” The Second USENIX Workshop on Electrical Commerce, pp. 1-11, 1996. O.Kommerling and M. G. Kuhn,"Design Principles for Tamper−Resistant Smartcard Processors,"Smartcard '99,pp.9−20,1999.O. Kommerling and M.M. G. Kuhn, "Design Principles for Tamper-Resistant Smartcard Processors," Smartcard '99, pp. 9-20, 1999. B.Yang,K.Wu,and R.Karri,"Secure Scan:A Design−for−Test Architecture for Crypto Chips,"42th Design Automation Conference 2005,pp.135−140,2005.B. Yang, K .; Wu, and R.W. Karri, "Secure Scan: A Design-for-Test Architecture for Crypto Chips," 42th Design Automation Conference 2005, pp. 135-140, 2005. J.Lee,M.Tehranipoor,C.Patel,and J.Plusquellic,"Securing Scan Design Using Lock&Key Technique,"IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems(DFT'05),2005.J. et al. Lee, M.C. Tehranipoor, C.I. Patel, and J.M. Plusquelic, “Securing Scan Design Using Lock & Key Technique,” IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems (T5).

本発明は、例えば上述の問題点に鑑みてなされたものであり、IC(半導体集積回路)のスキャンチェインを利用した攻撃による情報漏洩の防止を実現する半導体集積回路、情報処理装置、およびデータ処理方法、並びにプログラムを提供することを目的とする。   The present invention has been made in view of the above-described problems, for example. A semiconductor integrated circuit, an information processing apparatus, and data processing for preventing information leakage due to an attack using a scan chain of an IC (semiconductor integrated circuit) It is an object to provide a method and a program.

本発明の第1の側面は、
集積回路におけるスキャンテスト用パスであるスキャンチェインを複数のサブパスに分割して設定した複数のサブチェインと、
スキャンテストデータを入力可能なダミーサブチェインと、
外部から入力するテストキーの正当性を判定するテストキー確認部と、
入力テストキーが正当でないと判定した場合、前記ダミーサブチェインをスキャンテストの実行対象として選択するテスト制御部と、
を有する半導体集積回路にある。
The first aspect of the present invention is:
A plurality of subchains set by dividing a scan chain, which is a scan test path in an integrated circuit, into a plurality of subpaths;
A dummy sub-chain capable of inputting scan test data;
A test key confirmation unit for determining the validity of a test key input from the outside;
If it is determined that the input test key is not valid, a test control unit that selects the dummy sub-chain as a scan test execution target; and
In a semiconductor integrated circuit having

さらに、本発明の半導体集積回路の一実施態様において、前記テスト制御部は、スキャンテストの実行対象とするサブチェインを選択するための選択用データを入力データに基づいて生成するLFSR部(線形帰還シフトレジスタ)と、入力テストキーが正当でない場合、前記LFSR部に前記ダミーサブチェインをスキャンテストの実行対象として選択するデータを設定する制御部を有する。   Furthermore, in one embodiment of the semiconductor integrated circuit of the present invention, the test control unit generates an LFSR unit (linear feedback) for generating selection data for selecting a subchain to be subjected to a scan test based on input data. When the input test key is not valid, the LFSR unit includes a control unit that sets data for selecting the dummy sub-chain as a scan test execution target.

さらに、本発明の半導体集積回路の一実施態様において、前記テスト制御部は、入力テストキーが正当でない場合、前記ダミーサブチェインに乱数を入力する構成を有する。   Furthermore, in one embodiment of the semiconductor integrated circuit of the present invention, the test control unit has a configuration for inputting a random number to the dummy sub-chain when the input test key is not valid.

さらに、本発明の半導体集積回路の一実施態様において、前記テスト制御部は、乱数生成部を有し、入力テストキーが正当でない場合、前記乱数生成部の生成した乱数を前記ダミーサブチェインに入力する構成を有する。   Furthermore, in one embodiment of the semiconductor integrated circuit of the present invention, the test control unit includes a random number generation unit, and when the input test key is not valid, the random number generated by the random number generation unit is input to the dummy subchain. It has the composition to do.

さらに、本発明の半導体集積回路の一実施態様において、前記LFSR部は、原始多項式を生成多項式とした構成を持つ。   Furthermore, in one embodiment of the semiconductor integrated circuit of the present invention, the LFSR section has a configuration in which a primitive polynomial is a generator polynomial.

さらに、本発明の半導体集積回路の一実施態様において、前記ダミーサブチェインは、機密情報を保持しない回路構成を有する。   Furthermore, in one embodiment of the semiconductor integrated circuit of the present invention, the dummy sub-chain has a circuit configuration that does not hold confidential information.

さらに、本発明の第2の側面は、上記半導体集積回路を備えた情報処理装置にある。   Furthermore, a second aspect of the present invention resides in an information processing apparatus provided with the above semiconductor integrated circuit.

さらに、本発明の第3の側面は、
情報処理装置においてスキャンテストを実行するデータ処理方法であり、
前記情報処理装置は集積回路を備えた構成であり、前記集積回路はスキャンテスト用パスであるスキャンチェインを複数のサブパスに分割して設定した複数のサブチェインと、スキャンテストデータを入力可能なダミーサブチェインを有し、
前記情報処理装置のテストキー確認部が、外部から入力するテストキーの正当性を判定するテストキー確認ステップと、
前記情報処理装置のテスト制御部が、入力テストキーが正当でないと判定した場合、前記ダミーサブチェインをスキャンテストの実行対象として選択するテスト制御ステップと、
を実行するデータ処理方法にある。
Furthermore, the third aspect of the present invention provides
A data processing method for executing a scan test in an information processing apparatus,
The information processing apparatus includes an integrated circuit, and the integrated circuit includes a plurality of subchains set by dividing a scan chain, which is a scan test path, into a plurality of subpaths, and a dummy capable of inputting scan test data. Have a sub-chain,
A test key checking step of the information processing apparatus for determining the validity of the test key input from the outside;
When the test control unit of the information processing apparatus determines that the input test key is not valid, a test control step of selecting the dummy sub-chain as a scan test execution target;
There is a data processing method to execute.

さらに、本発明の第4の側面は、
情報処理装置においてスキャンテストを実行させるプログラムであり、
前記情報処理装置は集積回路を備えた構成であり、前記集積回路はスキャンテスト用パスであるスキャンチェインを複数のサブパスに分割して設定した複数のサブチェインと、スキャンテストデータを入力可能なダミーサブチェインを有し、
前記情報処理装置のテストキー確認部に、外部から入力するテストキーの正当性を判定させるテストキー確認ステップと、
前記情報処理装置のテスト制御部に、入力テストキーが正当でないと判定した場合、前記ダミーサブチェインをスキャンテストの実行対象として選択させるテスト制御ステップと、
を実行させるプログラムにある。
Furthermore, the fourth aspect of the present invention provides
A program for executing a scan test in an information processing device,
The information processing apparatus includes an integrated circuit, and the integrated circuit includes a plurality of subchains set by dividing a scan chain, which is a scan test path, into a plurality of subpaths, and a dummy capable of inputting scan test data. Have a sub-chain,
A test key confirmation step for causing the test key confirmation unit of the information processing apparatus to determine the validity of the test key input from the outside;
When the test control unit of the information processing apparatus determines that the input test key is not valid, a test control step for selecting the dummy subchain as a scan test execution target;
It is in the program that executes

なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な画像処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。   The program of the present invention is a program that can be provided by, for example, a storage medium or a communication medium provided in a computer-readable format to an image processing apparatus or a computer system that can execute various program codes. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the information processing apparatus or the computer system.

本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings. In this specification, the system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.

本発明の一実施例によれば、IC(集積回路)のテスト用パスとして設定されたスキャンチェインを複数のサブパスに分割したサブチェインを設定し、さらに、スキャンテストデータを入力可能とし秘密情報が含まれないダミーサブチェインを構成した。スキャンテストの制御を実行する制御回路は、外部から入力するテストキーの正当性を判定し、入力テストキーが正当でないと判定した場合、ダミーサブチェインをスキャンテストの実行対象として選択してスキャンテストを実行する。この処理により、攻撃者の入力データに基づくスキャンアウト結果は、すべてダミーサブチェインを利用したデータとなり秘密情報の漏洩が防止される。   According to an embodiment of the present invention, a scan chain set as a test path for an IC (integrated circuit) is divided into a plurality of sub-paths, and scan test data can be input so that secret information can be input. A dummy sub-chain that was not included was configured. The control circuit that executes the control of the scan test determines the validity of the test key input from the outside. If the input test key is determined not to be valid, the control circuit selects the dummy sub-chain as the scan test execution target. Execute. By this process, all scan-out results based on the attacker's input data become data using the dummy subchain, and leakage of secret information is prevented.

半導体集積回路におけるスキャンチェインを適用した攻撃に対する対策としてサブチェインを利用した対策手法[LTPP05]について説明する図である。It is a figure explaining the countermeasure method [LTPP05] using a subchain as a countermeasure with respect to the attack which applied the scan chain in a semiconductor integrated circuit. 図1に示すサブチェインを利用した対策手法[LTPP05]の処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the process sequence of the countermeasure technique [LTPP05] using the subchain shown in FIG. 図1に示すサブチェインを利用した対策手法[LTPP05]に用いられたLFSR部の構成について説明する図である。It is a figure explaining the structure of the LFSR part used for the countermeasure technique [LTPP05] using the subchain shown in FIG. 本発明の第一実施形態に係る半導体集積回路におけるスキャンチェインを適用した攻撃に対する対策手法について説明するIC(半導体集積回路)の構成について説明する図である。It is a figure explaining the structure of IC (semiconductor integrated circuit) explaining the countermeasure method with respect to the attack which applied the scan chain in the semiconductor integrated circuit which concerns on 1st embodiment of this invention. 図4に示す本発明の第一実施形態に係る半導体集積回路における処理シーケンスについて説明するフローチャートを示す図である。FIG. 5 is a flowchart illustrating a processing sequence in the semiconductor integrated circuit according to the first embodiment of the present invention shown in FIG. 4. 図4に示す本発明の第一実施形態に係る半導体集積回路に用いられるLFSR部の構成について説明する図である。FIG. 5 is a diagram illustrating a configuration of an LFSR unit used in the semiconductor integrated circuit according to the first embodiment of the present invention illustrated in FIG. 4. 本発明の第二実施形態に係る半導体集積回路におけるスキャンチェインを適用した攻撃に対する対策手法について説明するIC(半導体集積回路)の構成について説明する図である。It is a figure explaining the structure of IC (semiconductor integrated circuit) explaining the countermeasure method with respect to the attack which applied the scan chain in the semiconductor integrated circuit which concerns on 2nd embodiment of this invention. 図7に示す本発明の第二実施形態に係る半導体集積回路における処理シーケンスについて説明するフローチャートを示す図である。It is a figure which shows the flowchart explaining the process sequence in the semiconductor integrated circuit which concerns on 2nd embodiment of this invention shown in FIG.

以下、図面を参照しながら本発明の半導体集積回路、情報処理装置、およびデータ処理方法、並びにプログラムの詳細について説明する。説明は、以下の項目に従って行う。
1.サブチェインの利用による攻撃対策方式[LTPP05]の概要について
2.攻撃対策方式[LTPP05]の問題点について
3.本発明の半導体集積回路の構成例について
3−1.ダミーサブチェインを用いた本発明の第一実施形態の構成および処理について
3−2.ダミーサブチェインからの出力値をランダムな値に設定する構成を持つを本発明の第二実施形態の構成および処理について
Hereinafter, the details of a semiconductor integrated circuit, an information processing apparatus, a data processing method, and a program according to the present invention will be described with reference to the drawings. The description will be made according to the following items.
1. 1. Outline of attack countermeasure method [LTPP05] using sub-chain 2. Problems with attack countermeasure method [LTPP05] 3. Configuration example of semiconductor integrated circuit of the present invention 3-1. Configuration and processing of the first embodiment of the present invention using a dummy subchain 3-2. The configuration and processing of the second embodiment of the present invention has a configuration in which the output value from the dummy subchain is set to a random value.

[1.サブチェインの利用による攻撃対策方式[LTPP05]の概要について]
まず、本発明の構成の説明の前に前述の非特許文献4に記載されたスキャンチェインを用いた攻撃対策手法である[LTPP05]の概要について説明する。
LTPP05におけるスキャンチェインおよびびテスト制御回路の概要について、図1を参照して説明する。
図1は、スキャンテストに適用するスキャンチェイン(スキャン回路)を持つIC(半導体集積回路)100を示している。
攻撃対策方式[LTPP05]において、スキャンチェインは図1に示すように複数(m個)のサブチェイン120−1〜mに分割して構成する。
[1. Overview of attack countermeasure method [LTPP05] using sub-chain]
First, before describing the configuration of the present invention, an outline of [LTPP05], which is an attack countermeasure technique using a scan chain described in Non-Patent Document 4 described above, will be described.
An outline of the scan chain and the test control circuit in LTPP05 will be described with reference to FIG.
FIG. 1 shows an IC (semiconductor integrated circuit) 100 having a scan chain (scan circuit) applied to a scan test.
In the attack countermeasure method [LTPP05], the scan chain is divided into a plurality (m pieces) of sub-chains 120-1 to 120-m as shown in FIG.

サブチェイン120−1〜mは、フリップフロップ(FF)や、演算回路、メモリなどの回路素子の連鎖構成を有する。なお、サブチェイン内に接続されたフリップフロップをスキャンフリップフロップ(SFF)と呼ぶ。
各サブチェイン120−1〜mに対しては、図1の下部に示すデータ入力部であるスキャンイン(SI)からの入力データに基づいて図1下部に示すテスト制御回路110が設定したデータ列が入力される。その処理結果は、マルチプレクサ130を介して出力部であるスキャンアウト(SO)から出力される。
The subchains 120-1 to 120-m have a chain configuration of circuit elements such as flip-flops (FF), arithmetic circuits, and memories. Note that a flip-flop connected in the subchain is called a scan flip-flop (SFF).
For each of the subchains 120-1 to 120-m, a data string set by the test control circuit 110 shown in the lower part of FIG. 1 based on the input data from the scan-in (SI) that is the data input unit shown in the lower part of FIG. Is entered. The processing result is output from the scan-out (SO) which is an output unit via the multiplexer 130.

なお、第1サブチェイン120−1〜第mサブチェイン120−mのm個のサブチェインのどのサブチェインにデータを入力するかについては、テスト制御回路110が決定する。選択されたサブチェインに図に示すイネーブル信号(EN1〜ENm)が入力され、その選択されたサブチェインにスキャン用のテストデータがテスト制御回路110を介して入力されスキャンテストが行われる。   Note that the test control circuit 110 determines which sub-chain of the m sub-chains of the first sub-chain 120-1 to the m-th sub-chain 120-m is to receive data. The enable signals (EN1 to ENm) shown in the figure are input to the selected subchain, and scan test data is input to the selected subchain via the test control circuit 110 to perform a scan test.

図1に示すように、テスト制御回路110は、乱数生成部118、制御部(FSM:Finit State Machine)111、テストキー(TK)一致確認回路部114、線形帰還シフトレジスタ(LFSR)部113、およびデコーダ(Decoder)部112を有する。   As shown in FIG. 1, the test control circuit 110 includes a random number generation unit 118, a control unit (FSM: Finish State Machine) 111, a test key (TK) match confirmation circuit unit 114, a linear feedback shift register (LFSR) unit 113, And a decoder unit 112.

LTPP05では、LFSRをqビット構成として、サブチェインの個数[m]を、
m=2−1
としている。
各サブチェイン120−1〜mは各々Lビット、即ちL個のSFF(スキャンフリップフロップ)が接続された構成を持つ。
In LTPP05, LFSR is q-bit configuration, and the number of subchains [m] is
m = 2 q −1
It is said.
Each of the subchains 120-1 to 120-m has a configuration in which L bits, that is, L SFFs (scan flip-flops) are connected.

以下、テスト制御回路110を構成する構成部の各々の機能について説明する。
なお、テスト制御回路110は以下の入力部を有する。
SI(スキャンイン):各サブチェインに対するテストデータ等の入力部、
TC:(テストコントロール):スキャンテストの開始を示すイネーブル信号(enable)と、終了を示すディスエーブル信号(disable)を入力するテスト実行制御信号の入力部、
CLK(クロック):タイミング制御用のクロック信号入力部、
また、マルチプレクサ130は、以下の出力部を有する。
SO(スキャンアウト):各スキャンサブチェインからの出力データを出力する出力部。
Hereinafter, each function of the components constituting the test control circuit 110 will be described.
The test control circuit 110 has the following input units.
SI (scan-in): Input section for test data etc. for each sub-chain,
TC: (test control): an input part of a test execution control signal for inputting an enable signal (enable) indicating the start of the scan test and a disable signal (disable) indicating the end;
CLK (clock): clock signal input unit for timing control,
The multiplexer 130 has the following output unit.
SO (scanout): an output unit that outputs output data from each scan subchain.

以下、テスト制御回路110の各構成部の機能について、順次説明する。
乱数生成部118
乱数生成部118は、制御部(FSM)111からの出力信号として安全なテスト実行可能状態でないことを示すインセキュアモード(insecure mode)信号が出力(high)されている場合にアクティブ(active)となり、任意ビットのランダムな値(乱数)を生成する。生成された乱数は、LFSR部113に入力される。
Hereinafter, functions of each component of the test control circuit 110 will be sequentially described.
Random number generator 118
The random number generation unit 118 becomes active when an insecure mode signal indicating that the test is not in a safe test executable state is output (high) as an output signal from the control unit (FSM) 111. A random value (random number) of arbitrary bits is generated. The generated random number is input to the LFSR unit 113.

制御部(FSM:Finite State Machine)111
制御部(FSM)111は、スキャンテスト実行時におけるテストモード(test mode)の設定、管理、および各モードにおける初期設定処理等を実行する。
Control part (FSM: Finite State Machine) 111
The control unit (FSM) 111 executes setting and management of a test mode (test mode) at the time of executing a scan test, initial setting processing in each mode, and the like.

なお、テストモードには、セキュアモード(secure mode)と、インセキュアモード(insecure mode)の2種類が存在する。
セキュアモードは、正しいテストキー(TK)が入力されたことが確認された場合にのみ設定される。それ以外の場合にはインセキュアモードに設定される。
制御部(FSM)111は、電源投入またはリセット直後の初期状態として、インセキュアモード(insecure mode)を設定する。
Note that there are two types of test modes, a secure mode and a secure mode (insecure mode).
The secure mode is set only when it is confirmed that a correct test key (TK) has been input. Otherwise, the insecure mode is set.
The control unit (FSM) 111 sets an insecure mode as an initial state immediately after power-on or reset.

図1に示すTC(Test Control)がイネーブル(enable)に設定されると、制御部(FSM)1111部は図に示すSI(スキャンイン(Scan In))より入力されるデータのうち、先頭からkビットをテストキー(TK')としてテストキー(TK)一致確認回路部114に入力し、テストキー(TK)一致確認回路部114の保持する正当なテストキー(TK)との一致確認処理を実行させる。   When TC (Test Control) shown in FIG. 1 is set to enable, the control unit (FSM) 1111 unit starts from the head of the data input from the SI (Scan In) shown in the drawing. The k bits are input as a test key (TK ′) to the test key (TK) coincidence confirmation circuit unit 114, and a match confirmation process with a valid test key (TK) held by the test key (TK) coincidence confirmation circuit unit 114 is performed. Let it run.

その後、制御部(FSM)111は、テストキー(TK)一致確認回路部114から入力キー(TK')が正当なキー(TK)と一致したか否かの情報を受領する。
キー不一致、すなわち、
TK'≠TK
を表す[fail]であった場合には、SI(スキャンイン)から入力されるデータのうち、(k+1)ビットから(k+q)ビットまでのqビットを無視すると共に、LFSR部113に対して(r+q)ビットのランダムな値を乱数生成部118の生成する乱数として取得し、LFSR部113の初期値として設定する。
Thereafter, the control unit (FSM) 111 receives information on whether or not the input key (TK ′) matches the valid key (TK) from the test key (TK) match confirmation circuit unit 114.
Key mismatch, ie
TK '≠ TK
In the case of [fail] indicating, q bits from (k + 1) bits to (k + q) bits in the data input from SI (scan-in) are ignored and the LFSR unit 113 ( A random value of r + q) bits is acquired as a random number generated by the random number generation unit 118 and set as an initial value of the LFSR unit 113.

一方、テストキー(TK)一致確認回路部114からの出力が一致、すなわち、
TK'=TK
を表す[pass]であった場合には、LFSR部113に対し、SI(スキャンイン)から入力されるデータのうち(k+1)ビットから(k+q)ビットまでのqビットを初期値として設定する。
これらの処理が終了した後、制御部(FSM)111は次にリセットされるまで現在のモードを維持すると共に、SIより入力されるデータを全サブチェイン120−1〜mに提供する。
On the other hand, the outputs from the test key (TK) match confirmation circuit unit 114 match, that is,
TK '= TK
In the case of [pass] representing q, q bits from (k + 1) bits to (k + q) bits of data input from SI (scan-in) are set to the LFSR unit 113 as an initial value.
After these processes are completed, the control unit (FSM) 111 maintains the current mode until the next reset, and provides data input from the SI to all subchains 120-1 to 120-m.

次に、図1に示すIC100の実行するサブチェインに対するデータ入力処理のシーケンスについて図2のフローチャートを参照して説明する。図2に示すフローチャートは、制御部(FSM)111部の制御の下に実行する処理である。   Next, the sequence of data input processing for the subchain executed by the IC 100 shown in FIG. 1 will be described with reference to the flowchart of FIG. The flowchart shown in FIG. 2 is processing executed under the control of the control unit (FSM) 111 unit.

ステップ001(STEP 001)
テストモード(test mode)をインセキュアモード(insecure mode)に設定する。前述のように制御部(FSM)111は、電源投入またはリセット直後の初期状態として、インセキュアモード(insecure mode)を設定する。
Step 001 (STEP 001)
Set the test mode to insecure mode. As described above, the control unit (FSM) 111 sets an insecure mode as an initial state immediately after power-on or reset.

ステップ002(STEP 002)
TC:(テストコントロール)信号入力部から、スキャンテストの開始を示すイネーブル(enable)信号が入力されるまで待機する。
Step 002 (STEP 002)
TC: Waits until an enable signal indicating the start of the scan test is input from the (test control) signal input unit.

ステップ003(STEP 003)
SI(スキャンイン)入力部から入力される値の先頭よりkビットをテストキー(TK')として、テストキー(TK)一致確認回路部114に入力する。
Step 003 (STEP 003)
From the head of the value input from the SI (scan-in) input unit, k bits are input to the test key (TK) coincidence confirmation circuit unit 114 as a test key (TK ′).

ステップ004(STEP 004)
テストキー(TK)一致確認回路部114において、テストキー一致確認回路処理を実行する。すなわち、
TK'=TK
上記式が成立する[pass]か非成立[fail]かの確認処理を実行する。
Step 004 (STEP 004)
The test key (TK) coincidence confirmation circuit unit 114 executes test key coincidence confirmation circuit processing. That is,
TK '= TK
A confirmation process is executed as to whether the above expression is satisfied [pass] or not satisfied [fail].

ステップ005(STEP 005)
ステップ004におけるテストキー一致確認処理の結果、キー不一致を示す[fail]ならばステップ006に進む。キー一致を示す[pass]ならば、ステップ007に進む。
Step 005 (STEP 005)
If the result of the test key match confirmation process in step 004 is [fail] indicating a key mismatch, the process proceeds to step 006. If it is [pass] indicating key agreement, the process proceeds to step 007.

ステップ006(STEP 006)
SI(スキャンイン)入力部から入力される値の先頭より(k+1)ビット目から(k+q)ビット目までのqビットを無視すると共に、乱数生成部118において(r+q)ビットの乱数Rを生成し、これを初期値としてLFSR113に設定して、ステップ008に進む。
Step 006 (STEP 006)
Q bits from the (k + 1) th bit to the (k + q) th bit from the beginning of the value input from the SI (scan-in) input unit are ignored, and the random number generation unit 118 generates a (r + q) -bit random number R. This is set as an initial value in the LFSR 113, and the process proceeds to Step 008.

ステップ007(STEP 007)
SI(スキャンイン)入力部から入力される値の先頭より(k+1)ビット目から(k+q)ビット目までのqビットを初期値としてLFSR113に設定し、テストモード(test mode)をセキュアモード(secure mode)としてステップ008に進む。
Step 007 (STEP 007)
The q bits from the top of the value input from the SI (scan-in) input unit to the (k + 1) -th bit to the (k + q) -th bit are set as initial values in the LFSR 113, and the test mode (test mode) is set to the secure mode (secure). mode), the process proceeds to step 008.

ステップ008(STEP 008)
デコーダ部(Decoder)112によるサブチェイン(sub chain)選択処理を実行する。これは、スキャンイン(SI)入力部からのデータを入力するサブチェイン、すなわちスキャンテストを実行するサブチェインの選択処理である。デコーダ部112は、スキャンイン(SI)入力部からのデータを用いて、m個のサブチェインのいずれをテストデータの入力サブチェインとするかを決定し、決定したサブチェインにイネーブル信号(図1に示すEN1〜ENm)を出力する。イネーブル信号が出力されたサブチェインにスキャンテスト用データが入力されることになる。
Step 008 (STEP 008)
A sub chain selection process is performed by the decoder unit (Decoder) 112. This is a sub-chain selection process for inputting data from a scan-in (SI) input unit, that is, a sub-chain for executing a scan test. The decoder unit 112 uses the data from the scan-in (SI) input unit to determine which of the m sub-chains is to be used as the input sub-chain for the test data, and an enable signal (see FIG. 1). EN1 to ENm) shown in FIG. Scan test data is input to the sub-chain from which the enable signal is output.

ステップ009(STEP 009)
SI(スキャンイン)入力部から入力された値のうち次のLビットを、デコーダ部(Decoder)112によって選択されたサブチェインSIiに入力する。すなわち、選択されたサブチェインに対するデータ入力によるスキャンテストの開始である。
Step 009 (STEP 009)
Of the values input from the SI (scan-in) input unit, the next L bits are input to the sub-chain SIi selected by the decoder unit (Decoder) 112. That is, the scan test is started by inputting data for the selected subchain.

ステップ010(STEP 010)
TC:(テストコントロール)信号入力部から、スキャンテストの終了を示すディスエーブル(disable)信号が入力されるまで待機する。
Step 010 (STEP 010)
TC: Waits until a disable signal indicating the end of the scan test is input from the (test control) signal input unit.

ステップ011(STEP 011)
クロック(CLK)信号入力部から入力されたクロック数に応じて、キャプチャ(capture)処理を実行する。
これは、SI(スキャンイン)入力部からサブチェインに入力されたビット列をクロックに応じてサブチェイン内で順次進行させる処理である。
Step 011 (STEP 011)
A capture process is executed according to the number of clocks input from the clock (CLK) signal input unit.
This is a process in which the bit string input to the sub-chain from the SI (scan-in) input unit is sequentially advanced in the sub-chain according to the clock.

ステップ012(STEP 012)
TC:(テストコントロール)信号入力部から、スキャンテストの開始を示すイネーブル(enable)信号が入力された後、クロック(CLK)より入力されたLサイクルのクロックに応じて、サブチェインSIiの値を出力部であるスキャンアウト(SO)から出力すると同時に、スキャンイン(SI)から入力された次のLビットをサブチェインSIiに入力する。
Step 012 (STEP 012)
TC: (test control) After the enable signal indicating the start of the scan test is input from the signal input unit, the value of the sub-chain SIi is set according to the L cycle clock input from the clock (CLK). At the same time as output from scan-out (SO), which is an output unit, the next L bits input from scan-in (SI) are input to sub-chain SIi.

ステップ013(STEP 013)
LFSR113を一回動作させ、ステップ008に戻る。
Step 013 (STEP 013)
The LFSR 113 is operated once and the process returns to step 008.

ステップ008〜013を繰り返し実行して、m個のサブチェインに対して、それぞれスキャンデータを入力して、そのスキャン結果をスキャンアウト(SO)から出力する。   Steps 008 to 013 are repeatedly executed, scan data is input to each of the m sub-chains, and the scan result is output from scan-out (SO).

前述したように、正当なテスト実行者は、テスト制御回路100が選択するサブチェインを知ることができるため、サブチェイン1〜mに対する入力データと出力データとの対応慣例を把握でき、その対応関係に基づいて各サブチェインの構成回路が正常であるか否かを判定することができる。   As described above, since a valid test executor can know the subchain selected by the test control circuit 100, it is possible to grasp the corresponding practice of the input data and the output data for the subchains 1 to m, and the correspondence relationship thereof. Based on the above, it can be determined whether or not the constituent circuits of each sub-chain are normal.

テストキー(TK)一致確認回路部114
テストキー(TK)一致確認回路部114は、データ入力部であるスキャンイン(SI)から制御部(FSM)111を介して入力された入力テストキー(TK')と、自身が予め保持している正当なテストキー(TK)が一致するか否かを確認し、一致するならば[pass]を、不一致ならば[fail]を制御部(FSM)に返す。
Test key (TK) coincidence confirmation circuit unit 114
The test key (TK) coincidence confirmation circuit unit 114 holds the input test key (TK ′) input from the scan-in (SI), which is the data input unit, via the control unit (FSM) 111, and the test key (TK). It is checked whether the valid test key (TK) matches, and if it matches, [pass] is returned to the control unit (FSM).

線形帰還シフトレジスタ部(LFSR)113
LFSR部の構成例を図3に示す。図3に示す通り、LFSR113は、
qビットLFSR構成部181、
セレクタ部182、並びに、
rビット乱数部183、
これらの3つの構成部から構成されている。
Linear feedback shift register (LFSR) 113
A configuration example of the LFSR unit is shown in FIG. As shown in FIG. 3, the LFSR 113
q-bit LFSR configuration unit 181,
A selector unit 182, and
r-bit random number part 183,
It consists of these three components.

qビットLFSR構成部181は、原始多項式を生成多項式としたqビットLFSRからなり、制御部(FSM)111より入力されるqビットの値を初期値として設定すると共に、各フリップフロップ(FF)の値をデコーダ部(Decoder)112に出力する。またqビットLFSR構成部181におけるMSBの値をセレクタ部182に各々出力する。   The q-bit LFSR configuration unit 181 includes a q-bit LFSR having a primitive polynomial as a generator polynomial, sets a q-bit value input from the control unit (FSM) 111 as an initial value, and sets each flip-flop (FF). The value is output to a decoder unit (Decoder) 112. Also, the MSB value in the q-bit LFSR configuration unit 181 is output to the selector unit 182.

セレクタ部182は、制御部(FSM)111から提供されるテストモード(test mode)信号を出力選択信号とし、
テストモード(test mode)=セキュアモード(secure mode)ならばqビットLFSR構成部181からの入力を出力する。
テストモード(test mode)=インセキュアモード(insecure mode)ならば後述するrビット乱数部183からの入力をそのまま出力する。
The selector unit 182 uses a test mode signal provided from the control unit (FSM) 111 as an output selection signal,
If the test mode (test mode) = secure mode (secure mode), the input from the q-bit LFSR configuration unit 181 is output.
If the test mode (test mode) = insecure mode (insecure mode), the input from the r-bit random number unit 183 described later is output as it is.

rビット乱数部183は、rビットのLFSR構成部181と同様に構成された、r個フリップフロップ(FF)からなる。ただし通常のLFSRとは異なり、タップ、即ち生成多項式において、0次の項を除く係数が0でない項に対応する各FFの排他的論理和演算結果を、LSBにフィードバックすることなくセレクタ部182への入力としている。   The r-bit random number unit 183 includes r flip-flops (FFs) configured similarly to the r-bit LFSR configuration unit 181. However, unlike the normal LFSR, in the tap, that is, the generator polynomial, the exclusive OR operation result of each FF corresponding to the term whose coefficient excluding the 0th order term is not 0 is fed back to the selector unit 182 without feeding back to the LSB. As an input.

この図3に示す構成により、LFSR部113は、
テストモード(test mode)=セキュアモード(secure mode)
この場合は、セレクタ部182の出力がqビットLFSR構成部181のMSBとなるため、原始多項式を生成多項式とするqビットのLFSR回路となる。
また、
テストモード(test mode)=インセキュアモード(insecure m
この場合は、セレクタ部182の出力がrビット乱数部183の出力となるため、(r+q)ビットLFSRのうちMSBよりqビットの値を出力する回路となる。
With the configuration shown in FIG. 3, the LFSR unit 113
Test mode = secure mode (secure mode)
In this case, since the output of the selector unit 182 becomes the MSB of the q-bit LFSR configuration unit 181, a q-bit LFSR circuit having a primitive polynomial as a generator polynomial is obtained.
Also,
Test mode = insecure mode (insecure m
In this case, since the output of the selector unit 182 becomes the output of the r-bit random number unit 183, the circuit outputs a q-bit value from the MSB of the (r + q) -bit LFSR.

デコーダ部(Decoder)112
デコーダ部(Decoder)112は、LFSR部113からのqビット入力を十進数や十六進数で表される数字iへと変更し、iをm:1マルチプレクサ(MUX)130における選択信号としてMUX130に対して出力すると共に、i番目のサブチェイン(sub chain)に対するイネーブル(enable)信号であるENiをイネーブル(enable)にする。
Decoder unit (Decoder) 112
The decoder unit (Decoder) 112 changes the q-bit input from the LFSR unit 113 to a number i represented by a decimal number or a hexadecimal number, and i is sent to the MUX 130 as a selection signal in the m: 1 multiplexer (MUX) 130. And ENi, which is an enable signal for the i-th sub-chain, is enabled.

なお、デコーダ部(Decoder)112の構成方法は非特許文献4に記載されている方法の他、様々な方法が考えられ、また各構成法の詳細は本発明になんら影響を与えないため、具体的な構成法及び処理手順に関する記述は省略する。   Various methods other than the method described in Non-Patent Document 4 are conceivable as a method for configuring the decoder unit (Decoder) 112, and the details of each method do not affect the present invention. A description of a typical configuration method and processing procedure is omitted.

以上のようにスキャンテストにおけるサブチェイン(sub chain)及びテスト制御回路を構成することにより、正しいテストキー(TK)を知るテスト実行者ならば、LFSR113の構成が既知であり、かつその初期値を任意に設定可能であるため、スキャンアウト(SO)から出力された値がスキャンイン(SI)より入力したどのテストパターンに対応するかを知ることができる。これにより、正規のテスト実行者による任意のテストを実行可能となる。このように複数の分割されたスキャンチェインであるサブチェインのテストを確実に実行することができる。   As described above, if the test executor knows the correct test key (TK) by configuring the sub chain and the test control circuit in the scan test, the configuration of the LFSR 113 is known and the initial value is set. Since it can be arbitrarily set, it is possible to know which test pattern input from the scan-in (SI) corresponds to the value output from the scan-out (SO). As a result, an arbitrary test can be executed by a regular test performer. In this way, it is possible to reliably execute a test of a sub-chain that is a plurality of divided scan chains.

一方、テストキー(TK)を知らない攻撃者に対しては、LFSR113の構成が未知である上に初期値を設定することが不可能となるため、スキャンアウト(SO)から出力された値がどのテストパターンに対応するかを特定することは困難となる。以下、攻撃者によるテスト結果の取得方法とその解析方法を具体的に示す。   On the other hand, for an attacker who does not know the test key (TK), since the configuration of the LFSR 113 is unknown and an initial value cannot be set, the value output from the scan-out (SO) It is difficult to specify which test pattern corresponds to the test pattern. In the following, the method of acquiring test results by an attacker and the analysis method will be described in detail.

攻撃者は、m個のテスト結果TRj(j=1,・・・・,m)を取得するため、事前準備としてTK'及び初期値sをランダムに生成すると共に、2m個のテストパターンTPi(i=1,・・・・,2m)を生成しておく。
ここで、真のテストキーであるTKがランダムなTK'と一致する確率は1/2であり、kが十分大きければ、一致する確率は無視できる。よって、以降は、
TK≠TK'
であると考える。
In order to acquire m test results TRj (j = 1,..., M), the attacker randomly generates TK ′ and an initial value s as a preliminary preparation, and 2m test patterns TPi ( i = 1,..., 2m).
Here, the probability that the true test key TK matches the random TK ′ is ½ k . If k is sufficiently large, the probability of matching can be ignored. Therefore, after that,
TK ≠ TK '
I believe that.

攻撃者はまず、TC(テストコントロール)信号入力部の設定をスキャンテストの開始を示すイネーブル(enable)信号とし、スキャンイン(SI)から、ランダムに生成したテストキー(TK')及び初期値sを順に入力する。これにより、制御部(FSM)111はテスト回路110をインセキュアモード(insecure mode)に設定し、入力された初期値sを無視すると共に、LFSR部113に(r+q)ビットのランダムな初期値を設定する。   First, the attacker uses the setting of the TC (test control) signal input unit as an enable signal indicating the start of the scan test, and randomly generates a test key (TK ′) and an initial value s from the scan-in (SI). Enter in order. Thereby, the control unit (FSM) 111 sets the test circuit 110 to the insecure mode, ignores the input initial value s, and sets a random initial value of (r + q) bits to the LFSR unit 113. Set.

またデコーダ部(Decoder)112は、ランダムな初期値が設定されたLFSR部113からの出力に応じてサブチェインt(1≦t≦m)を選択する。次に攻撃者は、最初のテストパターンTP1をスキャンイン(SI)より入力する。ここで、各サブチェインに接続されたスキャンフリップフロップ(SFF)はシフトレジスタを構成しているため、選択されたサブチェインtに対してテストパターン(TP1)が入力されると、サブチェインtに接続されているスキャンフリップフロップ(SFF)に格納されていた値がスキャンアウト(SO)より出力される。   The decoder unit (Decoder) 112 selects a subchain t (1 ≦ t ≦ m) according to the output from the LFSR unit 113 in which a random initial value is set. Next, the attacker inputs the first test pattern TP1 from scan-in (SI). Here, since the scan flip-flop (SFF) connected to each sub-chain constitutes a shift register, when a test pattern (TP1) is input to the selected sub-chain t, the sub-chain t The value stored in the connected scan flip-flop (SFF) is output from the scan-out (SO).

しかしながらこの値は、テスト開始前に各スキャンフリップフロップ(SFF)に格納されていた値であり、テストパターン(TP1)に対するテスト結果ではないことに注意されたい。   However, it should be noted that this value is a value stored in each scan flip-flop (SFF) before the start of the test, and is not a test result for the test pattern (TP1).

続いて攻撃者は、TC(テストコントロール)信号入力部の設定をスキャンテストの終了を示すディスエーブル(disable)にすると共にクロツク(CLK)に1サイクルのクロックを入力してキャプチャ処理(capture)を実施する。キャプチャの実施により、テストパターン(TP1)に対応するテスト結果であるTR1がサブチェインの各スキャンフリップフロップ(SFF)に格納される。   Subsequently, the attacker sets the TC (test control) signal input section to disable indicating the end of the scan test and inputs a clock of 1 cycle to the clock (CLK) to perform a capture process (capture). carry out. By performing the capture, TR1 which is a test result corresponding to the test pattern (TP1) is stored in each scan flip-flop (SFF) of the subchain.

よって、攻撃者は、TC(テストコントロール)信号入力部の設定をスキャンテストの開始を示すイネーブル(enable)にしてスキャンイン(SI)に次のテストパターンTP2を供給すると共に、スキャンアウト(SO)より、サブチェインからの出力であるTR1を取得する。   Therefore, the attacker sets the setting of the TC (test control) signal input portion to enable indicating the start of the scan test, supplies the next test pattern TP2 to the scan-in (SI), and scan-out (SO). Thus, TR1 which is an output from the subchain is acquired.

この際、テストパターン(TP2)はサブチェインtに格納される一方で、LFSR部113において新たな擬似乱数が生成され、デコーダ部(Decoder)112によって次のサブチェインt'(1≦t'≦m)が選択される。   At this time, while the test pattern (TP2) is stored in the sub-chain t, a new pseudo-random number is generated in the LFSR unit 113, and the next sub-chain t ′ (1 ≦ t ′ ≦) is generated by the decoder unit (Decoder) 112. m) is selected.

以上の動作より、攻撃者は、テストパターンTP1に対するテスト結果であるTR1を取得するためにTP1及びTP2を入力していることが分かる。TR2を取得する場合も同様にしてTP3及びTP4を利用し、これらの動作を繰り返すことによって、2m個のテストパターンTPi(i=1,・・・・,2m)を入力すると共に、TP2j−1(j=1,・・・・,m)に対応するm個のテスト結果TRj(j=1,・・・・,m)を取得する。なお、TP2jに対応するテスト結果に関しては、TRm+1からTR2mとして得られることに注意されたい。   From the above operation, it can be seen that the attacker inputs TP1 and TP2 in order to obtain TR1 which is the test result for the test pattern TP1. Similarly, when acquiring TR2, by using TP3 and TP4 and repeating these operations, 2m test patterns TPi (i = 1,..., 2m) are input and TP2j−1 M test results TRj (j = 1,..., M) corresponding to (j = 1,..., M) are acquired. Note that the test results corresponding to TP2j are obtained from TRm + 1 to TR2m.

攻撃者は、前述した動作を繰り返し実施することにより、任意のテストパターンに対するテスト結果を取得することが可能となっている。しかしながら、LFSR部113の値、即ち選択されたサブチェインを直接知ることはできないため、入力テストパターン(TPi)に対応する結果(TRj)がいずれのサブチェインから出力されたかを確認するためには、出力(TRj)がサブチェイン1の出力であった場合からサブチェインmの出力であった場合までのm通りについて確認する必要がある。さらに、これを全ての出力TRjに対して実行する必要があるため、攻撃者が確認すべき全てのパターンはm通りとなり、総当りによってこれを確認するための計算量もm通りとなる。 An attacker can acquire a test result for an arbitrary test pattern by repeatedly performing the above-described operation. However, since the value of the LFSR unit 113, that is, the selected subchain cannot be directly known, in order to confirm from which subchain the result (TRj) corresponding to the input test pattern (TPi) is output. Therefore, it is necessary to check m ways from when the output (TRj) is the output of the subchain 1 to when it is the output of the subchain m. Furthermore, since it is necessary to do this for all output TRj, all patterns attacker should check becomes as m m, the amount of calculation as well m m to confirm this by brute .

ここで、q=4とした場合、m=2−1=15より、わずか4ビット程度のLFSRを利用したとしても、攻撃者に要求される計算量は、
58<1515<259
即ち59ビット相当の計算量が必要となるため、入力テストパターンTPiに対する出力TRjがいずれのサブチェインに対応しているのかを特定することは、計算量的に困難となっている。
Here, when q = 4, since m = 2 q −1 = 15, even if an LFSR of only about 4 bits is used, the amount of calculation required by the attacker is
2 58 <15 15 <2 59 ,
That is, since a calculation amount corresponding to 59 bits is required, it is difficult to specify which subchain the output TRj corresponding to the input test pattern TPi corresponds to.

[2.攻撃対策方式[LTPP05]の問題点について]
次に、上述した非特許文献4に記載のサブチェインを利用した攻撃対策方式[LTPP05]における問題点について検討する。
上記の非特許文献4は、攻撃者を以下のように分類している。
(a)ビギナー(Beginner)
既知の攻撃のみを適用する攻撃者。データの単純な符号化程度で回避可能。
(b)インデペンデント(Independent)
豊富な資金及び知識を持つ攻撃者。対策には強力な暗号アルゴリズムの利用が必須。
(c)ビジネス(Business)
豊富な資金及び知識を持ち、商業的に重要な情報の解析、盗聴を実行するためには違法行為も辞さない攻撃者。
(d)ガバーメント(Government)
無制限のリソースを利用可能な攻撃者。
これらの4種類に分類している。
[2. [Problems of attack countermeasure method [LTPP05]]
Next, problems in the attack countermeasure method [LTPP05] using the subchain described in Non-Patent Document 4 described above will be examined.
Non-Patent Document 4 above classifies attackers as follows.
(A) Beginner
An attacker who applies only known attacks. It can be avoided by simple encoding of data.
(B) Independent
An attacker with a wealth of money and knowledge. Use of strong cryptographic algorithms is essential for countermeasures.
(C) Business
An attacker who has abundant funds and knowledge, and does not leave illegal activities in order to analyze and eavesdrop on commercially important information.
(D) Government
An attacker who can use unlimited resources.
These are classified into four types.

このような分類の上で、上述したサブチェイン構成を持つLTPP05を利用することにより、
(a)ビギナー(Beginner)クラスの攻撃者に対しては、
q=4ビット、
(b)インデペンデント(Independent)クラスの攻撃者に対しては、
q=8ビット程度のLFSRを利用すれば十分であるとしている。
By using LTPP05 having the above-described subchain configuration on such classification,
(A) For Beginner class attackers,
q = 4 bits,
(B) For an independent class of attackers,
It is said that it is sufficient to use an LFSR of about q = 8 bits.

また、
(c)ビジネス(Business)クラスの攻撃者に対しては、ICのパッケージを除去し、FIBやエッチングによって配線層やセル層の解析を行うといった侵入攻撃が行われない限り、q=10ビット以上あれば安全である。
さらに、侵入攻撃を実施する(c)ビジネス(Business)クラス及び(d)ガバーメント(Government)クラスの攻撃者に対しては、プローブ(probe)対策等複数のセキュリティ対策を組み合わせる必要があると述べている。
Also,
(C) For a business class attacker, q = 10 bits or more unless an intrusion attack is performed such as removing the IC package and analyzing the wiring layer or cell layer by FIB or etching. If it is safe.
In addition, it states that it is necessary to combine multiple security measures such as probe measures for (c) Business class and (d) Government class attackers who conduct intrusion attacks. Yes.

しかしながら、攻撃者に必要となる計算量は、非特許文献4に記載された試算より大幅に削減可能であるという問題点が存在する。
すなわち、テストキー(TK)、初期値及びLFSRの生成多項式を知らない攻撃者であっても、確認すべきパターン数は、前述したqビット数によって導出される全てのパターン数mよりはるかに少なくすることが可能である。
以下、この点について説明する。なお、簡単のため、r及びqの値は既知であるものとする。
However, there is a problem that the amount of calculation required for the attacker can be significantly reduced from the trial calculation described in Non-Patent Document 4.
That is, the test key (TK), even attacker does not know the generator polynomial initial value and LFSR, the number of patterns to be verified, far from all the pattern number m m derived by the number q of bits described above It can be reduced.
Hereinafter, this point will be described. For simplicity, it is assumed that the values of r and q are known.

攻撃者はまず、kビットのTK'、qビットの初期値s、及びLビットのテストパターンTPをランダムに生成すると共に、n=2r+q−1個のテストパターンを、TP=TP=・・・・=TP2nとして設定する。
次に攻撃者は、生成したテストキー(TK')、初期値(s)、及びテストパターン(TP(i=1,・・・・,2n))をICに入力し、テスト結果であるTR(j=1,・・・・,n)を取得する。
First, the attacker randomly generates a k-bit TK ′, a q-bit initial value s, and an L-bit test pattern TP 1 , and generates n = 2 r + q −1 test patterns as TP 1 = TP 2. = ···· = TP 2n is set.
Next, the attacker inputs the generated test key (TK ′), the initial value (s), and the test pattern (TP i (i = 1,..., 2n)) to the IC, which is the test result. TR j (j = 1,..., N) is acquired.

ここで、TK'はランダムに選択されているため、TK=TK'となる確率は1/2であり、kが十分大きければ無視できる。よって攻撃者は、TK'≠TKである、即ちインセキュアモード(insecure mode)であると仮定する。前述した通り、インセキュアモード(insecure mode)では、LFSR部におけるセレクタ部の動作により、サブチェインを選択するLFSRが(r+q)ビットのLFSR(ただし出力はqビットLFSR構成部の値)として動作する。よって、その周期は最長でも2r+q−1=nである。 Here, since TK ′ is selected at random, the probability that TK = TK ′ is ½ k , and can be ignored if k is sufficiently large. Therefore, the attacker assumes that TK ′ ≠ TK, that is, the insecure mode. As described above, in the insecure mode, the LFSR for selecting a subchain operates as an (r + q) -bit LFSR (however, the output is the value of the q-bit LFSR configuration unit) by the operation of the selector unit in the LFSR unit. . Therefore, the period is 2 r + q −1 = n at the longest.

ここで、攻撃者は全て同一の値であるテストパターンTP(i=1,・・・・,2n)を入力しているため、あるサブチェインに対応する回路のスキャンテストが実施された後、再度同一のサブチェインに対応する回路のスキャンテストが実施された場合、両者のテスト結果は同一の値となる。これにより、TR=TR、TR=TRc+1・・・・・となるテスト結果TRが出力された場合、サブチェインの選択順序、即ちLFSRの出力が巡回した、ということが判明するため、(r+q)ビットLFSRの周期はcであると特定することができる。また、同一のテスト結果が出力されない場合には、(r+q)ビットLFSRの最長周期であるn回中に重複する値が出力されないこととなり、その周期はnであることが分かる。 Here, since the attacker inputs the test pattern TP i (i = 1,..., 2n) having the same value, after the scan test of the circuit corresponding to a certain subchain is performed When the scan test of the circuit corresponding to the same subchain is performed again, both test results have the same value. As a result, when the test result TR c satisfying TR 1 = TR c , TR 2 = TR c + 1 ... Is output, it is found that the sub-chain selection order, that is, the output of the LFSR circulated. Therefore, it can be specified that the period of the (r + q) bit LFSR is c. In addition, when the same test result is not output, it is understood that an overlapping value is not output during n times that is the longest period of the (r + q) -bit LFSR, and the period is n.

次に攻撃者は、LTPP05における(r+q)ビットLFSRの条件を満たす生成多項式の中から、周期がcとなる生成多項式の全候補をリストアップする。非特許文献4では、テストの有効性(testability)を確保するため、qビットLFSR構成部におけるLFSRの生成多項式を原始多項式としている。ここで、原始多項式は必ず既約多項式であるから、その定数項は1であり、かつ非定数項の数は偶数でなければならない。よって、qビットLFSRの原始多項式になりうる生成多項式の全候補数は、下式によって示すことができる。   Next, the attacker lists all generator polynomial candidates whose period is c from generator polynomials that satisfy the condition of the (r + q) -bit LFSR in LTPP05. In Non-Patent Document 4, the generator polynomial of LFSR in the q-bit LFSR configuration unit is a primitive polynomial in order to ensure the test effectiveness. Here, since the primitive polynomial is always an irreducible polynomial, its constant term must be 1 and the number of non-constant terms must be an even number. Therefore, the total number of generator polynomial candidates that can be q-bit LFSR primitive polynomials can be expressed by the following equation.

Figure 2011107930
Figure 2011107930

一方、rビット乱数部に関しては特に制限が存在しないため、LTPP05における(r+q)ビットLFSRの条件を満たす生成多項式の全候補数zは、
z=2×2q−2=2r+q−2
となる。これら全ての候補における周期を確認するために、攻撃者はまず、0でないランダムな初期値を選択し、各候補を生成多項式とするLFSRに対してこの初期値を適用する。
On the other hand, since there is no particular limitation on the r-bit random number part, the total number z of generator polynomial candidates satisfying the condition of (r + q) -bit LFSR in LTPP05 is
z = 2r * 2q-2 = 2r + q-2
It becomes. In order to confirm the period in all these candidates, the attacker first selects a random initial value that is not 0, and applies this initial value to the LFSR with each candidate as a generator polynomial.

次に、LFSRを最大2r+q−1回動作させることにより周期を特定すると共に、周期がcとなる多項式のみをリストアップする。これにより、LTPP05における(r+q)ビットLFSRの全生成多項式候補をリストアップ可能となる。今、このリストを候補リスト(CL:Candidates List)とする。なお、この場合における攻撃者の計算量は、以下の式によって示される。
(2r+q−1)×2r+q−2<2r+q×2r+q−2=22(r+q−1)
Next, the period is specified by operating the LFSR a maximum of 2 r + q −1 times, and only the polynomials whose period is c are listed. This makes it possible to list all generator polynomial candidates of (r + q) bits LFSR in LTPP05. Now, let this list be a candidate list (CL: Candidates List). In this case, the calculation amount of the attacker is expressed by the following equation.
(2 r + q −1) × 2 r + q−2 <2 r + q × 2 r + q−2 = 2 2 (r + q−1)

最後に攻撃者は、候補リスト(CL)に存在する各生成多項式候補に対して、初期値として取りうる全ての値を適用すると共に、各初期値に対してLFSRをc回動作させることによって、確認すべき全入出力パターンを特定する。ここで、CLに存在する生成多項式候補数は、
z<2r+q−2
であるから、攻撃者が全入出力パターンを特定するために必要となる計算量は、z個の多項式に対して初期値となりうる全ての値(n=2r+q−1個)を適用し、かつ各初期値が適用された場合にLFSRを周期であるc回動作させる必要があるため、
z×n×c<2r+q−2×2r+q×2r+q=23(r+q)−2
となる。
Finally, the attacker applies all possible values as initial values to each generator polynomial candidate existing in the candidate list (CL), and operates the LFSR c times for each initial value, Identify all I / O patterns to be checked. Here, the number of generator polynomial candidates existing in CL is
z <2 r + q-2
Therefore, the amount of calculation required for the attacker to specify all input / output patterns applies all values (n = 2 r + q −1) that can be initial values for z polynomials, And when each initial value is applied, it is necessary to operate the LFSR c times that is a period.
z * n * c <2 r + q-2 * 2 r + q * 2 r + q = 2 3 (r + q) -2
It becomes.

以上より、攻撃者が実行すべき計算は、候補リスト(CL)を特定するための計算と、全入出力パターンを特定するための計算となり、その計算量は、
2(r+q−1)+23(r+q)−2
未満となる。
ここで、各ビット数を具体的に設定した場合における計算量について考察する。上述した通り、非特許文献4では、q=10ビット以上であれば、侵入攻撃を実施しないビジネスクラス(Business class)の攻撃者であっても、計算量的に安全であると述べている。今、q=10ビットとして、非特許文献4に記載の安全性評価方法により攻撃者の計算量を算出した場合、
=(210−1)(210−1)
となり、
10228<m<210229
となる。
From the above, the calculation to be executed by the attacker is the calculation for specifying the candidate list (CL) and the calculation for specifying all input / output patterns, and the calculation amount is as follows.
2 2 (r + q-1) +2 3 (r + q) -2
Less than.
Here, the amount of calculation when each bit number is specifically set will be considered. As described above, Non-Patent Document 4 states that if q = 10 bits or more, even a business class attacker who does not perform an intrusion attack is safe in terms of computational complexity. Now, assuming that q = 10 bits and calculating the amount of calculation of the attacker by the security evaluation method described in Non-Patent Document 4,
m m = (2 10 -1) (2 10 -1)
And
2 10228 <m m <2 10229
It becomes.

これは、10229ビット程度の総当り攻撃となり、現実的には全パターンを確認不可能な計算量となる。しかしながら、本章において示した攻撃手法を利用した場合、非特許文献4に記載の例よりr=4ビットと設定すると、その計算量は、
2(r+q−1)+23(r+q)−2=226+240<241
となり、現在のPC程度の計算機ですら、数時間程度で計算可能な値となる。よって、スキャン回路を利用したICの内部構造に対する不正解析を防止するためにLTPP05を適用したとしても、解析困難性は向上するものの、現実的には解析可能であるという問題点が存在する。
This is a brute force attack of about 10229 bits, and in reality, the calculation amount cannot be confirmed for all patterns. However, when using the attack technique shown in this chapter, if r = 4 bits is set from the example described in Non-Patent Document 4, the amount of calculation is
2 2 (r + q-1) +2 3 (r + q) -2 = 2 26 +2 40 <2 41
Therefore, even a computer of the current level of PC can be calculated in a few hours. Therefore, even if LTPP05 is applied to prevent unauthorized analysis of the internal structure of an IC using a scan circuit, although the difficulty of analysis is improved, there is a problem that analysis is practical.

[3.本発明の半導体集積回路の構成例について]
次に、本発明の半導体集積回路の構成例について説明する。
本発明は、上述したサブチェインを用いた攻撃対策方式である[LTPP05]における問題点を解決するものであり、スキャン回路を利用したICの秘密情報や内部構造の不正解析の困難性を大きく向上させた構成を実現するものである。
[3. Configuration Example of Semiconductor Integrated Circuit of the Present Invention]
Next, a configuration example of the semiconductor integrated circuit of the present invention will be described.
The present invention solves the problems in [LTPP05], which is the attack countermeasure method using the sub-chain described above, and greatly improves the difficulty of illegal analysis of IC secret information and internal structure using a scan circuit. To achieve the configuration described above.

上述したように、サブチェインを用いた攻撃対策方式である[LTPP05]では、外部から入力するテストキー(TK)が、正当なテストキーに一致しなかった場合、即ちインセキュアモード(insecure mode)である場合、LFSRに乱数生成部から取得したランダムな初期値を設定することにより、選択されたサブチェインの特定を困難とし、結果として解析を困難としている。   As described above, in [LTPP05], which is an attack countermeasure method using a subchain, when the test key (TK) input from the outside does not match the valid test key, that is, insecure mode (insecure mode). In this case, by setting a random initial value acquired from the random number generator in the LFSR, it is difficult to specify the selected subchain, and as a result, analysis is difficult.

これに対し、以下に説明する本発明の構成では、
第一の実施形態において、ICの内部構造解析に影響を与えない部分、即ち、解析されても問題のない回路構成部分に対してダミー(dummy)のサブチェインを割り当て、インセキュアモード(insecure mode)時には、このダミーのサブチェインを適用したスキャン結果を出力する構成としている。
In contrast, in the configuration of the present invention described below,
In the first embodiment, a dummy subchain is assigned to a portion that does not affect the internal structure analysis of the IC, that is, a circuit configuration portion that does not cause a problem, and an insecure mode (insecure mode) is assigned. ) In some cases, a scan result to which this dummy sub-chain is applied is output.

また、第二の実施形態においては、インセキュアモード(insecure mode)である場合に、乱数生成部の出力値であるランダムな値をLFSRの初期値として利用せず、ダミーサブチェインに対する設定値として利用し、ランダムな値を直接出力する構成としている。   In the second embodiment, in the insecure mode, the random value that is the output value of the random number generation unit is not used as the initial value of the LFSR, but as the setting value for the dummy subchain. It is configured to output random values directly.

これらの構成により、第一、第二の実施形態共に、攻撃者は、入力するテストキー(TK)を、正当なテストキーと一致させない限り、IC内部構造のうち、機密ではない部分の構造、すなわちダミーサブチェインの構造しか解析することが不可能となる。   With these configurations, in both the first and second embodiments, the attacker can configure the structure of the non-confidential part of the IC internal structure unless the input test key (TK) matches the valid test key. In other words, only the structure of the dummy subchain can be analyzed.

さらに第二の実施形態においては、テストキー(TK)が不一致である場合に、乱数生成部の生成したランダムな値をダミーサブチェインに設定する構成とし、ランダム値を入力したダミーサブチェインの処理結果を出力する構成としている。これにより、テストキー(TK)の一致、不一致についても確認を困難としている。   Furthermore, in the second embodiment, when the test key (TK) does not match, the random value generated by the random number generation unit is set in the dummy subchain, and the dummy subchain processing in which the random value is input The result is output. This makes it difficult to confirm whether the test key (TK) matches or does not match.

本発明の構成は、このように、非特許文献4に開示された攻撃対策方式[LTPP05]の構成に加えて、機密ではない回路をテストするためのダミーサブチェイン(dummy sub chain)を0番目のサブチェインとして追加する。
さらに、テストキー(TK)が不一致である場合には、LFSRの初期値として0を設定するよう構成している。これにより、テストキー(TK)を知らない攻撃者がスキャン回路を利用してICの内部構造を不正に解析しようとしても、テストキー(TK)不一致時には、常に機密ではない回路のテスト結果、即ちダミーサブチェインに接続された回路のテスト結果しか取得できず、解析を困難とするものである。
また、第二の実施例では、ダミーサブチェインから出力される値をランダムな値とすることで、テストキー(TK)の一致確認をも実施困難としている。よって、本発明をスキャン回路に適用することにより、スキャン回路を利用したIC内部構造の不正解析を防止することが可能となる。
以下、各実施例の詳細について説明する。
As described above, the configuration of the present invention includes a dummy sub chain for testing a circuit that is not confidential in addition to the configuration of the attack countermeasure method [LTPP05] disclosed in Non-Patent Document 4. Add as a subchain.
Further, if the test key (TK) does not match, 0 is set as the initial value of the LFSR. As a result, even if an attacker who does not know the test key (TK) tries to illegally analyze the internal structure of the IC using the scan circuit, the test result of the circuit that is not always confidential when the test key (TK) does not match, that is, Only the test result of the circuit connected to the dummy subchain can be acquired, which makes analysis difficult.
Further, in the second embodiment, it is difficult to check the match of the test key (TK) by making the value output from the dummy sub-chain a random value. Therefore, by applying the present invention to the scan circuit, it is possible to prevent unauthorized analysis of the IC internal structure using the scan circuit.
Details of each embodiment will be described below.

[3−1.ダミーサブチェインを用いた本発明の第一実施形態の構成および処理について]
まず、図4以下を参照して本発明の第一実施形態について説明する。
本発明における第一実施形態では、上述した非特許文献4に記載のサブチェインを利用した攻撃対策方式[LTPP05]に対し、次の変更を加えた構成を有する。
[3-1. Configuration and processing of the first embodiment of the present invention using a dummy subchain]
First, a first embodiment of the present invention will be described with reference to FIG.
The first embodiment of the present invention has a configuration in which the following change is added to the attack countermeasure method [LTPP05] using the subchain described in Non-Patent Document 4 described above.

1.0番目のサブチェイン(sub chain)として、ダミーサブチェイン(dummy sub chain)を追加する。
2.インセキュアモード(insecure mode)時において、LFSRの初期値として0を与える。
3.LFSRの初期値設定用乱数生成部を排除する。
4.LFSRの出力を重複化させるためのrビット乱数部およびセレクタ部を排除する。
A dummy sub chain is added as the 1.0th sub chain.
2. In the insecure mode, 0 is given as the initial value of the LFSR.
3. The LFSR initial value setting random number generator is eliminated.
4). The r-bit random number part and the selector part for duplicating the output of the LFSR are eliminated.

以下、第一の実施形態における具体的な構成法並びにスキャンテスト時の動作について説明する。
第一の実施形態におけるスキャンチェイン及びテスト制御回路の概要を図4に示す。
図4は、第一の実施形態におけるIC(半導体集積回路)200を示している。
スキャンチェインは、先に図1を参照して説明した[LTPP05]の構成と同様、複数(m個)のサブチェイン220−1〜mに分割して構成されるが、さらに、ダミーサブチェイン251を有する。
Hereinafter, a specific configuration method and an operation at the time of a scan test in the first embodiment will be described.
FIG. 4 shows an outline of the scan chain and the test control circuit in the first embodiment.
FIG. 4 shows an IC (semiconductor integrated circuit) 200 in the first embodiment.
The scan chain is divided into a plurality (m) of subchains 220-1 to 220-m, similar to the configuration of [LTPP05] described above with reference to FIG. Have

ダミーサブチェイン251は例えば秘密情報の記録が行われない、実際のデータ処理には利用されないダミーの回路である。   The dummy subchain 251 is a dummy circuit that is not used for actual data processing, for example, in which secret information is not recorded.

ダミーサブチェイン251、およびサブチェイン220−1〜mは、フリップフロップ(FF)や、演算回路、メモリなどの回路素子の連鎖構成を有する。なお、LFSRをqビット構成とした場合、サブチェインの個数[m]は、例えば、
m=2−1
とする。各サブチェイン220−1〜mは各々Lビット、即ちL個のSFF(スキャンフリップフロップ)が接続された構成を持つ。
The dummy sub-chain 251 and the sub-chains 220-1 to 220-m have a chain configuration of circuit elements such as flip-flops (FF), arithmetic circuits, and memories. When the LFSR has a q-bit configuration, the number of subchains [m] is, for example,
m = 2 q −1
And Each of the sub-chains 220-1 to 220-m has a configuration in which L bits, that is, L SFFs (scan flip-flops) are connected.

なお、ダミーサブチェイン251、およびサブチェイン220−1〜mの計m+1個のサブチェインのどのサブチェインにデータを入力するかについては、テスト制御回路210が決定する。選択されたサブチェインに図に示すイネーブル信号(EN0〜ENm)が入力され、その選択されたサブチェインにスキャン用のテストデータがテスト制御回路210を介して入力されスキャンテストが行われる。   Note that the test control circuit 210 determines which sub-chain of the total m + 1 sub-chains of the dummy sub-chain 251 and the sub-chains 220-1 to 220-m is to be input with data. An enable signal (EN0 to ENm) shown in the figure is input to the selected subchain, and scan test data is input to the selected subchain via the test control circuit 210, and a scan test is performed.

図4に示すように、テスト制御回路210は、制御部(FSM:Finit State Machine)211、テストキー(TK)一致確認回路部214、線形帰還シフトレジスタ(LFSR)部213、およびデコーダ(Decoder)部212を有する。   As shown in FIG. 4, the test control circuit 210 includes a control unit (FSM) 211, a test key (TK) coincidence confirmation circuit unit 214, a linear feedback shift register (LFSR) unit 213, and a decoder (Decoder). Part 212.

ダミーサブチェイン251、およびサブチェイン220−1〜mに対しては、図4の下部に示すデータ入力部であるスキャンイン(SI)からの入力データに基づいて図4下部に示すテスト制御回路210が設定したデータ列が入力される。その処理結果は、マルチプレクサ230を介して出力部であるスキャンアウト(SO)から出力される。   For the dummy sub-chain 251 and sub-chains 220-1 to 220-m, the test control circuit 210 shown in the lower part of FIG. 4 is based on the input data from the scan-in (SI) which is the data input part shown in the lower part of FIG. The data string set by is input. The processing result is output from the scan-out (SO) that is an output unit via the multiplexer 230.

図4に示した通り、本発明の第一実施形態の構成には、先に図1を参照して説明した[LTPP05]の構成にあった乱数生成部118が存在しない。
すなわち、LFSR部213に初期値を設定する用途で利用されていた乱数生成部が存在しない。
As shown in FIG. 4, the configuration of the first embodiment of the present invention does not include the random number generation unit 118 that is the configuration of [LTPP05] described above with reference to FIG.
That is, there is no random number generation unit used for setting the initial value in the LFSR unit 213.

また、マルチプレクサ230は、ダミーサブチェイン251、およびサブチェイン220−1〜mの計m+1個のサブチェインの出力を行うため、m+1:1MUXとして構成している。   Further, the multiplexer 230 is configured as m + 1: 1 MUX in order to output a total of m + 1 subchains of the dummy subchain 251 and the subchains 220-1 to 220-m.

テスト制御回路210は、図1を参照して説明した[LTPP05]と同様、制御部(FSM)211、テストキー(TK)一致確認回路部214、線形帰還シフトレジスタ(LFSR)部213、およびデコーダ(Decoder)212を有する。ただし、制御部(FSM)211と、線形帰還シフトレジスタ(LFSR)部213においては、図1を参照して説明した[LTPP05]と異なる処理を実行する。   Similar to [LTPP05] described with reference to FIG. 1, the test control circuit 210 includes a control unit (FSM) 211, a test key (TK) match confirmation circuit unit 214, a linear feedback shift register (LFSR) unit 213, and a decoder. (Decoder) 212. However, the control unit (FSM) 211 and the linear feedback shift register (LFSR) unit 213 execute processing different from [LTPP05] described with reference to FIG.

以下、第一実施形態におけるテスト制御回路及び各々の機能について説明する。
なお、テストキー(TK)一致確認回路部214、およびデコーダ(Decoder)212に関しては、先に図1を参照して説明したLTPP05と同一である。
Hereinafter, the test control circuit and each function in the first embodiment will be described.
The test key (TK) coincidence confirmation circuit unit 214 and the decoder (Decoder) 212 are the same as those of LTPP05 described above with reference to FIG.

すなわち、テストキー(TK)一致確認回路部214は、データ入力部であるスキャンイン(SI)から制御部(FSM)211を介して入力された入力テストキー(TK')と、自身が予め保持している正当なテストキー(TK)が一致するか否かを確認し、一致するならば[pass]を、不一致ならば[fail]を制御部(FSM)に返す。   That is, the test key (TK) coincidence confirmation circuit unit 214 holds the input test key (TK ′) input from the scan-in (SI), which is a data input unit, via the control unit (FSM) 211, and the test key (TK). It is confirmed whether or not the valid test key (TK) matches, and if it matches, [pass] is returned to the control unit (FSM), and if it does not match, [fail] is returned.

デコーダ部(Decoder)212は、LFSR部213からのqビット入力を十進数や十六進数で表される数字iへと変更し、iをm+1:1マルチプレクサ(MUX)230における選択信号としてMUX230に対して出力すると共に、ダミーサブチェインを含むi番目のサブチェイン(sub chain)に対するイネーブル(enable)信号であるENiをイネーブル(enable)にする。   The decoder unit (Decoder) 212 changes the q-bit input from the LFSR unit 213 to a number i represented by a decimal number or a hexadecimal number, and i is input to the MUX 230 as a selection signal in the m + 1: 1 multiplexer (MUX) 230. And ENi, which is an enable signal for the i-th sub-chain including the dummy sub-chain, is enabled.

第一実施形態における制御部(FSM)211は、先に図1を参照して説明したLTPP05と同様、スキャンテスト実行時におけるテストモード(test mode)の設定、管理および各モードにおける初期設定処理を実行する。   The control unit (FSM) 211 in the first embodiment performs test mode setting and management at the time of scan test execution, and initial setting processing in each mode, similar to the LTPP 05 described above with reference to FIG. Execute.

なお、テストモードには、セキュアモード(secure mode)と、インセキュアモード(insecure mode)の2種類が存在する。
セキュアモードは、正しいテストキー(TK)が入力されたことが確認された場合にのみ設定される。それ以外の場合にはインセキュアモードに設定される。
制御部(FSM)211は、電源投入またはリセット直後の初期状態として、インセキュアモード(insecure mode)を設定する。
Note that there are two types of test modes, a secure mode and a secure mode (insecure mode).
The secure mode is set only when it is confirmed that a correct test key (TK) has been input. Otherwise, the insecure mode is set.
The control unit (FSM) 211 sets an insecure mode as an initial state immediately after power-on or reset.

ただし、前述の[LTPP05]では、図2のフローチャートを参照して説明した制御部の処理手順であるステップ006(STEP 006)において、LFSR部に(r+q)ビットの乱数Rを初期値として設定し、初期値をランダムに生成するための乱数生成部を利用している。
しかし、本発明の第一実施形態ではLFSR部に(r+q)ビットの乱数Rを設定せず、乱数Rの代わりに0を設定する点が異なっている。
However, in the above-mentioned [LTPP05], in step 006 (STEP 006) which is the processing procedure of the control unit described with reference to the flowchart of FIG. 2, a random number R of (r + q) bits is set as an initial value in the LFSR unit. A random number generator for generating initial values at random is used.
However, the first embodiment of the present invention is different in that (r + q) -bit random number R is not set in the LFSR part, and 0 is set instead of the random number R.

すなわち、外部から入力されテストキー(TK')が正当なテストキー(TK)と一致しない場合、前述の[LTPP05]では、図2のフローチャートを参照して説明した制御部の処理手順であるステップ006(STEP 006)において、LFSR部に(r+q)−bitの乱数Rを初期値として設定している。この乱数は、図1に示すサブチェイン120−1〜mのどのサブチェインをスキャンテスト用サブチェインとして利用するかの決定情報として利用されていた。   That is, when the test key (TK ′) input from the outside does not match the valid test key (TK), the above-mentioned [LTPP05] is a step that is the processing procedure of the control unit described with reference to the flowchart of FIG. In 006 (STEP 006), a random number R of (r + q) −bit is set as an initial value in the LFSR section. This random number has been used as information for determining which sub-chain of the sub-chains 120-1 to 120-m shown in FIG. 1 is to be used as a scan test sub-chain.

これに対して、本第一実施形態では、外部から入力されたテストキー(TK')が正当なテストキー(TK)と一致しない場合、LFSR部に0を設定する。この[0]は、図4に示すダミーサブチェイン251をスキャンテスト用サブチェインとして利用する決定情報として利用される。
すなわち、本第一実施形態では、外部から入力されテストキー(TK')が正当なテストキー(TK)と一致しない場合、スキャンテストは、ダミーサブチェイン251のみを利用して実行される。
On the other hand, in the first embodiment, when the test key (TK ′) input from the outside does not match the valid test key (TK), 0 is set in the LFSR unit. This [0] is used as decision information for using the dummy sub-chain 251 shown in FIG. 4 as a scan test sub-chain.
That is, in the first embodiment, when the test key (TK ′) input from the outside does not match the valid test key (TK), the scan test is executed using only the dummy subchain 251.

前述したように、ダミーサブチェイン251は例えば秘密情報の記録などが行われない、実際のデータ処理には利用されないダミーの回路である。従ってダミーサブチェイン251からの出力には全く秘密情報が含まれず、秘密情報が漏洩することがない。   As described above, the dummy subchain 251 is a dummy circuit that is not used for actual data processing, for example, in which secret information is not recorded. Therefore, the secret information is not included in the output from the dummy subchain 251 at all, and the secret information is not leaked.

以下、第一の実施形態における制御部(FSM)211の具体的処理手順について、図5に示すフローチャートを参照して説明する。   Hereinafter, a specific processing procedure of the control unit (FSM) 211 in the first embodiment will be described with reference to a flowchart shown in FIG.

ステップ021(STEP 021)
テストモード(test mode)をインセキュアモード(insecure mode)に設定する。制御部(FSM)211は、電源投入またはリセット直後の初期状態として、インセキュアモード(insecure mode)を設定する。
Step 021 (STEP 021)
Set the test mode to insecure mode. The control unit (FSM) 211 sets an insecure mode as an initial state immediately after power-on or reset.

ステップ022(STEP 022)
TC:(テストコントロール)信号入力部から、スキャンテストの開始を示すイネーブル(enable)信号が入力されるまで待機する。
Step 022 (STEP 022)
TC: Waits until an enable signal indicating the start of the scan test is input from the (test control) signal input unit.

ステップ023(STEP 023)
SI(スキャンイン)入力部から入力される値の先頭よりkビットをテストキー(TK')として、テストキー(TK)一致確認回路部214に入力する。
Step 023 (STEP 023)
The k bits from the head of the value input from the SI (scan-in) input unit are input to the test key (TK) coincidence confirmation circuit unit 214 as a test key (TK ′).

ステップ024(STEP 024)
テストキー(TK)一致確認回路部214において、テストキー一致確認回路処理を実行する。すなわち、
TK'=TK
上記式が成立する[pass]か非成立[fail]かの確認処理を実行する。
Step 024 (STEP 024)
The test key (TK) coincidence confirmation circuit unit 214 executes test key coincidence confirmation circuit processing. That is,
TK '= TK
A confirmation process is executed as to whether the above expression is satisfied [pass] or not satisfied [fail].

ステップ025(STEP 025)
ステップ024におけるテストキー一致確認処理の結果、キー不一致を示す[fail]ならばステップ026に進む。キー一致を示す[pass]ならば、ステップ027に進む。
Step 025 (STEP 025)
If the result of the test key match confirmation process in step 024 is [fail] indicating a key mismatch, the process proceeds to step 026. If it is [pass] indicating a key match, the process proceeds to step 027.

ステップ026(STEP 026)
SI(スキャンイン)入力部から入力される値の先頭より(k+1)ビット目から(k+q)ビット目までのqビットを無視すると共に、LFSR部213に初期値として0を設定して、ステップ028に進む。
Step 026 (STEP 026)
In step 028, q bits from the (k + 1) th bit to the (k + q) th bit from the head of the value input from the SI (scan-in) input unit are ignored and 0 is set as an initial value in the LFSR unit 213. Proceed to

このLFSR部213の設定情報[0]は、デコーダ部(Decoder)212に出力され、スキャンテストデータを入力するサブチェインをダミーサブチェイン251として設定する処理に利用される。   The setting information [0] of the LFSR unit 213 is output to the decoder unit (Decoder) 212, and is used for processing for setting a sub-chain to which scan test data is input as a dummy sub-chain 251.

ステップ027(STEP 027)
SI(スキャンイン)入力部から入力される値の先頭より(k+1)ビット目から(k+q)ビット目までのqビットを初期値としてLFSR213に設定し、テストモード(test mode)をセキュアモード(secure mode)としてステップ028に進む。
Step 027 (STEP 027)
The q bits from the (k + 1) -th bit to the (k + q) -th bit from the beginning of the value input from the SI (scan-in) input unit are set in the LFSR 213 as an initial value, and the test mode (test mode) is set to the secure mode (secure). mode), the process proceeds to step 028.

ステップ028(STEP 028)
デコーダ部(Decoder)212によるサブチェイン(sub chain)選択処理を実行する。これは、スキャンイン(SI)入力部からのデータを入力するサブチェイン、すなわちスキャンテストを実行するサブチェインの選択処理である。デコーダ部212は、スキャンイン(SI)入力部からのデータを用いて、ダミーサブチェイン251、またはm個のサブチェイン220−1〜mのいずれをテストデータを入力するサブチェインとするかを決定し、決定したサブチェインにイネーブル信号(図4に示すEN0〜ENm)を出力する。イネーブル信号が出力されたサブチェインにスキャンテスト用データが入力されることになる。
Step 028 (STEP 028)
A sub-chain selection process is executed by the decoder unit (Decoder) 212. This is a sub-chain selection process for inputting data from a scan-in (SI) input unit, that is, a sub-chain for executing a scan test. Using the data from the scan-in (SI) input unit, the decoder unit 212 determines which one of the dummy sub-chain 251 and the m sub-chains 220-1 to 220-m is a sub-chain for inputting test data. Then, an enable signal (EN0 to ENm shown in FIG. 4) is output to the determined subchain. Scan test data is input to the sub-chain from which the enable signal is output.

前述したように、デコーダ部(Decoder)212は、LFSR部213からのqビット入力を十進数や十六進数で表される数字iへと変更し、iをm+1:1マルチプレクサ(MUX)230における選択信号としてMUX230に対して出力すると共に、ダミーサブチェインを含むi番目のサブチェイン(sub chain)に対するイネーブル(enable)信号であるENiをイネーブル(enable)にする。   As described above, the decoder unit (Decoder) 212 changes the q-bit input from the LFSR unit 213 to a number i represented by a decimal number or a hexadecimal number, and i is changed in the m + 1: 1 multiplexer (MUX) 230. In addition to being output to the MUX 230 as a selection signal, ENi which is an enable signal for the i-th sub-chain including the dummy sub-chain is enabled.

この処理に際して、ステップ026(STEP 026)を経由した場合、すなわち、外部から入力したテストキー(TK')が正当なテストキー(TK)と一致しない場合は、LFSR部213に初期値として設定された[0]を入力し、選択サブチェインをダミーサブチェイン251として設定する処理を行う。   In this process, when the process goes through step 026 (STEP 026), that is, when the test key (TK ′) input from the outside does not match the valid test key (TK), the initial value is set in the LFSR unit 213. [0] is input, and the selected sub-chain is set as the dummy sub-chain 251.

ステップ029(STEP 029)
SI(スキャンイン)入力部から入力された値のうち次のLビットを、デコーダ部(Decoder)212によって選択されたサブチェインSIiに入力する。すなわち、選択されたサブチェインに対するデータ入力によるスキャンテストの開始である。
Step 029 (STEP 029)
Of the values input from the SI (scan-in) input unit, the next L bits are input to the sub-chain SIi selected by the decoder unit (Decoder) 212. That is, the scan test is started by inputting data for the selected subchain.

ステップ030(STEP 030)
TC:(テストコントロール)信号入力部から、スキャンテストの終了を示すディスエーブル(disable)信号が入力されるまで待機する。
Step 030 (STEP 030)
TC: Waits until a disable signal indicating the end of the scan test is input from the (test control) signal input unit.

ステップ031(STEP 031)
クロック(CLK)信号入力部から入力されたクロック数に応じて、キャプチャ(capture)処理を実行する。
これは、SI(スキャンイン)入力部からサブチェインに入力されたビット列をクロックに応じてサブチェイン内で順次進行させる処理である。
Step 031 (STEP 031)
A capture process is executed according to the number of clocks input from the clock (CLK) signal input unit.
This is a process in which the bit string input to the sub-chain from the SI (scan-in) input unit is sequentially advanced in the sub-chain according to the clock.

ステップ032(STEP 032)
TC:(テストコントロール)信号入力部から、スキャンテストの開始を示すイネーブル(enable)信号が入力された後、クロック(CLK)より入力されたLサイクルのクロックに応じて、サブチェインSIiの値を出力部であるスキャンアウト(SO)から出力すると同時に、スキャンイン(SI)から入力された次のLビットをサブチェインSIiに入力する。
Step 032 (STEP 032)
TC: (test control) After the enable signal indicating the start of the scan test is input from the signal input unit, the value of the sub-chain SIi is set according to the L cycle clock input from the clock (CLK). At the same time as output from scan-out (SO), which is an output unit, the next L bits input from scan-in (SI) are input to sub-chain SIi.

ステップ033(STEP 033)
LFSR213を一回動作させ、ステップ028に戻る。
Step 033 (STEP 033)
The LFSR 213 is operated once and the process returns to Step 028.

ステップ028〜033を繰り返し実行して、複数のサブチェインに対して、それぞれスキャンデータを入力して、そのスキャン結果をスキャンアウト(SO)から出力する。   Steps 028 to 033 are repeatedly executed, scan data is input to each of the plurality of subchains, and the scan result is output from scan out (SO).

第一実施形態における線形帰還シフトレジスタ部(LFSR)213の構成と処理について図6を参照して説明する。
図6に示す通り、第一実施形態における線形帰還シフトレジスタ部(LFSR)213は、qビットLFSR構成部のみによって構成されている。
先に図3を参照して説明した[LTPP05]の線形帰還シフトレジスタ部(LFSR)113に含まれるrビット乱数部やセレクタ部は保持していない。
本実施形態では、原始多項式を生成多項式としたqビットLFSR構成部のみから構成されている。
The configuration and processing of the linear feedback shift register unit (LFSR) 213 in the first embodiment will be described with reference to FIG.
As shown in FIG. 6, the linear feedback shift register unit (LFSR) 213 in the first embodiment is configured only by a q-bit LFSR configuration unit.
The r-bit random number part and the selector part included in the linear feedback shift register part (LFSR) 113 of [LTPP05] described above with reference to FIG. 3 are not held.
In the present embodiment, it is composed only of a q-bit LFSR configuration unit using a primitive polynomial as a generator polynomial.

このように、本発明の第一実施形態では、先に図1〜図3を参照して説明した[LTPP05]の構成と異なり、LFSR部に(r+q)−bitの乱数Rを設定せず、乱数Rの代わりに0を設定する。   As described above, in the first embodiment of the present invention, unlike the configuration of [LTPP05] described above with reference to FIGS. 1 to 3, the (r + q) -bit random number R is not set in the LFSR unit. Instead of the random number R, 0 is set.

すなわち、外部から入力されたテストキー(TK')が正当なテストキー(TK)と一致しない場合、LFSR部に0を設定する。この[0]は、図4に示すダミーサブチェイン251をスキャンテスト用サブチェインとして利用する決定情報として利用される。この結果、本第一実施形態では、外部から入力されたテストキー(TK')が正当なテストキー(TK)と一致しない場合、スキャンテストは、ダミーサブチェイン251のみを利用して実行される。ダミーサブチェイン251は例えば秘密情報の記録などが行われない、実際のデータ処理には利用されないダミーの回路である。従ってダミーサブチェイン251からの出力には全く秘密情報が含まれず、秘密情報が漏洩することがない。   That is, when the test key (TK ′) input from the outside does not match the valid test key (TK), 0 is set in the LFSR unit. This [0] is used as decision information for using the dummy sub-chain 251 shown in FIG. 4 as a scan test sub-chain. As a result, in the first embodiment, when the test key (TK ′) input from the outside does not match the valid test key (TK), the scan test is executed using only the dummy sub-chain 251. . The dummy subchain 251 is a dummy circuit that is not used for actual data processing, for example, in which secret information is not recorded. Therefore, the secret information is not included in the output from the dummy subchain 251 at all, and the secret information is not leaked.

前述の[LTPP05]では、インセキュアモード(insecure mode)、すなわち、入力キー(TK')が正当なテストキー(TK)と一致しない場合において、LFSR部113に攻撃者が知らないランダムな初期値を設定することにより、スキャンテストデータを入力するサブチェインの選択を複雑化し、攻撃者による入出力パターンの特定を困難としていた。しかしながら、前述したようにこのような構成であっても、攻撃者はLFSRの構成及び(r+q)ビットのランダムな初期値に対する総当り攻撃を行うことにより、入出力パターンを現実的に計算可能な範囲まで絞り込むことが可能である。   In the above-mentioned [LTPP05], in the insecure mode, that is, when the input key (TK ′) does not match the valid test key (TK), a random initial value that the attacker does not know to the LFSR unit 113 This makes the selection of sub-chains for inputting scan test data complicated and makes it difficult for an attacker to specify input / output patterns. However, as described above, even with such a configuration, an attacker can realistically calculate an input / output pattern by performing a brute force attack on the LFSR configuration and a random initial value of (r + q) bits. It is possible to narrow down to the range.

これに対して、本発明の第一の実施形態では、0番目のサブチェインとして、機密情報が含まれないダミーサブチェイン251を構成し、インセキュアモード(insecure mode)、すなわち、入力キー(TK')が正当なテストキー(TK)と一致しない場合において、LFSR部213の初期値を0に設定することでLFSR部の出力を常に0とし、デコーダ部212によって設定される選択サブチェインをダミーサブチェイン251とする構成としている。これにより攻撃者は、自身が入力したテストパターンに対する出力としては、ダミーサブチェイン251からの出力しか得ることができなくなる。これによって、機密である内部構造の解析を不可能としている。   In contrast, in the first embodiment of the present invention, a dummy subchain 251 that does not include confidential information is configured as the 0th subchain, and an insecure mode, that is, an input key (TK) When ') does not match the valid test key (TK), setting the initial value of the LFSR unit 213 to 0 always sets the output of the LFSR unit to 0, and the selected subchain set by the decoder unit 212 is a dummy. The sub-chain 251 is used. As a result, the attacker can obtain only the output from the dummy sub-chain 251 as the output for the test pattern input by the attacker. This makes it impossible to analyze confidential internal structures.

正当なテストキー(TK)を知らない攻撃者は正当なテストキー(TK)と一致しないテストキー(TK')を入力する。本第一実施形態では、この場合、必ずダミーサブチェイン251がテストスキャンチェインとして選択される。攻撃者は、任意のテストパターンを入力し、そのテスト結果を出力として取得可能となるが、この場合の出力は全てダミーサブチェイン251からの出力となる。   An attacker who does not know the valid test key (TK) inputs a test key (TK ′) that does not match the valid test key (TK). In the first embodiment, in this case, the dummy sub-chain 251 is always selected as the test scan chain. An attacker can input an arbitrary test pattern and acquire the test result as an output. In this case, all outputs are output from the dummy subchain 251.

ダミーサブチェイン251に接続されている被テスト回路はIC内部の機密ではない部分、即ち、解析されたとしても安全性に影響を与えない部分であるため、攻撃者がスキャン回路を利用してICの内部構造を解析したとしても、有益となる情報、即ち機密が露呈するような情報を得ることは不可能である。   Since the circuit under test connected to the dummy sub-chain 251 is a non-confidential part inside the IC, that is, a part that does not affect the safety even if analyzed, the attacker uses the scan circuit to make the IC Even if the internal structure is analyzed, it is impossible to obtain useful information, that is, information that reveals confidentiality.

前述の[LTPP05]は、インセキュアモード(insecure mode)時にLFSRに対して(r+q)ビットのランダムな初期値を設定している。これにより、攻撃者に対して、入力したテストパターンが格納されるサブチェインの特定を困難化が可能となり、結果として、スキャンアウトされた出力データから、テストパターンに対応するテスト結果の特定を計算量的に困難化している。しかしながら、前述した通り、攻撃者は、あるサブチェインに接続された被テスト回路に対して自身が望む特定のパターンを作成し、2個のテストパターンをすべてこの値に設定しておくことにより、出力されるm個のテスト結果のうちいずれかは解析対象である被テスト回路のテスト結果とすることが可能となる。また、前述した通り、入力と出力の組み合わせは現実的な計算量で特定可能であるため、最終的に攻撃者は、ICの内部構造を現実的な計算量の範囲内で解析可能となる。 [LTPP05] described above sets a random initial value of (r + q) bits for the LFSR in the insecure mode. This makes it difficult for an attacker to specify the subchain in which the input test pattern is stored, and as a result, the test result corresponding to the test pattern is calculated from the scanned output data. It has become quantitatively difficult. However, as described above, the attacker creates a specific pattern he desires for the circuit under test connected to a certain subchain, and sets all 2 m test patterns to this value. Any one of the m test results to be output can be used as a test result of the circuit under test to be analyzed. Further, as described above, the combination of input and output can be specified with a realistic calculation amount, so that the attacker can finally analyze the internal structure of the IC within the range of the realistic calculation amount.

これに対して本発明における第一実施形態では、入力テストキー(TK')が正当でない場合、LFSRに対して0を設定し、これにより必ずダミーサブチェイン251がテストスキャンチェインとして選択される構成としている。攻撃者は、任意のテストパターンを入力し、そのテスト結果を出力として取得可能となるが、この場合の出力は全てダミーサブチェイン251からの出力となる。攻撃者はICの機密ではない部分しか解析できない状態となるため、LTPP05よりはるかに安全性を向上させることが可能となる。   On the other hand, in the first embodiment of the present invention, when the input test key (TK ′) is not valid, 0 is set to the LFSR, so that the dummy sub-chain 251 is always selected as the test scan chain. It is said. An attacker can input an arbitrary test pattern and acquire the test result as an output. In this case, all outputs are output from the dummy subchain 251. Since the attacker can analyze only the non-confidential part of the IC, it is possible to improve the safety much more than LTPP05.

インセキュアモード(insecure mode)においてはLFSRに初期値として0を設定するため、先に図1を参照して説明した[LTPP05]の構成において必要であった、乱数生成部が不要となると共に、LFSR部においても、rビット乱数部及びセレクタ部が不要となる。これにより、前述した安全性の向上に加え、テスト制御回路部における回路規模削減をも実現することが可能となる。   In the insecure mode, the initial value is set to 0 in the LFSR, so that the random number generator required in the configuration of [LTPP05] described above with reference to FIG. 1 becomes unnecessary. Also in the LFSR part, the r-bit random number part and the selector part are not necessary. As a result, in addition to the improvement in safety described above, it is possible to reduce the circuit scale in the test control circuit unit.

[3−2.ダミーサブチェインを用いた本発明の第二実施形態の構成および処理について]
次に、図7以下を参照して本発明の第二実施形態について説明する。
本発明における第二の実施形態は、前述の第一実施形態と同様、機密情報を含まないダミーサブチェインを有する構成とするとともに、インセキュアモード(insecure mode)時において、スキャンテストデータを入力するサブチェインに乱数生成部の生成したランダムな値を入力する構成とし、ランダム値を入力したダミーサブチェインの処理結果を出力する構成としている。これにより、テストキー(TK)の一致、不一致についても確認を困難としている。
[3-2. Configuration and processing of second embodiment of the present invention using dummy sub-chain]
Next, a second embodiment of the present invention will be described with reference to FIG.
Similar to the first embodiment, the second embodiment of the present invention has a dummy sub-chain that does not include confidential information and inputs scan test data in the insecure mode. A random value generated by the random number generation unit is input to the subchain, and a processing result of the dummy subchain to which the random value is input is output. This makes it difficult to confirm whether the test key (TK) matches or does not match.

第二の実施形態におけるスキャンチェイン及びテスト制御回路の概要を図7に示す。
図7は、第二の実施形態におけるIC(半導体集積回路)300を示している。
スキャンチェインは、先に図1を参照して説明した[LTPP05]の構成と同様、複数(m個)のサブチェイン320−1〜mに分割して構成されるが、さらに、ダミーサブチェイン351を有する。ダミーサブチェイン351は例えば秘密情報の記録が行われない、実際のデータ処理には利用されないダミーの回路である。
An outline of the scan chain and the test control circuit in the second embodiment is shown in FIG.
FIG. 7 shows an IC (semiconductor integrated circuit) 300 according to the second embodiment.
The scan chain is divided into a plurality (m) of sub-chains 320-1 to 320-m, similar to the configuration of [LTPP05] described above with reference to FIG. Have The dummy subchain 351 is a dummy circuit that is not used for actual data processing, for example, in which secret information is not recorded.

ダミーサブチェイン351、およびサブチェイン320−1〜mは、フリップフロップ(FF)や、演算回路、メモリなどの回路素子の連鎖構成を有する。   The dummy subchain 351 and the subchains 320-1 to 320-1m have a chain configuration of circuit elements such as flip-flops (FF), arithmetic circuits, and memories.

なお、ダミーサブチェイン351、およびサブチェイン320−1〜mの計m+1個のサブチェインのどのサブチェインにデータを入力するかについては、テスト制御回路310が決定する。選択されたサブチェインに図に示すイネーブル信号(EN0〜ENm)が入力され、その選択されたサブチェインにスキャン用のテストデータがテスト制御回路310を介して入力されスキャンテストが行われる。   Note that the test control circuit 310 determines which sub-chain of the total m + 1 sub-chains of the dummy sub-chain 351 and the sub-chains 320-1 to 320-1m is to be input with data. An enable signal (EN0 to ENm) shown in the figure is input to the selected subchain, and scan test data is input to the selected subchain via the test control circuit 310 to perform a scan test.

図4に示すように、テスト制御回路310は、制御部(FSM:Finit State Machine)311、テストキー(TK)一致確認回路部314、線形帰還シフトレジスタ(LFSR)部313、デコーダ(Decoder)部312、および乱数生成部318を有する。   4, the test control circuit 310 includes a control unit (FSM: Finish State Machine) 311, a test key (TK) match confirmation circuit unit 314, a linear feedback shift register (LFSR) unit 313, and a decoder (Decoder) unit. 312 and a random number generation unit 318.

ダミーサブチェイン351、およびサブチェイン320−1〜mに対しては、図7の下部に示すデータ入力部であるスキャンイン(SI)からの入力データに基づいて図7下部に示すテスト制御回路310が設定したデータ列が入力される。その処理結果は、マルチプレクサ330を介して出力部であるスキャンアウト(SO)から出力される。   For the dummy sub-chain 351 and the sub-chains 320-1 to 320-m, the test control circuit 310 shown in the lower part of FIG. 7 is based on the input data from the scan-in (SI) that is the data input unit shown in the lower part of FIG. The data string set by is input. The processing result is output from the scan-out (SO) that is an output unit via the multiplexer 330.

なお、第二実施形態では、ダミーサブチェイン351の前段に乱数生成部318からの出力、または制御部からの出力を選択してダミーサブチェイン351に入力するセレクタ371を有する。セレクタ371は、例えば以下の処理を行う。例えば入力されたテストキー(TK')が正当なテストキー(TK)と一致しないインセキュアモード(insecure mode)時において、スキャンテストデータを入力するサブチェインに乱数生成部の生成したランダムな値を入力する。すなわち、インセキュアモードでは、ランダム値を入力したダミーサブチェインの処理結果を出力する。これにより、テストキー(TK)の一致、不一致についても確認を困難としている。   In the second embodiment, a selector 371 that selects an output from the random number generation unit 318 or an output from the control unit and inputs the output to the dummy subchain 351 is provided at the preceding stage of the dummy subchain 351. For example, the selector 371 performs the following processing. For example, in the insecure mode (insecure mode) where the input test key (TK ′) does not match the valid test key (TK), the random value generated by the random number generator is input to the sub-chain for inputting the scan test data. input. That is, in the insecure mode, the processing result of the dummy subchain to which a random value is input is output. This makes it difficult to confirm whether the test key (TK) matches or does not match.

なお、マルチプレクサ330は、前述の第一実施形態と同様、ダミーサブチェイン351、およびサブチェイン320−1〜mの計m+1個のサブチェインの出力を行うため、m+1:1MUXとして構成している。   Note that the multiplexer 330 is configured as m + 1: 1 MUX in order to output a total of m + 1 subchains of the dummy subchain 351 and the subchains 320-1 to 320-1m, as in the first embodiment.

以下、第二の実施形態の具体的な構成並びにスキャンテスト時の動作について説明する。   The specific configuration of the second embodiment and the operation during the scan test will be described below.

テスト制御回路310は、第一実施形態と同様、制御部(FSM:Finit State Machine)311、テストキー(TK)一致確認回路部314、線形帰還シフトレジスタ(LFSR)部313、デコーダ(Decoder)部312を有する。本実施形態では、さらに乱数生成部318およびセレクタ371を有する。   As in the first embodiment, the test control circuit 310 includes a control unit (FSM: Finish State Machine) 311, a test key (TK) coincidence confirmation circuit unit 314, a linear feedback shift register (LFSR) unit 313, and a decoder (Decoder) unit. 312. In the present embodiment, a random number generation unit 318 and a selector 371 are further provided.

第二実施形態と第一実施形態とでは、乱数生成部318が存在すること、インセキュアモード(insecure mode)において、ダミーサブチェイン351に対する入力をセレクタ371によって切り替える構成、さらに制御部(FSM)311の処理の一部異なる。その他の構成は、第一実施形態と同様の構成を有する。   In the second embodiment and the first embodiment, there is a random number generation unit 318, a configuration in which the input to the dummy subchain 351 is switched by the selector 371 in the insecure mode, and a control unit (FSM) 311 Some of the processing is different. Other configurations have the same configuration as the first embodiment.

テストキー(TK)一致確認回路部314は、データ入力部であるスキャンイン(SI)から制御部(FSM)311を介して入力された入力テストキー(TK')と、自身が予め保持している正当なテストキー(TK)が一致するか否かを確認し、一致するならば[pass]を、不一致ならば[fail]を制御部(FSM)に返す。   The test key (TK) coincidence confirmation circuit unit 314 has an input test key (TK ′) input from the scan-in (SI), which is a data input unit, via the control unit (FSM) 311 and the test key (TK) in advance. It is checked whether the valid test key (TK) matches, and if it matches, [pass] is returned to the control unit (FSM).

デコーダ部(Decoder)312は、LFSR部313からのqビット入力を十進数や十六進数で表される数字iへと変更し、iをm+1:1マルチプレクサ(MUX)330における選択信号としてMUX330に対して出力すると共に、ダミーサブチェインを含むi番目のサブチェイン(sub chain)に対するイネーブル(enable)信号であるENiをイネーブル(enable)にする。   The decoder unit (Decoder) 312 changes the q-bit input from the LFSR unit 313 to a number i represented by a decimal number or a hexadecimal number, and i is input to the MUX 330 as a selection signal in the m + 1: 1 multiplexer (MUX) 330. And ENi, which is an enable signal for the i-th sub-chain including the dummy sub-chain, is enabled.

制御部(FSM)211は、先に図1を参照して説明したLTPP05と同様、スキャンテスト実行時におけるテストモード(test mode)の設定、管理および各モードにおける初期設定処理を実行する。   The control unit (FSM) 211 executes setting and management of a test mode (test mode) at the time of executing a scan test and initial setting processing in each mode, similar to the LTPP 05 described above with reference to FIG.

前述したように、テストモードにはセキュアモード(secure mode)と、インセキュアモード(insecure mode)の2種類が存在する。
セキュアモードは、正しいテストキー(TK)が入力されたことが確認された場合にのみ設定される。それ以外の場合にはインセキュアモードに設定される。
制御部(FSM)311は、電源投入またはリセット直後の初期状態として、インセキュアモード(insecure mode)を設定する。
As described above, there are two types of test modes, a secure mode and a secure mode (insecure mode).
The secure mode is set only when it is confirmed that a correct test key (TK) has been input. Otherwise, the insecure mode is set.
The control unit (FSM) 311 sets an insecure mode as an initial state immediately after power-on or reset.

乱数生成部318は、制御部(FSM)311からの出力信号がインセキュアモード(insecure mode)の設定である場合にアクティブ(active)となり、任意ビット数のランダムな値を生成する。生成された乱数は、セレクタ371を介してダミーサブチェイン351に供給される。   The random number generation unit 318 becomes active when the output signal from the control unit (FSM) 311 is set to an insecure mode, and generates a random value having an arbitrary number of bits. The generated random number is supplied to the dummy sub-chain 351 through the selector 371.

セレクタ371は、制御部(FSM)311からの出力信号がセキュアモード(secure mode)である場合には、スキャンイン(SI)からの入力信号SIをダミーサブチェイン(dummy sub chain)351に入力する信号として選択する。一方、制御部(FSM)311からの出力信号がインセキュアモード(insecure mode)である場合には、乱数生成部318によって発生された乱数Zをダミーサブチェイン(dummy sub chain)351に入力する信号として選択する。 The selector 371 inputs the input signal SI 0 from the scan-in (SI) to the dummy sub-chain 351 when the output signal from the control unit (FSM) 311 is in the secure mode (secure mode). Select as the signal to be used. On the other hand, when the output signal from the control unit (FSM) 311 is an insecure mode, a signal for inputting the random number Z generated by the random number generation unit 318 to the dummy sub chain 351. Select as.

第二実施形態における制御部(FSM)311は、第一実施形態同様、外部から入力されたテストキー(TK')が正当なテストキー(TK)と一致しない場合、すなわち、インセキュアモード(insecure mode)では、LFSR部に(r+q)ビットの乱数Rを設定せず、乱数Rの代わりに0を設定する。
この[0]は、図7に示すダミーサブチェイン351をスキャンテスト用サブチェインとして利用する決定情報として利用される。
As in the first embodiment, the control unit (FSM) 311 in the second embodiment, when the test key (TK ′) input from the outside does not match the valid test key (TK), that is, the insecure mode (insecure mode). In (mode), a random number R of (r + q) bits is not set in the LFSR section, and 0 is set instead of the random number R.
This [0] is used as decision information for using the dummy sub-chain 351 shown in FIG. 7 as a scan test sub-chain.

なお、第一実施形態では、インセキュアモード(insecure mode)において、ダミーサブチェインに入力するデータは外部から入力されたデータ、すなわちスキャンイン(SI)から入力されたテストパターンであった。これに対して第二実施形態では、インセキュアモード(insecure mode)において、ダミーサブチェインに入力するデータは外部から入力されたデータではなく、乱数生成部318の生成した乱数としている。乱数生成部318の生成したLビットの乱数Zを設定する。   In the first embodiment, in the insecure mode, the data input to the dummy subchain is a test pattern input from the outside, that is, scan-in (SI). On the other hand, in the second embodiment, in the insecure mode, the data input to the dummy subchain is not the data input from the outside but the random number generated by the random number generation unit 318. The L-bit random number Z generated by the random number generation unit 318 is set.

以下、第二の実施形態における制御部(FSM)311の具体的処理手順について図8に示すフローチャートを参照して説明する。   Hereinafter, a specific processing procedure of the control unit (FSM) 311 in the second embodiment will be described with reference to a flowchart shown in FIG.

ステップ041(STEP 041)
テストモード(test mode)をインセキュアモード(insecure mode)に設定する。制御部(FSM)311は、電源投入またはリセット直後の初期状態として、インセキュアモード(insecure mode)を設定する。
Step 041 (STEP 041)
Set the test mode to insecure mode. The control unit (FSM) 311 sets an insecure mode as an initial state immediately after power-on or reset.

ステップ042(STEP 042)
TC:(テストコントロール)信号入力部から、スキャンテストの開始を示すイネーブル(enable)信号が入力されるまで待機する。
Step 042 (STEP 042)
TC: Waits until an enable signal indicating the start of the scan test is input from the (test control) signal input unit.

ステップ043(STEP 043)
SI(スキャンイン)入力部から入力される値の先頭よりkビットをテストキー(TK')として、テストキー(TK)一致確認回路部314に入力する。
Step 043 (STEP 043)
The k bits from the head of the value input from the SI (scan-in) input unit are input to the test key (TK) match confirmation circuit unit 314 as a test key (TK ′).

ステップ044(STEP 044)
テストキー(TK)一致確認回路部314において、テストキー一致確認回路処理を実行する。すなわち、
TK'=TK
上記式が成立する[pass]か非成立[fail]かの確認処理を実行する。
Step 044 (STEP 044)
The test key (TK) coincidence confirmation circuit unit 314 executes test key coincidence confirmation circuit processing. That is,
TK '= TK
A confirmation process is executed as to whether the above expression is satisfied [pass] or not satisfied [fail].

ステップ045(STEP 045)
ステップ044におけるテストキー一致確認処理の結果、キー不一致を示す[fail]ならばステップ046に進む。キー一致を示す[pass]ならば、ステップ047に進む。
Step 045 (STEP 045)
If the result of the test key match confirmation process in step 044 is [fail] indicating a key mismatch, the process proceeds to step 046. If it is [pass] indicating a key match, the process proceeds to step 047.

ステップ046(STEP 046)
SI(スキャンイン)入力部から入力される値の先頭より(k+1)ビット目から(k+q)ビット目までのqビットを無視すると共に、LFSR部313に初期値として0を設定して、ステップ048に進む。
Step 046 (STEP 046)
In step 048, q bits from the (k + 1) th bit to the (k + q) th bit from the head of the value input from the SI (scan-in) input unit are ignored and 0 is set as an initial value in the LFSR unit 313. Proceed to

このLFSR部213の設定情報[0]は、デコーダ部(Decoder)312に出力され、スキャンテストデータを入力するサブチェインをダミーサブチェイン351として設定する処理に利用される。   The setting information [0] of the LFSR unit 213 is output to the decoder unit (Decoder) 312 and used for the process of setting the sub-chain to which the scan test data is input as the dummy sub-chain 351.

ステップ047(STEP 047)
SI(スキャンイン)入力部から入力される値の先頭より(k+1)ビット目から(k+q)ビット目までのqビットを初期値としてLFSR313に設定し、テストモード(test mode)をセキュアモード(secure mode)としてステップ048に進む。
Step 047 (STEP 047)
The q bits from the (k + 1) -th bit to the (k + q) -th bit from the beginning of the value input from the SI (scan-in) input unit are set in the LFSR 313 as an initial value, and the test mode (test mode) is set to the secure mode (secure). mode) and go to step 048.

ステップ048(STEP 048)
デコーダ部(Decoder)312によるサブチェイン(sub chain)選択処理を実行する。これは、スキャンイン(SI)入力部からのデータを入力するサブチェイン、すなわちスキャンテストを実行するサブチェインの選択処理である。デコーダ部312は、スキャンイン(SI)入力部からのデータを用いて、ダミーサブチェイン351、またはm個のサブチェイン320−1〜mのいずれをテストデータを入力するサブチェインとするかを決定し、決定したサブチェインにイネーブル信号(図7に示すEN0〜ENm)を出力する。イネーブル信号が出力されたサブチェインにスキャンテスト用データが入力されることになる。
Step 048 (STEP 048)
A sub chain selection process is executed by the decoder unit 312. This is a sub-chain selection process for inputting data from a scan-in (SI) input unit, that is, a sub-chain for executing a scan test. Using the data from the scan-in (SI) input unit, the decoder unit 312 determines which of the dummy sub-chain 351 or the m sub-chains 320-1 to 320-m is a sub-chain for inputting test data. Then, an enable signal (EN0 to ENm shown in FIG. 7) is output to the determined subchain. Scan test data is input to the sub-chain from which the enable signal is output.

前述したように、デコーダ部(Decoder)312は、LFSR部313からのqビット入力を十進数や十六進数で表される数字iへと変更し、iをm+1:1マルチプレクサ(MUX)330における選択信号としてMUX330に対して出力すると共に、ダミーサブチェインを含むi番目のサブチェイン(sub chain)に対するイネーブル(enable)信号であるENiをイネーブル(enable)にする。   As described above, the decoder unit (Decoder) 312 changes the q-bit input from the LFSR unit 313 to a number i represented by a decimal number or a hexadecimal number, and i is changed in the m + 1: 1 multiplexer (MUX) 330. While being output to the MUX 330 as a selection signal, ENi which is an enable signal for the i-th sub-chain including the dummy sub-chain is enabled.

この処理に際して、ステップ046(STEP 046)を経由した場合、すなわち、外部から入力したテストキー(TK')が正当なテストキー(TK)と一致しない場合は、LFSR部313に初期値として設定された[0]を入力し、選択サブチェインをダミーサブチェイン351として設定する処理を行う。   In this process, when the process goes through step 046 (STEP 046), that is, when the test key (TK ′) input from the outside does not match the valid test key (TK), the initial value is set in the LFSR unit 313. [0] is input, and the selected sub-chain is set as the dummy sub-chain 351.

ステップ049(STEP 049)
テストモード(test mode)がインセキュアモード(insecure mode)ならばステップ050(STEP 050)に進む。そうでなければステップ051(STEP 051)に進む。
Step 049 (STEP 049)
If the test mode is the insecure mode, the process proceeds to step 050 (STEP 050). Otherwise, the process proceeds to step 051 (STEP 051).

ステップ050(STEP 050)
外部から入力したテストキー(TK')が正当なテストキー(TK)と一致しない場合などのインセキュアモード(insecure mode)における処理である。この場合、スキャンイン(SI)から入力された値を無視し、乱数生成部318の生成したリビットの乱数Zをセレクタ371を介してダミーサブチェイン351に入力する。
Step 050 (STEP 050)
This is processing in the insecure mode (insecure mode) when the test key (TK ′) input from the outside does not match the valid test key (TK). In this case, the value input from the scan-in (SI) is ignored, and the rebit random number Z generated by the random number generation unit 318 is input to the dummy subchain 351 via the selector 371.

ステップ051(STEP 051)
外部から入力したテストキー(TK')が正当なテストキー(TK)と一致した場合などのセキュアモード(secure mode)における処理である。この場合、スキャンイン(SI)から入力された値のうち次のLビットを、デコーダ部312によって選択されたサブチェイン(SIi)に入力する。
Step 051 (STEP 051)
This is processing in a secure mode (secure mode) such as when a test key (TK ′) input from the outside matches a valid test key (TK). In this case, the next L bits among the values input from the scan-in (SI) are input to the sub-chain (SIi) selected by the decoder unit 312.

ステップ052(STEP 052)
TC:(テストコントロール)信号入力部から、スキャンテストの終了を示すディスエーブル(disable)信号が入力されるまで待機する。
Step 052 (STEP 052)
TC: Waits until a disable signal indicating the end of the scan test is input from the (test control) signal input unit.

ステップ053(STEP 053)
クロック(CLK)信号入力部から入力されたクロック数に応じて、キャプチャ(capture)処理を実行する。
これは、サブチェインに入力されたビット列をクロックに応じてサブチェイン内で順次進行させる処理である。
Step 053 (STEP 053)
A capture process is executed according to the number of clocks input from the clock (CLK) signal input unit.
In this process, the bit string input to the subchain is sequentially advanced in the subchain according to the clock.

ステップ054(STEP 054)
テストモード(test mode)がインセキュアモード(insecure mode)ならばステップ055(STEP 055)に進む。そうでなければステップ056(STEP 056)に進む。
Step 054 (STEP 054)
If the test mode is the insecure mode, the process proceeds to step 055 (STEP 055). Otherwise, go to Step 056 (STEP 056).

ステップ055(STEP 055)
TC:(テストコントロール)信号入力部から、スキャンテストの開始を示すイネーブル(enable)信号が入力された後、スキャンイン(SI)から入力された値を無視し、乱数生成部318の生成したLビットの乱数Z'をダミーサブチェイン351に入力する。
Step 055 (STEP 055)
TC: After the enable signal indicating the start of the scan test is input from the (test control) signal input unit, the value input from the scan-in (SI) is ignored, and the L generated by the random number generation unit 318 is generated. A bit random number Z ′ is input to the dummy sub-chain 351.

ステップ056(STEP 056)
TC:(テストコントロール)信号入力部から、スキャンテストの開始を示すイネーブル(enable)信号が入力された後、スキャンイン(SI)から入力された値のうち次のLビットを、デコーダ部312によって選択されたサブチェインに入力する。
Step 056 (STEP 056)
TC: After an enable signal indicating the start of the scan test is input from the (test control) signal input unit, the decoder unit 312 outputs the next L bits of the value input from the scan-in (SI). Enter into the selected subchain.

ステップ057(STEP 057)
LFSR313を一回動作させ、ステップ048に戻る。
Step 057 (STEP 057)
The LFSR 313 is operated once and the process returns to step 048.

ステップ048〜057は繰り返し実行して、複数のサブチェインに対して、それぞれスキャンデータを入力して、そのスキャン結果をスキャンアウト(SO)から出力する。   Steps 048 to 057 are repeatedly executed, scan data is input to each of the plurality of subchains, and the scan result is output from scan out (SO).

第二の実施形態においては、第一の実施形態同様、入力キー(TK')が不正である場合などに設定されるインセキュアモード(insecure mode)においてLFSR部313の初期値を0とすることにより、攻撃者がダミーサブチェイン351の出力しか得られないように構成している。さらに、インセキュアモード(insecure mode)では、攻撃者が入力したテストパターンの代わりに、乱数生成部318の生成したランダムな値Zを擬似テストパターンとしてダミーサブチェイン351に入力する構成としている。
これにより、攻撃者に対して機密である内部構造を解析不可能とすると共に、テストキー(TK)の一致、不一致を確認することも困難にしている。
In the second embodiment, as in the first embodiment, the initial value of the LFSR unit 313 is set to 0 in the insecure mode set when the input key (TK ′) is invalid. Thus, the attacker can obtain only the output of the dummy sub-chain 351. Furthermore, in the insecure mode (insecure mode), the random value Z generated by the random number generation unit 318 is input to the dummy subchain 351 as a pseudo test pattern instead of the test pattern input by the attacker.
This makes it impossible to analyze the internal structure that is confidential to the attacker, and also makes it difficult to confirm whether the test key (TK) matches or does not match.

このように、第二実施形態では、第一の実施形態同様、ICにおける内部構造のうち、機密ではない部分に対するテスト機能として、ダミーサブチェイン(dummy sub chain)を追加し、インセキュアモード(insecure mode)では、LFSRの初期値として0を設定してテスト結果としての出力をダミーサブチェイン351のみの出力として機密情報の漏れを防止する構成としている。   As described above, in the second embodiment, as in the first embodiment, a dummy sub-chain is added as a test function for the non-confidential portion of the internal structure of the IC, and the in-secure mode (insecure mode) In the mode), 0 is set as the initial value of the LFSR, and the output as the test result is used as the output of only the dummy subchain 351 to prevent leakage of confidential information.

第一実施形態では、ダミーサブチェインへの入力を、攻撃者が入力した任意のテストパターンとしているため、攻撃者が同一の値となるテストパターンを複数個入力した場合、出力されるテスト結果も常に同一の値となる。これを利用することにより、攻撃者は、自身が入力したテストキー(TK')が正しいテストキー(TK)と一致しているか否かを判断可能となる。ただし、攻撃者が実施可能な攻撃者は総当り攻撃のみであるため、TKが十分に大きな値であり、かつ容易に推測不可能であった場合には、攻撃者の優位性を著しく向上させるものではない。   In the first embodiment, since the input to the dummy sub-chain is an arbitrary test pattern input by the attacker, when the attacker inputs a plurality of test patterns having the same value, the output test result is also Always the same value. By using this, the attacker can determine whether or not the test key (TK ′) input by himself / herself matches the correct test key (TK). However, since attackers can only perform brute force attacks, if TK is a sufficiently large value and cannot be easily guessed, the superiority of the attacker will be significantly improved. It is not a thing.

これに対して第二実施形態では、インセキュアモードにおいてダミーサブチェイン351に入力される値を攻撃者がスキャンイン(SI)から入力した値ではなく、乱数生成部381の生成した乱数Zとしている。これにより、攻撃者が同一の値となるテストパターンを複数個入力したとしても、出力されるテスト結果が毎回ランダムな値となるため、攻撃者は、自身が入力したテストキー(TK')が正しいテストキー(TK)と一致しているか否かを判断することがより困難となっている。   On the other hand, in the second embodiment, the value input to the dummy subchain 351 in the insecure mode is not the value input from the scan-in (SI) by the attacker but the random number Z generated by the random number generator 381. . As a result, even if the attacker inputs a plurality of test patterns having the same value, the test result to be output becomes a random value every time, so that the attacker has the test key (TK ′) entered by himself / herself. It is more difficult to determine whether or not it matches the correct test key (TK).

なお、第二実施形態では、第一実施形態に対して、乱数Zを生成するための乱数生成部381、およびセキュアモード時にスキャンイン(SI)からのデータをダミーサブチェイン351に入力し、インセキュアモード時には乱数生成部381からの乱数Zを選択入力するセレクタ371を追加しているため、第一実施形態と比較して、これらの分だけ回路規模が大きくなる。しかしながら、LFSR部313の構成は第一実施形態と同一であるため、前述の[LTPP05]と比較した場合には、回路規模は削減できる。   In the second embodiment, compared to the first embodiment, the random number generator 381 for generating the random number Z and the data from the scan-in (SI) in the secure mode are input to the dummy sub-chain 351, and the in- Since the selector 371 for selectively inputting the random number Z from the random number generation unit 381 is added in the secure mode, the circuit scale is increased by that amount compared to the first embodiment. However, since the configuration of the LFSR unit 313 is the same as that of the first embodiment, the circuit scale can be reduced when compared with the above-described [LTPP05].

なお、上記実施例においてはIC(半導体集積回路)の構成を中心として説明したが、上記の実施例において説明したにIC(半導体集積回路)を例えばPC等の情報処理装置に装着し、情報処理装置内において上述した各実施例の半導体集積回路におけるデータ処理に対する制御を行う構成としてもよい。この処理制御は、上記の実施例において説明した半導体集積回路内部の制御部において、半導体集積回路内のメモリに格納したプログラムを利用して実行することが可能である。あるいは、情報処理装置内の半導体集積回路と接続された他のLSI素子などに形成された制御部やメモリを利用して、プログラムを実行して上記の構成を持つ半導体集積回路にコマンドを入力してスキャンテスト処理などのデータ処理に対する制御を行う構成としてもよい。   In the above-described embodiment, the description has centered on the configuration of an IC (semiconductor integrated circuit). A configuration may be adopted in which control of data processing in the semiconductor integrated circuit of each of the embodiments described above is performed in the apparatus. This processing control can be executed by using a program stored in a memory in the semiconductor integrated circuit in the control unit in the semiconductor integrated circuit described in the above embodiment. Alternatively, using a control unit or memory formed in another LSI element connected to the semiconductor integrated circuit in the information processing apparatus, the program is executed and a command is input to the semiconductor integrated circuit having the above configuration. It is also possible to adopt a configuration for controlling data processing such as scan test processing.

以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。   The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims should be taken into consideration.

また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。   The series of processing described in the specification can be executed by hardware, software, or a combined configuration of both. When executing processing by software, the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run. For example, the program can be recorded in advance on a recording medium. In addition to being installed on a computer from a recording medium, the program can be received via a network such as a LAN (Local Area Network) or the Internet and can be installed on a recording medium such as a built-in hard disk.

なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Note that the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Further, in this specification, the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.

以上、説明したように、本発明の一実施例構成によれば、IC(集積回路)のテスト用パスとして設定されたスキャンチェインを複数のサブパスに分割したサブチェインを設定し、さらに、スキャンテストデータを入力可能とし秘密情報が含まれないダミーサブチェインを構成した。スキャンテストの制御を実行する制御回路は、外部から入力するテストキーの正当性を判定し、入力テストキーが正当でないと判定した場合、ダミーサブチェインをスキャンテストの実行対象として選択してスキャンテストを実行する。この処理により、攻撃者の入力データに基づくスキャンアウト結果は、すべてダミーサブチェインを利用したデータとなり秘密情報の漏洩が防止される。   As described above, according to the configuration of one embodiment of the present invention, a scan chain set as a test path for an IC (integrated circuit) is divided into a plurality of sub-paths, and a scan test is further performed. A dummy sub-chain that can input data and does not contain confidential information is configured. The control circuit that executes the control of the scan test determines the validity of the test key input from the outside. If the input test key is determined not to be valid, the control circuit selects the dummy sub-chain as the scan test execution target. Execute. By this process, all scan-out results based on the attacker's input data become data using the dummy subchain, and leakage of secret information is prevented.

100 半導体集積回路
111 制御部(FSM)
112 デコーダ部(Decoder)
113 線形帰還シフトレジスタ(LFSR)
114 テストキー(TK)一致確認回路部
120−1〜m サブチェイン(sub chain)
130 マルチプレクサ(MUX)
181 qビットLFSR構成部
182 セレクタ部
183 rビット乱数部
200 半導体集積回路
211 制御部(FSM)
212 デコーダ部(Decoder)
213 線形帰還シフトレジスタ(LFSR)
214 テストキー(TK)一致確認回路部
220−1〜m サブチェイン(sub chain)
230 マルチプレクサ(MUX)
251 ダミーサブチェイン
300 半導体集積回路
311 制御部(FSM)
312 デコーダ部(Decoder)
313 線形帰還シフトレジスタ(LFSR)
314 テストキー(TK)一致確認回路部
318 乱数生成部
320−1〜m サブチェイン(sub chain)
330 マルチプレクサ(MUX)
351 ダミーサブチェイン
371 セレクタ
100 Semiconductor Integrated Circuit 111 Control Unit (FSM)
112 Decoder part (Decoder)
113 Linear Feedback Shift Register (LFSR)
114 Test Key (TK) Match Confirmation Circuit Unit 120-1 to m Sub chain
130 Multiplexer (MUX)
181 q-bit LFSR configuration unit 182 selector unit 183 r-bit random number unit 200 semiconductor integrated circuit 211 control unit (FSM)
212 Decoder part (Decoder)
213 Linear Feedback Shift Register (LFSR)
214 Test Key (TK) Match Confirmation Circuit Unit 220-1 to m Sub chain
230 Multiplexer (MUX)
251 Dummy Subchain 300 Semiconductor Integrated Circuit 311 Control Unit (FSM)
312 Decoder part (Decoder)
313 Linear Feedback Shift Register (LFSR)
314 Test key (TK) coincidence confirmation circuit unit 318 Random number generation unit 320-1 to m Sub chain
330 Multiplexer (MUX)
351 Dummy Subchain 371 Selector

Claims (9)

集積回路におけるスキャンテスト用パスであるスキャンチェインを複数のサブパスに分割して設定した複数のサブチェインと、
スキャンテストデータを入力可能なダミーサブチェインと、
外部から入力するテストキーの正当性を判定するテストキー確認部と、
入力テストキーが正当でないと判定した場合、前記ダミーサブチェインをスキャンテストの実行対象として選択するテスト制御部と、
を有する半導体集積回路。
A plurality of subchains set by dividing a scan chain, which is a scan test path in an integrated circuit, into a plurality of subpaths;
A dummy sub-chain capable of inputting scan test data;
A test key confirmation unit for determining the validity of a test key input from the outside;
If it is determined that the input test key is not valid, a test control unit that selects the dummy sub-chain as a scan test execution target; and
A semiconductor integrated circuit.
前記テスト制御部は、
スキャンテストの実行対象とするサブチェインを選択するための選択用データを入力データに基づいて生成するLFSR部(線形帰還シフトレジスタ)と、
入力テストキーが正当でない場合、前記LFSR部に前記ダミーサブチェインをスキャンテストの実行対象として選択するデータを設定する制御部を有する請求項1に記載の半導体集積回路。
The test control unit
An LFSR unit (linear feedback shift register) that generates selection data for selecting a sub-chain to be subjected to a scan test based on input data;
The semiconductor integrated circuit according to claim 1, further comprising: a control unit that sets data for selecting the dummy sub-chain as a scan test execution target in the LFSR unit when the input test key is not valid.
前記テスト制御部は、
入力テストキーが正当でない場合、前記ダミーサブチェインに乱数を入力する構成を有する請求項2に記載の半導体集積回路。
The test control unit
The semiconductor integrated circuit according to claim 2, wherein when the input test key is not valid, a random number is input to the dummy subchain.
前記テスト制御部は、
乱数生成部を有し、入力テストキーが正当でない場合、前記乱数生成部の生成した乱数を前記ダミーサブチェインに入力する構成を有する請求項3に記載の半導体集積回路。
The test control unit
The semiconductor integrated circuit according to claim 3, further comprising: a random number generation unit configured to input a random number generated by the random number generation unit to the dummy sub-chain when the input test key is not valid.
前記LFSR部は、原始多項式を生成多項式とした構成を持つ請求項2に記載の半導体集積回路。   The semiconductor integrated circuit according to claim 2, wherein the LFSR unit has a configuration in which a primitive polynomial is a generator polynomial. 前記ダミーサブチェインは、機密情報を保持しない回路構成を有する請求項1〜5いずれかに記載の半導体集積回路。   The semiconductor integrated circuit according to claim 1, wherein the dummy sub-chain has a circuit configuration that does not hold confidential information. 前記請求項1〜6いずれかに記載の半導体集積回路を備えた情報処理装置。   An information processing apparatus comprising the semiconductor integrated circuit according to claim 1. 情報処理装置においてスキャンテストを実行するデータ処理方法であり、
前記情報処理装置は集積回路を備えた構成であり、前記集積回路はスキャンテスト用パスであるスキャンチェインを複数のサブパスに分割して設定した複数のサブチェインと、スキャンテストデータを入力可能なダミーサブチェインを有し、
前記情報処理装置のテストキー確認部が、外部から入力するテストキーの正当性を判定するテストキー確認ステップと、
前記情報処理装置のテスト制御部が、入力テストキーが正当でないと判定した場合、前記ダミーサブチェインをスキャンテストの実行対象として選択するテスト制御ステップと、
を実行するデータ処理方法。
A data processing method for executing a scan test in an information processing apparatus,
The information processing apparatus includes an integrated circuit, and the integrated circuit includes a plurality of subchains set by dividing a scan chain, which is a scan test path, into a plurality of subpaths, and a dummy capable of inputting scan test data. Have a sub-chain,
A test key checking step of the information processing apparatus for determining the validity of the test key input from the outside;
When the test control unit of the information processing apparatus determines that the input test key is not valid, a test control step of selecting the dummy sub-chain as a scan test execution target;
Data processing method to execute.
情報処理装置においてスキャンテストを実行させるプログラムであり、
前記情報処理装置は集積回路を備えた構成であり、前記集積回路はスキャンテスト用パスであるスキャンチェインを複数のサブパスに分割して設定した複数のサブチェインと、スキャンテストデータを入力可能なダミーサブチェインを有し、
前記情報処理装置のテストキー確認部に、外部から入力するテストキーの正当性を判定させるテストキー確認ステップと、
前記情報処理装置のテスト制御部に、入力テストキーが正当でないと判定した場合、前記ダミーサブチェインをスキャンテストの実行対象として選択させるテスト制御ステップと、
を実行させるプログラム。
A program for executing a scan test in an information processing device,
The information processing apparatus includes an integrated circuit, and the integrated circuit includes a plurality of subchains set by dividing a scan chain, which is a scan test path, into a plurality of subpaths, and a dummy capable of inputting scan test data. Have a sub-chain,
A test key confirmation step for causing the test key confirmation unit of the information processing apparatus to determine the validity of the test key input from the outside;
When the test control unit of the information processing apparatus determines that the input test key is not valid, a test control step for selecting the dummy subchain as a scan test execution target;
A program that executes
JP2009261555A 2009-11-17 2009-11-17 Semiconductor integrated circuit, information processor, data processing method and program Withdrawn JP2011107930A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009261555A JP2011107930A (en) 2009-11-17 2009-11-17 Semiconductor integrated circuit, information processor, data processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009261555A JP2011107930A (en) 2009-11-17 2009-11-17 Semiconductor integrated circuit, information processor, data processing method and program

Publications (1)

Publication Number Publication Date
JP2011107930A true JP2011107930A (en) 2011-06-02

Family

ID=44231330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009261555A Withdrawn JP2011107930A (en) 2009-11-17 2009-11-17 Semiconductor integrated circuit, information processor, data processing method and program

Country Status (1)

Country Link
JP (1) JP2011107930A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016524211A (en) * 2013-05-23 2016-08-12 ジェムアルト エスアー A secure platform that implements dynamic countermeasures
US9436833B2 (en) 2013-12-05 2016-09-06 Samsung Electronics Co., Ltd. Security circuits and security systems including the same
KR20230099867A (en) * 2021-12-28 2023-07-05 연세대학교 산학협력단 Secure scan chain circuit and scan chain circuit security method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016524211A (en) * 2013-05-23 2016-08-12 ジェムアルト エスアー A secure platform that implements dynamic countermeasures
US9436833B2 (en) 2013-12-05 2016-09-06 Samsung Electronics Co., Ltd. Security circuits and security systems including the same
KR20230099867A (en) * 2021-12-28 2023-07-05 연세대학교 산학협력단 Secure scan chain circuit and scan chain circuit security method
KR102620784B1 (en) * 2021-12-28 2024-01-02 연세대학교 산학협력단 Secure scan chain circuit and scan chain circuit security method

Similar Documents

Publication Publication Date Title
Chiu et al. A secure test wrapper design against internal and boundary scan attacks for embedded cores
Paul et al. Vim-scan: A low overhead scan design approach for protection of secret key in scan-based secure chips
EP1835425B1 (en) Watermarking apparatus, software enabling an implementation of an electronic circuit comprising a watermark, method for detecting a watermark and apparatus for detecting a watermark
Da Silva et al. Preventing scan attacks on secure circuits through scan chain encryption
Wang et al. IIPS: Infrastructure IP for secure SoC design
US20050204220A1 (en) Random number test circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device
Alrahis et al. ScanSAT: Unlocking static and dynamic scan obfuscation
US10361873B2 (en) Test point-enhanced hardware security
Knechtel et al. Towards secure composition of integrated circuits and electronic systems: On the role of EDA
Cui et al. A new PUF based lock and key solution for secure in-field testing of cryptographic chips
Zhang et al. An on-chip dynamically obfuscated wrapper for protecting supply chain against IP and IC piracies
Karmakar et al. A cellular automata guided finite-state-machine watermarking strategy for IP protection of sequential circuits
Ahmed et al. Quantifiable assurance: From ips to platforms
Hély et al. Securing scan control in crypto chips
CN108875430A (en) The dynamic obfuscation package interface for preventing integrated circuit and IP core from plagiarizing
Chandran et al. SS-KTC: A high-testability low-overhead scan architecture with multi-level security integration
JP2011107930A (en) Semiconductor integrated circuit, information processor, data processing method and program
Kareem et al. Physical unclonable functions based hardware obfuscation techniques: a state of the art
US7930605B2 (en) Electronic circuit comprising a test mode secured by insertion of decoy data in the test chain, associated method
Chen et al. Scan chain based IP fingerprint and identification
US10222417B1 (en) Securing access to integrated circuit scan mode and data
CN113268745B (en) Soft PUF based on Camellia encryption algorithm
Di Natale et al. Manufacturing testing and security countermeasures
Paul et al. Rihann: Remote iot hardware authentication with intrinsic identifiers
Banga et al. Hardware IP trust

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130205