JP2006018577A - Circuit constitution specification preventing method - Google Patents

Circuit constitution specification preventing method Download PDF

Info

Publication number
JP2006018577A
JP2006018577A JP2004195613A JP2004195613A JP2006018577A JP 2006018577 A JP2006018577 A JP 2006018577A JP 2004195613 A JP2004195613 A JP 2004195613A JP 2004195613 A JP2004195613 A JP 2004195613A JP 2006018577 A JP2006018577 A JP 2006018577A
Authority
JP
Japan
Prior art keywords
key
circuit
permission
mpu
fpga
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004195613A
Other languages
Japanese (ja)
Other versions
JP4620395B2 (en
Inventor
Kazuyoshi Sato
一良 佐藤
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.)
Hitachi Kokusai Electric Inc
Original Assignee
Hitachi Kokusai Electric Inc
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 Hitachi Kokusai Electric Inc filed Critical Hitachi Kokusai Electric Inc
Priority to JP2004195613A priority Critical patent/JP4620395B2/en
Publication of JP2006018577A publication Critical patent/JP2006018577A/en
Application granted granted Critical
Publication of JP4620395B2 publication Critical patent/JP4620395B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a circuit constitution specification preventing method capable of preventing the specification of a constituting circuit by a simple means and evading physical concealment which causes difficulties when required work is generated. <P>SOLUTION: To an internal register group for setting operations inside an FPGA 12, address signals and data signals are supplied from an MPU and selection signals are inputted through a gate circuit 22. A permission key is set by the external circuit of the MPU or the like to a permission key setting register 23 inside the FPGA 12 and an authentication key is set by the MPU to an authentication key setting register 24. A key match detection circuit 25 compares the permission key set to the permission key setting register 23 and the authentication key set to the authentication key setting register 24 and closes the gate circuit 22 and inhibits the access of the internal register group 21 in the case that they do not match. Thus, the operation specification of the circuit by a third party is made difficult and the specification and unauthorized copying of the circuit constitution are prevented. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、製品化された半導体集積回路等の回路構成の特定を防止する回路構成特定防止方法に関する。   The present invention relates to a circuit configuration specifying prevention method for preventing specification of a circuit configuration of a manufactured semiconductor integrated circuit or the like.

近年、半導体集積回路は、機能変更が比較的安易なソフトウェア、FPGA(フィールド・プログラマブル・ゲート・アレイ)等のプログラマブルな開発手法を用いる分野への機能割り振りが増大し、システムの機能要求を実現している。この場合、MPU、FPGAといった一般的に入手可能な市販のデバイスを用いるため、そのプログラムの保護や、回路構成の特定を防止する技術が要求される。   In recent years, the number of functions allocated to fields that use programmable development methods such as software and FPGA (Field Programmable Gate Array), which are relatively easy to change functions, has increased in the semiconductor integrated circuit, realizing the system function requirements. ing. In this case, since a commercially available device such as MPU or FPGA is used, a technique for protecting the program and preventing the specification of the circuit configuration is required.

上記半導体集積回路におけるプログラムの保護や回路構成の特定を防止する方法としては、従来、暗号化によって構成データを保護する方法が一般に用いられている(例えば、特許文献1、2参照。)。   As a method for preventing the protection of the program and the specification of the circuit configuration in the semiconductor integrated circuit, conventionally, a method of protecting configuration data by encryption has been generally used (for example, see Patent Documents 1 and 2).

また、回路構成特定の困難化という点では、デバイスの部品型名の消去、基板特定部分のシリコン等による物理的な隠匿といった手段で実現していた。
特開2001−256114号公報 特開2003−84853号公報
Further, in terms of difficulty in specifying the circuit configuration, it has been realized by means such as erasing the part type name of the device and physically concealing the substrate specifying portion with silicon or the like.
JP 2001-256114 A JP 2003-84853 A

上記のように半導体集積回路におけるプログラムの保護や回路構成の特定を防止する方法として暗号化による方法を用いる場合には、暗号化情報を内部回路に記憶させなければならず、その設計が非常に複雑になるという問題がある。また、暗号化による方法を用いた場合には、復号に時間がかかり、起動が遅くなるという問題がある。   As described above, when using a method based on encryption as a method for preventing program protection and circuit configuration specification in a semiconductor integrated circuit, encryption information must be stored in an internal circuit, and its design is very There is a problem of complexity. In addition, when the encryption method is used, there is a problem that it takes time for decryption and the activation becomes slow.

また、デバイスの部品型名の消去、基板特定部分のシリコン等による物理的な隠匿といった手段を用いた場合には、
1.悪意のある第三者がその覆い隠した物質を除去することにより、比較的安易に回路構成が特定できてしまう。
In addition, when using means such as erasing the part type name of the device or physically concealing the silicon specific part of the substrate, etc.
1. A malicious third party can remove the concealed material to identify the circuit configuration relatively easily.

2.製造者において、その覆い隠した物質により修理、手直し等の必要な作業の妨げになるという2つの大きな問題を含んでいる。 2. There are two major problems in the manufacturer, which obstruct the necessary work such as repair and repair due to the concealed material.

本発明は上記の課題を解決するためになされたもので、構成回路の特定を簡易的な手段によって確実に防止でき、かつ、必要作業発生時に困難を生ずる物理的な隠匿を回避できる回路構成特定防止方法を提供することを目的とする。   The present invention has been made to solve the above-mentioned problems, and it is possible to reliably prevent the identification of constituent circuits by simple means and to avoid physical concealment that causes difficulty when necessary work occurs. An object is to provide a prevention method.

