JP4586755B2 - General-purpose logic circuit - Google Patents
General-purpose logic circuit Download PDFInfo
- Publication number
- JP4586755B2 JP4586755B2 JP2006079012A JP2006079012A JP4586755B2 JP 4586755 B2 JP4586755 B2 JP 4586755B2 JP 2006079012 A JP2006079012 A JP 2006079012A JP 2006079012 A JP2006079012 A JP 2006079012A JP 4586755 B2 JP4586755 B2 JP 4586755B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- logic circuit
- purpose logic
- random number
- general
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
この発明は、FPGA(Field Programmable Gate Array)やCPLD(Complex Programmable Logic Device)などのプログラム可能な汎用論理回路に関し、特に揮発性の汎用論理回路に読み込む回路情報を保護する技術に関する。 The present invention relates to a programmable general-purpose logic circuit such as an FPGA (Field Programmable Gate Array) and a CPLD (Complex Programmable Logic Device), and more particularly to a technique for protecting circuit information read into a volatile general-purpose logic circuit.
一般にプログラム可能な汎用論理回路としては回路規模が大きい場合、もっぱら揮発性のFPGAやCPLD等が用いられる。揮発性のFPGA等は電源投入時に外部から回路情報をロードして使うので、回路情報が複製されて盗用されるおそれを伴う。このため回路情報を保護する技術が従来から種々提供されている。 In general, as a programmable general-purpose logic circuit, when the circuit scale is large, a volatile FPGA, CPLD, or the like is used exclusively. Since the volatile FPGA or the like loads and uses circuit information from the outside when the power is turned on, the circuit information may be duplicated and stolen. For this reason, various techniques for protecting circuit information have been provided.
この種の従来の技術として、たとえば特許文献1に記載される技術がある。同文献中の図1の符号を引用してこの技術を説明すると、ROM7は、復号回路構成情報格納部9と回路情報暗号化データ格納部10を備えている。復号回路構成情報格納部9には、暗号化データを復号する復号回路を構築するための復号回路構成データが格納されている。回路情報暗号化データ格納部10には、FPGA8の回路情報を暗号化した回路情報暗号化データが格納されている。一方、FPGA8は、制御部11や鍵データ格納部12、回路情報記憶用SRAM(Static Random Access Memory)13を備えている。制御部11は、外部に対するデータ入出力動作や回路内部の各部の制御を行うものである。鍵データ格納部12には、暗号化データの復号に必要な鍵データが格納されている。回路情報記憶用SRAM13は、復号した回路情報を格納するメモリ領域を提供する。
As this type of conventional technique, for example, there is a technique described in
電源起動時に制御部11は、ROM7からまず復号回路構成データを読み出し、このデータを用いてFPGA内部に復号回路を構築する。さらに制御部11は、鍵データを復号回路に入力すると共に、ROM7から回路情報暗号化データを読み出し、読み出したデータを復号回路により復号して回路情報記憶用SRAM13に格納する。このようにして取得した回路情報に従って制御部11は、FPGA7上に論理回路を構築(プログラミング)し、しかる後、所定の大規模論理回路として機能する。
When the power is turned on, the
またこの種の従来の技術として、特許文献2に記載されるものもある。同文献中の図1の符号を引用してこの技術を説明すると、FPGA12は所定のプロトコルでCPLD14との間でデータ送受信を継続的に行って正当性をチェックしながら動作を行うものとしている。
Further, as this type of conventional technology, there is one described in
すなわちFPGA12は、呼び掛けシーケンスジェネレータ16や応答シーケンス比較素子18、応答シーケンスジェネレータ20、解読素子22を備えている。CPLD14は、応答シーケンスジェネレータ24やランダムビットジェネレータ26、暗号化素子28を備えている。
That is, the
ランダムビットジェネレータ26は、低周波クロックを用いて高周波発振器の出力をサンプリングして動作し、不規則なビットを発生蓄積して応答シーケンスジェネレータ24の初期状態xを生成する。この初期状態xは応答シーケンスジェネレータ24に与えられる他、暗号化素子28にも出力される。暗号化素子28は初期状態xを暗号化したうえでFPGA12に出力する。FPGA12においてこの初期状態xは解読素子22により復号され、応答シーケンスジェネレータ20に与えられる。
The random bit generator 26 operates by sampling the output of the high frequency oscillator using the low frequency clock, and generates and accumulates irregular bits to generate the initial state x of the response sequence generator 24. This initial state x is given to the response sequence generator 24 and also outputted to the encryption element 28. The encryption element 28 encrypts the initial state x and outputs it to the
一方、呼び掛けシーケンスジェネレータ16は所定のタイミングで応答シーケンスを発生し、この呼び掛けシーケンスに応答して応答シーケンスジェネレータ20,24がそれぞれ応答シーケンスを発生出力する。これらの応答シーケンスを応答シーケンス比較素子18が比較し、両者の一致を確認してFPGA12の動作を許容する。もし両者の不一致が見つかればFPGA12はCPLD14に動作終了を指示したうえでFPGA12自体も動作を終了する。
しかしながら特許文献1に記載される技術では、電源起動時にFPGA内部に回路情報を読み込む段階において、回路情報を暗号化したうえでROMから読み出すこととして回路情報の保護を図るものであるが、FPGAの動作中における不正なアクセスを排除することはできないという問題がある。さらに、暗号化した回路情報そのものをコピーすれば、回路が複製されてしまうおそれがある。
However, in the technique described in
一方、特許文献2に記載される技術では、FPGAとCPLDのそれぞれで生成した応答シーケンスを突き合わせてチェックを行うことによりFPGAの動作時におけるチェックを継続的に行うことが可能であるが、ランダムビットジェネレータが発生するランダムビットの生成パターンが把握されてしまうと、応答シーケンス生成の基となる応答シーケンスジェネレータの初期状態が把握されてしまう。このため、応答シーケンスの発生出力を模倣して応答シーケンスのチェックをくぐり抜けることにより、FPGAに不正にアクセスすることを許してしまうおそれがある。
On the other hand, in the technique described in
この発明は、かかる事情に鑑み、プログラム可能な汎用論理回路に対するアクセスの正当性を継続的に監視する技術において、正当なアクセスを模倣する困難性を高めてセキュリティを向上させた技術を提供することを課題とする。 In view of such circumstances, the present invention provides a technique for improving security by increasing the difficulty of imitating legitimate access in a technique for continuously monitoring legitimacy of access to a programmable general-purpose logic circuit. Is an issue.
上記の課題を解決するために、本発明は、回路情報を読み込んで論理回路を内部に構築する揮発性のプログラム可能な汎用論理回路部と不揮発性の補助回路部とから構成される汎用論理回路であって、次の要件を備えたものを提供する。
前記補助回路部は、同期クロックを発生する同期クロック発生手段と、この同期クロックに基づいてタイミングを決定して動作し第1の乱数を発生する第1の乱数発生手段とを備える。
前記プログラム可能な汎用論理回路部は、前記同期クロックに基づいてタイミングを決定して動作し前記第1の乱数発生手段と等価なアルゴリズムをもって第2の乱数を発生する第2の乱数発生手段と、第1および第2の乱数が一致するか判定し一致しない場合に異常検出を出力する比較手段と、この異常検出を受けて動作し前記プログラム可能な汎用論理回路部の動作を強制的に停止する停止手段とを備える。
In order to solve the above-described problems, the present invention provides a general-purpose logic circuit that includes a volatile programmable general-purpose logic circuit section that reads circuit information and builds a logic circuit therein, and a nonvolatile auxiliary circuit section. However, it offers the following requirements.
The auxiliary circuit unit includes a synchronous clock generating unit that generates a synchronous clock, and a first random number generating unit that determines a timing based on the synchronous clock and operates to generate a first random number.
The programmable general-purpose logic circuit unit operates by determining timing based on the synchronous clock, and generates a second random number with an algorithm equivalent to the first random number generating unit; Comparing means for determining whether the first and second random numbers match and outputting an abnormality detection when they do not match, and operating upon receiving the abnormality detection, forcibly stops the operation of the programmable general-purpose logic circuit unit Stop means.
また本発明は、上記の汎用論理回路において、前記同期クロック発生手段として、前記補助回路部の動作クロックの周波数とは異なる周波数を規定する要素を内部に有し、前記同期クロックを前記動作クロックの周波数より低い周波数とするものを用いたものを提供する。 According to the present invention, in the general-purpose logic circuits described above, as the synchronizing signal generating means, said having therein an element defining a frequency different from the frequency of the operation clock of the auxiliary circuit, the synchronizing clock of the operation clock The thing using what makes a frequency lower than a frequency is provided.
また本発明は、上記の汎用論理回路において、前記同期クロック発生手段として、一定の遅延時間をもって信号を遅延する遅延要素と、この遅延要素の出力信号を反転して遅延要素の入力信号として伝達するループとを有するものを用いたものを提供する。 According to the present invention, in the above general-purpose logic circuit, as the synchronous clock generating means, a delay element that delays a signal with a fixed delay time, and an output signal of the delay element is inverted and transmitted as an input signal of the delay element. The thing using what has a loop is provided.
また本発明は、上記の汎用論理回路において、前記同期クロック発生手段として、前記遅延要素およびループを複数段重畳して構成されるものを用いたものを提供する。 The present invention also provides a general-purpose logic circuit using the above-mentioned general-purpose logic circuit configured by superimposing a plurality of stages of the delay elements and loops.
また本発明は、上記の汎用論理回路において、前記同期クロックの周波数を検出しこの周波数が所定範囲から外れたときに異常検出を前記停止手段に出力する周波数検出手段を前記プログラム可能な汎用論理回路部に備えたものを提供する。 According to the present invention, in the general-purpose logic circuits described above, wherein said detecting the frequency of the synchronizing clock abnormality detecting a frequency detecting means for outputting to said stop means can the programmable general-purpose logic circuit when the frequency is out of the predetermined range Provide the provisions for the department.
また本発明は、上記の汎用論理回路において、少なくとも初期状態において動作し前記第1および第2の乱数発生手段の初期化情報を生成して第1および第2の乱数発生手段に出力する初期化情報生成手段を前記プログラム可能な汎用論理回路部および補助回路部のいずれかに備えたものを提供する。 According to the present invention, in the above general-purpose logic circuit, initialization that operates at least in an initial state, generates initialization information of the first and second random number generation means, and outputs the initialization information to the first and second random number generation means Provided is one in which the information generation means is provided in either the programmable general-purpose logic circuit section or the auxiliary circuit section.
また本発明は、上記の汎用論理回路において、前記初期化情報生成手段として、初期状態における動作後も定期的に動作するものを用いたものを提供する。 According to the present invention, in the general-purpose logic circuits described above, as the initialization information generation unit, to provide what was used to operate periodically after the operation in the initial state.
この発明によれば、プログラム可能な汎用論理回路部側および補助回路部側にて等価なアルゴリズムをもって同期して乱数を発生し、この乱数が一致する場合に限り汎用論理回路の動作の継続を許容する。このような構成とすることにより、周期の長い乱数を発生する既存の手法を採用できるし、同期クロックを低速にすることも可能であるから、乱数が一回りするのに要する時間を十分に確保できる。このため、乱数の吸い上げ等に対して、多大な時間がかかるという困難性をもって対処できる利点がある。 According to the present invention, random numbers are generated synchronously with an equivalent algorithm on the programmable general-purpose logic circuit side and the auxiliary circuit side, and the operation of the general-purpose logic circuit is allowed to continue only when the random numbers match. To do. By adopting such a configuration, it is possible to adopt an existing method that generates random numbers with a long cycle, and it is also possible to slow down the synchronous clock, so sufficient time is required for the random numbers to go around once. it can. For this reason, there is an advantage that it is possible to deal with the difficulty that it takes a lot of time to take up random numbers.
また同期クロックを発生するにあたり、補助回路部の動作クロックの周波数とは異なる周波数を規定する要素を用いることにより、補助回路部がクロックアップされても乱数の発生が高速化することがなく、上記の困難性を維持できる利点がある。さらに、乱数発生回路に用いるクロックを低速にすることで、乱数生成アルゴリズムの解析とコピーを困難にすることができる利点がある In addition, when generating the synchronous clock, by using an element that defines a frequency different from the frequency of the operation clock of the auxiliary circuit unit, even if the auxiliary circuit unit is clocked up, the generation of random numbers is not accelerated. There is an advantage that can maintain the difficulty. Furthermore, there is an advantage that it is difficult to analyze and copy the random number generation algorithm by reducing the clock used for the random number generation circuit.
またプログラム可能な汎用論理回路部側において周波数検出手段を備え、同期クロックの周波数の異常を検出すると汎用論理回路の動作を強制停止することで、汎用論理回路側の乱数発生タイミングをクロックアップする企てにも対処できる利点がある。 In addition, the programmable general-purpose logic circuit section side is provided with a frequency detection means, and when an abnormality in the frequency of the synchronous clock is detected, the operation of the general-purpose logic circuit is forcibly stopped to increase the random number generation timing on the general-purpose logic circuit side. There is an advantage that can be dealt with.
またプログラム可能な汎用論理回路部側および補助回路部側の乱数発生手段を定期的に初期化することにより、それまで乱数が吸い上げられていたとしても、かかる乱数を無効化することができる利点がある。 In addition, by periodically initializing the random number generation means on the programmable general-purpose logic circuit side and auxiliary circuit side, it is possible to invalidate such random numbers even if the random numbers have been sucked up to that point. is there.
以下、図面を用いてこの発明の実施形態を説明する。
図1は、この発明の実施形態に係るFPGAの要部概略を示すブロック図である。同図に示すようにこの回路は、揮発性のFPGA1の外部回路としてFPGAプログラム(Configuration)回路2とセキュリティ回路3を備えている。クロックモジュール4は、高速クロックを発生してセキュリティ回路3に出力するものである。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing an outline of a main part of an FPGA according to an embodiment of the present invention. As shown in the figure, this circuit includes an FPGA program (Configuration)
FPGA1はSRAM等で構成される揮発性の回路であり、電源投入時、FPGAプログラム回路2から回路情報を読み込んで、内部に任意の論理回路を構築するものである。セキュリティ回路3は不揮発性のFPGAやLSI等で構成される回路である。不揮発性のFPGAとしてはEEPROM(Electrically Erasable Programmable Read Only Memory)タイプやアンチヒューズタイプ、フラッシュROM等を採用できる。なお、この実施形態において「FPGA」はCPLDを含むプログラム可能な汎用論理回路一般を意味するものとして使用する。
The
FPGA1やセキュリティ回路3には、この実施形態に係るセキュリティ機能を実現するための回路が構築されている。セキュリティ回路3には、クロック分周器31や乱数発生回路32が構築されている。クロック分周器31は、高速クロックを分周して低速クロックを発生するものであり、具体例を後で詳細に説明するが、高速クロックの周波数が高くなっても低速クロックの周波数は一定の範囲となるように構成されている。
In the
乱数発生回路32は、上記の低速クロックにより動作し、所定の手法により周期の長い乱数を発生させる回路である。ここではM系列による乱数を発生する手法を採用した例を示し、乱数発生回路32内にはM系列の乱数発生係数を格納するレジスタ33を有するものとする。この係数は、後述するようにFPGA1から与えられる。クロック分周器31が発生した低速クロックと、乱数発生回路32が発生した乱数はFPGA1に出力される。
The random
FPGA1には、周波数検出回路11や乱数発生回路12、比較器13、停止回路14が構築されている。周波数検出回路11は、低速クロックの周波数を検出して所定の周波数範囲を外れた場合、特に周波数が正常範囲以上に高くなった場合に異常検出を出力するものである。乱数発生回路12は、乱数発生回路32と等価なアルゴリズムをもって乱数を発生する回路であり、さらに乱数発生機能を利用してM系列の乱数発生係数を発生する機能が付加されている。発生した乱数発生係数は、乱数発生回路12自体のレジスタ15に格納される他、セキュリティ回路3に送信され、乱数発生回路32のレジスタ33にも格納される。
In the
比較器13は、乱数発生回路12,32がそれぞれ発生する乱数を突き合わせて一致・不一致を判定し、不一致の場合、異常検出を出力するものである。停止回路14は、周波数検出回路11または比較器13から異常検出を受けて動作し、FPGA1とセキュリティ回路3の動作を強制的に停止するものである。
The
次に、この回路の動作を説明する。図2は、図1の回路の動作の概略を示すフローチャートである。図1,2を用いて説明すると、電源投入時、FPGA1やセキュリティ回路3その他の回路が立ち上がり(S11,S31)、FPGA1には回路情報が読み込まれてコンフィグレーション(プログラミング)が行われる(S12)。コンフィグレーションが終了して回路情報に基づく所定の回路構成が構築されると、通常のFPGAと同様にその回路構成による演算動作を開始する。
Next, the operation of this circuit will be described. FIG. 2 is a flowchart showing an outline of the operation of the circuit of FIG. 1 and 2, when the power is turned on, the
このときこの実施形態に係るFPGA1は、上記の演算動作の他、FPGA1へのアクセスの正当性の判定動作も実行し、アクセスの正当性が認められなければ演算動作を停止する。セキュリティ回路3は、前述のように不揮発性のFPGA等で構成されているので回路情報のコピーは困難である。FPGA1の回路情報については、このようにしてFPGA1への不正なアクセスを阻止することによりコピーを困難とする。
At this time, the
アクセスの正当性は第1に、FPGA1側の乱数とセキュリティ回路3側の乱数が一致することで判定する。すなわち、初期状態において乱数発生回路12はM系列の乱数発生係数を発生し、自己のレジスタ15に格納(初期化)すると共にセキュリティ回路3に送信する(S13)。セキュリティ回路3において、受信した乱数発生係数は、乱数発生回路32のレジスタ33に格納(初期化)される。この後、乱数発生回路12,32は低速クロックに基づいて同期して乱数発生動作を開始し、同一の乱数発生係数を用いて乱数を発生する(S14,S33)。なお、乱数を発生する演算自体は高速クロックに基づいて動作する。高速クロックは、セキュリティ回路3の最高動作周波数を上回らない範囲で、なるべく高速な周波数に設定されている。
First, the validity of access is determined by the fact that the random number on the
乱数発生回路32が発生した乱数は、FPGA1に送信される。この後、FPGA1において比較器13は、乱数発生回路12が発生した乱数と、セキュリティ回路3から受信した乱数とを比較して一致していることを確認する(S15)。もしセキュリティ回路3から受信する乱数がFPGA1の内部で発生した乱数と一致しない場合は、異常検出として停止回路14が起動し、FPGA1とセキュリティ回路3の動作が強制停止することになる(S16)。
The random number generated by the random
上記の乱数発生動作は、クロック分周器31により分周された低速クロックに基づいて極めて低速な周波数をもって実行される。M系列の乱数発生の1周期における乱数の個数を十分に大きく設定すると共に、乱数発生動作の起動周期を十分長く設定することにより、乱数が1周りするのに要する期間がたとえば数ヶ月から1年といったスパンをとるように設定する形態をとることもできる。このことにより、仮にセキュリティ回路3が出力する乱数を吸い上げたとしても、1周期分の乱数を吸い上げるのに多大な時間を要する困難性が生じる。
The random number generation operation described above is executed at a very low frequency based on the low speed clock divided by the
また乱数発生係数の初期化処理を定期的に行って乱数発生係数を更新する形態をとることにより、吸い上げた乱数を無効化することもできる。この係数初期化処理の実行周期は、上記の乱数が1回りする回路動作時間を考慮して適宜設定すればよい。 In addition, the random number generated can be invalidated by periodically performing initialization processing of the random number generation coefficient to update the random number generation coefficient. The execution period of the coefficient initialization process may be set as appropriate in consideration of the circuit operation time during which the random number is rotated once.
また仮にセキュリティ回路3に入力される高速クロックの周波数をクロックアップして乱数の発生周期を短くしようと試みようとしても、高速クロック自体がセキュリティ回路3の最高動作周波数に近いものであるから、セキュリティ回路3の動作が高速化するマージンはあまりないし、さらにクロック分周器31において、動作周波数の上限を設定しておけば、出力する低速クロックは高速クロックをクロックアップしても高速にはならないので、乱数発生周期の高速化の試みは失敗に終わる。また、FPGA1に入力する低速クロックをクロックアップしても、周波数検出回路11がこれを検出して異常検出を出力し、この異常検出を受けて停止回路14が起動してFPGA1やセキュリティ回路3の動作が停止する。
Even if an attempt is made to shorten the random number generation cycle by increasing the frequency of the high-speed clock input to the security circuit 3, the high-speed clock itself is close to the maximum operating frequency of the security circuit 3. There is not much margin for speeding up the operation of the circuit 3, and if the upper limit of the operating frequency is set in the
ここで、クロック分周器の具体例について説明する。図3は、クロック分周器の基本構成を示すブロック図である。同図に示すように、このクロック分周器31は、フリップフロップ回路5と遅延要素6と加算要素7から構成される。フリップフロップ回路5は、n個のフリップフロップを構成する回路である。遅延要素6は、フリップフロップ出力Q1〜Qnをそれぞれ遅延するものであり、その遅延時間は高速クロックに依存せずに一定になるように設定されている。加算要素7は、遅延要素6の出力A1〜Anを入力とし、1を加算してS1〜Snとして出力するものであり、nビットのカウンタを構成する。この構成により2のn乗の分周率による分周出力を得ることができる。
Here, a specific example of the clock divider will be described. FIG. 3 is a block diagram showing the basic configuration of the clock divider. As shown in the figure, the
ここで説明の便宜上、n=2とした場合のクロック分周器の構成を説明する。図4は、クロック分周器の構成を示すブロック図である。同図に示すように、フリップフロップ回路51は2個のフリップフロップを構成する回路である。遅延回路61,62はそれぞれフリップフロップ回路51の出力Q1,Q2を遅延する回路である。加算回路71は、入力B1,A1を加算して出力S1とし、B1とA1を加算した時のキャリーとA2を加算して出力S2とするものであり、入力B1は「1」に固定され、入力A1,A2には遅延回路61,62の出力が加えられ、出力S1,S2はフリップフロップ回路51に入力D1,D2として加えられる。なお信号の論理については、「1」=「H」(ハイレベル)、「0」=「L」(ローレベル)に統一して説明を進める。
Here, for convenience of explanation, the configuration of the clock divider when n = 2 is described. FIG. 4 is a block diagram showing the configuration of the clock divider. As shown in the figure, the flip-
表1は加算回路71の演算内容を示す真理表である。
Table 1 is a truth table showing the calculation contents of the
この加算回路71の演算内容をみると、表1から判るように、出力S1は入力A1の否定をとったものとなっており、出力S2は入力A1,A2のEOR(排他的論理和)をとったものとなっている。したがって、このような論理を有する組み合わせ回路を構成して加算回路71と置き換える形態をとっても構わない。
As can be seen from the calculation contents of the
次にこのクロック分周器の動作を説明する。図5は、図4のクロック分周器の各部の信号を示すタイムチャートである。同図において矢印は遅延回路による信号の遅延(ここではクロックの周期より若干短い遅延時間を例示)を示す。 Next, the operation of this clock divider will be described. FIG. 5 is a time chart showing signals at various parts of the clock divider shown in FIG. In the figure, an arrow indicates a signal delay by a delay circuit (here, a delay time slightly shorter than the clock cycle is illustrated).
図5に示すように、1段目のフリップフロップにおいて、出力Q1を遅延させた信号A1に反転を加えた信号を入力D1として帰還することにより、クロックを1/2に分周したパルスを生成する。また2段目のフリップフロップにおいて、出力Q2を遅延させた信号を入力A2に帰還し、この帰還信号を入力A1(1/2分周パルス)とBを加算したキャリーとを加算することにより、さらに1/2に分周したパルスを生成する。出力Q2を分周出力とすることにより1/4分周クロックを出力することができる。 As shown in FIG. 5, in the flip-flop in the first stage, a signal obtained by inverting the signal A1 obtained by delaying the output Q1 is fed back as an input D1, thereby generating a pulse obtained by dividing the clock by 1/2. To do. In the second stage flip-flop, a signal obtained by delaying the output Q2 is fed back to the input A2, and the feedback signal is added to the input A1 (1/2 frequency-divided pulse) and the carry obtained by adding B. Further, a pulse divided by ½ is generated. A 1/4 frequency-divided clock can be output by using the output Q2 as a frequency-divided output.
上記の説明から明らかなように、このクロック分周器の分周率は基本的に遅延回路の遅延時間に依存する。ここでは説明の便宜上、クロック周波数より若干短い遅延時間を例示したが、通常の動作時に分周が可能な範囲でなるべく大きな遅延時間に設定する形態が望ましい。 As apparent from the above description, the division ratio of the clock divider basically depends on the delay time of the delay circuit. Here, for convenience of explanation, a delay time slightly shorter than the clock frequency is illustrated, but a mode in which the delay time is set as large as possible within a range in which frequency division is possible during normal operation is desirable.
ここで、図4のクロック分周器に約2倍の周波数のクロックが入力されたときの動作を説明する。図6は、図4のクロック分周器に倍の周波数のクロックが入力されたときの各部の信号を示すタイムチャートである。 Here, the operation when a clock having about twice the frequency is input to the clock divider of FIG. 4 will be described. FIG. 6 is a time chart showing signals at various parts when a clock having a double frequency is input to the clock divider shown in FIG.
図6に示すように、フリップフロップ51の出力Q1,Q2に現れるパルスの周期は遅延回路の遅延時間に依存して決定されるので、クロック周波数が倍になっても分周出力の周波数はほとんど影響を受けない。分周出力Q2は、図5の例と比較すると同一の周波数であることが判る。
As shown in FIG. 6, since the period of the pulse appearing at the outputs Q1 and Q2 of the flip-
以上、この発明の実施形態を詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の種々の設計等も含まれる。 The embodiment of the present invention has been described in detail above, but the specific configuration is not limited to this embodiment, and includes various designs and the like within the scope not departing from the gist of the present invention.
1…FPGA 2…FPGAプログラム回路 3…セキュリティ回路 4…クロックモジュール 31…クロック分周器 32…乱数発生回路 33…レジスタ 11…周波数検出回路 12…乱数発生回路 13…比較器 14…停止回路 15…レジスタ 5…フリップフロップ回路 6…遅延要素 7…加算要素 51…フリップフロップ回路 61,62…遅延回路 71…加算回路
DESCRIPTION OF
Claims (6)
前記補助回路部は、同期クロックを発生する同期クロック発生手段と、この同期クロックに基づいてタイミングを決定して動作し第1の乱数を発生する第1の乱数発生手段とを備え、
前記プログラム可能な汎用論理回路部は、前記同期クロックに基づいてタイミングを決定して動作し前記第1の乱数発生手段と等価なアルゴリズムをもって第2の乱数を発生する第2の乱数発生手段と、第1および第2の乱数が一致するか判定し一致しない場合に異常検出を出力する比較手段と、この異常検出を受けて動作し前記プログラム可能な汎用論理回路部の動作を強制的に停止する停止手段とを備え、
前記同期クロック発生手段は、前記補助回路部の動作クロックの周波数とは異なる周波数を規定する要素を内部に有し、前記同期クロックを前記動作クロックの周波数より低い周波数とするものである
ことを特徴とする汎用論理回路。 A general-purpose logic circuit configured by a volatile programmable general-purpose logic circuit section that reads circuit information and builds a logic circuit therein, and a nonvolatile auxiliary circuit section,
The auxiliary circuit unit includes a synchronous clock generating unit that generates a synchronous clock, and a first random number generating unit that determines a timing based on the synchronous clock and operates to generate a first random number,
The programmable general-purpose logic circuit unit operates by determining timing based on the synchronous clock, and generates a second random number with an algorithm equivalent to the first random number generating unit; Comparing means for determining whether the first and second random numbers match and outputting an abnormality detection when they do not match, and operating upon receiving the abnormality detection, forcibly stops the operation of the programmable general-purpose logic circuit unit A stopping means ,
The synchronous clock generating means includes an element that defines a frequency different from the frequency of the operation clock of the auxiliary circuit unit, and the synchronous clock is set to a frequency lower than the frequency of the operation clock. General-purpose logic circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006079012A JP4586755B2 (en) | 2006-03-22 | 2006-03-22 | General-purpose logic circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006079012A JP4586755B2 (en) | 2006-03-22 | 2006-03-22 | General-purpose logic circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007257166A JP2007257166A (en) | 2007-10-04 |
JP4586755B2 true JP4586755B2 (en) | 2010-11-24 |
Family
ID=38631380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006079012A Expired - Fee Related JP4586755B2 (en) | 2006-03-22 | 2006-03-22 | General-purpose logic circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4586755B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009144534A1 (en) * | 2008-05-26 | 2009-12-03 | Nxp B.V. | Decoupling of measuring the response time of a transponder and its authentication |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001325153A (en) * | 2000-05-15 | 2001-11-22 | Toyo Commun Equip Co Ltd | Circuit information protecting method for field programmable gate array |
JP2003084853A (en) * | 2001-05-08 | 2003-03-19 | Guzik Technical Enterp Inc | Method and system for preventing copy of programmable gate array |
JP2004185134A (en) * | 2002-11-29 | 2004-07-02 | Matsushita Electric Ind Co Ltd | Storage device |
-
2006
- 2006-03-22 JP JP2006079012A patent/JP4586755B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001325153A (en) * | 2000-05-15 | 2001-11-22 | Toyo Commun Equip Co Ltd | Circuit information protecting method for field programmable gate array |
JP2003084853A (en) * | 2001-05-08 | 2003-03-19 | Guzik Technical Enterp Inc | Method and system for preventing copy of programmable gate array |
JP2004185134A (en) * | 2002-11-29 | 2004-07-02 | Matsushita Electric Ind Co Ltd | Storage device |
Also Published As
Publication number | Publication date |
---|---|
JP2007257166A (en) | 2007-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11880468B2 (en) | Autonomous, self-authenticating and self-contained secure boot-up system and methods | |
JP5881715B2 (en) | Physically non-replicatable function with improved starting behavior | |
JP6182371B2 (en) | System including semiconductor integrated circuit | |
US9866370B2 (en) | Configurable ASIC-embedded cryptographic processing engine | |
US20150188707A1 (en) | Method for safeguarding a system-on-a-chip | |
US8861725B2 (en) | Random bit stream generator with enhanced backward secrecy | |
US20080201592A1 (en) | Hibernating a processing apparatus for processing secure data | |
US9722805B2 (en) | Integrated security device and signal processing method used for an integrated security device | |
US10771062B1 (en) | Systems and methods for enhancing confidentiality via logic gate encryption | |
US7913316B2 (en) | Semiconductor integrated circuit and method for testing semiconductor integrated circuit | |
US20130275817A1 (en) | Register protected against fault attacks | |
Kumar et al. | Itus: A secure risc-v system-on-chip | |
EP3912119A1 (en) | Dynamic transform in blockchain header validation | |
JP4586755B2 (en) | General-purpose logic circuit | |
CN111130754B (en) | Encryption and decryption circuit of scan chain and integrated circuit | |
US20110154062A1 (en) | Protection of electronic systems from unauthorized access and hardware piracy | |
EP3046024B1 (en) | Method of operating a system on chip comprising a bootable processor | |
Docherty et al. | Hardware implementation of sha-1 and sha-2 hash functions | |
Suresh et al. | Spic-sram puf intergrated chip based software licensing model | |
US11463074B2 (en) | Storage element with clock gating | |
US9003520B2 (en) | Securing a storage element for a binary datum, control register and chip card | |
Li et al. | Enhancing tpm security by integrating sram pufs technology | |
US8365006B2 (en) | Preventing circumvention of function disablement in an information handling system | |
EP4350478A1 (en) | Capturing of on-chip resets in an integrated circuit | |
JP2004233104A (en) | Integrated circuit with test function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100518 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100720 |
|
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: 20100810 |
|
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: 20100823 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130917 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |