JP2007213718A - Semiconductor integrated circuit and inspection method of semiconductor integrated circuit - Google Patents
Semiconductor integrated circuit and inspection method of semiconductor integrated circuit Download PDFInfo
- Publication number
- JP2007213718A JP2007213718A JP2006033742A JP2006033742A JP2007213718A JP 2007213718 A JP2007213718 A JP 2007213718A JP 2006033742 A JP2006033742 A JP 2006033742A JP 2006033742 A JP2006033742 A JP 2006033742A JP 2007213718 A JP2007213718 A JP 2007213718A
- Authority
- JP
- Japan
- Prior art keywords
- semiconductor integrated
- integrated circuit
- data
- confidential information
- redundant data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Storage Device Security (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
本発明は、不揮発デバイスを内蔵した半導体集積回路について、この不揮発デバイスをテストする技術に関する。 The present invention relates to a technique for testing a non-volatile device in a semiconductor integrated circuit incorporating the non-volatile device.
半導体集積回路に内蔵された、機密情報を格納する不揮発デバイスをテストする技術としては、ROMに実装した機密情報データに対してCRC(Cyclic Redundancy Check)などの所定の演算を行い、この演算結果を、予め機密情報データに対して所定の演算を行った結果であるチェック用冗長データと比較し、一致・不一致の比較結果を外部に出力する、というものがある(特許文献1を参照)。この技術により、ROMに実装された機密情報を外部に出力することなく、テストを行うことが可能となる。
しかし、従来の技術では、エラーが発見された場合でも、そのエラーが不揮発デバイス上の機密情報データによるものか、または、チェック用冗長データによるものかを判別することができない。また、どのビットでエラーが発生したのかを検出することができないので、エラー要因の解析が困難なものとなってしまう。 However, in the conventional technology, even when an error is found, it cannot be determined whether the error is caused by confidential information data on the nonvolatile device or check redundant data. In addition, since it is impossible to detect which bit an error has occurred, it becomes difficult to analyze the cause of the error.
前記の問題に鑑み、本発明は、不揮発デバイスを内蔵した半導体集積回路として、不揮発デバイスに格納した機密情報の機密性を保ちつつ、不揮発デバイスのテストを実行可能にし、かつ、エラー発生位置の特定を可能にすることを課題とする。 In view of the above problems, the present invention is a semiconductor integrated circuit incorporating a nonvolatile device, enabling the testing of the nonvolatile device while maintaining the confidentiality of the confidential information stored in the nonvolatile device, and specifying the error occurrence position. The challenge is to make this possible.
前記の課題を解決するために、請求項1の発明が講じた解決手段は、機密情報データを格納する不揮発デバイスを内蔵した半導体集積回路として、前記不揮発デバイスは格納したデータが当該半導体集積回路外部に読み出し不能なように構成されており、前記機密情報データに所定の演算を施して得たチェック用冗長データを記憶する冗長データ記憶手段と、前記冗長データ記憶手段に記憶されたチェック用冗長データを用いて前記不揮発デバイスのテストを行うためのテスト回路とを備え、前記テスト回路は、前記不揮発デバイスから読み出された機密情報データに対し、前記所定の演算に相当する演算を実行するチェック演算回路と、前記チェック演算回路の演算結果と前記冗長データ記憶手段に記憶されたチェック用冗長データとの比較を行う比較回路と、前記機密情報データおよび前記チェック用冗長データに対して所定の秘密鍵を用いて暗号化を行う暗号処理回路とを備え、前記比較回路の比較結果として前記演算結果と前記チェック用冗長データとの不一致が検出されたとき、前記暗号処理回路の暗号化結果を当該半導体集積回路外部に出力するものである。
In order to solve the above-described problem, the solution provided by the invention of
請求項1の発明によると、チェック演算回路の演算結果とチェック用冗長データとの不一致が検出されたとき、暗号処理回路の暗号化結果、すなわち、所定の秘密鍵を用いて暗号化された機密情報データおよびチェック用冗長データが、半導体集積回路外部に出力される。このため、暗号化して出力された機密情報データおよびチェック用冗長データを、所定の秘密鍵を用いて復号化し、不揮発デバイスに実装すべき正当なデータと比較することによって、エラーの発生位置を特定することが可能となる。この際、機密情報データおよびチェック用冗長データは暗号化されて出力されるため、所定の秘密鍵を所有する正当なテスト実施者のみが、元の機密情報データおよびチェック用冗長データを復号可能であり、不正なユーザは、機密情報データおよびチェック用冗長データを得ることは不可能である。したがって、機密情報データの機密性が保たれる。また万一、機密情報データが不正なユーザによって暴かれたとしても、この機密情報データはエラーを含んでいるデータであり、被害を軽微にとどめることができる。したがって、機密情報データの機密性を保ちつつ、エラー発生位置の特定が可能となる。 According to the first aspect of the invention, when a mismatch between the operation result of the check operation circuit and the check redundant data is detected, the encryption result of the encryption processing circuit, that is, the secret encrypted using the predetermined secret key. Information data and redundant data for checking are output outside the semiconductor integrated circuit. For this reason, the location of the error is specified by decrypting the encrypted confidential information data and the redundant data for checking using a predetermined secret key and comparing it with the legitimate data to be mounted on the nonvolatile device. It becomes possible to do. At this time, since the confidential information data and the check redundant data are encrypted and output, only the authorized tester who possesses the predetermined secret key can decrypt the original confidential information data and the check redundant data. An unauthorized user cannot obtain confidential information data and redundant data for checking. Therefore, confidentiality of confidential information data is maintained. Even if the confidential information data is uncovered by an unauthorized user, the confidential information data is data containing an error, and damage can be minimized. Therefore, it is possible to specify the error occurrence position while maintaining the confidentiality of the confidential information data.
そして、請求項2の発明では、前記請求項1の半導体集積回路における冗長データ記憶手段は、前記不揮発デバイスであるものとする。
In the invention of
さらに、請求項3の発明では、前記請求項2の半導体集積回路におけるチェック用冗長データは、前記不揮発デバイスにおいて、前記機密情報データと異なるアドレスに格納されているものとする。
Further, in the invention of claim 3, the check redundant data in the semiconductor integrated circuit of
さらに、請求項4の発明では、前記請求項2の半導体集積回路におけるチェック用冗長データは、前記不揮発デバイスにおいて、前記機密情報データと同一アドレスに格納されているものとする。
Furthermore, in the invention of claim 4, the check redundant data in the semiconductor integrated circuit of
また、請求項5の発明では、前記請求項1の半導体集積回路における暗号処理回路は、前記機密情報データのみに対して、所定の秘密鍵を用いて暗号化するものとする。
In the invention of claim 5, the encryption processing circuit in the semiconductor integrated circuit of
請求項5の発明によると、暗号化して出力された機密情報データを復号して検査することにより、機密情報データのエラーの有無を確認することが可能となる。機密情報データにエラーが無いことが判明した場合、エラーはチェック用冗長データに存在することになる。このとき、チェック用冗長データはテスト時以外は用いないものであるため、発見されたエラーは半導体集積回路の機能上は問題ないことが分かる。 According to the invention of claim 5, it is possible to confirm whether or not there is an error in the confidential information data by decrypting and inspecting the confidential information data output after being encrypted. If it is determined that there is no error in the confidential information data, the error exists in the check redundant data. At this time, since the check redundant data is not used except during the test, it can be seen that the found error has no problem in the function of the semiconductor integrated circuit.
そして、請求項6の発明では、前記請求項1の半導体集積回路におけるテスト回路は、前記所定の秘密鍵を記憶する秘密鍵レジスタを備えているものとする。 In a sixth aspect of the present invention, the test circuit in the semiconductor integrated circuit of the first aspect includes a secret key register for storing the predetermined secret key.
そして、請求項7の発明では、前記請求項6の半導体集積回路におけるテスト回路は、比較回路において演算結果とチェック用冗長データとの一致が検出されたとき、秘密鍵レジスタに記憶された所定の秘密鍵を、チェック用冗長データを基にして更新するものとする。 In the invention of claim 7, the test circuit in the semiconductor integrated circuit of claim 6 has a predetermined circuit stored in the secret key register when the comparison circuit detects a match between the operation result and the check redundant data. It is assumed that the secret key is updated based on the check redundant data.
請求項7の発明によると、エラーの発生位置に応じて、機密情報データ及びチェック用冗長データの暗号化に使用する秘密鍵が異なるため、出力データの機密性を上げることが可能となる。 According to the seventh aspect of the present invention, the secret key used for encryption of the confidential information data and the check redundant data differs depending on the position where the error occurs, so that the confidentiality of the output data can be increased.
また、請求項8の発明では、前記請求項7の半導体集積回路における秘密鍵レジスタは、所定の初期値が与えられているものとする。 In the invention of claim 8, it is assumed that a predetermined initial value is given to the secret key register in the semiconductor integrated circuit of claim 7.
請求項8の発明によると、テスト開始時にエラーが発見された場合に、出力データの暗号化に用いられた秘密鍵を特定することが可能となる。 According to the invention of claim 8, when an error is found at the start of the test, it is possible to specify the secret key used for encrypting the output data.
また、請求項9の発明が講じた解決手段は、機密情報データを格納する不揮発デバイスを内蔵した半導体集積回路を検査する方法として、前記不揮発デバイスは、格納したデータが当該半導体集積回路外部に読み出し不能なように構成されており、前記機密情報データに所定の演算を施して得たチェック用冗長データを予め当該半導体集積回路の冗長データ記憶手段に記憶させておく前処理と、前記不揮発デバイスから機密情報データを読み出し、読み出した機密データに対し前記所定の演算に相当する演算を実行する処理と、前記冗長データ記憶手段からチェック用冗長データを読み出し、前記演算処理の結果と読み出したチェック用冗長データとを比較する処理と、前記比較の結果として、前記演算結果と前記チェック用冗長データとの不一致が検出されたとき、前記機密情報データおよび前記チェック用冗長データに対して所定の秘密鍵を用いて暗号化する処理とを備えたものである。 According to another aspect of the present invention, the non-volatile device reads out stored data to the outside of the semiconductor integrated circuit as a method for inspecting a semiconductor integrated circuit including a non-volatile device for storing confidential information data. Preprocessing for storing the redundant data for check obtained by performing a predetermined calculation on the confidential information data in advance in the redundant data storage means of the semiconductor integrated circuit, and from the nonvolatile device A process for reading confidential information data, executing a calculation corresponding to the predetermined calculation on the read confidential data, reading check redundancy data from the redundant data storage means, and reading the result of the calculation process and the check redundancy A process of comparing data, and as a result of the comparison, the calculation result and the redundant data for checking When a match is detected, in which a processing for encrypting using a predetermined secret key with respect to the confidential data and the check redundant data.
本発明によると、半導体集積回路に内蔵された不揮発デバイスのテストの結果、エラーが検出された場合に、機密情報データおよびチェック用冗長データの暗号化結果、または、機密情報データのみの暗号化結果が、半導体集積回路の外部に出力される。したがって、不揮発デバイス内部の機密情報データの機密性を損なうことなく、エラーの発生位置を特定することが可能となり、エラー原因の解析を行うことが可能となる。 According to the present invention, when an error is detected as a result of the test of the nonvolatile device built in the semiconductor integrated circuit, the encryption result of the confidential information data and the redundant data for checking, or the encryption result of only the confidential information data Is output outside the semiconductor integrated circuit. Therefore, it is possible to specify the position where the error occurs without impairing the confidentiality of the confidential information data inside the nonvolatile device, and to analyze the cause of the error.
以下、本発明の一実施形態について、図面を参照して説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
図1は本発明の一実施形態に係る半導体集積回路の構成を示すブロック図である。図1に示す半導体集積回路において、不揮発デバイスとしてのROM10は、書き込まれた格納データが半導体集積回路外部に読み出すことができないように構成されている。また、図1に示す半導体集積回路は、マイクロコード、秘密鍵やパスワードなどの機密情報データの機密性を損なうことなく、ROM10のテストが実現可能に構成されている。さらに、テストの結果、ROM010のエラーが検出された際は、エラーの発見された機密情報データ及びその機密情報データに対応したチェック用冗長データを、所定の秘密鍵を用いて暗号化して出力するよう構成されている。
FIG. 1 is a block diagram showing a configuration of a semiconductor integrated circuit according to an embodiment of the present invention. In the semiconductor integrated circuit shown in FIG. 1, a
図1において、(n+1)個の機密情報データすなわち機密情報データ(0)〜(n)が、ROM10の下位アドレスに実装されている。そして、各機密情報データ(0)〜(n)について、CRC(Cyclic Redundancy Check:巡回冗長検査)による冗長コードすなわちチェック用冗長データとしての機密CRCデータ(0)〜(n)が生成されており、これらは、冗長データ記憶手段としてのROM10の上位アドレスに実装されている。
In FIG. 1, (n + 1) pieces of confidential information data, that is, confidential information data (0) to (n) are mounted at lower addresses of the
ROM10のアドレス空間において、機密情報データ(0)〜(n)は、最下位アドレスから順に格納されており、機密CRCデータ(0)〜(n)は、最上位アドレスから順位格納されている。例えば、ROM10の最下位アドレスに格納された機密情報データ(0)に対する機密CRCデータ(0)は、ROM10の最上位アドレスに格納されている。このようなアドレス配置は、ROM10のコンプリメンタリチェックに適している。
In the address space of the
また、図1において、セレクタ21,22、アドレスデコーダ(ADEC)23、フリップフロップ(FF)24,27、チェック演算回路(CRC)25、比較回路(COMP)26、秘密鍵レジスタ41、暗号処理回路42、OR回路43およびインバータ44によって、テスト回路が構成されている。また、論理回路ブロック(LOGIC)30は通常モードで用いられる回路ブロックである。
In FIG. 1,
各セレクタ21,22は、入力Sが“H”(ハイレベル)になると、入力端子Aの入力を選択出力する。アドレスデコーダ23はテスト時に入力されるアドレス信号をデコードし、チェック演算回路25、比較回路26および暗号処理回路42を制御する。チェック演算回路25はROM10から読み出された機密情報データに対し、機密CRCデータ生成の際の所定の演算に相当する演算を実行する。比較回路26は、チェック演算回路25の出力と、ROM10から読み出された機密CRCデータとを比較する。
The
OR回路43は、フリップフロップ27の出力とフリップフロップ24の出力とを入力として受け、これらのOR信号を暗号処理回路42のcalc端子に与える。秘密鍵レジスタ41は所定の秘密鍵を記憶しており、この秘密鍵を暗号処理回路42のkey端子に与える。暗号処理回路42は、calc端子に入力された信号の立ち上がりエッジにおいて、key端子に入力された秘密鍵を用いて、ROM10から入力端子DINに入力されたデータを暗号化する。暗号化結果は暗号処理回路42内に保存される。さらに暗号処理回路42は、比較回路26の出力OUTをインバータ44において反転させた信号をイネーブル入力enに受け、イネーブル入力enがアサート(“H”)されているとき、保存していた暗号化結果を出力端子DOUTから出力する。なお、CLKは、各回路ブロックの同期用クロック信号である。
The
通常動作時は、テスト信号TESTは“L”(ローレベル)になり、セレクタ21,22は入力端子Bの入力を選択する。すなわち、外部端子INA、INBからの入力データがROM10に与えられる。これらの入力データは、半導体集積回路内の別ブロックから供給される。また、ROM10の出力DOは、論理回路ブロック30に供給される。
During normal operation, the test signal TEST is “L” (low level), and the
一方、テスト時は、テスト信号TESTは“H”になり、セレクタ21,22は入力端子Aの入力を選択する。すなわち、外部端子IN1、IN2からの入力データが、ROM10のアドレス入力ADDおよびリード入力READに供給される。
On the other hand, during the test, the test signal TEST becomes “H”, and the
また、外部端子IN1からの入力データはアドレスデコーダ23にも入力される。アドレスレコーダ23は、外部端子IN1からの入力データが、機密情報データが格納されているアドレス(address(0)〜(n))を示すときは、出力AOUT1をイネーブル(“H”)にする。出力AOUT1が“H”になると、ROM10の出力DOの先にあるチェック演算回路25が1クロック遅れて動作を開始する。
The input data from the external terminal IN1 is also input to the
このとき、出力AOUT1が“H”になると暗号処理回路42の端子calcへの入力が“H”になるので、暗号処理回路42は、端子keyに入力された秘密鍵を用いて端子DINへの入力(この場合は機密情報データ)に対して暗号処理を行い、結果を保持する。
At this time, when the output AOUT1 becomes “H”, the input to the terminal calc of the
また、外部端子IN1からの入力データが、機密CRCデータが格納されているアドレス(address(n+1)〜(2n+1))を示すときは、アドレスデコーダ23は出力AOUT2をイネーブル(“H”)にする。出力AOUT2が“H”になると、比較回路26はチェック演算回路25の演算結果(IN1)と、ROM10から読み出された機密CRCデータ(IN2)との比較を実行する。そして、比較結果が一致したとき、出力信号RESULTをアサート(“H”)する。
When the input data from the external terminal IN1 indicates the address (address (n + 1) to (2n + 1)) where the confidential CRC data is stored, the
このとき、暗号処理回路42の端子calcへの入力が1クロック遅れて“H”になるので、暗号処理回路42は、端子keyに入力された秘密鍵を用いて端子DINへの入力(この場合は機密CRCデータ)に対して暗号処理を行う。
At this time, since the input to the terminal calc of the
比較回路26による比較結果が不一致であり出力信号RESULTがネゲート(“L”)されたとき、暗号処理回路42のイネーブル入力enはアサート(“H”)される。このとき暗号処理回路42は、保持していた機密情報データの暗号結果及び機密CRCデータの暗号結果を出力端子DOUTから出力する。出力端子DOUTから出力された信号は、外部端子EncOUTを介して半導体集積回路外部に出力される。一方、比較回路26による比較結果が一致であり出力信号RESULTがアサート(“H”)されたとき、暗号処理回路42のイネーブル入力enはネゲート(“L”)される。このとき暗号処理回路42は、保持していた機密情報データの暗号結果及び機密CRCデータの暗号結果をクリアする。
When the comparison result by the
図2は図1に示す半導体集積回路のテスト時の動作を示すタイミングチャートである。 FIG. 2 is a timing chart showing an operation during a test of the semiconductor integrated circuit shown in FIG.
まず、ROM10のテストを行うモードにするために、テスト信号TESTを“H”にする。次に、外部端子IN1から、ROM10において機密情報データ(0)が格納されたアドレスaddress(0)を示す信号を入力するとともに、外部端子IN2から、ROM10のリード入力READがイネーブルになるように“H”を入力する。すると、次のクロック信号CLKの立ち上がりで、ROM10の出力DOとして機密情報データ(0)が読み出される。
First, the test signal TEST is set to “H” in order to set the
また、アドレスデコーダ23は、アドレスaddress(0)を示す信号が入力されたので、出力AOUT1として“H”を出力する。この信号“H”は、フリップフロップ24で1クロックラッチされた後、チェック演算回路25にイネーブル入力enとして供給される。これにより、チェック演算回路25は、ROM10から出力された機密情報データ(0)に対するCRC演算を開始する。また、暗号処理回路42は、ROM10から出力された機密情報データ(0)に対する暗号化を行う。
Further, the
チェック演算回路25がCRC演算を完了する1サイクル前に、外部端子IN1への入力データを、address(0)〜(n)以外の値に変更するとともに、外部端子IN2への入力データをネゲート(“L”)にする。すると、アドレスデコーダ23の出力AOUT1もネゲートされ、さらに1サイクル遅れてチェック演算回路25のイネーブル入力enもネゲートされる。これにより、チェック演算回路25の演算結果が出力OUTに保持される。
One cycle before the
次に、外部端子IN1から、機密情報データ(0)に対応する機密CRCデータ(0)が格納されたアドレスaddress(2n+1)を示す信号を入力するとともに、外部端子IN2から、ROM10のリード信号READがイネーブルになるように“H”を入力する。
Next, a signal indicating the address address (2n + 1) where the confidential CRC data (0) corresponding to the confidential information data (0) is stored is input from the external terminal IN1, and the
アドレスデコーダ23は、アドレスaddress(2n+1)を示す信号が入力されたので、出力AOUT1として“L”を出力するとともに、出力AOUT2として“H”を出力する。比較回路26は、チェック演算回路25の出力OUTと、ROM10の出力DOすなわち機密CRCデータ(0)との比較を実行する。そして、この比較の結果、両者が一致しているときは、信号RESULTをアサートし(“H”)、不一致のときは“L”にする。また、暗号処理回路42は、ROM10から出力された機密CRCデータ(0)に対する暗号化を行う。そして、信号RESULTがネゲート(“L”)されてイネーブル入力enがアサート(“H”)されたとき、暗号処理回路42は、保持していた機密情報データの暗号結果及び機密CRCデータの暗号結果を出力端子DOUTから出力する。出力端子DOUTから出力された信号は、外部端子EncOUTを介して半導体集積回路外部に出力される。
Since the
また、出力AOUT2が“H”の間、1サイクル期間は信号COMPenがアサートされ、RESULT信号の出力とともにネゲートされる。また、信号COMPenの立ち下がりによって、チェック演算回路25は初期化される。
Further, while the output AOUT2 is “H”, the signal COMPen is asserted for one cycle period and negated together with the output of the RESULT signal. The
以上のような動作によって、機密情報データ(0)のテストが完了する。 With the above operation, the test of the confidential information data (0) is completed.
同様の動作を、アドレスaddress(1),address(2n)、アドレスaddress(2),address(2n-1)、…、アドレスaddress(n),address(n+1)を指定しながら実行し、信号RESULTを外部からモニターする。この結果から、ROM10に、製造上の問題などに起因して異常が生じているか否かを判定することができる。
The same operation is performed while specifying the address address (1), address (2n), address address (2), address (2n-1), ..., address address (n), address (n + 1), The signal RESULT is monitored from the outside. From this result, it can be determined whether or not an abnormality has occurred in the
また、信号RESULTのネゲートによってエラーが検出された場合、外部端子EncOUTから、そのエラーが生じた機密情報データおよび機密CRCデータの暗号結果が出力される。このとき、権利を有している検査者は、出力された暗号結果に対して、予め定められている秘密鍵を用いて復号を行い、得られた復号結果を、不揮発デバイスに実装すべき正しいデータと比較することができる。これにより、エラーの発生位置を特定することが可能となる。 When an error is detected by negating the signal RESULT, the external terminal EncOUT outputs the encryption result of the confidential information data and the confidential CRC data in which the error has occurred. At this time, the inspector who has the right decrypts the output encryption result using a predetermined secret key, and the obtained decryption result is correct to be implemented in the nonvolatile device. Can be compared with the data. This makes it possible to specify the position where the error has occurred.
また、不正なユーザ、または権利を有していない検査者が、外部端子EncOUTから出力された機密情報データおよび機密CRCデータの暗号結果を入手したとしても、秘密鍵を有していないため、これを復号することはできない。したがって、機密情報データが漏洩することを防ぐことができる。 Even if an unauthorized user or an inspector who does not have the right obtains the encryption result of confidential information data and confidential CRC data output from the external terminal EncOUT, it does not have a secret key. Cannot be decrypted. Therefore, leakage of confidential information data can be prevented.
なお、図1の構成では、暗号処理回路42で用いる秘密鍵は、秘密鍵レジスタ41に記憶された所定の値とした。これに対して、秘密鍵レジスタ41に記憶された秘密鍵を、更新していくようにしてもかまわない。これにより、出力データの機密性をさらに上げることができる。
In the configuration of FIG. 1, the secret key used in the
例えば図3の構成では、ROM10の出力DOと秘密鍵レジスタ41の格納値とを入力とし、出力信号RESULTに応じて選択した出力を秘密鍵レジスタ41に与えるセレクタ45を追加した。セレクタ45は、出力信号RESULTがアサート(“H”)されたとき、すなわち、比較回路26において演算結果と機密CRCデータとの一致が検出されたとき、ROM10の出力DOすなわち機密CRCデータを秘密鍵レジスタ41に格納する。これによって、秘密鍵レジスタ41に記憶された秘密鍵が更新される。なお、出力信号RESULTがネゲート(“L”)されている場合は、セレクタ45は秘密鍵レジスタ41の出力を選択するため、秘密鍵レジスタ41の値が更新されることはない。これにより、一定の秘密鍵を用いることがなくなり、エラーの発生位置に応じて、機密情報データ及びチェック用冗長データの暗号化に使用する秘密鍵が異なるため、機密性を向上させることができる。
For example, in the configuration of FIG. 3, a
なお、機密CRCデータの値を秘密鍵レジスタ41に保存する際に、機密CRCデータと秘密鍵とでビット長が異なる場合は、適当な演算を機密CRCデータに対して行うことにより、ビット長をそろえるものとする。適当な演算とは、SHA−1などのハッシュ演算でもかまわないし、機密CRCデータの先頭から指定ビット数を用いるといった方法や、転置表などを用いた方法を用いてもかまわない。
When the secret CRC data value is stored in the secret
またこのとき、秘密鍵レジスタ41には所定の初期値を与えておくことが好ましい。これにより、テスト開始時にエラーが発見された場合に、出力データの暗号化に用いられた秘密鍵を特定することが可能となる。
At this time, it is preferable to give a predetermined initial value to the secret
なお、本実施形態では、機密情報を記憶する不揮発デバイスをROMとしたが、Fuseなど他の不揮発デバイスであってもかまわない。 In this embodiment, the non-volatile device for storing confidential information is ROM, but other non-volatile devices such as Fuse may be used.
また、暗号処理回路42で行われる暗号化は、DESやAES、Multi2、Triple DESなど共通鍵暗号であればどのような手法を用いてもかまわない。
The encryption performed by the
また、本実施形態では、エラーが検出されたとき、機密情報データと機密CRCデータの両方を暗号化して出力するものとしたが、機密情報データのみを暗号化して出力するようにしてもかまわない。このためには例えば、図1の構成において、OR回路43を省き、フリップフロップ24の出力のみが暗号処理回路42の端子calcに与えられるようにすればよい。この場合、機密情報データにエラーがあるか否かを確認することが可能となり、エラーが無かった場合は、検出されたエラーは半導体集積回路の機能としては問題がないことを確認することができる。
In the present embodiment, when an error is detected, both the confidential information data and the confidential CRC data are encrypted and output. However, only the confidential information data may be encrypted and output. . For this purpose, for example, in the configuration of FIG. 1, the
なお、図1の構成では、機密CRCデータを、機密情報データとは別のアドレスに格納するものとしたが、機密情報データと同一アドレスに格納してもかまわない。例えば図4に示すように、機密情報データの上位側のビット位置に、対応する機密CRCデータをマッピングするようにしてもよい。 In the configuration of FIG. 1, the confidential CRC data is stored at an address different from that of the confidential information data. However, the confidential CRC data may be stored at the same address as the confidential information data. For example, as shown in FIG. 4, the corresponding confidential CRC data may be mapped to the upper bit position of the confidential information data.
また、ここでは、機密CRCデータを、機密情報データが実装されたROM自体に実装するものとしたが、機密情報データが実装されたROMとは別の、半導体集積回路に内蔵されたROMなどの記憶手段に、機密CRCデータを実装してもかまわない。 Further, here, the confidential CRC data is mounted on the ROM itself on which the confidential information data is mounted. However, the ROM incorporated in the semiconductor integrated circuit is different from the ROM on which the confidential information data is mounted. Confidential CRC data may be implemented in the storage means.
また、機密情報データの内容を変更する場合には、その変更に応じて、機密CRCデータを変更するだけでよい。したがって、テスト回路の構成の変更は不要であり、このため、開発工数やマスク設計費などを大幅に削減することができる。 Further, when changing the contents of the confidential information data, it is only necessary to change the confidential CRC data in accordance with the change. Therefore, it is not necessary to change the configuration of the test circuit, and therefore the development man-hours and the mask design cost can be greatly reduced.
また、CRCによる冗長コード以外のデータを、機密情報データのチェックに利用してもかまわない。ただし、この場合は、そのチェック用データを生成するための所定の演算に相当する演算を実行するチェック演算回路を、テスト回路内に設ける必要がある。 Further, data other than CRC redundant codes may be used for checking confidential information data. However, in this case, it is necessary to provide a check operation circuit in the test circuit for executing an operation corresponding to a predetermined operation for generating the check data.
なお、本実施形態では、同期ROMを例にとって説明を行ったが、非同期ROMであっても、同様の実施が容易に実現可能である。 In the present embodiment, the synchronous ROM has been described as an example, but the same implementation can be easily realized even with an asynchronous ROM.
本発明では、不揮発デバイス内部の機密情報データの機密性を損なうことなく、エラーの発生位置を特定することが可能となるので、半導体集積回路に内蔵された不揮発デバイスの検査において、エラー原因の解析を効率的に行うのに有用である。 In the present invention, it is possible to specify the position where an error has occurred without impairing the confidentiality of confidential information data inside the nonvolatile device. Therefore, in the inspection of the nonvolatile device built in the semiconductor integrated circuit, the cause of the error is analyzed. It is useful for performing efficiently.
10,10A ROM(不揮発デバイス)
21,22 セレクタ
23 アドレスデコーダ
24 フリップフロップ
25 チェック演算回路
26 比較回路
41 秘密鍵レジスタ
42 暗号処理回路
43 OR回路
44 インバータ
45 セレクタ
10,10A ROM (nonvolatile device)
21 and 22
Claims (9)
前記不揮発デバイスは、格納したデータが当該半導体集積回路外部に読み出し不能なように構成されており、
前記機密情報データに所定の演算を施して得たチェック用冗長データを、記憶する冗長データ記憶手段と、
前記冗長データ記憶手段に記憶されたチェック用冗長データを用いて、前記不揮発デバイスのテストを行うためのテスト回路とを備え、
前記テスト回路は、
前記不揮発デバイスから読み出された機密情報データに対し、前記所定の演算に相当する演算を実行するチェック演算回路と、
前記チェック演算回路の演算結果と、前記冗長データ記憶手段に記憶されたチェック用冗長データとの比較を行う比較回路と、
前記機密情報データおよび前記チェック用冗長データに対して、所定の秘密鍵を用いて、暗号化を行う暗号処理回路とを備え、
前記比較回路の比較結果として、前記演算結果と前記チェック用冗長データとの不一致が検出されたとき、前記暗号処理回路の暗号化結果を当該半導体集積回路外部に出力する
ことを特徴とする半導体集積回路。 A semiconductor integrated circuit incorporating a non-volatile device for storing confidential information data,
The nonvolatile device is configured such that stored data cannot be read out of the semiconductor integrated circuit,
Redundant data storage means for storing redundant data for checking obtained by performing a predetermined operation on the confidential information data;
A test circuit for testing the nonvolatile device using redundant data for checking stored in the redundant data storage means;
The test circuit includes:
A check operation circuit that executes an operation corresponding to the predetermined operation on the confidential information data read from the nonvolatile device;
A comparison circuit that compares the operation result of the check operation circuit with the check redundant data stored in the redundant data storage means;
An encryption processing circuit that performs encryption using a predetermined secret key for the confidential information data and the redundant data for checking,
A semiconductor integrated circuit that outputs an encryption result of the encryption processing circuit to the outside of the semiconductor integrated circuit when a mismatch between the operation result and the check redundant data is detected as a comparison result of the comparison circuit circuit.
前記冗長データ記憶手段は、前記不揮発デバイスである
ことを特徴とする半導体集積回路。 The semiconductor integrated circuit according to claim 1,
2. The semiconductor integrated circuit according to claim 1, wherein the redundant data storage means is the nonvolatile device.
前記チェック用冗長データは、前記不揮発デバイスにおいて、前記機密情報データと異なるアドレスに格納されている
ことを特徴とする半導体集積回路。 The semiconductor integrated circuit according to claim 2.
The redundant data for checking is stored in an address different from that of the confidential information data in the nonvolatile device.
前記チェック用冗長データは、前記不揮発デバイスにおいて、前記機密情報データと同一アドレスに格納されている
ことを特徴とする半導体集積回路。 The semiconductor integrated circuit according to claim 2.
The redundant data for checking is stored in the nonvolatile device at the same address as the confidential information data.
前記暗号処理回路は、前記機密情報データのみに対して、所定の秘密鍵を用いて暗号化するものである
ことを特徴とする半導体集積回路。 The semiconductor integrated circuit according to claim 1,
2. The semiconductor integrated circuit according to claim 1, wherein the cryptographic processing circuit encrypts only the confidential information data using a predetermined secret key.
前記テスト回路は、
前記所定の秘密鍵を記憶する秘密鍵レジスタを備えている
ことを特徴とする半導体集積回路。 The semiconductor integrated circuit according to claim 1,
The test circuit includes:
A semiconductor integrated circuit comprising a secret key register for storing the predetermined secret key.
前記テスト回路は、
前記比較回路において前記演算結果と前記チェック用冗長データとの一致が検出されたとき、前記秘密鍵レジスタに記憶された前記所定の秘密鍵を、前記チェック用冗長データを基にして更新する
ことを特徴とする半導体集積回路。 The semiconductor integrated circuit according to claim 6.
The test circuit includes:
Updating the predetermined secret key stored in the secret key register based on the check redundant data when the comparison circuit detects a match between the operation result and the check redundant data; A semiconductor integrated circuit.
前記秘密鍵レジスタは、所定の初期値が与えられている
ことを特徴とする半導体集積回路。 The semiconductor integrated circuit according to claim 7.
A semiconductor integrated circuit, wherein the secret key register is given a predetermined initial value.
前記不揮発デバイスは、格納したデータが当該半導体集積回路外部に読み出し不能なように構成されており、
前記機密情報データに所定の演算を施して得たチェック用冗長データを、予め、当該半導体集積回路の冗長データ記憶手段に、記憶させておく前処理と、
前記不揮発デバイスから機密情報データを読み出し、読み出した機密データに対し、前記所定の演算に相当する演算を実行する処理と、
前記冗長データ記憶手段からチェック用冗長データを読み出し、前記演算処理の結果と、読み出したチェック用冗長データとを比較する処理と、
前記比較の結果として、前記演算結果と前記チェック用冗長データとの不一致が検出されたとき、前記機密情報データおよび前記チェック用冗長データに対して所定の秘密鍵を用いて暗号化する処理とを備えた
ことを特徴とする半導体集積回路の検査方法。 A method for inspecting a semiconductor integrated circuit containing a nonvolatile device for storing confidential information data,
The nonvolatile device is configured such that stored data cannot be read outside the semiconductor integrated circuit,
Pre-processing for storing redundant data for checking obtained by performing a predetermined operation on the confidential information data in advance in redundant data storage means of the semiconductor integrated circuit;
A process of reading confidential information data from the nonvolatile device, and executing an operation corresponding to the predetermined operation on the read confidential data;
Reading the check redundant data from the redundant data storage means, and comparing the result of the arithmetic processing with the read check redundant data;
As a result of the comparison, when a mismatch between the operation result and the check redundant data is detected, the confidential information data and the check redundant data are encrypted using a predetermined secret key. A method for inspecting a semiconductor integrated circuit, comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006033742A JP2007213718A (en) | 2006-02-10 | 2006-02-10 | Semiconductor integrated circuit and inspection method of semiconductor integrated circuit |
US11/703,719 US7913316B2 (en) | 2006-02-10 | 2007-02-08 | Semiconductor integrated circuit and method for testing semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006033742A JP2007213718A (en) | 2006-02-10 | 2006-02-10 | Semiconductor integrated circuit and inspection method of semiconductor integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007213718A true JP2007213718A (en) | 2007-08-23 |
Family
ID=38491997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006033742A Pending JP2007213718A (en) | 2006-02-10 | 2006-02-10 | Semiconductor integrated circuit and inspection method of semiconductor integrated circuit |
Country Status (2)
Country | Link |
---|---|
US (1) | US7913316B2 (en) |
JP (1) | JP2007213718A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211797A (en) * | 2008-02-29 | 2009-09-17 | Hynix Semiconductor Inc | Semiconductor element |
JP2015207255A (en) * | 2014-04-23 | 2015-11-19 | 凸版印刷株式会社 | Storage medium device, method of controlling storage medium, and program |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010262715A (en) * | 2009-05-11 | 2010-11-18 | Renesas Electronics Corp | Memory inspection system and memory inspection method |
US9165163B2 (en) * | 2012-11-30 | 2015-10-20 | Broadcom Corporation | Secure delivery of processing code |
US9318221B2 (en) | 2014-04-03 | 2016-04-19 | Winbound Electronics Corporation | Memory device with secure test mode |
EP2945092B1 (en) * | 2014-05-15 | 2018-05-16 | Winbond Electronics Corp. | Memory device with secure test mode |
US10572651B2 (en) | 2016-02-16 | 2020-02-25 | Samsung Electronics Co., Ltd. | Key generating method and apparatus using characteristic of memory |
US10740186B2 (en) * | 2017-05-15 | 2020-08-11 | The Boeing Company | High data integrity processing system |
KR20190029316A (en) * | 2017-09-12 | 2019-03-20 | 에스케이하이닉스 주식회사 | Micro controller, memory system having the same and operation method for the same |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1116392A (en) * | 1997-06-24 | 1999-01-22 | Nec Ic Microcomput Syst Ltd | Test circuit and test method for semiconductor integrated circuit |
JP2001344992A (en) * | 2000-05-31 | 2001-12-14 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit and testing method of semiconductor integrated circuit |
JP2003303500A (en) * | 2002-04-05 | 2003-10-24 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit and test method for semiconductor integrated circuit |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933620A (en) * | 1996-03-28 | 1999-08-03 | Advanced Micro Devices, Inc. | Method and apparatus for serializing microprocessor identification numbers |
US6607136B1 (en) * | 1998-09-16 | 2003-08-19 | Beepcard Inc. | Physical presence digital authentication system |
-
2006
- 2006-02-10 JP JP2006033742A patent/JP2007213718A/en active Pending
-
2007
- 2007-02-08 US US11/703,719 patent/US7913316B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1116392A (en) * | 1997-06-24 | 1999-01-22 | Nec Ic Microcomput Syst Ltd | Test circuit and test method for semiconductor integrated circuit |
JP2001344992A (en) * | 2000-05-31 | 2001-12-14 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit and testing method of semiconductor integrated circuit |
JP2003303500A (en) * | 2002-04-05 | 2003-10-24 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit and test method for semiconductor integrated circuit |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211797A (en) * | 2008-02-29 | 2009-09-17 | Hynix Semiconductor Inc | Semiconductor element |
JP2015207255A (en) * | 2014-04-23 | 2015-11-19 | 凸版印刷株式会社 | Storage medium device, method of controlling storage medium, and program |
Also Published As
Publication number | Publication date |
---|---|
US20070234138A1 (en) | 2007-10-04 |
US7913316B2 (en) | 2011-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7913316B2 (en) | Semiconductor integrated circuit and method for testing semiconductor integrated circuit | |
JP3773431B2 (en) | Key mounting system, LSI for realizing the same, and key mounting method | |
US20200342112A1 (en) | An autonomous, self-authenticating and self-contained secure boot-up system and methods | |
JP6182371B2 (en) | System including semiconductor integrated circuit | |
JP5984625B2 (en) | Semiconductor device and encryption key writing method | |
US11232718B2 (en) | Methods and devices for protecting data | |
CN104025500A (en) | Secure key storage using physically unclonable functions | |
JP6714735B2 (en) | Random code generator | |
WO2013088939A1 (en) | Identification information generation device and identification information generation method | |
US7681046B1 (en) | System with secure cryptographic capabilities using a hardware specific digital secret | |
JP2010252305A (en) | Semiconductor integrated circuit and control method thereof | |
US7957526B2 (en) | Confidential information implementation system and LSI | |
CN112069551A (en) | Electronic circuit | |
US20070147604A1 (en) | Integrated circuit having advanced encryption standard core and wrapper for validating advanced encryption standard core | |
Cortez et al. | Testing PUF-based secure key storage circuits | |
US7545934B2 (en) | Security information packaging system, LSI, and security information packaging method | |
US11244078B2 (en) | Side channel attack protection | |
CN114510753B (en) | Memory data protection method and device, electronic equipment and storage medium | |
JP2009169489A (en) | Encryption method, decryption method, encryption device, and decryption device | |
JP4323527B2 (en) | Semiconductor memory device | |
JP3606788B2 (en) | Semiconductor integrated circuit and inspection method for semiconductor integrated circuit | |
US20060179395A1 (en) | Method and circuit arrangement for verifying a data record having a plurality of data words | |
JP2016012931A (en) | Semiconductor device | |
US7539304B1 (en) | Integrated circuit having self test capability using message digest and method for testing integrated circuit having message digest generation circuitry | |
US20050050341A1 (en) | Device of applying protection bit codes to encrypt a program for protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100316 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100514 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100608 |