本発明に係る回路構成特定防止方法は、フィールド・プログラマブル・ゲート・アレイ内に外部回路から内部ロジックへのアクセスを制御するゲート回路を設け、予め内部の許可キー設定レジスタに設定された許可キーと前記外部回路から入力される許可キーとを一致比較し、一致した場合に前記ゲート回路のロックを解除して前記外部回路から内部ロジックへのアクセスを許可することを特徴とする。   The circuit configuration specifying prevention method according to the present invention includes a gate circuit for controlling access from an external circuit to an internal logic in a field programmable gate array, and a permission key set in an internal permission key setting register in advance. The gate key circuit is unlocked and access from the external circuit to the internal logic is permitted by comparing with a permission key input from the external circuit.

本発明によれば、第三者による回路の動作特定が困難となり、仮にプログラマブルデバイスのプログラム自体が漏洩した場合でも、全てのデバイスのプログラム及び基板の構造まで同一構成としない限り、プログラムは動作することができないので、回路構成の特定を確実に防止することができる。また、従来のように基板上に形成された回路構成全体を覆い隠す必要が無く、実際に基板の動作検証をする必要が生じた場合には、安易に動作を確認することができる。   According to the present invention, it becomes difficult for a third party to specify the operation of the circuit, and even if the program of the programmable device itself leaks, the program operates unless all the device programs and the board structure are configured to be the same. Therefore, it is possible to reliably prevent the circuit configuration from being specified. Further, it is not necessary to cover the entire circuit configuration formed on the substrate as in the conventional case, and when it is necessary to actually verify the operation of the substrate, the operation can be easily confirmed.

以下、図面を参照して本発明の実施形態を説明する。
(第1実施形態)
図1は、本発明に係る回路構成特定防止方法を半導体集積回路に実施した場合の概略構成例を示したものである。図1において、10はプリント用の基板で、この基板10上に例えばMPU(Micro Processing Unit)11、FPGA(フィールド・プログラマブル・ゲート・アレイ:プログラム可能なゲート・アレイ素子)12、周辺回路13、MPU周辺回路14、CPLD(工場でプログラムされたロジック素子)15が設けられる。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(First embodiment)
FIG. 1 shows a schematic configuration example when a circuit configuration specifying prevention method according to the present invention is implemented in a semiconductor integrated circuit. In FIG. 1, reference numeral 10 denotes a substrate for printing. On this substrate 10, for example, an MPU (Micro Processing Unit) 11, an FPGA (Field Programmable Gate Array: Programmable Gate Array Element) 12, a peripheral circuit 13, An MPU peripheral circuit 14 and a CPLD (factory programmed logic element) 15 are provided.

上記MPU11は、所定のソフトウェアに基づいて動作するもので、FPGA12に対してアドレス、データ、選択信号を出力する。FPGA12は、機能を決定するFPGA素子のためのプログラムを用いて、製造後に現場でプログラムできる集積回路である。上記FPGA12は、内部に動作設定用のレジスタ群が設けられており、外部回路であるMPU11からの指示に基づいて周辺回路13を制御する。   The MPU 11 operates based on predetermined software, and outputs an address, data, and a selection signal to the FPGA 12. The FPGA 12 is an integrated circuit that can be programmed in the field after manufacture using a program for the FPGA element that determines the function. The FPGA 12 is provided with an operation setting register group inside, and controls the peripheral circuit 13 based on an instruction from the MPU 11 which is an external circuit.

上記MPU11、FPGA12、周辺回路13は、システム機能要求を満足するために、機能ブロック毎に最適な実現手段を検討し、1枚ないし複数枚の基板10に分割して実現する。   The MPU 11, FPGA 12, and peripheral circuit 13 are realized by dividing them into one or a plurality of substrates 10 by examining the optimum implementation means for each functional block in order to satisfy the system function requirements.

そして、本実施形態では、上記構成デバイスの少なくとも1つ以上の組合わせ間のキー確認により動作する構成としている。ここでキー表現としたのは、その製品、或いは、その基板固有の値(またはレベル)であり、一般に決まった値ではないためである。また、少なくとも1つ以上としたのは、キー数が多ければ多いほど、第三者が回路構成を特定する難易度が高くなるので、その製品の目標とする秘匿性達成レベルにより複数のキーを組合わせ使用することが可能である。また、1つのキー自体についても前記キー数と同様に、1ビットから複数ビットまでの構成が可能であり、そのビット数増加に比例し、秘匿性達成レベルが高くなる。   And in this embodiment, it is set as the structure which operate | moves by the key confirmation between the at least 1 or more combination of the said structure device. The key expression used here is a value (or level) specific to the product or the board, and is not a fixed value in general. In addition, at least one key is used because the more keys there are, the more difficult it is for a third party to specify the circuit configuration. It can be used in combination. Similarly to the number of keys, one key itself can be configured from 1 bit to a plurality of bits, and the secrecy achievement level increases in proportion to the increase in the number of bits.

ここで、一般的な構成要素を用いた製品要求機能の実現方法は、FPGA12内のレジスタにMPU11から動作要求、及び設定値を書き込むことにより、周辺回路13を制御し、動作することが一般的である。そのため本発明は、全ての正しい構成要素が揃わない限り、FPGA12内レジスタへのアクセスを禁止し、回路が正常動作しない構成とすることにより、回路構成(一部分のみの場合も含む)の特定及びそれに伴う不正コピーを防止するものである。   Here, a method for realizing a product request function using a general component generally controls and operates the peripheral circuit 13 by writing an operation request and a set value from the MPU 11 to a register in the FPGA 12. It is. Therefore, according to the present invention, unless all correct components are available, access to the registers in the FPGA 12 is prohibited, and the circuit does not operate normally, so that the circuit configuration (including only a part) can be specified. This prevents unauthorized copying.

以降、動作許可を申請する意味となる外部からの設定キーを認証キー、そのキーに対して動作を許可するか否かの判断基準となるキーを許可キーとして説明する。基本的にこれらのキーは、別個の経路を用いてそれぞれ設定されるのを基本とする。   In the following description, an externally set key that is used to apply for operation permission is used as an authentication key, and a key that serves as a criterion for determining whether or not operation is permitted for the key is described as an allowed key. Basically, these keys are basically set using separate paths.

上記図1に示した回路では、MPU11からCPLD15に対し、起動トリガを与えて許可キーを発生し、この許可キーをFPGA12内部の許可キーレジスタに設定する。FPGA12は、許可キーレジスタに設定された許可キーと、MPU11から出力される認証キーとを比較し、一致した場合のみ内部レジスタ群へのアクセスを許可することにより、回路構成の特定及びそれに伴う不正コピーを防止する。   In the circuit shown in FIG. 1, the MPU 11 gives a trigger to the CPLD 15 to generate a permission key, and this permission key is set in the permission key register inside the FPGA 12. The FPGA 12 compares the permission key set in the permission key register with the authentication key output from the MPU 11, and permits access to the internal register group only when they match, thereby identifying the circuit configuration and accompanying illegality. Prevent copying.

図2は、上記認証キー及び許可キーをパラレル設定とした場合の秘匿性、回路構成の特定の難易度を示し、横軸にビット数/キー、縦軸にキー数を取って示した。キーのビット数、及びキー数が多くなるほど秘匿性が高くなる。このためAビットを使用した1つのキーも、A個の1ビットキーと同一とみなすことができる。従って、ある回路構成に割り振るFPGAピンが同一の場合、1つのキーを複数ビットで構成し、そのキーをシリアルで設定した方が、より強力な秘匿性を実現することが可能である。   FIG. 2 shows the secrecy when the authentication key and the permission key are set in parallel and the specific difficulty level of the circuit configuration. The horizontal axis indicates the number of bits / key, and the vertical axis indicates the number of keys. As the number of keys and the number of keys increase, confidentiality increases. Therefore, one key using the A bit can be regarded as the same as A one-bit key. Therefore, when the FPGA pins allocated to a certain circuit configuration are the same, it is possible to realize stronger confidentiality by configuring one key with a plurality of bits and setting the key serially.

図3は、上記FPGA12の具体的な回路構成例を示したものである。
図3において、21はFPGA12内に構成される動作設定用の内部レジスタ群で、MPU11からアドレス信号及びデータ信号が与えられる。更に、上記内部レジスタ群21には、MPU11から出力される選択信号がゲート回路22を介して入力される。
FIG. 3 shows a specific circuit configuration example of the FPGA 12.
In FIG. 3, reference numeral 21 denotes an operation setting internal register group configured in the FPGA 12, and an address signal and a data signal are given from the MPU 11. Further, a selection signal output from the MPU 11 is input to the internal register group 21 via the gate circuit 22.

また、FPGA12内には、許可キー設定レジスタ23、認証キー設定レジスタ24が設けられると共に、上記許可キー設定レジスタ23に設定された許可キーと認証キー設定レジスタ24に設定された認証キーとを一致比較し、その比較結果に基づいてゲート回路22を制御するキー一致検出回路25が設けられる。上記許可キー設定レジスタ23には、外部回路例えばMPU11によって許可キーが設定され、認証キー設定レジスタ24にはMPU11によって認証キーが設定される。   Further, the FPGA 12 is provided with a permission key setting register 23 and an authentication key setting register 24, and the permission key set in the permission key setting register 23 matches the authentication key set in the authentication key setting register 24. A key coincidence detection circuit 25 is provided for comparing and controlling the gate circuit 22 based on the comparison result. A permission key is set in the permission key setting register 23 by an external circuit, for example, the MPU 11, and an authentication key is set in the authentication key setting register 24 by the MPU 11.

キー一致検出回路25は、許可キー設定レジスタ23に設定された許可キーと、認証キー設定レジスタ24に設定された認証キーとを比較し、一致した場合にはゲート回路22を開き、すなわちゲート回路22のロックを解除して内部レジスタ群21へのアクセスを許可し、不一致の場合はゲート回路22を閉じて内部レジスタ群21へのアクセスを禁止する。上記内部レジスタ群21は、MPU11によって書き込まれた動作要求及び設定値に基づいて周辺回路13a〜13nを制御する。   The key match detection circuit 25 compares the permission key set in the permission key setting register 23 with the authentication key set in the authentication key setting register 24, and if they match, opens the gate circuit 22, that is, the gate circuit. 22 is unlocked and access to the internal register group 21 is permitted, and in the case of a mismatch, the gate circuit 22 is closed and access to the internal register group 21 is prohibited. The internal register group 21 controls the peripheral circuits 13a to 13n based on the operation request and the set value written by the MPU 11.

システム機能要求の動作の殆どがFPGA12内の内部レジスタ群21経由で設定されるため、許可キーと認証キーが不一致の場合に内部レジスタ群21へのアクセスを制限することにより、本来の機能を実現することが不可能となり、FPGA12を含めた周辺デバイスが正しく動作することはない。このため第三者が回路の構成、動作を特定するのが困難となる。また、仮にプログラマブルデバイスのプログラム自体が漏洩した場合でも、全てのデバイスのプログラム及び基板の構造まで同一構成としない限り、プログラムは動作することができないので、回路構成の特定を確実に防止することができる。また、従来のように基板上に形成された回路構成全体を覆い隠す必要が無いので、実際に基板の動作検証をする必要が生じた場合には、安易に動作を確認することができる。   Since most of the system function request operations are set via the internal register group 21 in the FPGA 12, the original function is realized by restricting access to the internal register group 21 when the authorization key and the authentication key do not match. The peripheral devices including the FPGA 12 do not operate correctly. This makes it difficult for a third party to specify the circuit configuration and operation. In addition, even if the program of the programmable device itself leaks, the program cannot operate unless all the device programs and the board structure are configured identically, so that it is possible to reliably prevent the specification of the circuit configuration. it can. Further, since it is not necessary to cover the entire circuit configuration formed on the substrate as in the prior art, the operation can be easily confirmed when it is necessary to actually verify the operation of the substrate.

