(57)【特許請求の範囲】
【請求項１】
メッシュブロックにおける第１および第２の数のジェネレータをそれぞれ使用して第１および第２の数を生成する段階と、
前記メッシュブロックから出力信号を生成するために前記第１の数を前記第２の数と前記メッシュブロックにおけるコンパレータによって比較する段階と、を備える方法であって、
前記出力信号は、前記メッシュブロック上での不正行為の発生を示し、
前記第１および第２の数は、第１および第２の疑似乱数であり、前記第１および第２の数のジェネレータは、それぞれ、第１および第２の疑似乱数のジェネレータ（ＰＲＮＧ）であり、
前記方法が、
第１の複数のメッシュワイヤを通じて前記第１の疑似乱数を示す第１の複数の疑似ランダム信号をメッシュバッファに送信する段階と、
前記メッシュバッファを使用して前記第１の複数の疑似ランダム信号を複数の修正信号に変換する段階と、
をさらに備え、
前記第１の複数の疑似ランダム信号を前記複数の修正信号に変換する段階は、前記複数の修正信号を生成するために前記第１の複数の疑似ランダム信号を、再配列し反転する段階を含む、方法。
【請求項２】
前記第１および第２の数は、第１および第２の疑似乱数であり、それぞれ第１および第２の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用して生成される、請求項１に記載の方法。
【請求項３】
前記第１の疑似乱数を前記第２の疑似乱数と比較する段階は、
第１の複数の入力信号を生成するために、コンパレータブロック内で前記複数の修正信号を反転する段階であり、前記第１の複数の入力信号は、それぞれ、前記第１の複数の疑似ランダム信号のそれらに対応する複数の論理値を有する、段階と、
前記第１の複数の入力信号を、前記第２の疑似乱数を示す第２のＰＲＮＧからの第２の複数の入力信号と比較する段階と、
を含む、請求項１または２に記載の方法。
【請求項４】
前記第１の疑似乱数を前記第２の疑似乱数と比較する段階は、前記第１の複数の入力信号を前記第２の複数の入力信号と並行して比較する段階をさらに含む、請求項３に記載の方法。
【請求項５】
前記メッシュバッファから延びる第２の複数のメッシュワイヤのうちの第１のメッシュワイヤを介して前記メッシュバッファから前記複数の修正信号のうちの第１の修正信号を出力する段階と、
前記第２の複数のメッシュワイヤのうちの第２のメッシュワイヤを介して前記メッシュバッファから前記複数の修正信号のうちの第２の修正信号を出力する段階と、
をさらに備える、請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記メッシュブロックは、第１のメッシュブロックであり、前記出力信号は、第１の出力信号であり、
第２のメッシュブロック内でそれぞれ第３および第４のＰＲＮＧを使用して第３および第４の疑似乱数を生成する段階と、
前記第２のメッシュブロックから第２の出力信号を生成するために前記第３の疑似乱数を前記第４の疑似乱数と比較する段階であり、前記第２の出力信号は、前記第２のメッシュブロック上での不正行為の発生を示す、段階と、
クロック改ざん検出器内で前記第１および第２の出力信号のＯＲ演算を実行する段階であり、前記クロック改ざん検出器は、クロック改ざん検出信号を生成する、段階と、
をさらに備える、請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記第１のメッシュブロック、前記第２のメッシュブロックおよび前記クロック改ざん検出器へクロック信号を与える段階と、
前記クロック改ざん検出信号を第１の時間にて論理値に設定する段階と、
前記クロック改ざん検出信号を、前記第１の時間の後の第２の時間にて前記ＯＲ演算の結果に設定する段階であり、前記第２の時間は、前記クロック改ざん検出器により受信されるクロック信号の立ち上がりエッジに対応する、段階と、
をさらに備える、請求項６に記載の方法。
【請求項８】
メッシュブロックと、
第１の数を生成する第１の数のジェネレータと、
第２の数を生成する第２の数のジェネレータと、
前記第１の数を前記第２の数と比較して、前記メッシュブロックから出力信号を生成するコンパレータブロックであり、前記出力信号は、前記メッシュブロック上での不正行為の発生を示す、コンパレータブロックと、を備える装置であって、
前記第１の数のジェネレータ、前記第２の数のジェネレータ、および前記コンパレータブロックは、前記メッシュブロック内に設けられ、
前記第１および第２の数は、それぞれ第１および第２の疑似乱数であり、前記第１および第２の数のジェネレータは、それぞれ第１および第２の疑似乱数のジェネレータ（ＰＲＮＧ）であり、
前記装置が、
前記第１の疑似乱数を示す第１の複数の疑似ランダム信号を送信する第１の複数のメッシュワイヤと、
前記第１の複数の疑似ランダム信号を複数の修正信号に変換するメッシュバッファと、
前記複数の修正信号を前記コンパレータブロックに送信する第２の複数のメッシュワイヤと、
をさらに備え、
前記メッシュバッファは、前記複数の修正信号を生成する前記第１の複数の疑似ランダム信号を再配列し反転する複数のインバータを含む、装置。
【請求項９】
前記第１および第２の数は、第１および第２の疑似乱数であり、それぞれ第１および第２の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用して生成され、
前記第２の数のジェネレータは、前記コンパレータブロック内にある、請求項８に記載の装置。
【請求項１０】
前記第１および第２の複数のメッシュワイヤの中の２つの隣接するワイヤは、互いから０．４μｍ離間する、請求項８または９に記載の装置。
【請求項１１】
前記コンパレータブロックは、
第１の複数の入力信号を生成するために前記複数の修正信号を反転する反転ブロックであり、前記第１の複数の入力信号は、それぞれ前記第１の複数の疑似ランダム信号のそれらに対応する複数の論理値を有する、反転ブロックと、
前記反転ブロックからの前記第１の複数の入力信号を前記第２の疑似乱数を示す第２の複数の入力信号と比較するコンパレータと、
を含む、請求項８から１０のいずれか１項に記載の装置。
【請求項１２】
前記コンパレータは、複数のセルを有する反復ネットワークを含み、各セルは、前記第１の複数の入力信号の中の第１の入力信号および前記第２の複数の入力信号の中の第２の入力信号を受信し、前記第１および第２の入力信号は、一対の対応する二進数を示す、請求項１１に記載の装置。
【請求項１３】
前記メッシュバッファは、前記複数の修正信号のうちの第１の修正信号を前記第２の複数のメッシュワイヤのうちの第１のメッシュワイヤを介して出力し、前記複数の修正信号のうちの第２の修正信号を前記第２の複数のメッシュワイヤのうちの第２のメッシュワイヤを介して出力する、請求項８から１２のいずれか１項に記載の装置。
【請求項１４】
前記メッシュブロックは、第１のメッシュブロックであり、前記出力信号は、第１の出力信号であり、
第２の出力信号を生成する第２のメッシュブロックであり、前記第２の出力信号は、前記第２のメッシュブロック上での不正行為が検出されるかどうかを示す、第２のメッシュブロックと、
前記第１および第２の出力信号のＯＲ演算を実行し、クロック改ざん検出信号を生成するクロック改ざん検出器と、
をさらに備える、請求項８から１３のいずれか１項に記載の装置。
【請求項１５】
前記第１のメッシュブロック、前記第２のメッシュブロックおよび前記クロック改ざん検出器に結合され、前記第１のメッシュブロック、前記第２のメッシュブロックおよび前記クロック改ざん検出器にクロック信号を与えるクロックジェネレータを更に備え、
前記クロック改ざん検出器は、前記クロック改ざん検出信号を第１の時間にて論理値に設定し、
前記クロック改ざん検出器は、前記クロック改ざん検出信号を、前記第１の時間の後の第２の時間にて前記ＯＲ演算の結果に設定し、前記第２の時間は、前記クロック改ざん検出器により受信される前記クロック信号の立ち上がりエッジに対応する、
請求項１４に記載の装置。
【請求項１６】
メッシュブロックにおける第１および第２の数のジェネレータをそれぞれ使用して第１および第２の数を生成する段階と、
前記メッシュブロックから出力信号を生成するために前記第１の数を前記第２の数と前記メッシュブロックにおけるコンパレータによって比較する段階と、を備える方法であって、
前記出力信号は、前記メッシュブロック上での不正行為の発生を示し、
前記メッシュブロックは、第１のメッシュブロックであり、前記出力信号は、第１の出力信号であり、
前記方法が、
第２のメッシュブロック内でそれぞれ第３および第４のＰＲＮＧを使用して第３および第４の疑似乱数を生成する段階と、
前記第２のメッシュブロックから第２の出力信号を生成するために前記第３の疑似乱数を前記第４の疑似乱数と比較する段階であり、前記第２の出力信号は、前記第２のメッシュブロック上での不正行為の発生を示す、段階と、
クロック改ざん検出器内で前記第１および第２の出力信号のＯＲ演算を実行する段階であり、前記クロック改ざん検出器は、クロック改ざん検出信号を生成する、段階と、
前記第１のメッシュブロック、前記第２のメッシュブロックおよび前記クロック改ざん検出器へクロック信号を与える段階と、
前記クロック改ざん検出信号を第１の時間にて論理値に設定する段階と、
前記クロック改ざん検出信号を、前記第１の時間の後の第２の時間にて前記ＯＲ演算の結果に設定する段階であり、前記第２の時間は、前記クロック改ざん検出器により受信されるクロック信号の立ち上がりエッジに対応する、段階と、
をさらに備える、方法。
【請求項１７】
メッシュブロックと、
第１の数を生成する第１の数のジェネレータと、
第２の数を生成する第２の数のジェネレータと、
前記第１の数を前記第２の数と比較して、前記メッシュブロックから出力信号を生成するコンパレータブロックであり、前記出力信号は、前記メッシュブロック上での不正行為の発生を示す、コンパレータブロックと、を備える装置であって、
前記第１の数のジェネレータ、前記第２の数のジェネレータ、および前記コンパレータブロックは、前記メッシュブロック内に設けられ、
前記メッシュブロックは、第１のメッシュブロックであり、前記出力信号は、第１の出力信号であり、
前記装置が、
第２の出力信号を生成する第２のメッシュブロックであり、前記第２の出力信号は、前記第２のメッシュブロック上での不正行為が検出されるかどうかを示す、第２のメッシュブロックと、
前記第１および第２の出力信号のＯＲ演算を実行し、クロック改ざん検出信号を生成するクロック改ざん検出器と、
前記第１のメッシュブロック、前記第２のメッシュブロックおよび前記クロック改ざん検出器に結合され、前記第１のメッシュブロック、前記第２のメッシュブロックおよび前記クロック改ざん検出器にクロック信号を与えるクロックジェネレータと、
を更に備え、
前記クロック改ざん検出器は、前記クロック改ざん検出信号を第１の時間にて論理値に設定し、
前記クロック改ざん検出器は、前記クロック改ざん検出信号を、前記第１の時間の後の第２の時間にて前記ＯＲ演算の結果に設定し、前記第２の時間は、前記クロック改ざん検出器により受信される前記クロック信号の立ち上がりエッジに対応する、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
この本開示は、参照によりここにその全体が取り込まれる２０１３年３月１日に出願された「ＤＵＡＬ  ＰＳＥＵＤＯ−ＲＡＮＤＯＭ  ＢＩＴＳ  ＧＥＮＥＲＡＴＯＲ−ＢＡＳＥＤ  ＡＣＴＩＶＥ  ＭＥＳＨ  ＷＩＲＥ  ＡＮＴＩ−ＴＡＭＰＥＲ  ＳＹＳＴＥＭ  ＦＯＲ  ＩＮＴＥＧＲＡＴＥＤ  ＣＩＲＣＵＩＴＳ」と題された米国仮出願６１／７７１，５１１の利益を要求する。
【背景技術】
【０００２】
ここに設けられる背景技術の説明は、開示の内容を総体的に提示することを目的とするものである。目下名が挙げられた発明者の発明がその範囲内でこの背景技術の章に記述されるが、そうでなければ出願時における従来技術とみなしてよくない説明の態様は、明示的にも暗示的にも本開示に対する従来技術として認められない。
【０００３】
改ざん防止（ＡＴ）システムは、コンピュータプロセッサ、集積回路（ＩＣ）、およびマルチチップモジュールのような電子機器の機能を逆行分析することまたは改変することに対する防護を提供することを目的とする。ＡＴシステムは、受動的または能動的ＡＴシステムのいずれかに分類されることができる。例えば、受動的ＡＴシステムは、集積回路の重要な部分の上に配される絶縁保護コーティングおよび／またはメッシュワイヤを含み、それにより、重要な部分は、コーティングおよび／またはメッシュワイヤを除去しないで視認されることはできない。メッシュワイヤを使用する受動的ＡＴシステムでは、電気信号はメッシュワイヤを通じて送信されない。他方、能動的ＡＴシステムは、複数の不正行為が検出されると、防護措置を取る。メッシュワイヤを含む能動的ＡＴシステムでは、電気信号は、防護措置をトリガする複数の不正行為を検出するために、メッシュワイヤを通じて送信されてよい。
【発明の概要】
【０００４】
実施形態において、装置は、メッシュブロック、第１の数を生成するよう構成される第１の数のジェネレータ、第２の数を生成するよう構成される第２の数のジェネレータ、および第１の数を第２の数と比較して、メッシュブロックから出力信号を生成するよう構成されるコンパレータブロックを含む。出力信号は、メッシュブロック上での不正行為の発生を示す。
【０００５】
実施形態において、方法は、メッシュブロックにおける第１および第２の数のジェネレータをそれぞれ使用して第１および第２の数を生成する段階、およびメッシュブロックから出力信号を生成するために第１の数を第２の数と比較する段階を含む。出力信号は、メッシュブロック上での不正行為の発生を示す。
【図面の簡単な説明】
【０００６】
例として提案されるこの開示の様々な実施形態は、次の図面を参照して詳細に記述されるであろう。ここで、同じ符号は、同じ要素を参照する。
【０００７】
【図１】改ざん防止（ＡＴ）システムおよびコントローラを含む集積回路（ＩＣ）の一部のブロック図である。
【０００８】
【図２】実施形態に係るＡＴシステムの図である。
【０００９】
【図３Ａ】実施形態に係る、図２のＡＴシステムに含まれるクロック改ざん検出器の回路図である。
【００１０】
【図３Ｂ】図３Ａの回路の動作に関連する波形を示す。
【図３Ｃ】図３Ａの回路の動作に関連する波形を示す。
【００１１】
【図４Ａ】実施形態に係るメッシュブロックを示す。
【００１２】
【図４Ｂ】実施形態に係る、図４Ａのメッシュブロックに含まれるメッシュバッファの一部を示す。
【００１３】
【図４Ｃ】実施形態に係る、図４Ａのメッシュブロックに含まれる反転ブロックの一部を示す。
【００１４】
【図４Ｄ】実施形態に係る、図４Ａのメッシュブロックに含まれる疑似乱数を生成するための第１回路の図である。
【００１５】
【図４Ｅ】実施形態に係る、図４Ａのメッシュブロックに含まれる疑似乱数を生成するための第２回路の図である。
【００１６】
【図５】実施形態に係る、図４Ａのメッシュブロックの一部を含む複数の層を示す断面図である。
【００１７】
【図６】実施形態に係るＡＴシステムのアラーム信号を生成するための方法の流れ図である。
【００１８】
【図７】実施形態に係るＡＴシステムのアラーム信号を生成するための方法の流れ図である。
【発明を実施するための形態】
【００１９】
図１は、改ざん防止（ＡＴ）システム１―１１０およびコントローラ１５０を含む集積回路（ＩＣ）の部分１００のブロック図である。ＡＴシステム１−１１０が複数の不正行為を検出すると、ＡＴシステム１−１１０は、防護措置を取るために、１または複数のビットを含むアラーム信号１−１３０をコントローラ１５０に与える。例えば、これらの不正行為は、ＩＣの機能を逆行分析または改変するために、ＡＴシステム１−１１０の一部をエッチングすること、ＡＴシステム１−１１０の複数のメッシュワイヤをバイパスすること、およびＡＴシステム１−１１０内の複数のクロック信号をディスエーブルすることのうちの１または複数を含む。
【００２０】
コントローラ１５０は、複数の防護措置を取るために、アラーム信号１−１３０に応じてＩＣの複数の回路素子を制御する。複数の防護措置は、ＩＣチップの複数の機能のうちの幾つかをディスエーブルすること、ＩＣチップのメモリ素子内の複数のメモリセルのうちの幾つかまたはすべてを上書きまたは消去すること、またはＩＣチップの重要な素子を物理的に損傷または取り除くことのうち１または複数を含んでよい。
【００２１】
図２は、実施形態に係るＡＴシステム２−１１０の図である。ＡＴシステム２−１１０は、複数のメッシュブロック２１０−１〜２１０−ｎ、クロック改ざん検出器２２０、およびクロックジェネレータ２６０を含む。
【００２２】
複数のメッシュブロック２１０−１〜２１０−ｎは、複数のブロック出力信号２３０−１〜２３０−ｎを生成し、それぞれは対応するメッシュブロックが複数の不正行為を検出するかどうかを示す。例えば、メッシュブロック２１０−１〜２１０−ｎの１つの一部がエッチングされて、メッシュブロックのエッチング部分の下にあるＩＣチップの重要部を露出すると、メッシュブロックは、高い論理値（例えば「１」）のような第１の論理値を有する対応するブロック出力信号を生成する、そうでなければ、メッシュブロックは、低い論理値（例えば「０」）のような第２の論理値を生成する。
【００２３】
クロックジェネレータ２６０は、複数のメッシュブロック２１０−１〜２１０−ｎに、またクロック改ざん検出器２−２２０に結合される。クロックジェネレータ２６０は、クロック信号を、複数のメッシュブロック２１０−１〜２１０−ｎおよびクロック改ざん検出器２−２２０に、複数のクロックワイヤ２６５−１〜２６５−（ｎ＋１）を通じて与える。クロック信号に応じて、複数のメッシュブロック２１０−１〜２１０−ｎは、複数の論理演算を実行してよい。
【００２４】
複数のブロック出力信号２３０−１〜２３０−ｎは、クロック改ざん検出信号２−２３２とともに（ｎ＋１）ビットのアラーム信号２−１３０にグループ化される。クロック改ざん検出信号２−２３２は、クロック改ざん検出器２−２２０により生成され、リセット時に１の論理値をとり、値は、１クロックサイクル後の複数のブロック出力信号２３０−１〜２３０−ｎの論理ＯＲに等しいと仮定する。結果として、クロック信号を切り取ることにより、複数の能動的メッシュブロック２１０−１〜２１０−ｎのうちの１つを非アクティブ化することを試みることは、アラーム信号２−１３０のうちのクロック改ざん検出信号２−２３２に、アラームを伝達する論理１にてスタックにならせる。
【００２５】
図３Ａは、実施形態に係る、図２のクロック改ざん検出器２−２２０として使用するのに好適なクロック改ざん検出器３−２２０の回路図である。クロック改ざん検出器３−２２０は、ｎの入力ＯＲゲート３０４およびラッチ３０８を備える。
【００２６】
図２のブロック出力信号２３０−１〜２３０−ｎに対応する複数のアラーム信号、アラーム１〜アラームｎは、それぞれ、ｎビットＯＲゲート３０４の入力に接続する。クロックワイヤ２６５−（ｎ＋１）上の信号に対応するクロック信号ＣＬＫは、ラッチ３０８のクロック入力に接続される。リセット信号ＲＥＳＥＴは、ラッチ３０８のセット入力に接続される。ラッチの出力は、図２のクロック改ざん検出信号２−２３２に対応するアラーム−（ｎ＋１）信号に接続される。クロック改ざん検出器３−２２０の動作は、図３Ｂおよび図３Ｃを参照して説明されるであろう。
【００２７】
図３Ｂおよび図３Ｃは、図３Ａのクロック改ざん検出器３−２２０に関係付けられる複数の波形を示す。図３Ｂおよび図３Ｃは、図３Ａのアラーム−１からアラーム−ｎ信号、アラーム−（ｎ＋１）信号、リセット信号ＲＥＳＥＴ、およびクロック信号ＣＬＫの波形を示す。
【００２８】
図３Ｂは、クロック信号ＣＬＫが動作しているときのクロック改ざん検出器３−２２０の動作を示す。第１の時間ｔ１にて、リセット信号ＲＥＳＥＴがアサートされ、これはラッチ３０８を設定し、従って、エッジ３２１により示されるように、アラーム−（ｎ＋１）信号に高い論理値（例えば「１」）を持たせる。実施形態において、第１の時間ｔ１は、クロック信号ＣＬＫのそれから異なる期間を有する別のクロック信号のエッジに対応する。不正行為が複数のメッシュブロック２１０−１〜２１０−ｎ（図２参照）により検出されないと、アラーム−１からアラーム−ｎ信号は、第１の時間ｔ１にて低い論理値（例えば「０」）を有する。
【００２９】
第１の時間ｔ１の後のクロック信号ＣＬＫの立ち上がりエッジ３１２に対応する第２の時間ｔ２にて、ラッチ３０８はクロックされ、結果として、アラーム−（ｎ＋１）信号はアラーム−１からアラーム−ｎ信号の論理ＯＲに対応する値を有する。アラーム−１からアラーム−ｎ信号はすべて第２の時間ｔ２にて低い論理値を有するので、アラーム−（ｎ＋１）は低い論理値を有するように変更され、それに応じてアラームは伝達されない。
【００３０】
図３Ｃは、クロック信号ＣＬＫが、図２のクロックワイヤ２６５−１〜２６５−（ｎ＋１）を切り取ることのような複数の不正行為によりディスエーブルされたときのクロック改ざん検出器３−２２０の動作を示す。結果として、クロック改ざん検出器３−２２０は、アラーム−１からアラーム−ｎ信号の論理ＯＲ演算に係る出力を生成しない。
【００３１】
図３Ｃを参照すると、図３Ｂの第１の時間ｔ１に対応する第３の時間ｔ３にて、リセット信号ＲＥＳＥＴがアサートされてラッチ３０８を設定し、これにより、エッジ３４１により示されるように、アラーム−（ｎ＋１）信号に高い論理値（例えば「１」）を持たせる。不正行為が複数のメッシュブロック２１０−１〜２１０−ｎ（図２参照）により検出されないと、アラーム−１からアラーム−ｎ信号は、第３の時間ｔ３にて低い論理値（例えば「０」）を有する。
【００３２】
図３Ｂの第２の時間ｔ２に対応する第４の時間ｔ４にて、クロック信号３１０は非アクティブ化されているので、ラッチ３０８はクロックされず、従って、アラーム−（ｎ＋１）信号は、アラーム−１からアラーム−ｎ信号の論理ＯＲ演算に対応する値を有さない。結果として、アラーム−（ｎ＋１）信号は、第４の時間ｔ４にておよびその後、高い論理値を有し続ける。
【００３３】
図２のクロック改ざん検出信号２３２に対応する少なくともアラーム−（ｎ＋１）信号は、高い論理値を持ち続けるので、図２のアラーム信号２−１３０は、高い論理値を有する少なくとも１つのビットを含み、コントローラ１５０（図１参照）をイネーブルして複数の防護措置をトリガしてよい。従って、クロック信号ＣＬＫを非アクティブ化することによりＡＴシステム２−１１０をディスエーブルする試みは、アラーム−（ｎ＋１）信号を使用して無効にされてよい。
【００３４】
図４Ａは、実施形態に係る図２に示されるｉ番目のメッシュブロック２１０−ｉに対応するメッシュブロック４−２１０を示す。メッシュブロック４−２１０は、第１の疑似乱数ジェネレータ（ＰＲＮＧ）４−４１０、第１の複数のメッシュワイヤ４１１−１〜４１１−３２、メッシュバッファ４−４２０、第２の複数のメッシュワイヤ４１２−１〜４１２−３２、および第２のＰＲＮＧ４−４５０およびコンパレータ４−４７０を有するコンパレータブロック４−４６０を含む。
【００３５】
第１のＰＲＮＧ４−４１０は、コンパレータブロック４−４６０から離れてメッシュブロック４−２１０の一部にまたはその下に配置され、Ｘ＝ｘ１，ｘ２，…，ｘｎである第１のｎビットの数Ｘを生成する。実施形態において、第１のＰＲＮＧ４−４１０は、初期値（またはシード）およびフィードバック関数を使用して疑似乱数を生成する線形フィードバックシフトレジスタ（ＬＦＳＲ）を含む。実施形態において、フィードバック関数は、複数の排他的ＯＲ（ＸＯＲ）ゲートを含むフィードバックネットワークを使用して実装される。別の実施形態において、フィードバック関数は、フィードバックベクトルレジスタにロードされるフィードバックベクトルを使用して特定されてよく、フィードバックベクトルレジスタ内の各ビットは、フィードバックネットワーク内のＸＯＲゲートをイネーブルまたはディスエーブルする。第１のＰＲＮＧ４−４１０は、フィボナッチＬＦＳＲまたはガロアＬＦＳＲを含んでよい。
【００３６】
第１の３２ビットの数Ｘの複数の二進数ｘ１，ｘ２，…，ｘ３２を示す複数の第１のランダム信号（または複数の第１疑似ランダム信号）４１３−１〜４１３−３２は、それぞれ第１の複数のメッシュワイヤ４１１−１〜４１１−３２を通じて並行して送信される。例えば、第１の二進数ｘ１を示す第１の信号４１３−１は、第１のメッシュワイヤ４１１−１を通じて送信され、第２の二進数ｘ２を示す第２の信号４１３−２は、第２のメッシュワイヤ４１１−２等を通じて送信される。
【００３７】
第１の複数のメッシュワイヤ４１１−１〜４１１−３２は、第１のＰＲＮＧ４−４１０をメッシュバッファ４−４２０に接続する。実施形態において、第１の複数のメッシュワイヤ４１１−１〜４１１−３２のうちの隣接するメッシュワイヤは狭く離間され、それにより、メッシュワイヤ４１１−１〜４１１−３２の下にあるＩＣチップの重要な部分を逆行分析するための複数の不正行為（例えば、メッシュワイヤ４１１−１を４１１−３２にエッチングまたはバイパスすること）は難しくなる。例えば、２つの隣接するメッシュワイヤは、約０．４μｍの距離ｄだけ離間されてよい。
【００３８】
メッシュバッファ４−４２０は、二進数ｘ１，ｘ２，…，ｘ３２に対応する複数の第１ランダム信号４１３−１〜４１３−３２を第１の複数のメッシュワイヤ４１１−１〜４１１−３２を通じて受信し、修正された二進数ｘ１'，ｘ２'，…，ｘ'３２に対応する複数の修正信号４１４−１〜４１４−３２を第２の複数のメッシュワイヤ４１２−１〜４１２−３２を通じて出力する。実施形態において、図４Ｂを参照して以下でより詳細に説明されるように、メッシュバッファ４−４２０は、受信した複数のランダム信号４１３−１〜４１３−３２を反転して増幅し、また受信した複数のランダム信号４１３−１〜４１３−３２の複数の信号経路をジャンブルする。ここに使用されたように、用語「ジャンブル（ｊｕｍｂｌｅ）」は、信号経路を、２つのジャンクションの間で利用可能な複数の信号経路のうちの１つに接続することを指す。例えば、信号は、第１の複数のメッシュワイヤ４１１−１〜４１１−３２のうちの１つ（例えば、第１のメッシュワイヤ４１１−ｘ）を通じてメッシュバッファ４−４２０により受信され、信号経路をメッシュバッファ４−４２０にてジャンブルすることにより、第１のメッシュワイヤ４１１−ｘを第２の複数のメッシュワイヤ４１２−１〜４１２−３２のうちの１つに接続することにより、コンパレータブロック４−４６０に送信される。
【００３９】
図４Ｂは、実施形態に係る、図４Ａのメッシュブロック４−２１０に含まれるメッシュバッファ４−４２０の部分４−４４０を示す。メッシュバッファ４−４２０の部分４−４４０は、複数のバッファ４７２ａ〜４７２ｄを含む。これらは、複数のインバータ４７０ａ〜４７０ｄに図４Ｂに示されるように直列に結合される。
【００４０】
図４Ｂに示されるこの実施形態において、二進数ｘ１〜ｘ４を示す複数のランダム信号４１３−１〜４１３−４は、それぞれ、メッシュバッファ４―４２０の部分４―４４０に入力される。例えば、第４のインバータ４７０ｄは、高い論理値（例えば「１」）に対応する第１の二進数ｘ１を示す第１のランダム信号４１３−１を受信し、低い論理値（例えば「０」）を示す第４の反転信号４１５−４を出力する。その後に、第４のバッファ４７２ｄは、第４の反転信号４１５−４を増幅して、第４の修正信号４１４−４を生成する。結果として、第４の修正信号４１４−４は、第１のランダム信号４１３−１の反転値を示し、第１のランダム信号４１３−１のそれより高い信号強度を有する。
【００４１】
低い論理値（例えば「０」）に対応する第２の二進数ｘ２を示す第２のランダム信号４１３−２は、第２のインバータ４７０ｂに入力されて、高い論理値（例えば「１」）を示す第２の反転信号４１５―２を生成する。その後、第２の反転信号４１５−２は、第２のバッファ４７２ｂにより増幅されて、第２の修正信号４１４−２を出力する。結果として、第２の修正信号４１４−２は、第２のランダム信号４１３−２の反転値を示し、第２のランダム信号４１３−２のそれより高い信号強度を有する。
【００４２】
高い論理値（例えば「１」）に対応する第３の二進数ｘ３を示す第３のランダム信号４１３−３は、第３のインバータ４７０ｃに入力されて、低い論理値（例えば「０」）を示す第３の反転信号４１５―３を生成する。その後、第３の反転信号４１５−３は、第３のバッファ４７２ｃにより増幅されて、第３の修正信号４１４−３を出力する。結果として、第３の修正信号４１４−３は、第３のランダム信号４１３−３の反転値を示し、第３のランダム信号４１３−３のそれより高い信号強度を有する。
【００４３】
低い論理値（例えば「０」）に対応する第４の二進数ｘ４を示す第４のランダム信号４１３−４は、第１のインバータ４７０ａに入力されて、高い論理値（例えば「１」）を示す第１の反転信号４１５―１を生成する。その後、第１の反転信号４１５−１は、第１のバッファ４７２ａにより増幅されて、第１の修正信号４１４−１を出力する。結果として、第１の修正信号４１４−１は、第４のランダム信号４１３−４の反転値を示し、第４のランダム信号４１３−４のそれより高い信号強度を有する。
【００４４】
上術のとおり、メッシュバッファ４―４２０の部分は、複数のランダム信号４１３―１〜４１３−４を反転し、増幅し、およびジャンブルして、複数の修正信号４１４−１〜４１４−４を生成する。結果として、第１の修正信号４１４−１、第２の修正信号４１４−２、第３の修正信号４１４−３、および第４の修正信号４１４−４は、それぞれ、第４のランダム信号４１３−４、第２のランダム信号４１３−２、第３のランダム信号４１３−３、および第１のランダム信号４１３−１に対応する反転および増幅された複数の信号である。
【００４５】
当業者は、ここにされた開示および教示を考慮して、複数のランダム信号４１３−１〜４１３−４は、複数のインバータ４７０ａ〜４７０ｄおよび複数のバッファ４７２ａ〜４７２ｄの様々な構成を使用して複数の修正信号４１４−１〜４１４−４を生成するために、反転、増幅、およびジャンブルされてよいことを理解するであろう。当業者は、ここにされた開示および教示を考慮して、複数のインバータ４７０ａ−ｄのうちのインバータおよび複数のバッファ４７２ａ−ｂのうちのバッファの各組み合わせの組み合わせられた機能は、反転するバッファを使用して代わりに設けられることができることを理解するであろう。
【００４６】
図４Ａに戻って参照すると、メッシュバッファ４−４２０は、複数の修正信号４１４−１〜４１４−３２を生成するために、複数の第１のランダム信号４１３−１〜４１３−３２を反転およびジャンブルしてよい。結果として、第１のＰＲＮＧ４−４１０をコンパレータ４−４７０に接続することにより第１および第２の複数のメッシュワイヤ４１１−１〜４１１−３２および４１２−１〜４１２−３２をバイパスする試みは、バイパスされた複数の信号の間の信号不一致をもたらし、それによって、第２の複数の信号４１８−１〜４１８−３２は、バイパスの試みの発生を示すブロック出力信号４−２３０を生成する。
【００４７】
さらに、メッシュバッファ４−４２０は、複数の第１のランダム信号４１３−１〜４１３−３２を増幅し、第１および第２の複数のメッシュワイヤ４１１−１〜４１１−３２および４１２−１〜４１２−３２および複数のコンパレータブロックワイヤ４１７−１〜４１７−３２を通じて、第１の３２ビットの数Ｘの複数の二進数ｘ１，ｘ２，…，ｘ３２に対応する複数の信号４１３−１〜４１３−３２の伝送損失を相殺してよい。
【００４８】
実施形態において、複数の修正信号４１４−１〜４１４−３２は、第２の複数のメッシュワイヤ４１２−１〜４１２−３２および複数のコンパレータブロックワイヤ４１７−１〜４１７−３２を通じて、コンパレータブロック４−４６０内に含まれる反転ブロック４−４８０に入力される。複数のコンパレータブロックワイヤ４１７−１〜４１７−３２は、第２の複数のメッシュワイヤ４１２−１〜４１２−３２と異なる層内に配設されてよい。例えば、第２の複数のメッシュワイヤ４１２−１〜４１２−３２がより高い相互接続層内に配設されると、複数のコンパレータブロックワイヤ４１７−１〜４１７−３２は、図５関して記述されるように、より高い相互接続層の下に配置される１または複数のより低い相互接続層内に配設されてよい。
【００４９】
反転ブロック４−４８０は、再び第１の複数の入力信号４１９−１〜４１９−３２を出力するために、複数の修正信号４１４−１〜４１４−３２を反転する。また、実施形態において、反転ブロック４−４８０は、受信した複数の信号４１４−１〜４１４−３２をジャンブルし、それにより、第１の複数の入力信号４１９−１〜４１９−３２は、図４Ｃを参照して以下で説明されるように、それぞれ複数の第１のランダム信号４１３−１〜４１３−３２に対応する論理値を有する。
【００５０】
図４Ｃは、実施形態に係る、図４Ａのメッシュブロックに含まれる反転ブロック４−４８０の部分４−４９０を示す。低い論理値（例えば「０」）に対応する反転された二進数ｘ'４を示す第４の修正信号４１４−４は、反転ブロック４−４８０の第４のインバータ４７５ｄにより、第１の入力信号４１９−１に反転される。第１の入力信号４１９−１は、高い論理値（例えば「１」）に対応する二進数ｘ１"を示す。結果として、第１の入力信号４１９−１は、第１のランダム信号４１３−１の論理値ｘ１と同じである論理値ｘ"１を有する。同様に、第４の入力信号４１９−４は、第４のランダム信号４１３−４の論理値ｘ４（例えば「０」）に対応する論理値ｘ"４（例えば「０」）を有する。
【００５１】
高い論理値（例えば「１」）に対応する反転された二進数ｘ'２を示す第２の修正信号４１４−２は、反転ブロック４−４８０の第２のインバータ４７５ｂにより、二進数ｘ２"を示す第２の入力信号４１９−２に反転される。第２の入力信号４１９―２は、低い論理値（例えば「０」）に対応する二進数ｘ２"を示す。結果として、第２の入力信号４１９−２は、第２のランダム信号４１３−２の論理値ｘ２に対応する論理値ｘ"２を有する。同様に、第３の入力信号４１９−３は、第３のランダム信号４１３−３の論理値ｘ３（例えば「１」）に対応する論理値ｘ"３（例えば「１」）を有する。
【００５２】
反転ブロック４−４８０の部分４−４９０は、複数の修正信号４１４−１〜４１４−４を反転およびジャンブルして、複数の入力信号４１９−１〜４１９−４を生成する。結果として、第１の入力信号４１９−１、第２の入力信号４１９−２、第３の入力信号４１９−３、および第４の入力信号４１９−４は、それぞれ、第１のランダム信号４１３−１、第２のランダム信号４１３−２、第３のランダム信号４１３−３、および第４のランダム信号４１３−４に対応する同じ論理値を有する。当業者は、ここにされた開示および教示を考慮して、複数の修正信号４１４−１〜４１４−４は、複数のインバータ４７５ａ〜４７５ｄおよび複数のインバータ４７５ａ〜４７５ｄを接続する複数のワイヤの様々な構成を使用して複数の入力信号４１９−１〜４１９−４を生成するために、反転およびジャンブルされてよいことを理解するであろう。
【００５３】
上術のとおり、反転ブロック４−４８０は、複数の修正信号４１４−１〜４１４−３２を反転およびジャンブルし、それにより、出力される第１の複数の入力信号４１９−１〜４１９−３２は、それぞれ、第１の複数のランダム信号４１３−１〜４１３−３２と同じ論理値を有する。結果として、第１のＰＲＮＧ４−４１０により生成される二進数（ｘ１，ｘ２，…，ｘｎ）に対応する第１の複数の入力信号４１９−１〜４１９−３２は、コンパレータ４−４７０に入力される。
【００５４】
第２のＰＲＮＧ４−４５０は、コンパレータブロック４−４６０内に配置され、ｙ１，ｙ２，…，ｙｎのような第２のｎビットの数Ｙを生成する。第２のＰＲＮＧ４−４５０は、コンパレータブロック４−４６０内に組み込まれるので、第２のｎビットの数Ｙを抽出するための第２のＰＲＮＧ４−４５０への外部アクセスは難しいであろう。実施形態において、コンパレータブロック４−４６０は、完全にまたは部分的に、第２の複数のメッシュワイヤ４１２−１〜４１２−３２の下に配置され、第２のＰＲＮＧ４−４５０およびコンパレータブロック４−４６０の動作の改ざんまたは観察の困難さをさらに増大する。
【００５５】
実施形態において、第２のＰＲＮＧ４−４５０は、第１のＰＲＮＧ４−４１０と同じシードおよびフィードバック関数を使用して疑似乱数を生成する線形フィードバックシフトレジスタ（ＬＦＳＲ）を含む。結果として、第１のＰＲＮＧ４−４１０により生成される二進数ｘ１，ｘ２，…，ｘｎは、それぞれ、第２のＰＲＮＧ４−４５０により生成される二進数ｙ１，ｙ２，…，ｙｎに対応する。
【００５６】
実施形態において、第２のＰＲＮＧ４−４５０を実装するために使用される回路は、実質的に、第１のＰＲＮＧ４−４１０を実装するために使用される回路と重複する。別の実施形態において、第２のＰＲＮＧ４−４５０を実装するために使用される回路は、第１のＰＲＮＧ４−４１０を実装するために使用される回路と異なるが、第１のＰＲＮＧ４−４１０と同じシードおよびフィードバック関数とともに使用すると、同一の疑似乱数のシーケンスを生成する。
【００５７】
コンパレータ４−４７０は、Ｘ＝ＹまたはＸ≠Ｙであるかどうかを示すブロック出力信号４―２３０を生成するために、第１の乱数Ｘの二進数（ｘ１，ｘ２，…，ｘｎ）を示す第１の複数の入力信号４１９−１〜４１９−３２および第２の乱数Ｙの二進数（ｙ１，ｙ２，…，ｙｎ）を示す第２の複数の入力信号４１８−１〜４１８−３２を受信する。実施形態において、コンパレータ４−４７０は、Ｘ＝Ｙの場合に低い論理値（例えば「０」）およびＸ≠Ｙの場合に高い論理値（例えば「１」）を有するブロック出力信号４−２３０を生成する。
【００５８】
実施形態において、コンパレータ４−４７０は、図４Ａに示されるように、複数の二進数（ｘ１，ｘ２，…，ｘｎ）を示す第１の複数の入力信号４１９−１〜４１９−３２および複数の二進数（ｙ１，ｙ２，…，ｙｎ）を示す第２の複数の入力信号４１８−１〜４８１−３２を並行して受信する。例えば、コンパレータ４−４７０は、複数のセルのｎ数を有する反復ネットワーク（不図示）を含み、それぞれはＸおよびＹの一対のビットを受信する。この反復ネットワークにおいて、反復ネットワークの第１のセル（不図示）は、複数の二進数ｘ１およびｙ１を示す複数の入力信号４１９−１および４１８−１を受信し、第２のセル（不図示）は、複数の二進数ｘ２およびｙ２等を示す複数の入力信号４１９−２および４１８−２を受信する。
【００５９】
別の実施形態において、コンパレータ４−４７０は、複数の二進数（ｘ１，ｘ２，…，ｘｎ）を示す第１の複数の入力信号４１９−１〜４１９−３２および複数の二進数（ｙ１，ｙ２，…，ｙｎ）を示す第２の複数の入力信号４１８−１〜４８１−３２を順に受信する。例えば、コンパレータブロック４−４６０は、第１の複数の入力信号４１９−１〜４１９−３２を並行して受信し、複数の二進数（ｘ１，ｘ２，…，ｘｎ）のうちの１つを示す第１の入力信号を順に出力する第１のシリアライザを含む。また、コンパレータブロック４−４６０は、第２の複数の入力信号４１８−１〜４１８−３２を並行して受信し、第１のシリアライザと同じ順で、複数の二進数（ｙ１，ｙ２，…，ｙｎ）のうちの１つを示す第２の入力信号を出力する第２のシリアライザを含む。結果として、第１および第２のシリアライザは、第１および第２の入力信号をコンパレータ４−４７０のセルに出力し、それにより、セルは、実質的に、同時に、一対の対応する二進数（ｘｉ，ｙｉ）を受信する。コンパレータ４−４７０は、Ｘ＝Ｙの場合に低い論理値（例えば、０）およびＸ≠Ｙの場合に高い論理値（例えば、１）を有するブロック出力信号４−２３０を生成する。
【００６０】
図４Ｄは、実施形態に係る、図４Ａのメッシュブロックに含まれる第１のＰＲＮＧ４−４１０の回路図である。第１のＰＲＮＧ４−４１０は、ＬＦＳＲ４３２、シリアルイン・パラレルアウト（ＳＩＰＯ）シフトレジスタ４３４、クロック分周器４３６、およびマルチビットラッチ４３８を含む。
【００６１】
高周波クロック（ＨＦＣ）が、ＬＦＳＲ４３２に提供される。ＨＦＣの各サイクルにて、ＬＦＳＲ４３２は、ＬＦＳＲ４３２の現在の内部状態値およびフィードバック関数に応じて、その出力（「ｏｕｔ」）上に新しい出力ビットを生成する。また、ＬＦＳＲ４３２は、ＬＦＳＲ４３２の現在の内部状態値およびフィードバック関数に応じて、新しい内部状態値を生成する。
【００６２】
ＬＦＳＲ４３２が初期化されると、ＬＦＳＲ４３２の内部状態値はシード値に設定される。実施形態において、各メッシュブロックは、異なるシード値を有してよい。
【００６３】
実施形態において、シード値は、ＬＦＳＲ４３２の設計により前もって決定される。実施形態において、シード値は、コントローラまたはプロセッサによりＬＦＳＲ４３２に提供され、シード値は、直列バスまたは並列バスを使用してＬＦＳＲ４３２に伝達される。１つの初期化の間にＬＦＳＲ４３２に提供されるシード値は、前または後の初期化の間に提供されるシード値と異なってよい。
【００６４】
ＬＦＳＲ４３２により使用されるフィードバック関数は、回路の設計により決定されてよい。代わりに、フィードバック関数は、直列バスまたは並列バスを使用してＬＦＳＲ４３２に提供されるフィードバックベクトルにより決定されてよい。例えば、フィードバックベクトルは、ＬＦＳＲ内の各タップの制御ビットを含んでよい。ここで、タップは、それぞれの制御ビットが第１の論理状態にあると、フィードバックを生成するために使用され、タップは、それぞれの制御ビットが第２の論理状態にあると、フィードバックを生成するために使用されない。
【００６５】
ＨＳＣの各サイクルにて、シフトレジスタ４３４は、シリアル入力（「ｓｉｎ」）上のＬＦＳＲ４３２の出力を受信し、前に受信した複数のビットを１ポジションシフトダウンし、それにより、Ｎクロックサイクルの後、ＬＦＳＲ４３２のＮの最新の出力値はシフトレジスタ４３４の平行出力（「ｐｏｕｔ」）上に設けられる。
【００６６】
クロック分周器４３６は、ＨＳＣを分割することにより、クロックＣＬＫを生成する。クロックＣＬＫの各サイクルにて、ラッチ４３８は、シフトレジスタ４３４の平行出力ｐｏｕｔ上に複数の値をロードする。ラッチ４３８の複数の出力は、第１のランダム信号４１３−１〜４１３−３２を与える。
【００６７】
実施形態において、クロック分周器４３６は、ラッチ４３８内のビット数に等しい除数でＨＳＣを分割することにより、クロックＣＬＫを生成する。別の実施形態において、クロック分周器４３６は、ラッチ４３８内のビット数より大きい除数でＨＳＣを分割することにより、クロックＣＬＫを生成する。ラッチ４３８内のビット数より大きい除数を使用することは、複数の第１のランダム信号４１３−１〜４１３−３２から、ＬＦＳＲ４３２のシード値および／またはフィードバック関数を決定することの困難さを増大してよい。
【００６８】
図４Ｅは、実施形態に係る、図４Ａのメッシュブロックに含まれる第２のＰＲＮＧ４−４５０の回路図である。第２のＰＲＮＧ４−４５０は、ＬＦＳＲ４５２、シリアルイン・パラレルアウト（ＳＩＰＯ）シフトレジスタ４５４、およびマルチビットラッチ４５８を含む。
【００６９】
第２のＰＲＮＧ４−４５０は、同様に動作し、図４Ｄの第１のＰＲＮＧ４−４１０と同じシード値、フィードバック関数、高速クロック（ＨＳＣ）、およびクロックＣＬＫを使用する。結果として、クロックＣＬＫのサイクルの間に第２の複数の入力信号４１８−１〜４１８−３２上で第２のＰＲＮＧ４−４５０により生成される複数の値は、クロックＣＬＫのそのサイクルの間に第１の複数のランダム信号４１３−１〜４１３−３２上で、図４Ｅの第１のＰＲＮＧ４−４１０により生成される複数の値と同一になるであろう。
【００７０】
実施形態において、第２のＰＲＮＧ４−４５０は、第１のＰＲＮＧ４−４１０のクロック分周器４３６により生成されるクロックＣＬＫを使用する。別の実施形態において、第２のＰＲＮＧ４−４５０は、第１のＰＲＮＧ４−４１０のクロック分周器４３６と同一のクロック分周器を使用して、クロックＣＬＫのバージョンを生成する。実施形態において、第２のＰＲＮＧ４−４５０により使用されるクロックＣＬＫは、第１のＰＲＮＧ４−４１０により使用されるクロックＣＬＫに対して遅延され、ワイヤメッシュにおける回路の遅延を調整する。
【００７１】
図５は、実施形態に係る、複数の層を示す断面図である。断面図は、図４Ａに示される線Ａ−Ａ'に沿った断面５００を示す。断面は、再分配層５４０、第１から第６の相互接続層５３１〜５３６（しばしば、それぞれ金属１の層から金属６の層と呼ばれる）、素子層５２０、および基板５１０を含む。第１から第５の相互接続層５３１〜５３５はより低い相互接続層であり、第６の相互接続層５３６はより高い相互接続層である。実施形態において、追加の複数の相互接続層は、第１から第６の相互接続層５３１〜５３６の上、下、または上と下との両方にあってよい。
【００７２】
複数のメッシュワイヤ４１２−２２〜４１７−３２（図４Ａ参照）に対応する複数のメッシュワイヤ５１２−２２〜５１２−３２は、第６の相互接続層５３６に含まれる。複数のメッシュワイヤ５１２−２２〜５１２−３２は、第１から第５の相互接続層５３１〜５３５および／または素子層５２０内の複数の電子デバイス内の複数の相互接続のような複数のメッシュワイヤ５１２−２２〜５１２−３２の下の回路への、プロービングによるような、物理的および／または電気的アクセスを防ぐように離間される。例えば、４０ナノメートルＣＭＯＳ処理では、複数のメッシュワイヤ５１２−２２〜５１２−３２は、４０マイクロメートル離間されてよい。
【００７３】
再分配層（ＲＤＬ）５４０は、ＩＣチップの複数の回路を動作するための電力を分配する再分配金属層５４１を含む。再分配金属層５４１は、実質的に、ＲＤＬの表面のすべてをカバーし、それに応じて、ＲＤＬ５４０の下の回路の外観検査を防いでよい。また、ＲＤＬ５４０は、絶縁層として供する誘電体層５４４を含む。実施形態において、誘電体層５４４は、下にある複数の回路をさらに見えなくする不透明材料を含む。実施形態において、不透明カバー層は、ＲＤＬ５４０をカバーする。
【００７４】
素子層５２０は、複数の論理ゲートのような、ＩＣチップの様々な動作を実行する複数のフォーム回路にともに接続される複数の能動的および受動的電子デバイスを含む。複数の能動的および受動的電子デバイスは、第１から第６の相互接続層５３１〜５３６内の１または複数の相互接続ワイヤを使用して、接続される。
【００７５】
メッシュワイヤ５１２−２２〜５１２−３２の下に配置される素子層５２０の部分は、改ざんおよび逆行分析から保護される複数のデバイスおよび複数の回路を含む。実施形態において、図２および図４Ａに示される複数の回路のような、複数のメッシュワイヤ５１２−２２〜５１２−３２をモニタリングする回路の幾つかまたはすべては、複数のメッシュワイヤ５１２−２２〜５１２−３２の下に配置される素子層５２０の部分内に配置され、それにより、モニタ回路は、改ざんおよび逆行分析から保護される。
【００７６】
第１から第６の相互接続層５３１〜５３６のそれぞれは、誘電材料によって分離される複数の導電性の相互接続を含む。複数の相互接続層５３１〜５３６は、異なる種類の金属ワイヤが配設される複数の層を含んでよい。さらに、異なる種類またはグループの信号は、異なる相互接続層を使用して、ＩＣチップを越えて経路設定されてよい。
【００７７】
例えば、図２の複数のクロックワイヤ２６５−１〜２６５−（ｎ＋１）は、複数のメッシュワイヤ５１２−２２〜５１２−３２を含む複数のメッシュワイヤの下に配置される第２および第３の相互接続層５３２および５３３の部分を使用して、チップを越えて経路設定されてよい。図２の複数の（ｎ＋１）ビットアラーム信号２−１３０を図１のコントローラ１５０に送信する図２の複数のアラームワイヤ２３０−１〜２３０−ｎは、複数のメッシュワイヤの下に配置される第２、第３、および／または第４の相互接続層５３２〜５３４の部分を使用して、チップを越えて経路設定されてよい。複数のコンパレータブロックワイヤ４１７−１〜４１７−３２は、第１から第５の相互接続層５３１〜５３５のうち１または複数内に配設されてよく、それにより、複数のコンパレータブロックワイヤ４１７−１〜４１７−３２は、第６の相互接続層５３６内に配設される複数のメッシュワイヤの下の層内に配設される。他の複数のワイヤおよび複数の回路は、同様に、保護されてよい。結果として、図１の改ざん防止システム１−１１０は、改ざんおよび逆行分析からそれ自身を保護する。
【００７８】
図６は、実施形態に係るメッシュブロックのブロック出力信号を生成するための方法６００の流れ図である。方法は、メッシュブロック上での複数の不正行為、例えば、エッチング部分の下にあるＩＣチップの重要部を露出するためにメッシュブロックの一部をエッチングすることを検出するために使用されてよい。
【００７９】
Ｓ６１０にて、第１および第２のｎビットの疑似乱数は、第１および第２の疑似乱数のジェネレータ（ＰＲＮＧ）により生成される。実施形態において、第２のＰＲＮＧは、第２のＰＲＮＧへの外部アクセスを困難にするためにコンパレータブロック内に配置される。第１および第２のＰＲＮＧは、複数の疑似乱数の複数のマッチングシーケンスを生成する。
【００８０】
Ｓ６２０にて、第１の疑似乱数は、メッシュブロックを使用して送信され、コンパレータブロックにより受信される。
【００８１】
Ｓ６３０にて、受信された第１の疑似乱数は、コンパレータブロック内の第２の疑似乱数と比較される。コンパレータブロックは、２つのｎビットの数が同じかどうかを示すブロック出力信号を生成してよい。実施形態において、コンパレータブロックは、２つのｎビットの数が同じとき低い論理値（例えば「０」）、２つのｎビットの数が異なるとき高い論理値（例えば「１」）を有するブロック出力信号を生成する。
【００８２】
図７は、実施形態に係るＡＴシステムのアラーム信号を生成するための方法７００の流れ図である。方法は、ＩＣチップに含まれる１または複数のメッシュブロック上での複数の不正行為を検出するために使用されてよく、それによって、ＩＣチップの複数の機能を逆行分析または改変することに対して複数の防護措置をとるためにアラーム信号を生成する。
【００８３】
Ｓ７１０にて、図６に示される方法に応じて生成されている複数のブロック出力信号のそれぞれが受信される。実施形態において、複数のブロック出力信号のそれぞれは、低い論理値（例えば「０」）または高い論理値（例えば「１」）を有する。
【００８４】
Ｓ７３０にて、受信した複数のブロック出力信号に基づくアラーム信号が出力される。実施形態において、受信した複数のブロック出力信号のいずれかが高い論理値（例えば「１」）を有すると、アラーム信号は、ＩＣチップの複数の機能を逆行分析または改変することに対する複数の防護措置をトリガする。
【００８５】
本開示の態様が、例として提案される特定の実施形態とともに記述されたが、例の代替、修正、および変形がなされてよい。従って、ここに記載されるような実施形態は、例示であり、限定するものではないことが意図される。以下に記載の特許請求の範囲から逸脱することなく変形することもできる。本明細書によれば、以下の各項目に記載の事項もまた開示される。
［項目１］
メッシュブロックにおける第１および第２の数のジェネレータをそれぞれ使用して第１および第２の数を生成する段階と、
前記メッシュブロックから出力信号を生成するために前記第１の数を前記第２の数と比較する段階と、を備え、
前記出力信号は、前記メッシュブロック上での不正行為の発生を示す、方法。
［項目２］
前記第１および第２の数は、第１および第２の疑似乱数であり、それぞれ第１および第２の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用して生成される、項目１に記載の方法。
［項目３］
前記第１および第２の数は、第１および第２の疑似乱数であり、前記第１および第２の数のジェネレータは、それぞれ、第１および第２の疑似乱数のジェネレータ（ＰＲＮＧ）であり、
第１の複数のメッシュワイヤを通じて前記第１の疑似乱数を示す第１の複数の疑似ランダム信号をメッシュバッファに送信する段階と、
前記メッシュバッファを使用して前記第１の複数の疑似ランダム信号を複数の修正信号に変換する段階と、
をさらに備える、項目１に記載の方法。
［項目４］
前記第１の複数の疑似ランダム信号を前記複数の修正信号に変換する段階は、前記複数の修正信号を生成するために前記第１の複数の疑似ランダム信号を反転する段階を含む、項目３に記載の方法。
［項目５］
前記第１の疑似乱数を前記第２の疑似乱数と比較する段階は、
第１の複数の入力信号を生成するために、コンパレータ内で前記複数の修正信号を反転する段階であり、前記第１の複数の入力信号は、それぞれ、前記第１の複数の疑似ランダム信号のそれらに対応する複数の論理値を有する、段階と、
前記第１の複数の入力信号を、前記第２の疑似乱数を示す第２のＰＲＮＧからの第２の複数の入力信号と比較する段階と、
を含む、項目４に記載の方法。
［項目６］
前記第１の疑似乱数を前記第２の疑似乱数と比較する段階は、前記第１の複数の入力信号を前記第２の複数の入力信号と並行して比較する段階をさらに含む、項目５に記載の方法。
［項目７］
前記メッシュバッファから延びる第２の複数のメッシュワイヤのうちの第１のメッシュワイヤを介して前記メッシュバッファから前記複数の修正信号のうちの第１の修正信号を出力する段階と、
前記第２の複数のメッシュワイヤのうちの第２のメッシュワイヤを介して前記メッシュバッファから前記複数の修正信号のうちの第２の修正信号を出力する段階と、
をさらに備える、項目３に記載の方法。
［項目８］
前記メッシュブロックは、第１のメッシュブロックであり、前記出力信号は、第１の出力信号であり、
第２のメッシュブロック内でそれぞれ第３および第４のＰＲＮＧを使用して第３および第４の疑似乱数を生成する段階と、
前記第２のメッシュブロックから第２の出力信号を生成するために前記第３の疑似乱数を前記第４の疑似乱数と比較する段階であり、前記第２の出力信号は、前記第２のメッシュブロック上での不正行為の発生を示す、段階と、
クロック改ざん検出器内で前記第１および第２の出力信号のＯＲ演算を実行する段階であり、前記クロック改ざん検出器は、クロック改ざん検出信号を生成する、段階と、
をさらに備える、項目１に記載の方法。
［項目９］
前記クロック改ざん検出信号を第１の時間にて論理値に設定する段階と、
前記クロック改ざん検出信号を、前記第１の時間の後の第２の時間にて前記ＯＲ演算の結果に設定する段階であり、前記第２の時間は、前記クロック改ざん検出器により受信されるクロック信号の立ち上がりエッジに対応する、段階と、
をさらに備える、項目８に記載の方法。
［項目１０］
メッシュブロックと、
第１の数を生成する第１の数のジェネレータと、
第２の数を生成する第２の数のジェネレータと、
前記第１の数を前記第２の数と比較して、前記メッシュブロックから出力信号を生成するコンパレータブロックであり、前記出力信号は、前記メッシュブロック上での不正行為の発生を示す、コンパレータブロックと、を備え、
前記第１の数のジェネレータ、前記第２の数のジェネレータ、および前記コンパレータブロックは、前記メッシュブロック内に設けられる、装置。
［項目１１］
前記第１および第２の数は、第１および第２の疑似乱数であり、それぞれ第１および第２の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用して生成され、
前記第２の数のジェネレータは、前記コンパレータブロック内にある、項目１０に記載の装置。
［項目１２］
前記第１および第２の数は、それぞれ第１および第２の疑似乱数であり、前記第１および第２の数のジェネレータは、それぞれ第１および第２の疑似乱数のジェネレータ（ＰＲＮＧ）であり、
前記第１の疑似乱数を示す第１の複数の疑似ランダム信号を送信する第１の複数のメッシュワイヤと、
前記第１の複数の疑似ランダム信号を複数の修正信号に変換するメッシュバッファと、
前記複数の修正信号を前記コンパレータブロックに送信する第２の複数のメッシュワイヤと、
をさらに備える、項目１０に記載の装置。
［項目１３］
前記第１および第２の複数のメッシュワイヤの中の２つの隣接するワイヤは、互いから約０．４μｍ離間する、項目１２に記載の装置。
［項目１４］
前記メッシュバッファは、前記複数の修正信号を生成する前記第１の複数の疑似ランダム信号を反転する複数のインバータを含む、項目１２に記載の装置。
［項目１５］
前記コンパレータブロックは、
第１の複数の入力信号を生成するために前記複数の修正信号を反転する反転ブロックであり、前記第１の複数の入力信号は、それぞれ前記第１の複数の疑似ランダム信号のそれらに対応する複数の論理値を有する、反転ブロックと、
前記反転ブロックからの前記第１の複数の入力信号を前記第２の疑似乱数を示す第２の複数の入力信号と比較コンパレータと、
を含む、項目１４に記載の装置。
［項目１６］
前記コンパレータは、複数のセルを有する反復ネットワークを含み、各セルは、前記第１の複数の入力信号の中の第１の入力信号および前記第２の複数の入力信号の中の第２の入力信号を受信し、前記第１および第２の入力信号は、一対の対応する二進数を示す、項目１５に記載の装置。
［項目１７］
前記メッシュバッファは、前記複数の修正信号のうちの第１の修正信号を前記第２の複数のメッシュワイヤのうちの第１のメッシュワイヤを介して出力し、前記複数の修正信号のうちの第２の修正信号を前記第２の複数のメッシュワイヤのうちの第２のメッシュワイヤを介して出力する、項目１２に記載の装置。
［項目１８］
前記メッシュブロックは、第１のメッシュブロックであり、前記出力信号は、第１の出力信号であり、
第２の出力信号を生成する第２のメッシュブロックであり、前記第２の出力信号は、前記第２のメッシュブロック上での不正行為が検出されるかどうかを示す、第２のメッシュブロックと、
前記第１および第２の出力信号のＯＲ演算を実行し、クロック改ざん検出信号を生成するクロック改ざん検出器と、
をさらに備える、項目１０に記載の装置。
［項目１９］
前記クロック改ざん検出器は、前記クロック改ざん検出信号を第１の時間にて論理値に設定し、
前記クロック改ざん検出器は、前記クロック改ざん検出信号を、前記第１の時間の後の第２の時間にて前記ＯＲ演算の結果に設定し、前記第２の時間は、前記クロック改ざん検出器により受信されるクロック信号の立ち上がりエッジに対応する、
項目１８に記載の装置。
［項目２０］
前記第１および第２の数は、第１および第２の疑似乱数であり、それぞれ第１および第２の線形フィードバックシフトレジスタ（ＬＦＳＲ）を使用して生成され、
前記メッシュブロックは、
基板と、
前記基板の上に配設され、複数の電子デバイスを含む素子層と、
前記素子層の上に配設され、前記複数の電子デバイスを相互接続する複数のワイヤを含む複数のより低い相互接続層と、
前記複数のより低い相互接続層の上に配設され、複数のワイヤを含むより高い相互接続層であり、前記複数のワイヤは、前記第１の疑似乱数を示す複数の疑似ランダム信号を送信する、より高い相互接続層と、
前記より高い相互接続層の上に配設されるカバー層と、を含み、
前記複数のより低い相互接続層は、
クロック信号を前記メッシュブロックに与えるクロックワイヤと、
前記出力信号をコントローラに送信するアラームワイヤと、
コンパレータブロック内に配設され、前記複数の疑似ランダム信号を前記コンパレータブロック内のコンパレータに送信する複数のコンパレータブロックワイヤと、を含む、
項目１０に記載の装置。
【図１】
0006494531.tif 000002
【図２】
0006494531.tif 000003
【図３Ａ】
0006494531.tif 000004
【図３Ｂ】
0006494531.tif 000005
【図３Ｃ】
0006494531.tif 000006
【図４Ａ】
0006494531.tif 000007
【図４Ｂ】
0006494531.tif 000008
【図４Ｃ】
0006494531.tif 000009
【図４Ｄ】
0006494531.tif 000010
【図４Ｅ】
0006494531.tif 000011
【図５】
0006494531.tif 000012
【図６】
0006494531.tif 000013
【図７】
0006494531.tif 000014