次に、上記許可キー設定レジスタ23、認証キー設定レジスタ24へキーを設定する場合の構成例について説明する。
図4は、許可キー設定レジスタ23への許可キーの設定及び認証キー設定レジスタ24への認証キーの設定をMPU11のデータバスによりパラレルデータを用いて行なう場合について示したものである。
Next, a configuration example when keys are set in the permission key setting register 23 and the authentication key setting register 24 will be described.
FIG. 4 shows a case where the permission key is set in the permission key setting register 23 and the authentication key is set in the authentication key setting register 24 using parallel data by the data bus of the MPU 11.

MPU11の動作としては、まず、Boot処理を行なった後、内部のイニシャル処理を実行し、その後、ゲート処理されていない、すなわち通常アクセス可能な許可キー設定レジスタ23に前もって取り決められた許可キーを設定し、その後、認証キーを発行して認証キー設定レジスタ24に設定する。   As an operation of the MPU 11, first, the boot process is performed, then the internal initial process is executed, and then the permission key that is not gated, that is, the permission key setting register 23 that is normally accessible is set in advance. Thereafter, an authentication key is issued and set in the authentication key setting register 24.

上記認証キーは、Boot処理後にソフトウェア動作開始時に設定するキーとするため、MPU11からの設定を基本とする。認証キーの設定は、MPU11のBoot処理を行なった後、MPU11の内部イニシャル処理実行後にFPGA12内の認証キー設定レジスタ24へ設定する。   Since the authentication key is a key that is set when the software operation starts after the boot process, the authentication key is basically set by the MPU 11. The authentication key is set in the authentication key setting register 24 in the FPGA 12 after executing the boot process of the MPU 11 and executing the internal initial process of the MPU 11.

そして、上記MPU11により認証キー設定レジスタ24に対して認証キーが設定されると、キー一致検出回路25において、許可キーと認証キーの一致検出が行なわれる。上記キー一致検出回路25により、許可キーと認証キーの一致が検出されると、ゲート回路22のロックが解除されて内部レジスタ群21へのアクセスが可能となり、正常運用状態へと遷移する。しかし、上記キー一致検出回路25において、許可キーと認証キーが不一致であると判断された場合は、ゲート回路22がロックされたままとなり、内部レジスタ群21へのアクセスが禁止される。   When the MPU 11 sets an authentication key in the authentication key setting register 24, the key match detection circuit 25 detects the match between the permission key and the authentication key. When the key match detection circuit 25 detects a match between the permission key and the authentication key, the gate circuit 22 is unlocked, the internal register group 21 can be accessed, and a transition is made to a normal operation state. However, if the key match detection circuit 25 determines that the permission key and the authentication key do not match, the gate circuit 22 remains locked and access to the internal register group 21 is prohibited.

なお、上記許可キー設定レジスタ23に対する許可キーの設定方法は、MPU11からの設定のみに限定するものではなく、その入手(設定)方法はいかなるものであっても良い。但し、本実施形態では許可キー、認証キーともMPU11から設定する構成で説明しているが、実際の運用の場合は、同一手段、同一経路の設定を用いるのは、秘匿性の観点から推奨されるものではない。   Note that the method for setting the permission key for the permission key setting register 23 is not limited to the setting from the MPU 11, and any method for obtaining (setting) it may be used. However, in the present embodiment, the configuration is described in which both the authorization key and the authentication key are set from the MPU 11, but in actual operation, it is recommended from the viewpoint of confidentiality to use the same means and the same route setting. It is not something.

図5は、シリアルキー設定方式を示したもので、MPU11のシリアルポートを用いて許可キー設定レジスタ23に許可キーを設定する。すなわち、MPU11のシリアルポートから出力される信号をシリアル/パラレル(S/P)変換回路26により、パラレルのアドレス信号、データ信号に変換して許可キー設定レジスタ23に設定する。この設定方式は、設定手段としてシリアル通信方式を用いる以外は、パラレル設定方式と同一である。   FIG. 5 shows a serial key setting method, in which a permission key is set in the permission key setting register 23 using the serial port of the MPU 11. That is, a signal output from the serial port of the MPU 11 is converted into a parallel address signal and data signal by the serial / parallel (S / P) conversion circuit 26 and set in the permission key setting register 23. This setting method is the same as the parallel setting method except that a serial communication method is used as setting means.

一方、認証キーの設定は、上記パラレルデータによる設定の場合と同様にMPU11のBoot処理を行なった後、MPU11の内部イニシャル処理実行後にFPGA12内の認証キー設定レジスタ24へ設定する。   On the other hand, the authentication key is set in the authentication key setting register 24 in the FPGA 12 after executing the boot process of the MPU 11 and executing the internal initial process of the MPU 11 as in the case of the setting by the parallel data.

なお、許可キー設定レジスタ23へのキー設定方法は、上記パラレルデータによる設定の場合と同様に、MPU11からの設定のみに限定するものではなく、その入手(設定)方法はいかなるものであっても良い。   Note that the key setting method in the permission key setting register 23 is not limited to the setting from the MPU 11 as in the case of the setting using the parallel data, and any acquisition (setting) method may be used. good.

上記のように許可キー設定レジスタ23に許可キーを設定する場合、パラレル設定とシリアル設定の実現方法があるが、使用するピン数はパラレル設定の場合、キー長(ビット数)分、シリアル設定の場合、3ピン程度で実現可能である。また、秘匿性については、パラレル設定の場合、1ビットのキーがパラレル分存在するのと同じであるが、シリアル設定の場合、1つのピンで複数のキーがあることになるので、パラレル設定と同一ピン数で実現した場合には格段に秘匿性が強い構成となる。   When the permission key is set in the permission key setting register 23 as described above, there are methods for realizing parallel setting and serial setting. However, in the case of parallel setting, the number of pins to be used is equal to the key length (number of bits). In this case, it can be realized with about 3 pins. Concealment is the same as the parallel setting of 1-bit keys in the parallel setting, but in the serial setting, there are multiple keys with one pin. When it is realized with the same number of pins, the configuration is extremely strong.

次に、上記許可キー設定レジスタ23へ許可キーを設定する場合の他の実施形態について図6ないし図9を参照して説明する。   Next, another embodiment for setting a permission key in the permission key setting register 23 will be described with reference to FIGS.

(第2実施形態)
図6は、本発明の第2実施形態に係る許可キーの設定例を示す回路構成図である。この第2実施形態は、FPGA12の内部にて許可キーを設定する場合の例を示している。
すなわち、FPGA12のBootメモリ31に予め許可キー設定レジスタ23の初期値を設定しておき、FPGA Boot処理を実行することによって許可キー設定レジスタ23に許可キーを設定する。従って、FPGA Boot処理終了後には、許可キーの設定が完了する。
(Second Embodiment)
FIG. 6 is a circuit configuration diagram showing a setting example of the permission key according to the second embodiment of the present invention. The second embodiment shows an example in which a permission key is set inside the FPGA 12.
That is, the initial value of the permission key setting register 23 is set in the Boot memory 31 of the FPGA 12 in advance, and the permission key is set in the permission key setting register 23 by executing the FPGA Boot process. Therefore, after the FPGA Boot process is completed, the setting of the permission key is completed.

その後、MPU11により認証キー設定レジスタ24に対して認証キーが設定されると、キー一致検出回路25において、許可キーと認証キーの一致検出が行なわれ、その検出結果に応じてゲート回路22のゲートがオン/オフ制御される。   After that, when the authentication key is set in the authentication key setting register 24 by the MPU 11, the key match detection circuit 25 detects the match between the permission key and the authentication key, and the gate of the gate circuit 22 according to the detection result. Is controlled on / off.

上記の構成とすることにより、許可キーは、FPGA Bootデータから許可キー設定レジスタ23の初期値としてBoot済みであるので、許可キーを改めて設定する必要はない。   With the above configuration, the permission key has already been booted from the FPGA Boot data as the initial value of the permission key setting register 23, so it is not necessary to set the permission key again.

(第3実施形態)
図7は、本発明の第3実施形態に係るキー設定例を示す回路構成図である。この第3実施形態は、FPGA12を実装する基板10上から許可キーを設定する場合の例を示したものである。
すなわち、基板10上にキー回路32を設け、FPGA12の未使用I/Oピンに対してキーを1ビットずつ割り当てて、許可キー設定レジスタ23に対する許可キーを設定する。そして、FPGA12のBoot実行後、上記I/Oピンからの入力レベルを読出して許可キー設定レジスタ23に設定する。
(Third embodiment)
FIG. 7 is a circuit configuration diagram showing a key setting example according to the third embodiment of the present invention. In the third embodiment, an example in which a permission key is set from the board 10 on which the FPGA 12 is mounted is shown.
That is, the key circuit 32 is provided on the substrate 10, and a key is assigned bit by bit to an unused I / O pin of the FPGA 12 to set a permission key for the permission key setting register 23. Then, after booting the FPGA 12, the input level from the I / O pin is read and set in the permission key setting register 23.

上記の構成によれば、I/Oピンに対するキーの設定をFPGAデバイス実装の直下から接続することにより、外部から接続状態を確認することができず、秘匿性を向上することができる。   According to the above configuration, by connecting the key setting for the I / O pin from directly below the FPGA device mounting, the connection state cannot be confirmed from the outside, and the secrecy can be improved.

(第4実施形態)
図8は、本発明の第4実施形態に係るキー設定例を示す回路構成図である。この第4実施形態は、MPU11により許可キーを設定する場合において、CPLD15を介在して行なう場合の例を示したものである。
(Fourth embodiment)
FIG. 8 is a circuit configuration diagram showing a key setting example according to the fourth embodiment of the present invention. In the fourth embodiment, an example in which the permission key is set by the MPU 11 is performed via the CPLD 15.

この第4実施形態では、基板10上にCPLD15を設け、MPU11のシリアルポートよりCPLD15に対して許可キー等を与えて起動する。CPLD15は、MPU11からの指令によって動作し、許可キーをシリアルデータとしてFPGA12へ出力する。FPGA12は、上記CPLD15から送られてくるシリアルの許可キーをシリアル/パラレル変換回路26によりパラレルのデータ信号に変換し、許可キー設定レジスタ23に設定する。   In the fourth embodiment, the CPLD 15 is provided on the substrate 10 and is activated by giving a permission key or the like to the CPLD 15 from the serial port of the MPU 11. The CPLD 15 operates in response to a command from the MPU 11 and outputs a permission key to the FPGA 12 as serial data. The FPGA 12 converts the serial permission key sent from the CPLD 15 into a parallel data signal by the serial / parallel conversion circuit 26 and sets it in the permission key setting register 23.

上記MPU11は、CPLD15に対して許可キー設定用のコマンド、許可キー、または、許可キーの種をセットする。この許可キーの種は、例えば“1”、“0”を反転したものであったり、許可キーとなる取り決めを決めたデータ列のことである。この場合、MPU11とCPLD15との間、CPLD15とFPGA12との間は、上記実施形態と同様に共にパラレル/シリアルの設定が可能となるので、実現手段は使用デバイスの空きピン等の状況により選択可能である。   The MPU 11 sets a command for setting a permission key, a permission key, or a permission key type to the CPLD 15. This kind of permission key is, for example, a data string obtained by inverting “1” or “0”, or a data string that has been determined as a permission key. In this case, parallel / serial settings can be made between the MPU 11 and the CPLD 15 and between the CPLD 15 and the FPGA 12 in the same manner as in the above embodiment. It is.

(第5実施形態)
図9は、本発明の第5実施形態に係るキー設定例を示す回路構成図であり、CPLD15により許可キーの設定を行なう場合の例を示したものである。
本実施形態では、上記第4実施形態と同様に基板10上にCPLD15を設けているが、このCPLD15は、他のBoot状況を監視できる構成とし、FPGA12のBoot終了信号(Boot Done)をトリガとし、予め取り決めた許可キーをFPGA12へセットする構成とする。FPGA12は、上記CPLD15から送られてくるシリアルの許可キーをシリアル/パラレル変換回路26によりパラレルのデータ信号に変換し、許可キー設定レジスタ23に設定する。
上記第5実施形態によれば、許可キー設定レジスタ23への許可キーの設定をCPLD15によって行なうことができる。
(Fifth embodiment)
FIG. 9 is a circuit configuration diagram showing a key setting example according to the fifth embodiment of the present invention, and shows an example in which the permission key is set by the CPLD 15.
In the present embodiment, the CPLD 15 is provided on the substrate 10 as in the fourth embodiment. However, the CPLD 15 is configured to be able to monitor other boot situations, and the boot end signal (Boot Done) of the FPGA 12 is used as a trigger. The predetermined permission key is set in the FPGA 12. The FPGA 12 converts the serial permission key sent from the CPLD 15 into a parallel data signal by the serial / parallel conversion circuit 26 and sets it in the permission key setting register 23.
According to the fifth embodiment, the permission key can be set in the permission key setting register 23 by the CPLD 15.

なお、第5実施形態においても、MPU11とCPLD15との間、CPLD15とFPGA12との間において、上記各実施形態と同様にパラレル/シリアルの設定が可能であり、その実現状況により選択することができる。   Also in the fifth embodiment, parallel / serial settings can be made between the MPU 11 and the CPLD 15 and between the CPLD 15 and the FPGA 12 as in the above embodiments, and can be selected depending on the implementation status. .

次に、上記各実施形態における電源投入からの動作とキー設定手順を図10に示すフローチャートを参照して説明する。
対象機器の電源をONすると、CPLDによるBoot制御動作が行なわれる(ステップA1)。まず、FPGA Boot処理により「許可キー設定0」の処理が行なわれる(ステップA2)。この「許可キー設定0」は、図6の第2実施形態に示したように、FPGA12のBootデータ内に初期値として組み込んだ許可キーを使用して許可キー設定レジスタ23に設定する場合である。
Next, operations and key setting procedures after power-on in each of the above embodiments will be described with reference to the flowchart shown in FIG.
When the power of the target device is turned on, the Boot control operation by CPLD is performed (step A1). First, “permission key setting 0” is performed by FPGA Boot processing (step A2). This “permission key setting 0” is a case where the permission key setting register 23 is set using the permission key incorporated as an initial value in the Boot data of the FPGA 12, as shown in the second embodiment of FIG. .

次に、FPGA Boot処理により「許可キー設定1」の処理が行なわれる(ステップA3)。この「許可キー設定1」は、
(1)図7の第3実施形態に示したように、基板10上に設けたキー回路32により、FPGA12のI/Oピンに直接信号を入力し、それを許可キーとして許可キー設定レジスタ23に設定する場合、
(2)図9の第5実施形態に示したように、基板10に設けたCPLD15がFPGA12のBoot終了信号(Boot Done)により動作し、許可キーを許可キー設定レジスタ23に自動設定する場合である。
その後、MPU11のBoot処理が実行される(ステップA4)。
Next, “permission key setting 1” is performed by FPGA Boot processing (step A3). This "permission key setting 1"
(1) As shown in the third embodiment of FIG. 7, a key circuit 32 provided on the substrate 10 inputs a signal directly to the I / O pin of the FPGA 12 and uses it as a permission key as a permission key setting register 23. If set to
(2) As shown in the fifth embodiment of FIG. 9, when the CPLD 15 provided on the substrate 10 operates in response to the Boot end signal (Boot Done) of the FPGA 12 and the permission key is automatically set in the permission key setting register 23. is there.
Thereafter, the boot process of the MPU 11 is executed (step A4).

上記ステップA2〜A4の処理は、CPLDによるBoot制御により実行される。
上記MPU11のBoot処理が終了した後、「許可キー設定2」の処理が行なわれる(ステップA5)。上記図4、図5の第1実施形態、図8の第3実施形態で示したように、MPU11の起動で許可キーが設定される場合、このステップA5の「許可キー設定2」のタイミングで実行される。
The processes in steps A2 to A4 are executed by boot control by CPLD.
After the boot process of the MPU 11 is completed, the “permission key setting 2” process is performed (step A5). As shown in the first embodiment of FIG. 4 and FIG. 5 and the third embodiment of FIG. 8, when the permission key is set when the MPU 11 is activated, the timing of “permission key setting 2” in step A5. Executed.

次いで、MPU11による内部のイニシャル処理が実行され(ステップA6)、そのイニシャル処理終了後、MPU11によりFPGA12内の認証キー設定レジスタ24に対して認証キーが設定される(ステップA7)。   Next, an internal initial process is executed by the MPU 11 (step A6). After the initial process is completed, the MPU 11 sets an authentication key in the authentication key setting register 24 in the FPGA 12 (step A7).

次に、FPGA12は、キー一致検出回路25において、上記許可キー設定レジスタ23に設定された許可キーと、認証キー設定レジスタ24に設定された認証キーが一致するかどうかの判定、すなわち、キー認証を行なう(ステップA8)。   Next, the FPGA 12 determines in the key match detection circuit 25 whether or not the permission key set in the permission key setting register 23 matches the authentication key set in the authentication key setting register 24, that is, key authentication. (Step A8).

キー一致検出回路25は、上記キー認証において、許可キーと認証キーとの一致を検出すると、ゲート回路22を開いて内部レジスタ群21のアクセスを許可し(ステップA9)、通常運用動作に移行する(ステップA10)。   When the key match detection circuit 25 detects a match between the permission key and the authentication key in the key authentication, the key match detection circuit 25 opens the gate circuit 22 to permit access to the internal register group 21 (step A9), and shifts to a normal operation operation. (Step A10).

また、上記ステップA8において、キー一致検出回路25により許可キーと認証キーとが一致していないと判定された場合は、ゲート回路22が閉じた状態に保持され、内部レジスタ群21へのアクセスが禁止される。このためFPGA12を含めた周辺デバイスが正しく動作することはなく、回路構成の特定が不可能となる。   In step A8, if the key match detection circuit 25 determines that the permission key and the authentication key do not match, the gate circuit 22 is held closed, and the internal register group 21 is accessed. It is forbidden. For this reason, peripheral devices including the FPGA 12 do not operate correctly, and the circuit configuration cannot be specified.

以上、許可キーの各種設定例を示したが、本発明は1設定方法のみでの秘匿性実現が可能であり、また、全てを用いた秘匿性を最大限に高めた方法構成も可能である。これは提供するシステムに合わせ、求められる秘匿性要求に合わせて構成することを可能とするものである。   As described above, various setting examples of the permission key have been shown. However, the present invention can realize the secrecy only by one setting method, and can also have a method configuration that maximizes the secrecy using all. . This makes it possible to configure according to the required confidentiality requirements in accordance with the system to be provided.

同様に、キーコードそのものについても、1ビットから複数ビットまで、用いるMPU11のバス幅やFPGA12の空きピン数等の条件により、いかなる構成も可能である。   Similarly, the key code itself can have any configuration from 1 bit to a plurality of bits depending on conditions such as the bus width of the MPU 11 to be used and the number of empty pins of the FPGA 12.

また、これら自由度の高いキー数、キーコードを使用可能であるが、その一致検出においても全キー同一キーコードを用いた一致検出から、全キー個別のキーコードを用いたものまで、こちらも自由に設定することが可能である。   In addition, the number of keys and key codes with a high degree of freedom can be used, and even in the match detection, from the match detection using the same key code for all keys to the one using the key code for all keys individually It can be set freely.

更に、CPLD15とFPGA12間のシリアルキー設定を構築することを考えた場合、現時点における両デバイスのパッケージは、BGA(Ball Grid Array)が一般的となっているため、両デバイス間の接続を基板内層を用いて接続することにより、外部からの信号モニタの手段をなくすことができ、より秘匿性を高めることが可能である。   Furthermore, considering the construction of the serial key setting between the CPLD 15 and the FPGA 12, the package of both devices at the present time is generally BGA (Ball Grid Array). By using the connection, it is possible to eliminate the means for signal monitoring from the outside, and it is possible to further improve the secrecy.

なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できるものである。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying constituent elements without departing from the scope of the invention in the implementation stage.

本発明の第1実施形態に係る回路構成特定防止方法を用いた半導体集積回路の概略構成例を示す図である。It is a figure which shows the schematic structural example of the semiconductor integrated circuit using the circuit structure specific prevention method which concerns on 1st Embodiment of this invention. 同実施形態における認証キー及び許可キーをパラレル設定した場合の秘匿性、回路構成の特定の難易度を示す図である。It is a figure which shows the confidentiality at the time of setting the authentication key and permission key in the embodiment in parallel, and the specific difficulty of a circuit structure. 同実施形態におけるFPGAの具体的な回路構成例を示す図である。It is a figure which shows the specific circuit structural example of FPGA in the same embodiment. 同実施形態において、許可キー設定レジスタへの許可キーの設定及び認証キー設定レジスタへの認証キーの設定をパラレルデータにより行なう場合の構成例を示す図である。5 is a diagram illustrating a configuration example in the case where the setting of the permission key in the permission key setting register and the setting of the authentication key in the authentication key setting register are performed using parallel data in the embodiment. FIG. 同実施形態において、許可キー設定レジスタへの許可キーの設定をシリアルデータにより行なう場合の構成例を示す図である。4 is a diagram illustrating a configuration example in the case where the permission key is set in the permission key setting register by serial data in the embodiment. FIG. 本発明の第2実施形態に係る回路構成特定防止方法を用いた半導体集積回路の構成例を示す図である。It is a figure which shows the structural example of the semiconductor integrated circuit using the circuit structure specific prevention method which concerns on 2nd Embodiment of this invention. 本発明の第3実施形態に係る回路構成特定防止方法を用いた半導体集積回路の構成例を示す図である。It is a figure which shows the structural example of the semiconductor integrated circuit using the circuit structure specific prevention method which concerns on 3rd Embodiment of this invention. 本発明の第4実施形態に係る回路構成特定防止方法を用いた半導体集積回路の構成例を示す図である。It is a figure which shows the structural example of the semiconductor integrated circuit using the circuit structure specific prevention method which concerns on 4th Embodiment of this invention. 本発明の第5実施形態に係る回路構成特定防止方法を用いた半導体集積回路の構成例を示す図である。It is a figure which shows the structural example of the semiconductor integrated circuit using the circuit structure specific prevention method which concerns on 5th Embodiment of this invention. 本発明の各実施形態における電源投入からの動作とキー設定手順を示すフローチャートである。It is a flowchart which shows the operation | movement after power activation in each embodiment of this invention, and a key setting procedure.

符号の説明Explanation of symbols

10…基板、11…MPU、11.FPGA12…MPU11、12…FPGA、13、13a〜13n…周辺回路、14…MPU周辺回路、15…CPLD、21…内部レジスタ群、22…ゲート回路、23…許可キー設定レジスタ、24…認証キー設定レジスタ、25…キー一致検出回路、26…シリアル/パラレル(S/P)変換回路、31…Bootメモリ、32…キー回路。   10 ... Substrate, 11 ... MPU, 11. FPGA12 ... MPU11, 12 ... FPGA, 13, 13a to 13n ... peripheral circuit, 14 ... MPU peripheral circuit, 15 ... CPLD, 21 ... internal register group, 22 ... gate circuit, 23 ... permission key setting register, 24 ... authentication key setting Registers 25... Key coincidence detection circuit 26... Serial / parallel (S / P) conversion circuit 31... Boot memory 32.

Claims (1)

フィールド・プログラマブル・ゲート・アレイ内に外部回路から内部ロジックへのアクセスを制御するゲート回路を設け、予め内部の許可キー設定レジスタに設定された許可キーと前記外部回路から入力される許可キーとを一致比較し、一致した場合に前記ゲート回路のロックを解除して前記外部回路から内部ロジックへのアクセスを許可することを特徴とする回路構成特定防止方法。   A gate circuit for controlling access from the external circuit to the internal logic is provided in the field programmable gate array, and the permission key preset in the internal permission key setting register and the permission key input from the external circuit are provided. A circuit configuration identification preventing method comprising: comparing the matching, and releasing the lock of the gate circuit and permitting access from the external circuit to the internal logic when matching occurs.
JP2004195613A 2004-07-01 2004-07-01 Circuit configuration specific prevention method Expired - Fee Related JP4620395B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004195613A JP4620395B2 (en) 2004-07-01 2004-07-01 Circuit configuration specific prevention method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004195613A JP4620395B2 (en) 2004-07-01 2004-07-01 Circuit configuration specific prevention method

Publications (2)

Publication Number Publication Date
JP2006018577A true JP2006018577A (en) 2006-01-19
JP4620395B2 JP4620395B2 (en) 2011-01-26

Family

ID=35792793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004195613A Expired - Fee Related JP4620395B2 (en) 2004-07-01 2004-07-01 Circuit configuration specific prevention method

Country Status (1)

Country Link
JP (1) JP4620395B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123051A (en) * 2007-11-16 2009-06-04 Ricoh Co Ltd Semiconductor integrated circuit, secret protection method, secret protection program, and recording medium
JP7186829B1 (en) 2021-06-21 2022-12-09 三菱電機株式会社 CONTROLLER AND METHOD FOR MANUFACTURING CONTROLLER

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03290744A (en) * 1990-04-09 1991-12-20 Fuji Electric Co Ltd Secrecy protection circuit
JPH052535A (en) * 1991-06-26 1993-01-08 Hitachi Ltd Semiconductor memory
JPH07253931A (en) * 1994-03-16 1995-10-03 Fujitsu Ltd Destruction prevention system for program data storage area
JPH11144475A (en) * 1997-11-07 1999-05-28 Nec Corp Programmable rom and method of writing data into programmable rom
JP2004272832A (en) * 2003-03-12 2004-09-30 Konica Minolta Holdings Inc Programmable logic circuit, computer system provided with the programmable logic circuit and method for writing logic circuit information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03290744A (en) * 1990-04-09 1991-12-20 Fuji Electric Co Ltd Secrecy protection circuit
JPH052535A (en) * 1991-06-26 1993-01-08 Hitachi Ltd Semiconductor memory
JPH07253931A (en) * 1994-03-16 1995-10-03 Fujitsu Ltd Destruction prevention system for program data storage area
JPH11144475A (en) * 1997-11-07 1999-05-28 Nec Corp Programmable rom and method of writing data into programmable rom
JP2004272832A (en) * 2003-03-12 2004-09-30 Konica Minolta Holdings Inc Programmable logic circuit, computer system provided with the programmable logic circuit and method for writing logic circuit information

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123051A (en) * 2007-11-16 2009-06-04 Ricoh Co Ltd Semiconductor integrated circuit, secret protection method, secret protection program, and recording medium
JP7186829B1 (en) 2021-06-21 2022-12-09 三菱電機株式会社 CONTROLLER AND METHOD FOR MANUFACTURING CONTROLLER
JP2023001438A (en) * 2021-06-21 2023-01-06 三菱電機株式会社 Control device and method of manufacturing the same
US11765817B2 (en) 2021-06-21 2023-09-19 Mitsubishi Electric Corporation Control device and manufacturing method of control device

Also Published As

Publication number Publication date
JP4620395B2 (en) 2011-01-26

Similar Documents

Publication Publication Date Title
US6622184B1 (en) Information processing system
US7454169B2 (en) Method and apparatus for use in securing an electronic device such as a cell phone
US7461268B2 (en) E-fuses for storing security version data
JP5419776B2 (en) Semiconductor device and data processing method
US7917716B2 (en) Memory protection for embedded controllers
US20070237325A1 (en) Method and apparatus to improve security of cryptographic systems
US10305679B2 (en) Method for implementing a communication between control units
US20100131729A1 (en) Integrated circuit with improved device security
Pierce et al. Enhanced secure architecture for joint action test group systems
JPH0855023A (en) System and method for data processing
EP1280038B1 (en) System and method for code and data security in a semiconductor device
JP2001356963A (en) Semiconductor device and its control device
JP6518798B2 (en) Device and method for managing secure integrated circuit conditions
KR20200070450A (en) Method and apparatus for enhancing security of vehicle controller
JP2004038569A (en) Data protection system for nonvolatile memory
JP4620395B2 (en) Circuit configuration specific prevention method
US8196215B2 (en) Security circuit for power up
EP3726377B1 (en) Boot rom gating circuit
US20150323919A1 (en) Method for operating a control unit
US20060143367A1 (en) Non-volatile memory lock
JP5761880B2 (en) Automobile
US11977628B2 (en) Semiconductor device
JP5603993B2 (en) Electrical unit and data processing method
US20220317184A1 (en) Secured debug
CN116203886A (en) High-safety circuit applied to FPGA

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101012

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101028

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees